:root{
--font-display:"Fraunces","Iowan Old Style",Georgia,serif;
--font-sans:"Inter","Helvetica Neue",Arial,sans-serif;
--font-numeric:"Inter","Helvetica Neue",Arial,sans-serif;

--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;

/* scale, base 16px */
--text-display:4rem;      /* 64px hero, clamp in use */
--text-h1:2.5rem;         /* 40 */
--text-h2:1.75rem;        /* 28 */
--text-h3:1.25rem;        /* 20 */
--text-body-lg:1.1875rem; /* 19 */
--text-body:1.0625rem;    /* 17 */
--text-body-sm:0.9375rem; /* 15 */
--text-caption:0.8125rem; /* 13 */
--text-micro:0.6875rem;   /* 11 */
--text-stat:3rem;         /* 48 scorecard numeral */
--text-stat-sm:2rem;      /* 32 */

--leading-display:1.05;
--leading-heading:1.15;
--leading-body:1.6;
--leading-tight:1.3;

--tracking-display:-0.02em;
--tracking-heading:-0.01em;
--tracking-body:0em;
--tracking-label:0.1em;   /* small caps eyebrow, 0.08-0.12em */
--tracking-label-wide:0.14em;

--numeric-tabular:"tnum" 1,"lnum" 1; /* @kind font */
}

/* type roles */
.t-display{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:clamp(2.75rem,5.4vw,var(--text-display));line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.t-h1{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-h1);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.t-h2{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.t-h3{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-h3);line-height:var(--leading-tight)}
.t-body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body)}
.t-body-sm{font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--leading-body)}
.t-caption{font-family:var(--font-sans);font-size:var(--text-caption);line-height:var(--leading-tight);color:var(--text-muted)}
.t-label{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted)}
.t-num{font-family:var(--font-numeric);font-feature-settings:var(--numeric-tabular);font-variant-numeric:tabular-nums lining-nums}
.t-em{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-regular)}
