/* Helle Entwurfsfassung: warme Holzbau-Farbwelt ohne dunkle Grundflaeche. */
:root {
  --dk: #2a2116;
  --dk2: #fffaf0;
  --dk3: #f1e6d3;
  --surf: #ffffff;
  --acc: #bf8f2f;
  --acc2: #d6a84c;
  --ww: #241b12;
  --lt: #5f5345;
  --mt: #827564;
  --brd: rgba(135, 96, 35, 0.22);
}

html,
body {
  background: #f6efe2 !important;
  color: var(--ww) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 20% 10%, rgba(214, 168, 76, 0.16), transparent 30%),
    linear-gradient(180deg, #fbf7ef 0%, #f4eadb 48%, #efe0c8 100%);
}

nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  background: rgba(255, 250, 240, 0.95) !important;
  border-bottom: 1px solid var(--brd) !important;
  box-shadow: 0 12px 34px rgba(52, 37, 18, 0.08) !important;
  color: var(--ww) !important;
}

.nav-links a,
nav.eble-nav-enhanced .nav-links a,
.nav-soc a {
  color: #3a2c1e !important;
}

.nav-links a:hover,
nav.eble-nav-enhanced .nav-links a:hover,
footer a:hover {
  color: var(--acc) !important;
}

.nav-btn,
.nav-cta,
nav.eble-nav-enhanced .nav-links a.nav-home,
nav.eble-nav-enhanced .nav-links a.nav-contact,
body > nav .nav-links a.nav-home,
body > nav .nav-links a.nav-contact {
  background: var(--acc2) !important;
  color: #24180b !important;
}

.burger span,
.eble-nav-toggle span {
  background: var(--acc) !important;
}

#hero {
  background-color: #f6efe2 !important;
}

#hero::after {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.91) 0%, rgba(255, 250, 240, 0.72) 42%, rgba(255, 250, 240, 0.32) 100%),
    linear-gradient(to top, rgba(246, 239, 226, 0.86), rgba(246, 239, 226, 0.12) 50%) !important;
}

#hero::before {
  filter: saturate(1.06) brightness(1.08) !important;
}

.h-title,
.sec-t,
.claim-q,
.service-content h3,
.zg-card h3,
.timeline-copy h4,
.profile-copy h3,
.ref-info h3,
.kontakt-panel h2,
h1,
h2,
h3 {
  color: var(--ww) !important;
}

.h-lead,
.sec-sub,
.claim-p,
.service-content p,
.service-list li,
.zg-card p,
.timeline-copy p,
.profile-copy p,
.ref-info p,
.kontakt-panel p,
.hero p,
.section-head p,
.card p,
.mini-card p,
.split-copy p,
.list li,
.band p,
.calc-note,
.result-line,
.info-box,
.check-grid label {
  color: var(--lt) !important;
}

.claim,
#leistungen,
#zielgruppen,
#prozess,
#kontakt,
section,
.band {
  background: transparent !important;
}

.service-row,
.zg-card,
.timeline-row,
.profile-card,
.kontakt-wrap,
.calc-panel,
.result-panel,
.card,
.mini-card,
.split-copy,
.result-main,
.info-box,
.note {
  background: rgba(255, 250, 240, 0.92) !important;
  border-color: var(--brd) !important;
  box-shadow: 0 18px 48px rgba(58, 41, 20, 0.08);
}

.lst-c,
.service-media,
.split-media,
.image-tile,
.ref-card {
  background: #efe4d2 !important;
}

.lst-c:hover {
  background: #fffaf0 !important;
}

.lst-c p,
.h-stat-l,
.copy,
.f-copy,
.service-list li,
.result-line,
.calc-note {
  color: var(--mt) !important;
}

.service-tags span,
.zg-card span,
.eyebrow,
.service-kicker,
.field label,
.result-main strong,
.mini-card strong,
h1 em,
h2 em,
.h-title em,
.sec-t em,
.claim-q em {
  color: var(--acc) !important;
}

.btn-p,
.cookie-note button {
  background: var(--acc2) !important;
  border-color: var(--acc2) !important;
  color: #24180b !important;
}

.btn-g {
  background: rgba(255, 250, 240, 0.72) !important;
  border-color: var(--brd) !important;
  color: var(--ww) !important;
}

.btn-g:hover,
.btn-g:focus-visible {
  background: rgba(214, 168, 76, 0.13) !important;
  color: #24180b !important;
}

.hero {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.9), rgba(255, 250, 240, 0.58), rgba(255, 250, 240, 0.2)),
    var(--hero-img) center/cover no-repeat !important;
}

.hero.has-motion::before {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.94), rgba(255, 250, 240, 0.66), rgba(255, 250, 240, 0.22)) !important;
}

.dachreport-hero::before {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, 0.94), rgba(255, 250, 240, 0.55), rgba(255, 250, 240, 0.18)) !important;
}

.hero.has-motion::after {
  filter: brightness(1.14) saturate(1.08) contrast(1.02) !important;
}

.image-caption {
  background: rgba(255, 250, 240, 0.9) !important;
  color: var(--ww) !important;
}

.field input,
.field select,
.field textarea,
.kontakt-panel input,
.kontakt-panel textarea {
  background: #fffdf8 !important;
  border-color: var(--brd) !important;
  color: var(--ww) !important;
}

footer {
  background: #efe0c8 !important;
  border-top-color: var(--brd) !important;
  color: var(--ww) !important;
}

.cookie-note {
  background: rgba(255, 250, 240, 0.97) !important;
  border-color: var(--brd) !important;
  box-shadow: 0 18px 48px rgba(58, 41, 20, 0.16) !important;
}

@media (max-width: 760px) {
  .mnav,
  body > nav .nav-links,
  nav.eble-nav-enhanced .nav-links {
    background: rgba(255, 250, 240, 0.99) !important;
    color: var(--ww) !important;
  }

  .mnav a,
  body > nav .nav-links a,
  nav.eble-nav-enhanced .nav-links a {
    color: var(--ww) !important;
  }
}

/* Startseitenmuster: helles Anthrazit statt Cremeflaeche. */
body.home-anthracite-sample {
  --dk: #242626;
  --dk2: #efefed;
  --dk3: #d5d5d2;
  --surf: #f8f8f6;
  --acc: #b9872c;
  --acc2: #d1a24a;
  --ww: #1f2221;
  --lt: #4f5352;
  --mt: #707473;
  --brd: rgba(43, 45, 43, 0.16);
  background: #c8c8c7 !important;
  overflow-x: clip !important;
  max-width: 100vw !important;
}

html:has(body.home-anthracite-sample) {
  overflow-x: clip !important;
}

body.home-anthracite-sample::before {
  background:
    linear-gradient(90deg, rgba(34, 36, 35, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(34, 36, 35, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 14% 8%, rgba(209, 162, 74, 0.11), transparent 28%),
    linear-gradient(180deg, #ddddda 0%, #c8c8c7 46%, #babbb9 100%);
  background-size: 44px 44px, 44px 44px, auto, auto;
}

body.home-anthracite-sample nav,
body.home-anthracite-sample nav.eble-nav-enhanced,
body.home-anthracite-sample nav.sc,
body.home-anthracite-sample nav.eble-nav-enhanced.scrolled {
  background: rgba(239, 239, 237, 0.94) !important;
  box-shadow: 0 12px 34px rgba(31, 34, 33, 0.11) !important;
}

body.home-anthracite-sample #hero {
  background: #c8c8c7 !important;
}

body.home-anthracite-sample #hero::before {
  filter: saturate(0.92) brightness(1.03) contrast(1.02) !important;
}

body.home-anthracite-sample #hero::after {
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.95) 0%, rgba(221, 221, 218, 0.78) 39%, rgba(200, 200, 199, 0.42) 68%, rgba(38, 40, 39, 0.18) 100%),
    linear-gradient(to top, rgba(200, 200, 199, 0.88), rgba(200, 200, 199, 0.08) 54%) !important;
}

body.home-anthracite-sample .h-title {
  color: #171a19 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.32);
}

body.home-anthracite-sample .h-lead {
  color: #414743 !important;
}

body.home-anthracite-sample .h-stats {
  background: rgba(239, 239, 237, 0.84) !important;
  border-top-color: rgba(43, 45, 43, 0.14) !important;
  backdrop-filter: blur(12px);
}

body.home-anthracite-sample .h-stat {
  background: rgba(255, 255, 255, 0.32) !important;
  border-right-color: rgba(43, 45, 43, 0.13) !important;
}

body.home-anthracite-sample #claim {
  background: #262827 !important;
  color: #f4f1e7 !important;
}

body.home-anthracite-sample #claim .claim-q {
  color: #f7f3e8 !important;
}

body.home-anthracite-sample #claim .claim-p {
  color: #d2cabc !important;
}

body.home-anthracite-sample .claim-badge {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(209, 162, 74, 0.22) !important;
}

body.home-anthracite-sample #leistungen,
body.home-anthracite-sample #regionale-leistungen,
body.home-anthracite-sample #prozess {
  background: transparent !important;
}

body.home-anthracite-sample .service-row,
body.home-anthracite-sample .timeline-row,
body.home-anthracite-sample .profile-card,
body.home-anthracite-sample .kontakt-wrap,
body.home-anthracite-sample .zg-card {
  background: rgba(248, 248, 246, 0.9) !important;
  border: 1px solid rgba(43, 45, 43, 0.13) !important;
  box-shadow: 0 22px 60px rgba(31, 34, 33, 0.1);
}

body.home-anthracite-sample .service-row {
  border-radius: 10px;
  overflow: hidden;
}

body.home-anthracite-sample .service-media,
body.home-anthracite-sample .ref-card,
body.home-anthracite-sample .lst-c {
  background: #d5d5d2 !important;
}

body.home-anthracite-sample .service-media img,
body.home-anthracite-sample .ref-img img,
body.home-anthracite-sample .profile-img img {
  filter: saturate(0.92) brightness(1.02) contrast(1.02);
}

body.home-anthracite-sample .service-tags span,
body.home-anthracite-sample .zg-card span {
  background: rgba(185, 135, 44, 0.08);
  border-color: rgba(185, 135, 44, 0.24);
}

body.home-anthracite-sample #zielgruppen,
body.home-anthracite-sample #kontakt {
  background:
    linear-gradient(180deg, rgba(38, 40, 39, 0.045), rgba(38, 40, 39, 0.095)) !important;
}

body.home-anthracite-sample #referenzen {
  background: #2a2c2b !important;
}

body.home-anthracite-sample #referenzen .sec-t,
body.home-anthracite-sample #referenzen .ref-info h3 {
  color: #f4f1e7 !important;
}

body.home-anthracite-sample #referenzen .sec-sub,
body.home-anthracite-sample #referenzen .ref-info p {
  color: #d0c8bc !important;
}

body.home-anthracite-sample footer {
  background: #252726 !important;
}

body.home-anthracite-sample footer a,
body.home-anthracite-sample footer .f-copy {
  color: #d8d0c3 !important;
}

body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: clip !important;
}

body.home-anthracite-sample nav,
body.home-anthracite-sample nav.eble-nav-enhanced,
body.home-anthracite-sample nav.sc {
  width: 100% !important;
  max-width: none !important;
  padding-left: clamp(1.2rem, 2.2vw, 3rem) !important;
  padding-right: clamp(1.2rem, 2.2vw, 3rem) !important;
}

body.home-anthracite-sample .h-cnt {
  margin-left: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  max-width: min(1120px, 62vw) !important;
}

body.home-anthracite-sample .h-lead {
  max-width: 660px !important;
}

body.home-anthracite-sample .claim-in,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .service-stack,
body.home-anthracite-sample .zg-grid,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample .timeline,
body.home-anthracite-sample .profile-card,
body.home-anthracite-sample #referenzen > div:first-child,
body.home-anthracite-sample .ref-grid,
body.home-anthracite-sample .jobs-band,
body.home-anthracite-sample .kontakt-wrap {
  width: 100% !important;
  max-width: none !important;
}

