/* Keep motion on composited surfaces; avoid repainting the large SVG and glass layers. */
.launch-teaser,.hero-art,.journey-stage,.module-art{contain:layout paint}
.launch-flare,.hero-light:before{filter:none}
.launch-wordmark{filter:none}
@keyframes launch-letter{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes launch-status-pulse{0%,100%{opacity:.6}50%{opacity:1}}
.floating-card{backdrop-filter:none;background-color:#203026}
.card-order{animation:card-float 7s ease-in-out infinite}
.card-invoice{animation:card-float 8s ease-in-out -3s infinite}
.card-support{animation:card-float 9s ease-in-out -2s infinite;background-color:#202e2a}
/* The globe remains an illustration with a floating outer surface, rather than twelve SVG repaints per frame. */
.sphere .globe-mesh,.sphere .energy-ribbon,.sphere .data-packet,.sphere .core-orbit,.sphere .core-scan,.sphere .satellite{animation:none}
.core-pipeline span{animation:none}
.sphere [filter]{filter:none}
.film-play-orbit{backdrop-filter:none;background:#132219}
/* Let wheel/touch scrolling use the frame budget; decorative motion resumes after settling. */
.motion-scrolling :is(.launch-space,.hero-art,.module-art,.flow-transition,.signal-strip),
.motion-scrolling :is(.launch-space,.hero-art,.module-art,.flow-transition,.signal-strip) *,
.motion-scrolling :is(.launch-space,.hero-art,.module-art,.flow-transition,.signal-strip) *:before,
.motion-scrolling :is(.launch-space,.hero-art,.module-art,.flow-transition,.signal-strip) *:after,
.motion-scrolling .signal-strip:after,.motion-scrolling .story-screen:before,.motion-scrolling .story-orbit{animation-play-state:paused!important}
.launch-space[data-motion-view=on] .launch-orbit:after,
.hero-art[data-motion-view=on] .sphere,
.hero-art[data-motion-view=on] .floating-card{will-change:transform}
[data-motion-view=off] .sphere,[data-motion-view=off] .floating-card,[data-motion-view=off] .launch-orbit:after,
.motion-background .sphere,.motion-background .floating-card,.motion-background .launch-orbit:after,
.motion-paused .sphere,.motion-paused .floating-card,.motion-paused .launch-orbit:after{will-change:auto}
@media(max-width:700px){
 .launch-grid{transform:none;inset:0;background-size:48px 48px}
 .launch-flare,.hero-light:before{animation:none}
 .core-specks i,.launch-stars i:nth-child(n+4){animation:none}
}
@media(prefers-reduced-motion:reduce){.launch-orbit:after,.sphere,.floating-card{will-change:auto!important}}
/* Preserve the floating cards and their shadows beyond the art's layout box. */
.hero-art{overflow-clip-margin:40px}
/* Keep the large, readable movements; tiny decorative particles need no independent frame work. */
.core-specks i,.floating-card .mini-icon:after,.core-grid,.hero-light:before,.core-pipeline i:after,.launch-stars i{animation:none}
