/* =========================================================================
   AsN Kanaltechnik · site.css · RGN Marketing
   Eine Datei für Website (W) und Ads-Landingpage (L): gleiche Tokens, gleiche
   Bausteine (Lastenheft L21). Reihenfolge: Schriften · Tokens · Basis ·
   Bausteine · Kopf · Sektionen W · Sektionen L · Fuß · Rechtsseiten · Bewegung.
   ========================================================================= */

@font-face{font-family:"Red Hat Display";src:url("../fonts/red-hat-display-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Display";src:url("../fonts/red-hat-display-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url("../fonts/red-hat-text-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url("../fonts/red-hat-text-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url("../fonts/red-hat-text-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* -------------------------------------------------------------------------
   Tokens. Farbwelt aus den Logo-Entwürfen: Anthrazit, Limette, Silbergrau.
   Kein Gelb im Design (W27): Gelb gehört allein der Platzhalter-Markierung.

   DUNKLE FLÄCHEN (Gegen-Scope, W30) – jede trägt die Klasse .dunkel:
     .hero · .sek--dunkel (Notdienst, Ablauf, Anfrage bzw. Final-CTA) · .fuss ·
     .menue (Mobil-Menü) · .kopf (solange nicht .is-hell) · .kachel--dunkel
   HELLE INSELN darin – jede trägt die Klasse .hell:
     .formkarte · .anrufkarte · .danke · .fehlerkarte
   Alle Textrollen laufen über --t1/--t2/--t3/--akz/--linie/--karte, nie über
   feste Farben. Wer eine Fläche umfärbt, setzt .dunkel oder .hell dazu.
   ------------------------------------------------------------------------- */
:root{
  --ink-0:#101315; --ink-1:#15181B; --ink-2:#1E2327; --ink-3:#2A3036;
  --on-dark:#E8EBED; --on-dark-2:#B4BBC2;
  --lime:#8CC63F; --lime-hover:#9DD350; --lime-ink:#3F6B10;
  --papier:#F5F6F6; --grau:#ECEEEF; --grau-2:#E1E4E6; --weiss:#FFFFFF;
  --txt:#1B1F23; --txt-2:#4A525A; --txt-3:#5B636B;
  --wa:#25D366; --wa-hover:#3BDD78;
  --line:rgba(21,24,27,.12); --line-dark:rgba(232,235,237,.14);
  --r-btn:10px; --r-card:20px; --r-big:26px; --r-chip:999px;
  --f-head:"Red Hat Display","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-body:"Red Hat Text","Avenir Next","Segoe UI",system-ui,sans-serif;
  --kopf-h:72px;
  --rand:clamp(1.25rem,.6rem + 2.8vw,2.5rem);
  --sek-y:clamp(4rem,2.9rem + 4.4vw,7rem);
  --ease:cubic-bezier(.22,1,.36,1);
  /* Textrollen, Standard = helle Fläche */
  --t1:var(--txt); --t2:var(--txt-2); --t3:var(--txt-3); --akz:var(--lime-ink);
  --linie:var(--line); --karte:var(--papier); --karte-2:var(--grau);
}
.hell{--t1:var(--txt);--t2:var(--txt-2);--t3:var(--txt-3);--akz:var(--lime-ink);--linie:var(--line);--karte:var(--papier);--karte-2:var(--grau);color:var(--t1)}
.dunkel{--t1:var(--on-dark);--t2:var(--on-dark-2);--t3:var(--on-dark-2);--akz:var(--lime);--linie:var(--line-dark);--karte:var(--ink-2);--karte-2:var(--ink-3);color:var(--t1)}

/* ------------------------------------------------------------------ Basis */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--papier);color:var(--t1);font-family:var(--f-body);font-size:1rem;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dt,dd,figure,fieldset,address{margin:0;padding:0}
ul,ol{list-style:none}
address{font-style:normal}
fieldset{border:0;min-width:0}
[hidden]{display:none!important}
[id]{scroll-margin-top:88px}
:focus-visible{outline:3px solid var(--akz);outline-offset:3px;border-radius:4px}
::selection{background:var(--lime);color:var(--ink-1)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--lime);color:var(--ink-1);font-weight:600;padding:.75rem 1rem;border-radius:var(--r-btn)}
.skip:focus{top:1rem}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ic--voll{fill:currentColor;stroke:none}

.wrap{width:min(100% - 2*var(--rand),1200px);margin-inline:auto}
.sek{padding-block:var(--sek-y);position:relative}
.sek--papier{background:var(--papier)}
.sek--grau{background:var(--grau);--karte:var(--papier);--karte-2:var(--grau-2)}
.sek--dunkel{background:var(--ink-1)}

h1,h2,h3{font-family:var(--f-head);font-weight:600;color:var(--t1);text-wrap:balance}
h2{font-size:clamp(1.75rem,1.25rem + 1.9vw,2.625rem);line-height:1.12;letter-spacing:-.025em}
h2 em{display:block;font-style:normal;color:var(--akz)}
h3{font-size:clamp(1.125rem,1.05rem + .35vw,1.3125rem);line-height:1.25;letter-spacing:-.012em}
p{color:var(--t2);text-wrap:pretty}
strong,b{font-weight:600;color:var(--t1)}
.kicker{display:block;font-family:var(--f-body);font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--akz);margin-bottom:.7rem}
.lead{font-size:1.0625rem;line-height:1.65;color:var(--t2);max-width:38rem}
.kopfteil{max-width:44rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.25rem)}
.kopfteil h2 + p{margin-top:1rem}
.kopfteil--mitte{margin-inline:auto;text-align:center}
.kopfteil--mitte .lead{margin-inline:auto}
.textlink{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-weight:600;color:var(--akz)}
.textlink .ic{width:1.05rem;height:1.05rem;transition:transform .25s var(--ease)}
.textlink:hover .ic{transform:translateX(4px)}
.nw{white-space:nowrap}

