

@font-face{font-family:"Archivo";src:url("../fonts/archivo-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg:#EFEDE3;
  --flaeche:#DDE2D2;
  --karte:#FFFFFF;
  --linie:#CBD2BE;
  --dunkel:#35422F;
  --salbei:#8E9C7C;
  --rahmen:#6E7C61;
  --akzent:#35422F;
  --akzent-tief:#35422F;
  --akzent-hell:#C7D0B8;
  --akzent-fg:#FFFFFF;
  --text:#1F241C;
  --leise:#545B4C;

  --display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  --breit:1180px;
  --rund:14px;
  --rund-gross:22px;
  --schatten:0 1px 2px rgba(31,36,28,.05), 0 10px 30px rgba(31,36,28,.07);
  --kopf-hoehe:72px;

  --wrap-polster:22px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}

html{scroll-padding-top:calc(var(--kopf-hoehe) + 16px)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden
}

h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.028em;
  line-height:1.14;color:var(--text);margin:0 0 14px;
  overflow-wrap:break-word;hyphens:auto}
h1{font-size:clamp(34px,5.2vw,58px)}
h2{font-size:clamp(27px,3.6vw,41px)}
h3{font-size:clamp(19px,2.1vw,23px);letter-spacing:-.02em;line-height:1.25}
h4{font-size:17px;letter-spacing:-.01em}
p{margin:0 0 16px;max-width:68ch}
a{color:var(--akzent-tief)}
img{max-width:100%;height:auto;display:block}

:focus-visible{outline:2px solid var(--akzent);outline-offset:2px;border-radius:4px}

.wrap{max-width:var(--breit);margin:0 auto;padding:0 var(--wrap-polster)}
.sektion{padding:clamp(56px,8vw,104px) 0}
.sektion--flaeche{background:var(--flaeche)}
.sektion--dunkel{background:var(--dunkel);color:#fff}
.sektion--dunkel h2,.sektion--dunkel h3{color:#fff}
.sektion--dunkel p{color:rgba(255,255,255,.82)}

.eyebrow{display:inline-block;font-family:var(--body);font-size:12px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--akzent-tief);margin-bottom:14px}
.sektion--dunkel .eyebrow{color:var(--akzent-hell)}
.sektion-kopf{max-width:62ch;margin-bottom:clamp(30px,4vw,48px)}
.sektion-kopf p{color:var(--leise);font-size:18px}
.sektion--dunkel .sektion-kopf p{color:rgba(255,255,255,.82)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--dunkel);color:#fff;
  padding:12px 18px;border-radius:0 0 var(--rund) 0;font-weight:600}
.skip-link:focus{left:0}

.knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--body);font-size:16px;font-weight:600;line-height:1;
  padding:16px 28px;min-height:52px;border-radius:999px;
  border:1.5px solid transparent;text-decoration:none;cursor:pointer;
  transition:transform .2s ease, background-color .2s ease, color .2s ease
}
.knopf svg{width:18px;height:18px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.knopf--haupt{background:var(--akzent);color:var(--akzent-fg)}
.knopf--haupt:hover{background:#293322}
.knopf--leer{background:transparent;color:var(--text);border-color:var(--rahmen)}
.knopf--leer:hover{background:rgba(110,124,97,.12)}
.sektion--dunkel .knopf--haupt{background:var(--akzent-hell);color:var(--dunkel)}
.sektion--dunkel .knopf--haupt:hover{background:#DBE2CF}
.sektion--dunkel .knopf--leer{color:#fff;border-color:rgba(255,255,255,.42)}
.sektion--dunkel .knopf--leer:hover{background:rgba(255,255,255,.12)}
.knopf:hover{transform:translateY(-1px)}
.knopf--klein{padding:11px 20px;min-height:44px;font-size:15px}

.kopf{position:sticky;top:0;z-index:60;background:rgba(239,237,227,.82);
  -webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);
  border-bottom:1px solid transparent;transition:border-color .25s ease, box-shadow .25s ease}
.kopf.ist-gescrollt{border-bottom-color:var(--linie);box-shadow:0 4px 20px rgba(31,36,28,.06)}
.kopf__innen{display:flex;align-items:center;gap:20px;min-height:var(--kopf-hoehe)}

.marke{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);
  flex:1 1 0;min-width:0}
.marke__logo{width:38px;height:38px;object-fit:contain}
.marke__wort{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.02em;line-height:1.05}

.marke__wort small{display:block;font-family:var(--body);font-size:10.5px;font-weight:500;
  letter-spacing:.11em;text-transform:uppercase;color:var(--leise);margin-top:2px}

.navi{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.navi a,.navi__knopf{font-family:var(--body);font-size:15.5px;font-weight:500;color:var(--text);
  text-decoration:none;padding:10px 13px;border-radius:10px;background:none;border:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;min-height:44px}
.navi a:hover,.navi__knopf:hover{background:rgba(110,124,97,.14)}

.navi a[aria-current="page"],.navi__haupt[aria-current="page"]{
  font-weight:600;text-decoration:underline;text-decoration-color:var(--akzent);
  text-decoration-thickness:2px;text-underline-offset:6px}
.navi a[aria-current="page"]:hover,.navi__haupt[aria-current="page"]:hover{
  background:rgba(110,124,97,.14)}

.navi__gruppe{position:relative;display:flex;align-items:center}

.navi__haupt{padding-right:1px}
.navi__pfeil{background:none;border:0;cursor:pointer;color:var(--text);
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;min-height:44px;border-radius:9px;padding:0}
.navi__pfeil:hover{background:rgba(110,124,97,.14)}
.navi__pfeil:focus-visible{outline-offset:0}
.navi__pfeil svg,.navi__knopf svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;
  transition:transform .2s ease}
.navi__gruppe[data-offen="ja"] .navi__pfeil svg,
.navi__gruppe[data-offen="ja"] .navi__knopf svg{transform:rotate(180deg)}
.navi__klapp{position:absolute;top:calc(100% + 8px);left:0;min-width:310px;background:var(--karte);
  border:1px solid var(--linie);border-radius:var(--rund);box-shadow:var(--schatten);
  padding:8px;display:none}
.navi__gruppe[data-offen="ja"] .navi__klapp{display:block}
.navi__klapp a{display:block;padding:10px 12px;border-radius:10px;min-height:0}
.navi__klapp b{display:block;font-family:var(--display);font-weight:600;font-size:15.5px}
.navi__klapp span{display:block;font-size:13px;color:var(--leise);line-height:1.4}
.kopf__rechts{display:flex;align-items:center;justify-content:flex-end;gap:10px;
  flex:1 1 0;min-width:0}

.kopf__ruf{display:none;align-items:center;justify-content:center;width:44px;height:44px;
  flex:0 0 auto;border-radius:50%;border:1px solid var(--linie);background:var(--karte);
  color:var(--akzent-tief);transition:transform .2s ease, background-color .2s ease}

.kopf__ruf svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.kopf__ruf:active{transform:scale(.92);background:rgba(142,156,124,.22)}

.menue__schalter{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  background:none;border:0;border-radius:12px;
  padding:0;width:48px;height:48px;cursor:pointer;color:var(--text);
  -webkit-tap-highlight-color:transparent;
  transition:background-color .2s ease, transform .12s ease}
.menue__schalter:hover{background:rgba(110,124,97,.12)}

.menue__schalter:active{transform:scale(.9)}
.menue__wort{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.menue__balken{position:relative;display:block;width:22px;height:2px;border-radius:2px;
  background:currentColor;flex:0 0 auto;
  transition:background-color .1s ease .12s}
.menue__balken::before,.menue__balken::after{content:"";position:absolute;left:0;right:0;
  height:2px;border-radius:2px;background:currentColor;
  transition:transform .26s cubic-bezier(.3,.8,.35,1)}
.menue__balken::before{top:-7px}
.menue__balken::after{top:7px}
.menue__schalter[aria-expanded="true"] .menue__balken{background:transparent;transition-delay:0s}
.menue__schalter[aria-expanded="true"] .menue__balken::before{transform:translateY(7px) rotate(45deg)}
.menue__schalter[aria-expanded="true"] .menue__balken::after{transform:translateY(-7px) rotate(-45deg)}

.menue-schleier{position:fixed;inset:0;top:var(--kopf-hoehe);z-index:50;
  background:rgba(31,36,28,.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s ease}
html[data-menue="offen"] .menue-schleier{opacity:1;visibility:visible}

.menue{position:fixed;top:var(--kopf-hoehe);left:0;right:0;z-index:55;display:none;
  flex-direction:column;
  background:rgba(239,237,227,.86);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  border-top:1px solid var(--linie);
  box-shadow:0 20px 44px rgba(31,36,28,.13);
  max-height:calc(100dvh - var(--kopf-hoehe));overflow:hidden}

.menue__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .menue{background:var(--bg)}
}
.menue[data-offen="ja"]{display:flex}

.menue .menue__innen{display:grid;gap:clamp(18px,3vw,40px);
  padding-top:clamp(18px,3vw,34px);padding-bottom:0}
@media(min-width:900px){
  .menue__innen{grid-template-columns:1.15fr 1fr 1fr;align-items:start}
  .menue .menue__innen{padding-bottom:clamp(26px,3.5vw,42px)}

  .menue__klein{grid-column:3;grid-row:1}
}
.menue__spalte{display:flex;flex-direction:column;min-width:0}
.menue__titel{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--leise);margin:0 0 8px;padding-bottom:9px;
  border-bottom:1px solid var(--linie)}

.menue a:not(.knopf){display:flex;align-items:center;min-height:46px;padding:7px 10px;
  margin-left:-10px;border-radius:9px;font-size:16px;color:var(--text);text-decoration:none;
  transition:background-color .18s ease}
.menue a:not(.knopf):hover{background:rgba(110,124,97,.13)}
.menue a[aria-current="page"]{font-weight:600;text-decoration:underline;
  text-decoration-color:var(--akzent);text-decoration-thickness:2px;text-underline-offset:5px}

.menue__alle{font-weight:600;color:var(--akzent-tief)!important;margin-top:4px}

.menue__klein{display:flex;flex-direction:column;padding-top:14px;
  border-top:1px solid var(--linie)}
.menue__klein a:not(.knopf){font-size:14.5px;color:var(--leise);min-height:42px}

.menue__fuss{flex:0 0 auto;width:100%;display:flex;flex-direction:column;gap:12px;
  padding-top:14px;padding-bottom:calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid var(--linie)}
.menue__ruf{display:flex!important;align-items:center;gap:12px;min-height:52px!important;
  font-family:var(--display);font-weight:700;font-size:20px;color:var(--text)!important;
  text-decoration:none}
.menue__ruf svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;color:var(--akzent-tief)}
.menue__ruf-text{display:block;line-height:1.15}
.menue__ruf-text small{display:block;font-family:var(--body);font-size:12px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--leise);margin-bottom:2px}
.menue__anfrage{width:100%}

@media(min-width:900px){
  .menue__fuss{flex-direction:row;align-items:center;justify-content:flex-end;
    gap:22px;padding-top:16px;padding-bottom:clamp(20px,2.6vw,30px)}
  .menue__anfrage{width:auto}
}
.menue__notiz{font-size:14px;color:var(--leise);margin:10px 0 0}

.hero{position:relative;overflow:hidden;background:var(--bg);
  padding:clamp(60px,9vw,116px) 0 clamp(56px,8vw,100px)}
.hero__bild{position:absolute;inset:0;z-index:0}
.hero__bild img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero__schleier{position:absolute;inset:0;z-index:1;
  background:linear-gradient(96deg,
    rgba(239,237,227,.97) 0%, rgba(239,237,227,.93) 34%,
    rgba(239,237,227,.68) 56%, rgba(239,237,227,.24) 100%)}
