@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("../fonts/material-symbols-outlined.ttf") format("truetype");
}

.wf-source-page {
  color: #1b1c18;
  background: #fbf9f2;
}

:where(.wf-source-page) h1,
:where(.wf-source-page) h2,
:where(.wf-source-page) h3,
:where(.wf-source-page) h4,
:where(.wf-source-page) p {
  margin: 0;
}

:where(.wf-source-page) h1,
:where(.wf-source-page) h2,
:where(.wf-source-page) h3,
:where(.wf-source-page) h4 {
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: wrap;
}

:where(.wf-source-page) p,
:where(.wf-source-page) li {
  text-wrap: wrap;
}

:where(.wf-source-page) ul,
:where(.wf-source-page) ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

.material-symbols-outlined {
  display: inline-block;
  flex: 0 0 auto;
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  letter-spacing: normal;
  word-wrap: normal;
  direction: ltr;
  white-space: nowrap;
  text-transform: none;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
}

.site-footer__contact address,
.site-footer__contact p {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.site-footer__contact .material-symbols-outlined {
  flex: 0 0 24px;
  color: #697386;
  font-size: 24px;
  line-height: 24px;
}

/* Projektweite Lesbarkeitskorrektur fuer dunkle Wireframe-Flaechen. */
.text-on-primary-container {
  color: #fff;
}

.text-secondary-fixed-dim {
  color: rgba(255, 255, 255, .78);
}

.wf-home-hero .wf-kicker {
  color: #fbf9f2;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) {
  color: #fbf9f2;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(h1, h2, h3, h4) {
  color: #fbf9f2;
  opacity: 1;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(p, li, summary) {
  color: rgba(255, 255, 255, .94);
  opacity: 1;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.text-primary, .text-deep-navy, .text-on-surface, .text-on-surface-variant) {
  color: #fbf9f2;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.text-secondary, .text-slate-gray, .text-secondary-fixed-dim) {
  color: rgba(255, 255, 255, .78);
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) .text-muted-gold {
  color: #d7a91e;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(a:not(.bg-nordic-white):not(.bg-surface):not(.bg-sand-stone):not(.bg-surface-container):not(.bg-surface-container-low):not(.bg-surface-container-high):not(.bg-surface-container-lowest)) {
  color: #fff;
  opacity: 1;
  text-decoration-color: currentColor;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(a:not(.bg-nordic-white):not(.bg-surface):not(.bg-sand-stone):not(.bg-surface-container):not(.bg-surface-container-low):not(.bg-surface-container-high):not(.bg-surface-container-lowest)):hover,
.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(a:not(.bg-nordic-white):not(.bg-surface):not(.bg-sand-stone):not(.bg-surface-container):not(.bg-surface-container-low):not(.bg-surface-container-high):not(.bg-surface-container-lowest)):focus-visible {
  color: #d7a91e;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :focus-visible {
  outline: 2px solid #d7a91e;
  outline-offset: 3px;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) {
  color: #1b1c18;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :where(h1, h2, h3, h4, .text-primary, .text-deep-navy) {
  color: #041632;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :where(p, li, span, label, summary, .text-secondary, .text-slate-gray, .text-on-surface-variant) {
  color: #4a5568;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :where(a) {
  color: #041632;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :where(a:hover, a:focus-visible) {
  color: #765900;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) .text-muted-gold {
  color: #765900;
}

.wf-source-page :where(.bg-primary, .bg-deep-navy, .bg-primary-container) :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) .contact-form label {
  color: #041632;
}

.wf-source-page > section:first-of-type[style*="background-image"] {
  isolation: isolate;
}

.wf-source-page > section:first-of-type[style*="background-image"]::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(4, 22, 50, .94) 0%,
    rgba(4, 22, 50, .88) 42%,
    rgba(4, 22, 50, .68) 72%,
    rgba(4, 22, 50, .52) 100%
  );
}

.wf-source-page > section:first-of-type[style*="background-image"] > :where(div) {
  position: relative;
  z-index: 2;
}

.wf-source-page > section:first-of-type[style*="background-image"] :where(h1, h2, h3, p, li, .text-primary, .text-deep-navy, .text-on-surface, .text-on-surface-variant, .text-secondary, .text-slate-gray) {
  color: #fbf9f2;
  opacity: 1;
}

.wf-source-page > section:first-of-type[style*="background-image"] .text-muted-gold:not(.material-symbols-outlined) {
  color: #fbf9f2;
}

.wf-source-page > section:first-of-type[style*="background-image"] .material-symbols-outlined.text-muted-gold {
  color: #d7a91e;
}

.wf-source-page--bauschadengutachten > section:first-of-type .bg-primary\/80 {
  background: linear-gradient(
    90deg,
    rgba(4, 22, 50, .95) 0%,
    rgba(4, 22, 50, .9) 42%,
    rgba(4, 22, 50, .72) 72%,
    rgba(4, 22, 50, .56) 100%
  ) !important;
}

.wf-source-page--bauschadengutachten > section:first-of-type :where(h1, h2, h3, p, li, .text-primary, .text-deep-navy, .text-on-surface, .text-on-surface-variant, .text-secondary, .text-slate-gray) {
  color: #fbf9f2;
  opacity: 1;
}

.wf-source-page--bauschadengutachten > section:first-of-type .text-muted-gold {
  color: #d7a91e;
}

