:root{
/* PRIMARY face — client direction: SF Compact carries display, every heading level,
   nav, uppercase tracked labels and numerals. Full family available (300–700 + Black). */
--font-primary:"SF Compact","SF Pro Text","Helvetica Neue",Arial,sans-serif;
/* Text face — BODY content only: body copy, lead paragraphs, small text. */
--font-text:"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
--font-numeral:var(--font-primary);
--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

/* Weights. Full families are declared (see tokens/fonts.css) — 400 is a true Regular. */
--fw-light:300; /* @kind font */    /* lead paragraphs only, ≥22px */
--fw-regular:400; /* @kind font */  /* body copy — the default text weight */
--fw-medium:500; /* @kind font */   /* nav, chips, field labels */
--fw-semibold:600; /* @kind font */ /* every heading level, sub-heads, labels, emphasis */
--fw-bold:700; /* @kind font */     /* reserve — strong emphasis at display sizes */
--fw-heavy:800; /* @kind font */    /* reserve — very large numerals (SF Compact Black) */

/* Type scale — v3 (référence Bordier) : titres GRANDS en Regular 400,
   la hiérarchie vient de la taille, jamais du poids. v2 (client direction): wider contrast between the display/heading tier
   and the text tier, and a lifted floor — body 18px, small 16px, nothing below 12px. */
--fs-display:76px;
--fs-h1:56px;
--fs-h2:40px;
--fs-h3:24px;
--fs-lead:22px;
--fs-body:18px;
--fs-small:16px;
--fs-label:13px;
--fs-micro:12px;

/* Line heights — tightened across the board (client direction); lists tighter still. */
--lh-tight:1.04; /* @kind font */
--lh-heading:1.12; /* @kind font */
--lh-lead:1.45; /* @kind font */
--lh-body:1.55; /* @kind font */
--lh-list:1.35; /* @kind font */
--lh-loose:1.6; /* @kind font */

--ls-display:-0.03em; /* @kind font */
--ls-heading:-0.02em; /* @kind font */
--ls-lead:-0.005em; /* @kind font */
--ls-body:0; /* @kind font */
--ls-label:0.08em; /* @kind font */
--ls-eyebrow:0.04em; /* @kind font */

/* Composite roles.
   All headings and labels run on the primary compact face;
   only body-type content (lead, body, small) stays on SF Pro Text. */
--type-display:var(--fw-regular) var(--fs-display)/var(--lh-tight) var(--font-primary);
--type-h1:var(--fw-regular) var(--fs-h1)/var(--lh-heading) var(--font-primary);
--type-h2:var(--fw-regular) var(--fs-h2)/var(--lh-heading) var(--font-primary);
--type-h3:var(--fw-medium) var(--fs-h3)/var(--lh-heading) var(--font-primary);
--type-lead:var(--fw-light) var(--fs-lead)/var(--lh-lead) var(--font-text);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-text);
--type-body-strong:var(--fw-semibold) var(--fs-body)/var(--lh-body) var(--font-text);
--type-small:var(--fw-regular) var(--fs-small)/var(--lh-body) var(--font-text);
--type-label:var(--fw-semibold) var(--fs-label)/1.4 var(--font-primary);
}
