/* =========================================================================
   L&S – Effekt-Ebene
   Glasmorphismus, scroll-gesteuerter Zoom, Parallax, Grain, Fortschritt
   Alles degradiert sauber: ohne JS und bei prefers-reduced-motion bleibt
   die Seite vollständig lesbar und statisch.
   ========================================================================= */

/* ---------- 1. Scroll-Fortschritt im Fünf-Farben-Band ------------------- */
.fx-progress{
  position:fixed;top:0;left:0;height:3px;width:100%;z-index:1000;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--c-bes) 0 20%,var(--c-sw) 20% 40%,
    var(--c-cmd) 40% 60%,var(--c-11d) 60% 80%,var(--c-nov) 80% 100%);
  pointer-events:none;will-change:transform
}

/* ---------- 2. Körnung über dunkle Flächen ------------------------------ */
.sec--dark,.hero,.kband,.cta,.ls-footer,.sec--ink2{position:relative}
.sec--dark::after,.hero::after,.kband::after,.ls-footer::after,.sec--ink2::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
  mix-blend-mode:overlay
}
.sec--dark>*,.hero>*,.kband>*,.ls-footer>*,.sec--ink2>*{position:relative;z-index:1}

/* ---------- 3. Glasmorphismus ------------------------------------------ */
.glass{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.14)
}
.glass--light{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 24px 54px -34px rgba(14,26,32,.55)
}
@supports not (backdrop-filter:blur(1px)){
  .glass{background:rgba(23,34,42,.92)}
  .glass--light{background:rgba(255,255,255,.96)}
}
/* bestehende Komponenten auf dunklem Grund als Glas */
.sec--dark .combo{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s
}
.sec--dark .combo:hover{
  transform:translateY(-5px);border-color:rgba(255,111,82,.55);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.2)
}
.kband .ben{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}

/* ---------- 4. Zoom-Reveal (Apple-Art) --------------------------------- */
.js .zoom{opacity:0;transform:scale(.955) translateY(26px);
  transition:opacity .85s var(--ease),transform .85s var(--ease)}
.js .zoom.in{opacity:1;transform:none}
.js .zoom-d1{transition-delay:.08s}
.js .zoom-d2{transition-delay:.16s}
.js .zoom-d3{transition-delay:.24s}
.js .zoom-d4{transition-delay:.32s}

/* ---------- 5. Hero: Video skaliert beim Scrollen ---------------------- */
.hero__video{will-change:transform,opacity;transform-origin:50% 45%}
.hero__in{will-change:transform,opacity}

/* ---------- 6. Parallax ------------------------------------------------- */
[data-par]{will-change:transform}

/* ---------- 7. Sticky-Szene: die fünf Häuser --------------------------- */
.scene{position:relative}
.scene__sticky{position:sticky;top:calc(var(--header-h) + 18px)}
.scene__num{
  font-family:'Bebas Neue','Manrope',sans-serif;font-size:clamp(4rem,11vw,9rem);
  line-height:.85;color:transparent;-webkit-text-stroke:2px rgba(232,69,44,.35);
  display:block;margin-bottom:10px
}

/* ---------- 8. Magnetischer Button + Glanz ----------------------------- */
.btn--primary{position:relative;overflow:hidden;isolation:isolate}
.btn--primary::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.42) 46%,transparent 62%);
  transform:translateX(-120%);transition:transform .75s var(--ease)
}
.btn--primary:hover::after{transform:translateX(120%)}

/* ---------- 9. Karten-Lift mit Lichtkante ------------------------------ */
.kcard,.ben,.step,.loc,.house{position:relative;overflow:hidden}
.kcard::after,.ben::after,.step::after,.loc::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(232,69,44,.14),transparent 62%);
  opacity:0;transition:opacity .35s
}
.kcard:hover::after,.ben:hover::after,.step:hover::after,.loc:hover::after{opacity:1}

/* ---------- 10. Zahlen mit Glas-Rahmen --------------------------------- */
.sec--dark .stats,.kband .stats{border-radius:var(--r);overflow:hidden}

/* ---------- 11. Scroll-Hinweis im Hero --------------------------------- */
.fx-scroll{
  display:inline-flex;align-items:center;gap:10px;margin-top:30px;
  font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.6);text-decoration:none
}
.fx-scroll i{
  width:26px;height:40px;border:2px solid rgba(255,255,255,.4);border-radius:99px;
  position:relative;flex:0 0 auto
}
.fx-scroll i::after{
  content:"";position:absolute;left:50%;top:8px;width:4px;height:7px;border-radius:99px;
  background:var(--ls-blue-2);transform:translateX(-50%);
  animation:fxMaus 1.9s var(--ease) infinite
}
@keyframes fxMaus{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}
  70%{opacity:1;transform:translate(-50%,13px)}100%{opacity:0;transform:translate(-50%,15px)}}
