/* Black / graphite / silver / paper: the hero's existing palette and type. */
.boot-loader{position:fixed;inset:0;z-index:120;color:#e9eee8;pointer-events:none;isolation:isolate}
.boot-loader::before{content:'';position:absolute;inset:0;background:#030405;z-index:-1}
.boot-loader-field{position:absolute;left:50%;top:46%;width:196px;height:196px;transform:translate(-50%,-50%);display:grid;place-items:center}
.boot-loader-field::before{content:'';position:absolute;inset:-65%;border-radius:50%;background:radial-gradient(ellipse,#c6d4ce0c,transparent 65%);animation:boot-halo 3s ease-in-out infinite}
.boot-mark{position:relative;z-index:3;width:66px;height:66px;color:#e9eee8;filter:drop-shadow(0 0 10px #e9eee82b);animation:boot-seed 1450ms cubic-bezier(.16,1,.3,1) both;will-change:transform}
.boot-filament{position:absolute;inset:0;border:1px solid #dce1df35;border-radius:50%;transform:rotate(-32deg) scaleY(.4);will-change:transform}
.boot-filament::before{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:#e9eee8c0;border-left-color:#e9eee84a;animation:boot-trace 2.4s linear infinite;will-change:transform}
.boot-filament::after{content:'';position:absolute;width:4px;height:4px;left:14%;top:14%;border-radius:50%;background:#e9eee8;box-shadow:0 0 14px #e9eee8a0}
.boot-filament-a{animation:boot-plane-a 6s ease-in-out infinite alternate}
.boot-filament-b{inset:22px;opacity:.65;transform:rotate(28deg) scaleY(.58);animation:boot-plane-b 7s ease-in-out infinite alternate}
.boot-filament-b::before{animation-direction:reverse;animation-duration:3.1s}
.boot-filament-c{inset:-24px;border-style:dotted;border-color:#c9d3cf20;transform:rotate(-32deg) scaleY(.56);opacity:.45}
.boot-filament-c::before{animation-duration:4.5s;border-top-color:#e9eee86a}
.boot-pulse{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#e9eee814,transparent 65%);animation:boot-halo 2.4s ease-in-out infinite}
.boot-loader-label{position:absolute;top:calc(46% + 122px);left:0;width:100%;text-align:center;font:500 12px/1.4 'Space Grotesk',sans-serif;letter-spacing:.34em;text-indent:.34em;color:#aeb8b3;animation:boot-name 1.2s ease both}
html[data-boot=pending] .hero-v8 .header,html[data-boot=pending] .hero-copy,html[data-boot=pending] .scroll-cue,html[data-boot=pending] .motion-control{visibility:hidden}
html[data-boot=pending] .live-orbit{opacity:0!important}
html[data-boot=unfold] .boot-loader::before{animation:boot-veil 1350ms cubic-bezier(.4,0,.2,1) both}
html[data-boot=unfold] .boot-pulse{animation:boot-expand 1100ms cubic-bezier(.22,.68,.2,1) both}
html[data-boot=unfold] .boot-loader-field::before{animation:boot-veil 900ms ease both}
html[data-boot=unfold] .boot-loader-label{animation:boot-name-out 500ms ease both}
html[data-boot=unfold] .header{animation:boot-content 650ms 850ms both}
html[data-boot=unfold] .brand-mark{animation:boot-content 200ms 1280ms both}
/* Readable lines resolve in the wake of the orbital field. */
html[data-boot=unfold] .headline-line{animation:boot-focus 1000ms 650ms cubic-bezier(.16,1,.3,1) both}
html[data-boot=unfold] .headline-line:nth-child(2){animation-delay:820ms}
html[data-boot=unfold] .product-intro{animation:boot-focus 800ms 1080ms cubic-bezier(.16,1,.3,1) both}
html[data-boot=unfold] .cta-wrap{animation:boot-action 750ms 1320ms cubic-bezier(.16,1,.3,1) both}
html[data-boot=unfold] .scroll-cue,html[data-boot=unfold] .motion-control{animation:boot-content 550ms 1780ms both}
html[data-boot=done] .boot-loader{display:none}
html[data-boot-paused] .boot-loader *,html[data-boot-paused] .boot-loader::before,html[data-boot-paused] .boot-loader-field::before,html[data-boot-paused] .hero-v8 *,html[data-boot-paused] .motion-control{animation-play-state:paused!important}
@keyframes boot-seed{from{opacity:0;transform:scale(.55) rotate(-24deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes boot-trace{to{transform:rotate(360deg)}}
@keyframes boot-plane-a{to{transform:rotate(-18deg) scaleY(.54)}}
@keyframes boot-plane-b{to{transform:rotate(12deg) scaleY(.38)}}
@keyframes boot-halo{50%{opacity:.4;transform:scale(.9)}}
@keyframes boot-name{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes boot-name-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes boot-veil{to{opacity:0}}
@keyframes boot-expand{to{opacity:0;transform:rotate(-24deg) scale(3.6,.85)}}
@keyframes boot-content{from{opacity:0}to{opacity:1}}
@media(max-width:680px){.boot-loader-field{width:158px;height:158px}.boot-mark{width:58px;height:58px}.boot-loader-label{top:calc(46% + 103px);font-size:11px}}
@media(prefers-reduced-motion:reduce){.boot-loader *,.boot-loader::before{animation:none!important}.boot-loader-field::before{animation:none!important}html[data-boot=unfold] .boot-loader{opacity:0;transition:opacity 180ms}.boot-mark{filter:none}}

@keyframes boot-focus{from{opacity:0;transform:translateY(14px);filter:blur(5px);clip-path:inset(0 100% -12px -6px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0);filter:blur(0);clip-path:inset(-6px -6px -12px -6px)}}
@keyframes boot-action{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){html[data-boot=unfold] :is(.header,.brand-mark,.headline-line,.product-intro,.cta-wrap,.scroll-cue,.motion-control){animation:none!important}}
