/* Grundregeln der Seite. Sie entsprechen genau dem, was bei OnePage auf den
   Bausteinen lag (ausgelesen am 05.10.2026 von der Live-Seite): Farben und
   Schriften als Variablen, Rahmenmaß, Schriftgröße und Zeilenabstand, die
   jeder Baustein erbt, und der eine Pixel Überlappung zwischen den Bausteinen.
   Hier nichts „aufräumen“: Jede Zeile wirkt auf das Aussehen. */

:root {
  --color-kit-white: #F8F8FB;
  --color-kit-white-array: 248,248,251;
  --color-kit-black: #081227;
  --color-kit-black-array: 8,18,39;
  --color-kit-light: #F1F2F7;
  --color-kit-light-array: 241,242,247;
  --color-kit-dark: #0C1A38;
  --color-kit-dark-array: 12,26,56;
  --color-kit-key1: #1D44AC;
  --color-kit-key1-array: 29,68,172;
  --color-kit-key2: #8FA6E6;
  --color-kit-key2-array: 143,166,230;

  --font-kit-base-font: 16;
  --font-kit-contrast: 1;
  --font-kit-header-font: 'EB Garamond';
  --font-kit-header-font-weight: 700;
  --font-kit-header-font-style: normal;
  --font-kit-header-line-height: 1.2;
  --font-kit-header-letter-spacing: 0px;
  --font-kit-header-transform: none;
  --font-kit-text-font: 'Source Sans 3';
  --font-kit-text-font-weight: 400;
  --font-kit-text-font-style: normal;
  --font-kit-text-line-height: 1.5;
  --font-kit-text-letter-spacing: 0px;
  --font-kit-text-transform: none;
  --font-kit-text-font-weight-bold: 700;
  --font-kit-button-font-weight: 600;
}

*, ::after, ::before { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  overflow-x: hidden;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0;
  font-style: normal;
  text-transform: none;
}

body a { text-decoration: none; }

.seite { position: relative; width: 100%; min-height: 100vh; -webkit-font-smoothing: antialiased; }

/* Jeder Baustein liegt einen Pixel über dem vorigen, damit zwischen zwei
   dunklen Flächen nie eine helle Haarlinie durchscheint. */
.sektion { position: relative; width: 100%; margin-top: -1px; }

.wurzel { position: relative; width: 100%; height: 100%; }

#inhalt { scroll-margin-top: 0; }
#inhalt:focus { outline: none; }

.sprung {
  position: fixed;
  top: -100%;
  left: 16px;
  z-index: 999999;
  padding: 8px 16px;
  background: #000000;
  color: #FFFFFF;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 4px 4px;
}
.sprung:focus-visible { top: 8px; }

@media (prefers-reduced-motion: reduce) {
  *, ::after, ::before {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
