/* Self-hosted webfonts.
 *
 * These used to come from fonts.googleapis.com, which meant every visitor's
 * IP address was sent to Google before they had agreed to anything. A
 * German court (Landgericht München I, January 2022) awarded a visitor
 * damages over exactly that, and it kicked off a wave of warning letters in
 * Germany. The fix is to serve the files ourselves, which also drops a DNS
 * lookup and a TLS handshake to a third-party domain from every page load.
 *
 * Files live in fonts/ and cover the latin and latin-ext subsets, so Czech,
 * Polish, Turkish and the rest of the European diacritics render properly in
 * client names and invoice lines.
 *
 * font-display: swap keeps text visible while a face is still loading,
 * which is what Google's URL asked for too.
 *
 * Adding a weight means adding its file AND its block here. A weight with no
 * file falls back to the system stack, which looks wrong rather than broken.
 */

/* ---------- Inter: the interface face ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/inter-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/inter-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/inter-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/inter-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/inter-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/inter-900.woff2') format('woff2');
}

/* ---------- Poppins: used on three pages ---------- */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/poppins-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/poppins-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/poppins-700.woff2') format('woff2');
}

/* ---------- JetBrains Mono: numbers and code ---------- */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/jetbrains-mono-500.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/jetbrains-mono-700.woff2') format('woff2');
}

/* ---------- Caveat: the handwritten accent on the landing page ---------- */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/caveat-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/caveat-700.woff2') format('woff2');
}
