:root{
  --font-display:"Nexa","Outfit",system-ui,sans-serif;      /* Nexa Heavy / ExtraLight only */
  --font-ui:"Outfit",system-ui,-apple-system,sans-serif;    /* every interface weight */
  /* Numeric role: Outfit with tabular numerals — NOT a monospace face (approved decision).
     Pair var(--font-numeric) with font-variant-numeric:tabular-nums. */
  --font-numeric:"Outfit",system-ui,-apple-system,sans-serif;
  /* deprecated alias — kept for older consumers */
  --font-mono:var(--font-numeric); /* @kind font */

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

  /* Interface scale — desktop-first, data-dense */
  --fs-10:10px; --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px;
  --fs-15:15px; --fs-16:16px; --fs-18:18px; --fs-20:20px; --fs-24:24px;
  --fs-28:28px; --fs-32:32px; --fs-40:40px;
  /* Display scale — decks, marketing, section openers */
  --fs-52:52px; --fs-58:58px; --fs-72:72px;

  --lh-tight:1.08; /* @kind font */ --lh-snug:1.22; /* @kind font */
  --lh-normal:1.45; /* @kind font */ --lh-relaxed:1.6; /* @kind font */

  /* Nexa Heavy at large sizes */
  --ls-display:-0.02em; /* @kind font */
  --ls-title:-0.01em;    /* @kind font */
  --ls-body:0em;         /* @kind font */
  /* uppercase eyebrow labels */
  --ls-label:0.08em; /* @kind font */
  --ls-caps:0.06em;      /* @kind font */

  /* Composed roles */
  --type-display-xl:var(--fw-black) var(--fs-72)/var(--lh-tight) var(--font-display);
  --type-display-lg:var(--fw-black) var(--fs-52)/var(--lh-tight) var(--font-display);
  --type-display-md:var(--fw-black) var(--fs-40)/var(--lh-snug) var(--font-display);
  --type-title-lg:var(--fw-semibold) var(--fs-24)/var(--lh-snug) var(--font-ui);
  --type-title-md:var(--fw-semibold) var(--fs-18)/var(--lh-snug) var(--font-ui);
  --type-title-sm:var(--fw-semibold) var(--fs-15)/var(--lh-snug) var(--font-ui);
  --type-body:var(--fw-regular) var(--fs-14)/var(--lh-normal) var(--font-ui);
  --type-body-sm:var(--fw-regular) var(--fs-13)/var(--lh-normal) var(--font-ui);
  --type-caption:var(--fw-regular) var(--fs-12)/var(--lh-normal) var(--font-ui);
  --type-label:var(--fw-semibold) var(--fs-11)/1.3 var(--font-ui);
  --type-numeric:var(--fw-medium) var(--fs-13)/1.3 var(--font-numeric);
}
