/* ---------------------------------------------------------------------------
 * Site typography = ElevenLabs' (elevenlabs.io, from its HAR, 2026-10-15).
 * Linked on every page by server/lib/html.js overrideTags(), after custom.css.
 *
 *   Role              ElevenLabs font          Here
 *   ----------------  -----------------------  ---------------------------------------
 *   Headings/display  Waldenburg (KMR, paid)   "Waldenburg" first — active once the licensed
 *                                              files are added (see @font-face below);
 *                                              until then Inter Display (Inter's 32pt cut).
 *   Body / UI         Inter (variable)         Inter — same Google Fonts file ElevenLabs uses.
 *   Mono              Geist Mono (variable)    Geist Mono — same Google Fonts file.
 *
 * Their scale: headings weight 300, line-height 105–120%, tracking −0.03em (h1/h2),
 * −0.02em (h3); small headings 400 / −0.01em; subheads 700 / +0.01em; body Inter 400, 140%.
 * The navbar/footer logo is an image and is never touched.
 * ------------------------------------------------------------------------ */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/overrides/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/overrides/fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/overrides/fonts/geist-mono-latin.woff2") format("woff2");
}

/* Waldenburg (KMR / Kilotype) is a commercial typeface. ElevenLabs' copy is licensed to
 * them only, so it isn't bundled here. After buying a web licence, put the files in
 * overrides/fonts/waldenburg/ with these names and remove the comment markers below —
 * every heading switches to it automatically (it's already first in the stacks). */
/*
@font-face { font-family: "Waldenburg"; font-weight: 300; font-display: swap; src: url("/overrides/fonts/waldenburg/Waldenburg-Light.woff2") format("woff2"); }
@font-face { font-family: "Waldenburg"; font-weight: 400; font-display: swap; src: url("/overrides/fonts/waldenburg/Waldenburg-Regular.woff2") format("woff2"); }
@font-face { font-family: "Waldenburg"; font-weight: 700; font-display: swap; src: url("/overrides/fonts/waldenburg/Waldenburg-Bold.woff2") format("woff2"); }
@font-face { font-family: "WaldenburgFH"; font-weight: 700; font-display: swap; src: url("/overrides/fonts/waldenburg/WaldenburgFH-Bold.woff2") format("woff2"); }
*/

:root {
  --el-font-heading: "Waldenburg", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --el-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --el-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* The page's own font tokens, repointed: Geist (UI/body) → Inter; Cypher LM Sans and
     Wulkan Text (headings, labels) → the Waldenburg stack; mono → Geist Mono. */
  --font-geist: var(--el-font-body);
  --font-sans: var(--el-font-body);
  --font-cypherlm-sans: var(--el-font-heading);
  --font-wulkan: var(--el-font-heading);
  --font-mono: var(--el-font-mono);
}

body {
  font-family: var(--el-font-body);
  font-optical-sizing: auto; /* Inter picks its display cut at large sizes, like ElevenLabs */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings: the new heading font, the new font a touch thicker (400, not bold); colours are never changed (owner, 2026-10-15). */
h1, h2 {
  font-family: var(--el-font-heading);
  font-weight: 400;
  letter-spacing: -0.03em;
}
h1 { line-height: 1.05; }
h2 { line-height: 1.1; }
h3 {
  font-family: var(--el-font-heading);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
/* Smaller headings: same weight. */
h4, h5, h6 {
  font-family: var(--el-font-heading);
  font-weight: 400;
  letter-spacing: -0.01em;
}

code, kbd, pre, samp, .font-mono { font-family: var(--el-font-mono); }

/* The navbar/footer logo is an image (custom.js swaps in wordmark-full.png), so none of
   this changes it (owner, 2026-10-15: keep the logo as is). */

/* Blog tables hard-code Geist inline; bring them onto the body font too. */
[style*="font-family:Geist"] { font-family: var(--el-font-body) !important; }
