:root{--ambient-ease:cubic-bezier(.45,0,.55,1);--motion-rise:32px;--z-motion-controls:20}
.hero-image{animation:landscape-drift 12s var(--ambient-ease) infinite alternate;animation-play-state:paused;transform:scale(1.04)}
.motion-in-view .hero-image{animation-play-state:running}
.nav-wrap{animation:nav-arrival 900ms var(--ease) both}
.hero h1{overflow:clip;padding-block:.08em;margin-block:-.08em}
.hero h1 span{animation:headline-arrival 550ms var(--ease) 75ms both}
.hero h1 span+span{animation-delay:150ms}
.hero-intro{animation:headline-arrival 500ms var(--ease) 240ms both}
.hero .pill{animation:headline-arrival 500ms var(--ease) 320ms both}
.hero-meta{animation:fade-in 500ms var(--ease) 475ms both}
.reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(var(--motion-rise));transition:opacity 1000ms var(--ease),transform 1000ms var(--ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.visible{opacity:1;transform:none}
.feature-copy{--reveal-delay:140ms}
.bezel{position:relative}
.bezel:before{content:"";position:absolute;inset:0;border:1px solid #e7c7a25c;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 450ms var(--ease);z-index:2}
.planet{animation:planet-float 9s var(--ambient-ease) infinite alternate;animation-play-state:paused}
.terrain{animation:terrain-tide 12s var(--ambient-ease) infinite alternate;animation-play-state:paused}
.rings i{animation:ring-breathe 6.8s var(--ambient-ease) infinite alternate;animation-delay:calc(var(--i)*-650ms);animation-play-state:paused}
.rings:after{animation:core-breathe 6.8s var(--ambient-ease) infinite alternate;animation-play-state:paused}
.motion-in-view .planet,.motion-in-view .terrain,.motion-in-view .rings i,.motion-in-view .rings:after{animation-play-state:running}
.motion-toggle{position:fixed;inset:auto 20px 20px auto;z-index:var(--z-motion-controls);display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;background:#25211ff2;color:#f4dec8;border:1px solid #caa58255;border-radius:28px;font-size:12px;box-shadow:inset 0 1px #ffffff10;transition:transform 220ms var(--ease)}
.motion-toggle svg{width:16px;height:16px;stroke-width:1.25;flex:none}
.motion-toggle:hover{transform:translateY(-2px)}
.motion-toggle:active{transform:scale(.98)}
.motion-toggle:disabled{cursor:default;opacity:.8}
html[data-motion-state=paused] .hero-image,html[data-motion-state=paused] .planet,html[data-motion-state=paused] .terrain,html[data-motion-state=paused] .rings i,html[data-motion-state=paused] .rings:after{animation-play-state:paused}
html[data-motion-state=reduced]{scroll-behavior:auto!important}
html[data-motion-state=reduced] *,html[data-motion-state=reduced] *:before,html[data-motion-state=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion-state=reduced] .reveal{opacity:1;transform:none}
html[data-motion-state=reduced] .hero-image{transform:scale(1.04)}
html[data-motion-state=reduced] .pill:hover,html[data-motion-state=reduced] .pill:active,html[data-motion-state=reduced] .pill:hover .arrow,html[data-motion-state=reduced] .motion-toggle:hover{transform:none}
@media(hover:hover) and (pointer:fine){.bezel:hover:before{opacity:1}.pill:hover .arrow{transform:translate(3px,-3px) rotate(-8deg)}}
@media(max-width:767px){:root{--motion-rise:20px}.motion-toggle{inset-inline-end:12px;inset-block-end:max(12px,env(safe-area-inset-bottom));padding:9px 13px;font-size:11px}.planet{animation-name:planet-float-mobile}.rings i{animation-name:ring-breathe-mobile}}
@keyframes landscape-drift{0%{transform:scale(1.04) translate3d(-.35%,-.3%,0)}100%{transform:scale(1.09) translate3d(.5%,.4%,0)}}
@keyframes nav-arrival{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@keyframes headline-arrival{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes planet-float{from{transform:translate3d(0,6px,0)}to{transform:translate3d(0,-10px,0)}}
@keyframes planet-float-mobile{from{transform:translate3d(0,3px,0)}to{transform:translate3d(0,-5px,0)}}
@keyframes terrain-tide{from{transform:translateY(4px)}to{transform:translateY(-4px)}}
@keyframes ring-breathe{from{transform:scale(.96);opacity:.42}to{transform:scale(1.025);opacity:.95}}
@keyframes ring-breathe-mobile{from{transform:scale(.98);opacity:.52}to{transform:scale(1.015);opacity:.9}}
@keyframes core-breathe{from{transform:scale(.95);opacity:.8}to{transform:scale(1.055);opacity:1}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}.hero-image{transform:scale(1.04)}.motion-toggle:hover{transform:none}*,*:before,*:after{animation:none!important;transition:none!important}}
