*,::after,::before{margin:0;padding:0;box-sizing:border-box}:root{--slate:#192A3D;--slate-dark:#192A3D;--terracotta:#FD190D;--terracotta-light:#FD190D;--timber:#192A3D;--timber-light:#192A3D;--cream:#FAFBF9;--cream-dark:#FAFBF9;--charcoal:#192A3D;--white:#FFFFFF;--grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}html{scroll-behavior:smooth;font-size:18px;overflow-x:hidden}body{font-family:'Encode Sans Semi Condensed',sans-serif;background:var(--cream);color:#192a3d;overflow-x:hidden;line-height:1.6}body::before{content:'';position:fixed;inset:0;background:var(--grain);pointer-events:none;z-index:9999}#mainNav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.3rem 2rem;display:flex;justify-content:space-between;align-items:center;background:var(--white);box-shadow:0 1px 12px rgba(0,0,0,.06);transition:box-shadow .4s}#mainNav.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.08)}.logo{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.5rem;color:#192a3d;text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.logo-mark{width:36px;height:36px;background:var(--terracotta);clip-path:polygon(50% 0%,100% 35%,100% 100%,0% 100%,0% 35%);display:flex;align-items:center;justify-content:center}.logo-mark span{color:var(--white);font-size:1rem;margin-top:6px}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{color:#192a3d;text-decoration:none;font-size:1rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;position:relative;padding-bottom:2px}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--terracotta);transition:width .3s}.nav-links a:hover::after{width:100%}.nav-cta{background:var(--terracotta)!important;color:var(--white)!important;padding:.6rem 1.4rem!important;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);font-weight:700!important;transition:background .3s,transform .2s!important}.nav-cta:hover{background:#192a3d!important}.nav-cta::after{display:none!important}.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:0 0;border:none;padding:4px}.hamburger span{width:28px;height:3px;border-radius:2px;background:var(--slate-dark);transition:transform .3s,opacity .3s}.hamburger.active span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;z-index:999;background:var(--white);padding:5rem 1.5rem 2rem;flex-direction:column;box-shadow:0 12px 30px rgba(0,0,0,.12);transform:translateY(-100%);transition:transform .35s}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{color:#192a3d;text-decoration:none;font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem .25rem;border-bottom:1px solid rgba(0,0,0,.08)}.mobile-menu a.nav-cta{background:var(--terracotta);color:var(--white);text-align:center;border-bottom:none;margin-top:1.25rem;padding:1rem;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.hero{min-height:100vh;background:var(--slate-dark);position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg video{width:100%;height:100%;object-fit:cover}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,#000 0,rgba(0,0,0,.7) 55%,rgba(0,0,0,.2) 100%)}.hero-content{position:relative;z-index:2;padding:0 2rem 0 6vw;max-width:800px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:.4rem 1rem;border-radius:2px;margin-bottom:2rem;opacity:0;animation:.8s .2s forwards fadeUp}.hero-badge span{font-size:1rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.hero-badge-dot{width:6px;height:6px;background:var(--terracotta);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.hero h1{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2.2rem, 4.5vw, 4rem);color:var(--white);line-height:.95;letter-spacing:-.03em;margin-bottom:1.5rem;opacity:0;animation:.8s .4s forwards fadeUp}.hero h1 .accent{color:var(--terracotta-light);display:block}.hero-desc{font-size:1.125rem;color:rgba(255,255,255,.7);max-width:500px;margin-bottom:2.5rem;line-height:1.7;opacity:0;animation:.8s .6s forwards fadeUp}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:.8s .8s forwards fadeUp}.btn-primary{display:inline-flex;align-items:center;gap:.6rem;background:var(--terracotta);color:var(--white);padding:1rem 2rem;text-decoration:none;font-weight:700;font-size:1rem;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);transition:.3s;border:none;cursor:pointer}.btn-primary:hover{background:var(--timber)}.btn-primary svg{width:22px;height:22px;transition:transform .3s}.btn-primary:hover svg{transform:translateX(4px)}.btn-secondary{display:inline-flex;align-items:center;gap:.6rem;background:var(--white);color:#192a3d;padding:1rem 2rem;text-decoration:none;font-weight:600;font-size:1rem;border:2px solid rgba(255,255,255,.2);transition:.3s}.btn-secondary:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff;box-shadow:0 10px 28px rgba(214,41,41,.35)}.hero-stats{position:absolute;bottom:4rem;right:6vw;display:flex;gap:3rem;opacity:0;animation:.8s 1s forwards fadeUp}.hero-stat{text-align:right}.hero-stat-num{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:2.5rem;color:var(--white);line-height:1}.hero-stat-label{font-size:1rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.services{padding:7rem 2rem;background:var(--cream);position:relative}.section-header{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem;padding:0 2rem;max-width:1400px;margin-left:auto;margin-right:auto}.section-tag{font-size:1rem;text-transform:uppercase;letter-spacing:.15em;color:var(--terracotta);font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.section-tag::before{content:'';width:24px;height:2px;background:var(--terracotta)}.section-title{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2rem, 4vw, 3.2rem);line-height:1.05;letter-spacing:-.02em;color:#192a3d}.section-subtitle{font-size:1.05rem;color:#192a3d;line-height:1.7;max-width:420px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1400px;margin:0 auto;padding:0 2rem}.service-card{background:var(--white);padding:2.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.06);transition:box-shadow .3s;display:flex;flex-direction:column}.service-card:hover{box-shadow:0 8px 40px rgba(0,0,0,.1)}.service-icon{width:64px;height:64px;background:var(--slate-dark);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.service-icon svg{width:28px;height:28px;stroke:var(--white)}.service-card h3{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.25rem;margin-bottom:.75rem;color:#192a3d;letter-spacing:-.01em}.service-card p{font-size:1rem;color:#192a3d;line-height:1.7;margin-bottom:1.5rem}.service-link{font-size:1rem;font-weight:600;color:var(--terracotta);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;gap:.4rem;transition:gap .3s}.service-link:hover{color:#192a3d;gap:.8rem}.about{padding:7rem 2rem;background:var(--slate-dark);position:relative;overflow:hidden}.about-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}.about-images{position:relative;height:500px}.about-img{position:absolute;background:var(--slate);overflow:hidden}.about-img-main{width:70%;height:80%;top:0;left:0;clip-path:polygon(0 0,100% 0,85% 100%,0 100%)}.about-img-secondary{width:55%;aspect-ratio:1/1;height:auto;bottom:0;right:0;border:4px solid var(--terracotta)}.about-img img{width:100%;height:100%;object-fit:cover}.about-year{position:absolute;bottom:2rem;left:2rem;font-family:'Encode Sans Semi Condensed',sans-serif;font-size:5rem;color:rgba(214,41,41,.15);line-height:1}.about-text{color:var(--cream)}.about-text .section-tag{color:var(--terracotta-light)}.about-text .section-tag::before{background:var(--terracotta-light)}.about-text .section-title{color:var(--white);margin-bottom:1.5rem}.about-text p{font-size:1rem;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:1.5rem}.about-features{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}.about-feature{display:flex;align-items:flex-start;gap:.75rem}.about-feature-icon{width:32px;height:32px;min-width:32px;background:rgba(214,41,41,.15);display:flex;align-items:center;justify-content:center;margin-top:2px}.about-feature-icon svg{width:16px;height:16px;stroke:var(--terracotta-light)}.about-feature h4{font-size:1rem;font-weight:600;color:var(--white);margin-bottom:.2rem}.about-feature p{font-size:1rem!important;margin-bottom:0!important}.process{padding:7rem 2rem;background:var(--white)}.process-inner{max-width:1400px;margin:0 auto}.process .section-tag{color:var(--terracotta)}.process .section-tag::before{background:var(--terracotta)}.process .section-title{color:#192a3d}.process .section-subtitle{color:#192a3d}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem;position:relative}.process-steps::before{content:'';position:absolute;top:45px;left:12.5%;right:12.5%;height:2px;background:rgba(0,0,0,.08)}.step{text-align:center;position:relative}.step-num{width:90px;height:90px;margin:0 auto 1.5rem;background:var(--slate-dark);display:flex;align-items:center;justify-content:center;font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.75rem;font-weight:800;color:var(--white);position:relative;z-index:2;border-radius:50%}.step h3{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.25rem;font-weight:700;color:#192a3d;margin-bottom:.5rem}.step p{font-size:1rem;color:#192a3d;line-height:1.7;max-width:240px;margin:0 auto}.testimonials{padding:7rem 2rem;background:var(--cream);position:relative}.testimonials-inner{max-width:1400px;margin:0 auto}.testimonial-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.testimonial-controls{display:flex;gap:.75rem;flex-shrink:0}.slider-arrow{width:48px;height:48px;border:1px solid rgba(0,0,0,.15);background:var(--white);color:#192a3d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s,color .25s,opacity .25s}.slider-arrow:hover:not(:disabled){background:var(--terracotta);border-color:var(--terracotta);color:var(--white)}.slider-arrow:disabled{opacity:.3;cursor:not-allowed}.slider-arrow svg{width:22px;height:22px}.testimonial-slider{margin-top:3rem}.testimonial-viewport{overflow:hidden}.testimonial-track{display:flex;gap:1.5rem;transition:transform .5s cubic-bezier(.4, 0, .2, 1)}.testimonial-card{flex:0 0 calc((100% - 3rem)/ 3);box-sizing:border-box;background:var(--white);padding:2.5rem 2rem;position:relative;box-shadow:0 4px 24px rgba(0,0,0,.06);transition:box-shadow .3s}.google-badge{position:absolute;top:1.75rem;right:1.75rem;width:22px;height:22px}.testimonial-card:hover{box-shadow:0 8px 40px rgba(0,0,0,.1)}.testimonial-quote{font-size:2rem;color:var(--terracotta);font-family:Georgia,serif;line-height:1;margin-bottom:1rem}.testimonial-card p{font-size:1rem;color:#192a3d;line-height:1.7;margin-bottom:1.5rem;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:.75rem}.testimonial-avatar{width:44px;height:44px;background:var(--slate-dark);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center}.testimonial-avatar span{color:var(--white);font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1rem}.testimonial-name{font-weight:600;font-size:1rem;color:#192a3d}.testimonial-role{font-size:1rem;color:#192a3d}.stars{display:flex;gap:2px;margin-bottom:1rem}.stars svg{width:16px;height:16px;fill:#FBBC05}.review-cta{display:flex;justify-content:center;margin-top:3rem}.btn-google{display:inline-flex;align-items:center;gap:.75rem;background:var(--white);color:#192a3d;border:1px solid rgba(0,0,0,.15);padding:.95rem 1.75rem;font-weight:600;font-size:1rem;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.07);transition:box-shadow .25s,transform .25s}.btn-google:hover{box-shadow:0 10px 30px rgba(0,0,0,.13)}.btn-google svg{width:20px;height:20px}.anfrage{padding:7rem 2rem;background:var(--cream);position:relative}.anfrage-inner{max-width:820px;margin:0 auto}.anfrage-header{text-align:center;margin-bottom:3rem}.anfrage-header .section-tag{justify-content:center}.anfrage-header h2{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2rem, 4vw, 3.2rem);line-height:1.05;letter-spacing:-.02em;color:#192a3d;margin-top:.5rem}.anfrage-header p{color:rgba(25,42,61,.6);font-size:1.05rem;margin-top:1rem;line-height:1.6}.anfrage-card{background:var(--white);box-shadow:0 10px 50px rgba(0,0,0,.08);padding:3rem}.form-progress{display:flex;align-items:center;margin-bottom:2.5rem}.progress-step{display:flex;align-items:center;flex:1}.progress-step:last-child{flex:0 0 auto}.step-dot{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--cream);border:2px solid rgba(25,42,61,.15);color:rgba(25,42,61,.4);font-weight:700;font-family:'Encode Sans Semi Condensed',sans-serif;transition:background .3s,border-color .3s,color .3s}.step-line{flex:1;height:2px;background:rgba(25,42,61,.12);margin:0 .75rem;transition:background .3s}.progress-step.active .step-dot,.progress-step.done .step-dot{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.progress-step.done .step-line{background:var(--terracotta)}.form-step{display:none}.form-step.active{display:block;animation:.4s fadeUp}.form-step h3{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.5rem;color:#192a3d;margin-bottom:.4rem}.step-hint{color:rgba(25,42,61,.55);font-size:.95rem;margin-bottom:1.75rem}.form-group{margin-bottom:1.75rem}.group-label{display:block;font-weight:600;color:#192a3d;margin-bottom:.85rem;font-size:1rem}.chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.chip-grid.cols-3{grid-template-columns:repeat(3,1fr)}.chip{display:flex;align-items:center;gap:.6rem;border:1.5px solid rgba(25,42,61,.15);background:var(--white);color:#192a3d;padding:.85rem .9rem;font-size:.92rem;font-weight:500;text-align:left;cursor:pointer;font-family:inherit;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}.chip span{min-width:0}.chip:hover{border-color:var(--terracotta)}.chip.selected{border-color:var(--terracotta);background:var(--terracotta);color:#fff}.chip-icon{width:20px;height:20px;flex-shrink:0;color:var(--terracotta)}.chip.selected .chip-icon{color:#fff}.form-field{margin-bottom:1.25rem}.form-field label{display:block;font-weight:600;font-size:.9rem;color:#192a3d;margin-bottom:.5rem}.form-field label .req{color:var(--terracotta)}.form-field input,.form-field textarea{width:100%;box-sizing:border-box;border:1.5px solid rgba(25,42,61,.15);background:var(--cream);padding:.9rem 1rem;font-family:inherit;font-size:1rem;color:#192a3d;transition:border-color .2s,background .2s}.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--terracotta);background:var(--white)}.form-field textarea{resize:vertical;min-height:110px}.form-field.error input,.form-field.error textarea{border-color:var(--terracotta);background:#fff}.field-error{display:none;color:var(--terracotta);font-size:.85rem;margin-top:.4rem}.field-error.show,.form-field.error .field-error{display:block}.form-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2.25rem}.form-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.75rem;font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:background .25s,border-color .25s,color .25s;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.form-btn-primary{background:var(--terracotta);color:#fff}.form-btn-primary:hover{background:#192a3d}.form-btn-ghost{background:0 0;color:#192a3d;border:1.5px solid rgba(25,42,61,.2);clip-path:none}.form-btn-ghost:hover{border-color:#192a3d}.form-btn.hidden{visibility:hidden}.form-btn svg{width:18px;height:18px}.form-success{display:none;text-align:center;padding:1rem 0}.form-success.active{display:block;animation:.4s fadeUp}.success-icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--terracotta);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.success-icon svg{width:34px;height:34px;stroke:#fff}.form-success h3{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.75rem;color:#192a3d;margin-bottom:.75rem}.form-success p{color:rgba(25,42,61,.6);line-height:1.6}.form-summary{margin-top:1.5rem;font-size:.95rem;color:#192a3d}.cta{padding:6rem 2rem;background:var(--slate-dark);position:relative;overflow:hidden}.cta-bg{display:none}.cta-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:2}.cta h2{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2rem, 4vw, 3rem);color:var(--white);line-height:1.1;margin-bottom:1rem;letter-spacing:-.02em}.cta p{font-size:1.0625rem;color:rgba(255,255,255,.6);margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-phone{display:inline-flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font-size:1rem;font-weight:600;margin-top:2rem;opacity:.6;transition:opacity .3s}.cta-phone:hover{opacity:1}.cta-phone svg{width:20px;height:20px}footer{background:var(--charcoal);padding:4rem 2rem 2rem;position:relative;overflow:hidden}footer::before{display:none}.footer-inner{max-width:1400px;margin:0 auto;position:relative;z-index:2}.footer-top{display:grid;grid-template-columns:1.3fr 2fr 1fr 1.2fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}.footer-services{column-count:2;column-gap:1.75rem}.footer-services li{break-inside:avoid}.footer-brand .logo{margin-bottom:1rem}.footer-brand .logo img{filter:brightness(0) invert(1)}.footer-brand p{font-size:1rem;color:rgba(255,255,255,.4);line-height:1.7;max-width:280px}.footer-col h4{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1rem;color:var(--cream);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.6rem}.footer-col a{font-size:1rem;color:rgba(255,255,255,.4);text-decoration:none;transition:color .3s}.footer-col a:hover{color:var(--terracotta-light)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem}.footer-bottom p{font-size:1rem;color:rgba(255,255,255,.3)}.footer-credit{color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s}.footer-credit:hover{color:var(--terracotta-light)}.footer-certifications{display:flex;gap:1rem}.cert-badge{font-size:1rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding-bottom:2px;position:relative}.cert-badge::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--terracotta);transition:width .3s}.cert-badge:hover{color:var(--white)}.cert-badge:hover::after{width:100%}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}@media (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}.about-inner{grid-template-columns:1fr;gap:3rem}.about-images{height:350px}.process-steps{grid-template-columns:repeat(2,1fr);gap:3rem}.process-steps::before{display:none}.testimonial-card{flex-basis:calc((100% - 1.5rem)/ 2)}.footer-top{grid-template-columns:1fr 1fr}.hero-stats{position:static;margin-top:3rem;justify-content:flex-start}.hero-stat{text-align:left}}@media (max-width:768px){#mainNav{padding-left:.85rem}.nav-links{display:none}.hamburger,.mobile-menu{display:flex}.section-header{grid-template-columns:1fr;gap:1rem}.process-steps,.services-grid{grid-template-columns:1fr}.testimonials{padding:4rem 1rem}.testimonial-card{flex-basis:100%;padding:1.75rem 1.25rem}.testimonial-head{flex-direction:column;align-items:flex-start;gap:1.5rem}.footer-top{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}.hero{flex-direction:column;align-items:stretch;min-height:auto;padding:0 0 2.5rem}.hero-bg{position:relative;height:36vh;min-height:220px}.hero-bg::after{background:linear-gradient(to bottom,rgba(0,0,0,.1) 0,rgba(0,0,0,.25) 55%,var(--slate-dark) 100%)}.hero-content{max-width:100%;padding:1.5rem 1.5rem 0}.hero h1 .hero-kw{display:none}.hero h1{font-size:1.6rem;margin-bottom:.9rem}.hero-desc{font-size:.98rem;line-height:1.5;margin-bottom:1.4rem}.hero-actions{flex-direction:row;flex-wrap:nowrap;gap:.6rem}.hero-actions .btn-primary,.hero-actions .btn-secondary{flex:1 1 0;min-width:0;justify-content:center;text-align:center;padding:.75rem .6rem;font-size:.82rem;white-space:normal}.hero-actions .btn-primary svg{display:none}.hero-stats{position:static;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.5rem;margin:2.5rem 1rem 0}.hero-stat{text-align:left;flex:1}.hero-stat-num{font-size:1.65rem}.hero-stat-label{font-size:.62rem;letter-spacing:.02em;line-height:1.3}.services{padding:4rem 1rem}.services-grid{padding:0;gap:1rem}.section-header{padding:0}.service-card{padding:1.75rem 1.25rem}.anfrage{padding:4rem 1rem}.anfrage-card{padding:1.75rem 1.25rem}.chip-grid,.chip-grid.cols-3{grid-template-columns:1fr}.chip{white-space:normal}.form-btn{padding:.85rem 1.4rem;font-size:.95rem}.about-features{grid-template-columns:1fr}.about{padding:4rem 1.25rem}.about-feature p{font-size:.85rem!important;line-height:1.5}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.legal{padding:9rem 2rem 5rem;background:var(--cream);min-height:70vh}.legal-inner{max-width:820px;margin:0 auto}.legal-breadcrumb{font-size:.95rem;color:rgba(25,42,61,.5);margin-bottom:1.5rem}.legal-breadcrumb a{color:var(--terracotta);text-decoration:none}.legal-breadcrumb a:hover{text-decoration:underline}.legal h1{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2.2rem, 5vw, 3.4rem);color:#192a3d;letter-spacing:-.02em;line-height:1.05;margin-bottom:2.5rem}.legal h2{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.4rem;color:#192a3d;margin:2.5rem 0 .75rem}.legal h3{font-weight:700;font-size:1.05rem;color:#192a3d;margin:1.75rem 0 .5rem}.legal li,.legal p{font-size:1rem;line-height:1.8;color:rgba(25,42,61,.7);margin-bottom:.9rem}.legal ul{padding-left:1.25rem;margin-bottom:.9rem}.legal a{color:var(--terracotta)}.legal strong{color:#192a3d}@media (max-width:768px){.legal{padding:7rem 1.25rem 4rem}}.svc-hero{background:var(--slate-dark);padding:9rem 2rem 4rem;position:relative;overflow:hidden}.svc-hero::before{display:none}.svc-hero-inner{max-width:900px;margin:0 auto;position:relative;z-index:2}.svc-breadcrumb{font-size:.95rem;color:rgba(255,255,255,.5);margin-bottom:1.75rem}.svc-breadcrumb a{color:var(--terracotta-light);text-decoration:none}.svc-breadcrumb a:hover{text-decoration:underline}.svc-icon-badge{width:64px;height:64px;background:var(--terracotta);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.svc-icon-badge svg{width:32px;height:32px;stroke:#fff}.svc-hero h1{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:clamp(2.2rem, 5vw, 3.6rem);color:#fff;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.25rem}.svc-hero .svc-sub{font-size:1.15rem;color:rgba(255,255,255,.7);max-width:640px;line-height:1.7;margin-bottom:2rem}.svc-content{background:var(--cream);padding:5rem 2rem}.svc-inner{max-width:900px;margin:0 auto}.svc-lead{font-size:1.2rem;line-height:1.8;color:#192a3d;margin-bottom:2.5rem}.svc-h2{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.6rem;color:#192a3d;margin:2.75rem 0 1.25rem;letter-spacing:-.01em}.svc-list{list-style:none;display:grid;gap:.9rem}.svc-list.cols-2{grid-template-columns:1fr 1fr}.svc-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:1.05rem;color:rgba(25,42,61,.75);line-height:1.6}.svc-list li svg{width:22px;height:22px;flex-shrink:0;color:var(--terracotta);margin-top:1px}.svc-cta-band{margin-top:3.5rem;background:var(--white);padding:2.75rem 2rem;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.07)}.svc-cta-band h2{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1.75rem;color:#192a3d;margin-bottom:.75rem}.svc-cta-band p{color:rgba(25,42,61,.6);margin-bottom:1.75rem;line-height:1.6}.svc-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.svc-nav-other{margin-top:3rem}.svc-nav-other a{color:var(--terracotta);text-decoration:none;font-weight:600}.svc-nav-other a:hover{text-decoration:underline}@media (max-width:768px){.svc-hero{padding:7rem 1.25rem 3rem}.svc-content{padding:3.5rem 1.25rem}.svc-list.cols-2{grid-template-columns:1fr}.svc-list li{font-size:.92rem}.svc-cta-band{padding:2rem 1.25rem}.svc-cta-band h2{font-size:1.3rem;line-height:1.25}}.svc-body p{font-size:1.05rem;line-height:1.85;color:rgba(25,42,61,.78);margin-bottom:1.1rem}.svc-steps{list-style:none;counter-reset:step;display:grid;gap:1rem;margin-top:.5rem}.svc-steps li{display:flex;gap:1rem;align-items:flex-start}.svc-steps li::before{counter-increment:step;content:counter(step);flex-shrink:0;width:40px;height:40px;background:var(--terracotta);color:#fff;font-weight:700;font-family:'Encode Sans Semi Condensed',sans-serif;display:flex;align-items:center;justify-content:center;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.svc-steps li strong{display:block;color:#192a3d;margin-bottom:.15rem;font-size:1.05rem}.svc-steps li span{color:rgba(25,42,61,.72);font-size:1rem;line-height:1.6}.svc-faq{margin-top:.5rem}.svc-faq details{border-bottom:1px solid rgba(25,42,61,.12);padding:1.1rem 0}.svc-faq summary{font-weight:600;color:#192a3d;font-size:1.1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.svc-faq summary::-webkit-details-marker{display:none}.svc-faq summary::after{content:'+';color:var(--terracotta);font-size:1.5rem;line-height:1;flex-shrink:0}.svc-faq details[open] summary::after{content:'\2013'}.svc-faq p{margin-top:.75rem;color:rgba(25,42,61,.72);line-height:1.75}.svc-hero h1 .h1-loc{display:block;font-size:.46em;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:0;margin-top:.5rem}.svc-figure{margin:0 0 2.5rem}.svc-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;box-shadow:0 14px 44px rgba(0,0,0,.12)}.svc-figure figcaption{margin-top:.6rem;font-size:.85rem;color:rgba(25,42,61,.5)}.form-error-msg{margin-top:1.25rem;padding:.9rem 1.1rem;background:#ffe9e7;border-left:3px solid var(--terracotta);color:#c9130a;font-size:.95rem;line-height:1.5}.hero-kw{display:block;font-size:.9rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta-light);margin-bottom:1.1rem}.form-consent{margin-top:1.5rem;margin-bottom:0}.consent-label{display:flex;gap:.6rem;align-items:flex-start;font-weight:400!important;font-size:.9rem;color:rgba(25,42,61,.72);cursor:pointer;line-height:1.5;margin-bottom:0!important}.consent-label input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--terracotta);cursor:pointer}.consent-label a{color:var(--terracotta)}.altcha-widget{display:block;margin-top:1.25rem;max-width:300px;--altcha-border-radius:0;--altcha-border-width:1.5px;--altcha-color-border:rgba(25,42,61,0.15);--altcha-color-text:#192A3D}.call-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1500;width:62px;height:62px;background:var(--terracotta);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 24px rgba(214,41,41,.45);transition:transform .2s,box-shadow .2s;animation:2.2s ease-in-out infinite callPulse}.call-fab:hover{transform:scale(1.08);box-shadow:0 12px 30px rgba(214,41,41,.55)}.call-fab svg{width:28px;height:28px}@keyframes callPulse{0%,100%{box-shadow:0 8px 24px rgba(214,41,41,.45),0 0 0 0 rgba(214,41,41,.45)}50%{box-shadow:0 8px 24px rgba(214,41,41,.45),0 0 0 16px rgba(214,41,41,0)}}@media (max-width:768px){.call-fab{width:56px;height:56px;bottom:1.1rem;right:1.1rem}.call-fab svg{width:26px;height:26px}}.u-hidden{display:none}.u-mt-2{margin-top:2rem}.tag-center{justify-content:center}.tag-accent{color:var(--terracotta-light)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.btn-outline-dark{background:0 0;color:#192a3d;border-color:rgba(25,42,61,.2)}.err404{display:flex;align-items:center;justify-content:center;text-align:center}.legal a.btn-onred{display:inline-flex;color:#fff}.mm-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:0 0;border:none;border-bottom:1px solid rgba(0,0,0,.08);cursor:pointer;color:#192a3d;font-family:inherit;font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem .25rem}.mm-chevron{width:18px;height:18px;flex-shrink:0;transition:transform .3s}.mm-toggle[aria-expanded=true] .mm-chevron{transform:rotate(180deg)}.mm-submenu{display:none;flex-direction:column;padding-left:.9rem}.mm-submenu.open{display:flex}.mm-submenu a{color:rgba(25,42,61,.6)!important;text-decoration:none;font-weight:500!important;font-size:.95rem!important;text-transform:none!important;letter-spacing:0!important;padding:.7rem .25rem!important;border-bottom:1px solid rgba(0,0,0,.05)!important}
/* DII logo sizing */
.logo img{height:70px;width:auto}
#mainNav{padding-top:.45rem;padding-bottom:.45rem}
.footer-brand .logo img{height:62px}
@media(max-width:560px){.logo img{height:54px}}

/* subpage figures: no shadow */
.svc-figure img{box-shadow:none}

/* ---- Nav integrated with white hero (no shadow at top) ---- */
#mainNav{box-shadow:none}
#mainNav.scrolled{box-shadow:0 2px 20px rgba(25,42,61,.07)}

/* ---- Logo (whitespace trimmed → sized up) + centered menu ---- */
.logo img{height:56px}
#mainNav{padding-top:.5rem;padding-bottom:.5rem}
.footer-brand .logo img{height:56px}
.nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
@media(max-width:1040px){.nav-links{position:static;transform:none}}
@media(max-width:560px){.logo img{height:44px}}

/* ---- CTA right, standalone (menu stays centered) ---- */
#mainNav > .nav-cta{font-size:1rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;margin-left:auto}
.logo{margin-left:1.75rem}

/* ---- Subpage figures: vollständig sichtbar, kleiner, zentriert ---- */
.svc-figure{margin:0 auto 2.5rem;text-align:center}
.svc-figure img{aspect-ratio:auto;object-fit:contain;width:auto;height:auto;max-width:100%;max-height:440px;margin:0 auto;display:block;box-shadow:none}

/* ---- Nav content aligned to 1400px page container (mehr Abstand zum Rand) ---- */
#mainNav{padding-left:max(2rem, calc((100vw - 1400px)/2 + 2rem));padding-right:max(2rem, calc((100vw - 1400px)/2 + 2rem))}
.logo{margin-left:0}

/* ---- Leistungen: Überschrift als erste Rasterzelle (obere Reihe = 2 Karten) ---- */
.services-intro{display:flex;flex-direction:column;justify-content:center;padding:1rem 1.75rem 1rem .25rem}
.services-intro .section-title{margin-bottom:1.1rem}
.services-intro .section-subtitle{max-width:none;margin:0}
@media(max-width:768px){.services-intro{padding:0 0 .5rem}}


/* ---- Größte Schrift auf max. 64px begrenzen ---- */

/* ---- Größte Schrift auf max. 48px begrenzen ---- */
.hero h1{font-size:clamp(30px,4.2vw,42px)}
.section-title,.anfrage-header h2,.cta h2,.svc-hero h1,.legal h1{font-size:clamp(26px,3.8vw,42px)}

/* ---- Mobile: KONTAKT-Button in der Nav ausblenden (nur Burger) ---- */
@media(max-width:768px){#mainNav>.nav-cta{display:none}}

/* ===== Hero: ausgewogenes 2-Spalten-Layout, Bild auf heller Fläche ===== */
.hero{background:#fff;min-height:auto}
.hero-bg{background:#ebebed}
.hero-bg::after{display:none}
.hero-bg img{width:100%;height:100%;object-fit:contain}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.9rem 1.9rem;margin:2.5rem 0 0;padding:1.9rem 0 0;border-top:1px solid #e7e9ec}
.hero-trust li{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.98rem;color:#192a3d}
.hero-trust li svg{width:20px;height:20px;flex:none}
@media(min-width:769px){
  .hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch;min-height:0}
  .hero-bg{position:relative;order:2;left:auto;right:auto;top:auto;width:auto;height:auto;display:flex;align-items:center;justify-content:center}
  .hero-bg img{width:100%;height:100%;padding:3.5rem 3rem}
  .hero-content{order:1;align-self:center;max-width:none;margin:0;padding:3rem 4.5vw 3rem max(2rem,calc((100vw - 1400px)/2 + 2rem))}
}

/* Hero-Textfarben (dunkel auf hellem Hero) */
.hero h1{color:#192a3d}
.hero-desc{color:#45535f}
.hero .btn-secondary{background:#192a3d;color:#fff;border-color:#192a3d}
.hero .btn-secondary:hover{background:#FD190D;border-color:#FD190D;color:#fff;box-shadow:none}

/* ---- Hero-Bild auf Handy: volle Breite, komplett sichtbar ---- */
@media(max-width:768px){
  .hero-bg{height:auto;min-height:0}
  .hero-bg img{height:auto;max-height:52vh;object-fit:contain;padding:0}
}

/* ---- Handy: Bild UNTER Text + Buttons ---- */
@media(max-width:768px){
  .hero-content{order:0}
  .hero-bg{order:1;margin-top:1.5rem}
}

/* ---- Handy: Hero-Inhalt unter der fixierten Nav starten ---- */
@media(max-width:768px){.hero{padding-top:4.75rem}}

/* ---- Handy: Hero-Überschrift kleiner ---- */
@media(max-width:768px){.hero h1{font-size:24px;line-height:1.1}}

/* ---- Handy: Hero-Content kompakter (weniger Höhe) ---- */
@media(max-width:768px){
  .hero{padding-top:3.75rem}
  .hero-content{padding-top:.5rem}
  .hero-desc{font-size:.95rem;line-height:1.5;margin-bottom:1.25rem}
  .hero-actions{gap:.6rem}
  .hero-trust{margin-top:1.25rem;padding-top:1.1rem;gap:.65rem 1.4rem}
  .hero-bg{margin-top:1rem}
}

/* ---- Handy: Hero-Bild kleiner, weniger Gesamthöhe ---- */
@media(max-width:768px){
  .hero-bg img{max-height:32vh}
  .hero-bg{margin-top:.5rem}
  .hero{padding-top:3.25rem}
}

/* ---- Handy: klarer Abstand zwischen Nav/Logo und Hero-Text ---- */
@media(max-width:768px){.hero{padding-top:7.5rem}}

/* ===== Einsatzgebiete-Sektion (Städte mit GPS-Pins) ===== */
.cities-section{background:#fafafa;padding:clamp(3.5rem,6vw,6rem) 2rem;border-top:1px solid #e7e9ec}
.cities-inner{max-width:1240px;margin:0 auto;text-align:center}
.cities-section h2{font-size:clamp(1.7rem,3.2vw,42px);color:#192a3d;margin-bottom:1rem;line-height:1.1}
.cities-sub{max-width:62ch;margin:0 auto 2.75rem;color:#45535f;font-size:1.05rem;line-height:1.6}
.cities-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem 1.75rem;text-align:left}
.cities-grid a{display:flex;align-items:center;gap:.6rem;color:#192a3d;font-weight:500;font-size:1.02rem;padding:.4rem 0;transition:color .2s}
.cities-grid a svg{flex:none;width:17px;height:21px}
.cities-grid a:hover{color:#FD190D}
@media(max-width:600px){.cities-grid{grid-template-columns:1fr 1fr;gap:.5rem 1rem}.cities-grid a{font-size:.95rem}}

/* ===== Stadt-Landingpages (eigenes Layout) ===== */
.loc-hero{position:relative;overflow:hidden;padding:clamp(4.5rem,7vw,7rem) 2rem clamp(2.5rem,4vw,3.5rem)}
.loc-hero-inner{max-width:1120px;margin:0 auto}
.loc-breadcrumb{font-size:.9rem;color:#6b7885;margin-bottom:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap}
.loc-breadcrumb a{color:#6b7885}.loc-breadcrumb a:hover{color:#FD190D}
.loc-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#FD190D;margin-bottom:1.25rem}
.loc-badge svg{width:16px;height:20px}
.loc-hero h1{font-size:clamp(1.9rem,4.2vw,42px);line-height:1.04;letter-spacing:-.02em;color:#192a3d;margin-bottom:1rem}
.loc-hero .loc-sub{font-size:clamp(1.05rem,1.8vw,1.2rem);color:#45535f;max-width:60ch;line-height:1.6;margin-bottom:2rem}
.loc-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.loc-map{margin:2.5rem auto 0;max-width:1120px;border:1px solid #e7e9ec;background:#f2f3f5;border-radius:4px;aspect-ratio:16/6;display:flex;align-items:center;justify-content:center;color:#8a939c;font-size:.95rem;text-align:center;padding:1rem}
.loc-section{padding:clamp(3rem,5vw,4.5rem) 2rem}
.loc-inner{max-width:820px;margin:0 auto}
.loc-inner.wide{max-width:1120px}
.loc-section h2{font-size:clamp(1.5rem,3vw,2rem);color:#192a3d;margin-bottom:1.25rem;line-height:1.15}
.loc-section p{color:#45535f;line-height:1.75;margin-bottom:1.1rem;font-size:1.05rem}
.loc-list{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.75rem}
.loc-list li{display:flex;align-items:flex-start;gap:.7rem;color:#192a3d;font-weight:500;line-height:1.4}
.loc-list li svg{flex:none;width:20px;height:20px;color:#FD190D;margin-top:2px}
.loc-faq details{border-bottom:1px solid #e7e9ec;padding:1.1rem 0}
.loc-faq summary{cursor:pointer;font-weight:600;color:#192a3d;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.loc-faq summary::after{content:'+';color:#FD190D;font-weight:700}
.loc-faq details[open] summary::after{content:'–'}
.loc-faq details p{margin:.85rem 0 0;color:#45535f;line-height:1.7}
.loc-cta{background:#192a3d;color:#fff;text-align:center;padding:clamp(3rem,5vw,4.5rem) 2rem}
.loc-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.85rem}
.loc-cta p{color:rgba(255,255,255,.7);max-width:52ch;margin:0 auto 1.75rem}
.loc-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
/* Layout-Varianten */
.loc-hero.v1{background:#fafafa;border-bottom:1px solid #e7e9ec}
.loc-hero.v2{background:#192a3d}
.loc-hero.v2 .loc-breadcrumb,.loc-hero.v2 .loc-breadcrumb a{color:rgba(255,255,255,.6)}
.loc-hero.v2 h1{color:#fff}.loc-hero.v2 .loc-sub{color:rgba(255,255,255,.72)}
.loc-hero.v2 .loc-badge{color:#ff6a5e}
.loc-hero.v3{background:#fff}
.loc-sec-alt{background:#fafafa}
.loc-two{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;max-width:1120px;margin:0 auto}
@media(max-width:768px){.loc-list{grid-template-columns:1fr}.loc-two{grid-template-columns:1fr}.loc-map{aspect-ratio:4/3}}

/* ---- Location-Karte: Bild-Slot (Datei in /karten ablegen) ---- */
.loc-map{margin:2.5rem auto 0;max-width:1120px;text-align:center;padding:0 2rem;background:transparent;border:none;aspect-ratio:auto;display:block}
.loc-map img{width:100%;max-width:440px;height:auto;display:inline-block}
.loc-map .loc-map-ph{display:none}
.loc-map.empty{padding:0 2rem}
.loc-map.empty .loc-map-ph{display:flex;align-items:center;justify-content:center;min-height:170px;border:1px dashed #cfd4da;border-radius:6px;background:#f7f8f9;color:#8a939c;font-size:.95rem;padding:1rem}

/* ---- Location: Text neben Karte (abwechselnd rechts/links) ---- */
.loc-two{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;max-width:1120px;margin:0 auto}
.loc-two-text{order:1}
.loc-two-map{order:2}
.loc-two.map-left .loc-two-text{order:2}
.loc-two.map-left .loc-two-map{order:1}
.loc-two-text p{color:#45535f;line-height:1.75;margin-bottom:1.1rem;font-size:1.05rem}
.loc-two-text p:last-child{margin-bottom:0}
.loc-two-map img{width:100%;height:auto;display:block}
.loc-two-map-ph{display:none}
.loc-two-map.empty img{display:none}
.loc-two-map.empty .loc-two-map-ph{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px dashed #cfd4da;border-radius:6px;background:#f7f8f9;color:#8a939c;font-size:.9rem;padding:1rem;text-align:center}
@media(max-width:768px){
  .loc-two{grid-template-columns:1fr;gap:1.75rem}
  .loc-two-text,.loc-two.map-left .loc-two-text{order:1}
  .loc-two-map,.loc-two.map-left .loc-two-map{order:2}
  .loc-two-map img{max-width:420px;margin:0 auto}
}

/* Location: Keyword-Lead-Absatz */
.loc-lead{font-size:1.15rem;line-height:1.6;color:#192a3d;margin-bottom:1.25rem}
.loc-lead strong{color:#192a3d}

/* Footer Öffnungszeiten-Label + obfuskierte Mail */
.foot-hours{margin-top:.6rem;color:#ff6a5e;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.obf-mail{color:inherit}

/* ---- Fix: Footer-Klartext (E-Mail + Öffnungszeiten) sichtbar auf Navy ---- */
.footer-col ul li{color:rgba(255,255,255,.5)}
.footer-col ul li.foot-hours{color:#ff6a5e}
.obf-mail{color:rgba(255,255,255,.5)}

/* ---- Helle Städte-Sektion zwischen CTA und Footer (Trenner + internes Linking) ---- */
.loc-otherc{background:#fafafa;border-top:1px solid #e7e9ec;padding:clamp(2.75rem,4.5vw,4rem) 2rem}
.loc-otherc-inner{max-width:1120px;margin:0 auto;text-align:center}
.loc-otherc h2{font-size:clamp(1.3rem,2.6vw,1.7rem);color:#192a3d;margin-bottom:.5rem}
.loc-otherc-sub{color:#45535f;margin-bottom:2rem}
.loc-otherc-grid{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.55rem 1.5rem;text-align:left}
.loc-otherc-grid a{display:flex;align-items:center;gap:.5rem;color:#192a3d;font-weight:500;font-size:.98rem;padding:.3rem 0;transition:color .2s}
.loc-otherc-grid a svg{width:15px;height:19px;color:#FD190D;flex:none}
.loc-otherc-grid a:hover{color:#FD190D}
.loc-otherc-back a{color:#FD190D;font-weight:600}

/* ===== Anfrage-Formular: Conversion-Layout ===== */
.anfrage-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(1.5rem,3vw,2.5rem);max-width:1120px;margin:0 auto;align-items:start}
.anfrage-side{display:flex;flex-direction:column;gap:1.25rem}
.aside-box{background:#fff;border:1px solid #e7e9ec;border-radius:6px;padding:1.6rem 1.5rem}
.aside-box h3{font-size:1.05rem;color:#192a3d;margin-bottom:1rem}
.aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}
.aside-list li{display:flex;align-items:flex-start;gap:.6rem;color:#192a3d;font-size:.98rem;line-height:1.45;font-weight:500}
.aside-list svg{width:19px;height:19px;color:#FD190D;flex:none;margin-top:2px}
.aside-box--phone{background:#192a3d;border-color:#192a3d}
.aside-box--phone h3{color:#fff}
.aside-phone{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none;margin-bottom:.6rem}
.aside-phone svg{color:#ff6a5e}
.aside-phone:hover{color:#ff6a5e}
.aside-hours{color:rgba(255,255,255,.6);font-size:.92rem;line-height:1.55;margin:0}
/* Karte + Schritte */
.anfrage .anfrage-card{margin:0}
.step-lbl{display:block;margin-top:.45rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#6b7885;text-transform:uppercase}
.progress-step.active .step-lbl,.progress-step.done .step-lbl{color:#192a3d}
.progress-step{display:flex;flex-direction:column;align-items:center}
.progress-step .step-line{margin-top:-1.35rem}
/* CTA + Trust */
.form-btn-primary{width:auto;min-width:240px;justify-content:center;font-size:1.05rem;padding:1rem 2rem}
.form-trust{margin:1rem 0 0;font-size:.88rem;color:#6b7885;text-align:center}
@media(max-width:900px){
  .anfrage-grid{grid-template-columns:1fr}
  .anfrage-side{order:2;flex-direction:row;flex-wrap:wrap}
  .anfrage-side .aside-box{flex:1 1 260px}
  .anfrage .anfrage-card{order:1}
}

/* ===== Einfaches Anfrage-Formular ===== */
.simple-form-card{max-width:680px;margin:0 auto;background:#fff;border:1px solid #e7e9ec;border-radius:8px;padding:clamp(1.75rem,3.5vw,2.75rem);box-shadow:0 8px 30px rgba(25,42,61,.06)}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
#inpLeistung{width:100%;font-family:inherit;font-size:1rem;color:#192a3d;background:#fafafa;border:1.5px solid rgba(25,42,61,.15);border-radius:3px;padding:.85rem .9rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23192a3d' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:16px;cursor:pointer}
#inpLeistung:focus{outline:none;border-color:#FD190D;background-color:#fff}
.form-submit-full{width:100%;justify-content:center;font-size:1.05rem;padding:1.05rem 2rem;margin-top:.35rem}
@media(max-width:560px){.form-row2{grid-template-columns:1fr}}

/* ---- Footer: Sicherheits-Badges ---- */
.footer-badges{max-width:250px;height:auto;margin-top:1.4rem;display:block}


/* ---- Hero: Trust-Punkte vertikal (4 Stück, mit Beschreibung) ---- */
.hero-trust--v{flex-direction:column;align-items:stretch;gap:.85rem}

/* ---- Hero: Bildhöhe deckeln, damit die Zeile der Texthöhe folgt ---- */
@media(min-width:769px){
  .hero-bg img{width:auto;height:auto;max-width:100%;max-height:520px;padding:2rem}
}

/* ---- Desktop: Hero unter der fixierten Nav starten ---- */
@media(min-width:769px){.hero{padding-top:7.5rem}}

/* ---- Mobile: Hero-Trust-Punkte kleiner, einzeilig ---- */
@media(max-width:768px){
  .hero-trust--v{gap:.7rem}
  .hero-trust--v li{font-size:.88rem;gap:.5rem;white-space:nowrap}
  .hero-trust--v li svg{width:16px;height:16px}
}
@media(max-width:360px){
  .hero-trust--v li{font-size:.82rem}
}

/* ---- Mobile: Anfrage-Formular breiter ---- */
@media(max-width:768px){
  .anfrage{padding-left:.6rem;padding-right:.6rem}
  .simple-form-card{padding:1.35rem .95rem;border-radius:6px}
  .simple-form-card input,.simple-form-card select,.simple-form-card textarea{font-size:16px}
}

/* ---- Fix iOS Safari: Datenschutz-Checkbox feste Größe ---- */
.form-consent input[type="checkbox"]{width:18px;height:18px;min-width:18px;max-width:18px;padding:0;margin:2px 0 0;flex:none;appearance:auto;-webkit-appearance:checkbox;accent-color:#FD190D;font-size:initial}
.consent-label{display:flex;align-items:flex-start;gap:.6rem}

/* ===== Accessibility-Fixes (Lighthouse) ===== */
/* h4->h3 Umbau: gleiche Optik behalten */
.footer-col h3.footer-h{font-family:'Encode Sans Semi Condensed',sans-serif;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);margin-bottom:1.2rem}
.about-feature h3.feature-h{font-size:1.05rem;color:#fff;margin-bottom:.2rem}
/* Footer-Kontrast: blasse Texte heller */
.footer-col a{color:rgba(255,255,255,.78)}
.footer-brand p{color:rgba(255,255,255,.78)}
.footer-bottom p{color:rgba(255,255,255,.7)}
.footer-col ul li{color:rgba(255,255,255,.78)}
.obf-mail{color:rgba(255,255,255,.78)}
.cert-badge{color:rgba(255,255,255,.78)}
/* Link im Textblock: unterstreichen */
.footer-credit{text-decoration:underline;color:rgba(255,255,255,.82)}
/* Altcha: versteckten Logo-Link aus der Tab-Reihenfolge nehmen */
.altcha [aria-hidden="true"] a,a.altcha-logo{display:none!important}

/* ---- A11y: Hero-Buttons mobil gestapelt + "large text" (Kontrastnorm 3:1) ---- */
@media(max-width:768px){
  .hero-actions{flex-direction:column;gap:.7rem}
  .hero-actions .btn-primary,.hero-actions .btn-secondary{flex:none;width:100%;font-size:1.17rem;padding:.95rem 1rem;justify-content:center}
}
/* Formular-Submit ebenfalls auf large-text heben */
.form-btn-primary{font-size:1.17rem}
