:root{
  --ink:#1F3044;--ink-deep:#162333;--kraft:#C79A62;--kraft-deep:#7E5A2C;
  --paper:#F6F1E6;--stamp:#B93A26;--line:rgba(31,48,68,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Libre Franklin',system-ui,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper)}
::selection{background:var(--kraft);color:var(--ink-deep)}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
:focus-visible{outline:3px solid var(--stamp);outline-offset:2px}

/* header */
header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2px solid var(--ink)}
.nav{display:flex;align-items:center;gap:32px;height:68px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand svg{width:34px;height:34px;flex:none}
.brand-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.35rem;letter-spacing:.03em;line-height:1}
.brand-name small{display:block;font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:.55rem;letter-spacing:.32em;color:var(--kraft-deep);margin-top:2px}
.nav-links{display:flex;gap:26px;margin-left:auto}
.nav-links a{text-decoration:none;font-size:.85rem;font-weight:600;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover{border-bottom-color:var(--kraft)}
.btn{display:inline-block;text-decoration:none;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:.85em 1.6em;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--stamp);border-color:var(--stamp);color:var(--paper)}
.nav .btn{padding:.6em 1.2em}
@media (max-width:920px){.nav-links{display:none}}

/* stamp */
.stamp{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);border:2px solid var(--stamp);border-radius:4px;padding:.3em .8em;transform:rotate(-1.5deg)}

/* article layout */
.article{max-width:720px;margin:0 auto;padding:64px 24px 40px}
.article .crumb{margin-bottom:22px}
.article .crumb a{color:var(--kraft-deep);text-decoration:none}
.article .crumb a:hover{text-decoration:underline}
h1{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;line-height:.95;font-size:clamp(2.6rem,5.5vw,4rem);margin:18px 0 16px}
.standfirst{font-size:1.12rem;color:var(--ink);max-width:56ch}
.meta-line{margin-top:16px;color:var(--kraft-deep)}
.article h2{font-family:'Big Shoulders Display',sans-serif;font-weight:700;text-transform:uppercase;line-height:1;font-size:1.7rem;margin:44px 0 14px}
.article p{margin:0 0 16px}
.article ul,.article ol{margin:0 0 16px 22px}
.article li{margin-bottom:8px}
.article strong{font-weight:600}

/* rule-of-thumb callout */
.callout{background:var(--kraft);border:2px solid var(--ink);padding:20px 22px;margin:28px 0}
.callout .mono{color:var(--ink-deep);display:block;margin-bottom:6px}
.callout p{color:var(--ink-deep);margin:0}

/* spec table */
table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.95rem}
th{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;background:var(--ink);color:var(--paper);padding:10px 12px}
td{border:2px solid var(--ink);padding:10px 12px;background:#fffdf7}

/* end CTA */
.cta-panel{border:2px solid var(--ink);background:#fffdf7;padding:30px 28px;margin:52px 0 0;text-align:left}
.cta-panel h2{margin-top:0 !important}
.cta-panel p{max-width:52ch}
.cta-panel .btn{margin-top:10px}

/* hub grid */
.hub-head{max-width:60ch;padding:64px 0 44px}
.hub-head h1{margin-top:18px}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:80px}
.hub-card{border:2px solid var(--ink);background:#fffdf7;padding:26px 26px 30px;position:relative;text-decoration:none;display:block;transition:transform .12s}
.hub-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.hub-card::before{content:attr(data-tab);position:absolute;top:-14px;left:18px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:var(--kraft);color:var(--ink-deep);padding:3px 10px;border:2px solid var(--ink)}
.hub-card h2{font-family:'Big Shoulders Display',sans-serif;font-weight:700;text-transform:uppercase;line-height:1;font-size:1.5rem;margin:10px 0 10px}
.hub-card p{font-size:.93rem;margin-bottom:12px}
.hub-card .mono{color:var(--stamp)}
@media (max-width:760px){.hub-grid{grid-template-columns:1fr}}

/* footer */
footer{background:var(--ink-deep);color:var(--paper);padding:32px 0;border-top:2px solid var(--ink);margin-top:72px}
.foot-base{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.foot-base .mono{opacity:.9;text-transform:none;letter-spacing:.04em}
.foot-base a{color:var(--paper)}
