/* The Thomas memo's actual faces — all open-licence on Google Fonts: Newsreader (display + body serif), Spline Sans (secondary sans), Spline Sans Mono (eyebrows/metadata). */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400..700&family=Spline+Sans:wght@400;500&family=Spline+Sans+Mono:wght@400;500&display=swap');
@font-face{font-family:Newsreader;src:url(assets/newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2");font-weight:200 800;font-display:swap} @font-face{font-family:"Spline Sans Mono";src:url(assets/spline-sans-mono-latin-400-normal-mUpA6Mve.woff2) format("woff2");font-weight:400;font-display:swap}


:root{
/* Base palette — the paper / ink / rust relationship is fixed */
--color-paper:#F7F2E9; /* warm cream ground — never pure white */
--color-paper-deep:#EFE7D8; /* panels, table headers */
--color-ink:#1B1713; /* near-black warm ink — text, rules */
--color-ink-soft:#4A443C; /* secondary text */
--color-rust:#B23A26; /* eyebrows, key numerals, banners, hairline emphasis ONLY. Never large fills, never body text. */
--color-sea:#16343A; /* deep sea tone — rare secondary: links, charts */
--hairline:rgba(27,23,19,0.22);
/* Semantic aliases */
--surface-page:var(--color-paper);
--surface-panel:var(--color-paper-deep);
--text-primary:var(--color-ink);
--text-secondary:var(--color-ink-soft);
--text-accent:var(--color-rust);
--text-link:var(--color-sea);
--border-hairline:var(--hairline);
--border-strong:var(--color-ink);
--banner-bg:rgba(178,58,38,0.06);
}

:root{
/* Type roles */
--font-display:"Newsreader","Georgia",serif; /* the Thomas memo's serif at display optical sizes: wordmark, headlines + large numerals */
--font-body:"Newsreader","Georgia",serif; /* same face at text sizes — quiet readable body */
--font-sans:"Spline Sans",system-ui,sans-serif; /* secondary sans — feature blurbs, UI captions; use sparingly */
--font-label:"Spline Sans Mono","Courier New",monospace; /* eyebrows, metadata, small caps via tracking */
/* Scale */
--text-hero:clamp(3rem,8vw,5.5rem);
--text-h2:clamp(1.6rem,3vw,2.2rem);
--text-stat:clamp(1.8rem,4vw,2.6rem);
--text-body:1.0625rem;
--text-label:0.6875rem;
--track-label:0.18em; /* letterspacing for eyebrow labels */
/* Details */
--leading-body:1.6;
--leading-display:1.02;
--track-display:-0.01em;
}

:root{
--space-page:clamp(1.25rem,5vw,4rem);
--measure:62ch;
--rule:1px solid var(--hairline);
--rule-strong:2px solid var(--color-ink);
--radius:0; /* documents have corners */
}

body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);margin:0}
a{color:var(--color-sea);text-underline-offset:3px}
a:hover{color:var(--color-rust)}
a:focus-visible{outline:2px solid var(--color-rust);outline-offset:2px}