.wf-source-page--blog > section:first-of-type .glass-panel {
  color: #fbf9f2;
  background: rgba(4, 22, 50, .76);
  border-color: rgba(215, 169, 30, .88);
}

.wf-source-page--blog > section:first-of-type .glass-panel :where(h1, h2, h3, p, .text-primary, .text-deep-navy, .text-on-surface, .text-on-surface-variant, .text-secondary) {
  color: #fbf9f2;
  opacity: 1;
}

.wf-source-page--blog > section:first-of-type .glass-panel .text-secondary {
  color: #d7a91e;
}

.wf-source-page--kontakt .bg-primary .text-on-primary-container,
.wf-source-page--kontakt .bg-primary .text-on-primary-container .material-symbols-outlined {
  color: #fff;
}

.wf-source-page--kontakt .bg-primary a:hover .text-on-primary-container,
.wf-source-page--kontakt .bg-primary a:focus-visible .text-on-primary-container,
.wf-source-page--kontakt .bg-primary a:hover .text-on-primary-container .material-symbols-outlined,
.wf-source-page--kontakt .bg-primary a:focus-visible .text-on-primary-container .material-symbols-outlined {
  color: #d7a91e;
}

@media (max-width: 767px) {
  .wf-source-page > section:first-of-type[style*="background-image"]::before,
  .wf-source-page--bauschadengutachten > section:first-of-type .bg-primary\/80 {
    background: linear-gradient(
      180deg,
      rgba(4, 22, 50, .96) 0%,
      rgba(4, 22, 50, .92) 52%,
      rgba(4, 22, 50, .84) 100%
    ) !important;
  }
}

.wf-source-page details > summary {
  list-style: none;
}

.wf-source-page details > summary::-webkit-details-marker {
  display: none;
}

.wf-source-page .contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
}

.wf-source-page .contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.wf-source-page .contact-form__field {
  margin: 0;
}

.wf-source-page .contact-form__field--wide {
  grid-column: 1 / -1;
}

.wf-source-page .contact-form:not(.contact-form--paired-contact) .contact-form__field:nth-child(3),
.wf-source-page .contact-form:not(.contact-form--paired-contact) .contact-form__field:nth-child(4) {
  grid-column: 1 / -1;
}

