/* ============================================================
   Coffee & Contracts — Typography tokens

   Two families, used in deliberate combination:
     • Display serif (Perfectly Nineties → Newsreader): headlines,
       display copy. Italic only to emphasize a word or phrase —
       never full sentences.
     • Grotesque sans (PP Neue Montreal → Hanken Grotesk): body,
       captions, and ALL-CAPS "Neue Montreal Caps" highlight lines.

   House rule from the brand guide: in display lockups, sandwich a
   line of sans CAPS between lines of serif — never set sans caps
   on the same line as the serif.
   ============================================================ */
:root {
  --font-serif: 'Perfectly Nineties', Georgia, 'Times New Roman', serif;
  --font-sans:  'PP Neue Montreal', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  /* Roles */
  --font-display: var(--font-serif);  /* big headlines */
  --font-heading: var(--font-serif);  /* section headings */
  --font-body:    var(--font-sans);   /* paragraphs, UI */
  --font-caps:    var(--font-sans);   /* eyebrows, labels, caps highlights */

  /* ---- Type scale (display = serif, fluid-ready px) ---- */
  --fs-display-xl: 92px;   /* hero */
  --fs-display-lg: 68px;
  --fs-display-md: 52px;
  --fs-h1: 42px;
  --fs-h2: 34px;
  --fs-h3: 27px;
  --fs-h4: 22px;
  --fs-body-lg: 19px;
  --fs-body: 17px;
  --fs-body-sm: 15px;
  --fs-caption: 13px;
  --fs-eyebrow: 12px;

  /* ---- Line heights ---- */
  --lh-display: 1.04;   /* @kind font */ /* tight, even spacing per brand guide */
  --lh-heading: 1.12;   /* @kind font */
  --lh-snug: 1.3;       /* @kind font */
  --lh-body: 1.6;       /* @kind font */

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

  /* ---- Letter spacing ---- */
  --ls-display: -0.01em;    /* @kind font */
  --ls-tight: -0.015em;     /* @kind font */
  --ls-normal: 0;           /* @kind font */
  --ls-caps: 0.14em;        /* @kind font */ /* eyebrows / Neue Montreal caps */
  --ls-caps-tight: 0.04em;  /* @kind font */
}
