/* Two families, one role each, plus mono with a real job — dimensions, drawing
   numbers, schedules (TYPOGRAPHY.md §5). IBM Plex: Bold Monday for IBM, sans and
   mono cut to one skeleton, true italics, wght axis, OFL. Reason in readme.md.
   No opsz axis, so display carries -0.02em by hand (§4).

   Scale generated by the Utopia formula (§3.2), NOT typed:
     min vw 320  max vw 1440  min body 17  max body 19  min ratio 1.2  max ratio 1.3
   Every preferred value carries a rem term — a bare vw fails WCAG technique F94 (§3).
   Display tops out at 56px by intent: FINDINGS.md measures top-tier display size at a
   median of 49px against the field's 80px, and the ratio at 4.0 against 5.6. Reaching
   for 80px reaches PAST the ceiling. Six steps defined, three heading levels. */
:root{
--font-display:"IBM Plex Sans","Helvetica Neue",Helvetica,sans-serif;
--font-body:"IBM Plex Sans","Helvetica Neue",Helvetica,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;

/* The generated steps. */
--step-meta:clamp(0.885rem,0.877rem + 0.04vw,0.913rem); /* @kind other */
--step-0:clamp(1.063rem,1.027rem + 0.179vw,1.188rem); /* @kind other */
--step-1:clamp(1.275rem,1.198rem + 0.384vw,1.544rem); /* @kind other */
--step-2:clamp(1.53rem,1.394rem + 0.681vw,2.007rem); /* @kind other */
--step-3:clamp(1.836rem,1.615rem + 1.104vw,2.609rem); /* @kind other */
--step-4:clamp(2.203rem,1.864rem + 1.698vw,3.392rem); /* @kind other */
--step-display:clamp(2.125rem,1.732rem + 1.964vw,3.5rem); /* @kind other */

/* Role aliases — what components actually reference. */
--text-meta:var(--step-meta);
--text-body:var(--step-0);
--text-lead:var(--step-1);
--text-h3:var(--step-2);
--text-h2:var(--step-3);
--text-h1:var(--step-4);
--text-display:var(--step-display);

--leading-display:1.02;
--leading-h1:1.08;
--leading-h2:1.14;
--leading-h3:1.2;
--leading-lead:1.42;
--leading-body:1.55;
--leading-ui:1.3;

--track-display:-0.02em;
--track-tight:-0.01em;
--track-body:0em;
--track-caps:0.08em;

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

--measure-prose:34em;
--measure-narrow:24em;
--rhythm:1.5rem;
}
