/* Specifications page: same tokens, header and type system as the homepage. */
:root{--paper:#faf9f5;--ink:#252724;--muted:#6b6b64;--line:#d8d7cf;--orange:#b65b36;--gutter:clamp(24px,5vw,88px);--mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
body{font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased;background:var(--paper)}
header{position:sticky;top:0;z-index:5;height:84px;padding:0 var(--gutter);gap:28px;background:#eeece7;border-bottom:1px solid var(--line)}
.logo{font-size:34px;letter-spacing:-2px}.logo span{font-size:8px;letter-spacing:1.3px;margin-left:18px;font-family:var(--mono)}
nav{gap:clamp(16px,2vw,30px);align-items:center;font-size:12px}
nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -1px var(--orange)}
.navcta{padding:11px 17px;font-size:11px}
a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.eyebrow{font:11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}

/* Intro: warm band, edge to edge. */
.spec-page{padding:0}
.spec-intro{max-width:none;padding:clamp(56px,6vw,96px) var(--gutter) clamp(48px,5vw,80px);background:#eeece7;border-bottom:1px solid var(--line)}
.spec-intro h1{margin:22px 0 26px;font-size:clamp(48px,6vw,88px);font-weight:500;line-height:.92;letter-spacing:-.048em}
.spec-intro p{max-width:620px;margin:0 0 28px;font-size:15px;color:#61635e}
.spec-intro .textlink{font-size:12px}

/* Contents rail with current-section marker. */
.spec-layout{grid-template-columns:240px minmax(0,1fr);gap:clamp(48px,6vw,96px);padding:clamp(56px,6vw,88px) var(--gutter) 40px}
.spec-layout aside{top:116px;gap:0;font-size:13px}
.spec-layout aside .eyebrow{margin-bottom:14px}
.spec-layout aside a{position:relative;padding:13px 0 13px 16px;color:var(--muted);transition:color .3s ease}
.spec-layout aside a::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--line);transition:background .3s ease}
.spec-layout aside a:hover,.spec-layout aside a.is-active{color:var(--ink)}
.spec-layout aside a.is-active::before{background:var(--orange)}

/* Tables: parameter, value, qualification read as three clear levels. */
.spec-category{padding-bottom:88px;scroll-margin-top:116px}
.spec-category h2{margin:18px 0 32px;font-size:clamp(30px,2.8vw,42px);font-weight:500;line-height:1.02;letter-spacing:-.034em}
.spec-category table{font-size:14px}
.spec-category th,.spec-category td{padding:17px 20px 17px 0}
.spec-category thead th{font:11px/1.4 var(--mono);letter-spacing:.08em;color:var(--muted);border-bottom-color:#bdb9ae}
.spec-category tbody th{width:30%;color:var(--ink)}
.spec-category tbody td:nth-child(2){width:28%;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.spec-category td:last-child{color:#61635e;line-height:1.55}
.spec-category tbody tr{transition:background .2s ease}
.spec-category tbody tr:hover{background:#f2f0ea}
.spec-category p{font-size:15px;color:#61635e}
footer p,footer span{font-family:var(--mono)}

/* Aboard wordmark (assets/aboard-wordmark.svg, inlined; fill follows text colour). */
.logo{display:inline-flex;align-items:center;gap:0;line-height:1;color:var(--ink)}
.logo .wordmark{display:block;height:22px;width:auto}
header .logo span{margin-left:18px;padding-left:18px;border-left:1px solid var(--line);line-height:22px}
footer .logo .wordmark{height:26px}

/* aboard | ARK lockup (brand/ark/aboard-ark-lockup.svg, inlined). viewBox = cap 9g + 1T, so height 24.4px gives a 20px ARK cap. */
.logo .lockup{display:block;height:24.4px;width:auto;color:var(--ink)}
footer .logo .lockup{height:29.3px}

/* Display type: Sora (geometric, monoline, flat terminals) to match the ARK wordmark. Body stays DM Sans, labels DM Mono. */
:root{--display:'Sora','DM Sans',sans-serif}
h1,h2,h3,.core-statement,.core-num,.statement p,.env-strip dd,.part h3,.milestones strong,.dim-label b,.systems strong,.interface-table p{font-family:var(--display)}
h1{letter-spacing:-.045em}h2{letter-spacing:-.03em}h3{letter-spacing:-.015em}
.hero h1{letter-spacing:-.045em}
.core-statement,.statement p{letter-spacing:-.03em}
.core-num{letter-spacing:-.04em;font-weight:500}
.envelope .env-strip dd{font-weight:500;letter-spacing:-.015em}
@media(max-width:800px){.navcta{white-space:nowrap;padding:10px 14px}.logo .lockup{height:20px}header{gap:12px}}
@media(max-width:800px){
.spec-layout{display:block;padding:36px var(--gutter) 24px}
.spec-layout aside{position:static;margin-bottom:28px}
.spec-layout aside a{padding:11px 0 11px 16px}
.spec-category{padding-bottom:56px;scroll-margin-top:96px}
.spec-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.spec-category table{min-width:560px}
.spec-category tbody td:nth-child(2){white-space:normal}
.spec-intro h1{font-size:clamp(38px,11vw,52px)}}
