@font-face{font-family:Shoulders;src:url('assets/fai-big-shoulders-es-en-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Archivo;src:url('assets/fai-archivo-es-en-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--obsidian:#080c12;--silver:#e2e7ea;--muted:#a8b2be;--mineral:#161e29;--line:#34404f;--burgundy:#652e43;--rose:#e5aebf;--display:Shoulders,'Arial Narrow',sans-serif;--body:Archivo,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--obsidian);color:var(--silver);font:16px/1.65 var(--body)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button,a,summary,input,textarea{scroll-margin:24px}:focus-visible{outline:2px solid var(--rose);outline-offset:5px}::selection{background:var(--burgundy);color:white}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--display);line-height:1.02;letter-spacing:-.02em}h2{font-size:clamp(48px,5vw,76px)}h3{font-size:23px;line-height:1.3}em{font-style:normal;color:var(--rose)}.skip{position:absolute;left:24px;top:-100px;background:var(--silver);color:var(--obsidian);padding:12px 20px;z-index:10}.skip:focus{top:12px}.header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;max-width:1600px;margin:auto;padding:24px 5vw;border-bottom:1px solid #26313e}.identity{display:flex;align-items:center;gap:12px;font:600 27px var(--display);letter-spacing:.12em;min-height:44px}.mark{font:36px var(--body);color:var(--silver)}.brand-note{font:10px var(--body);letter-spacing:.14em;padding-left:16px;border-left:1px solid var(--line)}nav{display:flex;gap:32px;align-items:center;font-size:13px}nav a{display:flex;align-items:center;min-height:44px}.header-contact{color:var(--rose);gap:24px}.hero{max-width:1600px;margin:auto;padding:46px 5vw 64px;display:grid;grid-template-columns:1fr 1.12fr;gap:4vw;position:relative;background:url('assets/stars.svg') right top/cover no-repeat}.hero-copy{padding-top:35px;align-self:center;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}.signal{display:inline-block;width:6px;height:6px;background:var(--rose);margin-right:8px;vertical-align:2px;border-radius:50%}h1{font-size:clamp(72px,7.8vw,118px);font-weight:500}.lead{color:var(--muted);font-size:16px;line-height:1.8;margin:24px 0 28px}.primary{background:var(--silver);color:var(--obsidian);display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:12px 22px;font-size:14px;border:1px solid var(--silver);font-weight:600;transition:background .2s,color .2s}.primary:hover{background:var(--rose);border-color:var(--rose)}.text-link{display:flex;align-items:center;gap:24px;min-height:44px;margin-top:10px;width:max-content;font-size:13px;color:var(--silver)}.hero-foot{margin-top:35px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.observatory{min-width:0;align-self:center}.scene-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.12em;padding:0 5px}.scene-status{color:var(--rose)}.moon-stage{position:relative;width:100%;aspect-ratio:1.14;touch-action:pan-y;cursor:grab;isolation:isolate}.moon-stage:active{cursor:grabbing}.poster,#moon{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.poster{opacity:1}#moon{opacity:0}.ready #moon{opacity:1}.ready .poster{opacity:0}.reticle{position:absolute;color:#5e6978;font-size:23px;font-weight:100;pointer-events:none}.reticle-a{left:0;top:14%}.reticle-b{right:0;bottom:14%}.scene-side{position:absolute;right:0;top:27%;writing-mode:vertical-rl;color:var(--muted);font-size:8px;letter-spacing:.18em}figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;border-top:1px solid var(--line);padding-top:15px}.caption-note{font-size:9px;align-self:center;color:var(--muted)}.controls{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:6px}.controls[hidden]{display:none}.control-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);grid-column:1;grid-row:1}.control-label output{color:var(--silver);font-variant-numeric:tabular-nums}.orientation{grid-column:2}input[type=range]{accent-color:var(--rose);width:100%;min-width:0;margin:0;min-height:44px;grid-column:1;grid-row:2}#orientation{grid-column:2}.control-actions{grid-column:1/-1;display:flex;gap:14px}.control-actions button{border:1px solid var(--line);background:transparent;color:var(--silver);padding:8px 12px;min-height:44px;font-size:11px}.control-actions button:hover{background:var(--mineral)}#moon-help{grid-column:1/-1;font-size:10px;color:var(--muted);margin-top:5px}.fallback-note{font-size:12px;color:var(--muted);padding-top:20px}.content-section{max-width:1440px;margin:auto;padding:110px 7vw;border-top:1px solid #26313e}.benefit{display:grid;grid-template-columns:1.2fr 1fr;column-gap:10vw}.benefit>.eyebrow{grid-column:1/-1}.benefit h2{font-size:clamp(48px,4.8vw,70px)}.benefit h2 span{color:var(--muted)}.benefit-copy{padding-top:10px;color:var(--muted);max-width:440px;font-size:16px}.benefit-copy p+p{margin-top:22px}.principles{grid-column:1/-1;margin-top:65px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;font-size:13px;color:var(--muted)}.principles strong{display:block;color:var(--silver);font-weight:500;font-size:15px;margin-bottom:10px}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:50px}.section-head>p{max-width:360px;color:var(--muted);font-size:14px}.lab{background:linear-gradient(135deg,#101823,var(--obsidian) 75%)}.workflow{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.input-panel,.output-panel{padding:32px;min-width:0}.output-panel{border-left:1px solid var(--line)}.panel-caption{display:block;font-size:10px;color:var(--muted);letter-spacing:.14em;margin-bottom:28px}form label{display:block;font-size:14px;margin-bottom:12px}textarea{resize:vertical;width:100%;min-height:132px;background:var(--obsidian);color:var(--silver);border:1px solid var(--line);padding:14px;font-size:14px;line-height:1.7;margin-bottom:18px}form .primary{width:100%;font-size:13px}details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--rose);font-size:24px;font-weight:300}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:14px;padding:0 28px 24px 0}.input-panel details{margin-top:25px}.input-panel summary{font-size:12px}.mission{list-style:none;padding:0;margin:0;display:grid;gap:32px}.mission li{display:flex;gap:20px;position:relative}.mission li:not(:last-child):after{content:'';position:absolute;top:24px;left:5px;height:calc(100% + 15px);width:1px;background:var(--line)}.mission-dot{width:11px;height:11px;flex:none;border:1px solid var(--muted);border-radius:50%;margin-top:6px}.approval-dot{border-color:var(--rose);background:var(--burgundy)}.mission strong{font-size:15px;font-weight:500}.mission p{font-size:13px;color:var(--muted);margin-top:7px}.demo-status{margin-top:35px;border-top:1px solid var(--line);padding-top:15px;font-size:11px;color:var(--rose)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.services article{border-top:1px solid var(--line);padding-top:25px}.service-symbol{font-size:36px;color:var(--rose);display:block;margin-bottom:35px}.services p{color:var(--muted);font-size:14px;margin:18px 0 28px}.services article>span:last-child{font-size:10px;color:var(--muted);letter-spacing:.02em}.process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0}.process li{padding-top:20px;border-top:1px solid var(--line)}.process span{font-size:10px;letter-spacing:.14em;color:var(--rose)}.process h3{margin-top:30px;font-size:21px}.process p{margin-top:18px;font-size:14px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.questions details:last-child{border-bottom:1px solid var(--line)}.contact{text-align:center;background:radial-gradient(ellipse at 50% 115%,#301a28,transparent 65%)}.contact h2{font-size:clamp(58px,6vw,92px)}.contact>p:not(.eyebrow){color:var(--muted);margin:26px 0 30px;font-size:15px}.contact .contact-note{font-size:10px!important;margin-bottom:0!important}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 5vw;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}footer a{min-height:44px;display:flex;align-items:center}footer .identity{font-size:22px}button:disabled{cursor:default}.controls button:disabled{color:var(--muted)}
@media(min-width:1600px){.hero{gap:80px}.content-section{padding-left:110px;padding-right:110px}}
@media(max-width:900px){.header{padding:18px 5vw}.brand-note{display:none}nav{gap:18px}.hero{gap:20px;padding-top:25px}h1{font-size:76px}.hero-copy{padding-top:0}.lead{font-size:14px}.hero-foot{font-size:9px}.caption-note{display:none}.control-actions{gap:7px}.control-actions button{padding:6px 8px}.section-head{gap:30px}.section-head>p{max-width:280px}.content-section{padding:80px 6vw}.services{gap:25px}.input-panel,.output-panel{padding:24px}.benefit{gap:30px}}
@media(max-width:600px){.header{padding:12px 6vw}.identity{font-size:23px;gap:8px}.mark{font-size:29px}nav>a:not(.header-contact){display:none}.hero{padding:0 6vw 55px;display:grid;grid-template-columns:1fr;gap:0;background-position:center top}.observatory{display:contents}.scene-top{display:none}.moon-stage{grid-row:1;aspect-ratio:auto;height:255px;width:100%;max-width:410px;justify-self:center;margin-top:5px}.scene-side{font-size:7px}.hero-copy{grid-row:2;padding-top:3px}.eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:.10em}h1{font-size:65px;line-height:1.01}h1 br:first-child{display:none}.lead{font-size:13px;line-height:1.7;margin:17px 0 20px}.primary{min-height:48px;font-size:13px;padding:10px 18px}.text-link{display:inline-flex;margin:8px 0 0 20px;font-size:12px}.hero-foot{margin-top:20px;font-size:8px;letter-spacing:.04em}figcaption{grid-row:3;margin-top:30px;font-size:11px}.controls{grid-row:4;margin-top:16px;gap:4px 20px}#moon-help{font-size:9px}.reticle-a{top:20%}.reticle-b{bottom:20%}.content-section{padding:65px 7vw}.benefit{display:block}.benefit h2{font-size:49px}.benefit-copy{margin-top:30px;font-size:14px}.principles{grid-template-columns:1fr;gap:26px;margin-top:35px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px;max-width:none}.workflow{grid-template-columns:1fr}.output-panel{border-left:0;border-top:1px solid var(--line)}.panel-caption{margin-bottom:22px}.services,.process{grid-template-columns:1fr;gap:35px}.service-symbol{margin-bottom:18px}.services{margin-top:35px}.process h3{margin-top:20px}.faq{display:block}.questions{margin-top:35px}summary{font-size:13px;min-height:68px}.contact h2{font-size:59px}.contact>p:not(.eyebrow){font-size:13px}footer{flex-wrap:wrap;padding:22px 7vw;gap:10px}footer p{font-size:9px}footer>a:last-child{width:100%;font-size:10px}h2{font-size:51px}}
@media(max-width:360px){h1{font-size:56px}.moon-stage{height:220px}.text-link{display:flex;margin-left:0}.hero-foot{font-size:8px}.control-actions button{font-size:10px}.control-actions{gap:8px}.contact h2{font-size:50px}}
/* Keep the instrument and its complete scene in one bounded, hero-owned panel.
   Sticky is confined by the hero, never a viewport overlay on the article. */
.observatory-slot{min-width:0;align-self:stretch}
.observatory{position:sticky;top:12px;align-self:start}
.moon-stage{aspect-ratio:auto;height:clamp(160px,calc(100svh - 360px),460px)}
@media(max-width:600px){
 .observatory-slot{grid-row:1}
 .observatory-slot::after{content:'';display:block;height:64px}
 .observatory{display:block;width:100%;min-width:0}
 .moon-stage{height:clamp(160px,calc(100svh - 320px),255px);max-width:none;margin-top:5px}
 .observatory figcaption{margin-top:0;padding-top:10px}
 .observatory .controls{margin-top:12px}
}
@media(max-width:600px) and (min-height:700px){
 .moon-stage{height:180px}
 .hero-copy h1{font-size:52px}
 .hero-copy .eyebrow{margin-bottom:12px}
 .hero-copy .lead{margin:12px 0 14px}
}
/* Short landscape panels spend space on the Moon and 44px controls, not caption gaps. */
@media(min-width:601px) and (max-height:430px){
 .observatory figcaption{padding-top:2px;line-height:1.4}
 .observatory .controls{margin-top:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
