/* ============================================================
   SONORA — TYPOGRAPHY TOKENS
   ============================================================ */
:root {
  /* Families */
  --font-display: 'Archivo', 'Hanken Grotesk', system-ui, sans-serif;
  --font-body:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  /* Weights */
  --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 */

  /* Fluid-ish type scale (rem) */
  --fs-3xs: 0.6875rem; /* 11 — micro labels */
  --fs-2xs: 0.75rem;   /* 12 */
  --fs-xs:  0.8125rem;  /* 13 */
  --fs-sm:  0.875rem;  /* 14 */
  --fs-md:  1rem;      /* 16 — base */
  --fs-lg:  1.125rem;  /* 18 */
  --fs-xl:  1.375rem;  /* 22 */
  --fs-2xl: 1.75rem;   /* 28 */
  --fs-3xl: 2.25rem;   /* 36 */
  --fs-4xl: 3rem;      /* 48 */
  --fs-5xl: 4rem;      /* 64 */
  --fs-6xl: 5.5rem;    /* 88 — hero / poster */

  /* Line heights */
  --lh-tight:   1.05; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-normal:  1.45; /* @kind font */
  --lh-relaxed: 1.6; /* @kind font */

  /* Letter spacing */
  --ls-tight:  -0.02em; /* @kind font */
  --ls-snug:   -0.01em; /* @kind font */
  --ls-normal: 0; /* @kind font */
  --ls-wide:   0.06em; /* @kind font */
  --ls-wider:  0.12em;  /* @kind font */
  --ls-widest: 0.18em; /* @kind font */
}

/* ---- Convenience text classes (optional, for specimens) ---- */
.son-display {
  font-family: var(--font-display);
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-tight);
  text-transform: uppercase;
}
.son-eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  font-size: var(--fs-sm);
}
.son-body {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-relaxed);
}
