/* Hatchery — Typography tokens
   Display: HV Fitzgerald (classic, sophisticated, retro serif) — headings & display
   Primary: PP Radio Grotesk (contemporary grotesk sans) — body, UI, labels */

:root {
  --font-display: "HV Fitzgerald", "Playfair Display", Georgia, serif;
  --font-sans: "PP Radio Grotesk", "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", ui-monospace, "Menlo", monospace;

  /* Weights */
  --fw-light: 300;   /* @kind font */
  --fw-regular: 400; /* @kind font */
  --fw-bold: 700;    /* @kind font */

  /* Type scale (display serif — large editorial moments) */
  --text-display-2xl: 128px;
  --text-display-xl: 96px;
  --text-display-lg: 72px;
  --text-display-md: 56px;
  --text-display-sm: 40px;

  /* Type scale (headings & body — grotesk sans) */
  --text-h1: 44px;
  --text-h2: 34px;
  --text-h3: 26px;
  --text-h4: 20px;
  --text-body-lg: 20px;
  --text-body: 17px;
  --text-body-sm: 15px;
  --text-caption: 13px;
  --text-overline: 12px;

  /* Line heights */
  --lh-tight: 1.02;   /* @kind other */
  --lh-display: 1.06; /* @kind other */
  --lh-heading: 1.15; /* @kind other */
  --lh-snug: 1.35;    /* @kind other */
  --lh-body: 1.55;    /* @kind other */

  /* Letter spacing */
  --ls-display: -0.02em; /* @kind other */
  --ls-heading: -0.01em; /* @kind other */
  --ls-body: 0;          /* @kind other */
  --ls-overline: 0.14em; /* @kind other */
}

/* Editorial helper classes */
.hx-display { font-family: var(--font-display); font-weight: var(--fw-regular);
  line-height: var(--lh-display); letter-spacing: var(--ls-display); }
.hx-display-italic { font-family: var(--font-display); font-style: italic;
  font-weight: var(--fw-regular); }
.hx-heading { font-family: var(--font-sans); font-weight: var(--fw-bold);
  line-height: var(--lh-heading); letter-spacing: var(--ls-heading); }
.hx-body { font-family: var(--font-sans); font-weight: var(--fw-regular);
  line-height: var(--lh-body); }
.hx-overline { font-family: var(--font-sans); font-weight: var(--fw-regular);
  text-transform: uppercase; letter-spacing: var(--ls-overline);
  font-size: var(--text-overline); }
