/* ===========================================================================
   EXHIBIT LAWNS — TYPOGRAPHY TOKENS
   Headings: Sora — a clean, confident geometric sans (brief asked for a
   "clean geometric sans-serif, bold" e.g. Inter/Montserrat; Sora delivers
   that brief without the over-exposure of the named defaults).
   Body: Source Sans 3 — the modern release of Source Sans Pro, named in brief.
   Fonts load via the Google Fonts @import at the top of styles.css.
   =========================================================================== */
:root {
  /* --- Families --- */
  --font-display: 'Sora', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Source Sans 3', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    ui-monospace, 'SFMono-Regular', 'Cascadia Code', Menlo, monospace;

  /* --- Weights --- */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extra:    800;

  /* --- Type scale (desktop) — generous, premium sizing per brief.
     Fluid down-scaling for headings lives in base.css to keep token
     values comma-free and cleanly classifiable. --- */
  --text-display:  3.5rem;    /* 56px — Hero H1 */
  --text-h1:       3rem;      /* 48px */
  --text-h2:       2.5rem;    /* 40px */
  --text-h3:       1.625rem;  /* 26px */
  --text-h4:       1.25rem;   /* 20px */
  --text-lead:     1.1875rem; /* 19px — supporting / intro paragraphs */
  --text-body-lg:  1.0625rem; /* 17px */
  --text-base:     1rem;      /* 16px */
  --text-sm:       0.9375rem; /* 15px */
  --text-xs:       0.8125rem; /* 13px */
  --text-eyebrow:  0.75rem;   /* 12px — uppercase labels */

  /* --- Line heights --- */
  --leading-tight:   1.12;  /* display / headings */
  --leading-snug:    1.28;  /* sub-headings */
  --leading-body:    1.7;   /* body copy (brief: 1.6–1.8) */
  --leading-relaxed: 1.8;

  /* --- Letter spacing --- */
  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-eyebrow: 0.14em; /* uppercase eyebrow labels */
}
