/* ==========================================================================
   Inter (Variable, self-hosted). Bewusst NICHT von Google geladen:
   spart den Drittanbieter-Request (DSGVO) und einen DNS-Roundtrip.
   Nur "latin" laedt auf deutschen Seiten - "latin-ext" bleibt ungenutzt.
   ========================================================================== */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;
  font-display:swap;src:url("/schriften/inter-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 800;
  font-display:swap;src:url("/schriften/inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   AZAKO Umwelttechnik GmbH — Stylesheet
   Stil: "Blue-Collar Authority". Farben aus dem Logo gemessen.
   Ein Webfont (Inter). Keine Library.
   ========================================================================== */

:root{
  --primaer:#2060D0;          /* Logo-Blau — 5.85:1 auf Weiss (WCAG AA) */
  --primaer-dunkel:#1A4FAE;   /* Hover / Buttons auf hellem Grund */
  --primaer-hell:#E8F0FD;
  --sekundaer:#283038;        /* Logo-Anthrazit */
  --tief:#1B2128;             /* dunkelste Flaeche */
  --tiefer:#141920;

  --text:#1D242B;
  --text-leise:#5A6572;
  --text-invers:#FFFFFF;
  --text-invers-leise:#B3BCC7;

  --flaeche:#FFFFFF;
  --flaeche-leise:#F4F6F9;
  --linie:#E1E6ED;
  --linie-dunkel:rgba(255,255,255,.14);

  --r:10px; --r-gross:16px;
  --schatten:0 1px 2px rgba(20,25,32,.06),0 8px 24px rgba(20,25,32,.08);
  --schatten-hoch:0 24px 60px rgba(20,25,32,.22);
  --wrap:1200px;
  --kopf-h:78px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--kopf-h) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--text);
  background:var(--flaeche);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--primaer);text-underline-offset:3px}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--primaer);outline-offset:3px;border-radius:4px}
