:root{--green:#0c8f3c;--deep:#073c24;--cream:#faf6ee;--soft:#eef6ef;--text:#18221c;--muted:#68736b;--white:#fff;--gold:#c7a76c;--shadow:0 22px 70px rgba(7,60,36,.13);--radius:28px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--cream);line-height:1.7}a{color:inherit}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 6vw;background:rgba(250,246,238,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(12,143,60,.12)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;color:var(--deep)}.brand img{width:64px;height:64px;object-fit:contain}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-weight:600;color:var(--deep)}.nav-cta,.btn.primary{background:linear-gradient(135deg,var(--green),#0a6f31);color:white!important;padding:12px 22px;border-radius:999px;box-shadow:0 12px 30px rgba(12,143,60,.25);border:0}.nav-toggle{display:none;background:none;border:0;font-size:30px;color:var(--deep)}.hero{min-height:92vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;padding:140px 6vw 80px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,60,36,.82),rgba(7,60,36,.42),rgba(7,60,36,.18))}.hero-content{position:relative;color:white;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:var(--green);margin:0 0 8px}.hero .eyebrow{color:#c9ffd6}.hero h1,.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,10vw,8.5rem);line-height:.85;margin:0 0 12px}.hero h2,h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:0 0 20px}.hero p{font-size:1.16rem;max-width:620px}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.button-row.centered{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border-radius:999px;padding:14px 24px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn.ghost{border:1px solid rgba(255,255,255,.75);color:white;background:rgba(255,255,255,.08)}.btn.ghost.dark{border-color:rgba(7,60,36,.28);color:var(--deep);background:transparent}.section{padding:90px 6vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1220px;margin:auto}.split.reverse{grid-template-columns:1fr 1fr}.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:white}.image-card img{width:100%;height:620px;object-fit:cover}.tinted{background:var(--soft)}.section-head{text-align:center;max-width:820px;margin:0 auto 44px}.benefits{display:grid;gap:16px}.benefits div,.card,.price-card,.contact-card,.form,.quote-card{background:white;border:1px solid rgba(12,143,60,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.benefits div{padding:18px 20px;font-weight:700;color:var(--deep)}.cards{display:grid;gap:24px;max-width:1100px;margin:0 auto 34px}.cards.three{grid-template-columns:repeat(3,1fr)}.card{padding:30px}.card h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin:0 0 10px;color:var(--deep)}.center{text-align:center}.quote-card{padding:56px;background:linear-gradient(135deg,var(--deep),var(--green));color:white}.quote-card span{font-family:serif;font-size:7rem;line-height:.5;color:#bff5cc}.quote-card p{font-family:'Cormorant Garamond',serif;font-size:2.5rem;line-height:1.05}.cta{text-align:center;padding:90px 6vw;background:var(--cream)}.cta h2{color:var(--deep)}footer{padding:36px 6vw;background:var(--deep);color:white;text-align:center}.page{padding-top:20px}.page-hero{text-align:center;padding:90px 6vw 40px;max-width:920px;margin:auto}.page-hero h1{font-size:clamp(3rem,8vw,6rem);color:var(--deep)}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1120px}.price-card{padding:34px}.price-card.accent{grid-column:1/-1;background:linear-gradient(135deg,#fff,var(--soft))}.price-card h2{font-size:2.7rem;color:var(--deep)}.muted{color:var(--muted)}.price-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(12,143,60,.12)}.price-row strong{color:var(--green);white-space:nowrap}.note{margin-top:24px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:1160px}.compare{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);height:560px;background:#ddd}.compare>img,.compare .after img{width:100%;height:100%;object-fit:cover}.compare .after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;z-index:3;box-shadow:0 0 20px rgba(0,0,0,.35)}.label{position:absolute;top:18px;z-index:4;background:rgba(7,60,36,.86);color:white;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.85rem}.label.before{left:18px}.after-label{right:18px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;max-width:1160px}.contact-card,.form{padding:34px}.contact-card h2,.form h2{font-size:2.6rem;color:var(--deep)}.contact-card a{color:var(--green);font-weight:800}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-weight:700;color:var(--deep)}.form input,.form textarea{width:100%;padding:15px 16px;border-radius:16px;border:1px solid rgba(12,143,60,.22);font:inherit;background:#fff}.form button{cursor:pointer;width:max-content}.form-note{font-size:.9rem;color:var(--muted);margin:0}.map-section{max-width:1160px}.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:8px solid white}.map-wrap iframe{width:100%;height:440px;border:0;display:block}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.nav-toggle{display:block}.nav{position:absolute;left:0;right:0;top:89px;background:var(--cream);padding:20px 6vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(12,143,60,.12)}.nav.open{display:flex}.split,.split.reverse,.pricing-grid,.gallery-grid,.contact-layout,.cards.three{grid-template-columns:1fr}.hero{min-height:82vh}.image-card img{height:420px}.compare{height:460px}.brand span{display:none}.section{padding:64px 6vw}.hero h1{font-size:4.3rem}}

/* CENTER FIX */
.container, .content, main, section {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

/* DSGVO Footer & Cookie Banner */
.legal-footer {
  width: 100%;
  padding: 28px 16px;
  text-align: center;
  background: rgba(247, 243, 238, 0.9);
  border-top: 1px solid rgba(47, 107, 79, 0.15);
}
.legal-footer-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}
.legal-footer a {
  color: #2f6b4f;
  text-decoration: none;
  font-weight: 600;
}
.legal-footer a:hover {
  text-decoration: underline;
}
.cookie-banner {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 999999;
  background: #1f1f1f;
  color: #fff;
  border-radius: 18px;
  box-shadow: 0 15px 45px rgba(0,0,0,.28);
  padding: 18px;
}
.cookie-banner-content {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
.cookie-banner p {
  margin: 8px auto 14px;
  max-width: 760px;
  line-height: 1.5;
}
.cookie-banner-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.cookie-banner button {
  border: 0;
  border-radius: 999px;
  background: #2f6b4f;
  color: #fff;
  padding: 10px 20px;
  font-weight: 700;
  cursor: pointer;
}
.cookie-banner a {
  color: #fff;
  text-decoration: underline;
}
@media (max-width: 600px) {
  .cookie-banner {
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 14px;
  }
}

/* Netlify upload + contact repair */
.page-centered,.contact-page{max-width:1100px;margin:0 auto;padding:90px 24px 60px;text-align:center}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px}
.contact-card,.map-card{background:rgba(255,255,255,.9);border:1px solid rgba(47,107,79,.14);border-radius:24px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.06)}
.contact-form{display:grid;gap:14px;text-align:left}
.contact-form label{display:grid;gap:7px;font-weight:600}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(47,107,79,.22);font:inherit;box-sizing:border-box}
.contact-form button{border:0;border-radius:999px;padding:13px 22px;background:#2f6b4f;color:#fff;font-weight:700;cursor:pointer}
.privacy-consent{font-size:14px;line-height:1.5}
.map-card{margin-top:28px;overflow:hidden}
.map-card iframe{border-radius:18px}
.legal-footer{text-align:center;padding:28px 16px;background:rgba(247,243,238,.95)}
.legal-footer a{color:#2f6b4f;font-weight:700;text-decoration:none}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr}.page-centered,.contact-page{padding:70px 18px 44px}}

/* Final no-404 Netlify form fix */
.page-centered,.contact-page{max-width:1100px;margin:0 auto;padding:90px 24px 60px;text-align:center}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px}
.contact-card,.map-card{background:rgba(255,255,255,.9);border:1px solid rgba(47,107,79,.14);border-radius:24px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.06)}
.contact-form{display:grid;gap:14px;text-align:left}
.contact-form label{display:grid;gap:7px;font-weight:600}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(47,107,79,.22);font:inherit;box-sizing:border-box}
.contact-form button{border:0;border-radius:999px;padding:13px 22px;background:#2f6b4f;color:#fff;font-weight:700;cursor:pointer}
.form-status{font-weight:700;color:#2f6b4f;min-height:24px}
.privacy-consent{font-size:14px;line-height:1.5}
.map-card{margin-top:28px;overflow:hidden}
.map-card iframe{border-radius:18px}
.legal-footer{text-align:center;padding:28px 16px;background:rgba(247,243,238,.95)}
.legal-footer a{color:#2f6b4f;font-weight:700;text-decoration:none}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr}.page-centered,.contact-page{padding:70px 18px 44px}}
