/* ==========================================================================
   LookAmaze R2 — TYPOGRAPHY TOKENS        [INERT — :root ONLY]
   ==========================================================================

   WHAT THIS FILE IS
   -----------------
   The typography scale as custom properties. Nine size steps, their line
   heights and tracking, three family stacks, three weights and the reading
   measure — plus the documented role map in comments.

   WHY THIS FILE IS INERT
   ----------------------
   It contains ONE `:root` block of custom-property declarations and NO
   selectors for body, headings, paragraphs, Elementor widgets, header, footer,
   article or archive elements. A declared-but-unused custom property has no
   rendering effect — it is simply a value sitting on the root element waiting
   to be consumed. Nothing consumes these yet, so nothing changes visually.

   Sizes are fluid: clamp(min, preferred, max) interpolates between the mobile
   and desktop figures quoted in each comment. The body step satisfies the
   governing minimum of 18px desktop / 17px mobile.

   Role → token map and rationale: ../DESIGN-SYSTEM.md
   ========================================================================== */

:root {

  /* ---- families ---------------------------------------------------------
     Fallbacks are deliberate: Georgia/serif for the editorial faces, a system
     UI stack for Inter. If a font file ever fails, the page degrades
     gracefully instead of falling back to a default sans everywhere. */
  --lm-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --lm-font-text: "Newsreader", Georgia, "Times New Roman", serif;
  --lm-font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* ---- weights ----------------------------------------------------------
     Only three are needed. Fraunces/Inter support 100–900, Newsreader 200–800. */
  --lm-weight-regular: 400;
  --lm-weight-medium: 500;
  --lm-weight-semibold: 600;

  /* ---- variable-font axis settings (documented, NOT applied) ------------
     Fraunces ships SOFT and WONK axes with defaults SOFT 0 / WONK 1. The
     LookAmaze direction is calm — SOFT 0 (no soft flares), WONK 0 (no wonky
     letterforms). These are recorded here so any later use is consistent. */
  --lm-fraunces-soft: 0;
  --lm-fraunces-wonk: 0;

  /* ---- size scale (fluid: mobile → desktop) ----------------------------- */
  --lm-fs-caption: clamp(0.8125rem, 0.78rem + 0.16vw, 0.875rem);   /* 13 → 14px  */
  --lm-fs-small:   clamp(0.875rem,  0.85rem + 0.12vw, 0.9375rem);  /* 14 → 15px  */
  --lm-fs-ui:      clamp(0.9375rem, 0.92rem + 0.08vw, 1rem);       /* 15 → 16px  */
  --lm-fs-body:    clamp(1.0625rem, 1.02rem + 0.21vw, 1.125rem);   /* 17 → 18px  */
  --lm-fs-lead:    clamp(1.1875rem, 1.10rem + 0.42vw, 1.375rem);   /* 19 → 22px  */
  --lm-fs-h3:      clamp(1.3125rem, 1.19rem + 0.63vw, 1.5rem);     /* 21 → 24px  */
  --lm-fs-h2:      clamp(1.625rem,  1.42rem + 1.04vw, 2rem);       /* 26 → 32px  */
  --lm-fs-h1:      clamp(2rem,      1.63rem + 1.88vw, 2.75rem);    /* 32 → 44px  */
  --lm-fs-display: clamp(2.5rem,    1.75rem + 3.75vw, 4.5rem);     /* 40 → 72px  */

  /* ---- line heights -----------------------------------------------------
     Tighter as type gets larger; looser for reading text. Body at 1.6 on
     18px gives a ~29px line — comfortable for long-form editorial reading. */
  --lm-lh-display: 1.05;
  --lm-lh-h1:      1.1;
  --lm-lh-h2:      1.2;
  --lm-lh-h3:      1.3;
  --lm-lh-lead:    1.5;
  --lm-lh-body:    1.6;
  --lm-lh-ui:      1.4;
  --lm-lh-small:   1.5;
  --lm-lh-caption: 1.45;

  /* ---- tracking ---------------------------------------------------------
     Large serif display type needs negative tracking; small sans supporting
     copy needs a touch of positive tracking to stay legible. */
  --lm-track-display: -0.02em;
  --lm-track-h1:      -0.02em;
  --lm-track-h2:      -0.01em;
  --lm-track-h3:      -0.005em;
  --lm-track-body:    0em;
  --lm-track-ui:      0.01em;
  --lm-track-caption: 0.01em;

  /* ---- reading measure --------------------------------------------------
     Governing target is 60–68 characters per line. */
  --lm-measure:        64ch;   /* long-form body copy */
  --lm-measure-narrow: 46ch;   /* lead paragraphs, notes, pull quotes */
}
