/* ─────────────────────────────────────────────────────────────────────────────
   Zypp · Typography tokens
   Two faces: Schibsted Grotesk for display/headings (.font-display), Inter for
   body, UI, and forms. Monospace is reserved for canton codes, IDs, and
   tabular data.
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  /* ── Families ───────────────────────────────────────────── */
  --font-sans:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Schibsted Grotesk', 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    ui-monospace, 'SF Mono', 'Menlo', monospace;

  /* OpenType features — humanist alternates for Inter body text */
  --font-features-body:    'cv02', 'cv03', 'cv04', 'cv11', 'ss01';
  --font-features-display: normal;

  /* ── Type scale (px → rem @16) ──────────────────────────── */
  --text-xs:   0.75rem;    /* 12 — eyebrows, meta, badges            */
  --text-sm:   0.875rem;   /* 14 — secondary text, UI labels         */
  --text-base: 1rem;       /* 16 — body                              */
  --text-lg:   1.125rem;   /* 18 — lead paragraphs                   */
  --text-xl:   1.25rem;    /* 20 — card titles                       */
  --text-2xl:  1.5rem;     /* 24 — section sub-heads                 */
  --text-3xl:  1.875rem;   /* 30 — page titles                       */
  --text-4xl:  2.25rem;    /* 36 — section headers                   */
  --text-5xl:  3rem;       /* 48 — hero (sm)                         */
  --text-6xl:  3.75rem;    /* 60 — hero (md)                         */
  --text-7xl:  4.25rem;    /* 68 — hero (lg)                         */

  /* ── Weights ────────────────────────────────────────────── */
  --weight-regular:  400;
  --weight-medium:   500;   /* default UI / button weight             */
  --weight-semibold: 600;   /* headings, emphasis                     */
  --weight-bold:     700;   /* stat numbers, dashboard h1             */

  /* ── Line heights ───────────────────────────────────────── */
  --leading-tight:   1.05;  /* hero display                           */
  --leading-snug:    1.25;  /* headings                               */
  --leading-normal:  1.5;   /* UI                                     */
  --leading-relaxed: 1.65;  /* body copy                              */

  /* ── Letter spacing ─────────────────────────────────────── */
  --tracking-display: -0.02em;   /* hero / display headings (grotesk)  */
  --tracking-tight:   -0.01em;   /* card + section titles              */
  --tracking-normal:  0;
  --tracking-eyebrow: 0.14em;    /* uppercase eyebrows                 */
}