.sek--dunkel :focus-visible,.sek--cta :focus-visible,.fuss :focus-visible,
.kopf :focus-visible,.hero :focus-visible{outline-color:#7FA9F0}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.mitte{text-align:center}
.mt-l{margin-top:32px}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.skiplink{position:absolute;left:-9999px;z-index:200}
.skiplink:focus{left:12px;top:12px;background:var(--primaer);color:#fff;
  padding:12px 18px;border-radius:var(--r)}
.ic{width:1.15em;height:1.15em;fill:currentColor;flex:none}

/* ---------- Typo-Bausteine ---------- */
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--primaer);margin:0 0 12px}
.sek--dunkel .eyebrow,.sek--cta .eyebrow,.hero .eyebrow{color:#8FB4F2}
.h1{font-size:clamp(1.85rem,1.15rem + 2.2vw,2.9rem);font-weight:800;margin:0 0 22px;
  text-wrap:pretty}
.h1__z{display:block}
.h1__z--akzent{color:#7FA9F0}
.h2{font-size:clamp(1.6rem,1.15rem + 1.9vw,2.5rem);font-weight:800;margin:0 0 16px}
.unter{max-width:62ch;color:var(--text-leise);font-size:1.06rem;margin:0 auto 44px}
.sek--dunkel .unter,.sek--cta .unter{color:var(--text-invers-leise)}
.mitte.unter{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;
  padding:15px 26px;border-radius:var(--r);border:2px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s,
  border-color .15s,transform .1s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primaer{background:var(--primaer);color:#fff}
.btn--primaer:hover{background:var(--primaer-dunkel)}
.btn--hell{background:#fff;color:var(--sekundaer)}
.btn--hell:hover{background:#E9EEF6}
.btn--linie{background:transparent;color:var(--primaer);border-color:var(--primaer)}
.btn--linie:hover{background:var(--primaer);color:#fff}
.btn--linie-hell{color:#fff;border-color:rgba(255,255,255,.5)}
.btn--linie-hell:hover{background:#fff;color:var(--sekundaer);border-color:#fff}
.btn--text{background:none;border:none;color:inherit;text-decoration:underline;padding:15px 12px}
.btn--voll{width:100%}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;
  cursor:pointer;text-decoration:underline}

/* ==========================================================================
   TOPBAR + HEADER
   ========================================================================== */
.topbar{background:var(--tiefer);color:var(--text-invers-leise);font-size:.83rem}
.topbar__in{display:flex;align-items:center;justify-content:space-between;
  gap:16px;min-height:38px}
.topbar__links{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbar__punkt--stark{color:#fff;font-weight:600}
.topbar__sep{opacity:.4}
.topbar__cta{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}
.topbar__cta:hover{color:#8FB4F2}
@media (max-width:860px){.topbar__links .topbar__punkt:nth-child(n+3),
  .topbar__links .topbar__sep:nth-child(n+2){display:none}}
@media (max-width:520px){.topbar__cta{display:none}}

.kopf{position:sticky;top:0;z-index:90;background:#fff;
  border-bottom:1px solid var(--linie);transition:box-shadow .2s}
.kopf.ist-gescrollt{box-shadow:0 4px 24px rgba(20,25,32,.1)}
.kopf__in{display:flex;align-items:center;gap:26px;min-height:var(--kopf-h)}
.marke{flex:none;display:block}
.marke__logo{width:auto;height:42px}

.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__link{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;white-space:nowrap;
  font-weight:600;color:var(--sekundaer);text-decoration:none;padding:10px 13px;
  border-radius:8px;background:none;border:0;font-family:inherit;cursor:pointer}
.nav__link:hover,.nav__link[aria-expanded="true"]{background:var(--flaeche-leise);color:var(--primaer)}
.nav__link[aria-current="page"]{color:var(--primaer)}
.nav__pfeil{width:8px;height:8px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav__link[aria-expanded="true"] .nav__pfeil{transform:rotate(-135deg) translateY(-2px)}
.nav__gruppe--dd{position:relative}

.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  width:min(760px,92vw);background:#fff;border:1px solid var(--linie);
  border-radius:var(--r-gross);box-shadow:var(--schatten-hoch);padding:14px;z-index:95}
.mega[hidden]{display:none}
.mega__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.mega__item{display:flex;flex-direction:column;gap:1px;padding:11px 13px;
  border-radius:9px;text-decoration:none;color:var(--text)}
.mega__item:hover{background:var(--primaer-hell)}
.mega__titel{font-weight:600;font-size:.95rem;color:var(--sekundaer)}
.mega__item:hover .mega__titel{color:var(--primaer)}
.mega__teaser{font-size:.8rem;color:var(--text-leise)}
.mega__fuss{margin:8px 0 2px;padding-top:12px;border-top:1px solid var(--linie);
  text-align:center;font-size:.9rem;font-weight:600}
.mega__fuss a{text-decoration:none}

.kopf__aktion{display:flex;align-items:center;gap:14px;flex:none}
.kopf__tel{display:flex;align-items:center;gap:9px;text-decoration:none;
  color:var(--sekundaer);padding-block:11px}  /* >=44px Trefferflaeche */
.kopf__tel .ic{color:var(--primaer);width:19px;height:19px}
.kopf__tel-txt{display:flex;flex-direction:column;line-height:1.25}
.kopf__tel-txt small{font-size:.68rem;color:var(--text-leise);letter-spacing:.04em;
  text-transform:uppercase;font-weight:600}
.kopf__tel-txt b{font-size:1.02rem;font-weight:800;white-space:nowrap}
.kopf__tel:hover b{color:var(--primaer)}
.kopf__btn{padding:13px 20px;font-size:.95rem}

.burger{display:none;width:46px;height:46px;border:1px solid var(--linie);
  border-radius:9px;background:#fff;cursor:pointer;padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--sekundaer);
  border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1180px){
  .kopf__tel-txt small{display:none}
  .kopf__in{gap:18px}
  .nav{gap:0}.nav__link{padding:10px 8px;font-size:.89rem}
}
/* Zwischen Burger-Grenze und 1180px reicht der Platz nicht fuer den Kopf-CTA.
   Die Sticky-Bar und der Topbar-Link decken die Aktion dort ab. */
@media (max-width:1180px){.kopf__btn{display:none}}
@media (max-width:960px){
  .burger{display:flex}
  .kopf__btn{display:none}
  .nav{position:fixed;inset:calc(var(--kopf-h) + 38px) 0 auto 0;flex-direction:column;
    align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--linie);
    padding:10px 20px 22px;margin:0;max-height:calc(100dvh - var(--kopf-h) - 38px);
    overflow-y:auto;box-shadow:var(--schatten-hoch);transform:translateY(-8px);
    opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s}
  .nav.ist-offen{transform:none;opacity:1;visibility:visible}
  .nav__link{padding:14px 6px;border-bottom:1px solid var(--linie);border-radius:0;
    font-size:1.02rem;justify-content:space-between;width:100%}
  .mega{position:static;transform:none;width:auto;border:0;box-shadow:none;
    padding:4px 0 12px;background:var(--flaeche-leise);border-radius:9px;margin-bottom:8px}
  .mega__grid{grid-template-columns:1fr}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;background:var(--tief);color:var(--text-invers);
  padding:64px 0 72px;overflow:hidden}
.hero__bg{position:absolute;inset:0;
  background:linear-gradient(148deg,#1B2128 0%,#223047 55%,#1A2740 100%)}
@media (min-width:900px){
  .hero__bg{background-image:linear-gradient(100deg,rgba(20,25,32,.96) 0%,
      rgba(20,25,32,.88) 42%,rgba(20,25,32,.55) 100%),
      url("/bilder/stock/hero-gebaeudereinigung.webp");
    background-size:cover;background-position:62% center}
}
.hero__grid{position:relative;display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
@media (min-width:1000px){
  .hero{padding:76px 0 88px}
  .hero__grid{grid-template-columns:minmax(0,1fr) 430px;gap:52px}
}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:.82rem;font-weight:600;
  color:#DCE7FA;background:rgba(127,169,240,.14);border:1px solid rgba(127,169,240,.3);
  padding:8px 15px;border-radius:999px;margin:0 0 22px}
.badge .ic{color:#8FB4F2}
.hero__lead{font-size:1.1rem;color:#D3DBE5;max-width:56ch;margin-bottom:26px}
.checkliste{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:11px}
.checkliste li{position:relative;padding-left:34px;font-size:1rem;color:#E3E9F1}
.checkliste li::before{content:"";position:absolute;left:0;top:.28em;width:21px;height:21px;
  border-radius:50%;background:var(--primaer);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/13px no-repeat,
    linear-gradient(#000,#000);
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/13px no-repeat,
    linear-gradient(#000,#000);
  -webkit-mask-composite:xor;mask-composite:exclude}
.checkliste li b{color:#fff}
.checkliste--dunkel li{color:var(--text-invers-leise)}
.hero__tel{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0}
.hero__tel-note{font-size:.88rem;color:#A7B3C2}

/* ==========================================================================
   ANFRAGEFORMULAR
   ========================================================================== */
.form{background:#fff;color:var(--text);border-radius:var(--r-gross);
  box-shadow:var(--schatten-hoch);overflow:hidden}
.form__kopf{background:var(--primaer);color:#fff;padding:22px 26px 20px}
.form__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:#EAF1FD;margin:0 0 6px}
.form__titel{font-size:1.35rem;font-weight:800;margin:0 0 5px;line-height:1.2}
.form__unter{font-size:.9rem;color:#E8F0FD;margin:0;line-height:1.5}
.form__body{padding:22px 26px 26px;display:grid;gap:14px}
.feld-reihe{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:420px){.feld-reihe{grid-template-columns:1fr}}
.feld{margin:0;display:grid;gap:6px}
.feld label{font-size:.85rem;font-weight:600;color:var(--sekundaer)}
.feld .opt{font-weight:400;color:var(--text-leise)}
.pflicht{color:#C0392B}
.feld input[type=text],.feld input[type=tel],.feld input[type=email],
.feld select,.feld textarea{
  width:100%;font:inherit;font-size:.97rem;padding:12px 13px;color:var(--text);
  background:var(--flaeche-leise);border:1.5px solid var(--linie);border-radius:9px;
  transition:border-color .15s,background .15s}
.feld textarea{resize:vertical;min-height:78px}
.feld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235A6572'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:20px;padding-right:34px}
.feld :is(input,select,textarea):focus{border-color:var(--primaer);background:#fff;outline:none;
  box-shadow:0 0 0 3px rgba(32,96,208,.16)}
.feld :is(input,select,textarea):user-invalid{border-color:#C0392B;background:#FDF2F1}
.feld--check{grid-template-columns:auto 1fr;gap:11px;align-items:start;margin-top:2px}
.feld--check input{width:19px;height:19px;margin-top:2px;accent-color:var(--primaer);flex:none}
.feld--check label{font-size:.83rem;font-weight:400;color:var(--text-leise);line-height:1.5}
.form__hinweis{display:flex;align-items:flex-start;gap:8px;margin:2px 0 0;
  font-size:.81rem;color:var(--text-leise);line-height:1.5}
.form__hinweis .ic{color:#2E9E5B;margin-top:.15em}

/* ==========================================================================
   TRUST-LEISTE
   ========================================================================== */
.tz{background:var(--tiefer);color:#fff;border-top:1px solid rgba(255,255,255,.07)}
.tz__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:rgba(255,255,255,.09)}
@media (min-width:820px){.tz__grid{grid-template-columns:repeat(4,1fr)}}
.tz__i{background:var(--tiefer);padding:28px 22px;text-align:center}
.tz__wert{font-size:clamp(1.15rem,.9rem + .8vw,1.5rem);font-weight:800;color:#fff;
  margin:0 0 4px;letter-spacing:-.01em}
.tz__label{font-size:.86rem;color:var(--text-invers-leise);margin:0;line-height:1.45}
.tz__label em{font-style:normal;color:#8FB4F2;font-weight:600}

/* ==========================================================================
   SEKTIONEN
   ========================================================================== */
.sek{padding:76px 0}
.sek--schmal{padding:64px 0}
.sek--hell{background:var(--flaeche)}
.sek--hell + .sek--hell{padding-top:0}
.sek--dunkel{background:var(--sekundaer);color:var(--text-invers)}
.sek--dunkel .h2,.sek--cta .h2{color:#fff}
.sek--cta{background:var(--tief);color:var(--text-invers)}
@media (min-width:900px){.sek{padding:96px 0}.sek--schmal{padding:80px 0}}

/* ---------- Leistungs-Grid ---------- */
.lk__grid{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:600px){.lk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.lk__grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.lk{margin:0}
.lk__link{display:flex;flex-direction:column;height:100%;background:#fff;
  border:1px solid var(--linie);border-radius:var(--r-gross);overflow:hidden;
  text-decoration:none;color:inherit;transition:border-color .18s,box-shadow .18s,transform .18s}
.lk__link:hover{border-color:var(--primaer);box-shadow:var(--schatten);transform:translateY(-3px)}
.lk__bild{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--flaeche-leise)}
.lk__bild img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lk__link:hover .lk__bild img{transform:scale(1.05)}
.lk__body{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;flex:1}
.lk__titel{font-size:1.13rem;font-weight:700;color:var(--sekundaer);line-height:1.3}
.lk__text{font-size:.92rem;color:var(--text-leise);line-height:1.55;flex:1}
.lk__mehr{font-size:.9rem;font-weight:600;color:var(--primaer);margin-top:4px}
.lk__link:hover .lk__mehr span{margin-left:4px;display:inline-block;transition:margin .15s}
.weiter{margin:36px 0 0;text-align:center;font-size:.94rem;color:var(--text-leise);
  line-height:2.1;max-width:80ch;margin-inline:auto}
.weiter a{color:var(--sekundaer);text-decoration:none;border-bottom:1px solid var(--linie);
  padding-bottom:2px}
.weiter a:hover{color:var(--primaer);border-color:var(--primaer)}
.trenn{color:var(--linie);margin:0 3px}

/* ---------- Ueber uns ---------- */
.ueber__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media (min-width:900px){.ueber__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px}}
.ueber__bild{margin:0;position:relative}
.ueber__text p{color:var(--text-invers-leise)}
.namenskarte{position:absolute;left:18px;bottom:18px;right:18px;background:#fff;
  border-radius:var(--r);padding:12px 16px;display:flex;flex-direction:column;
  box-shadow:var(--schatten)}
.namenskarte__n{font-weight:800;color:var(--sekundaer);font-size:1rem}
.namenskarte__r{font-size:.82rem;color:var(--text-leise)}

/* ---------- Platzhalter ---------- */
.ph{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;text-align:center;padding:26px;aspect-ratio:4/3;
  border-radius:var(--r-gross);color:#8894A4;
  background:repeating-linear-gradient(135deg,#F4F6F9 0 12px,#EDF1F6 12px 24px);
  border:2px dashed #C6D0DC}
.ph--portrait{aspect-ratio:4/5}
.ph__mark{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--primaer);padding:5px 12px;border-radius:999px}
.ph__txt{font-size:.84rem;line-height:1.5;max-width:30ch}
.hinweis-todo{max-width:70ch;margin:0 auto 34px;padding:14px 18px;font-size:.88rem;
  line-height:1.6;color:#7A5B10;background:#FFF8E6;border:1px solid #F0DFA8;
  border-radius:var(--r);text-align:left}
.hinweis-todo code{background:#F3E7C4;padding:1px 6px;border-radius:4px;font-size:.9em}

/* ---------- Prozess ---------- */
.sk__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px;
  counter-reset:s}
@media (min-width:640px){.sk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sk__grid{grid-template-columns:repeat(4,1fr)}}
.sk{position:relative;background:var(--flaeche-leise);border:1px solid var(--linie);
  border-radius:var(--r-gross);padding:26px 22px 24px}
.sk__nr{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:10px;background:var(--primaer);color:#fff;font-weight:800;font-size:1.05rem;
  margin-bottom:14px}
.sk__t{font-size:1.05rem;font-weight:700;color:var(--sekundaer);margin:0 0 7px}
.sk__p{font-size:.92rem;color:var(--text-leise);margin:0;line-height:1.6}

/* ---------- Galerie ---------- */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:760px){.gal{grid-template-columns:repeat(4,1fr)}}
.gal__i{margin:0}
.gal__i .ph{aspect-ratio:4/3;padding:12px;border-radius:var(--r)}
.gal__i .ph__mark{font-size:.65rem;padding:4px 10px}

/* ---------- Einsatzgebiete ---------- */
.geb__grid{display:grid;grid-template-columns:1fr;gap:26px;margin-top:44px;align-items:start}
@media (min-width:900px){.geb__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px}}
.geb__karte,.geb__orte{background:rgba(255,255,255,.05);border:1px solid var(--linie-dunkel);
  border-radius:var(--r-gross);padding:26px}
.geb__h{font-size:1.05rem;font-weight:700;color:#fff;margin:0 0 12px}
.geb__nap{font-style:normal;color:var(--text-invers-leise);line-height:1.7;margin-bottom:14px}
.geb__nap strong{color:#fff}
.geb__p{font-size:.92rem;color:var(--text-invers-leise);line-height:1.65}
.geb__p--klein{font-size:.87rem;margin:18px 0 0}
.geb__p a{color:#8FB4F2}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;font-size:.87rem;font-weight:500;color:var(--text-invers-leise);
  background:rgba(255,255,255,.06);border:1px solid var(--linie-dunkel);
  padding:7px 13px;border-radius:999px;text-decoration:none;transition:.15s}
.chip:hover{background:var(--primaer);border-color:var(--primaer);color:#fff}
.chip--sitz{background:rgba(32,96,208,.28);border-color:#4C82DE;color:#fff;font-weight:700}

/* ---------- Vorteile ---------- */
.vk__grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:620px){.vk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.vk__grid{grid-template-columns:repeat(4,1fr)}}
.vk{background:rgba(255,255,255,.05);border:1px solid var(--linie-dunkel);
  border-radius:var(--r-gross);padding:26px 22px}
.vk__ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:11px;background:rgba(127,169,240,.16);margin-bottom:15px}
.vk__ic svg{width:23px;height:23px;fill:#8FB4F2}
.vk__t{font-size:1.05rem;font-weight:700;color:#fff;margin:0 0 8px}
.vk__p{font-size:.91rem;color:var(--text-invers-leise);margin:0;line-height:1.62}

/* ---------- Abschluss-CTA ---------- */
.cta__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
@media (min-width:1000px){.cta__grid{grid-template-columns:minmax(0,1fr) 430px;gap:52px}}
.cta__lead{color:var(--text-invers-leise);font-size:1.05rem;max-width:52ch}
.cta__direkt{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 0}

/* ---------- Embeds (consent-gated) ---------- */
.embed{min-height:320px;border-radius:var(--r);overflow:hidden;
  background:var(--flaeche-leise);border:1px solid var(--linie)}
.sek--dunkel .embed{background:rgba(255,255,255,.05);border-color:var(--linie-dunkel)}
.embed--karte{min-height:230px;margin-top:18px}
.embed iframe{width:100%;height:100%;min-height:inherit;border:0;display:block}
.embed__sperre{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;padding:32px 24px;min-height:inherit;font-size:.92rem;
  color:var(--text-leise);line-height:1.6}
.sek--dunkel .embed__sperre{color:var(--text-invers-leise)}
.embed__sperre b{display:block;color:var(--sekundaer);font-size:1rem}
.sek--dunkel .embed__sperre b{color:#fff}
.embed--todo .embed__sperre::after{content:"TODO: GHL-Embed-Code fehlt noch";
  font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#B08A15;background:#FFF8E6;border:1px solid #F0DFA8;padding:4px 11px;border-radius:999px}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.fuss{background:var(--tiefer);color:var(--text-invers-leise);padding:64px 0 0;
  font-size:.93rem}
.fuss__grid{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:48px}
@media (min-width:680px){.fuss__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.fuss__grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:34px}}
.fuss__logo{height:52px;width:auto;margin-bottom:18px;
  background:#fff;padding:7px 11px;border-radius:8px}
.fuss__text{line-height:1.7;margin-bottom:16px}
.fuss__siegel{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.siegel{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:#8FB4F2;
  background:rgba(127,169,240,.12);border:1px solid rgba(127,169,240,.28);
  padding:5px 11px;border-radius:6px}
.fuss__social{display:flex;gap:10px;margin:0}
.fuss__social a{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:9px;background:rgba(255,255,255,.07);color:#fff}
.fuss__social a:hover{background:var(--primaer)}
.fuss__social .ic{width:19px;height:19px}
.fuss__h{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:#fff;margin:0 0 16px}
.fuss__liste{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fuss__liste a{color:var(--text-invers-leise);text-decoration:none}
.fuss__liste a:hover{color:#fff;text-decoration:underline}
.fuss__mehr{margin:16px 0 0;font-weight:600}
.fuss__mehr a{color:#8FB4F2;text-decoration:none}
.fuss__nap{font-style:normal;line-height:1.75;margin:0 0 16px}
.fuss__nap strong{color:#fff}
.fuss__nap a{color:var(--text-invers-leise);text-decoration:none}
.fuss__nap a:hover{color:#fff}
.fuss__tel{font-weight:800;font-size:1.08rem;color:#fff!important}
.fuss__zeiten{margin:0;line-height:1.7}
.fuss__zeiten strong{color:#fff}
.fuss__unten{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  justify-content:space-between;padding-block:22px;
  border-top:1px solid rgba(255,255,255,.09);font-size:.85rem}
.fuss__copy{margin:0}
.fuss__recht{display:flex;gap:20px;flex-wrap:wrap}
.fuss__recht a,.fuss__recht button{color:var(--text-invers-leise);text-decoration:none}
.fuss__recht a:hover,.fuss__recht button:hover{color:#fff;text-decoration:underline}

/* ==========================================================================
   STICKY MOBILE BAR
   ========================================================================== */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:1px;
  background:rgba(255,255,255,.14);box-shadow:0 -6px 24px rgba(20,25,32,.22);
  padding-bottom:env(safe-area-inset-bottom)}
.stickybar__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 10px;font-size:.97rem;font-weight:700;text-decoration:none}
.stickybar__btn--tel{background:var(--sekundaer);color:#fff}
.stickybar__btn--cta{background:var(--primaer);color:#fff}
@media (max-width:900px){
  .stickybar{display:flex}
  body{padding-bottom:60px}
  .chat-platzhalter{bottom:76px}
}

/* ==========================================================================
   CHAT-PLATZHALTER
   ========================================================================== */
.chat-platzhalter{position:fixed;right:18px;bottom:22px;z-index:78}
.chat-bubble{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:var(--primaer);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(32,96,208,.42)}
.chat-bubble svg{width:26px;height:26px;fill:currentColor}
.chat-bubble:hover{background:var(--primaer-dunkel)}

/* ==========================================================================
   COOKIE-CONSENT
   ========================================================================== */
.cc{position:fixed;inset:auto 0 0 0;z-index:120;padding:16px;
  background:linear-gradient(to top,rgba(20,25,32,.5),transparent)}
.cc[hidden]{display:none}
.cc__box{width:100%;max-width:660px;margin-inline:auto;background:#fff;
  border-radius:var(--r-gross);box-shadow:var(--schatten-hoch);padding:24px 26px}
.cc__titel{font-size:1.15rem;font-weight:800;color:var(--sekundaer);margin:0 0 9px}
.cc__text{font-size:.9rem;color:var(--text-leise);line-height:1.65;margin:0 0 16px}
.cc__kats{display:grid;gap:11px;margin:0 0 18px;padding:15px;
  background:var(--flaeche-leise);border-radius:var(--r)}
.cc__kats[hidden]{display:none}
.cc__kat{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;
  font-size:.87rem;color:var(--text-leise);line-height:1.5;cursor:pointer}
.cc__kat input{width:18px;height:18px;margin-top:2px;accent-color:var(--primaer)}
.cc__kat b{color:var(--sekundaer)}
.cc__aktionen{display:flex;flex-wrap:wrap;gap:10px}
.cc__aktionen .btn{flex:1 1 auto;padding:13px 18px;font-size:.95rem}
.cc__aktionen [hidden]{display:none}
@media (max-width:560px){.cc__aktionen .btn{flex:1 1 100%}}

/* ---------- Print ---------- */
@media print{
  .topbar,.kopf,.stickybar,.cc,.chat-platzhalter,.form,.hero__bg{display:none!important}
  body{color:#000;background:#fff}
  .sek--dunkel,.sek--cta,.hero,.fuss{background:#fff!important;color:#000!important}
}

/* ==========================================================================
   PHASE 2 — Leistungs-, Kombi-, Stadt- und Hub-Seiten
   ========================================================================== */

.wrap--schmal{max-width:880px}

/* ---------- Breadcrumb ---------- */
.brot{margin:0 0 20px}
.brot__liste{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;
  font-size:.82rem;color:#A7B3C2}
.brot__liste li+li::before{content:"›";margin-right:6px;opacity:.55}
.brot__liste a{color:#C7D3E2;text-decoration:none}
.brot__liste a:hover{color:#fff;text-decoration:underline}
.brot__liste [aria-current]{color:#fff;font-weight:600}

/* ---------- Hero der Unterseiten ---------- */
.hero--unter{padding:44px 0 68px}
@media (min-width:1000px){.hero--unter{padding:52px 0 84px}}
.hero__bg--bild{background:linear-gradient(148deg,#1B2128 0%,#223047 55%,#1A2740 100%)}
@media (min-width:900px){
  .hero__bg--bild{background-image:linear-gradient(100deg,rgba(20,25,32,.96) 0%,
      rgba(20,25,32,.88) 42%,rgba(20,25,32,.5) 100%),var(--hero);
    background-size:cover;background-position:center}
}

/* ---------- Fließtext-Sektion ---------- */
.fliess{max-width:74ch;margin-inline:auto}
.fliess p{margin:0 0 1.15em;color:var(--text-leise);font-size:1.02rem;line-height:1.75}
.fliess__lead{font-size:1.12rem!important;color:var(--text)!important;font-weight:500}
.sek--dunkel .fliess p{color:var(--text-invers-leise)}

.sek--grau{background:var(--flaeche-leise)}

/* ---------- Detail-Karten ---------- */
.dk__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:680px){.dk__grid{grid-template-columns:repeat(2,1fr)}}
.dk{background:var(--flaeche-leise);border:1px solid var(--linie);
  border-left:3px solid var(--primaer);border-radius:var(--r);padding:20px 22px}
.dk__t{font-size:1.02rem;font-weight:700;color:var(--sekundaer);margin:0 0 6px}
.dk__p{font-size:.93rem;color:var(--text-leise);margin:0;line-height:1.6}

/* ---------- Preis-Karten ---------- */
.pk__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:620px){.pk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.pk__grid{grid-template-columns:repeat(4,1fr)}}
.pk{background:#fff;border:1px solid var(--linie);border-radius:var(--r-gross);
  padding:24px 20px;position:relative}
.pk__nr{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border-radius:8px;background:var(--primaer-hell);color:var(--primaer);
  font-weight:800;font-size:.95rem;margin-bottom:12px}
.pk__t{font-size:1rem;font-weight:700;color:var(--sekundaer);margin:0 0 7px}
.pk__p{font-size:.9rem;color:var(--text-leise);margin:0;line-height:1.6}
.preis-hinweis{max-width:68ch;margin:32px auto 0;padding:18px 22px;font-size:.93rem;
  line-height:1.7;color:var(--text-leise);background:var(--primaer-hell);
  border:1px solid #C6DAFA;border-radius:var(--r)}
.preis-hinweis b{color:var(--sekundaer)}

/* ---------- FAQ (natives details/summary, kein JS) ---------- */
.fq__liste{display:grid;gap:12px}
.fq{background:#fff;border:1px solid var(--linie);border-radius:var(--r);overflow:hidden}
.fq[open]{border-color:var(--primaer);box-shadow:var(--schatten)}
.fq__q{display:flex;align-items:flex-start;gap:12px;padding:17px 20px;cursor:pointer;
  font-weight:600;font-size:1rem;color:var(--sekundaer);list-style:none;line-height:1.45}
.fq__q::-webkit-details-marker{display:none}
.fq__q::after{content:"";flex:none;width:11px;height:11px;margin-left:auto;margin-top:.35em;
  border-right:2px solid var(--primaer);border-bottom:2px solid var(--primaer);
  transform:rotate(45deg);transition:transform .2s}
.fq[open] .fq__q::after{transform:rotate(-135deg)}
.fq__q:hover{color:var(--primaer)}
.fq__a{padding:0 20px 19px}
.fq__a p{margin:0;font-size:.95rem;color:var(--text-leise);line-height:1.7;max-width:70ch}

/* ---------- Ortskarten (Leistungsseite) ---------- */
.ok__grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:560px){.ok__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.ok__grid{grid-template-columns:repeat(3,1fr)}}
.ok{display:flex;flex-direction:column;gap:3px;padding:15px 17px;text-decoration:none;
  background:rgba(255,255,255,.05);border:1px solid var(--linie-dunkel);
  border-radius:var(--r);transition:.15s}
.ok:hover{background:var(--primaer);border-color:var(--primaer)}
.ok__n{font-weight:700;color:#fff;font-size:.98rem}
.ok__m{font-size:.8rem;color:var(--text-invers-leise)}
.ok:hover .ok__m{color:#DCE8FC}

/* ---------- Stadtkarten (Hub) ---------- */
.sk__stadt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:700px){.sk__stadt-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.sk__stadt-grid{grid-template-columns:repeat(4,1fr)}}
.sk__stadt{display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;
  background:#fff;border:1px solid var(--linie);border-radius:var(--r-gross);
  text-decoration:none;transition:.16s}
.sk__stadt:hover{border-color:var(--primaer);box-shadow:var(--schatten);transform:translateY(-2px)}
.sk__stadt-n{font-weight:700;font-size:1.05rem;color:var(--sekundaer)}
.sk__stadt:hover .sk__stadt-n{color:var(--primaer)}
.sk__stadt-m{font-size:.82rem;color:var(--text-leise)}
.sk__stadt-e{font-size:.78rem;color:var(--primaer);font-weight:600;margin-top:4px}

.teile__liste{list-style:none;margin:0;padding:0;display:grid;gap:11px;
  max-width:90ch;margin-inline:auto}
.teile__liste li{font-size:.9rem;color:var(--text-invers-leise);line-height:1.6;
  padding-bottom:11px;border-bottom:1px solid var(--linie-dunkel)}
.teile__liste a{color:#fff;font-weight:600;text-decoration:none}
.teile__liste a:hover{color:#8FB4F2;text-decoration:underline}

/* ---------- Einsatzgebiet-Sektion ---------- */
.geb__grid--breit{grid-template-columns:1fr;align-items:stretch}
@media (min-width:900px){.geb__grid--breit{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.geb__bild{margin:0;border-radius:var(--r-gross);overflow:hidden;
  border:1px solid var(--linie-dunkel)}
.geb__bild img{width:100%;height:100%;object-fit:cover;min-height:220px}
.geb__zwei{display:grid;grid-template-columns:1fr;gap:22px;margin-top:26px}
@media (min-width:800px){.geb__zwei{grid-template-columns:repeat(2,1fr)}}
.geb__block{background:rgba(255,255,255,.05);border:1px solid var(--linie-dunkel);
  border-radius:var(--r-gross);padding:24px}
.geb__block .geb__p:last-child{margin-bottom:0}
.chip--ort{cursor:default}
.chip--extern{opacity:.6;cursor:default}
.chips--klein{margin-top:14px}
.chips--klein .chip{font-size:.8rem;padding:5px 11px}

/* ---------- Warum-Sektion mit Foto rechts ---------- */
.ueber__grid--rechts{grid-template-columns:1fr}
@media (min-width:900px){
  .ueber__grid--rechts{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
}
.ueber__bild--foto{border-radius:var(--r-gross);overflow:hidden;box-shadow:var(--schatten-hoch)}
.ueber__bild--foto img{width:100%;height:auto;display:block}

/* ---------- Leistungs-Grid mit 14 Karten ---------- */
@media (min-width:1000px){.lk__grid--vier{grid-template-columns:repeat(4,1fr)}}

/* ==========================================================================
   PHASE 3 — Kernseiten, Funnel, Rechtstexte
   ========================================================================== */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Kurzer Hero ohne Formular ---------- */
.hero--kurz{padding:40px 0 56px}
@media (min-width:1000px){.hero--kurz{padding:48px 0 68px}}
.hero__grid--einspaltig{grid-template-columns:1fr!important;max-width:820px}
.h1--klein{font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem)}
.badge--erfolg{background:rgba(46,158,91,.16);border-color:rgba(80,200,130,.42);color:#CFF0DC}
.badge--erfolg .ic{color:#63D08F}
.badge--admin{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#E3E9F1}

.btn--gross{padding:17px 32px;font-size:1.05rem}
.btn--inaktiv{opacity:.55;cursor:not-allowed;pointer-events:none}

/* ---------- Rechtstexte ---------- */
.rt{max-width:74ch;margin-inline:auto}
.rt p{margin:0 0 1.05em;font-size:.98rem;line-height:1.75;color:var(--text-leise)}
.rt__h{font-size:1.2rem;font-weight:700;color:var(--sekundaer);
  margin:2.1em 0 .7em;padding-top:1.1em;border-top:1px solid var(--linie)}
.rt__h:first-child{margin-top:0;padding-top:0;border-top:0}
.rt code{background:var(--flaeche-leise);border:1px solid var(--linie);
  padding:1px 6px;border-radius:4px;font-size:.9em}
.rt a{word-break:break-word}
.rt__warn{max-width:74ch;margin:0 auto 34px;padding:18px 22px;font-size:.94rem;
  line-height:1.7;color:#7A5B10;background:#FFF8E6;border:1px solid #F0DFA8;
  border-left:4px solid #E0B93C;border-radius:var(--r)}
.rt__zurueck{max-width:74ch;margin:38px auto 0}
.rt__mini{display:inline-block;margin-top:10px;font-size:.8rem;color:var(--text-leise)}

/* ---------- Kontaktkarten ---------- */
.kk__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:620px){.kk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.kk__grid{grid-template-columns:repeat(4,1fr)}}
.kk{background:#fff;border:1px solid var(--linie);border-radius:var(--r-gross);
  padding:26px 22px}
.kk--stark{border-color:var(--primaer);box-shadow:var(--schatten)}
.kk__ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:11px;background:var(--primaer-hell);margin-bottom:14px}
.kk__ic svg{width:22px;height:22px;fill:var(--primaer)}
.kk__t{font-size:.8rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--text-leise);margin:0 0 8px}
.kk__p{margin:0 0 8px;font-size:.97rem;color:var(--text);line-height:1.6}
.kk__adr{font-style:normal}
.kk__gross{display:inline-block;font-size:1.22rem;font-weight:800;
  color:var(--sekundaer);text-decoration:none;line-height:1.3}
.kk__gross:hover{color:var(--primaer)}
.kk__gross--klein{font-size:1rem;word-break:break-word}
.kk__p a{color:var(--text-leise);text-decoration:none}
.kk__p a:hover{color:var(--primaer)}
.kk__note{margin:0;font-size:.83rem;color:var(--text-leise)}

/* ---------- Galerie mit Bildunterschrift ---------- */
.gk__grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:600px){.gk__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.gk__grid{grid-template-columns:repeat(4,1fr)}}
.gk{margin:0;background:#fff;border:1px solid var(--linie);
  border-radius:var(--r-gross);overflow:hidden;display:flex;flex-direction:column}
.gk img{width:100%;aspect-ratio:9/7;object-fit:cover}
.gk__cap{display:flex;flex-direction:column;gap:5px;padding:16px 18px 18px}
.gk__t{font-weight:700;font-size:.98rem;color:var(--sekundaer)}
.gk__p{font-size:.87rem;color:var(--text-leise);line-height:1.55}

/* ---------- GHL-Formular-Einbettung ---------- */
.ghl-form{background:#fff;border:1px solid var(--linie);border-radius:var(--r-gross);
  overflow:hidden;box-shadow:var(--schatten)}
.ghl-form__kopf{background:var(--primaer);color:#fff;padding:24px 28px 22px}
.ghl-form__titel{font-size:1.35rem;font-weight:800;margin:0 0 6px;line-height:1.25}
.ghl-form__hinweis{font-size:.92rem;color:#E8F0FD;margin:0;line-height:1.6}
.embed--formular{border:0;border-radius:0;background:#fff}
.sek--grau .embed--formular{background:#fff}

/* ---------- Drei-Schritte-Variante ---------- */
@media (min-width:760px){.sk__grid--drei{grid-template-columns:repeat(3,1fr)}}

/* ---------- Über-uns / helle Textspalte ---------- */
.ueber__text--hell p{color:var(--text-leise)}
.ueber__text--hell .checkliste li{color:var(--text)}
.ueber__text--hell .checkliste li b{color:var(--sekundaer)}

/* ---------- 404 ---------- */
.fuss__liste--404{max-width:420px;margin-inline:auto;gap:12px}
.fuss__liste--404 a{color:var(--primaer);font-weight:600}
.fuss__liste--404 li{padding-bottom:11px;border-bottom:1px solid var(--linie)}

/* Consent-Sperre in dunklen Sektionen: heller Button statt blau auf dunkel
   (blau auf #3D444B ergäbe nur 1.7:1) */
.sek--dunkel .embed__sperre .btn--linie,
.sek--cta .embed__sperre .btn--linie{color:#fff;border-color:rgba(255,255,255,.55)}
.sek--dunkel .embed__sperre .btn--linie:hover,
.sek--cta .embed__sperre .btn--linie:hover{background:#fff;color:var(--sekundaer);
  border-color:#fff}

/* Hinweis unter Referenz-Galerien */
.gal__fuss{max-width:70ch;margin:26px auto 0;text-align:center;font-size:.87rem;
  line-height:1.7;color:var(--text-leise)}
.gal__fuss a{color:var(--primaer)}
.sek--dunkel .gal__fuss{color:var(--text-invers-leise)}

/* ==========================================================================
   Einsatzgebiete-Menü im Header + "Leistungen vor Ort"
   ========================================================================== */

/* ---------- Orte-Dropdown ---------- */
.mega--orte{width:min(620px,92vw)}
.mega__orte{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.mega__ort{display:block;padding:10px 13px;border-radius:8px;font-size:.93rem;
  font-weight:500;color:var(--sekundaer);text-decoration:none}
.mega__ort:hover{background:var(--primaer-hell);color:var(--primaer)}
.mega--orte .mega__fuss{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
@media (max-width:960px){
  .mega--orte{width:auto}
  .mega__orte{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:420px){.mega__orte{grid-template-columns:1fr}}

/* ---------- Stadt-Karten "Leistungen vor Ort" ---------- */
.ovo__grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:640px){.ovo__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.ovo__grid{grid-template-columns:repeat(3,1fr)}}
.ovo{background:#fff;border:1px solid var(--linie);border-radius:var(--r-gross);
  padding:22px 22px 18px;display:flex;flex-direction:column}
.sek--grau .ovo{background:#fff}
.ovo__kopf{display:flex;align-items:center;gap:12px;padding-bottom:16px;
  margin-bottom:8px;border-bottom:1px solid var(--linie)}
.ovo__pin{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;flex:none;border-radius:10px;background:var(--primaer-hell)}
.ovo__pin svg{width:21px;height:21px;fill:var(--primaer)}
.ovo__ort{display:flex;flex-direction:column;line-height:1.3}
.ovo__n{font-size:1.12rem;font-weight:700;color:var(--sekundaer)}
.ovo__k{font-size:.82rem;color:var(--text-leise)}
.ovo__liste{list-style:none;margin:0;padding:0;flex:1}
.ovo__liste a{display:block;padding:8px 10px;margin:0 -10px;border-radius:7px;
  font-size:.92rem;color:var(--text-leise);text-decoration:none}
.ovo__liste a:hover{background:var(--flaeche-leise);color:var(--primaer)}
.ovo__fuss{margin:12px 0 0;padding-top:13px;border-top:1px solid var(--linie)}
.ovo__fuss a{font-size:.9rem;font-weight:600;color:var(--primaer);text-decoration:none}
.ovo__fuss a:hover{text-decoration:underline}

@media (min-width:700px){.teile__liste--zwei{grid-template-columns:repeat(2,1fr);
  column-gap:30px}}

/* Standort-Sektion auf der Startseite (helle Variante der Gebiets-Karte) */
.geb__karte--hell{background:#fff;border-color:var(--linie)}
.geb__karte--hell .geb__h{color:var(--sekundaer)}
.geb__karte--hell .geb__p{color:var(--text-leise)}
.geb__karte--hell .geb__p a{color:var(--primaer)}
.geb__karte--hell .chip{background:var(--flaeche-leise);border-color:var(--linie);
  color:var(--text-leise)}
