/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0a0a0a;
  --navy-light:#1a1a1a;
  --white:#ffffff;
  --gold:#d4a847;
  --gold-accessible:#9a6e10;
  --gold-light:#e8c97a;
  --gray:#94a3b8;
  --gray-light:#e2e8f0;
  --text-muted:#475569;
  --radius:8px;
  --shadow:0 4px 24px rgba(0,0,0,.12);
  --transition:.25s ease;
}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:'Montserrat',sans-serif;color:var(--navy);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--gold-light)}
ul{list-style:none}
.container{max-width:1140px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right))}

/* Render off-screen sections lazily for faster first paint */
.reviews,.services,.process,.gallery,.calc-teaser,.guarantee,.final-cta,.faq{
  content-visibility:auto;
  contain-intrinsic-size:700px;
}

/* ===== HEADER ===== */
header{position:sticky;top:0;z-index:100;background:var(--navy);padding:12px 0;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.header-container{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:44px;width:auto}
.logo span{font-size:1.1rem;font-weight:700;color:var(--white);letter-spacing:.5px}
nav ul{display:flex;gap:24px;align-items:center}
nav a{color:var(--gray-light);font-size:.9rem;font-weight:500;transition:color var(--transition)}
nav a:hover,nav a.active{color:var(--gold)}
.header-cta{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--navy);padding:8px 18px;border-radius:var(--radius);font-weight:700;font-size:.875rem;transition:background var(--transition)}
.header-cta:hover{background:var(--gold-light);color:var(--navy)}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:10px;margin-right:-10px}
.mobile-nav-close{display:none}

/* ===== HERO ===== */
.hero{position:relative;background:linear-gradient(rgba(10,10,10,.82),rgba(10,10,10,.88)),url('../Bilder/Nahtlos.jpg') center/cover no-repeat;padding:100px 0 60px;text-align:center;color:var(--white)}
.hero h1{font-size:2.2rem;font-weight:800;line-height:1.25;margin-bottom:16px;max-width:740px;margin-left:auto;margin-right:auto}
.hero h1 span{color:var(--gold)}
.hero .subline{font-size:1.05rem;color:var(--gray-light);margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto}
.hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy);padding:16px 36px;border-radius:var(--radius);font-size:1.1rem;font-weight:700;border:none;cursor:pointer;transition:all var(--transition);box-shadow:0 4px 16px rgba(212,168,71,.35)}
.hero-cta:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,168,71,.45)}
.hero-cta-group{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.hero-cta-call{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--white);padding:16px 28px;border-radius:var(--radius);font-size:1rem;font-weight:600;border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:all var(--transition);text-decoration:none}
.hero-cta-call:hover{background:rgba(255,255,255,.1);border-color:var(--white);color:var(--white)}

/* Stats strip */
.stats-strip{display:flex;justify-content:center;gap:40px;margin-top:48px;flex-wrap:wrap}
.stat-item{text-align:center}
.stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--gold)}
.stat-label{font-size:.875rem;color:var(--gray);text-transform:uppercase;letter-spacing:1px}

