@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{--cream:#f5f2e9;--paper:#eae7dc;--green:#1a1a1a;--green2:#1a1a1a;--orange:#222222;--ink:#222722;--muted:#72766e;--line:#d4d0c5;--max:1240px}

*{box-sizing:border-box}html{scroll-behavior:smooth}

body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.announcement{height:34px;background:var(--green);color:#f5f2e9;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em}.announcement a{letter-spacing:0;font-size:10px}.announcement b{margin-left:10px;color:#e8ad83}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:30;background:rgba(245,242,233,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,20,20,.08)}.brand{display:flex;align-items:center;gap:10px}.brand-symbol{font-family:"Playfair Display",serif;font-size:42px;line-height:1;color:var(--green);letter-spacing:-.12em}.brand-symbol span{color:var(--orange)}.brand-name{font-family:Manrope,sans-serif;font-weight:800;font-size:12px;letter-spacing:.21em}.nav{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.nav>a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{background:var(--green);color:var(--cream);padding:13px 17px;border-radius:3px}.nav-cta span{margin-left:16px;color:#e8ad83}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px;max-width:1600px;margin:auto;padding:60px 5vw 65px;gap:4vw;position:relative}.hero-copy{padding:30px 0 0 2vw;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--green);margin:0 0 24px}.eyebrow-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:10px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(55px,6.5vw,93px);line-height:.99;letter-spacing:-.075em;margin:0 0 26px;font-weight:600}.hero h1 em,h2 em,blockquote em,.footer-main p em{font-family:"Playfair Display",serif;font-weight:500}.hero h1 em{color:var(--green2)}.lead{max-width:430px;color:#000000;font-size:15px;margin:0 0 28px}.hero-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 19px;border:0;font-size:12px;font-weight:700;cursor:pointer;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-green{background:var(--green);color:var(--cream)}.button-green span{color:#e8ad83}.button-cream{background:var(--cream);color:var(--green)}.underlink{font-size:11px;font-weight:700;border-bottom:1px solid #9b9f94;padding-bottom:6px}.underlink span{margin-left:12px;color:var(--orange)}.hero-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:55px;color:#85877e;font-size:9px;letter-spacing:.04em}.hero-visual{position:relative;min-height:540px}.visual-window{position:absolute;inset:0 4% 5% 0;overflow:hidden;background:linear-gradient(135deg, #d9d9d5, #aeb0ac 50%, #eeeeea);}.window-sky{width: 100%; height: 100%}.window-sky img{width: 100%;height: 100%;object-fit: contain;background-color: #f5f2e9;display: block;}.window-frame{position:absolute;top:-10%;bottom:-10%;width:5px;background:rgba(244,245,229,.78);box-shadow:0 0 12px rgba(255,255,255,.22)}.frame-a{left:34%}.frame-b{left:68%}.window-reflection{position:absolute;right:-4%;top:14%;width:65%;height:100%;transform:skew(-17deg);background:linear-gradient(90deg,transparent, rgba(255,255,255,.35),transparent 50%, rgba(40,40,40,.08));}.visual-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;background:rgba(25,25,25,.92);color:#f5f2e9;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.1em}.visual-caption span:last-child{letter-spacing:0}.round-stamp{position:absolute;right:-1%;top:12%;width:112px;height:112px;border-radius:50%;background:var(--orange);color:#272c26;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;transform:rotate(9deg);box-shadow:0 10px 30px #5b5c4d20}.round-stamp span{font-size:9px;letter-spacing:.12em;font-weight:700}.round-stamp b{font-family:"Playfair Display",serif;font-size:19px;font-weight:500;margin:3px}.round-stamp i{font-style:normal;font-size:17px;margin-top:4px}.hero-index{position:absolute;bottom:-1%;right:4%;font-size:9px;letter-spacing:.13em;line-height:1.8;color:#8d9185}.hero-index span{color:var(--orange)}.side-note{position:absolute;bottom:27px;left:5vw;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.08em;color:#8c8d83}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);padding:29px 8vw;gap:25px}.trust-strip>div{display:flex;align-items:center;gap:16px;border-right:1px solid var(--line)}.trust-strip>div:last-child{border:0}.trust-strip strong{font-family:Manrope,sans-serif;font-size:23px;color: #1a1c1b;font-weight:500}.trust-strip span{font-size:11px;line-height:1.35;color:#5f665e}.section{padding:120px 7vw}.section-heading{max-width:var(--max);margin:0 auto 60px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.process-heading h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,70px);line-height:1.04;letter-spacing:-.065em;font-weight:600;margin:0}.section-heading h2 em,.process-heading h2 em,.contact h2 em{color:var(--green2)}.section-heading>p{max-width:370px;color:#6e736a;font-size:13px;margin:0 0 6px}.service-list{max-width:var(--max);margin:auto;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:45px 125px 1fr 40px;align-items:center;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.service-row:hover{padding-left:12px;padding-right:12px;background:#efede4}.service-num{font-size:10px;color:#8b8d82}.service-thumb{height:82px;background:#c2c2bf;position:relative;overflow:hidden}.service-thumb:before,.service-thumb:after{content:"";position:absolute}.thumb-shower{background:linear-gradient(135deg,#ddddda,#9a9a96)}.thumb-shower:before{inset:0 22% 0 28%;border:2px solid #f4f3e9;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25))}.thumb-doors{background:linear-gradient(90deg,#303030 0 30%,#d2d7c9 31% 33%,#9aafa0 34% 68%,#292929 69%)}.thumb-rail{background:linear-gradient(150deg,#c8c8c4,#777777)}.thumb-rail:before{left:0;right:0;top:24%;height:2px;background:#f5f2e9;box-shadow:0 24px #f5f2e9,0 48px #f5f2e9}.thumb-mirror{background:radial-gradient(ellipse at center,#deded9 0 30%,#858585 31% 33%,#ccccca 34% 48%,#666666 49%)}.thumb-build{background:linear-gradient(90deg,#555555,#c5c5c2 45%,#e1e1d3 46% 48%,#777777 49%)}.service-text h3{font-size:22px;letter-spacing:-.035em;margin:0 0 4px;font-weight:600}.service-text p{margin:0;color:#777a71;font-size:12px}.service-arrow{justify-self:end;font-size:22px;color:var(--green);transition:transform .2s}.service-row:hover .service-arrow{transform:translate(3px,-3px)}.services-bottom{max-width:var(--max);margin:30px auto 0;display:flex;justify-content:flex-end;gap:22px;align-items:center;font-size:11px;color:#777a71}.quote-band{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream);min-height:600px}.quote-image{position:relative;overflow:hidden;min-height:550px;background:linear-gradient(135deg,#bcbcb8,#777777 50%,#263f33)}.quote-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(30,30,30,.10))}.arch{position:absolute;bottom:-12%;height:90%;width:45%;border:2px solid rgba(245,242,233,.6);border-bottom:0;border-radius:50% 50% 0 0}.arch-one{left:13%;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent)}.arch-two{left:43%;height:75%;width:40%;border-color:rgba(245,242,233,.3)}.plant{position:absolute;bottom:-5%;left:0;width:45%;height:65%;background:radial-gradient(ellipse at 60% 20%,#344e3b 0 9%,transparent 10%),radial-gradient(ellipse at 30% 35%,#294833 0 13%,transparent 14%),radial-gradient(ellipse at 65% 50%,#233f35 0 15%,transparent 16%),linear-gradient(80deg,transparent 48%,#293e31 49% 51%,transparent 52%);opacity:.8}.quote-image>span{position:absolute;z-index:2;bottom:24px;left:7%;font-size:9px;letter-spacing:.16em}.quote-copy{padding:90px clamp(35px,7vw,105px);align-self:center}.quote-copy .eyebrow{color:#d9b18e}.quote-copy blockquote{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.1;letter-spacing:-.05em;margin:0 0 25px}.quote-copy blockquote em{color:#e7b18b}.quote-copy>p:not(.eyebrow){font-size:13px;color:#c2cbbf;max-width:440px;margin-bottom:32px}.gallery{background:#efede4}.gallery-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.gallery-card{position:relative;min-height:360px;overflow:hidden}.gallery-tall{grid-row:span 2;min-height:750px}.gallery-card:nth-child(3){min-height:360px}.gallery-art{position:absolute;inset:0;transition:transform .65s}.gallery-card:hover .gallery-art{transform:scale(1.04)}.gallery-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,20,.65),transparent 58%)}.gallery-a{background:linear-gradient(140deg,#e1e1de,#b8b8b5 45%,#555555)}.gallery-b{background:linear-gradient(110deg,#363636,#c3c3c0 50%,#777777)}.gallery-c{background:linear-gradient(135deg,#d5d5d2,#888888 50%,#3e3e3e)}.gallery-label{position:absolute;z-index:2;bottom:23px;left:25px;color:#fff}.gallery-label span{font-size:9px;letter-spacing:.13em}.gallery-label h3{font-size:22px;margin:5px 0 0;font-weight:500}.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.process-heading .eyebrow{margin-bottom:20px}.process-heading>p:last-child{max-width:340px;color:#70766c;font-size:13px;margin-top:25px}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-self:center}.process-step{border-top:2px solid var(--green);padding-top:16px}.process-step>span{font-size:10px;color:var(--orange);font-weight:700}.process-step h3{font-size:18px;line-height:1.2;margin:22px 0 10px}.process-step p{font-size:12px;color:#70766c;margin:0}.emergency{background:var(--orange);padding:65px 7vw;display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:30px}.emergency-icon{width:47px;height:47px;border:1px solid rgba(34,39,34,.5);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:25px}.emergency .eyebrow{color:#433a30;margin-bottom:13px}.emergency h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,53px);line-height:1.06;letter-spacing:-.05em;margin:0 0 14px}.emergency h2 em{font-family:"Playfair Display",serif}.emergency>div>p:last-child{font-size:12px;max-width:580px;color:#51473b;margin:0}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.contact-copy .eyebrow{margin-bottom:18px}.contact-copy h2{font-size:clamp(52px,6vw,78px)}.contact-copy>p:not(.eyebrow){max-width:380px;color:#70766c;font-size:14px;margin-top:25px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:38px}.contact-links a{font-size:15px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:5px}.contact-links span{font-size:11px;color:#777a71;margin-top:7px}.form{display:flex;flex-direction:column;gap:24px;padding-top:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form label{font-size:10px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}.form input,.form select,.form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b9b9ab;background:transparent;padding:12px 0;outline:none;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0;font-size:13px}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--green)}.form textarea{resize:vertical}.form .button{align-self:flex-start;min-width:230px}.form-note{font-size:10px;color:#888;margin:0}.footer{background:#1a1a1a;color:var(--cream);padding:55px 7vw 24px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:60px}.footer .brand-symbol{color:var(--cream)}.footer-main>p{font-family:Manrope,sans-serif;font-size:25px;line-height:1.2;letter-spacing:-.03em}.footer-main>p em{color:#e7b18b}.back-top{justify-self:end;font-size:11px;border-bottom:1px solid #777777;padding-bottom:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #444444;padding-top:19px;font-size:9px;color:#c1c9bd}.footer-bottom div{display:flex;gap:22px}

@media(max-width:900px){.nav{gap:16px}.nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr 1fr;padding-top:40px;gap:25px}.hero h1{font-size:clamp(54px,7vw,75px)}.hero-visual{min-height:500px}.trust-strip{padding-left:5vw;padding-right:5vw}.section{padding:90px 5vw}.process{grid-template-columns:1fr;gap:45px}.process-steps{gap:25px}.emergency{padding:55px 5vw;grid-template-columns:45px 1fr}.emergency>.button{grid-column:2;justify-self:start}.quote-copy{padding:60px 35px}}

@media(max-width:640px){.announcement{padding:0 4vw;font-size:8px}.announcement a{font-size:9px}.header{height:72px;padding:0 5vw}.nav-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:10px}.nav-toggle i{display:block;width:25px;height:2px;background:var(--green)}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:22px 5vw 28px;background:var(--cream);flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav>a:not(.nav-cta){display:block}.nav-cta{display:flex;justify-content:space-between}.hero{display:flex;flex-direction:column;padding:42px 5vw 70px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(55px,15vw,78px)}.lead{font-size:14px}.hero-foot{padding-top:35px}.hero-visual{min-height:400px}.visual-window{max-width: 800px; max-height: 500px; width: 100%; overflow: hidden;}.round-stamp{width:88px;height:88px;right:-1%;top:8%;opacity:0.6}.round-stamp span{font-size:7px}.hero-index{bottom:0}.side-note{display:none}.trust-strip{grid-template-columns:1fr 1fr;padding:25px 6vw;gap:20px}.trust-strip>div:nth-child(2){border:0}.section{padding:75px 6vw}.section-heading{display:block;margin-bottom:38px}.section-heading>p{margin-top:24px}.service-row{grid-template-columns:24px 75px 1fr 20px;gap:12px;padding:14px 0}.service-thumb{height:70px}.service-text h3{font-size:16px}.service-text p{font-size:10px}.service-arrow{font-size:17px}.services-bottom{align-items:flex-start;flex-direction:column;gap:10px}.quote-band{grid-template-columns:1fr}.quote-image{min-height:350px}.quote-copy{padding:55px 7vw 65px}.quote-copy blockquote{font-size:39px}.gallery-grid{grid-template-columns:1fr;gap:14px}.gallery-tall{grid-row:auto;min-height:460px}.gallery-card,.gallery-card:nth-child(3){min-height:330px}.process-steps{grid-template-columns:1fr;gap:25px}.process-step{display:grid;grid-template-columns:30px 1fr;column-gap:12px}.process-step>span{grid-row:span 2}.process-step h3{margin:0 0 7px}.process-step p{grid-column:2}.emergency{grid-template-columns:1fr;gap:18px;padding:45px 6vw}.emergency>.button{grid-column:1;width:100%}.form-row{grid-template-columns:1fr}.contact{gap:40px}.footer-main{grid-template-columns:1fr;gap:20px}.footer-main>p{margin:0}.back-top{justify-self:start}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom div{gap:18px}}

