:root{
  /* ---- Weights ---- */
  --weight-regular:400; /* @kind font */
  --weight-medium:500; /* @kind font */
  --weight-semibold:600; /* @kind font */
  --weight-bold:700; /* @kind font */

  /* ---- Sizes (responsive where the role demands it) ---- */
  --fs-display:clamp(40px,5.2vw,68px); /* @kind font */
  --fs-h1:clamp(32px,3.6vw,46px); /* @kind font */
  --fs-h2:clamp(25px,2.4vw,32px); /* @kind font */
  --fs-h3:22px; /* @kind font */
  --fs-h4:18px; /* @kind font */
  --fs-lead:20px; /* @kind font */
  --fs-body-lg:18px; /* @kind font */
  --fs-body:16px; /* @kind font */
  --fs-body-sm:14px; /* @kind font */
  --fs-caption:13px; /* @kind font */
  --fs-label:12px; /* @kind font */
  --fs-button:15px; /* @kind font */
  --fs-metadata:12px; /* @kind font */
  --fs-code:14px; /* @kind font */

  /* ---- Line heights ---- */
  --lh-display:1.04; /* @kind font */
  --lh-h1:1.08; /* @kind font */
  --lh-h2:1.16; /* @kind font */
  --lh-h3:1.28; /* @kind font */
  --lh-h4:1.36; /* @kind font */
  --lh-lead:1.5; /* @kind font */
  --lh-body:1.6; /* @kind font */
  --lh-reading:1.72; /* @kind font */
  --lh-tight:1.2; /* @kind font */
  --lh-caption:1.45; /* @kind font */
  --lh-mono:1.5; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-display:-0.032em; /* @kind font */
  --ls-h1:-0.026em; /* @kind font */
  --ls-h2:-0.02em; /* @kind font */
  --ls-h3:-0.012em; /* @kind font */
  --ls-h4:-0.008em; /* @kind font */
  --ls-body:0em; /* @kind font */
  --ls-label:0.08em; /* @kind font */
  --ls-metadata:0.04em; /* @kind font */
  --ls-mono:-0.01em; /* @kind font */

  /* ---- Measure ---- */
  --measure-reading:68ch; /* @kind other */
  --measure-body:72ch; /* @kind other */
  --measure-lead:56ch; /* @kind other */
  --measure-caption:44ch; /* @kind other */
}
