/* ============================================================
   나눔글꼴 — Typography tokens
   One family, four weights. Nanum Gothic is a humanist Korean
   sans ("고딕") built for screen readability — even rhythm,
   open counters, generous line spacing for Hangul.
   ============================================================ */

:root {
  /* ---- Family ---- */
  --font-sans: "Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic",
    system-ui, sans-serif;
  --font-display: "Nanum Gothic", "Apple SD Gothic Neo", sans-serif;

  /* ---- Weights ---- */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* ---- Type scale (rem, 16px base) ---- */
  --size-display-1: 5.5rem;   /* 88px */
  --size-display-2: 4rem;     /* 64px */
  --size-title-1:   3rem;     /* 48px */
  --size-title-2:   2.25rem;  /* 36px */
  --size-title-3:   1.75rem;  /* 28px */
  --size-heading:   1.375rem; /* 22px */
  --size-subhead:   1.125rem; /* 18px */
  --size-body:      1rem;     /* 16px */
  --size-small:     0.875rem; /* 14px */
  --size-caption:   0.75rem;  /* 12px */

  /* ---- Line heights ---- */
  --leading-tight:  1.15;  /* display */
  --leading-snug:   1.3;   /* headings */
  --leading-normal: 1.6;   /* body (Hangul comfort) */
  --leading-relaxed: 1.8;  /* long-form Korean prose */

  /* ---- Letter spacing (Hangul prefers near-zero / slightly tight) ---- */
  --tracking-tight:  -0.02em;
  --tracking-snug:   -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em; /* labels / eyebrows */

  /* ============================================================
     Semantic roles
     ============================================================ */
  --text-display: var(--weight-extrabold) var(--size-display-1) /
    var(--leading-tight) var(--font-display);
  --text-title: var(--weight-extrabold) var(--size-title-1) /
    var(--leading-snug) var(--font-display);
  --text-heading: var(--weight-bold) var(--size-heading) /
    var(--leading-snug) var(--font-sans);
  --text-body-role: var(--weight-regular) var(--size-body) /
    var(--leading-normal) var(--font-sans);
  --text-caption-role: var(--weight-regular) var(--size-caption) /
    var(--leading-snug) var(--font-sans);
}
