
      :root {
        --red: #d71920;
        --red-dark: #ad1117;
        --ink: #151515;
        --anthracite: #242424;
        --gray-700: #4f4f4f;
        --gray-500: #737373;
        --gray-300: #cfcfcf;
        --gray-150: #e9e9e9;
        --gray-100: #f5f5f4;
        --white: #fff;
        --radius: 20px;
        --shadow: 0 22px 60px rgba(18, 18, 18, 0.12);
        --max: 1180px;
      }

      * {
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        margin: 0;
        color: var(--ink);
        background: var(--white);
        font-family:
          Inter,
          ui-sans-serif,
          system-ui,
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          sans-serif;
        line-height: 1.55;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      button,
      input,
      select,
      textarea {
        font: inherit;
      }
      img {
        display: block;
        max-width: 100%;
      }
      section {
        scroll-margin-top: 92px;
      }
      .wrap {
        width: min(calc(100% - 40px), var(--max));
        margin-inline: auto;
      }
      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 18px;
        color: var(--red);
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.13em;
        text-transform: uppercase;
      }
      .eyebrow::before {
        content: "";
        width: 34px;
        height: 3px;
        background: currentColor;
      }
      h1,
      h2,
      h3,
      p {
        margin-top: 0;
      }
      h1,
      h2,
      h3 {
        line-height: 1.08;
        letter-spacing: -0.035em;
      }
      h1 {
        max-width: 760px;
        margin-bottom: 24px;
        font-size: clamp(2.55rem, 5.2vw, 5rem);
      }
      h2 {
        margin-bottom: 18px;
        font-size: clamp(2rem, 4vw, 3.35rem);
      }
      h3 {
        margin-bottom: 12px;
        font-size: 1.28rem;
      }
      .lead {
        max-width: 690px;
        color: var(--gray-700);
        font-size: clamp(1.05rem, 1.7vw, 1.24rem);
      }
      .section-head {
        max-width: 760px;
        margin-bottom: 46px;
      }
      .section-head p {
        color: var(--gray-700);
        font-size: 1.08rem;
      }
      .btn {
        display: inline-flex;
        min-height: 52px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 0 22px;
        border: 1px solid transparent;
        border-radius: 999px;
        cursor: pointer;
        font-weight: 800;
        transition:
          transform 0.18s ease,
          background 0.18s ease,
          border-color 0.18s ease;
      }
      .btn:hover {
        transform: translateY(-2px);
      }
      .btn-red {
        color: white;
        background: var(--red);
      }
      .btn-red:hover {
        background: var(--red-dark);
      }
      .btn-dark {
        color: white;
        background: var(--ink);
      }
      .btn-outline {
        border-color: var(--gray-300);
        background: white;
      }
      .btn-outline:hover {
        border-color: var(--ink);
      }

      .topline {
        color: #eee;
        background: var(--ink);
        font-size: 0.85rem;
      }
      .topline .wrap {
        display: flex;
        min-height: 36px;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
      }
      .topline span {
        color: #bdbdbd;
      }
      .topline-links {
        display: flex;
        gap: 20px;
      }
      .site-header {
        position: sticky;
        z-index: 20;
        top: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        background: rgba(255, 255, 255, 0.93);
        backdrop-filter: blur(16px);
      }
      .nav {
        display: flex;
        min-height: 76px;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 14px;
        font-weight: 900;
        line-height: 1;
      }
      .brand-logo {
        display: block;
        width: 78px;
        height: 68px;
        flex: 0 0 auto;
        overflow: visible;
      }
      .brand-copy {
        display: grid;
        gap: 5px;
      }
      .brand-copy small {
        color: var(--gray-500);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }
      .brand-service {
        color: var(--red);
        font-size: 0.66rem;
        font-weight: 900;
        letter-spacing: 0.09em;
        text-transform: uppercase;
      }
      .nav-links {
        display: flex;
        align-items: center;
        gap: 19px;
        font-size: 0.9rem;
        font-weight: 700;
      }
      .nav-links > a:not(.btn):hover {
        color: var(--red);
      }
      .menu-toggle {
        display: none;
        width: 46px;
        height: 46px;
        border: 1px solid var(--gray-300);
        border-radius: 50%;
        background: white;
        cursor: pointer;
      }

      .hero {
        position: relative;
        overflow: hidden;
        padding: 82px 0 72px;
      }
      .hero::before {
        position: absolute;
        z-index: -1;
        top: -180px;
        right: -110px;
        width: 580px;
        height: 580px;
        border: 110px solid #f0f0ef;
        border-radius: 50%;
        content: "";
      }
      .hero-grid {
        display: grid;
        grid-template-columns: 1.04fr 0.96fr;
        align-items: center;
        gap: 64px;
      }
      .hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 34px;
      }
      .hero-note {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 20px;
        margin-top: 34px;
        color: var(--gray-700);
        font-size: 0.88rem;
        font-weight: 700;
      }
      .hero-note span::before {
        margin-right: 8px;
        color: var(--red);
        content: "✓";
      }
      .hero-visual {
        position: relative;
        min-height: 0;
        aspect-ratio: 3 / 4;
        overflow: hidden;
        border-radius: 28px;
        background: #151515;
        box-shadow: var(--shadow);
      }
      .hero-visual::before {
        display: none;
      }
      .hero-visual::after {
        display: none;
      }
      .hero-photo {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .photo-placeholder {
        position: absolute;
        z-index: 2;
        right: 28px;
        bottom: 28px;
        left: 28px;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 22px;
        padding: 24px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 18px;
        color: white;
        background: rgba(13, 13, 13, 0.68);
        backdrop-filter: blur(12px);
      }
      .photo-placeholder strong {
        display: block;
        margin-bottom: 5px;
        font-size: 1.1rem;
      }
      .photo-placeholder small {
        color: #cfcfcf;
      }
      .photo-placeholder .tag {
        flex: 0 0 auto;
        padding: 8px 12px;
        border-radius: 999px;
        color: white;
        background: var(--red);
        font-size: 0.72rem;
        font-weight: 800;
      }

      .trust {
        border-block: 1px solid var(--gray-150);
        background: var(--gray-100);
      }
      .trust-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
      }
      .trust-item {
        display: flex;
        min-height: 102px;
        align-items: center;
        gap: 13px;
        padding: 20px 28px;
        border-right: 1px solid #ddd;
        font-weight: 800;
      }
      .trust-item:first-child {
        padding-left: 0;
      }
      .trust-item:last-child {
        border: 0;
      }
      .trust-icon {
        display: grid;
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
        place-items: center;
        border-radius: 50%;
        color: var(--red);
        background: white;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
      }

      .services {
        padding: 112px 0;
      }
      .service-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
      }
      .service-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-height: 350px;
        overflow: hidden;
        padding: 30px;
        border: 1px solid var(--gray-150);
        border-radius: var(--radius);
        background: white;
        transition:
          transform 0.22s ease,
          box-shadow 0.22s ease,
          border-color 0.22s ease;
      }
      .service-card:hover {
        transform: translateY(-6px);
        border-color: transparent;
        box-shadow: var(--shadow);
      }
      .service-card::after {
        position: absolute;
        z-index: 0;
        right: -68px;
        bottom: -72px;
        width: 130px;
        height: 130px;
        border: 22px solid var(--gray-100);
        border-radius: 50%;
        content: "";
        opacity: 0.7;
        pointer-events: none;
      }
      .service-card > * {
        position: relative;
        z-index: 1;
      }
      .service-number {
        margin-bottom: 56px;
        color: var(--red);
        font-size: 0.8rem;
        font-weight: 900;
        letter-spacing: 0.12em;
      }
      .service-card p {
        color: var(--gray-700);
      }
      .service-link {
        position: relative;
        z-index: 2;
        margin-top: auto;
        padding-top: 24px;
        font-weight: 800;
      }
      .service-link span {
        color: var(--red);
      }
      .renovation-card {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 0.8fr;
        align-items: center;
        gap: 50px;
        overflow: hidden;
        margin-top: 18px;
        padding: 46px;
        border-radius: var(--radius);
        color: white;
        background: var(--anthracite);
      }
      .renovation-card::after {
        position: absolute;
        right: -70px;
        width: 280px;
        height: 280px;
        border: 46px solid rgba(215, 25, 32, 0.75);
        border-radius: 50%;
        content: "";
      }
      .renovation-card > * {
        position: relative;
        z-index: 1;
      }
      .renovation-card h3 {
        font-size: clamp(1.65rem, 2.8vw, 2.25rem);
      }
      .renovation-card p {
        margin-bottom: 0;
        color: #c9c9c9;
      }
      .renovation-points {
        display: grid;
        gap: 12px;
      }
      .renovation-points span {
        padding: 11px 14px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.04);
        font-weight: 700;
      }
      .renovation-points span::before {
        margin-right: 9px;
        color: var(--red);
        content: "✓";
      }
      .regional-suppliers {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 22px;
        margin-top: 18px;
        padding: 28px 32px;
        border: 1px solid #dedede;
        border-radius: 18px;
        background: var(--gray-100);
      }
      .regional-suppliers-mark {
        display: grid;
        width: 58px;
        height: 58px;
        place-items: center;
        border-radius: 50%;
        color: white;
        background: var(--red);
        font-size: 0.72rem;
        font-weight: 900;
        letter-spacing: 0.08em;
      }
      .regional-suppliers h3 {
        margin-bottom: 6px;
      }
      .regional-suppliers p {
        margin-bottom: 0;
        color: var(--gray-700);
      }

      .projects {
        padding: 108px 0;
        color: white;
        background: var(--ink);
      }
      .projects .section-head p {
        color: #bdbdbd;
      }
      .project-grid {
        display: grid;
        grid-template-columns: 1.25fr 0.75fr 0.75fr;
        grid-template-rows: 245px 245px;
        gap: 16px;
      }
      .project-card {
        position: relative;
        display: flex;
        min-height: 240px;
        overflow: hidden;
        align-items: flex-end;
        padding: 26px;
        border: 1px solid rgba(255, 255, 255, 0.13);
        border-radius: var(--radius);
        background: linear-gradient(145deg, #353535, #202020);
      }
      .project-card > img {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .project-card:first-child {
        grid-row: span 2;
      }
      .project-card:nth-child(4) {
        grid-column: span 2;
      }
      .project-card::before {
        position: absolute;
        z-index: 1;
        inset: 0;
        background: linear-gradient(
          0deg,
          rgba(0, 0, 0, 0.82) 0%,
          rgba(0, 0, 0, 0.38) 34%,
          rgba(0, 0, 0, 0.04) 70%
        );
        content: "";
      }
      .project-card::after {
        position: absolute;
        z-index: 2;
        right: 18px;
        top: 18px;
        padding: 7px 10px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 999px;
        color: #ddd;
        background: rgba(0, 0, 0, 0.2);
        content: attr(data-category);
        font-size: 0.68rem;
        font-weight: 800;
        text-transform: uppercase;
      }
      .project-card > div {
        position: relative;
        z-index: 1;
      }
      .project-card p {
        margin-bottom: 0;
        color: #bdbdbd;
        font-size: 0.9rem;
      }
      .project-card h3 {
        margin-bottom: 7px;
      }

      .why {
        padding: 112px 0;
      }
      .why-grid {
        display: grid;
        grid-template-columns: 0.9fr 1.1fr;
        align-items: start;
        gap: 80px;
      }
      .why-panel {
        padding: 38px;
        border-radius: 24px;
        color: white;
        background: var(--anthracite);
      }
      .why-item {
        display: grid;
        grid-template-columns: 44px 1fr;
        gap: 16px;
        padding: 22px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
      }
      .why-item:first-child {
        padding-top: 0;
      }
      .why-item:last-child {
        padding-bottom: 0;
        border: 0;
      }
      .why-item b {
        display: grid;
        width: 40px;
        height: 40px;
        place-items: center;
        border-radius: 50%;
        color: white;
        background: var(--red);
      }
      .why-item p {
        margin-bottom: 0;
        color: #c8c8c8;
      }

      .process {
        padding: 105px 0;
        background: var(--gray-100);
      }
      .steps {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
        counter-reset: step;
      }
      .step {
        position: relative;
        padding-top: 64px;
        counter-increment: step;
      }
      .step::before {
        position: absolute;
        top: 0;
        left: 0;
        display: grid;
        width: 46px;
        height: 46px;
        place-items: center;
        border: 2px solid var(--red);
        border-radius: 50%;
        color: var(--red);
        content: "0" counter(step);
        font-size: 0.8rem;
        font-weight: 900;
      }
      .step:not(:last-child)::after {
        position: absolute;
        top: 22px;
        left: 60px;
        width: calc(100% - 48px);
        height: 2px;
        background: #ddd;
        content: "";
      }
      .step p {
        color: var(--gray-700);
      }

      .emergency-teaser {
        padding: 108px 0;
        color: white;
        background: var(--ink);
      }
      .emergency-box {
        position: relative;
        display: grid;
        grid-template-columns: 1.05fr 0.95fr;
        gap: 70px;
        overflow: hidden;
        padding: 60px;
        border: 1px solid rgba(255, 255, 255, 0.13);
        border-radius: 28px;
        background: linear-gradient(135deg, #2d2d2d, #141414 72%);
      }
      .emergency-box::after {
        position: absolute;
        right: -100px;
        bottom: -160px;
        width: 390px;
        height: 390px;
        border: 70px solid rgba(215, 25, 32, 0.74);
        border-radius: 50%;
        content: "";
      }
      .emergency-copy,
      .emergency-checklist {
        position: relative;
        z-index: 1;
      }
      .emergency-copy p:not(.eyebrow) {
        max-width: 630px;
        color: #c8c8c8;
      }
      .emergency-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 30px;
      }
      .emergency-actions .btn-outline {
        color: white;
        border-color: #666;
        background: transparent;
      }
      .emergency-checklist {
        align-self: center;
        padding: 30px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.05);
      }
      .emergency-checklist h3 {
        margin-bottom: 20px;
      }
      .emergency-checklist ul {
        display: grid;
        gap: 13px;
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .emergency-checklist li {
        display: grid;
        grid-template-columns: 30px 1fr;
        align-items: start;
        color: #d8d8d8;
      }
      .emergency-checklist li::before {
        display: grid;
        width: 22px;
        height: 22px;
        place-items: center;
        border-radius: 50%;
        color: white;
        background: var(--red);
        content: "✓";
        font-size: 0.7rem;
        font-weight: 900;
      }
      .emergency-note {
        margin: 20px 0 0;
        color: #aaa;
        font-size: 0.82rem;
      }

      .region {
        padding: 108px 0;
      }
      .region-box {
        display: grid;
        grid-template-columns: 1fr 0.9fr;
        overflow: hidden;
        border-radius: 28px;
        color: white;
        background: var(--ink);
      }
      .region-copy {
        padding: 64px;
      }
      .region-copy p {
        color: #c9c9c9;
      }
      .region-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 28px;
      }
      .region-list span {
        padding: 8px 12px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 999px;
        font-size: 0.82rem;
      }
      .map-visual {
        position: relative;
        display: grid;
        min-height: 410px;
        overflow: hidden;
        place-items: center;
        background: #303030;
      }
      .map-visual::before,
      .map-visual::after {
        position: absolute;
        border-radius: 50%;
        content: "";
      }
      .map-visual::before {
        width: 310px;
        height: 310px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow:
          0 0 0 62px rgba(255, 255, 255, 0.04),
          0 0 0 124px rgba(255, 255, 255, 0.025);
      }
      .map-visual::after {
        width: 18px;
        height: 18px;
        background: var(--red);
        box-shadow: 0 0 0 10px rgba(215, 25, 32, 0.2);
      }
      .map-label {
        position: relative;
        z-index: 2;
        transform: translateY(34px);
        font-size: 1.1rem;
        font-weight: 900;
      }
      .map-label small {
        display: block;
        margin-top: 4px;
        color: #bbb;
        font-size: 0.75rem;
        font-weight: 600;
        text-align: center;
      }
      .region-copy .btn {
        margin-top: 28px;
      }

      .reviews {
        padding: 108px 0;
        background: var(--gray-100);
      }
      .review-summary {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
        margin-bottom: 34px;
        padding: 26px 30px;
        border: 1px solid #ddd;
        border-top: 5px solid var(--red);
        border-radius: 18px;
        background: white;
      }
      .review-brand {
        display: flex;
        align-items: center;
        gap: 16px;
      }
      .google-g {
        display: grid;
        width: 48px;
        height: 48px;
        place-items: center;
        border: 1px solid #ddd;
        border-radius: 50%;
        color: #4285f4;
        background: white;
        font-size: 1.45rem;
        font-weight: 900;
      }
      .review-brand strong {
        display: block;
      }
      .review-brand small {
        color: var(--gray-500);
      }
      .review-rating {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .review-score {
        color: var(--ink);
        font-size: 2rem;
        font-weight: 950;
        line-height: 1;
      }
      .review-rating small {
        display: block;
        margin-top: 3px;
        color: var(--gray-500);
        font-size: 0.76rem;
        font-weight: 700;
      }
      .stars {
        color: #f4b400;
        font-size: 1.15rem;
        letter-spacing: 0.12em;
      }
      .review-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
      }
      .review-card {
        display: flex;
        flex-direction: column;
        min-height: 250px;
        padding: 28px;
        border: 1px solid #dedede;
        border-radius: var(--radius);
        background: white;
      }
      .review-card .stars {
        margin-bottom: 22px;
      }
      .review-card blockquote {
        flex: 1;
        margin: 0 0 24px;
        color: var(--gray-700);
        font-size: 1rem;
      }
      .review-card footer {
        padding: 0;
        color: var(--ink);
        background: none;
        font-weight: 800;
      }
      .review-card small {
        display: block;
        margin-top: 4px;
        color: var(--gray-500);
        font-weight: 600;
      }
      .contact {
        padding: 108px 0;
        background: var(--red);
      }
      .contact-grid {
        display: grid;
        grid-template-columns: 0.85fr 1.15fr;
        gap: 70px;
      }
      .contact-copy {
        color: white;
      }
      .contact-copy .eyebrow {
        color: white;
      }
      .contact-copy p {
        color: #ffe0e0;
      }
      .contact-options {
        display: grid;
        gap: 12px;
        margin-top: 36px;
      }
      .contact-option {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 16px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
      }
      .contact-option small {
        display: block;
        color: #ffd1d1;
      }
      .contact-role {
        display: block;
        margin: 3px 0 4px;
        color: white;
        font-size: 0.78rem;
        font-weight: 700;
      }
      .contact-option strong {
        font-size: 1.1rem;
      }
      .form-card {
        padding: 38px;
        border-radius: 24px;
        background: white;
        box-shadow: var(--shadow);
      }
      .form-card h3 {
        font-size: 1.55rem;
      }
      .form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .field {
        display: grid;
        gap: 7px;
      }
      .field.full {
        grid-column: 1 / -1;
      }
      .field label {
        font-size: 0.78rem;
        font-weight: 800;
      }
      .field input,
      .field select,
      .field textarea {
        width: 100%;
        border: 1px solid #d5d5d5;
        border-radius: 11px;
        outline: none;
        background: white;
        padding: 13px 14px;
      }
      .field input:focus,
      .field select:focus,
      .field textarea:focus {
        border-color: var(--red);
        box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.1);
      }
      .field textarea {
        min-height: 120px;
        resize: vertical;
      }
      .form-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-top: 20px;
      }
      .form-foot small {
        max-width: 285px;
        color: var(--gray-500);
      }
      .privacy-check {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        margin-top: 18px;
        color: var(--gray-500);
        font-size: 0.84rem;
        line-height: 1.45;
      }
      .privacy-check input {
        width: 18px;
        height: 18px;
        margin-top: 2px;
        flex: 0 0 auto;
        accent-color: var(--red);
      }
      .privacy-check a {
        color: var(--red);
        font-weight: 850;
        text-decoration: underline;
        text-underline-offset: 2px;
      }
      .form-status {
        display: none;
        margin: 16px 0 0;
        padding: 12px 14px;
        border-radius: 10px;
        color: #175b2e;
        background: #e9f8ee;
        font-size: 0.86rem;
        font-weight: 700;
      }

      footer {
        padding: 58px 0 82px;
        color: #ccc;
        background: #0d0d0d;
      }
      .footer-grid {
        display: grid;
        grid-template-columns: 1.3fr 0.7fr 0.8fr;
        gap: 50px;
      }
      footer .brand {
        color: white;
      }
      footer .brand-logo {
        padding: 5px;
        border-radius: 10px;
        background: white;
      }
      footer p {
        max-width: 450px;
        color: #989898;
      }
      footer h3 {
        color: white;
        font-size: 0.95rem;
        letter-spacing: 0;
      }
      .footer-links {
        display: grid;
        gap: 9px;
        color: #aaa;
      }
      .socials {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin-top: 22px;
      }
      .social-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 9px 12px;
        border: 1px solid #333;
        border-radius: 999px;
        color: #bbb;
        font-size: 0.78rem;
        font-weight: 800;
      }
      .social-link:hover {
        border-color: var(--red);
        color: white;
      }
      .social-link[aria-disabled="true"] {
        cursor: default;
      }
      .social-icon {
        display: grid;
        width: 21px;
        height: 21px;
        place-items: center;
        border-radius: 50%;
        color: white;
        background: var(--red);
        font-size: 0.7rem;
      }
      .footer-bottom {
        display: flex;
        justify-content: space-between;
        gap: 18px;
        margin-top: 48px;
        padding-top: 24px;
        border-top: 1px solid #292929;
        color: #777;
        font-size: 0.78rem;
      }
      .footer-legal {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 10px 16px;
      }
      .footer-legal > a:hover {
        color: white;
      }
      .footer-bottom .socials {
        margin-top: 0;
      }
      .mobile-bar {
        display: none;
      }

      @media (max-width: 980px) {
        .nav-links {
          display: none;
          position: absolute;
          top: 76px;
          right: 20px;
          left: 20px;
          align-items: stretch;
          padding: 18px;
          border: 1px solid var(--gray-150);
          border-radius: 16px;
          background: white;
          box-shadow: var(--shadow);
        }
        .nav-links.open {
          display: grid;
        }
        .nav-links .btn {
          border-radius: 10px;
        }
        .menu-toggle {
          display: inline-grid;
          place-items: center;
        }
        .hero-grid,
        .why-grid,
        .region-box,
        .contact-grid,
        .emergency-box {
          grid-template-columns: 1fr;
        }
        .hero {
          padding-top: 62px;
        }
        .hero-visual {
          min-height: 430px;
        }
        .service-grid {
          grid-template-columns: 1fr 1fr;
        }
        .renovation-card {
          grid-template-columns: 1fr;
        }
        .trust-grid {
          grid-template-columns: 1fr 1fr;
        }
        .trust-item:nth-child(2) {
          border-right: 0;
        }
        .trust-item:first-child {
          padding-left: 28px;
        }
        .project-grid {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 320px 240px 240px;
        }
        .project-card:first-child {
          grid-column: span 2;
          grid-row: auto;
        }
        .project-card:nth-child(4) {
          grid-column: span 2;
        }
        .why-grid {
          gap: 42px;
        }
        .region-copy {
          padding: 48px;
        }
        .contact-grid {
          gap: 44px;
        }
        .review-grid {
          grid-template-columns: 1fr;
        }
      }

      @media (max-width: 680px) {
        body {
          padding-bottom: 67px;
        }
        .wrap {
          width: min(calc(100% - 28px), var(--max));
        }
        .topline {
          display: none;
        }
        .nav {
          min-height: 68px;
        }
        .brand-logo {
          width: 64px;
          height: 56px;
        }
        .brand-copy strong {
          font-size: 0.9rem;
        }
        .hero {
          padding: 48px 0;
        }
        .hero-grid {
          gap: 38px;
        }
        .hero-actions .btn {
          width: 100%;
        }
        .hero-visual {
          min-height: 350px;
        }
        .photo-placeholder {
          right: 16px;
          bottom: 16px;
          left: 16px;
          display: block;
          padding: 18px;
        }
        .photo-placeholder .tag {
          display: inline-block;
          margin-top: 12px;
        }
        .trust-grid,
        .service-grid,
        .steps,
        .form-grid,
        .footer-grid {
          grid-template-columns: 1fr;
        }
        .trust-item {
          min-height: 76px;
          padding: 15px 10px !important;
          border-right: 0;
          border-bottom: 1px solid #ddd;
        }
        .service-card {
          min-height: 290px;
        }
        .service-card::after {
          display: none;
        }
        .service-number {
          margin-bottom: 36px;
        }
        .services,
        .projects,
        .why,
        .process,
        .emergency-teaser,
        .region,
        .reviews,
        .contact {
          padding: 78px 0;
        }
        .project-grid {
          display: grid;
          grid-template-columns: 1fr;
          grid-template-rows: repeat(4, 260px);
        }
        .project-card:first-child,
        .project-card:nth-child(4) {
          grid-column: auto;
        }
        .steps {
          gap: 10px;
        }
        .step {
          min-height: 130px;
          padding: 8px 0 18px 70px;
        }
        .step:not(:last-child)::after {
          top: 54px;
          left: 22px;
          width: 2px;
          height: calc(100% - 44px);
        }
        .region-copy,
        .form-card {
          padding: 28px;
        }
        .renovation-card {
          padding: 28px;
        }
        .regional-suppliers {
          grid-template-columns: 1fr;
          padding: 24px;
        }
        .emergency-box {
          gap: 34px;
          padding: 28px;
        }
        .emergency-actions .btn {
          width: 100%;
        }
        .emergency-checklist {
          padding: 22px;
        }
        .review-summary {
          align-items: stretch;
          flex-direction: column;
        }
        .map-visual {
          min-height: 320px;
        }
        .form-foot,
        .footer-bottom {
          align-items: stretch;
          flex-direction: column;
        }
        .footer-legal {
          justify-content: flex-start;
        }
        .form-foot .btn {
          width: 100%;
        }
        .mobile-bar {
          position: fixed;
          z-index: 40;
          right: 0;
          bottom: 0;
          left: 0;
          display: grid;
          grid-template-columns: 1fr 1fr;
          min-height: 67px;
          color: white;
          background: var(--ink);
          box-shadow: 0 -8px 25px rgba(0, 0, 0, 0.18);
        }
        .mobile-bar a {
          display: grid;
          place-items: center;
          font-weight: 900;
        }
        .mobile-bar a:first-child {
          background: var(--red);
        }
      }

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

