/* One outline, with the reference's orbiting orange highlight on interaction. */
.edge-motion{border-color:transparent!important;isolation:isolate}
.edge-motion:focus-visible{outline:none}
.edge-motion:focus-visible>.edge-motion-svg .edge-base{stroke:#ffbd80;stroke-width:1.5}
.edge-motion>.stroke-outline{display:none!important}
.edge-motion-svg{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none!important;z-index:3;border-radius:inherit}
.edge-motion-svg *{pointer-events:none!important}
.edge-base{stroke:var(--edge-base,#ffffff35);stroke-width:1}
.edge-trail{opacity:0;transition:opacity .24s ease;filter:drop-shadow(0 0 3px #ff670066)}
.edge-trail path{stroke:var(--edge-color,#ff790f);stroke-width:1.9;stroke-linecap:round;stroke-dashoffset:var(--tail-length);animation:edge-orbit var(--edge-speed,2.35s) linear infinite;animation-play-state:paused}
.edge-motion:focus-visible>.edge-motion-svg .edge-trail{opacity:1}
.edge-motion:focus-visible>.edge-motion-svg .edge-trail path{animation-play-state:running}
@media(hover:hover){.edge-motion:hover>.edge-motion-svg .edge-trail{opacity:1}.edge-motion:hover>.edge-motion-svg .edge-trail path{animation-play-state:running}}
@keyframes edge-orbit{from{stroke-dashoffset:var(--tail-length)}to{stroke-dashoffset:calc(var(--tail-length) - 100px)}}
.jump-toggle.edge-motion{background:linear-gradient(180deg,#282828,#131313);box-shadow:inset 0 1px 0 #ffffff08,0 3px 7px #0005}
.edge-motion:disabled>.edge-motion-svg .edge-trail{opacity:0}
html.motion-paused .edge-trail{display:none}
@media(prefers-reduced-motion:reduce){.edge-trail{display:none}.edge-motion:hover .edge-base,.edge-motion:focus-visible .edge-base{stroke:#ff790f}}
/* Keep the artwork's frame still; movement belongs inside it. */
.dark-portfolio .work-card{overflow:hidden;border-radius:8px;background:#131313;box-shadow:none}
.dark-portfolio .work-card:hover{box-shadow:none}
.dark-portfolio .work-art{transform:none!important;will-change:auto;border-radius:8px;flex-shrink:0}
.dark-portfolio .work-copy{background:transparent;padding:26px 0 30px;z-index:auto}
.dark-portfolio .work-art strong{translate:var(--type-x,0px) var(--art-y,0px);transform:scale(var(--art-scale,1));will-change:translate}
.dark-portfolio .work-card:hover .work-art strong{transform:scale(calc(var(--art-scale,1) + .015))}
@media(prefers-reduced-motion:reduce){.dark-portfolio .work-art strong{translate:none;transform:none!important}}
html.motion-paused .dark-portfolio .work-art strong{translate:none;transform:none!important}
.dark-portfolio .edge-motion{border-color:transparent!important}
.edge-motion>.role-edge{display:none!important}
.edge-line{--edge-speed:5s}
.edge-line>.edge-motion-svg .edge-trail{filter:drop-shadow(0 0 2px #ff670044)}
.role-bar.edge-motion{--edge-speed:3s;--edge-base:#ffffff24}
.role-current.edge-motion{--edge-base:#ff670060}
.role-popup.edge-motion{--edge-base:#ff670060}
.work-art.edge-motion{--edge-color:#ff2cd2;--edge-speed:4.5s;--edge-base:#ffffff14}
.tool-chip.edge-motion{--edge-color:#ff2cd2;--edge-speed:3s;--edge-base:#ffffff20}
.director-pillars article.edge-motion,.skill-card.edge-motion,.edu-card.edge-motion{--edge-color:#a977ff;--edge-base:#ffffff24}
.desktop-scene .edge-motion{--edge-base:#302c244d}
.edge-motion-svg{contain:layout style}
.role-bar>.edge-motion-svg,.work-art>.edge-motion-svg{inset:0;width:100%;height:100%}
.site-nav>.edge-motion-svg,.inner-nav>.edge-motion-svg{inset:0;width:100%;height:100%}
@media(max-width:760px){.portfolio-section{--heading-x:0px!important}}
html.motion-paused .edge-trail{display:none!important}
@media(prefers-reduced-motion:reduce){.edge-trail{display:none!important}}


.inner-footer>.edge-motion-svg{inset:0;width:100%;height:100%}
