/* Grundregeln: Schriften, Rücksetzen, Fokus, Bildschirmleser. Nach Hallmark und der Spezifikation der Zentrale. */
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/Inter-Regular.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/Inter-Medium.woff2") format("woff2"); }
@font-face { font-family: "Inter Display"; font-weight: 300; font-style: normal; font-display: swap; src: url("fonts/InterDisplay-Light.woff2") format("woff2"); }
@font-face { font-family: "Inter Display"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/InterDisplay-Regular.woff2") format("woff2"); }
@font-face { font-family: "Inter Display"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/InterDisplay-Medium.woff2") format("woff2"); }

*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; background: var(--grund); scrollbar-color: var(--ink-4) var(--grund);
  scroll-padding-top: calc(96px + env(safe-area-inset-top)); scroll-padding-bottom: var(--space-lg); }
body {
  margin: 0; min-height: 100dvh; background: var(--grund); color: var(--ink);
  font: 400 15px/1.5 var(--sans); letter-spacing: -.005em; font-feature-settings: "cv11", "ss01";
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-wrap: anywhere; overscroll-behavior-y: none; caret-color: var(--akzent);
}
::selection { background: var(--akzent-wasch); color: var(--ink); }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { font: inherit; color: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
h1, h2, h3 { margin: 0; font-family: var(--display); font-weight: 400; overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
img, video, canvas { max-width: 100%; display: block; }
img { height: auto; }
svg { display: block; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.num { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
