/* Gemeinsame Styles – Schriften liegen lokal in /fonts (kein Google-Server, DSGVO). */
@font-face { font-family: 'Bricolage Grotesque'; src: url('../fonts/bricolage-grotesque-latin-wght-normal.woff2') format('woff2-variations'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2'); font-weight: 600 700; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('../fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }

:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F3F1EA; color: #0F241D; }
img { max-width: 100%; height: auto; }
a { color: #0F241D; } a:hover { color: #2E5A48; }
h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: 3px solid #C6F24E; outline-offset: 2px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.prose h2 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 22px; font-weight: 700; margin: 36px 0 8px; }
.prose p { margin: 0 0 14px; color: #33473E; max-width: 68ch; }
.prose .btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: 999px; background: #0F241D; color: #F3F1EA; font-weight: 600; text-decoration: none; margin-top: 12px; }
