/* ============================================================
   PERMAfit — Typography tokens
   Meragen (display) · Amiri (serif accent) · Google Sans Flex (body)
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: "Meragen", "Google Sans Flex", system-ui, sans-serif;   /* headings */
  --font-serif:   "Amiri", Georgia, "Times New Roman", serif;             /* standfirst & pull-quotes ONLY */
  --font-body:    "Google Sans Flex", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* ---- Weights (Google Sans Flex) ---- */
  --fw-light:    300;  /* @kind other */
  --fw-regular:  400;  /* @kind other */
  --fw-medium:   500;  /* @kind other */
  --fw-bold:     700;  /* @kind other */

  /* ---- Type scale (fluid, clamp-based) ---- */
  --fs-display:   clamp(3rem, 1.6rem + 6vw, 5.75rem);   /* @kind other */
  --fs-h1:        clamp(2.25rem, 1.4rem + 3.6vw, 3.5rem);  /* @kind other */
  --fs-h2:        clamp(1.75rem, 1.2rem + 2.2vw, 2.5rem);  /* @kind other */
  --fs-h3:        clamp(1.375rem, 1.1rem + 1vw, 1.75rem);  /* @kind other */
  --fs-h4:        1.25rem;  /* @kind other */
  --fs-standfirst: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem); /* @kind other */
  --fs-lead:      1.1875rem;  /* @kind other */
  --fs-body:      1.0625rem;  /* @kind other */
  --fs-small:     0.9375rem;  /* @kind other */
  --fs-caption:   0.8125rem;  /* @kind other */
  --fs-overline:  0.75rem;  /* @kind other */

  /* ---- Line heights ---- */
  --lh-tight:    1.05;   /* @kind other */
  --lh-snug:     1.18;   /* @kind other */
  --lh-normal:   1.55;   /* @kind other */
  --lh-relaxed:  1.7;    /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-display:  -0.01em;  /* @kind other */
  --ls-heading:  -0.005em;  /* @kind other */
  --ls-body:     0em;  /* @kind other */
  --ls-overline: 0.16em;   /* @kind other */

  /* ---- Semantic aliases ---- */
  --overline-transform: uppercase;  /* @kind other */
}
