/* Ambient motion is user-controllable and respects reduced-motion preferences. */
.orbit-one{animation:orbit-drift 16s linear infinite!important}
.orbit-two{animation:orbit-drift-inner 12s linear infinite reverse!important}
.core-star{animation:core-breathe 4s ease-in-out infinite}
.node{animation:node-float 7s ease-in-out infinite}
.n2{animation-delay:-2.4s}.n3{animation-delay:-4.7s}
.diagram-bottom i{position:relative;overflow:hidden}
.diagram-bottom i:after{content:"";position:absolute;inset:0;width:35%;background:#acfbff;box-shadow:0 0 8px #6beaff;animation:data-travel 3s ease-in-out infinite}
.diagram-bottom i:nth-of-type(2):after{animation-delay:1.1s}
.motion-toggle{display:inline-flex;align-items:center;gap:7px;position:absolute;right:0;bottom:-30px;border:1px solid #69cfff40;border-radius:5px;background:#10253d;color:#aac7df;padding:5px 10px;font-size:11px;z-index:4;min-height:32px}
.motion-toggle:hover{background:#1d4260;color:white}
.button span,.services article>a span,.header-cta span{display:inline-block;transition:transform .25s}
.button:hover span,.services article>a:hover span,.header-cta:hover span{transform:translate(3px,-3px)}
.scenario-panel.motion-change{animation:panel-appear .35s ease-out}
.motion-reveal{animation:section-appear .65s ease-out both}
.motion-paused .orbit,.motion-paused .core-star,.motion-paused .node,.motion-paused .diagram-bottom i:after{animation-play-state:paused!important}
@keyframes orbit-drift{from{transform:translateX(-50%) rotateX(28deg) rotate(-25deg)}to{transform:translateX(-50%) rotateX(28deg) rotate(335deg)}}
@keyframes orbit-drift-inner{from{transform:translateX(-50%) rotateX(50deg) rotate(35deg)}to{transform:translateX(-50%) rotateX(50deg) rotate(395deg)}}
@keyframes core-breathe{0%,100%{transform:scale(1);filter:drop-shadow(0 0 14px #31bdff)}50%{transform:scale(1.07);filter:drop-shadow(0 0 25px #31bdff)}}
@keyframes node-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes data-travel{from{transform:translateX(-120%);opacity:0}20%,75%{opacity:1}to{transform:translateX(390%);opacity:0}}
@keyframes panel-appear{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes section-appear{from{opacity:.45;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.blueprint{overflow:visible}.motion-toggle{bottom:-38px}.hero-grid{padding-bottom:75px}.node{animation-duration:9s}}
@media(prefers-reduced-motion:reduce){.orbit-one,.orbit-two,.core-star,.node,.diagram-bottom i:after,.motion-reveal,.scenario-panel.motion-change{animation:none!important}.motion-toggle{display:none}.button span,.services article>a span,.header-cta span{transition:none}.button:hover span,.services article>a:hover span,.header-cta:hover span{transform:none}}
