:root { color-scheme: light; }
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior:smooth; scroll-padding-top:5rem; background:#191c20; }
body { margin:0; }
img { display:block; max-width:100%; }
a { color:inherit; }
button,input { color:inherit; font:inherit; }
section,figure,article { scroll-margin-top:5rem; }
.skip-link { position:fixed; z-index:100; top:.75rem; left:.75rem; padding:.55rem .75rem; color:#ebe4d2; background:#191c20; font:700 .7rem "Courier New",monospace; text-decoration:none; transform:translateY(-200%); }
.skip-link:focus { transform:none; }

body.vertical-current-site {
  --paper:#ebe4d2; --plate:rgba(252,248,238,.8);
  --ink:#37301f; --soft:rgba(55,48,31,.68); --faint:rgba(55,48,31,.3); --hair:rgba(55,48,31,.42);
  --deep:#191c20; --cream:#ebe4d2;
  --cyan:#136b85; --live:#177f9b; --red:#a63527; --line:rgba(55,48,31,.3);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --display:"Arial Narrow","DIN Condensed","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  --body:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif; --mono:"Courier New",Courier,monospace;
  min-width:20rem; color:var(--ink); font-family:var(--body); line-height:1.62; overflow-x:clip;
  background-color:var(--paper);
  background-image:
    radial-gradient(ellipse 120% 30% at 40% 0%,rgba(255,251,238,.5),transparent 65%),
    linear-gradient(rgba(55,48,31,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(55,48,31,.075) 1px,transparent 1px),
    linear-gradient(rgba(55,48,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(55,48,31,.035) 1px,transparent 1px);
  background-size:auto,10rem 10rem,10rem 10rem,1.25rem 1.25rem,1.25rem 1.25rem;
}
.vertical-current-site ::selection { color:var(--cream); background:var(--ink); }
.vertical-current-site h1,.vertical-current-site h2,.vertical-current-site h3,.vertical-current-site h4 { margin-top:0; color:var(--ink); font-family:var(--display); font-weight:700; line-height:.93; letter-spacing:-.02em; }
.vertical-current-site p,.vertical-current-site figure,.vertical-current-site dl,.vertical-current-site ol,.vertical-current-site ul { margin-top:0; }
.vertical-current-site :focus-visible { outline:2px solid var(--red); outline-offset:4px; }

.site-header { position:fixed; z-index:80; top:0; left:0; display:flex; width:100%; min-height:4.55rem; align-items:center; justify-content:space-between; padding:.7rem max(3vw,1.1rem); color:var(--cream); background:rgba(25,28,32,.94); border-bottom:2px solid var(--ink); backdrop-filter:blur(12px); }
.wordmark { display:inline-grid; grid-template-columns:auto auto; align-items:center; gap:.65rem; text-decoration:none; }
.wordmark__gu { position:relative; display:grid; width:2.45rem; height:2.45rem; place-items:center; border:1px solid var(--cream); font:700 1rem var(--mono); }
.wordmark__gu::before { position:absolute; inset:-3px auto auto -3px; width:.45rem; height:.45rem; border-top:1px solid var(--red); border-left:1px solid var(--red); content:""; }
.wordmark__name { font:700 .58rem/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.site-nav { display:flex; gap:clamp(1rem,2vw,2.2rem); }
.site-nav a,.nav-toggle { color:var(--cream); font:700 .64rem var(--mono); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.site-nav a { padding:.35rem 0; border-bottom:1px solid transparent; }
.site-nav a:hover,.site-nav a[aria-current="location"] { border-color:var(--cyan); }
.nav-toggle { display:none; padding:.5rem 0; background:none; border:0; }

.assembly { position:relative; }
.assembly::before,.assembly::after { position:absolute; z-index:2; top:0; bottom:0; width:.6rem; content:""; opacity:.55; background-image:repeating-linear-gradient(var(--ink) 0 1px,transparent 1px 2rem); }
.assembly::before { left:.4rem; }
.assembly::after { right:.4rem; }
.assembly-current { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.assembly-current path { fill:none; }
.assembly-current__shadow { stroke:var(--hair); stroke-width:1; stroke-dasharray:16 4 3 4; }
.assembly-current__live { stroke:var(--live); stroke-width:1.5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:.9; filter:drop-shadow(0 0 3px rgba(23,127,155,.5)); }
.assembly > section { position:relative; width:min(96vw,94rem); margin-inline:auto; border-inline:1px solid var(--ink); padding-inline:clamp(1.2rem,4vw,4.5rem); }

.eyebrow,.draft-label { color:var(--soft); font:700 .67rem/1.45 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.draft-label { color:var(--red); }
.ink-link { display:inline-flex; gap:.65rem; color:var(--ink); font:700 .69rem var(--mono); letter-spacing:.08em; text-transform:uppercase; text-underline-offset:.35rem; }
.ink-link::after { color:var(--red); content:"→"; }

.js .reveal { opacity:0; transform:translateY(14px); transition:opacity .5s var(--ease-out), transform .5s var(--ease-out); }
.js .reveal.is-visible { opacity:1; transform:none; }
.hero { padding-top:clamp(5.6rem,8vw,7rem); padding-bottom:clamp(2rem,4vw,3rem); }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.hero__grid { display:grid; grid-template-columns:1fr; }
.hero-showcase { position:relative; margin:0; padding:0 1rem .4rem; border:1.5px solid var(--ink); background:var(--plate); box-shadow:.35rem .35rem 0 rgba(55,48,31,.12); }
.hero-showcase__head { display:flex; justify-content:space-between; gap:1rem; margin:0 -1rem .8rem; padding:.55rem 1rem .5rem; border-bottom:1px solid var(--ink); color:var(--soft); font:700 .56rem var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.hero-showcase__head span:last-child { color:var(--red); }
.hero-showcase::before,.hero-showcase::after { content:""; position:absolute; width:.9rem; height:.9rem; border:1.5px solid var(--ink); }
.hero-showcase::before { top:-2px; left:-2px; border-right:0; border-bottom:0; }
.hero-showcase::after { bottom:-2px; right:-2px; border-left:0; border-top:0; }
.hero-showcase__stage { position:relative; height:clamp(19rem,42vh,26rem); }
.hero-showcase__stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity .8s ease; }
.hero-showcase__stage img.is-active { opacity:1; }
.hero-showcase__caption { display:grid; gap:.5rem; padding:.7rem .2rem .5rem; border-top:.5px solid var(--hair); margin-top:.6rem; }
.hero-showcase__caption a { display:flex; flex-wrap:wrap; gap:.35rem .8rem; align-items:baseline; text-decoration:none; font:700 .62rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.hero-showcase__caption b { color:var(--ink); font-size:.78rem; }
.hero-showcase__caption span { color:var(--soft); font-weight:400; text-transform:none; letter-spacing:0; }
.hero-showcase__caption i { color:var(--red); font-style:normal; }
.hero-showcase__caption a:hover b { color:var(--cyan); }
.hero-showcase__dots { display:flex; gap:.45rem; }
.hero-showcase__dots button { width:.7rem; height:.7rem; padding:0; border:1px solid var(--ink); background:var(--paper); cursor:pointer; }
.hero-showcase__dots button.is-active { background:var(--cyan); border-color:var(--cyan); }
.hero__lockup { position:relative; display:inline-block; max-width:max-content; padding-left:clamp(2.4rem,4vw,3.4rem); }
.hero__lockup::before { position:absolute; left:0; top:.7rem; bottom:1rem; width:1.4rem; border:1px solid var(--red); border-right:0; content:""; }
.hero__lockup .gus-tag { position:absolute; left:-1.1rem; top:50%; transform:rotate(-90deg) translateX(50%); transform-origin:left; font:700 .72rem var(--mono); letter-spacing:.4em; color:var(--red); text-transform:uppercase; }
.hero h1 { margin:0; font-size:clamp(3.8rem,9.6vw,8.8rem); text-transform:uppercase; }
.hero h1 .init,.hero h1 .sys { color:var(--red); }
.hero h1 small { display:block; margin-top:.7rem; font-size:clamp(1rem,1.6vw,1.5rem); letter-spacing:.04em; color:var(--soft); font-family:var(--display); font-weight:700; }
.hero__thesis { max-width:44rem; margin:1.6rem 0 1.4rem; color:var(--soft); font-size:clamp(1.02rem,1.4vw,1.25rem); }
.hero__thesis b { color:var(--ink); }
.hero__actions { display:flex; flex-wrap:wrap; gap:1rem 2.4rem; align-items:baseline; }
.ink-link--quiet { color:var(--soft); }
.ink-link--quiet::after { color:var(--soft); }
.sheet-block { display:grid; grid-template-columns:repeat(8,minmax(max-content,1fr)); margin-top:clamp(2.2rem,4.5vw,3.4rem); border:2px solid var(--ink); background:var(--plate); box-shadow:.35rem .35rem 0 rgba(55,48,31,.12); }
.sheet-block > div { display:grid; align-content:start; gap:.18rem; padding:.6rem .95rem .55rem; border-right:1px solid var(--line); }
.sheet-block > div:last-child { border-right:0; }
.sheet-block b { color:var(--red); font:700 .5rem var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.sheet-block span { color:var(--ink); font:700 .74rem/1.3 var(--display); letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.plate-index { display:flex; flex-wrap:wrap; border:1px solid var(--hair); background:rgba(252,248,238,.5); }
.assembly > .plate-index { position:sticky; z-index:50; top:4.55rem; width:min(96vw,94rem); margin:0 auto; border-color:var(--ink); background:#ece5d3; box-shadow:0 .45rem .7rem -.5rem rgba(25,28,32,.35); }
.plate-index a[aria-current] { color:var(--cyan); background:rgba(23,127,155,.08); box-shadow:inset 0 -2px 0 var(--cyan); }
.plate-index a { display:inline-flex; gap:.5rem; align-items:baseline; padding:.55rem .85rem .5rem; border-right:1px solid var(--line); color:var(--ink); font:700 .56rem var(--mono); letter-spacing:.09em; text-transform:uppercase; text-decoration:none; transition:color .15s ease, background-color .15s ease, transform .16s var(--ease-out); }
.plate-index a:hover { color:var(--cyan); background:rgba(23,127,155,.06); }
.plate-index span { color:var(--red); }
.status-legend { display:flex; flex-wrap:wrap; margin:0; border:1.5px solid var(--ink); border-top:0; background:rgba(252,248,238,.5); }
.status-legend div { display:flex; gap:.45rem; align-items:baseline; padding:.45rem .85rem; border-right:1px solid var(--line); }
.status-legend div:last-child { border-right:0; }
.status-legend dt { color:var(--red); font:700 .5rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.status-legend dd { margin:0; color:var(--soft); font-size:.64rem; }
.skills-front { padding-bottom:3rem; }
.skills-front__fig { position:relative; margin:0 0 1.4rem; padding:clamp(1rem,2.4vw,2rem); background:var(--plate); border:1.5px solid var(--ink); }
.skills-front__fig img { width:min(100%,46rem); height:auto; margin-inline:auto; display:block; }
.skills-front__fig figcaption { margin-top:.4rem; color:var(--soft); font:700 .56rem var(--mono); letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.skills-front .skills-index { margin-bottom:1.4rem; box-shadow:none; }
.skills-front__meta { display:flex; flex-wrap:wrap; gap:1.2rem 2rem; align-items:center; }
.skills-front__meta .lineage { margin:0; }
.skills-front__meta .waitlist-link { margin-top:0; }

.systems { padding-top:2.75rem; padding-bottom:2.75rem; }
.compat-anchor { position:absolute; top:0; }
.systems__heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(15rem,.5fr); gap:clamp(1.5rem,6vw,7rem); align-items:end; margin:0 0 1rem; padding:1.4rem 0 1.2rem; border-bottom:1.5px solid var(--ink); }
.systems__heading h2 { max-width:19ch; margin:.5rem 0 0; font-size:clamp(2rem,3.6vw,3.9rem); text-transform:uppercase; }
.systems__heading > p { margin:0; color:var(--soft); font-size:.92rem; }

.station-stack { position:relative; counter-reset:plate; }
.system-station { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; margin:clamp(1.1rem,2vw,1.7rem) 0; padding:clamp(1.8rem,3.4vw,3rem) clamp(1.2rem,2.8vw,2.6rem); background:var(--plate); border:1.5px solid var(--ink); counter-increment:plate; }
.system-station::before,.system-station::after { content:""; position:absolute; width:1rem; height:1rem; border:1.5px solid var(--ink); }
.system-station::before { top:-2px; left:-2px; border-right:0; border-bottom:0; }
.system-station::after { bottom:-2px; right:-2px; border-left:0; border-top:0; }
.station-node { position:absolute; z-index:4; top:-1px; left:50%; display:grid; width:2rem; height:2rem; place-items:center; transform:translate(-50%,-50%); color:var(--ink); background:var(--paper); border:1.5px solid var(--ink); border-radius:50%; font:700 .58rem var(--mono); transition:color .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out); }
.system-station.is-active .station-node { color:#fff; background:var(--live); border-color:var(--live); box-shadow:0 0 0 .35rem rgba(23,127,155,.15); }
.machine-visual { position:relative; grid-column:2; grid-row:1; justify-self:center; width:min(100%,34rem); margin:0; }
.machine-visual img { width:100%; height:auto; }
.machine-visual figcaption { margin-top:.3rem; color:var(--soft); font:700 .56rem var(--mono); letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.system-station:nth-child(even) .machine-visual { grid-column:1; grid-row:1; }
.station-panel { position:relative; grid-column:1; grid-row:1; max-width:34rem; padding:0; border:0; background:none; box-shadow:none; }
.system-station:nth-child(even) .station-panel { grid-column:2; justify-self:end; }
.station-header { margin-bottom:1rem; padding-bottom:.7rem; border-bottom:1px solid var(--line); }
.station-header p { margin:0 0 .3rem; color:var(--red); font:700 .6rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.station-header h3 { margin:0; font-size:clamp(2.1rem,3.6vw,3.4rem); text-transform:uppercase; }
.onebreath { display:inline-block; margin:0 0 1rem; padding:.5rem .75rem; color:var(--cyan); background:rgba(23,127,155,.06); border:1px solid var(--cyan); font:700 .72rem/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.station-job { margin-bottom:1.1rem; color:var(--soft); font-size:clamp(.96rem,1.2vw,1.08rem); }
.station-facts { margin:0 0 1rem; border:1px solid var(--ink); background:var(--plate); }
.station-facts div { display:grid; grid-template-columns:6.4rem 1fr; gap:0; border-bottom:.5px solid var(--hair); }
.station-facts div:last-child { border-bottom:0; }
.station-facts dt { padding:.55rem .7rem; color:var(--red); background:rgba(166,53,39,.05); border-right:.5px solid var(--hair); font:700 .58rem var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.station-facts dd { margin:0; padding:.55rem .8rem; color:var(--soft); font-size:.85rem; }
.station-facts code { color:var(--ink); font-family:var(--mono); font-size:.72rem; }
.skill-list { margin:0 0 1rem; padding:0; list-style:none; font:700 .86rem/2.05 var(--mono); max-width:28rem; }
.skill-list li { display:flex; align-items:baseline; gap:.6rem; border-bottom:.5px solid var(--hair); }
.skill-list i { color:var(--red); font-style:normal; font-size:.7rem; min-width:2.1rem; }
.skill-list .ok { color:var(--cyan); font-weight:700; margin-left:auto; }
.skill-list .shop { color:var(--soft); font-weight:400; font-size:.74rem; margin-left:auto; }
.redact { display:inline-block; width:11rem; max-width:100%; height:.8em; vertical-align:middle; border:.5px solid var(--hair); background:repeating-linear-gradient(45deg,rgba(55,48,31,.28) 0 3px,transparent 3px 6px); }
.redact--short { width:6rem; }
.lineage { position:relative; margin:1rem 0; padding:.7rem .9rem; border:1px solid var(--ink); border-left:4px solid var(--red); background:var(--plate); color:var(--soft); font:.72rem/1.65 var(--mono); max-width:28rem; }
.lineage::before { content:""; position:absolute; top:-2px; right:-2px; width:.6rem; height:.6rem; border-right:1.5px solid var(--red); border-top:1.5px solid var(--red); }
.lineage b { color:var(--red); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; }
.parts-inspector { border:1px solid var(--ink); background:var(--plate); max-width:28rem; }
.parts-inspector summary { display:flex; justify-content:space-between; padding:.65rem .9rem; color:var(--ink); font:700 .62rem var(--mono); letter-spacing:.08em; list-style:none; text-transform:uppercase; cursor:pointer; }
.parts-inspector summary::-webkit-details-marker { display:none; }
.parts-inspector summary span { color:var(--red); }
.parts-inspector[open] summary { border-bottom:1px solid var(--line); }
.parts-inspector[open] summary span { transform:rotate(45deg); }
.parts-inspector > div { padding:.25rem .9rem; }
.parts-inspector p { display:grid; grid-template-columns:5.2rem 1fr; gap:.7rem; margin:0; padding:.5rem 0; color:var(--soft); font-size:.75rem; }
.parts-inspector p+p { border-top:1px dashed var(--line); }
.parts-inspector strong { color:var(--ink); font:700 .58rem var(--mono); text-transform:uppercase; }
.waitlist-link { display:inline-flex; gap:.6rem; margin-top:1.1rem; padding:.65rem .9rem; color:var(--paper); background:var(--ink); font:700 .62rem var(--mono); letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.waitlist-link::after { color:#e8a598; content:"→"; }
.waitlist-link + .tblock,.tblock + .waitlist-link { margin-left:0; }
.station-panel .waitlist-link { margin-right:.8rem; }
.tblock { margin-top:1.2rem; display:inline-grid; grid-template-columns:auto auto; border:1px solid var(--ink); background:var(--plate); font:700 .55rem/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.tblock span { padding:.28rem .7rem; border-top:.5px solid var(--hair); }
.tblock span:nth-child(odd) { color:var(--red); border-right:.5px solid var(--hair); }
.tblock span:nth-child(-n+2) { border-top:0; }

.masterplate { position:relative; padding:clamp(1.6rem,3vw,2.6rem) 0 clamp(2rem,3.4vw,3rem); }
.masterplate .system-map { width:100%; height:auto; border:1.5px solid var(--ink); background:rgba(252,248,238,.55); }
.masterplate__text { margin-top:0; }
.masterplate h3 { font-size:clamp(1.9rem,3.2vw,3.1rem); text-transform:uppercase; margin-bottom:.6rem; }
.masterplate .masterplate__text h3 { font-size:clamp(3.4rem,7.5vw,7rem); margin-bottom:.8rem; }
.masterplate .pos { color:var(--soft); font-size:1.02rem; max-width:46rem; margin-bottom:.8rem; }
.masterplate .pos b { color:var(--ink); }
.masterplate svg { width:100%; height:auto; overflow:visible; }
.masterplate svg text { font:700 8.5px "Courier New",monospace; fill:var(--soft); letter-spacing:.09em; text-transform:uppercase; }
.depths { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:0; border:1.5px solid var(--ink); border-top:0; background:var(--plate); }
.hero .masterplate { padding-bottom:.4rem; }
.depths div { padding:1.15rem 1.25rem 1.05rem; border-right:1px solid var(--line); }
.depths div:last-child { border-right:0; }
.depths b { display:block; color:var(--red); font:700 .95rem var(--mono); letter-spacing:.1em; text-transform:uppercase; margin-bottom:.35rem; }
.depths p { margin:0; color:var(--soft); font-size:.92rem; }

.fleet { padding-top:3rem; padding-bottom:4rem; border-top:1px solid var(--ink); }
.fleet__heading { display:grid; grid-template-columns:1fr minmax(15rem,.45fr); gap:3rem; align-items:end; margin:0 0 2rem; padding-bottom:1.2rem; border-bottom:1.5px solid var(--ink); }
.fleet__heading h2 { max-width:20ch; margin:.5rem 0 0; font-size:clamp(2rem,3.6vw,3.9rem); text-transform:uppercase; }
.fleet__heading > p { margin:0; color:var(--soft); font-size:.9rem; }
.skills-index { margin:0 0 1.6rem; border:1.5px solid var(--ink); border-top:0; background:var(--plate); }
.skills-index header { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-items:center; padding:.6rem 1rem; border-bottom:1.5px solid var(--ink); }
.skills-index h3 { margin:0; font-size:1.25rem; text-transform:uppercase; }
.skills-index header .waitlist-link { margin:0 0 0 auto; padding:.5rem .8rem; }
.skills-index ol { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:0; list-style:none; }
.skills-index li { display:flex; gap:.6rem; align-items:baseline; padding:.5rem 1rem; border-bottom:1px solid var(--line); border-right:1px solid var(--line); color:var(--ink); }
.skills-index li:nth-child(2n) { border-right:0; }
.skills-index span { color:var(--red); font:700 .6rem var(--mono); min-width:1.9rem; }
.skills-index b { font:700 .72rem var(--mono); }
.skills-index em { display:block; margin-top:.1rem; color:var(--soft); font-style:normal; font-size:.68rem; }
.skills-index i { margin-left:auto; font-style:normal; color:var(--soft); font:700 .56rem var(--mono); text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.skills-index li.pub i { color:var(--cyan); }
.skills-front__fig { margin-bottom:0; }
.fleet-phase { margin-bottom:1.5rem; }
.fleet-phase > header { display:flex; gap:1rem; align-items:baseline; padding:.5rem .2rem .4rem; }
.fleet-phase > header span { color:var(--red); font:700 .62rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.fleet-phase > header h3 { margin:0; font-size:clamp(1.6rem,2.6vw,2.2rem); text-transform:uppercase; }
.fleet-phase > header p { margin:0; color:var(--soft); font-size:.74rem; }
.fw-type { color:var(--ink); border:1px solid var(--hair); padding:.15rem .5rem; font:700 .52rem var(--mono); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; background:rgba(252,248,238,.7); }
.fleet-wall strong a { text-decoration:none; color:inherit; }
.fleet-wall strong a:hover { color:var(--cyan); }
.fleet-wall { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:0; list-style:none; border:1.5px solid var(--ink); background:var(--plate); box-shadow:.3rem .3rem 0 rgba(55,48,31,.1); }
.fleet-wall li { display:grid; grid-template-columns:3.2rem 1fr auto auto; gap:.9rem; align-items:center; padding:.6rem 1rem; border-bottom:1px solid var(--line); }
.fleet-wall li:nth-child(odd) { border-right:1px solid var(--line); }
.fleet-wall li:nth-last-child(-n+2) { border-bottom:0; }
.fw-thumb { display:grid; place-items:center; width:3.2rem; height:3.2rem; border:1px solid var(--hair); background:rgba(252,248,238,.65); }
.fw-thumb svg { width:2.2rem; height:2.2rem; }
.fleet-wall strong { display:block; color:var(--ink); font:700 1rem var(--display); text-transform:uppercase; letter-spacing:.02em; }
.fleet-wall p { margin:.12rem 0 0; color:var(--soft); font-size:.75rem; }
.fw-status { color:var(--red); font:700 .54rem/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; text-align:right; max-width:7.5rem; }
.colophon { margin-top:2.5rem; padding:1.4rem 0 0; border-top:1px solid var(--ink); }
.colophon h3 { font-size:1.2rem; text-transform:uppercase; color:var(--red); font-family:var(--mono); letter-spacing:.1em; font-weight:700; margin-bottom:.6rem; }
.colophon p { max-width:70rem; color:var(--soft); font:.8rem/1.85 var(--mono); column-count:2; column-gap:3rem; }

.contact { padding-top:3rem; padding-bottom:4.5rem; border-top:1px solid var(--ink); }
.contact__grid { display:grid; grid-template-columns:1.35fr .65fr; border:2px solid var(--ink); color:var(--cream); background:var(--deep); box-shadow:.4rem .4rem 0 rgba(55,48,31,.16); }
.contact__grid h2,.contact__grid h3 { color:var(--cream); }
.contact__copy,.proof-note { padding:clamp(1.5rem,4vw,3rem); }
.contact__copy h2 { max-width:16ch; margin:.5rem 0 1rem; font-size:clamp(2rem,3.6vw,3.9rem); text-transform:uppercase; }
.contact .eyebrow { color:rgba(235,228,210,.7); }
.contact__copy > p:not(.eyebrow),.proof-note > p:not(.eyebrow) { color:rgba(235,228,210,.72); }
.contact-link { display:inline-flex; gap:.7rem; margin-top:.7rem; padding:.8rem 1rem; color:var(--deep); background:var(--cream); font:700 .65rem var(--mono); text-decoration:none; text-transform:uppercase; }
.contact .ink-link { color:var(--cream); }
.proof-note { border-left:2px solid var(--red); }
.proof-note h3 { margin:.5rem 0 1rem; font-size:1.8rem; }
.site-footer { position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; margin:0; padding:2rem clamp(1.2rem,4vw,4rem) 2.6rem; color:rgba(235,228,210,.85); background:var(--deep); border-top:2px solid var(--ink); font:700 .58rem var(--mono); text-transform:uppercase; }
.site-footer .wordmark__gu { border-color:var(--cream); }
.site-footer p { margin:0; text-align:center; }
.site-footer nav { display:flex; gap:1rem; }

@media (max-width:880px) {
  .nav-toggle { display:block; }
  .site-nav { position:absolute; top:100%; right:0; left:0; display:none; grid-template-columns:1fr 1fr; gap:0; background:var(--deep); border-block:1px solid var(--ink); }
  .site-header.is-open .site-nav { display:grid; }
  .site-nav a { padding:1rem max(4vw,1rem); border-bottom:1px solid rgba(235,228,210,.2); }
  .assembly::before,.assembly::after { display:none; }
  .hero h1 { font-size:clamp(2.9rem,13vw,4.6rem); }
  .hero h1 small { display:block; margin-top:.5rem; font-size:1.1rem; }
  .hero__grid { grid-template-columns:1fr; }
  .hero-showcase__stage { height:16rem; }
  .sheet-block { grid-template-columns:repeat(4,1fr); }
  .sheet-block > div { border-bottom:1px solid var(--line); }
  .sheet-block > div:nth-child(4n) { border-right:0; }
  .sheet-block > div:nth-last-child(-n+4) { border-bottom:0; }
  .sheet-block span { white-space:normal; }
  .assembly > .plate-index { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .plate-index a { flex:0 0 auto; }
  .plate-index a i { display:none; }
  .systems__heading,.fleet__heading,.contact__grid,.masterplate__grid { grid-template-columns:1fr; }
  .system-station,.system-station:nth-child(even) { grid-template-columns:1fr; }
  .machine-visual,.system-station:nth-child(even) .machine-visual { grid-column:1; grid-row:2; width:min(100%,26rem); }
  .station-panel,.system-station:nth-child(even) .station-panel { grid-column:1; grid-row:1; justify-self:start; }
  .station-node { left:1.4rem; }
  .depths { grid-template-columns:1fr 1fr; }
  .depths div { border-bottom:1px solid var(--line); }
  .skills-index ol { grid-template-columns:1fr 1fr; }
  .skills-index li:nth-child(2n) { border-right:0; }
  .fleet-wall { grid-template-columns:1fr; }
  .fleet-wall li:nth-child(odd) { border-right:0; }
  .fleet-wall li:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
  .fleet-wall li:last-child { border-bottom:0; }
  .colophon p { column-count:1; }
  .proof-note { border-top:1px solid rgba(235,228,210,.3); border-left:0; }
}
@media (max-width:560px) {
  .wordmark__name { display:none; }
  .sheet-block { grid-template-columns:repeat(2,1fr); }
  .sheet-block > div { border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
  .sheet-block > div:nth-child(2n) { border-right:0; }
  .sheet-block > div:nth-last-child(-n+2) { border-bottom:0; }
  .hero__lockup { padding-left:1.9rem; }
  .hero__lockup .gus-tag { display:none; }
  .station-facts div,.parts-inspector p { grid-template-columns:1fr; gap:.2rem; }
  .station-facts dt { border-right:0; border-bottom:.5px solid var(--hair); }
  .fleet-wall li { grid-template-columns:3.2rem 1fr; }
  .fw-status { grid-column:2; text-align:left; max-width:none; }
  .fw-type { grid-column:2; justify-self:start; }
  .site-footer { grid-template-columns:1fr; justify-items:start; }
  .site-footer p { text-align:left; }
}

/* hero sheet — clickable stations */
.system-map a { cursor:pointer; outline:none; text-decoration:none; }
.system-map .hit { stroke:transparent; stroke-width:1.4; stroke-dasharray:6 4; transition:stroke .15s var(--ease-out); }
@media (hover:hover) and (pointer:fine) { .system-map a:hover .hit { stroke:var(--red); } }
.system-map a:focus-visible .hit { stroke:var(--red); }
.system-map a:active .hit { stroke:var(--red); stroke-dasharray:none; }

/* phase section headers */
.fleet-phase-head { display:flex; gap:1rem; align-items:baseline; padding:.5rem .2rem .4rem; }
.fleet-phase-head span { color:var(--red); font:700 .62rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.fleet-phase-head h3 { margin:0; font-size:clamp(1.6rem,2.6vw,2.2rem); text-transform:uppercase; }
.fleet-phase-head p { margin:0; color:var(--soft); font-size:.74rem; }

/* staggered index reveals — short 40ms cascade, decorative only */
.js .skills-index.reveal li, .js .fleet-phase.reveal .fleet-wall li { opacity:0; transform:translateY(8px); transition:opacity .45s var(--ease-out), transform .45s var(--ease-out); }
.js .skills-index.reveal.is-visible li, .js .fleet-phase.reveal.is-visible .fleet-wall li { opacity:1; transform:none; }
.js .skills-index.reveal.is-visible li:nth-child(2), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(2) { transition-delay:40ms; }
.js .skills-index.reveal.is-visible li:nth-child(3), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(3) { transition-delay:80ms; }
.js .skills-index.reveal.is-visible li:nth-child(4), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(4) { transition-delay:120ms; }
.js .skills-index.reveal.is-visible li:nth-child(5), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(5) { transition-delay:160ms; }
.js .skills-index.reveal.is-visible li:nth-child(6), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(6) { transition-delay:200ms; }
.js .skills-index.reveal.is-visible li:nth-child(7), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(7) { transition-delay:240ms; }
.js .skills-index.reveal.is-visible li:nth-child(n+8), .js .fleet-phase.reveal.is-visible .fleet-wall li:nth-child(n+8) { transition-delay:280ms; }

/* press feedback — the interface is listening */
.plate-index a:active { transform:scale(.96); }
.waitlist-link { transition:transform .16s var(--ease-out); }
.waitlist-link:active { transform:scale(.97); }


/* plate index — encyclopedia tabs */
.plate-index a svg { width:1.05rem; height:1.05rem; flex:0 0 auto; align-self:center; }
.plate-index a i { font-style:normal; }
@media (min-width:1240px) {
  .assembly > .plate-index { position:fixed; left:0; top:50%; transform:translate(-110%,-50%); opacity:0; pointer-events:none; flex-direction:column; width:auto; border:1.5px solid var(--ink); border-left:0; background:#ece5d3; z-index:60; transition:transform .4s var(--ease-out), opacity .3s var(--ease-out); }
  body.rail-visible .assembly > .plate-index { transform:translate(0,-50%); opacity:1; pointer-events:auto; }
  .assembly > .plate-index a { opacity:0; transform:translateX(-10px); transition:opacity .3s var(--ease-out), transform .3s var(--ease-out), color .15s ease, background-color .15s ease; }
  body.rail-visible .assembly > .plate-index a { opacity:1; transform:none; }
  body.rail-visible .assembly > .plate-index a:nth-child(2) { transition-delay:30ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(3) { transition-delay:60ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(4) { transition-delay:90ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(5) { transition-delay:120ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(6) { transition-delay:150ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(7) { transition-delay:180ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(8) { transition-delay:210ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(9) { transition-delay:240ms; }
  body.rail-visible .assembly > .plate-index a:nth-child(10) { transition-delay:270ms; }
  .assembly > .plate-index a[aria-current] { background:rgba(23,127,155,.12); box-shadow:inset -3px 0 0 var(--cyan); }
  .assembly > .plate-index a { flex-direction:column; align-items:center; gap:.3rem; padding:.55rem .5rem .5rem; border-right:0; border-bottom:1px solid var(--line); }
  .assembly > .plate-index a:last-child { border-bottom:0; }
  .assembly > .plate-index a svg { width:1.35rem; height:1.35rem; }
  .assembly > .plate-index a i { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
  .assembly > .plate-index a[aria-current] { box-shadow:inset -3px 0 0 var(--cyan); }
}


.fleet-wall--stack { grid-template-columns:1fr; }
.fleet-wall--stack li:nth-child(odd) { border-right:0; }
.fleet-wall--stack li:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
.fleet-wall--stack li:last-child { border-bottom:0; }


/* skills schedule — the legend, fused to the sheet foot */
.skills-schedule { border:1.5px solid var(--ink); border-top:0; background:rgba(252,248,238,.55); }
.skills-schedule header { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; align-items:baseline; padding:.75rem 1rem .6rem; border-bottom:1px solid var(--line); }
.skills-schedule .ss-eyebrow { color:var(--red); font:700 .58rem var(--mono); letter-spacing:.11em; text-transform:uppercase; }
.skills-schedule header p { margin:0; color:var(--soft); font-size:.72rem; flex:1 1 24rem; }
.skills-schedule header .waitlist-link { margin:0; padding:.45rem .7rem; }
.ss-body { display:grid; grid-template-columns:1fr minmax(20rem,27rem); }
.ss-left { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.ss-left .ss-grid { flex:1; align-content:start; }
.ss-plate { margin:0; padding:1.1rem 1.2rem; display:grid; gap:.5rem; align-content:center; justify-items:center; background:rgba(252,248,238,.5); }
.ss-plate img { width:100%; max-width:26rem; }
.ss-plate figcaption { color:var(--soft); font:700 .6rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
@media (max-width:880px) { .ss-body { grid-template-columns:1fr; } .ss-left { border-right:0; } .ss-plate { border-top:1px solid var(--line); } }
.ss-grid { display:flex; flex-wrap:wrap; gap:.35rem; margin:0; padding:.65rem .85rem .55rem; list-style:none; }
.ss-chip { display:inline-flex; gap:.4rem; align-items:baseline; padding:.42rem .6rem .36rem; border:1px solid var(--line); background:transparent; color:var(--ink); font:700 .68rem var(--mono); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:transform .16s var(--ease-out), border-color .15s ease, box-shadow .15s ease; }
.ss-chip span { color:var(--red); }
.ss-chip.pub { color:var(--cyan); border-color:rgba(23,127,155,.55); }
.ss-chip:active { transform:scale(.96); }
@media (hover:hover) and (pointer:fine) { .ss-chip:hover { border-color:var(--red); } }
.ss-chip:focus-visible { outline:2px solid var(--red); outline-offset:1px; }
.ss-chip[aria-pressed="true"] { border-color:var(--red); box-shadow:inset 0 -2px 0 var(--red); }
.ss-more { display:inline-flex; align-items:center; padding:.42rem .3rem; color:var(--soft); font:.6rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.ss-readout { margin:auto 0 0; padding:1rem 1.1rem 1.05rem; border-top:1px solid var(--line); color:var(--ink); font:.92rem var(--mono); line-height:1.5; min-height:3.4rem; background:rgba(252,248,238,.5); }
.ss-readout b { display:block; margin-bottom:.15rem; font-size:1.05rem; letter-spacing:.04em; text-transform:uppercase; }
.ss-readout b { color:var(--red); }


/* hero intro — the plain sentence; the sheet carries it on wide screens */
.hero__intro { max-width:44rem; padding:0 0 1.1rem; }
.hero__intro h1 { margin:0 0 .45rem; font-size:clamp(2.4rem,7.5vw,3.4rem); line-height:.95; text-transform:uppercase; }
.hero__intro p { margin:0; color:var(--soft); font-size:.95rem; }
@media (min-width:881px) { .hero__intro { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } }

/* mail fallback beside CTAs */
.mail-note { display:inline-block; margin:.5rem 0 0 .7rem; color:var(--soft); font:.62rem var(--mono); letter-spacing:.05em; }

/* footer document links */
.footer-docs { display:flex; gap:1.2rem; align-items:center; }
.footer-docs a { color:inherit; font:700 .6rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }

/* subpages — roadmap & release timing */
.wordmark__monogram { position:relative; display:grid; width:2.45rem; height:2.45rem; place-items:center; border:1px solid var(--cream); font:700 1rem var(--mono); }
.subpage { max-width:72rem; margin:0 auto; padding:7.5rem max(4vw,1.2rem) 4rem; color:var(--ink); }
.subpage-hero { max-width:46rem; margin-bottom:2.2rem; }
.subpage-hero h1 { margin:.3rem 0 .8rem; font-size:clamp(2.6rem,6vw,4.4rem); line-height:.95; text-transform:uppercase; }
.subpage-hero p { color:var(--soft); font-size:1rem; }
.subpage-index { display:grid; gap:1rem; }
.release-window { display:grid; grid-template-columns:11rem 1fr; gap:1.2rem; border:1.5px solid var(--ink); background:var(--plate); padding:1.15rem 1.25rem; }
.release-window__label { margin:0; color:var(--red); font:700 .62rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.release-window h2 { margin:0 0 .6rem; font-size:1.35rem; text-transform:uppercase; }
.release-window ul { margin:0; padding:0; list-style:none; }
.release-window li { padding:.4rem 0; border-bottom:1px solid var(--line); font-size:.87rem; color:var(--soft); }
.release-window li:last-child { border-bottom:0; }
.release-window li strong { display:inline-block; min-width:10.5rem; margin-right:.5rem; color:var(--red); font:700 .6rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.subpage-close { display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:2.2rem; }
.text-link { color:var(--ink); font:700 .68rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:700px) { .release-window { grid-template-columns:1fr; } }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .assembly > .plate-index { transition:none; }
  .assembly > .plate-index a { transition:none; opacity:1; transform:none; }
  .js .reveal, .js .skills-index.reveal li, .js .fleet-phase.reveal .fleet-wall li { opacity:1; transform:none; transition:none; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
  .assembly-current__live { stroke-dashoffset:0!important; }
}
