/* ============================================================
   H-BOX — TYPOGRAPHY TOKENS
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-heading: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* Editorial accents (furo-inspired, website UI kit) */
  --font-accent:  'Instrument Serif', 'Georgia', 'Times New Roman', serif; /* italic emphasis words */
  --font-mono:    'JetBrains Mono', 'SFMono-Regular', ui-monospace, 'Menlo', 'Consolas', monospace; /* micro-labels, time ticker */

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

  /* ---- Type scale (1.250 major-third, 16px base) ---- */
  --text-2xs:  11px;
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   20px;
  --text-xl:   25px;
  --text-2xl:  31px;
  --text-3xl:  39px;
  --text-4xl:  49px;
  --text-5xl:  61px;
  --text-6xl:  76px;

  /* ---- Line heights ---- */
  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing ---- */
  --tracking-tight:  -0.02em;
  --tracking-snug:   -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-caps:   0.12em; /* uppercase eyebrows / labels */

  /* ---- Semantic roles ---- */
  --role-display-font:   var(--font-display);
  --role-display-weight: var(--weight-extrabold);
  --role-heading-font:   var(--font-heading);
  --role-heading-weight: var(--weight-bold);
  --role-subtitle-font:  var(--font-display);
  --role-subtitle-weight: var(--weight-medium);
  --role-body-font:      var(--font-body);
  --role-body-weight:    var(--weight-regular);
  --role-eyebrow-font:   var(--font-display);
  --role-eyebrow-weight: var(--weight-bold);
}
