/* Type scale (DESIGN.md §2.2, v1 2026-11-05). Linked by the homepage and every case page.
   Text uses a .t-* class or the --t-* tokens only; a new size needs a new §2.2 row first.
   Sizes step at 640 / 768; the root clamp (T8) makes rem fluid, so no vw here (T7).
   Small + uppercase = mono; sentence case = Onest. Watermark and logo are component styles, not in this scale. */
:root{
  --font:"Onest", "Helvetica Neue", Arial, sans-serif;
  --font-mono:"Geist Mono", ui-monospace, Menlo, monospace;

  --t-display-size:3rem;   --t-display-w:700; --t-display-lh:1;    --t-display-ls:-.04em;
  --t-stat-size:3rem;      --t-stat-w:600;    --t-stat-lh:1;       --t-stat-ls:-.02em;
  --t-h1-size:2.25rem;     --t-h1-w:600;      --t-h1-lh:1;         --t-h1-ls:-.02em;
  --t-h2-size:2.25rem;     --t-h2-w:600;      --t-h2-lh:1;         --t-h2-ls:-.02em;
  --t-h3-size:1.875rem;    --t-h3-w:500;      --t-h3-lh:1.1;       --t-h3-ls:-.01em;
  --t-h4-size:1.5rem;      --t-h4-w:500;      --t-h4-lh:1.3;       --t-h4-ls:-.01em;
  --t-h5-size:1.5rem;      --t-h5-w:500;      --t-h5-lh:1.3;       --t-h5-ls:-.01em;
  --t-body-size:1rem;      --t-body-w:400;    --t-body-lh:1.5;     --t-body-ls:0;
  --t-body-sm-size:.875rem;--t-body-sm-w:400; --t-body-sm-lh:1.5;  --t-body-sm-ls:0;
  --t-label-size:.875rem;  --t-label-w:500;   --t-label-lh:1.25;   --t-label-ls:0;
  --t-caption-size:.75rem; --t-caption-w:400; --t-caption-lh:1.4;  --t-caption-ls:0;
  --t-mono-size:.75rem;    --t-mono-w:500;    --t-mono-lh:1.25;    --t-mono-ls:.025em;
}
@media (min-width:640px){:root{--t-stat-size:3.75rem;--t-display-size:3.75rem;--t-h1-size:3rem;--t-h2-size:3rem;--t-h4-size:1.875rem}}
@media (min-width:768px){:root{--t-stat-size:4.5rem;--t-display-size:4.5rem;--t-h1-size:3.75rem;--t-h3-size:2.25rem}}

.t-display{font-family:var(--font);font-size:var(--t-display-size);font-weight:var(--t-display-w);line-height:var(--t-display-lh);letter-spacing:var(--t-display-ls)}
.t-stat{font-family:var(--font-mono);font-size:var(--t-stat-size);font-weight:var(--t-stat-w);line-height:var(--t-stat-lh);letter-spacing:var(--t-stat-ls);font-variant-numeric:tabular-nums}
.t-h1{font-family:var(--font);font-size:var(--t-h1-size);font-weight:var(--t-h1-w);line-height:var(--t-h1-lh);letter-spacing:var(--t-h1-ls)}
.t-h2{font-family:var(--font);font-size:var(--t-h2-size);font-weight:var(--t-h2-w);line-height:var(--t-h2-lh);letter-spacing:var(--t-h2-ls)}
.t-h3{font-family:var(--font);font-size:var(--t-h3-size);font-weight:var(--t-h3-w);line-height:var(--t-h3-lh);letter-spacing:var(--t-h3-ls)}
.t-h4{font-family:var(--font);font-size:var(--t-h4-size);font-weight:var(--t-h4-w);line-height:var(--t-h4-lh);letter-spacing:var(--t-h4-ls)}
.t-h5{font-family:var(--font);font-size:var(--t-h5-size);font-weight:var(--t-h5-w);line-height:var(--t-h5-lh);letter-spacing:var(--t-h5-ls)}
.t-body{font-family:var(--font);font-size:var(--t-body-size);font-weight:var(--t-body-w);line-height:var(--t-body-lh);letter-spacing:var(--t-body-ls)}
.t-body-sm{font-family:var(--font);font-size:var(--t-body-sm-size);font-weight:var(--t-body-sm-w);line-height:var(--t-body-sm-lh);letter-spacing:var(--t-body-sm-ls)}
.t-label{font-family:var(--font);font-size:var(--t-label-size);font-weight:var(--t-label-w);line-height:var(--t-label-lh);letter-spacing:var(--t-label-ls)}
.t-caption{font-family:var(--font);font-size:var(--t-caption-size);font-weight:var(--t-caption-w);line-height:var(--t-caption-lh);letter-spacing:var(--t-caption-ls)}
.t-mono{font-family:var(--font-mono);font-size:var(--t-mono-size);font-weight:var(--t-mono-w);line-height:var(--t-mono-lh);letter-spacing:var(--t-mono-ls);text-transform:uppercase;font-variant-numeric:tabular-nums}