/* Eigenständige LK-Meier-Gestaltung: warm, handwerklich, editorial */
:root {
  --red: #b5121b;
  --red-dark: #8f0e15;
  --ink: #1d2830;
  --anthracite: #27343d;
  --gray-700: #4f595d;
  --gray-500: #747b7c;
  --gray-300: #d1ccc2;
  --gray-150: #e5e0d7;
  --gray-100: #f2efe8;
  --white: #fff;
  --paper: #fbfaf6;
  --sand: #e9e3d9;
  --radius: 14px;
  --shadow: 0 18px 42px rgba(29, 40, 48, 0.1);
  --max: 1220px;
}

body {
  color: var(--ink);
  background: var(--paper);
  overflow-x: hidden;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Inter,
    Helvetica,
    Arial,
    sans-serif;
  font-size: 16px;
}

h1,
h2,
h3 {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Inter,
    Helvetica,
    Arial,
    sans-serif;
  overflow-wrap: break-word;
  text-wrap: balance;
  hyphens: auto;
}

h1,
h2 {
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.045em;
}

h3 {
  font-weight: 750;
  letter-spacing: -0.025em;
}

.eyebrow {
  gap: 12px;
  color: var(--red);
  letter-spacing: 0.16em;
}

.eyebrow::before {
  width: 5px;
  height: 18px;
  background: currentColor;
}

.btn {
  min-height: 50px;
  padding-inline: 21px;
  border-radius: 8px;
  font-size: 0.8rem;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-red {
  box-shadow: 0 9px 22px rgba(181, 18, 27, 0.2);
}

.btn-red:hover {
  box-shadow: 0 12px 26px rgba(181, 18, 27, 0.27);
}

.btn-dark {
  background: var(--ink);
}

.btn-outline {
  border-color: #bdb7ad;
  background: transparent;
}

.topline {
  color: #fff;
  background: var(--red);
}

.topline span,
.topline a {
  color: rgba(255, 255, 255, 0.88);
}

.site-header {
  color: var(--ink);
  border-bottom: 1px solid var(--gray-300);
  background: rgba(251, 250, 246, 0.96);
  box-shadow: none;
}

.nav {
  min-height: 82px;
}

.brand-copy small {
  color: #62696c;
}

.nav-links {
  color: var(--ink);
  gap: 23px;
  font-size: 0.84rem;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.menu-toggle {
  border-radius: 10px;
  background: var(--paper);
}

footer {
  background: #151e24;
}

.social-link {
  border-radius: 7px !important;
}

.mobile-bar {
  background: #151e24;
}

.mobile-bar a:last-child {
  background: var(--red);
}

@media (max-width: 780px) {
  .topline {
    display: none;
  }

  .nav {
    min-height: 72px;
    gap: 10px;
  }

  .nav-links {
    gap: 8px;
  }

  .nav-links .btn {
    padding-inline: 10px;
    font-size: 0.72rem;
  }

  .brand-logo {
    width: 64px;
    height: 56px;
  }
}

/* Startseite */
.hero {
  padding: 0;
  background: var(--sand);
}

.hero::before,
.hero::after {
  display: none !important;
}

.hero .hero-grid.wrap {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 0.98fr) minmax(500px, 1.02fr);
  gap: 0;
}

.hero .hero-grid > div:first-child {
  order: 2;
  min-width: 0;
  padding: clamp(58px, 5vw, 86px);
}

.hero h1 {
  max-width: 720px;
  font-size: clamp(3rem, 3.5vw, 4.2rem);
  overflow-wrap: normal;
  hyphens: manual;
}

.hero .lead {
  max-width: 640px;
}

.hero-visual {
  order: 1;
  min-height: 710px;
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
}

.hero-photo {
  border-radius: 0;
}

.hero-note {
  gap: 12px 24px;
  padding-top: 22px;
  border-top: 1px solid #c8c0b4;
}

.trust {
  border: 0;
  color: #fff;
  background: var(--ink);
}

.trust-item {
  min-height: 112px;
  border-color: rgba(255, 255, 255, 0.16);
}

.trust-item strong {
  color: #fff;
}

.trust-item small {
  color: rgba(255, 255, 255, 0.68);
}

.trust-icon {
  color: #fff;
  background: var(--red);
  border-radius: 9px;
}

.services {
  padding-block: 108px;
  background: var(--paper);
}

.service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 56px;
}

