/* ──────────────────────────────────────────────────────────────────────
   BASE — reset + element defaults. Sets the body font, page background,
   and default heading/text behavior so naked HTML already looks right.
   ────────────────────────────────────────────────────────────────────── */

/* ── Fonts: self-hosted, variable, same origin as the HTML ─────────
   Declared here rather than fetched from Google so the display face
   actually loads and the page opens no third-party connections. */
@font-face {
  font-family: "Libre Bodoni";
  src: url("../fonts/LibreBodoni-Variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Libre Bodoni";
  src: url("../fonts/LibreBodoni-Italic.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("../fonts/DMSans-Variable.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
button { font-family: inherit; }

[x-cloak] { display: none !important; }
