/* DASH — Typography Tokens
 * Space Grotesk (display) / Hanken Grotesk (body) / Space Mono (data, eyebrows).
 * Display is set tight & confident; body is humanist and roomy; labels keep the
 * compact engineering readout voice — uppercase, tracked-out, small.
 *
 * Font note: families are loaded by vendor/mercuro-fonts.css.
 */

:root {
  /* ---- Families ------------------------------------------------------- */
  --font-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-body:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* ---- Weights -------------------------------------------------------- */
  --fw-regular:  400; /* @kind other */
  --fw-medium:   500; /* @kind other */
  --fw-semibold: 600; /* @kind other */
  --fw-bold:     700; /* @kind other */
  --fw-black:    800; /* @kind other */

  /* ---- Type scale (fluid-friendly; base = 16px) ----------------------- */
  --fs-mono-xs: 0.6875rem;  /* 11px — eyebrow / spec labels  */
  --fs-mono-sm: 0.75rem;    /* 12px                          */
  --fs-xs:      0.75rem;    /* 12px                          */
  --fs-sm:      0.875rem;   /* 14px                          */
  --fs-base:    1rem;       /* 16px                          */
  --fs-md:      1.125rem;   /* 18px                          */
  --fs-lg:      1.375rem;   /* 22px                          */
  --fs-xl:      1.75rem;    /* 28px                          */
  --fs-2xl:     2.25rem;    /* 36px                          */
  --fs-3xl:     3rem;       /* 48px                          */
  --fs-4xl:     4rem;       /* 64px                          */
  --fs-5xl:     5.25rem;    /* 84px — hero display           */

  /* ---- Line heights --------------------------------------------------- */
  --lh-tight:   1.02; /* @kind other */
  --lh-snug:    1.12; /* @kind other */
  --lh-normal:  1.5;  /* @kind other */
  --lh-relaxed: 1.62; /* @kind other */

  /* ---- Letter spacing ------------------------------------------------- */
  --ls-tight:  -0.03em; /* @kind other */
  --ls-snug:   -0.015em; /* @kind other */
  --ls-normal:  0em;     /* @kind other */
  --ls-wide:    0.04em;  /* @kind other */
  --ls-mono:    0.12em;  /* @kind other */

  /* ---- Semantic composite roles --------------------------------------- */
  --text-display:  var(--fw-bold)     var(--fs-5xl)/var(--lh-tight)   var(--font-display);
  --text-h1:       var(--fw-bold)     var(--fs-3xl)/var(--lh-snug)    var(--font-display);
  --text-h2:       var(--fw-semibold) var(--fs-2xl)/var(--lh-snug)    var(--font-display);
  --text-h3:       var(--fw-semibold) var(--fs-xl)/var(--lh-snug)     var(--font-display);
  --text-body:     var(--fw-regular)  var(--fs-base)/var(--lh-normal)  var(--font-body);
  --text-body-lg:  var(--fw-regular)  var(--fs-md)/var(--lh-relaxed)   var(--font-body);
  --text-label:    var(--fw-semibold) var(--fs-sm)/1.2                 var(--font-body);
  --text-eyebrow:  var(--fw-bold)     var(--fs-mono-xs)/1              var(--font-mono);
}
