/* Motion direction: staged reveals, precision signal flow, sculptural live 3D.
   The original typography, copy, coordinates and media remain intact. */
.live-motion-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; }
.slide.is-active { animation:scene-enter .65s cubic-bezier(.2,.75,.2,1) both; }
.slide.is-active .motion-reveal { animation:content-enter .9s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--enter-delay,0s); }
.slide.is-active .motion-image-reveal { animation:media-enter 1.35s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--enter-delay,.12s); }
.slide.is-active .motion-film-reveal { animation:film-enter 2.2s cubic-bezier(.2,.8,.2,1) both; }
@keyframes scene-enter { from { opacity:0; } to { opacity:1; } }
@keyframes content-enter { from { opacity:0; transform:translateY(29px); filter:blur(6px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
@keyframes media-enter { from { clip-path:inset(0 0 100% 0); transform:translateY(18px); } to { clip-path:inset(0); transform:translateY(0); } }
@keyframes film-enter { from { clip-path:inset(0 0 0 25%); transform:scale(1.045); } to { clip-path:inset(0); transform:scale(1); } }

/* The network route drops a pulse; local compute keeps its rhythm. */
.connection { background:linear-gradient(90deg,#39404d,#6675ae55,#39404d); }
.connection i { width:62px; height:3px; top:0; background:linear-gradient(90deg,transparent,#8194ff 65%,#eef1ff); box-shadow:8px 0 18px #8194ff55; }
.deployment-row:first-child .connection i { animation:network-drop 5s linear infinite; }
.deployment-row:nth-child(2) .connection i { animation:local-signal 1.9s linear infinite; }
.connection:before { content:''; position:absolute; inset:-5px 0; background:linear-gradient(90deg,transparent,#8194ff0c,transparent); }
@keyframes network-drop { 0% { left:0; opacity:0; } 7% { opacity:1; } 36% { left:48%; opacity:1; } 41%,70% { left:48%; opacity:0; } 71% { left:0; opacity:0; } 78% { opacity:1; } 98% { left:calc(100% - 62px); opacity:1; } 100% { left:calc(100% - 62px); opacity:0; } }
@keyframes local-signal { 0% { left:0; opacity:0; } 12%,85% { opacity:1; } 100% { left:calc(100% - 62px); opacity:0; } }
.network-event .live-dot { animation:fallback-breathe 3s ease-in-out infinite; }
.network-event .event-divider { position:relative; overflow:hidden; }
.network-event .event-divider:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#b7d6c3,transparent); animation:bridge-pulse 2.5s ease-in-out infinite; }
@keyframes fallback-breathe { 0%,100% { box-shadow:0 0 0 0 #a4c5b230,0 0 14px #a4c5b260; } 50% { box-shadow:0 0 0 8px #a4c5b200,0 0 24px #a4c5b290; } }
@keyframes bridge-pulse { from { transform:translateX(-100%); } to { transform:translateX(100%); } }

/* Animate the existing illustrative duty cycle without changing its ratio. */
.cycle-chart i { position:relative; background:#d9dcd123; overflow:hidden; }
.cycle-chart i:not(.rest):after { content:''; position:absolute; inset:0; background:#d9dcd1; transform-origin:left; animation:work-cycle 8s linear infinite; }
.cycle-chart i:nth-child(2):after { animation-name:work-cycle-two; }
.cycle-chart i:nth-child(3):after { animation-name:work-cycle-three; }
.cycle-chart .rest { background:repeating-linear-gradient(135deg,#464957 0,#464957 2px,transparent 2px,transparent 7px); }
@keyframes work-cycle { 0% { transform:scaleX(0); opacity:1; } 24%,80% { transform:scaleX(1); opacity:1; } 97%,100% { transform:scaleX(1); opacity:.2; } }
@keyframes work-cycle-two { 0%,25% { transform:scaleX(0); opacity:1; } 49%,80% { transform:scaleX(1); opacity:1; } 97%,100% { transform:scaleX(1); opacity:.2; } }
@keyframes work-cycle-three { 0%,50% { transform:scaleX(0); opacity:1; } 74%,80% { transform:scaleX(1); opacity:1; } 97%,100% { transform:scaleX(1); opacity:.2; } }

/* Three timing levels join the same onboard target. */
.systems-stack>div { position:relative; }
.systems-stack>div:after { content:''; position:absolute; left:0; bottom:-1px; width:96px; height:1px; background:linear-gradient(90deg,transparent,#b1bcff,transparent); animation:system-row-flow 4.2s linear infinite; }
.systems-stack>div:nth-child(2):after { animation-duration:2.8s; animation-delay:-.8s; }
.systems-stack>div:nth-child(3):after { animation-duration:1.4s; animation-delay:-.4s; }
@keyframes system-row-flow { 0% { transform:translateX(0); opacity:0; } 10%,85% { opacity:1; } 100% { transform:translateX(419px); opacity:0; } }
.systems-slide.has-signal-routes .system-bus { visibility:hidden; }
.system-signal-routes { position:absolute; left:596px; top:440px; width:173px; height:270px; overflow:visible; pointer-events:none; }
.system-signal-routes .route-base { stroke:#6677b1; stroke-opacity:.38; stroke-width:1; fill:none; }
.system-signal-routes .route-flow { stroke:#b1c0ff; stroke-width:2; stroke-linecap:round; fill:none; stroke-dasharray:13 100; filter:drop-shadow(0 0 4px #8194ff); animation:route-flow var(--route-duration,3s) linear infinite; }
@keyframes route-flow { from { stroke-dashoffset:113; } to { stroke-dashoffset:0; } }
.orin-target:before { content:''; position:absolute; left:-23px; top:-26px; right:-42px; bottom:-27px; border:1px solid #8194ff48; border-radius:8px; background:linear-gradient(135deg,#8194ff10,transparent 70%); z-index:-1; box-shadow:0 0 44px #607eff0b,inset 0 0 25px #607eff07; animation:target-charge 4.2s ease-in-out infinite; }
.orin-target:after { content:''; position:absolute; left:-27px; right:-46px; top:-30px; bottom:-31px; border:1px solid #8194ff12; border-radius:12px; pointer-events:none; }
@keyframes target-charge { 0%,100% { border-color:#8194ff38; box-shadow:0 0 44px #607eff06,inset 0 0 25px #607eff04; } 50% { border-color:#a6b3ff80; box-shadow:0 0 54px #607eff19,inset 0 0 35px #607eff10; } }

/* Pausing always leaves the words fully readable, while freezing all loops. */
#deck.motion-paused .slide.is-active { animation:none!important; }
#deck.motion-paused .motion-reveal,#deck.motion-paused .motion-image-reveal,#deck.motion-paused .motion-film-reveal { animation:none!important; }
.has-live-motion .chip-scene,.has-live-motion .chip-scene *,
.has-live-motion #compression-matrix,.has-live-motion #compression-matrix *,
.has-live-motion .compressed-halo { animation:none!important; }
#deck.motion-paused *,#deck.motion-paused *:before,#deck.motion-paused *:after,
#deck.document-hidden *,#deck.document-hidden *:before,#deck.document-hidden *:after { animation-play-state:paused!important; }
.slide:not(.is-active) *,.slide:not(.is-active) *:before,.slide:not(.is-active) *:after { animation-play-state:paused!important; }
@media (prefers-reduced-motion:reduce) {
  #deck:not(.motion-enabled) .motion-reveal,#deck:not(.motion-enabled) .motion-image-reveal,#deck:not(.motion-enabled) .motion-film-reveal { animation:none!important; }
}
@media print {
  .slide.is-active { animation:none!important; }
  .live-motion-canvas { display:none!important; }
  .has-live-motion .chip-scene,.has-live-motion #compression-matrix,.has-live-motion .compression-rail,.has-live-motion .compressed-halo,.benchmark-animation.has-live-motion>img { display:block!important; visibility:visible!important; }
  .motion-reveal,.motion-image-reveal,.motion-film-reveal { animation:none!important; }
}
