/* Typography
   Display: League Spartan — matches the logo's heavy geometric caps.
   Accent: Instrument Serif italic — one emotive word per headline.
   Body: DM Sans. Data/eyebrows: DM Mono. */
:root{
--font-display:'League Spartan','Helvetica Neue',Arial,sans-serif;
--font-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
--font-body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
--font-mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;

/* Size scale (px, web 1440 artboard) */
--size-display-2xl:144px;--size-display-xl:104px;--size-display-lg:76px;--size-display-md:56px;
--size-h1:44px;--size-h2:34px;--size-h3:26px;--size-h4:20px;
--size-body-lg:19px;--size-body:16px;--size-sm:14px;--size-xs:12px;--size-eyebrow:12px;

--leading-display:.88;--leading-tight:1.05;--leading-snug:1.25;--leading-body:1.6;
--tracking-display:-.02em;--tracking-caps:.01em;--tracking-eyebrow:.18em;--tracking-body:0;

/* Semantic roles */
--text-display:var(--weight-bold) var(--size-display-lg)/var(--leading-display) var(--font-display);
--text-h1:var(--weight-bold) var(--size-h1)/var(--leading-tight) var(--font-display);
--text-h2:var(--weight-bold) var(--size-h2)/var(--leading-tight) var(--font-display);
--text-h3:var(--weight-semibold) var(--size-h3)/var(--leading-snug) var(--font-display);
--text-h4:var(--weight-semibold) var(--size-h4)/var(--leading-snug) var(--font-display);
--text-lead:var(--weight-regular) var(--size-body-lg)/var(--leading-body) var(--font-body);
--text-body-font:var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-body);
--text-small:var(--weight-regular) var(--size-sm)/1.5 var(--font-body);
--text-caption:var(--weight-regular) var(--size-xs)/1.4 var(--font-body);
--text-eyebrow:var(--weight-medium) var(--size-eyebrow)/1 var(--font-mono);
--text-accent:var(--weight-regular) 1em/1 var(--font-serif);
}
