:root {
  --ink: #07100c;
  --ink-2: #101d16;
  --ink-3: #1d2b22;
  --concrete: #c9c7ba;
  --concrete-hi: #e4e0d2;
  --paper: #eeeadc;
  --green: #91ff9f;
  --green-deep: #39c96a;
  --orange: #ff6238;
  --peach: #ffb17f;
  --steel: #78887e;
  --line-dark: rgba(7, 16, 12, .24);
  --line-light: rgba(238, 234, 220, .2);
  --sora: 'Sora', sans-serif;
  --tele: 'VT323', monospace;
  color-scheme: dark;
}

* { box-sizing: border-box; }

::selection { background: var(--orange); color: var(--ink); text-shadow: none; }

* { scrollbar-width: thin; scrollbar-color: var(--green-deep) #07100c; }
*::-webkit-scrollbar { width: 11px; height: 11px; }
*::-webkit-scrollbar-track { background: #07100c; }
*::-webkit-scrollbar-thumb { border: 3px solid #07100c; background: var(--green-deep); }
*::-webkit-scrollbar-thumb:hover { background: var(--green); }

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  background: var(--ink);
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--concrete);
  color: var(--ink);
  font-family: var(--sora);
  font-optical-sizing: auto;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  opacity: .2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

body.is-hidden * { animation-play-state: paused !important; }

a { color: inherit; text-decoration: none; }
a, button { touch-action: manipulation; -webkit-tap-highlight-color: rgba(145, 255, 159, .2); }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999;
  padding: 12px 18px;
  transform: translateY(-160%);
  background: var(--green);
  color: var(--ink);
  font-weight: 800;
}
.skip-link:focus { transform: none; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
h1, h2 { font-kerning: normal; }
section { position: relative; }
section[id], h1[id], h2[id] { scroll-margin-top: 110px; }

.telemetry {
  font-family: var(--tele);
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 0;
  font: 400 19px/1 var(--tele);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow::before { content: ''; flex: 0 0 38px; height: 4px; background: var(--orange); }

/* Load sequence */
.countdown {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: grid;
  place-content: center;
  overflow: hidden;
  text-align: center;
  color: var(--green);
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(145, 255, 159, .08) 50%, transparent 50.1%),
    repeating-linear-gradient(0deg, transparent 0 71px, rgba(145, 255, 159, .055) 72px),
    #030805;
  transition: opacity .55s cubic-bezier(.65, 0, .35, 1), visibility .55s;
}
.countdown::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 47%, rgba(255, 98, 56, .75) 50%, transparent 53%);
  transform: translateX(-100%);
}
.countdown.is-ignition::after { animation: ignition-sweep .45s cubic-bezier(.2, .8, .2, 1); }
.countdown.is-done { visibility: hidden; opacity: 0; }
.countdown__frame { position: absolute; inset: 32px; border: 1px solid rgba(145, 255, 159, .18); }
.countdown__frame::before, .countdown__frame::after {
  content: 'AUTO / A';
  position: absolute;
  top: 18px;
  color: #66756c;
  font: 18px var(--tele);
  letter-spacing: .14em;
}
.countdown__frame::before { left: 20px; }
.countdown__frame::after { content: 'TW7 / VĖJAS'; right: 20px; }
.countdown__lamp {
  width: 26px;
  height: 26px;
  margin: 0 auto 30px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 10px rgba(255, 98, 56, .08), 0 0 35px var(--orange), 0 0 100px rgba(255, 98, 56, .55);
  animation: klaxon .22s steps(2) infinite;
}
.countdown p, .countdown small { margin-bottom: 0; font: 23px var(--tele); letter-spacing: .15em; }
.countdown p span { color: #76867b; }
.countdown strong { font: 700 clamp(96px, 20vw, 260px)/.8 var(--sora); letter-spacing: -.095em; }
.countdown strong span { display: block; min-width: 3.6ch; }
.countdown__track { width: min(450px, 72vw); height: 4px; margin: 32px auto 22px; background: #1c2e23; }
.countdown__track i { display: block; width: 0; height: 100%; background: var(--green); box-shadow: 0 0 16px var(--green); transition: width .1s linear; }
.countdown small { color: #929d96; }
@keyframes klaxon { 50% { opacity: .22; } }
@keyframes ignition-sweep { 50% { transform: translateX(0); } 100% { transform: translateX(100%); } }

/* Header + mission rail */
.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  height: 82px;
  display: flex;
  align-items: center;
  padding: 0 clamp(22px, 4vw, 70px);
  border-bottom: 1px solid var(--line-light);
  color: var(--paper);
}
.is-ready .site-header { animation: header-lock .72s .28s both cubic-bezier(.16, 1, .3, 1); }
@keyframes header-lock { from { opacity: 0; transform: translateY(-24px); } }
.brand { min-height: 44px; display: flex; align-items: center; gap: 11px; }
.brand svg { width: 28px; height: 39px; fill: none; stroke: var(--green); stroke-width: 2; transition: filter .25s, transform .35s cubic-bezier(.16, 1, .3, 1); }
.brand:hover svg, .brand:focus-visible svg { transform: translateY(-3px); filter: drop-shadow(0 0 8px var(--green)); }
.brand span { display: flex; align-items: center; gap: 6px; }
.brand b { font-size: 12px; letter-spacing: .17em; }
.brand i { color: var(--green); font: 32px/.7 var(--tele); font-style: normal; }
.site-header nav { margin: auto; display: flex; gap: clamp(20px, 3vw, 48px); }
.site-header nav a, .header-status { font: 18px var(--tele); letter-spacing: .1em; }
.site-header nav a { position: relative; min-height: 44px; display: grid; place-items: center; }
.site-header nav a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--green);
  transition: transform .25s ease;
}
.site-header nav a:hover::after, .site-header nav a:focus-visible::after { transform: scaleX(1); }
.header-status { display: flex; align-items: center; gap: 8px; }
.header-status span { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); animation: pulse 1.3s infinite; }
@keyframes pulse { 50% { opacity: .38; } }