/* Platzhalter-Markierung der Vorschau (W26): die einzige Regel dafür. */
[data-platzhalter]{outline:2px dashed #F5C400;outline-offset:3px;box-shadow:inset 0 0 0 999px rgba(255,214,0,.2)}

/* -------------------------------------------------------------- Bausteine */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.75rem 1.35rem;border:1.5px solid transparent;
  border-radius:var(--r-btn);font-family:var(--f-body);font-weight:600;font-size:1rem;line-height:1.2;text-align:center;cursor:pointer;
  transition:background-color .18s,border-color .18s,color .18s,transform .18s var(--ease)}
.btn:active{transform:scale(.98)}
.btn .ic{width:1.2rem;height:1.2rem}
.btn--gross{min-height:3.5rem;padding-inline:1.5rem;font-size:1.0625rem}
.btn--tel{background:var(--lime);border-color:var(--lime);color:var(--ink-1)}
.btn--tel:hover{background:var(--lime-hover);border-color:var(--lime-hover)}
.btn--wa{background:var(--wa);border-color:var(--wa);color:var(--ink-1)}
.btn--wa:hover{background:var(--wa-hover);border-color:var(--wa-hover)}
.btn--geist{background:transparent;border-color:var(--linie);color:var(--t1)}
.btn--geist:hover{border-color:var(--t1)}
.dunkel .btn--geist{border-color:rgba(232,235,237,.32)}
.btn--block{width:100%}
.cta-reihe{display:flex;flex-wrap:wrap;gap:.75rem}
.cta-reihe--mitte{justify-content:center}

.haken{display:grid;gap:.6rem}
.haken li{display:grid;grid-template-columns:1.25rem 1fr;gap:.7rem;align-items:start;color:var(--t1);font-size:.9375rem;line-height:1.5}
.haken .ic{color:var(--akz);margin-top:.15rem}
.haken--text li{font-size:1rem}
.haken--text span{color:var(--t2)}
.haken--text b{display:block;color:var(--t1)}

.symbol{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--karte-2);color:var(--akz);flex:none}
.symbol .ic{width:1.4rem;height:1.4rem}
.dunkel .symbol{background:var(--ink-3)}

.karte{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-card)}
.bild{border-radius:var(--r-big);overflow:hidden;background:var(--grau-2)}
.bild img{width:100%;height:100%;object-fit:cover}

.toast{position:fixed;left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:1150;transform:translate(-50%,1rem);opacity:0;pointer-events:none;
  max-width:min(92vw,30rem);background:var(--ink-1);color:var(--on-dark);border:1px solid var(--line-dark);border-radius:var(--r-btn);
  padding:.8rem 1.1rem;font-size:.9375rem;line-height:1.45;box-shadow:0 14px 40px -18px rgba(16,19,21,.6);transition:opacity .25s,transform .25s var(--ease)}
.toast.zeig{opacity:1;transform:translate(-50%,0)}

/* ------------------------------------------------------------------- Kopf */
.kopf{position:fixed;inset:0 0 auto 0;z-index:900;height:var(--kopf-h);display:flex;align-items:center;
  transition:background-color .25s,box-shadow .25s}
.kopf__innen{display:flex;align-items:center;gap:clamp(1rem,.2rem + 1.6vw,2rem);width:min(100% - 2*var(--rand),1280px);margin-inline:auto}
.kopf__logo{display:flex;align-items:center;min-height:44px;flex:none;border-radius:6px}
.kopf__logo img{height:38px;width:auto}
.kopf__logo .logo--dunkel{display:none}
.kopf.is-hell{background:rgba(245,246,246,.94);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);box-shadow:0 1px 0 var(--line);
  --t1:var(--txt);--t2:var(--txt-2);--akz:var(--lime-ink);--linie:var(--line);color:var(--t1)}
.kopf.is-hell .logo--hell{display:none}
.kopf.is-hell .logo--dunkel{display:block}
.nav{display:flex;align-items:center;gap:clamp(1.1rem,.3rem + 1.5vw,2.1rem);margin-left:auto}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:500;color:var(--t1)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:2px;border-radius:2px;background:var(--akz);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}
.kopf__tel{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.4rem .9rem;border:0;background:none;border-radius:var(--r-btn);
  font-family:var(--f-head);font-weight:600;font-size:1rem;color:var(--t1);white-space:nowrap;cursor:pointer}
.kopf__tel .ic{color:var(--akz)}
.kopf__kurz{display:none;gap:.5rem;margin-left:auto}
.rund{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--linie);background:transparent;color:var(--t1);cursor:pointer;flex:none;padding:0}
.rund .ic{width:1.3rem;height:1.3rem}
.rund--tel{background:var(--lime);border-color:var(--lime);color:var(--ink-1)}
.rund--wa{background:var(--wa);border-color:var(--wa);color:var(--ink-1)}
@media (max-width:1079px){
  :root{--kopf-h:60px}
  .kopf__logo img{height:32px}
  .nav,.kopf__tel{display:none}
  .kopf__kurz{display:flex}
}

