@media (max-width:1200px) {
  :root { --pad:clamp(1.5rem,4vw,3rem); }
  .site-header { height:84px; }
  .site-header .brand-full-logo { width:120px; height:120px; }
  .site-header.is-scrolled .brand-full-logo { width:120px; height:120px; }
  .hero-copy { max-width:900px; }
  .hero h1 { font-size:clamp(3.6rem,min(10.5vw,15svh),8.5rem); }
  .stage-copy { width:min(39vw,470px); }
  .story-stage h3 { font-size:clamp(2.7rem,5vw,5rem); }
}

@media (max-width:900px) {
  .site-header { height:84px; grid-template-columns:1fr auto; }
  .site-header .brand-full-logo { width:80px; height:80px; }
  .site-header.is-scrolled .brand-full-logo { width:80px; height:80px; }
  .site-footer .brand-full-logo { width:120px; height:120px; }
  .site-header .brand { transition:opacity .28s var(--ease),transform .35s var(--ease),visibility .28s; }
  .site-header.is-scrolled { height:0; padding:0; border-color:transparent; background:transparent; backdrop-filter:none; pointer-events:none; }
  .site-header.is-scrolled .brand { visibility:hidden; opacity:0; transform:translateY(-18px); }
  .desktop-nav,.header-cta { display:none; }
  .menu-toggle { position:relative; z-index:2; display:grid; width:44px; height:44px; place-content:center; gap:6px; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; transition:top .3s var(--ease),right .3s var(--ease),background .3s,border-color .3s,box-shadow .3s; }
  .site-header.is-scrolled .menu-toggle { position:fixed; top:1rem; right:var(--pad); border-color:rgba(255,255,255,.14); background:rgba(7,8,10,.76); box-shadow:0 10px 34px rgba(0,0,0,.34); backdrop-filter:blur(14px); pointer-events:auto; }
  .menu-toggle span { display:block; width:22px; height:1px; background:var(--ink); transition:transform .25s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { position:fixed; z-index:1; inset:0; display:flex; visibility:hidden; flex-direction:column; justify-content:center; gap:1.2rem; padding:var(--pad); opacity:0; background:#08090b; transition:opacity .3s,visibility .3s; pointer-events:auto; }
  .mobile-nav.is-open { visibility:visible; opacity:1; }
  .mobile-nav a { font-size:clamp(2rem,10vw,4rem); letter-spacing:-.05em; }
  .hero { height:100svh; min-height:0; padding-top:clamp(6rem,15svh,9rem); padding-bottom:clamp(1.75rem,5svh,3.5rem); }
  .hero { background-position:62% center; }
  .hero-stars { height:61%; }
  .hero h1 { font-size:clamp(3.25rem,min(15vw,14svh),7rem); }
  .hero-lede,.hero-actions { margin-left:0; }
  .manifesto { grid-template-columns:1fr; gap:2.5rem; }
  .manifesto-statement { min-height:clamp(20rem,56vw,31rem); }
  .cinematic { height:500vh; }
  .hero-blueprint-lens span { background-position:62% center; }
  .head-scene { top:0; height:100%; }
  .head-frame { object-position:72% center; }
  .stage-copy { top:50%; bottom:auto; width:min(48vw,390px); padding:1.25rem 1.2rem; background:linear-gradient(90deg,rgba(3,4,5,.92),rgba(3,4,5,.62),transparent); transform:translateY(-50%); }
  .story-stage { top:50%; bottom:auto; }
  .story-stage.is-active { transform:translateY(-50%); }
  .story-stage h3 { margin:.75rem 0; font-size:clamp(2rem,8vw,3.4rem); }
  .story-stage > p:last-of-type { margin-bottom:0; font-size:.88rem; }
  .stage-actions { margin-top:1rem; }
  .scroll-direction { display:none; }
  .section-heading,.process-intro { grid-template-columns:1fr; gap:2rem; }
  .section-heading { margin-bottom:3rem; }
  .solutions { overflow:clip; }
  .solution-card { min-height:calc(100svh - var(--wallet-top)); }
  .solution-card-body { min-height:calc(100svh - var(--wallet-top) - 5rem); grid-template-columns:1fr; gap:2.5rem; align-content:center; }
  .solution-card:nth-child(1) { --wallet-top:16px; }
  .solution-card:nth-child(2) { --wallet-top:64px; }
  .solution-card:nth-child(3) { --wallet-top:112px; }
  .solution-card:nth-child(4) { --wallet-top:160px; }
  .solution-card:nth-child(5) { --wallet-top:208px; }
  .solution-card:nth-child(even) .solution-graphic { order:0; }
  .solution-graphic { min-height:clamp(300px,68vw,520px); }
  .solution-card.reveal,.solution-card:nth-child(n).reveal,.solution-card.reveal.is-visible,.solution-card:nth-child(n).reveal.is-visible { clip-path:none; transform:none; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .process-steps li:nth-child(2) { border-right:0; }
  .site-footer { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .comet { width:min(48vw,220px); }
  :root { --pad:1.15rem; }
  .site-header { height:76px; }
  .site-header.is-scrolled { height:0; }
  .brand-full-logo { width:100px; height:100px; }
  .site-header .brand-full-logo { width:64px; height:64px; }
  .site-header.is-scrolled .brand-full-logo { width:64px; height:64px; }
  .hero { height:100svh; min-height:0; padding-top:5.5rem; padding-bottom:1.25rem; }
  .hero { background-color:#15070a; background-image:linear-gradient(90deg,rgba(7,8,10,.9) 0%,rgba(7,8,10,.53) 52%,rgba(7,8,10,.12)),linear-gradient(0deg,rgba(7,8,10,.86),transparent 45%),url('../public/media/hero-lunar-mobile.png'); background-position:center; background-size:cover; background-repeat:no-repeat; }
  .hero-rocket-occluder { display:block; background-image:linear-gradient(90deg,rgba(7,8,10,.9) 0%,rgba(7,8,10,.53) 52%,rgba(7,8,10,.12)),linear-gradient(0deg,rgba(7,8,10,.86),transparent 45%),url('../public/media/hero-lunar-mobile.png'); background-position:center; background-size:cover; background-repeat:no-repeat; clip-path:polygon(59.5% 6.5%,65% 11%,73.8% 48%,77% 61%,96% 68%,96% 72.5%,26% 72.5%,26% 68%,43% 58%,48% 24%,54.5% 10%); }
  .hero-stars { height:56%; -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.92) 38%,rgba(0,0,0,.48) 66%,rgba(0,0,0,.12) 84%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.92) 38%,rgba(0,0,0,.48) 66%,rgba(0,0,0,.12) 84%,transparent 100%); }
  .hero-blueprint-lens span { background-position:center; background-size:cover; }
  .hero-blueprint-lens .lens-rocket { background-image:url('../public/media/hero-rocket-blueprint-mobile-v2.jpg'); }
  .hero-blueprint-lens .lens-astronaut { background-image:url('../public/media/hero-astronaut-blueprint-mobile-v2.jpg'); }
  .hero h1 { margin:.5rem 0 1rem; font-size:clamp(2.9rem,min(16vw,13svh),4.8rem); }
  .hero-lede { max-width:34rem; font-size:.95rem; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:.65rem; margin-top:1rem; }
  .text-link { width:max-content; }
  .manifesto { gap:1.5rem; padding-top:4rem; padding-bottom:3rem; }
  .manifesto-statement { min-height:22rem; font-size:clamp(1.9rem,9vw,2.35rem); }
  .cinematic { height:480vh; }
  .head-scene { height:100%; background:#02040a; }
  .head-frame { inset:-1%; width:102%; height:102%; object-fit:cover; object-position:70% center; }
  .stage-rail { top:5.5rem; height:65px; }
  .stage-copy { top:50%; bottom:auto; width:min(61vw,390px); padding:1rem; background:linear-gradient(90deg,rgba(2,4,10,.96),rgba(2,4,10,.72),transparent); transform:translateY(-50%); }
  .story-stage { top:50%; bottom:auto; }
  .story-stage.is-active { transform:translateY(-50%); }
  .story-stage h3 { font-size:clamp(1.75rem,8vw,2.15rem); }
  .story-stage .eyebrow { font-size:.58rem; }
  .story-final .stage-actions { gap:.7rem; }
  .story-final .button { min-height:42px; }
  .solution-card { padding:3.6rem var(--pad) 1.5rem; }
  .solution-card-body { gap:1.25rem; }
  .solution-card h3 { top:0; height:48px; font-size:clamp(.9rem,4vw,1.15rem); }
  .solution-card ul { gap:.35rem; }
  .solution-card li { font-size:.56rem; }
  .solution-graphic { min-height:clamp(220px,36svh,330px); -webkit-mask-image:radial-gradient(ellipse 94% 88% at 50% 50%,#000 52%,rgba(0,0,0,.9) 72%,transparent 100%); mask-image:radial-gradient(ellipse 94% 88% at 50% 50%,#000 52%,rgba(0,0,0,.9) 72%,transparent 100%); }
  .process-steps { grid-template-columns:1fr; }
  .process-steps li { min-height:auto; padding:2rem 0; border-right:0; border-bottom:1px solid var(--line); }
  .process-steps li + li { padding-left:0; }
  .process-steps h3 { margin:2rem 0 .8rem; }
  .principle-grid { grid-template-columns:1fr; }
  .contact { min-height:80vh; }
  .contact h2 { font-size:4rem; }
  .contact-link { font-size:1rem; }
  .contact-link-inner { gap:1rem; }
  .site-footer { grid-template-columns:1fr; }
}

@media (max-width:400px) {
  .hero h1 { font-size:3.35rem; }
  .hero-actions .button { width:100%; }
  .manifesto-statement { min-height:21rem; font-size:1.75rem; }
  .story-stage h3 { font-size:1.85rem; }
  .story-stage > p:last-of-type { font-size:.8rem; line-height:1.45; }
  .stage-actions .button { width:100%; }
  .section-heading h2,.process h2,.principle-copy h2 { font-size:2.6rem; }
  .contact h2 { font-size:3.45rem; }
}

@media (max-height:600px) and (orientation:landscape) {
  .hero { height:100svh; min-height:0; padding-top:5.25rem; padding-bottom:1rem; }
  .hero h1 { margin:.35rem 0 .8rem; font-size:clamp(2.7rem,min(10vw,15svh),5rem); }
  .hero-lede { font-size:.88rem; line-height:1.4; }
  .hero-actions { margin-top:.75rem; }
  .head-frame { object-position:68% center; }
  .stage-copy { bottom:.75rem; }
  .story-stage h3 { margin:.45rem 0; font-size:2rem; }
  .story-stage > p:last-of-type { font-size:.78rem; }
  .stage-actions { display:none; }
}

@media (hover:none) and (pointer:coarse) {
  .button:hover,.solution-card:hover { transform:none; }
  .solution-card:hover { background:var(--card-bg,#06080d); }
}
@media (prefers-reduced-motion:reduce) {
  .narrative-replace { position:relative; }
  .manifesto { position:relative; min-height:auto; opacity:1; }
  .cinematic { height:auto; padding:6rem var(--pad); }
  .cinematic { margin-top:0; background:#030405; }
  .cinematic-sticky { position:relative; height:auto; overflow:visible; clip-path:none; }
  .cinematic-atmosphere,.stage-rail,.scroll-direction,.head-scene { display:none; }
  .stage-copy { position:relative; left:auto; top:auto; bottom:auto; width:auto; transform:none; }
  .story-stage { position:relative; top:auto; bottom:auto; margin-bottom:4rem; padding:0 0 3rem; border-bottom:1px solid var(--line); opacity:1; transform:none; pointer-events:auto; }
  .story-stage.is-active { transform:none; }
  .reduced-story { display:block; max-width:360px; margin:0 auto 5rem; }
  .reduced-story img { display:block; }
  .solution-card.reveal,.solution-card:nth-child(n).reveal { position:relative; min-height:auto; }
}
