/* Figma timeline 11:595: one 32-second cohort, looping continuously. */
.motion-page{isolation:isolate}
.signal-field{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#020817}
.motion-page>.nav-shell,.motion-page>main,.motion-page>.footer{position:relative;z-index:1}
.motion-page>.nav-shell{position:sticky;z-index:4}
.signal-orbit-wrap{position:absolute;left:calc(66% - 550px);top:-210px;width:1100px;height:1100px}
.signal-orbit-wrap>img{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}
.signal-cyan{animation:signal-cyan 32s linear infinite}
.signal-violet{animation:signal-violet 32s linear infinite}
.signal-glow-wrap{position:absolute;left:19%;top:-17vw;width:86vw;height:86vw}
.signal-glow{width:100%;height:100%;animation:signal-light 32s linear infinite;will-change:transform}
.signal-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,23,.8),rgba(2,8,23,.64) 45%,rgba(2,8,23,.2))}
/* Exact full turns avoid the tiny endpoint drift in rounded radian exports. */
@keyframes signal-cyan{from{transform:rotate(0turn)}to{transform:rotate(-1turn)}}
@keyframes signal-violet{from{transform:rotate(0turn)}to{transform:rotate(1turn)}}
@keyframes signal-light{0%{transform:translate(0,0);animation-timing-function:ease-in-out}50%{transform:translate(24px,-16px);animation-timing-function:ease-in-out}100%{transform:translate(0,0)}}
.signal-field.is-paused .motion-layer{animation-play-state:paused}
.motion-toggle{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin-top:8px;color:var(--color-accent-cyan);background:none;border:0;font-size:12px}
.motion-toggle:disabled{cursor:default;color:var(--color-text-secondary)}
@media(max-width:767px){.signal-orbit-wrap{left:calc(76% - 420px);top:-80px;width:840px;height:840px}.signal-glow-wrap{left:-20%;top:60px;width:140vw;height:140vw}.signal-scrim{background:linear-gradient(90deg,rgba(2,8,23,.84),rgba(2,8,23,.58))}}
@media(prefers-reduced-motion:reduce){.signal-field .motion-layer{animation:none!important;will-change:auto}}
