/* Sensometriks — Typography tokens */
:root {
  --font-display: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-sans:    'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Font sizes (px) with paired line-heights */
  --text-xs:    12px;   --lh-xs:   16px;
  --text-sm:    13px;   --lh-sm:   18px;
  --text-base:  15px;   --lh-base: 22px;
  --text-md:    16px;   --lh-md:   24px;
  --text-lg:    18px;   --lh-lg:   26px;
  --text-xl:    22px;   --lh-xl:   29px;
  --text-2xl:   28px;   --lh-2xl:  34px;
  --text-3xl:   36px;   --lh-3xl:  42px;
  --text-4xl:   48px;   --lh-4xl:  52px;
  --text-5xl:   64px;   --lh-5xl:  66px;

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

  /* Letter-spacing */
  --tracking-tight:  -0.02em;   /* large display */
  --tracking-snug:   -0.01em;   /* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.08em;   /* uppercase eyebrows / labels */
  --tracking-wider:   0.14em;   /* wordmark-style caps */

  /* Semantic roles */
  --text-display:  var(--fw-bold)     var(--text-5xl)/var(--lh-5xl)  var(--font-display);
  --text-h1:       var(--fw-bold)     var(--text-3xl)/var(--lh-3xl)  var(--font-display);
  --text-h2:       var(--fw-semibold) var(--text-2xl)/var(--lh-2xl)  var(--font-display);
  --text-h3:       var(--fw-semibold) var(--text-xl)/var(--lh-xl)    var(--font-display);
  --text-body-r:   var(--fw-regular)  var(--text-md)/var(--lh-md)    var(--font-sans);
  --text-label:    var(--fw-medium)   var(--text-sm)/var(--lh-sm)    var(--font-sans);
  --text-mono-r:   var(--fw-medium)   var(--text-base)/var(--lh-base) var(--font-mono);
}