body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  padding-right: clamp(1.4rem, 3.2vw, 4.5rem) !important;
}

body.home-anthracite-sample .service-stack,
body.home-anthracite-sample .zg-grid,
body.home-anthracite-sample .timeline,
body.home-anthracite-sample .profile-card,
body.home-anthracite-sample .ref-grid,
body.home-anthracite-sample .jobs-band,
body.home-anthracite-sample .kontakt-wrap,
body.home-anthracite-sample .claim-in {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home-anthracite-sample .service-row {
  grid-template-columns: minmax(420px, 0.95fr) minmax(520px, 1.05fr) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

body.home-anthracite-sample .service-content {
  padding: clamp(3rem, 4.2vw, 5.8rem) !important;
}

body.home-anthracite-sample .service-content p,
body.home-anthracite-sample .service-list {
  max-width: 760px !important;
}

body.home-anthracite-sample .zg-grid,
body.home-anthracite-sample .ref-grid.projects {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  padding-left: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  padding-right: clamp(1.4rem, 3.2vw, 4.5rem) !important;
}

body.home-anthracite-sample .ref-grid:not(.projects) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  padding-left: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  padding-right: clamp(1.4rem, 3.2vw, 4.5rem) !important;
}

body.home-anthracite-sample .kontakt-wrap {
  grid-template-columns: minmax(420px, 0.85fr) minmax(580px, 1.15fr) !important;
}

body.home-anthracite-sample .claim-in,
body.home-anthracite-sample .timeline,
body.home-anthracite-sample .profile-card,
body.home-anthracite-sample .jobs-band,
body.home-anthracite-sample .kontakt-wrap {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

body.home-anthracite-sample .claim-in,
body.home-anthracite-sample .timeline,
body.home-anthracite-sample .profile-card,
body.home-anthracite-sample .jobs-band,
body.home-anthracite-sample .kontakt-wrap {
  padding-left: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  padding-right: clamp(1.4rem, 3.2vw, 4.5rem) !important;
  box-sizing: border-box !important;
}

body.home-anthracite-sample .mnav {
  inset: 0 !important;
  overflow-y: auto !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0.45rem !important;
  padding: calc(5.2rem + env(safe-area-inset-top)) 1rem 1.2rem !important;
  background: rgba(239, 239, 237, 0.98) !important;
  color: #1f2221 !important;
}

body.home-anthracite-sample .mnav a {
  width: 100% !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 0.9rem !important;
  border: 1px solid rgba(43, 45, 43, 0.13) !important;
  background: rgba(248, 248, 246, 0.78) !important;
  color: #1f2221 !important;
  font-family: 'Segoe UI', system-ui, sans-serif !important;
  font-size: clamp(0.95rem, 3.4vw, 1.18rem) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

body.home-anthracite-sample .mnav a.mnav-action {
  min-width: 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  background: rgba(209, 162, 74, 0.18) !important;
  border-color: rgba(185, 135, 44, 0.38) !important;
}

body.home-anthracite-sample .mnav-close {
  position: fixed !important;
  top: calc(1rem + env(safe-area-inset-top)) !important;
  right: 1rem !important;
  background: #2a2c2b !important;
  color: #f3f1eb !important;
  border: 1px solid rgba(43, 45, 43, 0.2) !important;
  z-index: 2 !important;
}

@media (max-width: 760px) {
  body.home-anthracite-sample .mnav,
  body.home-anthracite-sample > nav .nav-links,
  body.home-anthracite-sample nav.eble-nav-enhanced .nav-links {
    background: rgba(239, 239, 237, 0.99) !important;
  }
}

@media (max-width: 980px) {
  body.home-anthracite-sample .h-cnt {
    max-width: 760px !important;
    margin-right: clamp(1.2rem, 4vw, 2rem) !important;
  }

  body.home-anthracite-sample .service-row,
  body.home-anthracite-sample .zg-grid,
  body.home-anthracite-sample .ref-grid,
  body.home-anthracite-sample .ref-grid.projects,
  body.home-anthracite-sample .kontakt-wrap {
    grid-template-columns: 1fr !important;
  }

  body.home-anthracite-sample .service-row:nth-child(even) .service-media {
    order: 0 !important;
  }
}

@media (max-width: 640px) {
  body.home-anthracite-sample #hero,
  body.home-anthracite-sample section,
  body.home-anthracite-sample footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.home-anthracite-sample .h-cnt,
  body.home-anthracite-sample .lst-hd,
  body.home-anthracite-sample .prz-hd,
  body.home-anthracite-sample #referenzen > div:first-child {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.home-anthracite-sample .h-cnt {
    margin-left: 0 !important;
  }

  body.home-anthracite-sample .service-content,
  body.home-anthracite-sample .claim-in,
  body.home-anthracite-sample .timeline,
  body.home-anthracite-sample .profile-card,
  body.home-anthracite-sample .jobs-band,
  body.home-anthracite-sample .kontakt-wrap,
  body.home-anthracite-sample .zg-grid,
  body.home-anthracite-sample .ref-grid,
  body.home-anthracite-sample .ref-grid.projects {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }
}

/* DachReport: Logo und Technikblock in der hellen Variante */
.dr-logo {
  width: clamp(210px, 16vw, 300px) !important;
  padding: clamp(0.75rem, 1.2vw, 1rem) !important;
  margin-bottom: clamp(1.4rem, 2.2vw, 2.1rem) !important;
  background: rgba(41, 44, 43, 0.84) !important;
  border: 1px solid rgba(185, 135, 44, 0.34) !important;
  box-shadow: 0 18px 44px rgba(31, 34, 33, 0.2) !important;
  filter: none !important;
  backdrop-filter: blur(10px);
}

.drone-feature {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  background: transparent !important;
}

.drone-feature .split-media,
.drone-feature .split-copy {
  min-height: clamp(460px, 42vw, 620px) !important;
}

.drone-feature .drone-showcase {
  aspect-ratio: auto !important;
  background: #c8c8c7 !important;
}

.drone-feature .drone-showcase::before {
  border-color: rgba(185, 135, 44, 0.24) !important;
  box-shadow: inset 0 0 70px rgba(31, 34, 33, 0.08) !important;
}

.drone-feature .drone-showcase::after {
  background: linear-gradient(90deg, rgba(200, 200, 199, 0.08), rgba(247, 247, 244, 0.22)) !important;
  mix-blend-mode: screen !important;
}

.drone-feature .drone-showcase img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 48% 50% !important;
  padding: 0 !important;
  background: transparent !important;
  filter: grayscale(0.12) saturate(0.64) brightness(1.12) contrast(0.94) !important;
  transform: none !important;
}

.drone-feature .split-copy {
  justify-content: center !important;
  padding: clamp(2.7rem, 3.7vw, 4.4rem) !important;
}

.drone-feature .split-copy h2 {
  max-width: 740px !important;
  font-size: clamp(2.35rem, 3.25vw, 4rem) !important;
  line-height: 1.02 !important;
  margin-bottom: 1.35rem !important;
}

.drone-feature .split-copy p {
  max-width: 650px !important;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.12rem) !important;
  line-height: 1.75 !important;
}

.drone-feature .list {
  width: min(100%, 700px) !important;
  max-width: 700px !important;
}

.drone-feature .list li {
  font-size: clamp(0.96rem, 0.28vw + 0.9rem, 1.08rem) !important;
  line-height: 1.65 !important;
}

@media (max-width: 980px) {
  .drone-feature {
    grid-template-columns: 1fr !important;
  }

  .drone-feature .split-media,
  .drone-feature .split-copy {
    min-height: auto !important;
  }

  .drone-feature .drone-showcase {
    min-height: clamp(300px, 54vw, 430px) !important;
  }
}

@media (max-width: 640px) {
  .dr-logo {
    width: min(250px, 76vw) !important;
  }

  .drone-feature .split-copy h2 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }
}

/* Startseite: ruhige Grau-Flaechen, keine scheinbaren Buttons ohne Funktion */
body.home-anthracite-sample #claim {
  background: #3a3d3b !important;
}

body.home-anthracite-sample #claim .claim-in {
  min-height: 240px !important;
  padding-top: clamp(3rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(2rem, 6vw, 7rem) !important;
}

body.home-anthracite-sample #claim .claim-q {
  color: #f7f4ea !important;
}

body.home-anthracite-sample .claim-badge {
  background: rgba(31, 34, 33, 0.52) !important;
  border-color: rgba(208, 161, 74, 0.26) !important;
}

body.home-anthracite-sample .service-tags,
body.home-anthracite-sample .lst-tags,
body.home-anthracite-sample .zg-card > span {
  display: none !important;
}

body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding-top: clamp(3rem, 4.6vw, 5rem) !important;
  padding-bottom: clamp(2.6rem, 4.2vw, 4.6rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

body.home-anthracite-sample #regionale-leistungen .lst-hd {
  padding-top: clamp(2.4rem, 3.6vw, 4rem) !important;
  padding-bottom: clamp(2.4rem, 3.6vw, 4rem) !important;
}

body.home-anthracite-sample #zielgruppen,
body.home-anthracite-sample #wirsind,
body.home-anthracite-sample #kontakt {
  background: #c8c8c7 !important;
}

body.home-anthracite-sample .team-profile,
body.home-anthracite-sample .profile-card {
  background: rgba(247, 247, 244, 0.86) !important;
}

body.home-anthracite-sample .team-profile .profile-text,
body.home-anthracite-sample .profile-card .profile-text {
  background: rgba(247, 247, 244, 0.92) !important;
  color: var(--ww) !important;
}

body.home-anthracite-sample #referenzen {
  background: #c8c8c7 !important;
}

body.home-anthracite-sample #referenzen .sec-t {
  color: var(--ww) !important;
}

body.home-anthracite-sample #referenzen .ref-card {
  background: rgba(247, 247, 244, 0.94) !important;
  border-color: rgba(36, 38, 37, 0.16) !important;
  box-shadow: 0 22px 58px rgba(31, 34, 33, 0.12) !important;
}

body.home-anthracite-sample #referenzen .ref-ph img {
  filter: saturate(0.94) brightness(1.03) contrast(1.01) !important;
}

body.home-anthracite-sample #referenzen .ref-info {
  min-height: 190px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: rgba(247, 247, 244, 0.96) !important;
  text-align: center !important;
}

body.home-anthracite-sample #referenzen .ref-info h3 {
  color: var(--ww) !important;
  font-family: var(--ff) !important;
  font-size: clamp(1.35rem, 1.15vw + 1rem, 2rem) !important;
  line-height: 1.16 !important;
}

body.home-anthracite-sample #referenzen .ref-info p {
  color: var(--lt) !important;
  font-family: var(--fb) !important;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.14rem) !important;
  line-height: 1.78 !important;
}

body.home-anthracite-sample footer {
  background: #292c2b !important;
}

body.home-anthracite-sample footer .f-copy {
  text-align: center !important;
}

/* Endgueltige sichtbare Korrektur nach den alten Startseitenregeln */
html,
body {
  background: #bfc0be !important;
}

body.home-anthracite-sample #claim {
  background: #d0d0cd !important;
}

body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding-top: clamp(2rem, 3vw, 3.2rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3.2rem) !important;
}

body.home-anthracite-sample #claim .claim-q {
  color: var(--ww) !important;
}