.hero__punkte{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;
  background-image:radial-gradient(var(--salbei) 1.1px, transparent 1.1px);
  background-size:17px 17px;
  -webkit-mask-image:linear-gradient(205deg,transparent 45%,#000 100%);
  mask-image:linear-gradient(205deg,transparent 45%,#000 100%)}
.hero__innen{position:relative;z-index:3;max-width:44rem}
.hero h1 em{font-style:normal;color:var(--akzent-tief)}
.hero__lead{font-size:clamp(17px,2vw,20px);color:var(--leise);max-width:52ch;margin-bottom:14px}
.hero__spruch{font-family:var(--display);font-weight:600;font-size:clamp(17px,2vw,20px);
  color:var(--text);border-left:3px solid var(--akzent);padding-left:15px;margin:0 0 26px;max-width:44ch}
.hero__knoepfe{display:flex;gap:12px;flex-wrap:wrap}
.hero__marker{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:24px;
  border-top:1px solid var(--linie);max-width:46ch;font-size:15px;color:var(--leise)}
.hero__marker svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--akzent-tief);fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.logoband{background:var(--karte);border-bottom:1px solid var(--linie);
  padding:clamp(26px,3.4vw,38px) 0 clamp(24px,3.2vw,34px);overflow:hidden}
.logoband__kopf{text-align:center;margin-bottom:20px}
.logoband__kopf .eyebrow{margin-bottom:0;color:var(--leise)}
.laufband{position:relative;width:100%;overflow:hidden}

.laufband{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.laufband__bahn{display:flex;width:max-content;animation:logos-laufen 30s linear infinite}
.laufband:hover .laufband__bahn,.laufband:focus-within .laufband__bahn{animation-play-state:paused}
.laufband__gruppe{display:flex;align-items:center;gap:clamp(38px,5vw,60px);
  padding-right:clamp(38px,5vw,60px)}
@keyframes logos-laufen{from{transform:translateX(0)}to{transform:translateX(-25%)}}

.lb-logo{flex:none;height:30px;width:auto;filter:grayscale(1);opacity:.62;
  transition:filter .25s ease,opacity .25s ease}
.lb-logo:hover{filter:none;opacity:1}

.lb-logo--gerdau{height:42px}
.lb-logo--uka{height:44px}

.lb-logo--xxxlutz{height:27px}

.lb-logo--schulenburg{height:41px}
.lb-logo--mmm{height:34px}
.lb-logo--kruegel{height:40px}

@media(max-width:760px){
  .laufband__gruppe{gap:34px;padding-right:34px}
  .lb-logo{opacity:.72}
}

@media(prefers-reduced-motion:reduce){
  .laufband__bahn{flex-wrap:wrap;justify-content:center;width:100%;row-gap:22px;transform:none}

  .laufband__gruppe{flex-wrap:wrap;justify-content:center;gap:30px;row-gap:22px;
    padding:0 var(--wrap-polster)}
  .laufband__gruppe[aria-hidden="true"]{display:none}
  .laufband{-webkit-mask-image:none;mask-image:none}
}

.ueber__gitter{display:grid;gap:clamp(28px,4vw,54px);align-items:center}
@media(min-width:900px){.ueber__gitter{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}}
.ueber__bild{position:relative;border-radius:var(--rund-gross);overflow:hidden;box-shadow:var(--schatten)}
.ueber__bild img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ueber__zitat{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.3vw,25px);
  line-height:1.35;color:var(--text);border-left:3px solid var(--akzent);
  padding-left:20px;margin:26px 0 0}

.karten{display:grid;gap:16px}
@media(min-width:640px){.karten{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.karten{grid-template-columns:repeat(3,1fr)}}
.karte{position:relative;display:flex;flex-direction:column;background:var(--karte);
  border:1px solid var(--linie);
  border-radius:var(--rund-gross);padding:26px 24px 24px;text-decoration:none;color:var(--text);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}

@media(hover:hover) and (pointer:fine){
  .karte:hover{transform:translateY(-4px) scale(1.018);z-index:2;
    box-shadow:0 2px 4px rgba(31,36,28,.06), 0 16px 40px rgba(31,36,28,.11);
    border-color:var(--salbei)}
}

.karte:focus-visible{border-color:var(--salbei);box-shadow:var(--schatten)}
.karte__icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;
  background:rgba(142,156,124,.26);color:var(--dunkel);margin-bottom:17px}
.karte__icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.karte__icon img{width:26px;height:26px}
.karte h2,.karte h3{font-size:clamp(19px,2.1vw,23px);letter-spacing:-.02em;
  line-height:1.25;margin-bottom:9px}
.karte p{font-size:15.5px;color:var(--leise);margin:0 0 18px;max-width:none}
.karte__mehr{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:15px;
  font-weight:600;color:var(--akzent-tief)}
.karte__mehr svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.karte:hover .karte__mehr svg{transform:translateX(4px)}

.galerie{display:grid;gap:16px}
@media(min-width:700px){.galerie{grid-template-columns:repeat(3,1fr)}}
.galerie__stueck{position:relative;margin:0;border-radius:var(--rund-gross);overflow:hidden;
  background:var(--karte);border:1px solid var(--linie)}
.galerie__stueck img{width:100%;aspect-ratio:4/3;object-fit:cover}
.galerie__text{padding:16px 18px 18px}
.galerie__text h3{font-size:18px;margin-bottom:5px}
.galerie__text p{font-size:14.5px;color:var(--leise);margin:0}

.platzhalter-band{display:flex;align-items:flex-start;gap:12px;margin-bottom:26px;padding:14px 18px;
  background:rgba(156,74,47,.09);border:1px dashed #9C4A2F;border-radius:var(--rund);
  font-size:15px;color:#8F4527;max-width:none}
.platzhalter-band svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px;stroke:currentColor;
  fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.platzhalter-band b{font-weight:700}

.rechtshinweis{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:15px 17px;
  background:var(--flaeche);border-left:3px solid var(--akzent);border-radius:0 var(--rund) var(--rund) 0;
  font-size:15px;color:var(--text)}
.rechtshinweis svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px;stroke:var(--akzent-tief);
  fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rechtshinweis b{font-weight:700}

.aktionsband{max-width:900px;margin:clamp(36px,5vw,52px) auto 0;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;
  padding:26px 28px;background:var(--karte);
  border:1px solid var(--linie);border-left:3px solid var(--akzent);border-radius:var(--rund)}
.aktionsband__text{flex:1 1 320px}
.aktionsband .eyebrow{margin-bottom:8px}
.aktionsband h3{font-size:clamp(19px,2.1vw,23px);margin:0 0 6px}
.aktionsband p{font-size:15.5px;color:var(--leise);margin:0;max-width:52ch}

.aktionsband .satz{white-space:nowrap}
@media(max-width:560px){
  .aktionsband{padding:22px 20px}
  .aktionsband .knopf{width:100%}
}

.ablauf{display:grid;gap:20px;counter-reset:schritt}
@media(min-width:760px){.ablauf{grid-template-columns:repeat(4,1fr)}}
.ablauf__schritt{position:relative;padding-top:56px}
.ablauf__schritt::before{counter-increment:schritt;content:counter(schritt);
  position:absolute;top:0;left:0;width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:18px;
  background:var(--akzent-hell);color:var(--dunkel)}
.ablauf__schritt h3{font-size:19px;margin-bottom:7px}
.ablauf__schritt p{font-size:15.5px;margin:0;max-width:none}

@media(hover:hover) and (pointer:fine){
  .ablauf__schritt{transition:opacity .25s ease, transform .25s ease}
  .ablauf:hover .ablauf__schritt{opacity:.58}
  .ablauf:hover .ablauf__schritt:hover{opacity:1;transform:scale(1.035)}
  .ablauf__schritt::before{transition:transform .25s ease, background-color .25s ease}
  .ablauf__schritt:hover::before{transform:scale(1.08);background:#DBE2CF}
}
@media(prefers-reduced-motion:reduce){
  .ablauf:hover .ablauf__schritt:hover{transform:none}
}
.zahlen{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);margin-top:clamp(36px,5vw,56px);
  padding-top:32px;border-top:1px solid rgba(255,255,255,.18)}
.zahl b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,44px);
  line-height:1.05;color:var(--akzent-hell)}
.zahl span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.66)}

