/* ============================================================
   TYPE — three voices. Token names are the shipped ones
   (--fs-*, --fw-*, --lh-*, --ls-*); the display face and the
   numeral role are ADDITIONS.
   ============================================================ */
:root{
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --font-display:"Archivo","Archivo Expanded",system-ui,sans-serif;   /* ADDITION */
  --font-numeral:"Archivo",system-ui,sans-serif;                       /* ADDITION */

  /* Width axis presets for Archivo (ADDITION) */
  --wdth-condensed:78; /* @kind other */
  --wdth-normal:100; /* @kind other */
  --wdth-expanded:118; /* @kind other */

  /* --- SHIPPED UI SCALE — the app. Do not grow these. --- */
  --fs-xs:   11px;
  --fs-sm:   12px;
  --fs-base: 13px;
  --fs-md:   14px;
  --fs-lg:   16px;
  --fs-xl:   20px;
  --fs-2xl:  26px;

  /* --- DISPLAY SCALE (ADDITION) — marketing, decks, metrics, empty states. --- */
  --fs-display-1:32px;
  --fs-display-2:40px;
  --fs-display-3:52px;
  --fs-display-4:68px;
  --fs-display-5:88px;
  --fs-display-6:120px;
  --fs-display-7:168px;
  --fs-display-8:240px;   /* hero numeral — crop it, don't shrink it */

  --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 */

  --lh-display:1.02; /* @kind other */
  --lh-tight:  1.2; /* @kind other */
  --lh-snug:   1.4; /* @kind other */
  --lh-normal: 1.6; /* @kind other */

  --ls-mega:    -0.035em;  /* ADDITION — display 5-8 */
  --ls-display: -0.022em;  /* ADDITION — display 1-4 */
  --ls-tight:   -0.015em;
  --ls-normal:  0; /* @kind other */
  --ls-caps:    0.08em;
  --ls-key:     0.14em;    /* ADDITION — sidebar section labels, eyebrows */
}

/* --- Reusable type roles --------------------------------- */
.mv-display{font-family:var(--font-display);font-variation-settings:"wdth" var(--wdth-expanded),"wght" 800;font-weight:800;line-height:var(--lh-display);letter-spacing:var(--ls-mega);text-wrap:balance}
.mv-headline{font-family:var(--font-display);font-variation-settings:"wdth" var(--wdth-normal),"wght" 700;font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-display)}
.mv-numeral{font-family:var(--font-numeral);font-variation-settings:"wdth" var(--wdth-expanded),"wght" 800;font-weight:800;line-height:.86;letter-spacing:var(--ls-mega);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1}
.mv-eyebrow{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-key);text-transform:uppercase;line-height:1.2}
.mv-body{font-family:var(--font-body);font-size:var(--fs-lg);line-height:var(--lh-normal);text-wrap:pretty}
.mv-ui{font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-snug)}
.mv-cell{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.35}
.mv-key{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ink-muted)}
.mv-mono{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.mv-tnum{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1}
