/* CSS-Bündel, erzeugt von _build/build.py aus _build/css.json. Nicht von Hand ändern. */
/* Quelle: /assets/css/s-eba57d907b.css */
/* Aus Inline-<style>-Blöcken ausgelagert (Maximal-Runde 26.09.2026), Reihenfolge wie im HTML. */
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}body{margin:0;font-family:"Inter","Inter Fallback",system-ui,-apple-system,sans-serif;color:#1a1a2e;background:#fff}.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);padding:.75rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 1.5rem}.hero{padding:6rem 0 5rem;color:#fff;text-align:center}.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;margin-bottom:1rem}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
/* Quelle: /style.css#basis */
/* Runline Website Generator v4.7 | VIMMOVI IMMOBILIEN */
/* Google-Fonts-Import entfernt: URL lieferte HTTP 400 (fehlerhafter Eintrag var(--rt-body-font)) und blockierte das Rendering. System-Schrift wird genutzt; Playfair bei Bedarf lokal hosten. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-400.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-600.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-700.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/fonts/inter-800.woff2") format("woff2")}
:root{--primary:#004a59;--primary-light:#66b0bf;--secondary:#151515;--accent:#c9a961;--accent-hover:color-mix(in srgb,#c9a961 88%,#000);--accent-muted:color-mix(in srgb,#c9a961 15%,#fff);--accent-glow:color-mix(in srgb,#c9a961 50%,transparent);--accent-contrast:#0a0a0a;--industry-accent:#2980B9;--text:#333333;--text-light:#666666;--text-muted:#94a3b8;--bg:#ffffff;--bg-alt:#f8f9fa;--bg-dark:#1a1a2e;--border:#e5e7eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius:12px;--radius-sm:8px;--radius-lg:20px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--shadow-md:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.05);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.06);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.15);--font-heading:"Inter",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--max-width:1200px;--transition:color .24s cubic-bezier(.32,.72,0,1),background-color .24s cubic-bezier(.32,.72,0,1),border-color .24s cubic-bezier(.32,.72,0,1),box-shadow .24s cubic-bezier(.32,.72,0,1),transform .24s cubic-bezier(.32,.72,0,1),opacity .24s cubic-bezier(.32,.72,0,1)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.7;font-size:16px;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1rem}h2{font-size:clamp(1.5rem,3.5vw,2.2rem);margin-bottom:1.2rem}h3{font-size:1.25rem;margin-bottom:.75rem}
a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:800px;margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:14px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:var(--transition);border:2px solid transparent;text-align:center;text-decoration:none;line-height:1.4}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,.15)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}
.btn-lg{padding:18px 40px;font-size:1.1rem;border-radius:var(--radius-lg)}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);padding:.75rem 0;transition:var(--transition)}
.header-inner{display:flex;align-items:center;justify-content:space-between}.logo-img{height:56px;max-width:200px;width:auto;object-fit:contain}@media(max-width:768px){.logo-img{height:42px;max-width:160px}}
.nav{display:flex;align-items:center;gap:2rem}.nav a{color:var(--text);font-weight:500;font-size:.95rem;position:relative;padding:4px 0}.nav a::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.32,.72,0,1)}.nav a:hover{color:var(--primary)}.nav a:hover::after{transform:scaleX(1)}
.mobile-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;color:var(--text);line-height:1}
.hero{padding:6rem 0 5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 50%,var(--accent) 100%);color:#fff;text-align:left;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(255,255,255,.12) 0%,transparent 60%)}
.hero .container{position:relative;z-index:1}.hero h1{color:#fff;font-weight:800;letter-spacing:-.04em;font-size:clamp(2.5rem,6vw,5rem);line-height:1.02;max-width:18ch}.hero-subtitle{font-size:1.2rem;opacity:.92;max-width:640px;margin:1rem 0 2.5rem;line-height:1.6}
.hero-small{padding:3.5rem 0 2.5rem}.hero-small h1{font-size:clamp(1.6rem,4vw,2.4rem)}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.hero-ctas .btn-primary{background:#fff;color:var(--primary);border-color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.15)}.hero-ctas .btn-primary:hover{background:rgba(255,255,255,.9);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.2)}.hero-ctas .btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}.hero-ctas .btn-outline:hover{background:rgba(255,255,255,.15);border-color:#fff}
.trust-bar{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.trust-badge{font-size:.9rem;opacity:.85;background:rgba(255,255,255,.1);padding:6px 16px;border-radius:50px;backdrop-filter:blur(4px)}
.trust-badge-review{background:rgba(255,255,255,.18)!important;opacity:1!important;font-weight:600;border:1px solid rgba(255,215,0,.4)}
.trust-badge-review strong{color:#ffd700;font-weight:700;margin-right:2px}
.section{padding:5rem 0}.section-alt{background:var(--bg-alt)}.section h2{text-align:center}.section-intro{text-align:center;max-width:600px;margin:-.5rem auto 2.5rem;color:var(--text-light);font-size:1.1rem}
.grid{display:grid;gap:1.5rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#ffffff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border);transition:var(--transition);position:relative;overflow:hidden}.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--industry-accent));opacity:0;transition:opacity .3s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}.card:hover::before{opacity:1}
.card-link{color:var(--accent);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:4px;margin-top:.75rem}
.content-block{margin-bottom:3.5rem}.content-block h2{text-align:left}
.stat{text-align:center;padding:2rem 2.5rem;position:relative;flex:1;min-width:160px}.stat+.stat::before{content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--border)}.stat-label{font-size:.9rem;color:var(--text-light);margin-top:.3rem}
.process-steps{display:flex;align-items:flex-start;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}.step{text-align:center;max-width:260px;padding:1rem}
.testimonial{background:#fff;padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--accent);position:relative}.testimonial::before{content:"\"";position:absolute;top:12px;right:20px;font-size:4rem;color:var(--border);font-family:Georgia,serif;line-height:1}
.gallery-item{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition)}.gallery-item:hover{transform:scale(1.03);box-shadow:var(--shadow-lg)}.gallery-item img{width:100%;height:220px;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.08)}
.content-layout{display:grid;grid-template-columns:1fr 340px;gap:3rem}
.contact-info,.sidebar-trust{padding:1.75rem;border-radius:var(--radius);margin-bottom:1.5rem}.contact-info,.sidebar-trust{background:var(--bg-alt);border:1px solid var(--border)}.sidebar-trust ul{list-style:none;padding:0}.sidebar-trust li{padding:.4rem 0;font-size:.95rem}
.faq-list{max-width:800px;margin:0 auto}.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden;transition:var(--transition)}.faq-item[open]{border-color:var(--accent);box-shadow:var(--shadow-xs)}.faq-item summary{font-weight:600;cursor:pointer;padding:1rem 1.25rem;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.faq-item summary:hover{background:var(--bg-alt)}.faq-item summary::after{content:"+";font-size:1.3rem;color:var(--accent);font-weight:300}.faq-item[open] summary::after{content:"−"}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{padding:0 1.25rem 1.25rem;color:var(--text-light);line-height:1.7}.faq-cta{text-align:center;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--border)}
.contact-form{max-width:600px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.95rem;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:14px 18px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);transition:var(--transition);background:#fff}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px var(--accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.checkbox-label{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;cursor:pointer}.checkbox-label input{margin-top:4px;accent-color:var(--accent)}.form-hint{font-size:.85rem;color:var(--text-muted);margin-top:1rem}
.cta-section{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;text-align:center;padding:5rem 0;position:relative;overflow:hidden}.cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.06) 0%,transparent 60%)}.cta-section .container{position:relative;z-index:1}.cta-section h2{color:#fff}.cta-section p{color:rgba(255,255,255,.8);margin-bottom:2rem;font-size:1.1rem}.cta-section .btn-primary{background:#fff;color:var(--primary);border-color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.15)}.cta-section .btn-primary:hover{background:rgba(255,255,255,.92);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.2)}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -8px 30px rgba(0,0,0,.12);z-index:1000;display:flex;justify-content:center;padding:1.5rem;border-top:1px solid var(--border)}
.legal-content{line-height:1.9}.legal-content p{margin-bottom:1rem}.legal-impressum .legal-section{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border,#e5e7eb)}.legal-impressum .legal-section:last-child{border-bottom:none}.legal-impressum p{margin-bottom:.5rem;font-size:.95rem}.legal-impressum strong{color:var(--text,#1f2937)}.legal-impressum a{color:var(--primary);text-decoration:none;font-weight:500}.legal-impressum a:hover{text-decoration:underline}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .24s cubic-bezier(.32,.72,0,1),transform .24s cubic-bezier(.32,.72,0,1)}.reveal.visible{opacity:1;transform:translateY(0)}
::selection{background:var(--accent-muted);color:var(--text)}
html{scrollbar-color:var(--accent) var(--bg-alt)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){
.section .card,.section .testimonial,.section .step,.section h2,.section-intro{animation:fade-rise linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
.hero h1,.hero-subtitle{animation:fade-in-up linear both;animation-timeline:view();animation-range:entry 0% cover 20%}
.gallery-item{animation:scale-in linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
}}
@keyframes fade-rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scale-in{from{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}

@media(max-width:768px){h1{font-size:1.8rem}h2{font-size:1.4rem}.hero{padding:3.5rem 0 2.5rem}.hero h1{font-size:2rem}.grid-3,.grid-4{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.nav{display:none;position:fixed;top:0;right:-100%;width:280px;height:100vh;background:#fff;flex-direction:column;padding:5rem 2rem 2rem;box-shadow:var(--shadow-xl);z-index:200;transition:right .3s ease-out}.nav-open{display:flex;right:0}.nav a{font-size:1.1rem;padding:.75rem 0;border-bottom:1px solid var(--border);width:100%}.nav a::after{display:none}.mobile-toggle{display:block;z-index:300}.process-steps{flex-direction:column;align-items:center}.form-row{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:center}.trust-bar{flex-direction:column;gap:.5rem}.section{padding:3.5rem 0}}
@media(max-width:480px){.section{padding:2.5rem 0}.btn-lg{padding:14px 28px;font-size:1rem}.hero{padding:2.5rem 0 2rem}}

/* ===== v5.2 IMMOBILIEN-POLISH ===== */
:root{--primary-dark:#003640;--gold-accent:#c9a961}

/* Logo Header - groesser fuer bessere Sichtbarkeit */
.logo-img{height:72px!important;max-width:280px;width:auto;object-fit:contain;display:block}
@media(max-width:768px){.logo-img{height:52px!important;max-width:200px}}

/* Header Nav-Kontrast - Kontakt-Button mit groesserem Padding */

/* Hero Immobilien - WARM + ELEGANT mit Petrol-Gradient + Hero-Bild-Overlay */
section.hero.hero-immobilien,
.hero-immobilien{padding:6rem 0 5rem!important;background:linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%),url("/assets/images/hero-bg.jpg")!important;background:linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%),image-set(url("/assets/images/hero-bg.avif") type("image/avif"),url("/assets/images/hero-bg.jpg") type("image/jpeg"))!important;background-size:cover!important;background-position:center!important;color:#fff!important;text-align:left!important;position:relative}
.hero-immobilien::before{display:none!important}
.hero-immobilien::after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,#fff);pointer-events:none;z-index:1}
.hero-immobilien h1{font-size:clamp(2rem,4vw,3.5rem)!important;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:#fff!important;text-align:left!important;margin-bottom:1rem;text-shadow:0 2px 12px rgba(0,0,0,0.2)}
.hero-immobilien .hero-subtitle{color:rgba(255,255,255,0.92)!important;max-width:520px;margin:1rem 0 0!important;text-align:left!important;font-size:1.15rem;line-height:1.6}
.hero-immobilien .hero-eyebrow{display:inline-block;padding:.45rem 1rem;background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.25);border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem;backdrop-filter:blur(8px)}
.hero-immobilien .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 0!important;justify-content:flex-start!important}
.hero-immobilien .hero-ctas .btn-primary{background:#fff!important;color:var(--primary)!important;border:2.5px solid #fff!important;padding:.95rem 1.6rem;font-weight:700;border-radius:8px;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1),border-color .25s cubic-bezier(.32,.72,0,1),background-color .25s cubic-bezier(.32,.72,0,1),color .25s cubic-bezier(.32,.72,0,1);box-shadow:0 8px 24px rgba(0,0,0,0.2)}
.hero-immobilien .hero-ctas .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,0.3);background:#fafaf8!important}
.hero-immobilien .hero-ctas .btn-outline{background:rgba(255,255,255,0.1)!important;color:#fff!important;border:2.5px solid rgba(255,255,255,0.5)!important;padding:.85rem 1.5rem;font-weight:700;border-radius:8px;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1),border-color .25s cubic-bezier(.32,.72,0,1),background-color .25s cubic-bezier(.32,.72,0,1),color .25s cubic-bezier(.32,.72,0,1);backdrop-filter:blur(8px)}
.hero-immobilien .hero-ctas .btn-outline:hover{background:rgba(255,255,255,0.2)!important;border-color:#fff!important;transform:translateY(-2px)}
.hero-immobilien .trust-bar{display:flex!important;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-start!important;flex-direction:row!important;margin-top:2rem}
.hero-immobilien .trust-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:999px;font-size:.825rem;color:#fff;font-weight:500;backdrop-filter:blur(8px)}
.hero-immobilien .trust-badge::before{content:"✓";color:var(--gold-accent);font-weight:700}
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.spec-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2rem 1.5rem;text-align:left;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1),border-color .25s cubic-bezier(.32,.72,0,1),background-color .25s cubic-bezier(.32,.72,0,1),color .25s cubic-bezier(.32,.72,0,1)}
.spec-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.08);border-color:var(--primary)}
.spec-card .spec-icon{font-size:2.5rem;margin-bottom:1rem;display:block}
.spec-card h3{margin:0 0 .65rem 0;font-size:1.15rem;color:var(--primary)}
.spec-card p{margin:0;color:var(--muted-foreground);font-size:.92rem;line-height:1.55}
.stadtteile-section{background:#fff;padding:4.5rem 0}
.stadtteile-grid{display:flex;flex-wrap:wrap;gap:.85rem;margin:2.25rem auto 0;max-width:1100px;justify-content:center}
.stadtteil-card{flex:0 1 calc((100% - 2.55rem) / 4);min-width:170px;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--foreground);transition:transform .2s cubic-bezier(.32,.72,0,1),opacity .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1),border-color .2s cubic-bezier(.32,.72,0,1),background-color .2s cubic-bezier(.32,.72,0,1),color .2s cubic-bezier(.32,.72,0,1);font-weight:500;box-sizing:border-box}
.stadtteil-card:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateX(3px)}
.stadtteil-name{font-size:1rem}
.stadtteil-arrow{color:var(--accent);font-weight:700;transition:transform .2s}
.stadtteil-card:hover .stadtteil-arrow{color:#fff;transform:translateX(3px)}
@media (max-width:768px){.specs-grid{grid-template-columns:1fr}.stadtteile-grid{gap:.6rem}.stadtteil-card{flex:0 1 calc((100% - .6rem) / 2);min-width:0;padding:.9rem 1rem;font-size:.95rem}}

/* ============================================== */
/* V2-HYBRID: Floating Google Review Badge        */
/* ============================================== */

/* ============================================== */
/* V2-HYBRID: Review-Cards-Sektion (Biesgen-Style) */
/* ============================================== */
.review-cards-section{background:#fafaf8;padding:4rem 0 4.5rem}
.review-cards-section .section-intro{text-align:center;margin-bottom:2.5rem}
.review-cards-section h2{font-size:2rem;color:var(--primary);margin:0}
.review-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto}
.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.75rem 1.5rem;position:relative;transition:transform .2s ease-out,box-shadow .2s ease-out}
.review-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.review-card-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem}
.review-card-google{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.review-card-stars{color:#fbbc05;letter-spacing:1px;font-size:1.05rem;flex:1}
.review-card-name{font-weight:600;color:#1f2937;font-size:.95rem;margin:.2rem 0 .1rem}
.review-card-time{font-size:.78rem;color:#6b7280;margin-bottom:.85rem}
.review-card-text{font-size:.92rem;line-height:1.55;color:#374151;margin:0;font-style:italic}
.review-card-text::before{content:"»";color:var(--accent);font-size:1.4rem;font-weight:700;margin-right:.2rem;line-height:0}
.review-card-text::after{content:"«";color:var(--accent);font-size:1.4rem;font-weight:700;margin-left:.2rem;line-height:0}
.review-cards-footer{text-align:center;margin-top:2rem;font-size:.85rem;color:#6b7280}
.review-cards-footer a{color:var(--primary);font-weight:600;text-decoration:underline}
@media (max-width:768px){.review-cards-grid{grid-template-columns:1fr}.review-card{padding:1.4rem 1.25rem}}

/* ============================================== */
/* V2-HYBRID: Objekttypen-Sektion (7 Items)       */
/* ============================================== */
.objekttypen-section{background:#fff;padding:5rem 0;border-top:1px solid rgba(0,0,0,.04)}
.objekttypen-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;max-width:1180px;margin:2.5rem auto 0}
.objekttyp-card{flex:0 1 calc((100% - 4.5rem) / 4);min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.85rem 1.5rem;text-align:left;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1),border-color .25s cubic-bezier(.32,.72,0,1),background-color .25s cubic-bezier(.32,.72,0,1),color .25s cubic-bezier(.32,.72,0,1);box-sizing:border-box}
.objekttyp-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.07);border-color:var(--primary)}
.objekttyp-card .objekttyp-icon{font-size:2.25rem;margin-bottom:.85rem;display:block;line-height:1}
.objekttyp-card h3{color:var(--primary);font-size:1.1rem;margin:0 0 .55rem;font-weight:700}
.objekttyp-card p{color:#475569;font-size:.92rem;line-height:1.55;margin:0}
@media (max-width:768px){.objekttypen-grid{gap:.85rem}.objekttyp-card{flex:0 1 100%;min-width:0;padding:1.35rem 1.25rem}}

/* ============================================== */
/* V2-HYBRID: Mini-CTA-Banner (immovernunft-Style)*/
/* ============================================== */
.mini-cta-banner{padding:3rem 0;border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}
.mini-cta-banner.mcta-bg-white{background:#fff}
.mini-cta-banner.mcta-bg-gold-soft{background:linear-gradient(135deg,#f4f0e8 0%,#faf7f0 100%)}
.mini-cta-banner.mcta-bg-primary-soft{background:linear-gradient(135deg,rgba(0,74,89,.06) 0%,rgba(0,74,89,.02) 100%)}
.mini-cta-banner .mcta-content{max-width:900px;margin:0 auto;text-align:center;padding:0 1rem}
.mini-cta-banner .mcta-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}
.mini-cta-banner .mcta-headline{font-family:Georgia,serif;font-size:1.65rem;color:var(--primary);margin:.25rem 0 .65rem;line-height:1.3;font-weight:700}
.mini-cta-banner .mcta-desc{font-size:1rem;color:#475569;margin:0 auto 1.5rem;max-width:620px;line-height:1.55}
.mini-cta-banner .mcta-actions{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.85rem}
.mini-cta-banner .btn{padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;border-radius:8px;text-decoration:none;transition:transform .2s cubic-bezier(.32,.72,0,1),opacity .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1),border-color .2s cubic-bezier(.32,.72,0,1),background-color .2s cubic-bezier(.32,.72,0,1),color .2s cubic-bezier(.32,.72,0,1);display:inline-flex;align-items:center;gap:.4rem}
.mini-cta-banner .btn-primary{background:var(--primary);color:#fff;border:2px solid var(--primary)}
.mini-cta-banner .btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,74,89,.25)}
.mini-cta-banner .btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}
.mini-cta-banner .btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
@media (max-width:768px){.mini-cta-banner{padding:2.25rem 0}.mini-cta-banner .mcta-headline{font-size:1.35rem}.mini-cta-banner .mcta-desc{font-size:.92rem}.mini-cta-banner .mcta-actions{flex-direction:column;width:100%;max-width:320px;margin:0 auto}.mini-cta-banner .btn{width:100%;justify-content:center}}

/* Hero Grid Layout - z-index damit über Overlay */
.hero-grid-immo{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto;position:relative;z-index:2}

/* Hero Side-Card auf dunklem Hero - bleibt hell, Gold-Border statt Petrol */
.hero-side-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 20px 50px rgba(0,0,0,0.25);border-top:4px solid var(--gold-accent);transition:transform .3s ease-out,box-shadow .3s ease-out}
.hero-side-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,0.3)}
.hero-side-card-eyebrow{font-size:.8rem;color:#64748b;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}

.hero-side-card p{color:#475569;margin:0 0 1.5rem;line-height:1.6}
.hero-side-card .btn-side{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1.2rem;background:var(--primary);color:#fff;border-radius:8px;text-decoration:none;font-weight:600}

/* Contact-Bar */

/* Local Trust Bar */
.local-trust{background:#fff;padding:4.5rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.local-trust .trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;max-width:1100px;margin:0 auto}
.local-trust .trust-num{font-size:2rem;font-weight:700;color:var(--primary)}
.local-trust .trust-lbl{color:#64748b;font-size:.875rem;margin-top:.25rem}

/* Section Intro */
.section-intro{text-align:center;max-width:700px;margin:0 auto 3rem}
.section-intro h2{margin-top:.5rem!important}
.section-intro p{color:#475569;font-size:1.1rem;line-height:1.6}
.section-eyebrow{display:inline-block;padding:.3rem .85rem;background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);border-radius:999px;font-size:.75rem!important;font-weight:600;letter-spacing:.05em;text-transform:uppercase}

/* Valuation Section */
.valuation-section{background:linear-gradient(180deg,#fafaf8 0%,#fff 100%);padding:5rem 0}
.valuation-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1100px;margin:0 auto}
.valuation-section h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:.5rem 0 1rem;color:#151515}
.valuation-desc{font-size:1.125rem;line-height:1.6;color:#475569}
.valuation-checks{list-style:none;padding:0;margin:1.75rem 0}
.valuation-checks li{padding:.65rem 0;display:flex;align-items:center;gap:.65rem;border-bottom:1px solid #e5e7eb;color:#475569}
.valuation-checks li:last-child{border-bottom:none}
.valuation-checks .check-icon{background:var(--primary);color:#fff;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}

/* Valuation Tool Placeholder (Sprengnetter Mockup) */
.valuation-tool-placeholder{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 12px 40px rgba(0,74,89,0.1);position:relative;overflow:hidden;transition:transform .3s ease-out,box-shadow .3s ease-out}
.valuation-tool-placeholder:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,74,89,0.15)}
.valuation-tool-placeholder::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--gold-accent))}

.vtp-privacy{margin:.85rem 0 0;text-align:center;font-size:.78rem;color:#64748b}

/* Service Cards Immo */
.service-card-immo{background:#fff;padding:2rem;border-radius:12px;border:1px solid #e5e7eb;transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .3s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1),border-color .3s cubic-bezier(.32,.72,0,1),background-color .3s cubic-bezier(.32,.72,0,1),color .3s cubic-bezier(.32,.72,0,1);position:relative;overflow:hidden}
.service-card-immo::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--gold-accent));transform:scaleX(0);transform-origin:left;transition:transform .35s ease-out}
.service-card-immo:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(0,74,89,0.12);border-color:transparent}
.service-card-immo:hover::before{transform:scaleX(1)}

.service-card-immo h3{margin:.75rem 0;font-size:1.35rem;color:#151515}
.service-card-immo p{color:#475569;font-size:.95rem;line-height:1.6;margin-bottom:1.25rem}
.service-card-immo .card-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--primary);font-weight:600;font-size:.95rem;text-decoration:none;transition:gap .2s ease-out}
.service-card-immo .card-link:hover{gap:.65rem}

/* Process Steps Immo - gleiche Hoehe via Grid + min-height */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:stretch}
.process-step{text-align:center;padding:2rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .3s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1),border-color .3s cubic-bezier(.32,.72,0,1),background-color .3s cubic-bezier(.32,.72,0,1),color .3s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;justify-content:flex-start;min-height:280px}
.process-step:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.08);border-color:var(--primary)}
.process-step h3{font-size:1.2rem;margin:.5rem 0 .75rem;color:#151515}
.process-step p{color:#475569;font-size:.92rem;line-height:1.6;flex:1}
.process-num{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)!important;color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;margin:0 auto 1rem;box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 35%,transparent);flex-shrink:0}