.fx-scroll:hover{color:#fff}

/* ---------- 12. Abschnittswechsel mit weicher Kante -------------------- */
.sec--dark+.sec,.kband+.sec{position:relative}

/* ---------- 13. Marquee: Themen der Gruppe ----------------------------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--paper-2);padding:16px 0}
.marquee__track{display:flex;gap:46px;width:max-content;animation:mq 42s linear infinite}
.marquee span{
  font-family:'Bebas Neue','Manrope',sans-serif;font-size:1.35rem;letter-spacing:.04em;
  color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:46px
}
.marquee span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--ls-blue);flex:0 0 auto}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ---------- Reduzierte Bewegung ---------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .js .zoom{opacity:1;transform:none;transition:none}
  .marquee__track{animation:none}
  .fx-scroll i::after{animation:none}
  .fx-progress{display:none}
  [data-par],.hero__video{transform:none!important}
}

/* =========================================================================
   DIGITAL-CHECK (Quiz)
   ========================================================================= */
.ck{background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,3.4vw,44px);box-shadow:0 30px 70px -48px rgba(14,26,32,.6)}
.ck__bar{height:5px;border-radius:99px;background:var(--paper-2);overflow:hidden;margin-bottom:22px}
.ck__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ls-blue),var(--ls-blue-2));
  transition:width .35s var(--ease)}
.ck__step{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:0 0 12px}
.ck__q{font-size:clamp(1.25rem,2.4vw,1.8rem);margin:0 0 24px;outline:none}
.ck__opts{display:grid;gap:10px}
.ck__opt{
  text-align:left;font:inherit;font-size:1rem;padding:17px 20px;border-radius:var(--r-s);
  border:2px solid var(--line);background:#fff;cursor:pointer;color:var(--text);
  transition:border-color .15s,background .15s,transform .15s
}
.ck__opt:hover{border-color:var(--ls-blue);background:rgba(232,69,44,.04);transform:translateX(3px)}
.ck__opt[aria-pressed="true"]{border-color:var(--ls-blue);background:rgba(232,69,44,.08);font-weight:700}
.ck__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.ck__hint{font-size:.8rem;color:var(--muted)}

.ck--res .ck__score{display:flex;align-items:center;gap:clamp(18px,3vw,34px);
  padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line);outline:none;flex-wrap:wrap}
.ck--res .ck__score>b{font-family:'Bebas Neue','Manrope',sans-serif;font-size:clamp(4rem,9vw,6.4rem);
  line-height:.85;color:var(--ls-blue)}
