/* ============================================================
   SIMHALTOS · TYPOGRAPHY — "Tres voces, una precisión"
   Archivo (display) · Spline Sans (body) · IBM Plex Mono (data)
   ============================================================ */
:root {
  /* --- Families --- */
  --font-display: 'Archivo', 'Arial Narrow', Helvetica, sans-serif;
  --font-body:    'Spline Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'IBM Plex Mono', 'SFMono-Regular', ui-monospace, 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 */
  --fw-extrabold:800; /* @kind font */
  --fw-black:    900; /* @kind font */

  /* --- Display scale (Archivo, uppercase, tight) --- */
  --text-display-2xl: 76px;
  --text-display-xl:  56px;
  --text-display-lg:  40px;
  --text-display-md:  30px;
  --text-display-sm:  22px;

  /* --- Body scale (Spline Sans) --- */
  --text-body-xl: 20px;
  --text-body-lg: 18px;
  --text-body-md: 16px;
  --text-body-sm: 14px;
  --text-body-xs: 13px;

  /* --- Mono / label scale (IBM Plex Mono) --- */
  --text-mono-md: 14px;
  --text-mono-sm: 12px;
  --text-mono-xs: 11px;

  /* --- Line heights --- */
  --lh-tight:   1.04; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-normal:  1.55; /* @kind font */
  --lh-relaxed: 1.7;  /* @kind font */

  /* --- Letter spacing --- */
  --ls-display: -0.02em;  /* @kind font */
  --ls-tight:   -0.01em;  /* @kind font */
  --ls-normal:  0em;      /* @kind font */
  --ls-label:   0.16em;   /* @kind font */
  --ls-label-wide: 0.28em; /* @kind font */
}

/* --------- Optional utility classes (consumers may use) --------- */
.simh-eyebrow {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  font-size: var(--text-mono-sm);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--accent-primary);
}
.simh-display {
  font-family: var(--font-display);
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
  line-height: var(--lh-tight);
  color: var(--text-strong);
}
.simh-data {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
