/* ============================================================
   SCC — Typography tokens
   Khmer-first. Noto Sans Khmer is the single primary family;
   it carries both Khmer and Latin. Noto Sans is the Latin-only
   companion when a run is purely Latin/numeric.
   Display headlines are heavy (800–900) — echoing the bold
   "sticker" headline treatment on SCC promo graphics.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-khmer:   "Noto Sans Khmer", "Noto Sans", system-ui, sans-serif;
  --font-latin:   "Noto Sans", "Noto Sans Khmer", system-ui, sans-serif;
  /* Default text family is Khmer-first */
  --font-sans:    var(--font-khmer);
  --font-display: var(--font-khmer);   /* heavy weight makes the display voice */
  --font-mono:    "Noto Sans", ui-monospace, monospace; /* numerals/codes */

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

  /* ---- Type scale (1.25 major-third, 16px base) ---- */
  --fs-2xs:  11px;
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  30px;
  --fs-3xl:  38px;
  --fs-4xl:  48px;
  --fs-5xl:  60px;
  --fs-6xl:  76px;

  /* ---- Line heights ----
     Khmer needs generous leading (sub/superscript glyphs).
     Keep body >= 1.7; headlines tighter. */
  --lh-tight:   1.18; /* @kind font */
  --lh-snug:    1.35; /* @kind font */
  --lh-normal:  1.55; /* @kind font */
  --lh-relaxed: 1.75; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tight:  -0.01em; /* @kind font */
  --ls-normal: 0; /* @kind font */
  --ls-wide:   0.04em; /* @kind font */
  --ls-caps:   0.12em; /* @kind font */

  /* ---- Semantic roles ---- */
  --text-display-size:   var(--fs-5xl);
  --text-display-weight: var(--fw-black); /* @kind font */
  --text-display-lh:     var(--lh-tight); /* @kind font */

  --text-h1-size:   var(--fs-4xl);
  --text-h2-size:   var(--fs-3xl);
  --text-h3-size:   var(--fs-2xl);
  --text-h4-size:   var(--fs-xl);

  --text-body-size:    var(--fs-base);
  --text-body-lh:      var(--lh-relaxed); /* @kind font */
  --text-caption-size: var(--fs-sm);
  --text-overline-size:var(--fs-xs);
}
