/* O!Sapiens — Typography tokens
   Montserrat (sans) carries the system: Black/ExtraBold for display, Bold for UI, Regular for body.
   Palatino (serif) is reserved for product-line naming & decorative display ("OS: Foundation", "OS 101")
   — the serif signals knowledge tradition against the modern sans.
   Brand name SAPIENS is always set in ALL CAPS, Montserrat Black/ExtraBold. */

:root {
  /* ---- Families ---- */
  --font-sans:  "Montserrat", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-serif: "Palatino", "Palatino Linotype", "Book Antiqua", Georgia, serif;

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

  /* ---- Display / heading scale (Montserrat) ---- */
  --text-display-xl: 900 6rem/0.95 var(--font-sans);   /* 96px — hero SAPIENS */
  --text-display-l:  900 4rem/0.98 var(--font-sans);   /* 64px */
  --text-display-m:  800 3rem/1.0  var(--font-sans);   /* 48px */
  --text-h1:         800 2.5rem/1.05 var(--font-sans); /* 40px */
  --text-h2:         700 2rem/1.1  var(--font-sans);   /* 32px */
  --text-h3:         700 1.5rem/1.15 var(--font-sans); /* 24px */
  --text-h4:         700 1.25rem/1.2 var(--font-sans); /* 20px */

  /* ---- Body / UI (Montserrat) ---- */
  --text-body-l:  400 1.25rem/1.5 var(--font-sans);  /* 20px */
  --text-body-m:  400 1rem/1.55 var(--font-sans);    /* 16px */
  --text-body-s:  400 0.875rem/1.5 var(--font-sans); /* 14px */
  --text-label:   600 0.8125rem/1.2 var(--font-sans);/* 13px UI label */

  /* ---- Serif display (Palatino) — product lines ---- */
  --text-serif-xl: 400 5rem/1.0 var(--font-serif);   /* 80px — "OS: Foundation" */
  --text-serif-l:  400 3.125rem/1.05 var(--font-serif); /* 50px */
  --text-serif-m:  400 2rem/1.1 var(--font-serif);   /* 32px */

  /* ---- Letter-spacing ---- */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0em;
  --tracking-wide:    0.04em;  /* eyebrow / label caps */
  --tracking-caps:    0.06em;
}
