/* ==========================================================================
   Typography — Ilya Davydkin personal brand
   Headline: Newsreader (editorial serif), 400–600, airy. Italic = accent word.
   Body/UI:  Hanken Grotesk, 400–900.
   Scale is editorial: large, generous, magazine — not dashboard.
   ========================================================================== */

:root {
  /* ---- Families ----------------------------------------------------- */
  /* Newsreader is THE headline font. Georgia + 'Times New Roman' are
     fallback-only — what the browser shows while Newsreader loads, or
     if the font fails to load. They are NOT brand fonts. */
  --font-serif:  'Newsreader', Georgia, 'Times New Roman', serif;
  --font-sans:   'Hanken Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --font-display: var(--font-serif); /* headlines */
  --font-body:    var(--font-sans);  /* body + UI */

  /* ---- Weights ------------------------------------------------------ */
  --weight-display:      500; /* Newsreader headlines, airy */
  --weight-display-soft: 400;
  --weight-body:         400;
  --weight-medium:       500;
  --weight-semibold:     600;
  --weight-bold:         700;
  --weight-black:        800; /* Hanken heavy for content / posters */
  --weight-ultra:        900;

  /* ---- Type scale (fluid where it helps) — oversized editorial ------ */
  --text-display-xl: clamp(3.25rem, calc(7vw + 1rem), 7rem);    /* hero headline */
  --text-display-l:  clamp(2.75rem, calc(5vw + 1rem), 5.25rem);  /* section headline */
  --text-display-m:  clamp(2.25rem, calc(3.5vw + 1rem), 4.25rem);/* sub-hero */
  --text-title:      1.875rem;  /* 30px — card / block title */
  --text-subtitle:   1.25rem;   /* 20px */
  --text-lead:       1.1875rem; /* 19px — intro paragraphs */
  --text-body:       1.0625rem; /* 17px — default body */
  --text-small:      0.9375rem; /* 15px */
  --text-caption:    0.8125rem; /* 13px */
  --text-overline:   0.75rem;   /* 12px — labels, kickers */

  /* ---- Line heights ------------------------------------------------- */
  --leading-tight:   1.04; /* big display */
  --leading-snug:    1.18; /* headlines */
  --leading-normal:  1.5;  /* body */
  --leading-relaxed: 1.62; /* long-form */

  /* ---- Letter spacing ----------------------------------------------- */
  --tracking-display: -0.02em; /* serif headlines pull tight */
  --tracking-tight:   -0.01em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-overline: 0.14em; /* uppercase kickers */
}