/* ===== REVIEWS ===== */
.reviews{padding:64px 0;background:var(--white)}
.section-title{text-align:center;font-size:1.6rem;font-weight:800;color:var(--navy);margin-bottom:8px}
.section-subtitle{text-align:center;color:var(--text-muted);margin-bottom:40px;font-size:.95rem}
.google-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;font-weight:700;color:var(--navy);font-size:1rem}
.google-badge .stars{color:var(--gold);font-size:1.2rem}
.google-badge-cta{display:block;text-align:center;font-size:.9rem;font-weight:600;color:var(--gold-accessible);margin-bottom:24px}
.google-badge-link:hover .google-badge-cta{color:var(--gold)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review-card{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);padding:28px;position:relative;transition:box-shadow var(--transition)}
.review-card:hover{box-shadow:var(--shadow)}
.review-card .quote-icon{font-size:1.5rem;color:var(--gold);opacity:.25;position:absolute;top:14px;right:14px;line-height:1}
.review-card p{font-size:.92rem;color:#334155;line-height:1.65;margin-bottom:14px;font-style:normal}
.review-card .reviewer{font-weight:700;color:var(--navy);font-size:.9rem}
.review-card .review-stars{color:var(--gold);font-size:.875rem;margin-top:4px}
.review-verified{font-size:.8rem;color:#64748b;margin-top:6px;font-weight:500}

/* ===== SERVICES / FEATURES ===== */
.services{padding:64px 0;background:#f8fafc}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.service-card{text-align:center;padding:32px 24px;background:var(--white);border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform var(--transition),box-shadow var(--transition)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.service-icon{width:56px;height:56px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--gold);font-size:1.4rem}
.service-card h3{font-size:1.1rem;font-weight:700;margin-bottom:8px;color:var(--navy)}
.service-card p{font-size:.9rem;color:#475569;line-height:1.55}

/* ===== GALLERY ===== */
.gallery{padding:64px 0;background:var(--white)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-grid figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/3}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-grid figure:hover img{transform:scale(1.05)}
.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,rgba(10,10,10,.7));color:var(--white);font-size:.875rem;font-weight:600}

/* ===== CALCULATOR TEASER ===== */
.calc-teaser{padding:64px 0;background:var(--navy);color:var(--white);text-align:center}
.calc-teaser h2{font-size:1.6rem;font-weight:800;margin-bottom:12px}
.calc-teaser p{color:var(--gray);margin-bottom:28px;max-width:500px;margin-left:auto;margin-right:auto}
.calc-teaser .hero-cta{font-size:1rem}

/* ===== FINAL CTA ===== */
.final-cta{padding:64px 0;background:#f8fafc;text-align:center}
.final-cta h2{font-size:1.6rem;font-weight:800;color:var(--navy);margin-bottom:12px}
.final-cta p{color:var(--text-muted);margin-bottom:28px}
.inline-form{max-width:560px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inline-form .full{grid-column:1/-1}
.inline-form input,.inline-form textarea,.inline-form select{width:100%;padding:12px 14px;border:1px solid var(--gray-light);border-radius:var(--radius);font-family:inherit;font-size:.9rem;transition:border-color var(--transition)}
.inline-form input:focus,.inline-form textarea:focus{outline:none;border-color:var(--gold)}
.inline-form textarea{resize:vertical;min-height:80px}
.inline-form button{grid-column:1/-1;padding:14px;background:var(--gold);color:var(--navy);border:none;border-radius:var(--radius);font-weight:700;font-size:1rem;cursor:pointer;transition:background var(--transition)}
.inline-form button:hover{background:var(--gold-light)}
.form-success{display:none;text-align:center;padding:24px}
.form-success.show{display:block}
.form-success svg{width:48px;height:48px;color:var(--gold);margin-bottom:12px}
.inline-privacy{display:flex;gap:8px;align-items:flex-start;text-align:left;justify-content:center}
.inline-privacy input{width:auto;margin-top:3px;flex-shrink:0}
.inline-privacy label{font-size:.875rem;color:#475569;font-weight:400}
.inline-privacy a{color:var(--gold-accessible)}

/* ===== FOOTER ===== */
footer{background:var(--navy);color:var(--gray);padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:32px}
.footer-grid h3{color:var(--white);font-size:1rem;font-weight:700;margin-bottom:12px}
.footer-grid p,.footer-grid li{font-size:.875rem;line-height:1.8}
.footer-grid a{color:var(--gray);transition:color var(--transition)}
.footer-grid a:hover{color:var(--gold)}
.footer-grid .footer-logo{height:40px;margin-bottom:12px}
.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:.875rem;color:var(--gray)}

/* ===== COOKIE BANNER ===== */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:var(--white);padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));z-index:200;box-shadow:0 -4px 24px rgba(0,0,0,.3);display:none;text-align:center}
.cookie-banner.show{display:block}
.cookie-banner h4{margin-bottom:8px;font-size:.95rem}
.cookie-banner p{font-size:.875rem;color:var(--gray);margin-bottom:14px}
.cookie-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cookie-btn{padding:8px 20px;border:none;border-radius:var(--radius);font-weight:600;font-size:.875rem;cursor:pointer;transition:background var(--transition)}
.cookie-btn.accept{background:var(--gold);color:var(--navy)}
.cookie-btn.accept:hover{background:var(--gold-light)}
.cookie-btn.reject{background:transparent;color:var(--gray-light);border:1px solid var(--gray)}
.cookie-btn.reject:hover{border-color:var(--white);color:var(--white)}
.cookie-btn.manage{background:transparent;color:var(--gray-light);border:1px solid var(--gray)}

/* ===== WHATSAPP BUTTON ===== */
.whatsapp-btn{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right));width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.6rem;z-index:195;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:transform var(--transition);border:none;cursor:pointer;animation:pulse 2s infinite}
.whatsapp-btn:hover{transform:scale(1.1)}
@keyframes pulse{0%,100%{box-shadow:0 4px 16px rgba(37,211,102,.4)}50%{box-shadow:0 4px 24px rgba(37,211,102,.7)}}
@media(max-width:768px){.whatsapp-btn{bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:768px){body.has-sticky-bar .whatsapp-btn{display:none}}

/* ===== CONTACT MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.7);z-index:300;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.show{display:flex}
.modal-content{background:var(--white);border-radius:12px;padding:36px;max-width:500px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);transition:color var(--transition)}
.modal-close:hover{color:var(--navy)}
.modal-content h3{font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.modal-content p{color:var(--text-muted);font-size:.9rem;margin-bottom:20px}
.modal-form{display:grid;gap:12px}
.modal-form label{font-size:.875rem;font-weight:600;color:var(--navy);margin-bottom:2px}
.modal-form input,.modal-form textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-light);border-radius:var(--radius);font-family:inherit;font-size:.9rem}
.modal-form input:focus,.modal-form textarea:focus{outline:none;border-color:var(--gold)}
.modal-form textarea{resize:vertical;min-height:70px}
.modal-form .checkbox-group{display:flex;gap:8px;align-items:flex-start}
.modal-form .checkbox-group input{width:auto;margin-top:3px}
.modal-form .checkbox-group label{font-weight:400;font-size:.875rem;color:#475569}
.modal-form button[type="submit"]{padding:12px;background:var(--gold);color:var(--navy);border:none;border-radius:var(--radius);font-weight:700;font-size:.95rem;cursor:pointer;transition:background var(--transition)}
.modal-form button[type="submit"]:hover{background:var(--gold-light)}

/* ===== EXIT INTENT ===== */
.exit-popup{position:fixed;inset:0;background:rgba(10,10,10,.8);z-index:400;display:none;align-items:center;justify-content:center;padding:20px}
.exit-popup.show{display:flex}
.exit-content{background:var(--white);border-radius:12px;padding:40px;max-width:460px;width:100%;text-align:center;position:relative}
.exit-content .modal-close{position:absolute;top:12px;right:16px}
.exit-content h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.exit-content p{color:var(--text-muted);font-size:.9rem;margin-bottom:20px}
.exit-cta-group{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.exit-content .hero-cta{width:100%;justify-content:center}
.exit-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:2px solid var(--navy);border-radius:var(--radius);color:var(--navy);font-weight:700;font-size:.95rem;text-decoration:none;transition:all var(--transition)}
.exit-call-btn:hover{background:var(--navy);color:var(--white)}

/* ===== RECHNER PAGE ===== */
.hero-calculator{padding:60px 0 40px}
.calculator-section{padding:40px 0 64px}
.calculator-container{max-width:640px;margin:0 auto;background:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:32px;position:relative}
.progress-bar{height:4px;background:var(--gray-light);border-radius:2px;margin-bottom:24px;overflow:hidden}
.progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s ease;width:33%}
.progress-info{font-size:.875rem;color:var(--text-muted);margin-bottom:8px;text-align:center}
.calculator-step{display:none}
.calculator-step.active{display:block}
.calculator-step h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:16px;text-align:center}
.calculator-step p{color:var(--text-muted);font-size:.9rem;margin-bottom:20px;text-align:center}
.input-group{margin-bottom:16px}
.input-group label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.input-group input{width:100%;padding:12px;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:1rem;font-family:inherit}
.input-group input:focus{outline:none;border-color:var(--gold)}
.area-display{text-align:center;padding:12px;background:#f8fafc;border-radius:var(--radius);margin-bottom:20px;font-size:.95rem}
.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.option-card{border:2px solid var(--gray-light);border-radius:var(--radius);padding:20px;text-align:center;cursor:pointer;transition:all var(--transition)}
.option-card:hover{border-color:var(--gold)}
.option-card.selected{border-color:var(--gold);background:rgba(212,168,71,.08)}
.option-card h4{font-size:.95rem;font-weight:700;color:var(--navy);margin:8px 0 4px}
.option-card p{font-size:.875rem;color:var(--text-muted);margin-bottom:8px}
.option-card .price-tag{font-size:.875rem;font-weight:700;color:var(--gold)}
.option-card .option-icon{font-size:1.8rem;color:var(--navy)}
/* Color swatches */
.color-label{font-size:.9rem;font-weight:600;color:var(--navy);margin-top:24px;margin-bottom:12px;text-align:center}
.color-swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:8px}
.color-swatch{width:44px;height:44px;min-width:44px;min-height:44px;border:2px solid var(--gray-light);border-radius:50%;cursor:pointer;transition:all var(--transition);font-size:1rem;font-weight:700;color:var(--text-muted)}
.color-swatch:hover{border-color:var(--gold);transform:scale(1.08)}
.color-swatch.selected{border-color:var(--gold);border-width:3px;box-shadow:0 0 0 2px rgba(212,168,71,.3)}
.color-swatch[data-color="Weiß"],.color-swatch[data-color="Cremeweiß"]{border:1px solid rgba(0,0,0,.15)}
.color-swatch[data-color="Andere"]{background:linear-gradient(135deg,#e2e8f0 50%,#94a3b8 50%)}
.color-hint{font-size:.8rem;color:var(--text-muted);text-align:center;margin-top:0}
.nav-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.nav-btn{padding:12px 24px;border:none;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition)}
.nav-btn.prev{background:var(--gray-light);color:var(--navy)}
.nav-btn.prev:hover{background:#cbd5e1}
.nav-btn.next,.nav-btn.calculate{background:var(--gold);color:var(--navy)}
.nav-btn.next:hover,.nav-btn.calculate:hover{background:var(--gold-light)}
.nav-btn:disabled{opacity:.4;cursor:not-allowed}

/* Live price */
.live-price{text-align:center;padding:16px;background:var(--navy);border-radius:var(--radius);margin-bottom:24px;color:var(--white)}
.live-price-label{font-size:.875rem;text-transform:uppercase;letter-spacing:1px;color:var(--gray);margin-bottom:4px}
.live-price-value{font-size:1.5rem;font-weight:800;color:var(--gold)}

/* Result */
.result-container{text-align:center}
.result-breakdown{display:grid;gap:8px;margin-bottom:20px;text-align:left}
.breakdown-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-light);font-size:.9rem}
.price-range{font-size:1.8rem;font-weight:800;color:var(--gold);margin:12px 0}
.price-note{font-size:.875rem;color:var(--text-muted);margin-bottom:8px}
.result-trust{font-size:.875rem;color:var(--gold);font-weight:700;margin-bottom:20px;letter-spacing:.3px}
.cta-result{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;background:var(--gold);color:var(--navy);border:none;border-radius:var(--radius);font-weight:700;font-size:1rem;cursor:pointer;transition:background var(--transition);width:100%}
.cta-result:hover{background:var(--gold-light)}