.rechner{display:grid;gap:clamp(26px,4vw,48px);align-items:stretch}
@media(min-width:900px){.rechner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}}
.rechner__text{display:flex;flex-direction:column}
.rechner__aktionen{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:auto}
.rechner__kasten{background:var(--karte);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:clamp(24px,3vw,34px);box-shadow:var(--schatten);
  display:flex;flex-direction:column;justify-content:center}
.rechner__schritte{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:14px}
.rechner__schritte li{display:flex;align-items:flex-start;gap:13px;font-size:15.5px;color:var(--leise)}
.rechner__schritte b{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;
  border-radius:50%;background:rgba(142,156,124,.3);color:var(--dunkel);
  font-family:var(--display);font-size:14px;font-weight:700}
.rechner__hinweis{font-size:14px;color:var(--leise);margin:16px 0 0}

.gebiete{display:grid;gap:18px}
@media(min-width:760px){.gebiete{grid-template-columns:repeat(2,1fr)}}

.gebiet{position:relative;background:var(--karte);border:1px solid var(--linie);
  border-radius:var(--rund-gross);padding:28px 26px;display:flex;flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}

.gebiet__link{display:inline-block;color:inherit;text-decoration:none;
  padding-block:5px;margin-block:-5px}
.gebiet__link::after{content:"";position:absolute;inset:0;
  border-radius:var(--rund-gross)}
@media(hover:hover) and (pointer:fine){
  .gebiet:hover{transform:translateY(-3px);border-color:var(--salbei);
    box-shadow:0 2px 4px rgba(31,36,28,.06), 0 16px 40px rgba(31,36,28,.11)}
  .gebiet:hover .gebiet__mehr{color:var(--akzent)}
  .gebiet:hover .gebiet__mehr svg{transform:translateX(3px)}
}

.gebiet__link:focus-visible{outline:0}
.gebiet__link:focus-visible::after{outline:3px solid var(--akzent);outline-offset:3px;
  border-radius:var(--rund-gross)}

.gebiet__mehr{display:inline-flex;align-items:center;gap:7px;margin-top:16px;
  font-size:14.5px;font-weight:600;color:var(--akzent-tief);transition:color .22s ease}
.gebiet__mehr svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.gebiet h3{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.gebiet h3 svg{width:23px;height:23px;stroke:var(--akzent-tief);fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.gebiet p{font-size:15.5px;color:var(--leise);margin:0 0 14px}
.gebiet__orte{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 0;padding:0;list-style:none}
.gebiet__orte li{font-size:13.5px;font-weight:500;color:var(--dunkel);
  background:rgba(142,156,124,.24);border-radius:999px;padding:6px 13px}

.faq{max-width:none}
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;
  cursor:pointer;list-style:none;padding:14px 4px;min-height:48px;
  font-family:var(--display);font-weight:600;font-size:clamp(16.5px,1.7vw,18px);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 auto;width:20px;height:20px;
  background:no-repeat center/22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2335422F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  transition:transform .22s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq__antwort{padding:0 4px 18px;color:var(--leise);font-size:16.5px;max-width:78ch}
.faq__mehr{margin-top:26px}
.mittig-cta{text-align:center;margin:36px 0 0}

.text-link{display:inline-flex;align-items:center;gap:7px;font-size:15.5px;font-weight:600;
  color:var(--akzent-tief);text-decoration:none;border-bottom:1.5px solid rgba(53,66,47,.28);
  padding-bottom:2px;min-height:44px}
.text-link:hover{border-bottom-color:var(--akzent)}

.kontakt__gitter{display:grid;gap:clamp(28px,4vw,52px);align-items:start}
.kontakt__spalte{display:flex;flex-direction:column}

@media(min-width:900px){
  .kontakt__gitter{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);
    row-gap:0;align-items:stretch}
  .kontakt__kopf{grid-column:1/-1;grid-row:1;max-width:62ch}
  .kontakt__spalte{grid-column:1;grid-row:2}
  .kontakt__formular{grid-column:2;grid-row:2}

  .kontakt__formular,.kontakt__formular .formular{height:100%}
  .kontakt__formular .formular{display:flex;flex-direction:column}
  .kontakt__formular .feld--wachsend{display:flex;flex-direction:column;flex:1 1 auto;
    min-height:120px}
  .kontakt__formular .feld--wachsend textarea{flex:1 1 auto}
}

.kontakt__liste{list-style:none;margin:30px 0 0;padding:0;display:flex;
  flex-direction:column;gap:22px}
.kontakt__liste li{display:flex;align-items:flex-start;gap:14px;font-size:15px}
.kontakt__liste > li > svg{width:22px;height:22px;flex:0 0 auto;margin-top:3px;
  stroke:var(--akzent-tief);fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}

.kontakt__etikett{display:block;font-family:var(--body);font-size:12px;font-weight:600;
  line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--leise);
  margin-bottom:3px}
