/* ============================================================
   Qualios · Typography tokens — IBM Plex superfamily
   ============================================================ */

:root {
  /* ---- Families ------------------------------------------- */
  --font-sans:  'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --font-mono:  'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --font-serif: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;

  /* Aliases by role */
  --font-body:    var(--font-sans);     /* UI + prose (Inter) */
  --font-code:    var(--font-mono);     /* document codes, audit refs, indicators */
  --font-quote:   var(--font-display);  /* editorial / authority moments */

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

  /* ---- Type scale (px → rem at 16px root) ----------------- */
  --text-2xs:  0.6875rem;  /* 11px — micro labels, table meta */
  --text-xs:   0.75rem;    /* 12px — captions, badges */
  --text-sm:   0.8125rem;  /* 13px — secondary UI, dense tables */
  --text-base: 0.875rem;   /* 14px — default UI body */
  --text-md:   1rem;       /* 16px — comfortable body / inputs */
  --text-lg:   1.125rem;   /* 18px — section lead */
  --text-xl:   1.375rem;   /* 22px — card titles */
  --text-2xl:  1.75rem;    /* 28px — page titles */
  --text-3xl:  2.25rem;    /* 36px — display */
  --text-4xl:  3rem;       /* 48px — hero / big KPI */

  /* ---- Line heights --------------------------------------- */
  --leading-tight:   1.2;
  --leading-snug:    1.35;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing ------------------------------------- */
  --tracking-tight:  -0.02em;    /* display headings 48px+ */
  --tracking-snug:   -0.01em;    /* mid headings */
  --tracking-normal: 0;
  --tracking-wide:   0.02em;
  --tracking-caps:   0.08em;     /* eyebrows / overlines */
}