/* FAQ Accordion */
.faq-container{max-width:900px;margin:0 auto}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:1.25rem;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1),border-color .25s cubic-bezier(.32,.72,0,1),background-color .25s cubic-bezier(.32,.72,0,1),color .25s cubic-bezier(.32,.72,0,1);cursor:pointer}
.faq-item:hover{border-color:var(--primary)!important;box-shadow:0 4px 12px rgba(0,74,89,0.06)}
.faq-item[open]{border-color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 2%,#fff)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding-right:2rem;position:relative;color:#151515;font-weight:600;cursor:pointer}
.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--primary);font-size:1.5rem;font-weight:300;transition:transform .25s ease-out}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{padding-top:.75rem;border-top:1px solid #e5e7eb;margin-top:1rem;color:#475569;line-height:1.7}

/* Gallery-Section Immobilien */

/* Masonry-Look: erste und letzte etwas größer */

/* CTA Section Premium Gradient */
.cta-section-immo{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)!important;color:#fff!important;padding:5rem 0;margin-top:3rem}
.cta-section-immo h2{color:#fff!important;font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:1rem}
.cta-section-immo p{color:rgba(255,255,255,0.9);font-size:1.125rem;margin-bottom:2rem}
.cta-section-immo .cta-inner{text-align:center;max-width:700px;margin:0 auto}
.cta-section-immo .hero-ctas{justify-content:center!important}
.cta-section-immo .btn-primary{background:#fff!important;color:var(--primary)!important;border-color:#fff!important}
.cta-section-immo .btn-outline{border-color:#fff!important;color:#fff!important;background:transparent!important}
.cta-section-immo .btn-outline:hover{background:rgba(255,255,255,0.15)!important}

/* Mobile-Responsive Immobilien */
@media (max-width:968px){
  .hero-grid-immo,.valuation-grid{grid-template-columns:1fr!important;gap:2rem!important}
  .hero-side-card{order:2;max-width:480px;margin:0 auto}
  .local-trust .trust-row{grid-template-columns:repeat(2,1fr)!important;gap:1.5rem!important}
  
}
@media (max-width:640px){
  .hero-immobilien{padding:3rem 0 2rem!important}
  .hero-immobilien h1{font-size:2rem!important}
  .hero-immobilien .hero-subtitle{font-size:1.05rem!important;margin:1rem 0!important}
  .hero-immobilien .hero-ctas{flex-direction:column}
  .hero-immobilien .hero-ctas .btn{width:100%;text-align:center}
  .local-trust .trust-row{grid-template-columns:1fr 1fr!important}
  .local-trust .trust-num{font-size:1.5rem!important}
  
  section.section,.valuation-section{padding:3rem 0}
  .cta-section-immo .hero-ctas{flex-direction:column;align-items:stretch}
  .cta-section-immo .hero-ctas .btn{width:100%}
}
/* Immobilien Theme */
:root{--industry-accent:var(--primary)}
.card{border-top:3px solid var(--primary);border-left:none}
.hero{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,#000) 0%,var(--primary) 60%,color-mix(in srgb,var(--primary) 65%,#48bb78) 100%)}

.cta-section{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,#000),var(--primary))}

.trust-badge{border:1px solid rgba(255,255,255,.2)}

/* Quick Contact Widget v4.4 */
.quick-contact{position:sticky;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.12);z-index:90;padding:12px 20px;display:none;align-items:center;justify-content:center;gap:1.5rem;border-top:3px solid var(--primary);flex-wrap:wrap}
.quick-contact.active{display:flex}

.quick-contact a.qc-phone{color:var(--primary);font-weight:700;font-size:1.05rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.quick-contact .btn{padding:10px 24px;font-size:.9rem;white-space:nowrap}
@media(min-width:769px){.quick-contact{position:fixed;bottom:20px;right:20px;left:auto;width:auto;max-width:380px;border-radius:var(--radius);border-top:none;box-shadow:var(--shadow-xl);padding:20px;flex-direction:column;align-items:stretch;gap:1rem}.quick-contact .qc-actions{display:flex;flex-direction:column;gap:.6rem;align-items:stretch}.quick-contact .btn{width:100%}}

/* Layout Blueprint Style-Transfer v4.8 */
:root{
  --radius:4px;
  --radius-sm:0px;
  --radius-lg:12px;
  --section-padding:60px;
  --btn-radius:8px;
  --btn-font-size:16px;
  --body-font-size:16px;
  --h2-font-size:33px;
  --h2-font-weight:400;
}
.section{padding:var(--section-padding,5rem) 0}
.btn{border-radius:var(--btn-radius,var(--radius));font-size:var(--btn-font-size,1rem)}
.card{border-radius:var(--card-radius,var(--radius))}
body{font-size:var(--body-font-size,16px);line-height:var(--body-line-height,1.7)}
h2{font-size:var(--h2-font-size,clamp(1.5rem,3.5vw,2.2rem));font-weight:var(--h2-font-weight,700);line-height:var(--h2-line-height,1.2)}

/* === Mega-Menu (immovernunft-Stil) === */
.header-megamenu{padding:.75rem 0}
.nav-megamenu{display:flex;align-items:center;gap:1.5rem;margin-left:auto;margin-right:1rem}
.nav-megamenu .topnav-link{color:var(--text);font-weight:600;font-size:.95rem;padding:6px 2px;position:relative}
.nav-megamenu .topnav-link::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.32,.72,0,1)}
.nav-megamenu .topnav-link:hover{color:var(--primary)}
.nav-megamenu .topnav-link:hover::after{transform:scaleX(1)}
.nav-megamenu .topnav-phone{display:inline-flex;align-items:center;gap:.4rem;color:var(--primary);font-weight:700;font-size:.95rem;padding:8px 14px;border:1.5px solid var(--primary);border-radius:50px;transition:var(--transition);text-decoration:none}
.nav-megamenu .topnav-phone:hover{background:var(--primary);color:#fff}
.nav-megamenu .topnav-phone-icon{font-size:1rem}
.megamenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:var(--transition);margin-left:.5rem}
.megamenu-toggle:hover{background:var(--accent);color:var(--accent-contrast,#fff)}
.megamenu-toggle:focus-visible{outline:3px solid var(--accent-glow,rgba(0,0,0,.2));outline-offset:2px}
@media(max-width:900px){
  .nav-megamenu .topnav-link{display:none}
  .nav-megamenu .topnav-phone-label{display:none}
  .nav-megamenu .topnav-phone{padding:8px 12px}
}
.mega-menu-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease-out;overflow-y:auto;padding:2rem 1rem}
body.mega-menu-open .mega-menu-overlay{opacity:1;pointer-events:auto}
.mega-menu-inner{background:#fff;width:100%;max-width:1180px;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.25);padding:2rem 2.25rem 2.5rem;margin:0 auto;transform:translateY(-12px);transition:transform .3s ease-out;color:var(--text)}
body.mega-menu-open .mega-menu-inner{transform:translateY(0)}
.mega-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border,#e5e7eb)}
.mega-menu-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--primary);letter-spacing:-.01em}
.mega-menu-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-light,#666);padding:.25rem .65rem;border-radius:8px;transition:var(--transition);line-height:1}
.mega-menu-close:hover{background:var(--bg-alt,#f8f9fa);color:var(--primary)}
.mega-menu-close:focus-visible{outline:3px solid var(--accent-glow,rgba(0,0,0,.2));outline-offset:2px}
.mega-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem;align-items:start}
.mm-col-title{font-family:var(--font-heading);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text,#222);margin:0 0 .65rem 0;padding-bottom:.4rem;border-bottom:1px solid var(--border,#e5e7eb)}
.mm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.05rem}
.mm-list li{padding:0;margin:0}
.mm-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text);font-size:.86rem;font-weight:500;padding:.32rem 0;text-decoration:none;transition:color .2s ease-out,padding-left .2s ease-out;line-height:1.35}
.mm-link::after{content:"→";color:var(--text-light,#999);font-size:.85rem;opacity:.5;transition:transform .2s ease-out,opacity .2s ease-out,color .2s ease-out;flex-shrink:0}
.mm-link:hover{color:var(--primary);padding-left:.25rem}
.mm-link:hover::after{color:var(--accent,#c9a961);opacity:1;transform:translateX(2px)}
/* WhatsApp menu entry: group icon + label to the left, push arrow right (match other rows) */
.mm-link[href*="wa.me"]{justify-content:flex-start;gap:.4rem}
.mm-link[href*="wa.me"]::after{margin-left:auto}
/* Regions-Spalte (>12 Items) bekommt 2 Subspalten */
.mega-menu-grid > .mm-col:has(.mm-list li:nth-child(13)) .mm-list{column-count:2;column-gap:1.25rem;display:block}
.mega-menu-grid > .mm-col:has(.mm-list li:nth-child(13)) .mm-list li{break-inside:avoid}
.mega-menu-grid > .mm-col:has(.mm-list li:nth-child(13)) .mm-link{padding:.28rem 0}
@media(max-width:1200px){.mega-menu-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
@media(max-width:1000px){.mega-menu-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
@media(max-width:600px){
  .mega-menu-overlay{padding:1rem .5rem}
  .mega-menu-inner{padding:1.5rem 1.25rem 2rem;border-radius:14px}
  .mega-menu-grid{grid-template-columns:1fr;gap:1.25rem}
  .mm-col-title{font-size:.75rem}
  .mm-link{font-size:.9rem}
  /* 26.08.2026: Tippflaechen. Gemessen lagen die Menue-Eintraege bei 30 px
     und das Schliessen-X bei 28 px. Apple und Google empfehlen 44 px, sonst
     haeuft sich das Danebentippen. Bei rund 80 Prozent Mobilanteil ist das
     kein Detail. Das Menue wird dadurch laenger und scrollt, das ist der
     guenstigere Preis. */
  .mm-link{min-height:44px;padding:.55rem 0}
  .mega-menu-grid > .mm-col:has(.mm-list li:nth-child(13)) .mm-link{min-height:44px;padding:.5rem 0}
  .mega-menu-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem}
}
body.mega-menu-open{overflow:hidden}

.hero-immobilien{min-height:520px;display:flex;align-items:center}.hero-immobilien>.container{width:100%}
/* Quelle: /assets/css/s-3ee3ce65df.css */
/* Aus Inline-<style>-Blöcken ausgelagert (Maximal-Runde 26.09.2026), Reihenfolge wie im HTML. */
@media(pointer:coarse){a,button,summary,.btn,.card-link,.faq-item summary{min-height:48px;min-width:48px}input,textarea,select{min-height:48px;font-size:16px!important}}
.faq-item p{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.faq-item[open] p{max-height:500px;opacity:1}
.reveal-item{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.reveal-item.revealed{opacity:1;transform:translateY(0)}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#004a59,#c9a961);z-index:9999;width:0;transition:width .1s linear;pointer-events:none}
.btt-wrap{position:fixed;bottom:90px;right:20px;z-index:900;display:flex;flex-direction:column;gap:8px;align-items:flex-end;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s;pointer-events:none}.btt-wrap.show{opacity:1;transform:translateY(0);pointer-events:auto}.btt-btn{width:48px;height:48px;border-radius:50%;background:#004a59;color:#fff;border:none;cursor:pointer;font-size:20px;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.btt-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.qc-wrap{position:fixed;bottom:20px;right:20px;z-index:950}.qc-btn.open{background:#ef4444}.qc-menu.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.qc-label.show{opacity:1}@media(max-width:480px){.qc-wrap{bottom:12px;right:12px}}
@media(max-width:768px){body{font-size:16px!important;-webkit-text-size-adjust:100%}h1{font-size:clamp(1.6rem,6vw,2.4rem)!important}h2{font-size:clamp(1.3rem,4vw,1.8rem)!important}h3{font-size:clamp(1.1rem,3.5vw,1.4rem)!important}p,li,td{font-size:16px!important;line-height:1.6!important}.container{padding-left:16px!important;padding-right:16px!important}img{max-width:100%;height:auto}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.grid{grid-template-columns:1fr!important;gap:16px!important}input,textarea,select{width:100%;box-sizing:border-box;font-size:16px!important}.hero{padding:3rem 1rem!important}.hero h1{font-size:1.8rem!important}}@media(max-width:480px){body{font-size:15px!important}.hero{padding:2rem 1rem!important}.btn{width:100%;text-align:center;padding:14px!important;font-size:16px!important}}
.btn-tel-hero{background:#c9a961;color:#1a1a2e;font-weight:800;display:inline-flex;align-items:center;gap:8px;border:2px solid #c9a961;text-decoration:none}.btn-tel-hero:hover{background:#b89850;border-color:#b89850}@media(max-width:768px){.btn-tel-hero{width:100%;justify-content:center;font-size:18px!important;padding:16px!important}}

@media(max-width:768px){.whatsapp-float{display:none!important}.sticky-mobile-cta .cta-wa{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:#25D366!important;color:#fff!important;border:0!important;border-radius:6px!important;padding:12px 12px!important;min-width:48px!important;min-height:44px!important;text-decoration:none!important}.sticky-mobile-cta .cta-wa-text{display:none}.btt-wrap{bottom:86px!important}}@media(max-width:768px) and (min-width:430px){.sticky-mobile-cta .cta-wa-text{display:inline;font-size:14px;font-weight:600}}
@media(max-width:768px){
  .vsm a,.vfoot a,.vf-col a,.vf-contact a,footer a,nav a{position:relative;display:inline-block;padding-top:13px;padding-bottom:13px;line-height:1.25}
  .vsm ul li,.vf-col ul li{margin:0}
  .vsm a::after,.vfoot a::after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}
  a[href^="tel:"],a[href^="mailto:"]{display:inline-block;min-height:44px;line-height:44px}
  .vm-rr-ds a,.ds a{display:inline;min-height:0;line-height:inherit}
}
/* Quelle: /style.css#v2 */
/* @@TEIL v2@@
   Max-2 26.09.2026: style.css ist die EINE Quelle für Basis und v2-Schicht (früher assets/v2/v2.css).
   Oberhalb dieser Marke: Basis (Teil "basis"). Unterhalb: v2-Schicht (Teil "v2").
   _build/build.py setzt die seitenspezifischen Stylesheets im Bündel GENAU HIER ein (css.json: "/style.css#basis",
   dann die Seitendateien, dann "/style.css#v2"). So bleibt die Kaskade wie vorher. Marke nicht löschen oder verschieben. */
/* VIMMOVI v2 (Nachtbau 26.09.2026). Eine Ebene über style.css, nur auf v2-Seiten eingebunden.
   Die Kontrollgruppe /verkaufen/ und /wertermittlung/ lädt diese Datei NICHT.
   Leitelement: die Essener Horizontlinie. Der goldene Bogen aus dem Logo (unter den Häusern)
   trägt die Seite: als Hero-Horizont, als Bogen unter jeder Kicker-Zeile und als Leitlinie oben.
   Motion: max. 400 ms, nur transform und opacity, prefers-reduced-motion am Ende. */

:root {
  --v2-petrol: #004a59;
  --v2-petrol-tief: #0b2a33;
  --v2-gold: #c9a961;
  --v2-gold-text: #7c5e1e;      /* Gold als Schrift auf Hell: 6,0:1 auf #fff, 5,7:1 auf #f8f9fa */
  --v2-gold-hell: #d8bf86;      /* Gold als Schrift auf Petrol: 5,5:1 */
  --v2-tinte: #14222a;
  --v2-grau: #4b5b63;           /* Fließtext zweite Ebene: 7,0:1 auf #fff */
  --ease-ui: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --v2-bogen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 8'%3E%3Cpath d='M1 7 Q24 -3 47 7' fill='none' stroke='%23c9a961' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Barrierefreiheit ---------- */
.v2-skip { position: absolute; left: 12px; top: 12px; z-index: 2147483600; padding: .7rem 1.1rem; background: var(--v2-petrol); color: #fff; border-radius: 8px; font-weight: 700; text-decoration: none; transform: translateY(-160%); transition: transform var(--dur-fast) var(--ease-ui); }
.v2-skip:focus { transform: none; outline: 3px solid var(--v2-gold); outline-offset: 2px; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--v2-gold) !important; outline-offset: 2px !important; border-radius: 6px; }
main:focus { outline: none; }

/* Kontrast: Gold als Schriftfarbe nur in der dunklen Variante */
.card-cta, .spec-card .card-cta, .objekttyp-card .card-cta { color: var(--v2-gold-text) !important; font-weight: 700; }
.mcta-eyebrow { color: var(--v2-gold-text) !important; }
.mcta-bg-primary .mcta-eyebrow, .cta-section .mcta-eyebrow { color: var(--v2-gold-hell) !important; }
.section-intro p, .mcta-desc { color: var(--v2-grau); }

/* ---------- Typografie: bewusst, eine Familie (Inter, lokal) ---------- */
h1, .hero h1 { letter-spacing: -0.025em; line-height: 1.08; font-weight: 800; }
h2 { letter-spacing: -0.018em; line-height: 1.15; }
.section-intro h2 { color: var(--v2-petrol-tief); font-weight: 750; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.35rem); }
.mcta-headline { font-family: var(--font-heading) !important; font-weight: 750 !important; letter-spacing: -0.015em; color: var(--v2-petrol-tief) !important; font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem) !important; }

.hero-side-card h2.v2-side-h { font-weight: 700 !important; font-size: 1.3rem !important; line-height: 1.3; color: #151515; margin: 0 0 1rem; letter-spacing: -0.01em; }
.vfoot h2.vf-h { color: #c9a961; font-size: 12.5px !important; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 13px; font-weight: 700; line-height: 1.4; }

/* ---------- Leitelement 1: Kicker mit Horizontbogen ---------- */
.section-eyebrow, .mcta-eyebrow {
  display: inline-block; position: relative; background: none !important; border-radius: 0;
  padding: 0 0 13px !important; margin-bottom: .9rem; color: var(--v2-gold-text) !important;
  font-size: .74rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.hero .section-eyebrow, .mcta-bg-primary .mcta-eyebrow { color: var(--v2-gold-hell) !important; }
.section-eyebrow::after, .mcta-eyebrow::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 8px;
  background: var(--v2-bogen) no-repeat center / 100% 100%;
  transform-origin: left center; transition: transform 400ms var(--ease-soft), opacity 400ms var(--ease-soft);
}
.section-intro .section-eyebrow::after,.mcta-content .mcta-eyebrow::after{ left: 50%; margin-left: -24px; transform-origin: center; }
.v2-js .v2-wartet .section-eyebrow::after, .v2-js .v2-wartet .mcta-eyebrow::after { transform: scaleX(0); opacity: 0; }

/* ---------- Leitelement 2: Hero-Horizont (Ebenen) ---------- */
.hero-immobilien::after { display: none !important; }
.v2-hero-ebenen { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: hidden; }
.v2-ebene { position: absolute; left: 0; right: 0; will-change: auto; }
.v2-raster {
  top: -10%; height: 130%; opacity: .5;
  background-image:
    linear-gradient(to right, rgba(201,169,97,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201,169,97,.10) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 20%, transparent 75%);
}
.v2-glut { top: -20%; height: 90%; background: radial-gradient(ellipse 45% 50% at 78% 30%, rgba(201,169,97,.16), transparent 70%); }
.v2-horizont { bottom: -1px; height: clamp(34px, 5vw, 72px); width: 100%; }
.v2-horizont .v2-linie { transform-origin: 50% 50%; transform-box: fill-box; transition: transform 400ms var(--ease-soft); }
.v2-js .v2-horizont.v2-wartet .v2-linie { transform: scaleX(0); }
.hero-immobilien > .container, .hero-immobilien .hero-grid-immo { position: relative; z-index: 2; }

/* Leichteres Hero-Foto auf v2-Seiten (liegt unter 92-96 % deckendem Verlauf) */
html body section.hero.hero-immobilien {
  background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), url("/assets/v2/hero-1600.jpg") !important;
  background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), image-set(url("/assets/v2/hero-1600.avif") type("image/avif"), url("/assets/v2/hero-1600.webp") type("image/webp"), url("/assets/v2/hero-1600.jpg") type("image/jpeg")) !important;
  background-size: cover !important; background-position: center !important;
}
@media (max-width: 768px) {
  html body section.hero.hero-immobilien {
    background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), url("/assets/v2/hero-800.jpg") !important;
    background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), image-set(url("/assets/v2/hero-800.avif") type("image/avif"), url("/assets/v2/hero-800.webp") type("image/webp"), url("/assets/v2/hero-800.jpg") type("image/jpeg")) !important;
    background-size: cover !important; background-position: center !important;
  }
}
/* Max-2 26.09.2026: Bürofoto der Website (office-lounge, auch auf Über uns, Blick über Essen) statt Stockfoto eines US-Vorstadthauses.
   Seit E8 (27.09.2026) auch auf /verkaufen/ und /wertermittlung/ (vorher hero-1600/800). Eine Datei für alle Breiten:
   das Original hat 680 px, unter dem 92 bis 96 % deckenden Verlauf ist die Hochskalierung nicht sichtbar. */
html body section.hero.hero-immobilien {
  background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), url("/assets/v2/hero-buero-680.jpg") !important;
  background: linear-gradient(135deg,rgba(0,74,89,0.92) 0%,rgba(0,54,64,0.95) 60%,rgba(26,42,53,0.96) 100%), image-set(url("/assets/v2/hero-buero-680.avif") type("image/avif"), url("/assets/v2/hero-buero-680.webp") type("image/webp"), url("/assets/v2/hero-buero-680.jpg") type("image/jpeg")) !important;
  background-size: cover !important; background-position: center 35% !important;
}

/* ---------- Leitelement 3: Leitlinie oben (ersetzt den width-animierten Balken) ---------- */
.scroll-progress { display: none !important; }
.v2-leitlinie { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9999; pointer-events: none; background: linear-gradient(90deg, var(--v2-petrol), var(--v2-gold)); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- Motion: Reveal, Karten, Knöpfe ---------- */
.reveal-item { opacity: 1 !important; transform: translateY(16px) !important; transition: transform var(--dur-base) var(--ease-soft) !important; } /* Max-2: Text nie unter 4,5:1, auch während der Animation */
.reveal-item.revealed { transform: none !important; }
.faq-item p { max-height: none !important; transition: opacity 240ms var(--ease-soft) !important; }
.spec-card, .objekttyp-card, .stadtteil-card, .process-step, .review-card, .card { transition: transform var(--dur-base) var(--ease-ui) !important; }
@media (hover: hover) {
  .card-link:hover .spec-card, .card-link:hover .objekttyp-card, .stadtteil-card:hover, .card:hover { transform: translateY(-3px); }
}
.btn, .vm-wertstart-btn { transition: transform var(--dur-fast) var(--ease-ui) !important; }
.btn:active, .vm-wertstart-btn:active, .sticky-mobile-cta a:active { transform: scale(.97); }

/* Objektart-Icons: Linien statt Emoji */
.objekttyp-icon svg { width: 40px; height: 40px; display: block; }
.objekttyp-icon { font-size: 0 !important; line-height: 0; margin-bottom: .9rem; }

/* ---------- Ruhe am Bildschirmrand (Desktop) ---------- */
/* Vorher bis zu fünf schwebende Elemente. Die Bewertungsleiste unten mittig verdeckte Karten,
   der Nach-oben-Knopf ist bei klebender Navigation verzichtbar. Bewertungen stehen im Hero und im Fuß. */

@media (min-width: 769px) { .btt-wrap { display: none !important; } }

/* CLS: Mobile Aktionsleiste per transform über den Banner schieben statt per bottom (Layout-Verschiebung 0,13 gemessen) */
html body.vm-consent-offen .sticky-mobile-cta { bottom: 0 !important; transform: translate3d(0, calc(var(--vmc-h, 0px) * -1), 0); }
html body.vm-consent-offen .whatsapp-float { bottom: 78px !important; transform: translate3d(0, calc(var(--vmc-h, 0px) * -1), 0); }
html body.vm-consent-offen .btt-wrap { bottom: 86px !important; transform: translate3d(0, calc(var(--vmc-h, 0px) * -1), 0); }

/* ---------- Bewertungen: Herkunftshinweis ---------- */
.v2-review-hinweis { margin: .8rem auto 0; max-width: 560px; font-size: .8rem; line-height: 1.5; color: var(--v2-grau); }

/* ---------- Footer: Cookie-Einstellungen wie ein Link ---------- */
.vfoot [data-v2-consent] { cursor: pointer; }

/* ---------- Karte erst nach Klick (Kontakt) ---------- */
.v2-karte { position: relative; height: 380px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 1.5rem;
  background: linear-gradient(135deg, #eef4f5, #f8f6f0);
  background-image: linear-gradient(to right, rgba(0,74,89,.07) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,74,89,.07) 1px, transparent 1px), linear-gradient(135deg, #eef4f5, #f8f6f0);
  background-size: 48px 48px, 48px 48px, auto; }
.v2-karte-inhalt { max-width: 440px; background: #fff; border-radius: 14px; padding: 1.4rem 1.5rem; box-shadow: 0 10px 30px rgba(0,43,52,.12); }
.v2-karte-titel { font-weight: 700; color: var(--v2-petrol-tief); margin: 0 0 .4rem; }
.v2-karte-text { font-size: .88rem; color: var(--v2-grau); margin: 0 0 1rem; line-height: 1.5; }
.v2-karte-aktionen { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; align-items: center; }
.v2-karte-aktionen .btn { margin: 0; width: auto; }
.v2-karte-route { color: var(--v2-petrol); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.v2-karte iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.v2-karte:not(.v2-geladen) ~ .map-mobcard { display: none !important; }

/* ---------- Unterlagen-Kompass Teaser ---------- */
.v2-kompass-teaser { padding: 3.5rem 0; background: linear-gradient(180deg, #fbf8f1, #fff); }
.v2-kompass-teaser .v2-kt { max-width: 900px; margin: 0 auto; padding: 0 1.25rem; display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center; }
.v2-kompass-teaser h2 { margin: 0 0 .6rem; font-weight: 750; letter-spacing: -0.015em; color: var(--v2-petrol-tief); font-size: clamp(1.35rem, 1rem + 1.2vw, 1.9rem); }
.v2-kompass-teaser p { margin: 0 0 1rem; color: var(--v2-grau); line-height: 1.6; }
.v2-kompass-teaser .v2-kt-liste { list-style: none; margin: 0; padding: 1.2rem 1.3rem; background: #fff; border: 1px solid #ece4d2; border-radius: 14px; box-shadow: 0 8px 24px rgba(0,43,52,.06); }
.v2-kompass-teaser .v2-kt-liste li { display: flex; gap: .6rem; align-items: flex-start; padding: .35rem 0; font-size: .92rem; color: var(--v2-tinte); }
.v2-kompass-teaser .v2-kt-liste li::before { content: ""; flex: 0 0 18px; height: 18px; margin-top: 2px; border: 2px solid var(--v2-gold); border-radius: 5px; }
.v2-kompass-teaser .btn { width: auto; margin-top: 0; }
@media (max-width: 760px) { .v2-kompass-teaser .v2-kt { grid-template-columns: 1fr; } }

/* ---------- FAQ-Gruppen, Rechtstexte ---------- */
.v2-faq-gruppe { font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); font-weight: 750; text-align: center; color: var(--v2-petrol-tief); margin: 2.6rem 0 1rem; padding-bottom: 14px; position: relative; }
.v2-faq-gruppe:first-child { margin-top: 0; }
.v2-faq-gruppe::after { content: ""; position: absolute; left: 50%; margin-left: -24px; bottom: 0; width: 48px; height: 8px; background: var(--v2-bogen) no-repeat center / 100% 100%; }
.faq-item p a { color: var(--v2-petrol); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.v2-agb h3, .legal-content h3 { font-size: 1.05rem; color: var(--v2-petrol-tief); margin: 1.6rem 0 .45rem; }
.legal-content h2 { font-size: 1.25rem; color: var(--v2-petrol-tief); margin: 2.2rem 0 .6rem; }
.v2-agb p, .legal-content p, .legal-content li { line-height: 1.65; }
.legal-content ul, .v2-agb ul { padding-left: 1.2rem; margin: .4rem 0 .9rem; }

/* ---------- Unterlagen-Kompass (/ratgeber/unterlagen-checkliste/) ---------- */
.kompass { max-width: 860px; margin: 0 auto; }
.k-wahl fieldset { border: 0; padding: 0; margin: 0 0 1.4rem; }
.k-wahl legend { font-weight: 750; color: var(--v2-petrol-tief); font-size: 1.1rem; margin-bottom: .7rem; }
.k-wahl legend span { font-weight: 400; color: var(--v2-grau); font-size: .9rem; }
.k-chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.k-chip { position: relative; cursor: pointer; }
.k-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.k-chip span { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem 1rem; border: 1.5px solid #cfd9dc; border-radius: 999px; background: #fff; color: var(--v2-tinte); font-weight: 600; font-size: .95rem; transition: transform var(--dur-fast) var(--ease-ui); }
.k-chip input:checked + span { background: var(--v2-petrol); border-color: var(--v2-petrol); color: #fff; }
.k-chip input:focus-visible + span { outline: 3px solid var(--v2-gold); outline-offset: 2px; }
.k-chip:active span { transform: scale(.97); }
.k-ergebnis { margin-top: 1.2rem; background: #fff; border: 1px solid #e6e1d4; border-radius: 16px; padding: 1.4rem 1.4rem .6rem; box-shadow: 0 12px 34px rgba(0,43,52,.07); }
.k-kopf { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.k-titel { margin: 0; font-weight: 800; font-size: 1.2rem; color: var(--v2-petrol-tief); }
.k-zaehler { margin: .15rem 0 0; color: var(--v2-grau); font-size: .92rem; }
.k-drucken { margin: 0 !important; width: auto !important; padding: 10px 18px !important; font-size: .92rem !important; }
.k-fortschritt { height: 4px; background: #efe9dc; border-radius: 4px; overflow: hidden; margin: 1rem 0 .4rem; }
.k-fortschritt span { display: block; height: 100%; background: linear-gradient(90deg, var(--v2-petrol), var(--v2-gold)); transform-origin: 0 50%; transform: scaleX(0); transition: transform 320ms var(--ease-soft); }
.k-gruppe h3 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-gold-text); margin: 1.2rem 0 .3rem; }
.k-punkte { list-style: none; margin: 0; padding: 0; }
.k-punkte li { display: grid; grid-template-columns: 28px 1fr; column-gap: .6rem; padding: .7rem 0; border-top: 1px solid #f0ece2; }
.k-punkte input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--v2-petrol); cursor: pointer; }
.k-punkte label { cursor: pointer; }
.k-t { display: block; font-weight: 600; color: var(--v2-tinte); line-height: 1.4; }
.k-h { display: block; font-size: .87rem; color: var(--v2-grau); margin-top: .15rem; line-height: 1.45; }
.k-q { grid-column: 2; font-size: .8rem; color: var(--v2-petrol); margin-top: .25rem; text-decoration: underline; text-underline-offset: 2px; justify-self: start; }
.k-punkte input:checked + label .k-t { color: var(--v2-grau); text-decoration: line-through; text-decoration-color: var(--v2-gold); }
.k-cta { margin-top: 1.4rem; padding: 1.3rem 1.4rem; border-radius: 16px; background: var(--v2-petrol-tief); color: #e8eef0; }
.k-cta-titel { margin: 0 0 .3rem; font-weight: 800; font-size: 1.15rem; color: #fff; }
.k-cta p { margin: 0 0 .9rem; line-height: 1.55; }
.k-cta-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; }
.k-cta .btn { margin: 0; width: auto; }
.k-cta .btn-outline { color: #fff; border-color: rgba(255,255,255,.55); }
.k-hinweis { margin: 1.1rem 0 0; font-size: .85rem; line-height: 1.6; color: var(--v2-grau); }
@media (max-width: 600px) { .k-ergebnis { padding: 1.1rem 1rem .4rem; } .k-cta .btn, .k-drucken { width: 100% !important; } }
@media print {
  body * { visibility: hidden; }
  #kompass .k-ergebnis, #kompass .k-ergebnis * { visibility: visible; }
  #kompass .k-ergebnis { position: absolute; left: 0; top: 0; width: 100%; border: 0; box-shadow: none; }
  .k-drucken, .k-fortschritt { display: none !important; }
  .k-q::after { content: " (vimmovi.de" attr(href) ")"; }
}

/* ---------- Bewegung reduzieren: Überblenden statt Verschieben ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .v2-ebene { transform: none !important; }
  .v2-js .v2-wartet .section-eyebrow::after, .v2-js .v2-wartet .mcta-eyebrow::after, .v2-js .v2-horizont.v2-wartet .v2-linie { transform: none !important; opacity: 1 !important; }
  .reveal-item { transform: none !important; }
  .v2-leitlinie { display: none; }
}
@media print {
  .v2-leitlinie,.v2-hero-ebenen,.sticky-mobile-cta,.whatsapp-float,.qc-wrap,#cookie-consent{ display: none !important; }
}

/* Stadtteil-Datenbox: Hausschrift mit Tabellenziffern statt Monospace */
.data-value { font-family: var(--font-heading) !important; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

/* Kontrast-Nachbesserung (Lighthouse color-contrast, link-in-text-block) */
.checkbox-label a, .contact-info a, .vm-rr-ds a, .ds a { color: var(--v2-petrol) !important; text-decoration: underline; text-underline-offset: 2px; }
.form-hint { color: #64748b !important; }
.trust-bar .trust-badge strong { color: var(--v2-gold-text) !important; }
main p a:not([class]), main li a:not([class]) { text-decoration: underline; text-underline-offset: 2px; }

/* CLS: Der Banner erscheint erst, wenn analytics.js ihn fertig aufgebaut hat (vorher zeigte das Inline-Skript
   kurz die alte Fassung, deren Größenwechsel Lighthouse als Layout-Verschiebung bis 0,6 gewertet hat). */
#cookie-consent:not([data-vmc-ready]) { display: none !important; }

/* Kontrast-Nachbesserung 2: Stadtteil-Datenbox, Formularhinweise, WhatsApp-Knöpfe (weiß auf #25D366 nur 2,0:1) */
.markt-data-placeholder .data-label, .markt-data-placeholder .data-note { color: var(--v2-grau) !important; }
.vm-rr-hinweis { color: #5b6770 !important; }
.vm-rr-oder span { color: #5b6770 !important; }
.vm-wert-wa, .sticky-mobile-cta .cta-wa, .whatsapp-float { background: #0f7a3f !important; border-color: #0f7a3f !important; }
/* Hero-Chips liegen auf Petrol: dort das helle Gold (5,5:1) */
.hero .trust-badge strong, .hero-immobilien .trust-badge strong { color: var(--v2-gold-hell) !important; }

/* ---------- Maximal-Runde 26.09.2026 ---------- */
/* Mobile Navigation einheitlich: auf Danke, Blog, 404 und Datenschutz fehlte diese Regel, die Kopfzeile war
   dort mobil 744 px breit und die ganze Seite wurde verkleinert dargestellt (gemessen, auch live). */
@media (max-width: 768px) {
  .nav-megamenu { display: none !important; }
  .mobile-toggle, .megamenu-toggle { display: block !important; margin-left: auto !important; }
  .mega-menu-overlay { opacity: 0; pointer-events: none; }
  .mega-menu-overlay[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
}
/* Linien-Icons im Menü statt Emoji */
.mm-ico { width: 16px; height: 16px; display: inline-block; vertical-align: -3px; margin-right: 6px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.mm-ico-voll { fill: currentColor; stroke: none; }

/* Textlinks ohne eigene Farbe: dunkles Gold statt #c9a961 (axe color-contrast, 2,25:1 -> 6,3:1). */
a { color: var(--v2-gold-text); }

/* Fuß und Themenleiste zentral (Maximal-Runde): auf Ratgeber-, Stadtteil-, Objektart- und Spezialfall-Übersicht fehlten
   diese Stile, der Fuß war dort ungestylt (auch live). Inhalt wortgleich aus der Startseite. */
.vfoot{background:linear-gradient(135deg,#0b2a33,#04161b);color:#cfd8dc;padding:2.8rem 0 0;font-size:14px;border-top:3px solid #c9a961}.vfoot .vf-wrap{max-width:1180px;margin:0 auto;padding:0 24px}.vfoot .vf-grid{display:grid;grid-template-columns:1.7fr 1fr 1.3fr 1fr;gap:38px;align-items:start}.vfoot .vf-brand img{height:44px;width:auto;margin-bottom:13px;display:block}.vfoot .vf-brand p{color:rgba(255,255,255,.6);line-height:1.6;max-width:300px;margin:0}.vfoot a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s}.vfoot a:hover{color:#fff}.vfoot ul{list-style:none;margin:0;padding:0}.vfoot li{margin-bottom:9px;line-height:1.35}.vfoot .vf-contact div{margin-bottom:9px;color:rgba(255,255,255,.78)}.vfoot .vf-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.2rem;padding:15px 0;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.vfoot .vf-badges{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}.vfoot .vf-badges .s{color:#c9a961}.vfoot .vf-copy{font-size:12.5px;color:rgba(255,255,255,.5)}@media(max-width:860px){.vfoot .vf-grid{grid-template-columns:1fr 1fr;gap:26px}.vfoot .vf-brand{grid-column:1/-1}}@media(max-width:520px){.vfoot .vf-grid{grid-template-columns:1fr}.vfoot .vf-bottom{flex-direction:column;align-items:flex-start}}
.vsm{background:#f1f5f9;padding:2.6rem 0 2.2rem;border-top:1px solid #dde3ea}.vsm-wrap{max-width:1180px;margin:0 auto;padding:0 1.2rem}.vsm-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1.8rem}.vsm-col:first-child ul{display:block;column-count:2;column-gap:1.4rem}@media(max-width:900px){.vsm-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.vsm-grid{grid-template-columns:1fr}.vsm-col:first-child ul{display:block;column-count:2}}.vsm h3{font-size:14px;color:#004a59;margin:0 0 .7rem;letter-spacing:.02em}.vsm ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem 0;flex-direction:column}.vsm li{margin:0}.vsm a{color:#54636f;text-decoration:none;font-size:13.5px;line-height:1.85}.vsm a:hover{color:#c9a961;text-decoration:underline}@media(max-width:600px){.vsm{padding:2rem 0 1.6rem}.vsm-grid{gap:1.4rem}.vsm a{line-height:1.6}.vsm h3{margin:0 0 .45rem}}
.vfoot .vf-brand p a { text-decoration: underline; text-underline-offset: 2px; }
/* Textlinks auf dunklem Grund (Hero-Untertitel, Petrol-Karte der Verwaltung) bleiben hellgold. */
.hero-subtitle a:not([class]), .lead-card p a:not([class]) { color: var(--v2-gold-hell); }

/* Kleine Handys (320 bis 374 px): Grids mit festen Mindestbreiten und nicht umbrechende Knöpfe machten die Seite
   bis zu 369 px breit, der Browser verkleinerte die ganze Seite (live gemessen: 40 Seiten bei 320 px). */
@media (max-width: 374px) {
  .hero-grid-immo,.leistung-grid,.markt-grid,.expertise-grid,.prozess-grid,.hub-grid{ grid-template-columns: minmax(0, 1fr) !important; }
  .local-trust .trust-row.trust-row, .trust-row, .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-verwaltung .hero-stats.hero-stats-text.hero-stats { grid-template-columns: minmax(0, 1fr) !important; }
  .hero-grid-immo > *, .leistung-col, .markt-card, .expertise-text, .stat { min-width: 0 !important; }
  .hero-ctas .btn, .btn { white-space: normal; }
  h1, h2, h3 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
  .local-trust .trust-num.trust-num { font-size: 1.1rem !important; }
  .hero-verwaltung .stat .stat-num { font-size: 1rem !important; }
  .trust-num, .trust-lbl, .stat-num, .stat-label, .leistung-col h4, .leistung-col li { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; }
  .leistung-col { padding-left: 1rem !important; padding-right: 1rem !important; }
}
/* Kontrollgruppe (Max-KG): Gold- und Grautexte auf Weiß mit ausreichendem Kontrast (axe color-contrast). */
.verkauf-card-arrow, .vm-faq-kicker { color: var(--v2-gold-text) !important; }
.trust-card-count { color: #5d6b74 !important; }
/* Linien-Icons statt Emoji im Inhalt (Maximal-Runde): 1em groß, Farbe wie der Text. */
.v2-ico { width: 1em; height: 1em; display: inline-block; vertical-align: -0.14em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Verkaufte Objekte auf Stadtteilseiten (Nachtrag 26.09.2026, Baustein referenzen) */
.v2-ref { padding: 3.25rem 0 2.75rem; background: #fff; }
.v2-ref .v2-ref-wrap { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; text-align: center; }
.v2-ref h2 { margin: .3rem 0 .6rem; font-weight: 750; letter-spacing: -0.015em; color: var(--v2-petrol-tief); font-size: clamp(1.35rem, 1rem + 1.2vw, 1.9rem); }
.v2-ref .v2-ref-wrap > p { margin: 0 auto 1.4rem; max-width: 640px; color: var(--v2-grau); line-height: 1.6; }
.v2-ref .v2-ref-liste { list-style: none; margin: 0 -1.25rem; padding: 2px 1.25rem 12px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; text-align: left; }
.v2-ref .v2-ref-liste li { flex: 0 0 170px; scroll-snap-align: start; position: relative; background: #fff; border: 1px solid #e3e8ec; border-radius: 12px; overflow: hidden; font-size: .88rem; line-height: 1.35; }
.v2-ref .v2-ref-liste img { display: block; width: 170px; height: 113px; object-fit: cover; background: #f3f7f8; }
.v2-ref .v2-ref-marke { position: absolute; top: 7px; left: 7px; display: inline-flex; align-items: center; gap: 4px; background: var(--v2-petrol); color: #fff; font-size: .74rem; font-weight: 700; padding: 2px 8px 2px 6px; border-radius: 999px; }
.v2-ref .v2-ref-marke .v2-ico { width: 12px; height: 12px; stroke: #fff; }
.v2-ref .v2-ref-art { display: block; padding: 8px 10px 0; font-weight: 700; color: var(--v2-tinte); }
.v2-ref .v2-ref-daten { display: block; padding: 1px 10px 10px; color: var(--v2-grau); }
.v2-ref .v2-ref-mehr { margin: 1rem 0 0; }
@media (min-width: 1100px) { .v2-ref .v2-ref-liste { margin: 0; padding: 2px 0 12px; display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; } .v2-ref .v2-ref-liste img { width: 100%; height: auto; aspect-ratio: 3 / 2; } }

/* Themen-Leiste: Zeile "Unsere Leistungen in Essen" (Nachtrag 26.09.2026, sprechende Ankertexte) */
.vsm .vsm-leistung { margin: 0 0 1.6rem; padding: 0 0 1.4rem; border-bottom: 1px solid #dde3ea; }
.vsm .vsm-leistung ul { flex-direction: row; flex-wrap: wrap; gap: .35rem 1.6rem; }

/* Ratgeber: Antwortkasten, Tabellen, Listen (Nachtrag 26.09.2026, Energieausweis) */
.ratgeber-article .v2-antwort { background: #fbf8f1; border: 1px solid #ece4d2; border-left: 4px solid var(--v2-gold); border-radius: 12px; padding: 1.2rem 1.3rem .9rem; margin: 0 0 2rem; }
.ratgeber-article .v2-antwort h2 { margin-top: 0; font-size: 1.2rem; }
.ratgeber-article .v2-antwort ul, .ratgeber-article .v2-liste { margin: 0 0 1rem; padding-left: 1.2rem; color: #334155; line-height: 1.7; }
.ratgeber-article .v2-antwort li, .ratgeber-article .v2-liste li { margin: 0 0 .3rem; }
.ratgeber-article .v2-antwort-quelle, .ratgeber-article .v2-hinweis-klein { font-size: .88rem; color: var(--v2-grau); margin: .4rem 0 0; }
.ratgeber-article .v2-tabelle-wrap { overflow-x: auto; margin: 0 0 1.4rem; border: 1px solid #e3e8ec; border-radius: 12px; }
.ratgeber-article .v2-tabelle-schmal { max-width: 420px; }
.ratgeber-article .v2-tabelle { width: 100%; border-collapse: collapse; font-size: .92rem; line-height: 1.45; color: #334155; }
.ratgeber-article .v2-tabelle caption { text-align: left; font-weight: 700; color: var(--v2-petrol-tief); padding: .8rem 1rem .4rem; }
.ratgeber-article .v2-tabelle th, .ratgeber-article .v2-tabelle td { text-align: left; vertical-align: top; padding: .6rem 1rem; border-top: 1px solid #e3e8ec; }
.ratgeber-article .v2-tabelle thead th { background: #f3f7f8; color: var(--v2-petrol-tief); font-size: .82rem; letter-spacing: .02em; }
.ratgeber-article .v2-tabelle tbody th { font-weight: 600; color: var(--v2-tinte); }
.ratgeber-article .v2-tabelle td:last-child { white-space: nowrap; font-size: .84rem; color: var(--v2-grau); }
@media (max-width: 600px) {
  .ratgeber-article .v2-tabelle th, .ratgeber-article .v2-tabelle td { padding: .5rem .7rem; }
  .ratgeber-article .v2-tabelle td:last-child { white-space: normal; }
  /* Dreispaltige Tabelle mobil als gestapelte Zeilen, Spaltenkopf als Vorsatz */
  .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) { overflow: visible; }
  .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) tr { display: block; border-top: 1px solid #e3e8ec; padding: .55rem .8rem .6rem; }
  .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) tbody th, .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) td { display: block; border: 0; padding: .1rem 0; }
  .ratgeber-article .v2-tabelle-wrap:not(.v2-tabelle-schmal) td:last-child::before { content: "Grundlage: "; }
}

/* Max-2: Querverweis-Block ("Das könnte Sie auch interessieren") auf Inhaltsbreite, damit das schwebende
   WhatsApp-Element bei 1440 px im Seitenrand nichts überdeckt. */
[data-pp-injected="cross-links"] { max-width: 1152px; margin-left: auto !important; margin-right: auto !important; }

/* Max-2: Über uns (Bilder als <picture> mit AVIF). Kompakter Hero, damit die echten Bürofotos (Abschnitt direkt darunter) im ersten Bildschirm stehen. */
html body section.hero.hero-immobilien.v2-hero-kompakt { padding-top: clamp(48px, 6vw, 88px) !important; padding-bottom: clamp(56px, 7vw, 96px) !important; min-height: 0 !important; }
.v2-buero-oben { padding-top: clamp(32px, 4vw, 56px) !important; }
@media (max-width: 600px) {
  html body .v2-buero-oben .i-7726fb9:not(#vm-i1):not(#vm-i2) { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  html body .v2-buero-oben .i-7726fb9 > :first-child { grid-column: 1 / -1; }
  html body .v2-buero-oben .i-7726fb9 > :first-child img { height: 200px !important; }
  html body .v2-buero-oben .i-7726fb9 > :not(:first-child) img { height: 140px !important; }
}

/* Max-2: Impressum-Abschnitte sind h2 (vorher h3 direkt unter h1, Überschriftensprung). Aussehen unverändert wie h3. */
.legal-impressum h2.v2-wie-h3 { font-size: 1.05rem; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--v2-petrol-tief); margin: 1.6rem 0 .45rem; text-align: start; }
@media (max-width: 768px) { .legal-impressum h2.v2-wie-h3 { font-size: clamp(1.1rem, 3.5vw, 1.4rem) !important; } }

/* Max-2: Scroll-Animationen ohne Deckkraft. Die Keyframes fade-rise und fade-in-up aus style.css blenden Überschriften,
   Einleitungen, Karten und Schritte von Deckkraft 0 ein; beim Hereinscrollen lag Text dadurch unter 4,5:1 (axe mitten in
   der Animation: bis zu 37 Knoten je Seite). Hier nur Bewegung, Text ist immer voll deckend. Seit E8 auch in der früheren Kontrollgruppe. */
@keyframes v2-rise { from { transform: translateY(40px); } to { transform: none; } }
@keyframes v2-in-up { from { transform: translateY(20px); } to { transform: none; } }
@supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) {
  :is(.section .card, .section .testimonial, .section .step, .section h2, .section-intro) { animation-name: v2-rise; }
  :is(.hero h1, .hero-subtitle) { animation-name: v2-in-up; }
} }

/* Wert-Pille (Wunsch Eugen 26.09.2026, Markup <!--b:deskcta--> wie vor c65a0c1). Nur ab 1024 px, rechts über dem
   WhatsApp-Knopf mit 12 px Abstand (seite.js setzt --vm-wp-unten aus dessen Lage). Sichtbar erst unterhalb des Hero
   und nur, solange unter ihr kein Inhalt liegt; seite.js setzt .vm-wp und .vm-wp-an. Die Kontrollgruppe hat eigene
   Regeln in ihren Seiten-Stylesheets (danach geladen), seite.js setzt dort keine Klasse. */
.sticky-desktop-cta { display: none; }
@media (min-width: 1024px) {
  .sticky-desktop-cta.vm-wp { display: block; position: fixed; right: 24px; bottom: var(--vm-wp-unten, 92px); z-index: 9998; visibility: hidden; opacity: 0; pointer-events: none; }
  .sticky-desktop-cta.vm-wp.vm-wp-an { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .25s ease; }
  .sticky-desktop-cta.vm-wp a { display: flex; align-items: center; gap: 8px; padding: 14px 24px; background: #004a59; color: #fff; border-radius: 50px; font-weight: 700; font-size: 14px; line-height: 1.4; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: transform .2s; }
  .sticky-desktop-cta.vm-wp a:hover { transform: translateY(-2px); }
  body.vm-consent-offen .sticky-desktop-cta.vm-wp, body.mega-menu-open .sticky-desktop-cta.vm-wp { visibility: hidden; opacity: 0; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) { .sticky-desktop-cta.vm-wp, .sticky-desktop-cta.vm-wp.vm-wp-an, .sticky-desktop-cta.vm-wp a { transition: none; transform: none; } }
/* Quelle: /assets/css/s-51257b984d.css */
/* Aus Inline-<style>-Blöcken ausgelagert (Maximal-Runde 26.09.2026), Reihenfolge wie im HTML. */
.local-trust .trust-num{font-size:clamp(1.05rem,2.4vw,1.5rem);line-height:1.2}.local-trust .trust-lbl{font-size:.92rem}
.process-steps.grid-3{grid-template-columns:repeat(3,1fr)!important}@media(max-width:900px){.process-steps.grid-3{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:560px){.process-steps.grid-3{grid-template-columns:1fr!important}}
.vfoot{background:linear-gradient(135deg,#0b2a33,#04161b);color:#cfd8dc;padding:2.8rem 0 0;font-size:14px;border-top:3px solid #c9a961}.vfoot .vf-wrap{max-width:1180px;margin:0 auto;padding:0 24px}.vfoot .vf-grid{display:grid;grid-template-columns:1.7fr 1fr 1.3fr 1fr;gap:38px;align-items:start}.vfoot .vf-brand img{height:44px;width:auto;margin-bottom:13px;display:block}.vfoot .vf-brand p{color:rgba(255,255,255,.6);line-height:1.6;max-width:300px;margin:0}.vfoot a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s}.vfoot a:hover{color:#fff}.vfoot ul{list-style:none;margin:0;padding:0}.vfoot li{margin-bottom:9px;line-height:1.35}.vfoot .vf-contact div{margin-bottom:9px;color:rgba(255,255,255,.78)}.vfoot .vf-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.2rem;padding:15px 0;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.vfoot .vf-badges{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}.vfoot .vf-badges .s{color:#c9a961}.vfoot .vf-copy{font-size:12.5px;color:rgba(255,255,255,.5)}@media(max-width:860px){.vfoot .vf-grid{grid-template-columns:1fr 1fr;gap:26px}.vfoot .vf-brand{grid-column:1/-1}}@media(max-width:520px){.vfoot .vf-grid{grid-template-columns:1fr}.vfoot .vf-bottom{flex-direction:column;align-items:flex-start}}
.vsm{background:#f1f5f9;padding:2.6rem 0 2.2rem;border-top:1px solid #dde3ea}.vsm-wrap{max-width:1180px;margin:0 auto;padding:0 1.2rem}.vsm-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1.8rem}.vsm-col:first-child ul{display:block;column-count:2;column-gap:1.4rem}@media(max-width:900px){.vsm-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.vsm-grid{grid-template-columns:1fr}.vsm-col:first-child ul{display:block;column-count:2}}.vsm h3{font-size:14px;color:#004a59;margin:0 0 .7rem;letter-spacing:.02em}.vsm ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem 0;flex-direction:column}.vsm li{margin:0}.vsm a{color:#54636f;text-decoration:none;font-size:13.5px;line-height:1.85}.vsm a:hover{color:#c9a961;text-decoration:underline}@media(max-width:600px){.vsm{padding:2rem 0 1.6rem}.vsm-grid{gap:1.4rem}.vsm a{line-height:1.6}.vsm h3{margin:0 0 .45rem}}
.sticky-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#004a59;padding:10px 16px;box-shadow:0 -2px 10px rgba(0,0,0,.2);text-align:center}@media(max-width:768px){.sticky-mobile-cta{display:block}}.sticky-mobile-cta a{display:inline-block;padding:10px 20px;border-radius:6px;font-weight:700;text-decoration:none;font-size:14px;margin:0 4px;color:#fff}.sticky-mobile-cta .cta-anfrage{background:#fff;color:#004a59}.sticky-mobile-cta .cta-tel{border:2px solid #fff}
@media(min-width:769px){@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}

.sticky-trust.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
/*HOMEPAGE-CARD-GRID-FIX*/
.objekttypen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;justify-content:center}
.objekttypen-grid > *{min-width:0}
/* letzte Zeile (3 Karten) zentrieren: nutze flex-fallback via auto-margins nicht moeglich im Grid -> stattdessen flex */
@media(min-width:901px){.objekttypen-grid{display:flex;flex-wrap:wrap;justify-content:center}.objekttypen-grid > *{flex:0 0 calc(25% - 1rem)}}
@media(max-width:900px){.objekttypen-grid{display:flex;flex-wrap:wrap;justify-content:center}.objekttypen-grid > *{flex:0 0 calc(50% - .75rem)}}
@media(max-width:560px){.objekttypen-grid > *{flex:0 0 100%}}
.specs-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}
.specs-grid > *{flex:0 0 calc(33.333% - 1rem)}
.spec-card .spec-icon{width:46px;height:46px;margin-bottom:1rem;display:block}
@media(max-width:900px){.specs-grid > *{flex:0 0 calc(50% - .75rem)}}
@media(max-width:560px){.specs-grid > *{flex:0 0 100%}}
.card-cta{display:inline-block;margin-top:.6rem;color:#C8A24B;font-weight:700;font-size:.9rem}
.card-link:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08);transition:all .2s}
.card-link{transition:all .2s}
/*STICKY-TRUST-MOBILE-FIX-V4*/

/*MOBILE-CTA-FIX-V2*/
@media(max-width:600px){
.sticky-mobile-cta{display:flex!important;gap:8px!important;padding:8px 10px!important;box-sizing:border-box!important;align-items:stretch!important}
.sticky-mobile-cta a{flex:1 1 0!important;min-width:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 8px!important;font-size:15px!important;white-space:nowrap!important;text-align:center!important}
body{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
.whatsapp-float{bottom:74px!important}
}
/*MOBILE-NAV-FIX*/
@media(max-width:768px){
.nav-megamenu{display:none!important}
.header-megamenu .nav,.header .nav-megamenu{margin-left:auto!important}
.mobile-toggle,.megamenu-toggle{display:block!important;margin-left:auto!important}
.mega-menu-overlay{opacity:0;pointer-events:none}
.mega-menu-overlay.active,.mega-menu-overlay[aria-hidden="false"]{opacity:1;pointer-events:auto}
}
/*WHATSAPP-MOBILE-FIX*/
@media(max-width:768px){
.whatsapp-float{left:16px!important;right:auto!important;bottom:78px!important;z-index:9997!important}
}
/* Schwebende Elemente unten rechts entzerren, kein Overlap */
.qc-wrap{display:none!important}
.quick-contact{display:none!important}
.whatsapp-float{bottom:24px!important;right:24px!important}
.btt-wrap{bottom:160px!important;right:26px!important}
@media(max-width:768px){.whatsapp-float{bottom:78px!important}.btt-wrap{bottom:140px!important}}
/* Quelle: /assets/css/inline-attr.css */
/* style-Attribute als Klassen (Maximal-Runde 26.09.2026). Erzeugt von werkzeug/max/m3_attribute.py.
   :not(#vm-i1):not(#vm-i2) hebt die Spezifität auf (2,1,0), damit die Regel wie vorher das style-Attribut gilt. */
.i-03242ec:not(#vm-i1):not(#vm-i2){font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#0f5b5b;font-weight:800;margin:0 0 10px}
.i-05e1e6f:not(#vm-i1):not(#vm-i2){flex:none;width:34px;height:34px;border-radius:50%;background:#c9a961;color:#0a0a0a;font-weight:800;display:flex;align-items:center;justify-content:center}
.i-09bc48a:not(#vm-i1):not(#vm-i2){color:#56657a;font-size:.95rem}
.i-0cbd979:not(#vm-i1):not(#vm-i2){font-size:clamp(4.2rem,11vw,6.5rem);font-weight:800;line-height:1;margin:0 0 .4rem;color:#fff;opacity:.95}
.i-0f4dee0:not(#vm-i1):not(#vm-i2){color:#FBBC05;font-size:1.3rem;letter-spacing:2px}
.i-1c7fd9c:not(#vm-i1):not(#vm-i2){display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;text-align:left}

.i-200c31c:not(#vm-i1):not(#vm-i2){display:inline-block;padding:8px 16px;background:#f1f5f9;border-radius:6px;color:#0F4972;text-decoration:none;font-size:14px;font-weight:600;margin:4px}
.i-20898e4:not(#vm-i1):not(#vm-i2){max-width:760px;margin:0 auto;text-align:center}
.i-2239d6d:not(#vm-i1):not(#vm-i2){margin-top:1rem}
.i-249d010:not(#vm-i1):not(#vm-i2){margin:0 0 12px}
.i-24a2c6e:not(#vm-i1):not(#vm-i2){text-align:center;color:#475569;max-width:680px;margin:0 auto 32px}
.i-25ffe05:not(#vm-i1):not(#vm-i2){color:#0f2c33}
.i-271696e:not(#vm-i1):not(#vm-i2){max-width:640px;margin:0 auto;color:#475569;line-height:1.65}
.i-28c0b1e:not(#vm-i1):not(#vm-i2){font-size:.9rem;color:#64748b}
.i-2906be6:not(#vm-i1):not(#vm-i2){color:#4ade80;font-weight:700}
.i-2a1b75c:not(#vm-i1):not(#vm-i2){display:block}
.i-2af4a6c:not(#vm-i1):not(#vm-i2){display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px}

.i-2c7c4c2:not(#vm-i1):not(#vm-i2){display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.i-2d18543:not(#vm-i1):not(#vm-i2){display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
.i-2ebe2d9:not(#vm-i1):not(#vm-i2){max-width:680px;width:100%}
.i-35039bb:not(#vm-i1):not(#vm-i2){font-size:.85rem;color:#64748b}
.i-351c8aa:not(#vm-i1):not(#vm-i2){display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px;font-size:.95rem;font-weight:500;align-items:center}
.i-35579c3:not(#vm-i1):not(#vm-i2){height:72px;width:auto}
.i-3606391:not(#vm-i1):not(#vm-i2){margin-bottom:24px;padding:24px;background:#fbf8f1;border:1px solid #ece4d2;border-radius:12px}
.i-374d9e8:not(#vm-i1):not(#vm-i2){background:#fff;border:1px solid #e3eaea;border-radius:14px;padding:1.4rem 1.5rem;text-align:left}
.i-37ba30e:not(#vm-i1):not(#vm-i2){display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.i-3a3d011:not(#vm-i1):not(#vm-i2){display:flex;gap:14px;align-items:flex-start}
.i-3cf5494:not(#vm-i1):not(#vm-i2){max-width:640px;margin:0 auto;padding:2.4rem 1.2rem 0;text-align:center}
.i-403d27c:not(#vm-i1):not(#vm-i2){color:var(--primary,#0f2744);border-color:#cbd5e1}
.i-4260ebe:not(#vm-i1):not(#vm-i2){padding-top:0}
.i-43dc814:not(#vm-i1):not(#vm-i2){text-decoration:none;background:#fff;border:1px solid #e3eaea;border-radius:999px;padding:.5rem 1rem;color:#243b3b;font-weight:600}
.i-4561c83:not(#vm-i1):not(#vm-i2){padding:2rem 0;text-align:center}
.i-49659d6:not(#vm-i1):not(#vm-i2){color:#475569;font-size:.8rem;line-height:1.3}
.i-4c51438:not(#vm-i1):not(#vm-i2){margin:0;color:#475757;line-height:1.55;font-size:.96rem}
.i-4fad2dc:not(#vm-i1):not(#vm-i2){background:var(--bg-alt);border-top:1px solid var(--border)}
.i-51df3d5:not(#vm-i1):not(#vm-i2){color:#475757;font-size:1.05rem;line-height:1.6;max-width:680px;margin:0 auto 22px}
.i-5236506:not(#vm-i1):not(#vm-i2){color:#004a59;text-decoration:none}
.i-5415864:not(#vm-i1):not(#vm-i2){height:26px;width:auto;display:block}
.i-587af08:not(#vm-i1):not(#vm-i2){font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#0f5b5b;font-weight:800;margin:0 0 8px}
.i-5887094:not(#vm-i1):not(#vm-i2){text-align:center;color:#475569;max-width:680px;margin:0 auto 28px}
.i-5927d4a:not(#vm-i1):not(#vm-i2){width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin:.5rem 0;display:block}
.i-5fefd4a:not(#vm-i1):not(#vm-i2){margin-top:32px;padding:24px;background:#f8fafc;border-radius:8px}
.i-60e32dc:not(#vm-i1):not(#vm-i2){display:inline-block}
.i-6260329:not(#vm-i1):not(#vm-i2){border:2px solid #004a59;color:#004a59;background:#ffffff}
.i-6322ad4:not(#vm-i1):not(#vm-i2){margin-top:.8rem}
.i-6a8ecb5:not(#vm-i1):not(#vm-i2){position:fixed;bottom:90px;right:24px;z-index:9997;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);text-decoration:none;font-size:28px;color:#fff}
.i-6daba0c:not(#vm-i1):not(#vm-i2){max-width:680px;margin:0 auto 28px;color:#475757;font-size:1.1rem;line-height:1.6}
.i-73fc6f4:not(#vm-i1):not(#vm-i2){text-align:center;color:#0b3d3d;margin-bottom:8px}
.i-759e41d:not(#vm-i1):not(#vm-i2){margin:0 0 10px}
.i-76a69f8:not(#vm-i1):not(#vm-i2){justify-content:center;display:flex;gap:.8rem;flex-wrap:wrap}
.i-7726fb9:not(#vm-i1):not(#vm-i2){display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.i-78b7509:not(#vm-i1):not(#vm-i2){min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 2rem 3rem;gap:10px}
.i-7bb4174:not(#vm-i1):not(#vm-i2){color:inherit;text-decoration:none}
.i-7cffeb8:not(#vm-i1):not(#vm-i2){font-size:3rem;margin-bottom:.75rem}
.i-7fe010d:not(#vm-i1):not(#vm-i2){margin-top:1.5rem;padding:.9rem 1rem;border-left:3px solid #c9a961;background:#fbf8f1;font-size:.9rem}
.i-8246032:not(#vm-i1):not(#vm-i2){margin:10px 0 0}
.i-87cd2f4:not(#vm-i1):not(#vm-i2){color:#64748b;font-size:.95rem;margin-bottom:1rem}
.i-8bd7aab:not(#vm-i1):not(#vm-i2){display:block;text-align:center;text-decoration:none}
.i-90fb612:not(#vm-i1):not(#vm-i2){color:#0b3d3d}
.i-91a8701:not(#vm-i1):not(#vm-i2){text-align:center}
.i-927a8a5:not(#vm-i1):not(#vm-i2){background:#fff!important;color:#004a59!important;border:2px solid #004a59!important;backdrop-filter:none!important}
.i-93273d2:not(#vm-i1):not(#vm-i2){padding:24px;text-align:center;border-top:1px solid #e2e8f0;margin-top:32px}
.i-958544e:not(#vm-i1):not(#vm-i2){text-align:center;margin:14px auto 0;max-width:560px;font-size:.92rem;color:#54636f}
.i-96cf3d3:not(#vm-i1):not(#vm-i2){display:inline-block;margin-top:8px;padding:13px 22px;min-height:48px;line-height:22px;background:#c9a961;color:#0a0a0a;border-radius:10px;text-decoration:none;font-weight:800}
.i-990799f:not(#vm-i1):not(#vm-i2){color:var(--primary);font-weight:700;border-bottom:2px solid var(--accent);text-decoration:none;padding-bottom:1px}
.i-9c5f0f3:not(#vm-i1):not(#vm-i2){display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#666;font-weight:600;margin-bottom:.4rem}
.i-a101a9d:not(#vm-i1):not(#vm-i2){display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:#c9a961;color:#013642;border-radius:10px;text-decoration:none;font-weight:700;font-size:.95rem}
.i-a1ccd79:not(#vm-i1):not(#vm-i2){width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.i-a1d1839:not(#vm-i1):not(#vm-i2){display:inline-block;padding:14px 30px;background:#c9a961;color:#0a0a0a;border-radius:10px;text-decoration:none;font-weight:800;margin:0 6px 10px}
.i-a51999c:not(#vm-i1):not(#vm-i2){margin-top:5px;font-size:.82rem;color:#1a1a1a}
.i-a6450ce:not(#vm-i1):not(#vm-i2){background:#004a59;padding:9px 12px}
.i-a825116:not(#vm-i1):not(#vm-i2){padding:9px 12px}
.i-ada272a:not(#vm-i1):not(#vm-i2){text-align:center;margin-top:2.5rem}
.i-ae110d9:not(#vm-i1):not(#vm-i2){color:#FBBC05;letter-spacing:1px}
.i-ae4e3ab:not(#vm-i1):not(#vm-i2){font-size:1.3rem;line-height:1.65;color:#243b3b;max-width:760px;margin:0 auto;font-weight:500}
.i-af6b939:not(#vm-i1):not(#vm-i2){position:fixed;bottom:24px;right:24px;z-index:9997;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);text-decoration:none;color:#fff}
.i-b1c12c4:not(#vm-i1):not(#vm-i2){color:#FBBC05;letter-spacing:2px;font-size:1.05rem}
.i-b2454e6:not(#vm-i1):not(#vm-i2){background:var(--bg-alt)}
.i-b305e01:not(#vm-i1):not(#vm-i2){flex:none;width:34px;height:34px;border-radius:50%;background:#004a59;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.i-b90093b:not(#vm-i1):not(#vm-i2){margin-bottom:24px;padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}
.i-baaed6b:not(#vm-i1):not(#vm-i2){text-align:left;background:#f6f8f9;border:1px solid #e5e7eb;border-radius:14px;padding:24px 26px;margin-bottom:1.75rem}
.i-bcc1f7f:not(#vm-i1):not(#vm-i2){text-align:center;margin:1.5rem 0 0}
.i-c35e88a:not(#vm-i1):not(#vm-i2){display:block;scroll-margin-top:100px}
.i-c3be256:not(#vm-i1):not(#vm-i2){text-align:center;padding:1.2rem 0}
.i-c5acccd:not(#vm-i1):not(#vm-i2){color:#004a59;margin-bottom:.5rem}
.i-c61f6cb:not(#vm-i1):not(#vm-i2){display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.i-c8110e4:not(#vm-i1):not(#vm-i2){margin:0 auto 22px;max-width:620px;opacity:.95}
.i-c84e6aa:not(#vm-i1):not(#vm-i2){display:inline-block;padding:14px 28px;background:#004a59;color:#fff;border-radius:10px;text-decoration:none;font-weight:700;margin:0 6px 10px}
.i-c964e05:not(#vm-i1):not(#vm-i2){display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#0f5b5b;color:#fff;flex:0 0 auto}
.i-d078264:not(#vm-i1):not(#vm-i2){display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.i-d0d30ea:not(#vm-i1):not(#vm-i2){position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid #e5e5e5;margin-top:1rem}
.i-d14c6c8:not(#vm-i1):not(#vm-i2){color:#0f5b5b}
.i-d431722:not(#vm-i1):not(#vm-i2){text-decoration:none;color:inherit;display:block;height:100%}
.i-d4fe505:not(#vm-i1):not(#vm-i2){display:inline-flex;align-items:center;gap:8px}
.i-dc69fe0:not(#vm-i1):not(#vm-i2){display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem auto 0;max-width:820px}
.i-dd5cfde:not(#vm-i1):not(#vm-i2){font-size:1.15rem;color:#475569;margin-bottom:2rem}
.i-dd6bfe3:not(#vm-i1):not(#vm-i2){margin:0;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);background:#fff}
.i-de2a6c5:not(#vm-i1):not(#vm-i2){width:100%;height:auto;border-radius:12px;margin-bottom:1rem;display:block}
.i-e1d56b5:not(#vm-i1):not(#vm-i2){text-align:center;max-width:720px;margin:0 auto 2rem}
.i-e9df8aa:not(#vm-i1):not(#vm-i2){margin:0 auto;max-width:720px;color:var(--text-light);font-size:1.05rem;line-height:1.6}
.i-ebf8da9:not(#vm-i1):not(#vm-i2){text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:3px}
.i-ec82581:not(#vm-i1):not(#vm-i2){font-size:14px;color:#64748b;margin:0 0 12px}
.i-ed83ce0:not(#vm-i1):not(#vm-i2){display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:#004a59;color:#fff;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem}
.i-f40693b:not(#vm-i1):not(#vm-i2){color:#004a59;font-size:1.25rem;margin:0 0 1.1rem;text-align:center}
.i-f531659:not(#vm-i1):not(#vm-i2){display:none;position:absolute;top:10px;left:10px;z-index:3;width:215px;max-width:74%;background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.18)}
.i-f8fc1c0:not(#vm-i1):not(#vm-i2){margin:-1rem 0 2rem}
.i-f9bdb5d:not(#vm-i1):not(#vm-i2){margin:0;font-size:1.05rem;color:#0f5b5b}
.i-fa79392:not(#vm-i1):not(#vm-i2){display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.i-fa81deb:not(#vm-i1):not(#vm-i2){color:#7c5e1e}
.i-fd36cd4:not(#vm-i1):not(#vm-i2){width:100%;height:240px;object-fit:cover;border-radius:12px}
/* Quelle: /assets/v2/wertstart.css */
/* Stile des Wert-Einstiegs (vorher von wertstart.js als <style> eingefügt; Maximal-Runde 26.09.2026 als Datei,
   damit die CSP ohne 'unsafe-inline' auskommt). Inhalt unverändert. */
:root{--vm-wertstart-css:1}
.vm-wertstart{max-width:760px;margin:0 auto;text-align:center}
.vm-wertstart-frage{font-size:1.15rem;font-weight:600;color:#004a59;margin:0 0 1.25rem}
.vm-wertstart-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2.25rem;border:none;border-radius:10px;background:#004a59;color:#fff;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:600;line-height:1.2;letter-spacing:.01em;box-shadow:0 4px 14px rgba(0,74,89,.18);transition:background .15s,box-shadow .15s,transform .15s}
.vm-wertstart-btn:hover,.vm-wertstart-btn:focus-visible{background:#00303a;box-shadow:0 6px 20px rgba(0,74,89,.26);transform:translateY(-2px);outline:none}
.vm-wertstart-btn[disabled]{opacity:.55;cursor:default;transform:none;box-shadow:none}
.vm-wertstart-btn::after{content:"→";font-size:1.1em;line-height:1}
.vm-wertstart-hinweis{font-size:.85rem;color:#5b6b70;margin:1rem 0 0}
.vm-wertstart-tool{margin-top:1.5rem}
.vm-wertstart-tool[hidden]{display:none}
@media(max-width:640px){.vm-wertstart-btn{width:100%;padding:1rem 1rem}
}
/* Quelle: /assets/v2/max3.css */
/* VIMMOVI Max-3 (27.09.2026): letzte Schicht für alle Seiten außer der Kontrollgruppe (/verkaufen/, /wertermittlung/).
   Eingebunden über _build/css.json als letzte Quelle jedes Bündels. Inhalt:
   1 Tipp-Ziele mindestens 44 x 44 px (gemessen mit werkzeug/max3/mobil.js)
   2 Einheitliche Karten (gleiche Höhe, Handlungslink unten), Überschriften ohne Überlauf, Typo-Angleichung
   3 Formulare: Fehlermeldungen je Feld, Fokus, Rückruf-Formular auf der Kontaktseite
   4 Neue Bausteine: Belege (Vertrauen), Ablauf "So arbeiten wir", Verkäufe mit Stadtteil
   Motion nur über transform/opacity, bei reduzierter Bewegung keine. */

/* ---------- 1 Tipp-Ziele ---------- */
.vsm a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.vf-col ul a, .vf-contact a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.vf-badges a { display: inline-flex; align-items: center; min-height: 44px; }
.trust-badge-review { min-height: 44px; }
.v2-ref-mehr a { display: inline-flex; align-items: center; min-height: 44px; }
.k-q { display: inline-flex; align-items: center; min-height: 44px; }
.faq-item p a:last-child { display: inline-flex; align-items: center; min-height: 44px; }
.k-punkte li { padding: .3rem 0; }
.k-punkte label { display: flex; align-items: center; min-height: 44px; }
.k-punkte input { margin-top: 11px; }
.btn, .btn-p { min-height: 44px; }

/* ---------- 2 Karten, Überschriften, Typo ---------- */
h1, h2, h3 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
.specs-grid > .card-link, .objekttypen-grid > .card-link { display: flex; }
/* inline-attr.css setzt die Hülle mit hoher Spezifität auf display:block und height:100%; das verhindert gleich hohe Karten. */
.specs-grid > .card-link.i-d431722:not(#vm-i1):not(#vm-i2), .objekttypen-grid > .card-link.i-d431722:not(#vm-i1):not(#vm-i2) { display: flex; height: auto; }
.spec-card, .objekttyp-card { display: flex; flex-direction: column; width: 100%; height: 100%; }
/* 27.09.2026 (Eugen): style.css gibt .objekttyp-card flex-basis 1/4 und min-width 230px. Seit die Hülle flex ist, galt das INNERHALB der Hülle: Karte 230 px in 272 px Hülle, sichtbarer Abstand 62 statt 20 px (800 px Breite: 154). Karte füllt jetzt die Hülle. */
.objekttypen-grid > .card-link > .objekttyp-card { flex: 1 1 auto; min-width: 0; }
/* 27.09.2026 (Eugen): Überschrift im Wert-Abschnitt war zentriert, Dachzeile und Text linksbündig (Startseite 13 px Versatz bei 1440, Stadtteil- und Objektartseiten 51 px). Zentrierte Wert-Abschnitte (Spezialfälle) bleiben zentriert. */
main .valuation-section .valuation-grid h2, main .valuation-section .cta-banner-stadtteil h2 { text-align: left; }
.specs-grid, .objekttypen-grid { align-items: stretch !important; }
.spec-card .card-cta, .objekttyp-card .card-cta { margin-top: auto !important; padding-top: .75rem; }
.service-card-immo { display: flex; flex-direction: column; }
.service-card-immo > img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.service-card-immo h3 { font-size: clamp(1.1rem, 1rem + .3vw, 1.25rem); -webkit-hyphens: manual; hyphens: manual; }
.service-card-immo .card-link { margin-top: auto; padding-top: .75rem; align-self: flex-start; min-height: 44px; }
.valuation-section h2 { font-weight: 750; color: var(--v2-petrol-tief, #0b2a33); letter-spacing: -.02em; }
/* Typo-Skala h2 (Max-3): drei Stufen statt 14 Varianten. A = Abschnitt, B = Zwischenzeile und Aufruf, C = Karte (v2-side-h,
   unverändert). Einheitlich 750; Farben bleiben, wie sie sind (helle Schrift auf dunklen Aufrufen). */
main h2:not(.v2-side-h):not(.vf-h) { font-weight: 750; letter-spacing: -.02em; }
main .section-intro h2, main .valuation-section h2, main .v2-st-ref-kopf h2, main .v2-ablauf-kopf h2, main .v2-ref-wrap h2,
main .v2-kompass-teaser h2, main h2.i-73fc6f4, main .wy-inner h2, main .hub-head h2, main h2.i-759e41d {
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.35rem); line-height: 1.2; }
main .mcta-headline, main .v2-belege-titel, main .cta-section h2, main .cta-inner h2, main .vm-wert-wrap h2, main h2.i-249d010, main .hub-wrap h2 {
  font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem); line-height: 1.25; }
.process-step p { margin-bottom: 0; }

/* ---------- 3 Formulare ---------- */
.v2-fehler { margin: .35rem 0 0; font-size: .875rem; line-height: 1.4; color: #b42318; font-weight: 600; }
.v2-fehler[hidden] { display: none; }
form [aria-invalid="true"] { border-color: #b42318 !important; box-shadow: 0 0 0 3px rgba(180, 35, 24, .12); }
form input[type="checkbox"][aria-invalid="true"] { outline: 2px solid #b42318; outline-offset: 2px; }
.v2-form-status { margin: .6rem 0 0; font-size: .9rem; font-weight: 600; color: #b42318; }
.v2-form-status:empty { display: none; }
form input:focus-visible, form select:focus-visible, form textarea:focus-visible { outline: 3px solid var(--v2-gold, #c9a961); outline-offset: 1px; }

.v2-rr { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid #dde3ea; border-radius: 14px; padding: 1.4rem 1.2rem 1.2rem; }
.v2-rr-grid { display: grid; grid-template-columns: 1fr; gap: .8rem; }
@media (min-width: 640px) { .v2-rr-grid { grid-template-columns: 1fr 1fr; } .v2-rr-voll { grid-column: 1 / -1; } }
.v2-rr label { display: block; font-size: .85rem; font-weight: 600; color: #3f4f5a; margin-bottom: .25rem; }
.v2-rr input[type="text"], .v2-rr input[type="tel"], .v2-rr input[type="email"], .v2-rr select {
  width: 100%; box-sizing: border-box; min-height: 48px; padding: .7rem .8rem; font: inherit; font-size: 16px;
  border: 1px solid #cfd8e0; border-radius: 10px; background: #fff; color: #151515; }
.v2-rr .v2-rr-ds { display: flex; gap: .6rem; align-items: flex-start; min-height: 44px; margin: .9rem 0 .2rem; font-size: .88rem; font-weight: 400; color: #3f4f5a; }
.v2-rr .v2-rr-ds input { width: 22px; height: 22px; flex: 0 0 22px; margin: .1rem 0 0; }
.v2-rr-ds a, .v2-rr-hinweis a, .data-note a { text-decoration: underline; text-underline-offset: 2px; }
.v2-rr button { width: 100%; min-height: 52px; margin-top: .8rem; border: 0; border-radius: 10px; background: var(--v2-petrol, #004a59); color: #fff; font: inherit; font-weight: 700; font-size: 1.02rem; cursor: pointer; }
.v2-rr button:hover { background: #00303a; }
.v2-rr button[disabled] { opacity: .6; cursor: default; }
.v2-rr-hinweis { margin: .7rem 0 0; font-size: .82rem; color: #54636f; text-align: center; }
.v2-hero-rr { margin: .9rem 0 0; font-size: .95rem; color: rgba(255, 255, 255, .88); }
.v2-hero-rr a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 4a Belege (Vertrauen ohne Personenfotos) ---------- */
.v2-belege { padding: 2.4rem 0; background: #fff; }
.v2-belege-wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.2rem; }
.v2-belege-titel { margin: 0 0 1.2rem; text-align: center; font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); color: var(--v2-petrol-tief, #0b2a33); font-weight: 750; }
.v2-belege-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 640px) { .v2-belege-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .v2-belege-liste { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.v2-belege-liste li { display: flex; }
.v2-belege-liste a { display: flex; flex-direction: column; justify-content: flex-start; gap: .2rem; width: 100%; min-height: 44px;
  padding: 1rem 1.05rem; border: 1px solid #e3e8ec; border-top: 3px solid var(--v2-gold, #c9a961); border-radius: 12px;
  background: #fbfaf7; color: inherit; text-decoration: none; transition: transform .2s ease-out; }
.v2-belege-liste a, .v2-belege-liste a span { text-decoration: none !important; }
.v2-belege-liste a .v2-beleg-quelle { text-decoration: underline !important; text-underline-offset: 3px; }
.v2-belege-liste a:hover { transform: translateY(-2px); }
.v2-belege-liste a:focus-visible { outline: 3px solid var(--v2-gold, #c9a961); outline-offset: 2px; }
.v2-beleg-wert { font-size: 1.2rem; font-weight: 750; color: var(--v2-petrol-tief, #0b2a33); line-height: 1.25; }
.v2-beleg-text { font-size: .9rem; color: #3f4f5a; line-height: 1.45; }
.v2-beleg-quelle { margin-top: auto; padding-top: .35rem; font-size: .78rem; color: #5b6b70; }
.v2-belege-stand { margin: .9rem 0 0; font-size: .8rem; color: #5b6b70; text-align: center; }

/* ---------- 4b Ablauf "So arbeiten wir" ---------- */
.v2-ablauf { padding: 3rem 0; background: #f6f8f9; }
.v2-ablauf-wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.2rem; }
.v2-ablauf-kopf { text-align: center; max-width: 720px; margin: 0 auto 1.6rem; }
.v2-ablauf-kopf h2 { margin: .4rem 0 .5rem; color: var(--v2-petrol-tief, #0b2a33); font-weight: 750; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.2rem); text-align: center; }
.v2-ablauf-kopf p { margin: 0; color: #3f4f5a; }
.v2-ablauf-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: .9rem; counter-reset: schritt; }
@media (min-width: 768px) { .v2-ablauf-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .v2-ablauf-liste { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.v2-ablauf-liste li { position: relative; display: flex; flex-direction: column; padding: 1.2rem 1.1rem 1.1rem; background: #fff; border: 1px solid #e3e8ec; border-radius: 12px; counter-increment: schritt; }
.v2-ablauf-liste li::before { content: counter(schritt); display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; margin-bottom: .6rem;
  border-radius: 50%; background: var(--v2-petrol, #004a59); color: #fff; font-weight: 700; }
.v2-ablauf-liste h3 { margin: 0 0 .4rem; font-size: 1.05rem; color: #151515; }
.v2-ablauf-liste p { margin: 0; font-size: .92rem; line-height: 1.55; color: #3f4f5a; }
.v2-ablauf-liste a { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; padding-top: .4rem; font-weight: 600; color: var(--v2-petrol, #004a59); }

/* ---------- 4c Verkäufe mit Stadtteil ---------- */
.v2-st-ref { padding: 2.6rem 0; }
.v2-st-ref-wrap { max-width: 1180px; margin: 0 auto; padding: 0 1.2rem; }
.v2-st-ref-kopf { text-align: center; max-width: 720px; margin: 0 auto 1.3rem; }
.v2-st-ref-kopf h2 { margin: .4rem 0 .4rem; color: var(--v2-petrol-tief, #0b2a33); font-weight: 750; font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2rem); text-align: center; }
.v2-st-ref-kopf p { margin: 0; color: #3f4f5a; font-size: .95rem; }
.v2-st-ref-liste { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 280px)); justify-content: center; gap: 1rem; }
.v2-st-ref-liste li { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e8ec; border-radius: 12px; overflow: hidden; }
.v2-st-ref-liste img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.v2-st-ref-text { display: flex; flex-direction: column; gap: .15rem; padding: .8rem .95rem 1rem; }
.v2-st-ref-marke { display: inline-flex; align-items: center; gap: .3rem; align-self: flex-start; padding: .15rem .55rem; border-radius: 999px; background: var(--v2-petrol, #004a59); color: #fff; font-size: .78rem; font-weight: 700; }
.v2-st-ref-art { font-weight: 700; color: #151515; }
.v2-st-ref-daten { font-size: .9rem; color: #3f4f5a; }
.v2-st-ref-text a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--v2-petrol, #004a59); }
.v2-st-ref-quelle { margin: 1rem auto 0; max-width: 760px; font-size: .8rem; color: #5b6b70; text-align: center; }

@media (prefers-reduced-motion: reduce) { .v2-belege-liste a { transition: none; } .v2-belege-liste a:hover { transform: none; } }

/* ---------- 27.09.2026 (Eugen): Fußbereich kompakter (heller Themenblock .vsm und dunkler Fuß .vfoot) ----------
   Max-3 hatte jedem Fußlink 44 px Mindesthöhe gegeben, auch am Desktop: Zeilenabstand 44 bzw. 53 px.
   Desktop (Maus): 28 px Mindesthöhe (über WCAG 2.5.8 mit 24 px), weniger Innenabstand.
   Handy: 44 px Tipp-Ziele bleiben, dafür Listen zweispaltig. Nichts entfernt, nur Abstände und Spalten. */
@media (min-width: 769px) {
  .vsm { padding: 2rem 0 1.6rem; }
  .vsm .vsm-leistung { margin: 0 0 1.1rem; padding: 0 0 .9rem; }
  .vsm h3 { margin: 0 0 .35rem; }
  .vsm ul { gap: 0; }
  .vsm .vsm-leistung ul { gap: 0 1.6rem; }
  .vsm a { min-height: 28px; line-height: 1.35; }
  .vfoot { padding-top: 2.2rem; }
  .vfoot .vf-brand img { margin-bottom: 10px; }
  .vfoot h2.vf-h { margin-bottom: 6px; }
  .vfoot li, .vfoot .vf-contact div { margin-bottom: 2px; }
  .vf-col ul a, .vf-contact a { min-height: 28px; }
  .vfoot .vf-bottom { margin-top: 1.4rem; padding: 8px 0; }
}
@media (max-width: 768px) {
  .vsm { padding: 1.6rem 0 1.2rem; }
  .vsm .vsm-leistung { margin: 0 0 1rem; padding: 0 0 .8rem; }
  .vfoot { padding-top: 2rem; }
  .vfoot .vf-grid { gap: 18px; }
  .vfoot .vf-bottom { margin-top: 1.2rem; }
}
@media (max-width: 560px) {
  .vsm-grid { gap: 1rem; }
  .vsm-col ul { display: block; column-count: 2; column-gap: 1rem; }
  .vsm li { break-inside: avoid; }
}
@media (max-width: 520px) {
  .vfoot .vf-col:not(.vf-contact) ul { column-count: 2; column-gap: 1rem; }
  .vfoot li { break-inside: avoid; }
}
/* 27.09.2026: Bewertungen im Fuß verlinkt (Profil Google, Trustpilot), gleiche Ziele wie Baustein belege. */
.vfoot .vf-badges a { color: rgba(255,255,255,.85); font-weight: 600; text-decoration: none; gap: 4px; }
.vfoot .vf-badges a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 769px) { .vfoot .vf-badges a { min-height: 28px; } }
/* 27.09.2026 (Eugen): Silbentrennung in Überschriften nur noch am Handy (verhindert dort Überlauf). Am Desktop trennte sie
   "Verantwortungsbewusst-sein" und "Eigentumswohnun-gen", obwohl Platz für eine neue Zeile war. */
@media (min-width: 769px) { h1, h2, h3 { -webkit-hyphens: manual; hyphens: manual; } }
/* 27.09.2026 (Eugen): Menü "Kontakt aufnehmen": Einträge mit Symbol standen mittig zwischen Symbol und Pfeil, jetzt linksbündig wie alle Spalten (WhatsApp war schon so). */
.mm-link:has(> .mm-ico) { justify-content: flex-start; gap: .4rem; }
.mm-link:has(> .mm-ico)::after { margin-left: auto; }
/* Quelle: /assets/v2/s1.css */
/* VIMMOVI S1 Sicht-Runde (27.09.2026): letzte Schicht jedes Bündels (nach max3.css), eingebunden über _build/css.json.
   Jede Regel behebt einen Befund aus den Screenshots (werkzeug/s1/funde, Galerie sessions_output/2026-09-27_vimmovi-s1-sicht).
   Nichts wird entfernt oder versteckt; Motion nur transform, bei reduzierter Bewegung keine. */

/* ---------- f: Überschriften ohne Silbentrennung, ohne Waisen ----------
   Max-3 erlaubte Silbentrennung am Handy; das trennte auch kurze Wörter ("ehr-lich", "Es-sen", "Ver-kauf") und Wörter an
   falscher Stelle ("Einfamili-enhäuser"). Jetzt: nie automatisch trennen; lange Zusammensetzungen tragen im HTML ein weiches
   Trennzeichen an der Wortfuge (Eigentums|wohnungen), das der Browser nur nutzt, wenn das Wort nicht passt.
   text-wrap: balance verteilt mehrzeilige Überschriften gleichmäßig (keine einzelnen Wörter in der letzten Zeile). */
h1, h2, h3, h4, .v2-beleg-wert, .mcta-headline { -webkit-hyphens: manual; hyphens: manual; text-wrap: balance; }
/* Telefonnummern: geschütztes Leerzeichen im HTML (0201&nbsp;89099980), kein nowrap auf ganzen Knöpfen (Überlauf bei 320 px) */

/* ---------- e: Überschriften liegen beim Scrollen nicht mehr auf dem Text ----------
   Die scrollgesteuerte Einblendung (v2-rise, 40 px) bewegte h2 unabhängig vom folgenden Absatz: kurz vor dem Einrasten lag
   die Überschrift auf der ersten Textzeile (Ratgeber, FAQ-Köpfe, Rechtstexte). h2 bewegt sich jetzt nur noch mit ihrem
   Abschnittskopf (.section-intro) bzw. ihrer Karte. */
@supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) {
  .section h2 { animation: none; }
} }

/* ---------- b: Hero mit linksbündigem Text: Dachzeile, Liste, Bewertung und Knöpfe an derselben Kante ----------
   Betrifft /verkaufen/, /wertermittlung/, Ratgeber, Stadtteile, Objektarten (Wrapper .hero-content-centered): die Dachzeile und
   die Häkchenliste standen mittig, Überschrift und Text linksbündig. */
.hero .hero-content-centered { text-align: left; }
.hero .hero-content-centered .hero-ctas, .hero .hero-content-centered .hero-nutzen, .hero .hero-content-centered .hero-vertrauen,
.hero .hero-content-centered .hero-trust { justify-content: flex-start; }
.hero .hero-content-centered .hero-subtitle, .hero .hero-content-centered .hero-vertrauen { margin-left: 0; margin-right: 0; }
.hero .hero-content-centered .hero-nutzen { padding-left: 0; margin-left: 0; margin-right: 0; max-width: none; }

/* ---------- c: Abschnittsköpfe: Untertitel klebte an der Überschrift ---------- */
.section-intro h2 + p, .section-intro h2 + .section-sub { margin-top: .6rem; }
.faq-section .section-intro, .faq-head { margin-bottom: 1.6rem; }

/* ---------- c/d: Fußbereich am Handy: Kontaktzeilen gleichmäßig, Cookie-Einstellungen nicht getrennt ---------- */
@media (max-width: 768px) {
  .vfoot .vf-contact div { display: flex; align-items: center; min-height: 44px; margin: 0; }
  .vfoot .vf-contact div a { min-height: 44px; line-height: 1.3; }
  .vsm li a { overflow-wrap: normal; }
}

/* ---------- d: Kontaktseite: Formular füllt die Spalte, Seitenleiste bleibt beim Scrollen neben dem Formular ---------- */
@media (min-width: 900px) {
  .content-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 2.5rem; align-items: start; }
  .content-layout .contact-form { max-width: none; }
  .content-layout > aside { position: sticky; top: 112px; }
}
/* b: Formularüberschrift linksbündig wie die Felder, mit Abstand */
.contact-form > h2 { text-align: left; margin-bottom: 1.2rem; }
/* i: gleiche Einwilligungs-Kästchen und Schrift wie im Rückruf-Formular */
.contact-form .checkbox-label { font-weight: 400; color: #3f4f5a; font-size: .92rem; line-height: 1.5; min-height: 44px; }
.contact-form .checkbox-label input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; margin: .1rem 0 0; }
.vm-rr .vm-rr-ds, .vm-rueckruf .vm-rr-ds { font-weight: 400; }
.vm-rr-ds input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; }

/* ---------- b/d: Verwaltung: Schritt- und Vorteilskarten volle Breite, linksbündig, zwei Spalten statt vier schmaler ---------- */
.process-grid .step, .why-grid .why-card { max-width: none; text-align: left; }
.process-grid .step .step-num { margin-left: 0; }
.why-grid .why-card .why-icon { display: inline-flex; }
@media (min-width: 700px) {
  .process-grid, .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; }
}
.lead-card .lc-icon + p { margin-top: .4rem; }

/* ---------- d: Wert-Abschnitt Startseite, Stadtteile, Objektarten: rechte Spalte als Karte statt freischwebend ---------- */
.valuation-tool-card:not(:has(.valuation-tool-card)) { background: #fff; border: 1px solid #e3e8ec; border-top: 4px solid var(--v2-gold, #c9a961);
  border-radius: 14px; padding: 2rem 1.6rem; box-shadow: 0 10px 30px rgba(11, 42, 51, .08); align-self: center; }

/* ---------- b: Blog: Kartentitel linksbündig wie Text und Link ---------- */
article.i-b90093b h2, article.i-3606391 h2, .blog-grid article h2 { text-align: left; }

/* ---------- b: Objektarten "Das vermarkten wir außerdem": Knöpfe und Satz mittig unter mittiger Überschrift ---------- */
.related-links { justify-content: center; text-align: center; }
.related-note { text-align: center; }

/* ---------- h/c: Verkaufte Objekte (Referenzen) im Wisch-Streifen mit Seitenrand ---------- */
.v2-ref .v2-ref-liste { scroll-padding-inline: 16px; }
/* am Handy etwas schmalere Karten: mit Rand bleibt die dritte Karte angeschnitten sichtbar (Hinweis, dass man wischen kann) */
@media (max-width: 600px) { .v2-ref .v2-ref-liste li { flex-basis: 148px; } .v2-ref .v2-ref-liste img { width: 148px; height: 99px; } }

@media (prefers-reduced-motion: reduce) { .content-layout > aside { position: static; } }

/* ---------- b/c: Rechtstexte: eine Textspalte, Überschriften linksbündig mit Abstand nach oben ---------- */
.legal-content h2, .legal-content h3, .legal-content h4 { text-align: left; }
.legal-content h2 { margin-top: 2.2rem; margin-bottom: .6rem; }
.legal-content h3 { margin-top: 1.4rem; margin-bottom: .4rem; }
.legal-content p + p, .legal-content p + ul, .legal-content ul + p { margin-top: .8rem; }
section.section:has(> .legal-content) { padding-top: 1.2rem; padding-bottom: 1.2rem; }

/* ---------- d: Wert-Abschnitt ohne rechte Spalte (zweiter Rechner-Knopf zusammengelegt): eine Spalte ---------- */
.valuation-grid:not(:has(> .valuation-tool-placeholder, > .valuation-tool-card, > .valuation-tool-anker)) { grid-template-columns: minmax(0, 1fr); max-width: 780px; margin-left: auto; margin-right: auto; }

/* ---------- c/d: Bewertungskarten (2 Stück) mittig statt Lücke im 3er-Raster ---------- */
.trust-cards-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 340px)); justify-content: center; }

/* ---------- b: Zusatzblock "Weitere Informationen" (FAQ) in der Inhaltsspalte statt randlos ---------- */
[data-pp-injected="content-padding"].i-5fefd4a { max-width: 800px; margin: 0 auto 2.5rem; padding: 1.5rem 1.2rem 2rem; box-sizing: content-box; }
[data-pp-injected="content-padding"].i-5fefd4a h2 { text-align: left; }

/* ---------- c: Abstand Text zu Knopf in Aufruf-Bändern ---------- */
.mcta-desc { margin-bottom: 1.2rem; }
/* Einwilligung: Kästchen links, Text läuft daneben um (kein Flex, sonst zerfällt der Satz mit Link in Spalten) */
.contact-form label.checkbox-label { display: block !important; position: relative; padding-left: 2.1rem; }
.contact-form label.checkbox-label input[type="checkbox"] { position: absolute; left: 0; top: .05rem; margin: 0; }

/* ---------- c: Wert-Kasten Stadtteile/Objektarten/Spezialfälle: Text klebte an der Überschrift ---------- */
.valuation-section h2 + p, .cta-banner-stadtteil h2 + p, .vm-wert-wrap h2 + p { margin-top: .7rem; }
/* ---------- d: Ablauf in fünf Schritten im Zweier-Raster (768 bis 1099 px): letzte Karte über die volle Breite statt Lücke ---------- */
@media (min-width: 768px) and (max-width: 1099px) { .v2-ablauf-liste li:last-child:nth-child(odd) { grid-column: 1 / -1; } }
/* ---------- b: Goldener Bogen unter mittig gesetzten Dachzeilen auch mittig (Belege-, Ablauf-, Referenz-Köpfe, Wert-Kästen) ---------- */
:is(.v2-st-ref-kopf, .v2-ablauf-kopf, .hub-head, .v2-ref-wrap, [class*="text-center"]) .section-eyebrow::after { left: 50%; margin-left: -24px; transform-origin: center; }
/* ---------- g: Objektlisten: Preis und Verkauft-Status lesbar (vorher Hellgold #c9a961 bzw. Hellgrün #10b981 auf Weiß) ---------- */
.vm-card-price { color: var(--v2-gold-text, #7c5f1d); }
.vm-card-price.is-sold { color: #0b6b4a; }
/* ---------- b: Hero-Knopfgruppe der Startseite passt ab 1200 px in eine Zeile (vorher 2 plus 1) ---------- */
@media (min-width: 1200px) { .hero .hero-ctas { gap: .6rem; } .hero .hero-ctas .btn { padding-left: 1.05rem; padding-right: 1.05rem; } }
/* ---------- f: Verwaltung: H1 "Ihre Immobilie. Unser Verantwortungsbewusstsein." brach bei 1440 und 1024 mitten im Wort, weil die
   Textspalte schmaler war als das Wort. Spalte breiter (rechts war ohnehin leer), am Handy trennt das weiche Trennzeichen. ---------- */
@media (min-width: 1024px) { .hero-verwaltung .hero-content-centered { max-width: 1000px; } .hero-verwaltung h1 { max-width: none; } }
[data-pp-injected="content-padding"].i-5fefd4a h2 { font-weight: 750; letter-spacing: -.02em; font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem); color: var(--v2-petrol-tief, #0b2a33); }
/* ---------- b/c: Verwaltung am Handy: Leistungskarten rechts nur 11 px Rand (langes Wort in der Kartenüberschrift weitete die Spalte),
   Text im Schluss-Aufruf fast ohne Seitenrand ---------- */
@media (max-width: 760px) {
  .leistung-grid { grid-template-columns: minmax(0, 1fr); }
  .leistung-col { padding: 1.5rem 1.25rem; min-width: 0; }
  .leistung-col h4 { overflow-wrap: anywhere; }
}
@media (max-width: 768px) { .cta-final .container { padding-left: 24px; padding-right: 24px; } }
/* ---------- b: Ratgeber-Artikel: Zwischenüberschriften linksbündig über linksbündigem Text (vorher mittig durch die allgemeine h2-Regel
   der Abschnitte) ---------- */
.ratgeber-article h2, .ratgeber-article h3, .ratgeber-article .v2-antwort h2 { text-align: left; }
/* ---------- f: lange Wörter in Überschriften: am Handy notfalls brechen statt die Spalte zu verbreitern (Verrentung, Zwangsversteigerung:
   Hero 4 bis 13 px über den Rand); am Desktop H1/H2 ohne jede Trennung, auch nicht am weichen Trennzeichen (text-wrap: balance hatte
   "Eigentums-/wohnungen" gewählt, obwohl Platz war) ---------- */
@media (max-width: 768px) { h1, h2, h3 { overflow-wrap: anywhere; } }
@media (min-width: 769px) { h1, h2 { -webkit-hyphens: none; hyphens: none; } }
/* ---------- i: Abschnitt "Warum Sie uns kontaktieren sollten" / "Warum wir der richtige Partner sind": gleiche H2-Stärke wie alle H2 ---------- */
.wy-wrap h2 { font-weight: 750; letter-spacing: -.02em; }
/* ---------- e: /wertermittlung/ am Handy: drei Kontaktkarten nebeneinander waren zu schmal (Telefonnummer lief in die Nachbarkarte,
   Adresse über den Rand); untereinander bis 600 px ---------- */
@media (max-width: 600px) { .kontakt-grid-minimal { grid-template-columns: minmax(0, 1fr); } }
.kontakt-card-value { overflow-wrap: anywhere; }

/* ---------- f: Ortsnamen mit Bindestrich in Überschriften unteilbar (Essen-West, Essen-Stadtmitte) ---------- */
.v2-nw { white-space: nowrap; }