.kontakt__liste a{display:inline-block;font-weight:600;font-size:16.5px;line-height:1.5;
  color:var(--text);text-decoration:none;
  border-bottom:1px solid transparent;transition:border-color .2s ease}
.kontakt__liste a:hover{border-bottom-color:var(--akzent)}

.kontakt__gebiet{margin-top:26px;padding:15px 18px 17px;
  border-left:3px solid var(--akzent);background:rgba(255,255,255,.5);
  border-radius:0 var(--rund) var(--rund) 0}
.kontakt__gebiet-etikett{display:block;font-family:var(--body);font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--akzent-tief);margin-bottom:5px}

.kontakt__gebiet p{margin:0 0 8px;font-size:15px;line-height:1.6;color:var(--leise);
  overflow-wrap:break-word;hyphens:auto}

.kontakt__gebiet .text-link{border-bottom:0;padding-bottom:0;
  text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;
  text-decoration-color:rgba(53,66,47,.32);transition:text-decoration-color .2s ease}
.kontakt__gebiet .text-link:hover{text-decoration-color:var(--akzent)}

.formular{background:var(--karte);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:clamp(22px,2.6vw,30px);box-shadow:var(--schatten)}
.feld{margin-bottom:13px}
.feld label{display:block;font-size:14.5px;font-weight:600;margin-bottom:6px}
.feld input,.feld select,.feld textarea{width:100%;font-family:var(--body);font-size:16px;
  color:var(--text);background:#fff;border:1.5px solid var(--rahmen);border-radius:12px;
  padding:12px 15px;min-height:48px}

.feld textarea{min-height:96px;resize:vertical}
.feld input:focus-visible,.feld select:focus-visible,.feld textarea:focus-visible{
  outline:3px solid var(--akzent);outline-offset:1px;border-color:var(--akzent)}
.dsgvo{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--leise);
  margin:4px 0 16px;cursor:pointer}