/* Extras quantities */
.quantity-input-box{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;background:#f8fafc;border-radius:var(--radius)}
.quantity-input-box label{font-size:.875rem;font-weight:600;flex:1;display:flex;align-items:center;gap:6px}
.quantity-input-box input{width:70px;padding:6px 8px;border:1px solid var(--gray-light);border-radius:var(--radius);text-align:center;font-size:.9rem}
.qty-unit{font-size:.875rem;color:var(--text-muted)}
/* Quantity inline in option card (mobile-friendly) */
.option-qty-inline{margin-top:12px;margin-bottom:0;padding:12px 14px}
.option-card .option-qty-inline label{flex:0 0 auto}
.option-card .option-qty-inline input{flex:1;min-width:60px;width:auto}

/* Lead capture in rechner */
.lead-form{max-width:400px;margin:24px auto 0;display:grid;gap:12px}
.lead-form input{width:100%;padding:12px;border:1px solid var(--gray-light);border-radius:var(--radius);font-family:inherit;font-size:.9rem}
.lead-form input:focus{outline:none;border-color:var(--gold)}
.lead-privacy{display:flex;gap:8px;align-items:flex-start;text-align:left}
.lead-privacy input{width:auto;margin-top:3px;flex-shrink:0}
.lead-privacy label{font-size:.875rem;color:#475569;font-weight:400}
.lead-privacy a{color:var(--gold-accessible)}

/* Conversion steps */
.conversion-step{display:none;text-align:center;padding:20px 0}
.conversion-step.active{display:block}
.conversion-step h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.email-benefits{margin-bottom:20px}
.email-benefits ul{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted)}
.email-benefits li::before{content:"✓ ";color:var(--gold);font-weight:700}
.success-icon{font-size:3rem;color:var(--gold);margin-bottom:12px}

/* ===== LEGAL PAGE ===== */
.legal-section{padding:48px 0}
.legal-section h2{font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:20px}
.legal-card{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);padding:28px;margin-bottom:24px}
.legal-card h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin:20px 0 10px}
.legal-card h3:first-child{margin-top:0}
.legal-card h4{font-size:.95rem;font-weight:600;color:var(--navy);margin:16px 0 8px}
.legal-card p{font-size:.88rem;color:#475569;margin-bottom:8px;line-height:1.7}
.legal-card ul{padding-left:20px;margin-bottom:12px}
.legal-card li{font-size:.88rem;color:#475569;line-height:1.8;list-style:disc}
.legal-card a{color:var(--gold-accessible)}
.cookie-category{margin:16px 0;padding:16px;background:#f8fafc;border-radius:var(--radius)}
.cookie-category h4{margin-top:0}
.cookie-toggle{padding:8px 16px;border:1px solid var(--gray-light);border-radius:var(--radius);background:var(--white);cursor:pointer;font-size:.875rem;transition:all var(--transition)}
.cookie-toggle.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.cookie-actions-legal{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}

/* ===== PROCESS ===== */
.process{padding:64px 0;background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%)}
.process .section-title{color:var(--white)}
.process .section-subtitle{color:#cbd5e1}
.process-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap;margin-top:40px}
.process-step{flex:1;min-width:200px;max-width:260px;text-align:center;padding:22px 16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04);backdrop-filter:blur(2px)}
.process-number{width:56px;height:56px;background:var(--gold);color:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;margin:0 auto 16px}
.process-step h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:8px}
.process-step p{font-size:.88rem;color:#dbe5f5;line-height:1.7}
.process-arrow{font-size:1.8rem;color:var(--gold);align-self:center;padding:0 8px;opacity:.8;margin-top:-32px}
.process-cta-text{text-align:center;font-size:.95rem;color:#f8fafc;font-weight:600;margin-top:28px;margin-bottom:12px}
.process-cta-wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.process-cta-call{text-decoration:none;border:2px solid rgba(255,255,255,.7);color:var(--white);background:transparent;padding:14px 24px;border-radius:var(--radius);font-weight:700;font-size:.95rem;transition:all var(--transition)}
.process-cta-call:hover{background:rgba(255,255,255,.1);color:var(--white);border-color:var(--white)}
@media(max-width:768px){
  .process-cta-wrap{flex-direction:column;width:100%;margin-top:8px}
  .process-cta-wrap .hero-cta,.process-cta-wrap .hero-cta-call{width:100%;justify-content:center}
  .process-cta-text{font-size:.9rem;margin-top:20px}
}
@media(max-width:768px){
  .process-arrow{display:none}
}

/* ===== GUARANTEE ===== */
.guarantee{padding:48px 0;background:var(--navy)}
.guarantee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.guarantee-item{text-align:center;color:var(--white);padding:16px}
.guarantee-icon{font-size:2rem;margin-bottom:12px;color:var(--gold)}
.guarantee-item h3{font-size:.95rem;font-weight:700;margin-bottom:8px;color:var(--white)}
.guarantee-item p{font-size:.875rem;color:var(--gray);line-height:1.6}
@media(max-width:768px){.guarantee-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.guarantee-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== FAQ ===== */
.faq{padding:64px 0;background:var(--white)}
.faq-list{max-width:720px;margin:40px auto 0}
.faq-item{border:1px solid var(--gray-light);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}
.faq-item summary{padding:18px 20px;min-height:44px;box-sizing:border-box;font-weight:700;font-size:.95rem;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.2rem;color:var(--gold);flex-shrink:0;margin-left:12px}
.faq-item[open] summary::after{content:"-"}
.faq-item[open] summary{border-bottom:1px solid var(--gray-light)}
.faq-item p{padding:16px 20px;font-size:.9rem;color:#475569;line-height:1.7}
.faq-item a{color:var(--gold-accessible)}

/* ===== MOBILE STICKY BAR ===== */
.mobile-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:190;background:var(--white);border-top:1px solid var(--gray-light);padding:12px 16px;gap:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(0,0,0,.08)}
@media(max-width:768px){.mobile-sticky-bar{display:flex;align-items:stretch}}
.sticky-call{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 8px;text-align:center;background:var(--navy);color:var(--white);border-radius:var(--radius);font-weight:700;font-size:.95rem;text-decoration:none;transition:background var(--transition)}
.sticky-call:hover{background:var(--navy-light);color:var(--white)}
.sticky-cta{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 8px;text-align:center;background:var(--gold);color:var(--navy);border:none;border-radius:var(--radius);font-weight:700;font-size:.95rem;cursor:pointer;text-decoration:none;transition:background var(--transition);box-shadow:0 2px 8px rgba(212,168,71,.25)}
.sticky-cta:hover{background:var(--gold-light);color:var(--navy);box-shadow:0 3px 12px rgba(212,168,71,.35)}
.sticky-cta-primary{flex:1.1}
@media(max-width:768px){
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  body.has-sticky-bar{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* ===== RESPONSIVE (conversion-optimized: kompakt auf Mobile) ===== */
@media(max-width:768px){
  .mobile-menu-btn{display:block}
  nav{position:fixed;top:0;right:-100%;width:min(85vw,320px);height:100vh;height:100dvh;background:var(--navy);padding:18px 20px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));transition:right .3s ease;z-index:101;box-shadow:-4px 0 24px rgba(0,0,0,.3);display:flex;flex-direction:column}
  nav.open{right:0}
  .nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100}
  .nav-backdrop.show{display:block}
  .mobile-nav-close{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:var(--white);font-size:1.8rem;line-height:1;cursor:pointer;margin-bottom:10px}
  nav ul{flex-direction:column;gap:4px;align-items:stretch;width:100%}
  nav li{width:100%}
  nav a{display:block;padding:12px 0;font-size:1.1rem;text-align:left}
  nav .header-cta{margin-top:10px;justify-content:center;width:100%;padding:12px 14px}
  nav .header-cta span{display:inline}
  /* Hero kompakt */
  .hero{padding:44px 0 28px}
  .hero h1{font-size:1.6rem;margin-bottom:12px}
  .hero .subline{font-size:.95rem;margin-bottom:20px}
  .hero-cta-group{margin-bottom:20px}
  .cta-speed{font-size:.8rem;margin-top:6px}
  .urgency-note{font-size:.8rem;margin-top:8px}
  .stats-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:20px}
  .stat-number{font-size:1.25rem}
  .stat-label{font-size:.75rem;letter-spacing:.5px}
  .section-title{font-size:1.35rem;margin-bottom:4px}
  .section-subtitle{font-size:.9rem;margin-bottom:24px}
  .calc-teaser h2,.final-cta h2{font-size:1.35rem}
  /* Sections weniger Padding */
  .reviews,.services,.gallery,.process,.faq{padding:40px 0}
  .calc-teaser,.final-cta{padding:40px 0}
  .calc-teaser h2,.final-cta h2{margin-bottom:8px}
  .calc-teaser p,.final-cta p{margin-bottom:20px}
  .guarantee{padding:32px 0}
  .guarantee-item{padding:12px}
  /* Reviews kompakt */
  .google-badge{flex-wrap:wrap;justify-content:center;text-align:center;gap:6px;margin-bottom:6px}
  .google-badge-cta{margin-bottom:14px;font-size:.85rem}
  .reviews-grid{grid-template-columns:1fr;gap:12px}
  .review-card{padding:16px 14px}
  .review-card p{margin-bottom:10px;font-size:.9rem;line-height:1.5}
  .review-card .quote-icon{font-size:1.1rem;top:10px;right:10px}
  .review-card .reviewer{font-size:1rem}
  .review-verified{font-size:.78rem}
  /* Services kompakt */
  .services-grid{grid-template-columns:1fr;gap:16px}
  .service-card{padding:20px 16px}
  .service-icon{width:44px;height:44px;font-size:1.2rem;margin:0 auto 10px}
  .service-card h3{font-size:1rem;margin-bottom:4px}
  .service-card p{font-size:.85rem;line-height:1.5}
  /* Process kompakt */
  .process-steps{margin-top:24px;flex-direction:column;align-items:center;gap:0}
  .process-step{padding:16px 12px;max-width:100%;min-width:0;width:100%;margin-bottom:10px}
  .process-number{width:44px;height:44px;font-size:1.2rem;margin:0 auto 10px}
  .process-step h3{font-size:.95rem;margin-bottom:4px}
  .process-step p{font-size:.85rem;line-height:1.55}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .gallery-grid figure{aspect-ratio:16/11}
  .gallery{padding:40px 0}
  .faq-list{margin-top:24px}
  .faq-item summary{padding:14px 16px;font-size:.9rem}
  .faq-item p{padding:12px 16px;font-size:.875rem}
  .footer-grid{grid-template-columns:1fr}
  .options-grid{grid-template-columns:1fr}
  .inline-form{grid-template-columns:1fr}
  .inline-form .full{grid-column:1}
  .header-cta span{display:none}
  nav .header-cta span{display:inline}
}
@media(max-width:480px){
  .container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .hero .subline{font-size:.9rem}
  .section-title{font-size:1.25rem}
  .calc-teaser h2,.final-cta h2{font-size:1.25rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .stats-strip{gap:10px 14px;margin-top:16px}
  .stat-number{font-size:1.15rem}
  .stat-label{font-size:.7rem}
  .reviews,.services,.process,.gallery,.faq{padding:30px 0}
  .calc-teaser,.final-cta{padding:32px 0}
  .guarantee{padding:24px 0}
  .service-card,.review-card{padding:14px 12px}
  .reviews-grid .review-card:nth-child(n+3){display:none}
  .process-step{padding:14px 10px}
  .process-steps{gap:8px}
  .cookie-actions{flex-direction:column;align-items:stretch}
  .cookie-btn{min-height:44px}
  .legal-card p,.legal-card li,.legal-card a{word-break:break-word;overflow-wrap:break-word}
  .cookie-actions-legal{flex-direction:column}
  .cookie-actions-legal .cookie-btn{min-height:44px}
}

/* ===== CRO ELEMENTS ===== */
.cta-speed{font-size:.875rem;color:rgba(255,255,255,.7);margin-top:10px;display:flex;align-items:center;gap:5px;justify-content:center}
.cta-speed svg{flex-shrink:0}
.urgency-note{font-size:.875rem;color:var(--gold-light);margin-top:12px}
.google-badge-link{text-decoration:none}
.google-badge-link:hover .google-badge{opacity:.85}
.form-trust{font-size:.8rem;color:var(--text-muted);margin-top:8px;text-align:center;grid-column:1/-1}
.form-meta{font-size:.82rem;color:var(--text-muted);margin-top:2px;text-align:center}
.modal-form .form-trust{font-size:.875rem;color:#94a3b8;margin-top:6px;text-align:center}
.modal-content .cta-speed{color:#94a3b8}
.secondary-call-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border:2px solid var(--navy);border-radius:var(--radius);font-weight:700;font-size:.95rem;color:var(--navy);text-decoration:none;transition:all var(--transition)}
.secondary-call-link:hover{background:var(--navy);color:var(--white)}

/* ===== MOBILE OPTIMIZATION OVERRIDES ===== */
input:not([type="checkbox"]):not([type="radio"]), select, textarea, button, a.header-cta, a.hero-cta, a.hero-cta-call, a.exit-call-btn, .cookie-btn, .nav-btn, .cookie-toggle {
    min-height: 44px;
}
input[type="checkbox"], input[type="radio"] {
    min-height: unset;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}
.footer-grid a, .faq-item a, .legal-card a {
    display: inline-block;
    padding: 8px 0;
}
.footer-grid li {
    word-break: break-word;
}
@media(max-width: 768px) {
    .modal-content, .calculator-container, .exit-content {
        padding: 24px 16px;
    }
    .legal-card, .review-card {
        padding: 20px 16px;
    }
    .guarantee-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    nav a {
        padding: 16px 0;
    }
    .inline-form {
        display: flex;
        flex-direction: column;
    }
    .hero-cta-group {
        flex-direction: column;
        width: 100%;
    }
    .hero-cta, .hero-cta-call {
        width: 100%;
        justify-content: center;
    }
    .secondary-call-link {
        min-height: 44px;
    }
    .services-grid, .reviews-grid, .footer-grid, .options-grid {
        grid-template-columns: 1fr;
    }
    .header-container {
        padding: 0 10px;
    }
    .mobile-menu-btn {
        padding: 12px;
        min-height: 44px;
        min-width: 44px;
    }
}
@media(max-width: 480px) {
    .guarantee-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .calculator-container {
        padding: 16px 12px;
    }
    .nav-buttons {
        flex-direction: column;
    }
    .nav-btn {
        width: 100%;
        justify-content: center;
    }
    .option-qty-inline {
        flex-direction: row;
        align-items: center;
    }
    .option-qty-inline input {
        width: 72px;
        min-width: 72px;
        padding: 10px 12px;
    }
    .process-steps {
        flex-direction: column;
    }
    .process-step {
        width: 100%;
        max-width: 100%;
    }
    .hero h1 {
        font-size: 1.45rem;
        line-height: 1.3;
    }
}
