/* ============================================================
   TYPOGRAPHY — families, fluid scale, weights, tracking
   Body foundation shared across all brands (Source Sans 3).
   Display family switches by brand scope.
   ============================================================ */

:root {
  /* ---- FAMILIES ---- */
  --font-body:  "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Brand display families (also aliased by scope below) */
  --font-fraunces:      "Fraunces", Georgia, "Times New Roman", serif;
  --font-newsreader:    "Newsreader", Georgia, "Times New Roman", serif;
  --font-space-grotesk: "Space Grotesk", "Source Sans 3", sans-serif;

  /* Default (shared ecosystem) display = Fraunces */
  --font-display: var(--font-fraunces);

  /* ---- FLUID TYPE SCALE ---- */
  --type-display-xl: clamp(3.5rem, 8vw, 8rem);
  --type-display-l:  clamp(2.75rem, 6vw, 5.5rem);
  --type-h1:         clamp(2.25rem, 4vw, 4rem);
  --type-h2:         clamp(1.75rem, 3vw, 3rem);
  --type-h3:         clamp(1.4rem, 2vw, 2rem);
  --type-body-lg:    1.25rem;
  --type-body:       1.0625rem;   /* 17px, sits in 1–1.125rem band */
  --type-small:      0.875rem;
  --type-meta:       0.78125rem;  /* 12.5px */

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

  /* ---- LINE HEIGHTS ---- */
  --leading-tight:   1.08;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- TRACKING ---- */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-meta:   0.14em;   /* mono eyebrows / labels, uppercase */

  /* ---- READING MEASURE ---- */
  --measure: 68ch;             /* 65–75 char target */
}

.brand-root   { --font-display: var(--font-fraunces); }
.brand-praxis { --font-display: var(--font-newsreader); }
.brand-ai     { --font-display: var(--font-space-grotesk); }
