.elementor-7056 .elementor-element.elementor-element-27e5628{--display:flex;}/* Start custom CSS for html, class: .elementor-element-aa83781 */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --farbe-hintergrund: #050607;
  --farbe-hintergrund-weich: #0b0d0f;
  --farbe-abschnitt-1: #090607;
  --farbe-abschnitt-2: #0b0708;
  --farbe-abschnitt-3: #08090a;
  --farbe-flaeche: rgba(255,255,255,.045);
  --farbe-flaeche-stark: rgba(255,255,255,.08);
  --farbe-text: #f7f7f8;
  --farbe-text-weich: #a9adb5;
  --farbe-rahmen: rgba(255,255,255,.14);
  --farbe-rahmen-hell: rgba(255,255,255,.26);
  --farbe-akzent: #ef1b2d;
  --farbe-akzent-hell: #ff4050;
  --farbe-akzent-dunkel: #8d0712;
  --farbe-schwarz: #000;
  --schrift-ueberschrift: 'Space Grotesk', Arial, sans-serif;
  --schrift-text: 'Inter', Arial, sans-serif;
  --breite-inhalt: 1200px;
  --radius-klein: 10px;
  --radius-mittel: 16px;
  --radius-gross: 26px;
  --abstand-1: .5rem;
  --abstand-2: .75rem;
  --abstand-3: 1rem;
  --abstand-4: 1.5rem;
  --abstand-5: 2rem;
  --abstand-6: 3rem;
  --abstand-7: 4.5rem;
  --abstand-8: 6rem;
  --schatten-weich: 0 20px 60px rgba(0,0,0,.35);
  --schatten-akzent: 0 10px 30px rgba(239,27,45,.22);
  --uebergang-kurz: 180ms ease;
  --uebergang-mittel: 320ms ease;
}

html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--farbe-hintergrund);overflow-x:hidden;font-family:var(--schrift-text);color:var(--farbe-text);line-height:1.65}
*,*::before,*::after{box-sizing:border-box}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-family:var(--schrift-ueberschrift);line-height:1.08;letter-spacing:-.03em}
h1{font-size:clamp(2.8rem,6vw,5.8rem)}
h2{font-size:clamp(2rem,4vw,3.8rem)}
h3{font-size:clamp(1.2rem,2vw,1.7rem)}
p{margin:0;color:var(--farbe-text-weich)}

