/* ============================================================
   Teradix — Typography Tokens
   Latin: Duplet Open. Arabic: Forma DJR Arabic (Text + Display).
   Switch the body family on [dir="rtl"] (see styles in consumers).
   Legacy used a 62.5% root (1rem = 10px); here the scale is expressed
   in absolute px so it is portable into any document.
   ============================================================ */

:root {
  /* ---------- Families ---------- */
  --font-sans: "Duplet Open", "Helvetica Neue", Arial, system-ui, sans-serif;
  /* Arabic body / normal text → Helvetica Neue LT Arabic.
     Arabic titles / headings → Forma DJR Arabic Display (see --font-arabic-display). */
  --font-arabic: "Helvetica Neue Arabic", "Duplet Open", "Helvetica Neue", Arial, sans-serif;
  --font-arabic-display: "Forma DJR Arabic Display", "Forma DJR Arabic", "Helvetica Neue Arabic", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

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

  /* ---------- Type scale (px) ---------- */
  --text-2xs: 11px;
  --text-xs:  12px;
  --text-sm:  13px;
  --text-base:14px;   /* body default */
  --text-md:  15px;
  --text-lg:  16px;
  --text-xl:  18px;
  --text-2xl: 20px;
  --text-3xl: 24px;
  --text-4xl: 28px;
  --text-5xl: 32px;   /* h1 */
  --text-6xl: 40px;
  --text-7xl: 48px;
  --text-8xl: 56px;

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

  /* ---------- Letter spacing ---------- */
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.08em;   /* eyebrow / overline labels */

  /* ---------- Semantic role tokens ---------- */
  --font-display:  var(--weight-bold)     var(--text-5xl)/var(--leading-tight) var(--font-sans);
  --font-h1:       var(--weight-bold)     var(--text-4xl)/var(--leading-tight) var(--font-sans);
  --font-h2:       var(--weight-semibold) var(--text-3xl)/var(--leading-snug) var(--font-sans);
  --font-h3:       var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --font-h4:       var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --font-body-lg:  var(--weight-regular)  var(--text-lg)/var(--leading-normal) var(--font-sans);
  --font-body:     var(--weight-regular)  var(--text-base)/var(--leading-normal) var(--font-sans);
  --font-body-sm:  var(--weight-regular)  var(--text-sm)/var(--leading-normal) var(--font-sans);
  --font-label:    var(--weight-semibold) var(--text-sm)/var(--leading-snug) var(--font-sans);
  --font-caption:  var(--weight-regular)  var(--text-xs)/var(--leading-snug) var(--font-sans);
  --font-overline: var(--weight-semibold) var(--text-2xs)/var(--leading-snug) var(--font-sans);
}
