@font-face {
  font-family: 'Geist Variable';
  src: url('fonts/Geist-Variable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('fonts/Geist-Variable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* LT Superior Serif — the actual brand heading face. */
@font-face {
  font-family: 'LT Superior Serif';
  src: url('fonts/LTSuperiorSerif-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Brand typography tokens. Headings use LT Superior Serif, body uses Geist.
   These also override Reforma's per-element font-family vars so the global
   h1–h6 + body rules in reforma-base.css resolve to the brand faces. */
:root {
  --cp-font-heading: 'LT Superior Serif', Georgia, serif;
  --cp-font-body:    'Geist', system-ui, -apple-system, Segoe UI, sans-serif;

  /* Headings → LT Superior */
  --font-family-h1: var(--cp-font-heading);
  --font-family-h2: var(--cp-font-heading);
  --font-family-h3: var(--cp-font-heading);
  --font-family-h4: var(--cp-font-heading);
  --font-family-h5: var(--cp-font-heading);
  --font-family-h6: var(--cp-font-heading);

  /* Body + buttons → Geist (Reforma's b1/b2/b3 + button-1/button-2 vars) */
  --font-family-b1: var(--cp-font-body);
  --font-family-b2: var(--cp-font-body);
  --font-family-b3: var(--cp-font-body);
  --font-family-button-1: var(--cp-font-body);
  --font-family-button-2: var(--cp-font-body);
}

/* Belt-and-suspenders: in case anything inherits from <body> before the
   Reforma var rules cascade (e.g. children whose own rules don't reference
   --font-family-b*), force the body face on the root element too. */
html, body {
  font-family: var(--cp-font-body);
}
