/* ============================================================
   Reiswich — gemeinsame Basis
   Schriften liegen lokal in assets/fonts/ (DSGVO: keine Fremdaufrufe).
   Fehlen die Dateien, greift die Ausweichliste — die Seite bleibt nutzbar.
   Dateien beschaffen: tools/setup-fonts.mjs
   ============================================================ */

@font-face{
  font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/archivo-latin-700-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;
  src:url('../fonts/archivo-latin-800-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/instrument-sans-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/instrument-sans-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/instrument-sans-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}

:root{
  --sans:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --display:'Archivo',ui-sans-serif,system-ui,'Segoe UI',Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}

.skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:#fff;color:#111;padding:.7rem 1.1rem;border-radius:0 0 8px 0;
  font-size:.9rem;font-weight:600;text-decoration:none;
}
.skip:focus{left:0}

:where(a,button,summary,[tabindex]):focus-visible{
  outline:2px solid currentColor;outline-offset:3px;border-radius:3px;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
}