body.home-anthracite-sample .claim-badge {
  background: rgba(247, 247, 244, 0.42) !important;
  border-color: rgba(36, 38, 37, 0.12) !important;
  box-shadow: 0 14px 42px rgba(31, 34, 33, 0.08) !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer,
body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  overflow-x: clip !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding-top: clamp(2.1rem, 3.2vw, 3.6rem) !important;
  padding-bottom: clamp(1.9rem, 3vw, 3.3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

/* Letzte Layout-Instanz: ueberschreibt alte Startseitenregeln */
:root {
  --page-gutter: clamp(10px, 1.35vw, 26px);
}

html,
body {
  background: #bfc0be !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer,
body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  overflow-x: clip !important;
}

footer,
body.home-anthracite-sample footer {
  margin-bottom: var(--page-gutter) !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding: clamp(2.1rem, 3.2vw, 3.6rem) clamp(1rem, 4vw, 4rem) clamp(1.9rem, 3vw, 3.3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

.section-head > *,
.lst-hd > *,
.zg-hd > *,
.prz-hd > *,
#referenzen > div:first-child > *,
body.home-anthracite-sample .lst-hd > *,
body.home-anthracite-sample .zg-hd > *,
body.home-anthracite-sample .prz-hd > *,
body.home-anthracite-sample #referenzen > div:first-child > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

.section-head h2,
.lst-hd h2,
.zg-hd h2,
.prz-hd h2,
#referenzen > div:first-child h2,
body.home-anthracite-sample .lst-hd h2,
body.home-anthracite-sample .zg-hd h2,
body.home-anthracite-sample .prz-hd h2,
body.home-anthracite-sample #referenzen > div:first-child h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  line-height: 0.98 !important;
}

.section-head p,
.lst-hd p,
.zg-hd p,
.prz-hd p,
#referenzen > div:first-child p,
body.home-anthracite-sample .lst-hd p,
body.home-anthracite-sample .zg-hd p,
body.home-anthracite-sample .prz-hd p,
body.home-anthracite-sample #referenzen > div:first-child p {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.section-head .eyebrow,
.lst-hd .eyebrow,
.zg-hd .eyebrow,
.prz-hd .eyebrow,
body.home-anthracite-sample .lst-hd .eyebrow,
body.home-anthracite-sample .zg-hd .eyebrow,
body.home-anthracite-sample .prz-hd .eyebrow {
  justify-content: center !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #d0d0cd !important;
  color: var(--ww) !important;
}

#claim .claim-in,
body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding-top: clamp(2rem, 3vw, 3.2rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3.2rem) !important;
}

#claim .claim-q,
body.home-anthracite-sample #claim .claim-q {
  color: var(--ww) !important;
}

#claim .claim-q em,
body.home-anthracite-sample #claim .claim-q em {
  color: var(--gold) !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge {
  background: rgba(247, 247, 244, 0.42) !important;
  border-color: rgba(36, 38, 37, 0.12) !important;
  box-shadow: 0 14px 42px rgba(31, 34, 33, 0.08) !important;
}

.service-stack,
.zg-grid,
.ref-grid,
.grid-3,
.grid-4,
.image-grid,
.calc-wrap {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  :root {
    --page-gutter: 8px;
  }

  .section-head,
  .lst-hd,
  .zg-hd,
  .prz-hd,
  #referenzen > div:first-child,
  body.home-anthracite-sample .lst-hd,
  body.home-anthracite-sample .zg-hd,
  body.home-anthracite-sample .prz-hd,
  body.home-anthracite-sample #referenzen > div:first-child {
    padding-top: 2rem !important;
    padding-bottom: 1.8rem !important;
  }
}

/* Finale Abschlusskorrektur: ruhiger Rahmen, kompakte Kopfbereiche, heller Claim */
:root {
  --page-gutter: clamp(10px, 1.35vw, 26px);
}

html,
body {
  background: #bfc0be !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer,
body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  overflow-x: clip !important;
}

footer,
body.home-anthracite-sample footer {
  margin-bottom: var(--page-gutter) !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding: clamp(2.1rem, 3.2vw, 3.6rem) clamp(1rem, 4vw, 4rem) clamp(1.9rem, 3vw, 3.3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

.section-head > *,
.lst-hd > *,
.zg-hd > *,
.prz-hd > *,
#referenzen > div:first-child > *,
body.home-anthracite-sample .lst-hd > *,
body.home-anthracite-sample .zg-hd > *,
body.home-anthracite-sample .prz-hd > *,
body.home-anthracite-sample #referenzen > div:first-child > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

.section-head h2,
.lst-hd h2,
.zg-hd h2,
.prz-hd h2,
#referenzen > div:first-child h2,
body.home-anthracite-sample .lst-hd h2,
body.home-anthracite-sample .zg-hd h2,
body.home-anthracite-sample .prz-hd h2,
body.home-anthracite-sample #referenzen > div:first-child h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  line-height: 0.98 !important;
}

.section-head p,
.lst-hd p,
.zg-hd p,
.prz-hd p,
#referenzen > div:first-child p,
body.home-anthracite-sample .lst-hd p,
body.home-anthracite-sample .zg-hd p,
body.home-anthracite-sample .prz-hd p,
body.home-anthracite-sample #referenzen > div:first-child p {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.section-head .eyebrow,
.lst-hd .eyebrow,
.zg-hd .eyebrow,
.prz-hd .eyebrow,
body.home-anthracite-sample .lst-hd .eyebrow,
body.home-anthracite-sample .zg-hd .eyebrow,
body.home-anthracite-sample .prz-hd .eyebrow {
  justify-content: center !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #d0d0cd !important;
  color: var(--ww) !important;
}

#claim .claim-in,
body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding-top: clamp(2rem, 3vw, 3.2rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3.2rem) !important;
}

#claim .claim-q,
body.home-anthracite-sample #claim .claim-q {
  color: var(--ww) !important;
}

#claim .claim-q em,
body.home-anthracite-sample #claim .claim-q em {
  color: var(--gold) !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge {
  background: rgba(247, 247, 244, 0.42) !important;
  border-color: rgba(36, 38, 37, 0.12) !important;
  box-shadow: 0 14px 42px rgba(31, 34, 33, 0.08) !important;
}

.service-stack,
.zg-grid,
.ref-grid,
.grid-3,
.grid-4,
.image-grid,
.calc-wrap {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  :root {
    --page-gutter: 8px;
  }

  .section-head,
  .lst-hd,
  .zg-hd,
  .prz-hd,
  #referenzen > div:first-child,
  body.home-anthracite-sample .lst-hd,
  body.home-anthracite-sample .zg-hd,
  body.home-anthracite-sample .prz-hd,
  body.home-anthracite-sample #referenzen > div:first-child {
    padding-top: 2rem !important;
    padding-bottom: 1.8rem !important;
  }
}

/* Finale Layout-Korrektur: Rahmen, kompakte Kopfbereiche, Claim hell */
:root {
  --page-gutter: clamp(10px, 1.35vw, 26px);
}

html,
body {
  background: #bfc0be !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer,
body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  overflow-x: clip !important;
}

footer,
body.home-anthracite-sample footer {
  margin-bottom: var(--page-gutter) !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding-top: clamp(2.1rem, 3.2vw, 3.6rem) !important;
  padding-bottom: clamp(1.9rem, 3vw, 3.3rem) !important;
  padding-left: clamp(1.2rem, 3vw, 3rem) !important;
  padding-right: clamp(1.2rem, 3vw, 3rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

.section-head > *,
.lst-hd > *,
.zg-hd > *,
.prz-hd > *,
#referenzen > div:first-child > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.section-head h2,
.lst-hd h2,
.zg-hd h2,
.prz-hd h2,
#referenzen > div:first-child h2 {
  margin: 0 auto !important;
  text-align: center !important;
}

.section-head p,
.lst-hd p,
.zg-hd p,
.prz-hd p,
#referenzen > div:first-child p {
  margin: 1rem auto 0 !important;
  text-align: center !important;
}

.eyebrow,
.section-head .eyebrow,
.lst-hd .eyebrow,
.zg-hd .eyebrow,
.prz-hd .eyebrow {
  justify-content: center !important;
  text-align: center !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #d0d0cd !important;
  color: var(--ww) !important;
}

.claim-in,
body.home-anthracite-sample .claim-in,
body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding-top: clamp(2.2rem, 3.2vw, 3.7rem) !important;
  padding-bottom: clamp(2.2rem, 3.2vw, 3.7rem) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
}

#claim .claim-q,
body.home-anthracite-sample #claim .claim-q {
  color: var(--ww) !important;
}

#claim .claim-q em,
body.home-anthracite-sample #claim .claim-q em {
  color: var(--acc) !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge {
  background: rgba(247, 247, 244, 0.72) !important;
  border-color: rgba(185, 135, 44, 0.24) !important;
  box-shadow: 0 18px 46px rgba(31, 34, 33, 0.1) !important;
}

.service-stack,
.zg-grid,
.ref-grid,
.ref-grid.projects,
.grid-3,
.grid-4,
.image-grid,
.image-grid.triple,
.calc-wrap {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  :root {
    --page-gutter: 8px;
  }
}

body.home-anthracite-sample #hero {
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.96) 0%, rgba(239, 239, 237, 0.88) 42%, rgba(239, 239, 237, 0.52) 66%, rgba(38, 40, 39, 0.12) 100%),
    var(--hero-img) center/cover no-repeat !important;
}

body.home-anthracite-sample .h-sub,
body.home-anthracite-sample .h-lead {
  color: #313634 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.34) !important;
}

/* Unterseiten: Footer und Bau-&-Entwicklung-Abstaende */
footer .f-soc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

footer .f-soc a {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(208, 161, 74, 0.32) !important;
  color: #d8d0c3 !important;
  background: rgba(247, 247, 244, 0.04) !important;
}

footer .f-soc a:hover,
footer .f-soc a:focus-visible {
  color: #21170b !important;
  background: var(--acc2) !important;
}

.page-bau-entwicklung section {
  padding-top: clamp(3rem, 4.2vw, 5rem) !important;
  padding-bottom: clamp(3rem, 4.2vw, 5rem) !important;
}