.wf-source-page .contact-form .required-marker {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wf-source-page .contact-form__privacy.screen-reader-text {
  white-space: normal;
  overflow-wrap: anywhere;
}

.wf-source-page .contact-form label {
  display: block;
  margin-bottom: 8px;
  color: #041632;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

.wf-source-page .contact-form input,
.wf-source-page .contact-form textarea,
.wf-source-page .contact-form select {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  color: #041632;
  background: #fff;
  border: 1px solid #c5c6ce;
  border-radius: 0;
}

.wf-source-page .contact-form textarea {
  min-height: 128px;
  resize: vertical;
}

.wf-source-page .contact-form input:focus,
.wf-source-page .contact-form textarea:focus,
.wf-source-page .contact-form select:focus {
  border-color: #041632;
  outline: 1px solid #041632;
  outline-offset: -1px;
}

.wf-source-page .contact-form .button {
  width: 100%;
  min-height: 56px;
  padding: 16px 24px;
  color: #fff;
  background: #041632;
  border: 1px solid #041632;
}

.wf-source-page .contact-form--compact .button {
  width: auto;
  align-self: center;
  padding-inline: 32px;
}

.wf-source-page--bauabnahme + .site-footer {
  margin-top: 96px;
}

/* Startseite: Desktop-Geometrie des freigegebenen 1280-px-Wireframes. */
@media (min-width: 1025px) {
  body.home {
    padding-bottom: 74px;
  }

  .site-header {
    border-bottom-width: 0;
    background-image: linear-gradient(
      to bottom,
      transparent calc(100% - 1px),
      #c5c6ce calc(100% - 1px)
    );
  }

  .wf-source-page--bauabnahme > section:nth-of-type(1) {
    height: 824px;
    min-height: 824px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(2) { padding-bottom: 97px; }
  .wf-source-page--bauabnahme > section:nth-of-type(3) { padding-bottom: 112px; }
  .wf-source-page--bauabnahme > section:nth-of-type(4) { padding-bottom: 103px; }
  .wf-source-page--bauabnahme > section:nth-of-type(5) { padding-bottom: 94px; }
  .wf-source-page--bauabnahme > section:nth-of-type(6) { padding-bottom: 99px; }
  .wf-source-page--bauabnahme > section:nth-of-type(7) { padding-bottom: 98px; }
  .wf-source-page--bauabnahme > section:nth-of-type(8) { padding-bottom: 100px; }
  .wf-source-page--bauabnahme > section:nth-of-type(9) { padding-bottom: 112px; }
  .wf-source-page--bauabnahme > section:nth-of-type(10) { padding-bottom: 99px; }
  .wf-source-page--bauabnahme > section:nth-of-type(11) { padding-bottom: 94px; }
  .wf-source-page--bauabnahme > section:nth-of-type(12) { padding-bottom: 110px; }
  .wf-source-page--bauabnahme > section:nth-of-type(13) { padding-bottom: 68px; }

  .wf-source-page--bauabnahme + .site-footer {
    height: 432px;
    padding-block: 0;
    background: #f2f0e9;
  }

  .wf-source-page--bauabnahme + .site-footer > .container {
    height: 431px;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__grid {
    box-sizing: border-box;
    height: 358px;
    padding-block: 64px;
    margin-bottom: 0;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__bottom {
    box-sizing: border-box;
    height: 73px;
    padding-block: 24px;
    margin-top: 0;
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__bottom p,
  .wf-source-page--bauabnahme + .site-footer .site-footer__legal a {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__legal a {
    min-height: 20px;
  }

  .wf-source-page--bauschadengutachten > section:nth-of-type(1) {
    height: 824px;
    min-height: 824px;
  }

  .wf-source-page--bauschadengutachten > section:nth-of-type(2) { padding-bottom: 74px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(3) { padding-bottom: 113px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(4) { padding-bottom: 93px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(5) { padding-bottom: 95px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(6) { padding-bottom: 82px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(7) { padding-bottom: 103px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(8) { padding-bottom: 117px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(9) { padding-bottom: 104px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(10) { padding-bottom: 109px; }
  .wf-source-page--bauschadengutachten > section:nth-of-type(11) { padding-bottom: 87px; }

  .wf-source-page--bauschadengutachten + .site-footer {
    padding-bottom: 24px;
    background: #f2f0e9;
  }

  .wf-source-page--immobilienwertgutachten > section:nth-of-type(1) { padding-bottom: 133px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(2) { padding-bottom: 70px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(3) { padding-bottom: 99px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(4) { padding-bottom: 73px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(5) { padding-bottom: 107px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(6) { padding-bottom: 89px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(7) { padding-bottom: 107px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(8) { padding-bottom: 95px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(9) { padding-bottom: 114px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(10) { padding-bottom: 97px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(11) { padding-bottom: 90px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(12) { padding-bottom: 105px; }
  .wf-source-page--immobilienwertgutachten > section:nth-of-type(13) { padding-bottom: 89px; }

  .wf-source-page--immobilienwertgutachten + .site-footer {
    box-sizing: border-box;
    height: 371px;
    padding-block: 48px;
    background: #f2f0e9;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__grid {
    gap: 24px;
    margin-bottom: 48px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__brand {
    gap: 16px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__brand p {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__brand .button {
    min-height: 42px;
    padding: 10px 24px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__heading {
    margin-bottom: 16px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__nav ul {
    gap: 12px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__contact {
    gap: 12px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__contact .site-footer__heading {
    margin-bottom: 4px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__bottom {
    padding-top: 24px;
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__bottom p,
  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__legal a {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--immobilienwertgutachten + .site-footer .site-footer__legal a {
    min-height: 20px;
  }

  .wf-source-page--ueber-uns > section:nth-of-type(1) { padding-bottom: 89px; }
  .wf-source-page--ueber-uns > section:nth-of-type(2) { padding-bottom: 78px; }
  .wf-source-page--ueber-uns > section:nth-of-type(3) { padding-bottom: 80px; }
  .wf-source-page--ueber-uns > section:nth-of-type(4) { padding-bottom: 68px; }
  .wf-source-page--ueber-uns > section:nth-of-type(5) { padding-bottom: 80px; }
  .wf-source-page--ueber-uns > section:nth-of-type(6) { padding-bottom: 51px; }
  .wf-source-page--ueber-uns > section:nth-of-type(7) { padding-bottom: 124px; }
  .wf-source-page--ueber-uns > section:nth-of-type(8) { padding-bottom: 83px; }
  .wf-source-page--ueber-uns > section:nth-of-type(9) { padding-bottom: 100px; }
  .wf-source-page--ueber-uns > section:nth-of-type(10) { padding-bottom: 115px; }

  .wf-source-page--ueber-uns + .site-footer {
    box-sizing: border-box;
    height: 369px;
    padding-block: 48px;
    background: #f2f0e9;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__grid {
    gap: 24px;
    margin-bottom: 48px;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__brand { gap: 16px; }

  .wf-source-page--ueber-uns + .site-footer .site-footer__brand p {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__brand .button {
    min-height: 42px;
    padding: 10px 24px;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__heading { margin-bottom: 16px; }
  .wf-source-page--ueber-uns + .site-footer .site-footer__nav ul { gap: 12px; }
  .wf-source-page--ueber-uns + .site-footer .site-footer__contact { gap: 12px; }
  .wf-source-page--ueber-uns + .site-footer .site-footer__contact .site-footer__heading { margin-bottom: 4px; }

  .wf-source-page--ueber-uns + .site-footer .site-footer__bottom {
    padding-top: 22px;
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__bottom p,
  .wf-source-page--ueber-uns + .site-footer .site-footer__legal a {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--ueber-uns + .site-footer .site-footer__legal a { min-height: 20px; }

  .wf-source-page--blog > section:nth-of-type(1) {
    height: 614px;
    min-height: 614px;
  }

  .wf-source-page--blog > section:nth-of-type(2) { padding-bottom: 34px; }
  .wf-source-page--blog > section:nth-of-type(4) { padding-bottom: 54px; }
  .wf-source-page--blog > section:nth-of-type(5) { padding-bottom: 118px; }
  .wf-source-page--blog > section:nth-of-type(6) { padding-bottom: 81px; }
  .wf-source-page--blog > section:nth-of-type(7) { padding-bottom: 100px; }

  .wf-source-page--blog + .site-footer {
    height: 432px;
    padding-block: 0;
  }

  .wf-source-page--blog + .site-footer > .container { height: 431px; }

  .wf-source-page--blog + .site-footer .site-footer__grid {
    box-sizing: border-box;
    height: 358px;
    padding-block: 64px;
    margin-bottom: 0;
  }

  .wf-source-page--blog + .site-footer .site-footer__bottom {
    box-sizing: border-box;
    height: 73px;
    padding-block: 24px;
    margin-top: 0;
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--blog + .site-footer .site-footer__bottom p,
  .wf-source-page--blog + .site-footer .site-footer__legal a {
    font-size: 14px;
    line-height: 20px;
  }

  .wf-source-page--blog + .site-footer .site-footer__legal a { min-height: 20px; }

  body.home .site-footer,
  .wf-source-page--energieberatung-bauphysik + .site-footer,
  .wf-source-page--hauskaufberatung + .site-footer,
  .wf-source-page--baubegleitung + .site-footer {
    padding-bottom: 120px;
  }

  .wf-source-page--kontakt > section:nth-of-type(3) {
    padding-bottom: 100px;
  }

  .wf-source-page--kontakt > section:nth-of-type(5) {
    padding-bottom: 84px;
  }

  .wf-source-page--kontakt + .site-footer {
    padding-bottom: 50px;
  }

  .wf-source-page--energieberatung-bauphysik + .site-footer,
  .wf-source-page--hauskaufberatung + .site-footer {
    padding-bottom: 119px;
  }

  body.home .site-footer__bottom,
  body.home .site-footer__bottom p,
  body.home .site-footer__legal a,
  .wf-source-page--energieberatung-bauphysik + .site-footer .site-footer__bottom,
  .wf-source-page--energieberatung-bauphysik + .site-footer .site-footer__bottom p,
  .wf-source-page--energieberatung-bauphysik + .site-footer .site-footer__legal a,
  .wf-source-page--hauskaufberatung + .site-footer .site-footer__bottom,
  .wf-source-page--hauskaufberatung + .site-footer .site-footer__bottom p,
  .wf-source-page--hauskaufberatung + .site-footer .site-footer__legal a,
  .wf-source-page--baubegleitung + .site-footer .site-footer__bottom,
  .wf-source-page--baubegleitung + .site-footer .site-footer__bottom p,
  .wf-source-page--baubegleitung + .site-footer .site-footer__legal a {
    font-size: 14px;
    line-height: 20px;
  }

  body.home .site-footer__legal a,
  .wf-source-page--energieberatung-bauphysik + .site-footer .site-footer__legal a,
  .wf-source-page--hauskaufberatung + .site-footer .site-footer__legal a,
  .wf-source-page--baubegleitung + .site-footer .site-footer__legal a {
    min-height: 20px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(1) {
    padding-bottom: 135px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(2) {
    padding-bottom: 62px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(3) {
    padding-bottom: 118px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(4) {
    padding-bottom: 86px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(5) {
    padding-bottom: 91px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(6) {
    padding-bottom: 120px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(7) {
    padding-bottom: 98px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(8) {
    padding-bottom: 77px;
  }

  .wf-source-page--energieberatung-bauphysik > section:nth-of-type(9) {
    padding-bottom: 80px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(2) {
    padding-bottom: 76px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(3) {
    padding-bottom: 116px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(4) {
    padding-bottom: 108px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(5) {
    padding-bottom: 94px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(6) {
    padding-bottom: 72px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(7) {
    padding-bottom: 95px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(8) {
    padding-bottom: 102px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(9) {
    padding-bottom: 98px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(10) {
    padding-bottom: 94px;
  }

  .wf-source-page--hauskaufberatung > section:nth-of-type(11) {
    padding-bottom: 117px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(1) {
    padding-bottom: 140px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(2) {
    padding-bottom: 80px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(3) {
    padding-bottom: 79px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(4) {
    padding-bottom: 130px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(5) {
    padding-bottom: 93px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(6) {
    padding-bottom: 81px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(7) {
    padding-bottom: 74px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(8),
  .wf-source-page--baubegleitung > section:nth-of-type(9) {
    padding-bottom: 88px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(10) {
    padding-bottom: 98px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(11) {
    padding-bottom: 101px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(12) {
    padding-bottom: 99px;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(13) {
    padding-bottom: 108px;
  }
}

@media (max-width: 639px) {
  .wf-source-page .contact-form__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .wf-source-page h1:not(.text-headline-lg-mobile) {
    font-size: clamp(32px, 9vw, 40px);
    line-height: 1.15;
  }
}

/* Process/timeline geometry alignment – 2026-07-18
   Scoped corrections for the two audited process variants with measured
   number-to-text collisions. */
.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative {
  --wf-process-number-size: 36px;
  --wf-process-number-gap: 28px;
  --wf-process-text-max: 292px;
  --wf-process-layout-max: calc((var(--wf-process-number-size) * 2) + (var(--wf-process-number-gap) * 2) + var(--wf-process-text-max));

  display: grid;
  gap: 26px;
  width: min(100%, var(--wf-process-layout-max));
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative::before {
  display: none;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group {
  display: grid;
  grid-template-columns: var(--wf-process-number-size) minmax(0, var(--wf-process-text-max)) var(--wf-process-number-size);
  column-gap: var(--wf-process-number-gap);
  align-items: start;
  justify-content: stretch;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group > div:first-child {
  grid-column: 1;
  grid-row: 1;
  width: var(--wf-process-number-size) !important;
  height: var(--wf-process-number-size) !important;
  align-self: start;
  color: #041632 !important;
  background: #fff !important;
  border: 1px solid #041632 !important;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group > div:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  max-width: var(--wf-process-text-max);
  padding-right: 0 !important;
  padding-left: 0 !important;
  text-align: left;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group:nth-child(even) > div:first-child {
  grid-column: 3;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group:nth-child(even) > div:nth-child(2) {
  grid-column: 2;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative h4,
.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid > div:not(:nth-child(2)) > div:first-child {
  margin-bottom: 8px !important;
}

.wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative p {
  margin-top: 0 !important;
}

.wf-source-page--immobilienwertgutachten #ablauf .relative {
  --wf-timeline-number-size: 36px;
  --wf-timeline-number-gap: 28px;
  --wf-timeline-text-max: 450px;
}

.wf-source-page--immobilienwertgutachten #ablauf > div > .relative > .hidden.md\:block.absolute.left-1\/2 {
  z-index: 0;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 {
  position: relative;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--wf-timeline-number-size) minmax(0, 1fr) !important;
  gap: 0 var(--wf-timeline-number-gap) !important;
  align-items: start !important;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid > div:nth-child(2) {
  display: flex !important;
  position: relative !important;
  left: auto !important;
  grid-column: 2;
  grid-row: 1;
  width: var(--wf-timeline-number-size) !important;
  height: var(--wf-timeline-number-size) !important;
  color: #041632 !important;
  background: #fff !important;
  border: 1px solid #041632 !important;
  border-radius: 0 !important;
  transform: none !important;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid > .hidden.md\:block {
  display: none !important;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid:nth-child(odd) > div:first-child {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  width: 100%;
  max-width: var(--wf-timeline-text-max);
  text-align: right;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid:nth-child(even) > div:last-child {
  grid-column: 3;
  grid-row: 1;
  justify-self: start;
  width: 100%;
  max-width: var(--wf-timeline-text-max);
  text-align: left;
}

.wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid p {
  margin-top: 0 !important;
}

@media (max-width: 1023px) {
  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative {
    --wf-process-number-gap: 22px;
    --wf-process-text-max: 272px;
  }

  .wf-source-page--immobilienwertgutachten #ablauf .relative {
    --wf-timeline-number-gap: 22px;
    --wf-timeline-text-max: 360px;
  }
}

@media (max-width: 767px) {
  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative {
    --wf-process-number-gap: 18px;
    --wf-process-text-max: none;
    gap: 24px;
    width: 100%;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group {
    grid-template-columns: var(--wf-process-number-size) minmax(0, 1fr);
    column-gap: var(--wf-process-number-gap);
  }

  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group > div:first-child {
    grid-column: 1;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group:nth-child(even) > div:first-child {
    grid-column: 1;
  }

  .wf-source-page--baubegleitung > section:nth-of-type(6) .space-y-8.relative > .group > div:nth-child(2) {
    grid-column: 2;
    justify-self: start;
  }

  .wf-source-page--immobilienwertgutachten #ablauf .relative {
    --wf-timeline-number-gap: 18px;
    --wf-timeline-text-max: none;
  }

  .wf-source-page--immobilienwertgutachten #ablauf > div > .relative > .hidden.md\:block.absolute.left-1\/2 {
    display: none !important;
  }

  .wf-source-page--immobilienwertgutachten #ablauf .space-y-12::before {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: calc(var(--wf-timeline-number-size) / 2);
    width: 1px;
    content: "";
    background: #c5c6ce;
    transform: translateX(-0.5px);
  }

  .wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid {
    z-index: 1;
    grid-template-columns: var(--wf-timeline-number-size) minmax(0, 1fr) !important;
    column-gap: var(--wf-timeline-number-gap) !important;
    background: transparent;
  }

  .wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid > div:nth-child(2) {
    grid-column: 1;
  }

  .wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid:nth-child(odd) > div:first-child,
  .wf-source-page--immobilienwertgutachten #ablauf .space-y-12 > .relative.grid:nth-child(even) > div:last-child {
    grid-column: 2;
    justify-self: start;
    max-width: none;
    text-align: left;
  }
}

/* Footer bottom empty-space correction: keep content, remove artificial page/footer surplus. */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.site-header,
.site-footer {
  flex: 0 0 auto;
}

.site-main {
  flex: 1 0 auto;
}

body.home {
  padding-bottom: 0;
}

.site-footer {
  background: var(--color-surface-muted);
}

@media (min-width: 1025px) {
  body.home {
    padding-bottom: 0;
  }

  body.home .site-footer,
  .wf-source-page--energieberatung-bauphysik + .site-footer,
  .wf-source-page--hauskaufberatung + .site-footer,
  .wf-source-page--baubegleitung + .site-footer,
  .wf-source-page--bauschadengutachten + .site-footer,
  .wf-source-page--kontakt + .site-footer {
    padding-bottom: 40px;
    background: var(--color-surface-muted);
  }

  .wf-source-page--bauabnahme + .site-footer,
  .wf-source-page--immobilienwertgutachten + .site-footer,
  .wf-source-page--ueber-uns + .site-footer,
  .wf-source-page--blog + .site-footer {
    height: auto;
    min-height: 0;
    padding-block: 80px 40px;
    background: var(--color-surface-muted);
  }

  .wf-source-page--bauabnahme + .site-footer > .container,
  .wf-source-page--blog + .site-footer > .container {
    height: auto;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__grid,
  .wf-source-page--blog + .site-footer .site-footer__grid {
    height: auto;
    padding-block: 0;
    margin-bottom: 64px;
  }

  .wf-source-page--bauabnahme + .site-footer .site-footer__bottom,
  .wf-source-page--blog + .site-footer .site-footer__bottom {
    height: auto;
    padding-block: 32px 0;
    margin-top: 0;
  }
}

/* Project-wide button state correction: keep wireframe markup, fix unreadable color collisions. */
.wf-source-page :is(a.bg-primary.text-nordic-white, button.bg-primary.text-nordic-white) {
  color: #fff;
  background: #041632;
  border-color: #041632;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-primary.text-nordic-white, button.bg-primary.text-nordic-white):where(:hover, :focus-visible, :active) {
  color: #041632;
  background: #d7a91e;
  border-color: #d7a91e;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-nordic-white.text-primary, button.bg-nordic-white.text-primary) {
  color: #041632;
  background: #fff;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-nordic-white.text-primary, button.bg-nordic-white.text-primary):where(:hover, :focus-visible, :active) {
  color: #041632;
  background: #d7a91e;
  border-color: #d7a91e;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-transparent.text-nordic-white, button.bg-transparent.text-nordic-white) {
  color: #fff;
  background: transparent;
  border-color: #fff;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-transparent.text-nordic-white, button.bg-transparent.text-nordic-white):where(:hover, :focus-visible, :active) {
  color: #041632;
  background: #fff;
  border-color: #fff;
  text-decoration-color: currentColor;
}

.wf-source-page :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :is(a.hover\:text-muted-gold, button.hover\:text-muted-gold):where(:hover, :focus-visible, :active) {
  color: #765900;
  border-color: #765900;
  text-decoration-color: currentColor;
}

.wf-source-page :is(a.bg-primary.text-nordic-white, button.bg-primary.text-nordic-white) :where(.material-symbols-outlined, svg),
.wf-source-page :is(a.bg-nordic-white.text-primary, button.bg-nordic-white.text-primary) :where(.material-symbols-outlined, svg),
.wf-source-page :is(a.bg-transparent.text-nordic-white, button.bg-transparent.text-nordic-white) :where(.material-symbols-outlined, svg) {
  color: currentColor;
  fill: currentColor;
  stroke: currentColor;
}

.wf-source-page :is(a.bg-primary.text-nordic-white, button.bg-primary.text-nordic-white):focus-visible,
.wf-source-page :is(a.bg-nordic-white.text-primary, button.bg-nordic-white.text-primary):focus-visible,
.wf-source-page :is(a.bg-transparent.text-nordic-white, button.bg-transparent.text-nordic-white):focus-visible,
.wf-source-page :where(.bg-nordic-white, .bg-surface, .bg-sand-stone, .bg-surface-container, .bg-surface-container-low, .bg-surface-container-high, .bg-surface-container-lowest) :is(a.hover\:text-muted-gold, button.hover\:text-muted-gold):focus-visible {
  outline: 3px solid #d7a91e;
  outline-offset: 3px;
}

/* Bauabnahme documentation section spacing – 2026-07-18
   Scoped to "DOKUMENTATION / Abnahmeprotokoll als nachvollziehbare Grundlage". */
.wf-source-page--bauabnahme > section:nth-of-type(6) .grid.md\:grid-cols-2 {
  column-gap: clamp(60px, 5vw, 80px);
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > span {
  margin-bottom: 20px !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > h2 {
  margin-bottom: 30px !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > p {
  margin-bottom: 34px !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul {
  display: grid;
  gap: 30px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul > li {
  gap: 18px !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul > li + li {
  margin-top: 0 !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul h4 {
  margin-bottom: 6px !important;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1023px) {
  .wf-source-page--bauabnahme > section:nth-of-type(6) .grid.md\:grid-cols-2 {
    column-gap: 48px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > p {
    margin-bottom: 32px !important;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul {
    gap: 28px;
  }
}

@media (max-width: 767px) {
  .wf-source-page--bauabnahme > section:nth-of-type(6) .grid.md\:grid-cols-2 {
    row-gap: 34px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > span {
    margin-bottom: 18px !important;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > h2 {
    margin-bottom: 28px !important;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > p {
    margin-bottom: 30px !important;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul {
    gap: 26px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) .order-1.md\:order-2 > ul > li {
    gap: 16px !important;
  }
}

/* Bauabnahme: Dokumentationsabschnitt luftiger ausrichten, 2026-07-18. */
.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid {
  align-items: center;
  column-gap: clamp(60px, 5.6vw, 80px);
  row-gap: 32px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > span {
  margin-bottom: 20px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > h2 {
  margin-bottom: 30px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > p {
  margin-bottom: 34px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul {
  display: grid;
  row-gap: 30px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0;
  margin-bottom: 0;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul > li {
  column-gap: 18px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul > li h4 {
  margin: 0 0 6px;
}

.wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul > li p {
  margin: 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid {
    column-gap: 40px;
  }
}

@media (max-width: 767px) {
  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid {
    row-gap: 32px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > span {
    margin-bottom: 18px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > h2 {
    margin-bottom: 28px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > p {
    margin-bottom: 30px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul {
    row-gap: 24px;
  }

  .wf-source-page--bauabnahme > section:nth-of-type(6) > .max-w-container-max > .grid > div:nth-child(2) > ul > li {
    column-gap: 16px;
  }
}

/* Final project-wide button state correction - 2026-07-18
   Scoped to button components and wireframe utility-button variants only. */
body :is(a.button, button.button, input.button),
body :is(a.button, button.button, input.button):visited,
body .wf-source-page :is(a, button).bg-primary.text-nordic-white,
body .wf-source-page :is(a, button).bg-primary.text-nordic-white:visited {
  background-color: #041632 !important;
  border-color: #041632 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body :is(a.button, button.button, input.button):where(:hover, :active),
body .wf-source-page :is(a, button).bg-primary.text-nordic-white:where(:hover, :active) {
  background-color: #d7a91e !important;
  border-color: #d7a91e !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body :is(a.button, button.button, input.button):focus-visible,
body .wf-source-page :is(a, button).bg-primary.text-nordic-white:focus-visible {
  outline: 3px solid #d7a91e !important;
  outline-offset: 3px !important;
}

body :is(a.button, button.button, input.button) :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-primary.text-nordic-white :where(.material-symbols-outlined, svg) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body :is(a.button.button--secondary, button.button.button--secondary),
body :is(a.button.button--secondary, button.button.button--secondary):visited,
body .wf-source-page :is(a, button).bg-nordic-white.text-primary,
body .wf-source-page :is(a, button).bg-nordic-white.text-primary:visited {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body :is(a.button.button--secondary, button.button.button--secondary):where(:hover, :active),
body .wf-source-page :is(a, button).bg-nordic-white.text-primary:where(:hover, :active) {
  background-color: #d7a91e !important;
  border-color: #d7a91e !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body :is(a.button.button--secondary, button.button.button--secondary):focus-visible,
body .wf-source-page :is(a, button).bg-nordic-white.text-primary:focus-visible {
  outline: 3px solid #d7a91e !important;
  outline-offset: 3px !important;
}

body :is(a.button.button--secondary, button.button.button--secondary) :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-nordic-white.text-primary :where(.material-symbols-outlined, svg) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-nordic-white,
body .wf-source-page :is(a, button).bg-transparent.text-nordic-white:visited {
  background-color: transparent !important;
  border-color: currentColor !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-nordic-white:where(:hover, :active) {
  background-color: transparent !important;
  border-color: currentColor !important;
  color: #d7a91e !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-primary,
body .wf-source-page :is(a, button).bg-transparent.text-primary:visited {
  background-color: transparent !important;
  border-color: #041632 !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-primary:where(:hover, :active) {
  background-color: #041632 !important;
  border-color: #041632 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-nordic-white:focus-visible,
body .wf-source-page :is(a, button).bg-transparent.text-primary:focus-visible {
  outline: 3px solid #d7a91e !important;
  outline-offset: 3px !important;
}

body .wf-source-page :is(a, button).bg-transparent.text-nordic-white :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-transparent.text-primary :where(.material-symbols-outlined, svg) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body .wf-source-page button.bg-surface.text-secondary,
body .wf-source-page button.bg-nordic-white.text-secondary {
  background-color: #ffffff !important;
  border-color: #c5c6ce !important;
  color: #4a5568 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page button.bg-surface.text-secondary:where(:hover, :active),
body .wf-source-page button.bg-nordic-white.text-secondary:where(:hover, :active) {
  background-color: #ffffff !important;
  border-color: #041632 !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page button.bg-surface.text-secondary:focus-visible,
body .wf-source-page button.bg-nordic-white.text-secondary:focus-visible {
  outline: 3px solid #d7a91e !important;
  outline-offset: 3px !important;
}

body .wf-source-page button.bg-surface.text-secondary :where(.material-symbols-outlined, svg),
body .wf-source-page button.bg-nordic-white.text-secondary :where(.material-symbols-outlined, svg) {
  color: inherit !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Hero button contrast ring - 2026-07-19
   Scoped to existing CTA buttons inside hero sections only.
   Uses an inset ring so button dimensions, padding and positions do not change. */
.wf-home .wf-home-hero .wf-button-row > .button,
.wf-source-page--energieberatung-bauphysik > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]),
.wf-source-page--hauskaufberatung > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]),
.wf-source-page--bauabnahme > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]),
.wf-source-page--bauschadengutachten > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]) {
  box-sizing: border-box !important;
  box-shadow: inset 0 0 0 2px #ffffff !important;
}

.wf-home .wf-home-hero .wf-button-row > .button:hover,
.wf-home .wf-home-hero .wf-button-row > .button:active,
.wf-home .wf-home-hero .wf-button-row > .button:visited:hover,
.wf-home .wf-home-hero .wf-button-row > .button:visited:active,
.wf-source-page--energieberatung-bauphysik > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active),
.wf-source-page--hauskaufberatung > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active),
.wf-source-page--bauabnahme > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active),
.wf-source-page--bauschadengutachten > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active) {
  box-shadow: inset 0 0 0 2px #ffffff !important;
}

.wf-source-page--immobilienwertgutachten > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]),
.wf-source-page--ueber-uns > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]) {
  box-sizing: border-box !important;
  box-shadow: inset 0 0 0 2px #041632 !important;
}

.wf-source-page--immobilienwertgutachten > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active),
.wf-source-page--ueber-uns > section:first-child a:is([class~="bg-primary"], [class~="bg-nordic-white"]):is(:hover, :active, :visited:hover, :visited:active) {
  box-shadow: inset 0 0 0 2px #041632 !important;
}

/* Footer address Google Maps link - 2026-07-18
   Scoped to the global footer contact address only. */
.site-footer__contact .site-footer__address-link,
.site-footer__contact .site-footer__address-link:visited {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--color-text);
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
  text-decoration-color: currentColor;
  text-decoration-line: none;
}

.site-footer__contact .site-footer__address-link:hover,
.site-footer__contact .site-footer__address-link:active {
  color: #d7a91e;
  text-decoration: none;
  text-decoration-color: currentColor;
  text-decoration-line: none;
}

.site-footer__contact .site-footer__address-link:focus-visible {
  color: #d7a91e;
  outline: 3px solid #d7a91e;
  outline-offset: 4px;
  text-decoration: none;
  text-decoration-color: currentColor;
  text-decoration-line: none;
}

.site-footer__contact .site-footer__address-link .material-symbols-outlined {
  color: #697386;
}

.site-footer__contact .site-footer__address-link:hover .material-symbols-outlined,
.site-footer__contact .site-footer__address-link:active .material-symbols-outlined,
.site-footer__contact .site-footer__address-link:focus-visible .material-symbols-outlined {
  color: #d7a91e;
}

/* Visited-safe hover correction: :where() has zero specificity, so visited normal
   states need explicit hover/active selectors for links that were already visited. */
body a.button:hover,
body a.button:active,
body a.button:visited:hover,
body a.button:visited:active,
body button.button:hover,
body button.button:active,
body input.button:hover,
body input.button:active,
body .wf-source-page a.bg-primary.text-nordic-white:hover,
body .wf-source-page a.bg-primary.text-nordic-white:active,
body .wf-source-page a.bg-primary.text-nordic-white:visited:hover,
body .wf-source-page a.bg-primary.text-nordic-white:visited:active,
body .wf-source-page button.bg-primary.text-nordic-white:hover,
body .wf-source-page button.bg-primary.text-nordic-white:active {
  background-color: #d7a91e !important;
  border-color: #d7a91e !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body a.button.button--secondary:hover,
body a.button.button--secondary:active,
body a.button.button--secondary:visited:hover,
body a.button.button--secondary:visited:active,
body button.button.button--secondary:hover,
body button.button.button--secondary:active,
body .wf-source-page a.bg-nordic-white.text-primary:hover,
body .wf-source-page a.bg-nordic-white.text-primary:active,
body .wf-source-page a.bg-nordic-white.text-primary:visited:hover,
body .wf-source-page a.bg-nordic-white.text-primary:visited:active,
body .wf-source-page button.bg-nordic-white.text-primary:hover,
body .wf-source-page button.bg-nordic-white.text-primary:active {
  background-color: #d7a91e !important;
  border-color: #d7a91e !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page a.bg-transparent.text-nordic-white:hover,
body .wf-source-page a.bg-transparent.text-nordic-white:active,
body .wf-source-page a.bg-transparent.text-nordic-white:visited:hover,
body .wf-source-page a.bg-transparent.text-nordic-white:visited:active,
body .wf-source-page button.bg-transparent.text-nordic-white:hover,
body .wf-source-page button.bg-transparent.text-nordic-white:active {
  background-color: transparent !important;
  border-color: currentColor !important;
  color: #d7a91e !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page a.bg-transparent.text-primary:hover,
body .wf-source-page a.bg-transparent.text-primary:active,
body .wf-source-page a.bg-transparent.text-primary:visited:hover,
body .wf-source-page a.bg-transparent.text-primary:visited:active,
body .wf-source-page button.bg-transparent.text-primary:hover,
body .wf-source-page button.bg-transparent.text-primary:active {
  background-color: #041632 !important;
  border-color: #041632 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body .wf-source-page button.bg-surface.text-secondary:hover,
body .wf-source-page button.bg-surface.text-secondary:active,
body .wf-source-page button.bg-nordic-white.text-secondary:hover,
body .wf-source-page button.bg-nordic-white.text-secondary:active {
  background-color: #ffffff !important;
  border-color: #041632 !important;
  color: #041632 !important;
  text-decoration: none !important;
  text-decoration-color: currentColor !important;
  text-decoration-line: none !important;
}

body :is(a.button, button.button, input.button) :where(.material-symbols-outlined, svg),
body :is(a.button.button--secondary, button.button.button--secondary) :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-primary.text-nordic-white :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-nordic-white.text-primary :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-transparent.text-nordic-white :where(.material-symbols-outlined, svg),
body .wf-source-page :is(a, button).bg-transparent.text-primary :where(.material-symbols-outlined, svg),
body .wf-source-page button.bg-surface.text-secondary :where(.material-symbols-outlined, svg),
body .wf-source-page button.bg-nordic-white.text-secondary :where(.material-symbols-outlined, svg) {
  color: inherit !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
