:root{
/* Families — Montserrat is the logo face: display headlines only, never body copy. */
--font-display:"Montserrat","Helvetica Neue",Arial,sans-serif;
--font-sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
--font-body:var(--font-sans);
--font-label:var(--font-mono);

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

/* Type scale (1.25 major-third-ish, 16px base) */
--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;
--text-lg:20px;--text-xl:24px;--text-2xl:30px;--text-3xl:38px;--text-4xl:48px;
--text-5xl:60px;--text-6xl:76px;--text-7xl:96px;

/* Line heights */
--leading-tight:1.05;--leading-snug:1.18;--leading-normal:1.5;--leading-relaxed:1.65;

/* Tracking — Montserrat display is set tight; mono labels are set wide. */
--tracking-display:-0.02em;--tracking-heading:-0.01em;--tracking-normal:0;
--tracking-label:0.08em;--tracking-eyebrow:0.14em;

/* Semantic roles */
--type-display-family:var(--font-display);
--type-display-weight:var(--weight-bold);
--type-heading-family:var(--font-sans);
--type-heading-weight:var(--weight-semibold);
--type-body-family:var(--font-sans);
--type-body-size:var(--text-md);
--type-body-leading:var(--leading-relaxed);
--type-eyebrow-family:var(--font-mono);
--type-eyebrow-size:var(--text-xs);
--type-eyebrow-tracking:var(--tracking-eyebrow);
}
