@font-face { font-family:'Gantari'; font-style:normal; font-weight:100 900;
  font-display:swap; src:url('../fonts/gantari.woff2') format('woff2'); }
:root{
  --paper:#ffffff; --soft:#f4f8f1; --ink:#18221a; --muted:#5c6a60;
  --brand:#61bb46; --brand-d:#3f8f28; --brand-dd:#2f6f1e;
  --sage:#e9f2e3; --line:#e3ebdd; --signal:#e30613; --signal-d:#c30510;
  --r:14px;
}
*{box-sizing:border-box;} html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
  .rv{opacity:1!important;transform:none!important;transition:none!important;}}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Gantari','Segoe UI',system-ui,sans-serif;font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
/* Responsive-Bild-Basis: verhindert überbreite Inline-Bilder aus Rich-Text-Feldern. */
img{max-width:100%;height:auto;}
.story .bd img{display:block;height:auto;margin:1.2rem auto;border-radius:10px;}
/* Reine Bild-Sektion (zwischen Detail-Absätzen): zentriert, mit Bildunterschrift. */
.section-figure{margin:12px auto 28px;max-width:820px;text-align:center;}
.section-figure img{display:inline-block;width:100%;height:auto;border-radius:14px;box-shadow:0 12px 34px rgba(20,40,15,.14);}
.section-figure figcaption{margin-top:10px;font-size:.9rem;color:var(--muted);font-style:italic;}
a{color:var(--brand-d);}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px;}
h1,h2,h3{text-wrap:balance;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--signal);color:#fff;border:0;cursor:pointer;
  font:700 1rem 'Gantari',sans-serif;padding:13px 24px;border-radius:999px;text-decoration:none;
  transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 3px 14px rgba(227,6,19,.28);}
.btn:hover{background:var(--signal-d);transform:translateY(-1px);}
.btn.green{background:var(--brand);box-shadow:0 3px 14px rgba(97,187,70,.32);}
.btn.green:hover{background:var(--brand-d);}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);box-shadow:none;}
.btn.ghost:hover{background:rgba(255,255,255,.12);}