.ck--res .ck__score>b small{font-size:.4em;margin-left:2px}
.ck--res .ck__score h3{margin:0 0 6px;font-size:1.3rem}
.ck--res .ck__score p{margin:0;color:var(--muted);font-size:.97rem;max-width:52ch}
.ck__h4{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:28px 0 14px}
.ck__bars{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.ck__bars li{display:grid;grid-template-columns:minmax(150px,1.1fr) 2fr auto;gap:14px;align-items:center}
.ck__lab{font-size:.92rem;font-weight:700}
.ck__track{height:11px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.ck__track i{display:block;height:100%;border-radius:99px;background:var(--muted)}
.ck__bars li[data-c="bes"] .ck__track i{background:var(--c-bes)}
.ck__bars li[data-c="cmd"] .ck__track i{background:var(--c-cmd)}
.ck__bars li[data-c="sw"] .ck__track i{background:var(--c-sw)}
.ck__bars li[data-c="nov"] .ck__track i{background:var(--c-nov)}
.ck__bars li[data-c="11d"] .ck__track i{background:#1A1A1A}
.ck__val{font-size:.88rem;font-weight:800;white-space:nowrap}
.ck__val em{font-style:normal;font-weight:600;color:var(--muted);font-size:.82rem;margin-left:4px}
.ck__tipps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:t}
.ck__tipps li{background:var(--paper-2);border-radius:var(--r-s);padding:17px 19px}
.ck__tipps b{display:block;font-size:1rem;margin-bottom:5px}
.ck__tipps span{display:block;font-size:.93rem;color:var(--muted);line-height:1.6}
.ck__cta{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 14px}
@media (max-width:640px){
  .ck__bars li{grid-template-columns:1fr auto;grid-template-areas:"lab val" "track track";row-gap:6px}
  .ck__lab{grid-area:lab}.ck__val{grid-area:val}.ck__track{grid-area:track}
}

/* =========================================================================
   DOWNLOAD-CENTER
   ========================================================================= */
.dls{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.dl{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:26px 24px;transition:transform .18s var(--ease),box-shadow .18s,border-color .18s}
.dl:hover{transform:translateY(-4px);border-color:var(--ls-blue);
  box-shadow:0 26px 52px -32px rgba(14,26,32,.55)}
.dl__tag{display:inline-flex;align-self:flex-start;font-size:.76rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:4px 10px;border-radius:99px;color:#fff;margin-bottom:14px}
.dl[data-c="cmd"] .dl__tag{background:var(--c-cmd-t)}
.dl[data-c="bes"] .dl__tag{background:var(--c-bes-t)}
.dl[data-c="sw"] .dl__tag{background:var(--c-sw-t)}
.dl[data-c="nov"] .dl__tag{background:var(--c-nov-t)}
.dl[data-c="11d"] .dl__tag{background:#1A1A1A}
.dl h3{font-size:1.14rem;margin-bottom:8px}
.dl p{font-size:.94rem;color:var(--muted);margin:0 0 16px}
.dl__meta{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.dl .btn{margin-top:auto;align-self:flex-start}

/* Wissens-Karten */
.qa{display:grid;gap:14px}
.qa__item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 26px}
.qa__item h3{font-size:1.16rem;margin-bottom:10px}
.qa__item p{font-size:.97rem;color:var(--muted);margin:0 0 10px}
.qa__item p:last-child{margin-bottom:0}
.qa__item .who{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:.84rem;font-weight:700}
.qa__item .who a{color:var(--ls-blue-text);text-decoration:none}

/* Förderbeispiele: Zahlenzeile */
.foerder-zahlen{display:flex;gap:26px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.foerder-zahlen div{display:flex;flex-direction:column;gap:2px}
.foerder-zahlen span{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.foerder-zahlen b{font-family:'Bebas Neue','Manrope',sans-serif;font-size:1.65rem;line-height:1}
.foerder-zahlen b.gruen{color:var(--c-sw)}

/* Navigation: nicht umbrechen, bei mittlerer Breite kompakter */
.ls-nav button,.ls-nav>li>a{white-space:nowrap}
@media (min-width:1080px) and (max-width:1365px){
  .ls-nav button,.ls-nav>li>a{padding:10px 9px;font-size:.85rem}
  .ls-tel{display:none}
}

/* ===================================================== Unternehmensseiten */
.branchen{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 34px}
.branchen li{
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  font-size:.9rem;font-weight:700;background:#fff
}
.fbelege{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px 26px;
  padding-top:26px;border-top:1px solid var(--line)}
.fbelege>div{display:flex;flex-direction:column;gap:3px}
.fbelege b{font-family:'Bebas Neue','Manrope',sans-serif;font-size:1.7rem;line-height:1.05;letter-spacing:.01em}
.fbelege span{font-size:.82rem;color:var(--muted)}
.flogos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;margin-top:30px;
  padding-top:26px;border-top:1px solid var(--line)}
.flogos img{height:46px;width:auto;opacity:.82;filter:saturate(.9)}

@media (max-width:720px){
  .fbelege b{font-size:1.4rem}
  .flogos img{height:36px}
}

/* ===================================================== Kontaktseite */
.kwege{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.kweg{
  display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:18px;background:#fff;
  padding:clamp(22px,2.6vw,32px);transition:transform .2s,box-shadow .2s,border-color .2s
}
.kweg:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,17,22,.1);border-color:var(--ls-blue)}
.kweg__kopf{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.kweg b{font-size:clamp(1.12rem,1.9vw,1.42rem);line-height:1.2}
.kweg__text{font-size:.94rem;color:var(--muted)}
.kweg__akt{margin-top:auto;padding-top:10px;font-weight:800;font-size:.9rem;color:var(--ls-blue-text)}
.kweg--haupt{background:var(--ls-ink);color:#fff;border-color:var(--ls-ink)}
.kweg--haupt .kweg__kopf{color:rgba(255,255,255,.66)}
.kweg--haupt .kweg__text{color:rgba(255,255,255,.8)}
.kweg--haupt .kweg__akt{color:var(--ls-blue-2)}
.kweg--haupt:hover{border-color:var(--ls-blue)}

.kfirmen{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.kfirma{
  display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px 20px;
  transition:transform .2s,box-shadow .2s,border-color .2s
}
.kfirma:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(11,17,22,.09)}
.kfirma img{height:30px;width:auto;flex:0 0 auto;filter:brightness(0)}
.kfirma div{display:flex;flex-direction:column;gap:2px;min-width:0}
.kfirma b{font-size:.98rem}
.kfirma span{font-size:.84rem;color:var(--muted)}
.kfirma__pfeil{margin-left:auto;font-style:normal;font-weight:800;color:var(--ls-blue);flex:0 0 auto}
.kfirma[data-c="bes"]:hover{border-color:var(--c-bes)}
.kfirma[data-c="sw"]:hover{border-color:var(--c-sw)}
.kfirma[data-c="cmd"]:hover{border-color:var(--c-cmd)}
.kfirma[data-c="11d"]:hover{border-color:var(--c-11d)}
.kfirma[data-c="nov"]:hover{border-color:var(--c-nov)}

@media (max-width:720px){
  .kfirma img{height:24px}
  .kweg{padding:20px}
}

.cta__grid{align-items:start}

/* ===================================================== Imagefilm */
.film__cover{width:100%;height:100%;object-fit:cover;display:block}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film--laeuft .film__cover,.film--laeuft .film__play{display:none}
.film__hinweis{
  margin:12px 2px 0;font-size:.82rem;color:var(--muted);max-width:70ch
}

/* ===================================================== Angebot auf Unternehmensseiten */
.fpakete{
  list-style:none;margin:0;padding:0;counter-reset:pak;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px
}
.fpakete li{
  counter-increment:pak;position:relative;
  border:1px solid var(--line);border-radius:18px;background:#fff;
  padding:26px 24px 24px;display:flex;flex-direction:column;gap:8px
}
.fpakete li::before{
  content:counter(pak);font-family:'Bebas Neue','Manrope',sans-serif;
  font-size:1.5rem;line-height:1;color:var(--ls-blue)
}
.fpakete b{font-size:1.06rem}
.fpakete span{font-size:.94rem;color:var(--muted)}

/* Logo im Seitenkopf der Unternehmensseiten etwas kraeftiger */
.phero__logo{height:46px}
@media (max-width:720px){ .phero__logo{height:36px} }

/* ===================================================== Seitenkopf der Unternehmensseiten */
.phero--firma .phero__in{padding-block:clamp(30px,4vw,58px) clamp(34px,4.5vw,64px)}
.phero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(26px,4vw,60px);align-items:center}
.phero__logo{height:clamp(34px,3.4vw,46px);width:auto;margin:0 0 18px;display:block;
  filter:brightness(0) invert(1)}
.phero--firma h1{max-width:18ch;margin-bottom:14px}
.phero__lead{font-size:clamp(1rem,1.3vw,1.14rem);max-width:52ch}
.phero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.phero__zahlen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px;
  margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.phero__zahlen>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.phero__zahlen b{font-family:'Bebas Neue','Manrope',sans-serif;font-size:1.5rem;line-height:1.05;
  letter-spacing:.01em;color:#fff}
.phero__zahlen span{font-size:.79rem;color:rgba(255,255,255,.66)}
.phero__bild{margin:0;border-radius:20px;overflow:hidden;position:relative;
  box-shadow:0 30px 70px rgba(0,0,0,.4)}
.phero__bild img{display:block;width:100%;height:clamp(240px,30vw,420px);object-fit:cover}
.phero__bild::after{content:"";position:absolute;inset:0;border-radius:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}

@media (max-width:900px){
  .phero__grid{grid-template-columns:1fr;gap:26px}
  .phero__bild{order:-1}
  .phero__bild img{height:clamp(190px,46vw,280px)}
  .phero--firma h1{max-width:none}
}

/* ============================== Leistungen: stehender Kopf, nummerierte Liste */
.fsplit{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(26px,4vw,64px);align-items:start}
.fsplit__kopf{position:sticky;top:clamp(96px,11vw,132px)}
.fsplit__kopf h2{margin-bottom:12px}
.fsplit__kopf p{color:var(--muted)}
.fsplit__akt{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

.fleist{list-style:none;margin:0;padding:0;counter-reset:leist;border-top:1px solid var(--line)}
.fleist li{counter-increment:leist;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;
  padding:22px 2px;border-bottom:1px solid var(--line)}
.fleist li::before{
  content:counter(leist,decimal-leading-zero);
  font-family:'Bebas Neue','Manrope',sans-serif;font-size:1.25rem;line-height:1.5;
  color:var(--ls-blue);grid-row:1 / span 2
}
.fleist h3{margin:0;font-size:1.06rem}
.fleist p{margin:0;font-size:.95rem;color:var(--muted)}

@media (max-width:900px){
  .fsplit{grid-template-columns:1fr}
  .fsplit__kopf{position:static}
}

/* ============================== Galerie: ein grosses, zwei kleine */
@media (max-width:640px){
}

/* ============================== Einleitung auf den Unternehmensseiten */
.fintro{max-width:66ch;margin-inline:auto;text-align:left}
.fintro__gross{
  font-size:clamp(1.18rem,2.1vw,1.52rem);line-height:1.45;font-weight:600;
  color:var(--text);margin:0 0 20px
}
.fintro__gross::first-letter{font-size:1.15em}
.fintro p+p{color:var(--muted);font-size:1.02rem;margin:0}

/* ===================================================== Lesbarkeit & Mobil
   Korrekturen aus dem Kontrast- und Layout-Audit (17.10.2026).
   Die !important-Angaben neutralisieren die Divi-Ausgleichsregeln des
   Plugins, damit die Karten auch ohne Plugin-Update korrekt aussehen. */

/* Helle Karte auf dem Koralleband: Ueberschrift war weiss auf weiss */
.kband .bens .ben h3{color:var(--ls-ink-3)!important}
.kband .bens .ben p{color:var(--muted)!important}

/* Dunkle Kontaktkarte: Ueberschrift war dunkel auf dunkel */
.kwege .kweg--haupt{color:#fff!important}
.kwege .kweg--haupt b{color:#fff!important}

/* Lange Links und Adressen duerfen umbrechen (Datenschutz, Impressum) */
.prose a,.prose dd,.prose li,.prose p{overflow-wrap:anywhere}

/* Tabellen laufen auf dem Handy nicht mehr aus dem Bild */
.prose table{width:100%;border-collapse:collapse}
@media (max-width:720px){
  .prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .prose thead th,.prose tbody td{white-space:normal;min-width:9.5rem}
}

/* Kleinste Schriftgroessen auf dem Telefon anheben */
@media (max-width:720px){
  .eyebrow{font-size:.8rem}
  .kweg__kopf{font-size:.8rem}
  .hero__loc{font-size:.84rem}
  .marquee span{font-size:.82rem}
  .fx-scroll{font-size:.8rem}
}

/* Touchziele: Links und Buttons mit genug Flaeche */
@media (max-width:900px){
  .ls-mnav a,.ls-mnav summary,.ls-footer a{min-height:44px;display:flex;align-items:center}
  .btn{min-height:46px}
}

/* ---- Nachbesserungen aus der Gegenpruefung (17.10.2026, 2. Durchlauf) ---- */

/* Ghost-Button in der dunklen Mobil-Navigation war weiss auf weiss */
.ls-mnav .btn--ghost{
  background:transparent!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.4)!important
}

/* Koralleband: Flaeche minimal tiefer, damit auch kleine weisse Schrift
   den Mindestkontrast erreicht */
.kband{background:var(--ls-blue-text)}
.kband .eyebrow,.kband__lead{color:#fff}

/* Helle Firmenfarben als Textfarbe durch die lesbaren Varianten ersetzen */

/* Textlinks in Antwortkarten */
.who a{color:var(--ls-blue-text);font-weight:700}

/* Definitionslisten: lange Adressen und Mailadressen umbrechen */
.facts dd,.facts dt,.facts a{overflow-wrap:anywhere}

/* Eyebrow auf dunklen Abschnitten: gedaempftes Grau war zu dunkel */
.sec--dark .eyebrow,.sec--ink2 .eyebrow,.sec--ink .eyebrow{color:rgba(255,255,255,.78)}
.sec--dark .eyebrow::before,.sec--ink2 .eyebrow::before{background:var(--ls-blue-2)}

/* =====================================================================
   Bilder auf den Firmenseiten  (Neufassung 17.10.2026)
   Grundsatz: kein Bild wird groesser dargestellt als seine Quelle
   hergibt, und nichts wird so beschnitten, dass Koepfe fehlen.
   ===================================================================== */

/* ---- Hero: Bild in eigenem Rahmen, echtes Seitenverhaeltnis ---- */
.phero__bild{margin:0;position:relative;max-width:var(--herobreite,560px);margin-left:auto}
.phero__bild img{
  display:block;width:100%;height:auto;border-radius:20px;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.65)
}
.phero__bild::after{
  content:"";position:absolute;inset:auto 18px -10px 18px;height:40px;
  background:radial-gradient(60% 100% at 50% 0,rgba(0,0,0,.45),transparent 70%);
  filter:blur(12px);z-index:-1
}

/* ---- Bildband, vollflaechige Variante (nur fuer grosse Quellen) ---- */
.fbild--voll{position:relative;overflow:hidden}
.fbild--voll img{
  display:block;width:100%;height:clamp(300px,42vw,520px);object-fit:cover
}
.fbild--voll .fbild__box{
  position:absolute;left:0;right:0;bottom:0;
  padding:clamp(28px,5vw,64px) clamp(20px,6vw,90px) clamp(22px,3vw,40px);
  background:linear-gradient(to top,rgba(8,12,16,.92) 20%,rgba(8,12,16,.55) 60%,transparent)
}
.fbild__text{
  margin:0;color:#fff;font-weight:800;line-height:1.24;
  font-size:clamp(1.22rem,2.5vw,2rem);max-width:30ch;text-wrap:balance
}
.fbild__bu{margin:10px 0 0;color:rgba(255,255,255,.72);font-size:.86rem}

/* ---- Bildband, Zweispalter fuer kleinere Quellen ---- */
.fsplitbild{
  display:grid;grid-template-columns:minmax(0,var(--bildbreite,460px)) minmax(0,1fr);
  gap:clamp(26px,4vw,64px);align-items:center
}
.fsplitbild__bild{margin:0;max-width:var(--bildbreite,460px)}
.fsplitbild__bild img{
  display:block;width:100%;height:auto;border-radius:18px;
  box-shadow:0 22px 50px -26px rgba(11,17,22,.45)
}
.fsplitbild__bild figcaption{
  margin-top:10px;font-size:.84rem;color:var(--muted)
}
.fsplitbild__gross{
  margin:0;font-weight:800;line-height:1.26;
  font-size:clamp(1.3rem,2.6vw,2.05rem);max-width:22ch;text-wrap:balance;
  color:var(--ls-ink)
}
.fsplitbild__gross::before{
  content:"";display:block;width:46px;height:4px;border-radius:99px;
  background:var(--ls-blue-text);margin-bottom:18px
}

/* ---- Galerie: ruhiges Raster, gleiche Kachelhoehe, Fokus auf dem Motiv ---- */
.fgal{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.8vw,22px)
}
.fgal__k{margin:0;display:flex;flex-direction:column}
.fgal__k img{
  display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;
  border-radius:16px;background:var(--line);
  transition:transform .45s cubic-bezier(.2,.7,.3,1)
}
.fgal__k:hover img{transform:scale(1.03)}
.fgal__k{overflow:hidden}
.fgal__k figcaption{
  margin-top:10px;font-size:.86rem;line-height:1.45;color:var(--muted)
}
/* Spaltenzahl kommt aus dem Generator und richtet sich nach der
   Aufloesung der schwaechsten Bildquelle. */
.fgal[data-spalten="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.fgal[data-spalten="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.fgal[data-spalten="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.fgal[data-spalten="2"] .fgal__k img{aspect-ratio:3/2}

@media (max-width:980px){
  .fsplitbild{grid-template-columns:1fr;gap:26px}
  .fsplitbild__gross{max-width:26ch}
  /* gestapelt darf das Bild nicht ueber seine Quellgroesse hinauswachsen */
  .fsplitbild__bild{max-width:min(var(--bildbreite,460px),100%)}
}
/* Hero-Bild auf Tablet begrenzen, sonst wird es ueberzogen */
@media (max-width:900px){
  .phero__bild{max-width:var(--herobreite,560px);margin-inline:auto;width:100%}
}
@media (max-width:1040px){
  .fgal,.fgal[data-spalten="2"],.fgal[data-spalten="3"]{
    grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgal[data-spalten="4"]{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .fgal[data-spalten="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .fgal,.fgal[data-spalten]{grid-template-columns:1fr}
  .fgal .fgal__k img{aspect-ratio:4/3}
  .fbild--voll img{height:clamp(240px,62vw,340px)}
}
