/* Cached SVG plumes, a paired pressure pulse, and bounded canvas particles. */
.scene-engine {
  --nozzle-x:24.1%; --nozzle-y:67.9%; --plume-length:48%;
  --heartbeat:2.6s; --phase:-.38s;
  left:calc(var(--nozzle-x) - var(--plume-length));
  top:calc(var(--nozzle-y) - 8%); width:var(--plume-length); height:16%;
  opacity:1; transform:rotate(-35deg); transform-origin:right center; pointer-events:none;
}
.scene-engine.second {
  --nozzle-x:35.8%; --nozzle-y:73.4%; --heartbeat:2.95s; --phase:-1.46s;
  left:calc(var(--nozzle-x) - var(--plume-length)); top:calc(var(--nozzle-y) - 8%);
}
.scene-engine:before,.scene-engine:after { content:none }
.scene-engine svg { display:block; width:100%; height:100%; overflow:visible; transform:translateZ(0) }
.exhaust-core { opacity:.96 }
.exhaust-cells { opacity:.9 }
.exhaust-ribbon { opacity:.55 }
.exhaust-bloom {
  position:absolute; left:84%; top:8%; width:30%; height:84%; opacity:.7;
  background:radial-gradient(ellipse,#f4ffffef,#8ffff5cc 20%,#37c9ff52 53%,#286fff00 70%);
  transform-origin:center; pointer-events:none;
}
.exhaust-envelope { opacity:.3 }
.exhaust-particles { position:absolute; inset:0; width:100%; height:100%; pointer-events:none }
.scene-running .exhaust-bloom { will-change:transform,opacity }
.scene-running .scene-engine {
  will-change:transform;
  animation:hero-exhaust-breathe var(--heartbeat) ease-in-out infinite;
  animation-delay:var(--phase);
}
.scene-running .exhaust-bloom {
  animation:hero-exhaust-heartbeat var(--heartbeat) ease-in-out infinite;
  animation-delay:var(--phase);
}
.site-motion-paused .scene-engine,.site-motion-paused .scene-engine * { animation-play-state:paused }
.site-launch-arming .scene-engine { scale:1.18 1.14; opacity:1 }
.site-launch-arming .exhaust-bloom { opacity:1; transform:scale(1.16) }
@keyframes hero-exhaust-breathe {
  0%,100% { transform:rotate(-35deg) scaleX(.91) scaleY(.92) }
  24% { transform:rotate(-35deg) scaleX(1.07) scaleY(1.15) }
  43% { transform:rotate(-35deg) scaleX(.96) scaleY(.99) }
  58% { transform:rotate(-35deg) scaleX(1.03) scaleY(1.07) }
  80% { transform:rotate(-35deg) scaleX(.94) scaleY(.95) }
}
@keyframes hero-exhaust-heartbeat {
  0%,100% { opacity:.26; transform:scale(.88,.73) }
  24% { opacity:1; transform:scale(1.1,1.28) }
  43% { opacity:.42; transform:scale(.95,.86) }
  58% { opacity:.9; transform:scale(1.05,1.12) }
  80% { opacity:.35; transform:scale(.92,.82) }
}
@media(max-width:720px),(pointer:coarse) and (max-width:1024px),(max-height:540px) and (max-width:1024px) {
  .scene-engine { --plume-length:38%; height:15%; top:calc(var(--nozzle-y) - 7.5%) }
  .scene-engine.second { top:calc(var(--nozzle-y) - 7.5%) }
  .exhaust-particles { opacity:.9 }
}
@media(prefers-reduced-motion:reduce) {
  .exhaust-particles { display:none }
  .living-scene .scene-engine,.living-scene .scene-engine * { animation:none!important; transition:none!important }
  .site-launch-arming .scene-engine { scale:1 }
  .site-launch-arming .exhaust-bloom { opacity:.7; transform:none }
}
.reduced-effects .living-scene .scene-engine,.reduced-effects .living-scene .scene-engine * { animation:none!important; transition:none!important }
.reduced-effects.site-launch-arming .scene-engine { scale:1 }
.reduced-effects.site-launch-arming .exhaust-bloom { opacity:.7; transform:none }

.reduced-effects .exhaust-particles { display:none }