/* Mobil-Menü (nur Website) */
.menue{position:fixed;inset:0;z-index:1100;background:var(--ink-1);display:flex;flex-direction:column;padding:0 var(--rand) calc(1.25rem + env(safe-area-inset-bottom));
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.menue.offen{opacity:1;visibility:visible;transform:none}
.menue__kopf{display:flex;align-items:center;justify-content:space-between;height:60px;flex:none}
.menue__kopf img{height:32px;width:auto}
.menue__liste{display:grid;margin-top:1rem;border-top:1px solid var(--linie)}
.menue__liste a{display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;border-bottom:1px solid var(--linie);
  font-family:var(--f-head);font-weight:600;font-size:1.25rem;color:var(--t1)}
.menue__liste .ic{color:var(--akz)}
.menue__fuss{margin-top:auto;display:grid;gap:.6rem;padding-top:1.5rem}
html.menue-offen,html.menue-offen body{overflow:hidden}

/* ------------------------------------------------------------------- Hero */
.hero{position:relative;isolation:isolate;background:var(--ink-0);display:flex;align-items:center;
  min-height:clamp(600px,calc(100svh - 72px),820px);padding:calc(var(--kopf-h) + 2.5rem) 0 3.5rem;overflow:hidden}
.hero__bild{position:absolute;inset:0;z-index:-2}
.hero__bild img{width:100%;height:100%;object-fit:cover;object-position:72% 50%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(16,19,21,.94) 0%,rgba(16,19,21,.86) 34%,rgba(16,19,21,.42) 64%,rgba(16,19,21,.12) 100%),
             linear-gradient(180deg,rgba(16,19,21,.6) 0%,rgba(16,19,21,0) 24%)}
.hero__innen{width:min(100% - 2*var(--rand),1200px);margin-inline:auto}
.hero__text{max-width:37.5rem}
.hero h1{font-weight:600}
.hero h1 .kicker{font-size:1rem;margin-bottom:.9rem}
.hero__ansage{display:block;font-size:clamp(2.125rem,1.4rem + 2.9vw,3.5rem);line-height:1.06;letter-spacing:-.03em;color:var(--t1)}
.hero__ansage em{display:block;font-style:normal;color:var(--akz)}
.hero__sub{margin-top:1.15rem;font-size:.9375rem;line-height:1.6;color:var(--on-dark);max-width:33rem}
.hero .cta-reihe{margin-top:1.6rem}
.hero .haken{margin-top:1.6rem;grid-template-columns:repeat(2,minmax(0,auto));justify-content:start;column-gap:2rem}
.hero__zeile{margin-top:.9rem;font-size:.8125rem;color:var(--on-dark-2)}
@media (max-width:700px){
  .hero{align-items:flex-end;min-height:min(calc(100svh - 64px),780px);padding:calc(var(--kopf-h) + 1.25rem) 0 1.75rem}
  .hero__bild img{object-position:50% 20%}
  .hero::before{background:linear-gradient(180deg,rgba(16,19,21,.55) 0%,rgba(16,19,21,.35) 22%,rgba(16,19,21,.88) 52%,rgba(16,19,21,.97) 100%)}
  .hero h1 .kicker{font-size:.9375rem;margin-bottom:.6rem}
  .hero__sub{margin-top:.8rem;font-size:.9375rem}
  .hero .cta-reihe{margin-top:1.15rem;display:grid}
  .hero .haken{margin-top:1.15rem;grid-template-columns:1fr;gap:.45rem}
}

/* -------------------------------------------------------------- Über uns */
.ueber{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.ueber__text p + p{margin-top:.9rem}
.ueber__text h2{margin-bottom:1.1rem}
.fakten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--linie)}
.fakten b{display:block;font-family:var(--f-head);font-size:1.0625rem;line-height:1.25;color:var(--t1)}
.fakten span{display:block;margin-top:.25rem;font-size:.875rem;line-height:1.45;color:var(--t2)}
.ueber .cta-reihe{margin-top:1.75rem}
.portraet{position:relative;aspect-ratio:4/5;border-radius:var(--r-big);background:var(--grau);border:1px solid var(--linie);display:grid;place-items:center;overflow:hidden}
.portraet__leer{display:grid;justify-items:center;gap:.75rem;text-align:center;padding:1.5rem 1.5rem 6.5rem;color:var(--t3)}
.portraet__leer .ic{width:4.5rem;height:4.5rem;stroke-width:1.1}
.portraet__leer span{font-size:.9375rem;font-weight:500;color:var(--t2)}
.portraet__name{position:absolute;left:1rem;right:1rem;bottom:1rem;background:var(--papier);border:1px solid var(--linie);border-radius:14px;padding:.8rem 1rem}
.portraet__name b{display:block;font-family:var(--f-head);font-size:1.0625rem;line-height:1.25}
.portraet__name span{display:block;font-size:.875rem;color:var(--t2)}
@media (max-width:899px){
  .ueber{grid-template-columns:1fr}
  .portraet{aspect-ratio:1/1;max-width:26rem}
  .fakten{grid-template-columns:1fr;gap:.9rem}
}

/* ------------------------------------------------------------ Leistungen */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.1rem}
.kachel{grid-column:span 4;display:flex;flex-direction:column;background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-card);overflow:hidden}
.kachel--breit{grid-column:span 7}
.kachel--mittel{grid-column:span 5}
.kachel__bild{aspect-ratio:16/9;background:var(--grau-2);overflow:hidden}
.kachel--breit .kachel__bild{aspect-ratio:2/1}
.kachel__bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.kachel:hover .kachel__bild img{transform:scale(1.03)}
.kachel__text{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem 1.5rem 1.2rem;flex:1}
.kachel__text p{font-size:.9375rem;line-height:1.6}
.kachel__text .textlink{margin-top:auto;padding-top:.35rem}
.kachel__reihe{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.875rem;font-weight:500;color:var(--t1)}
.kachel__reihe li{display:inline-flex;align-items:center;gap:.4rem}
.kachel__reihe .ic{width:1rem;height:1rem;color:var(--akz)}
.kachel--dunkel{background:var(--ink-1);border-color:var(--ink-1)}
.kachel--plan .kachel__text{padding-top:1.5rem;gap:.75rem}
@media (max-width:999px){
  .kachel,.kachel--breit,.kachel--mittel{grid-column:span 6}
  .kachel--breit{grid-column:1 / -1}
}
@media (max-width:639px){
  .kachel,.kachel--breit,.kachel--mittel{grid-column:1 / -1}
  .kachel--breit .kachel__bild{aspect-ratio:16/9}
}