.dsgvo input{flex:0 0 auto;width:22px;height:22px;margin-top:1px;accent-color:var(--akzent)}
.formular .knopf{width:100%}
.honigtopf{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.pflicht{color:var(--akzent-tief);font-weight:700}
.formular__pflicht{font-size:13.5px;color:var(--leise);margin:0 0 4px}

.fuss{background:var(--dunkel);color:rgba(255,255,255,.8);padding:clamp(48px,6vw,76px) 0 28px}
.fuss__gitter{display:grid;gap:32px}
@media(min-width:760px){.fuss__gitter{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}
.fuss .marke__wort{color:#fff}
.fuss .marke__wort small{color:rgba(255,255,255,.6)}
.fuss__spruch{font-size:15px;margin:16px 0 18px;max-width:38ch}

.fuss__titel{font-family:var(--display);font-weight:700;letter-spacing:-.01em;
  color:#fff;margin:0 0 14px;font-size:16px}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fuss a{color:rgba(255,255,255,.8);text-decoration:none;font-size:15px;
  display:inline-block;padding:3px 0;min-height:30px}
.fuss a:hover{color:#fff;text-decoration:underline}
.fuss__sozial{display:flex;gap:10px}
.fuss__sozial a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.24);min-height:44px}
.fuss__sozial svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.fuss__unten{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:14px}
.fuss__unten a{margin-left:18px}

.hero--kurz{padding:clamp(48px,6vw,84px) 0 clamp(44px,5vw,72px)}

.hero--kurz + .sektion{padding-top:clamp(40px,5vw,60px)}
.hero--kurz h1{font-size:clamp(30px,4.4vw,50px)}
.hero--kurz .hero__lead{margin-bottom:22px}

.krumen{background:var(--bg);border-bottom:1px solid var(--linie);font-size:14px}
.krumen .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding-top:12px;padding-bottom:12px}
.krumen a{color:var(--leise);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.krumen a:hover{color:var(--akzent-tief);text-decoration:underline}
.krumen span[aria-current]{color:var(--text);font-weight:600}
.krumen__pfeil{color:var(--salbei)}

.leistungs-kacheln{display:grid;gap:16px}
@media(min-width:640px){.leistungs-kacheln{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.leistungs-kacheln{grid-template-columns:repeat(3,1fr)}}
.leistungs-kachel{background:var(--karte);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:24px 22px}
.leistungs-kachel h3{font-size:18px;margin-bottom:8px}
.leistungs-kachel p{font-size:15.5px;color:var(--leise);margin:0}

@media(min-width:1000px){
  .leistungs-kacheln.leistungs-kacheln--paar{grid-template-columns:repeat(2,1fr);gap:18px}
  .leistungs-kacheln--paar .leistungs-kachel{padding:22px 26px}
}

.listen-karten{display:grid;gap:16px}

@media(min-width:820px){.listen-karten{grid-template-columns:repeat(2,1fr);gap:20px}}
.listen-karte{background:var(--karte);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:26px 24px}
.listen-karte__kopf{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.listen-karte__icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;
  background:var(--flaeche);color:var(--akzent-tief)}
.listen-karte__icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.listen-karte h3{font-size:19px;margin:0}
.listen-karte ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}

.listen-karte li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;color:var(--leise);
  overflow-wrap:break-word;hyphens:auto}
@media(max-width:360px){
  .listen-karte{padding:22px 17px}
  .listen-karte li{padding-left:24px}
}
.listen-karte li b{color:var(--text);font-weight:600}

.listen-karte li a{display:inline-block;padding-block:5px;font-weight:600;color:var(--akzent-tief)}

.listen-karte li::before{content:"";position:absolute;left:3px;top:4px;width:6px;height:11px;
  border-right:2px solid var(--rahmen);border-bottom:2px solid var(--rahmen);
  transform:rotate(45deg)}

.rechtstext{max-width:78ch}
.rechtstext h1{margin-bottom:28px}
.rechtstext h2{font-size:clamp(19px,2.2vw,23px);margin:38px 0 12px}
.rechtstext h2:first-of-type{margin-top:0}
.rechtstext p{color:var(--leise);max-width:none}
.rechtstext a{color:var(--akzent-tief)}

.rechtstext a.knopf--haupt{color:var(--akzent-fg)}
.rechtstext a.knopf--leer{color:var(--text)}
.rechtstext .hinweis-knoepfe{margin:28px 0 30px}

.luecke{background:#FEF3C7;color:#78350F;border:1px dashed #B45309;border-radius:6px;
  padding:1px 8px;font-size:.94em;font-weight:600}

.text-spalten{display:grid;gap:clamp(20px,3vw,44px)}
@media(min-width:900px){.text-spalten{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}}
.text-spalten__fliess p{color:var(--leise);font-size:17px}
.text-spalten__fliess p:last-child{margin-bottom:0}

.hinweiskasten{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:clamp(24px,3vw,34px);max-width:none}
.hinweiskasten h2{font-size:clamp(20px,2.4vw,25px)}
.hinweiskasten p{color:var(--leise)}
.hinweiskasten__klein{font-size:14px;margin-bottom:0}

.cta-band{display:grid;gap:24px;align-items:center}
@media(min-width:860px){.cta-band{grid-template-columns:1fr auto}}
.cta-band h2{margin-bottom:8px}
.cta-band p{margin:0;max-width:52ch}
.cta-band__knoepfe{display:flex;gap:12px;flex-wrap:wrap}

.ref-gitter{display:grid;gap:18px}
@media(min-width:700px){.ref-gitter{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.ref-gitter{grid-template-columns:repeat(3,1fr)}}
.ref-karte{display:flex;flex-direction:column;background:var(--karte);border:1px solid var(--linie);
  border-radius:var(--rund-gross);overflow:hidden;text-decoration:none;color:var(--text);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.ref-karte:hover{transform:translateY(-3px);box-shadow:var(--schatten);border-color:var(--salbei)}
.ref-karte__bild{display:block;overflow:hidden}
.ref-karte__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease}
.ref-karte:hover .ref-karte__bild img{transform:scale(1.04)}
.ref-karte__text{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.ref-karte__marke{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--leise);margin-bottom:9px}
.ref-karte h2,.ref-karte h3{font-size:19px;line-height:1.25;margin-bottom:8px}
.ref-karte p{font-size:15px;color:var(--leise);margin:0 0 16px}
.ref-karte .karte__mehr{margin-top:auto}

.ref-eckdaten{display:grid;gap:18px;background:var(--flaeche);border-radius:var(--rund-gross);
  padding:24px 26px;margin-bottom:clamp(32px,4vw,52px)}
@media(min-width:700px){.ref-eckdaten{grid-template-columns:repeat(4,1fr)}}
.ref-eckdaten span{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--leise);margin-bottom:5px}
.ref-eckdaten b{font-family:var(--display);font-size:17px;font-weight:700;line-height:1.3}
.ref-eckdaten a{color:var(--akzent-tief)}

.standorte{display:grid;gap:clamp(40px,5vw,72px)}
.standort{display:grid;gap:clamp(22px,3vw,40px);align-items:center}
@media(min-width:900px){.standort{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}}
.standort h2{font-size:clamp(23px,2.8vw,31px);margin-bottom:12px}
.standort p{color:var(--leise)}
.standort__adresse{font-style:normal;font-size:16px;line-height:1.6;color:var(--text);
  border-left:3px solid var(--akzent);padding-left:16px;margin:0 0 22px}
.standort__knoepfe{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

.landkarte{position:relative;border-radius:var(--rund-gross);overflow:hidden;
  border:1px solid var(--linie);background:var(--flaeche);min-height:340px}

.landkarte::before{content:"";position:absolute;inset:0;opacity:.45;
  background-image:radial-gradient(var(--salbei) 1.1px, transparent 1.1px);background-size:17px 17px}
.landkarte__platzhalter{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:28px 26px;gap:4px}
.landkarte__platzhalter svg{width:34px;height:34px;stroke:var(--akzent-tief);fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.landkarte__titel{font-family:var(--display);font-weight:700;font-size:18px;margin:0 0 6px;
  color:var(--text)}
.landkarte__hinweis{font-size:14px;color:var(--leise);max-width:40ch;margin:0 0 16px}
.landkarte__klein{font-size:12.5px;color:var(--leise);margin:14px 0 0}
.landkarte__klein a{color:var(--akzent-tief)}
.landkarte iframe{display:block;width:100%;height:100%;min-height:340px;border:0}

.ref-ablauf{display:grid;gap:clamp(26px,3vw,40px)}
@media(min-width:900px){.ref-ablauf{grid-template-columns:repeat(3,1fr)}}
.ref-schritt h2{font-size:clamp(19px,2.2vw,23px);margin-bottom:10px}
.ref-schritt p{color:var(--leise);font-size:16px;margin:0}

.rr{display:grid;gap:clamp(24px,3.5vw,44px);align-items:stretch}
@media(min-width:1000px){.rr{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}

.rr-block{background:var(--karte);border:1px solid var(--linie);border-radius:var(--rund-gross);
  padding:clamp(22px,3vw,30px);margin-bottom:16px}

.rr-block:last-child{margin-bottom:0}
.rr-block > h2{font-size:clamp(19px,2.2vw,22px);margin-bottom:4px}
.rr-block__hinweis{font-size:14.5px;color:var(--leise);margin:0 0 20px}

.rr-wahl{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
.rr-wahl input{position:absolute;opacity:0;width:0;height:0}
.rr-wahl label{border:1.5px solid var(--rahmen);border-radius:999px;background:transparent;
  padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;min-height:46px;
  display:inline-flex;align-items:center;color:var(--text)}
.rr-wahl input:checked + label{background:var(--akzent);color:var(--akzent-fg);border-color:var(--akzent)}
.rr-wahl input:focus-visible + label{outline:3px solid var(--akzent);outline-offset:3px}

.rr-feld{margin-bottom:20px}
.rr-feld[hidden]{display:none}
.rr-feld__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px}
.rr-feld__kopf label{font-size:15px;font-weight:600}
.rr-feld__wert{font-family:var(--display);font-weight:700;font-size:18px;color:var(--akzent-tief);
  font-variant-numeric:tabular-nums}

input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:34px;
  background:transparent;cursor:pointer;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--flaeche)}
input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--flaeche)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:26px;height:26px;border-radius:50%;background:var(--akzent);border:3px solid #fff;
  box-shadow:0 1px 5px rgba(31,36,28,.35);margin-top:-10px}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--akzent);
  border:3px solid #fff;box-shadow:0 1px 5px rgba(31,36,28,.35)}
