/* Motion follows the viewport; content is always readable and interactive. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.full-menu.open:not(.menu-reset) .menu-list a{animation:lesd-menu-row 580ms var(--motion-ease) backwards;animation-delay:calc(var(--menu-order,0)*45ms)}
.full-menu.open:not(.menu-reset) .menu-tag{animation:lesd-menu-tag 700ms var(--motion-ease) 100ms backwards}
@keyframes lesd-menu-row{from{opacity:.35}to{opacity:1}}
.full-menu.open:not(.menu-reset) .menu-list strong{animation:lesd-menu-text 580ms var(--motion-ease) backwards;animation-delay:calc(var(--menu-order,0)*45ms)}
@keyframes lesd-menu-text{from{translate:20px 0}to{translate:0 0}}
@keyframes lesd-menu-tag{from{opacity:.3;translate:0 14px;rotate:-2deg}to{opacity:1;translate:0 0;rotate:0deg}}
.value,.dash-card,.feature{transition:translate .45s var(--motion-ease),border-color .35s!important}
@media(hover:hover) and (pointer:fine){.value:hover,.dash-card:hover,.feature:hover{translate:0 -5px}.doc-row strong{transition:translate .5s var(--motion-ease)}.doc-row:hover strong{translate:8px 0}.footer-social a span{display:inline-block;transition:translate .4s var(--motion-ease),rotate .4s}.footer-social a:hover span{translate:3px -3px;rotate:10deg}.brand .logo{transition:translate .5s var(--motion-ease)}.brand:hover .logo{translate:3px 0}}
.orbit.motion-in-view{animation:lesd-orbit 9s ease-in-out infinite}
@keyframes lesd-orbit{0%,100%{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-9px)}}
.graffiti.motion-in-view{animation:lesd-tag-breathe 11s ease-in-out infinite}
@keyframes lesd-tag-breathe{0%,100%{translate:0 0}50%{translate:0 -8px}}
.map-visual.motion-in-view .map-marker .outer{animation:lesd-map-beacon 3.8s ease-in-out infinite;animation-delay:calc(var(--map-order,0)*.5s)}
@keyframes lesd-map-beacon{0%,100%{stroke-opacity:.6;fill-opacity:.6;scale:1}50%{stroke-opacity:1;fill-opacity:1;scale:1.25}}
.footer-glass{position:relative;isolation:isolate;overflow:hidden}
.footer-glass::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:-1;background:linear-gradient(115deg,transparent 20%,#ffffff09 45%,transparent 70%);background-size:220% 100%;background-position:100% 0}
.footer-glass.motion-in-view::after{animation:lesd-glass-shimmer 12s ease-in-out infinite}
@keyframes lesd-glass-shimmer{0%,100%{background-position:100% 0}50%{background-position:0% 0}}
.marquee:not(.motion-in-view) .marquee-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.full-menu .menu-list a,.full-menu .menu-list strong,.full-menu .menu-tag,.orbit,.graffiti,.map-visual .map-marker .outer,.footer-glass::after{animation:none!important}.value,.dash-card,.feature,.doc-row strong,.footer-social a span,.brand .logo{transition:none!important;translate:none!important}}
