/* ============================================================
   CALYX — TYPOGRAPHY TOKENS
   Display: Cormorant Garamond (luxury serif)
   Sans:    Stölzl — the CALYX wordmark font (Jost is the web fallback)
   Mono:    IBM Plex Mono (specs, SKUs, dimensions)
   ============================================================ */

:root {
  /* --- Families ------------------------------------------- */
  /* Brand sans is STÖLZL (the wordmark font — commercial, Northern Block).
     Jost is the Google-Fonts fallback that renders until Stolzl files are installed. */
  --font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-sans:    'Stolzl', 'Jost', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* --- Type scale (1.250 major-third, generous) ----------- */
  --text-2xs:  0.6875rem;  /* 11px — micro labels, specs       */
  --text-xs:   0.75rem;    /* 12px                             */
  --text-sm:   0.875rem;   /* 14px                             */
  --text-base: 1rem;       /* 16px — body                      */
  --text-md:   1.125rem;   /* 18px — lead body                 */
  --text-lg:   1.375rem;   /* 22px                             */
  --text-xl:   1.75rem;    /* 28px                             */
  --text-2xl:  2.25rem;    /* 36px                             */
  --text-3xl:  3rem;       /* 48px — display                   */
  --text-4xl:  4rem;       /* 64px                             */
  --text-5xl:  5.5rem;     /* 88px — hero display              */

  /* --- Weights -------------------------------------------- */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* --- Line heights --------------------------------------- */
  --leading-none:    1;
  --leading-tight:   1.12;
  --leading-snug:    1.28;
  --leading-normal:  1.55;
  --leading-relaxed: 1.7;

  /* --- Letter spacing ------------------------------------- */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-wider:  0.12em;   /* eyebrow / kicker labels      */
  --tracking-widest: 0.22em;   /* logo-adjacent caps           */

  /* --- Semantic roles ------------------------------------- */
  --type-hero:    var(--weight-medium) var(--text-5xl)/var(--leading-none) var(--font-display);
  --type-display: var(--weight-medium) var(--text-3xl)/var(--leading-tight) var(--font-display);
  --type-title:   var(--weight-medium) var(--text-2xl)/var(--leading-tight) var(--font-display);
  --type-heading: var(--weight-medium) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-body:    var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-lead:    var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);
  --type-label:   var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);
  --type-spec:    var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-mono);
}
