:root { --paper:#fff; --surface:#fff; --ink:#171717; --blue:#171717; --quiet:#626262; --line:#e5e5e5; font-family:"Inter",sans-serif; scrollbar-color:#aaa #fff; }
body { font-family:"Inter",sans-serif; }
button, input, select { font-family:inherit; }
::selection { background:#222; color:#fff; }
.page-width { width:calc(100% - 80px); max-width:1200px; }
.site-header { min-height:66px; padding-block:0; border-bottom:1px solid var(--line); }
.wordmark { font-size:21px; font-weight:500; letter-spacing:-.025em; }
.world-mark { width:24px; height:24px; stroke:currentColor; }
.mission-nav { display:flex; align-items:center; gap:26px; font-size:13px; }
.mission-nav a { text-decoration:none; }
.mission-action { display:inline-flex; align-items:center; gap:18px; border:1px solid #171717; background:#171717; color:#fff; padding:10px 16px; min-height:40px; border-radius:8px; font-weight:500; }
.mission-action:hover { background:#333; color:#fff; }
.hero { padding-top:105px; }
h1 { max-width:830px; margin:0 auto 60px; text-align:center; font-size:44px; line-height:1.2; letter-spacing:-.025em; font-weight:500; }
.future-scene { max-width:830px; border-radius:8px; background:#f4f4f4; }
.vision-layout { display:block; max-width:690px; padding-top:65px; }
.vision-label { display:none; }
.vision-copy { font-size:17px; line-height:1.85; letter-spacing:0; color:#393939; }
.vision-copy .opening { font-size:21px; line-height:1.6; letter-spacing:-.015em; color:#171717; }
.vision-copy p { margin-bottom:25px; }
.vision-copy strong { font-weight:600; }
.vision-copy h2 { font-size:26px; line-height:1.4; font-weight:500; letter-spacing:-.02em; color:#171717; margin-bottom:24px; }
.vision-copy p + h2, .vision-copy ul + h2 { margin-top:58px; }
.vision-copy li { margin-bottom:18px; }
.narration { margin-bottom:38px; }
.narration-panel { border-radius:8px; background:#fafafa; }
.narration button, .narration select { border-radius:6px; background:#fff; }
.narration .narration-play { background:#171717; }
.narration-panel.is-docked { box-shadow:0 8px 30px #00000014; }
.contact-section { margin-top:100px; padding-top:60px; max-width:1000px; gap:70px; }
.contact-intro h2 { font-size:32px; letter-spacing:-.025em; }
.contact-intro p { font-size:15px; line-height:1.7; }
.signup-row input, .signup-row button { border-radius:8px; }
.signup-row button { background:#171717; font-size:13px; font-weight:500; }
.signup-row button:hover { background:#333; }
.signup-note { font-size:12px; }
.site-footer { margin-top:78px; font-size:12px; }
.site-footer .footer-brand { font-size:18px; font-weight:500; letter-spacing:-.025em; }
.analytics-consent { font-family:"Inter",sans-serif; border-color:#ddd; color:#333; box-shadow:0 8px 30px #00000014; }
.analytics-actions button { border-color:#aaa; }
.analytics-actions button:hover { background:#f3f3f3; }
a:hover { color:#626262; }
@media(max-width:1000px) {
 .contact-section { max-width:690px; gap:25px; }
}
@media(max-width:850px) {
 .page-width { width:calc(100% - 48px); }
 h1 { font-size:39px; }
}
@media(max-width:600px) {
 .page-width { width:calc(100% - 40px); }
 .wordmark { font-size:20px; gap:8px; }
 .mission-nav { gap:16px; font-size:12px; }
 .mission-nav > a:first-child { display:none; }
 .mission-action { font-size:12px; padding:9px 12px; gap:10px; }
 .site-header { gap:12px; }
 .hero { padding-top:65px; }
 h1 { font-size:31px; line-height:1.22; margin-bottom:39px; }
 .future-scene img { aspect-ratio:2/1; }
 .vision-layout { padding-top:43px; }
 .vision-copy { font-size:16px; line-height:1.8; }
 .vision-copy .opening { font-size:20px; }
 .vision-copy h2 { font-size:24px; }
 .contact-section { margin-top:66px; padding-top:45px; }
 .contact-intro h2 { font-size:28px; }
 .site-footer { flex-wrap:wrap; row-gap:22px; }
}
@media(max-width:360px) {
 .page-width { width:calc(100% - 32px); }
 .wordmark { font-size:18px; }
 .world-mark { width:22px; height:22px; }
 h1 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
