/* ============================================================
   TrendLink 聯和趨動 — Typography Tokens
   ------------------------------------------------------------
   One humanist sans family carries everything (zh-TW + Latin).
   Weights: 400 regular body, 500 medium UI, 700 bold headings,
   900 black for hero display. Generous line-height for CJK
   legibility (1.7 body, 1.3 headings). Latin/numerals fall
   through to Noto Sans for crisp figures.
   ============================================================ */

:root {
  /* ---- Families ---------------------------------------- */
  --font-sans: "Noto Sans TC", "Noto Sans", "PingFang TC",
               "Microsoft JhengHei", "Helvetica Neue", system-ui, sans-serif;
  --font-latin: "Noto Sans", "Noto Sans TC", system-ui, sans-serif;
  --font-mono: "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;

  /* ---- Weights ----------------------------------------- */
  --weight-regular: 400;
  --weight-medium:  500;
  --weight-bold:    700;
  --weight-black:   900;

  /* ---- Type scale (px → rem at 16px base) -------------- */
  --text-2xs:  0.6875rem;  /* 11 — micro labels            */
  --text-xs:   0.75rem;    /* 12 — captions, meta          */
  --text-sm:   0.875rem;   /* 14 — secondary UI            */
  --text-base: 1rem;       /* 16 — body                    */
  --text-md:   1.125rem;   /* 18 — lead body               */
  --text-lg:   1.25rem;    /* 20 — card titles             */
  --text-xl:   1.5rem;     /* 24 — section sub-heads       */
  --text-2xl:  1.875rem;   /* 30 — H3                      */
  --text-3xl:  2.25rem;    /* 36 — H2                      */
  --text-4xl:  2.875rem;   /* 46 — H1                      */
  --text-5xl:  3.75rem;    /* 60 — hero display            */

  /* ---- Line heights ------------------------------------ */
  --leading-tight:   1.25;
  --leading-snug:    1.4;
  --leading-normal:  1.6;
  --leading-relaxed: 1.8;   /* long-form CJK prose          */

  /* ---- Letter spacing (CJK likes a touch of tracking) -- */
  --tracking-tight:  -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-wider:  0.12em;  /* eyebrow / overline labels  */

  /* ---- Semantic roles ---------------------------------- */
  --display-font: var(--font-sans);
  --display-weight: var(--weight-black);
  --heading-font: var(--font-sans);
  --heading-weight: var(--weight-bold);
  --body-font: var(--font-sans);
  --body-weight: var(--weight-regular);
}