/* Utility bar */
.util{background:var(--ink);color:#c9d4c8;font-size:.84rem;}
.util .wrap{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center;padding:8px 24px;}
.util a{color:#dfe8df;text-decoration:none;display:inline-flex;gap:7px;align-items:center;}
.util a:hover{color:#fff;}
.util svg{width:15px;height:15px;}
.util .sp{margin-left:auto;}

/* Header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.top-in{display:flex;align-items:center;gap:26px;padding:12px 0;}
.mark{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);}
.mark .cap{width:38px;height:38px;border-radius:10px;background:var(--brand);display:grid;place-items:center;flex:none;}
.mark .cap svg{width:22px;height:22px;color:#fff;}
.mark b{font-size:1.06rem;font-weight:800;letter-spacing:-.01em;line-height:1.05;}
.mark small{display:block;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.nav{margin-left:auto;display:flex;align-items:center;gap:24px;}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;}
.nav a:hover{color:var(--brand-d);}
.nav .btn{padding:11px 20px;}
@media(max-width:860px){.nav a.lnk{display:none;}}

/* Hero */
.hero{position:relative;color:#fff;overflow:hidden;
  background:var(--smd-hero,#3f8f28) center/cover no-repeat;}
.hero::before{content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(47,111,30,.94) 0%,rgba(63,143,40,.88) 42%,rgba(97,187,70,.66) 100%);}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:44px;align-items:center;padding:52px 0 58px;}
@media(max-width:940px){.hero-in{grid-template-columns:1fr;padding:40px 0 46px;gap:30px;}}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#d6f0c8;margin:0 0 14px;}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.05;font-weight:800;letter-spacing:-.015em;margin:0 0 18px;}
.hero .lead{font-size:1.15rem;max-width:33em;color:rgba(255,255,255,.92);margin:0 0 26px;}
.usp{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:9px;}
.usp li{display:flex;gap:10px;align-items:flex-start;font-weight:600;}
.usp svg{width:20px;height:20px;flex:none;margin-top:2px;color:#d6f0c8;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.hero-cta .btn{padding:14px 26px;font-size:1.05rem;}

/* Hero Quickfacts */
.quickfacts{background:#fff;border-radius:var(--r);box-shadow:0 22px 54px rgba(10,30,6,.28);padding:22px 24px;align-self:center;}
.quickfacts .qf-title{margin:0 0 10px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-d);}
.quickfacts dl{margin:0;display:grid;}
.quickfacts dl div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);}
.quickfacts dl div:first-child{border-top:0;}
.quickfacts dt{color:var(--muted);font-weight:600;}
.quickfacts dd{margin:0;font-weight:700;color:var(--ink);text-align:right;}
.quickfacts dd small{display:block;margin-top:3px;font-weight:500;font-size:.68rem;line-height:1.3;color:var(--muted);}
.quickfacts .qf-link{display:inline-block;margin-top:12px;font-weight:700;font-size:.9rem;text-decoration:none;}
.quickfacts .qf-link:hover{text-decoration:underline;}

/* Infopaket-Sektion */
.ip-band{background:linear-gradient(120deg,#2f6f1e,#3f8f28);color:#fff;padding:60px 0;scroll-margin-top:76px;}
.ip-in{display:grid;grid-template-columns:minmax(0,1fr) 468px;gap:40px;align-items:center;}
@media(max-width:940px){.ip-in{grid-template-columns:1fr;gap:30px;}}
.ip-pitch .kick{color:#d6f0c8;}
.ip-pitch .h-sec{color:#fff;}
.ip-pitch .sub-sec{color:rgba(255,255,255,.9);margin-bottom:22px;}
.usp.dark li{color:#eef7e9;} .usp.dark svg{color:#d6f0c8;} .usp.dark a{color:#fff;text-decoration:underline;}

/* Lead card */
.card{background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:0 22px 54px rgba(10,30,6,.28);padding:24px 24px 20px;}
.card .tag{display:inline-block;background:var(--sage);color:var(--brand-dd);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;margin-bottom:12px;}
.card h2{font-size:1.3rem;line-height:1.15;margin:0 0 4px;}
.card .sub{color:var(--muted);font-size:.9rem;margin:0 0 16px;}
.field{display:block;margin-bottom:9px;}
.field input{width:100%;border:1.5px solid var(--line);border-radius:9px;background:#fbfdfa;padding:12px 13px;font:400 1rem 'Gantari',sans-serif;color:var(--ink);}
.field input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(97,187,70,.16);}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:var(--muted);margin:6px 0 12px;line-height:1.45;}
.consent input{margin-top:2px;accent-color:var(--brand);width:16px;height:16px;flex:none;}
.card .btn{width:100%;padding:14px;font-size:1.05rem;}
.card .note{text-align:center;font-size:.74rem;color:var(--muted);margin:10px 0 0;}
.card.done form{display:none;} .card .ok{display:none;text-align:center;padding:26px 6px;}
.card.done .ok{display:block;} .card .ok strong{display:block;font-size:1.2rem;color:var(--brand-d);margin-bottom:6px;}
.card .ok .big{width:56px;height:56px;border-radius:999px;background:var(--sage);display:grid;place-items:center;margin:0 auto 14px;}
.card .ok .big svg{width:30px;height:30px;color:var(--brand-d);}

/* Wizard */
.wz-ind{display:flex;gap:6px;margin:0 0 16px;}
.wz-ind .s{flex:1;text-align:center;}
.wz-ind .bar{height:5px;border-radius:999px;background:var(--line);margin-bottom:6px;transition:background .25s;}
.wz-ind .lab{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;}
.wz-ind .s.on .bar{background:var(--brand);} .wz-ind .s.on .lab{color:var(--brand-dd);}
.wz-ind .s.done .bar{background:var(--brand-d);}
.wz-panel{display:none;} .wz-panel.on{display:block;animation:fade .3s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.grp{margin-bottom:12px;}
.grp>.lg{display:block;font-size:.82rem;font-weight:700;color:var(--ink);margin-bottom:7px;}
.pick{display:flex;flex-wrap:wrap;gap:8px;}
.pick label{display:flex;align-items:center;gap:7px;background:#fbfdfa;border:1.5px solid var(--line);border-radius:9px;padding:9px 13px;font-size:.92rem;cursor:pointer;font-weight:600;color:var(--ink);transition:border-color .12s,background .12s;}
.pick label:hover{border-color:var(--brand);}
.pick input{accent-color:var(--brand);width:16px;height:16px;}
.pick label:has(input:checked){border-color:var(--brand);background:var(--sage);color:var(--brand-dd);}
/* Toggle-Variante: Input versteckt, ganze Pill ist das Ziel (wie Originalformular) */
.pick.toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.pick.toggle{gap:7px;}
.pick.toggle label{padding:9px 14px;font-size:.9rem;}
.pick.toggle label:has(input:checked){border-color:var(--brand-dd);background:var(--brand-dd);color:#fff;box-shadow:0 2px 8px rgba(47,111,30,.32);}
.pick.toggle label:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:2px;}
select{width:100%;border:1.5px solid var(--line);border-radius:9px;background:#fbfdfa;padding:12px 13px;font:400 1rem 'Gantari',sans-serif;color:var(--ink);appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6a60' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;}
select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(97,187,70,.16);}
/* leeres (Pflicht-)Select wie ein Platzhalter grau; gewählte Option in Textfarbe */
select:required:invalid{color:#8a978c;}
select option{color:var(--ink);}
.field input::placeholder,textarea::placeholder{color:#8a978c;}
/* Telefon mit Land/Vorwahl (Flagge) – ein zusammenhängendes Feld */
.phone-wrap{display:flex;margin-bottom:9px;border:1.5px solid var(--line);border-radius:9px;background:#fbfdfa;overflow:hidden;}
.phone-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(97,187,70,.16);}
.phone-wrap .cc{flex:0 0 auto;width:auto;border:0;border-right:1.5px solid var(--line);border-radius:0;background:transparent;padding:12px 30px 12px 13px;box-shadow:none;}
.phone-wrap .cc:focus{outline:none;box-shadow:none;}
.phone-wrap input{flex:1;min-width:0;border:0;background:transparent;padding:12px 13px;font:400 1rem 'Gantari',sans-serif;color:var(--ink);}
.phone-wrap input:focus{outline:none;}
.phone-wrap input::placeholder{color:#8a978c;}
textarea{width:100%;border:1.5px solid var(--line);border-radius:9px;background:#fbfdfa;padding:11px 13px;font:400 1rem 'Gantari',sans-serif;color:var(--ink);resize:vertical;min-height:74px;}
textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(97,187,70,.16);}
.wz-nav{display:flex;gap:10px;margin-top:6px;}
.wz-nav .btn{flex:1 1 auto;width:auto;}
.btn.back{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none;flex:0 0 auto;width:auto;padding:14px 22px;}
.btn.back:hover{background:var(--soft);}
.hint{font-size:.78rem;color:var(--muted);margin:4px 2px 0;}

/* Section scaffolding */
section{scroll-margin-top:76px;}
.band{padding:66px 0;}
.band.soft{background:var(--soft);}
.kick{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brand-d);margin:0 0 10px;}
.h-sec{font-size:clamp(1.7rem,3vw,2.3rem);margin:0 0 14px;line-height:1.1;}
.sub-sec{color:var(--muted);max-width:44em;margin:0 0 34px;font-size:1.06rem;}
.center{text-align:center;} .center .sub-sec{margin-left:auto;margin-right:auto;}

/* Fakten-Panel */
.facts{display:grid;grid-template-columns:340px minmax(0,1fr);gap:34px;align-items:start;}
@media(max-width:820px){.facts{grid-template-columns:1fr;}}
.facts .pic{border-radius:var(--r);overflow:hidden;box-shadow:0 14px 40px rgba(20,40,15,.14);}
.facts .pic img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5;}
.factlist{margin:0;display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.factlist div{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:15px 20px;border-top:1px solid var(--line);}
.factlist div:first-child{border-top:0;}
.factlist dt{color:var(--muted);font-weight:600;font-size:.95rem;}
.factlist dd{margin:0;font-weight:700;}
.factlist dd small{display:block;font-weight:500;color:var(--muted);font-size:.76rem;line-height:1.35;margin-top:2px;}
@media(max-width:520px){.factlist div{grid-template-columns:1fr;gap:2px;}}

/* Programm-Karten */
.progs{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:720px){.progs{grid-template-columns:1fr;}}
.prog{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .15s,box-shadow .15s;}
.prog:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,40,15,.12);}
.prog .ic{width:48px;height:48px;border-radius:12px;background:var(--sage);display:grid;place-items:center;margin-bottom:16px;}
.prog .ic svg{width:26px;height:26px;color:var(--brand-dd);}
.prog h3{font-size:1.2rem;margin:0 0 8px;}
.prog p{color:var(--muted);margin:0;font-size:.96rem;}

/* Story-Sektionen */
.story{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px 56px;padding:32px 0;border-top:1px solid var(--line);}
.story:first-of-type{border-top:0;}
.story .lab{position:sticky;top:88px;align-self:start;}
.story .lab .kick{margin-bottom:6px;}
.story .lab h3{font-size:1.5rem;margin:0;}
.story .bd{max-width:640px;} .story .bd p{margin:0 0 1em;} .story .bd p:last-child{margin:0;}
@media(max-width:860px){.story{grid-template-columns:1fr;gap:8px;}.story .lab{position:static;}}

.callout{display:flex;flex-wrap:wrap;gap:30px;background:var(--sage);border-radius:var(--r);padding:20px 26px;margin:18px 0 2px;}
.callout div{min-width:110px;}
.callout b{display:block;font-size:1.7rem;font-weight:800;color:var(--brand-dd);line-height:1.1;font-variant-numeric:tabular-nums;}
.callout small{color:var(--muted);font-size:.84rem;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s;}
@media(max-width:800px){.steps{grid-template-columns:1fr;}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;position:relative;}
.step .n{counter-increment:s;width:42px;height:42px;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.15rem;margin-bottom:14px;}
.step .n::before{content:counter(s);}
.step h3{font-size:1.1rem;margin:0 0 7px;}
.step p{color:var(--muted);margin:0;font-size:.94rem;}

/* FAQ */
.faq{max-width:820px;margin:0 auto;}
.faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden;}
.faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{width:22px;height:22px;flex:none;border-radius:6px;background:var(--sage);color:var(--brand-dd);display:grid;place-items:center;font-weight:800;transition:transform .2s;}
.faq details[open] summary .pm{transform:rotate(45deg);}
.faq .a{padding:0 20px 18px;color:var(--muted);}
.faq .a p{margin:0;}

/* CTA-Band */
.cta{background:linear-gradient(115deg,var(--brand-d),var(--brand));color:#fff;}
.cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:center;padding:52px 24px;}
@media(max-width:900px){.cta .wrap{grid-template-columns:1fr;}}
.cta h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin:0 0 10px;}
.cta p{margin:0 0 4px;color:rgba(255,255,255,.9);max-width:34em;}
.cta .contact{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-weight:600;}
.cta .contact a{color:#fff;text-decoration:none;display:inline-flex;gap:8px;align-items:center;}
.cta .contact svg{width:18px;height:18px;}

/* Footer */
footer{background:var(--ink);color:#aab7a9;font-size:.9rem;}
footer .wrap{padding:34px 24px 26px;}
footer .cols{display:flex;flex-wrap:wrap;gap:20px 60px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1);}
footer .cols b{color:#eaf2e8;display:block;margin-bottom:6px;}
footer a{color:#cfdccd;text-decoration:none;} footer a:hover{text-decoration:underline;}
footer .bottom{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding-top:18px;}
footer .bottom .lg{margin-left:auto;display:flex;gap:20px;}
/* Schlanke Variante (nur © + Rechtstexte) */
footer.footer-slim .wrap{padding:18px 24px;}
footer.footer-slim .bottom{padding-top:0;}

.rv{opacity:0;transform:translateY(16px);transition:opacity .55s,transform .55s;}
.rv.in{opacity:1;transform:none;}
.ribbon{position:fixed;top:16px;right:-36px;z-index:99;transform:rotate(38deg);background:var(--signal);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.12em;padding:4px 42px;pointer-events:none;}

.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;background:#fff;border-top:1px solid var(--line);padding:10px 16px;gap:10px;box-shadow:0 -6px 24px rgba(20,40,15,.12);}
.mcta .btn{flex:1;padding:13px;} .mcta .call{flex:none;width:48px;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:999px;color:var(--brand-d);}
@media(max-width:860px){.mcta.show{display:flex;}body.pad{padding-bottom:72px;}}
