/* ── Peapod typography ──────────────────────────────────────────────────
   One family does all the work: Helvetica Now Display (self-hosted brand
   grotesque), from airy Hairline/Light display numerals down to functional
   labels. Arial fallback. Mono only for codes / metrics. */
:root {
  --font-sans: 'Helvetica Now Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-display: var(--font-sans);
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* Weights — mapped to the uploaded Helvetica Now Display faces */
  --weight-hairline: 100; /* @kind other */
  --weight-thin: 200;     /* @kind other */
  --weight-light: 300;   /* large editorial display / hero numerals */
  --weight-regular: 400;
  --weight-medium: 500;  /* default UI emphasis */
  --weight-semibold: 500; /* no 600 face — snaps to Medium */
  --weight-bold: 800;    /* ExtraBold — the heaviest brand weight */

  /* Type scale (px) — editorial: a big jump between display & body */
  --text-display-3xl: 128px; /* full-bleed wordmark over photography */
  --text-display-2xl: 96px;  /* hero letters (H / F), full-bleed dates */
  --text-display-xl:  64px;
  --text-display-lg:  48px;
  --text-display-md:  36px;
  --text-title:       28px;  /* card / person name */
  --text-heading:     22px;
  --text-subheading:  18px;
  --text-body-lg:     16px;
  --text-body:        15px;  /* default body / field value */
  --text-sm:          13px;  /* labels, meta */
  --text-xs:          11px;  /* eyebrow, chip, section header */

  /* Line heights */
  --leading-tight: 1.04;   /* display */
  --leading-snug:  1.2;
  --leading-normal: 1.45;  /* body */
  --leading-relaxed: 1.6;

  /* Letter spacing */
  --tracking-display: -0.03em; /* tighten big type */
  --tracking-tight:   -0.01em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-eyebrow: 0.08em;   /* uppercase section labels */
}
