/* ============================================================
   Bobinet Square — Typography tokens
   Display: Bricolage Grotesque (architectural, editorial)
   Text/UI: Archivo (clean grotesque)
   Mono:    Space Mono (prices, specs, distances, eyebrows)
   ============================================================ */
:root {
  --font-display: "Bricolage Grotesque", "Archivo", system-ui, sans-serif;
  --font-sans:    "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  /* Type scale (rem @16px base) */
  --text-2xs: 0.6875rem; /* 11 — micro labels */
  --text-xs:  0.75rem;   /* 12 */
  --text-sm:  0.875rem;  /* 14 */
  --text-base:1rem;      /* 16 — body */
  --text-md:  1.125rem;  /* 18 — lead body */
  --text-lg:  1.375rem;  /* 22 */
  --text-xl:  1.75rem;   /* 28 */
  --text-2xl: 2.25rem;   /* 36 */
  --text-3xl: 3rem;      /* 48 */
  --text-4xl: 4rem;      /* 64 */
  --text-5xl: 5.5rem;    /* 88 — hero */

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

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

  /* Letter spacing */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.015em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-label:   0.16em; /* uppercase mono eyebrows */

  /* Semantic roles */
  --font-eyebrow: var(--weight-bold) var(--text-2xs)/1 var(--font-mono);
  --font-h1: var(--weight-semibold) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --font-h2: var(--weight-semibold) var(--text-3xl)/var(--leading-tight) var(--font-display);
  --font-h3: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-display);
  --font-body: var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-sans);
  --font-lead: var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);
}
