/* Triple G / signal choreography */
.ae-signal{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.32;pointer-events:none;border-radius:45%;z-index:-1}
#signal-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;mix-blend-mode:multiply}
.hero-art:after{content:'';position:absolute;inset:8%;border:1px solid #32a69645;transform:rotate(-12deg);border-radius:50%;pointer-events:none;animation:signal-orbit 18s linear infinite}
.hero-art:before{content:'';position:absolute;inset:15%;border:1px dashed #5063c94a;border-radius:50%;pointer-events:none;animation:signal-orbit 26s linear infinite reverse}
@keyframes signal-orbit{to{transform:rotate(348deg)}}
.signal-strip{transform:rotate(-1.2deg) scale(1.03);position:relative;z-index:4;box-shadow:0 10px 35px #071b1520}
.motion-reveal{transition:opacity .8s cubic-bezier(.2,.7,.15,1),translate .9s cubic-bezier(.2,.7,.15,1)}
.motion-reveal.awaiting{opacity:0;translate:0 34px}
.work-card{transition:box-shadow .3s,border-color .3s}
.work-card:hover{box-shadow:0 0 65px #78f1dc28;border-color:#78f1dc}
.work-card:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#d5fff418 42%,transparent 58%);pointer-events:none;translate:-120% 0;transition:translate .8s}
.work-card:hover:after{translate:120% 0}
.motion-progress{position:fixed;top:79px;left:0;height:2px;width:100%;background:linear-gradient(90deg,#1da990,#6147ff,#e166bb);transform-origin:left;scale:0 1;z-index:60;pointer-events:none}
.brand-letters{transition:filter .3s}.brand:hover .brand-letters{filter:drop-shadow(3px 0 #78f1dc) drop-shadow(-3px 0 #c09df8)}
.paused *,.paused *:before,.paused *:after{animation-play-state:paused!important}
@media(max-width:760px){.motion-progress{top:69px}.ae-signal{opacity:.24}}
@media(prefers-reduced-motion:reduce){html:not(.motion-opt-in) .motion-reveal.awaiting{opacity:1;translate:none}html:not(.motion-opt-in) .hero-art:before,html:not(.motion-opt-in) .hero-art:after{animation:none}html:not(.motion-opt-in) .motion-progress{display:none}}
html,body{overflow-x:clip}
