@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/fonts/archivo.woff2) format('woff2')}

/* Tokens */
:root{
  color-scheme:dark;
  --void:#000;
  --star:#f3f1ec;
  --dust:#8e94a3;
  --dim:#5c6170;
  --line:rgba(243,241,236,.1);
  --line-strong:rgba(243,241,236,.22);
  --sol:#ffd9a0;
  --c:#f3f1ec;
  --font:'Archivo','Helvetica Neue',Arial,sans-serif;
  --gutter:clamp(16px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--void);color:var(--star);font:400 16px/1.6 var(--font);font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:clip;isolation:isolate}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,dl,dd{margin:0}
::selection{background:var(--sol);color:#000}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--sol);outline-offset:4px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:fixed;top:-100px;left:16px;z-index:99;padding:10px 18px;background:var(--star);color:#000;border-radius:999px}
.skip:focus{top:12px}

/* Sky */
.sky{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.stars{position:absolute;inset:-200px;background-repeat:repeat;will-change:transform}
.stars-far{background-image:url('/assets/stars.svg');background-size:1600px 1000px;opacity:.75;animation:drift 160s linear infinite alternate}
.stars-near{background-image:url('/assets/stars-near.svg');background-size:2200px 1375px;animation:twinkle 6s ease-in-out infinite alternate}
.nebula{position:absolute;inset:0;background:radial-gradient(60% 45% at 78% 12%,rgba(255,217,160,.07),transparent 70%),radial-gradient(50% 40% at 10% 90%,rgba(145,183,231,.05),transparent 70%)}
@keyframes drift{from{translate:-30px -40px}to{translate:40px 60px}}
@keyframes twinkle{from{opacity:.35}to{opacity:.9}}
html[data-motion=paused] .stars{animation-play-state:paused}

/* Header */
.site-header{position:fixed;top:14px;left:var(--gutter);right:var(--gutter);z-index:30;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 20px;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-stretch:118%;font-size:15px;letter-spacing:-.01em}
.brand svg{width:28px;height:28px;margin:-4px -2px -4px -4px}
.nav{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--dust)}
.nav a{padding:8px 14px;border-radius:999px;transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current=page]{color:var(--star);background:rgba(243,241,236,.06)}
.nav .nav-cta,.nav .nav-cta[aria-current=page]{display:inline-flex;align-items:center;gap:8px;background:var(--star);color:#000;font-weight:600;margin-left:6px}
.nav .nav-cta:hover{background:#fff;color:#000}
.nav .nav-cta:has(.nav-avatar){padding-left:6px}
.nav-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;background:#ddd}
.menu-toggle{display:none;background:none;border:1px solid var(--line-strong);border-radius:999px;padding:7px 16px;font-size:13px}

/* Shared */
.button{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--c);color:#000;font-size:14px;font-weight:600;font-stretch:108%;transition:transform .25s var(--ease),box-shadow .25s,background .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 40px -10px var(--c)}
.button-ghost{background:none;color:var(--star);border:1px solid var(--line-strong)}
.button-ghost:hover{border-color:var(--star);box-shadow:none}
.text-link{font-size:14px;color:var(--star);border-bottom:1px solid var(--line-strong);padding-bottom:3px;transition:border-color .2s,color .2s}
.text-link:hover{border-color:var(--c);color:var(--c)}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c);margin-right:10px;vertical-align:1px}

/* ---------- Home: planet-rise hero ---------- */
.system{position:relative}
.system .frame{position:relative;height:100svh;min-height:620px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(120px,18svh,180px) var(--gutter) 0;overflow:hidden}
.hero-copy{position:relative;z-index:3;max-width:1100px;display:flex;flex-direction:column;align-items:center;opacity:calc(1 - var(--out,0)*1.8);translate:0 calc(var(--out,0)*-120px)}
.system h1{font-size:clamp(44px,7.4vw,124px);line-height:.9;font-weight:800;font-stretch:125%;letter-spacing:-.05em;margin-bottom:28px}
.word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.word>span{display:inline-block}
.scenes .word>span{animation:rise 1.1s var(--ease) both;animation-delay:calc(.15s + var(--i)*.08s)}
@keyframes rise{from{transform:translateY(105%)}}
.lede{color:var(--dust);font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:46ch;margin-bottom:34px}
.hero-copy .button{--c:var(--star)}
.hero-space{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-rise{position:absolute;left:50%;top:calc(66svh - var(--out,0)*34svh);width:max(118vw,900px);max-width:none;height:auto;translate:-50% 0;scale:calc(1 + var(--out,0)*.35);rotate:calc(var(--out,0)*-10deg);filter:drop-shadow(0 -10px 80px color-mix(in srgb,var(--c) 40%,transparent))}
.scenes .hero-rise{animation:planet-rise 2s var(--ease) both}
@keyframes planet-rise{from{translate:-50% 40%;opacity:0}}
.hero-space:after{content:'';position:absolute;left:50%;top:calc(66svh - var(--out,0)*34svh);width:max(118vw,900px);height:220px;translate:-50% -45%;background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--c,#e5a17d) 22%,transparent),transparent 70%);--c:#e5a17d}
.hero-far{position:absolute;right:10vw;top:48svh;width:clamp(56px,7vw,120px);height:auto;opacity:.9;translate:0 calc(var(--out,0)*-50svh);scale:calc(1 + var(--out,0)*.6);filter:drop-shadow(0 0 18px color-mix(in srgb,var(--c) 35%,transparent))}
.scenes .hero-far{animation:fade-in 2.4s .6s var(--ease) both}
@keyframes fade-in{from{opacity:0}}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:20px;translate:-50% 0;font-size:12px;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:calc(1 - var(--p,0)*6)}
.scroll-cue:after{content:'';width:1px;height:36px;background:linear-gradient(var(--dust),transparent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{from{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}

/* ---------- Approach scenes ---------- */
.approach{position:relative}
.approach .frame{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;padding:120px var(--gutter) 80px;overflow:hidden}
.approach-flip .frame{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.approach-glow{position:absolute;inset:0;background:radial-gradient(45% 55% at 72% 50%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%);opacity:var(--in,1);pointer-events:none}
.approach-flip .approach-glow{background:radial-gradient(45% 55% at 28% 50%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%)}
.approach-planet{grid-column:2;grid-row:1;justify-self:center;width:min(52vw,820px);aspect-ratio:1;position:relative;z-index:1;
  transform:translate(calc((1 - var(--in,1))*-30vw + var(--out,0)*20vw),calc((1 - var(--in,1))*-18vh)) scale(calc(.16 + .84*var(--in,1) + var(--out,0)*.9)) rotate(calc(var(--p,.5)*30deg - 15deg));
  opacity:clamp(0,calc(min(var(--in,1)*2.5,1) - var(--out,0)*1.1),1);will-change:transform}
.approach-flip .approach-planet{grid-column:1;transform:translate(calc((1 - var(--in,1))*30vw - var(--out,0)*20vw),calc((1 - var(--in,1))*-18vh)) scale(calc(.16 + .84*var(--in,1) + var(--out,0)*.9)) rotate(calc(15deg - var(--p,.5)*30deg))}
.approach-planet img{width:100%;height:100%;filter:drop-shadow(0 0 60px color-mix(in srgb,var(--c) 22%,transparent))}
.approach-copy{grid-column:1;grid-row:1;position:relative;z-index:2;max-width:520px;opacity:calc(1 - var(--out,0)*2.2)}
.approach-flip .approach-copy{grid-column:2;justify-self:end}
.approach-title{font-size:clamp(64px,10vw,176px);line-height:.85;font-weight:800;font-stretch:calc(62% + 63%*var(--in,1));letter-spacing:calc(-.05em + (1 - var(--in,1))*.25em);margin:22px 0 26px;color:var(--star);white-space:nowrap}
.approach-copy>[style*='--k']{--show:clamp(0,calc((var(--mid,1) - var(--k)*.14)*4),1);opacity:var(--show);translate:0 calc((1 - var(--show))*36px)}
.approach-line{font-size:clamp(20px,1.8vw,26px);font-weight:600;font-stretch:112%;color:var(--c);line-height:1.25;margin-bottom:16px;letter-spacing:-.01em}
.approach-desc{color:var(--dust);font-size:16px;line-height:1.7;margin-bottom:32px;max-width:48ch}
.distance{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--dust);font-variant-numeric:tabular-nums}
.meter{position:relative;width:72px;height:2px;background:var(--line-strong);border-radius:2px;overflow:hidden}
.meter span{position:absolute;inset:0;background:var(--c);transform-origin:left;transform:scaleX(var(--in,1))}
.specs{display:grid;border-top:1px solid var(--line);margin-bottom:34px}
.specs div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.specs dt{color:var(--dim)}
.specs ul{list-style:none;padding:0;display:grid;gap:4px}
.approach .button{background:var(--c)}

/* ---------- Crew ---------- */
.crew{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6vw;padding:160px var(--gutter);max-width:1400px;margin:0 auto}
.crew h2{font-size:clamp(44px,5.5vw,88px);font-weight:800;font-stretch:125%;letter-spacing:-.045em;line-height:.92;margin-bottom:24px}
.crew-copy p{color:var(--dust);font-size:17px;max-width:40ch;margin-bottom:28px}
.crew-list{list-style:none;padding:0;display:grid;gap:40px}
.crew-member{display:flex;align-items:center;gap:36px}
.crew-member .porthole{width:min(260px,40vw)}
.role{font-size:13px;color:var(--sol);margin-bottom:6px}
.crew-member h3{font-size:clamp(32px,3vw,48px);font-weight:750;font-stretch:120%;letter-spacing:-.03em;line-height:1}
.handle{color:var(--dust);font-size:15px;margin-top:6px}
.porthole{position:relative;aspect-ratio:1;flex:none}
.porthole-ring{position:absolute;inset:-9%;border-radius:50%;border:1px dashed var(--line-strong);rotate:calc(var(--p,0)*240deg)}
.porthole-ring:after{content:'';position:absolute;top:50%;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--sol);box-shadow:0 0 14px var(--sol)}
.porthole-glass{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 70%,rgba(255,217,160,.16),rgba(255,255,255,.02) 60%),#05060a;box-shadow:inset 0 0 40px rgba(0,0,0,.9)}
.porthole-glass img{width:100%;height:100%;object-fit:cover;scale:calc(1.05 + var(--p,0)*.08)}

/* ---------- Horizon ---------- */
.horizon{position:relative;min-height:110svh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:16vh var(--gutter) 0;overflow:hidden}
.horizon-copy{position:relative;z-index:2;max-width:640px;--show:clamp(0,calc(var(--p,1)*2.4 - .4),1);opacity:var(--show);translate:0 calc((1 - var(--show))*60px)}
.horizon h2{font-size:clamp(56px,9vw,150px);font-weight:800;font-stretch:125%;letter-spacing:-.05em;line-height:.88;margin-bottom:24px}
.horizon p{color:var(--dust);font-size:17px;margin:0 auto 32px;max-width:44ch}
.horizon .button{--c:var(--sol)}
.horizon-land{position:absolute;left:50%;bottom:0;width:max(140vw,1400px);translate:-50% calc((1 - var(--p,1))*45%);scale:calc(.9 + var(--p,1)*.25);transform-origin:50% 100%;pointer-events:none}
.horizon-land img{width:100%;mask-image:linear-gradient(to bottom,transparent 0,#000 30%)}
.horizon-land:before{content:'';position:absolute;left:50%;top:30%;width:60%;height:50%;translate:-50% -50%;background:radial-gradient(closest-side,rgba(255,140,60,.35),transparent);opacity:calc(var(--p,1)*1.3)}

/* Journey nav */
.journey-nav{position:fixed;right:calc(var(--gutter)/2 - 6px);top:50%;translate:0 -50%;z-index:20;display:flex;flex-direction:column;gap:14px;opacity:0;transition:opacity .4s}
.journey-nav.visible{opacity:1}
.journey-nav a{position:relative;width:12px;height:12px;display:grid;place-items:center}
.journey-nav a:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--dim);transition:all .3s var(--ease)}
.journey-nav a.active:before{width:9px;height:9px;background:var(--c,var(--star));box-shadow:0 0 12px var(--c,var(--star))}
.journey-nav span{position:absolute;right:22px;font-size:12px;color:var(--star);white-space:nowrap;opacity:0;translate:6px 0;transition:all .25s}
.journey-nav a:hover span,.journey-nav a:focus-visible span{opacity:1;translate:0 0}

/* Footer */
.site-footer{position:relative;background:var(--void);font-size:14px;color:var(--dust);overflow:hidden}
.footer-grid{margin:0 var(--gutter);padding:40px 0 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 2fr 1fr;gap:32px;align-items:start;position:relative}
.footer-show{display:flex;justify-content:center;padding-top:clamp(80px,12vw,180px);user-select:none;-webkit-user-select:none}
.footer-word{margin:0 0 -.14em;white-space:nowrap;font-size:min(12vw,220px);line-height:1;font-weight:800;font-stretch:125%;letter-spacing:-.05em;text-align:center;background:linear-gradient(180deg,#3a3a40 0%,#141416 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .footer-grid{border-top:0}
.footer-brand{display:flex;gap:14px;align-items:flex-start;max-width:340px}
.footer-brand svg{width:18px;height:22px;flex:none;color:var(--star)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px}
.site-footer nav a:hover{color:var(--star)}
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.motion-toggle{background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--dust)}
.motion-toggle:hover{color:var(--star);border-color:var(--line-strong)}

/* ---------- Inner pages ---------- */
.page-top{padding:180px var(--gutter) 60px;max-width:1400px;margin:0 auto}
.page-top h1{font-size:clamp(52px,9vw,148px);font-weight:800;font-stretch:125%;letter-spacing:-.05em;line-height:.88;margin-bottom:28px}
.scenes .page-top h1{animation:fade-up 1s var(--ease) both}
@keyframes fade-up{from{opacity:0;translate:0 30px}}
.page-top p{color:var(--dust);font-size:18px;max-width:48ch}
.team-grid{max-width:1400px;margin:0 auto;padding:40px var(--gutter) 160px}
.person{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:8vw;align-items:center;padding:40px 0}
.person .porthole{width:min(100%,460px);justify-self:center}
.person h2{font-size:clamp(56px,8vw,128px);font-weight:800;font-stretch:125%;letter-spacing:-.05em;line-height:.88}
.person .role{font-size:15px;margin-bottom:16px}
.person .handle{font-size:17px;margin:14px 0 36px}
.community-page{position:relative;min-height:100svh;overflow:hidden}
.community-page .page-top{position:relative;z-index:2}
.community-page .button{--c:var(--sol);margin-top:36px}
.community-url{font-size:14px!important;color:var(--dim)!important;margin-top:20px}
.horizon-land.static{translate:-50% 18%;scale:1}
.lost .page-top{min-height:80svh}
.lost-code{font-size:clamp(120px,22vw,340px)!important;font-weight:900;font-stretch:125%;letter-spacing:-.06em;line-height:.8;color:transparent!important;-webkit-text-stroke:1px var(--line-strong);margin-bottom:-.2em;max-width:none!important}
.lost .actions{margin-top:36px}

/* ---------- Documentation ---------- */
.doc-layout{max-width:1520px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,820px) 190px;gap:56px;padding:120px var(--gutter) 80px;min-height:90svh}
.doc-sidebar{position:sticky;top:110px;height:calc(100svh - 140px);overflow-y:auto;padding-right:14px;scrollbar-width:thin;font-size:14px}
.doc-sidebar .doc-home{display:block;font-weight:600;color:var(--star);margin-bottom:18px}
.doc-sidebar h3{color:var(--dim);font-weight:500;font-size:12px;margin:24px 0 6px}
.doc-sidebar a{display:block;color:var(--dust);padding:6px 12px;border-radius:8px}
.doc-sidebar a:hover{color:var(--star);background:rgba(243,241,236,.04)}
.doc-sidebar a[aria-current=page]{color:#000;background:var(--star);font-weight:500}
.doc-article{min-width:0;padding-bottom:60px}
.doc-article .breadcrumb{font-size:13px;color:var(--dim);margin:6px 0 20px}
.doc-article h1{font-size:clamp(36px,4vw,56px);line-height:1;font-weight:800;font-stretch:118%;letter-spacing:-.035em;margin-bottom:20px}
.doc-description{font-size:18px;color:var(--dust);margin-bottom:40px;border-bottom:1px solid var(--line);padding-bottom:32px}
.doc-prose{font-size:16px;color:#c3c6ce;line-height:1.75}
.doc-prose h2{font-size:26px;font-weight:700;font-stretch:112%;letter-spacing:-.02em;margin:52px 0 16px;color:var(--star);line-height:1.2}
.doc-prose h3{font-size:19px;font-weight:650;color:var(--star);margin:32px 0 12px}
.doc-prose h4{color:var(--star);margin:24px 0 10px}
.doc-prose strong{color:var(--star);font-weight:600}
.doc-prose a{color:var(--sol);text-decoration:underline;text-decoration-color:rgba(255,217,160,.4);text-underline-offset:4px}
.doc-prose a:hover{text-decoration-color:var(--sol)}
.doc-prose p,.doc-prose ul,.doc-prose ol{margin-bottom:20px}
.doc-prose li{margin:6px 0}
.doc-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:rgba(243,241,236,.06);padding:2px 6px;border-radius:6px;overflow-wrap:anywhere}
.doc-prose pre{background:#07080c;border:1px solid var(--line);padding:20px;overflow:auto;border-radius:14px;line-height:1.7;margin:16px 0 28px}
.doc-prose pre code{background:none;padding:0;color:#d9d4cb;white-space:pre;overflow-wrap:normal;font-size:13px}
.doc-prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:14px;margin:24px 0}
.doc-prose td,.doc-prose th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;min-width:110px;vertical-align:top}
.doc-prose th{color:var(--star);font-weight:600}
.doc-callout{padding:18px 22px;background:rgba(255,217,160,.05);border:1px solid rgba(255,217,160,.18);border-radius:14px;margin:24px 0}
.doc-callout strong{display:block;color:var(--sol);font-size:14px;margin-bottom:6px}
.doc-callout p:last-child{margin:0}
.doc-callout.warning{background:rgba(229,161,125,.06);border-color:rgba(229,161,125,.3)}
.doc-callout.warning strong{color:#e5a17d}
.doc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.doc-card{display:block;border:1px solid var(--line);border-radius:14px;padding:22px;color:inherit!important;text-decoration:none!important;background:rgba(243,241,236,.02);transition:border-color .2s,background .2s}
.doc-card h3{margin:0 0 8px!important;font-size:17px}
.doc-card p{font-size:14px;margin:0;color:var(--dust)}
.doc-card[href]:hover{border-color:var(--line-strong);background:rgba(243,241,236,.04)}
.doc-steps{counter-reset:step}
.doc-step{border-left:1px solid var(--line-strong);padding:1px 0 20px 30px;position:relative;counter-increment:step}
.doc-step:before{content:counter(step);position:absolute;left:-13px;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--star);color:#000;font-size:12px;font-weight:700}
.doc-step h3{margin-top:0}
.doc-prose details{border:1px solid var(--line);padding:14px 20px;border-radius:14px;margin:10px 0}
.doc-prose summary{cursor:pointer;color:var(--star);font-weight:500}
.doc-prose details[open] summary{margin-bottom:16px}
.doc-param{border-bottom:1px solid var(--line);padding:16px 0}
.doc-param>div{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.doc-param small{color:var(--dim)}
.doc-toc{position:sticky;top:120px;align-self:start;font-size:13px;border-left:1px solid var(--line);padding-left:20px}
.doc-toc p{color:var(--star);font-weight:600;margin-bottom:6px}
.doc-toc a{display:block;color:var(--dim);margin:10px 0;line-height:1.4}
.doc-toc a:hover{color:var(--star)}
.doc-nav{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;margin-top:64px;padding-top:24px;font-size:15px}
.doc-nav a{color:var(--star);padding:12px 18px;border:1px solid var(--line);border-radius:999px}
.doc-nav a:hover{border-color:var(--line-strong)}
.search-wrap{margin:0 0 20px}
.search-wrap input{width:100%;background:rgba(243,241,236,.04);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:14px}
.search-wrap input::placeholder{color:var(--dim)}
.search-results{display:grid;gap:6px}
.search-results a{padding:12px!important;border:1px solid var(--line);border-radius:12px!important;color:var(--star)}
.search-results small{display:block;color:var(--dust);margin-top:2px}
.search-results p{color:var(--dust)}
.docs-mobile{display:none}
.docs-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 48px}
.catalog-item{display:block;border:1px solid var(--line);padding:28px;border-radius:20px;background:rgba(243,241,236,.02);text-decoration:none!important;color:inherit!important;transition:border-color .2s,transform .3s var(--ease)}
.catalog-item:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.catalog-item h2{font-size:30px!important;font-weight:800;font-stretch:122%;letter-spacing:-.03em;margin:0 0 4px!important}
.catalog-item p{font-size:14px;color:var(--dust)}
.catalog-item img{width:96px;height:96px;margin:-8px 0 18px -8px;filter:drop-shadow(0 0 20px color-mix(in srgb,var(--c) 30%,transparent))}
.catalog-item .text-link{text-decoration:none}
.doc-copy{float:right;background:rgba(243,241,236,.04);border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--dust);font-size:12px;margin:-6px 0 0}
.doc-copy:hover{color:var(--star)}

/* Legal pages */
.legal-body{max-width:760px;margin:0 auto;padding:0 var(--gutter) 140px}
.legal .page-top{max-width:760px;margin-left:auto;margin-right:auto}
.legal-updated{font-size:13px;color:var(--dust);margin-top:12px}
.legal-body h2{scroll-margin-top:110px}

/* Product-scoped docs */
.product-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--line);border-radius:16px;background:rgba(243,241,236,.02)}
.doc-sidebar .product-switch a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:12px;border:1px solid transparent;font-weight:600;color:var(--dust)}
.doc-sidebar .product-switch a img{width:28px;height:28px}
.doc-sidebar .product-switch a[aria-current]{color:var(--star);background:color-mix(in srgb,var(--c) 14%,transparent);border-color:color-mix(in srgb,var(--c) 45%,transparent)}
.doc-layout .doc-sidebar a[aria-current=page]{background:var(--c);color:#000}
.doc-layout .doc-sidebar h3{color:color-mix(in srgb,var(--c) 70%,var(--dim))}
.doc-product{display:inline-grid;grid-template-columns:40px auto;column-gap:14px;align-items:center;padding:8px 18px 8px 8px;margin-bottom:28px;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c) 7%,transparent)}
.doc-product img{grid-row:1/3;width:40px;height:40px}
.doc-product span{font-size:15px;color:var(--star);line-height:1.2}
.doc-product strong{color:var(--c);font-weight:700}
.doc-product small{font-size:12px;color:var(--dust)}
.doc-layout .doc-toc a:hover{color:var(--c)}
.doc-layout .doc-prose a{color:var(--c);text-decoration-color:color-mix(in srgb,var(--c) 40%,transparent)}
.docs-products{max-width:1400px;margin:0 auto;padding:0 var(--gutter) 140px;display:grid;gap:20px}
.docs-product{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,280px);gap:48px;align-items:center;padding:40px 48px;border:1px solid var(--line);border-radius:32px;background:radial-gradient(60% 120% at 0% 50%,color-mix(in srgb,var(--c) 12%,transparent),transparent 70%);overflow:hidden;transition:border-color .3s}
.docs-product:hover{border-color:color-mix(in srgb,var(--c) 45%,transparent)}
.docs-product-planet{width:220px;height:220px;filter:drop-shadow(0 0 40px color-mix(in srgb,var(--c) 30%,transparent));transition:transform .8s var(--ease)}
.docs-product:hover .docs-product-planet{transform:rotate(-8deg) scale(1.04)}
.docs-product h2{font-size:clamp(44px,5vw,80px);font-weight:800;font-stretch:125%;letter-spacing:-.045em;line-height:.9;margin-bottom:16px}
.docs-kicker{font-size:13px;color:var(--dust);margin-bottom:10px}
.docs-product-copy>p:not(.docs-kicker){color:var(--dust);margin-bottom:26px;max-width:44ch}
.docs-quick{list-style:none;padding:0;border-left:1px solid var(--line)}
.docs-quick a{display:block;padding:10px 0 10px 24px;color:var(--dust);transition:color .2s,padding .3s var(--ease)}
.docs-quick a:hover{color:var(--c);padding-left:30px}
.person:nth-child(even) .porthole{order:2}
.person+.person{border-top:1px solid var(--line);margin-top:40px;padding-top:80px}

