/* =========================================================================
   DAG Reinigung Peine, Version bn2
   Aufbau 1:1 nach der Vorlage bazid-n2, Farbwelt auf die Marke DAG
   umgestellt:
   Primaerblau #0e6fce, Hellblau #4fc3f7, Dunkelblau #0a4f96, Eis #F1F8FF,
   Fliesstext #333. Formensprache bleibt: Kopfband, geteilter Hero,
   scharfkantige Rahmenkarten, dunkles Fragenband, breiter Fuss.
   Kontraste: weiss auf Dunkelblau 8.2, Dunkelblau auf Eis 7.8,
   #333 auf Hellblau 6.3, Hellblau auf Dunkelblau 4.1.
   ========================================================================= */

@font-face{
  font-family:'Jost';
  src:url('../fonts/jost-var.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Poppins';
  src:url('../fonts/poppins-400.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Poppins';
  src:url('../fonts/poppins-500.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
}

:root{
  --blau:#0e6fce;        /* Markenblau, grosse Ueberschriften */
  --hellblau:#4fc3f7;    /* Akzent und Hauptknoepfe */
  --dblau:#0a4f96;       /* dunkles Blau: Baender, UI-Text auf hell */
  --dblau-tief:#073a6f;  /* Hover- und Linienpartner des Dunkelblaus */
  --eis:#F1F8FF;         /* Kopfband und helle Kacheln */
  --text:#333333;
  --grau:#69727D;
  --weiss:#ffffff;
  --linie:rgba(10,79,150,.18);
  --linie-hell:rgba(255,255,255,.22);

  --titel:'Jost','Segoe UI',sans-serif;
  --lauf:'Poppins','Segoe UI',sans-serif;

  --rand:45px;
  --breit:1350px;
  /* Sektions-Skala in drei Stufen: eng fuer dichte Bild- und
     Vertrauensbausteine, normal fuer alles andere, weit als Atempause
     vor der Hauptaktion (Anfrage) */
  --s-eng:64px;
  --s-block:100px;   /* Abstand einer normalen Sektion */
  --s-weit:150px;
  --s-gross:64px;
  --s-mittel:40px;
  --s-klein:22px;
  --kopf-h:88px;     /* schlankes Kopfband, das Logo steht auf eigener Platte */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:180px}
body{
  margin:0;
  font-family:var(--lauf);
  font-size:16px;
  line-height:1.55;
  color:var(--text);
  background:var(--weiss);
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
input,button,select,textarea{color:inherit}
h1,h2,h3{font-family:var(--titel);color:var(--blau);margin:0;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:53px;line-height:1.18;font-weight:500}
h2{font-size:33px;line-height:1.2;font-weight:600}
h3{font-size:20px;line-height:1.25;font-weight:600}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--blau);outline-offset:3px}

.wrap{width:min(100% - (var(--rand) * 2),var(--breit));margin-inline:auto}
.intro{max-width:58ch;color:var(--text);margin-top:16px}
.hell{color:var(--weiss)}
.hell-text{color:rgba(255,255,255,.88)}

/* ---------- Knoepfe ---------- */
.pille{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--titel);font-weight:600;font-size:15px;line-height:1;
  padding:17px 30px;border:0;
  text-decoration:none;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.pille:hover{transform:translateY(-1px)}
.pille-akzent{background:var(--hellblau);color:var(--text)}
.pille-akzent:hover{background:var(--dblau);color:var(--weiss);box-shadow:0 8px 20px rgba(8,49,94,.18)}
.pille-eis{background:var(--eis);color:var(--dblau)}
.pille-eis:hover{background:var(--weiss)}

/* ---------- Kopf ---------- */
.kopf{
  position:sticky;top:0;z-index:60;
  background:var(--eis);
  border-bottom:1px solid rgba(10,79,150,.14);
  box-shadow:0 1px 0 rgba(8,49,94,.04);
}
.kopf-innen{
  min-height:var(--kopf-h);
  display:flex;align-items:center;gap:24px;
}
/* Logo-Platte: gleiche Farbe wie die Leiste, ragt unten aus dem Kopfband */
.marke{
  position:relative;z-index:1;align-self:flex-start;margin-right:auto;
  display:flex;align-items:center;
  height:152px;margin-bottom:-64px;
  padding:0 28px;
  background:var(--eis);
  border:1px solid rgba(10,79,150,.14);border-top:0;
  box-shadow:0 16px 28px rgba(8,49,94,.12);
  text-decoration:none;
}
.marke img{height:118px;width:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav a{
  font-family:var(--titel);font-weight:500;font-size:15px;
  color:var(--dblau);text-decoration:none;
  padding:8px 12px;
  transition:background-color .16s ease,color .16s ease;
}
.nav a:hover{background:rgba(14,111,206,.10)}
.nav a.ist-aktiv{background:rgba(14,111,206,.16);color:var(--dblau-tief)}
.kopf-rechts{display:flex;align-items:center;gap:12px}
.rufknopf{
  display:inline-flex;align-items:center;gap:10px;flex:none;
  height:48px;padding:0 18px;
  background:var(--dblau);color:var(--weiss);
  font-family:var(--titel);font-weight:600;font-size:15px;
  text-decoration:none;
  transition:background-color .16s ease;
}
.rufknopf svg{width:16px;height:16px}
.rufknopf:hover{background:var(--dblau-tief)}
.ruf-nr{white-space:nowrap}

.burger{
  display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;
  padding:11px 8px;
}
.burger span{display:block;height:2px;background:var(--dblau);border-radius:2px;margin:4px 0}
.mmenu{display:none}

/* ---------- Hero ---------- */
.hero{
  display:grid;
  grid-template-columns:minmax(0,64.6%) minmax(0,35.4%);
  background:var(--dblau);
  min-height:640px;
}
/* linke Textkante liegt auf der Wrap-Linie der Sektionen darunter */
.hero-text{
  display:flex;align-items:center;
  padding:64px var(--rand) 64px max(var(--rand),calc((100vw - var(--breit)) / 2));
}
.hero-inner{width:100%;max-width:720px}
.hero h1{color:var(--hellblau);max-width:15ch}
.hero p{color:rgba(255,255,255,.9);max-width:48ch;margin-top:22px}
.hero-knoepfe{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-bild{position:relative;overflow:hidden}
.hero-bild img{width:100%;height:100%;object-fit:cover;object-position:center}

/* ---------- Normale Sektion ---------- */
.block{padding-block:var(--s-block)}
.block-kopf{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:end;gap:40px;
}
.pfeile{display:flex;gap:14px}
.rund{
  width:52px;height:52px;border:0;cursor:pointer;
  background:var(--eis);color:var(--dblau);
  display:grid;place-items:center;
  transition:background-color .16s ease;
}
.rund:hover{background:var(--hellblau)}
.rund svg{width:22px;height:22px}
.rund[disabled]{opacity:.4;cursor:default}

/* ---------- Leistungskarten ---------- */
.leist-reihe{
  margin-top:var(--s-gross);
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;
  align-items:start;
}
.lkarte{
  border:1px solid var(--dblau);
  background:var(--weiss);
  padding:22px;
}
.lkarte summary{
  list-style:none;cursor:pointer;
  display:flex;flex-direction:column;gap:26px;
}
.lkarte summary::-webkit-details-marker{display:none}
.lkarte summary > svg{width:44px;height:44px;color:var(--blau);stroke-width:1.15px}
.lname{font-family:var(--titel);font-weight:600;font-size:20px;color:var(--dblau)}
.lplus{
  position:relative;display:block;width:18px;height:18px;margin-top:-14px;
}
.lplus::before,.lplus::after{
  content:"";position:absolute;left:0;top:8px;width:18px;height:2px;
  background:var(--dblau);transition:transform .2s ease;
}
.lplus::after{transform:rotate(90deg)}
details[open] .lplus::after{transform:rotate(0deg)}
.lkarte > p{margin-top:18px;font-size:15px;line-height:1.6}
.lkarte:hover{background:var(--eis);box-shadow:0 10px 24px rgba(8,49,94,.09)}

/* ---------- Geteilter Block ---------- */
.split{display:grid;grid-template-columns:30% 70%}
.split-bild{position:relative;min-height:520px;overflow:hidden}
.split-bild img{width:100%;height:100%;object-fit:cover}
.split-text{background:var(--dblau);padding:var(--s-block) var(--rand);display:flex;align-items:center}
.split-inner{max-width:900px}
.split-text p{color:rgba(255,255,255,.88);margin-top:20px;max-width:60ch}
.haken{margin-top:34px;display:grid;gap:14px}
.haken li{
  position:relative;padding-left:34px;color:rgba(255,255,255,.92);
}
.haken li::before{
  content:"";position:absolute;left:0;top:4px;width:20px;height:20px;
  background:no-repeat center/20px 20px
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234FC3F7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* ---------- Ueber DAG ---------- */
.ueber-innen{
  display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);
  gap:80px;align-items:center;
}
.ueber-bilder{position:relative;padding-right:56px;padding-bottom:48px}
.ueber-foto{width:100%;border:1px solid var(--dblau)}
.ueber-gesicht{
  position:absolute;right:0;bottom:0;
  width:172px;height:172px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 8px var(--weiss);
}
.ueber-zitat{margin:34px 0 0;padding:0}
.ueber-zitat p{
  font-family:var(--titel);font-size:24px;font-weight:600;
  line-height:1.3;color:var(--blau);
}
.ueber-zitat cite{
  display:block;margin-top:10px;font-style:normal;
  font-size:13.5px;color:var(--grau);
}
.haken-dunkel li{color:var(--text)}
.haken-dunkel li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A4F96' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.ueber-text .haken{margin-top:32px}

/* ---------- Ruhige Bild-Sektion, enge Stufe: die Bilder sprechen selbst ---------- */
.galerie{padding-block:var(--s-eng)}
.galerie-kopf{margin-bottom:var(--s-gross)}
.galerie-raster{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
  gap:16px;
}
.gal{margin:0;overflow:hidden;background:var(--eis)}
.gal img{width:100%;height:100%;object-fit:cover}
.gal-gross{grid-row:1 / span 2}
.gal-klein img{aspect-ratio:3/2}

/* ---------- Waagerechte Reihe mit Anschnitt ---------- */
.reihe{
  margin-top:var(--s-gross);
  display:grid;grid-auto-flow:column;grid-auto-columns:430px;align-items:stretch;
  gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-inline:max(var(--rand),calc((100vw - var(--breit)) / 2));
  /* ohne scroll-padding zieht das Einrasten die erste Karte an die Kante
     und der Seitenrand faellt weg */
  scroll-padding-inline:max(var(--rand),calc((100vw - var(--breit)) / 2));
  overscroll-behavior-x:contain;
  padding-bottom:6px;
  scrollbar-width:none;
}
.reihe::-webkit-scrollbar{display:none}
.reihe > *{scroll-snap-align:start}

/* Beispielstimmen, enge Stufe: Vertrauensbausteine stehen dichter */
#stimmen{padding-block:var(--s-eng)}
.g-note{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;
  margin-top:20px;
}
.g-note-sub{font-size:13.5px;color:var(--grau);max-width:60ch}
.grez{
  margin:0;background:var(--eis);padding:32px;
  display:flex;flex-direction:column;gap:16px;
}
.grez-kopf{display:flex;align-items:center;gap:14px}
.g-init{
  width:46px;height:46px;flex:none;border-radius:50%;
  display:grid;place-items:center;color:var(--weiss);
  font-family:var(--titel);font-weight:600;font-size:19px;
}
.g-init-blau{background:#0e6fce}
.g-init-himmel{background:#2f8fd8}
.g-init-marine{background:#0a4f96}
.g-init-stahl{background:#46739b}
.g-init-nacht{background:#073a6f}
.g-init-grau{background:#5F6368}
.g-wer{flex:1;min-width:0;display:grid;gap:2px}
.g-name{font-family:var(--titel);font-weight:600;font-size:16px;color:var(--dblau)}
.g-datum{font-size:12.5px;color:var(--grau)}
.grez p{font-size:15px;line-height:1.6}
.g-quelle{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--linie);
  font-size:12.5px;color:var(--grau);
}

/* ---------- Einblicke: Instagram und TikTok ---------- */
.einblicke{background:var(--eis);padding-block:var(--s-block)}
.social-raster{
  margin-top:var(--s-gross);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,368px);
  gap:24px;align-items:stretch;
}
.insta{background:var(--weiss);border:1px solid var(--dblau);padding:24px}
.ig-kopf{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.ig-avatar{width:64px;height:64px;border-radius:50%;flex:none}
.ig-wer{flex:1;min-width:210px}
.ig-name{font-family:var(--titel);font-weight:600;font-size:18px;color:var(--dblau)}
.ig-handle{font-size:13.5px;color:var(--grau)}
.ig-zahlen{margin-top:7px;font-size:13.5px}
.ig-folgen{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--dblau);color:var(--weiss);text-decoration:none;
  font-family:var(--titel);font-weight:600;font-size:14px;
  padding:13px 18px;transition:background-color .16s ease;
}
.ig-folgen:hover{background:var(--dblau-tief)}
.ig-folgen svg{width:16px;height:16px}
.ig-raster{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ig-kachel{position:relative;display:block;overflow:hidden;background:var(--eis)}
.ig-kachel img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .25s ease}
.ig-kachel::after{
  content:"";position:absolute;inset:0;
  background:rgba(8,49,94,0);transition:background-color .2s ease;
}
.ig-kachel:hover img{transform:scale(1.05)}
.ig-kachel:hover::after{background:rgba(8,49,94,.24)}
.hochkachel{
  position:relative;display:block;overflow:hidden;
  background:var(--dblau);border:1px solid var(--dblau);text-decoration:none;
}
.hk-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hk-schleier{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,30,55,.05) 35%,rgba(5,26,48,.88) 100%);
}
.hk-meta{position:absolute;left:20px;right:20px;bottom:20px;display:grid;gap:5px;color:var(--weiss)}
.hk-handle{font-family:var(--titel);font-weight:600;font-size:17px}
.hk-zeile{font-size:13px;color:rgba(255,255,255,.85)}
.hk-knopf{
  margin-top:10px;justify-self:start;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--hellblau);color:var(--text);
  font-family:var(--titel);font-weight:600;font-size:14px;
  padding:13px 18px;transition:background-color .16s ease,color .16s ease;
}
.hochkachel:hover .hk-knopf{background:var(--weiss);color:var(--dblau)}
.hk-knopf svg{width:16px;height:16px}

/* ---------- Dunkles Fragenband ---------- */
.dunkelband{background:var(--dblau);padding-block:var(--s-block)}
.band-innen{
  display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:70px;
  align-items:start;
}
.band-innen .pille{margin-top:32px}
.fragen-liste details{border-top:1px solid var(--linie-hell)}
.fragen-liste details:last-child{border-bottom:1px solid var(--linie-hell)}
.fragen-liste summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 4px;
  font-family:var(--titel);font-weight:500;font-size:19px;color:var(--weiss);
}
.fragen-liste summary::-webkit-details-marker{display:none}
.fragen-liste .lplus{margin-top:0;flex:none}
.fragen-liste .lplus::before,.fragen-liste .lplus::after{background:var(--weiss)}
.fragen-liste p{
  padding:0 60px 26px 4px;color:rgba(255,255,255,.84);max-width:70ch;
}
.fragen-liste summary:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Anfrage ---------- */
.anfrage{background:var(--eis);padding-block:var(--s-weit)}
.anfrage-innen{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:70px;
  align-items:start;
}
.kontaktwege{margin-top:var(--s-mittel);display:grid;gap:14px}
.weg{
  display:flex;align-items:center;gap:16px;
  background:var(--weiss);border:1px solid var(--linie);
  padding:18px 22px;text-decoration:none;color:var(--dblau);
  transition:border-color .16s ease,background-color .16s ease;
}
.weg:hover{border-color:var(--dblau);box-shadow:0 6px 16px rgba(8,49,94,.08)}
.weg svg{width:22px;height:22px;flex:none;color:var(--dblau)}
.weg span{display:block;font-size:13px;color:var(--grau);line-height:1.45}
.weg strong{
  display:block;font-family:var(--titel);font-weight:600;font-size:17px;
  color:var(--dblau);
}

/* Die Karte ragt bewusst 40px ins dunkle Band. Das Band hat unten
   var(--s-block) Luft, damit bleiben mindestens 40px Abstand zur
   Fragenliste, gemessen bei 1440, 1200 und 1024 */
.formular{
  margin-top:calc(-1 * (var(--s-weit) + var(--s-mittel)));position:relative;z-index:2;
  background:var(--weiss);border:1px solid var(--linie);padding:34px;
  box-shadow:0 1px 2px rgba(8,49,94,.05),0 12px 28px rgba(8,49,94,.07);
}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.feld{margin:0 0 18px}
.feld label{
  display:block;font-family:var(--titel);font-weight:500;font-size:14px;
  color:var(--dblau);margin-bottom:7px;
}
.feld input[type="text"],.feld input[type="tel"],.feld select,.feld textarea{
  width:100%;font-family:var(--lauf);font-size:15px;color:var(--text);
  padding:13px 14px;background:var(--weiss);
  border:1px solid var(--linie);border-radius:2px;
}
.feld textarea{resize:vertical;min-height:110px}
.feld input:focus,.feld select:focus,.feld textarea:focus{
  outline:none;border-color:var(--dblau);
}
.feld.check{display:flex;align-items:flex-start;gap:12px}
.feld.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--dblau);flex:none}
.feld.check label{font-family:var(--lauf);font-weight:400;font-size:13.5px;color:var(--text);margin:0;line-height:1.5}
.formular .pille{width:100%;padding-block:18px}
.hinweis{margin-top:16px;font-size:12.5px;color:var(--grau);line-height:1.5}

/* Ansprechpartner in der Kontaktspalte */
.ansprech{margin-top:var(--s-mittel);display:flex;align-items:center;gap:16px}
.ansprech-bild{
  width:72px;height:72px;flex:none;border-radius:50%;
  background:url('../img/portrait-1.jpg') center/cover no-repeat;
  box-shadow:0 0 0 3px var(--hellblau);
}
.ansprech-name strong{
  display:block;font-family:var(--titel);font-weight:600;font-size:18px;color:var(--dblau);
}
.ansprech-name span{font-size:13.5px;color:var(--grau)}
.ansprech + .kontaktwege{margin-top:var(--s-klein)}

/* Vierstufiger Anfrage-Dialog: ein Fortschrittsbalken plus Stand-Zeile */
.lic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}
.df-kopf{margin-bottom:26px}
.df-stand{
  font-family:var(--titel);font-weight:600;font-size:14px;color:var(--dblau);
  margin-bottom:10px;
}
.df-balken{
  height:6px;border-radius:3px;background:rgba(10,79,150,.14);
  overflow:hidden;
}
.df-balken i{
  display:block;height:100%;background:var(--blau);
  transform-origin:left center;transform:scaleX(.25);
  transition:transform .25s ease;
}
.df-schritt{border:0;margin:0;padding:0;min-inline-size:0}
.js .df-schritt{display:none}
.js .df-schritt.an{display:block}
.df-schritt legend{
  font-family:var(--titel);font-weight:600;font-size:19px;color:var(--dblau);
  padding:0;margin-bottom:18px;
}
.df-kacheln{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.df-kachel{
  position:relative;display:flex;align-items:center;gap:12px;
  border:1px solid var(--linie);padding:13px 16px;cursor:pointer;
  font-family:var(--titel);font-weight:500;font-size:15px;color:var(--dblau);
  transition:border-color .16s ease,background-color .16s ease;
}
.df-kachel svg{width:20px;height:20px;flex:none;stroke-width:2}
.df-kachel:hover{border-color:var(--dblau)}
.df-kachel:has(input:checked){
  border-color:var(--dblau);background:var(--eis);
  box-shadow:inset 0 0 0 1px var(--dblau);
}
.df-kachel input,.df-chips input{position:absolute;width:1px;height:1px;opacity:0}
.df-kachel:has(input:focus-visible){outline:3px solid var(--blau);outline-offset:2px}
.df-chips{display:flex;flex-wrap:wrap;gap:8px}
.df-chips label{position:relative;cursor:pointer}
.df-chips span{
  display:inline-flex;align-items:center;
  border:1px solid var(--linie);padding:14px 16px;
  font-family:var(--titel);font-weight:500;font-size:14px;color:var(--dblau);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.df-chips label:hover span{border-color:var(--dblau)}
.df-chips input:checked + span{background:var(--dblau);border-color:var(--dblau);color:var(--weiss)}
.df-chips input:focus-visible + span{outline:3px solid var(--blau);outline-offset:2px}
.df-chips-klein span{padding:8px 12px;font-size:13px}
.df-tipp{margin-top:16px;font-size:13px;color:var(--grau)}
.df-nav{display:flex;gap:12px;margin-top:24px}
.df-nav[hidden]{display:none}
.df-zurueck,.df-weiter{display:none}
.js .df-nav .df-zurueck,.js .df-nav .df-weiter{display:inline-flex}
.js .df-nav .df-zurueck[hidden],.js .df-nav .df-weiter[hidden],.df-senden[hidden]{display:none}
.df-fehler{margin-top:12px;font-size:13.5px;color:#B3261E}
.df-ok{
  margin-top:16px;background:var(--eis);color:var(--dblau);
  font-family:var(--titel);font-weight:500;font-size:15px;padding:16px;
}

/* ---------- Schwebender Kontakt rechts unten ---------- */
.dock{position:fixed;right:24px;bottom:24px;z-index:80}
.dock-knopf{
  display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  background:var(--dblau);color:var(--weiss);
  font-family:var(--titel);font-weight:600;font-size:15px;
  padding:16px 24px;
  box-shadow:0 6px 18px rgba(8,49,94,.28),0 2px 4px rgba(8,49,94,.18);
  transition:background-color .18s ease,transform .18s ease;
}
.dock-knopf:hover{background:var(--dblau-tief);transform:translateY(-1px)}
.dock-knopf svg{width:16px;height:16px}
.dock-panel{
  position:absolute;right:0;bottom:calc(100% + 12px);
  width:344px;max-height:calc(100dvh - 128px);overflow:auto;
  overscroll-behavior:contain;
  background:var(--weiss);border:1px solid var(--dblau);
  box-shadow:0 18px 44px rgba(8,49,94,.22),0 4px 10px rgba(8,49,94,.12);
  animation:dock-auf .22s ease;
}
.dock-panel[hidden]{display:none}
@keyframes dock-auf{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.dock-kopf{
  display:flex;align-items:center;gap:14px;
  background:var(--eis);border-bottom:1px solid var(--linie);padding:16px;
}
.dock-bild{
  width:56px;height:56px;flex:none;border-radius:50%;
  background:url('../img/portrait-1.jpg') center/cover no-repeat;
}
.dock-wer{flex:1;min-width:0}
.dock-name{font-family:var(--titel);font-weight:600;font-size:17px;color:var(--dblau)}
.dock-rolle{font-size:12.5px;color:var(--grau)}
.dock-zu{
  width:40px;height:40px;flex:none;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;color:var(--dblau);
  transition:color .16s ease;
}
.dock-zu:hover{color:var(--dblau-tief)}
.dock-zu svg{width:18px;height:18px;stroke-width:2}
.dock-inhalt{padding:16px;display:grid;gap:16px}
.dock-wege{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dock-ruf,.dock-wa{
  display:flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;
  font-family:var(--titel);font-weight:600;font-size:14px;
  padding:13px 8px;transition:background-color .16s ease,color .16s ease;
}
.dock-ruf{background:var(--dblau);color:var(--weiss)}
.dock-ruf:hover{background:var(--dblau-tief)}
.dock-wa{background:var(--hellblau);color:var(--text)}
.dock-wa:hover{background:var(--dblau);color:var(--weiss)}
.dock-ruf svg,.dock-wa svg{width:15px;height:15px}
.dock-form .feld{margin-bottom:12px}
.dock-anliegen{border:0;padding:0;margin:0 0 14px}
.dock-anliegen legend{
  font-family:var(--titel);font-weight:500;font-size:14px;color:var(--dblau);
  padding:0;margin-bottom:8px;
}
.dock-senden{
  width:100%;border:0;cursor:pointer;
  background:var(--hellblau);color:var(--text);
  font-family:var(--titel);font-weight:600;font-size:15px;
  padding:14px 16px;transition:background-color .16s ease,color .16s ease;
}
.dock-senden:hover{background:var(--dblau);color:var(--weiss)}
.dock-ok{
  margin-top:12px;background:var(--eis);color:var(--dblau);
  font-size:13.5px;line-height:1.5;padding:12px;
}
.dock-plus{gap:10px}
.dock-plus li{font-size:13.5px;padding-left:30px}
.dock-plus li::before{width:17px;height:17px;background-size:17px 17px;top:2px}

/* ---------- Fuss ---------- */
.fuss{background:var(--dblau);color:rgba(255,255,255,.85);padding-top:var(--s-gross)}
.fuss-innen{
  display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:46px;padding-bottom:var(--s-gross);
}
.fuss-logo{height:84px;width:auto;margin-bottom:22px}
.fuss p{font-size:14.5px;line-height:1.6}
.fuss-titel{
  font-family:var(--titel);font-weight:600;font-size:18px;color:var(--weiss);
  margin-bottom:16px !important;
}
.fuss-liste{display:grid;gap:11px;font-size:14.5px}
.fuss-liste a{text-decoration:none}
.fuss-liste a:hover{color:var(--weiss);text-decoration:underline;text-underline-offset:3px}
.fuss-linie{background:var(--dblau-tief);padding-block:20px}
.fuss-linie-innen{
  display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;
  font-size:13.5px;color:rgba(255,255,255,.88);
}
.fuss-linie a{margin-right:20px;text-decoration:none}
.fuss-linie a:hover{color:var(--weiss);text-decoration:underline;text-underline-offset:3px}
.platzhalter{
  display:inline-block;background:var(--hellblau);color:var(--text);
  font-weight:500;padding:3px 10px;border-radius:2px;font-size:12px;
}

/* ---------- Handyleiste ---------- */
.handyleiste{display:none}
.iconquelle{position:absolute;width:0;height:0;overflow:hidden}

/* =========================================================================
   Schmalere Fenster
   ========================================================================= */
@media (max-width:1200px){
  :root{--rand:32px;--s-eng:56px;--s-block:80px;--s-weit:120px;--kopf-h:80px}
  h1{font-size:42px}
  .marke{height:128px;margin-bottom:-48px;padding:0 22px}
  .marke img{height:96px}
  .ruf-nr{display:none}
  .rufknopf{width:48px;padding:0;justify-content:center}
  .leist-reihe{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero{grid-template-columns:minmax(0,58%) minmax(0,42%)}
  .split{grid-template-columns:36% 64%}
  .ueber-innen{gap:48px}
  .social-raster{grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .fuss-innen{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}

@media (max-width:980px){
  html{scroll-padding-top:130px}
  :root{--kopf-h:68px}
  .nav{display:none}
  .burger{display:block}
  .kopf-innen{gap:12px}
  .marke{height:112px;margin-bottom:-44px;padding:0 18px}
  .marke img{height:84px}
  .kopf-rechts{gap:10px}
  .kopf-rechts .pille{padding:13px 20px;font-size:14px}
  .rufknopf{width:44px;height:44px}

  .mmenu{
    display:block;background:var(--eis);
    border-top:1px solid rgba(10,79,150,.14);
    padding:52px var(--rand) 18px;
  }
  .mmenu[hidden]{display:none}
  .mmenu a{
    display:block;padding:14px 0;text-decoration:none;
    font-family:var(--titel);font-weight:500;font-size:18px;color:var(--dblau);
    border-bottom:1px solid rgba(10,79,150,.12);
  }
  .mmenu a:last-child{border-bottom:0}

  .hero{grid-template-columns:1fr;min-height:0}
  .hero-text{padding:56px var(--rand) 52px;order:2}
  .hero-inner{margin-left:0;max-width:none}
  .hero-bild{order:1;height:320px}
  .hero-bild img{object-position:50% 42%}
  .hero h1{max-width:none}

  .split{grid-template-columns:1fr}
  .split-bild{min-height:300px;height:300px}
  .split-text{padding:var(--s-eng) var(--rand)}

  .ueber-innen{grid-template-columns:1fr;gap:44px}
  .ueber-bilder{max-width:520px}
  .galerie-raster{grid-template-columns:1fr;gap:12px}
  .gal-gross{grid-row:auto}
  .gal-gross img{aspect-ratio:3/2}
  .social-raster{grid-template-columns:1fr}
  .hochkachel{aspect-ratio:4/5;max-width:520px}

  .band-innen{grid-template-columns:1fr;gap:36px}
  .anfrage-innen{grid-template-columns:1fr;gap:44px}
  .formular{margin-top:0}
  .block-kopf{grid-template-columns:1fr}
  .pfeile{display:none}
}

@media (max-width:720px){
  :root{--rand:20px;--s-eng:48px;--s-block:64px;--s-weit:96px;--s-gross:38px;--kopf-h:62px}
  h1{font-size:34px;line-height:1.15}
  h2{font-size:26px}
  .hero p{margin-top:16px}
  .hero-knoepfe{margin-top:28px}
  .hero-knoepfe .pille{flex:1 1 100%}

  .leist-reihe{grid-template-columns:1fr;gap:12px}
  .lkarte summary{flex-direction:row;align-items:center;gap:16px}
  .lkarte summary > svg{width:34px;height:34px;flex:none}
  .lname{flex:1;font-size:18px}
  .lplus{margin-top:0;flex:none}

  .marke{height:100px;margin-bottom:-38px;padding:0 14px}
  .marke img{height:74px}
  .mmenu{padding-top:46px}

  .reihe{grid-auto-columns:84vw;gap:14px}
  .grez{padding:24px}
  .fragen-liste summary{font-size:17px;padding:20px 2px}
  .fragen-liste p{padding-right:10px}
  .formular{padding:24px 20px}
  .zwei{grid-template-columns:1fr}
  .df-kacheln{grid-template-columns:1fr}

  .insta{padding:16px}
  .ig-raster{gap:6px}
  .ueber-bilder{padding-right:32px}
  .ueber-gesicht{width:128px;height:128px}
  .fuss-innen{grid-template-columns:1fr;gap:34px;padding-bottom:48px}
  .fuss-logo{height:70px}
  .fuss-linie-innen{flex-direction:column;gap:10px}

  body{padding-bottom:66px}
  .handyleiste{
    display:grid;grid-template-columns:1fr 1fr;
    position:fixed;left:0;right:0;bottom:0;z-index:70;
    background:var(--dblau);border-top:1px solid var(--dblau-tief);
  }
  .handyleiste a{
    display:flex;align-items:center;justify-content:center;gap:9px;
    padding:17px 8px;text-decoration:none;color:var(--weiss);
    font-family:var(--titel);font-weight:600;font-size:15px;
  }
  .handyleiste a:first-child{border-right:1px solid var(--dblau-tief)}
  .handyleiste svg{width:17px;height:17px}

  /* Dock bleibt ueber der Handy-Leiste. Das Panel wird so weit gestrafft,
     dass es auf 390x844 ohne inneres Scrollen passt: Sozial-Reihe und
     Vorteils-Liste stehen auf dem Handy schon in Fussbereich und Leiste */
  .dock{right:12px;bottom:82px}
  .dock-knopf{padding:13px 18px;font-size:14px}
  .dock-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 224px)}
  .dock-plus{display:none}
  .dock-kopf{padding:12px}
  .dock-inhalt{padding:12px;gap:12px}
  .dock-form .feld{margin-bottom:10px}
  .dock-form .feld input{padding:11px 12px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* Kopf-Knopf auf schmalen Handys einzeilig: Langtext raus, Kurzform rein */
.kopf-cta{gap:0}
.kopf-cta .cta-kurz{display:none}
@media (max-width:520px){
  .kopf-cta{white-space:nowrap;padding-inline:20px}
  .kopf-cta .cta-lang{display:none}
  .kopf-cta .cta-kurz{display:inline}
}
