/* =====================================================================
   Lokal gehostete Web-Fonts (Self-Hosted, DSGVO-konform).
   Generiert via google-webfonts-helper (gwfh.mranftl.com), latin subset, woff2.
   Original-Source: Google Fonts.
   Lizenz pro Family in Google-Fonts (SIL OFL 1.1, Apache 2.0 etc. — alle frei).
   ===================================================================== */

@font-face {
    font-family: "Albert Sans";
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url("../fonts/albert-sans-v4-latin-200.woff2") format("woff2");
}
@font-face {
    font-family: "Albert Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/albert-sans-v4-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Albert Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/albert-sans-v4-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Archivo Black";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/archivo-black-v23-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Archivo";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/archivo-v25-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Archivo";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../fonts/archivo-v25-latin-900.woff2") format("woff2");
}
@font-face {
    font-family: "Archivo";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/archivo-v25-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Arvo";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/arvo-v23-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Arvo";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/arvo-v23-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Bowlby One";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/bowlby-one-v25-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Bricolage Grotesque";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/bricolage-grotesque-v9-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Bricolage Grotesque";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/bricolage-grotesque-v9-latin-800.woff2") format("woff2");
}
@font-face {
    font-family: "Bricolage Grotesque";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/bricolage-grotesque-v9-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Cardo";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/cardo-v21-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Cardo";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/cardo-v21-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Caveat";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/caveat-v23-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Caveat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/caveat-v23-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/dm-sans-v17-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/dm-sans-v17-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Fraunces";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../fonts/fraunces-v38-latin-900.woff2") format("woff2");
}
@font-face {
    font-family: "Fraunces";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/fraunces-v38-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/inter-v20-latin-300.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/inter-v20-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/inter-v20-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/jetbrains-mono-v24-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/jetbrains-mono-v24-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/jetbrains-mono-v24-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Kalam";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/kalam-v18-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Kalam";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/kalam-v18-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Libre Caslon Text";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/libre-caslon-text-v5-latin-italic.woff2") format("woff2");
}
@font-face {
    font-family: "Libre Caslon Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/libre-caslon-text-v5-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Libre Franklin";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/libre-franklin-v20-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Libre Franklin";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/libre-franklin-v20-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Monoton";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/monoton-v22-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/noto-sans-jp-v56-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/noto-sans-jp-v56-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Noto Serif JP";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/noto-serif-jp-v33-latin-300.woff2") format("woff2");
}
@font-face {
    font-family: "Noto Serif JP";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/noto-serif-jp-v33-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Orbitron";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/orbitron-v35-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Orbitron";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/orbitron-v35-latin-800.woff2") format("woff2");
}
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/outfit-v15-latin-300.woff2") format("woff2");
}
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/outfit-v15-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/outfit-v15-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/outfit-v15-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/outfit-v15-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-700italic.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-900.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-900italic.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-italic.woff2") format("woff2");
}
@font-face {
    font-family: "Playfair Display";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/playfair-display-v40-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/poppins-v24-latin-300.woff2") format("woff2");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/poppins-v24-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/poppins-v24-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/poppins-v24-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/public-sans-v21-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/public-sans-v21-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Quicksand";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/quicksand-v37-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Quicksand";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/quicksand-v37-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Quicksand";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/quicksand-v37-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Rajdhani";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/rajdhani-v17-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Rajdhani";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/rajdhani-v17-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Spectral";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/spectral-v15-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Spectral";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/spectral-v15-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Syne";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/syne-v24-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Syne";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/syne-v24-latin-800.woff2") format("woff2");
}

/* — Marken-Schrift Seitenschreiner (Brand-Refresh Mai 2026) —
   Newsreader als Variable Font: eine Datei deckt Weight 200–800 ab.
   Quelle: Design-System (colors_and_type.css). Genutzt vom Header-Schriftzug,
   ab Phase 2 von den Pakete-Detailseiten. JetBrains Mono ist oben bereits drin. */
@font-face {
    font-family: "Newsreader";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("../fonts/newsreader-wght-normal.woff2") format("woff2-variations"),
         url("../fonts/newsreader-wght-normal.woff2") format("woff2");
}
@font-face {
    font-family: "Newsreader";
    font-style: italic;
    font-weight: 200 800;
    font-display: swap;
    src: url("../fonts/newsreader-wght-italic.woff2") format("woff2-variations"),
         url("../fonts/newsreader-wght-italic.woff2") format("woff2");
}