/* ---------- Scroll scenes (enabled by JS, off for reduced motion) ---------- */
.scenes .system{height:190svh}
.scenes .system .frame{position:sticky;top:0}
.scenes .approach{height:300svh}
.scenes .approach .frame{position:sticky;top:0;height:100svh;min-height:0}
.scenes .crew{min-height:100svh}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .doc-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}
  .doc-toc{display:none}
}
@media(max-width:860px){
  .site-header{padding-left:16px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;padding:10px;background:rgba(5,6,10,.96);border:1px solid var(--line);border-radius:24px}
  .nav.open{display:flex}
  .nav a{padding:12px 16px}
  .nav .nav-cta{margin:6px 0 0;justify-content:center}
  .approach .frame,.approach-flip .frame{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;padding:96px var(--gutter) 48px;row-gap:8px}
  .approach-planet,.approach-flip .approach-planet{grid-column:1;grid-row:1;width:min(78vw,440px)}
  .approach-flip .approach-planet{transform:translate(calc((1 - var(--in,1))*30vw - var(--out,0)*20vw),calc((1 - var(--in,1))*-12vh)) scale(calc(.16 + .84*var(--in,1) + var(--out,0)*.9)) rotate(calc(15deg - var(--p,.5)*30deg))}
  .approach-planet{transform:translate(calc((1 - var(--in,1))*-30vw + var(--out,0)*20vw),calc((1 - var(--in,1))*-12vh)) scale(calc(.16 + .84*var(--in,1) + var(--out,0)*.9)) rotate(calc(var(--p,.5)*30deg - 15deg))}
  .approach-copy,.approach-flip .approach-copy{grid-column:1;grid-row:2;justify-self:start;max-width:none}
  .approach-glow,.approach-flip .approach-glow{background:radial-gradient(70% 40% at 50% 30%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%)}
  .approach-title{font-size:clamp(56px,17vw,110px);margin:14px 0 14px}
  .approach-desc{display:none}
  .specs{margin-bottom:24px}
  .specs div{grid-template-columns:90px 1fr;padding:10px 0;font-size:13px}
  .scenes .approach{height:260svh}
  .crew{grid-template-columns:1fr;padding:120px var(--gutter)}
  .person{grid-template-columns:1fr;gap:56px}
  .person .porthole{width:min(80%,380px)}
  .footer-grid{grid-template-columns:1fr}
  .footer-meta{align-items:flex-start}
  .journey-nav{display:none}
  .doc-layout{display:block;padding:100px var(--gutter) 40px}
  .doc-sidebar{display:none;position:relative;top:0;height:auto;max-height:65svh;margin:0 0 32px}
  .doc-sidebar.open{display:block}
  .docs-mobile{display:block;width:100%;text-align:left;border:1px solid var(--line);background:rgba(243,241,236,.03);color:var(--star);padding:12px 18px;border-radius:999px;margin-bottom:24px;font-size:14px}
  .doc-cards,.docs-catalog{grid-template-columns:1fr}
  .docs-product{grid-template-columns:1fr;gap:24px;padding:32px 24px}
  .docs-product-planet{width:140px;height:140px}
  .docs-quick{border-left:0;border-top:1px solid var(--line)}
  .docs-quick a{padding-left:0}
  .person:nth-child(even) .porthole{order:0}
  .doc-prose{font-size:15px}
  .doc-copy{float:none;display:inline-block;margin:0 0 8px}
}
@media(max-width:560px){
  .approach .specs div:nth-child(3){display:none}
  .crew-member{flex-direction:column;align-items:flex-start;gap:28px}
  .crew-member .porthole{width:62vw}
  .page-top{padding-top:140px}
  .hero-rise{top:calc(62svh - var(--out,0)*30svh);width:170vw}
  .hero-space:after{top:calc(62svh - var(--out,0)*30svh)}
  .hero-far,.scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}
