/* Mission Control — Observatory palette, typography and expo-out motion. */
html.astral .page.page-home{padding-top:0}
.sky-hero.mission-hero{min-height:100svh;align-items:center}
.mission-hero .sky-hero-in{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:0;padding:calc(var(--nav-h) + 32px) 0 48px;min-height:100svh}
.mission-hero .hero-copy{position:relative;z-index:2;padding-bottom:40px}
.mission-hero .hero-title{font-weight:400;font-size:clamp(3rem,6.3vw,6rem);letter-spacing:-.045em}
.mission-hero .hero-sub{max-width:39ch;margin-left:0}
.mission-hero .hero-role{margin-top:30px}
.mission-hero .hero-cta{gap:24px}
.mission-art{position:relative;margin:0 -3vw 0 -2vw;min-width:0;align-self:center}
.mission-viewport{position:relative;height:min(59svh,560px);isolation:isolate}
.mission-canvas,.mission-poster{position:absolute;inset:0;width:100%;height:100%;display:block}
.mission-art.is-rendered .mission-poster{visibility:hidden}
.mission-poster{overflow:visible}
.mission-label{position:absolute;color:var(--ink-2);font-size:11px;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.mission-label::before{content:"";display:block;width:18px;height:1px;background:var(--star);margin-bottom:10px}
.mission-label small{display:block;font-size:10px;color:var(--ink-3);letter-spacing:.02em;text-transform:none;margin-top:3px}
.mission-label.input{left:5%;top:18%}
.mission-label.core{left:50%;top:48%;transform:translateX(-50%);color:var(--ink);text-align:center;letter-spacing:.08em}
.mission-label.core::before{display:none}
.mission-label.core small{color:var(--star)}
.mission-label.approval{right:3%;top:22%}
.mission-label.output{right:4%;bottom:16%}
.mission-label.output::before{background:var(--ink-3)}
.mission-art[data-stage="2"] .mission-label.output::before,.mission-art[data-stage="3"] .mission-label.output::before{background:var(--star)}
.mission-caption{margin:0 3vw 0 2vw;border-top:1px solid var(--line-2);padding-top:20px}
.mission-caption-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:11px;line-height:1.6;color:var(--ink-3)}
.mission-caption-top span:first-child{color:var(--ink-2)}
.mission-stages{display:grid;list-style:none;padding:0;margin-bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:16px;border-bottom:1px solid var(--line)}
.mission-step{font:inherit;text-align:left;font-size:11px;line-height:1.6;background:none;color:var(--ink-3);border:0;border-bottom:1px solid transparent;padding:12px 4px 14px;min-height:48px;transition:color .25s,border-color .25s}
.mission-step span{display:block;font-size:10px;letter-spacing:.08em;color:var(--ink-3);margin-bottom:6px}
.mission-step.is-active{color:var(--ink)}
.mission-step.is-active{border-bottom-color:var(--star)}
.mission-step.is-active span{color:var(--star)}
.mission-detail{font-size:12px;line-height:1.7;color:var(--ink-2);margin:16px 0 0;min-height:3.4em;max-width:54ch}
.mission-scroll{position:absolute;bottom:24px;left:var(--gutter);display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}
.mission-scroll svg{width:12px;height:18px}
@media(min-width:1500px){.mission-art{margin-right:-5vw}.mission-caption{margin-right:5vw}}
@media(max-width:1000px) and (min-width:741px){.mission-hero .hero-title{font-size:clamp(3rem,6vw,4.4rem)}.mission-label{font-size:10px}.mission-label small{display:none}.mission-hero .hero-cta{gap:18px}.mission-art{margin-left:-3vw}.mission-caption{margin-left:3vw}}
@media(max-width:740px){
 .mission-hero .sky-hero-in{grid-template-columns:1fr;padding:calc(var(--nav-h) + 8px) 0 48px;gap:32px}
 .mission-art{grid-row:1;margin:0 -10px}
 .mission-viewport{height:auto;aspect-ratio:1.1}
 .mission-caption{margin:0 10px;padding-top:14px}
 .mission-caption-top{font-size:10px}
 .mission-stages{margin-top:8px}
 .mission-step{font-size:11px;padding:10px 3px}
 .mission-step span{margin-bottom:3px}
 .mission-detail{margin-top:12px;min-height:3.4em;font-size:12px}
 .mission-label{font-size:10px}
 .mission-label small{display:none}
 .mission-label.core{left:50%;top:48%;font-size:11px}
 .mission-label.core small{display:block;font-size:10px}
 .mission-label.input{top:14%;left:4%}
 .mission-label.approval{top:18%;right:2%}
 .mission-label.output{bottom:12%;right:4%}
 .mission-hero .hero-copy{padding-bottom:0}
 .mission-hero .hero-title{font-size:clamp(2.7rem,12vw,4.4rem)}
 .mission-hero .hero-role{margin-top:22px}
 .mission-hero .hero-sub{max-width:42ch}
 .mission-hero .hero-cta{margin-top:24px;gap:20px}
 .mission-scroll{display:none}
}
@media(max-height:700px) and (min-width:741px){.mission-hero .sky-hero-in{padding-top:calc(var(--nav-h) + 12px);padding-bottom:40px}.mission-viewport{max-height:440px;aspect-ratio:auto;height:49vh}.mission-detail{margin-top:12px}.mission-hero .hero-copy{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.mission-step{transition:none}}
