@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/ubuntu-400.7f653b3ce9.woff2") format("woff2")}
@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/ubuntu-500.e8e147e159.woff2") format("woff2")}
@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/ubuntu-700.7c00752ce8.woff2") format("woff2")}
@font-face{font-family:"Ubuntu Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:100.4%;ascent-override:93%;descent-override:19%;line-gap-override:0%}
:root{--gelb:#eab700;--gelb-dunkel:#8a6c00;--schwarz:#0a0a0a;--text:#1c1c1c;--grau:#5b5b5b;--hell:#f6f5f2;--linie:#e3e1dc;--weiss:#fff;--max:1180px;--rand:clamp(16px,4vw,40px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--weiss);color:var(--text);font:400 1.0625rem/1.65 Ubuntu,"Ubuntu Fallback",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.18em}
a:hover{color:var(--gelb-dunkel)}
:focus-visible{outline:3px solid var(--schwarz);outline-offset:2px;box-shadow:0 0 0 5px var(--gelb)}
.dunkel :focus-visible,.fuss :focus-visible,.hero :focus-visible,.zahlen :focus-visible{outline-color:var(--gelb);box-shadow:0 0 0 5px var(--schwarz)}
h1,h2,h3{font-weight:700;line-height:1.05;margin:0 0 .6em;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
h1{font-size:clamp(2.25rem,5vw,4.2rem)}
h2{font-size:clamp(2rem,4.3vw,3.6rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
li{margin:.25em 0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--rand)}
.skip{position:absolute;left:-9999px;top:0;background:var(--gelb);color:#000;padding:.6em 1em;z-index:10}
.skip:focus{left:8px;top:8px}
.kicker{display:inline-block;color:var(--gelb-dunkel);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:.8em}
.kicker::after{content:"";display:block;width:56px;height:3px;background:var(--gelb);margin-top:.5em}
.zentriert{text-align:center}.zentriert .kicker::after{margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--gelb);color:#000;font-weight:500;text-decoration:none;padding:.85em 1.4em;border-radius:3px;border:2px solid var(--gelb);line-height:1.2}
.btn:hover{background:#000;color:var(--gelb);border-color:#000}
.btn.hell{background:transparent;color:#fff;border-color:#fff}
.btn.hell:hover{background:#fff;color:#000}
.kopf{position:sticky;top:0;z-index:5;background:rgb(255 255 255 / 97%);border-bottom:1px solid var(--linie)}
.kopf .wrap{display:flex;align-items:center;gap:24px;min-height:94px;max-width:1440px}
.kopf .logo{flex-shrink:0}
.kopf .logo img{width:200px;height:auto}
.nav{display:flex;gap:4px 22px;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-weight:500;font-size:.95rem}
.kopf nav{align-self:stretch;display:flex;align-items:stretch}
.nav li{display:flex;margin:0}
.nav a{display:flex;align-items:center;text-decoration:none;padding:.6em 0;border-bottom:3px solid transparent;min-height:32px}
.nav a[aria-current="page"]{border-color:var(--gelb);font-weight:700;text-decoration:underline;text-decoration-color:var(--schwarz);text-underline-offset:.35em}
.kopf .tel{margin-left:auto;font-weight:500;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:8px;color:#000;min-height:28px}
.telefon-icon{width:24px;height:24px;flex-shrink:0;fill:var(--gelb)}
.kopf .btn{padding:.6em 1.1em}
@media (max-width:1100px){.kopf .wrap{flex-wrap:wrap;gap:6px 18px;padding-top:10px}.kopf .tel{margin-left:auto}.kopf nav{order:3;width:100%}.nav{justify-content:space-between;font-size:.92rem;width:100%}}
@media (max-width:600px){.kopf .logo img{width:150px}.kopf .tel{font-size:.85rem;gap:4px}.kopf .btn{margin-left:auto;font-size:.85rem}.kopf .logo{grid-row:1 / 3}.kopf .wrap{gap:6px 12px;display:grid;grid-template-columns:auto 1fr}.kopf nav{grid-column:1 / -1}.telefon-icon{width:20px;height:20px}}
.hero{position:relative;background:#000;color:#fff;overflow:hidden}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero img{opacity:.55}
.hero .wrap{position:relative;padding-block:clamp(72px,12vw,150px)}
.hero p{max-width:34em;font-size:1.15rem}
.hero .kicker{color:var(--gelb)}
.hero .aktionen{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.6em}
.seitenkopf{position:relative;background:#000;color:#fff;overflow:hidden}
.seitenkopf picture,.seitenkopf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.seitenkopf img{opacity:.45}
.seitenkopf .wrap{position:relative;padding-block:clamp(48px,8vw,90px)}
.seitenkopf h1{margin:0}
.zahlen{background:var(--schwarz);color:#fff}
.zahlen ul{list-style:none;margin:0;padding:34px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.zahlen strong{display:block;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--gelb);line-height:1.1}
.zahlen span{font-size:.95rem}
@media (max-width:560px){.zahlen ul{grid-template-columns:1fr;gap:22px}}
.abschnitt{padding-block:clamp(56px,8vw,100px);position:relative;overflow:clip}
.abschnitt.hell{background:var(--hell)}
.abschnitt.dunkel{background:var(--schwarz);color:#fff}
.abschnitt.dunkel .kicker{color:var(--gelb)}
.deko-links{left:-60px;top:20px}.deko-rechts{right:-40px;bottom:0}.zweite{order:2}.ohne-unten{padding-bottom:0}.wenig-unten{padding-bottom:24px}
.lead-text{max-width:46em;font-size:1.15rem;margin:0 0 1em}.einleitung .lead-text{margin-inline:auto}.klein{font-size:1.3rem}.route{margin:1em 0 0}.hinweis{margin-top:1.6em;color:var(--grau);font-size:.95rem}
.deko{position:absolute;width:min(380px,40vw);color:#c9c4b8;pointer-events:none;opacity:.8}
.dunkel .deko{color:#7a6410}
.einleitung{max-width:44em;margin:0 auto 2.4em}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.karte{background:#fff;border:1px solid var(--linie);padding:28px;display:flex;flex-direction:column}
.karte img.icon{width:56px;height:56px;margin-bottom:18px}
.karte p{color:var(--grau);flex:1}
.karte a.mehr{font-weight:500;text-decoration:none;border-top:1px solid var(--linie);padding-top:14px;margin-top:6px}
.projekt-auswahl{max-width:1600px;margin:auto;padding-inline:var(--rand)}
.akkordeon{display:flex;height:440px;position:relative;border:1px solid #ccc;background:#fff}
.akk-streifen{order:1;flex:0 0 clamp(40px,5.6vw,89px);display:flex;align-items:center;justify-content:center;border-right:1px solid #ccc;cursor:pointer;min-width:0}
.akk-streifen span{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:1rem}
.akk-streifen:hover{background:var(--hell)}
.akk-panel{order:2;display:none;position:relative;flex:1;min-width:0;background:#0a0a0a;color:#fff}
.akk-radio:checked+.akk-streifen{flex-basis:0;border:0;overflow:hidden}
.akk-radio:checked+.akk-streifen+.akk-panel{display:block}
.akk-radio:focus-visible+.akk-streifen{outline:3px solid #000;outline-offset:-5px;box-shadow:inset 0 0 0 7px var(--gelb)}
.akk-radio:checked:focus-visible+.akk-streifen+.akk-panel{outline:3px solid var(--gelb);outline-offset:-5px}
.akk-bild,.akk-bild picture,.akk-bild img,.akk-bild .symbolbild{display:block;width:100%;height:100%}
.akk-bild{position:absolute;inset:0}
.akk-bild img{object-fit:cover}
.akk-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#000 95%)}
.akk-text{position:absolute;bottom:0;left:0;right:0;padding:24px 24px 38px;background:linear-gradient(rgb(0 0 0 / 74%),rgb(0 0 0 / 95%))}
.akk-text h3{font-size:clamp(1.3rem,2vw,1.9rem);text-transform:uppercase;letter-spacing:.08em}
.akk-text p{font-size:1rem;line-height:1.5}
.akk-text a{display:inline-flex;align-items:center;min-height:32px;color:var(--gelb);font-weight:700}
.akk-text a:hover{color:#fff}
.akk-text a:focus-visible{outline-color:var(--gelb);box-shadow:0 0 0 5px #000}
@media (max-width:899px){.akkordeon{display:block;height:auto}.akk-streifen{min-height:58px;padding:16px 20px;justify-content:space-between;border:0;border-bottom:1px solid #ccc}.akk-streifen::after{content:"+";font-size:1.5rem;line-height:1}.akk-streifen span{writing-mode:horizontal-tb;transform:none;font-size:.9rem}.akk-radio:checked+.akk-streifen{background:var(--gelb);overflow:visible}.akk-radio:checked+.akk-streifen::after{content:"−"}.akk-bild{position:relative;aspect-ratio:16/9}.akk-bild::after{display:none}.akk-text{position:relative;padding:24px;background:#0a0a0a}.akk-text h3{font-size:1.5rem}}
.symbolbild{display:block;position:relative}
.collage{position:relative;aspect-ratio:1.08;isolation:isolate}
.collage-gross{width:84%;height:78%}
.collage-klein{position:absolute;right:0;bottom:0;width:61%;height:54%;border:6px solid #fff;box-shadow:0 12px 32px rgb(0 0 0 / 18%)}
.collage .symbolbild,.collage picture,.collage img{display:block;width:100%;height:100%;object-fit:cover}
.collage-badge{position:absolute;left:24%;top:42%;width:clamp(76px,9vw,110px);aspect-ratio:1;background:var(--gelb);display:grid;place-items:center;z-index:3}
.collage-badge svg{width:70%;height:70%;fill:none;stroke:#000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.zwei{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.zwei.umgekehrt{grid-template-columns:.9fr 1.1fr}
@media (max-width:820px){.zwei,.zwei.umgekehrt{grid-template-columns:1fr}}
.zwei>*{min-width:0}
.zwei img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cta{text-align:center}
.cta p{max-width:36em;margin:0 auto 1.6em}
.stimmen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.stimmen figure{margin:0;background:#fff;padding:28px;height:100%;box-shadow:0 4px 24px rgb(0 0 0 / 4%)}
.stimmen blockquote{margin:0 0 .8em}
.stimmen figcaption{font-weight:700;color:var(--gelb-dunkel)}
.bewertung{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.initiale{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;font-weight:700;font-size:1.3rem;flex-shrink:0}
.avatar-0{background:#81422b}.avatar-1{background:#245b78}.avatar-2{background:#6e3978}.avatar-3{background:#346442}.avatar-4{background:#8b334d}
.sterne{display:flex;gap:3px}.sterne svg{width:20px;height:20px;fill:var(--gelb)}
.positiv{font-size:.95rem}
.positiv ul{margin-top:.4em}
@media (max-width:699px){.stimmen{grid-template-columns:1fr}}
.leistung{padding-block:clamp(48px,7vw,84px);border-bottom:1px solid var(--linie)}
.leistung.hell{background:var(--hell)}
.leistungs-layout{max-width:1440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.leistungs-layout>*{min-width:0}
.leistung .lead{font-size:1.2rem;font-weight:500;background:#fff;border-left:4px solid var(--gelb);padding:24px}
.bildspalte{display:grid;grid-template-columns:minmax(70px,150px) minmax(0,1fr);gap:14px}
.vorschaubilder{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}
.vorschaubilder li{margin:0}
.vorschaubilder img{width:100%;height:150px;object-fit:cover}
.leistungsfoto{position:relative;min-width:0}
.leistungsfoto>picture,.leistungsfoto>.symbolbild,.leistungsfoto picture,.leistungsfoto img{display:block;width:100%;height:642px;object-fit:cover}
.projekt-link{position:absolute;left:0;bottom:40px;max-width:95%;background:var(--gelb);color:#000;padding:20px 24px;text-decoration:none;line-height:1.35}
.projekt-link strong{display:block;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05;margin-bottom:.25em}
.projekt-link:hover{background:#000;color:var(--gelb)}
.leistungs-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #222;border-left:1px solid #222;margin-bottom:24px}
.leistungs-raster>div{padding:16px 12px;border-right:1px solid #222;border-bottom:1px solid #222;overflow-wrap:anywhere}
.leistungs-raster dt{font-size:.85rem;font-weight:700;line-height:1.3;margin-bottom:10px}
.leistungs-raster dd{margin:0;font-size:.9rem}
.leistungs-raster ul{margin:0}
.leistungen-kopf{min-height:520px;display:flex;align-items:center}
.leistungen-kopf>.symbolbild{position:absolute;inset:0}
.leistungen-kopf .wrap{width:100%;padding-bottom:150px}
.leistungen-kopf .kicker{color:var(--gelb)}
.leistungskarten{position:relative;margin-top:-70px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.leistungskarte{display:block;background:#fff;border-top:4px solid var(--gelb);padding:32px 24px;text-decoration:none;text-align:center;box-shadow:0 8px 32px rgb(0 0 0 / 13%)}
.leistungskarte strong{display:block;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;margin-bottom:16px}
.leistungskarte span{color:var(--grau)}
.leistungs-einleitung{padding-block:64px;position:relative;overflow:clip}
.leistungs-einleitung p{position:relative;font-weight:700;text-align:center;margin:auto;max-width:42em;font-size:1.2rem}
@media (max-width:899px){.leistungs-layout{grid-template-columns:1fr}.bildspalte{display:flex;flex-direction:column-reverse}.vorschaubilder{flex-direction:row;overflow-x:auto;padding:4px 4px 12px;scroll-snap-type:x mandatory}.vorschaubilder li{flex:0 0 140px;scroll-snap-align:start}.vorschaubilder img{height:170px}.leistungsfoto>picture,.leistungsfoto>.symbolbild,.leistungsfoto picture,.leistungsfoto img{height:480px}.leistungs-raster{grid-template-columns:1fr}.leistungen-kopf{min-height:360px}.leistungen-kopf .wrap{padding-block:64px 140px}.leistungskarten{grid-template-columns:1fr;gap:16px}.leistungskarte{padding:24px}.leistungs-einleitung{padding-block:48px}}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:1.2em 0}
.chips li{margin:0;border:1px solid var(--linie);padding:.35em .8em;font-size:.92rem;background:#fff}
table.daten{border-collapse:collapse;width:100%;margin:0 0 1.4em}
table.daten th,table.daten td{overflow-wrap:anywhere;hyphens:auto;text-align:left;vertical-align:top;padding:.6em .8em;border-bottom:1px solid var(--linie)}
table.daten th{width:34%;font-weight:500}
.projekt{padding-block:clamp(44px,6vw,72px);border-bottom:1px solid var(--linie)}
.projekt:nth-child(even){background:var(--hell)}
.projekt h2{font-size:clamp(2rem,4.3vw,3.6rem)}
.projekt h2::before{content:"";display:block;width:56px;height:3px;background:var(--gelb);margin-bottom:.6em}
.galerie{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 14px;margin:0 0 1.4em;list-style:none}
.galerie li{flex:0 0 auto;scroll-snap-align:start;margin:0}
.galerie a{display:block}
.galerie img{height:clamp(220px,32vw,340px);width:auto;max-width:none;object-fit:cover}
.projekt .text{max-width:48em}
.standorte{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}
.standort{background:#fff;border:1px solid var(--linie);border-top:4px solid var(--gelb);padding:24px}
.standort h2{font-size:1.15rem;margin-bottom:.2em}
.standort .ort{font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .8em}
.standort address{font-style:normal}
.standort dl{margin:.8em 0 0;display:grid;grid-template-columns:auto 1fr;gap:.2em .8em}
.standort dt{color:var(--grau);white-space:nowrap}
.standort dd{margin:0;overflow-wrap:anywhere}
.kontaktband{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.text-seite{max-width:52em}
.text-seite h2{font-size:1.4rem;margin-top:1.8em}
.text-seite h3{font-size:1.1rem;margin-top:1.4em}
.partner{border-top:1px solid var(--linie);padding:44px 0 36px;background:#fff}
.partner h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--grau);font-weight:500;text-align:center;margin-bottom:24px}
.unsichtbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.laufband-rahmen{position:relative}
.laufband-knopf{position:absolute;right:var(--rand);top:-30px;width:28px;height:28px;border:1px solid var(--linie);border-radius:50%;background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--grau)}
.laufband-knopf::before{content:"";width:8px;height:10px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.laufband-knopf:hover{color:var(--text);border-color:var(--grau)}
#partner-stopp:focus-visible+.laufband-knopf{outline:3px solid var(--schwarz);outline-offset:2px;box-shadow:0 0 0 5px var(--gelb)}
#partner-stopp:checked+.laufband-knopf::before{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;margin-left:3px}
.laufband{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.laufband::-webkit-scrollbar{display:none}
.laufband:focus-visible{outline:3px solid var(--schwarz);outline-offset:4px}
.laufband ul{list-style:none;margin:0;padding:6px 0;display:flex;align-items:center;gap:56px;width:max-content;animation:laufband 45s linear infinite}
.laufband li{margin:0;flex:0 0 auto}
@keyframes laufband{to{transform:translateX(calc(-50% - 28px))}}
.laufband:hover ul,.laufband:focus-within ul,.laufband:active ul,#partner-stopp:checked~.laufband ul{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.laufband ul{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:28px 40px}.laufband li[aria-hidden]{display:none}.laufband-knopf{display:none}.laufband{overflow:visible;-webkit-mask-image:none;mask-image:none}}
.partner img{width:auto;max-width:150px;max-height:52px;object-fit:contain}
.fuss{background:var(--schwarz);color:#ddd;padding:56px 0 28px;font-size:.98rem}
.fuss a{color:#fff}
.fuss a:hover{color:var(--gelb)}
.fuss .spalten{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
@media (max-width:820px){.fuss .spalten{grid-template-columns:1fr}}
.fuss h2{font-size:1rem;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.8em}
.fuss address{font-style:normal}
.fuss ul{list-style:none;padding:0}
.fuss .gross{font-size:1.3rem;font-weight:700;color:#fff;text-decoration:none;display:block}
.fuss .unten{border-top:1px solid #333;margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:.9rem}
.fuss .unten a{display:inline-block;padding:.35em 0;min-height:24px}
.fuss .logo-fuss{background:#fff;display:inline-block;padding:10px 12px;margin-bottom:16px}
.fuss .logo-fuss img{width:150px}
.nach-oben{position:fixed;bottom:24px;right:24px;z-index:6;width:44px;height:44px;display:grid;place-items:center;background:rgb(10 10 10 / 88%);color:#fff;border:1px solid #777;text-decoration:none}
.nach-oben:hover{color:var(--gelb);background:#000}
.nach-oben svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
@media (max-width:600px){.nach-oben{width:32px;height:32px;right:12px;bottom:12px}html{scroll-padding-top:150px}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