.service-card {
  min-height: 0;
  padding: 34px 0 36px;
  border: 0;
  border-top: 1px solid var(--gray-300);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.service-card:hover {
  transform: none;
  border-color: var(--red);
  box-shadow: none;
}

.service-card::before,
.service-card::after {
  display: none !important;
}

.service-number {
  color: var(--red);
  background: transparent;
}

.service-link {
  color: var(--red);
}

.renovation-card {
  margin-top: 48px;
  padding: clamp(38px, 5vw, 66px);
  border: 0;
  border-left: 8px solid var(--red);
  border-radius: 0 18px 18px 0;
  color: var(--ink);
  background: var(--sand);
  box-shadow: none;
}

.renovation-card::before,
.renovation-card::after {
  display: none !important;
}

.renovation-card h2,
.renovation-card p,
.renovation-card li {
  color: inherit;
}

.renovation-card .btn {
  color: #fff;
  background: var(--ink);
}

.regional-suppliers {
  border: 1px solid var(--gray-300);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

.regional-suppliers-mark {
  border-radius: 8px;
  background: var(--ink);
}

.projects {
  padding-block: 108px;
  color: var(--ink);
  background: #e8e3da;
}

.projects .section-head p,
.projects .eyebrow {
  color: inherit;
}

.projects .eyebrow {
  color: var(--red);
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 300px 300px 280px;
  gap: 14px;
}

.project-card {
  min-height: 0;
  border-radius: 14px;
  box-shadow: none;
}

.project-card:nth-child(1) {
  grid-column: 1 / 8;
  grid-row: 1 / 3;
}

.project-card:nth-child(2) {
  grid-column: 8 / 13;
  grid-row: 1;
}

.project-card:nth-child(3) {
  grid-column: 8 / 13;
  grid-row: 2;
}

.project-card:nth-child(4) {
  grid-column: 1 / 13;
  grid-row: 3;
}

.project-card::after {
  right: auto;
  bottom: 24px;
  left: 24px;
  border-radius: 6px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.project-overlay {
  background: linear-gradient(180deg, transparent 34%, rgba(16, 24, 29, 0.9));
}

.why {
  padding-block: 108px;
  color: #fff;
  background: var(--ink);
}

.why .eyebrow {
  color: #e35a60;
}

.why .lead,
.why p,
.why-item p {
  color: rgba(255, 255, 255, 0.72);
}

.why-panel {
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.why-item {
  padding: 26px 0 26px 34px;
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

.why-icon {
  border-radius: 9px;
  color: #fff;
  background: var(--red);
}

.process {
  padding-block: 108px;
  background: var(--paper);
}

.steps {
  gap: 0;
  border-top: 1px solid var(--gray-300);
}

.step {
  min-width: 0;
  padding: 32px 30px 14px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.step::before {
  position: static;
  display: block;
  width: auto;
  height: auto;
  margin-bottom: 18px;
  border: 0;
  border-radius: 0;
  color: var(--red);
  background: transparent;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.16em;
}

.step:not(:last-child)::after {
  display: none;
}

.step h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
}

.step p {
  margin-bottom: 0;
}

.emergency-teaser {
  padding: 0;
  background: var(--paper);
}

.emergency-box {
  width: 100%;
  max-width: none;
  padding: clamp(58px, 7vw, 100px) max(20px, calc((100vw - var(--max)) / 2));
  border-radius: 0;
  background: var(--red);
  box-shadow: none;
}

.emergency-box::before,
.emergency-box::after {
  display: none !important;
}

.emergency-box .btn-dark {
  background: var(--ink);
}

.emergency-box .btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}

.emergency-checklist {
  border-left: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0;
  background: transparent;
}

.region {
  padding-block: 108px;
  background: var(--paper);
}

.region-box {
  padding: 0;
  border: 1px solid var(--gray-300);
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}

.region-copy {
  padding: clamp(38px, 5vw, 66px);
}

.map-visual {
  min-height: 460px;
  border-radius: 0;
  background: var(--sand);
}

.reviews {
  padding-block: 108px;
  background: #eee9e0;
}

.review-summary,
.review-card {
  border-radius: 14px;
  box-shadow: none;
}

.review-summary {
  border-left: 7px solid var(--red);
}

.review-brand {
  border-radius: 8px;
}

.review-grid {
  gap: 1px;
  background: var(--gray-300);
}

.review-card {
  border: 0;
}

.contact {
  padding-block: 108px;
  color: #fff;
  background: var(--ink);
}

.contact::before,
.contact::after {
  display: none !important;
}

.contact .eyebrow {
  color: #e35a60;
}

.contact-copy > p,
.contact-role {
  color: rgba(255, 255, 255, 0.72);
}

.contact-option {
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: transparent;
}

.contact-option:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.05);
}

.contact-option-icon {
  border-radius: 8px;
  background: var(--red);
}

.form-card {
  border-radius: 16px;
  box-shadow: 10px 10px 0 rgba(181, 18, 27, 0.34);
}

.field input,
.field select,
.field textarea,
.privacy-check {
  border-radius: 8px;
}

@media (max-width: 900px) {
  .hero .hero-grid.wrap {
    grid-template-columns: 1fr;
  }

  .hero .hero-grid > div:first-child {
    order: 2;
    padding: 54px max(20px, 7vw) 64px;
  }

  .hero-visual {
    order: 1;
    min-height: 500px;
  }

  .service-grid {
    grid-template-columns: 1fr;
  }

  .project-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, minmax(280px, 62vw));
  }

  .project-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }

  .why-panel,
  .emergency-checklist {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
  }

  .region-copy {
    padding-bottom: 10px;
  }
}

@media (max-width: 560px) {
  .hero h1 {
    font-size: clamp(2.25rem, 10vw, 3rem);
    line-height: 1.01;
  }

  .hero-visual {
    min-height: 390px;
  }

  .trust-grid {
    grid-template-columns: 1fr 1fr;
  }

  .trust-item {
    min-height: 94px;
    padding: 16px;
  }

  .services,
  .projects,
  .why,
  .process,
  .region,
  .reviews,
  .contact {
    padding-block: 76px;
  }

  .steps {
    display: block;
  }

  .step {
    min-height: 0;
    padding: 25px 0 27px;
    border-bottom: 1px solid var(--gray-300);
  }

  .step::before {
    margin-bottom: 12px;
  }

  .emergency-box {
    padding-block: 68px;
  }
}

/* LK Meier V5: eigenständige, conversion-orientierte Bild- und Flächenführung */

/* Startbild: ein starkes Referenzfoto statt Collage oder klassischer Teilung */
#start .hero {
  min-height: 760px;
  background: #1b1d1f;
}

#start .hero .hero-grid.wrap {
  position: relative;
  display: block;
  min-height: 760px;
  overflow: hidden;
}

#start .hero .hero-visual {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  min-height: 760px;
}

#start .hero .hero-visual::after {
  position: absolute;
  display: block !important;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 20, 22, 0.12) 20%, rgba(18, 20, 22, 0.56) 100%);
  content: "";
}

#start .hero .hero-grid > div:first-child {
  position: relative;
  z-index: 2;
  width: min(690px, calc(100% - 40px));
  margin-left: max(20px, calc((100vw - var(--max)) / 2));
  padding: clamp(58px, 6vw, 82px);
  border-top: 8px solid var(--red);
  border-radius: 0 20px 20px 0;
  background: rgba(251, 250, 246, 0.96);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
  transform: translateY(92px);
}

#start .hero h1 {
  max-width: 600px;
  font-size: clamp(3rem, 3.7vw, 4.4rem);
}

#start .hero .hero-actions .btn-red {
  min-height: 56px;
}

#start .hero .hero-note {
  border-color: #c9c4bb;
}

/* Vertrauensargumente bewusst hell und sachlich */
.trust {
  padding: 18px 0;
  color: var(--ink);
  background: #f1eee8;
}

.trust-grid {
  gap: 12px;
}

.trust-item {
  min-height: 92px;
  padding: 18px 20px;
  border: 1px solid var(--gray-300);
  border-radius: 12px;
  color: var(--ink);
  background: #fff;
}

.trust-item strong {
  color: var(--ink);
}

.trust-item small {
  color: var(--gray-700);
}

/* Große Leistungsübersicht bleibt eine ruhige Liste statt Kartenwand */
.services .section-head {
  max-width: 860px;
}

.service-card {
  padding-block: 38px;
}

.service-card h3 {
  font-size: 1.36rem;
}

.renovation-card {
  color: #fff;
  background: #25292c;
}

.renovation-card h2,
.renovation-card p,
.renovation-card li {
  color: inherit;
}

.renovation-card .btn {
  color: var(--ink);
  background: #fff;
}

/* Ablauf als klare Linie – absichtlich keine Prozesskarten */
.process {
  background: #f4f1eb;
}

.steps {
  position: relative;
  border-top: 2px solid #beb8ad;
}

.step::before {
  color: #fff;
  width: fit-content;
  margin-top: -47px;
  margin-bottom: 25px;
  padding: 8px 10px;
  border-radius: 5px;
  background: var(--red);
}

/* Kontakt bewusst invertiert: helles Umfeld, dunkles Formular */
.contact {
  color: var(--ink);
  background: #eee9e0;
}

.contact .eyebrow {
  color: var(--red);
}

.contact h2 {
  color: var(--ink);
}

.contact-copy > p,
.contact-role {
  color: var(--gray-700);
}

.contact-option {
  color: var(--ink);
  border-color: #c8c1b6;
  background: rgba(255, 255, 255, 0.72);
}

.contact-option:hover {
  border-color: var(--red);
  background: #fff;
}

.contact-option small {
  color: var(--red);
  font-weight: 800;
}

.contact-option strong {
  color: var(--ink);
}

.contact-option .contact-role {
  color: var(--gray-700);
}

.contact .form-card {
  color: #fff;
  background: #25292c;
  box-shadow: 10px 10px 0 rgba(181, 18, 27, 0.62);
}

.contact .form-card h3,
.contact .form-card p,
.contact .field label {
  color: #fff;
}

.contact .field input,
.contact .field select,
.contact .field textarea {
  color: var(--ink);
  background: #fff;
}

.contact .field input::placeholder,
.contact .field textarea::placeholder {
  color: #777f82;
  opacity: 1;
}

.contact .field select option {
  color: var(--ink);
  background: #fff;
}

.contact .privacy-check,
.contact .form-foot small {
  color: #c7cdd0;
}

.contact .form-card .btn-dark {
  color: #fff;
  background: var(--red);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.contact .form-status {
  color: #154c29;
  background: #e7f5eb;
}

/* Rechtliche und funktionale Nebenseiten bleiben zurückhaltend, aber markentypisch */
.page-head {
  background: #25292c;
}

.area-contact .contact-box,
.emergency-box {
  background: var(--red);
}

@media (max-width: 900px) {
  #start .hero {
    min-height: auto;
    padding-bottom: 34px;
    background: #e9e3d9;
  }

  #start .hero .hero-grid.wrap {
    display: flex;
    min-height: auto;
    flex-direction: column;
    overflow: visible;
  }

  #start .hero .hero-visual {
    position: relative;
    order: 1;
    min-height: 430px;
  }

  #start .hero .hero-visual::after {
    background: linear-gradient(180deg, transparent 55%, rgba(18, 20, 22, 0.38));
  }

  #start .hero .hero-grid > div:first-child {
    order: 2;
    width: min(calc(100% - 28px), 700px);
    margin: -42px auto 0;
    padding: 46px max(24px, 6vw) 50px;
    border-top-width: 7px;
    border-radius: 15px;
    transform: none;
  }

  #start .hero h1 {
    font-size: clamp(2.4rem, 7vw, 3.4rem);
  }

  .steps {
    border-top: 0;
  }

  .step::before {
    margin-top: 0;
    margin-bottom: 13px;
  }
}

@media (max-width: 560px) {
  #start .hero .hero-visual {
    min-height: 350px;
  }

  #start .hero .hero-grid > div:first-child {
    padding: 34px 22px 40px;
  }

  #start .hero h1 {
    font-size: clamp(2.15rem, 9.5vw, 2.75rem);
  }

  .trust-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .trust-item {
    min-height: 108px;
    align-items: flex-start;
    padding: 15px 12px;
  }

  .trust-icon {
    width: 32px;
    height: 32px;
  }

  .contact .form-card {
    padding: 27px 22px;
    box-shadow: 6px 6px 0 rgba(181, 18, 27, 0.62);
  }
}

/* V6: aus der regionalen Marktanalyse abgeleitete Conversion-Führung */

#start .hero h1 {
  max-width: 610px;
  font-size: clamp(3rem, 3.65vw, 4.35rem);
}

#start .hero .lead {
  max-width: 590px;
}

.trust-item > span:last-child {
  font-weight: 800;
  line-height: 1.3;
}

.project-paths {
  padding: 110px 0;
  background: #fff;
}

.paths-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(340px, 1.18fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 48px;
}

.paths-intro h2 {
  max-width: 660px;
  margin-bottom: 0;
}

.paths-intro > p {
  max-width: 620px;
  margin: 0;
  color: var(--gray-700);
  font-size: 1.08rem;
}

.path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--gray-300);
}

.path-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 350px;
  flex-direction: column;
  padding: 38px 34px;
  border-right: 1px solid var(--gray-300);
  background: #fff;
}

.path-card:last-child {
  border-right: 0;
}

.path-card-featured {
  color: #fff;
  background: #25292c;
}

.path-card .path-number {
  color: var(--red);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.path-card-featured .path-number {
  color: #ff7075;
}

.path-card .path-badge {
  position: absolute;
  top: 28px;
  right: 28px;
  padding: 7px 9px;
  border-radius: 5px;
  color: #fff;
  background: var(--red);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.path-card h3 {
  margin: 62px 0 16px;
  font-size: clamp(1.55rem, 2vw, 2rem);
}

.path-card p {
  margin-bottom: 30px;
  color: var(--gray-700);
}

.path-card-featured p {
  color: rgba(255, 255, 255, 0.72);
}

.path-card a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: auto;
  color: var(--red);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.path-card-featured a {
  color: #fff;
  border-bottom: 2px solid var(--red);
  padding-bottom: 4px;
}

.services .section-head h2 {
  max-width: 850px;
}

@media (max-width: 900px) {
  .paths-intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .path-grid {
    grid-template-columns: 1fr;
  }

  .path-card {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--gray-300);
  }

  .path-card:last-child {
    border-bottom: 0;
  }

  .path-card h3 {
    margin-top: 38px;
  }
}

@media (max-width: 560px) {
  #start .hero h1 {
    font-size: clamp(2.05rem, 9vw, 2.65rem);
  }

  .project-paths {
    padding: 76px 0;
  }

  .trust-grid {
    grid-template-columns: 1fr;
  }

  .trust-item {
    min-height: 74px;
    align-items: center;
  }

  .paths-intro {
    margin-bottom: 34px;
  }

  .path-card {
    padding: 31px 24px 34px;
  }

  .path-card .path-badge {
    top: 25px;
    right: 22px;
  }
}



/* LK Meier – kombinierter Testentwurf: modernes Raster + bestehende Inhalte + Marktpositionierung */
:root {
  --red: #e20f1a !important;
  --red-dark: #b70912 !important;
  --ink: #16181a !important;
  --anthracite: #292d30 !important;
  --gray-700: #555c61 !important;
  --gray-500: #747a7e !important;
  --gray-300: #d5d9db !important;
  --gray-150: #e6e9ea !important;
  --gray-100: #f2f3f3 !important;
  --radius: 0 !important;
  --shadow: 0 18px 50px rgba(15, 20, 23, .13) !important;
  --max: 1240px !important;
}

