/* ============================================================
   DNEYE — TYPOGRAPHY TOKENS
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Chakra Petch', 'Saira', system-ui, sans-serif;
  --font-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-light: 300;       /* @kind font */
  --fw-regular: 400;     /* @kind font */
  --fw-medium: 500;      /* @kind font */
  --fw-semibold: 600;    /* @kind font */
  --fw-bold: 700;        /* @kind font */

  /* ---- Type scale (1.250 major-third-ish, tuned) ---- */
  --fs-display-xl: 76px;   /* hero */
  --fs-display-lg: 56px;
  --fs-display-md: 42px;
  --fs-h1: 32px;
  --fs-h2: 26px;
  --fs-h3: 21px;
  --fs-h4: 18px;
  --fs-body-lg: 17px;
  --fs-body: 15px;
  --fs-body-sm: 13.5px;
  --fs-caption: 12px;
  --fs-micro: 11px;       /* eyebrows, labels */

  /* ---- Line heights ---- */
  --lh-tight: 1.05;      /* @kind font */
  --lh-snug: 1.2;        /* @kind font */
  --lh-base: 1.5;        /* @kind font */
  --lh-relaxed: 1.65;    /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tighter: -0.02em; /* @kind font */
  --ls-tight: -0.01em;   /* @kind font */
  --ls-normal: 0;        /* @kind font */
  --ls-wide: 0.04em;     /* @kind font */
  --ls-wider: 0.12em;    /* @kind font */
  --ls-widest: 0.2em;    /* @kind font */

  /* ---- Semantic roles ---- */
  --text-eyebrow-spacing: var(--ls-wider);
}

/* ---- Optional utility classes (components mostly use vars) ---- */
.dn-display {
  font-family: var(--font-display);
  font-weight: var(--fw-600, 600);
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-tight);
}
.dn-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
}
.dn-mono {
  font-family: var(--font-mono);
  font-feature-settings: 'tnum' 1, 'zero' 1;
}
