@font-face{font-family:"Fraunces";src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{--creme:#FAF6EF;--tanne:#1F4D3F;--orange:#F28C38;--text:#1E2A2B;--linie:#E4DCCB;--weiss:#FFFDF9}
*{box-sizing:border-box}
html{font-size:112.5%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--text);font-family:"Atkinson Hyperlegible",system-ui,sans-serif;line-height:1.6}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;color:var(--tanne);line-height:1.15;margin:0}
a{color:var(--tanne)}
.wrap{max-width:40rem;margin:0 auto;padding:0 1.25rem}
section{padding:3.5rem 0}

.hero{padding-top:3rem}
.marke{font-family:"Fraunces",Georgia,serif;font-weight:700;color:var(--tanne);font-size:1.15rem;margin:0 0 2.5rem}
h1{font-size:clamp(2.2rem,8vw,3.4rem);font-weight:700;letter-spacing:-.01em}
.lead{font-size:1.2rem;margin:1.25rem 0 2rem;max-width:34rem}
.berg{display:block;width:100%;height:auto;margin-top:2.5rem;color:var(--tanne)}

form{background:var(--weiss);border:2px solid var(--linie);border-radius:1.25rem;padding:1.25rem}
label.feld{display:block;font-weight:700;margin-bottom:.4rem}
input[type=email]{width:100%;font:inherit;font-size:1.1rem;padding:.85rem 1rem;border:2px solid var(--tanne);border-radius:.8rem;background:#fff;color:var(--text)}
.einwilligung{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0;font-size:.95rem}
.einwilligung input{width:1.4rem;height:1.4rem;margin-top:.15rem;flex:none;accent-color:var(--tanne)}
button{font:inherit;font-weight:700;font-size:1.15rem;width:100%;padding:1rem 1.25rem;border:0;border-radius:999px;background:var(--orange);color:var(--text);cursor:pointer}
button:hover{filter:brightness(.96)}
button:disabled{opacity:.6;cursor:wait}
:focus-visible{outline:3px solid var(--tanne);outline-offset:3px}
.meldung{margin:.9rem 0 0;font-weight:700;min-height:1.6rem}
.meldung.fehler{color:#8a2b12}
.meldung.ok{color:var(--tanne)}
.hp{position:absolute;left:-9999px}
.klein{font-size:.9rem;color:#4a5859;margin:.75rem 0 0}

.hell{background:var(--weiss);border-block:1px solid var(--linie)}
h2{font-size:clamp(1.7rem,5.5vw,2.2rem);margin-bottom:1.5rem}
ol.schritte{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
ol.schritte li{background:var(--creme);border:2px solid var(--linie);border-radius:1.25rem;padding:1.25rem 1.25rem 1.25rem 4.25rem;position:relative}
ol.schritte li::before{counter-increment:s;content:counter(s);position:absolute;left:1.1rem;top:1.1rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--tanne);color:var(--creme);font-family:"Fraunces",serif;font-weight:700;display:grid;place-items:center;font-size:1.2rem}
ol.schritte{counter-reset:s}
ol.schritte h3{font-size:1.25rem;margin-bottom:.3rem}
ol.schritte p{margin:0}

ul.versprechen{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
ul.versprechen li{padding-left:2rem;position:relative}
ul.versprechen li::before{content:"";position:absolute;left:.15rem;top:.4rem;width:.8rem;height:.45rem;border-left:3px solid var(--tanne);border-bottom:3px solid var(--tanne);transform:rotate(-45deg)}

footer{padding:2rem 0 3rem;border-top:1px solid var(--linie);font-size:.95rem}
footer .wrap{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:space-between}
footer nav{display:flex;gap:1.25rem}

.entwurf{background:#FFF1D6;border:2px solid var(--orange);border-radius:1rem;padding:1rem 1.25rem;margin:2rem 0;font-weight:700}
.platzhalter{background:#FFE9B8;padding:0 .3em;border-radius:.3em}
.text h2{font-size:1.4rem;margin:2rem 0 .5rem}
.text p,.text li{max-width:36rem}

.lead2{font-size:1.05rem;max-width:34rem;margin:-1rem 0 2rem;color:#3a4849}
.intro{margin:0 0 1.25rem;max-width:36rem}
ul.zitate{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem}
ul.zitate li{border-left:4px solid var(--tanne);padding:.4rem 0 .4rem 1rem;font-family:"Fraunces",Georgia,serif;font-size:1.15rem;color:var(--tanne)}
.karten{display:grid;gap:1rem}
.karten div{background:var(--creme);border:2px solid var(--linie);border-radius:1.25rem;padding:1.1rem 1.25rem}
section:not(.hell) .karten div{background:var(--weiss)}
.karten h3{font-size:1.2rem;margin-bottom:.3rem}
.karten p{margin:0}
@media(min-width:34rem){.karten{grid-template-columns:1fr 1fr}}
ul.versprechen.nein li::before{border:0;transform:none;width:auto;height:auto;content:"\00d7";top:-.1rem;left:.1rem;font-size:1.5rem;line-height:1.3;color:var(--tanne)}
details{background:var(--weiss);border:2px solid var(--linie);border-radius:1rem;padding:.9rem 1.1rem;margin-bottom:.75rem}
summary{cursor:pointer;font-weight:700;color:var(--tanne)}
details p{margin:.7rem 0 0}
