/* Schriften liegen lokal, es wird nichts von Google geladen. */
@font-face {
  font-family: 'Jost';
  src: url('fonts/jost.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('fonts/cormorant-garamond.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('fonts/cormorant-garamond-italic.woff2') format('woff2');
  font-weight: 300 700;
  font-style: italic;
  font-display: swap;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FFFDF9; }
img { max-width: 100%; }
a { color: #33413C; }
a:hover { color: #1F2A26; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #33413C;
  outline-offset: 3px;
}
[id] { scroll-margin-top: 24px; }

/* Vierer-Raster: 4 nebeneinander, darunter 2 x 2, auf dem Handy untereinander */
.raster4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .raster4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .raster4 { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Impressum und Datenschutz */
.rechtstext h1 { margin: 0 0 24px 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(40px, 5vw, 60px); line-height: 1.04; font-weight: 500; }
.rechtstext h2 { margin: 36px 0 10px 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; line-height: 1.25; font-weight: 500; }
.rechtstext p { margin: 0 0 14px 0; font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
