/* ============================================================
   SORP — Typography tokens
   Display / brand accent : Unbounded (geometric, spacious)
   Primary / body / UI     : Manrope
   Mono (data, code, IDs)  : system mono fallback
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: "Unbounded", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans:    "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:    ui-monospace, "SF Mono", Menlo, Consolas, monospace;

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

  /* ---- Type scale (px) — editorial, spacious ----
     Display sizes pair with Unbounded; text sizes with Manrope. */
  --fs-display-2xl: 76px;   /* hero, single line statements */
  --fs-display-xl:  60px;
  --fs-display-lg:  48px;
  --fs-display-md:  38px;   /* section titles */
  --fs-display-sm:  30px;

  --fs-xl:  24px;           /* large body / lead */
  --fs-lg:  20px;
  --fs-md:  18px;          /* default body */
  --fs-base:16px;
  --fs-sm:  14px;
  --fs-xs:  13px;
  --fs-2xs: 11px;          /* eyebrow / caps label */

  /* ---- Line heights ---- */
  --lh-tight:    1.04;     /* @kind other */
  --lh-display:  1.12;     /* @kind other */
  --lh-snug:     1.25;     /* @kind other */
  --lh-heading:  1.3;      /* @kind other */
  --lh-normal:   1.5;      /* @kind other */
  --lh-relaxed:  1.62;     /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-tighter: -0.03em;   /* @kind other */
  --ls-tight:   -0.02em;   /* @kind other */
  --ls-snug:    -0.01em;   /* @kind other */
  --ls-normal:  0;         /* @kind other */
  --ls-wide:    0.04em;    /* @kind other */
  --ls-caps:    0.14em;    /* @kind other */

  /* ============================================================
     Semantic text roles
     ============================================================ */
  --text-eyebrow-size: var(--fs-2xs);
  --text-eyebrow-spacing: var(--ls-caps);

  --text-body-size: var(--fs-md);
  --text-body-line: var(--lh-relaxed);
  --text-body-spacing: var(--ls-snug);
}
