:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: #141414; color: #f2f2f2; font: 16px/1.6 Manrope, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
main { max-width: 680px; margin: 0 auto; padding: 56px 24px 40px; }
.ueberzeile { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: #9a9a9a; margin: 0 0 20px; }
.ueberzeile a { color: inherit; text-decoration: none; }
h1 { font-size: clamp(30px, 6vw, 44px); line-height: 1.15; margin: 0 0 12px; font-weight: 600; }
h2 { font-size: 16px; margin: 32px 0 10px; font-weight: 600; }
p { margin: 0 0 14px; color: #cfcfcf; }
a { color: inherit; }
.fehler { border: 1px solid #b3534a; border-radius: 10px; padding: 12px 14px; margin: 0 0 20px; color: #f2c9c4; }
label { display: block; font-size: 14px; color: #cfcfcf; margin: 14px 0 6px; }
input[type=text], input[type=email], input[type=tel], textarea { width: 100%; font: inherit; padding: 11px 13px; border-radius: 10px; border: 1px solid #3a3a3a; background: #1c1c1c; color: #f2f2f2; }
input:focus, textarea:focus, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid #f2f2f2; outline-offset: 2px; }
fieldset { border: 0; padding: 0; margin: 0; }
details { border-top: 1px solid #2a2a2a; }
details:last-of-type { border-bottom: 1px solid #2a2a2a; }
summary { padding: 11px 2px; cursor: pointer; font-size: 15px; color: #f2f2f2; }
.fenster { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 0 16px; }
.fenster label { margin: 0; cursor: pointer; }
.fenster input { position: absolute; opacity: 0; }
.fenster span { display: block; padding: 8px 14px; border: 1px solid #3a3a3a; border-radius: 999px; font-size: 14px; color: #f2f2f2; }
.fenster input:checked + span { background: #f2f2f2; color: #141414; border-color: #f2f2f2; }
.fenster input:focus-visible + span { outline: 2px solid #f2f2f2; outline-offset: 2px; }
.versteckt { position: absolute; left: -9999px; }
button { font: inherit; margin-top: 22px; padding: 11px 22px; border-radius: 999px; border: 1px solid #f2f2f2; background: #f2f2f2; color: #141414; cursor: pointer; }
button.zweit { background: transparent; color: #f2f2f2; }
.hinweis { font-size: 13px; color: #9a9a9a; margin-top: 14px; }
footer { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #9a9a9a; max-width: 680px; margin: 0 auto; padding: 0 24px 40px; }
footer a { text-decoration: none; }