:root{
--font-sans:"Helvetica Neue DS","Helvetica Neue",Helvetica,"Inter",-apple-system,"Segoe UI",sans-serif;
--font-display:var(--font-sans);
--font-mono:"SFMono-Regular",Menlo,Consolas,monospace;

/* Weights — the whole identity lives between 300 and 900 */
--weight-ultralight:100;
--weight-thin:200;
--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-bold:700;
--weight-heavy:800;
--weight-black:900;

/* Size scale (px, 1.25-ish ratio, hand-tuned) */
--size-2xs:11px;
--size-xs:12px;
--size-sm:14px;
--size-base:16px;
--size-md:18px;
--size-lg:21px;
--size-xl:26px;
--size-2xl:32px;
--size-3xl:42px;
--size-4xl:56px;
--size-5xl:76px;
--size-6xl:104px;
--size-7xl:144px;

/* Line heights */
--leading-none:1;
--leading-tight:1.06;
--leading-snug:1.2;
--leading-normal:1.45;
--leading-relaxed:1.6;

/* Tracking — display type tightens, small caps labels open up */
--tracking-tighter:-0.035em;
--tracking-tight:-0.02em;
--tracking-normal:0;
--tracking-wide:0.06em;
--tracking-widest:0.16em;

/* Semantic roles */
--text-display:var(--weight-black) var(--size-6xl)/var(--leading-tight) var(--font-display);
--text-h1:var(--weight-black) var(--size-4xl)/var(--leading-tight) var(--font-display);
--text-h2:var(--weight-bold) var(--size-3xl)/var(--leading-snug) var(--font-display);
--text-h3:var(--weight-bold) var(--size-2xl)/var(--leading-snug) var(--font-display);
--text-h4:var(--weight-medium) var(--size-xl)/var(--leading-snug) var(--font-sans);
--text-lead:var(--weight-light) var(--size-lg)/var(--leading-relaxed) var(--font-sans);
--text-body:var(--weight-regular) var(--size-base)/var(--leading-relaxed) var(--font-sans);
--text-body-sm:var(--weight-regular) var(--size-sm)/var(--leading-normal) var(--font-sans);
--text-label:var(--weight-bold) var(--size-xs)/var(--leading-normal) var(--font-sans);
--text-eyebrow:var(--weight-bold) var(--size-2xs)/var(--leading-normal) var(--font-sans);
}