/* ----------------------------------------------------------- Chat-Sektion */
.chatsek{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4.5vw,5.5rem);align-items:center}
.chat{max-width:25rem;width:100%;margin-inline:auto;border-radius:var(--r-big);overflow:hidden;border:1px solid var(--linie);background:#ECE5DD;
  box-shadow:0 30px 60px -40px rgba(16,19,21,.45)}
.chat__kopf{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;background:#008069;color:#fff}
.chat__avatar{width:40px;height:40px;border-radius:50%;background:var(--ink-1);display:grid;place-items:center;overflow:hidden;flex:none}
.chat__avatar img{width:26px;height:26px}
.chat__kopf b{display:block;color:#fff;font-size:1rem;line-height:1.2;font-weight:600}
.chat__kopf span{display:block;color:#fff;font-size:.8125rem;line-height:1.3}
.chat__lauf{display:flex;flex-direction:column;gap:.45rem;padding:1rem .85rem 1.1rem}
.chat__tag{align-self:center;background:rgba(255,255,255,.92);color:#54656F;font-size:.75rem;font-weight:500;padding:.2rem .7rem;border-radius:8px;margin-bottom:.25rem}
.blase{max-width:86%;padding:.5rem .65rem .35rem;border-radius:10px;background:#fff;color:#111B21;font-size:.9063rem;line-height:1.42;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.blase--ich{align-self:flex-end;background:#D9FDD3;border-top-right-radius:2px}
.blase--asn{align-self:flex-start;border-top-left-radius:2px}
.blase img{border-radius:6px;margin-bottom:.35rem;width:100%;aspect-ratio:4/3;object-fit:cover}
.blase__zeit{display:flex;justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.1rem;font-size:.6875rem;line-height:1.2;color:#54656F}
.blase__zeit .ic{width:1rem;height:1rem;color:#53BDEB;stroke-width:2}
.chat__hinweis{margin-top:.9rem;text-align:center;font-size:.8125rem;color:var(--t3)}
.chatsek__text h2{margin-bottom:1rem}
.chatsek__text .haken{margin-top:1.5rem;gap:1rem}
.chatsek__text .cta-reihe{margin-top:1.75rem}
@media (max-width:899px){
  .chatsek{grid-template-columns:1fr}
}

/* -------------------------------------------------------------- Notdienst */
.notdienst{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:start}
.notdienst__text h2{margin-bottom:1rem}
.notdienst__text .cta-reihe{margin-top:1.75rem;display:grid;justify-items:start}
.notdienst__kopf{margin-bottom:1rem}
.notdienst__frage{font-family:var(--f-head);font-weight:600;font-size:1.1875rem;line-height:1.3;color:var(--t1)}
.notdienst__zeile{margin-top:.15rem;font-size:.9375rem}
.symptome{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.symptom{display:grid;grid-template-columns:3rem 1fr;gap:.9rem;align-items:start;background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-card);padding:1.15rem 1.2rem}
.symptom h3{font-size:1.0625rem}
.symptom p{margin-top:.25rem;font-size:.9063rem;line-height:1.55}
.symptom .textlink{min-height:44px;font-size:.9375rem}
@media (max-width:999px){.notdienst{grid-template-columns:1fr}}
@media (max-width:599px){.symptome{grid-template-columns:1fr}}

/* ------------------------------------------------------- Kamera und Abo */
.zweier{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,1rem + 4.5vw,5.5rem);align-items:center}
.zweier h2{margin-bottom:1rem}
.zweier p + p{margin-top:.9rem}
.zweier .haken{margin-top:1.5rem;gap:1rem}
.zweier .cta-reihe{margin-top:1.75rem}
.zweier .bild{aspect-ratio:4/3}
.zweier__titel{font-family:var(--f-head);font-weight:600;font-size:1.0625rem;color:var(--t1);margin-top:1.5rem}
.zweier__titel + .haken{margin-top:.9rem}
.jahresplan{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-big);padding:clamp(1.5rem,1.1rem + 1.6vw,2.25rem)}
.jahresplan__titel{font-family:var(--f-head);font-weight:600;font-size:1.125rem;color:var(--t1)}
.jahresplan ol{display:grid;gap:0;margin-top:1.1rem;counter-reset:plan;padding-left:0;list-style:none}
.jahresplan li{counter-increment:plan;display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--linie)}
.jahresplan li::before{content:counter(plan);display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ink-1);color:var(--lime);font-family:var(--f-head);font-weight:600;font-size:1rem}
.jahresplan b{display:block;font-family:var(--f-head);font-size:1.0625rem;line-height:1.3}
.jahresplan li span{display:block;margin-top:.2rem;font-size:.9375rem;line-height:1.55;color:var(--t2)}
.jahresplan__fuer{margin-top:.35rem;padding-top:1rem;border-top:1px solid var(--linie);font-size:.9375rem}
@media (max-width:899px){
  .zweier{grid-template-columns:1fr}
  .zweier--bildoben .bild{order:-1}
}

/* -------------------------------------------------------------- Vergleich */
.vergleich{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:stretch}
.vkarte{border-radius:var(--r-big);border:1px solid var(--linie);background:var(--karte);padding:clamp(1.4rem,1.1rem + 1.4vw,2.1rem)}
.vkarte--wir{border:2px solid var(--lime-ink);background:var(--papier)}
.sek--papier .vkarte--wir{background:var(--weiss)}
.vkarte--sie{background:var(--grau)}
.sek--grau .vkarte--sie{background:var(--grau-2)}
.vkarte__kopf{display:flex;align-items:center;gap:.8rem;min-height:3rem;padding-bottom:1.1rem;margin-bottom:.4rem;border-bottom:1px solid var(--linie)}
.vkarte__kopf img{height:34px;width:auto}
.vkarte__kopf b{font-family:var(--f-head);font-size:1.1875rem;line-height:1.2}
.vkarte ul{display:grid}
.vkarte li{display:grid;grid-template-columns:1.75rem 1fr;gap:.85rem;align-items:start;padding:.95rem 0;border-bottom:1px solid var(--linie)}
.vkarte li:last-child{border-bottom:0;padding-bottom:0}
.vkarte li > span b{display:block;font-size:.8125rem;font-weight:600;color:var(--t3);margin-bottom:.1rem}
.vkarte li > span{font-size:.9688rem;line-height:1.5;color:var(--t1)}
.vkarte--sie li > span{color:var(--t2)}
.vzeichen{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;flex:none}
.vzeichen .ic{width:1rem;height:1rem;stroke-width:2.4}
.vzeichen--ja{background:var(--lime);color:var(--ink-1)}
.vzeichen--nein{background:var(--grau-2);color:var(--txt-3)}
.sek--grau .vzeichen--nein{background:var(--papier)}
.vergleich + .cta-reihe{margin-top:2rem}
.vergleich-cta{align-items:center;gap:1rem 2rem}
.vergleich-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .75rem;font-size:.9375rem}
@supports (grid-template-rows:subgrid){
  @media (min-width:800px){
    .vergleich{grid-template-rows:auto repeat(5,auto)}
    .vkarte{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
    .vkarte ul{display:grid;grid-row:span 5;grid-template-rows:subgrid}
    .vkarte li{align-content:start}
  }
}
@media (max-width:799px){.vergleich{grid-template-columns:1fr}}

/* ----------------------------------------------------------------- Ablauf */
.ablauf{--g:clamp(1.25rem,.6rem + 2vw,2.25rem);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g);padding-left:0;list-style:none}
.ablauf::before{content:"";position:absolute;left:1.5rem;right:calc((100% - 3*var(--g))/4 - 1.5rem);top:calc(1.5rem - 1px);height:2px;background:var(--lime);transform-origin:left;border-radius:2px}
.ablauf li{position:relative}
.ablauf__nr{position:relative;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--lime);color:var(--ink-1);
  font-family:var(--f-head);font-weight:600;font-size:1.125rem;box-shadow:0 0 0 8px var(--ink-1)}
.ablauf h3{margin-top:1.25rem}
.ablauf p{margin-top:.45rem;font-size:.9375rem;line-height:1.6}
.ablauf-cta{margin-top:clamp(2rem,1.5rem + 2vw,3rem)}
@media (max-width:899px){
  .ablauf{grid-template-columns:1fr;gap:1.75rem}
  .ablauf::before{left:calc(1.5rem - 1px);right:auto;top:1.5rem;bottom:1.5rem;width:2px;height:auto;transform-origin:top}
  .ablauf li{display:grid;grid-template-columns:3rem 1fr;column-gap:1.1rem}
  .ablauf li:last-child{background:var(--ink-1)}
  .ablauf__nr{grid-row:span 2}
  .ablauf h3{margin-top:.5rem}
  .ablauf p{grid-column:2}
}

/* ------------------------------------------------------------ Hausmeister */
.hausm{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}
.hausm .bild{aspect-ratio:4/3;max-height:21rem}
.hausm h2{margin-bottom:.8rem}
.hausm__punkte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin-top:1.5rem}
.hausm__punkte li{display:grid;grid-template-columns:1.25rem 1fr;gap:.7rem;align-items:start}
.hausm__punkte .ic{color:var(--akz);margin-top:.2rem}
.hausm__punkte b{display:block;font-family:var(--f-head);font-size:1.0313rem;line-height:1.3}
.hausm__punkte span span{display:block;margin-top:.15rem;font-size:.9063rem;line-height:1.5;color:var(--t2)}
.hausm__fuss{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--linie);font-size:.9375rem;color:var(--t2)}
@media (max-width:899px){
  .hausm{grid-template-columns:1fr}
  .hausm .bild{max-width:26rem}
}
@media (max-width:559px){.hausm__punkte{grid-template-columns:1fr}}

