
  :root{ --header-h:80px; }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll;overflow-x:clip}
  body{margin:0;background:#fff;color:var(--text);font-family:Hind,"Segoe UI",Arial,sans-serif}
  a{color:var(--accent);text-decoration:none}
  img{max-width:100%;display:block}

  /* ---- Zugänglichkeit ---------------------------------------------- */
  .skip-link{position:absolute;left:12px;top:-60px;background:#fff;color:var(--text-strong);
    padding:12px 18px;border:1px solid var(--border);z-index:100;font:var(--type-nav);
    transition:top .15s ease}
  .skip-link:focus{top:12px}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
    html{scroll-behavior:auto}
  }

  /* ---- Layout-Hilfen -------------------------------------------------- */
  .wrap{max-width:1400px;margin:0 auto}
  .section{padding:clamp(40px,5vw,72px) clamp(20px,4vw,40px);border-bottom:1px solid var(--border)}
  [hidden]{display:none!important}

  /* ---- Buttons / Links (spiegeln Button.jsx: variant outline|text) --- */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
    font:var(--type-button);padding:14px 24px;min-height:44px;border-radius:var(--radius);
    background:transparent;color:var(--accent);border:0;box-shadow:inset 0 0 0 1px var(--accent);
    text-decoration:none;box-sizing:border-box}
  .btn:hover{filter:brightness(.9)}
  .link{font:var(--type-button);color:var(--accent);border-bottom:2px solid var(--accent-graphic);
    padding-bottom:3px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;
    transition:transform .18s ease;min-height:44px}
  .link:hover{transform:translateX(4px)}
  .cta-row{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;margin-top:32px}

  /* ---- Kopfleiste: schwebende dunkle Leiste über dem Bildkopf --------
     Übernommen aus der Editorial-Fassung: die Leiste liegt auf dem Bild,
     der aktive Punkt trägt die Ansichtsfarbe (--hdr-accent, per JS). */
  #siteHeader{position:fixed;top:clamp(10px,1.6vw,16px);left:0;right:0;z-index:40;
    padding:0 clamp(12px,2.4vw,20px);background:none;border:0}
  .header-inner{max-width:1400px;margin:0 auto;padding:9px 10px 9px 18px;height:auto;
    display:flex;align-items:center;gap:14px;border-radius:6px;
    background:rgba(26,29,31,.9);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}
  .header-mark{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
  .header-mark b{font:700 18px/1 Hind;letter-spacing:-.01em;color:#fff}
  .header-mark .claim{display:none;font:300 11px/1 Hind;color:#9BA1A1;
    border-left:1px solid rgba(255,255,255,.22);padding-left:10px}
  @media (min-width:1100px){ .header-mark .claim{display:block} }
  .primary-nav{display:flex;gap:2px;align-items:center;margin-left:auto}
  .primary-nav a{font:var(--type-nav);color:#D5D9D9;text-decoration:none;min-height:40px;
    display:flex;align-items:center;padding:0 14px;border-radius:4px;transition:background .18s ease,color .18s ease}
  .primary-nav a:hover{background:rgba(255,255,255,.09);color:#fff}
  .primary-nav a.is-active{background:var(--hdr-accent,#82358C);color:#FFFFFF}
  .header-cta{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 18px;border-radius:4px;
    background:#fff;color:#1A1D1F;font:var(--type-button);text-decoration:none;transition:background .18s ease,color .18s ease}
  .header-cta:hover{background:var(--hdr-accent,#82358C);color:#FFFFFF}
  #menuToggle{display:none;align-items:center;gap:10px;height:44px;padding:0 10px;background:none;
    border:0;cursor:pointer;font:var(--type-nav);color:#fff;margin-left:auto;border-radius:4px}
  #menuToggle:hover{background:rgba(255,255,255,.09)}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:22px;height:44px}
  .burger span{display:block;height:2px;background:#fff}
  #mobileNav{position:absolute;left:clamp(12px,2.4vw,20px);right:clamp(12px,2.4vw,20px);top:calc(100% + 8px);
    border:0;border-radius:6px;padding:8px;background:rgba(26,29,31,.96);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  #mobileNav a{display:flex;align-items:center;min-height:50px;padding:0 14px;border-radius:4px;
    font:var(--type-nav);color:#D5D9D9;text-decoration:none;border:0}
  #mobileNav a.is-active{background:var(--hdr-accent,#82358C);color:#FFFFFF}
  @media (max-width:899px){ .primary-nav{display:none} #menuToggle{display:flex} .header-cta{display:none} }
  @media (min-width:900px){ #menuToggle{display:none} #mobileNav{display:none!important} }

  /* ---- Hero: Bildplatte mit Skrim ------------------------------------
     Konzept aus der Editorial-Fassung: Foto vollflächig, dunkler Verlauf
     darüber, XXL-Zeile unten links, darunter eine Trennlinie mit Text
     links / Aktionen rechts. --hero-accent färbt Chip, Skrim und Linien. */
  .hero{position:relative;overflow:hidden;display:flex;border:0;border-radius:6px;padding:0;
    margin:clamp(10px,1.6vw,16px);background:#1A1D1F;min-height:min(78vh,760px)}
  .hero.hero-short{min-height:min(56vh,540px)}
  .hero-shot{position:absolute;inset:0}
  .hero-shot image-slot,.hero-shot img{width:100%;height:100%;filter:grayscale(1)}
  .hero-scrim{position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(18,20,22,.8) 0%,rgba(18,20,22,.3) 40%,rgba(18,20,22,.86) 100%),
      linear-gradient(90deg,color-mix(in oklch,var(--hero-accent,#82358C) 22%,transparent) 0%,transparent 58%)}
  .hero-inner{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:clamp(96px,11vw,150px) clamp(20px,4vw,44px) clamp(22px,3vw,40px)}
  .eyebrow{font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;
    color:var(--accent-graphic);margin:0 0 20px}
  .hero .eyebrow{display:inline-flex;align-items:center;width:fit-content;color:#fff;
    background:var(--hero-accent,#82358C);padding:6px 12px;border-radius:3px;margin:0 0 22px}
  .h1{font:700 clamp(30px,4.4vw,52px)/1.16 Hind;letter-spacing:-.015em;color:var(--text-strong);
    margin:0 0 22px;max-width:100%;text-wrap:balance}
  .hero .h1{color:#fff;font:700 clamp(36px,6.6vw,88px)/1.01 Hind;letter-spacing:-.035em;margin:0}
  .hero.hero-short .h1{font-size:clamp(32px,5.2vw,68px)}
  .lead{font:var(--type-body);margin:0;max-width:100%}
  .hero-foot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(16px,3vw,48px);
    align-items:end;margin-top:clamp(22px,3vw,40px);border-top:1px solid rgba(255,255,255,.22);
    padding-top:clamp(16px,2vw,26px)}
  .hero-foot .lead{color:#E4E7E7;max-width:64ch}
  .hero-foot .cta-row{margin:0;justify-content:flex-end}
  .hero .btn{background:#fff;color:#1A1D1F;box-shadow:none;border-radius:4px}
  .hero .btn:hover{background:var(--hero-accent,#82358C);color:#FFFFFF;filter:none}
  .hero .btn.on-photo{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
  .hero .btn.on-photo:hover{background:#fff;color:#1A1D1F}
  .hero .link{color:#fff;border-bottom-color:var(--hero-accent,#82358C)}
  .hero .link:hover{color:#fff}
  @media (max-width:820px){ .hero-foot{grid-template-columns:1fr} .hero-foot .cta-row{justify-content:flex-start} }
  .hero-signet{display:none}
  /* Dieselbe Tönungsformel wie #siteHeader — Kopfzeile und Signet bilden dadurch
     eine durchgehende Fläche, wo sie sich im Hero überlappen. --tint sitzt auf
     :root, damit Header und Signet (an verschiedenen Stellen im DOM) denselben
     Wert lesen. */
  .hero-signet path{ fill:color-mix(in oklch, var(--accent) calc(var(--tint,9) * 1%), #fff); }
  @media (max-width:640px){ .hero-signet{display:none} }

  /* Kein sichtbares Scrollbar-Chrome auf den horizontal scrollenden Reihen —
     stört besonders auf dem Desktop; die Scrollbarkeit bleibt (Touch, Wheel,
     Tastatur), das Chip-/Tab-Ende am rechten Rand zeigt sie weiterhin an. */
  .chip-row, .jump-row, .area-tabs{ scrollbar-width:none; -ms-overflow-style:none; }
  .chip-row::-webkit-scrollbar, .jump-row::-webkit-scrollbar, .area-tabs::-webkit-scrollbar{
    display:none; height:0; }

  /* ---- Zielgruppen: horizontale Chip-Reihe statt Icon-Raster --------- */
  .chip-row{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;padding:2px 2px 8px;margin:0 -2px}
  .chip{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 16px;
    border:1px solid var(--border);scroll-snap-align:start;min-height:44px;box-sizing:border-box;
    white-space:nowrap}
  .chip span{font:400 15px/1.3 Hind;color:var(--text-strong)}

  /* ---- Zielgruppen (Variante B): große, freistehende Objekte statt Chips */
  .audience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
    gap:clamp(28px,4vw,56px)}
  @media (max-width:900px){ .audience-grid{grid-template-columns:repeat(3,1fr)} }
  @media (max-width:560px){ .audience-grid{grid-template-columns:repeat(2,1fr)} }
  .audience-item{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
  .audience-icon{width:clamp(64px,8vw,84px);aspect-ratio:1;border-radius:50%;
    background:#fff;box-shadow:inset 0 0 0 7px var(--surface-muted),0 10px 24px -14px rgba(0,0,0,.25);
    border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
    transition:transform .2s ease,box-shadow .2s ease}
  .audience-item:hover .audience-icon{transform:translateY(-5px);box-shadow:inset 0 0 0 7px var(--surface-muted),0 16px 28px -14px rgba(0,0,0,.3)}
  .audience-item span[data-icon]{color:var(--accent-graphic)}
  .zg-icon{width:60%;height:60%;display:block}
  .zg-icon .zs{fill:none;stroke:#24282A;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
  .zg-icon .zt{fill:var(--g-tint);stroke:#24282A;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
  .zg-icon .za{fill:none;stroke:#82358C;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
  .zg-icon .zf{fill:#82358C;stroke:#82358C;stroke-width:.6;stroke-linejoin:round}
  .audience-label{font:500 15px/1.35 Hind;color:var(--accent);text-wrap:balance;margin:0}
  .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
    flex-wrap:wrap;margin-bottom:22px}
  .section-head p.caption{font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;
    color:var(--accent);margin:0}

  /* ---- Leistungen-Cluster (Startseite) -------------------------------- */
  .cluster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    grid-auto-rows:auto;gap:clamp(28px,3vw,40px) 26px}
  .cluster-card{display:grid;grid-template-rows:auto auto auto 1fr;grid-row:span 4;
    border-top:2px solid var(--accent-graphic);padding-top:20px;transition:transform .22s ease}
  @supports (grid-template-rows:subgrid){.cluster-card{grid-template-rows:subgrid}}
  .cluster-card:hover{transform:scale(1.035)}
  .cluster-card .head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
  .cluster-card .rule{flex:1;height:1px;background:var(--border)}
  .cluster-card h3{font:600 21px/1.3 Hind;color:var(--text-strong);margin:0 0 8px;text-wrap:balance}
  .cluster-card p{font:300 14px/1.65 Hind;color:var(--text);margin:0 0 16px}
  .kw-lead{display:block;color:inherit;font-weight:600}
  .item-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
    border-top:1px solid var(--border);padding:11px 2px;text-decoration:none;color:var(--text-strong);
    font:400 15px/1.5 Hind;min-height:44px;box-sizing:border-box;
    transition:transform .18s ease,color .18s ease}
  .item-row:hover{color:var(--accent);transform:translateX(4px)}
  .item-row .arrow{color:var(--accent-graphic);font:400 14px/1.5 Hind;flex-shrink:0}
  details.more{border:0}
  details.more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
    border-top:1px solid var(--border);padding:11px 2px;font:400 15px/1.5 Hind;color:var(--accent);
    cursor:pointer;list-style:none;min-height:44px;box-sizing:border-box;
    transition:transform .18s ease,color .18s ease}
  details.more summary:hover{transform:translateX(4px)}
  details.more summary::-webkit-details-marker{display:none}
  details.more summary::after{content:'+ ' attr(data-count) ' weitere';font:400 15px/1.5 Hind}
  details.more[open] summary::after{content:'– weniger anzeigen'}
  details.more[open] summary{color:var(--text-muted)}

  /* ---- Marken/Partner -------------------------------------------------- */
  .brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
  .brand-card{display:flex;align-items:center;gap:10px;border-left:3px solid var(--accent-graphic);
    padding-left:18px;text-decoration:none;color:inherit;min-height:44px}
  .brand-card b{font:700 20px/1 Hind;color:var(--text-strong);letter-spacing:-.01em}
  .brand-card b em{font-style:normal;color:var(--accent)}
  .brand-logo{width:auto;display:block}
  /* PRO Keimfrei — eigener Markenton (Lila) */
  .brand-card[data-brand="keimfrei"]{border-left-color:#7A4FA3}
  .brand-card[data-brand="keimfrei"] b,.brand-card[data-brand="keimfrei"] b em{color:#7A4FA3}
  .brand-card[data-brand="keimfrei"] [data-icon]{color:#7A4FA3}

  /* ---- Marken und Partner: freistehende Reihe auf Weiß (Variante 2) ---
     Kein Container, kein Kasten — nur Luft zwischen den Logos. Sitzt als
     eigene helle Zone direkt über dem Footer, damit die farbigen Logos tragen. */
  .brand-zone{padding:clamp(30px,4.5vw,52px) clamp(20px,4vw,40px);background:#fff}
  .brand-zone .cap{font:500 11px/1.3 Hind;letter-spacing:.12em;text-transform:uppercase;
    color:var(--text-muted);text-align:center;margin:0 auto clamp(20px,3vw,30px);width:100%;max-width:none}
  .brand-free{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(28px,6vw,76px)}
  .brand-free a{display:flex;align-items:center;gap:9px;min-height:48px;text-decoration:none;
    transition:transform .2s ease}
  .brand-free a:hover{transform:translateY(-2px)}
  .brand-free img{width:auto;display:block}
  .brand-free a[data-brand="keimfrei"]{color:#7A4FA3}
  .brand-free a[data-brand="keimfrei"] b{font:700 21px/1 Hind;color:#7A4FA3;letter-spacing:-.01em}
  .brand-free a[data-brand="keimfrei"] b em{font-style:normal;color:#7A4FA3}
  .brand-free a[data-brand="keimfrei"] [data-icon]{color:#7A4FA3!important}

  /* ---- H1: Zeilenumbruch als Blöcke, optional abwechselnd ------------- */
  .h1-lines .h1-line{display:block}
  .h1-lines[data-h1="alt"] .h1-line:nth-child(even){text-align:right}

  /* ---- Leistungen-Seite: Tab-Leiste + Quick-Jump ---------------------- */
  .area-tabs{position:sticky;top:var(--header-h);z-index:15;background:#fff;
    border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}
  @media (min-width:860px){ .area-tabs{display:flex;justify-content:center} }
  .area-tabs-inner{display:flex;gap:4px;padding:8px clamp(20px,4vw,40px);min-width:max-content;
    max-width:1400px;margin:0 auto}
  .area-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;font:var(--type-nav);
    color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;
    min-height:44px;box-sizing:border-box;text-decoration:none}
  .area-tab.is-active{color:var(--accent);border-bottom-color:var(--accent-graphic);font-weight:600}
  .jump-row{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding:4px 2px 10px;margin-bottom:6px}
  .jump-chip{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border);font:400 14px/1.3 Hind;
    color:var(--text-muted);text-decoration:none;white-space:nowrap;min-height:40px;
    display:flex;align-items:center}
  .jump-chip:hover{color:var(--accent);border-color:var(--accent-graphic)}

  .bereich-card{border-top:2px solid var(--accent-graphic);padding-top:24px;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 44px}
  .bereich-card h2{font:700 clamp(22px,2.2vw,30px)/1.2 Hind;color:var(--text-strong);margin:0;text-wrap:balance}
  .bereich-card .head{display:flex;align-items:center;gap:12px;margin-bottom:12px;text-decoration:none}
  .bereich-card p{font:var(--type-body);margin:0 0 18px;max-width:42ch}
  .bereich-list .item-row span:first-child{display:flex;flex-direction:column;gap:3px}
  .bereich-list .item-row .claim{font:300 13px/1.4 Hind;color:var(--text-muted)}
  .bereich-list .item-row{align-items:baseline}

  .service-item{border-top:1px solid var(--border);padding-top:56px;margin-top:56px;scroll-margin-top:160px}
  .service-item:first-child{margin-top:0}
  .service-item .head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
  .service-item h3{font:700 clamp(22px,2.2vw,30px)/1.25 Hind;color:var(--text-strong);margin:0;text-wrap:balance}
  .service-claim{font:600 16px/1.6 Hind;color:var(--accent);margin:0 0 18px}
  .service-grid{display:grid;gap:clamp(24px,3vw,44px);align-items:start;grid-template-columns:1fr}
  .service-grid.with-media{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
  @media (max-width:899px){ .service-grid.with-media{grid-template-columns:1fr} }
  .service-text p{font:var(--type-body);margin:0 0 16px;max-width:66ch}
  /* Ohne Bild würde der Fließtext sonst als schmale Spalte links kleben und
     rechts viel Leerraum lassen. Die Absätze verteilen sich stattdessen auf
     mehrere ausgewogene Spalten — kollabiert von selbst auf 1 Spalte, sobald
     kein zweites 320px-Feld mehr passt (kein eigenes Breakpoint nötig). */
  .para-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:0 clamp(28px,3vw,48px)}
  .para-grid p{max-width:none}
  /* Grün-fett hervorgehobene Schlagwörter in den Detailbeschreibungen —
     bewusst kuratiert (1–2 je Absatz), nicht automatisch generiert. */
  .kw{color:var(--accent);font-weight:600}
  /* ---- Block-Vorlage "Checkliste": grüner Haken + 2-spaltige Liste mit
     Trennlinie oben je Punkt. Einheitlich für alle Aufzählungen in den
     Leistungen-Unterseiten — bei neuen Punkten dieses Muster wiederverwenden. */
  .bullet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;margin:28px 0 20px}
  .bullet{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--border);padding:10px 0}
  @media (max-width:640px){ .bullet-grid{grid-template-columns:1fr} }
  .bullet span{font:300 15px/1.55 Hind;color:var(--text)}
  .media-box{width:100%;aspect-ratio:4/3;border-radius:16px;display:flex;
    align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box;overflow:hidden}
  .media-box:has(span){background:var(--surface-muted)}
  .media-box span{font:300 13px/1.5 Hind;color:var(--text-muted)}
  .media-box img{width:100%;height:100%;object-fit:cover;border-radius:16px}
  .credit{font:300 12px/1.4 Hind;color:var(--text-muted);margin-top:6px}

  .closing-note{border-top:1px solid var(--border);margin-top:clamp(40px,4vw,64px);padding-top:clamp(28px,3vw,40px)}
  .closing-note p{font:var(--type-h3);color:var(--text-strong);margin:0 0 18px;max-width:36ch}

  /* ---- Kontakt ---------------------------------------------------------- */
  .contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px;text-align:center}
  .contact-card{border-left:0;padding-left:0;display:flex;flex-direction:column;align-items:center}
  .contact-card .cap{font:var(--type-eyebrow);letter-spacing:.04em;text-transform:uppercase;
    color:var(--accent);margin:0 0 12px}
  .contact-card a.big{font:700 26px/1.3 Hind;color:var(--text-strong);display:block;margin-bottom:8px;
    word-break:break-word}
  .contact-card p{font:300 15px/1.7 Hind;margin:0}
  .addr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;text-align:center;justify-content:center}
  .addr-card{display:flex;flex-direction:column;align-items:center}
  .addr-card .cap{font:var(--type-eyebrow);letter-spacing:.04em;text-transform:uppercase;
    color:var(--text-muted);margin:0 0 10px}

  /* ---- Team-Kacheln (Unternehmen) — Foto (oder Icon) + Name + Rolle -- */
  .team-grid{display:flex;flex-wrap:wrap;justify-content:center;
    gap:clamp(28px,3vw,40px)}
  .team-card{flex:0 0 170px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
  .team-photo{width:100%;aspect-ratio:1;border-radius:50%;background:none;display:flex;
    align-items:center;justify-content:center;overflow:hidden}
  .team-photo:has(span){background:var(--surface-muted)}
  .team-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .team-name{font:600 15px/1.3 Hind;color:var(--text-strong);margin:0}
  .team-role{font:300 14px/1.3 Hind;color:var(--text-muted);margin:0}
  .quote-block{border-left:0;padding:0;text-align:center;max-width:none;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}
  .quote-block .quote-icon{width:56px;height:56px;border-radius:50%;background:var(--surface-muted);display:flex;align-items:center;justify-content:center}
  .quote-block p{font:600 clamp(24px,3.2vw,42px)/1.32 Hind;color:var(--text-strong);margin:0;text-wrap:balance}
  .quote-block .quote-sub{color:var(--g-ink,#82358C)!important}
  .quote-block{gap:24px;max-width:980px}

  /* ---- Footer --------------------------------------------------------- */
  .foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-bottom:36px;text-align:center}
  .foot-grid .cap{font:500 12px/1.4 Hind;letter-spacing:.04em;text-transform:uppercase;
    color:var(--text-muted);margin:0 0 10px}
  .foot-grid p{font:300 15px/1.7 Hind;margin:0}
  .foot-brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--border);
    padding-top:22px}
  .foot-brand span{font:300 13px/1.6 Hind;color:var(--text-muted)}

  /* ---- Footer-Varianten (Tweak) ---------------------------------------
     Fünf schwache Anthrazittöne, alle entsättigt und weich angesetzt:
     keine harte Oberkante, sondern ein Farbverlauf, der aus der Seite
     herauswächst. Umschaltbar über data-foot am <footer>. */
  footer{position:relative;transition:background-color .35s ease,color .35s ease}
  footer[data-foot]{border-top:0;background-repeat:no-repeat;background-position:top center;
    background-size:100% 120px}



  /* 3 — Schiefer: mittlerer Ton, Kipppunkt zu heller Schrift */
  footer[data-foot="3"]{background-color:#C3C9CB;background-image:linear-gradient(#E4E7E8,#C3C9CB);color:#2B3134}
  footer[data-foot="3"] .foot-grid .cap{color:#464D50}
  footer[data-foot="3"] .foot-grid p,footer[data-foot="3"] a{color:#2B3134}
  footer[data-foot="3"] .foot-brand{border-top-color:rgba(36,40,42,.18)}
  footer[data-foot="3"] .foot-brand span{color:#464D50}

  /* 4 — Rauch: gedämpftes Anthrazit, helle Schrift ohne Härte */
  footer[data-foot="4"]{background-color:#5A6164;background-image:linear-gradient(#6A7073,#5A6164);color:#F0F2F2}
  footer[data-foot="4"] .foot-grid .cap{color:#EDEFEF}
  footer[data-foot="4"] .foot-grid p,footer[data-foot="4"] a{color:#F0F2F2}
  footer[data-foot="4"] a:hover{color:var(--g)}
  footer[data-foot="4"] .foot-brand{border-top-color:rgba(255,255,255,.18)}
  footer[data-foot="4"] .foot-brand span{color:#DDE2E3}
  footer[data-foot="4"] .foot-brand svg path:last-child{fill:rgba(255,255,255,.5)}

  /* 5 — Graphit: tiefster Ton, bewusst aufgehellt statt schwarz */
  footer[data-foot="5"]{background-color:#3A4144;background-image:linear-gradient(#474E51,#3A4144);color:#E7EAEA}
  footer[data-foot="5"] .foot-grid .cap{color:#C9D0D2}
  footer[data-foot="5"] .foot-grid p,footer[data-foot="5"] a{color:#E7EAEA}
  footer[data-foot="5"] a:hover{color:var(--g)}
  footer[data-foot="5"] .foot-brand{border-top-color:rgba(255,255,255,.16)}
  footer[data-foot="5"] .foot-brand span{color:#AEB6B8}
  footer[data-foot="5"] .foot-brand svg path:last-child{fill:rgba(255,255,255,.45)}

  /* 6 — Hausgrau: der Neutralton der Marke (#505456), weich angesetzt */
  footer[data-foot="6"]{background-color:#505456;background-image:linear-gradient(#626668,#505456);color:#EFF1F1}
  footer[data-foot="6"] .foot-grid .cap{color:#EDEFEF}
  footer[data-foot="6"] .foot-grid p,footer[data-foot="6"] a{color:#EFF1F1}
  footer[data-foot="6"] a:hover{color:var(--g)}
  footer[data-foot="6"] .foot-brand{border-top-color:rgba(255,255,255,.18)}
  footer[data-foot="6"] .foot-brand span{color:#D3D7D8}
  footer[data-foot="6"] .foot-brand svg path:last-child{fill:rgba(255,255,255,.5)}

  /* ---- Tweak-Leiste (nur Entwurf, nicht Teil der Seite) -------------- */
  #footTweak{position:fixed;right:18px;bottom:18px;z-index:80;background:#fff;
    border:1px solid var(--border);border-radius:12px;padding:12px 14px;
    box-shadow:0 14px 40px -18px rgba(36,40,42,.4);font:400 13px/1.4 Hind;max-width:230px}
  #footTweak p{margin:0 0 9px;font:600 11px/1.3 Hind;letter-spacing:.1em;
    text-transform:uppercase;color:var(--text-muted)}
  #footTweak .opts{display:flex;flex-direction:column;gap:5px}
  #footTweak button{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;
    border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;
    font:400 13px/1.3 Hind;color:var(--text-strong);text-align:left}
  #footTweak button:hover{background:var(--surface-muted)}
  #footTweak button[aria-pressed="true"]{border-color:var(--accent-graphic);
    background:var(--surface-muted);font-weight:600}
  #footTweak i{flex:0 0 18px;height:18px;border-radius:5px;
    box-shadow:inset 0 0 0 1px rgba(36,40,42,.14)}
  @media (max-width:860px){ #footTweak{display:none} }

  /* ---- Mobile CTA-Leiste (fixiert, nur schmale Viewports) ------------ */
  #mobileCtaBar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;
    border-top:1px solid var(--border)}
  #mobileCtaBar .btn{width:100%}
  @media (max-width:767px){
    #mobileCtaBar{display:block}
    body{padding-bottom:74px}
  }
  /* Alle Fotos schwarz-weiß — Markenlogos bleiben farbig. */
  .team-photo img,.media-box img,.hero-photo image-slot,.shot image-slot{filter:grayscale(1)}


/* v2 — Design-Überarbeitung: gleiche Inhalte, klarere Hierarchie.
   Prinzipien: 1 Primäraktion pro Ansicht (gefüllt grün), Bänder im Wechsel
   Weiß/Papier für Gliederung, einheitliche Karten (8px Radius, 1px Linie),
   Abschnittsköpfe mit Markierung, Grün nur für Fokus & Status. */
:root{--paper:#F5F5F6;--paper-2:#ECECEE;--ink:#1F2325;--line:#E3E3E6;--r-card:10px;--r-ctl:6px;--g:#82358C;--g-ink:#82358C;--g-tint:#F5EEF6;--accent:var(--g-ink);--accent-graphic:var(--g);--brand-graphic:var(--g);--brand-ink:var(--g-ink)}
[data-brand="pro"],[data-brand="einsatz"]{--brand-graphic:var(--g);--brand-ink:var(--g-ink)}
[data-brand="keimfrei"]{--brand-graphic:#7A4FA3;--brand-ink:#7A4FA3}
body{background:#fff;color:#3A3F41}
.section{border-bottom:0;padding:clamp(56px,7vw,104px) clamp(20px,4vw,40px)}
.wrap{max-width:1240px}
/* Abschnittsköpfe: Markierung + Titel, Link rechts */
.section-head{align-items:flex-end;margin-bottom:clamp(28px,3.4vw,44px);padding-bottom:18px;border-bottom:1px solid var(--line)}
.section-head p.caption,.caption{display:inline-flex;align-items:center;gap:12px;font:600 15px/1 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink)}
.section-head p.caption::before,.caption::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--g)}
.section-head h2{font:700 clamp(28px,3vw,40px)/1.15 Hind!important;letter-spacing:-.02em}
/* Buttons: primär gefüllt, sekundär Kontur */
.btn{border-radius:var(--r-ctl);background:var(--g);color:#FFFFFF;box-shadow:none;font-weight:600;padding:15px 26px;transition:background .18s ease,transform .18s ease}
.btn:hover{filter:none;background:var(--g-ink);color:#fff;transform:translateY(-1px)}
.link{border-bottom-width:1.5px;font-weight:600;color:var(--g-ink)}
/* Header */
.header-inner{border-radius:10px;max-width:1240px;background:rgba(22,25,27,.88)}
.primary-nav a{border-radius:6px}
.header-cta{background:var(--g);color:#FFFFFF;border-radius:6px;font-weight:600}
.header-cta:hover{background:#fff;color:#1A1D1F}
/* Hero */
.hero{border-radius:0;margin:0;min-height:min(88vh,860px)}
.hero .hero-shot image-slot{border-radius:0}
/* Buttons: symmetrisch — keine Icons/Pfeile in Buttons */
.btn [data-icon],.btn [aria-hidden="true"],.header-cta [data-icon],.header-cta [aria-hidden="true"],.header-cta svg,.btn svg{display:none!important}
.btn,.header-cta{justify-content:center;gap:0;text-align:center}
.hero-scrim{background:linear-gradient(180deg,rgba(16,18,20,.28) 0%,rgba(16,18,20,.08) 30%,rgba(16,18,20,.62) 100%),linear-gradient(90deg,rgba(16,18,20,.38) 0%,transparent 60%)}
.hero-shot image-slot,.hero-shot img{filter:grayscale(1) brightness(1.12) contrast(.95)}
.hero{background:#3A4144}
.hero-inner{max-width:1240px}
.hero .eyebrow{border-radius:999px;padding:7px 14px;font-weight:600;letter-spacing:.12em;color:#FFFFFF;background:var(--g)}
.hero-foot{border-top-color:rgba(255,255,255,.18)}
.hero .btn{background:var(--g);color:#FFFFFF;border-radius:var(--r-ctl)}
.hero .btn:hover{background:#fff;color:#1A1D1F}
.hero .btn.on-photo{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
/* Zielgruppen: strukturiertes Raster statt freier Kreise */
[data-view="home"]>.section:nth-child(3){padding-top:clamp(40px,5vw,72px)}
.audience-grid{gap:clamp(24px,3vw,40px) clamp(12px,2vw,28px);border:0;background:none}
.audience-item{background:none;align-items:center;text-align:center;padding:0;gap:16px;min-height:0;justify-content:flex-start}
.audience-icon{width:clamp(72px,7vw,88px);border-radius:50%;background:var(--paper);box-shadow:none;border:0;transition:transform .25s ease,background .25s ease}
.audience-item:hover .audience-icon{transform:translateY(-4px);box-shadow:none;background:var(--g-tint)}
.zg-icon{width:56%;height:56%}
.audience-label{font:600 15px/1.35 Hind;color:var(--ink);hyphens:manual;overflow-wrap:break-word}
@media (max-width:1100px){.audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Leistungen-Band: Papiergrund, Karten */
[data-view="home"]>.section:nth-child(2){background:var(--paper)}
[data-view="home"]>.section:nth-child(2) .section-head{border-bottom-color:#DCDCE0}
.cluster-grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.cluster-card{background:#fff;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--r-card);padding:24px 22px 10px;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:box-shadow .22s ease,transform .22s ease}
.cluster-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(31,35,37,.35)}
.cluster-card .head{margin-bottom:18px}
.cluster-card .head [data-icon]{width:44px;height:44px;border-radius:10px;background:var(--g-tint);display:inline-flex;align-items:center;justify-content:center;color:var(--g-ink)}
.cluster-card .rule{background:transparent}
.cluster-card h3{font:700 21px/1.25 Hind;letter-spacing:-.01em;color:var(--ink)}
.cluster-card p{color:#5A6062}
.kw-lead{color:var(--ink)}
.item-row{border-top-color:var(--line);font-weight:500;color:var(--ink);padding:12px 2px}
.item-row:hover{color:var(--g-ink);transform:none}
.item-row .arrow{transition:transform .18s ease}
.item-row:hover .arrow{transform:translateX(4px)}
details.more summary{border-top-color:var(--line);font-weight:600;color:var(--g-ink)}
details.more summary:hover{transform:none}
/* Schluss-CTA: dunkles Band als klarer Abschluss */
[data-view="home"]>.section:nth-child(4),[data-view="unternehmen"]>.section:last-child{background:var(--ink);margin:clamp(10px,1.6vw,16px);border-radius:14px;padding:clamp(56px,7vw,96px) 24px}
[data-view="home"]>.section:nth-child(4) p,[data-view="unternehmen"]>.section:last-child p{color:#fff!important}
/* Leistungen-Seite */
.area-tabs{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.area-tabs-inner{gap:6px;padding:10px clamp(20px,4vw,40px)}
.area-tab{border:1px solid transparent;border-radius:999px;padding:8px 16px;min-height:40px;border-bottom-width:1px}
.area-tab:hover{background:var(--paper);color:var(--ink)}
.area-tab.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.area-tab.is-active [data-icon]{color:var(--g)!important}
.jump-chip{border-radius:999px;border-color:var(--line);background:#fff}
.jump-chip:hover{background:var(--g-tint);border-color:var(--g);color:var(--g-ink)}
.bereich-card{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--r-card);padding:clamp(22px,2.6vw,34px);background:#fff;margin-bottom:18px}
.bereich-card .head [data-icon]{width:48px;height:48px;border-radius:12px;background:var(--g-tint);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.bereich-card h2{color:var(--ink);letter-spacing:-.015em}
.service-item{border-top:0;margin-top:clamp(28px,3vw,40px);padding:clamp(24px,3vw,40px);background:var(--paper);border-radius:var(--r-card)}
.service-item .head [data-icon]{width:44px;height:44px;border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.service-item h3{color:var(--ink);letter-spacing:-.015em}
.service-claim{color:var(--g-ink);font-size:17px;padding-left:56px;margin-top:0}
.service-item .head{margin-bottom:12px;align-items:flex-start}
.service-item h3{line-height:1.25;padding-top:6px}
@media (max-width:640px){.service-claim{padding-left:0}}
.kw{color:var(--g-ink)}
.bullet-grid{gap:10px;margin:24px 0}
.bullet{border-top:0;background:#fff;border-radius:8px;padding:12px 14px;align-items:center}
.bullet [data-icon]{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--g-tint);display:inline-flex;align-items:center;justify-content:center}
.media-box,.media-box img{border-radius:var(--r-card)}
.closing-note{border-top:0;background:var(--g-tint);border-radius:var(--r-card);padding:clamp(28px,3vw,44px)}
.closing-note p{color:var(--ink)}
/* Kontakt */
.contact-grid{gap:18px}
.contact-card{border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(26px,3vw,40px) 22px;background:#fff;transition:border-color .2s ease}
.contact-card:hover{border-color:var(--g)}
.contact-card .cap{color:var(--g-ink);font-weight:600;letter-spacing:.12em}
.contact-card a.big{color:var(--ink);font-size:clamp(19px,1.8vw,24px);word-break:normal;overflow-wrap:normal;white-space:nowrap}
[data-view="kontakt"]>.section:last-child{background:var(--paper)}
.addr-card .cap{letter-spacing:.12em;font-weight:600}
/* Unternehmen */
.quote-block .quote-icon{background:var(--g-tint);width:64px;height:64px;border-radius:16px;color:var(--g-ink)}
.quote-block p{color:var(--ink);letter-spacing:-.015em}
[data-view="unternehmen"]>.section:nth-child(3){background:var(--paper)}
.team-grid{gap:18px}
.team-card{flex:0 0 190px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:18px 16px 20px}
[data-view="unternehmen"]>.section:nth-child(3) .team-card{border-color:transparent}
.team-photo{border-radius:8px}
.team-name{color:var(--ink)}
/* Marken */
.brand-zone{border-top:1px solid var(--line)}
.brand-zone .cap{font-weight:600;letter-spacing:.14em}
/* Footer & Tweak */
footer .wrap{max-width:1240px}
#footTweak{border-radius:10px}
#mobileCtaBar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
/* ---- Header-Varianten (data-hdr am #siteHeader) ---- */
#siteHeader[data-hdr] .header-inner{transition:background .3s ease,box-shadow .3s ease}
#siteHeader[data-hdr="glas"] .header-inner{background:rgba(255,255,255,.84);box-shadow:0 1px 0 rgba(31,35,37,.06),0 12px 30px -18px rgba(31,35,37,.35)}
#siteHeader[data-hdr="nebel"] .header-inner{background:rgba(236,238,233,.86);box-shadow:inset 0 0 0 1px rgba(31,35,37,.07)}
#siteHeader[data-hdr="gruen"] .header-inner{background:rgba(238,246,231,.9);box-shadow:inset 0 0 0 1px rgba(130,53,140,.14)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .header-mark b{color:var(--ink)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .header-mark .claim{color:#6A7072;border-left-color:rgba(31,35,37,.18)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .header-mark svg path:last-child{fill:#505456}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .primary-nav a{color:#3A3F41}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .primary-nav a:hover{background:rgba(31,35,37,.06);color:var(--ink)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .primary-nav a.is-active{background:var(--ink);color:#fff}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .header-cta:hover{background:var(--ink);color:#fff}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) #menuToggle{color:var(--ink)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) #menuToggle:hover{background:rgba(31,35,37,.06)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) .burger span{background:var(--ink)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) #mobileNav{background:rgba(255,255,255,.97);box-shadow:0 14px 34px -18px rgba(31,35,37,.4)}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) #mobileNav a{color:#3A3F41}
#siteHeader:is([data-hdr="glas"],[data-hdr="nebel"],[data-hdr="gruen"]) #mobileNav a.is-active{background:var(--ink);color:#fff}
#siteHeader[data-hdr="rauch"] .header-inner{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
#siteHeader[data-hdr="rauch"] .primary-nav a{color:#fff}
/* ---- Footer-Varianten v2 ---- */
footer[data-foot="papier"]{background:var(--paper);background-image:none;color:#3A3F41;border-top:1px solid var(--line)}
footer[data-foot="gruen"]{background:var(--g-tint);background-image:none;color:#2E3A28}
footer[data-foot="tanne"]{background:#3A2140;background-image:linear-gradient(#45284C,#3A2140);color:#E6EEE0}
footer[data-foot="linie"]{background:#2A2F31;background-image:none;color:#E7EAEA;box-shadow:inset 0 3px 0 var(--g)}
footer:is([data-foot="papier"],[data-foot="gruen"]) .foot-grid .cap{color:var(--g-ink);font-weight:600;letter-spacing:.12em}
footer:is([data-foot="papier"],[data-foot="gruen"]) .foot-grid p,footer:is([data-foot="papier"],[data-foot="gruen"]) a{color:#2E3336}
footer:is([data-foot="papier"],[data-foot="gruen"]) a:hover{color:var(--g-ink)}
footer[data-foot="papier"] .foot-brand{border-top-color:var(--line)}
footer[data-foot="gruen"] .foot-brand{border-top-color:rgba(130,53,140,.18)}
footer:is([data-foot="papier"],[data-foot="gruen"]) .foot-brand span{color:#5A6062}
footer:is([data-foot="tanne"],[data-foot="linie"]) .foot-grid .cap{color:var(--g);font-weight:600;letter-spacing:.12em}
footer:is([data-foot="tanne"],[data-foot="linie"]) .foot-grid p,footer:is([data-foot="tanne"],[data-foot="linie"]) a{color:inherit}
footer:is([data-foot="tanne"],[data-foot="linie"]) a:hover{color:var(--g)}
footer:is([data-foot="tanne"],[data-foot="linie"]) .foot-brand{border-top-color:rgba(255,255,255,.14)}
footer[data-foot="tanne"] .foot-brand span{color:#BFD0B5}
footer[data-foot="linie"] .foot-brand span{color:#AEB6B8}
footer:is([data-foot="tanne"],[data-foot="linie"]) .foot-brand svg path:last-child{fill:rgba(255,255,255,.5)}
#footTweak .opts+p{margin-top:12px}

/* ---- Header Variante B: im Kopfbild integriert, Logo als Anker ---- */
:root{--header-h:76px}
#siteHeader{top:0;padding:0;transition:none}
#siteHeader .header-inner{max-width:none;border-radius:0;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;height:128px;padding:0 clamp(20px,3.75vw,48px);gap:28px;transition:height .25s ease,background-color .25s ease}
#siteHeader .header-mark{display:grid;grid-template-columns:auto auto;column-gap:16px;row-gap:6px;align-items:center}
#siteHeader .header-mark svg{grid-row:1/3}
#siteHeader .header-mark svg path:last-child{fill:#4F5355}
#siteHeader .header-mark b{font:700 38px/1 Hind;letter-spacing:-.02em;color:#fff;align-self:end;transition:font-size .25s ease}
#siteHeader .header-mark .claim{display:block;grid-column:2;border:0;padding:0;font:400 13px/1.2 Hind;color:#D5D9D9;align-self:start}
#siteHeader .primary-nav a{color:#E7EAEA;background:none;border-radius:0;font-weight:500}
#siteHeader .primary-nav a:hover{background:none;color:#fff;box-shadow:inset 0 -2px 0 rgba(255,255,255,.4)}
#siteHeader .primary-nav a.is-active{background:none;color:#fff;box-shadow:inset 0 -2px 0 var(--g)}
#siteHeader .header-cta{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);border-radius:6px}
#siteHeader .header-cta:hover{background:#fff;color:#1A1D1F;box-shadow:none}
#siteHeader.is-scrolled .header-inner{height:76px;background:rgba(31,35,37,.94)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;box-shadow:inset 0 -2px 0 var(--g)!important}

#siteHeader.is-scrolled .header-mark b{font-size:23px;align-self:center}
#siteHeader.is-scrolled .header-mark .claim{display:none}
#siteHeader.is-scrolled .header-cta{background:var(--g);color:#FFFFFF;box-shadow:none}
#siteHeader.is-scrolled .header-cta:hover{background:#fff;color:#1A1D1F}
#siteHeader #mobileNav{left:12px;right:12px;top:calc(100% + 4px)}
@media (max-width:1100px){#siteHeader .header-mark .claim{display:none}#siteHeader .header-mark b{font-size:30px;align-self:center}#siteHeader .primary-nav a{padding:0 10px}}
#siteHeader .header-mark{flex-shrink:0}
#siteHeader .header-mark b,#siteHeader .header-cta,#siteHeader .primary-nav a{white-space:nowrap}
@media (max-width:1240px){#siteHeader .header-cta{display:none}}
@media (max-width:1100px){#siteHeader .primary-nav{display:none}#siteHeader #menuToggle{display:flex}#siteHeader #mobileNav:not([hidden]){display:block!important}}
@media (max-width:899px){#siteHeader .header-inner{height:92px}#siteHeader.is-scrolled .header-inner{height:68px}}
.hero-scrim{background:linear-gradient(180deg,rgba(16,18,20,.55) 0%,rgba(16,18,20,.12) 26%,rgba(16,18,20,.08) 48%,rgba(16,18,20,.64) 100%),linear-gradient(90deg,rgba(16,18,20,.38) 0%,transparent 60%)}
.hero-inner{padding-top:clamp(140px,14vw,190px)}
.hero.hero-short{min-height:440px}
.hero .crumb{display:flex;flex-wrap:wrap;gap:10px;font:400 15px/1 Hind;color:#D5D9D9;margin:0 0 18px}
.hero .crumb a{color:#fff}.hero .crumb a:hover{color:var(--g)}
.hero .crumb i{font-style:normal;opacity:.6}

/* ---- Ton-Tweak: Footer + gescrollter Header + Abschluss-Band ---- */
html[data-tone="graphit"]{--tone:oklch(.38 .009 225);--tone-a:oklch(.38 .009 225 / .94)}
html[data-tone="papier"]{--tone:#F5F6F3;--tone-a:rgba(245,246,243,.94)}
html[data-tone="nebel"]{--tone:#ECEEE9;--tone-a:rgba(236,238,233,.94)}
html[data-tone="salbei"]{--tone:#E8EFE3;--tone-a:rgba(232,239,227,.94)}
html[data-tone="stein"]{--tone:#E5E8E9;--tone-a:rgba(229,232,233,.94)}
html[data-tone="sand"]{--tone:#F0EDE7;--tone-a:rgba(240,237,231,.94)}
html[data-tone] footer[data-foot]{background:var(--tone);background-image:none;box-shadow:inset 0 3px 0 var(--g);border-top:0}
html[data-tone] #siteHeader.is-scrolled .header-inner{background:var(--tone-a)!important}
html[data-tone] [data-view="home"]>.section:nth-child(4),html[data-tone] [data-view="unternehmen"]>.section:last-child{background:var(--tone);box-shadow:inset 0 0 0 1px rgba(31,35,37,.06)}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot]{color:#2E3336}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] .foot-grid .cap{color:var(--g-ink)}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] .foot-grid p,html[data-tone]:not([data-tone="graphit"]) footer[data-foot] a{color:#2E3336}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] a:hover{color:var(--g-ink)}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] .foot-brand{border-top-color:rgba(31,35,37,.12)}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] .foot-brand span{color:#5A6062}
html[data-tone]:not([data-tone="graphit"]) footer[data-foot] .foot-brand svg path:last-child{fill:#505456}
html[data-tone]:not([data-tone="graphit"]) [data-view="home"]>.section:nth-child(4) p,html[data-tone]:not([data-tone="graphit"]) [data-view="unternehmen"]>.section:last-child p{color:var(--ink)!important}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .header-mark b{color:var(--ink)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .header-mark svg path:last-child{fill:#505456}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .primary-nav a{color:#3A3F41}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .primary-nav a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 rgba(31,35,37,.25)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .primary-nav a.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--g)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .header-cta:hover{background:var(--ink);color:#fff}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled #menuToggle{color:var(--ink)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled .burger span{background:var(--ink)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled #mobileNav{background:rgba(255,255,255,.97);box-shadow:0 14px 34px -18px rgba(31,35,37,.4)}
html[data-tone]:not([data-tone="graphit"]) #siteHeader.is-scrolled #mobileNav a{color:#3A3F41}
html[data-tone] footer[data-foot] .foot-grid .cap{color:var(--tone-cap,var(--g))}
html[data-tone] footer[data-foot] .foot-brand span{color:rgba(255,255,255,.82)}
html[data-tone] footer[data-foot] a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--g);text-underline-offset:3px}
#footTweak .opts+p{margin-top:12px}

/* ---- Logo-Aufbau nach Original: Signet = Versalhöhe, PRO grün/fett, Einsatz regular, Claim bündig unter Wortmarke ---- */
:root{--logo-grey:#4F5355}
#siteHeader .header-mark{column-gap:14px;row-gap:9px;align-items:baseline}
#siteHeader .header-mark svg{grid-row:1;font:400 46px Hind;width:.674em;height:.674em;align-self:baseline}
#siteHeader .header-mark b{font:400 46px/1 Hind;letter-spacing:-.01em;display:inline-flex;align-items:baseline;align-self:baseline;color:#fff}
#siteHeader .header-mark b .wm-pro{font-weight:700;color:var(--g);margin-right:.14em;letter-spacing:.01em}
#siteHeader .header-mark .claim{grid-row:2;grid-column:2;align-self:start;margin-top:-6px;font:400 15px/1 Hind;color:#E7EAEA;letter-spacing:.005em}
#siteHeader.is-scrolled .header-mark svg{font-size:31px}
#siteHeader.is-scrolled .header-mark b{font-size:31px;align-self:baseline}
@media (max-width:1100px){#siteHeader .header-mark svg{font-size:38px}#siteHeader .header-mark b{font-size:38px}}
/* ---- Gescrollter Header: Weiß + Grünkante (Logo wie Original) ---- */
html[data-tone] #siteHeader.is-scrolled .header-inner{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 -2px 0 var(--g)!important}
html[data-tone] #siteHeader.is-scrolled .header-mark svg,html[data-tone] #siteHeader.is-scrolled .header-mark b{font-size:31px}
html[data-tone] #siteHeader.is-scrolled .header-mark b{color:var(--logo-grey)}
html[data-tone] #siteHeader.is-scrolled .primary-nav a{color:#3A3F41}
html[data-tone] #siteHeader.is-scrolled .primary-nav a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 rgba(31,35,37,.25)}
html[data-tone] #siteHeader.is-scrolled .primary-nav a.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--g)}
html[data-tone] #siteHeader.is-scrolled .header-cta{background:var(--g);color:#FFFFFF;box-shadow:none}
html[data-tone] #siteHeader.is-scrolled .header-cta:hover{background:var(--ink);color:#fff}
html[data-tone] #siteHeader.is-scrolled #menuToggle{color:var(--ink)}
html[data-tone] #siteHeader.is-scrolled .burger span{background:var(--ink)}
html[data-tone] #siteHeader.is-scrolled #mobileNav{background:#fff;box-shadow:0 14px 34px -18px rgba(31,35,37,.4)}
html[data-tone] #siteHeader.is-scrolled #mobileNav a{color:#3A3F41}
html[data-tone] #siteHeader.is-scrolled #mobileNav a.is-active{background:var(--ink);color:#fff}

/* ---- Startseiten-Kopf: heller Farbverlauf statt Foto ---- */
.hero:has(.hero-gradient){background:#F4F6F2;min-height:min(80vh,790px)}
.hero:has(.hero-gradient) .hero-inner{padding-top:clamp(130px,12vw,170px)}
.hero-gradient::after{content:"";position:absolute;inset:0;opacity:.08;mix-blend-mode:multiply;background-image:url("../img/noise.svg")}
.hero:has(.hero-gradient) .hero-scrim{display:none}
.hero:has(.hero-gradient) .h1{color:var(--ink)}
.hero:has(.hero-gradient) .h1 .h1-line[style*="--g"]{color:var(--g-ink)!important}
.hero:has(.hero-gradient) .hero-foot{border-top-color:rgba(31,35,37,.14)}
.hero:has(.hero-gradient) .hero-foot .lead{color:#3A3F41}
.hero:has(.hero-gradient) .btn.on-photo{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(31,35,37,.4)}
.hero-foot .cta-row{display:grid;grid-template-columns:1fr;gap:10px;width:fit-content;justify-self:end}
.hero-foot .cta-row .btn{width:100%;min-width:240px}
@media (max-width:820px){.hero-foot .cta-row{justify-self:start}}
@media (max-width:600px){.hero-foot .cta-row{width:100%}}
.hero:has(.hero-gradient) .btn.on-photo:hover{background:var(--ink);color:#fff}
.hero:has(.hero-gradient) .btn:not(.on-photo):hover{background:var(--ink);color:#fff}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .header-mark b,body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .header-mark .claim{color:var(--logo-grey)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .primary-nav a{color:#3A3F41}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .primary-nav a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 rgba(31,35,37,.25)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .primary-nav a.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--g)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .header-cta{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(31,35,37,.4)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .header-cta:hover{background:var(--ink);color:#fff;box-shadow:none}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) #menuToggle{color:var(--ink)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) .burger span{background:var(--ink)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) #mobileNav{background:#fff;box-shadow:0 14px 34px -18px rgba(31,35,37,.4)}
body:has([data-view="home"]:not([hidden]) .hero-gradient) #siteHeader:not(.is-scrolled) #mobileNav a{color:#3A3F41}
/* ---- Mobil: an aktuellen Stand angeglichen ---- */
#siteHeader #mobileNav{background:#fff!important;box-shadow:0 18px 40px -20px rgba(31,35,37,.45)!important;border-radius:12px;padding:8px;backdrop-filter:none;-webkit-backdrop-filter:none}
#siteHeader #mobileNav a{color:#3A3F41!important;font:500 17px/1 Hind;border-radius:8px}
#siteHeader #mobileNav a:hover{background:var(--paper)}
#siteHeader #mobileNav a.is-active{background:var(--paper)!important;color:var(--ink)!important;font-weight:600;box-shadow:inset 0 -2px 0 var(--g)}
@media (max-width:600px){
#siteHeader .header-inner{height:76px;padding:0 16px;gap:12px}
#siteHeader.is-scrolled .header-inner{height:62px}
#siteHeader .header-mark svg,#siteHeader .header-mark b{font-size:30px}
html[data-tone] #siteHeader.is-scrolled .header-mark svg,html[data-tone] #siteHeader.is-scrolled .header-mark b{font-size:24px}
#siteHeader #menuToggle{padding:0 8px;gap:8px}
#siteHeader #mobileNav{left:10px;right:10px}
.hero{min-height:calc(100svh - 74px)}
.hero.hero-short{min-height:380px}
.hero-inner{padding:112px 20px 28px}
.hero .h1{font-size:clamp(38px,11vw,54px);letter-spacing:-.03em}
.hero.hero-short .h1{font-size:clamp(32px,9vw,44px)}
.hero-foot{gap:18px;padding-top:18px;margin-top:22px}
.hero-foot .lead{font-size:16px;line-height:1.55}
.hero-foot .cta-row{flex-direction:column;align-items:stretch;gap:10px;width:100%}
.hero-foot .cta-row .btn{width:100%}
.hero .crumb{font-size:14px;margin-bottom:14px}.hero .crumb a{padding:12px 0;margin:-12px 0}.foot-grid a{display:inline-block;padding:9px 0}.kf-end-tel{padding:8px 0}
.section{padding:48px 20px}
.section-head{margin-bottom:24px}
[data-view="home"]>.section:nth-child(4),[data-view="unternehmen"]>.section:last-child{margin:10px;border-radius:12px;padding:44px 20px}
#mobileCtaBar{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
}
@media (max-width:380px){#siteHeader .header-mark svg,#siteHeader .header-mark b{font-size:26px}#siteHeader .menu-label{display:none}}

/* ---- Abschluss "Nächster Schritt" (Variante B) ---- */
html[data-tone] [data-view]>.section.next-step{background:var(--paper)!important;margin:0;border-radius:0;box-shadow:none;text-align:left;padding:clamp(56px,7vw,104px) clamp(20px,4vw,40px)}
html[data-tone] [data-view]>.section.next-step p.caption{color:var(--g-ink)!important}
html[data-tone] [data-view]>.section.next-step p.ns-n{color:var(--g-ink)!important}
html[data-tone] [data-view]>.section.next-step p.ns-t{color:var(--ink)!important}
html[data-tone] [data-view]>.section.next-step p.ns-d{color:#3A3F41!important}
.next-step .section-head{align-items:flex-end;border-bottom-color:#DCDCE0}
.next-step .section-head h2{color:var(--ink)}
.ns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ns-step{background:#fff;border-radius:var(--r-card);padding:clamp(20px,2.4vw,28px)}
.ns-step p{margin:0}
.ns-n{font:700 15px/1 Hind;color:var(--g-ink)!important;margin-bottom:12px!important}
.ns-t{font:700 21px/1.25 Hind;color:var(--ink)!important;margin-bottom:6px!important}
.ns-d{font:400 16px/1.55 Hind;color:#3A3F41!important}
@media (max-width:760px){.ns-grid{grid-template-columns:1fr}.next-step .section-head .btn{width:100%}}

/* ---- Footer: Marken & Partner als Textzeile (Variante 2) ---- */
.foot-partners{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:22px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,.16)}
html[data-tone] footer[data-foot] .foot-brand{justify-content:center;text-align:center}
html[data-tone] footer[data-foot] .foot-partners .cap{font:600 12px/1.3 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--tone-cap,var(--g));margin:0 0 8px}
.foot-partners-line{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 0;font:500 17px/1.5 Hind}
html[data-tone] footer[data-foot] .foot-partners-line a{color:#fff}
.foot-partners-line i{font-style:normal;opacity:.45;margin:0 12px}

/* ---- Leistungskacheln komplett klickbar (Stretched Link, Unterlinks bleiben eigenständig) ---- */
.cluster-card{position:relative;cursor:pointer}
.cluster-card .card-link{color:inherit;text-decoration:none}
.cluster-card .card-link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0}
.cluster-card .card-link:focus-visible{outline:none}
.cluster-card:has(.card-link:focus-visible){outline:2px solid var(--g-ink);outline-offset:3px}
.cluster-card .item-row,.cluster-card details.more{position:relative;z-index:1}
.cluster-card:hover h3{color:var(--g-ink)}

/* ---- Support: Helpdesk als eigener Bereich ---- */
.helpdesk-band{background:var(--paper)}
.helpdesk-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(26px,3.4vw,48px)}
.hd-title{margin:14px 0 18px;font:700 clamp(24px,2.4vw,32px)/1.2 Hind;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.hd-tags{display:flex;flex-wrap:wrap;gap:8px}
.hd-tags span{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:var(--paper);font:500 14px/1 Hind;color:var(--ink)}
.hd-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-left:clamp(24px,3vw,44px);border-left:1px solid var(--line)}
.hd-contact .btn{min-width:240px}
.hd-alt{margin:0;font:400 15px/1.4 Hind;color:#5A6062}
.hd-alt a{color:var(--ink);font-weight:600}
@media (max-width:760px){.helpdesk-card{grid-template-columns:1fr}.hd-contact{padding-left:0;border-left:0;padding-top:22px;border-top:1px solid var(--line)}.hd-contact .btn{width:100%}}

/* ---- Networking-Kachel mit Impulsforum-Anmeldung (Varianten über data-nl) ---- */
.nl-wrap{display:flex;flex-direction:column}
.nl-form{position:relative;z-index:1;margin-top:16px;display:flex;flex-direction:column;gap:8px;cursor:auto}
.nl-form p{margin:0}
.cluster-card .nl-form .nl-cap{font:600 12px/1.3 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink)}
.cluster-card .nl-form .nl-text{font:600 16px/1.4 Hind;color:var(--ink)}
.cluster-card .nl-form .nl-topics{display:none;font:400 14px/1.45 Hind;color:#5A6062}
.nl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nl-row{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.nl-row input{min-width:0;min-height:46px;border:1px solid #CDD2CC;border-radius:var(--r-ctl);padding:0 14px;font:400 15px/1 Hind;color:var(--ink);background:#fff;box-sizing:border-box;width:100%}
.nl-row input:focus{outline:2px solid var(--g-ink);outline-offset:1px;border-color:transparent}
.nl-row input[aria-invalid="true"]{border-color:#B3261E}
.nl-btn{width:100%;min-height:46px;padding:0 16px}
.cluster-card .nl-form .nl-fine{font:400 12px/1.4 Hind;color:#5A6062}
.nl-fine a{color:inherit;text-decoration:underline}
.cluster-card .nl-form .nl-ok{font:600 14px/1.45 Hind;color:var(--g-ink)}
/* dunkel */
.nl-card[data-nl="dunkel"]{background:var(--tone,oklch(.38 .009 225));border-color:transparent;box-shadow:inset 0 3px 0 var(--g)}
.nl-card[data-nl="dunkel"] h3,.nl-card[data-nl="dunkel"] .kw-lead,.nl-card[data-nl="dunkel"] .nl-text{color:#fff}
.nl-card[data-nl="dunkel"] p{color:#E7EAEA}
.nl-card[data-nl="dunkel"] .head [data-icon]{background:rgba(255,255,255,.1);color:var(--g)}
.nl-card[data-nl="dunkel"] .item-row{color:#fff;border-top-color:rgba(255,255,255,.18)}
.nl-card[data-nl="dunkel"] .nl-cap{color:var(--g)}
.nl-card[data-nl="dunkel"] .nl-fine{color:rgba(255,255,255,.75)}
.nl-card[data-nl="dunkel"] .nl-ok{color:#fff}
.nl-card[data-nl="dunkel"] .nl-row input{border-color:transparent}
.nl-card[data-nl="dunkel"] .nl-btn:hover{background:#fff;color:#1A1D1F}
.nl-card[data-nl="dunkel"]:hover h3{color:#fff}
/* hellgrün */
.nl-card[data-nl="hell"]{background:var(--g-tint);border-color:transparent}
.nl-card[data-nl="hell"] .head [data-icon]{background:#fff}
.nl-card[data-nl="hell"] .item-row{border-top-color:rgba(130,53,140,.18)}
.nl-card[data-nl="hell"] .nl-row input{border-color:rgba(130,53,140,.25)}
/* weiß + grünkante + themen */
.nl-card[data-nl="linie"]{box-shadow:inset 0 3px 0 var(--g)}
.nl-card[data-nl="linie"] .nl-topics{display:block}
.nl-card[data-nl="linie"] .nl-form{padding-top:16px;border-top:1px solid var(--line)}
.nl-card[data-nl="linie"] .nl-btn{background:var(--ink);color:#fff}
.nl-card[data-nl="linie"] .nl-btn:hover{background:var(--g);color:#FFFFFF}
/* kompakt: eine Zeile */
.nl-card[data-nl="kompakt"] .nl-text,.nl-card[data-nl="kompakt"] .nl-fine{display:none}
.nl-card[data-nl="kompakt"] .nl-row{flex-direction:row;gap:6px}
.nl-card[data-nl="kompakt"] .nl-btn{width:auto;flex:0 0 auto;padding:0 14px;font-size:14px}
.nl-card[data-nl="kompakt"] .nl-row input{flex:1}

/* ---- Verteiler-Unterseite + Networking-Button ---- */
.nl-card .nl-btn{width:100%;margin-top:6px}
.vt-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.vt-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.vt-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vt-fields label{display:flex;flex-direction:column;gap:6px;font:600 14px/1.3 Hind;color:var(--ink)}
.vt-fields .full{grid-column:1/-1}
.vt-fields input{min-height:46px;border:1px solid #CDD2CC;border-radius:var(--r-ctl);padding:0 14px;font:400 16px/1 Hind;color:var(--ink)}
.vt-fields input:focus{outline:2px solid var(--g-ink);outline-offset:1px}
.vt-fields input[aria-invalid="true"]{border-color:#B3261E}
.vt-check{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.5 Hind;color:#3A3F41}
.vt-check input{margin-top:4px;accent-color:var(--g-ink)}
.vt-form .btn{align-self:flex-start;min-width:240px}
.vt-ok{margin:0;font:600 15px/1.45 Hind;color:var(--g-ink)}
.vt-side ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:0}
.vt-side li{padding:12px 0;border-top:1px solid #DCDCE0;font:500 16px/1.45 Hind;color:var(--ink)}
@media (max-width:760px){.vt-grid,.vt-fields{grid-template-columns:1fr}.vt-form .btn{width:100%}}

#siteHeader a.header-mark,#siteHeader a.header-mark:hover,#siteHeader a.header-mark:focus,#siteHeader a.header-mark *{text-decoration:none!important}
#siteHeader a.header-mark{cursor:pointer}
#siteHeader a.header-mark:focus-visible{outline:2px solid var(--g-ink);outline-offset:6px;border-radius:4px}

/* ---- Hero: drei Kernaussagen mit Unterzeile (6a) ---- */
.hero-points{display:flex;flex-direction:column;gap:14px;max-width:62ch}
.hero .hp-lead{margin:0;font:600 clamp(21px,2vw,26px)/1.3 Hind;letter-spacing:-.015em;color:var(--ink)}
.hp-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.hp-list li{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:14px;row-gap:2px}
.hp-list li::before{content:"";grid-row:1;width:10px;height:10px;border-radius:2px;background:var(--g);margin-top:.55em}
.hp-list b{font:600 clamp(17px,1.5vw,20px)/1.35 Hind;color:var(--ink)}
.hp-list span{grid-column:2;font:400 clamp(15px,1.2vw,16px)/1.5 Hind;color:#3A3F41}
.hero:not(:has(.hero-gradient)) .hp-lead,.hero:not(:has(.hero-gradient)) .hp-list b{color:#fff}
.hero:not(:has(.hero-gradient)) .hp-list span{color:#E7EAEA}
.hero-foot:has(.hero-points){align-items:flex-end}
@media (max-width:600px){.hp-list{gap:10px}}


a{color:var(--g-ink)}a:hover{color:var(--ink)}
/* Kopfzeile: transparent auf dem Bild, weiß mit Lilakante beim Scrollen */
#siteHeader.is-scrolled .header-inner{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 -2px 0 var(--g)!important}
#siteHeader .header-mark b .wm-pro{color:var(--g)}
#siteHeader:not(.is-scrolled) .header-mark b .wm-pro{color:#82358C}
#siteHeader:not(.is-scrolled) .header-mark svg path:first-child{fill:#82358C}
#siteHeader:not(.is-scrolled) .header-mark svg path:last-child{fill:rgba(255,255,255,.88)}
#siteHeader:not(.is-scrolled) .header-mark b,#siteHeader:not(.is-scrolled) .header-mark .claim{color:#fff}
#siteHeader:not(.is-scrolled) .primary-nav a.is-active{box-shadow:inset 0 -2px 0 #82358C}
#siteHeader:not(.is-scrolled) .header-cta{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
#siteHeader:not(.is-scrolled) .header-cta:hover{background:#fff;color:var(--ink)}
#siteHeader.is-scrolled .header-mark b{color:var(--logo-grey)}
#siteHeader.is-scrolled .header-mark .claim{color:#5A6062}
#siteHeader.is-scrolled .primary-nav a{color:#3A3F41}
#siteHeader.is-scrolled .primary-nav a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 rgba(31,35,37,.25)}
#siteHeader.is-scrolled .primary-nav a.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--g)}
#siteHeader.is-scrolled .header-cta{background:var(--g);color:#fff;box-shadow:none}
#siteHeader.is-scrolled .header-cta:hover{background:var(--ink);color:#fff}
#siteHeader.is-scrolled #menuToggle{color:var(--ink)}#siteHeader.is-scrolled .burger span{background:var(--ink)}
/* Wasser oben abdunkeln, damit Logo + Navigation tragen */
.hero-scrim::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(170px,18vw,240px);background:linear-gradient(180deg,rgba(8,22,44,.72) 0%,rgba(8,22,44,.42) 55%,rgba(8,22,44,0) 100%)}
/* Kennzahlen */
html[data-tone] [data-view="home"]>.section.kf-figs-sec,[data-view="home"]>.section.kf-figs-sec{background:#fff!important;margin:0!important;border-radius:0!important;box-shadow:none!important;padding:clamp(80px,9vw,132px) clamp(20px,4vw,40px) clamp(44px,5vw,76px)!important}
[data-view="home"]>.section.kf-figs-sec p{color:inherit!important}
@media (max-width:600px){[data-view="home"]>.section.kf-figs-sec{padding:48px 20px!important}}
.kf-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.kf-fig{padding:8px clamp(16px,2.4vw,36px);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.kf-fig:first-child{border-left:0}
.kf-fig b{font:700 clamp(52px,6.4vw,96px)/.9 Hind;letter-spacing:-.04em;color:var(--g-ink);white-space:nowrap}
.kf-fig b small{font-size:.42em;letter-spacing:-.01em;margin-left:.12em;font-weight:600}
.kf-fig span{font:500 clamp(16px,1.3vw,19px)/1.35 Hind;color:var(--ink);max-width:18ch}
@media (max-width:900px){.kf-figs{grid-template-columns:1fr;row-gap:24px}.kf-fig{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}.kf-fig:first-child{border-top:0;padding-top:0}}
@media (max-width:480px){.kf-figs{grid-template-columns:1fr}.kf-fig{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}.kf-fig:first-child{border-top:0;padding-top:0}}
/* Ablauf */
.kf-flow-sec{background:var(--paper)}
.dev-note{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px;padding:10px 14px;border:1px dashed #C9A227;background:#FFF8DC;color:#5A4A0F;font:400 14px/1.45 Hind,sans-serif}.dev-note b{font-weight:600}
.kf-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative;counter-reset:s}
.kf-flow::before{content:"";position:absolute;left:10%;right:10%;top:36px;height:2px;background:repeating-linear-gradient(90deg,var(--g) 0 10px,transparent 10px 18px);opacity:.55}
.kf-flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;counter-increment:s}
.kf-node{width:72px;height:72px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px var(--paper),inset 0 0 0 2px var(--g);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.kf-flow li:last-child .kf-node{background:var(--g)}
.kf-flow li:last-child .kf-node [data-icon]{color:#fff!important}
.kf-flow .st{font:600 12px/1 Hind;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;color:var(--g-ink);margin:6px 0 0}
.kf-flow .st::before{content:"0" counter(s) " · "}
.kf-flow h3{margin:0;font:700 21px/1.25 Hind;color:var(--ink);letter-spacing:-.01em}
.kf-flow p{margin:0;font:400 16px/1.5 Hind;color:#3A3F41;max-width:24ch;text-wrap:pretty}
@media (max-width:860px){.kf-flow{grid-template-columns:1fr;gap:28px}.kf-flow::before{left:35px;right:auto;top:36px;bottom:36px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--g) 0 10px,transparent 10px 18px)}.kf-flow li{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;text-align:left;align-items:start}.kf-node{grid-row:1/4}.kf-flow li>*:not(.kf-node){grid-column:2}}
/* dezentes Einblenden */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
/* Logo als Bild (Original-Datei, ohne Claim) */
#siteHeader .header-mark.kf-logo{display:flex!important;align-items:center}
#siteHeader .kf-logo img{height:52px;width:auto;display:block;transition:height .25s ease}
#siteHeader.is-scrolled .kf-logo img{height:36px}@media (max-width:1100px){#siteHeader .kf-logo img{height:44px}}
#siteHeader .kf-logo .lg-dunkel{display:none}
#siteHeader.is-scrolled .kf-logo .lg-hell{display:none}
#siteHeader.is-scrolled .kf-logo .lg-dunkel{display:block}
html[data-kflogo="farbig"] #siteHeader .kf-logo .lg-hell{display:none}
html[data-kflogo="farbig"] #siteHeader .kf-logo .lg-dunkel{display:block}
#kfLogoTw{position:fixed;right:18px;bottom:18px;z-index:90;background:#fff;border:1px solid #DADDDE;border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px -18px rgba(36,40,42,.4);font:400 13px/1.4 Hind;width:230px}#kfLogoTw[hidden]{display:none}#kfLogoTw p{margin:0 0 8px;font:600 11px/1.3 Hind;letter-spacing:.1em;text-transform:uppercase;color:#5A6062}#kfLogoTw div{display:flex;gap:4px}#kfLogoTw button{flex:1;padding:7px 6px;border:1px solid #DADDDE;border-radius:6px;background:#fff;cursor:pointer;font:500 13px/1 Hind;color:#24282A}#kfLogoTw button[aria-pressed="true"]{background:#24282A;color:#fff;border-color:#24282A}
@media (max-width:600px){#siteHeader .kf-logo img{height:32px}#siteHeader.is-scrolled .kf-logo img{height:26px}}
.contact-grid{max-width:860px!important}
[data-view="kontakt"]>.section:last-child{background:var(--paper)}
/* Hero Wasser */
.hero-shot img{width:100%;height:100%;object-fit:cover}
.hero.hero-water{background:#2F72B4;min-height:min(92vh,900px)}
.hero-water .hero-shot img{filter:none!important;object-position:center 62%}
.hero-water .hero-scrim{background:radial-gradient(ellipse 60% 46% at 50% 42%,rgba(12,40,78,.34),transparent 72%),linear-gradient(180deg,rgba(12,40,78,.22) 0%,rgba(12,40,78,0) 40%,rgba(12,40,78,.3) 100%)}
.hero-water .hero-inner{justify-content:center;align-items:center;text-align:center;padding-top:clamp(150px,15vw,200px);padding-bottom:clamp(60px,8vw,110px)}
.hero-water .h1{font-size:clamp(44px,8vw,112px);text-shadow:0 2px 30px rgba(10,30,60,.25)}
.hero-water .h1 span{display:block}
.hero-water .cta-row{justify-content:center;margin-top:clamp(28px,3.4vw,44px);display:flex;flex-wrap:wrap;gap:12px}
.hero-water .btn{min-width:240px}
.hero-water .btn.on-photo{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.hero-water .btn.on-photo:hover{background:#fff;color:var(--ink)}
.hero .btn:not(.on-photo){color:#fff}.hero .btn:not(.on-photo):hover{background:#fff;color:var(--ink)}
.hero:not(.hero-water) .hero-shot img{filter:none}
.hero.hero-short .hero-shot img{object-position:center 60%}
/* Startseiten-Kopf 3d: heller Verlauf, Wasser bleibt sichtbar */
.hero-light .hero-scrim{background:linear-gradient(180deg,rgba(246,248,250,.78) 0%,rgba(246,248,250,.26) 16%,transparent 29%),linear-gradient(0deg,rgba(246,248,250,.93) 0%,rgba(246,248,250,.62) 24%,transparent 50%),linear-gradient(90deg,rgba(246,248,250,.9) 0%,rgba(246,248,250,.74) 29%,rgba(246,248,250,.32) 53%,rgba(246,248,250,.05) 73%,transparent)!important}
.hero-light .hero-scrim::before{display:none}
.hero-light .hero-inner{justify-content:flex-end!important;align-items:stretch!important;text-align:left!important;padding-top:clamp(150px,14vw,190px)!important;padding-bottom:clamp(22px,3vw,40px)!important}
.hero-light .h1{color:var(--ink)!important;text-shadow:none!important;font-size:clamp(44px,7.6vw,112px)!important}
.hero-light .hero-foot{border-top-color:rgba(31,35,37,.14)}
.hero-light .hp-lead,.hero-light .hp-list b{color:var(--ink)!important}
.hero-light .hp-list span{color:#3A3F41!important}
.hero-light .cta-row{display:grid!important;grid-template-columns:1fr;gap:10px;width:fit-content;justify-self:end;margin:0!important}
.hero-light .cta-row .btn{min-width:260px;width:100%}
.hero-light .btn.on-photo{color:var(--ink)!important;box-shadow:inset 0 0 0 1px rgba(31,35,37,.4)!important}
.hero-light .btn.on-photo:hover,.hero-light .btn:not(.on-photo):hover{background:var(--ink)!important;color:#fff!important}
@media (max-width:820px){.hero-light .cta-row{justify-self:start}}
@media (max-width:900px){.hero-light .hero-scrim{background:linear-gradient(180deg,rgba(246,248,250,.85) 0%,rgba(246,248,250,.6) 30%,rgba(246,248,250,.72) 60%,rgba(246,248,250,.94) 100%)!important}}
@media (max-width:600px){.hero-light .cta-row{width:100%}}
/* Kopfzeile auf hellem Startseiten-Kopf: Originallogo + dunkle Navigation */
/* Startseiten-Kopf 4b: Tiefblau aus dem Wasser, Text weiß */
.hero-deep{--dim:.7}
.hero-deep .hero-scrim{background:linear-gradient(180deg,rgba(10,38,72,calc(.55*var(--dim))) 0%,rgba(10,38,72,0) 20%,rgba(12,44,84,calc(.5*var(--dim))) 34%,rgba(12,44,84,calc(.78*var(--dim))) 58%,rgba(9,33,64,calc(.93*var(--dim))) 100%),linear-gradient(90deg,rgba(9,33,64,calc(.45*var(--dim))) 0%,rgba(9,33,64,0) 62%)!important}
.hero-deep .hero-scrim::before{display:none}
.hero-deep .hero-inner{justify-content:flex-end!important;align-items:stretch!important;text-align:left!important;padding-top:clamp(150px,14vw,190px)!important;padding-bottom:clamp(22px,3vw,40px)!important}
.hero-deep .h1{color:#fff!important;text-shadow:none!important;font-size:clamp(44px,7.6vw,112px)!important}
.hero-deep .kf-tw{color:#CFE8FF!important}
.hero-deep .hero-foot{border-top:0!important;padding-top:0}
.hero-deep .hp-lead,.hero-deep .hp-list b{color:#fff!important}
.hero-deep .hp-list span{color:#CFDDEB!important}
.hero-deep .hp-list li::before{background:var(--tw,#82358C)}
.hero-deep .cta-row{display:grid!important;grid-template-columns:1fr;gap:10px;width:fit-content;justify-self:end;margin:0!important}
.hero-deep .cta-row .btn{min-width:260px;width:100%}
.hero-deep .btn:not(.on-photo){background:var(--g)!important;color:#fff!important}
.hero-deep .btn.on-photo{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(207,227,247,.6)!important}
.hero-deep .btn:hover{background:#fff!important;color:var(--ink)!important}
@media (max-width:820px){.hero-deep .cta-row{justify-self:start}}
@media (max-width:900px){.hero-deep .hero-scrim{background:linear-gradient(180deg,rgba(10,38,72,calc(.6*var(--dim))) 0%,rgba(12,44,84,calc(.55*var(--dim))) 30%,rgba(12,44,84,calc(.8*var(--dim))) 60%,rgba(9,33,64,calc(.94*var(--dim))) 100%)!important}}
@media (max-width:600px){.hero-deep .cta-row{width:100%}}
#siteHeader:not(.is-scrolled) .primary-nav a.is-active{box-shadow:inset 0 -2px 0 #fff}
/* Einstieg — dunkles Band, zentriert (Variante 15) */
.kf-intro-dark{background:#fff;color:var(--ink);padding:clamp(72px,9vw,128px) clamp(20px,4vw,40px)}
.kf-intro-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(28px,3.2vw,40px)}
.kf-i1{margin:0;max-width:min(100%,1200px);font:600 clamp(20px,2.3vw,32px)/1.32 Hind;letter-spacing:-.022em;color:var(--ink);text-wrap:balance}
.kf-i1 em{font-style:normal;color:var(--g-ink)}
.kf-i2{width:100%;text-align:center;margin:0;font:600 clamp(20px,2.3vw,32px)/1.32 Hind;letter-spacing:-.015em;color:var(--g-ink)}
.kf-itags{width:100%;max-width:900px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.kf-itags span{padding:12px 18px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(31,35,37,.28);font:500 clamp(16px,1.6vw,22px)/1 Hind;color:#3A3F41}
.kf-iq{margin:0;max-width:100%;font:600 clamp(20px,2.3vw,32px)/1.32 Hind;letter-spacing:-.022em;color:var(--g-ink);text-wrap:balance}
/* Einstieg */
.kf-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.kf-intro p{margin:0;font:400 clamp(17px,1.4vw,20px)/1.6 Hind;color:#3A3F41;text-wrap:pretty}
.kf-q{margin:clamp(40px,5vw,72px) auto 0;max-width:22ch;text-align:center;font:700 clamp(30px,3.6vw,50px)/1.18 Hind;letter-spacing:-.02em;color:var(--g-ink);text-wrap:balance}
@media (max-width:760px){.kf-intro{grid-template-columns:1fr}}
/* Lösungsansatz */
/* Vorteile — Varianten (data-vt) */
.kf-vt[data-vt="karte"]{background:#fff;border-radius:var(--r-card);padding:24px 26px 14px;box-shadow:inset 0 3px 0 var(--g),0 16px 36px -26px rgba(31,35,37,.35)}
.kf-vt[data-vt="karte"] .kf-ln li:first-child{border-top:0}.kf-vt[data-vt="karte"] .kf-ln li:last-child{border-bottom:0}
.kf-vt[data-vt="lila"]{background:var(--g);border-radius:var(--r-card);padding:26px 28px 16px}
.kf-vt[data-vt="lila"] .kf-sub{color:#fff;opacity:.85}
.kf-vt[data-vt="lila"] .kf-ln li{color:#fff;border-color:rgba(255,255,255,.22)}
.kf-vt[data-vt="lila"] .kf-ln li:first-child{border-top:0}.kf-vt[data-vt="lila"] .kf-ln li:last-child{border-bottom:0}
.kf-vt[data-vt="lila"] strong{color:#fff}
.kf-vt[data-vt="haken"] .kf-ln li{display:flex;align-items:center;gap:14px;border:0;padding:9px 0;font-size:18px}
.kf-vt[data-vt="haken"] .kf-ln li::before{content:"";flex:0 0 28px;height:28px;border-radius:50%;background:var(--g) url("../img/haken.svg") center/16px no-repeat}
.kf-vt[data-vt="kacheln"] .kf-ln{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kf-vt[data-vt="kacheln"] .kf-ln li{border:0;background:var(--g);color:#fff;border-radius:8px;padding:16px 14px;min-height:118px;display:flex;align-items:center;justify-content:center;text-align:center;font:500 15px/1.3 Hind;text-wrap:pretty}
.kf-vt[data-vt="kacheln"] .kf-ln li strong{color:#fff;font-weight:inherit}
@media (max-width:520px){.kf-vt[data-vt="kacheln"] .kf-ln{grid-template-columns:1fr 1fr}.kf-vt[data-vt="kacheln"] .kf-ln li{min-height:96px}}
.kf-sol2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:stretch}
.kf-sol2-text{display:flex;flex-direction:column;gap:24px}
.kf-sol2-text h2{margin:0;font:700 clamp(28px,3vw,40px)/1.15 Hind;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.kf-sol2-p{margin:0;font:400 clamp(17px,1.4vw,19px)/1.6 Hind;color:#3A3F41;text-wrap:pretty}
.kf-sol2 strong{color:var(--g-ink);font-weight:700}
.kf-sol2 .kf-sub{margin-bottom:10px}
.kf-ln{list-style:none;margin:0;padding:0}.kf-ln li{padding:12px 0;border-top:1px solid var(--line);font:500 17px/1.35 Hind;color:var(--ink)}.kf-ln li:last-child{border-bottom:1px solid var(--line)}
.kf-cert2{margin:0;font:500 17px/1.5 Hind;color:var(--ink)}
.kf-sol2-img{min-height:420px}.kf-sol2-img img{width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:var(--r-card);display:block}
@media (max-width:860px){.kf-sol2{grid-template-columns:1fr}.kf-sol2-img{min-height:0}.kf-sol2-img img{aspect-ratio:4/5;height:auto}}
.kf-mk{background:linear-gradient(transparent 58%,#E9D3EC 58%);color:var(--g-ink);font-weight:600;padding:0 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.kf-sol{background:var(--paper)}
.kf-sol-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.kf-sol-text>p{margin:0 0 28px;font:400 clamp(18px,1.5vw,21px)/1.55 Hind;color:var(--ink);max-width:52ch;text-wrap:pretty}
.kf-sub{margin:0 0 12px;font:600 15px/1 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink)}
.kf-list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:8px}
.kf-list li{display:flex;align-items:center;gap:14px;background:#fff;border-radius:8px;padding:14px 16px;font:500 17px/1.35 Hind;color:var(--ink)}
.kf-list li::before{content:"";flex:0 0 10px;height:10px;border-radius:2px;background:var(--g)}
.kf-cert{display:flex;gap:14px;align-items:flex-start;margin:0 0 4px;font:500 16px/1.5 Hind;color:#3A3F41;max-width:52ch}
.kf-cert [data-icon]{margin-top:1px}
.kf-media{position:relative;padding-bottom:56px}
.kf-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 45%;border-radius:var(--r-card);display:block}
.kf-claim{position:absolute;left:clamp(-28px,-2vw,0px);right:22%;bottom:0;background:var(--g);color:#fff;border-radius:var(--r-card);padding:clamp(22px,2.4vw,32px);font:700 clamp(24px,2.3vw,32px)/1.15 Hind;letter-spacing:-.015em;margin:0}
.kf-claim span{display:block;font-weight:400}
@media (max-width:860px){.kf-sol-grid{grid-template-columns:1fr}.kf-claim{left:16px;right:16px}}
/* Anwendung-Band */
.kf-band{margin:clamp(10px,1.6vw,16px);border-radius:14px;padding:clamp(64px,8vw,120px) clamp(20px,4vw,40px);text-align:center;transition:background .3s ease}
.kf-band[data-band="lila"]{background:var(--g);color:#fff}
.kf-band[data-band="grau"]{background:oklch(.38 .009 225);color:#fff}
.kf-band[data-band="hell"]{background:var(--g-tint);color:var(--ink)}
.kf-band .big{margin:0 auto;max-width:24ch;font:700 clamp(30px,4vw,56px)/1.12 Hind;letter-spacing:-.025em;text-wrap:balance}
.kf-band .big span{display:block;font-weight:400;opacity:.92;margin-top:.25em}
.kf-band-foot{margin:clamp(36px,4vw,56px) auto 0;max-width:900px;padding-top:clamp(24px,3vw,36px);border-top:1px solid rgba(255,255,255,.28);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;text-align:left}
.kf-band[data-band="hell"] .kf-band-foot{border-top-color:rgba(130,53,140,.2)}
.kf-band-foot p{margin:0;font:600 clamp(19px,1.7vw,23px)/1.35 Hind}
.kf-band-foot p span{display:block;font-weight:400;opacity:.9}
.kf-band:not([data-band="hell"]) .btn{background:#fff;color:var(--ink)}
.kf-band:not([data-band="hell"]) .btn:hover{background:var(--ink);color:#fff}
.kf-band[data-band="grau"] .btn:hover{background:var(--g)}
@media (max-width:640px){.kf-band-foot{flex-direction:column;align-items:stretch}.kf-band-foot .btn{width:100%}}
/* Abschluss: Weiß, Lilakante oben, zweispaltig */
.kf-end{background:#fff;box-shadow:inset 0 3px 0 var(--g)}
.kf-end-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:end}
.kf-end-cap{margin:0 0 12px;font:600 14px/1.2 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink)}
.kf-end-h{margin:0;font:700 clamp(30px,3.4vw,44px)/1.14 Hind;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.kf-end-side{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-left:clamp(24px,3vw,40px);border-left:1px solid var(--line)}
.kf-end-side p{margin:0;font:400 clamp(17px,1.4vw,19px)/1.5 Hind;color:#3A3F41}.kf-end-side b{color:var(--ink);font-weight:600}
@media (max-width:760px){.kf-end-in{grid-template-columns:1fr}.kf-end-side{padding-left:0;border-left:0;padding-top:22px;border-top:1px solid var(--line)}.kf-end-side .btn{width:100%}}
/* Abschluss — Farbvarianten (data-end) */
.kf-end{transition:background .3s ease}
.kf-end[data-end="tint"]{background:var(--g-tint);box-shadow:inset 0 3px 0 var(--g)}
.kf-end[data-end="tint"] .kf-end-side{border-left-color:rgba(130,53,140,.2)}
.kf-end[data-end="lila"]{background:var(--g);box-shadow:none}
.kf-end[data-end="lila"] .kf-end-cap{color:#FFFFFF}
.kf-end[data-end="lila"] .kf-end-h,.kf-end[data-end="lila"] .kf-end-side b{color:#fff}
.kf-end[data-end="lila"] .kf-end-side p{color:#F3E6F5}
.kf-end[data-end="lila"] .kf-end-side{border-left-color:rgba(255,255,255,.3)}
.kf-end[data-end="lila"] .btn{background:#fff;color:var(--ink)}.kf-end[data-end="lila"] .btn:hover{background:var(--ink);color:#fff}
.kf-end[data-end="split"]{background:linear-gradient(90deg,var(--g) 0 58%,#fff 58%);box-shadow:none}
.kf-end[data-end="split"] .kf-end-cap{color:#FFFFFF}
.kf-end[data-end="split"] .kf-end-h{color:#fff}
.kf-end[data-end="split"] .kf-end-in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}
.kf-end[data-end="split"] .kf-end-side{border-left:0}
.kf-end[data-end="wasser"]{background:linear-gradient(90deg,rgba(246,248,250,.95) 0%,rgba(246,248,250,.85) 42%,rgba(246,248,250,.45) 72%,rgba(246,248,250,.2)),url("../img/keimfrei-wasser.jpg") center 60%/cover;box-shadow:inset 0 3px 0 var(--g)}
.kf-end[data-end="wasser"] .kf-end-side{border-left:0;background:rgba(255,255,255,.9);border-radius:var(--r-card);padding:26px 28px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media (max-width:760px){.kf-end[data-end="wasser"] .kf-end-side{border-top:0;padding:22px}}
.kf-end[data-end="dunkel"]{background:#2A2F31;box-shadow:inset 0 3px 0 var(--g)}
.kf-end[data-end="dunkel"] .kf-end-cap{color:#FFFFFF}
.kf-end[data-end="dunkel"] .kf-end-h,.kf-end[data-end="dunkel"] .kf-end-side b{color:#fff}
.kf-end[data-end="dunkel"] .kf-end-side p{color:#D9DCDD}
.kf-end[data-end="dunkel"] .kf-end-side{border-left-color:rgba(255,255,255,.18)}
.kf-end[data-end="dunkel"] .btn:hover{background:#fff;color:var(--ink)}
@media (max-width:760px){.kf-end[data-end="split"]{background:linear-gradient(180deg,var(--g) 0 58%,#fff 58%)}.kf-end[data-end="split"] .kf-end-side{border-top:0}}
.kf-end[data-end="tief"]{background:linear-gradient(90deg,rgba(9,33,64,.82) 0%,rgba(12,44,84,.62) 55%,rgba(12,44,84,.45)),url("../img/keimfrei-wasser.jpg") center 58%/cover;box-shadow:none}
.kf-end[data-end="tief"] .kf-end-cap{color:#CFE8FF}
.kf-end[data-end="tief"] .kf-end-h,.kf-end[data-end="tief"] .kf-end-side b{color:#fff}
.kf-end[data-end="tief"] .kf-end-side p{color:#D8E4F0}
.kf-end[data-end="tief"] .kf-end-side{border-left-color:rgba(207,227,247,.25)}
.kf-end[data-end="tief"] .btn{background:#fff;color:var(--ink)}.kf-end[data-end="tief"] .btn:hover{background:var(--g);color:#fff}
@media (max-width:760px){.kf-end[data-end="tief"]{background:linear-gradient(180deg,rgba(9,33,64,.82),rgba(12,44,84,.7)),url("../img/keimfrei-wasser.jpg") center 58%/cover}.kf-end[data-end="tief"] .kf-end-side{border-top-color:rgba(207,227,247,.25)}}
.kf-end-tel{display:inline-block;margin-top:6px;font:700 clamp(24px,2.4vw,32px)/1.1 Hind;letter-spacing:-.015em;color:#fff!important}.kf-end-tel:hover{color:#CFE8FF!important}
/* Detail-Kacheln */
.kf-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kf-tile{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:26px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .22s ease,box-shadow .22s ease}
.kf-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(31,35,37,.35)}
.kf-tile .ic{display:none}
.kf-tile .n{font:600 13px/1 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink);margin:0}
.kf-tile h3{margin:0;font:700 21px/1.25 Hind;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.kf-tile p{margin:0;font:400 16px/1.55 Hind;color:#3A3F41;text-wrap:pretty}
.kf-tile .fig{font:700 clamp(30px,2.8vw,40px)/1 Hind;letter-spacing:-.02em;color:#000;margin:4px 0 2px}
.kf-tile.lila{background:var(--g);border-color:var(--g);justify-content:flex-end;min-height:240px}
.kf-tile.lila p{font:700 clamp(26px,2.4vw,34px)/1.12 Hind;letter-spacing:-.02em;color:#fff}
.kf-tile.lila p span{display:block;font-weight:400}
@media (max-width:1000px){.kf-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-tile.lila{grid-column:1/-1;min-height:auto}}
html{--tone-cap:rgba(255,255,255,.72)}
html[data-tone] footer[data-foot] a:hover{text-decoration-color:#fff}
@media (max-width:600px){.kf-tiles{grid-template-columns:1fr}}
.kf-offer{background:var(--ink);color:#fff;margin:clamp(10px,1.6vw,16px);border-radius:14px;padding:clamp(48px,6vw,88px) clamp(20px,4vw,40px)}
.kf-offer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px}
.kf-offer p{margin:0;font:600 clamp(22px,2.2vw,30px)/1.25 Hind;letter-spacing:-.015em;max-width:24ch}
.kf-offer a.tel{font:700 clamp(28px,3.2vw,44px)/1 Hind;letter-spacing:-.02em;color:#fff;white-space:nowrap}
.kf-offer a.tel:hover{color:#FFFFFF}
.kf-empty{padding:clamp(56px,7vw,96px) 20px;text-align:center;font:400 16px/1.5 Hind;color:#8A8F91}
/* Tweak-Panel */
#kfTweak{position:fixed;right:18px;bottom:18px;z-index:80;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px -18px rgba(36,40,42,.4);font:400 13px/1.4 Hind;width:210px}
#kfTweak p{margin:0 0 8px;font:600 11px/1.3 Hind;letter-spacing:.1em;text-transform:uppercase;color:#5A6062}
#kfTweak .opts{display:flex;gap:4px;margin-bottom:12px}#kfTweak .opts:last-child{margin-bottom:0}
#kfTweak button{flex:1 1 30%;padding:7px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;font:500 13px/1 Hind;color:var(--ink)}
#kfTweak button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:860px){#kfTweak{display:none}}
.mono .kf-media img{filter:grayscale(1)}
.kt-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.kt-left{background:var(--g-tint,#F3ECF4);padding:clamp(56px,7vw,104px) clamp(20px,4vw,64px) clamp(56px,7vw,104px) max(clamp(20px,4vw,40px),calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center}
.kt-right{padding:clamp(56px,7vw,104px) max(clamp(20px,4vw,40px),calc((100vw - 1240px)/2)) clamp(56px,7vw,104px) clamp(20px,4vw,64px);display:flex;flex-direction:column;justify-content:center}
.kt-cap{margin:0 0 12px;font:600 14px/1 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink,#82358C)}
.kt-h{margin:0 0 16px;font:700 clamp(36px,4.2vw,56px)/1.06 Hind;letter-spacing:-.03em;color:var(--ink,#1F2325);text-wrap:balance}
.kt-tx{margin:0 0 28px;font:400 clamp(17px,1.4vw,19px)/1.55 Hind;color:#3A3F41;max-width:40ch}
.kt-tel{font:700 clamp(32px,3.6vw,46px)/1 Hind;letter-spacing:-.025em;color:var(--ink,#1F2325);text-decoration:none}
.kt-tel:hover{color:var(--g-ink,#82358C)}
.kt-sm{margin:10px 0 0;font:400 15px/1.45 Hind;color:#5A6062}
.kt-row{display:grid;grid-template-columns:170px minmax(0,1fr) 24px;gap:16px;align-items:baseline;padding:24px 0;border-top:1px solid var(--line,#E3E6E8);color:var(--ink,#1F2325);text-decoration:none;transition:color .18s ease}
.kt-row:last-child{border-bottom:1px solid var(--line,#E3E6E8)}
.kt-row b{font:600 clamp(17px,1.5vw,19px)/1.35 Hind}
.kt-row i{font-style:normal;color:var(--g-ink,#82358C);transition:transform .18s ease}
.kt-row:hover{color:var(--g-ink,#82358C)}.kt-row:hover i{transform:translateX(4px)}
.kt-k{font:600 13px/1.2 Hind;letter-spacing:.1em;text-transform:uppercase;color:#5A6062}
@media (max-width:860px){.kt-split{grid-template-columns:1fr}.kt-row{grid-template-columns:1fr 24px}.kt-k{grid-column:1/-1}}


.imp-txt ul{margin:0 0 14px;padding-left:1.25em;font:400 16px/1.7 Hind;color:#3A3F41}.imp-txt li{margin:0 0 4px;padding-left:.2em}.imp-txt li::marker{color:var(--g-ink,var(--g))}.imp-txt a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--g);text-underline-offset:3px}.imp-txt a:hover{color:var(--g-ink,var(--g))}
.imp-sec{background:#fff}
.imp{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.imp-card{position:sticky;top:104px;background:var(--paper);border-radius:10px;padding:28px 28px 22px;box-shadow:inset 0 3px 0 var(--g);font:400 16px/1.55 Hind;color:var(--ink)}
.imp-card p{margin:0 0 12px}.imp-card .cap{font:600 12px/1.3 Hind;letter-spacing:.12em;text-transform:uppercase;color:var(--g-ink,var(--g));margin-bottom:14px}
.imp-card .imp-name{font:700 22px/1.2 Hind;margin-bottom:6px}
.imp-card .imp-note{color:#4A4F51;font-size:15px}
.imp-card dl{margin:18px 0 0;padding:0;display:flex;flex-direction:column}
.imp-card dl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(31,35,37,.1)}
.imp-card dt{font:500 14px/1.45 Hind;color:#5A6062;min-width:0;overflow-wrap:break-word;hyphens:manual}.imp-card dd{margin:0;font:500 15px/1.45 Hind;overflow-wrap:anywhere}
.imp-card a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--g);text-underline-offset:3px}.imp-card a:hover{color:var(--g-ink,var(--g))}
.imp-txt{max-width:72ch}
.imp-txt h2{margin:0 0 14px;font:700 clamp(22px,2vw,28px)/1.25 Hind;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.imp-txt h2:not(:first-child){margin-top:44px}
.imp-txt h3{margin:26px 0 10px;font:600 18px/1.35 Hind;color:var(--ink)}
.imp-txt p{margin:0 0 14px;font:400 16px/1.7 Hind;color:#3A3F41;text-wrap:pretty;hyphens:auto}
@media (max-width:900px){.imp{grid-template-columns:1fr}.imp-card{position:static}}


.hero-water .hero-scrim{display:none!important}
.hero-water .hero-shot img{object-fit:cover;object-position:center 62%!important}
.md-dim,.md-blur,.md-haze{position:absolute;left:0;right:0;top:0;pointer-events:none;z-index:1}
.md-dim{bottom:0;background:linear-gradient(180deg,rgba(9,33,64,0) 0%,rgba(9,33,64,0) 42%,rgba(9,33,64,.48) 64%,rgba(9,33,64,.9) 100%),linear-gradient(90deg,rgba(9,33,64,.4) 0%,rgba(9,33,64,0) 65%)}
.md-blur{height:76%}
.md-blur i{position:absolute;inset:0}
.md-blur i:nth-child(1){backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 60%,transparent 100%)}
.md-blur i:nth-child(2){backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 85%)}
.md-blur i:nth-child(3){backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:linear-gradient(180deg,#000 0%,#000 30%,transparent 68%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 30%,transparent 68%)}
.md-blur i:nth-child(4){backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 50%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 18%,transparent 50%)}
.md-haze{height:92%;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.5) 7%,rgba(255,255,255,.42) 14%,rgba(255,255,255,.31) 21%,rgba(255,255,255,.21) 28%,rgba(255,255,255,.12) 35%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.02) 52%,rgba(255,255,255,0) 66%,rgba(255,255,255,0) 100%)}
.hero-water .hero-inner,.hero-md .hero-inner{z-index:2}
.hero-md .hero-scrim{display:none!important}
.hero-md .hero-foot{grid-template-columns:1fr}.hero-md .hero-foot .lead{max-width:none}
.hero-md .hero-shot img{object-position:center 62%!important}
.hero-md .h1{color:#fff!important;text-shadow:0 2px 48px rgba(9,33,64,.35)!important}
.hero-water .h1{color:#fff!important;text-shadow:0 2px 48px rgba(9,33,64,.35)!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .primary-nav a{color:#3A3F41!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .primary-nav a:hover{color:var(--ink)!important;box-shadow:inset 0 -2px 0 rgba(31,35,37,.25)}
html[data-kfview] #siteHeader:not(.is-scrolled) .primary-nav a.is-active{color:var(--ink)!important;box-shadow:inset 0 -2px 0 #82358C}
html[data-kfview] #siteHeader:not(.is-scrolled) .header-cta{background:transparent!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px rgba(31,35,37,.4)!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .header-cta:hover{background:#82358C!important;color:#fff!important;box-shadow:none!important}
html[data-kfview] #siteHeader:not(.is-scrolled) #menuToggle{color:var(--ink)!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .burger span{background:var(--ink)!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .kf-logo .lg-hell{display:none!important}
html[data-kfview] #siteHeader:not(.is-scrolled) .kf-logo .lg-dunkel{display:block!important}


.kf-end .kf-end-side b.kf-ernst{color:#B95BCB!important}

/* Ehemalige style="…"-Attribute aus dem Export (für CSP ohne 'unsafe-inline') */
.u-m0{margin:0!important}
.kf-end-lead{font-size:clamp(20px,1.9vw,26px)!important;line-height:1.35!important}
.kf-ernst-b{font-weight:700!important;font-size:1.15em!important;letter-spacing:-.01em!important}
.u-nowrap{white-space:nowrap!important}
.foot-sec{border-bottom:0!important}
.foot-legal{display:flex!important;flex-direction:column!important;gap:6px!important;font:300 15px/1.7 Hind!important;align-items:center!important}
