/* ============================================================
 * FIELD · Typography tokens
 * Display = Archivo (grotesque, tight, structural). Body =
 * Hanken Grotesk (humanist, calm, legible at small sizes).
 * Mono = IBM Plex Mono (the "data register" — anything machine-
 * generated, hashed, timestamped, or identity-bearing).
 *
 * The product uses four type REGISTERS, a real and load-bearing
 * idea worth keeping:
 *   R0 Command    — tab labels, section heads, status chips (mono-ish, uppercase, tracked)
 *   R1 Narrative  — rationale, amendment text, body prose
 *   R2 Data       — IDs, UUIDs, timestamps, criteria, lab values (mono)
 *   R3 Annotation — system hints, lint, audit metadata (mono italic)
 * ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: "Archivo", system-ui, sans-serif;
  --font-body: "Hanken Grotesk", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* Webapp-compatible aliases */
  --font-ui: var(--font-body);

  /* ---- Operator-console alternate (denser product surfaces) ----
   * Load Chakra Petch + Plus Jakarta Sans alongside if recreating
   * the literal cockpit chrome. Defaults above stay the brand canon. */
  --font-display-operator: "Chakra Petch", var(--font-display);
  --font-ui-operator: "Plus Jakarta Sans", var(--font-body);

  /* ---- Weights ---- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-display: 750;

  /* ---- Display scale (Archivo) — tight tracking, balanced ---- */
  --type-hero: 700 clamp(2.6rem, 7vw, 6rem) / 0.9 var(--font-display);
  --type-display: 700 clamp(2.2rem, 5vw, 3.7rem) / 0.95 var(--font-display);
  --type-title: 700 clamp(1.5rem, 2.2vw, 2.1rem) / 1.05 var(--font-display);
  --type-heading: 600 1.3rem / 1.15 var(--font-display);
  --type-subhead: 600 clamp(1.05rem, 1.6vw, 1.34rem) / 1.2 var(--font-display);

  /* ---- Body scale (Hanken Grotesk) ---- */
  --type-lead: 600 clamp(1.05rem, 1.5vw, 1.25rem) / 1.4 var(--font-body);
  --type-body: 400 0.94rem / 1.55 var(--font-body);
  --type-body-sm: 400 0.84rem / 1.5 var(--font-body);

  /* ---- Register classes are defined in components; here are the raw specs ---- */
  --type-label: 600 0.66rem / 1.3 var(--font-body);   /* tracked uppercase eyebrow */
  --type-mono: 400 0.81rem / 1.4 var(--font-mono);    /* data register */
  --type-mono-sm: 400 0.69rem / 1.4 var(--font-mono);

  /* ---- Letter-spacing ---- */
  --tracking-display: -0.03em;   /* Archivo headlines run tight */
  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  --tracking-label: 0.16em;      /* uppercase eyebrows / chips */
  --tracking-mono: 0.01em;
}
