@font-face{font-family:"Bebas Neue";src:url(fonts/bebas.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(fonts/archivo.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --wald:#2f4a2b;--wald-2:#243a21;--gruen:#86ae7f;--gruen-t:#4f7a49;
  --weiss:#fff;--grau:#f2f3f0;--text:#161c15;--text-2:#4a5348;--linie:#d6dbd2;
  --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:40px;--s6:64px;--s7:104px;
  --rand:20px;--max:1280px;
  --kopf:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--kopf) + 56px)}
body{margin:0;background:var(--weiss);color:var(--text);font:400 17px/1.6 "Archivo",system-ui,sans-serif;font-feature-settings:"tnum" 0}
img{display:block;max-width:100%;height:auto}
a{color:var(--gruen-t);text-underline-offset:3px}
a:hover{color:var(--wald)}
h1,h2,h3{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;letter-spacing:.01em;line-height:.95;margin:0 0 var(--s3);color:var(--text)}
h1{font-size:clamp(56px,11vw,128px)}
h2{font-size:clamp(40px,6vw,64px)}
h3{font-size:clamp(26px,3vw,32px);line-height:1}
p{margin:0 0 var(--s3);max-width:64ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--rand)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--text);padding:8px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--gruen);outline-offset:2px}
.ort{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gruen-t);margin:0 0 var(--s2)}
.lead{font-size:clamp(18px,1.6vw,20px);line-height:1.5}
.klein{font-size:15px;color:var(--text-2)}
.hinweis{font-size:15px;background:var(--grau);border-left:3px solid var(--gruen);padding:12px 16px}

