:root{--bg:#F3F5F2;--karte:#fff;--fg:#1B2620;--leise:#5D6B63;--linie:#D9DFDA;--gruen:#1F7A3E;--gruen-d:#0B4A2E;--rot:#B42318}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 "Atkinson Hyperlegible",system-ui,-apple-system,sans-serif}
a{color:var(--gruen-d)}
.rahmen{max-width:1040px;margin:0 auto;padding:0 20px}
header.kopf{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.marke{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font:800 22px "Bricolage Grotesque",system-ui,sans-serif}
.marke img{width:40px;height:40px;border-radius:10px}
.knopf{display:inline-block;border:0;border-radius:12px;padding:13px 22px;font:700 16px inherit;font-family:inherit;cursor:pointer;text-decoration:none;text-align:center}
.knopf.voll{background:var(--gruen-d);color:#fff}
.knopf.rand{background:transparent;color:var(--gruen-d);border:1.5px solid var(--gruen-d)}
.knopf:disabled{opacity:.6;cursor:wait}
h1,h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(30px,6vw,52px);font-weight:800}
h2{font-size:24px}
.held{padding:40px 0 30px;display:grid;gap:28px}
.held p.unter{font-size:19px;color:var(--leise);max-width:640px;margin:0}
.reihe{display:flex;gap:12px;flex-wrap:wrap}
.raster{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:20px 0 40px}
.kachel{background:var(--karte);border:1px solid var(--linie);border-radius:16px;padding:20px}
.kachel b{display:block;margin-bottom:4px}
.preis{background:var(--karte);border:2px solid var(--gruen-d);border-radius:20px;padding:26px;max-width:420px}
.preis .betrag{font:800 44px "Bricolage Grotesque",system-ui,sans-serif}
.preis ul{padding-left:20px;margin:12px 0 20px}
.formular{background:var(--karte);border:1px solid var(--linie);border-radius:18px;padding:26px;max-width:440px;margin:30px auto}
.feld{margin-bottom:14px}
.feld label{display:block;font-weight:700;margin-bottom:5px}
.feld input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--linie);border-radius:10px;background:#fff}
.feld input:focus{outline:2px solid var(--gruen);border-color:var(--gruen)}
.haken{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:6px 0 16px}
.haken input{margin-top:4px}
.meldung{border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:15px}
.meldung.fehler{background:#FDECEC;color:var(--rot)}
.meldung.info{background:#E9F3EC;color:var(--gruen-d)}
.klein{font-size:14px;color:var(--leise)}
footer{border-top:1px solid var(--linie);margin-top:50px;padding:22px 0 40px;font-size:14px;color:var(--leise)}
footer a{color:var(--leise);margin-right:16px}
[hidden]{display:none!important}