.lb-startseite{background:var(--farbe-hintergrund)}
.inhaltsbreite{width:min(calc(100% - 2rem),var(--breite-inhalt));margin-inline:auto}
.abschnitt{position:relative;padding:var(--abstand-8) 0;border-top:1px solid rgba(255,255,255,.045);isolation:isolate}
.abschnitt::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.abschnitt-kopf{max-width:760px;margin-bottom:var(--abstand-5)}
.abschnitt-vortitel{display:inline-block;margin-bottom:var(--abstand-2);color:var(--farbe-akzent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.abschnitt-ueberschrift{margin-bottom:var(--abstand-3)}
.raster{display:grid;gap:var(--abstand-4)}

.schaltflaeche{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:48px;padding:.8rem 1.2rem;border:1px solid transparent;border-radius:var(--radius-klein);font-weight:700;white-space:nowrap;transition:transform var(--uebergang-kurz),background-color var(--uebergang-kurz),border-color var(--uebergang-kurz),box-shadow var(--uebergang-kurz),color var(--uebergang-kurz)}
.schaltflaeche:hover,.schaltflaeche:focus-visible{transform:translateY(-2px)}
.schaltflaeche:focus-visible{outline:2px solid #fff;outline-offset:3px}
.schaltflaeche-primaer{background:var(--farbe-akzent);color:#fff;border-color:var(--farbe-akzent);box-shadow:var(--schatten-akzent)}
.schaltflaeche-primaer:hover,.schaltflaeche-primaer:focus-visible{background:#c91020;border-color:#ff5361;box-shadow:0 12px 34px rgba(239,27,45,.32)}
.schaltflaeche-sekundaer{background:rgba(9,10,12,.82);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)}
.schaltflaeche-sekundaer:hover,.schaltflaeche-sekundaer:focus-visible{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.32)}
.glaskarte{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid var(--farbe-rahmen);border-radius:var(--radius-mittel);box-shadow:var(--schatten-weich);backdrop-filter:blur(18px)}

@keyframes einblenden-hoch{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.einblenden{animation:einblenden-hoch .75s ease both}

.kopfzeile{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(to bottom,rgba(4,5,6,.96),rgba(4,5,6,.74));backdrop-filter:blur(14px)}
.kopfzeile-inhalt{display:flex;align-items:center;min-height:76px;gap:clamp(1rem,2vw,2rem)}
.marke{display:flex;align-items:center;flex:0 0 auto}
.marke img{width:clamp(150px,12vw,205px);max-height:54px;object-fit:contain;object-position:left center}
.hauptnavigation{display:flex;gap:clamp(1rem,2vw,1.8rem);margin-left:auto;align-items:center}
.hauptnavigation a{font-size:.88rem;color:#d7d8db;white-space:nowrap;transition:color var(--uebergang-kurz)}
.hauptnavigation a:hover,.hauptnavigation a:focus-visible{color:var(--farbe-akzent)}
.menue-schalter{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.4rem}
.kopfzeile-aktion{min-height:42px;padding:.65rem 1rem}

.hero{position:relative;min-height:780px;display:flex;align-items:center;padding-top:120px}
.hero-bild{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1540039155733-5bb30b53aa14?auto=format&fit=crop&w=2000&q=90') center/cover no-repeat}
.hero-abdunklung{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.58) 45%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,#080506,transparent 30%)}
.hero-inhalt{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:4rem;align-items:center}
.hero-text{max-width:720px}
.hero-ueberschrift{margin:.5rem 0 1.2rem}
.hero-beschreibung{max-width:620px;font-size:clamp(1rem,1.2vw,1.15rem)}
.hero-aktionen{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero-fakten{padding:1.5rem}
.hero-fakten div{padding:1.15rem 0;border-bottom:1px solid var(--farbe-rahmen)}
.hero-fakten div:last-child{border:0}
.hero-fakten b,.hero-fakten span{display:block}
.hero-fakten b{font-family:var(--schrift-ueberschrift);font-size:1.25rem}
.hero-fakten span{color:var(--farbe-text-weich);font-size:.88rem}

.vertrauen{position:relative;padding:2.2rem 0;border-block:1px solid rgba(255,255,255,.06);background:linear-gradient(115deg,#08090a 0%,#110609 48%,#08090a 100%)}
.vertrauen-titel{display:block;margin-bottom:1rem;color:var(--farbe-text-weich);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.vertrauen-logos{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center}
.vertrauen-logos span{font-family:var(--schrift-ueberschrift);font-weight:700;color:#d1d2d5;opacity:.88}

.ueber-uns{background:linear-gradient(125deg,#08090a 0%,#0e0809 52%,#08090a 100%)}
.ueber-uns::before{background:radial-gradient(circle at 16% 36%,rgba(173,14,28,.12),transparent 36%)}
.ueber-uns-raster{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.ueber-uns-bild{margin:0;border-radius:var(--radius-mittel);overflow:hidden;box-shadow:var(--schatten-weich);border:1px solid rgba(255,255,255,.12)}
.ueber-uns-bild img{width:100%;height:clamp(360px,37vw,520px);object-fit:cover;object-position:center}
.ueber-uns-raster>div>p+p{margin-top:1rem}
.ueber-uns-werte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:2rem}
.ueber-uns-werte div{min-width:0;padding:1.2rem .75rem;text-align:center}
.ueber-uns-werte b,.ueber-uns-werte span{display:block}
.ueber-uns-werte b{font:700 clamp(1.45rem,2.2vw,1.9rem) var(--schrift-ueberschrift)}
.ueber-uns-werte span{font-size:.72rem;line-height:1.35;color:var(--farbe-text-weich);overflow-wrap:normal;word-break:normal;hyphens:none}

.kennzahlen{padding:2.8rem 0;border-block:1px solid rgba(255,255,255,.055);background:linear-gradient(90deg,#120508 0%,#09090a 34%,#0c0708 68%,#140509 100%)}
.kennzahlen-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.kennzahlen-raster div{text-align:center}
.kennzahlen strong,.kennzahlen span{display:block}
.kennzahlen strong{font:700 clamp(2rem,4vw,3.5rem) var(--schrift-ueberschrift)}
.kennzahlen span{color:var(--farbe-text-weich)}

.leistungen{background:linear-gradient(135deg,#08090a 0%,#0f0809 45%,#08090a 100%)}
.leistungen::before{background:radial-gradient(circle at 86% 16%,rgba(239,27,45,.08),transparent 30%)}
.leistungen-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.leistungskarte{position:relative;min-height:170px;padding:1.2rem;display:flex;align-items:flex-end;justify-content:space-between;overflow:hidden;border:1px solid var(--farbe-rahmen);border-radius:var(--radius-klein);background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.92)),url('https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=800&q=75') center/cover;transition:transform var(--uebergang-mittel),border-color var(--uebergang-mittel),box-shadow var(--uebergang-mittel),filter var(--uebergang-mittel)}
.leistungskarte:hover{transform:translateY(-5px);border-color:rgba(255,64,80,.78);box-shadow:0 16px 34px rgba(0,0,0,.36),0 0 0 1px rgba(239,27,45,.12);filter:brightness(1.08)}
.leistungskarte h3{font-size:1rem}
.leistungskarte span{font-size:1.4rem}

.vorteile{background:linear-gradient(125deg,#0c0708 0%,#08090a 55%,#100609 100%)}
.vorteile::before{background:radial-gradient(circle at 75% 48%,rgba(188,16,31,.11),transparent 34%)}
.vorteile-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
.vorteile-raster>img{width:100%;height:clamp(330px,32vw,460px);object-fit:cover;object-position:center;border-radius:var(--radius-mittel);border:1px solid rgba(255,255,255,.12);box-shadow:var(--schatten-weich)}
.vorteile-raster>div>p+p{margin-top:1rem}
.vorteile-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.25rem;padding:0;margin:1.65rem 0 0;list-style:none}
.vorteile-liste li{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;column-gap:.65rem;min-width:0;color:#ececef;font-size:.88rem;line-height:1.4}
.vorteile-liste li::before{content:'✓';display:grid;place-items:center;width:20px;height:20px;margin-top:.05rem;border:1px solid var(--farbe-akzent);border-radius:50%;color:var(--farbe-akzent);font-size:.7rem}

.ablauf{background:linear-gradient(135deg,#08090a 0%,#100709 48%,#08090a 100%)}
.ablauf-liste{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;padding:0;list-style:none}
.ablauf-liste li{position:relative;text-align:center}
.ablauf-liste li::after{content:'';position:absolute;top:26px;left:70%;width:60%;height:1px;background:var(--farbe-akzent)}
.ablauf-liste li:last-child::after{display:none}
.ablauf-liste b{display:grid;place-items:center;width:54px;height:54px;margin:0 auto .7rem;border:1px solid var(--farbe-akzent);border-radius:50%;color:var(--farbe-akzent)}
.ablauf-liste span{font-weight:700}

.referenzen{background:linear-gradient(125deg,#0c0708 0%,#08090a 46%,#0f0709 100%)}
.referenzen::before{background:radial-gradient(circle at 12% 82%,rgba(239,27,45,.07),transparent 28%)}
.referenzen-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.referenzkarte{overflow:hidden;border:1px solid var(--farbe-rahmen);border-radius:var(--radius-klein);background:rgba(255,255,255,.035);transition:transform var(--uebergang-mittel),border-color var(--uebergang-mittel),box-shadow var(--uebergang-mittel)}
.referenzkarte:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.25);box-shadow:0 16px 32px rgba(0,0,0,.32)}
.referenzkarte img{width:100%;aspect-ratio:16/10;object-fit:cover}
.referenzkarte div{padding:1rem}
.referenzkarte h3{font-size:1rem;margin-bottom:.35rem}
.referenzkarte p{font-size:.78rem}

.kundenstimmen{background:linear-gradient(135deg,#08090a 0%,#100608 56%,#08090a 100%)}
.kundenstimmen-raster{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:center}
.kundenstimme{margin:0;padding:2rem}
.kundenstimme-sterne{color:var(--farbe-akzent);letter-spacing:.2em;margin-bottom:1rem}
.kundenstimme p{font-size:1.05rem;color:#e7e8ea}
.kundenstimme footer{margin-top:1.5rem}
.kundenstimme strong,.kundenstimme span{display:block}
.kundenstimme span{color:var(--farbe-text-weich);font-size:.85rem}

.handlungsaufforderung{padding:4.5rem 0;text-align:center;border-block:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at center,rgba(239,27,45,.42),rgba(60,0,5,.85) 45%,#130104),repeating-linear-gradient(125deg,transparent 0 80px,rgba(255,255,255,.05) 82px 84px)}
.handlungsaufforderung p{margin:.8rem 0 1.6rem}
.handlungsaufforderung-inhalt>div{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

.fussbereich{padding:4rem 0 1.5rem;background:linear-gradient(135deg,#08090a 0%,#0d0608 50%,#070809 100%);border-top:1px solid var(--farbe-rahmen)}
.fussbereich-raster{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem}
.fussbereich .marke img{width:clamp(145px,11vw,190px);max-height:50px}
.fussbereich h3{font-size:1rem;margin-bottom:1rem}
.fussbereich a,.fussbereich p{display:block;color:var(--farbe-text-weich);font-size:.86rem;margin:.35rem 0}
.fussbereich a:hover{color:#fff}
.fussbereich-unten{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--farbe-rahmen);color:#777;font-size:.75rem}

@media(max-width:1200px){
  .marke img{width:175px}
  .hauptnavigation{gap:1.15rem}
}

@media(max-width:992px){
  .menue-schalter{display:block}
  .hauptnavigation{position:absolute;top:76px;left:1rem;right:1rem;display:none;flex-direction:column;align-items:flex-start;padding:1.2rem;background:#0a0b0d;border:1px solid var(--farbe-rahmen);border-radius:var(--radius-mittel);box-shadow:var(--schatten-weich)}
  .hauptnavigation.ist-offen{display:flex}
  .kopfzeile-aktion{display:none}
  .hero-inhalt{grid-template-columns:1fr}
  .hero-fakten{display:grid;grid-template-columns:repeat(2,1fr)}
  .ueber-uns-raster,.vorteile-raster{grid-template-columns:1fr}
  .ueber-uns-bild img,.vorteile-raster>img{height:clamp(320px,58vw,500px)}
  .ueber-uns-werte{grid-template-columns:repeat(4,minmax(0,1fr))}
  .leistungen-raster,.referenzen-raster{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  .abschnitt{padding:var(--abstand-7) 0}
  .kennzahlen-raster{grid-template-columns:repeat(2,1fr)}
  .ueber-uns-werte{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vorteile-liste{grid-template-columns:1fr}
  .ablauf-liste{grid-template-columns:repeat(2,1fr);gap:2rem}
  .ablauf-liste li::after{display:none}
  .kundenstimmen-raster{grid-template-columns:1fr}
  .fussbereich-raster{grid-template-columns:repeat(2,1fr)}
  .fussbereich-unten{flex-direction:column}
}

@media(max-width:480px){
  .inhaltsbreite{width:min(calc(100% - 1.25rem),var(--breite-inhalt))}
  .marke img{width:145px;max-height:44px}
  .hero{min-height:760px;padding-top:100px}
  .hero-fakten{grid-template-columns:1fr}
  .hero-fakten div{padding:.8rem 0}
  .hero-aktionen,.handlungsaufforderung-inhalt>div{align-items:stretch;flex-direction:column}
  .hero-aktionen .schaltflaeche,.handlungsaufforderung .schaltflaeche{width:100%}
  .leistungen-raster,.referenzen-raster{grid-template-columns:1fr}
  .ueber-uns-bild img,.vorteile-raster>img{height:300px}
  .fussbereich-raster{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Elementor-/Theme-Reset: verhindert automatisch eingefuegte Warn-, Zitat- oder Icon-Symbole */
.lb-startseite .kundenstimme::before,
.lb-startseite .kundenstimme::after,
.lb-startseite blockquote::before,
.lb-startseite blockquote::after,
.lb-startseite .elementor-widget-html::before,
.lb-startseite .elementor-widget-html::after {
  content: none !important;
  display: none !important;
}

.lb-startseite .kundenstimme {
  quotes: none;
}

/* =========================================================
   Finale Designoptimierungen: getrennte Hintergruende,
   kontrastreiche Hover-Zustaende, Bildgroessen und Listen
   ========================================================= */
.lb-startseite .vertrauen,
.lb-startseite .ueber-uns,
.lb-startseite .kennzahlen,
.lb-startseite .leistungen,
.lb-startseite .vorteile,
.lb-startseite .ablauf,
.lb-startseite .referenzen,
.lb-startseite .kundenstimmen,
.lb-startseite .handlungsaufforderung,
.lb-startseite .fussbereich {
  position: relative;
  isolation: isolate;
}

.lb-startseite .vertrauen {
  background:
    radial-gradient(circle at 12% 50%, rgba(239, 27, 45, .12), transparent 34%),
    linear-gradient(115deg, #09090b 0%, #17070a 48%, #0b0b0d 100%);
}

.lb-startseite .ueber-uns {
  background:
    radial-gradient(circle at 18% 38%, rgba(203, 23, 39, .14), transparent 34%),
    linear-gradient(130deg, #0a0a0c 0%, #13090b 52%, #09090b 100%);
}

.lb-startseite .kennzahlen {
  background:
    radial-gradient(circle at 80% 50%, rgba(239, 27, 45, .10), transparent 30%),
    linear-gradient(90deg, #190609 0%, #0b0b0d 36%, #10080a 68%, #1a060a 100%);
}

.lb-startseite .leistungen {
  background:
    radial-gradient(circle at 88% 18%, rgba(239, 27, 45, .12), transparent 32%),
    linear-gradient(135deg, #09090b 0%, #16080b 48%, #09090b 100%);
}

.lb-startseite .vorteile {
  background:
    radial-gradient(circle at 78% 50%, rgba(211, 20, 37, .15), transparent 34%),
    linear-gradient(125deg, #13080a 0%, #09090b 55%, #18070b 100%);
}

.lb-startseite .ablauf {
  background:
    radial-gradient(circle at 15% 20%, rgba(239, 27, 45, .09), transparent 28%),
    linear-gradient(135deg, #09090b 0%, #16090b 50%, #09090b 100%);
}

.lb-startseite .referenzen {
  background:
    radial-gradient(circle at 10% 80%, rgba(239, 27, 45, .12), transparent 30%),
    linear-gradient(125deg, #15080b 0%, #09090b 48%, #13080a 100%);
}

.lb-startseite .kundenstimmen {
  background:
    radial-gradient(circle at 82% 50%, rgba(239, 27, 45, .13), transparent 32%),
    linear-gradient(135deg, #09090b 0%, #17070a 58%, #09090b 100%);
}

.lb-startseite .vertrauen,
.lb-startseite .ueber-uns,
.lb-startseite .kennzahlen,
.lb-startseite .leistungen,
.lb-startseite .vorteile,
.lb-startseite .ablauf,
.lb-startseite .referenzen,
.lb-startseite .kundenstimmen {
  border-top: 1px solid rgba(255, 255, 255, .055);
  border-bottom: 1px solid rgba(239, 27, 45, .08);
}

/* Buttons: klarer Kontrast auf dunklen und roten Flaechen */
.lb-startseite .schaltflaeche {
  border: 1px solid transparent;
  transform: translateY(0);
  transition:
    transform var(--uebergang-mittel),
    background-color var(--uebergang-mittel),
    color var(--uebergang-mittel),
    border-color var(--uebergang-mittel),
    box-shadow var(--uebergang-mittel);
}

.lb-startseite .schaltflaeche-primaer {
  background: var(--farbe-akzent);
  color: #ffffff;
  border-color: var(--farbe-akzent);
  box-shadow: 0 10px 26px rgba(239, 27, 45, .18);
}

.lb-startseite .schaltflaeche-primaer:hover,
.lb-startseite .schaltflaeche-primaer:focus-visible {
  background: #ffffff;
  color: #111216;
  border-color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .34), 0 0 0 4px rgba(255, 255, 255, .08);
}

.lb-startseite .schaltflaeche-sekundaer {
  background: rgba(255, 255, 255, .045);
  color: #ffffff;
  border-color: rgba(255, 255, 255, .28);
  backdrop-filter: blur(10px);
}

.lb-startseite .schaltflaeche-sekundaer:hover,
.lb-startseite .schaltflaeche-sekundaer:focus-visible {
  background: rgba(239, 27, 45, .16);
  color: #ffffff;
  border-color: rgba(255, 80, 94, .95);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .28), 0 0 24px rgba(239, 27, 45, .12);
}

.lb-startseite .handlungsaufforderung .schaltflaeche-primaer:hover,
.lb-startseite .handlungsaufforderung .schaltflaeche-primaer:focus-visible {
  background: #111216;
  color: #ffffff;
  border-color: #111216;
}

.lb-startseite .handlungsaufforderung .schaltflaeche-sekundaer {
  background: rgba(8, 9, 11, .36);
  border-color: rgba(255, 255, 255, .48);
}

.lb-startseite .handlungsaufforderung .schaltflaeche-sekundaer:hover,
.lb-startseite .handlungsaufforderung .schaltflaeche-sekundaer:focus-visible {
  background: #ffffff;
  color: #111216;
  border-color: #ffffff;
}

/* Beide grossen Bildabschnitte ausgewogener proportionieren */
.lb-startseite .ueber-uns-raster {
  grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr);
  align-items: stretch;
}

.lb-startseite .ueber-uns-bild {
  min-height: 100%;
}

.lb-startseite .ueber-uns-bild img {
  height: 100%;
  min-height: 500px;
  max-height: 620px;
  object-fit: cover;
  object-position: 50% 50%;
}

.lb-startseite .vorteile-raster {
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  align-items: stretch;
}

.lb-startseite .vorteile-raster > img {
  height: 100%;
  min-height: 460px;
  max-height: 560px;
  object-fit: cover;
  object-position: 50% 50%;
}

/* Liste ohne unschoene Wort- und Zeilenumbrueche */
.lb-startseite .vorteile-liste {
  grid-template-columns: repeat(2, minmax(230px, 1fr));
  gap: .9rem 1.35rem;
}

.lb-startseite .vorteile-liste li {
  grid-template-columns: 22px minmax(0, 1fr);
  font-size: .9rem;
  line-height: 1.35;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.lb-startseite .vorteile-liste li::before {
  width: 22px;
  height: 22px;
}

/* Karten-Hover lesbarer und kontrastreicher */
.lb-startseite .leistungskarte:hover,
.lb-startseite .leistungskarte:focus-within {
  transform: translateY(-6px);
  border-color: rgba(255, 90, 103, .92);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .42), 0 0 26px rgba(239, 27, 45, .12);
  filter: brightness(1.12) saturate(1.04);
}

.lb-startseite .referenzkarte:hover,
.lb-startseite .referenzkarte:focus-within {
  transform: translateY(-6px);
  border-color: rgba(255, 90, 103, .72);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .38), 0 0 22px rgba(239, 27, 45, .08);
}

@media (max-width: 992px) {
  .lb-startseite .ueber-uns-raster,
  .lb-startseite .vorteile-raster {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .lb-startseite .ueber-uns-bild img,
  .lb-startseite .vorteile-raster > img {
    height: clamp(340px, 58vw, 500px);
    min-height: 0;
    max-height: none;
  }

  .lb-startseite .vorteile-liste {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .lb-startseite .vorteile-liste {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .lb-startseite .ueber-uns-bild img,
  .lb-startseite .vorteile-raster > img {
    height: 300px;
  }
}

/* =========================================================
   Elementor: gesamte Startseite bis an beide Browserränder
   Der HTML-Block darf auch in einem begrenzten Elementor-
   Container liegen. Der Inhalt selbst bleibt zentriert.
   ========================================================= */
.lb-startseite {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: clip;
}

.lb-startseite > header,
.lb-startseite > section,
.lb-startseite > footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Verhindert seitliche Abstände des Elementor-HTML-Widgets. */
.elementor-widget-html:has(.lb-startseite),
.elementor-widget-html:has(.lb-startseite) > .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Fallback für Browser ohne :has()-Unterstützung. */
.lb-startseite,
.lb-startseite * {
  box-sizing: border-box;
}

@supports not (overflow: clip) {
  .lb-startseite {
    overflow-x: hidden;
  }
}

/* =========================================================
   Gewünschte Erweiterungen: individuelle Kacheln, Popups,
   Kundenstimmen-Karussell und Veranstaltungsanfrage
   ========================================================= */
body.modal-ist-offen {
  overflow: hidden;
}

.lb-startseite [hidden] {
  display: none !important;
}

/* Neue Texte in den beiden Kennzahlenbereichen */
.lb-startseite .ueber-uns-werte b {
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  line-height: 1.15;
}

.lb-startseite .kennzahlen-raster strong {
  font-size: clamp(1.45rem, 2.35vw, 2.35rem);
  line-height: 1.15;
}

/* Leistungskacheln mit jeweils eigenem Stockbild */
.lb-startseite .leistungskarte {
  width: 100%;
  margin: 0;
  color: var(--farbe-text);
  font-family: var(--schrift-text);
  text-align: left;
  cursor: pointer;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .13), rgba(0, 0, 0, .94)),
    var(--kachelbild) center / cover no-repeat;
}

.lb-startseite .leistungskarte:focus-visible,
.lb-startseite .referenzkarte:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

.lb-startseite .leistungskarte h3 {
  max-width: calc(100% - 2.2rem);
}

/* Referenzkarten bleiben optisch unverändert und sind nun klickbar */
.lb-startseite button.referenzkarte {
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--farbe-text);
  font-family: var(--schrift-text);
  text-align: left;
  cursor: pointer;
}

/* Kundenstimmen-Karussell */
.lb-startseite .kundenstimmen-karussell {
  min-width: 0;
}

.lb-startseite .kundenstimmen-buehne {
  position: relative;
  min-height: 365px;
}

.lb-startseite .kundenstimme {
  min-height: 365px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: kundenstimme-einblenden .36s ease both;
}

.lb-startseite .kundenstimme footer {
  margin-top: auto;
  padding-top: 1.5rem;
}

@keyframes kundenstimme-einblenden {
  from { opacity: 0; transform: translateX(14px); }
  to { opacity: 1; transform: translateX(0); }
}

.lb-startseite .kundenstimmen-steuerung {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: 1rem;
}

.lb-startseite .karussell-pfeil,
.lb-startseite .karussell-punkt {
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--farbe-rahmen);
  color: #ffffff;
  cursor: pointer;
  transition: background-color var(--uebergang-kurz), border-color var(--uebergang-kurz), transform var(--uebergang-kurz);
}

.lb-startseite .karussell-pfeil {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .045);
  font-size: 1.15rem;
}

.lb-startseite .karussell-punkt {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
}

.lb-startseite .karussell-punkt.ist-aktiv {
  background: var(--farbe-akzent);
  border-color: var(--farbe-akzent-hell);
  transform: scale(1.18);
}

.lb-startseite .karussell-pfeil:hover,
.lb-startseite .karussell-pfeil:focus-visible {
  background: var(--farbe-akzent);
  border-color: var(--farbe-akzent-hell);
  transform: translateY(-2px);
}

.lb-startseite .karussell-pfeil:focus-visible,
.lb-startseite .karussell-punkt:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

/* Gemeinsamer Popup-Rahmen */
.lb-startseite .modal-ebene {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: clamp(.75rem, 2.5vw, 2rem);
  opacity: 0;
  transition: opacity 180ms ease;
}

.lb-startseite .modal-ebene.ist-sichtbar {
  opacity: 1;
}

.lb-startseite .modal-hintergrund {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .82);
  backdrop-filter: blur(12px);
}

.lb-startseite .modal-karte {
  position: relative;
  z-index: 1;
  width: min(100%, 1040px);
  max-height: calc(100vh - clamp(1.5rem, 5vw, 4rem));
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: var(--radius-gross);
  color: var(--farbe-text);
  background:
    radial-gradient(circle at 88% 14%, rgba(239, 27, 45, .2), transparent 32%),
    linear-gradient(135deg, #121315 0%, #16090b 56%, #0b0c0e 100%);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .68), 0 0 0 1px rgba(239, 27, 45, .08);
  transform: translateY(18px) scale(.985);
  transition: transform 180ms ease;
  scrollbar-width: thin;
  scrollbar-color: var(--farbe-akzent) rgba(255, 255, 255, .06);
}

.lb-startseite .modal-ebene.ist-sichtbar .modal-karte {
  transform: translateY(0) scale(1);
}

.lb-startseite .modal-schliessen {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 0 .12rem;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  background: rgba(5, 6, 7, .76);
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: background-color var(--uebergang-kurz), border-color var(--uebergang-kurz), transform var(--uebergang-kurz);
}

.lb-startseite .modal-schliessen:hover,
.lb-startseite .modal-schliessen:focus-visible {
  background: var(--farbe-akzent);
  border-color: var(--farbe-akzent-hell);
  transform: rotate(5deg);
}

.lb-startseite .modal-schliessen:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

/* Detail-Popup für Leistungen und Referenzen */
.lb-startseite .modal-detail-raster {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  min-height: 570px;
}

.lb-startseite .modal-bildrahmen {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-gross) 0 0 var(--radius-gross);
  background: #08090a;
}

.lb-startseite .modal-bildrahmen::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(8, 9, 10, .72));
  pointer-events: none;
}

.lb-startseite .modal-bildrahmen img {
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
}

.lb-startseite .modal-detail-inhalt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 3.5rem);
}

.lb-startseite .modal-detail-inhalt h2 {
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3.3rem);
}

.lb-startseite .modal-detail-inhalt > p {
  color: #c7c9ce;
}

.lb-startseite .modal-leistungsliste {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1.1rem;
  margin: 1.65rem 0 2rem;
  padding: 0;
  list-style: none;
}

.lb-startseite .modal-leistungsliste li {
  position: relative;
  padding-left: 1.5rem;
  color: #ececef;
  font-size: .88rem;
  line-height: 1.45;
}

.lb-startseite .modal-leistungsliste li::before {
  content: '✓';
  position: absolute;
  top: .05rem;
  left: 0;
  color: var(--farbe-akzent);
  font-weight: 800;
}

.lb-startseite .modal-detail-inhalt .schaltflaeche {
  align-self: flex-start;
}

/* Kontaktformular-Popup */
.lb-startseite .kontakt-modal-karte {
  width: min(100%, 1120px);
  padding: clamp(1.5rem, 4vw, 3.25rem);
}

.lb-startseite .kontakt-modal-kopf {
  max-width: 760px;
  margin-bottom: 2rem;
  padding-right: 3.5rem;
}

.lb-startseite .kontakt-modal-kopf h2 {
  margin-bottom: .75rem;
}

.lb-startseite .formular-raster {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lb-startseite .formular-feld {
  display: grid;
  gap: .48rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.lb-startseite .formular-feld > span,
.lb-startseite .formular-feld legend {
  color: #ececef;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.lb-startseite .formular-feld legend {
  margin-bottom: .5rem;
  padding: 0;
}

.lb-startseite .formular-breit {
  grid-column: 1 / -1;
}

.lb-startseite .formular-feld input,
.lb-startseite .formular-feld select,
.lb-startseite .formular-feld textarea {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: .78rem .9rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-klein);
  outline: none;
  background: rgba(255, 255, 255, .055);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: border-color var(--uebergang-kurz), background-color var(--uebergang-kurz), box-shadow var(--uebergang-kurz);
}

.lb-startseite .formular-feld select {
  color-scheme: dark;
}

.lb-startseite .formular-feld textarea {
  min-height: 110px;
  resize: vertical;
}

.lb-startseite .formular-feld input::placeholder,
.lb-startseite .formular-feld textarea::placeholder {
  color: #7f838b;
}

.lb-startseite .formular-feld input:focus,
.lb-startseite .formular-feld select:focus,
.lb-startseite .formular-feld textarea:focus {
  border-color: var(--farbe-akzent-hell);
  background: rgba(255, 255, 255, .075);
  box-shadow: 0 0 0 3px rgba(239, 27, 45, .13);
}

.lb-startseite .auswahl-kacheln {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

.lb-startseite .auswahl-kacheln label {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.lb-startseite .auswahl-kacheln input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.lb-startseite .auswahl-kacheln span {
  display: grid;
  place-items: center;
  min-height: 46px;
  padding: .6rem .7rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: var(--radius-klein);
  background: rgba(255, 255, 255, .04);
  color: #c9cbd0;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
  transition: border-color var(--uebergang-kurz), background-color var(--uebergang-kurz), color var(--uebergang-kurz), transform var(--uebergang-kurz);
}

.lb-startseite .auswahl-kacheln input:checked + span {
  border-color: var(--farbe-akzent-hell);
  background: rgba(239, 27, 45, .17);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(239, 27, 45, .12);
}

.lb-startseite .auswahl-kacheln input:focus-visible + span {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.lb-startseite .auswahl-kacheln label:hover span {
  border-color: rgba(255, 90, 103, .66);
  transform: translateY(-1px);
}

.lb-startseite .datenschutz-zustimmung {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: .7rem;
  margin-top: 1.35rem;
  color: var(--farbe-text-weich);
  font-size: .76rem;
  line-height: 1.45;
  cursor: pointer;
}

.lb-startseite .datenschutz-zustimmung input {
  width: 18px;
  height: 18px;
  margin: .1rem 0 0;
  accent-color: var(--farbe-akzent);
}

.lb-startseite .formular-abschluss {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--farbe-rahmen);
}

.lb-startseite .formular-abschluss p {
  max-width: 560px;
  font-size: .78rem;
}

.lb-startseite .formular-abschluss .schaltflaeche {
  flex: 0 0 auto;
}

@media (max-width: 992px) {
  .lb-startseite .modal-detail-raster {
    grid-template-columns: 1fr;
  }

  .lb-startseite .modal-bildrahmen {
    min-height: 280px;
    border-radius: var(--radius-gross) var(--radius-gross) 0 0;
  }

  .lb-startseite .modal-bildrahmen img {
    height: clamp(280px, 42vw, 390px);
    min-height: 0;
  }
}

@media (max-width: 768px) {
  .lb-startseite .kundenstimmen-buehne,
  .lb-startseite .kundenstimme {
    min-height: 0;
  }

  .lb-startseite .kundenstimmen-steuerung {
    justify-content: center;
  }

  .lb-startseite .formular-raster {
    grid-template-columns: 1fr;
  }

  .lb-startseite .formular-breit {
    grid-column: auto;
  }

  .lb-startseite .auswahl-kacheln {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lb-startseite .modal-leistungsliste {
    grid-template-columns: 1fr;
  }

  .lb-startseite .formular-abschluss {
    align-items: stretch;
    flex-direction: column;
  }

  .lb-startseite .formular-abschluss .schaltflaeche {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .lb-startseite .modal-ebene {
    align-items: end;
    padding: .5rem;
  }

  .lb-startseite .modal-karte {
    max-height: calc(100vh - 1rem);
    border-radius: var(--radius-mittel);
  }

  .lb-startseite .modal-bildrahmen {
    border-radius: var(--radius-mittel) var(--radius-mittel) 0 0;
  }

  .lb-startseite .modal-bildrahmen img {
    height: 230px;
  }

  .lb-startseite .modal-detail-inhalt,
  .lb-startseite .kontakt-modal-karte {
    padding: 1.25rem;
  }

  .lb-startseite .modal-detail-inhalt {
    padding-top: 1.5rem;
  }

  .lb-startseite .kontakt-modal-kopf {
    margin-bottom: 1.5rem;
    padding-right: 2.75rem;
  }

  .lb-startseite .modal-schliessen {
    top: .75rem;
    right: .75rem;
    width: 40px;
    height: 40px;
  }

  .lb-startseite .auswahl-kacheln {
    grid-template-columns: 1fr 1fr;
  }

  .lb-startseite .modal-detail-inhalt .schaltflaeche {
    width: 100%;
  }
}

/* =========================================================
   Großer Header mit kompaktem Scroll-Zustand
   ========================================================= */
.lb-startseite .kopfzeile {
  --kopfzeile-hoehe: 92px;
  transition: background-color var(--uebergang-mittel), border-color var(--uebergang-mittel), box-shadow var(--uebergang-mittel);
}

.lb-startseite .kopfzeile-inhalt {
  min-height: var(--kopfzeile-hoehe);
  transition: min-height var(--uebergang-mittel);
}

.lb-startseite .kopfzeile .marke img {
  width: clamp(185px, 14vw, 235px);
  max-height: 64px;
  transition: width var(--uebergang-mittel), max-height var(--uebergang-mittel);
}

.lb-startseite .kopfzeile .kopfzeile-aktion {
  min-height: 46px;
  padding: .72rem 1.1rem;
  transition: min-height var(--uebergang-mittel), padding var(--uebergang-mittel), transform var(--uebergang-kurz), background-color var(--uebergang-mittel), color var(--uebergang-mittel), border-color var(--uebergang-mittel), box-shadow var(--uebergang-mittel);
}

.lb-startseite .kopfzeile.ist-kompakt {
  --kopfzeile-hoehe: 70px;
  border-bottom-color: rgba(239, 27, 45, .14);
  background: rgba(4, 5, 6, .94);
  box-shadow: 0 10px 34px rgba(0, 0, 0, .32);
}

.lb-startseite .kopfzeile.ist-kompakt .marke img {
  width: clamp(155px, 11vw, 190px);
  max-height: 50px;
}

.lb-startseite .kopfzeile.ist-kompakt .kopfzeile-aktion {
  min-height: 40px;
  padding: .58rem .95rem;
}

.lb-startseite .hero {
  padding-top: 138px;
}

/* Hero-Video: Schwarz-Weiß, endloser Loop und Bild-Fallback */
.lb-startseite .hero-bild {
  overflow: hidden;
}

.lb-startseite .hero-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: transparent;
  filter: grayscale(1) contrast(1.08) brightness(.78);
  transform: scale(1.012);
}

.lb-startseite .hero-abdunklung {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .58) 42%, rgba(0, 0, 0, .2) 74%, rgba(0, 0, 0, .12) 100%),
    linear-gradient(0deg, #080506 0%, rgba(8, 5, 6, .42) 18%, transparent 38%);
}

/* Alle vier Werte bleiben trotz der gewünschten Umbrüche bündig */
.lb-startseite .ueber-uns-werte b,
.lb-startseite .kennzahlen strong {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.3em;
  line-height: 1.05;
}

/* Navigation der zusätzlichen Projektbilder */
.lb-startseite .modal-bild-navigation {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .45rem .55rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: rgba(5, 6, 7, .76);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .32);
  backdrop-filter: blur(10px);
  transform: translateX(-50%);
}

.lb-startseite .modal-bild-navigation span {
  min-width: 42px;
  color: #d7d8dc;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
}

.lb-startseite .modal-bild-pfeil {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  background: rgba(255, 255, 255, .06);
  color: #ffffff;
  cursor: pointer;
  transition: background-color var(--uebergang-kurz), border-color var(--uebergang-kurz), transform var(--uebergang-kurz);
}

.lb-startseite .modal-bild-pfeil:hover,
.lb-startseite .modal-bild-pfeil:focus-visible {
  border-color: var(--farbe-akzent-hell);
  background: var(--farbe-akzent);
  transform: scale(1.06);
}

.lb-startseite .modal-bild-pfeil:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

/* Zusätzlicher Responsive-Feinschliff für Tablets und kleine Displays */
.lb-startseite .abschnitt-ueberschrift,
.lb-startseite .leistungskarte h3,
.lb-startseite .referenzkarte h3 {
  overflow-wrap: break-word;
}

@media (max-width: 1100px) {
  .lb-startseite .leistungen-raster,
  .lb-startseite .referenzen-raster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lb-startseite .ueber-uns-werte {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .lb-startseite .kopfzeile {
    --kopfzeile-hoehe: 82px;
  }

  .lb-startseite .kopfzeile.ist-kompakt {
    --kopfzeile-hoehe: 68px;
  }

  .lb-startseite .kopfzeile .marke img {
    width: 195px;
    max-height: 56px;
  }

  .lb-startseite .kopfzeile.ist-kompakt .marke img {
    width: 165px;
    max-height: 46px;
  }

  .lb-startseite .hauptnavigation {
    top: var(--kopfzeile-hoehe);
    transition: top var(--uebergang-mittel);
  }

  .lb-startseite .hero {
    padding-top: 122px;
  }

  .lb-startseite .hero-video {
    object-position: 56% 50%;
  }
}

@media (max-width: 900px) {
  .lb-startseite .kennzahlen-raster,
  .lb-startseite .fussbereich-raster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lb-startseite .kundenstimmen-raster {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 600px) {
  .lb-startseite .leistungen-raster,
  .lb-startseite .referenzen-raster {
    grid-template-columns: 1fr;
  }

  .lb-startseite .leistungskarte {
    min-height: 190px;
  }

  .lb-startseite .modal-bild-navigation {
    bottom: .7rem;
  }
}

@media (max-width: 480px) {
  .lb-startseite .kopfzeile {
    --kopfzeile-hoehe: 76px;
  }

  .lb-startseite .kopfzeile.ist-kompakt {
    --kopfzeile-hoehe: 64px;
  }

  .lb-startseite .kopfzeile .marke img {
    width: 160px;
    max-height: 48px;
  }

  .lb-startseite .kopfzeile.ist-kompakt .marke img {
    width: 142px;
    max-height: 42px;
  }

  .lb-startseite .hero {
    padding-top: 108px;
  }

  .lb-startseite .hero-video {
    object-position: 60% 50%;
    filter: grayscale(1) contrast(1.08) brightness(.72);
  }

  .lb-startseite .hero-abdunklung {
    background:
      linear-gradient(90deg, rgba(0, 0, 0, .86) 0%, rgba(0, 0, 0, .57) 68%, rgba(0, 0, 0, .28) 100%),
      linear-gradient(0deg, #080506 0%, rgba(8, 5, 6, .5) 20%, transparent 42%);
  }

  .lb-startseite .kennzahlen-raster,
  .lb-startseite .fussbereich-raster {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .lb-startseite .ueber-uns-werte,
  .lb-startseite .auswahl-kacheln {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Impressum, Datenschutz und AGB – ergänzt ohne bestehendes Design
   zu verändern
   ========================================================= */
.lb-startseite .recht-links {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
}

.lb-startseite .fussbereich-unten .recht-links a {
  display: inline;
  margin: 0;
  color: #777;
  font-size: inherit;
}

.lb-startseite .fussbereich-unten .recht-links a:hover,
.lb-startseite .fussbereich-unten .recht-links a:focus-visible {
  color: #ffffff;
}

.lb-startseite .recht-modal-karte {
  width: min(100%, 920px);
  padding: clamp(1.5rem, 4vw, 3.25rem);
}

.lb-startseite .recht-inhalt {
  padding-right: 3.25rem;
}

.lb-startseite .recht-inhalt h2 {
  margin-bottom: 1.8rem;
}

.lb-startseite .recht-inhalt h3 {
  margin: 1.75rem 0 .65rem;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  letter-spacing: -.015em;
}

.lb-startseite .recht-inhalt p {
  color: #c7c9ce;
}

.lb-startseite .recht-inhalt p + p {
  margin-top: .85rem;
}

.lb-startseite .recht-inhalt a {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(239, 27, 45, .72);
  text-underline-offset: .18em;
}

.lb-startseite .recht-inhalt a:hover,
.lb-startseite .recht-inhalt a:focus-visible {
  color: var(--farbe-akzent-hell);
}

.lb-startseite .recht-stand {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--farbe-rahmen);
  font-size: .78rem;
}

@media (max-width: 480px) {
  .lb-startseite .recht-inhalt {
    padding-right: 2.5rem;
  }

  .lb-startseite .recht-modal-karte {
    padding: 1.25rem;
  }
}/* End custom CSS */