/* Self-hosted faces — no external font host, per the zero-tracker premise.
   Files fetched 31 Aug 2026 via google-webfonts-helper (latin subset, woff2).
   Libre Franklin: the site's single sans, 400/600/700/800/900.
   Spline Sans Mono: datestamps, bylines, tags, 400/500. */

@font-face {
  font-family: 'Libre Franklin'; font-style: normal; font-weight: 400;
  font-display: swap;
  src: url('libre-franklin-v20-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Libre Franklin'; font-style: normal; font-weight: 600;
  font-display: swap;
  src: url('libre-franklin-v20-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Libre Franklin'; font-style: normal; font-weight: 700;
  font-display: swap;
  src: url('libre-franklin-v20-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Libre Franklin'; font-style: normal; font-weight: 800;
  font-display: swap;
  src: url('libre-franklin-v20-latin-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Libre Franklin'; font-style: normal; font-weight: 900;
  font-display: swap;
  src: url('libre-franklin-v20-latin-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Spline Sans Mono'; font-style: normal; font-weight: 400;
  font-display: swap;
  src: url('spline-sans-mono-v13-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Spline Sans Mono'; font-style: normal; font-weight: 500;
  font-display: swap;
  src: url('spline-sans-mono-v13-latin-500.woff2') format('woff2');
}