input[type=range]:focus-visible{outline:3px solid var(--akzent);outline-offset:4px;border-radius:999px}

.rr-etagen{display:grid;gap:16px}
@media(min-width:620px){.rr-etagen{grid-template-columns:1fr 1fr}}
.rr-etage{border:1px solid var(--linie);border-radius:var(--rund);padding:16px 17px;background:var(--bg)}
.rr-etage h3{font-size:16px;margin-bottom:12px}

.rr-schalter{display:flex;align-items:center;gap:11px;font-size:15px;cursor:pointer;min-height:44px}
.rr-schalter input{width:22px;height:22px;accent-color:var(--akzent);flex:0 0 auto}

.rr-zusatz{display:grid;gap:10px}
@media(min-width:620px){.rr-zusatz{grid-template-columns:1fr 1fr}}
.rr-zusatz label{display:flex;align-items:center;gap:12px;border:1.5px solid var(--linie);
  border-radius:var(--rund);padding:13px 15px;cursor:pointer;font-size:15px;min-height:56px;
  background:var(--bg)}
.rr-zusatz input{width:21px;height:21px;accent-color:var(--akzent);flex:0 0 auto}
.rr-zusatz label:has(input:checked){border-color:var(--akzent);background:rgba(53,66,47,.06)}
.rr-zusatz input:focus-visible{outline:3px solid var(--akzent);outline-offset:3px}

.rr-spalte{height:100%}
.rr-ergebnis{background:var(--dunkel);color:#fff;border-radius:var(--rund-gross);
  padding:clamp(24px,3vw,32px);position:sticky;top:calc(var(--kopf-hoehe) + 18px)}
