/* ════════════════════════════════════════════════════════════════════
   PaidUp · fonts.css · the self-hosted type system
   The PaidUp voice: FRAUNCES for display (an engraved, old-style "money
   serif": the trust register of a payments brand), INTER for interface
   body, IBM PLEX MONO for money and data (tabular). All latin woff2,
   self-hosted from /assets/fonts so the page makes zero third-party
   requests. font-display: swap + metric-adjusted fallbacks keep first
   paint stable. Product-layer override: --disp is repointed to Fraunces
   here; the canonical tokens.css stays byte-synced and untouched.
   ════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: "Fraunces";
  src: url("/assets/fonts/fraunces-600.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("/assets/fonts/fraunces-400i.woff2") format("woff2");
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-600.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/plex-mono-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/plex-mono-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

/* metric-adjusted local fallbacks so swap does not shift layout */
@font-face {
  font-family: "Fraunces-fallback";
  src: local("Georgia"), local("Times New Roman");
  size-adjust: 105%; ascent-override: 92%; descent-override: 24%;
}

/* ── the PaidUp type override (product layer; tokens.css untouched) ── */
:root {
  --disp: "Fraunces", "Fraunces-fallback", Georgia, "Times New Roman", serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* serif display wants near-neutral tracking (Michroma wanted wide) */
  --disp-track: -0.012em;
  --disp-track-tight: -0.02em;
}
