:root{
/* families */
--font-core:"Jost","Futura","Century Gothic",system-ui,sans-serif;   /* wordmark + UI + body */
--font-display:"Cormorant Garamond","Times New Roman",serif;         /* editorial headlines */
--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace; /* specs, refs, numerals */

/* weights */
--weight-thin:200;
--weight-light:300;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;

/* size scale — 1.25 ratio, tuned */
--text-2xs:11px;
--text-xs:12px;
--text-sm:13px;
--text-base:15px;
--text-md:17px;
--text-lg:20px;
--text-xl:24px;
--text-2xl:32px;
--text-3xl:44px;
--text-4xl:60px;
--text-5xl:84px;
--text-6xl:112px;

/* line heights */
--leading-tight:1;
--leading-snug:1.12;
--leading-normal:1.5;
--leading-relaxed:1.68;

/* tracking — the brand lives on open letterspacing */
--tracking-display:-0.01em;
--tracking-normal:0;
--tracking-wide:.06em;
--tracking-wider:.14em;
--tracking-widest:.28em;   /* wordmark + eyebrow labels */

/* semantic roles */
--type-hero-family:var(--font-display);
--type-hero-size:var(--text-5xl);
--type-hero-weight:var(--weight-light);
--type-hero-leading:var(--leading-snug);
--type-hero-tracking:var(--tracking-display);

--type-display-family:var(--font-display);
--type-display-size:var(--text-4xl);

--type-title-family:var(--font-core);
--type-title-size:var(--text-xl);
--type-title-weight:var(--weight-light);
--type-title-tracking:var(--tracking-wide);

--type-eyebrow-family:var(--font-core);
--type-eyebrow-size:var(--text-2xs);
--type-eyebrow-weight:var(--weight-regular);
--type-eyebrow-tracking:var(--tracking-widest);

--type-body-family:var(--font-core);
--type-body-size:var(--text-base);
--type-body-weight:var(--weight-light);
--type-body-leading:var(--leading-relaxed);

--type-ui-family:var(--font-core);
--type-ui-size:var(--text-sm);
--type-ui-weight:var(--weight-medium);
--type-ui-tracking:var(--tracking-wide);

--type-spec-family:var(--font-mono);
--type-spec-size:var(--text-xs);
--type-spec-tracking:var(--tracking-wide);
}