.rr-ergebnis h2{color:#fff;font-size:20px;margin-bottom:6px}
.rr-ergebnis__klein{font-size:14px;color:rgba(255,255,255,.72);margin:0 0 20px}
.rr-betrag{font-family:var(--display);font-weight:700;line-height:1.1;
  font-size:clamp(26px,3.4vw,36px);color:var(--akzent-hell);margin:0 0 6px;overflow-wrap:break-word}

.rr-betrag__zusatz{display:block;font-size:12.5px;line-height:1.3;
  color:rgba(255,255,255,.62);margin:0 0 6px}
.rr-betrag__zusatz:empty{display:none}
.rr-eckdaten{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0 18px;padding:14px 0;
  border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.rr-eckdaten div{font-size:13px;color:rgba(255,255,255,.66)}
.rr-eckdaten b{display:block;font-family:var(--display);font-size:19px;color:#fff;line-height:1.2}
.rr-posten{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}
.rr-posten li{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;
  color:rgba(255,255,255,.82)}
.rr-posten b{font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap}
.rr-ergebnis .knopf{width:100%}
.rr-fussnote{font-size:13px;color:rgba(255,255,255,.6);margin:14px 0 0}

.rr-ergebnis__griff{display:block;width:100%;background:none;border:0;padding:0;margin:0;
  text-align:left;color:inherit;font:inherit;cursor:default}
.rr-ergebnis__zeichen{display:none}
.rr-ergebnis__mehr{display:block}

@media(max-width:999px){

  .rr-ergebnis{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;
    border-radius:var(--rund-gross) var(--rund-gross) 0 0;
    padding:12px var(--wrap-polster) calc(12px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 30px rgba(31,36,28,.28);
    max-height:82dvh;overflow-y:auto;overscroll-behavior:contain}
  .rr-ergebnis__griff{display:flex;align-items:center;gap:14px;cursor:pointer;
    min-height:48px;-webkit-tap-highlight-color:transparent}
  .rr-ergebnis__kopf{flex:1 1 auto;min-width:0}
  .rr-ergebnis h2{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(255,255,255,.66);margin:0 0 1px;font-family:var(--body)}
  .rr-betrag{font-size:24px;margin:0}
  .rr-ergebnis__zeichen{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;
    border-radius:50%;background:rgba(255,255,255,.13)}
  .rr-ergebnis__zeichen svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2;
    stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}

  .rr-ergebnis__griff[aria-expanded="true"] .rr-ergebnis__zeichen svg{transform:rotate(180deg)}
  .rr-ergebnis__mehr{display:none;padding-top:14px;margin-top:12px;
    border-top:1px solid rgba(255,255,255,.16)}
  .rr-ergebnis__griff[aria-expanded="true"] + .rr-ergebnis__mehr{display:block}
  .rr-ergebnis__klein{margin-bottom:14px}
  .rr-eckdaten{margin-top:0}
  .rr-anfrage{margin-top:10px;min-height:48px;padding-top:12px;padding-bottom:12px}

  body.hat-ergebnisleiste{padding-bottom:132px}
}

.rr-warnung{display:flex;align-items:flex-start;gap:12px;margin:0 0 24px;padding:15px 18px;
  background:rgba(156,74,47,.09);border:1px dashed #9C4A2F;border-radius:var(--rund);
  font-size:15px;color:#8F4527;max-width:none}
.rr-warnung svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px;stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.js .zeigt{opacity:0;transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease}
.js .zeigt.ist-da{opacity:1;transform:none}

@media(max-width:899px){
  .navi{display:none}

  .marke{flex:1 1 auto}
  .kopf__rechts{flex:0 0 auto}

  .menue{height:calc(100dvh - var(--kopf-hoehe));max-height:none}
  .hero__bild img{object-position:70% 50%}

  .hero__schleier{background:linear-gradient(178deg,
    rgba(239,237,227,.42) 0%,
    rgba(239,237,227,.72) 22%,
    rgba(239,237,227,.94) 40%,
    rgba(239,237,227,.93) 100%)}
}
@media(max-width:640px){
  .kopf__rechts .knopf{display:none}
  .kopf__ruf{display:inline-flex}
}
@media(max-width:520px){
  body{font-size:16.5px}
  :root{--wrap-polster:16px}
  .hero__knoepfe .knopf{width:100%}
}

@media(max-width:699px){
  .karten,.leistungs-kacheln,.ref-gitter,.galerie,.gebiete,.ref-ablauf,
  .listen-karten--wischen{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:82%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:var(--wrap-polster);

    margin-left:calc(var(--wrap-polster)*-1);
    margin-right:calc(var(--wrap-polster)*-1);
    padding-left:var(--wrap-polster);
    padding-right:var(--wrap-polster);
    padding-bottom:4px;
    scrollbar-width:none;

    align-items:stretch;
  }
  .karten::-webkit-scrollbar,.leistungs-kacheln::-webkit-scrollbar,
  .ref-gitter::-webkit-scrollbar,.galerie::-webkit-scrollbar,
  .gebiete::-webkit-scrollbar,.ref-ablauf::-webkit-scrollbar,
  .listen-karten--wischen::-webkit-scrollbar{display:none}

  .karten > *,.leistungs-kacheln > *,.ref-gitter > *,
  .galerie > *,.gebiete > *,.ref-ablauf > *,
  .listen-karten--wischen > *{scroll-snap-align:start;scroll-snap-stop:always}

  .js .karten > .zeigt,.js .leistungs-kacheln > .zeigt,.js .ref-gitter > .zeigt,
  .js .galerie > .zeigt,.js .gebiete > .zeigt,.js .ref-ablauf > .zeigt,
  .js .listen-karten--wischen > .zeigt{
    opacity:1;transform:none;transition:none}

  .karten,.leistungs-kacheln,.ref-gitter,.galerie,.gebiete,.ref-ablauf,
  .listen-karten--wischen{
    overscroll-behavior-x:contain}

  .karte:active{transform:scale(.985)}
}

.wisch-punkte{display:none}
@media(max-width:699px){
  .wisch-punkte{display:flex;justify-content:center;align-items:center;gap:2px;margin-top:12px}
  .wisch-punkt{width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer;
    display:grid;place-items:center;-webkit-tap-highlight-color:transparent}
  .wisch-punkt::before{content:"";display:block;width:7px;height:7px;border-radius:99px;
    background:var(--rahmen);opacity:.42;transition:width .22s ease, opacity .22s ease}
  .wisch-punkt[aria-current="true"]::before{width:19px;opacity:1;background:var(--akzent)}
  .sektion--dunkel .wisch-punkt::before{background:#fff}
  .sektion--dunkel .wisch-punkt[aria-current="true"]::before{background:var(--akzent-hell)}
}

@media(max-width:699px){
  #ablauf{padding-top:clamp(40px,7vw,56px);padding-bottom:clamp(40px,7vw,56px)}
  #ablauf .sektion-kopf{margin-bottom:22px}
  #ablauf .sektion-kopf h2{font-size:26px}
  #ablauf .sektion-kopf p{font-size:15px;margin-bottom:0}
  .ablauf{grid-template-columns:1fr 1fr;gap:16px 14px}
  .ablauf__schritt{padding-top:40px}
  .ablauf__schritt::before{width:31px;height:31px;font-size:15px}
  .ablauf__schritt h3{font-size:17px;margin-bottom:4px}
  .ablauf__schritt p{font-size:13.5px;line-height:1.42}
  .zahlen{gap:22px 30px;margin-top:30px;padding-top:24px}
}

.ankreuzfeld,
.dsgvo input[type=checkbox],
.rr-schalter input[type=checkbox],
.rr-zusatz input[type=checkbox]{width:24px;height:24px;flex:0 0 auto}

a[href^="tel:"]:not(.knopf):not(.menue__ruf):not(.kopf__ruf),
a[href^="mailto:"]:not(.knopf),
a[href*="wa.me"]:not(.knopf),
a[href*="whatsapp"]:not(.knopf),
.kontakt__liste a:not(.knopf),.ref-eckdaten a,.landkarte__klein a,.dsgvo a,
.rechtstext p > a:not(.knopf){
  padding-block:5px;display:inline-block}

.formular__fehler{margin:0 0 18px;padding:13px 16px;border-radius:var(--rund);
  background:rgba(156,74,47,.09);border:1px solid #9C4A2F;color:#8F4527;
  font-size:15px;font-weight:600;max-width:none}

.danke{max-width:64ch;text-align:center;margin:0 auto;padding-top:clamp(20px,4vw,50px)}
.danke__zeichen{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 26px;
  border-radius:50%;background:rgba(142,156,124,.26);color:var(--akzent-tief)}
.danke__zeichen svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}
.danke__lead{font-size:19px;color:var(--leise)}
.danke p{margin-left:auto;margin-right:auto}
.danke .hero__knoepfe{justify-content:center;margin-top:30px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .zeigt{opacity:1;transform:none}
}
@media print{
  .kopf,.navi,.hero__punkte,.fuss__sozial{display:none}
  body{background:#fff;color:#000}
  .sektion{padding:20px 0}
}