body {
  background: #fff !important;
  color: var(--ink) !important;
  font-family: Inter, Aptos, "Segoe UI", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { letter-spacing: -.052em !important; }
h2 { font-size: clamp(2.75rem, 5vw, 4.85rem) !important; line-height: .98 !important; }
.wrap { width: min(calc(100% - 64px), var(--max)) !important; }
.btn { border-radius: 0 !important; min-height: 54px !important; }
.btn-red { background: var(--red) !important; }
.eyebrow {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: .66rem !important;
  letter-spacing: .14em !important;
}
.eyebrow::before { height: 2px !important; width: 42px !important; }

.topline { background: #1f2224 !important; border: 0 !important; color: #fff !important; }
.topline .topline-inner { min-height: 34px !important; }
.topline span, .topline a { color: #ffffffb8 !important; font-size: .64rem !important; }

.site-header {
  background: #fff !important;
  border-bottom: 4px solid var(--red) !important;
  box-shadow: none !important;
}
.site-header .nav { min-height: 102px !important; }
.brand-logo { width: 86px !important; height: 74px !important; }
.brand-copy strong { font-size: 1.02rem !important; }
.brand-copy small, .brand-service {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: .61rem !important;
  letter-spacing: .1em !important;
}
.nav-links { align-self: stretch !important; gap: 0 !important; }
.nav-links > a:not(.btn) {
  align-items: center !important;
  border-left: 1px solid var(--gray-150) !important;
  display: flex !important;
  font-size: .72rem !important;
  min-height: 100% !important;
  padding: 0 14px !important;
}
.nav-links > a:not(.btn):hover { background: var(--gray-100) !important; color: var(--red) !important; }
.nav-links .btn { margin-left: 14px !important; padding-inline: 20px !important; }

.hero {
  background: var(--anthracite) !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
}
.hero::before {
  background: linear-gradient(90deg, rgba(20,22,23,.96), rgba(20,22,23,.82) 51%, rgba(20,22,23,.08) 78%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
.hero-grid {
  align-items: stretch !important;
  display: grid !important;
  grid-template-columns: 1.08fr .92fr !important;
  min-height: 700px !important;
  position: relative !important;
}
.hero-grid > div:first-child {
  align-self: center !important;
  max-width: 760px !important;
  padding: 76px 0 112px !important;
  position: relative !important;
  z-index: 4 !important;
}
.hero .eyebrow { color: #ff6d74 !important; }
.hero h1 {
  color: #fff !important;
  font-size: clamp(3.35rem, 6vw, 5.65rem) !important;
  line-height: .94 !important;
  margin-bottom: 28px !important;
  max-width: 780px !important;
}
.hero h1::after {
  color: #ff666d;
  content: " Ein Betrieb. Klare Zuständigkeit.";
}
.hero h1 { font-size: 0 !important; }
.hero h1::before {
  content: "Heizung, Bad, Klima & Sanierung.";
  display: block;
  font-size: clamp(3.35rem, 6vw, 5.65rem);
}
.hero h1::after { display: block; font-size: clamp(3.35rem, 6vw, 5.65rem); }
.hero .lead { color: #ffffffbf !important; font-size: 1.08rem !important; line-height: 1.7 !important; }
.hero-actions { gap: 12px !important; margin-top: 34px !important; }
.hero .btn-outline { background: transparent !important; border-color: #ffffff72 !important; color: #fff !important; }
.hero-note {
  border: 0 !important;
  border-top: 1px solid #ffffff3d !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 11px 28px !important;
  margin-top: 32px !important;
  padding: 22px 0 0 !important;
}
.hero-note span { color: #ffffffe0 !important; font-size: .7rem !important; padding-left: 18px !important; position: relative !important; }
.hero-note span::before { background: var(--red); content: ""; height: 7px; left: 0; position: absolute; top: 6px; width: 7px; }
.hero-visual { inset: 0 calc((100vw - min(1240px, calc(100vw - 64px))) / -2) 0 38% !important; margin: 0 !important; max-height: none !important; position: absolute !important; z-index: 1 !important; }
.hero-photo { border: 0 !important; border-radius: 0 !important; height: 100% !important; object-fit: cover !important; width: 100% !important; }
.hero-visual::before, .hero-visual::after { display: none !important; }

.trust { background: var(--red) !important; border: 0 !important; color: #fff !important; }
.trust-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
.trust-item { border-right: 1px solid #ffffff42 !important; color: #fff !important; min-height: 92px !important; padding: 20px 24px !important; }
.trust-item:first-child { border-left: 1px solid #ffffff42 !important; }
.trust-icon { background: transparent !important; border: 1px solid #ffffff72 !important; border-radius: 0 !important; color: #fff !important; font-family: ui-monospace, monospace !important; }

.project-paths { background: #fff !important; padding: 112px 0 120px !important; }
.paths-intro { align-items: end !important; display: grid !important; gap: 8vw !important; grid-template-columns: 1fr .62fr !important; margin-bottom: 56px !important; }
.paths-intro > p { color: var(--gray-700) !important; line-height: 1.75 !important; margin: 0 !important; }
.path-grid { gap: 20px !important; }
.path-card {
  background: #fff !important;
  border: 1px solid var(--gray-300) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 340px !important;
  padding: 34px !important;
}
.path-card:hover { box-shadow: var(--shadow) !important; transform: translateY(-5px) !important; }
.path-card h3 { font-size: 1.85rem !important; margin-top: 60px !important; }
.path-card > a { border-top: 3px solid var(--red) !important; margin-top: auto !important; padding-top: 16px !important; }
.path-card-featured { border: 2px solid var(--red) !important; }
.path-badge { border-radius: 0 !important; }
.path-card:last-child { background: var(--anthracite) !important; border-color: var(--anthracite) !important; color: #fff !important; }
.path-card:last-child p { color: #ffffffa5 !important; }

.services { background: var(--gray-100) !important; padding: 112px 0 120px !important; }
.services .section-head { max-width: 890px !important; }
.service-grid { gap: 0 !important; grid-template-columns: repeat(2, 1fr) !important; }
.service-card {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #cbd0d2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 245px !important;
  padding: 34px 40px 34px 0 !important;
}
.service-card:nth-child(even) { border-left: 1px solid #cbd0d2 !important; padding-left: 40px !important; }
.service-card h3 { font-size: 1.7rem !important; }
.service-number { font-family: ui-monospace, monospace !important; }
.service-link { border-top: 3px solid var(--red) !important; padding-top: 15px !important; }
.service-card:hover { background: #fff !important; box-shadow: none !important; transform: none !important; }
.renovation-card {
  background: var(--anthracite) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  margin-top: 46px !important;
  padding: 52px !important;
}
.renovation-card p { color: #ffffffaa !important; }
.renovation-card .eyebrow { color: #ff7178 !important; }
.renovation-points span { border-color: #ffffff30 !important; color: #fff !important; }
.regional-suppliers { border-radius: 0 !important; }

.projects { background: #fff !important; padding: 112px 0 124px !important; }
.project-grid { gap: 28px !important; }
.project-card { border: 1px solid var(--gray-300) !important; border-radius: 0 !important; box-shadow: none !important; }
.project-image { border-radius: 0 !important; }

.why-us { background: var(--gray-100) !important; }
.why-card, .person-card, .step, .review-card, .form-card, .contact-option, .emergency-card, .area-card, .contact-box { border-radius: 0 !important; }
.why-card:first-child { border-top: 4px solid var(--red) !important; }

.process { background: #fff !important; }
.step { border: 1px solid var(--gray-300) !important; box-shadow: none !important; }

.reviews { background: var(--red) !important; color: #fff !important; }
.reviews .eyebrow, .reviews h2, .reviews .section-head > p { color: #fff !important; }
.review-summary, .review-card { border: 0 !important; box-shadow: none !important; }

.contact { background: var(--anthracite) !important; color: #fff !important; }
.contact .eyebrow { color: #ff6e75 !important; }
.contact h2, .contact-copy > p, .contact-role { color: #fff !important; }
.contact-option { background: transparent !important; border-color: #ffffff35 !important; color: #fff !important; }
.contact-option:hover { background: #ffffff0d !important; }
.contact .form-card { background: #fff !important; color: var(--ink) !important; padding: 40px !important; }
.contact .form-card h3, .contact .form-card p, .contact .field label { color: var(--ink) !important; }
.contact .field input, .contact .field select, .contact .field textarea { background: var(--gray-100) !important; border: 1px solid var(--gray-300) !important; color: var(--ink) !important; }
.contact .privacy-check, .contact .form-foot small { color: var(--gray-700) !important; }

footer { background: #1d2022 !important; border-top: 5px solid var(--red) !important; }
footer .brand-logo { background: #fff !important; padding: 8px !important; }
.mobile-bar a:first-child { background: var(--anthracite) !important; }
.mobile-bar a:last-child { background: var(--red) !important; }

@media (max-width: 980px) {
  .nav-links > a:not(.btn) { padding-inline: 9px !important; }
  .hero-grid { min-height: 660px !important; }
  .hero-grid > div:first-child { max-width: 680px !important; }
  .paths-intro { display: block !important; }
  .paths-intro > p { margin-top: 26px !important; max-width: 650px !important; }
}

@media (max-width: 760px) {
  body { padding-bottom: 64px !important; }
  .wrap { width: calc(100% - 32px) !important; }
  .topline { display: none !important; }
  .site-header { position: sticky !important; top: 0 !important; }
  .site-header .nav { min-height: 76px !important; }
  .brand-logo { height: 58px !important; width: 67px !important; }
  .brand-copy strong { font-size: .84rem !important; }
  .brand-copy small, .brand-service { font-size: .5rem !important; }
  .menu-toggle { background: var(--anthracite) !important; border: 0 !important; border-radius: 0 !important; color: #fff !important; height: 44px !important; width: 48px !important; }
  .nav-links { background: var(--anthracite) !important; }
  .nav-links > a:not(.btn) { border-bottom: 1px solid #ffffff18 !important; border-left: 0 !important; color: #fff !important; min-height: 52px !important; padding: 0 18px !important; }
  .hero { min-height: 690px !important; }
  .hero::before { background: linear-gradient(0deg, rgba(19,21,22,.98) 14%, rgba(19,21,22,.73) 68%, rgba(19,21,22,.24)) !important; }
  .hero-grid { display: block !important; min-height: 690px !important; }
  .hero-grid > div:first-child { align-items: end !important; display: flex !important; flex-direction: column !important; justify-content: end !important; min-height: 690px !important; padding: 180px 0 48px !important; }
  .hero-grid > div:first-child > * { width: 100% !important; }
  .hero h1::before, .hero h1::after { font-size: clamp(2.75rem, 12vw, 3.8rem) !important; }
  .hero .lead { font-size: .93rem !important; }
  .hero-actions { display: grid !important; }
  .hero-actions .btn { width: 100% !important; }
  .hero-note { display: grid !important; gap: 9px !important; }
  .hero-visual { inset: 0 !important; }
  .hero-photo { object-position: center top !important; }
  .trust-grid { grid-template-columns: 1fr 1fr !important; }
  .trust-item { min-height: 80px !important; padding: 14px !important; }
  .project-paths, .services, .projects { padding: 82px 0 90px !important; }
  .path-grid { grid-template-columns: 1fr !important; }
  .path-card { min-height: 285px !important; padding: 28px !important; }
  .path-card h3 { margin-top: 42px !important; }
  .service-grid { grid-template-columns: 1fr !important; }
  .service-card, .service-card:nth-child(even) { border-left: 0 !important; min-height: 220px !important; padding: 30px 0 !important; }
  .renovation-card { padding: 34px 26px !important; }
  .project-grid { grid-template-columns: 1fr !important; }
  .contact .form-card { padding: 30px 24px !important; }
}

@media (max-width: 480px) {
  .brand-copy small { display: none !important; }
  .brand-copy { gap: 3px !important; }
  .hero h1::before, .hero h1::after { font-size: 2.75rem !important; }
  .hero-note span { font-size: .65rem !important; }
  h2 { font-size: 2.65rem !important; }
}



  /* Sichtbare Korrekturen nach Desktop- und Strukturprüfung */
  .hero-grid > div:first-child {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .hero h1,
  .hero .lead,
  .hero-note,
  .hero-actions {
    position: relative;
    z-index: 5;
  }

  .hero::before {
    background: linear-gradient(
      90deg,
      rgba(20, 22, 23, .97) 0%,
      rgba(20, 22, 23, .86) 46%,
      rgba(20, 22, 23, .28) 68%,
      rgba(20, 22, 23, .06) 100%
    ) !important;
  }

  .hero-visual {
    right: 0 !important;
    left: 40% !important;
    width: auto !important;
    z-index: 1 !important;
  }

  .hero-photo {
    position: relative !important;
    z-index: 1 !important;
  }

  .hero h1,
  .why h2,
  .emergency h2,
  .area h2,
  .contact h2 {
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .project-card {
    background: #24282b !important;
    color: #fff !important;
  }

  .project-card > img {
    display: block !important;
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
  }

  .project-card::before {
    background: linear-gradient(
      0deg,
      rgba(0, 0, 0, .78) 0%,
      rgba(0, 0, 0, .28) 36%,
      rgba(0, 0, 0, 0) 76%
    ) !important;
    z-index: 2 !important;
  }

  .project-card::after {
    top: 22px !important;
    right: auto !important;
    bottom: auto !important;
    left: 22px !important;
    height: auto !important;
    border-radius: 0 !important;
    background: rgba(24, 27, 29, .82) !important;
    color: #fff !important;
    z-index: 4 !important;
  }

  .project-card > div {
    color: #fff !important;
    z-index: 3 !important;
  }

  .project-card h3,
  .project-card p {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .5);
  }

  .review-summary .btn-outline {
    border-color: var(--anthracite) !important;
    background: var(--anthracite) !important;
    color: #fff !important;
  }

  .review-summary .btn-outline:hover {
    background: var(--red-dark) !important;
  }

  .review-card footer {
    border: 0 !important;
    background: transparent !important;
    color: var(--ink) !important;
    padding: 18px 0 0 !important;
  }

  .review-card footer strong,
  .review-card footer span,
  .review-card footer small {
    color: var(--ink) !important;
  }

  .contact-option strong,
  .contact-option a,
  .contact-option > span:not(.contact-option-icon) {
    color: #fff !important;
  }

  .contact-option .contact-role {
    color: rgba(255, 255, 255, .72) !important;
  }

  .why h2 {
    font-size: clamp(2.7rem, 4.5vw, 4.45rem) !important;
  }

  @media (max-width: 760px) {
    .hero-grid > div:first-child {
      background: transparent !important;
      border-radius: 0 !important;
    }

    .hero h1::before,
    .hero h1::after {
      font-size: clamp(2.45rem, 11vw, 3.45rem) !important;
      line-height: .96 !important;
    }

    .hero-note {
      border-top-color: rgba(255, 255, 255, .32) !important;
    }

    .project-card:nth-child(n) {
      min-height: 330px !important;
    }

    .why h2,
    .contact h2,
    .emergency h2,
    .area h2 {
      font-size: 2.55rem !important;
    }

    .contact-option strong {
      color: #fff !important;
    }
  }


  /* Mobile Kontraste und klarer Bildaufbau */
  .trust-item {
    background: transparent !important;
  }

  .trust-item > span:last-child,
  .trust-item .trust-icon {
    color: #fff !important;
    opacity: 1 !important;
  }

  .path-card-featured {
    background: var(--anthracite) !important;
    color: #fff !important;
  }

  .path-card-featured h3,
  .path-card-featured p,
  .path-card-featured a {
    color: #fff !important;
    opacity: 1 !important;
  }

  .region-box {
    background: var(--anthracite) !important;
    color: #fff !important;
  }

  .region-copy .eyebrow,
  .region-copy h2,
  .region-copy p,
  .region-list span {
    color: #fff !important;
    opacity: 1 !important;
  }

  .region-copy > p:not(.eyebrow) {
    color: rgba(255, 255, 255, .78) !important;
  }

  .region-list span {
    border-color: rgba(255, 255, 255, .3) !important;
  }

  @media (max-width: 760px) {
    .hero {
      min-height: 0 !important;
      padding: 0 !important;
    }

    .hero::before {
      display: none !important;
    }

    .hero .hero-grid.wrap {
      display: flex !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 0 !important;
      flex-direction: column !important;
    }

    .hero-visual {
      position: relative !important;
      inset: auto !important;
      order: 1 !important;
      width: 100% !important;
      height: clamp(330px, 90vw, 430px) !important;
      min-height: 0 !important;
      background: #202426 !important;
    }

    .hero-photo {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center 43% !important;
    }

    .hero-grid > div:first-child {
      display: block !important;
      order: 2 !important;
      width: calc(100% - 32px) !important;
      min-height: 0 !important;
      margin: 0 auto !important;
      padding: 42px 0 50px !important;
    }

    .hero-grid > div:first-child > * {
      width: 100% !important;
    }

    .hero h1::before,
    .hero h1::after {
      font-size: clamp(2.35rem, 10.5vw, 3.15rem) !important;
      line-height: .98 !important;
    }

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

    .trust-item,
    .trust-item:first-child,
    .trust-item:nth-child(2) {
      min-height: 96px !important;
      padding: 16px !important;
      border: 1px solid rgba(255, 255, 255, .28) !important;
    }

    .path-card-featured {
      border-color: var(--red) !important;
    }

    .region-box {
      border-color: var(--anthracite) !important;
    }
  }

  @media (max-width: 430px) {
    .trust-grid {
      grid-template-columns: 1fr !important;
      gap: 0 !important;
    }

    .trust-item,
    .trust-item:first-child,
    .trust-item:nth-child(2) {
      min-height: 76px !important;
      border-right: 0 !important;
      border-bottom: 1px solid rgba(255, 255, 255, .28) !important;
      border-left: 0 !important;
    }
  }

  @media (min-width: 981px) {
    .hero h1::before,
    .hero h1::after {
      font-size: clamp(3.55rem, 4.8vw, 4.1rem) !important;
      line-height: .96 !important;
    }
  }


  /* Logo vollständig, Projektbilder sauber getrennt, Einsatzgebiet kompakter */
  #project-form {
    scroll-margin-top: 118px;
  }

  #project-form button[disabled] {
    cursor: wait;
    opacity: .7;
  }

  #project-form .form-status.is-loading {
    color: #66520b !important;
    background: #fff5cf !important;
  }

  #project-form .form-status.is-success {
    color: #154c29 !important;
    background: #e7f5eb !important;
  }

  #project-form .form-status.is-error {
    color: #7d171b !important;
    background: #fdebec !important;
  }

  .map-visual {
    position: relative !important;
    min-height: 460px !important;
    isolation: isolate;
    background:
      linear-gradient(rgba(29, 40, 48, .045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(29, 40, 48, .045) 1px, transparent 1px),
      #eee9df !important;
    background-size: 34px 34px !important;
  }

  .map-visual::before {
    top: 50% !important;
    left: 50% !important;
    width: min(62%, 310px) !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    border: 1px dashed rgba(181, 18, 27, .5) !important;
    box-shadow:
      0 0 0 48px rgba(181, 18, 27, .055),
      0 0 0 96px rgba(181, 18, 27, .025) !important;
    transform: translate(-50%, -50%) !important;
  }

  .map-visual::after {
    top: 50% !important;
    left: 50% !important;
    width: 18px !important;
    height: 18px !important;
    box-shadow: 0 0 0 11px rgba(181, 18, 27, .18) !important;
    transform: translate(-50%, -50%) !important;
  }

  .map-label {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    color: var(--ink) !important;
    text-align: center;
    transform: translate(-50%, 30px) !important;
  }

  .map-label strong {
    display: block;
    font-size: 1.25rem;
  }

  .map-label small {
    color: var(--gray-700) !important;
  }

  .map-distance,
  .map-town {
    position: absolute;
    z-index: 3;
    color: var(--ink);
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 22px rgba(29, 40, 48, .1);
    font-size: .72rem;
    font-weight: 800;
  }

  .map-distance {
    top: 24px;
    left: 24px;
    padding: 9px 12px;
    border-left: 4px solid var(--red);
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .map-town {
    padding: 8px 11px 8px 25px;
    border: 1px solid rgba(29, 40, 48, .12);
  }

  .map-town::before {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--red);
    content: "";
    transform: translateY(-50%);
  }

  .map-town--deggendorf { top: 17%; left: 50%; transform: translateX(-50%); }
  .map-town--aholming { top: 39%; left: 7%; }
  .map-town--moos { top: 58%; right: 7%; }
  .map-town--osterhofen { right: 22%; bottom: 10%; }

  @media (max-width: 760px) {
    .project-grid {
      grid-template-rows: none !important;
      grid-auto-rows: clamp(310px, 86vw, 370px) !important;
      gap: 22px !important;
    }

    .project-card:nth-child(n) {
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
    }

    .region-copy {
      padding: 34px 28px 36px !important;
    }

    .map-visual {
      min-height: 390px !important;
      border-top: 1px solid rgba(255, 255, 255, .18);
    }

    .map-visual::before {
      width: min(58vw, 230px) !important;
      box-shadow:
        0 0 0 36px rgba(181, 18, 27, .055),
        0 0 0 72px rgba(181, 18, 27, .025) !important;
    }

    .map-distance {
      top: 18px;
      left: 18px;
    }

    .map-town--deggendorf { top: 19%; }
    .map-town--aholming { top: 38%; left: 4%; }
    .map-town--moos { top: 59%; right: 4%; }
    .map-town--osterhofen { right: 15%; bottom: 7%; }
  }

  @media (max-width: 480px) {
    .brand-copy small {
      display: block !important;
    }
  }

  @media (max-width: 390px) {
    .brand-logo {
      width: 60px !important;
      height: 53px !important;
    }

    .brand-copy strong {
      font-size: .76rem !important;
    }

    .brand-copy small,
    .brand-service {
      font-size: .45rem !important;
      letter-spacing: .07em !important;
    }
  }


  /* PC-Abschluss: Navigation vollständig, Hero klar getrennt,
     Wärmepumpe mit vollständigem Anlagenausschnitt. */
  @media (min-width: 981px) {
    .site-header .nav.wrap {
      width: min(calc(100% - 40px), 1420px) !important;
      gap: 18px !important;
    }

    .site-header .brand-logo {
      width: 78px !important;
      height: 68px !important;
    }

    .site-header .brand-copy strong {
      font-size: .92rem !important;
    }

    .site-header .nav-links > a:not(.btn) {
      padding-right: 10px !important;
      padding-left: 10px !important;
      font-size: .68rem !important;
    }

    .site-header .nav-links .btn {
      margin-left: 8px !important;
      padding-right: 15px !important;
      padding-left: 15px !important;
      font-size: .72rem !important;
      white-space: nowrap !important;
    }

    #start .hero .hero-grid.wrap {
      display: grid !important;
      grid-template-columns: minmax(0, 65fr) minmax(0, 35fr) !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 720px !important;
      overflow: hidden !important;
    }

    #start .hero .hero-grid > div:first-child {
      grid-column: 1 !important;
      grid-row: 1 !important;
      order: initial !important;
      display: flex !important;
      width: auto !important;
      max-width: none !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 68px 48px 88px max(32px, calc((100vw - var(--max)) / 2)) !important;
      overflow: hidden !important;
      flex-direction: column !important;
      justify-content: center !important;
      background: #141617 !important;
      transform: none !important;
    }

    #start .hero .hero-title {
      max-width: 720px !important;
      font-size: 0 !important;
    }

    #start .hero .hero-title::before,
    #start .hero .hero-title::after {
      display: none !important;
      content: none !important;
    }

    #start .hero .hero-title > span {
      display: block !important;
      color: #fff !important;
      font-size: clamp(2.75rem, 3vw, 3.65rem) !important;
      line-height: .98 !important;
      white-space: nowrap !important;
    }

    #start .hero .hero-title > .hero-title-accent {
      color: #ff666d !important;
    }

    #start .hero .lead {
      max-width: 630px !important;
    }

    #start .hero .hero-visual {
      position: relative !important;
      inset: auto !important;
      grid-column: 2 !important;
      grid-row: 1 !important;
      order: initial !important;
      width: 100% !important;
      height: 100% !important;
      min-height: 720px !important;
      margin: 0 !important;
    }

    #start .hero::before {
      display: none !important;
      content: none !important;
    }

    #start .hero .hero-photo {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center center !important;
    }

    .emergency-teaser .emergency-box.wrap {
      width: 100% !important;
      max-width: none !important;
      grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr) !important;
      gap: 72px !important;
      padding: 82px max(32px, calc((100vw - var(--max)) / 2)) !important;
    }

    .emergency-teaser .emergency-copy,
    .emergency-teaser .emergency-checklist {
      min-width: 0 !important;
    }

    .emergency-teaser .emergency-copy h2 {
      max-width: 640px !important;
      font-size: clamp(3.2rem, 4.2vw, 4.7rem) !important;
      line-height: .98 !important;
    }

    .emergency-teaser .emergency-copy p:not(.eyebrow) {
      max-width: 620px !important;
    }

    .emergency-teaser .emergency-checklist {
      align-self: stretch !important;
      padding: 42px 0 42px 52px !important;
    }

    .emergency-teaser .emergency-checklist h3 {
      max-width: 360px !important;
      font-size: 1.5rem !important;
      line-height: 1.15 !important;
    }

    .emergency-teaser .emergency-checklist li {
      max-width: 390px !important;
      line-height: 1.45 !important;
    }

    .emergency-teaser .emergency-actions .btn-red {
      color: #fff !important;
      background: var(--anthracite) !important;
    }

    .emergency-teaser .emergency-actions .btn-outline {
      border-color: rgba(255, 255, 255, .72) !important;
      color: #fff !important;
      background: transparent !important;
    }

    .projects .project-grid {
      grid-template-rows: 300px 300px clamp(500px, 31vw, 560px) !important;
    }

    .projects .project-card:nth-child(4) > img {
      object-fit: cover !important;
      object-position: center 68% !important;
    }
  }


  /* Verhindert auf Desktop-Browsern und bei Browser-Zoom ein horizontales
     Verschieben der gesamten Seite. Tablet- und Mobilansicht bleiben erhalten. */
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  @media (min-width: 981px) and (hover: hover) and (pointer: fine) {
    .site-header,
    main,
    #start .hero,
    .trust {
      width: 100% !important;
      max-width: 100% !important;
      overflow-x: clip !important;
    }

    .site-header .nav.wrap {
      width: min(calc(100% - 64px), 1420px) !important;
      max-width: 1420px !important;
      margin-right: auto !important;
      margin-left: auto !important;
    }

    .site-header .brand {
      min-width: 0 !important;
      flex-shrink: 0 !important;
    }

    #start .hero .hero-grid.wrap {
      grid-template-columns: minmax(0, 68fr) minmax(340px, 32fr) !important;
      margin: 0 !important;
    }

    #start .hero .hero-grid > div:first-child {
      padding-right: clamp(38px, 4vw, 64px) !important;
      padding-left: max(64px, calc((100vw - 1240px) / 2 + 32px)) !important;
    }

    #start .hero .hero-title {
      width: 100% !important;
      max-width: 760px !important;
      margin-right: 0 !important;
      margin-left: 0 !important;
    }

    #start .hero .hero-title > span {
      font-size: clamp(2.62rem, 3vw, 3.65rem) !important;
    }
  }


  /* Tablet: Das breite Referenzfeld erhält genügend Höhe, damit das
     Außengerät vollständig sichtbar bleibt. Desktop und Mobil bleiben gleich. */
  @media (min-width: 901px) and (max-width: 1366px) {
    .projects .project-grid {
      grid-template-rows: 300px 300px clamp(660px, 58vw, 780px) !important;
    }

    .projects .project-card:nth-child(4) > img {
      object-fit: cover !important;
      object-position: center 62% !important;
    }
  }


  /* PC und Tablet: Bild- und Textspalte enden exakt auf derselben Höhe. */
  @media (min-width: 981px) {
    #start .hero .hero-grid.wrap {
      align-items: stretch !important;
    }

    #start .hero .hero-grid > div:first-child,
    #start .hero .hero-visual {
      align-self: stretch !important;
    }

    #start .hero .hero-visual {
      height: auto !important;
      min-height: 720px !important;
      overflow: hidden !important;
    }

    #start .hero .hero-photo {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
    }
  }


  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  @media (min-width: 681px) and (max-width: 1180px) {
    .site-header .nav { position: relative !important; }
    .site-header .nav-links {
      position: absolute !important; z-index: 40 !important;
      top: 100% !important; right: 0 !important; left: 0 !important;
      display: none !important; align-items: stretch !important;
      padding: 18px !important; background: var(--anthracite) !important;
      box-shadow: var(--shadow) !important;
    }
    .site-header .nav-links.open { display: grid !important; }
    .site-header .nav-links > a:not(.btn) {
      min-height: 52px !important; padding: 0 18px !important;
      border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.09) !important;
      color: #fff !important; background: transparent !important;
    }
    .site-header .nav-links .btn { margin: 12px 0 0 !important; }
    .site-header .menu-toggle { display: inline-grid !important; place-items: center !important; }
  }

:root{color-scheme:only light}
[hidden]{display:none!important}
button{font-family:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d71920;outline-offset:5px}
.draft-bar{background:#f6f1e9;border-bottom:1px solid #e8dfd1;font-size:.78rem;color:#574b38}
.draft-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;flex-wrap:wrap}
.draft-label{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.draft-label strong{color:#151515;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}
.draft-dot{width:7px;height:7px;background:#d71920;border-radius:50%}
.draft-controls{display:flex;gap:3px;padding:3px;background:#eee8df;border-radius:999px}
.draft-controls button{border:0;background:transparent;border-radius:999px;padding:8px 12px;color:#625b51;font-size:.73rem;font-weight:700;cursor:pointer;min-height:34px}
.draft-controls button[aria-pressed=true]{background:#fff;color:#151515;box-shadow:0 2px 7px #0000000d}
.hero-proof{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:25px;font-size:.8rem;color:#4f4f4f}
.hero-proof .stars{color:#d71920;letter-spacing:1px}
.hero-proof strong{color:#151515}
.hero-proof a{text-decoration:underline;text-underline-offset:3px}
.hero-proof small{font-size:.7rem;color:#737373}
.service-card{min-width:0}
.service-card[data-active=true]{border-color:#d71920;box-shadow:0 0 0 1px #d71920;background:#fffafa}
.service-card[data-active=true]:hover{transform:none}
button.service-link{border:0;background:none;text-align:left;font-size:.94rem;cursor:pointer;display:flex;gap:12px;justify-content:space-between;width:100%;padding-left:0;padding-right:0;color:#151515}
.service-original-link{display:none}
.service-card[data-active=true] button.service-link{color:#d71920}
.service-detail-panel{grid-column:1/-1;min-width:0;background:#fff;border:1px solid #e9e9e9;border-top:4px solid #d71920;border-radius:20px;overflow:hidden;scroll-margin-top:100px;box-shadow:0 16px 45px #00000006}
.detail-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;border-bottom:1px solid #ededed}
.detail-topline p{margin:0;color:#d71920;font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.detail-close{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:#737373;padding:8px 0;font-size:.8rem;cursor:pointer;flex-shrink:0;min-height:38px}
.detail-close span{font-size:22px;color:#151515}
.detail-body{padding:36px 38px}
.detail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:start}
.detail-copy h3{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.035em;margin-bottom:17px;max-width:620px}
.detail-intro{color:#4f4f4f;font-size:1rem;line-height:1.7}
.detail-checks{padding:0;margin:24px 0 28px;list-style:none;display:grid;gap:14px}
.detail-checks li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem}
.detail-checks li::before{content:'✓';color:#d71920;font-weight:900;flex:0 0 16px}
.detail-scope{border-top:1px solid #e9e9e9;display:grid;gap:17px;padding-top:23px}
.detail-scope h4{font-size:.84rem;margin:0 0 5px;font-weight:800}
.detail-scope p{font-size:.86rem;line-height:1.7;color:#4f4f4f;margin:0}
.detail-project{margin:0;background:#f5f5f4;border-radius:15px;overflow:hidden}
.detail-project img{width:100%;height:260px;object-fit:cover;display:block}
.detail-project figcaption{padding:23px}
.detail-project small,.prep-card small{font-size:.67rem;color:#d71920;text-transform:uppercase;letter-spacing:.1em;font-weight:800;display:block;margin-bottom:11px}
.detail-project h4{font-size:1.13rem;letter-spacing:-.025em;margin:0 0 13px;line-height:1.3}
.detail-project ul{margin:0;padding-left:18px;color:#4f4f4f;font-size:.83rem;line-height:1.8}
.detail-project .project-detail-link{margin-top:17px}
.project-detail-link{border:0;background:none;padding:0;color:#151515;font-size:.83rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:30px}
.prep-card{padding:28px;background:#f5f5f4;border-radius:15px}
.prep-card h4{font-size:1.25rem;line-height:1.3;margin:0 0 20px;letter-spacing:-.02em}
.prep-card ol{padding-left:19px;margin:0;color:#4f4f4f;display:grid;gap:15px;font-size:.92rem}
.detail-faq{margin-top:34px;border-top:1px solid #e9e9e9}
.detail-faq details{border-bottom:1px solid #e9e9e9}
.detail-faq summary{list-style:none;display:flex;gap:15px;justify-content:space-between;padding:18px 0;font-size:.91rem;font-weight:750;cursor:pointer}
.detail-faq summary::-webkit-details-marker{display:none}
.detail-faq summary::after{content:'+';font-size:20px;font-weight:400;color:#d71920;flex:0 0 20px;text-align:center}
.detail-faq details[open] summary::after{content:'−'}
.detail-faq details p{color:#4f4f4f;font-size:.9rem;line-height:1.75;margin:0;padding:0 36px 19px 0;max-width:900px}
.detail-action{margin-top:29px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.detail-person{display:flex;align-items:center;gap:13px}
.person-initials{display:grid;place-items:center;background:#f7e9e9;color:#c5161d;width:46px;height:46px;border-radius:50%;font-size:.83rem;font-weight:850;flex-shrink:0}
.detail-person strong{display:block;font-size:.91rem}
.detail-person small{display:block;color:#737373;font-size:.75rem;margin-top:3px}
.detail-action .btn{max-width:100%;text-align:center;min-width:0}
.extra-service{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:20px 3px;margin-top:2px;color:#737373;font-size:.86rem}
.extra-service button{border:0;padding:10px 0;background:none;font-size:.87rem;font-weight:800;color:#151515;cursor:pointer;text-align:left}
.extra-service button span{color:#d71920;margin-left:8px}
.project-card .project-detail-link{color:#fff;font-size:.82rem;margin-top:14px;position:relative;z-index:3}
.project-dialog{padding:0;border:0;border-radius:22px;max-width:880px;width:calc(100% - 32px);max-height:90dvh;color:#151515;box-shadow:0 35px 100px #00000045;overflow:auto}
.project-dialog::backdrop{background:#111111a8;backdrop-filter:blur(4px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 24px;background:#fff;border-bottom:1px solid #eee}
.dialog-header span{font-size:.7rem;letter-spacing:.1em;color:#d71920;text-transform:uppercase;font-weight:800}
.dialog-close{border:1px solid #ddd;border-radius:50%;background:#fff;width:38px;height:38px;flex-shrink:0;font-size:22px;cursor:pointer}
.dialog-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff}
.dialog-layout img{height:100%;min-height:430px;max-height:610px;width:100%;object-fit:cover}
.dialog-copy{padding:32px}
.dialog-copy h2{font-size:1.9rem;letter-spacing:-.035em;line-height:1.15}
.dialog-copy p{color:#4f4f4f;font-size:.94rem;line-height:1.7}
.dialog-copy ul{padding-left:18px;font-size:.9rem;line-height:1.8;margin-bottom:25px}
.dialog-copy .btn{font-size:.83rem;text-align:center;white-space:normal;width:100%}
.inquiry-context{display:flex;align-items:center;gap:10px;background:#fff2f2;border:1px solid #f0cccc;color:#a31218;border-radius:10px;padding:12px 14px;margin:0 0 20px;font-size:.84rem;font-weight:750}
.form-preview-note{padding:11px 14px;border-radius:9px;background:#f5f5f4;color:#737373;font-size:.74rem;margin:18px 0 0;line-height:1.65}
.request-summary{display:grid;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid #e2e2e2;color:#4f4f4f;font-size:.84rem;overflow-wrap:anywhere}
.request-summary strong{color:#151515}
.inquiry-helper{font-size:.74rem!important;line-height:1.6;color:#737373;margin:3px 0 0}
.is-original .service-extended-link,.is-original #service-detail-panel,.is-original .extra-service,.is-original .hero-proof,.is-original .project-detail-link,.is-original .inquiry-context{display:none!important}
.is-original .service-original-link{display:block}
.is-original .service-card[data-active=true]{border-color:#e9e9e9;box-shadow:none;background:white}
.is-original .service-card[data-active=true]:hover{transform:translateY(-6px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:980px){.detail-layout{gap:28px;grid-template-columns:1fr 1fr}.detail-body{padding:28px}.detail-project img{height:220px}.detail-copy h3{font-size:1.9rem}.detail-action .btn{font-size:.86rem}}
@media(max-width:700px){.detail-layout{grid-template-columns:1fr}.detail-project{display:grid;grid-template-columns:1fr 1fr}.detail-project img{height:100%;min-height:240px}.detail-project figcaption{padding:20px}.detail-action{align-items:stretch}.detail-action .btn{width:100%}.dialog-layout{grid-template-columns:1fr}.dialog-layout img{height:270px;min-height:0;max-height:none}.dialog-copy{padding:25px}}
@media(max-width:600px){.draft-bar-inner{gap:9px;padding:10px 0}.draft-label>span:last-child{display:none}.draft-controls button{padding:8px 10px;min-height:36px}.service-card{min-height:285px}.service-number{margin-bottom:33px}.detail-topline{padding:15px 18px;gap:10px}.detail-topline p{font-size:.65rem}.detail-close{font-size:.73rem}.detail-body{padding:23px 20px}.detail-copy h3{font-size:1.8rem}.detail-intro{font-size:.94rem}.detail-project{grid-template-columns:1fr}.detail-project img{height:210px;min-height:0}.detail-project figcaption{padding:21px}.detail-checks li{font-size:.89rem}.detail-faq{margin-top:27px}.detail-faq summary{font-size:.87rem}.detail-person small{font-size:.72rem}.detail-action .btn{padding-inline:15px}.hero-proof{gap:8px;font-size:.77rem}.project-dialog{width:calc(100% - 20px);max-height:92dvh;border-radius:16px}.dialog-copy h2{font-size:1.65rem}.dialog-header{padding:13px 19px}}

.skip-link{position:fixed;left:15px;top:-70px;padding:12px 18px;background:#151515;color:#fff;z-index:100}
.skip-link:focus{top:12px}
.draft-bar{background:#f4f4f2;border-bottom:1px solid #dededb;font-size:.73rem;color:#666}
.draft-bar-inner{justify-content:space-between;gap:14px;min-height:42px;padding-block:0;flex-wrap:nowrap}
.draft-label{gap:8px;font-weight:650;white-space:nowrap;font-size:.72rem}
.draft-label i{width:6px;height:6px;background:#d71920;border-radius:50%;flex-shrink:0}
.draft-bar nav{display:flex;gap:22px;align-items:stretch;align-self:stretch}
.draft-bar nav a{display:flex;align-items:center;border-bottom:2px solid transparent;padding:10px 0}
.draft-bar nav a[aria-current=page]{color:#151515;border-color:#d71920;font-weight:750}
.service-card .service-link{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;color:#d71920}
.home-page .services{padding-block:64px !important}
.home-page #leistungen .section-head{margin-bottom:32px !important}
.home-page #leistungen .section-head h2{font-size:clamp(2rem,3vw,3rem) !important}
.home-page .service-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important}
.home-page .service-card{display:flex !important;flex-direction:column !important;min-height:275px !important;padding:28px !important;border:0 !important;border-top:1px solid #d6d6d6 !important;border-right:1px solid #d6d6d6 !important}
.home-page .service-card:nth-child(3n){border-right:0 !important}
.home-page .service-number{margin-bottom:28px !important}
.home-page .service-card h3{font-size:1.35rem !important;line-height:1.15 !important}
.home-page .service-card p{font-size:.88rem !important;line-height:1.7 !important}
.home-page .service-card .service-link{margin-top:auto !important;padding-top:14px !important}
.core-link{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.85rem;color:#737373;padding:18px 0 4px}
.core-link a{font-weight:750;color:#151515;padding:8px 0}
.core-link a span{color:#d71920;margin-left:10px}
.breadcrumb{display:flex;align-items:center;gap:10px;padding-block:25px 0;font-size:.74rem;color:#737373;line-height:1.5;flex-wrap:wrap}
.breadcrumb a{color:#151515}
.service-page main{background:#fff}
.lp-hero{padding:35px 0 43px}
.lp-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:55px;align-items:center}
.lp-hero-copy .eyebrow{font-size:.69rem;letter-spacing:.11em;margin-bottom:24px}
.lp-hero h1{font-size:clamp(2.25rem,3.65vw,3.7rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 25px;max-width:650px}
.lp-hero h1 em{font-style:normal;color:#d71920}
.lp-lead{color:#555;font-size:1.02rem;line-height:1.8;max-width:550px;margin-bottom:29px}
.lp-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}
.service-page main .btn{border-radius:4px;min-height:51px;font-size:.84rem;padding:14px 21px;line-height:1.4;text-align:center;white-space:normal}
.quiet-link{display:inline-flex;gap:17px;align-items:center;font-size:.83rem;font-weight:800;line-height:1.5;min-height:42px;border-bottom:1px solid #c9c9c9}
.quiet-link span{color:#d71920;font-size:19px;font-weight:500}
.lp-region{font-size:.72rem;color:#737373;margin:22px 0 0}
.lp-hero-figure{margin:0;position:relative;overflow:hidden;border-radius:5px;background:#eee}
.lp-hero-figure img{width:100%;height:416px;object-fit:cover;object-position:center}
[data-page=klima] .lp-hero-figure img{object-position:center 62%}
[data-page=bad] .lp-hero-figure img{object-position:center 52%}
.lp-hero-figure figcaption{position:absolute;bottom:0;left:0;right:0;font-size:.68rem;color:white;padding:40px 20px 17px;background:linear-gradient(transparent,#000b);line-height:1.6}
.lp-assurances{display:flex;justify-content:space-between;gap:20px;padding-block:0 32px}
.lp-assurances span{display:flex;gap:10px;align-items:center;font-size:.79rem;font-weight:650}
.lp-assurances i{font-style:normal;color:#d71920;font-size:17px}
.lp-subnav{border-block:1px solid #e7e7e5;background:#fafaf9}
.lp-subnav .wrap{display:flex;align-items:center;gap:37px;min-height:58px;overflow-x:auto;scrollbar-width:none}
.lp-subnav .wrap::-webkit-scrollbar{display:none}
.lp-subnav a{font-size:.77rem;font-weight:700;white-space:nowrap;padding:16px 0}
.lp-subnav a:last-child{margin-left:auto;color:#d71920}
.lp-section{padding:82px 0;scroll-margin-top:112px}
.lp-section h2{font-size:clamp(1.95rem,3.05vw,2.75rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:22px}
.lp-section .eyebrow{font-size:.69rem;letter-spacing:.1em;margin-bottom:18px}
.lp-scope-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:start}
.lp-body-intro{font-size:.94rem;color:#555;line-height:1.8;max-width:610px}
.lp-scope-list{display:grid;gap:22px;margin-top:28px}
.lp-scope-list>div{border-left:2px solid #d71920;padding-left:18px}
.lp-scope-list h3{font-size:.98rem;line-height:1.3;letter-spacing:-.01em;margin:0 0 6px}
.lp-scope-list p{font-size:.86rem;line-height:1.75;color:#666;margin:0}
.offer-card{background:#f5f5f3;padding:34px;border:1px solid #e7e7e3;border-top:3px solid #d71920;margin-top:4px}
.offer-tag{font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#d71920}
.offer-card h3{font-size:1.65rem;line-height:1.2;margin:16px 0 24px;letter-spacing:-.035em}
.offer-card ul{list-style:none;display:grid;gap:14px;padding:0;margin:0 0 23px}
.offer-card li{display:flex;gap:12px;font-size:.85rem;line-height:1.65}
.offer-card li::before{content:'✓';color:#d71920;font-weight:800;flex-shrink:0}
.offer-card>p{border-top:1px solid #deded9;padding-top:18px;font-size:.76rem;line-height:1.75;color:#737373}
.offer-card .quiet-link{margin-top:4px}
.lp-project{background:#f5f5f3}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:67px;align-items:center}
.story-image{position:relative;min-width:0}
.story-image img{width:100%;height:430px;object-fit:cover;border-radius:4px}
.story-image>span{position:absolute;bottom:15px;left:15px;background:white;color:#333;font-size:.66rem;padding:9px 12px;font-weight:700}
.story-copy h2{max-width:540px}
.story-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.8;color:#5a5a5a}
.story-copy ul{list-style:none;padding:0;margin:24px 0 21px;display:grid;gap:12px}
.story-copy li{display:flex;gap:12px;font-size:.86rem;line-height:1.6}
.story-copy li::before{content:'—';color:#d71920}
.lp-section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}
.lp-section-head h2{margin:0}
.lp-section-head>p{max-width:340px;color:#666;font-size:.91rem;line-height:1.8;margin:0}
.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.lp-steps article{border-top:1px solid #ddd;padding-top:20px}
.lp-steps article>span{font-size:.76rem;font-weight:750;color:#d71920;display:block;margin-bottom:25px}
.lp-steps h3{font-size:1.05rem;line-height:1.3;letter-spacing:-.015em;margin-bottom:12px}
.lp-steps p{font-size:.85rem;color:#666;line-height:1.8;margin:0}
.lp-faq{border-top:1px solid #e9e9e5;background:#fafaf9}
.lp-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}
.lp-faq-grid>div>p:not(.eyebrow){color:#737373;max-width:340px;font-size:.89rem;line-height:1.8}
.faq-list{border-top:1px solid #ddd}
.faq-list details{border-bottom:1px solid #ddd}
.faq-list summary{list-style:none;display:flex;gap:22px;justify-content:space-between;padding:24px 0;font-size:.94rem;font-weight:750;cursor:pointer;line-height:1.55}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';color:#d71920;font-size:22px;line-height:1.1;font-weight:400;flex:0 0 20px;text-align:center}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{font-size:.87rem;line-height:1.85;color:#666;padding:0 28px 24px 0;margin:0}
.lp-contact{background:#fff}
.lp-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}
.lp-contact-copy{padding-top:14px}
.lp-contact-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.8;color:#666;max-width:410px}
.contact-person{display:flex;gap:13px;align-items:center;border-top:1px solid #e5e5e5;padding-top:27px;margin-top:30px}
.contact-person strong{display:block;font-size:.97rem}
.contact-person div>span{font-size:.72rem;color:#737373;display:block;margin-top:3px}
.lp-phone{font-size:1.75rem;font-weight:750;letter-spacing:-.035em;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:340px;margin-top:25px}
.lp-phone>span{color:#d71920;font-size:25px;font-weight:400}
.lp-email{display:inline-block;margin-top:9px;font-size:.92rem;border-bottom:1px solid #ccc}
.lp-contact-copy .contact-region{font-size:.72rem!important;margin-top:25px}
.inquiry-context{border-radius:3px;font-size:.77rem;line-height:1.5}
.service-page .form-card{padding:30px;background:#f7f7f5;border:1px solid #e6e6e2;border-radius:5px;box-shadow:none}
.service-page .form-card h3{font-size:1.4rem;line-height:1.25}
.service-page .form-card>p{font-size:.84rem}
.service-page .field input,.service-page .field select,.service-page .field textarea{background:#fff;border-radius:3px}
.service-page .field textarea{min-height:100px}
.service-page .form-foot{gap:15px;align-items:center}
.service-page .form-foot .btn{flex-shrink:0;font-size:.8rem}
.form-preview-note{border-radius:4px;font-size:.7rem!important}
@media(max-width:1080px){.lp-hero-grid{gap:34px}.lp-scope-grid,.lp-contact-grid{gap:55px}.project-story{gap:42px}.lp-hero-figure img{height:395px}}
@media(max-width:980px){.home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.home-page .service-card{border-right:1px solid #d6d6d6 !important}.home-page .service-card:nth-child(3n){border-right:1px solid #d6d6d6 !important}.home-page .service-card:nth-child(2n){border-right:0 !important}}
@media(max-width:620px){.home-page .services{padding-block:44px !important}.home-page .service-grid{grid-template-columns:1fr !important}.home-page .service-card,.home-page .service-card:nth-child(3n){border-right:0 !important;padding:25px 4px !important;min-height:240px !important}.home-page .service-card:nth-child(n+4){min-height:215px !important}.home-page .service-number{margin-bottom:21px !important}.home-page #leistungen .section-head h2{font-size:2.1rem !important}}
@media(max-width:800px){.lp-hero-grid{grid-template-columns:1fr 1fr;gap:25px}.lp-hero h1{font-size:2.4rem}.lp-lead{font-size:.9rem}.lp-hero-figure img{height:400px}.lp-actions{gap:10px}.lp-assurances{gap:15px}.lp-assurances span{font-size:.7rem}.lp-section{padding:60px 0}.lp-scope-grid{gap:35px}.offer-card{padding:25px}.project-story{gap:33px}.story-image img{height:390px}.lp-section-head{gap:30px}.lp-steps{gap:18px}.lp-faq-grid{gap:35px}.lp-contact-grid{gap:35px}.service-page .form-card{padding:23px}.service-page .form-foot{align-items:stretch;flex-direction:column}.lp-phone{font-size:1.5rem}}
@media(max-width:620px){.draft-bar-inner{min-height:38px;gap:6px;padding-block:0}.draft-label{font-size:.62rem;gap:5px}.draft-bar nav{gap:13px}.draft-bar nav a{font-size:.65rem;padding:11px 0}.breadcrumb{padding-top:20px;font-size:.68rem}.lp-hero{padding:27px 0 25px}.lp-hero-grid{grid-template-columns:1fr;gap:26px}.lp-hero h1{font-size:clamp(2.05rem,7.6vw,2.9rem);margin-bottom:18px}.lp-hero-copy .eyebrow{font-size:.61rem;margin-bottom:19px}.lp-lead{font-size:.94rem;line-height:1.8;margin-bottom:23px}.lp-hero-figure img{height:300px}.lp-region{font-size:.67rem;margin-top:19px}.lp-actions{gap:13px 20px}.lp-actions .btn{font-size:.8rem;padding:13px 17px}.quiet-link{font-size:.79rem}.lp-hero-figure figcaption{font-size:.63rem;padding-inline:16px}.lp-assurances{display:grid;gap:9px;padding-bottom:25px}.lp-assurances span{font-size:.76rem}.lp-subnav .wrap{gap:23px;min-height:51px}.lp-subnav a{font-size:.72rem;padding-block:14px}.lp-subnav a:last-child{margin-left:0}.lp-section{padding:46px 0;scroll-margin-top:100px}.lp-section h2{font-size:2rem;line-height:1.13}.lp-section .eyebrow{font-size:.62rem}.lp-scope-grid,.project-story,.lp-faq-grid,.lp-contact-grid{grid-template-columns:1fr;gap:29px}.lp-body-intro{font-size:.9rem}.lp-scope-list{gap:19px;margin-top:24px}.lp-scope-list p{font-size:.85rem}.offer-card{padding:26px}.offer-card h3{font-size:1.6rem}.offer-card li{font-size:.85rem}.story-image img{height:300px}.story-copy h2{font-size:1.85rem}.story-copy>p:not(.eyebrow){font-size:.89rem}.story-copy li{font-size:.85rem}.lp-section-head{display:block;margin-bottom:28px}.lp-section-head>p{margin-top:18px;max-width:100%;font-size:.87rem}.lp-steps{grid-template-columns:1fr 1fr;gap:28px 22px}.lp-steps article>span{margin-bottom:16px}.lp-steps h3{font-size:1rem}.lp-steps p{font-size:.82rem}.lp-faq-grid{gap:18px}.lp-faq-grid>div>p:not(.eyebrow){max-width:100%;font-size:.86rem}.faq-list summary{font-size:.88rem;padding:21px 0}.faq-list details p{font-size:.85rem}.lp-contact-copy{padding-top:0}.lp-contact-copy>p:not(.eyebrow){max-width:100%;font-size:.9rem}.lp-contact-grid{gap:30px}.contact-person{margin-top:23px;padding-top:23px}.lp-phone{font-size:1.7rem}.service-page .form-card{padding:22px 18px}.service-page .form-foot .btn{width:100%}.service-page .form-card h3{font-size:1.3rem}.core-link{font-size:.78rem;gap:0;padding-block:13px 0}.core-link a{font-size:.81rem}}
@media(max-width:360px){.draft-label{font-size:0}.draft-label i{width:7px;height:7px}.draft-bar nav{gap:19px}.draft-bar nav a{font-size:.65rem}.lp-hero h1{font-size:2.05rem}.lp-hero-copy .eyebrow{font-size:.57rem;letter-spacing:.07em}.lp-hero-figure img{height:260px}.lp-steps{gap:25px 16px}.lp-section h2{font-size:1.85rem}.service-page .form-card{padding:20px 15px}.lp-actions{align-items:stretch}.lp-actions .btn{width:100%}}

[hidden]{display:none!important}
.nav-service{position:relative;display:flex;align-items:stretch;align-self:stretch;min-width:0}
.nav-service-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-left:1px solid #e7e7e7;padding:0 11px;background:transparent;color:#151515;font:inherit;font-weight:800;font-size:.68rem;text-transform:uppercase;cursor:pointer;min-height:48px;letter-spacing:.01em}
.nav-service-toggle>span{font-size:16px;color:#d71920;line-height:1}
.nav-service-toggle[aria-expanded=true]{background:#f5f5f3;color:#d71920}
.nav-service-menu{position:absolute;left:0;top:100%;width:295px;z-index:40;background:#fff;border:1px solid #ddd;border-top:3px solid #d71920;padding:9px;box-shadow:0 15px 40px #0002;display:grid}
.nav-service-menu>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;font-size:.83rem;line-height:1.4;color:#151515;font-weight:650;text-transform:none;white-space:normal}
.nav-service-menu>a:hover,.nav-service-menu>a:focus-visible{background:#f5f5f3;color:#d71920}
.nav-service-menu .nav-all-services{margin-top:6px;border-top:1px solid #e5e5e5;font-size:.76rem;color:#737373}
.nav-service-menu .nav-all-services span{color:#d71920}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.optional{font-weight:400;font-size:.74rem;color:#777}
.photo-field input{max-width:100%;font-size:.78rem;padding:12px!important;line-height:1.5;height:auto!important}
.photo-field input::file-selector-button{font:inherit;background:#eee;border:1px solid #ccc;padding:7px 10px;margin-right:10px;cursor:pointer}
.photo-field>small{display:block;color:#777;font-size:.68rem;line-height:1.7;margin-top:7px}
.photo-status{font-size:.73rem;color:#a4111a;margin:5px 0 0}
.photo-status:empty{display:none}
.project-context{background:#fff0f0;color:#a4111a!important;border-left:2px solid #d71920;padding:12px 14px;font-size:.77rem!important;line-height:1.7}
.service-page .form-card .form-grid{gap:17px}
.project-world-action{margin-top:30px}
.project-card a.project-detail-link{display:inline-flex;align-items:center;gap:12px;min-height:36px}
.project-teaser{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center}
.project-teaser>div>p:not(.eyebrow){color:#666;line-height:1.8;font-size:.92rem}
.teaser-scope{background:#fff;border-top:3px solid #d71920;padding:30px}
.teaser-scope>span{display:block;color:#737373;font-size:.69rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.teaser-scope ul{padding:0;list-style:none;display:grid;gap:16px;margin:22px 0}
.teaser-scope li{font-size:.87rem;line-height:1.7;padding-left:19px;position:relative}
.teaser-scope li::before{content:'—';color:#d71920;position:absolute;left:0}
.teaser-scope>a{display:inline-flex;gap:20px;border-top:1px solid #ddd;padding-top:17px;font-size:.78rem;font-weight:750}
.teaser-scope>a span{color:#d71920}
.renovation-map{background:#242729;color:#fff;padding:35px 33px;min-height:410px;display:flex;flex-direction:column;justify-content:center;position:relative;border-bottom:5px solid #d71920}
.renovation-map>span{font-size:.65rem;color:#c6c6c6;text-transform:uppercase;letter-spacing:.1em}
.renovation-map h2{font-size:1.85rem;line-height:1.17;margin:18px 0 28px;letter-spacing:-.035em}
.renovation-map>div{display:flex;gap:20px;align-items:center;padding:17px 0;border-top:1px solid #ffffff25;font-size:.89rem}
.renovation-map b{color:#ff6269;font-size:.69rem;font-family:ui-monospace,monospace;font-weight:600}
.renovation-map>p{font-size:.7rem;color:#bbb;line-height:1.7;margin:16px 0 0}
.world-intro{padding-block:47px 42px}
.world-intro h1{font-size:clamp(2.6rem,4.2vw,4.1rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 25px}
.world-intro h1 em{color:#d71920;font-style:normal}
.world-intro>p:not(.eyebrow){font-size:1.02rem;line-height:1.8;color:#666;max-width:680px;margin:0}
.world-gallery{padding-bottom:70px}
.world-filters{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid #ddd;padding-top:24px}
.world-filters button{background:#fff;color:#555;border:1px solid #d8d8d8;font-size:.77rem;font-weight:650;padding:11px 15px;cursor:pointer;min-height:44px;display:flex;gap:14px;align-items:center}
.world-filters button span{color:#888;font-size:.68rem}
.world-filters button[aria-pressed=true]{background:#242729;color:#fff;border-color:#242729}
.world-filters button[aria-pressed=true] span{color:#ddd}
.filter-status{font-size:.72rem;color:#737373;margin:18px 0 22px}
.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.world-card{min-width:0;border:1px solid #dededb;background:#fff}
.world-card-link{display:flex;flex-direction:column;height:100%}
.world-card-image{position:relative;overflow:hidden;background:#eee}
.world-card-image img{width:100%;height:320px;object-fit:cover;transition:transform .25s ease}
.world-card-image>span{position:absolute;bottom:14px;left:14px;color:#222;background:white;padding:8px 11px;font-size:.65rem;font-weight:700;line-height:1.5}
.world-card-copy{padding:27px;display:flex;flex-direction:column;flex:1}
.world-card-copy h2{font-size:1.55rem!important;line-height:1.2;letter-spacing:-.03em;margin:0 0 13px}
.world-card-copy p{font-size:.88rem;line-height:1.75;color:#666;margin:0 0 22px}
.world-card-cta{display:flex;align-items:center;justify-content:space-between;font-size:.79rem;font-weight:800;color:#151515;border-top:1px solid #ddd;padding-top:15px;margin-top:auto}
.world-card-cta>span{font-size:19px;font-weight:400;color:#d71920}
.world-card-link:hover .world-card-cta{color:#d71920}
@media(hover:hover){.world-card-link:hover .world-card-image img{transform:scale(1.025)}}
.world-next,.case-request{display:flex;align-items:center;justify-content:space-between;gap:50px;border-top:1px solid #ddd;padding-block:45px 70px}
.world-next h2,.case-request h2{font-size:2.3rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 15px}
.world-next p:not(.eyebrow),.case-request p:not(.eyebrow){max-width:650px;color:#666;font-size:.9rem;line-height:1.8;margin:0}
.world-next .btn,.case-request .btn{flex-shrink:0}
.case-intro{padding-top:44px}
.case-intro>.eyebrow{font-size:.69rem}
.case-intro h1{font-size:clamp(2.5rem,4vw,3.75rem);line-height:1.1;letter-spacing:-.045em;max-width:900px;margin:0 0 24px}
.case-intro>p:not(.eyebrow){color:#666;font-size:1rem;line-height:1.85;max-width:790px;margin-bottom:34px}
.case-image{display:block;position:relative;padding:0;border:0;background:#f0f0ee;cursor:zoom-in;width:100%;margin:0}
.case-image>img{width:100%;height:610px;object-fit:contain}
.case-image>span{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:18px;background:#fff;padding:11px 15px;font-size:.73rem;font-weight:750}
.case-image>span>span{color:#d71920;font-size:18px;font-weight:400}
.case-story{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;padding-block:65px}
.case-story-copy h2{font-size:1.65rem;line-height:1.2;margin:32px 0 15px;letter-spacing:-.03em}
.case-story-copy .eyebrow{font-size:.67rem;margin:0}
.case-story-copy h2:first-of-type{margin-top:21px}
.case-story-copy p{color:#666;font-size:.93rem;line-height:1.85}
.case-story-copy ul{list-style:none;padding:0;display:grid;gap:13px;margin:20px 0}
.case-story-copy li{position:relative;padding-left:22px;font-size:.91rem;line-height:1.8}
.case-story-copy li::before{content:'✓';position:absolute;left:0;color:#d71920}
.case-facts{padding:30px;background:#f5f5f3;border-top:3px solid #d71920;align-self:start}
.case-facts>span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#777;margin-bottom:16px;font-weight:750}
.case-facts h3{font-size:1.4rem;line-height:1.25;margin-bottom:21px}
.case-facts>a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding:15px 0;font-size:.83rem;font-weight:750}
.case-facts>a span{color:#d71920}
.case-facts>p{color:#737373;font-size:.79rem;line-height:1.8;margin:10px 0 20px}
.case-facts .case-all{font-size:.74rem;color:#737373}
.related-projects{padding-block:15px 75px}
.related-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
.related-head h2{font-size:1.7rem;margin:0;letter-spacing:-.03em}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.related-grid .world-card-image img{height:200px}
.related-grid .world-card-copy{padding:21px}
.related-grid .world-card-copy h2{font-size:1.12rem!important}
.related-grid .world-card-copy p{font-size:.79rem}
.image-dialog{padding:0;border:0;background:#171717;max-width:calc(100vw - 30px);width:max-content;max-height:95dvh;overflow:auto;color:white}
.image-dialog::backdrop{background:#111d}
.image-dialog>img{max-width:90vw;max-height:90dvh;width:auto;height:auto;object-fit:contain}
.image-dialog-close{position:fixed;right:25px;top:20px;width:43px;height:43px;background:#fff;color:#151515;border:0;border-radius:50%;font-size:27px;cursor:pointer;box-shadow:0 3px 15px #0003;z-index:2}
@media(max-width:980px){.nav-service{display:block;align-self:auto;width:100%}.nav-service-toggle{width:100%;justify-content:space-between;border:0;padding:14px 0;font-size:.86rem;text-transform:none;min-height:46px}.nav-service-menu{position:static;left:auto;top:auto;width:100%;box-shadow:none;border:0;border-left:2px solid #d71920;padding:0 0 0 10px;background:#f5f5f3;margin-bottom:8px}.nav-service-menu>a{font-size:.81rem;padding:12px}.project-teaser{gap:40px}.world-card-image img{height:280px}.case-story{gap:50px}.case-image>img{height:510px}.related-grid{gap:16px}.related-grid .world-card-copy{padding:17px}}
@media(max-width:620px){.project-teaser{grid-template-columns:1fr;gap:25px}.teaser-scope{padding:24px}.teaser-scope li{font-size:.85rem}.renovation-map{padding:28px 25px;min-height:360px}.renovation-map h2{font-size:1.7rem}.renovation-map>div{font-size:.85rem}.world-intro{padding-block:29px 30px}.world-intro>.eyebrow{font-size:.62rem}.world-intro h1{font-size:2.5rem;margin-bottom:20px}.world-intro>p:not(.eyebrow){font-size:.92rem}.world-filters{gap:7px;padding-top:20px}.world-filters button{padding:10px;font-size:.68rem;gap:10px}.world-filters button span{font-size:.63rem}.filter-status{margin:16px 0 20px}.world-grid{grid-template-columns:1fr;gap:25px}.world-card-image img{height:260px}.world-card-copy{padding:22px}.world-card-copy h2{font-size:1.4rem!important}.world-card-copy p{font-size:.85rem}.world-gallery{padding-bottom:40px}.world-next,.case-request{display:block;padding-block:33px 45px}.world-next h2,.case-request h2{font-size:1.85rem}.world-next p:not(.eyebrow),.case-request p:not(.eyebrow){font-size:.86rem}.world-next .btn,.case-request .btn{margin-top:25px;width:100%}.case-intro{padding-top:29px}.case-intro h1{font-size:2.2rem}.case-intro>p:not(.eyebrow){font-size:.92rem;margin-bottom:25px}.case-image>img{height:390px}.case-image>span{right:12px;bottom:12px;font-size:.67rem;padding:9px 11px}.case-story{grid-template-columns:1fr;gap:25px;padding-block:40px}.case-story-copy h2{font-size:1.55rem;margin-top:27px}.case-story-copy p,.case-story-copy li{font-size:.88rem}.case-facts{padding:25px}.related-projects{padding-block:5px 45px}.related-head{align-items:flex-start;flex-direction:column;gap:10px}.related-grid{grid-template-columns:1fr;gap:21px}.related-grid .world-card-image img{height:230px}.related-grid .world-card-copy h2{font-size:1.3rem!important}.related-grid .world-card-copy{padding:22px}.related-grid .world-card-copy p{font-size:.84rem}.image-dialog-close{right:12px;top:12px}.photo-field input{font-size:.7rem}.project-context{font-size:.72rem!important}[data-page=sanierung] .lp-hero h1{font-size:clamp(1.95rem,7vw,2.7rem)}}
@media(max-width:360px){.world-intro h1{font-size:2.1rem}.case-intro h1{font-size:1.95rem;overflow-wrap:anywhere}.case-image>img{height:325px}.world-filters button{padding:9px;font-size:.65rem}.world-filters button span{display:none}.photo-field input::file-selector-button{margin-right:6px;padding:6px}.renovation-map{padding:26px 21px}}
@media(prefers-reduced-motion:reduce){.world-card-image img{transition:none}}
@media(min-width:981px) and (max-width:1180px){.nav-links.open .nav-service{display:block;align-self:auto;width:100%}.nav-links.open .nav-service-toggle{width:100%;justify-content:space-between;border:0;padding:14px 0;font-size:.86rem;text-transform:none;min-height:46px}.nav-links.open .nav-service-menu{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid #d71920;padding:0 0 0 10px;background:#f5f5f3;margin-bottom:8px}.nav-links.open .nav-service-menu>a{font-size:.81rem;padding:12px}}

/* LK Meier: shared colour rhythm, with a distinct introduction for each service. */
.service-intro{background:linear-gradient(115deg,#202426 0%,#202426 56%,#343a3d 100%);color:#fff;border-bottom:4px solid #d71920}
.service-intro .breadcrumb{color:#cbd0d2;padding-bottom:0}
.service-intro .breadcrumb a{color:#fff}
.service-intro .breadcrumb>span[aria-hidden]{color:#ff6b72}
.service-intro .lp-hero{padding-block:38px 42px}
.service-intro h1{color:#fff}
.service-intro h1 em{color:#ff6b72}
.service-intro .lp-lead{color:#e0e3e4}
.service-intro .lp-region{color:#bcc3c6}
.service-intro .quiet-link{color:#fff;border-color:#ffffff65}
.service-intro .quiet-link span{color:#ff6b72}
.service-intro .lp-assurances{padding-bottom:27px}
.service-intro .lp-assurances span{color:#e1e5e7}
.service-intro .lp-assurances i{color:#ff6b72}
.service-intro .lp-hero-figure{border-radius:0;border-bottom:3px solid #d71920;background:#343a3d}
.service-intro .renovation-map{background:#ffffff08;border:1px solid #ffffff30;border-bottom:4px solid #d71920;border-radius:0}
.service-intro .renovation-map h2{color:#fff}
.service-page .lp-subnav{background:#e9eced;border-color:#d1d7da}
.service-page #umfang{background:#fff}
.service-page .offer-card{background:#eef0f0;border-radius:0;border-color:#dbe0e1;border-top-color:#d71920}
.service-page .lp-project{background:#e9eced;border-block:1px solid #d9dfe1}
.service-page .lp-project .teaser-scope{background:#fff;box-shadow:0 8px 30px #20242608}
.service-page .lp-faq{background:#fff;border:0}
.service-page #ablauf{background:#eef0f0;border-top:1px solid #dbe0e1}
.service-page .lp-steps article{border-top:3px solid #d71920;padding-top:21px}
.service-page .lp-steps article>span{color:#b1161d}
.service-page .lp-contact{background:linear-gradient(115deg,#202426,#303639);color:#fff;border-top:4px solid #d71920}
.service-page .lp-contact-copy h2{color:#fff}
.service-page .lp-contact-copy>.eyebrow{color:#ff6b72}
.service-page .lp-contact-copy>p:not(.eyebrow){color:#d3d9dc}
.service-page .lp-phone,.service-page .lp-email{color:#fff}
.service-page .lp-phone>span{color:#ff6b72}
.company-contact{display:grid;gap:6px;padding-top:25px;margin-top:25px;border-top:1px solid #ffffff35}
.company-contact strong{font-size:.96rem;color:#fff}
.company-contact>span{font-size:.75rem;color:#c3cbcf}
.after-inquiry{border-top:1px solid #ffffff35;margin-top:28px;padding-top:22px;max-width:420px}
.after-inquiry h3{font-size:.95rem;color:#fff;margin:0 0 10px;line-height:1.5}
.after-inquiry p{font-size:.84rem;color:#d3d9dc;line-height:1.8;margin:0}
.service-page .lp-contact .form-card{background:#fff;color:#202426;border:0;border-radius:0;border-top:4px solid #d71920}
.service-page .lp-contact .form-card h3{color:#202426}
.service-page .lp-contact .form-card>p{color:#62696c}
.service-page .lp-contact .form-card .field input,.service-page .lp-contact .form-card .field select,.service-page .lp-contact .form-card .field textarea{background:#f4f5f5;color:#202426;border-color:#c7cdd0}
.service-page .lp-contact .form-card .field label{color:#202426}
.world-intro-band{background:linear-gradient(115deg,#202426,#343a3d);border-bottom:4px solid #d71920;margin-bottom:34px;color:#fff}
.world-intro-band h1{color:#fff}
.world-intro-band h1 em{color:#ff6b72}
.world-intro-band .eyebrow{color:#ff6b72}
.world-intro-band .world-intro>p:not(.eyebrow){color:#dbe0e2}
[data-page=world]{background:#eef0f0}
[data-page=world] .world-next{border-top:3px solid #d71920}
[data-page^=project-] .case-intro{border-top:3px solid #d71920}
[data-page^=project-] .case-facts{background:#e9eced}
[data-page^=project-] .case-request{border-top:3px solid #d71920}
.service-page .world-card,.service-page .teaser-scope{border-radius:0}
@media(max-width:620px){.service-intro .lp-hero{padding-block:26px 28px}.service-intro .lp-assurances{padding-bottom:24px}.service-intro .lp-hero-grid{gap:28px}.service-intro .lp-hero-figure img{height:280px}.company-contact{margin-top:22px;padding-top:22px}.after-inquiry{margin-top:25px;padding-top:20px}.after-inquiry p{font-size:.81rem}.world-intro-band{margin-bottom:25px}.service-page .lp-contact .form-card{padding:25px 19px}.service-intro .lp-hero h1{font-size:clamp(2.05rem,7.6vw,2.9rem)}}
.service-intro .lp-hero-copy>.eyebrow{color:#ff6b72}
/* Render the actual heading on every device, including screen readers. */
.home-page .hero .hero-title::before,.home-page .hero .hero-title::after{content:none!important;display:none!important}
@media(max-width:980px){.home-page .hero .hero-title>span{display:block!important;font-size:clamp(2.15rem,9.8vw,3.15rem)!important;line-height:1!important;color:#fff!important;white-space:normal!important}.home-page .hero .hero-title>.hero-title-accent{color:#ff666d!important}}
.service-page .lp-section h2{font-size:clamp(1.95rem,3.05vw,2.75rem)!important;line-height:1.12!important}
@media(max-width:620px){.service-page .lp-section h2{font-size:1.95rem!important;line-height:1.15!important}}
.decision-guide{margin:0 auto 62px;width:min(calc(100% - 64px),1240px);padding:28px 32px;background:#eef0f0;border-left:4px solid #d71920;color:#202426}
.decision-guide .eyebrow{font-size:.68rem;margin-bottom:14px}
.decision-guide h3{font-size:1.45rem;line-height:1.3;margin:0 0 20px;letter-spacing:-.02em}
.guide-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:19px}
.guide-choices button{background:#fff;color:#202426;border:1px solid #b9c1c5;padding:11px 16px;min-height:44px;cursor:pointer;font:inherit;font-weight:650;font-size:.82rem}
.guide-choices button[aria-pressed=true]{background:#202426;color:#fff;border-color:#202426}
.guide-result{font-size:.91rem;line-height:1.85;max-width:850px;margin:0 0 14px;color:#505b60;min-height:3.7em}
.service-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px}
.service-photo-pair figure{margin:0;background:#dfe3e4}
.service-photo-pair img{display:block;width:100%;height:430px;object-fit:contain}
.case-extra-photos{padding-block:28px 0;max-width:780px}
.case-extra-photos figure{margin:0;background:#eef0f0}
.case-extra-photos img{display:block;width:100%;height:550px;object-fit:contain}
.case-extra-photos figcaption{padding:13px 18px;font-size:.75rem;color:#5c6569}
.nd-faq{padding-block:50px 65px}
.nd-faq h2{font-size:clamp(1.9rem,3.4vw,2.8rem)!important;line-height:1.15!important;margin:0 0 25px}
.nd-faq .faq-list{max-width:900px}
.nd-faq .faq-list details p{padding-bottom:20px}
.nd-faq .faq-list a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legacy-preview-note{font-size:.8rem;padding:15px;background:#fff1de;color:#6d4c13;line-height:1.7}
@media(max-width:620px){.decision-guide{width:calc(100% - 32px);padding:24px 20px;margin-bottom:38px}.decision-guide h3{font-size:1.25rem}.guide-choices{gap:8px}.guide-choices button{padding:10px 12px;font-size:.78rem}.guide-result{font-size:.85rem}.service-photo-pair{gap:16px;margin-top:25px}.service-photo-pair img{height:270px}.case-extra-photos img{height:400px}.nd-faq{padding-block:36px 45px}}
@media(max-width:360px){.service-photo-pair{grid-template-columns:1fr}.service-photo-pair img{height:330px}}
/* Retained pages hide all mobile navigation links; explicitly expose submenu links. */
@media(max-width:1180px){.nav-links.open .nav-service-menu:not([hidden])>a{display:flex!important}}

/* Mobile menu contrast across normal, expanded, focus and pressed states. */
@media(max-width:1180px){
 .nav-links.open .nav-service-toggle,.nav-links.open .nav-service-toggle:hover,.nav-links.open .nav-service-toggle:focus,.nav-links.open .nav-service-toggle:active,.nav-links.open .nav-service-toggle[aria-expanded=true]{color:#fff!important;-webkit-text-fill-color:#fff!important;background:transparent!important}
 .nav-links.open .nav-service-toggle>span{color:#f04b54!important;-webkit-text-fill-color:#f04b54!important}
}
.service-intro .renovation-map h2{font-size:clamp(1.55rem,2.2vw,1.85rem)!important;line-height:1.2!important}
.guide-transfer{font-size:.8rem;line-height:1.6;color:#505b60;padding:12px 0;border-top:1px solid #c5cccf}
.case-gallery{padding-block:36px 18px}
.case-gallery-head h2{font-size:clamp(1.7rem,2.6vw,2.2rem)!important;line-height:1.2!important;margin:0 0 25px}
.case-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.case-photo-grid-single{grid-template-columns:1fr;max-width:1000px;margin-inline:auto}
.case-photo-grid .case-photo-wide{grid-column:1/-1}
.case-photo-grid figure{margin:0;background:#eef0f0;min-width:0}
.case-photo-grid .case-image>img{height:390px;object-fit:contain;display:block}
.case-photo-grid figcaption{padding:17px 20px;font-size:.83rem;color:#505b60;line-height:1.7}
.case-photo-grid figcaption strong{display:block;color:#202426;margin-bottom:5px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
[data-page=project-dachbad] .case-photo-grid{grid-template-columns:1fr;max-width:780px;margin:auto}
[data-page=project-dachbad] .case-photo-grid .case-image>img{height:550px}
[data-page=sanierung] .service-photo-pair{grid-template-columns:1fr;max-width:760px}
[data-page=sanierung] .service-photo-pair img{height:480px}
@media(max-width:620px){.case-photo-grid{grid-template-columns:1fr;gap:22px}.case-photo-grid .case-image>img,[data-page=project-dachbad] .case-photo-grid .case-image>img{height:380px}.case-photo-grid figcaption{padding:14px 17px}.case-gallery{padding-top:25px}[data-page=sanierung] .service-photo-pair img{height:370px}}

/* Service pages show one supporting view, without repeating their hero photo. */
.service-photo-pair{grid-template-columns:1fr;max-width:760px}
.service-photo-pair figcaption{padding:14px 18px;font-size:.8rem;color:#505b60;line-height:1.7;background:#dfe3e4}
.home-page .path-card:last-child .path-number{color:#ff7075}
[data-page=sanierung] .service-photo-pair img{height:420px}
@media(max-width:620px){[data-page=sanierung] .service-photo-pair img{height:280px}}

/* Agreed finishing adjustments: consistent spacing and readable calls to action. */
.home-page .path-card:last-child>a,.home-page .path-card:last-child>a span{color:#fff!important}
.home-page .steps{display:grid!important;gap:24px;border-top:0;align-items:stretch}
.home-page .step{padding:28px!important;min-width:0}
.home-page .step::before{margin-top:0;margin-bottom:22px}
.home-page .emergency-actions .btn{border:1px solid #fff!important;color:#fff!important;background:transparent!important}
.home-page .contact-option small,.company-contact>strong{color:#ff7075!important}
.home-page .why-item:first-child{padding-top:26px}
.form-card textarea#message{min-height:216px;height:auto;padding:24px 18px;line-height:1.6;box-sizing:border-box;resize:vertical}
.form-card textarea#message::placeholder{opacity:1}
@media(max-width:620px){.home-page .steps{gap:20px}.home-page .step{padding:24px!important}}

/* Mobile scroll header: stable page layout, smaller chrome while reading. */
.mobile-header-space{display:none}
.heating-project-extra{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;margin-top:42px;padding-top:36px;border-top:1px solid #c8ced0}
.heating-project-extra h3{font-size:clamp(1.5rem,2.6vw,2rem)!important;line-height:1.2;margin-bottom:20px}
.heating-project-extra p:not(.eyebrow){color:#535b5f;font-size:.92rem;line-height:1.8}
.heating-project-extra figure{margin:0}
.heating-project-extra img{width:100%;height:330px;object-fit:cover;object-position:center 52%}
@media(max-width:760px){.heating-project-extra{grid-template-columns:1fr;gap:24px;margin-top:30px;padding-top:28px}.heating-project-extra img{height:280px}.heating-project-extra .quiet-link{flex-wrap:wrap}}
.visit-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-top:36px;padding:32px;border-top:3px solid var(--red);background:#f4f5f5;color:#202426}
.visit-detail .eyebrow{margin-bottom:16px}
.visit-detail h3{font-size:clamp(1.4rem,2.1vw,1.8rem)!important;line-height:1.2;margin-bottom:18px}
.visit-detail p,.visit-detail li{font-size:.92rem;line-height:1.75;color:#535b5f}
.visit-detail p:last-child{margin-bottom:0}
.visit-result h4{font-size:1.05rem;margin:0 0 14px}
.visit-result ul{margin:0 0 20px;padding-left:20px}
.visit-result li{padding-left:4px;margin-bottom:12px}
.visit-result li::marker{color:var(--red)}
@media(max-width:760px){.visit-detail{grid-template-columns:1fr;gap:24px;padding:24px;margin-top:28px}}
@media(max-width:760px){
 .has-scroll-header .mobile-header-space{display:block;height:var(--mobile-header-full-height);flex:none}
 .has-scroll-header .site-header{position:fixed!important;inset:0 0 auto!important;width:100%;z-index:50}
 .has-scroll-header .site-header .nav{transition:min-height .18s ease}
 .has-scroll-header .site-header .brand-logo{transition:width .18s ease,height .18s ease}
 .has-scroll-header .site-header .brand-copy small,.has-scroll-header .site-header .brand-service{max-height:20px;overflow:hidden;opacity:1;transition:max-height .18s ease,opacity .18s ease}
 .has-scroll-header .site-header .brand-copy{transition:gap .18s ease}
 .has-scroll-header .site-header.is-compact .nav{min-height:56px!important}
 .has-scroll-header .site-header.is-compact .brand-logo{height:40px!important;width:46px!important}
 .has-scroll-header .site-header.is-compact .brand-copy small,.has-scroll-header .site-header.is-compact .brand-service{max-height:0;opacity:0}
 .has-scroll-header .site-header.is-compact .brand-copy{gap:0!important}
}
@media(prefers-reduced-motion:reduce){.has-scroll-header .site-header .nav,.has-scroll-header .site-header .brand-logo,.has-scroll-header .site-header .brand-copy,.has-scroll-header .site-header .brand-copy small,.has-scroll-header .site-header .brand-service{transition:none}}

/* Uniform home reference cards replace the legacy full-width fourth tile. */
@media (min-width: 761px){
 .home-page .projects .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:clamp(380px,34vw,500px)!important}
 .home-page .projects .project-card:nth-child(n){grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:0!important}
 .home-page .projects .project-card[data-category="Wärmepumpe"]>img{object-position:center center!important}
}

/* Consistent complete borders and matching entrance cards. */
.home-page .trust-grid{gap:14px!important;padding-block:16px!important;box-sizing:border-box}
.home-page .trust .trust-item:nth-child(n){min-width:0;box-sizing:border-box;border:1px solid rgba(255,255,255,.65)!important;border-radius:10px!important}
.home-page .path-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;border:0!important}
.home-page .path-card:nth-child(n){box-sizing:border-box;background:var(--anthracite)!important;color:#fff!important;border:2px solid var(--anthracite)!important;padding:32px!important;min-height:390px!important}
.home-page .path-card-featured{border-color:var(--red)!important}
.home-page .path-card:nth-child(n) h3,.home-page .path-card:nth-child(n) p,.home-page .path-card:nth-child(n)>a,.home-page .path-card:nth-child(n)>a span{color:#fff!important;opacity:1!important}
.home-page .path-card:nth-child(n) .path-number{color:#ff7075!important}
.home-page .path-card:nth-child(n)>a{border-top:3px solid var(--red)!important;border-bottom:0!important;padding-top:16px!important;padding-bottom:0!important;margin-top:auto!important;min-height:42px;box-sizing:border-box}
@media(min-width:981px){.home-page .path-card:nth-child(n) h3{min-height:2.5em;margin-top:60px!important;margin-bottom:16px;line-height:1.25}}
@media(max-width:980px){.home-page .path-grid{grid-template-columns:1fr!important}.home-page .path-card:nth-child(n){min-height:285px!important;padding:28px!important}}
@media(max-width:430px){.home-page .trust-grid{gap:12px!important}}

.home-page .path-card.path-card-featured{border-color:var(--red)!important}
.home-page .path-card:hover{transform:none!important}