/* ---------------------------------------------- Für wen und Einzugsgebiet */
.fuerwen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.gruppen{display:grid;margin-top:1.75rem;border-top:1px solid var(--linie)}
.gruppen li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--linie)}
.gruppen b{display:block;font-family:var(--f-head);font-size:1.0625rem;line-height:1.3}
.gruppen span span{display:block;margin-top:.1rem;font-size:.9375rem;line-height:1.5;color:var(--t2)}
.gebiet{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-big);padding:clamp(1.5rem,1.1rem + 1.6vw,2.25rem)}
.gebiet h3{display:flex;align-items:center;gap:.6rem}
.gebiet h3 .ic{color:var(--akz)}
.gebiet p{margin-top:.6rem;font-size:.9688rem}
.gebiet h3 + p{margin-top:.7rem}
.gebiet__block + .gebiet__block{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--linie)}
.gebiet--breit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,1rem + 2vw,3rem)}
.gebiet--breit .gebiet__block + .gebiet__block{margin-top:0;padding-top:0;border-top:0;padding-left:clamp(1.5rem,1rem + 2vw,3rem);border-left:1px solid var(--linie)}
.gebiet-zeile{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.gebiet-zeile .kopfteil{margin-bottom:0}
.gebiet-zeile .gebiet{display:grid;grid-template-columns:3rem 1fr;gap:1.1rem;align-items:start}
.gebiet-zeile .gebiet p{margin-top:0;font-size:1.0313rem;line-height:1.65}
@media (max-width:899px){
  .gebiet-zeile{grid-template-columns:1fr;gap:1.5rem}
  .fuerwen{grid-template-columns:1fr}
  .gebiet--breit{grid-template-columns:1fr}
  .gebiet--breit .gebiet__block + .gebiet__block{margin-top:0;padding:1.4rem 0 0;border-left:0;border-top:1px solid var(--linie)}
}

/* -------------------------------------------------------------------- FAQ */
.faq{max-width:50rem;margin-inline:auto;display:grid;gap:.7rem}
.faq details{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r-card);overflow:hidden}
.sek--papier .faq details{background:var(--weiss)}
.faq summary{display:grid;grid-template-columns:1fr 2rem;gap:1rem;align-items:center;min-height:3.75rem;padding:1rem 1.25rem 1rem 1.5rem;cursor:pointer;list-style:none;
  font-family:var(--f-head);font-weight:600;font-size:1.0625rem;line-height:1.35;color:var(--t1)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--grau);color:var(--t1);transition:transform .3s var(--ease),background-color .2s}