/* =========================================================
   Zusätzliche responsive Optimierungen
   Bestehendes Desktop-Design bleibt unverändert.
   ========================================================= */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

@media (max-width: 900px) {
  .header .brand img {
    width: 64px;
    height: 64px;
  }

  .hero {
    min-height: auto;
  }

  .hero-visual {
    min-width: 0;
  }

  .visual-window {
    width: 100%;
  }

  .trust-strip > div {
    min-width: 0;
  }

  .service-row {
    min-width: 0;
  }

  .service-row > div {
    min-width: 0;
  }

  .service-row img {
    width: 100%;
    height: 82px;
    object-fit: cover;
  }

  .service-text {
    min-width: 0;
  }

  .service-text h3,
  .service-text p {
    overflow-wrap: break-word;
  }

  .contact,
  .process {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .header .brand {
    min-width: 0;
  }

  .header .brand img {
    width: 52px;
    height: 52px;
  }

  .brand-name h1 {
    font-size: 12px;
    margin: 0;
  }

  .hero h1 {
    max-width: 100%;
  }

  .hero-buttons {
    width: 100%;
    align-items: stretch;
  }

  .hero-buttons .button,
  .hero-buttons .underlink {
    max-width: 100%;
  }

  .hero-buttons .button {
    width: 100%;
  }

  .hero-foot {
    line-height: 1.5;
  }

  .hero-visual {
    min-height: 0;
    padding-bottom: 48px;
  }

  .visual-window {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .window-sky,
  .window-sky img {
    width: 100%;
    height: 100%;
  }

  .visual-caption {
    padding: 12px 14px;
    font-size: 8px;
  }

  .hero-index {
    right: 0;
    bottom: 0;
    font-size: 8px;
  }

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

  .trust-strip > div,
  .trust-strip > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 15px 0;
  }

  .trust-strip > div:last-child {
    border-bottom: 0;
  }

  .section-heading h2,
  .process-heading h2 {
    font-size: clamp(38px, 11vw, 58px);
  }

  .service-row {
    grid-template-columns: 22px 68px minmax(0, 1fr) 18px;
    gap: 10px;
  }

  .service-row img {
    width: 68px;
    height: 68px;
    object-fit: cover;
  }

  .service-text h3 {
    font-size: 15px;
    line-height: 1.2;
  }

  .service-text p {
    line-height: 1.35;
  }

  .service-arrow {
    font-size: 16px;
  }

  .process-heading > p:last-child br,
  .contact-copy > p:not(.eyebrow) br {
    display: none;
  }

  .contact-copy h2 {
    font-size: clamp(48px, 14vw, 70px);
  }

  .contact-links a {
    overflow-wrap: anywhere;
  }

  .form {
    padding-top: 0;
  }

  .form .button {
    width: 100%;
  }

  .footer {
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .footer-main {
    position: relative !important;
    padding-bottom: 90px;
  }

  .footer-main > div[style*="position: absolute"] {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    justify-content: flex-start;
    margin-top: 5px;
  }

  .footer-main .back-top {
    position: absolute !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
  }

  .footer-bottom div {
    flex-wrap: wrap;
  }
}
