/* ========================================
   SELF-HOSTED FONTS — DSGVO Compliant
   No external Google Fonts requests
   v4 — Apr 24 2026: added JetBrains Mono + Inter (woff2), Helvena 400 fallback
   ======================================== */

/* ─────────────────────────────────────────
   Helvena Grotesk — body/UI sans (Envato Elements)
   ───────────────────────────────────────── */
/* 400 (Regular): Envato package ships only 500+; we map 400 to Medium
   so body text declared as `font-weight: 400` doesn't trigger browser
   synth (which renders ugly faux-light). Keep this until Envato Regular
   becomes available. */
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Extrabold.woff2') format('woff2');
}
@font-face {
  font-family: 'Helvena';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/assets/fonts/helvena/Helvena-Black.woff2') format('woff2');
}

/* ─────────────────────────────────────────
   Rumelaz Gekinsa — display serif (Envato)
   v5 — May 7 2026: replaces Editorial Today as primary display.
   Editorial kept loaded for legacy fallback during transition.
   ───────────────────────────────────────── */
@font-face {
  font-family: 'Rumelaz';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/rumelaz/RumelazGekinsa-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Rumelaz';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/rumelaz/RumelazGekinsa-Italic.woff2') format('woff2');
}
/* Rumelaz only ships Regular + Italic — synthesize SemiBold/Bold via
   font-synthesis fallback only when explicitly needed. The display use-
   case (h1/h2/serif-italic accents) reads at Regular weight by design. */

/* ─────────────────────────────────────────
   Casual Human — handwriting micro-copy (Envato)
   v6 — May 7 2026: anti-AI accent for marginalia, scarcity notes,
   founder asides. Use sparingly, always tilted 1-3deg, never as
   primary copy. The texture is the differentiator — it's the one
   thing AI cannot fake convincingly.
   ───────────────────────────────────────── */
@font-face {
  font-family: 'CasualHuman';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/casual-human/CasualHuman.woff2') format('woff2');
}
@font-face {
  font-family: 'CasualHuman';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/casual-human/CasualHuman-Bold.woff2') format('woff2');
}

/* ─────────────────────────────────────────
   Editorial Today — display serif (Envato) — LEGACY FALLBACK
   ───────────────────────────────────────── */
@font-face {
  font-family: 'Editorial';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Editorial';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-Italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Editorial';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'Editorial';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'Editorial';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-BoldItalic.woff2') format('woff2');
}
@font-face {
  font-family: 'Editorial';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/editorial-today/EditorialToday-ExtraBold.woff2') format('woff2');
}

/* ─────────────────────────────────────────
   Inter — system body fallback (self-hosted, DSGVO-friendly)
   Sourced via Fontsource (OFL). Used as the secondary stack
   under Helvena so weight 400 paragraphs always have a
   real font, never browser-synthesized.
   ───────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/inter/Inter-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/inter/Inter-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/inter/Inter-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/inter/Inter-Bold.woff2') format('woff2');
}

/* ─────────────────────────────────────────
   JetBrains Mono — micro-kicker monospace (self-hosted)
   Sourced via Fontsource (OFL/Apache 2.0). Used everywhere
   we previously fell back to system mono (Menlo / Consolas)
   — guarantees cross-OS visual consistency on .mono-kicker,
   pilot-pill, ps-pill, .demo-hint, .skip-link, etc.
   ───────────────────────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono/JetBrainsMono-Medium.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2') format('woff2');
}
