/*
Theme Name: Florian Dankert Brandschutz
Theme URI: https://www.floriandankert.de
Author: Florian Dankert
Author URI: https://www.floriandankert.de
Description: Professionelles Brandschutz-Theme – Brandschutzhelferausbildung & Evakuierungsübungen im Elbe-Weser-Dreieck. Rot & Dunkelgrau, conversionoptimiert, SEO-ready.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: Privat
Text Domain: fd-brandschutz
*/

:root{--rot:#C0392B;--rot-dunkel:#922B21;--rot-hell:#E74C3C;--grau:#1C1C1C;--grau-soft:#F5F4F2;--grau-border:#E0DEDA;--weiss:#FAFAF8;--text:#1C1C1C;--text-light:#5A5A5A;--nav-h:68px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--weiss);overflow-x:hidden;padding-top:var(--nav-h)}
img{max-width:100%;height:auto;display:block}a{color:inherit}ul{list-style:none}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:rgba(28,28,28,.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--rot);display:flex;align-items:center;justify-content:space-between;padding:0 2rem}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.nav-logo-text{display:flex;flex-direction:column;line-height:1}
.nav-logo-name{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:#FFF;letter-spacing:2px}
.nav-logo-sub{font-size:.55rem;color:var(--rot);letter-spacing:3px;text-transform:uppercase;font-weight:600}
.nav-menu{display:flex;align-items:center;gap:1.8rem}
.nav-menu a{color:#CCC;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;transition:color .2s}
.nav-menu a:hover{color:var(--rot)}
.nav-cta-btn{background:var(--rot)!important;color:#FFF!important;padding:8px 20px!important;border-radius:3px!important;font-weight:600!important}
.nav-cta-btn:hover{background:var(--rot-dunkel)!important}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:#FFF;transition:.3s}
.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;z-index:199;background:rgba(28,28,28,.98);flex-direction:column}
.mobile-menu.open{display:flex}
.mobile-menu a{color:#CCC;text-decoration:none;padding:16px 2rem;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s}
.mobile-menu a:hover{color:var(--rot)}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--rot);color:#FFF;padding:15px 32px;font-size:.95rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;border-radius:3px;transition:background .2s,transform .15s;font-family:'DM Sans',sans-serif}
.btn-primary:hover{background:var(--rot-dunkel);transform:translateY(-2px);color:#FFF}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#FFF;padding:15px 28px;font-size:.95rem;font-weight:500;text-decoration:none;border:1.5px solid rgba(255,255,255,.25);border-radius:3px;transition:border-color .2s,transform .15s}
.btn-outline:hover{border-color:var(--rot);transform:translateY(-2px);color:#FFF}
.btn-group{display:flex;gap:12px;flex-wrap:wrap}
.section{padding:100px 2rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--rot);margin-bottom:.8rem}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;margin-bottom:1.2rem}
.section-title em{color:var(--rot);font-style:normal}
.section-intro{font-family:'Crimson Pro',serif;font-size:1.15rem;color:var(--text-light);line-height:1.8;max-width:680px}
.section--dark{background:var(--grau);color:#FFF}.section--dark .section-title{color:#FFF}
.section--soft{background:var(--grau-soft)}
.hero{min-height:calc(100vh - var(--nav-h));background:var(--grau);position:relative;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(192,57,43,.18) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 20% 80%,rgba(192,57,43,.10) 0%,transparent 55%),linear-gradient(165deg,#1C1C1C 0%,#2A2A2A 50%,#1A1A1A 100%)}
.hero-grid{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:60px 60px}
.hero-accent-line{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rot-dunkel),var(--rot),var(--rot-hell))}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:80px 2rem;display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.4);color:#E88;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:2px;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .1s ease forwards}
.hero-badge::before{content:'●';color:var(--rot);font-size:.6rem}
.hero-headline{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;color:#FFF;letter-spacing:1px;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .2s ease forwards}
.hero-headline em{color:var(--rot);font-style:normal}
.hero-sub{font-family:'Crimson Pro',serif;font-size:1.25rem;color:#AAA;line-height:1.75;max-width:540px;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .3s ease forwards}
.hero-region{display:flex;align-items:center;gap:8px;color:#888;font-size:.82rem;margin-bottom:2rem;opacity:0;animation:fadeUp .8s .35s ease forwards}
.hero-region::before{content:'📍'}
.hero-buttons{opacity:0;animation:fadeUp .8s .4s ease forwards}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden;opacity:0;animation:fadeUp .8s .5s ease forwards}
.stat-item{padding:28px 24px;background:rgba(255,255,255,.03)}
.stat-number{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;color:var(--rot);line-height:1;display:block}
.stat-label{color:#888;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;margin-top:4px;display:block}
.hero-trust{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:10px;opacity:0;animation:fadeUp .8s .6s ease forwards}
.trust-tag{display:flex;align-items:center;gap:6px;color:#888;font-size:.76rem}
.trust-tag::before{content:'✓';color:var(--rot);font-weight:700}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:60px}
.about-text p{font-family:'Crimson Pro',serif;font-size:1.15rem;line-height:1.85;color:#3A3A3A;margin-bottom:1.4rem}
.about-text p strong{color:var(--grau)}
.credentials{display:flex;flex-direction:column;gap:1px}
.credential-item{display:flex;gap:16px;align-items:flex-start;padding:20px 24px;background:var(--weiss);border-left:3px solid var(--rot);transition:box-shadow .2s}
.credential-item:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.cred-icon{font-size:1.6rem;flex-shrink:0;margin-top:2px}
.cred-title{font-weight:600;font-size:.95rem;color:var(--grau);margin-bottom:3px}
.cred-desc{font-size:.85rem;color:var(--text-light);line-height:1.5}
.leistungen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:60px;background:var(--grau-border);border:1px solid var(--grau-border)}
.leistung-card{background:var(--weiss);padding:48px 40px;position:relative;overflow:hidden;transition:background .25s}
.leistung-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--rot);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.leistung-card:hover::before{transform:scaleX(1)}
.leistung-card:hover{background:var(--grau-soft)}
.card-number{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:rgba(192,57,43,.1);line-height:1;position:absolute;top:20px;right:30px}
.card-icon{font-size:2.2rem;margin-bottom:1rem}
.card-title{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--grau);letter-spacing:.5px;margin-bottom:.8rem}
.card-text{font-family:'Crimson Pro',serif;font-size:1.05rem;color:var(--text-light);line-height:1.75;margin-bottom:1.4rem}
.card-list{display:flex;flex-direction:column;gap:6px}
.card-list li{font-size:.88rem;color:var(--text-light);display:flex;align-items:center;gap:8px}
.card-list li::before{content:'▸';color:var(--rot);font-size:.8rem;flex-shrink:0}
.warum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:rgba(255,255,255,.06)}
.warum-item{padding:40px 32px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);transition:background .25s}
.warum-item:hover{background:rgba(192,57,43,.08)}
.warum-icon{font-size:2rem;margin-bottom:1rem}
.warum-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:#FFF;letter-spacing:.5px;margin-bottom:.7rem}
.warum-text{font-family:'Crimson Pro',serif;font-size:1rem;color:#AAA;line-height:1.7}
.pflicht-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:60px}
.pflicht-box{background:var(--weiss);border:1px solid var(--grau-border);border-left:4px solid var(--rot);padding:40px}
.pflicht-box h3{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--grau);margin-bottom:1rem}
.pflicht-box p{font-family:'Crimson Pro',serif;font-size:1.05rem;color:var(--text-light);line-height:1.75;margin-bottom:1rem}
.law-tag{display:inline-block;background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.3);color:var(--rot-dunkel);font-size:.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:2px;margin-bottom:1rem}
.pflicht-quote{background:var(--grau);color:#FFF;padding:48px;position:relative;overflow:hidden}
.pflicht-quote::before{content:'"';font-family:'Crimson Pro',serif;font-size:8rem;color:var(--rot);position:absolute;top:-10px;left:30px;line-height:1;opacity:.3}
.quote-text{font-family:'Crimson Pro',serif;font-size:1.3rem;font-style:italic;color:#FFF;line-height:1.7;margin-bottom:1rem;position:relative;z-index:1}
.quote-source{font-size:.8rem;color:#888;letter-spacing:.5px}
.ablauf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;position:relative}
.ablauf-steps::before{content:'';position:absolute;top:32px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--rot),var(--rot-hell));z-index:0}
.step{text-align:center;padding:0 20px;position:relative;z-index:1}
.step-num{width:64px;height:64px;background:var(--rot);color:#FFF;font-family:'Bebas Neue',sans-serif;font-size:1.8rem;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto 1.5rem;border:4px solid var(--weiss);box-shadow:0 0 0 2px var(--rot)}
.step-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:var(--grau);letter-spacing:.5px;margin-bottom:.5rem}
.step-text{font-size:.88rem;color:var(--text-light);line-height:1.6}
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:60px}
.region-text{font-family:'Crimson Pro',serif;font-size:1.15rem;color:#AAA;line-height:1.8;margin-bottom:1.5rem}
.region-text strong{color:#DDD}
.region-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:48px;text-align:center}
.region-cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:2rem}
.city-tag{background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.3);color:#EEE;padding:8px 16px;font-size:.85rem;font-weight:500;border-radius:2px;text-decoration:none}
.city-tag:hover{background:rgba(192,57,43,.25)}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:60px;align-items:start}
.k-info h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--grau);margin-bottom:1rem}
.k-info p{font-family:'Crimson Pro',serif;font-size:1.1rem;color:var(--text-light);line-height:1.75;margin-bottom:2rem}
.k-detail{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--grau-border)}
.k-detail-icon{font-size:1.4rem;flex-shrink:0}
.k-detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--rot);font-weight:600;margin-bottom:3px}
.k-detail-value{font-size:.95rem;color:var(--grau);font-weight:500}
.k-detail-value a{text-decoration:none;color:var(--grau)}
.k-detail-value a:hover{color:var(--rot)}
.contact-form-box{background:var(--weiss);border:1px solid var(--grau-border);padding:48px}
.contact-form-box h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--grau);margin-bottom:.4rem}
.form-subtitle{font-family:'Crimson Pro',serif;font-size:1rem;color:var(--text-light);margin-bottom:2rem}
.wpcf7-form .form-row,.fd-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wpcf7-form .form-group,.fd-form .form-group{margin-bottom:14px}
.wpcf7-form label,.fd-form label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-bottom:6px}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form select,.wpcf7-form textarea,.fd-form input,.fd-form select,.fd-form textarea{width:100%;padding:12px 16px;border:1.5px solid var(--grau-border);background:var(--weiss);font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text);outline:none;border-radius:2px;transition:border-color .2s;-webkit-appearance:none}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus,.fd-form input:focus,.fd-form select:focus,.fd-form textarea:focus{border-color:var(--rot)}
.wpcf7-form textarea,.fd-form textarea{resize:vertical;min-height:120px}
.wpcf7-form input[type=submit],.wpcf7-submit,.fd-form .form-submit{width:100%;padding:15px;background:var(--rot);color:#FFF;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;border-radius:3px;transition:background .2s,transform .15s;margin-top:8px}
.wpcf7-form input[type=submit]:hover,.wpcf7-submit:hover,.fd-form .form-submit:hover{background:var(--rot-dunkel);transform:translateY(-1px)}
.form-note{font-size:.75rem;color:#999;margin-top:10px;text-align:center}
.wpcf7-response-output{margin-top:12px;padding:12px 16px;border-radius:3px;font-size:.9rem}
.stadt-hero{min-height:85vh;background:var(--grau);position:relative;overflow:hidden;display:flex;align-items:center}
.stadt-hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:80px 2rem;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center}
.breadcrumb{font-size:.75rem;color:#666;margin-bottom:1.2rem}
.breadcrumb a{color:#888;text-decoration:none}
.breadcrumb a:hover{color:var(--rot)}
.breadcrumb span{color:#555;margin:0 6px}
.city-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.4);color:#E88;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:2px;margin-bottom:1.2rem}
.city-badge::before{content:'📍';font-size:.9rem}
.hero-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:36px 28px}
.hero-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:#FFF;letter-spacing:1px;margin-bottom:1rem}
.hero-feature{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hero-feature:last-child{border-bottom:none}
.hf-icon{font-size:1.3rem;flex-shrink:0}
.hf-text{font-size:.88rem;color:#AAA;line-height:1.5}
.hf-text strong{color:#DDD;font-weight:500;display:block;margin-bottom:2px}
.warum-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:48px;background:var(--grau-border)}
.warum-card-light{background:var(--weiss);padding:36px 32px}
.warum-card-light .w-icon{font-size:1.8rem;margin-bottom:.8rem}
.warum-card-light h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--grau);letter-spacing:.5px;margin-bottom:.6rem}
.warum-card-light p{font-family:'Crimson Pro',serif;font-size:1.05rem;color:var(--text-light);line-height:1.7}
.leistungen-list{margin-top:48px;display:flex;flex-direction:column;gap:2px}
.leistung-item{background:var(--grau-soft);border-left:4px solid var(--rot);padding:32px 36px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;transition:background .2s}
.leistung-item:hover{background:#EDECEA}
.l-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:rgba(192,57,43,.25);line-height:1}
.l-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--grau);letter-spacing:.5px;margin-bottom:.5rem}
.l-text{font-family:'Crimson Pro',serif;font-size:1.05rem;color:var(--text-light);line-height:1.7}
.gesetz-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:48px}
.gesetz-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:36px}
.gesetz-box h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:#FFF;letter-spacing:.5px;margin-bottom:1rem}
.gesetz-box p{font-family:'Crimson Pro',serif;font-size:1.05rem;color:#AAA;line-height:1.75;margin-bottom:.8rem}
.ablauf-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:48px;background:var(--grau-border)}
.ablauf-item{background:var(--weiss);padding:32px 24px;text-align:center}
.a-num{width:52px;height:52px;background:var(--rot);color:#FFF;font-family:'Bebas Neue',sans-serif;font-size:1.6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.a-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--grau);letter-spacing:.5px;margin-bottom:.5rem}
.a-text{font-size:.85rem;color:var(--text-light);line-height:1.6}
.staedte-grid{display:flex;flex-wrap:wrap;gap:10px}
.stadt-link{background:var(--weiss);border:1px solid var(--grau-border);color:var(--grau);text-decoration:none;padding:10px 18px;font-size:.88rem;font-weight:500;border-radius:2px;transition:all .2s}
.stadt-link:hover{background:var(--rot);color:#FFF;border-color:var(--rot)}
.stadt-link.active{background:var(--rot);color:#FFF;border-color:var(--rot)}
.page-hero{background:var(--grau);padding:80px 2rem 60px;position:relative;overflow:hidden;border-bottom:3px solid var(--rot)}
.page-hero-inner{max-width:900px;margin:0 auto;position:relative;z-index:1}
.page-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,5rem);color:#FFF;line-height:1;letter-spacing:1px}
.page-hero .page-label{font-size:.72rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--rot);display:block;margin-bottom:.8rem}
.legal-content{max-width:900px;margin:0 auto;padding:70px 2rem 100px}
.legal-section{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--grau-border)}
.legal-section:last-child{border-bottom:none;margin-bottom:0}
.legal-heading{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--grau);letter-spacing:.5px;margin-bottom:1.2rem;display:flex;align-items:center;gap:10px}
.legal-heading::before{content:'';display:block;width:4px;height:24px;background:var(--rot);flex-shrink:0;border-radius:2px}
.legal-prose{font-family:'Crimson Pro',serif;font-size:1.05rem;color:var(--text-light);line-height:1.85}
.legal-prose p{margin-bottom:1rem}
.legal-prose p:last-child{margin-bottom:0}
.legal-prose a{color:var(--rot);text-decoration:none}
.legal-prose a:hover{text-decoration:underline}
.legal-prose strong{color:var(--grau);font-weight:600}
.legal-prose ul{padding-left:1.5rem;margin:.8rem 0}
.legal-prose ul li{margin-bottom:.4rem}
.legal-prose h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--grau);margin:2rem 0 1rem}
.legal-prose h3{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--grau);margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:.5px}
.info-box{background:var(--grau-soft);border:1px solid var(--grau-border);border-left:3px solid var(--rot);padding:20px 24px;margin:1.5rem 0;font-family:'Crimson Pro',serif;font-size:1rem;color:var(--text-light);line-height:1.7}
.info-box strong{color:var(--grau)}
.rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:1.5rem 0;background:var(--grau-border)}
.rights-item{background:var(--weiss);padding:20px 22px}
.rights-item h4{font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:600;color:var(--grau);margin-bottom:.4rem;display:flex;align-items:center;gap:6px}
.rights-item h4::before{content:'✓';color:var(--rot);font-size:.8rem}
.rights-item p{font-family:'Crimson Pro',serif;font-size:.95rem;color:var(--text-light);line-height:1.6}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.site-footer{background:#111;color:#888;padding:56px 2rem 32px;border-top:2px solid var(--rot)}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:32px}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.footer-logo-name{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:#FFF;letter-spacing:2px}
.footer-logo-sub{font-size:.55rem;color:var(--rot);letter-spacing:3px;text-transform:uppercase;font-weight:600}
.footer-desc{font-family:'Crimson Pro',serif;font-size:1rem;color:#666;line-height:1.7;max-width:300px}
.footer-col h4{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#CCC;margin-bottom:1rem}
.footer-col a{display:block;color:#666;text-decoration:none;font-size:.88rem;margin-bottom:8px;transition:color .2s}
.footer-col a:hover{color:var(--rot)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.82rem;color:#555}
.footer-bottom a{color:#555;text-decoration:none;font-size:.82rem;transition:color .2s}
.footer-bottom a:hover{color:var(--rot)}
.footer-bottom-links{display:flex;gap:20px}
.sticky-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--grau);border-top:2px solid var(--rot);padding:12px 1.2rem}
.sticky-mobile-cta a{display:block;text-align:center;background:var(--rot);color:#FFF;padding:14px;font-weight:600;font-size:1rem;text-decoration:none;border-radius:3px}
.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1024px){.hero-content{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(2,1fr)}.about-grid,.pflicht-grid,.kontakt-grid,.region-grid{grid-template-columns:1fr;gap:40px}.leistungen-grid{grid-template-columns:1fr}.warum-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.nav-menu{display:none}.nav-toggle{display:flex}.sticky-mobile-cta{display:block}.site-footer{padding-bottom:80px}}
@media(max-width:768px){.section{padding:70px 1.2rem}.hero-content{padding:60px 1.2rem}.ablauf-steps,.ablauf-grid-4{grid-template-columns:1fr 1fr}.ablauf-steps::before{display:none}.warum-grid-2,.gesetz-grid-2,.rights-grid{grid-template-columns:1fr}.stadt-hero-inner{grid-template-columns:1fr}.contact-form-box{padding:28px 20px}.legal-content{padding:40px 1.2rem 80px}.wpcf7-form .form-row,.fd-form .form-row{grid-template-columns:1fr}}
@media(max-width:480px){.ablauf-steps,.ablauf-grid-4{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr 1fr}}