/* Entwurf-Band */
.entwurf{background:#e9ece6;color:var(--text-2);font-size:12px;text-align:center;padding:4px 12px}

/* Kopf */
.kopf{position:sticky;top:0;z-index:50;background:var(--wald);color:#fff}
.kopf-in{max-width:var(--max);margin:0 auto;padding:0 var(--rand);height:var(--kopf);display:flex;align-items:center;gap:var(--s4)}
.logo img{height:54px;width:auto}
.hauptnav{margin-left:auto}
.hauptnav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.hauptnav a{display:block;color:#fff;text-decoration:none;font-size:15px;font-weight:500;padding:8px 10px;border-bottom:2px solid transparent}
.hauptnav a:hover{border-bottom-color:var(--gruen);color:#fff}
.hauptnav a[aria-current]{border-bottom-color:var(--gruen)}
.kopf-rechts{display:flex;align-items:center;gap:var(--s3)}
.zettel-link{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.4);padding:7px 10px}
.zettel-link:hover{color:#fff;border-color:#fff}
.zettel-link b{display:inline-grid;place-items:center;min-width:22px;height:22px;background:var(--gruen);color:var(--wald-2);font-size:13px;padding:0 5px}
.zettel-link.puls b{animation:puls .5s ease}
@keyframes puls{50%{transform:scale(1.25)}}
.menu-btn{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px;flex-direction:column;justify-content:center;gap:5px}
.menu-btn i{display:block;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded=true] i:nth-child(2){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(3){opacity:0}
.menu-btn[aria-expanded=true] i:nth-child(4){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1180px){
  .menu-btn{display:flex}
  .hauptnav{position:fixed;inset:var(--kopf) 0 auto 0;background:var(--wald);max-height:0;overflow:hidden;transition:max-height .3s ease;margin:0}
  .hauptnav.offen{max-height:calc(100dvh - var(--kopf));overflow:auto;border-top:1px solid rgba(255,255,255,.15)}
  .hauptnav ul{flex-direction:column;padding:8px var(--rand) 24px}
  .hauptnav a{font-size:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .kopf-rechts{margin-left:auto}
}
@media (max-width:480px){.zettel-link span{display:none}.logo img{height:48px}}

/* Knöpfe */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--wald);color:#fff;font:600 16px/1.2 "Archivo",sans-serif;text-decoration:none;border:2px solid var(--wald);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--wald-2);border-color:var(--wald-2);color:#fff}
.btn-line{background:transparent;color:var(--wald)}
.btn-line:hover{background:var(--wald);color:#fff}
.btn-line.is-drauf{background:var(--gruen);border-color:var(--gruen);color:var(--wald-2)}
.btn-hell{background:#fff;color:var(--wald);border-color:#fff}
.btn-hell:hover{background:var(--gruen);border-color:var(--gruen);color:var(--wald-2)}
.link-tel{font-weight:600;color:var(--text);text-decoration:none;white-space:nowrap}
.link-tel.hell,.link-pfeil.hell{color:#fff}
.link-pfeil{font-weight:600;text-decoration:none;color:var(--gruen-t)}
.link-pfeil::after{content:" →"}

/* Hero */
.hero{position:relative;min-height:min(86svh,820px);display:flex;align-items:flex-end;color:#fff;background:var(--wald-2)}
.hero-bild{position:absolute;inset:0;overflow:hidden}
.hero-bild img{width:100%;height:100%;object-fit:cover;object-position:30% 55%;animation:zoom 14s ease-out both}
@keyframes zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,28,16,.88) 0%,rgba(18,28,16,.55) 38%,rgba(18,28,16,0) 70%)}
.hero-text{position:relative;width:100%;padding-top:var(--s7);padding-bottom:var(--s6)}
.hero h1{color:#fff;margin-bottom:var(--s2)}
.hero-zeile{font-size:clamp(18px,2vw,24px);font-weight:600;margin-bottom:var(--s3)}
.hero .lead{max-width:52ch;color:rgba(255,255,255,.9)}
.hero-aktion,.band-aktion,.blatt-aktion{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s4)}

/* Fakten */
.fakten{border-bottom:1px solid var(--linie)}
.fakten ul{list-style:none;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.fakten li{padding:var(--s4) var(--s3) var(--s4) 0;border-top:1px solid var(--linie);display:flex;flex-direction:column;gap:4px}
.fakten li:nth-child(odd){border-right:1px solid var(--linie)}
.fakten li:nth-child(even){padding-left:var(--s3)}
.fakten b{font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:32px;line-height:1;color:var(--wald)}
.fakten span{font-size:14px;color:var(--text-2);line-height:1.4}
@media (min-width:900px){
  .fakten ul{grid-template-columns:repeat(4,1fr)}
  .fakten li{border-top:0;border-right:1px solid var(--linie);padding:var(--s5) var(--s4)}
  .fakten li:first-child{padding-left:0}
  .fakten li:last-child{border-right:0}
  .fakten li:nth-child(even){padding-left:var(--s4)}
}

/* Sektionen */
.sektion{padding-top:var(--s6);padding-bottom:var(--s6)}
.sektion-grau{background:var(--grau);padding:var(--s6) 0}
.sektion-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s2) var(--s5);margin-bottom:var(--s5)}
.sektion-kopf h2{margin:0}
.sektion-kopf p{margin:0;color:var(--text-2)}
@media (min-width:900px){.sektion{padding-top:var(--s7);padding-bottom:var(--s7)}.sektion-grau{padding:var(--s7) 0}}

/* Bereiche Startseite */
.bereich{display:grid;gap:var(--s4);margin-bottom:var(--s6)}
.bereich-bild{display:block;overflow:hidden;aspect-ratio:4/3}
.bereich-bild img,.bereich-klein>a img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bereich-bild:hover img,.bereich-klein>a:hover img{transform:scale(1.03)}
.bereich h3 a,.bereich-klein h3 a{color:var(--text);text-decoration:none}
.bereich h3{font-size:clamp(34px,4vw,52px)}
.liste-links{list-style:none;padding:0;margin:0 0 var(--s4);border-top:1px solid var(--linie)}
.liste-links li{border-bottom:1px solid var(--linie)}
.liste-links a{display:flex;justify-content:space-between;padding:10px 0;color:var(--text);text-decoration:none;font-weight:500}
.liste-links a::after{content:"→";color:var(--gruen-t);transition:transform .2s}
.liste-links a:hover::after{transform:translateX(4px)}
@media (min-width:900px){
  .bereich{grid-template-columns:7fr 5fr;gap:var(--s6);align-items:center;margin-bottom:var(--s7)}
  .bereich-r{grid-template-columns:5fr 7fr}
  .bereich-r .bereich-bild{order:2}
}
.bereich-paar{display:grid;gap:var(--s6)}
.bereich-klein>a{display:block;overflow:hidden;aspect-ratio:16/10;margin-bottom:var(--s4)}
@media (min-width:900px){.bereich-paar{grid-template-columns:1fr 1fr;gap:var(--s6)}}

/* Miete-Band */
.miete{background:var(--wald);color:#fff;padding:var(--s6) 0}
.miete h2,.miete .ort{color:#fff}
.miete .ort{opacity:.75}
.miete p{color:rgba(255,255,255,.88)}
.miete-in{display:grid;gap:var(--s5)}
.miete-liste{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.25)}
.miete-liste a{display:flex;justify-content:space-between;gap:var(--s3);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font-weight:500}
.miete-liste em{font-style:normal;color:var(--gruen);font-variant-numeric:tabular-nums;white-space:nowrap}
.miete-liste a:hover span{text-decoration:underline}
@media (min-width:900px){.miete{padding:var(--s7) 0}.miete-in{grid-template-columns:5fr 6fr;gap:var(--s7);align-items:start}}

/* Auftragszettel Erklärung */
.zettel-erkl{display:grid;gap:var(--s5);align-items:center}
.zettel-muster{border:1px solid var(--linie);background:#fff;padding:var(--s4);font-size:15px}
.zm-kopf{font-family:"Bebas Neue",sans-serif;font-size:28px;margin:0 0 var(--s3);display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--text);padding-bottom:var(--s2)}
.zm-kopf span{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.zm-zeile{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-bottom:1px dashed var(--linie)}
.zm-zeile span{color:var(--text-2)}
@media (min-width:600px){.zm-zeile{grid-template-columns:1.3fr 1fr auto;gap:var(--s3)}}
@media (min-width:900px){.zettel-erkl{grid-template-columns:1fr 1fr;gap:var(--s7)}}

/* News */
.news{display:grid;gap:var(--s5)}
.news img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:var(--s3)}
.news h3{font-size:26px}
.news p{font-size:15px;color:var(--text-2)}
@media (min-width:640px){.news{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.news{grid-template-columns:repeat(4,1fr);gap:var(--s4)}}

/* Familie */
.familie{display:grid;gap:var(--s5)}
.familie-bild img{aspect-ratio:4/5;object-fit:cover;width:100%}
figcaption{font-size:14px;color:var(--text-2);margin-top:var(--s2)}
.zeitleiste{list-style:none;margin:var(--s4) 0;padding:0;border-top:1px solid var(--linie)}
.zeitleiste li{display:grid;grid-template-columns:72px 1fr;gap:var(--s3);padding:12px 0;border-bottom:1px solid var(--linie)}
.zeitleiste b{font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:26px;line-height:1;color:var(--wald)}
@media (min-width:900px){.familie{grid-template-columns:5fr 7fr;gap:var(--s7);align-items:center}}

/* Kontakt kurz */
.kontakt-kurz{background:var(--grau);padding:var(--s6) 0;border-top:1px solid var(--linie)}
.kk-in{display:grid;gap:var(--s4);align-items:end}
.kk-adr{font-size:20px;line-height:1.4}
.kk-tel{font-family:"Bebas Neue",sans-serif;font-size:clamp(40px,6vw,64px);line-height:1;color:var(--wald);text-decoration:none}
.kk-tel.dunkel{font-size:36px}
.kk-aktion{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center}
.kontakt-kurz .btn-hell{background:var(--wald);color:#fff;border-color:var(--wald)}
.kontakt-kurz .link-pfeil.hell{color:var(--gruen-t)}
@media (min-width:900px){.kk-in{grid-template-columns:1fr auto}}

/* Seitenkopf Unterseiten */
.seitenkopf{position:relative;min-height:clamp(420px,62svh,620px);display:flex;align-items:flex-end;color:#fff;background:var(--wald-2)}
.seitenkopf-bild{position:absolute;inset:0;overflow:hidden}
.seitenkopf-bild img{width:100%;height:100%;object-fit:cover}
.seitenkopf-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,28,16,.9) 0%,rgba(18,28,16,.5) 45%,rgba(18,28,16,.05) 80%)}
.seitenkopf-text{position:relative;width:100%;padding-top:var(--s7);padding-bottom:var(--s5)}
.seitenkopf h1{color:#fff;font-size:clamp(48px,8vw,104px)}
.seitenkopf .ort{color:var(--gruen)}
.seitenkopf .lead{color:rgba(255,255,255,.92);max-width:60ch;margin:0}
.unternav{position:sticky;top:var(--kopf);z-index:40;background:#fff;border-bottom:1px solid var(--linie)}
.unternav ul{list-style:none;margin:0 auto;padding:0 var(--rand);max-width:var(--max);display:flex;gap:var(--s4);overflow-x:auto;scrollbar-width:none}
.unternav ul::-webkit-scrollbar{display:none}
.unternav a{display:block;white-space:nowrap;padding:16px 0 14px;color:var(--text-2);text-decoration:none;font-weight:600;font-size:15px;border-bottom:3px solid transparent}
.unternav a:hover,.unternav a.aktiv{color:var(--text);border-bottom-color:var(--gruen)}

/* Datenblatt */
.blaetter{padding-top:var(--s5)}
.blatt{display:grid;gap:var(--s4);padding:var(--s5) 0 var(--s6);border-bottom:1px solid var(--linie)}
.blatt:last-child{border-bottom:0}
.blatt-main{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--grau)}
.blatt-main img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.thumbs{display:flex;gap:var(--s2);margin-top:var(--s2);overflow-x:auto;scrollbar-width:thin}
.thumb{flex:0 0 auto;width:84px;aspect-ratio:4/3;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.7;transition:opacity .2s,border-color .2s}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb:hover,.thumb.is-on{opacity:1;border-color:var(--wald)}
.blatt-text h2{margin-bottom:var(--s3)}
.spec-t{font-size:24px;margin:var(--s4) 0 var(--s2)}
.spec{margin:0 0 var(--s3);border-top:1px solid var(--linie);font-size:15px}
.spec div{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:var(--s3);padding:9px 0;border-bottom:1px solid var(--linie)}
.spec div.spec-full{grid-template-columns:1fr}
.spec dt{color:var(--text-2)}
.spec dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
@media (min-width:900px){
  .blatt{grid-template-columns:7fr 5fr;gap:var(--s6);padding:var(--s6) 0 var(--s7)}
  .blatt-bild{position:sticky;top:calc(var(--kopf) + 72px);align-self:start}
  .blatt:nth-child(even){grid-template-columns:5fr 7fr}
  .blatt:nth-child(even) .blatt-bild{order:2}
}
.bio-hinweis{padding-top:var(--s5)}
.bio-hinweis p{max-width:none;border-left:3px solid var(--gruen);padding:4px 0 4px var(--s3);font-size:17px}

/* Dunkles Band */
.band-dunkel{background:var(--wald);color:#fff;padding:var(--s6) 0}
.band-in{display:grid;gap:var(--s3)}
.band-in p{font-size:clamp(20px,2.2vw,26px);line-height:1.35;margin:0;max-width:44ch}
.band-aktion{margin-top:0}
@media (min-width:900px){.band-in{grid-template-columns:1fr auto;align-items:center;gap:var(--s6)}}

/* Maschinen */
.filterleiste{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;padding:var(--s5) 0 var(--s4)}
.filter{font:600 14px/1 "Archivo",sans-serif;padding:11px 14px;border:1px solid var(--linie);background:#fff;color:var(--text);cursor:pointer;min-height:44px}
.filter:hover{border-color:var(--wald)}
.filter.is-on{background:var(--wald);border-color:var(--wald);color:#fff}
.filter-zahl{margin-left:auto;font-size:14px;color:var(--text-2)}
.maschinen{display:grid;gap:var(--s5);padding-bottom:var(--s6)}
.maschine{border-top:2px solid var(--text);padding-top:var(--s3);display:flex;flex-direction:column}
.maschine[hidden]{display:none}
.maschine-bild{aspect-ratio:4/3;overflow:hidden;margin-bottom:var(--s3);background:var(--grau)}
.maschine-bild img{width:100%;height:100%;object-fit:cover}
.maschine h2{font-size:34px}
.maschine-text{display:flex;flex-direction:column;flex:1}
.maschine .btn{margin-top:auto;align-self:flex-start}
@media (min-width:700px){.maschinen{grid-template-columns:1fr 1fr;gap:var(--s5) var(--s4)}}
@media (min-width:1100px){.maschinen{grid-template-columns:repeat(3,1fr)}}

/* Über uns */
.geschichte,.bio,.engagement,.meister,.jobs{display:grid;gap:var(--s5)}
.geschichte-bild img{filter:grayscale(1);width:100%}
.zeitleiste-gross li{grid-template-columns:84px 1fr}
.gruss{font-weight:600;margin-top:var(--s4)}
.pfeiler{display:grid;gap:var(--s5)}
.pfeiler div{border-top:2px solid var(--wald);padding-top:var(--s3)}
.pfeiler p{font-size:15px;color:var(--text-2)}
.wissen{background:var(--grau);padding:var(--s3) var(--s4);font-size:15px}
.wissen b{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gruen-t);margin-bottom:4px}
.bio-bilder{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.bio-bilder img{aspect-ratio:3/4;object-fit:cover;width:100%}
.engagement-bilder{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.engagement-bilder img{aspect-ratio:1;object-fit:cover;width:100%}
.meister img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.meister figure{margin:0}
.raster3{display:grid;gap:var(--s2);margin-top:var(--s4)}
.raster3 img{aspect-ratio:4/3;object-fit:cover;width:100%}
@media (min-width:640px){.pfeiler{grid-template-columns:1fr 1fr}.raster3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){
  .geschichte{grid-template-columns:5fr 7fr;gap:var(--s7);align-items:start}
  .geschichte-bild{position:sticky;top:calc(var(--kopf) + 24px)}
  .bio{grid-template-columns:6fr 5fr;gap:var(--s7);align-items:center}
  .engagement{grid-template-columns:6fr 5fr;gap:var(--s7);align-items:center}
  .meister{grid-template-columns:5fr 7fr;gap:var(--s7);align-items:center}
  .jobs{grid-template-columns:1fr 1fr;gap:var(--s7)}
  .pfeiler{grid-template-columns:repeat(4,1fr)}
}

/* Einblicke */
.eintraege{display:grid;gap:var(--s5)}
.eintrag{display:grid;gap:var(--s3);border-bottom:1px solid var(--linie);padding-bottom:var(--s5)}
.eintrag img{aspect-ratio:4/3;object-fit:cover;width:100%}
.eintrag h2{font-size:clamp(30px,3.4vw,40px)}
@media (min-width:900px){.eintrag{grid-template-columns:4fr 7fr;gap:var(--s6);align-items:center}}
.sektion-unten{padding-bottom:var(--s7)}
.galerie{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.gal-item{padding:0;border:0;background:none;cursor:zoom-in;aspect-ratio:1;overflow:hidden}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal-item:hover img{transform:scale(1.04)}
@media (min-width:900px){.galerie{grid-template-columns:repeat(4,1fr)}}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1400px,94vw);max-height:92vh}
.lightbox::backdrop{background:rgba(10,14,9,.9)}
.lightbox img{max-height:84vh;width:auto;margin:0 auto}
.lb-zu{display:block;margin:12px auto 0;background:#fff;border:0;padding:10px 18px;font:600 15px "Archivo",sans-serif;cursor:pointer}

/* Kontakt */
.kontakt-kopf{padding-top:var(--s6);padding-bottom:var(--s5)}
.kontakt-kopf h1{font-size:clamp(48px,8vw,96px)}
.kontakt-raster{display:grid;gap:var(--s5);padding-bottom:var(--s7)}
@media (min-width:1000px){.kontakt-raster{grid-template-columns:8fr 4fr;gap:var(--s6)}}
.zettel{border:1px solid var(--linie);padding:var(--s4);margin-bottom:var(--s5);background:#fff}
.zettel-kopf{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--text);margin-bottom:var(--s3)}
.zettel-kopf h2{font-size:clamp(32px,4vw,44px);margin-bottom:var(--s2)}
.zettel-kopf span{font-size:14px;color:var(--text-2)}
.zettel-liste{list-style:none;margin:0;padding:0;counter-reset:z}
.zettel-posten{border-bottom:1px dashed var(--linie);padding:var(--s3) 0;counter-increment:z}
.zp-kopf{display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline;margin-bottom:var(--s2)}
.zp-kopf b{font-size:18px}
.zp-kopf b::before{content:counter(z) ". ";color:var(--gruen-t)}
.zp-kopf small{color:var(--text-2);font-size:13px;margin-left:6px}
.zp-weg{background:none;border:0;color:var(--text-2);text-decoration:underline;cursor:pointer;font:500 14px "Archivo",sans-serif;padding:8px 0}
.zp-felder{display:grid;gap:var(--s2)}
@media (min-width:640px){.zp-felder{grid-template-columns:1fr 1fr}}
.formular{display:grid;gap:var(--s3)}
.formular h2{font-size:clamp(32px,4vw,44px);margin:0}
.feld-reihe{display:grid;gap:var(--s3)}
@media (min-width:640px){.feld-reihe{grid-template-columns:1fr 1fr}}
label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--text)}
input,select,textarea{font:400 16px/1.4 "Archivo",sans-serif;padding:12px;border:1px solid #b9c0b4;background:#fff;color:var(--text);border-radius:0;width:100%;min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--wald);outline:2px solid var(--gruen);outline-offset:0}
label.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400}
label.check input{width:20px;height:20px;min-height:0;margin-top:2px}
.formular .btn{justify-self:start}
.danke{background:var(--grau);border-left:3px solid var(--gruen);padding:var(--s3)}
.kasten{border-top:2px solid var(--text);padding-top:var(--s3);margin-bottom:var(--s5)}
.kasten h2{font-size:36px}
.kasten h3{font-size:24px;margin:var(--s3) 0 4px}
.kontakt-bild{margin:0}
.kontakt-bild img{width:100%}

/* Recht */
.recht{padding-top:var(--s6);padding-bottom:var(--s7);max-width:820px}
.recht h1{font-size:clamp(48px,7vw,80px)}
.recht h2{font-size:30px;margin-top:var(--s5)}

/* Fuß */
.fuss{background:var(--wald-2);color:rgba(255,255,255,.85);padding:var(--s6) 0 var(--s5);font-size:15px}
.fuss-in{max-width:var(--max);margin:0 auto;padding:0 var(--rand);display:grid;gap:var(--s5)}
.fuss a{color:#fff;text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fuss-t{font-weight:700;color:#fff;margin-bottom:var(--s2);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.fuss-firma img{width:110px;height:auto;margin-bottom:var(--s3)}
@media (min-width:800px){.fuss-in{grid-template-columns:1.3fr 1fr 1.2fr 1fr}}

/* Toast */
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);background:var(--text);color:#fff;padding:12px 18px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:80;max-width:calc(100vw - 32px)}
.toast.zeigen{opacity:1;transform:translate(-50%,0)}
.toast a{color:var(--gruen);font-weight:600;pointer-events:auto}

/* Bewegung */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
@media (max-width:640px){
  .hero-bild img{object-position:22% 75%}
  .fakten b{font-size:25px}
  .hero{min-height:88svh}
}
@media (min-width:1181px){.logo img{height:60px}}