.page-bau-entwicklung .section-head {
  max-width: 920px !important;
  margin: 0 auto clamp(1.7rem, 2.5vw, 2.8rem) !important;
  padding-left: clamp(1.2rem, 3vw, 3rem) !important;
  padding-right: clamp(1.2rem, 3vw, 3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.page-bau-entwicklung .section-head .eyebrow {
  justify-content: center !important;
}

.page-bau-entwicklung .section-head h2 {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1rem !important;
  text-align: center !important;
}

.page-bau-entwicklung .section-head p {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.page-bau-entwicklung .image-grid {
  margin-top: 0 !important;
}

.page-bau-entwicklung .image-grid + .image-grid {
  margin-top: 1px !important;
}

.page-bau-entwicklung .band {
  padding-top: clamp(2.7rem, 3.8vw, 4.4rem) !important;
  padding-bottom: clamp(2.7rem, 3.8vw, 4.4rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: #c8c8c7 !important;
}

.page-bau-entwicklung .band h2 {
  margin: 0 auto 0.75rem !important;
  text-align: center !important;
  font-size: clamp(2.4rem, 4.4vw, 4.6rem) !important;
}

.page-bau-entwicklung .band p {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.page-bau-entwicklung .band .contact-strip {
  margin-top: 1.35rem !important;
}

@media (max-width: 640px) {
  footer .f-soc {
    width: 100% !important;
  }

  .page-bau-entwicklung section,
  .page-bau-entwicklung .band {
    padding-top: 2.7rem !important;
    padding-bottom: 2.7rem !important;
  }
}

/* Bau & Entwicklung: erster Leistungsblock kompakter */
.page-bau-entwicklung header.hero + section {
  padding-top: clamp(2rem, 2.8vw, 3.2rem) !important;
  padding-bottom: 0 !important;
}

.page-bau-entwicklung header.hero + section .section-head {
  min-height: 0 !important;
  margin-bottom: clamp(1rem, 1.6vw, 1.6rem) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: translateX(0) !important;
}

.page-bau-entwicklung header.hero + section .section-head h2,
.page-bau-entwicklung header.hero + section .section-head p,
.page-bau-entwicklung header.hero + section .section-head .eyebrow {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
}

.page-bau-entwicklung header.hero + section .grid-3 {
  margin-top: 0 !important;
}

/* Asbest & Gewerbe: erster Leistungsblock kompakter */
.page-asbest-gewerbe header.hero + section {
  padding-top: clamp(2rem, 2.8vw, 3.2rem) !important;
  padding-bottom: 0 !important;
}

.page-asbest-gewerbe header.hero + section .section-head {
  min-height: 0 !important;
  max-width: 920px !important;
  margin: 0 auto clamp(1rem, 1.6vw, 1.6rem) !important;
  padding: 0 clamp(1.2rem, 3vw, 3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.page-asbest-gewerbe header.hero + section .section-head h2,
.page-asbest-gewerbe header.hero + section .section-head p,
.page-asbest-gewerbe header.hero + section .section-head .eyebrow {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-content: center !important;
}

.page-asbest-gewerbe header.hero + section .grid-3 {
  margin-top: 0 !important;
}

.page-asbest-gewerbe section {
  padding-top: clamp(2.4rem, 3.5vw, 4.1rem) !important;
  padding-bottom: clamp(2.4rem, 3.5vw, 4.1rem) !important;
}

.page-asbest-gewerbe .section-head {
  min-height: 0 !important;
  max-width: 920px !important;
  margin: 0 auto clamp(1rem, 1.6vw, 1.6rem) !important;
  padding: 0 clamp(1.2rem, 3vw, 3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.page-asbest-gewerbe .section-head .eyebrow {
  justify-content: center !important;
  text-align: center !important;
}

.page-asbest-gewerbe .section-head h2,
.page-asbest-gewerbe .section-head p {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.page-asbest-gewerbe .image-grid,
.page-asbest-gewerbe .grid-3,
.page-asbest-gewerbe .grid-4 {
  margin-top: 0 !important;
}

.page-asbest-gewerbe .image-grid + .image-grid {
  margin-top: 1px !important;
}

.page-asbest-gewerbe .band {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: clamp(2.4rem, 3.5vw, 4rem) !important;
  padding-bottom: clamp(2.6rem, 3.8vw, 4.4rem) !important;
  background: #c8c8c7 !important;
}

.page-asbest-gewerbe .band h2,
.page-asbest-gewerbe .band p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-asbest-gewerbe .band .contact-strip {
  margin-top: 1.35rem !important;
}

/* DachReport: Abschnittskoepfe kompakter */
.page-dachreport section {
  padding-top: clamp(2.4rem, 3.5vw, 4.1rem) !important;
  padding-bottom: clamp(2.4rem, 3.5vw, 4.1rem) !important;
}

.page-dachreport .section-head {
  min-height: 0 !important;
  max-width: 920px !important;
  margin: 0 auto clamp(1rem, 1.6vw, 1.6rem) !important;
  padding: 0 clamp(1.2rem, 3vw, 3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.page-dachreport .section-head .eyebrow {
  justify-content: center !important;
  text-align: center !important;
}

.page-dachreport .section-head h2,
.page-dachreport .section-head p {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.page-dachreport .grid-3,
.page-dachreport .grid-4,
.page-dachreport .split,
.page-dachreport .image-grid {
  margin-top: 0 !important;
}

.page-dachreport .drone-feature {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-dachreport .band {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: clamp(2.5rem, 3.6vw, 4.2rem) !important;
  padding-bottom: clamp(2.7rem, 3.8vw, 4.5rem) !important;
  background: #c8c8c7 !important;
}

.page-dachreport .band h2,
.page-dachreport .band p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-dachreport .band .contact-strip {
  margin-top: 1.35rem !important;
}

/* Sanierungsrechner: Lesbarkeit und Abschlussbereich */
.page-sanierungsrechner .calc-panel,
.page-sanierungsrechner .result-panel {
  background: rgba(247, 247, 244, 0.96) !important;
  color: var(--ww) !important;
}

.page-sanierungsrechner .field label {
  color: var(--acc) !important;
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
}

.page-sanierungsrechner .field input,
.page-sanierungsrechner .field select,
.page-sanierungsrechner .field textarea {
  background: #f7f7f4 !important;
  color: var(--ww) !important;
  border-color: rgba(36, 38, 37, 0.22) !important;
  font-family: var(--fb) !important;
  font-size: 1rem !important;
}

.page-sanierungsrechner .check-grid label,
.page-sanierungsrechner .calc-note,
.page-sanierungsrechner .result-line {
  color: #4b514f !important;
  font-family: var(--fb) !important;
  font-size: clamp(0.98rem, 0.25vw + 0.92rem, 1.08rem) !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.page-sanierungsrechner .check-grid label {
  align-items: center !important;
  gap: 0.62rem !important;
}

.page-sanierungsrechner .check-grid input {
  accent-color: var(--acc2) !important;
  width: 15px !important;
  height: 15px !important;
}

.page-sanierungsrechner .info-box {
  background: rgba(247, 247, 244, 0.9) !important;
  color: #4b514f !important;
  border-color: rgba(185, 135, 44, 0.28) !important;
}

.page-sanierungsrechner .band {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: clamp(2.6rem, 3.8vw, 4.4rem) !important;
  padding-bottom: clamp(2.7rem, 3.8vw, 4.5rem) !important;
  background: #c8c8c7 !important;
  text-align: center !important;
}

.page-sanierungsrechner .band h2,
.page-sanierungsrechner .band p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-sanierungsrechner .band p {
  max-width: 760px !important;
}

.page-sanierungsrechner .band .contact-strip {
  margin-top: 1.35rem !important;
}

/* Fullwidth mit bewusstem Aussenrand */
:root {
  --page-gutter: clamp(10px, 1.35vw, 26px);
}

body {
  background: #bfc0be !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
}

footer {
  margin-bottom: var(--page-gutter) !important;
}

@media (max-width: 640px) {
  :root {
    --page-gutter: 8px;
  }
}

/* Gesamtfassung: ruhiges Hellgrau, volle Breite, klare Fuehrung. */
:root {
  --dk: #242625;
  --dk2: #eeeeec;
  --dk3: #d1d1cf;
  --surf: #f7f7f4;
  --acc: #b8872f;
  --acc2: #d0a14a;
  --ww: #1f2221;
  --lt: #4f5553;
  --mt: #707674;
  --brd: rgba(36, 38, 37, 0.16);
  --ff: Georgia, 'Times New Roman', serif;
  --fb: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html {
  overflow-x: clip;
  background: #c8c8c7;
}

body {
  background: #c8c8c7 !important;
  color: var(--ww) !important;
  font-family: var(--fb) !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  overflow-x: clip !important;
  max-width: 100vw !important;
}

body::before {
  background:
    linear-gradient(90deg, rgba(34, 36, 35, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(34, 36, 35, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, #ddddda 0%, #c8c8c7 48%, #bfc0be 100%) !important;
  background-size: 44px 44px, 44px 44px, auto !important;
}

nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  width: 100% !important;
  max-width: none !important;
  min-height: 76px !important;
  padding: 0.9rem clamp(1.1rem, 2.4vw, 3rem) !important;
  background: rgba(239, 239, 237, 0.96) !important;
  color: var(--ww) !important;
  border-bottom: 1px solid rgba(36, 38, 37, 0.16) !important;
  box-shadow: 0 14px 38px rgba(31, 34, 33, 0.1) !important;
  backdrop-filter: blur(18px);
}

.brand-logo,
nav.eble-nav-enhanced .brand-logo {
  width: clamp(150px, 12vw, 190px) !important;
  height: auto !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

.nav-links,
nav.eble-nav-enhanced .nav-links {
  gap: clamp(0.65rem, 1vw, 1.25rem) !important;
  align-items: center !important;
}

.nav-links a,
nav.eble-nav-enhanced .nav-links a,
footer a {
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  color: #2b302e !important;
  text-decoration: none !important;
}

.nav-btn,
.nav-cta,
nav.eble-nav-enhanced .nav-links a.nav-home,
nav.eble-nav-enhanced .nav-links a.nav-contact,
body > nav .nav-links a.nav-home,
body > nav .nav-links a.nav-contact {
  min-height: 48px !important;
  padding: 0.85rem 1.2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--acc2) !important;
  color: #21170b !important;
  border: 1px solid rgba(115, 80, 23, 0.22) !important;
}

#hero,
.hero,
section,
footer {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: clip !important;
}

section {
  padding: clamp(4.2rem, 6.2vw, 7.5rem) 0 !important;
}

.hero {
  min-height: clamp(560px, 72vh, 820px) !important;
  padding: clamp(7rem, 10vw, 10rem) clamp(1.25rem, 4vw, 5rem) clamp(4rem, 7vw, 7rem) !important;
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.94) 0%, rgba(221, 221, 218, 0.82) 42%, rgba(200, 200, 199, 0.5) 68%, rgba(38, 40, 39, 0.18) 100%),
    var(--hero-img) center/cover no-repeat !important;
}

.hero.has-motion::before,
.dachreport-hero::before {
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.95) 0%, rgba(221, 221, 218, 0.8) 42%, rgba(200, 200, 199, 0.5) 70%, rgba(38, 40, 39, 0.18) 100%) !important;
}

.hero.has-motion::after {
  filter: brightness(1.07) saturate(0.96) contrast(1.02) !important;
}

.hero-inner,
.h-cnt {
  max-width: min(980px, 68vw) !important;
  margin-left: clamp(1.25rem, 2vw, 2.5rem) !important;
}

h1,
h2,
h3,
.h-title,
.sec-t,
.claim-q {
  color: var(--ww) !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

h1,
.h-title {
  font-size: clamp(3.25rem, 7vw, 7.25rem) !important;
  line-height: 0.96 !important;
}

h2,
.sec-t,
.section-head h2 {
  font-size: clamp(2.35rem, 4.4vw, 5.1rem) !important;
  line-height: 1.02 !important;
}

h3 {
  line-height: 1.12 !important;
}

p,
li,
.hero p,
.h-lead,
.sec-sub,
.section-head p,
.service-content p,
.split-copy p,
.card p,
.mini-card p,
.list li,
.result-line,
.calc-note,
.info-box,
.image-caption {
  color: var(--lt) !important;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.14rem) !important;
  line-height: 1.78 !important;
}

.eyebrow,
.service-kicker,
.field label {
  font-family: var(--fb) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  color: var(--acc) !important;
}

.btn-row,
.contact-strip {
  gap: 0.85rem !important;
}

.btn-p,
.btn-g,
.cookie-note button,
.ko-form button,
.mnav-action {
  min-height: 54px !important;
  padding: 0.95rem 1.45rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-family: var(--fb) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.105em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.btn-p,
.cookie-note button,
.ko-form button {
  background: var(--acc2) !important;
  border-color: var(--acc2) !important;
  color: #21170b !important;
}

.btn-g {
  background: rgba(247, 247, 244, 0.74) !important;
  border: 1px solid rgba(36, 38, 37, 0.2) !important;
  color: #252827 !important;
}

.btn-p:hover,
.btn-p:focus-visible,
.btn-g:hover,
.btn-g:focus-visible {
  transform: translateY(-1px);
}

.section-head,
.lst-hd,
.prz-hd,
#referenzen > div:first-child {
  width: 100% !important;
  max-width: none !important;
  padding-left: clamp(1.25rem, 4vw, 5rem) !important;
  padding-right: clamp(1.25rem, 4vw, 5rem) !important;
}

.section-head p,
.sec-sub {
  max-width: 840px !important;
}

.grid-3,
.grid-4,
.split,
.image-grid,
.image-grid.triple,
.service-stack,
.zg-grid,
.timeline,
.profile-card,
.ref-grid,
.jobs-band,
.kontakt-wrap,
.calc-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.grid-3,
.grid-4,
.image-grid,
.image-grid.triple,
.zg-grid,
.ref-grid,
.ref-grid.projects,
.calc-wrap {
  padding-left: clamp(1.25rem, 4vw, 5rem) !important;
  padding-right: clamp(1.25rem, 4vw, 5rem) !important;
  box-sizing: border-box !important;
  background: transparent !important;
  gap: 1px !important;
}

.split,
.service-row,
.timeline-row,
.profile-card,
.kontakt-wrap,
.claim-in,
.jobs-band {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

.card,
.mini-card,
.split-copy,
.service-row,
.timeline-row,
.profile-card,
.kontakt-wrap,
.zg-card,
.calc-panel,
.result-panel,
.result-main,
.info-box,
.note {
  background: rgba(247, 247, 244, 0.93) !important;
  border-color: rgba(36, 38, 37, 0.14) !important;
  box-shadow: 0 20px 54px rgba(31, 34, 33, 0.09) !important;
}

.card,
.mini-card {
  min-height: 240px !important;
  padding: clamp(2rem, 3vw, 3.2rem) !important;
}

.service-row,
.split {
  grid-template-columns: minmax(420px, 0.95fr) minmax(520px, 1.05fr) !important;
}

.service-content,
.split-copy {
  padding: clamp(3rem, 4.2vw, 5.8rem) !important;
}

.service-content p,
.service-list,
.split-copy p,
.list {
  max-width: 760px !important;
}

.service-media,
.split-media,
.image-tile,
.ref-card {
  background: #d1d1cf !important;
}

.service-media img,
.split-media img,
.image-tile img,
.ref-img img,
.profile-img img {
  filter: saturate(0.96) brightness(1.03) contrast(1.02) !important;
}

.image-caption {
  background: rgba(247, 247, 244, 0.92) !important;
  color: #252827 !important;
  border: 1px solid rgba(36, 38, 37, 0.14) !important;
  backdrop-filter: blur(12px);
}

#claim,
#referenzen,
footer {
  background: #292c2b !important;
}

#claim .claim-q,
#referenzen .sec-t,
#referenzen .ref-info h3,
footer a {
  color: #f5f2e9 !important;
}

#claim .claim-p,
#referenzen .sec-sub,
#referenzen .ref-info p,
footer .copy,
footer .f-copy {
  color: #d5cec2 !important;
}

.field input,
.field select,
.field textarea,
.kontakt-panel input,
.kontakt-panel textarea,
.ko-form input,
.ko-form textarea,
.ko-form select {
  min-height: 52px !important;
  background: #f7f7f4 !important;
  border: 1px solid rgba(36, 38, 37, 0.2) !important;
  color: var(--ww) !important;
  font-size: 1rem !important;
  padding: 0.85rem 0.95rem !important;
}

.cookie-note {
  background: rgba(247, 247, 244, 0.97) !important;
  color: var(--ww) !important;
}

.mnav {
  inset: 0 !important;
  overflow-y: auto !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0.45rem !important;
  padding: calc(5.2rem + env(safe-area-inset-top)) 1rem 1.2rem !important;
  background: rgba(239, 239, 237, 0.98) !important;
  color: var(--ww) !important;
}

.mnav a {
  width: 100% !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 0.9rem !important;
  border: 1px solid rgba(36, 38, 37, 0.14) !important;
  background: rgba(247, 247, 244, 0.82) !important;
  color: var(--ww) !important;
  font-family: var(--fb) !important;
  font-size: clamp(0.95rem, 3.4vw, 1.18rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

.mnav a.mnav-action {
  min-width: 0 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  background: rgba(209, 162, 74, 0.18) !important;
  border-color: rgba(185, 135, 44, 0.38) !important;
}

.mnav-close {
  position: fixed !important;
  top: calc(1rem + env(safe-area-inset-top)) !important;
  right: 1rem !important;
  background: #292c2b !important;
  color: #f5f2e9 !important;
  border: 1px solid rgba(36, 38, 37, 0.2) !important;
  z-index: 2 !important;
}

@media (max-width: 1120px) {
  body > nav .nav-links,
  nav.eble-nav-enhanced .nav-links {
    top: 76px !important;
    max-height: calc(100vh - 76px) !important;
    background: rgba(239, 239, 237, 0.99) !important;
    border-color: rgba(36, 38, 37, 0.16) !important;
  }

  body > nav .nav-links a,
  nav.eble-nav-enhanced .nav-links a {
    min-height: 48px !important;
    color: var(--ww) !important;
    border-bottom: 1px solid rgba(36, 38, 37, 0.12) !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.08em !important;
  }
}

@media (max-width: 980px) {
  .hero-inner,
  .h-cnt {
    max-width: 760px !important;
    margin-left: 0 !important;
  }

  .service-row,
  .split,
  .grid-3,
  .grid-4,
  .image-grid,
  .image-grid.triple,
  .zg-grid,
  .ref-grid,
  .ref-grid.projects,
  .kontakt-wrap,
  .calc-wrap {
    grid-template-columns: 1fr !important;
  }

  .service-row:nth-child(even) .service-media {
    order: 0 !important;
  }

  .result-panel {
    position: static !important;
  }
}

@media (max-width: 640px) {
  nav,
  nav.eble-nav-enhanced,
  nav.sc {
    min-height: 70px !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .brand-logo,
  nav.eble-nav-enhanced .brand-logo {
    width: 148px !important;
    max-height: 52px !important;
  }

  .hero {
    min-height: 640px !important;
    padding: 6.2rem 1rem 3rem !important;
  }

  h1,
  .h-title {
    font-size: clamp(2.85rem, 14vw, 4.2rem) !important;
  }

  h2,
  .sec-t,
  .section-head h2 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }

  section {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }

  .section-head,
  .lst-hd,
  .prz-hd,
  #referenzen > div:first-child,
  .grid-3,
  .grid-4,
  .image-grid,
  .image-grid.triple,
  .zg-grid,
  .ref-grid,
  .ref-grid.projects,
  .calc-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .service-content,
  .split-copy,
  .card,
  .mini-card,
  .calc-panel,
  .result-panel {
    padding: 1.35rem !important;
  }

  .btn-row,
  .contact-strip {
    width: 100% !important;
  }

  .btn-p,
  .btn-g {
    width: 100% !important;
  }
}

/* Finale Startseiten-Korrekturen nach allen Alt-Regeln */
body.home-anthracite-sample #claim {
  background: #3a3d3b !important;
}

body.home-anthracite-sample #claim .claim-in {
  min-height: 240px !important;
  padding-top: clamp(3rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(2rem, 6vw, 7rem) !important;
}

body.home-anthracite-sample #claim .claim-q {
  color: #f7f4ea !important;
}

body.home-anthracite-sample .claim-badge {
  background: rgba(31, 34, 33, 0.52) !important;
  border-color: rgba(208, 161, 74, 0.26) !important;
}

body.home-anthracite-sample .service-tags,
body.home-anthracite-sample .lst-tags,
body.home-anthracite-sample .zg-card > span {
  display: none !important;
}

body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding-top: clamp(3rem, 4.6vw, 5rem) !important;
  padding-bottom: clamp(2.6rem, 4.2vw, 4.6rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

body.home-anthracite-sample #regionale-leistungen .lst-hd {
  padding-top: clamp(2.4rem, 3.6vw, 4rem) !important;
  padding-bottom: clamp(2.4rem, 3.6vw, 4rem) !important;
}

body.home-anthracite-sample #zielgruppen,
body.home-anthracite-sample #wirsind,
body.home-anthracite-sample #kontakt {
  background: #c8c8c7 !important;
}

body.home-anthracite-sample .team-profile,
body.home-anthracite-sample .profile-card {
  background: rgba(247, 247, 244, 0.86) !important;
}

body.home-anthracite-sample .team-profile .profile-text,
body.home-anthracite-sample .profile-card .profile-text {
  background: rgba(247, 247, 244, 0.92) !important;
  color: var(--ww) !important;
}

body.home-anthracite-sample #referenzen {
  background: #c8c8c7 !important;
}

body.home-anthracite-sample #referenzen .sec-t {
  color: var(--ww) !important;
}

body.home-anthracite-sample #referenzen .ref-card {
  background: rgba(247, 247, 244, 0.94) !important;
  border-color: rgba(36, 38, 37, 0.16) !important;
  box-shadow: 0 22px 58px rgba(31, 34, 33, 0.12) !important;
}

body.home-anthracite-sample #referenzen .ref-ph img {
  filter: saturate(0.94) brightness(1.03) contrast(1.01) !important;
}

body.home-anthracite-sample #referenzen .ref-info {
  min-height: 190px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: rgba(247, 247, 244, 0.96) !important;
  text-align: center !important;
}

body.home-anthracite-sample #referenzen .ref-info h3 {
  color: var(--ww) !important;
  font-family: var(--ff) !important;
  font-size: clamp(1.35rem, 1.15vw + 1rem, 2rem) !important;
  line-height: 1.16 !important;
}

body.home-anthracite-sample #referenzen .ref-info p {
  color: var(--lt) !important;
  font-family: var(--fb) !important;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.14rem) !important;
  line-height: 1.78 !important;
}

body.home-anthracite-sample footer {
  background: #292c2b !important;
}

body.home-anthracite-sample footer .f-copy {
  text-align: center !important;
}


/* Tatsachliche Endkorrektur: Rahmen, kompakte Titelbloecke, heller Claim */
:root {
  --page-gutter: clamp(10px, 1.35vw, 26px);
}

html,
body {
  background: #bfc0be !important;
}

body > nav,
nav.eble-nav-enhanced,
nav.sc,
nav.eble-nav-enhanced.scrolled {
  left: var(--page-gutter) !important;
  right: var(--page-gutter) !important;
  width: auto !important;
  max-width: none !important;
}

#hero,
.hero,
section,
footer,
body.home-anthracite-sample #hero,
body.home-anthracite-sample section,
body.home-anthracite-sample footer {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  overflow-x: clip !important;
}

footer,
body.home-anthracite-sample footer {
  margin-bottom: var(--page-gutter) !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding: clamp(2.1rem, 3.2vw, 3.6rem) clamp(1rem, 4vw, 4rem) clamp(1.9rem, 3vw, 3.3rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: transparent !important;
}

.section-head h2,
.lst-hd h2,
.zg-hd h2,
.prz-hd h2,
#referenzen > div:first-child h2,
body.home-anthracite-sample .lst-hd h2,
body.home-anthracite-sample .zg-hd h2,
body.home-anthracite-sample .prz-hd h2,
body.home-anthracite-sample #referenzen > div:first-child h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  line-height: 0.98 !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #d0d0cd !important;
  color: var(--ww) !important;
}

#claim .claim-in,
body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding-top: clamp(2rem, 3vw, 3.2rem) !important;
  padding-bottom: clamp(2rem, 3vw, 3.2rem) !important;
}

#claim .claim-q,
body.home-anthracite-sample #claim .claim-q {
  color: var(--ww) !important;
}

#claim .claim-q em,
body.home-anthracite-sample #claim .claim-q em {
  color: var(--gold) !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge {
  background: rgba(247, 247, 244, 0.42) !important;
  border-color: rgba(36, 38, 37, 0.12) !important;
  box-shadow: 0 14px 42px rgba(31, 34, 33, 0.08) !important;
}

.service-stack,
.zg-grid,
.ref-grid,
.grid-3,
.grid-4,
.image-grid,
.calc-wrap {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  :root {
    --page-gutter: 8px;
  }

  .section-head,
  .lst-hd,
  .zg-hd,
  .prz-hd,
  #referenzen > div:first-child,
  body.home-anthracite-sample .lst-hd,
  body.home-anthracite-sample .zg-hd,
  body.home-anthracite-sample .prz-hd,
  body.home-anthracite-sample #referenzen > div:first-child {
    padding-top: 2rem !important;
    padding-bottom: 1.8rem !important;
  }
}
/* Endkorrektur Abstaende: keine langen Leerflaechen zwischen Inhalt und Titel */
section:not(#hero):not(.hero),
body.home-anthracite-sample section:not(#hero):not(.hero) {
  padding-top: clamp(1.6rem, 2.6vw, 3rem) !important;
  padding-bottom: clamp(1.6rem, 2.6vw, 3rem) !important;
}

#claim,
body.home-anthracite-sample #claim {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.section-head,
.lst-hd,
.zg-hd,
.prz-hd,
#referenzen > div:first-child,
body.home-anthracite-sample .lst-hd,
body.home-anthracite-sample .zg-hd,
body.home-anthracite-sample .prz-hd,
body.home-anthracite-sample #referenzen > div:first-child {
  padding-top: clamp(1.6rem, 2.4vw, 2.8rem) !important;
  padding-bottom: clamp(1.45rem, 2.2vw, 2.6rem) !important;
}

.section-head + *,
.lst-hd + *,
.zg-hd + *,
.prz-hd + *,
#referenzen > div:first-child + * {
  margin-top: 0 !important;
}

/* DachReport Endkorrektur: Rand, kompakte Abschnitte, lesbares Logo */
.page-dachreport .dr-logo {
  width: clamp(220px, 15vw, 280px) !important;
  padding: clamp(0.85rem, 1.1vw, 1rem) !important;
  background: rgba(37, 40, 39, 0.78) !important;
  border: 1px solid rgba(185, 135, 44, 0.38) !important;
  box-shadow: 0 18px 48px rgba(31, 34, 33, 0.22) !important;
  backdrop-filter: blur(10px);
}

.page-dachreport section {
  padding-top: clamp(1.25rem, 2vw, 2.3rem) !important;
  padding-bottom: clamp(1.25rem, 2vw, 2.3rem) !important;
}

.page-dachreport .section-head {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
  min-height: 0 !important;
  margin: 0 auto clamp(0.85rem, 1.2vw, 1.25rem) !important;
  padding: clamp(1.25rem, 2vw, 2.4rem) clamp(1rem, 3vw, 3rem) !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.page-dachreport .section-head h2 {
  margin: 0 !important;
  line-height: 0.98 !important;
}

.page-dachreport .section-head p {
  margin: 0.85rem auto 0 !important;
}

.page-dachreport .grid-3,
.page-dachreport .grid-4,
.page-dachreport .split,
.page-dachreport .image-grid {
  width: auto !important;
  max-width: none !important;
  margin-left: clamp(1.25rem, 4vw, 5rem) !important;
  margin-right: clamp(1.25rem, 4vw, 5rem) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.page-dachreport .split,
.page-dachreport .drone-feature {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.page-dachreport .split-media,
.page-dachreport .split-copy,
.page-dachreport .drone-feature .split-media,
.page-dachreport .drone-feature .split-copy {
  min-height: 0 !important;
  height: auto !important;
}

.page-dachreport .split-copy,
.page-dachreport .drone-feature .split-copy {
  padding: clamp(2rem, 3vw, 3.6rem) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.page-dachreport .drone-feature .drone-showcase {
  background: #d0d0cd !important;
}

.page-dachreport .drone-feature .drone-showcase img {
  filter: grayscale(0.08) saturate(0.56) brightness(1.18) contrast(0.9) !important;
}

.page-dachreport .split-media img,
.page-dachreport .image-tile img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.page-dachreport .band {
  margin-left: var(--page-gutter) !important;
  margin-right: var(--page-gutter) !important;
  padding: clamp(2rem, 3.2vw, 3.6rem) clamp(1rem, 4vw, 4rem) !important;
}

.page-dachreport .band h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 0.98 !important;
}

.page-dachreport .band p {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.page-dachreport .band .contact-strip {
  margin-top: 1.25rem !important;
}

/* DachReport Feinschliff: kuerzere Titelbereiche und weniger Leerraum */
.page-dachreport .section-head {
  height: auto !important;
  padding-top: clamp(1rem, 1.45vw, 1.7rem) !important;
  padding-bottom: clamp(0.95rem, 1.35vw, 1.55rem) !important;
  margin-bottom: clamp(0.45rem, 0.9vw, 0.9rem) !important;
}

.page-dachreport .section-head h2 {
  font-size: clamp(2.8rem, 4.25vw, 4.9rem) !important;
  line-height: 0.96 !important;
}

.page-dachreport .section-head p {
  max-width: 720px !important;
  margin-top: 0.75rem !important;
  line-height: 1.58 !important;
}

.page-dachreport .grid-3,
.page-dachreport .grid-4 {
  margin-top: 0 !important;
}

.page-dachreport .card,
.page-dachreport .mini-card {
  min-height: 0 !important;
  padding: clamp(1.45rem, 2vw, 2.25rem) !important;
}

.page-dachreport .band {
  min-height: 0 !important;
  padding-top: clamp(1.65rem, 2.4vw, 2.8rem) !important;
  padding-bottom: clamp(1.65rem, 2.4vw, 2.8rem) !important;
}

.page-dachreport .band h2 {
  font-size: clamp(2.7rem, 4.2vw, 4.8rem) !important;
  line-height: 0.96 !important;
}

.page-dachreport .band p {
  max-width: 720px !important;
  margin-top: 0.85rem !important;
  line-height: 1.58 !important;
}

.page-dachreport .band .contact-strip {
  margin-top: 1rem !important;
}

.page-dachreport .split {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* DachReport finale Verdichtung */
.page-dachreport section {
  padding-top: clamp(0.8rem, 1.35vw, 1.6rem) !important;
  padding-bottom: clamp(0.8rem, 1.35vw, 1.6rem) !important;
}

.page-dachreport .section-head {
  padding-top: clamp(0.75rem, 1vw, 1.15rem) !important;
  padding-bottom: clamp(0.75rem, 1vw, 1.15rem) !important;
  margin-bottom: clamp(0.35rem, 0.7vw, 0.75rem) !important;
}

.page-dachreport .section-head h2 {
  font-size: clamp(2.35rem, 3.35vw, 3.9rem) !important;
  line-height: 0.98 !important;
}

.page-dachreport .section-head p {
  max-width: 680px !important;
  margin-top: 0.6rem !important;
  line-height: 1.52 !important;
}

.page-dachreport .band {
  padding-top: clamp(1.25rem, 1.85vw, 2.2rem) !important;
  padding-bottom: clamp(1.25rem, 1.85vw, 2.2rem) !important;
}

.page-dachreport .band h2 {
  font-size: clamp(2.35rem, 3.3vw, 3.85rem) !important;
  line-height: 0.98 !important;
}

.page-dachreport .band p {
  margin-top: 0.65rem !important;
  line-height: 1.52 !important;
}

.page-dachreport .band .contact-strip {
  margin-top: 0.85rem !important;
}

/* DachReport CTA-Band kuerzer halten */
.page-dachreport .band {
  padding-top: clamp(1.1rem, 1.45vw, 1.75rem) !important;
  padding-bottom: clamp(1.1rem, 1.45vw, 1.75rem) !important;
}

.page-dachreport .band h2 {
  font-size: clamp(2.15rem, 2.75vw, 3.25rem) !important;
}

.page-dachreport .band p {
  max-width: 900px !important;
}

.page-dachreport footer .copy,
footer .copy,
footer .f-copy {
  text-align: center !important;
}

footer .copy,
footer .f-copy {
  max-width: none !important;
}

@media (max-width: 980px) {
  .page-dachreport .split,
  .page-dachreport .drone-feature {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .page-dachreport .grid-3,
  .page-dachreport .grid-4,
  .page-dachreport .split,
  .page-dachreport .image-grid {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
}

/* DachReport tatsaechliche Endverdichtung */
.page-dachreport .band {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.page-dachreport .band h2 {
  font-size: clamp(2.05rem, 2.55vw, 3.05rem) !important;
  line-height: 0.98 !important;
}

.page-dachreport .band p {
  max-width: 960px !important;
  margin-top: 0.55rem !important;
  line-height: 1.48 !important;
}

.page-dachreport .band .contact-strip {
  margin-top: 0.75rem !important;
}
/* DachReport finale Browser-Skalierungskorrektur */
.page-dachreport .band {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Original-Logos erhalten: Kontrast ueber ruhige Markenflaeche */
body > nav > a,
nav.eble-nav-enhanced > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.28rem 0.48rem !important;
  background: #bfc0be !important;
  border: 1px solid rgba(36, 38, 37, 0.12) !important;
  border-radius: 4px !important;
  box-shadow: 0 10px 24px rgba(31, 34, 33, 0.08) !important;
}

body > nav > a .brand-logo,
nav.eble-nav-enhanced > a .brand-logo {
  filter: none !important;
}

.page-dachreport .hero-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.page-dachreport .dr-logo {
  width: clamp(220px, 15vw, 280px) !important;
  padding: 0.72rem 0.9rem !important;
  margin: 0 0 0.7rem !important;
  background: #bfc0be !important;
  border: 1px solid rgba(36, 38, 37, 0.12) !important;
  border-radius: 4px !important;
  box-shadow: 0 18px 42px rgba(31, 34, 33, 0.08) !important;
  filter: none !important;
  backdrop-filter: blur(8px) !important;
}

.page-dachreport .hero-inner > .eyebrow {
  margin: 0 0 clamp(1.3rem, 2vw, 2.1rem) !important;
  align-self: flex-start !important;
}

/* Logo-Flaeche enger: Originalzeichen lesbar, keine breite graue Kapsel */
body > nav > a,
nav.eble-nav-enhanced > a {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0.16rem 0.22rem !important;
  background: rgba(191, 192, 190, 0.72) !important;
  border-color: rgba(36, 38, 37, 0.08) !important;
  box-shadow: 0 8px 18px rgba(31, 34, 33, 0.06) !important;
}

body > nav > a .brand-logo,
nav.eble-nav-enhanced > a .brand-logo {
  width: clamp(176px, 9.8vw, 210px) !important;
  height: auto !important;
  max-height: 68px !important;
  object-fit: contain !important;
}

/* Finale Logo-Loesung: kein Kasten, Original-Logo mit feinem Kontrast */
body > nav > a,
nav.eble-nav-enhanced > a {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body > nav > a .brand-logo,
nav.eble-nav-enhanced > a .brand-logo {
  width: clamp(188px, 10.5vw, 220px) !important;
  max-height: 74px !important;
  filter:
    drop-shadow(0 1px 0 rgba(31, 34, 33, 0.42))
    drop-shadow(0 0 1px rgba(31, 34, 33, 0.38))
    drop-shadow(0 6px 16px rgba(31, 34, 33, 0.08)) !important;
}

/* Einheitlicher Instagram-Direktlink in der oberen Navigation */
body > nav li.nav-instagram,
body > nav .nav-instagram {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body > nav li.nav-instagram a,
body > nav a.nav-instagram {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid rgba(39, 42, 39, 0.16) !important;
  background: transparent !important;
  color: #272a27 !important;
}

body > nav li.nav-instagram a:hover,
body > nav a.nav-instagram:hover {
  background: var(--accent) !important;
  color: #1f2221 !important;
}

/* DachReport: Call-to-action-Band ohne eigenen Kasten, gleicher Grundton */
.page-dachreport .band {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Finale Vereinheitlichung: Header/Footer/Abschnittsbalken */
footer,
body.home-anthracite-sample footer {
  background: rgba(239, 239, 237, 0.96) !important;
  color: #272a27 !important;
  border-top: 1px solid rgba(39, 42, 39, 0.12) !important;
  box-shadow: 0 -18px 42px rgba(31, 34, 33, 0.08) !important;
  padding: clamp(0.8rem, 1.2vw, 1.05rem) clamp(1.4rem, 4vw, 3rem) !important;
}

footer a,
footer .copy,
footer .f-copy,
body.home-anthracite-sample footer a,
body.home-anthracite-sample footer .copy,
body.home-anthracite-sample footer .f-copy {
  color: #272a27 !important;
}

footer .brand-logo,
body.home-anthracite-sample footer .brand-logo {
  width: clamp(188px, 10.5vw, 220px) !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
  filter:
    drop-shadow(0 1px 0 rgba(31, 34, 33, 0.42))
    drop-shadow(0 0 1px rgba(31, 34, 33, 0.38))
    drop-shadow(0 6px 16px rgba(31, 34, 33, 0.08)) !important;
}

footer > a,
body.home-anthracite-sample footer > a {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

footer a[href*="instagram.com"] {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(39, 42, 39, 0.16) !important;
  color: #272a27 !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #bfc0be !important;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.4rem, 4vw, 3rem) !important;
}

#claim .claim-in,
body.home-anthracite-sample #claim .claim-in {
  min-height: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1.4rem, 4vw, 4rem) !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}

#claim .claim-q,
body.home-anthracite-sample #claim .claim-q {
  color: #272a27 !important;
  font-size: clamp(1.05rem, 1.25vw, 1.22rem) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

#claim .claim-q em,
body.home-anthracite-sample #claim .claim-q em {
  color: var(--accent) !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge {
  width: clamp(188px, 10.5vw, 220px) !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.claim-badge img,
body.home-anthracite-sample .claim-badge img {
  width: 100% !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
  filter:
    drop-shadow(0 1px 0 rgba(31, 34, 33, 0.42))
    drop-shadow(0 0 1px rgba(31, 34, 33, 0.38))
    drop-shadow(0 6px 16px rgba(31, 34, 33, 0.08)) !important;
  opacity: 1 !important;
}

.section-head,
.band,
.jobs-band,
#referenzen > div:first-child,
body.home-anthracite-sample #referenzen > div:first-child {
  min-height: 0 !important;
  padding-top: clamp(1.6rem, 2.8vw, 2.8rem) !important;
  padding-bottom: clamp(1.6rem, 2.8vw, 2.8rem) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.section-head h2,
.band h2,
.jobs-band h2,
#referenzen > div:first-child h2 {
  margin: 0 !important;
  line-height: 0.98 !important;
}

.section-head p,
.band p,
.jobs-band p,
#referenzen > div:first-child p {
  margin-top: 0.8rem !important;
  margin-bottom: 0 !important;
  max-width: 760px !important;
}

.section-head + *,
.band + *,
.jobs-band + *,
#referenzen > div:first-child + * {
  margin-top: 0 !important;
}

.contact-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: rgba(39, 42, 39, 0.16) !important;
  border: 1px solid rgba(39, 42, 39, 0.16) !important;
  max-width: 620px !important;
  margin: 1.25rem auto !important;
}

.contact-steps span,
.contact-steps div {
  min-height: 58px !important;
  padding: 0.75rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(239, 239, 237, 0.94) !important;
  color: #272a27 !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

#referenzen,
body.home-anthracite-sample #referenzen {
  background: #bfc0be !important;
}

#referenzen .ref-grid {
  gap: 1px !important;
}

#referenzen .ref-info {
  background: rgba(239, 239, 237, 0.94) !important;
  color: #272a27 !important;
  padding: clamp(1.1rem, 1.8vw, 1.6rem) !important;
  min-height: 132px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: center !important;
}

#referenzen .ref-info h3 {
  color: #272a27 !important;
  font-size: clamp(1.35rem, 1.5vw, 1.65rem) !important;
  line-height: 1.15 !important;
  margin: 0 0 0.55rem !important;
}

#referenzen .ref-info p {
  color: #4f5551 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  #claim .claim-in,
  body.home-anthracite-sample #claim .claim-in {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .claim-badge,
  body.home-anthracite-sample .claim-badge {
    margin-inline: auto !important;
  }

  .contact-steps {
    grid-template-columns: 1fr !important;
  }
}

/* Navigation: aktive Punkte bleiben lesbar und bewegen sich nur leicht nach vorn */
body > nav .nav-links a,
nav.eble-nav-enhanced .nav-links a {
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease,
    color 0.16s ease !important;
  transform: translateZ(0) scale(1) !important;
}

body > nav .nav-links a:hover,
body > nav .nav-links a:focus-visible,
nav.eble-nav-enhanced .nav-links a:hover,
nav.eble-nav-enhanced .nav-links a:focus-visible {
  color: #1f2221 !important;
  transform: translateY(-1px) scale(1.045) !important;
  text-shadow: none !important;
  box-shadow: 0 8px 18px rgba(31, 34, 33, 0.12) !important;
  position: relative !important;
  z-index: 2 !important;
}

body > nav .nav-links a.is-active,
body > nav .nav-links a.is-active:hover,
body > nav .nav-links a.is-active:focus-visible,
nav.eble-nav-enhanced .nav-links a.is-active,
nav.eble-nav-enhanced .nav-links a.is-active:hover,
nav.eble-nav-enhanced .nav-links a.is-active:focus-visible {
  background: var(--accent) !important;
  color: #1f2221 !important;
}

body > nav .nav-links a.nav-home,
body > nav .nav-links a.nav-home:hover,
body > nav .nav-links a.nav-home:focus-visible,
body > nav .nav-links a.nav-contact,
body > nav .nav-links a.nav-contact:hover,
body > nav .nav-links a.nav-contact:focus-visible,
nav.eble-nav-enhanced .nav-links a.nav-home,
nav.eble-nav-enhanced .nav-links a.nav-home:hover,
nav.eble-nav-enhanced .nav-links a.nav-home:focus-visible,
nav.eble-nav-enhanced .nav-links a.nav-contact,
nav.eble-nav-enhanced .nav-links a.nav-contact:hover,
nav.eble-nav-enhanced .nav-links a.nav-contact:focus-visible {
  background: var(--accent) !important;
  color: #1f2221 !important;
}

/* Harte Endregel fuer Header-Navigation: kein gelber Text auf Gold */
body > nav .nav-links a.is-active,
body > nav .nav-links a.is-active:hover,
body > nav .nav-links a.is-active:focus-visible,
body > nav .nav-links a.is-active.is-hovered,
nav.eble-nav-enhanced .nav-links a.is-active,
nav.eble-nav-enhanced .nav-links a.is-active:hover,
nav.eble-nav-enhanced .nav-links a.is-active:focus-visible,
nav.eble-nav-enhanced .nav-links a.is-active.is-hovered,
body > nav .nav-links a.nav-home,
body > nav .nav-links a.nav-home:hover,
body > nav .nav-links a.nav-home:focus-visible,
body > nav .nav-links a.nav-contact,
body > nav .nav-links a.nav-contact:hover,
body > nav .nav-links a.nav-contact:focus-visible,
nav.eble-nav-enhanced .nav-links a.nav-home,
nav.eble-nav-enhanced .nav-links a.nav-home:hover,
nav.eble-nav-enhanced .nav-links a.nav-home:focus-visible,
nav.eble-nav-enhanced .nav-links a.nav-contact,
nav.eble-nav-enhanced .nav-links a.nav-contact:hover,
nav.eble-nav-enhanced .nav-links a.nav-contact:focus-visible {
  background-color: #d8ab45 !important;
  color: #151008 !important;
  text-shadow: none !important;
}

body > nav .nav-links a:hover,
body > nav .nav-links a:focus-visible,
body > nav .nav-links a.is-hovered,
nav.eble-nav-enhanced .nav-links a:hover,
nav.eble-nav-enhanced .nav-links a:focus-visible,
nav.eble-nav-enhanced .nav-links a.is-hovered {
  color: #151008 !important;
  transform: translateY(-1px) scale(1.045) !important;
}

body > nav .nav-links a.is-active::before,
body > nav .nav-links a.is-active::after,
nav.eble-nav-enhanced .nav-links a.is-active::before,
nav.eble-nav-enhanced .nav-links a.is-active::after {
  color: #151008 !important;
}

/* Rechtliche Seiten: lesbar, breit, ohne auslaufende Ueberschriften */
body.page-legal main,
body.page-legal .page,
body:has(.legal) main,
body:has(.legal) .page {
  background: #bfc0be !important;
  padding: clamp(3rem, 5vw, 5rem) clamp(1.4rem, 4vw, 4rem) !important;
}

body.page-legal .wrap,
body:has(.legal) .wrap {
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}

body.page-legal h1,
body:has(.legal) h1 {
  color: #1f2221 !important;
  font-size: clamp(2.6rem, 5vw, 5.2rem) !important;
  line-height: 1 !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
  margin-bottom: clamp(1.8rem, 3vw, 2.8rem) !important;
}

body.page-legal h1 em,
body:has(.legal) h1 em {
  color: #c48b1f !important;
}

body.page-legal .content,
body:has(.legal) .content {
  max-width: 1320px !important;
  grid-template-columns: minmax(220px, 0.28fr) minmax(0, 1fr) !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
}

body.page-legal .side,
body.page-legal .legal,
body:has(.legal) .side,
body:has(.legal) .legal {
  background: rgba(247, 247, 244, 0.94) !important;
  border-color: rgba(39, 42, 39, 0.14) !important;
  color: #4f5551 !important;
}

body.page-legal .side,
body:has(.legal) .side {
  border-left: 0 !important;
  padding: clamp(1.4rem, 2vw, 2rem) !important;
}

body.page-legal .legal,
body:has(.legal) .legal {
  columns: 1 !important;
  padding: clamp(1.6rem, 3vw, 3rem) !important;
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}

body.page-legal .legal h2,
body:has(.legal) .legal h2 {
  color: #1f2221 !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.18 !important;
  margin: clamp(1.4rem, 2.4vw, 2.2rem) 0 0.7rem !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

body.page-legal .legal h2:first-child,
body:has(.legal) .legal h2:first-child {
  margin-top: 0 !important;
}

body.page-legal .legal h3,
body:has(.legal) .legal h3 {
  color: #b98219 !important;
}

body.page-legal .legal p,
body.page-legal .legal li,
body.page-legal .side,
body:has(.legal) .legal p,
body:has(.legal) .legal li,
body:has(.legal) .side {
  color: #4f5551 !important;
  font-size: clamp(0.98rem, 1vw, 1.06rem) !important;
  line-height: 1.7 !important;
}

body.page-legal a,
body:has(.legal) a {
  color: #9a6814 !important;
}

/* Globaler Cookie-/Datenschutzhinweis */
.cookie-note {
  position: fixed !important;
  left: clamp(1rem, 3vw, 2rem) !important;
  right: clamp(1rem, 3vw, 2rem) !important;
  bottom: clamp(1rem, 3vw, 2rem) !important;
  z-index: 3000 !important;
  max-width: 860px !important;
  margin-inline: auto !important;
  display: none !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem 1.1rem !important;
  background: rgba(239, 239, 237, 0.98) !important;
  border: 1px solid rgba(39, 42, 39, 0.16) !important;
  box-shadow: 0 18px 48px rgba(31, 34, 33, 0.16) !important;
  color: #272a27 !important;
}

.cookie-note.show {
  display: flex !important;
}

.cookie-note p {
  margin: 0 !important;
  flex: 1 !important;
  color: #4f5551 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
}

.cookie-note a {
  color: #9a6814 !important;
}

.cookie-note button {
  min-height: 44px !important;
  border: 1px solid #d8ab45 !important;
  background: #d8ab45 !important;
  color: #151008 !important;
  padding: 0 1.2rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

@media (max-width: 900px) {
  body.page-legal .content,
  body:has(.legal) .content {
    grid-template-columns: 1fr !important;
  }

  .cookie-note {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }
}

/* Finale Korrektur 20260712: Footer, Startseiten-Lesbarkeit, Scroll-Pfeil */
html body footer,
html body.home-anthracite-sample footer,
html body.page-legal footer {
  width: calc(100% - clamp(1rem, 2.5vw, 2rem)) !important;
  max-width: 1880px !important;
  margin: 0 auto clamp(0.5rem, 1vw, 0.9rem) !important;
  min-height: 86px !important;
  padding: 0.85rem clamp(1.4rem, 3vw, 2.6rem) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1.1rem, 2vw, 2rem) !important;
  flex-wrap: nowrap !important;
  background: rgba(239, 239, 237, 0.96) !important;
  color: #272a27 !important;
  border: 1px solid rgba(39, 42, 39, 0.12) !important;
  box-shadow: 0 -12px 34px rgba(31, 34, 33, 0.08) !important;
}

html body footer > a {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body footer .brand-logo {
  width: clamp(132px, 8vw, 170px) !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter:
    drop-shadow(0 1px 0 rgba(31, 34, 33, 0.58))
    drop-shadow(0 0 1px rgba(31, 34, 33, 0.52)) !important;
}

html body footer .footer-links,
html body footer .f-links {
  flex: 0 0 auto !important;
  width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1rem, 1.8vw, 1.7rem) !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

html body footer .copy,
html body footer .f-copy {
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  color: #4f5551 !important;
  font-size: clamp(0.78rem, 0.85vw, 0.9rem) !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html body footer a {
  color: #272a27 !important;
  text-decoration: none !important;
}

html body footer .f-soc,
html body footer a[href*="instagram.com"] {
  flex: 0 0 auto !important;
}

html body footer a[href*="instagram.com"] {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(39, 42, 39, 0.16) !important;
  background: rgba(247, 247, 244, 0.68) !important;
  color: #272a27 !important;
}

body.home-anthracite-sample #hero .h-sub,
body.home-anthracite-sample #hero .eyebrow,
#hero .h-sub {
  color: #272a27 !important;
  text-shadow: none !important;
}

body.home-anthracite-sample #hero .h-sub {
  width: fit-content !important;
  max-width: min(680px, 92vw) !important;
  padding: 0.85rem 1rem !important;
  background: rgba(239, 239, 237, 0.82) !important;
  border-left: 3px solid #d8ab45 !important;
  box-shadow: 0 14px 34px rgba(31, 34, 33, 0.12) !important;
}

#claim,
body.home-anthracite-sample #claim {
  background: #bfc0be !important;
}

#claim .claim-badge,
body.home-anthracite-sample #claim .claim-badge {
  background: rgba(239, 239, 237, 0.66) !important;
  border: 1px solid rgba(39, 42, 39, 0.14) !important;
  padding: 0.45rem 0.7rem !important;
  box-shadow: 0 14px 34px rgba(31, 34, 33, 0.1) !important;
}

#claim .claim-badge img,
body.home-anthracite-sample #claim .claim-badge img {
  filter:
    drop-shadow(0 1px 0 rgba(31, 34, 33, 0.66))
    drop-shadow(0 0 1px rgba(31, 34, 33, 0.54)) !important;
}

.eble-scroll-top {
  z-index: 5000 !important;
  right: clamp(1rem, 2vw, 1.5rem) !important;
  bottom: clamp(1rem, 2vw, 1.5rem) !important;
}

@media (max-width: 900px) {
  html body footer,
  html body.home-anthracite-sample footer,
  html body.page-legal footer {
    flex-wrap: wrap !important;
    min-height: 0 !important;
    padding: 1.2rem !important;
  }

  html body footer .copy,
  html body footer .f-copy {
    white-space: normal !important;
    order: 3 !important;
    width: 100% !important;
  }
}

/* Jobs: Bewerbung und lange Berufsbezeichnungen sauber umbrechen */
body:has(main.jobs) .cta {
  max-width: 1180px !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1.2rem, 2.5vw, 2rem) !important;
  text-align: center !important;
  padding: clamp(2.4rem, 5vw, 4rem) clamp(1.3rem, 4vw, 3rem) !important;
}

body:has(main.jobs) .cta > div,
body:has(main.jobs) .cta h2 {
  width: 100% !important;
  max-width: 860px !important;
  margin-inline: auto !important;
}

body:has(main.jobs) .cta .btn {
  margin: 0 auto !important;
  align-self: center !important;
}

body:has(main.jobs) .job {
  min-width: 0 !important;
  overflow: hidden !important;
}

body:has(main.jobs) .job h2 {
  max-width: 100% !important;
  font-size: clamp(2.1rem, 4.3vw, 4.6rem) !important;
  line-height: 1.04 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

nav.eble-nav-enhanced .burger {
  display: none !important;
}

@media (max-width: 520px) {
  body.home-anthracite-sample #referenzen .ref-info h3 {
    max-width: 100% !important;
    font-size: clamp(1.2rem, 6.1vw, 1.55rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }
}

@media (max-width: 1120px) {
  body:has(main.jobs) .jobs {
    grid-template-columns: 1fr !important;
  }
}

/* Korrekturrunde nach Upload 20260712 */
body.page-dachreport {
  background: #bfc0be !important;
  color: #272a27 !important;
}

body.page-dachreport nav,
body.page-dachreport nav.eble-nav-enhanced,
body.page-dachreport footer {
  background: rgba(239, 239, 237, 0.96) !important;
  color: #272a27 !important;
}

body.page-dachreport .hero,
body.page-dachreport .hero.has-motion {
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.94), rgba(239, 239, 237, 0.56), rgba(239, 239, 237, 0.30)),
    var(--hero-img) center 34% / cover no-repeat !important;
  color: #272a27 !important;
}

body.page-dachreport .hero.has-motion::before {
  background:
    linear-gradient(90deg, rgba(239, 239, 237, 0.94), rgba(239, 239, 237, 0.56), rgba(239, 239, 237, 0.30)) !important;
}

body.page-dachreport .hero.has-motion::after {
  background: var(--hero-img) center 34% / cover no-repeat !important;
  opacity: 0.95 !important;
}

body.page-dachreport .hero h1,
body.page-dachreport .hero p,
body.page-dachreport .hero .eyebrow {
  color: #272a27 !important;
  text-shadow: none !important;
}

body.page-dachreport .hero .btn-g {
  background: rgba(239, 239, 237, 0.82) !important;
  color: #272a27 !important;
  border-color: rgba(39, 42, 39, 0.22) !important;
}

.sec-t,
.section-head h2,
.split-copy h2,
.band h2,
.hero h1,
body.page-dachreport .section-head h2,
body.page-dachreport .band h2,
body.page-dachreport .split-copy h2 {
  line-height: 1.13 !important;
}

.sec-t em,
.section-head h2 em,
.split-copy h2 em,
.band h2 em,
.hero h1 em,
body.page-dachreport .section-head h2 em,
body.page-dachreport .band h2 em,
body.page-dachreport .split-copy h2 em {
  display: block !important;
  line-height: 1.12 !important;
  margin-top: 0.04em !important;
}

.claim-badge,
body.home-anthracite-sample .claim-badge,
#claim .claim-badge,
body.home-anthracite-sample #claim .claim-badge {
  width: clamp(116px, 9vw, 150px) !important;
  height: clamp(116px, 9vw, 150px) !important;
  border-radius: 999px !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(239, 239, 237, 0.72) !important;
}

