:root {
  /* Families */
  --font-serif: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-sans: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-icon: 'Material Symbols Outlined';

  /* Serif display — Newsreader 400, negative tracking, italic for accent */
  --type-hero: 400 46px/1.02 var(--font-serif);        /* cover headline */
  --type-hero-lg: 400 52px/1.0 var(--font-serif);      /* alt cover */
  --type-display: 400 40px/1.0 var(--font-serif);      /* panel headline */
  --type-title: 400 30px/1.04 var(--font-serif);       /* column headline */
  --type-title-sm: 400 27px/1.05 var(--font-serif);    /* dense column headline */
  --type-item: 600 16px/1.15 var(--font-serif);        /* menu / program item name */
  --type-item-sm: 600 14.5px/1.18 var(--font-serif);
  --type-price: 400 19px/1.2 var(--font-serif);        /* price */
  --type-price-lg: 400 24px/1.2 var(--font-serif);     /* membership price */
  --type-phone: 400 21px/1.2 var(--font-serif);        /* contact phone */
  --type-quote: italic 400 17px/1.3 var(--font-serif); /* closing line */

  /* Sans body */
  --type-body: 400 13px/1.6 var(--font-sans);          /* cover intro */
  --type-body-sm: 400 12.5px/1.55 var(--font-sans);    /* panel intro */
  --type-desc: 400 11px/1.32 var(--font-sans);         /* item description */
  --type-ingredient: 400 10px/1.3 var(--font-sans);    /* fine detail line */
  --type-fine: 400 9.5px/1.5 var(--font-sans);         /* footnote */

  /* Sans labels — uppercase, heavily letterspaced */
  --type-eyebrow: 600 12px/1 var(--font-sans);         /* category label */
  --type-label: 600 10px/1 var(--font-sans);           /* section label */
  --type-label-sm: 600 9px/1 var(--font-sans);         /* sub-label */
  --type-meta: 600 8.5px/1 var(--font-sans);           /* meta / address */
  --type-badge: 600 7.5px/1 var(--font-sans);          /* pill badge */

  /* Tracking scale — the signature of the brand's labels */
  --track-eyebrow: 0.22em;
  --track-label: 0.26em;
  --track-category: 0.28em;
  --track-logo: 0.32em;
  --track-meta: 0.18em;
  --track-badge: 0.16em;
  --track-tight: -0.015em;
  --track-tighter: -0.02em;
}
