/* ============================================================
   ARENA · TYPOGRAPHY TOKENS
   "Type carries the brand." Confident, editorial, clear hierarchy.
   Playfair Display (italic) for display & headings.
   Montserrat for everything functional. Caveat for rare accents.
   ============================================================ */

:root {
  /* ---- Families ----------------------------------------- */
  --font-display: 'Playfair Display', 'Times New Roman', Georgia, serif;
  --font-body:    'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-accent:  'Playfair Display', 'Times New Roman', Georgia, serif; /* italic display accent */
  --font-hand:    'Caveat', 'Playfair Display', cursive; /* rare handwritten accent (Biro Script stand-in) */

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

  /* ---- Display scale (Playfair, italic) ----------------- */
  --display-2xl: 600 64px/1.05 var(--font-display);
  --display-xl:  600 52px/1.08 var(--font-display);
  --display-lg:  600 42px/1.12 var(--font-display);
  --display-md:  600 34px/1.16 var(--font-display);
  --display-sm:  600 26px/1.2  var(--font-display);

  /* ---- Heading scale (Montserrat, navy, tight) ---------- */
  --heading-lg: 700 24px/1.25 var(--font-body);
  --heading-md: 700 20px/1.3  var(--font-body);
  --heading-sm: 700 16px/1.35 var(--font-body);

  /* ---- Body scale (Montserrat) -------------------------- */
  --body-lg: 400 18px/1.6 var(--font-body);
  --body-md: 400 15px/1.6 var(--font-body);
  --body-sm: 400 13px/1.55 var(--font-body);
  --body-xs: 400 12px/1.5 var(--font-body);

  /* ---- Functional ranges (raw sizes) -------------------- */
  --text-size-2xl: 64px;
  --text-size-xl:  52px;
  --text-size-lg:  42px;
  --text-size-md:  34px;
  --text-size-sm:  26px;
  --text-size-h1:  24px;
  --text-size-h2:  20px;
  --text-size-h3:  16px;
  --text-size-body:15px;
  --text-size-fine:13px;
  --text-size-cap: 12px;

  /* ---- Tracking ----------------------------------------- */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-eyebrow: 0.16em; /* uppercase eyebrows / labels */

  /* ---- Line heights ------------------------------------- */
  --leading-tight: 1.1;
  --leading-snug:  1.3;
  --leading-normal:1.6;
}