.claim-badge img,
body.home-anthracite-sample .claim-badge img,
#claim .claim-badge img,
body.home-anthracite-sample #claim .claim-badge img {
  width: 78% !important;
  height: 78% !important;
  object-fit: contain !important;
}

/* Mobile Korrektur 20260712: keine Desktop-Spalten und keine abgeschnittenen Texte auf Smartphones. */
.card h3 a,
.mini-card h3 a,
.grid-3 h3 a,
.grid-4 h3 a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    font-size: 16px !important;
  }

  nav,
  nav.eble-nav-enhanced,
  body.home-anthracite-sample nav,
  body.page-dachreport nav,
  body > nav {
    width: 100% !important;
    min-height: 112px !important;
    padding: 1rem 1.1rem !important;
    gap: 0.8rem !important;
  }

  nav .brand-logo,
  nav.eble-nav-enhanced .brand-logo,
  body > nav .brand-logo {
    width: clamp(178px, 58vw, 230px) !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
  }

  .hero,
  #hero,
  body.home-anthracite-sample #hero,
  body.page-dachreport .hero,
  body.page-sanierungsrechner .hero {
    width: calc(100% - 1.4rem) !important;
    margin: 0.7rem auto !important;
    min-height: auto !important;
    padding: clamp(2.2rem, 9vw, 3.2rem) 1.35rem !important;
    overflow: hidden !important;
  }

  .hero-inner,
  body.page-dachreport .hero-inner,
  body.home-anthracite-sample .hero-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .h-title,
  .hero h1,
  #hero h1,
  .sec-t,
  .section-head h2,
  .split-copy h2,
  .band h2,
  body.page-dachreport .hero h1,
  body.page-sanierungsrechner .hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.45rem, 13vw, 4.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .h-title em,
  .hero h1 em,
  .sec-t em,
  .section-head h2 em,
  .split-copy h2 em,
  .band h2 em {
    display: block !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  .h-sub,
  .h-lead,
  .hero p,
  .section-head p,
  .split-copy p,
  .band p,
  .card p,
  .mini-card p,
  .image-caption,
  .ref-info p {
    max-width: 100% !important;
    font-size: clamp(1rem, 4.35vw, 1.18rem) !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    overflow-wrap: break-word !important;
  }

  section:not(#hero):not(.hero),
  body.home-anthracite-sample section:not(#hero):not(.hero),
  body.page-dachreport section,
  body.page-bau-entwicklung section,
  body.page-asbest-gewerbe section {
    width: calc(100% - 1.4rem) !important;
    margin: 0.7rem auto !important;
    padding: clamp(1.9rem, 8vw, 2.6rem) 1rem !important;
    overflow: hidden !important;
  }

  .section-head,
  body.page-dachreport .section-head,
  body.page-bau-entwicklung .section-head,
  body.page-asbest-gewerbe .section-head {
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 auto 1.6rem !important;
    display: block !important;
    text-align: center !important;
  }

  .grid-3,
  .grid-4,
  .image-grid,
  .image-grid.triple,
  .split,
  .ref-grid,
  .ref-grid.projects,
  body.home-anthracite-sample .ref-grid,
  body.home-anthracite-sample .ref-grid.projects,
  body.page-dachreport .grid-3,
  body.page-dachreport .grid-4,
  body.page-dachreport .split,
  body.page-dachreport .image-grid,
  body.page-bau-entwicklung .grid-3,
  body.page-bau-entwicklung .grid-4,
  body.page-bau-entwicklung .image-grid,
  body.page-asbest-gewerbe .grid-3,
  body.page-asbest-gewerbe .grid-4,
  body.page-asbest-gewerbe .image-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin: 0 auto !important;
  }

  .split,
  body.page-dachreport .split {
    display: flex !important;
    flex-direction: column !important;
  }

  .card,
  .mini-card,
  .zg-card,
  .split-copy,
  .profile-card,
  .ref-card,
  .image-tile,
  body.home-anthracite-sample #referenzen .ref-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(1.45rem, 6vw, 2rem) 1rem !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  .card h3,
  .mini-card h3,
  .zg-card h3,
  .ref-info h3,
  body.home-anthracite-sample #referenzen .ref-info h3 {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .split-media,
  .service-media,
  .ref-ph,
  .ref-img,
  .image-tile,
  body.page-dachreport .split-media,
  body.page-dachreport .image-tile {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
  }

  .split-media img,
  .service-media img,
  .ref-ph img,
  .ref-img img,
  .image-tile img,
  body.page-dachreport .split-media img,
  body.page-dachreport .image-tile img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .image-caption,
  body.page-dachreport .image-caption {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1rem !important;
    background: rgba(247, 247, 244, 0.94) !important;
    color: #272a27 !important;
    text-align: left !important;
  }

  body.home-anthracite-sample #referenzen .ref-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.home-anthracite-sample #referenzen .ref-info {
    min-height: 0 !important;
    padding: 1.2rem !important;
  }

  .contact-strip,
  .hero-actions,
  .h-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 0.7rem !important;
  }

  .btn-p,
  .btn-g,
  .btn,
  .hero-actions a,
  .h-actions a {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0.95rem 1rem !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }
}
