/* ============================================================
   LAEZ · Typography
   Roles
   · --font-display (P22 Mackinac) — serif. Logo, headlines, the
     monogram, editorial numerals. Set tight, never letterspaced.
   · --font-sans (Raleway) — the structural sans. Eyebrows, nav,
     buttons, labels, prices. Almost always UPPERCASE + tracked.
   · --font-body (Livvic) — long-form copy. Light weights, airy.
   ============================================================ */
:root {
  /* ---------- Families ---------- */
  --font-display: "P22 Mackinac", "Hoefler Text", Georgia, "Times New Roman", serif;
  --font-sans:    "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "Livvic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* ---------- Weights ---------- */
  --weight-thin:       100; /* Livvic Thin — oversized hero numerals */
  --weight-extralight: 200; /* Livvic — airy body */
  --weight-light:      300; /* Livvic — default body */
  --weight-book:       400; /* Mackinac Book / Raleway */
  --weight-medium:     500; /* labels, emphasis */
  --weight-bold:       700; /* Mackinac headlines */
  --weight-extrabold:  800; /* Mackinac display peaks */

  /* ---------- Type scale (px) ---------- */
  --text-2xs:  11px;
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   21px;
  --text-xl:   26px;
  --text-2xl:  32px;
  --text-3xl:  42px;
  --text-4xl:  56px;
  --text-5xl:  72px;
  --text-6xl:  96px;
  --text-7xl:  128px;

  /* ---------- Line height ---------- */
  --leading-none:    1;
  --leading-tight:   1.06;
  --leading-snug:    1.2;
  --leading-normal:  1.5;
  --leading-relaxed: 1.72;

  /* ---------- Letter-spacing ----------
     Wide tracking on Raleway labels is a LAEZ signature. */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.015em;
  --tracking-normal:  0;
  --tracking-wide:    0.06em;
  --tracking-wider:   0.16em;  /* eyebrows, nav */
  --tracking-widest:  0.3em;   /* stamps, spaced wordmarks */

  /* ---------- Composed roles ---------- */
  /* Editorial display — Mackinac, tight */
  --display-font:    var(--font-display);
  --display-weight:  var(--weight-bold);
  --display-leading: var(--leading-tight);
  --display-tracking: var(--tracking-tight);

  /* Eyebrow / label — Raleway, uppercase, tracked */
  --label-font:    var(--font-sans);
  --label-weight:  var(--weight-medium);
  --label-size:    var(--text-xs);
  --label-tracking: var(--tracking-wider);
  --label-transform: uppercase; /* @kind other */

  /* Body — Livvic, light, relaxed */
  --body-font:    var(--font-body);
  --body-weight:  var(--weight-light);
  --body-size:    var(--text-base);
  --body-leading: var(--leading-relaxed);
}
