/* ============================================================
   SCHATTENWERK — Locally Hosted Fonts
   Replaces external Google Fonts to avoid IP transmission to
   Google LLC (DSGVO / Google-Fonts-Welle 2022 compliance).
   ============================================================
   Families:
   - Inter (100-900): index.html, impressum.html, datenschutz.html
   - JetBrains Mono (400, 700): index.html
   - Big Shoulders Display (100-900): impressum.html, datenschutz.html
   - IBM Plex Sans (100-700): impressum.html, datenschutz.html

   Source: fonts.gstatic.com (downloaded 2026-05-27).
   License: SIL Open Font License 1.1 (all four families).
   ============================================================ */

/* --- Inter --- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('Inter-100.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('Inter-200.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('Inter-300.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('Inter-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('Inter-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('Inter-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('Inter-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('Inter-800.ttf') format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('Inter-900.ttf') format('truetype');
}

/* --- JetBrains Mono --- */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('JetBrainsMono-400.ttf') format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('JetBrainsMono-700.ttf') format('truetype');
}

/* --- Big Shoulders Display --- */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('BigShouldersDisplay-100.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('BigShouldersDisplay-200.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('BigShouldersDisplay-300.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('BigShouldersDisplay-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('BigShouldersDisplay-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('BigShouldersDisplay-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('BigShouldersDisplay-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('BigShouldersDisplay-800.ttf') format('truetype');
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('BigShouldersDisplay-900.ttf') format('truetype');
}

/* --- IBM Plex Sans --- */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-100.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 200;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-200.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-300.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-400.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-500.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-600.ttf') format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url('IBMPlexSans-700.ttf') format('truetype');
}