.faq summary .plus .ic{width:1rem;height:1rem;stroke-width:2.2}
.faq details[open] summary .plus{transform:rotate(45deg);background:var(--lime);color:var(--ink-1)}
.faq__antwort{padding:0 1.5rem 1.35rem;max-width:44rem}
.faq__antwort p + p{margin-top:.7rem}
.faq details[open] .faq__antwort{animation:auf .35s var(--ease)}
@keyframes auf{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ------------------------------------------------- Anfrage und Final-CTA */
.sek--bild{isolation:isolate;overflow:hidden}
.sek--bild .sek__bild{position:absolute;inset:0;z-index:-2}
.sek--bild .sek__bild img{width:100%;height:100%;object-fit:cover}
.sek--bild::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(21,24,27,.95) 0%,rgba(21,24,27,.88) 45%,rgba(21,24,27,.72) 100%)}
.anfrage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.anfrage__text h2{margin-bottom:1rem}
.anfrage__text .cta-reihe{margin-top:1.75rem;display:grid;justify-items:start}
.anfrage__slogan{margin-top:1.75rem;font-family:var(--f-head);font-weight:600;font-size:1.125rem;line-height:1.3;color:var(--t1)}
.formkarte{background:var(--papier);border-radius:var(--r-big);padding:clamp(1.35rem,1rem + 1.6vw,2.25rem);box-shadow:0 30px 70px -40px rgba(0,0,0,.6)}
.formkarte__titel{font-family:var(--f-head);font-weight:600;font-size:1.25rem;line-height:1.25;color:var(--t1)}
.formkarte__sub{margin-top:.35rem;font-size:.9375rem}
.formular{display:grid;gap:1rem;margin-top:1.25rem}
.kacheln legend{font-weight:600;font-size:.9375rem;color:var(--t1);margin-bottom:.55rem;padding:0}
.kacheln__raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.kacheln__hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-top:.7rem;font-size:.9375rem;color:var(--t1)}
.inline-tel{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.3rem .7rem;border:1.5px solid var(--linie);border-radius:var(--r-btn);background:var(--weiss);font-weight:600;color:var(--t1);cursor:pointer}
.dunkel .inline-tel{background:transparent}
.inline-tel .ic{width:1.05rem;height:1.05rem;color:var(--akz)}
.wahl{position:relative;display:block;cursor:pointer}
.wahl input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.wahl > span{display:flex;align-items:center;gap:.6rem;min-height:3rem;padding:.55rem .8rem;border:1.5px solid var(--linie);border-radius:var(--r-btn);background:var(--weiss);
  font-size:.9375rem;font-weight:500;line-height:1.25;color:var(--t1);transition:border-color .15s,background-color .15s}
