/**
 * Klarte typography — first-party self-hosted fonts (no Google Fonts / Fontshare CDN).
 * Families: Plus Jakarta Sans (UI / body), Geist (display titles — class `font-serif`),
 * Space Grotesk (landing nav wordmark «Klarte» only).
 * Plus Jakarta Sans: SIL OFL (Tokotype). Geist: SIL OFL (Vercel).
 * Outfit / Space Grotesk: SIL OFL.
 * Files: assets/fonts/plus-jakarta-sans/, assets/fonts/geist/, assets/fonts/outfit/, assets/fonts/space-grotesk/.
 */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/fonts/plus-jakarta-sans/PlusJakartaSans-Variable.ttf") format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/fonts/plus-jakarta-sans/PlusJakartaSans-VariableItalic.ttf") format("truetype");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Geist";
  src: url("/assets/fonts/geist/geist-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geist";
  src: url("/assets/fonts/geist/geist-latin-wght-italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("/assets/fonts/space-grotesk/SpaceGrotesk-Variable.ttf") format("truetype");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --klarte-font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --klarte-font-display: "Geist", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --klarte-font-wordmark: "Space Grotesk", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --klarte-display-tracking: -0.03em;
}

html {
  font-family: var(--klarte-font-sans);
}

.font-sans {
  font-family: var(--klarte-font-sans);
}

html .font-display,
html .klarte-display,
html .font-serif {
  font-family: var(--klarte-font-display);
  letter-spacing: var(--klarte-display-tracking);
}

html .landing-nav-wordmark {
  font-family: var(--klarte-font-wordmark);
  letter-spacing: -0.02em;
}

/* Modal scrim. Brand ink is navy, and booking themes recolor ink, so every
   full-screen overlay stays a neutral black wash. */
.fixed.inset-0[class*="bg-ink/"],
.fixed.inset-0 > .absolute.inset-0[class*="bg-ink/"] {
  background-color: rgb(0 0 0 / 0.45) !important;
}
