/* ============================================================
   GridNorth Studio — Typography Tokens
   Lora (serif) for authority in display & headings.
   Lato (sans) for clarity in body, labels, tables & UI.

   Type scale mirrors the brand book (Display 46 / H1 25 /
   H2 16 / Body 10.5 / Label 9, tracked), rescaled to a screen
   rem scale (1rem = 16px) while keeping the same hierarchy.
   ============================================================ */

:root {
  /* ---- Families ------------------------------------------ */
  --font-serif: 'Lora', Georgia, 'Times New Roman', serif;
  --font-sans:  'Lato', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-display: var(--font-serif); /* headlines echo the wordmark */
  --font-body:    var(--font-sans);
  --font-mono:  'SFMono-Regular', 'Menlo', 'Consolas', monospace; /* figures in tables */

  /* ---- Weights ------------------------------------------- */
  --fw-light:    300; /* @kind font */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-black:    900; /* @kind font */ /* Lato Black — kickers / overlines */

  /* ---- Type scale (rem) ---------------------------------- */
  --fs-display: 3.25rem;  /* 52px — hero / cover headline   */
  --fs-h1:      2rem;     /* 32px — page / section title    */
  --fs-h2:      1.5rem;   /* 24px — sub-section             */
  --fs-h3:      1.25rem;  /* 20px — card / block heading    */
  --fs-h4:      1.0625rem;/* 17px — small heading           */
  --fs-body-lg: 1.125rem; /* 18px — lead paragraph          */
  --fs-body:    1rem;     /* 16px — standard body           */
  --fs-sm:      0.875rem; /* 14px — secondary / table cell  */
  --fs-xs:      0.75rem;  /* 12px — caption / meta          */
  --fs-label:   0.6875rem;/* 11px — kicker / overline       */

  /* ---- Line heights -------------------------------------- */
  --lh-tight:   1.12;  /* @kind other */ /* display & large headings */
  --lh-snug:    1.28;  /* @kind other */ /* headings   */
  --lh-normal:  1.55;  /* @kind other */ /* body copy  */
  --lh-relaxed: 1.7;   /* @kind other */ /* long-form  */

  /* ---- Letter spacing ------------------------------------ */
  --ls-tight:   -0.01em;  /* @kind other */ /* large serif headlines */
  --ls-normal:  0;        /* @kind other */
  --ls-wide:    0.04em;   /* @kind other */ /* buttons / small caps */
  --ls-kicker:  0.16em;   /* @kind other */ /* tracked overline labels */
}