.wahl > span .ic{color:var(--t3);width:1.15rem;height:1.15rem}
.wahl:hover > span{border-color:var(--txt-3)}
.wahl input:checked + span{border-color:var(--lime-ink);background:#EEF6E2;box-shadow:inset 0 0 0 1px var(--lime-ink)}
.wahl input:checked + span .ic{color:var(--lime-ink)}
.wahl input:focus-visible + span{outline:3px solid var(--lime-ink);outline-offset:2px}
.wahl--breit{grid-column:1 / -1}
.felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.feld{display:grid;gap:.35rem}
.feld--breit{grid-column:1 / -1}
.feld label{font-weight:600;font-size:.9375rem;color:var(--t1)}
.feld label span{font-weight:400;color:var(--t3)}
.feld input,.feld textarea{width:100%;min-height:3.125rem;padding:.7rem .9rem;border:1.5px solid var(--linie);border-radius:var(--r-btn);background:var(--weiss);
  font-size:1rem;line-height:1.4;color:var(--txt);transition:border-color .15s,box-shadow .15s}
.feld textarea{min-height:5.5rem;resize:vertical}
.feld textarea[rows="2"]{min-height:4.5rem}
.feld input::placeholder,.feld textarea::placeholder{color:#6B737B}
.feld input:focus,.feld textarea:focus{outline:none;border-color:var(--lime-ink);box-shadow:0 0 0 3px rgba(63,107,16,.18)}
.feld.falsch input,.feld.falsch textarea{border-color:#B3261E}
.feld__fehler{font-size:.8438rem;color:#A1221B;font-weight:500}
.hp{display:none}
.einwilligung{display:grid;grid-template-columns:1.5rem 1fr;gap:.7rem;align-items:start;font-size:.875rem;line-height:1.5;color:var(--t2);cursor:pointer}
.einwilligung input{width:1.375rem;height:1.375rem;margin:.1rem 0 0;accent-color:var(--lime-ink)}
.einwilligung a{color:var(--t1);text-decoration:underline;text-underline-offset:2px}
.einwilligung.falsch{color:#A1221B}
.formular__status{font-size:.9063rem;color:var(--t2);min-height:1.2em}
.formular.sendet button[type=submit]{opacity:.7;pointer-events:none}
.danke,.fehlerkarte{margin-top:1.25rem;display:grid;gap:.8rem;justify-items:start}
.danke .symbol{background:var(--lime);color:var(--ink-1);border-radius:50%}
.danke:focus{outline:none}
.danke h3,.fehlerkarte h3{font-size:1.3125rem}
.vorschau-notiz{font-size:.875rem;line-height:1.5;color:var(--txt);padding:.5rem .7rem;border-radius:8px}
@media (max-width:899px){.anfrage{grid-template-columns:1fr}}
@media (max-width:479px){.felder{grid-template-columns:1fr}.kacheln__raster{grid-template-columns:1fr}}

/* -------------------------------------------- Final-CTA ohne Formular (L) */
.schluss{text-align:center;max-width:44rem;margin-inline:auto}
.schluss h2{margin-bottom:1rem}
.schluss .lead{margin-inline:auto}
.schluss .cta-reihe{margin-top:1.9rem;justify-content:center}

/* ----------------------------------------------------- Landingpage: Hero */
.hero--lp .hero__innen{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}
.hero--lp .hero__bild img{object-position:60% 50%}
.hero--lp::before{background:linear-gradient(90deg,rgba(16,19,21,.95) 0%,rgba(16,19,21,.88) 40%,rgba(16,19,21,.66) 70%,rgba(16,19,21,.5) 100%),
  linear-gradient(180deg,rgba(16,19,21,.6) 0%,rgba(16,19,21,0) 24%)}
.anrufkarte{background:var(--papier);border-radius:var(--r-big);padding:clamp(1.35rem,1rem + 1.5vw,2rem);box-shadow:0 30px 70px -40px rgba(0,0,0,.7)}
.anrufkarte__titel{font-family:var(--f-head);font-weight:600;font-size:1.25rem;line-height:1.25;color:var(--t1)}
.anrufkarte__zeile{margin-top:.3rem;font-size:.9375rem}
.anrufkarte__nummer{display:flex;align-items:center;gap:.75rem;width:100%;margin-top:1.1rem;padding:1rem 1.1rem;border:0;text-align:left;border-radius:var(--r-btn);background:var(--ink-1);color:var(--on-dark);
  font-family:var(--f-head);font-weight:600;font-size:clamp(1.25rem,1rem + 1vw,1.625rem);line-height:1.2;cursor:pointer}
.anrufkarte__nummer .ic{width:1.5rem;height:1.5rem;color:var(--lime)}
.anrufkarte__hinweis{margin-top:.7rem;font-size:.9375rem;line-height:1.5}
.anrufkarte .btn{margin-top:.9rem}
.anrufkarte__oder{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 .5rem;margin-top:.9rem;font-size:.9375rem;line-height:1.4;color:var(--t2);text-align:center}
.anrufkarte__oder a{font-weight:600;color:var(--akz);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:899px){
  .hero--lp{min-height:0;align-items:flex-start}
  .hero--lp .hero__innen{grid-template-columns:1fr;gap:1.5rem}
}
@media (max-width:700px){
  .hero--lp{padding-bottom:1.75rem}
  .hero--lp::before{background:linear-gradient(180deg,rgba(16,19,21,.7) 0%,rgba(16,19,21,.86) 30%,rgba(16,19,21,.96) 100%)}
}

/* ---------------------------------------------- Landingpage: Trust-Leiste */
.trust{background:var(--grau);border-bottom:1px solid var(--linie)}
.trust ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.trust li{display:grid;grid-template-columns:1.5rem 1fr;gap:.7rem;align-items:center;padding:1.15rem 1rem;font-size:.9063rem;font-weight:500;line-height:1.35;color:var(--t1);border-left:1px solid var(--linie)}
.trust li:first-child{border-left:0;padding-left:0}
.trust .ic{width:1.5rem;height:1.5rem;color:var(--akz)}
@media (max-width:999px){
  .trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust li{border-left:0;padding:.7rem 0}
  .trust li:last-child{grid-column:1 / -1}
  .trust .wrap{padding-block:.6rem}
}
@media (max-width:479px){.trust ul{grid-template-columns:1fr}.trust li{padding:.5rem 0}}

/* --------------------------------- Landingpage: Notfälle und Leistungen */
.kopfzeile{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}
.kopfzeile .kopfteil{margin-bottom:0}
.notfaelle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.notfaelle .symptom{background:var(--karte)}
.sek--papier .notfaelle .symptom{background:var(--weiss)}
.leist3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:clamp(2rem,1.5rem + 2vw,3rem)}
.leist3 .kachel{grid-column:auto}
.zwischentitel{font-family:var(--f-head);font-weight:600;font-size:1.25rem;color:var(--t1);margin-top:clamp(2.25rem,1.8rem + 2vw,3.5rem)}
.zwischentitel + .leist3{margin-top:1.1rem}
@media (max-width:999px){.notfaelle{grid-template-columns:repeat(2,minmax(0,1fr))}.leist3{grid-template-columns:1fr}}
@media (max-width:599px){.notfaelle{grid-template-columns:1fr}}

/* ------------------------------------------- Landingpage: Rückruf-Formular */
.rueckruf{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.rueckruf h2{margin-bottom:1rem}
.rueckruf .cta-reihe{margin-top:1.5rem}
.rueckruf .formkarte{background:var(--papier);border:1px solid var(--linie);box-shadow:none}
@media (max-width:899px){.rueckruf{grid-template-columns:1fr}}

/* --------------------------------------------------- Mobil-Kontaktleiste */
.leiste{position:fixed;left:0;right:0;bottom:0;z-index:940;display:none;grid-template-columns:1fr 1fr;gap:.5rem;
  padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));background:rgba(21,24,27,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-top:1px solid var(--line-dark);transform:translateY(110%);transition:transform .35s var(--ease)}
.leiste .btn{min-height:3rem;padding-inline:.6rem;font-size:.9688rem}
.leiste.zeig{transform:none}
html.kekse-offen .leiste,html.menue-offen .leiste{display:none}
@media (max-width:899px){.leiste{display:grid}}

/* -------------------------------------------------------------------- Fuß */
.fuss{background:var(--ink-0);padding:clamp(3rem,2.4rem + 2.6vw,4.75rem) 0 1.5rem;font-size:.9375rem}
.fuss__oben{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(1.75rem,1rem + 3vw,4rem)}
.fuss__logo{display:inline-block;border-radius:6px}
.fuss__logo img{height:44px;width:auto}
.fuss__marke p{margin-top:1.1rem;max-width:22rem;font-size:.9375rem}
.fuss__titel{font-family:var(--f-head);font-weight:600;font-size:1rem;color:var(--t1);margin-bottom:.6rem}
.fuss__liste{display:grid}
.fuss__liste a,.fuss__liste button{display:inline-flex;align-items:center;min-height:44px;color:var(--t2);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.fuss__liste a:hover,.fuss__liste button:hover{color:var(--t1)}
.fuss__kontakt{display:grid;gap:.7rem;color:var(--t2)}
.fuss__kontakt > *{display:grid;grid-template-columns:1.25rem 1fr;gap:.7rem;align-items:start}
.fuss__kontakt .ic{color:var(--akz);margin-top:.2rem}
.fuss__kontakt > * > span{justify-self:start}
.fuss__kontakt > .fuss__telzeile{align-items:center}
.fuss__kontakt > .fuss__telzeile .ic{margin-top:0}
.fuss__tel{display:inline-flex;align-items:center;justify-self:start;min-height:44px;padding:0 .5rem;margin-left:-.5rem;border:0;background:none;border-radius:8px;font-weight:600;color:var(--t1);cursor:pointer}
.fuss__oben--lp{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.fuss__unten{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 2rem;margin-top:clamp(2rem,1.5rem + 2vw,3.25rem);padding-top:1.1rem;border-top:1px solid var(--linie);font-size:.875rem;color:var(--t2)}
.fuss__recht{display:flex;flex-wrap:wrap;gap:0 1.5rem}
.fuss__recht a,.fuss__recht button{display:inline-flex;align-items:center;min-height:44px;color:var(--t2);background:none;border:0;padding:0;cursor:pointer;font-size:.875rem}
.fuss__recht a:hover,.fuss__recht button:hover{color:var(--t1)}
.fuss__vorschau{margin-top:.6rem;font-size:.8125rem;color:var(--t2)}
@media (max-width:899px){
  .fuss__oben{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fuss__marke{grid-column:1 / -1}
  body.hat-leiste{padding-bottom:calc(4rem + env(safe-area-inset-bottom));background:var(--ink-0)}
}
@media (max-width:519px){.fuss__oben,.fuss__oben--lp{grid-template-columns:1fr}}

/* ---------------------------------------------------- Rechtsseiten und 404 */
.rechtsseite main,.seite-404 main{padding-top:calc(var(--kopf-h) + clamp(2.5rem,2rem + 2.5vw,4.5rem));padding-bottom:var(--sek-y)}
.recht{width:min(100% - 2*var(--rand),46rem);margin-inline:auto}
.recht h1{font-size:clamp(1.75rem,1.2rem + 2.75vw,2.875rem);line-height:1.1;letter-spacing:-.028em;overflow-wrap:break-word}
.recht__stand{margin-top:.6rem;font-size:.875rem;color:var(--t3)}
.recht h2{font-size:clamp(1.3125rem,1.15rem + .7vw,1.625rem);letter-spacing:-.018em;margin-top:2.5rem;line-height:1.2}
.recht h3{font-size:1.125rem;margin-top:1.75rem}
.recht p,.recht ul,.recht ol,.recht address{margin-top:.85rem;color:var(--t2)}
.recht ul,.recht ol{padding-left:1.25rem}
.recht ul{list-style:disc}
.recht ol{list-style:decimal}
.recht li + li{margin-top:.35rem}
.recht a{color:var(--akz);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.recht address{line-height:1.7;color:var(--t1)}
.link-knopf{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;border:1.5px solid var(--linie);border-radius:var(--r-btn);background:var(--weiss);color:var(--t1);font-weight:600;cursor:pointer}
.link-knopf:hover{border-color:var(--t1)}
.nf{width:min(100% - 2*var(--rand),40rem);margin-inline:auto;text-align:center}
.nf__zahl{font-family:var(--f-head);font-weight:600;font-size:clamp(4.5rem,3rem + 8vw,8rem);line-height:1;letter-spacing:-.04em;color:var(--akz)}
.nf h1{font-size:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);line-height:1.12;letter-spacing:-.025em;margin-top:.5rem}
.nf p{margin-top:1rem}
.nf .inline-tel{margin:.25rem .15rem;vertical-align:middle}
.nf .cta-reihe{margin-top:1.75rem;justify-content:center}

/* ------------------------------------------------------ Kleine Bildschirme */
@media (max-width:479px){
  .cta-reihe,.notdienst__text .cta-reihe,.anfrage__text .cta-reihe{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch}
}
@media (max-width:359px){
  h2{font-size:1.5625rem}
  .hero__ansage{font-size:1.875rem}
}

/* -------------------------------------------------------------- Bewegung */
html.js [data-reveal]{opacity:0;transform:translateY(18px)}
html.js [data-reveal].rv-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--rv-i,0) * 70ms)}
html.js .ablauf[data-linie]::before{transform:scaleX(0)}
html.js .ablauf[data-linie].rv-in::before{transform:scaleX(1);transition:transform 1.1s var(--ease) .15s}
@media (max-width:899px){
  html.js .ablauf[data-linie]::before{transform:scaleY(0)}
  html.js .ablauf[data-linie].rv-in::before{transform:scaleY(1)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js [data-reveal],html.js [data-reveal].rv-in{opacity:1;transform:none;transition:none}
  html.js .ablauf[data-linie]::before,html.js .ablauf[data-linie].rv-in::before{transform:none;transition:none}
  .kachel__bild img,.btn,.textlink .ic,.leiste,.menue,.toast,.faq summary .plus{transition:none}
  .faq details[open] .faq__antwort{animation:none}
}