.flight-rail {
  --mission-progress: 0%;
  position: fixed;
  z-index: 75;
  top: 50%;
  right: 19px;
  width: 47px;
  height: min(550px, 70vh);
  transform: translateY(-50%);
  color: #6f8176;
  pointer-events: none;
}
.flight-rail__label { position: absolute; top: 0; right: 0; writing-mode: vertical-rl; font: 15px var(--tele); letter-spacing: .15em; }
.flight-rail > i { position: absolute; top: 0; bottom: 0; left: 4px; width: 1px; background: #33433a; }
.flight-rail > i::after { content: ''; position: absolute; inset: 0 0 auto; height: var(--mission-progress); background: var(--green); box-shadow: 0 0 9px var(--green); }
.flight-rail ol { position: absolute; inset: 0 auto 0 -5px; display: flex; flex-direction: column; justify-content: space-between; margin: 0; padding: 0; list-style: none; }
.flight-rail li { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #77877d; font: 13px var(--tele); border: 1px solid #46574d; transition: color .2s, border-color .2s, box-shadow .2s; }
.flight-rail li.is-current { color: var(--green); border-color: var(--green); box-shadow: 0 0 13px rgba(145, 255, 159, .65); }
.flight-rail b { position: absolute; right: 2px; bottom: -31px; font: 14px var(--tele); }

/* Hero */
.hero {
  min-height: max(820px, 100svh);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  overflow: hidden;
  padding: 142px clamp(24px, 7vw, 110px) 92px;
  color: var(--paper);
  background:
    radial-gradient(circle at 76% 49%, rgba(81, 135, 99, .28), transparent 24%),
    linear-gradient(109deg, #050b08 0 52%, #14251a 100%);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(145, 255, 159, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(145, 255, 159, .045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to right, #000, transparent 82%);
}
.hero__grid { position: absolute; inset: 0; pointer-events: none; }
.hero::after {
  content: '';
  position: absolute;
  top: 34%;
  right: -5vw;
  width: 48vw;
  height: 3px;
  transform: rotate(-18deg);
  background: linear-gradient(90deg, transparent, var(--orange), #fff6, transparent);
  filter: blur(1px);
  opacity: .6;
}
.hero__readout { position: absolute; z-index: 4; top: 103px; right: 5vw; display: flex; gap: 24px; color: var(--green); font-size: 18px; }
.hero__copy { position: relative; z-index: 5; max-width: 760px; }
.hero h1 { margin: 50px 0 34px; font-size: clamp(82px, 10.8vw, 170px); line-height: .72; letter-spacing: -.09em; }
.hero h1 em, .mission h2 em, .flight h2 em, .flutter h2 em, .recovery h2 em, .litany h2 em { color: var(--orange); font-style: normal; }
.hero__lede { max-width: 610px; margin-bottom: 0; padding-left: 22px; border-left: 1px solid var(--green); color: #c9d0ca; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.6; }
.launch-link {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
  padding: 14px 17px 14px 21px;
  border: 1px solid #66796d;
  font: 18px var(--tele);
  letter-spacing: .09em;
  transition: color .2s, background-color .2s, border-color .2s;
}
.launch-link span { color: var(--green); font-size: 28px; }
.launch-link:hover, .launch-link:focus-visible { border-color: var(--green); background: var(--green); color: var(--ink); }
.launch-link:hover span, .launch-link:focus-visible span { color: var(--ink); transform: translateY(3px); }
.launch-link span { transition: transform .3s cubic-bezier(.16, 1, .3, 1), color .2s; }
.hero__sequence { position: absolute; z-index: 4; bottom: 35px; left: clamp(24px, 7vw, 110px); display: flex; gap: 0; color: #7f9086; font-size: 17px; }
.hero__sequence span { min-width: 105px; padding: 7px 12px; border-top: 1px solid #496055; }
.hero__sequence span:last-child { color: var(--green); border-color: var(--green); }
.hero__spec { position: absolute; z-index: 4; right: 5.3vw; bottom: 39px; display: grid; grid-template-columns: auto auto; gap: 3px 28px; color: #84948a; font-size: 18px; }
.hero__spec b { color: var(--green); font-weight: 400; }
.vertical-note { position: absolute; z-index: 4; top: 36%; right: 45px; color: #839188; font: 16px var(--tele); letter-spacing: .16em; writing-mode: vertical-rl; }

.gantry { position: absolute; z-index: 1; top: 14%; right: 25%; width: 190px; height: 72%; border-right: 2px solid #34473b; border-left: 1px solid #26362e; opacity: .82; }
.gantry::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(155deg, transparent 0 51px, #2a3d32 52px 54px, transparent 55px 104px); }
.gantry i { position: absolute; right: 0; width: 46px; height: 2px; background: #4a5f52; transform-origin: right; }
.gantry i:nth-child(1) { top: 26%; transform: rotate(10deg); }
.gantry i:nth-child(2) { top: 48%; transform: rotate(-5deg); }
.gantry i:nth-child(3) { top: 69%; transform: rotate(13deg); }
.gantry b { position: absolute; bottom: 0; left: 12px; color: #63756a; font: 15px var(--tele); letter-spacing: .1em; writing-mode: vertical-rl; }

.rocket-wrap { position: absolute; z-index: 3; top: 30px; right: 5.5vw; width: 38vw; height: 100%; display: grid; place-items: center; filter: drop-shadow(0 28px 22px rgba(0, 0, 0, .55)); }
.rocket { position: relative; width: 112px; height: 610px; transform: rotate(8deg); animation: float 4.2s ease-in-out infinite; }
.rocket__tip { position: absolute; top: 0; left: 12px; width: 88px; height: 114px; background: linear-gradient(90deg, #858b84, #f0eddf 46%, #737a73); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.rocket__body { position: absolute; top: 108px; left: 12px; width: 88px; height: 360px; border-top: 6px solid var(--orange); background: linear-gradient(90deg, #8c928b, #ebe8da 44%, #707871); color: #142019; }
.rocket__body::after { content: ''; position: absolute; inset: 18px 8px; border-left: 1px solid rgba(7, 16, 12, .25); border-right: 1px solid rgba(255, 255, 255, .24); }
.rocket__body b { position: absolute; z-index: 1; top: 72px; left: 17px; font: 29px var(--tele); writing-mode: vertical-rl; }
.rocket__body span { position: absolute; z-index: 1; right: 12px; bottom: 20px; font: 700 10px var(--sora); letter-spacing: .15em; writing-mode: vertical-rl; }
.rocket__body i { position: absolute; inset: 215px 0 auto; height: 57px; background: var(--orange); }
.rocket__fins { position: absolute; top: 408px; left: -43px; width: 198px; height: 125px; background: linear-gradient(135deg, #ff7148, #d54c29); clip-path: polygon(29% 0, 71% 0, 100% 100%, 65% 62%, 35% 62%, 0 100%); }
.rocket__flame { position: absolute; top: 468px; left: 27px; width: 58px; height: 142px; background: radial-gradient(ellipse at top, #fff 0 9%, #ffedb3 18%, var(--peach) 40%, var(--orange) 63%, transparent 72%); filter: blur(2px); animation: flame .13s infinite alternate; }
.rocket__flame i { position: absolute; inset: 0; transform: scaleX(.45); background: linear-gradient(transparent, #fff7, transparent); }
.exhaust { position: absolute; top: 61%; left: 51%; width: 340px; height: 670px; transform: translateX(-50%) rotate(8deg); background: radial-gradient(ellipse at top, rgba(255, 177, 127, .38), rgba(167, 190, 176, .14) 37%, transparent 70%); filter: blur(20px); }
@keyframes float { 50% { transform: rotate(8deg) translateY(-13px); } }
@keyframes flame { to { transform: scaleX(.84) scaleY(1.08); } }

.is-ready .hero__copy { animation: hero-rise .8s .05s both cubic-bezier(.2, .8, .2, 1); }
.is-ready .rocket-wrap { animation: rocket-enter 1s .15s both cubic-bezier(.16, 1, .3, 1); }
.is-ready .hero__readout, .is-ready .hero__sequence, .is-ready .hero__spec { animation: hero-fade .7s .55s both; }
@keyframes hero-rise { from { opacity: 0; transform: translateY(40px); } }
@keyframes rocket-enter { from { opacity: 0; transform: translateY(120px); } }
@keyframes hero-fade { from { opacity: 0; } }

/* Stage hardware */
.stage-event {
  position: relative;
  height: 154px;
  display: grid;
  place-content: center;
  gap: 8px;
  overflow: hidden;
  border-block: 1px solid #34463b;
  background: #08110d;
  color: var(--green);
  text-align: center;
  isolation: isolate;
}
.stage-event::before { content: attr(data-stage); position: absolute; top: 50%; left: 50%; z-index: -1; transform: translate(-50%, -50%); color: rgba(145, 255, 159, .045); font: 700 155px/.7 var(--sora); letter-spacing: -.08em; }
.stage-event::after { content: ''; position: absolute; left: 50%; bottom: -56px; width: 260px; height: 90px; transform: translateX(-50%) scale(.25); border-radius: 50%; background: radial-gradient(ellipse, rgba(238, 234, 220, .8), rgba(166, 180, 170, .3) 38%, transparent 72%); filter: blur(13px); opacity: 0; }
.stage-event > b { position: relative; z-index: 4; font: 22px var(--tele); letter-spacing: .2em; }
.stage-event > small { position: relative; z-index: 4; color: #708279; font: 15px var(--tele); letter-spacing: .14em; }
.stage-event > i { position: absolute; z-index: 2; top: 50%; right: 0; left: 0; height: 1px; transform: scaleX(.15); background: linear-gradient(90deg, #41554a, var(--green), #41554a); transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
.stage-shell { position: absolute; z-index: 3; top: 50%; width: 28%; height: 68px; margin-top: -34px; border-block: 1px solid #405349; background: linear-gradient(#111d17, #0b1510); transition: transform .9s cubic-bezier(.22, .7, .1, 1), opacity .75s; }
.stage-shell::before { content: ''; position: absolute; inset: 10px; border: 1px dashed #374a3f; }
.stage-shell--left { left: 0; border-right: 5px solid var(--orange); }
.stage-shell--right { right: 0; border-left: 5px solid var(--orange); }
.bolt { position: absolute; z-index: 5; top: calc(50% - 10px); width: 20px; height: 20px; border: 4px solid var(--paper); border-radius: 50%; transition: transform .95s cubic-bezier(.15, .85, .2, 1), opacity .7s; }
.bolt::after { content: ''; position: absolute; inset: 4px; background: var(--orange); border-radius: 50%; }
.bolt--a { left: 25%; }
.bolt--b { right: 25%; }
.stage-igniter { position: absolute; z-index: 1; bottom: -34px; left: calc(50% - 18px); width: 36px; height: 60px; border-radius: 50%; background: radial-gradient(ellipse at top, #fff, var(--peach) 28%, var(--orange) 50%, transparent 72%); filter: blur(2px); opacity: 0; }
.stage-event.fired > i { transform: scaleX(1); }
.stage-event.fired .stage-shell--left { transform: translate(-35%, 28px) rotate(-4deg); opacity: .24; }
.stage-event.fired .stage-shell--right { transform: translate(35%, 28px) rotate(4deg); opacity: .24; }
.stage-event.fired .bolt--a { transform: translate(-42vw, 48px) rotate(720deg); opacity: 0; }
.stage-event.fired .bolt--b { transform: translate(42vw, 48px) rotate(-720deg); opacity: 0; }
.stage-event.fired::after { animation: smoke-bloom 1.1s both ease-out; }
.stage-event.fired .stage-igniter { animation: stage-ignite .8s .32s both ease-out; }
.stage-event--deploy { color: var(--peach); background: #160f0a; border-color: #5c3927; }
.stage-event--deploy::before { color: rgba(255, 177, 127, .06); }
.stage-event--deploy > i { background: linear-gradient(90deg, #593829, var(--peach), #593829); }
.stage-event--deploy .stage-igniter { display: none; }
@keyframes smoke-bloom { 0% { opacity: 0; transform: translateX(-50%) scale(.25); } 30% { opacity: .75; } 100% { opacity: 0; transform: translateX(-50%) translateY(-65px) scale(2.8); } }
@keyframes stage-ignite { 0% { opacity: 0; transform: scaleY(.2); } 35% { opacity: 1; } 100% { opacity: 0; transform: translateY(45px) scaleY(2); } }
.smoke-puff { position: absolute; z-index: 6; left: 50%; top: 58%; width: 18px; height: 18px; border-radius: 50%; background: #c5c9c1; filter: blur(5px); animation: puff 1.1s both ease-out; }
@keyframes puff { to { opacity: 0; transform: translate(var(--puff-x), var(--puff-y)) scale(3.5); } }
.stage-event.fired + .section-pad { animation: stage-light 1.15s ease-out; }
@keyframes stage-light { 0% { box-shadow: inset 0 55px 100px rgba(145, 255, 159, .36); } 100% { box-shadow: inset 0 0 0 transparent; } }

/* Shared sections */
.section-pad { padding: clamp(94px, 9vw, 140px) clamp(24px, 7vw, 110px); }
.section-index { position: absolute; z-index: 3; top: 72px; left: clamp(24px, 3.5vw, 55px); display: grid; color: #405248; }
.flight .section-index { color: #84998c; }
.section-index b { font-size: 56px; line-height: .8; }
.section-index span { margin: 15px auto 0; font-size: 17px; writing-mode: vertical-rl; }
.mission h2, .flight h2, .flutter h2, .recovery h2 { position: relative; margin: 38px 0; font-size: clamp(58px, 8.4vw, 128px); line-height: .84; letter-spacing: -.075em; }

/* Mission */
.mission { min-height: 980px; overflow: hidden; background: linear-gradient(128deg, #d5d2c4 0, #b7b5a9 66%, #a8aa9f 100%); }
.mission::before, .flutter::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 219px, rgba(7, 16, 12, .05) 220px 222px); }
.mission::after { content: 'BAY 4 / WITNESS MARKS'; position: absolute; right: 5vw; top: 46%; color: rgba(7, 16, 12, .13); font: 700 clamp(60px, 11vw, 170px)/.8 var(--sora); letter-spacing: -.08em; writing-mode: vertical-rl; }
.mission__heading { position: relative; z-index: 2; margin-left: 9vw; }
.mission__manifest { position: relative; z-index: 3; max-width: 720px; margin: 62px 0 0 33%; display: grid; grid-template-columns: 1.1fr 1fr; gap: 54px; }
.mission__manifest > p { font-size: 18px; line-height: 1.75; }
.mission dl { margin: 0; }
.mission dl div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line-dark); }
dt { font: 18px var(--tele); text-transform: uppercase; }
dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.crew-card { position: absolute; z-index: 4; top: 56%; left: 3.5vw; width: 300px; padding: 37px 28px 25px; transform: rotate(-2.5deg); background: #17211c; color: var(--paper); box-shadow: 15px 18px 0 rgba(7, 16, 12, .16); }
.crew-card::before { content: ''; position: absolute; top: -10px; left: calc(50% - 38px); width: 76px; height: 24px; border-radius: 4px 4px 0 0; background: #545f58; box-shadow: inset 0 -7px 0 #353f39; }
.crew-card .tape { position: absolute; top: 12px; right: -22px; padding: 7px 24px; transform: rotate(4deg); background: var(--orange); color: var(--ink); font: 18px var(--tele); }
.crew-card h3 { margin: 13px 0 22px; font-size: 23px; }
.crew-card ul { margin: 0; padding: 0; list-style: none; }
.crew-card li { padding: 9px 0; border-top: 1px solid #435048; color: #b9c4bc; font: 18px var(--tele); }
.crew-card li b { display: block; color: var(--green); }
.scribble { margin: 20px 0 0; transform: rotate(-2deg); color: var(--peach); font: 21px var(--tele); }
.range-board { position: absolute; z-index: 3; right: 6.5vw; bottom: 70px; width: min(480px, 40vw); border: 1px solid #5a685f; background: rgba(229, 225, 211, .45); }
.range-board > span { display: block; padding: 10px 15px; border-bottom: 1px solid #6d796f; color: #405047; }
.range-board ul { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; }
.range-board li { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 9px 14px; border-right: 1px solid #788179; border-bottom: 1px solid #788179; font-size: 17px; }
.range-board li:nth-child(even) { border-right: 0; }
.range-board li:nth-last-child(-n+2) { border-bottom: 0; }
.range-board i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-deep); box-shadow: 0 0 8px rgba(57, 201, 106, .6); }

/* Flight */
.flight { min-height: 1120px; overflow: hidden; background: radial-gradient(circle at 82% 40%, rgba(65, 105, 78, .16), transparent 27%), var(--ink); color: var(--paper); }
.flight::after { content: 'ASCENT'; position: absolute; top: 42%; right: -1vw; transform: rotate(90deg); color: rgba(145, 255, 159, .035); font: 700 15vw/.7 var(--sora); letter-spacing: -.06em; }
.flight__intro { position: relative; z-index: 2; max-width: 940px; margin-left: 9vw; }
.flight__intro > p:last-child { max-width: 580px; color: #b3bdb6; font-size: 18px; line-height: 1.65; }
.plot { position: relative; z-index: 3; max-width: 1120px; margin: 80px 0 0 12vw; border: 1px solid #466052; background: #050b08; box-shadow: 0 0 90px rgba(57, 201, 106, .08), 18px 22px 0 #0c1711; }
.plot__top { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid #33473b; color: #94a69a; font-size: 19px; }
.plot__top i { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); }
.plot svg { width: 100%; height: auto; display: block; }
.plot svg text { fill: #708679; font: 18px var(--tele); }
.trace { fill: none; stroke-linecap: round; }
.trace--alt { stroke: var(--green); stroke-width: 5; filter: drop-shadow(0 0 7px var(--green)); stroke-dasharray: 1; stroke-dashoffset: 1; }
.trace--vel { stroke: var(--orange); stroke-width: 3; stroke-dasharray: 8 10; opacity: .85; }
.plot #playhead { stroke: var(--paper); stroke-width: 1; opacity: .48; }
.plot #plot-dot { fill: var(--green); filter: drop-shadow(0 0 9px var(--green)); }
.plot__numbers { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #33473b; }
.plot__numbers div { padding: 18px 24px; border-right: 1px solid #33473b; }
.plot__numbers div:last-child { border: 0; }
.plot__numbers span, .plot__numbers small { display: block; color: #829188; font-size: 17px; }
.plot__numbers b { color: var(--green); font-size: 54px; font-weight: 400; line-height: 1; }
.plot__phases { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #33473b; color: #788a7e; font-size: 16px; }
.plot__phases span { padding: 10px 15px; border-right: 1px solid #33473b; }
.plot__phases span:last-child { border: 0; }

/* Motors */
.motors { min-height: 1160px; overflow: hidden; background: linear-gradient(120deg, var(--paper), #d7d3c6); }
.motors::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 18% 36%, rgba(91, 82, 60, .09), transparent 22%), radial-gradient(ellipse at 76% 72%, rgba(255, 98, 56, .055), transparent 26%), repeating-linear-gradient(90deg, transparent 0 229px, rgba(7, 16, 12, .045) 230px 232px); mix-blend-mode: multiply; pointer-events: none; }
.motors::after { content: '128×'; position: absolute; right: -2vw; top: 9%; color: rgba(7, 16, 12, .05); font: 800 24vw/.7 var(--sora); letter-spacing: -.1em; }
.motors__head { position: relative; z-index: 2; margin-left: 9vw; display: grid; grid-template-columns: 1.15fr .5fr; align-items: end; column-gap: 65px; }
.motors__head .eyebrow { grid-column: 1 / -1; }
.motors h2 { margin: 32px 0 0; font-size: clamp(118px, 19vw, 285px); line-height: .7; letter-spacing: -.11em; }
.motors h2 span { display: inline-block; margin-inline: .08em .12em; transform: translateY(-.25em); color: var(--orange); font: 33px var(--tele); letter-spacing: .08em; }
.motors__head > p:last-child { max-width: 420px; margin-bottom: 0; font-size: 17px; line-height: 1.7; }
.motor-ladder { position: relative; z-index: 2; max-width: min(900px, 63vw); margin: 96px 0 0 9vw; border-top: 1px solid var(--line-dark); }
.ladder-row { min-height: 63px; display: grid; grid-template-columns: 72px 1fr 70px; align-items: center; border-bottom: 1px solid var(--line-dark); font-variant-numeric: tabular-nums; }
.ladder-row b { font: 49px var(--tele); }
.ladder-row span { position: relative; z-index: 0; height: 100%; display: flex; align-items: center; padding-left: 18px; font: 20px var(--tele); }
.ladder-row span::before { content: ''; position: absolute; z-index: -1; inset: 8px auto 8px 0; width: 0; background: #aeb7ad; transition: width .85s cubic-bezier(.2, .8, .2, 1); }
.motors.is-live .ladder-row span::before { width: calc(var(--w) * 10.8%); }
.ladder-row:nth-child(2) span::before { transition-delay: .05s; }
.ladder-row:nth-child(3) span::before { transition-delay: .1s; }
.ladder-row:nth-child(4) span::before { transition-delay: .15s; }
.ladder-row:nth-child(5) span::before { transition-delay: .2s; }
.ladder-row:nth-child(6) span::before { transition-delay: .25s; }
.ladder-row:nth-child(7) span::before { transition-delay: .3s; }
.ladder-row:nth-child(8) span::before { transition-delay: .35s; }
.ladder-row i { text-align: right; font: 20px var(--tele); font-style: normal; }
.ladder-row.active b { color: var(--orange); }
.ladder-row.active span::before { background: var(--orange); box-shadow: inset 6px 0 0 #d94826; }
.ladder-caption { position: relative; z-index: 2; max-width: min(900px, 63vw); display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 12px; margin: 18px 0 0 9vw; color: #55645b; font-size: 16px; }
.ladder-caption > span { color: var(--orange); }
.ladder-caption i { height: 2px; background: linear-gradient(90deg, #68766d, var(--orange)); }
.ladder-caption b { font-weight: 400; }
.motor-note { position: absolute; z-index: 4; right: 4.5vw; bottom: 8.5%; width: 310px; padding: 29px; transform: rotate(2.5deg); background: var(--ink); color: var(--paper); box-shadow: 12px 14px 0 var(--orange); }
.motor-note b, .motor-note span { display: block; }
.motor-note b { color: var(--green); font: 31px var(--tele); }
.motor-note span { margin: 5px 0 22px; color: var(--peach); font: 16px var(--tele); }
.motor-note p { margin: 0; font: 17px/1.6 var(--tele); }

/* Airframe */
.flutter { min-height: 960px; overflow: hidden; background: linear-gradient(135deg, #cccabd, #b6b6aa); }
.flutter__copy { position: relative; z-index: 2; width: 44%; margin-left: 9vw; }
.flutter__copy > p:not(.eyebrow, .fineprint) { max-width: 580px; font-size: 18px; line-height: 1.7; }
.equation { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 17px; margin: 36px 0 18px; padding: 34px 22px 21px; background: var(--ink); color: var(--paper); font-family: var(--tele); font-size: clamp(20px, 2vw, 29px); }
.equation small { position: absolute; top: 9px; left: 22px; color: #75877b; font-size: 14px; letter-spacing: .12em; }
.equation b { color: var(--green); font-weight: 400; }
.equation i { padding-left: 14px; border-left: 1px solid #52675a; color: var(--peach); font-style: normal; }
.fineprint { color: #46574d; font: 17px/1.45 var(--tele); }
.fin-rig { position: absolute; z-index: 3; top: 20%; right: 4vw; width: 40%; height: 510px; overflow: hidden; border: 8px solid #303b34; background: #111c16; box-shadow: 20px 24px 0 rgba(7, 16, 12, .17); }
.tube { position: absolute; top: -10%; left: 45%; width: 100px; height: 120%; background: linear-gradient(90deg, #646d67, #cfcdc0 48%, #4c5750); }
.fin { position: absolute; top: 24%; left: 20%; width: 62%; height: 48%; transform-origin: 47% 50%; background: linear-gradient(135deg, #ff7146, #c53e20); clip-path: polygon(40% 0, 100% 80%, 45% 65%, 0 100%, 20% 0); animation: flutter 1.9s ease-in-out infinite; }
.wind-lines { position: absolute; inset: 0; }
.wind-lines i { position: absolute; left: -30%; width: 65%; height: 2px; background: linear-gradient(90deg, transparent, var(--green)); animation: wind 1.2s linear infinite; }
.wind-lines i:nth-child(1) { top: 14%; }
.wind-lines i:nth-child(2) { top: 31%; animation-delay: -.4s; }
.wind-lines i:nth-child(3) { top: 48%; animation-delay: -.7s; }
.wind-lines i:nth-child(4) { top: 66%; animation-delay: -.2s; }
.wind-lines i:nth-child(5) { top: 84%; animation-delay: -.9s; }
.fin-rig span { position: absolute; color: var(--green); font: 20px var(--tele); }
.load--1 { top: 8%; right: 3%; }
.load--2 { bottom: 4%; left: 4%; }
.fin-rig > b { position: absolute; right: 4%; bottom: 4%; color: var(--paper); font: 16px var(--tele); writing-mode: vertical-rl; }
@keyframes wind { to { transform: translateX(205%); } }
@keyframes flutter { 50% { transform: skewY(1.5deg) scaleX(.99); } }
.material-strip { position: absolute; z-index: 4; inset: auto 0 0; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; background: var(--orange); }
.material-strip div { padding: 23px clamp(20px, 4vw, 60px); border-right: 1px solid #b73e22; }
.material-strip dt { font-size: 17px; }
.material-strip dd { margin-top: 6px; font-size: 20px; }

/* Recovery */
.recovery { min-height: 1160px; overflow: hidden; background: linear-gradient(#b8ddd3 0, #9ec7bb 48%, #d0b985 100%); }
.recovery::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 72% 24%, rgba(255, 255, 226, .6), transparent 9%), repeating-linear-gradient(90deg, transparent 0 149px, rgba(7, 16, 12, .035) 150px 151px); }
.recovery::after { content: ''; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(165deg, transparent 0 34%, #354033 35% 39%, #5b684a 40% 49%, #29342a 50%); opacity: .8; }
.canopy-scene { position: absolute; z-index: 2; top: 11%; left: 6vw; width: 42%; height: 720px; transform-origin: 50% 0; animation: sway 5.2s ease-in-out infinite; }
.canopy { position: absolute; top: 0; left: 8%; width: 84%; height: 205px; border-radius: 50% 50% 8% 8% / 85% 85% 15% 15%; background: repeating-linear-gradient(90deg, var(--orange) 0 12%, var(--paper) 12% 24%); clip-path: polygon(50% 0, 75% 8%, 92% 28%, 100% 64%, 88% 88%, 65% 100%, 50% 90%, 35% 100%, 12% 88%, 0 64%, 8% 28%, 25% 8%); filter: drop-shadow(0 25px 18px rgba(25, 40, 32, .23)); }
.canopy::after { content: 'DROGUE / 1.2 M'; position: absolute; inset: 45% auto auto 50%; transform: translate(-50%, -50%); color: #6b2b1b; font: 20px var(--tele); letter-spacing: .1em; }
.shrouds { position: absolute; top: 178px; left: 22%; width: 56%; height: 335px; background: linear-gradient(74deg, transparent 49.5%, #28382e 50%, transparent 50.5%), linear-gradient(106deg, transparent 49.5%, #28382e 50%, transparent 50.5%); clip-path: polygon(0 0, 100% 0, 58% 100%, 42% 100%); }
.capsule { position: absolute; top: 500px; left: calc(50% - 26px); width: 52px; height: 145px; display: grid; place-items: center; background: var(--ink); color: var(--green); font: 22px var(--tele); writing-mode: vertical-rl; clip-path: polygon(20% 0, 80% 0, 100% 16%, 100% 100%, 0 100%, 0 16%); }
@keyframes sway { 50% { transform: rotate(3deg) translateX(16px); } }
.recovery__copy { position: relative; z-index: 3; max-width: 730px; margin-left: 49%; }
.recovery__copy p:last-child { max-width: 550px; font-size: 18px; line-height: 1.7; }
.deployment-console { position: relative; z-index: 5; width: min(540px, 48%); display: grid; grid-template-columns: 1fr auto; gap: 13px 18px; margin: 34px 0 0 49%; padding: 18px; border: 1px solid #385145; border-left: 6px solid var(--orange); background: linear-gradient(112deg, rgba(4, 12, 8, .97), rgba(17, 34, 24, .94)); color: var(--paper); box-shadow: 12px 14px 0 rgba(7, 16, 12, .16), inset 0 0 50px rgba(145, 255, 159, .035); transition: border-color .3s, box-shadow .3s; }
.deployment-console::before { content: 'SAFE'; position: absolute; top: 11px; right: 15px; color: #73877a; font: 15px var(--tele); letter-spacing: .12em; }
.deployment-console__readout { grid-column: 1 / -1; padding-right: 50px; }
.deployment-console__readout span, .deployment-console__readout b { display: block; }
.deployment-console__readout span { color: #809288; font-size: 16px; }
.deployment-console__readout b { min-height: 26px; margin-top: 3px; color: var(--green); font-size: 21px; font-weight: 400; letter-spacing: .07em; }
.deployment-console__meter { grid-column: 1 / -1; height: 7px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
.deployment-console__meter i { background: #33463b; transform-origin: left; transition: background-color .2s, box-shadow .2s; }
.deployment-console__meter i:nth-child(-n+4) { background: #5ea36f; }
.deploy-test { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 16px; border: 1px solid var(--green); background: transparent; color: var(--green); cursor: pointer; font: 18px var(--tele); letter-spacing: .08em; transition: color .2s, background-color .2s, transform .2s, box-shadow .2s; }
.deploy-test i { font-size: 24px; font-style: normal; transition: transform .32s cubic-bezier(.16, 1, .3, 1); }
.deploy-test:hover, .deploy-test:focus-visible { background: var(--green); color: var(--ink); box-shadow: 0 0 24px rgba(145, 255, 159, .24); }
.deploy-test:hover i, .deploy-test:focus-visible i { transform: translate(4px, -4px); }
.deploy-test:active { transform: translateY(2px); }
.deploy-test[aria-disabled="true"] { cursor: wait; border-color: var(--peach); background: var(--peach); color: var(--ink); }
.deployment-console > small { align-self: center; max-width: 150px; color: #8ca096; font-size: 14px; line-height: 1.15; letter-spacing: .07em; }
.recovery.is-tested .deployment-console { border-color: var(--green); box-shadow: 12px 14px 0 rgba(7, 16, 12, .16), inset 0 0 55px rgba(145, 255, 159, .1), 0 0 28px rgba(145, 255, 159, .12); }
.recovery.is-testing .deployment-console__meter i { animation: meter-load .62s var(--meter-delay, 0ms) both steps(2); }
.deployment-console__meter i:nth-child(2) { --meter-delay: 80ms; }
.deployment-console__meter i:nth-child(3) { --meter-delay: 160ms; }
.deployment-console__meter i:nth-child(4) { --meter-delay: 240ms; }
.deployment-console__meter i:nth-child(5) { --meter-delay: 320ms; }
.deployment-console__meter i:nth-child(6) { --meter-delay: 400ms; }
.canopy-scene::after { content: ''; position: absolute; top: 70px; left: 50%; width: 30px; height: 30px; border: 2px solid rgba(255, 255, 226, .9); border-radius: 50%; transform: translate(-50%, -50%) scale(.2); opacity: 0; }
.recovery.is-testing .canopy { animation: canopy-replay 1.65s both cubic-bezier(.16, .8, .24, 1); }
.recovery.is-testing .shrouds { animation: shroud-replay 1.65s both cubic-bezier(.16, .8, .24, 1); }
.recovery.is-testing .capsule { animation: capsule-tug 1.65s both cubic-bezier(.16, .8, .24, 1); }
.recovery.is-testing .canopy-scene::after { animation: pressure-wave 1.2s .43s both ease-out; }
@keyframes meter-load { 0%, 25% { background: #33463b; box-shadow: none; } 26%, 100% { background: var(--green); box-shadow: 0 0 9px var(--green); } }
@keyframes canopy-replay { 0%, 100% { transform: scale(1); } 19% { transform: translateY(96px) scale(.12, .78); filter: drop-shadow(0 8px 8px rgba(25, 40, 32, .18)); } 46% { transform: translateY(20px) scale(1.09, .9); } 63% { transform: translateY(-9px) scale(.96, 1.07); } 78% { transform: scale(1.02, .98); } }
@keyframes shroud-replay { 0%, 100% { transform: scale(1); opacity: 1; } 20% { transform: scale(.18, .7); opacity: .35; } 49% { transform: scale(1.05, 1.02); opacity: 1; } }
@keyframes capsule-tug { 0%, 100% { transform: translateY(0); } 21% { transform: translateY(-56px); } 48% { transform: translateY(22px); } 68% { transform: translateY(-7px); } }
@keyframes pressure-wave { 0% { opacity: .8; transform: translate(-50%, -50%) scale(.2); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(14); } }
.field-notes { position: relative; z-index: 4; margin: 72px 0 0 29%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.field-notes article { position: relative; min-height: 238px; padding: 25px; border-top: 7px solid var(--paper); background: rgba(238, 234, 220, .94); box-shadow: 7px 8px 0 rgba(7, 16, 12, .18); transform: rotate(-1deg); }
.field-notes article::before { content: ''; position: absolute; top: -7px; left: 0; width: 38%; height: 7px; background: var(--orange); }
.field-notes article:nth-child(2) { transform: rotate(1.3deg) translateY(20px); }
.field-notes span, .field-notes b { color: #526159; font: 17px var(--tele); }
.field-notes h3 { margin: 19px 0 11px; font-size: 20px; }
.field-notes p { font: 17px/1.5 var(--tele); }
.drift-tape { position: absolute; z-index: 4; right: 7vw; bottom: 55px; width: 52%; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 10px; color: #cdd5ca; font-size: 17px; }
.drift-tape i { height: 1px; background: #aebcae; }
.drift-tape b { color: var(--green); font-weight: 400; }

/* Range litany */
.litany { min-height: 850px; overflow: hidden; padding: 115px 7vw 100px; background: radial-gradient(circle at 15% 25%, rgba(145, 255, 159, .12), transparent 18%), var(--ink); color: var(--paper); }
.litany::before { content: 'GO / NO‑GO'; position: absolute; right: -2vw; bottom: 2%; color: rgba(145, 255, 159, .035); font: 800 12vw/.8 var(--sora); letter-spacing: -.08em; }
.litany__signal { position: absolute; top: 115px; left: 7vw; width: 84px; height: 84px; display: grid; place-items: center; border: 1px solid #53675a; }
.litany__signal span { width: 34px; height: 34px; border-radius: 50%; background: #5e7064; box-shadow: none; transition: background-color .25s, box-shadow .25s; }
.litany.is-cleared .litany__signal span { background: var(--green); box-shadow: 0 0 35px var(--green); }
.litany__head { margin-left: 12%; display: grid; grid-template-columns: .65fr 1.35fr; align-items: start; gap: 6vw; }
.litany__head h2 { margin: 0; font-size: clamp(58px, 8vw, 112px); line-height: .82; letter-spacing: -.075em; }
.litany__calls { position: relative; z-index: 2; max-width: 1050px; margin: 80px 0 0 23%; border-top: 1px solid #4b5d52; }
.check-call { position: relative; min-height: 104px; display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; border-bottom: 1px solid #4b5d52; opacity: .5; transition: opacity .3s, transform .35s cubic-bezier(.2, .8, .2, 1), background-color .3s; }
.check-call h3, .check-call p { margin: 0; }
.check-call h3 { font-size: clamp(34px, 4vw, 58px); letter-spacing: -.055em; }
.check-call p { color: var(--green); font: clamp(28px, 3vw, 44px) var(--tele); }
.check-call > span { position: absolute; right: 10px; color: #66766d; font: 20px var(--tele); }
.check-call.is-confirmed { transform: translateX(12px); opacity: 1; background: linear-gradient(90deg, rgba(145, 255, 159, .08), transparent 65%); }
.range-check { position: relative; z-index: 3; min-width: 248px; min-height: 56px; display: flex; align-items: center; justify-content: space-between; margin: 42px 0 0 23%; padding: 0 17px 0 21px; border: 1px solid var(--green); background: transparent; color: var(--green); cursor: pointer; font: 19px var(--tele); letter-spacing: .09em; transition: color .2s, background-color .2s; }
.range-check:hover, .range-check:focus-visible { background: var(--green); color: var(--ink); box-shadow: 0 0 25px rgba(145, 255, 159, .18); }
.range-check i { font-size: 25px; font-style: normal; }
.litany > small { position: absolute; right: 7vw; bottom: 60px; color: #74857a; font-size: 17px; }

/* Footer */
footer { min-height: 220px; display: grid; grid-template-columns: 170px minmax(220px, 1fr) auto; align-items: center; gap: 20px 42px; padding: 55px 7vw; border-top: 1px solid #334039; background: #030805; color: #aab4ad; }
footer .footer-mark { color: var(--paper); font-size: 78px; font-weight: 800; letter-spacing: -.1em; }
.footer-mark span { color: var(--orange); }
footer p { margin: 0; font: 19px var(--tele); }
footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 15px 30px; font: 19px var(--tele); }
footer nav a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid #405048; transition: color .2s, border-color .2s; }
footer nav a:hover, footer nav a:focus-visible { color: var(--green); border-color: var(--green); }

@media (max-width: 1100px) {
  .flight-rail { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero__copy { align-self: center; transform: translateY(38px); }
  .hero h1 { font-size: clamp(78px, 17vw, 138px); }
  .hero__lede { max-width: 50%; }
  .rocket-wrap { right: -4vw; width: 50vw; opacity: .68; }
  .gantry { right: 19%; }
  .hero__sequence { display: none; }
  .mission__heading, .flight__intro, .flutter__copy { margin-left: 5vw; }
  .mission__manifest { margin-left: 28%; }
  .crew-card { left: 2vw; width: 255px; }
  .range-board { right: 4vw; width: 47vw; }
  .plot { margin-left: 5vw; }
  .motors__head { margin-left: 5vw; grid-template-columns: 1fr; }
  .motors__head > p:last-child { max-width: 520px; margin-top: 34px; }
  .motor-ladder, .ladder-caption { max-width: 92%; margin-left: 5vw; }
  .motor-note { position: relative; right: auto; bottom: auto; margin: 55px 0 0 auto; }
  .motors { min-height: 1330px; }
  .flutter { padding-bottom: 205px; }
  .flutter__copy { width: 91%; }
  .fin-rig { position: relative; top: auto; right: auto; width: 87%; margin: 62px 0 0 12%; }
  .recovery__copy { margin-left: 38%; }
  .deployment-console { width: 62%; margin-left: 38%; }
  .canopy-scene { left: -5vw; width: 48%; }
  .field-notes { margin-left: 6%; }
  .litany__head { margin-left: 14%; grid-template-columns: 1fr; gap: 35px; }
  .litany__calls, .range-check { margin-left: 18%; }
  footer { grid-template-columns: 130px 1fr; gap: 10px 30px; }
  footer .footer-mark { grid-row: 1 / 3; }
  footer nav { grid-column: 2; justify-content: flex-start; }
}

@media (max-width: 700px) {
  .site-header { height: 118px; padding: 0 20px 45px; }
  .brand b { font-size: 11px; }
  .header-status { margin-left: auto; font-size: 15px; }
  .site-header nav { position: absolute; right: 12px; bottom: 0; left: 12px; height: 44px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(238, 234, 220, .13); }
  .site-header nav a { min-width: 0; font-size: 15px; }
  .site-header nav a::after { bottom: 0; }
  .hero { min-height: 900px; padding: 155px 20px 68px; align-items: start; }
  .hero::after { opacity: .25; }
  .hero__readout { top: 132px; left: 20px; right: auto; font-size: 14px; }
  .hero__readout span:not(:first-child) { display: none; }
  .hero__copy { align-self: auto; transform: none; }
  .eyebrow { gap: 10px; font-size: 16px; line-height: 1.15; }
  .eyebrow::before { flex-basis: 30px; height: 3px; }
  .hero .eyebrow { max-width: 320px; }
  .hero h1 { max-width: 355px; margin: 46px 0 29px; font-size: clamp(70px, 21vw, 82px); line-height: .73; }
  .hero__lede { max-width: 76%; padding-left: 15px; font-size: 15.5px; line-height: 1.55; }
  .launch-link { width: 240px; justify-content: space-between; margin-top: 27px; }
  .rocket-wrap { top: 245px; right: -27vw; width: 67vw; height: 620px; transform: scale(.68); transform-origin: center right; opacity: .58; }
  .gantry { top: 29%; right: -7%; height: 55%; opacity: .44; }
  .hero__spec { right: 20px; bottom: 24px; gap: 3px 13px; font-size: 15px; }
  .vertical-note { display: none; }
  .stage-event { height: 126px; }
  .stage-event::before { font-size: 108px; }
  .stage-event > b { font-size: 17px; letter-spacing: .15em; }
  .stage-event > small { font-size: 13px; }
  .stage-shell { width: 18%; }
  .bolt--a { left: 14%; }
  .bolt--b { right: 14%; }
  .section-pad { padding: 88px 20px; }
  .section-index { position: relative; top: auto; left: auto; display: flex; align-items: center; gap: 12px; margin-bottom: 35px; }
  .section-index b { font-size: 38px; }
  .section-index span { margin: 0; font-size: 16px; writing-mode: horizontal-tb; }
  .mission h2, .flight h2, .flutter h2, .recovery h2 { margin: 28px 0; font-size: clamp(46px, 13vw, 52px); line-height: .85; letter-spacing: -.07em; }
  .mission { min-height: 1430px; }
  .mission__heading, .flight__intro, .flutter__copy { margin-left: 0; }
  .mission::after { display: none; }
  .mission__manifest { display: block; margin: 44px 0 0; }
  .mission__manifest > p { font-size: 16px; line-height: 1.65; }
  .mission dl { margin-top: 28px; }
  .crew-card { top: auto; bottom: 290px; left: 28px; width: calc(100% - 56px); }
  .range-board { right: 20px; bottom: 62px; width: calc(100% - 40px); }
  .range-board ul { grid-template-columns: 1fr; }
  .range-board li, .range-board li:nth-child(even), .range-board li:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #788179; }
  .range-board li:last-child { border-bottom: 0; }
  .flight { min-height: 910px; }
  .flight__intro > p:last-child { font-size: 16px; }
  .plot { margin: 54px 0 0; box-shadow: 9px 12px 0 #0c1711; }
  .plot__top { height: 46px; padding: 0 12px; font-size: 16px; }
  .plot__top span:nth-child(3) { display: none; }
  .plot__numbers { grid-template-columns: 1fr 1fr; }
  .plot__numbers div { padding: 13px; }
  .plot__numbers div:last-child { display: none; }
  .plot__numbers b { font-size: 40px; }
  .plot__phases { grid-template-columns: 1fr 1fr; font-size: 13px; }
  .plot__phases span:nth-child(2) { border-right: 0; }
  .plot__phases span:nth-child(-n+2) { border-bottom: 1px solid #33473b; }
  .motors { min-height: 1420px; }
  .motors__head { display: block; margin: 0; }
  .motors h2 { margin: 36px 0 25px; font-size: 108px; }
  .motors h2 span { font-size: 25px; }
  .motors__head > p:last-child { margin-top: 0; font-size: 16px; }
  .motor-ladder { max-width: 100%; margin: 55px 0 0; }
  .ladder-row { min-height: 59px; grid-template-columns: 44px 1fr 42px; }
  .ladder-row b { font-size: 38px; }
  .ladder-row span { padding-left: 8px; font-size: 15px; }
  .ladder-row i { font-size: 16px; }
  .ladder-caption { max-width: 100%; grid-template-columns: 1fr auto auto; margin: 15px 0 0; font-size: 14px; }
  .ladder-caption > span { grid-column: 1 / -1; }
  .ladder-caption > i { display: none; }
  .motor-note { width: calc(100% - 14px); margin-top: 54px; }
  .flutter { padding-bottom: 222px; }
  .flutter__copy { width: 100%; }
  .flutter__copy > p:not(.eyebrow, .fineprint) { font-size: 16px; }
  .equation { grid-template-columns: 1fr; gap: 6px; margin-top: 32px; padding-top: 34px; }
  .equation i { margin-top: 8px; padding: 8px 0 0; border-top: 1px solid #52675a; border-left: 0; }
  .fin-rig { width: 100%; height: 350px; margin: 42px 0 0; border-width: 5px; }
  .material-strip { grid-template-columns: 1fr 1fr; }
  .material-strip div { padding: 14px 18px; }
  .material-strip dt { font-size: 15px; }
  .material-strip dd { font-size: 16px; }
  .recovery { min-height: 1740px; }
  .recovery__copy { margin: 0; }
  .recovery__copy p:last-child { font-size: 16px; }
  .deployment-console { width: 100%; grid-template-columns: 1fr; margin: 30px 0 0; padding: 16px; }
  .deployment-console > small { max-width: none; }
  .deploy-test { width: 100%; }
  .canopy-scene { top: 560px; left: 10%; width: 80%; height: 600px; transform: scale(.78); transform-origin: top center; }
  .canopy-scene { animation-name: sway-mobile; }
  .field-notes { display: block; margin: 690px 0 0; }
  .field-notes article, .field-notes article:nth-child(2) { min-height: 0; margin-bottom: 14px; transform: rotate(-1deg); }
  .drift-tape { right: 20px; bottom: 34px; width: calc(100% - 40px); font-size: 14px; }
  .litany { min-height: 900px; padding: 90px 20px 110px; }
  .litany__signal { position: relative; top: auto; left: auto; width: 66px; height: 66px; margin-bottom: 38px; }
  .litany__head { margin: 0; gap: 28px; }
  .litany__head h2 { font-size: 54px; }
  .litany__calls { margin: 56px 0 0; }
  .check-call { min-height: 94px; grid-template-columns: 1fr; align-content: center; gap: 4px; }
  .check-call h3 { font-size: 36px; }
  .check-call p { font-size: 27px; }
  .range-check { width: 100%; margin: 34px 0 0; }
  .litany > small { right: 20px; bottom: 40px; left: 20px; text-align: center; font-size: 15px; }
  footer { min-height: 0; grid-template-columns: 1fr; gap: 15px; padding: 46px 20px; }
  footer .footer-mark { grid-row: auto; font-size: 64px; }
  footer nav { grid-column: auto; display: grid; justify-content: stretch; gap: 0; }
}

@keyframes sway-mobile { 0%, 100% { transform: scale(.78) rotate(-1deg); } 50% { transform: scale(.78) rotate(2deg) translateX(10px); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .countdown { display: none; }
  .rocket, .rocket__flame, .header-status span, .wind-lines i, .fin, .canopy-scene, .countdown__lamp { animation: none; }
  .is-ready .site-header, .is-ready .hero__copy, .is-ready .rocket-wrap, .is-ready .hero__readout, .is-ready .hero__sequence, .is-ready .hero__spec { animation: none; }
  .stage-event > i, .stage-event::after, .stage-shell, .bolt, .stage-igniter, .check-call, .ladder-row span::before { transition: none; animation: none; }
  .stage-event .bolt { opacity: 0; }
  .stage-event.fired::after, .stage-event.fired .stage-igniter { display: none; }
  .stage-event.fired + .section-pad { animation: none; }
  .ladder-row span::before { width: calc(var(--w) * 10.8%); }
  .recovery.is-testing .canopy, .recovery.is-testing .shrouds, .recovery.is-testing .capsule, .recovery.is-testing .canopy-scene::after, .recovery.is-testing .deployment-console__meter i { animation: none; }
}
