*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:#1a1a1a;background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none}
ul{list-style:none}
:root{
  --navy:#0B1F3A;--navy2:#162E54;
  --accent:#D4581A;--accent2:#E8682A;
  --white:#ffffff;--off:#F7F6F3;--border:#E4E1DA;
  --text:#1a1a1a;--muted:#5C6270;--light:#8A909C;
  --max:1020px;--r:6px;
  --sh:0 2px 12px rgba(0,0,0,0.07);--shm:0 4px 24px rgba(0,0,0,0.10);
}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{position:fixed;top:0;left:0;padding:8px 16px;background:var(--accent);color:#fff;z-index:9999}

/* NAV */
.nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);height:72px;display:flex;align-items:center}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;width:100%}
.nav-logo img{height:40px;width:auto}
.nav-menu{display:flex;align-items:center;gap:2rem}
.nav-menu a{font-size:13px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);transition:color 0.2s}
.nav-menu a:hover,.nav-menu a.active{color:var(--navy)}
.nav-cta{background:var(--accent)!important;color:#fff!important;padding:10px 20px;border-radius:var(--r);font-size:13px;font-weight:600;transition:background 0.2s}
.nav-cta:hover{background:var(--accent2)!important}
.burger{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px}
.burger span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all 0.3s}

/* HERO */
.hero{background:var(--navy);padding:80px 2rem 72px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-80px;top:-80px;width:480px;height:480px;border-radius:50%;background:rgba(212,88,26,0.07);pointer-events:none}
.hero-inner{max-width:var(--max);margin:0 auto;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.75);font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:2rem}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--accent2);border-radius:50%}
.hero h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-0.02em;margin-bottom:1.25rem;max-width:700px}
.hero h1 em{font-style:normal;color:var(--accent2)}
.hero-lead{font-size:17px;color:rgba(255,255,255,0.62);max-width:540px;line-height:1.75;margin-bottom:2.5rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:3.5rem}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:14px 28px;border-radius:var(--r);font-size:15px;font-weight:600;transition:background 0.2s}
.btn-primary:hover{background:var(--accent2)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);color:#fff;padding:13px 24px;border-radius:var(--r);font-size:15px;font-weight:500;border:1px solid rgba(255,255,255,0.2);transition:background 0.2s}
.btn-ghost:hover{background:rgba(255,255,255,0.14)}
.hero-kpis{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.1);padding-top:2.5rem}
.hero-kpi{flex:1;min-width:130px;padding-right:2rem}
.hero-kpi:not(:first-child){padding-left:2rem;border-left:1px solid rgba(255,255,255,0.1)}
.hero-kpi strong{display:block;font-size:2rem;font-weight:700;color:#fff;line-height:1}
.hero-kpi span{font-size:12px;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.06em;margin-top:4px;display:block}

/* TRUST BAR */
.trust-bar{background:var(--off);border-bottom:1px solid var(--border);padding:1.1rem 2rem}
.trust-bar-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;justify-content:center}
.trust-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted)}
.trust-item svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:2;flex-shrink:0}

/* SECTIONS */
.section{padding:5rem 2rem}
.section-alt{background:var(--off)}
.container{max-width:var(--max);margin:0 auto}
.section-label{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:0.6rem}
.section-title{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:1rem}
.section-lead{font-size:16px;color:var(--muted);max-width:580px;line-height:1.75;margin-bottom:2.5rem}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem;transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s;position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity 0.2s}
.service-card:hover{border-color:rgba(212,88,26,0.4);box-shadow:var(--shm);transform:translateY(-2px)}
.service-card:hover::after{opacity:1}
.service-icon{width:44px;height:44px;background:rgba(212,88,26,0.09);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.service-icon svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem}
.service-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:1.2rem}
.service-link{font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px;transition:gap 0.15s}
.service-link:hover{gap:7px}

/* USP */
.usp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:2rem}
.usp-item{background:var(--white);padding:2rem}
.usp-num{font-size:2.8rem;font-weight:700;color:rgba(212,88,26,0.12);line-height:1;margin-bottom:0.5rem}
.usp-item h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem}
.usp-item p{font-size:14px;color:var(--muted);line-height:1.7}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2rem}
.step{text-align:center}
.step-num{width:52px;height:52px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:18px;font-weight:700;color:#fff}
.step h3{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem}
.step p{font-size:14px;color:var(--muted);line-height:1.7}

/* REF */
.ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.ref-card{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--white);transition:box-shadow 0.2s}
.ref-card:hover{box-shadow:var(--shm)}
.ref-img{height:210px;overflow:hidden;background:var(--off)}
.ref-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.ref-card:hover .ref-img img{transform:scale(1.03)}
.ref-body{padding:1.25rem}
.ref-tag{display:inline-block;background:rgba(212,88,26,0.09);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:3px 9px;border-radius:3px;margin-bottom:0.6rem}
.ref-body h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.25rem}
.ref-body p{font-size:13px;color:var(--muted)}

/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2rem}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem}
.review-stars{color:#F5A623;font-size:14px;margin-bottom:0.75rem}
.review-text{font-size:14px;color:var(--text);line-height:1.7;margin-bottom:1rem;font-style:italic}
.review-author{display:flex;align-items:center;gap:10px}
.review-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}
.review-name{font-size:13px;font-weight:600;color:var(--navy)}
.review-date{font-size:11px;color:var(--light)}
.reviews-cta{margin-top:1.75rem;text-align:center}
.reviews-cta a{font-size:14px;font-weight:600;color:var(--accent);border:1.5px solid var(--accent);padding:10px 24px;border-radius:var(--r);display:inline-block;transition:background 0.2s,color 0.2s}
.reviews-cta a:hover{background:var(--accent);color:#fff}

/* FAQ */
.faq-list{margin-top:2rem;border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-btn{width:100%;background:none;border:none;cursor:pointer;padding:1.25rem 0;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:15px;font-weight:600;color:var(--navy);line-height:1.4;font-family:inherit}
.faq-btn:hover{color:var(--accent)}
.faq-icon{font-size:22px;font-weight:300;color:var(--accent);flex-shrink:0;transition:transform 0.25s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.faq-body-inner{padding-bottom:1.25rem;font-size:14px;color:var(--muted);line-height:1.75}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:start;margin-top:2rem}
.contact-form{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2.5rem}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--navy);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r);font-family:inherit;font-size:14px;color:var(--text);background:var(--white);transition:border-color 0.2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}
.form-group textarea{height:130px;resize:vertical}
.form-submit{width:100%;background:var(--accent);color:#fff;border:none;padding:14px;border-radius:var(--r);font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s;font-family:inherit}
.form-submit:hover{background:var(--accent2)}
.contact-info h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:1.75rem}
.contact-row{display:flex;gap:14px;margin-bottom:1.5rem;align-items:flex-start}
.contact-dot{width:10px;height:10px;background:var(--accent);border-radius:50%;flex-shrink:0;margin-top:6px}
.contact-row-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--light);margin-bottom:2px}
.contact-row-value{font-size:15px;font-weight:500;color:var(--navy)}
.contact-row-value a{color:var(--navy);transition:color 0.2s}
.contact-row-value a:hover{color:var(--accent)}
.contact-hours{margin-top:2rem;background:var(--off);border-radius:var(--r);padding:1.25rem 1.5rem;border:1px solid var(--border)}
.contact-hours h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);margin-bottom:0.75rem}
.hours-row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}
.hours-row:not(:last-child){border-bottom:1px solid var(--border)}
.hours-day{color:var(--navy);font-weight:500}
.hours-time{color:var(--muted)}

/* PAGE HEADER */
.page-header{background:var(--navy);padding:4rem 2rem}
.page-header-inner{max-width:var(--max);margin:0 auto}
.breadcrumb{font-size:12px;color:rgba(255,255,255,0.35);margin-bottom:1rem}
.breadcrumb a{color:rgba(255,255,255,0.35)}
.breadcrumb a:hover{color:rgba(255,255,255,0.65)}
.breadcrumb span{color:rgba(255,255,255,0.5);margin:0 6px}
.page-header h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;color:#fff;line-height:1.15}
.page-header p{font-size:16px;color:rgba(255,255,255,0.58);max-width:560px;margin-top:0.9rem;line-height:1.7}

/* LEISTUNG DETAIL */
.leistung-block{padding:4rem 2rem;border-bottom:1px solid var(--border)}
.leistung-block:nth-child(even){background:var(--off)}
.leistung-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1.7fr;gap:3.5rem;align-items:start}
.leistung-img{border-radius:var(--r);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3}
.leistung-img img{width:100%;height:100%;object-fit:cover;display:block}
.leistung-content h2{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:1rem}
.leistung-content p{font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:0.9rem}
.check-list{margin:1.25rem 0}
.check-list li{padding:6px 0 6px 1.5rem;position:relative;font-size:14px;color:var(--muted);border-bottom:1px solid var(--border);line-height:1.6}
.check-list li:last-child{border-bottom:none}
.check-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:7px;height:7px;background:var(--accent);border-radius:50%}

/* CTA BAND */
.cta-band{background:var(--navy);padding:4rem 2rem;text-align:center}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;color:#fff;margin-bottom:0.6rem}
.cta-band p{color:rgba(255,255,255,0.6);font-size:16px;margin-bottom:2rem}
.btn-white{display:inline-block;background:var(--accent);color:#fff;padding:14px 34px;border-radius:var(--r);font-size:15px;font-weight:600;transition:background 0.2s}
.btn-white:hover{background:var(--accent2)}

/* VERTRAUEN */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2rem}
.trust-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;border-top:3px solid var(--accent)}
.trust-card-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--light);margin-bottom:0.35rem}
.trust-card-value{font-size:15px;font-weight:600;color:var(--navy)}
.trust-card-value a{color:var(--accent)}

/* FOOTER */
.footer{background:var(--navy);padding:4rem 2rem 2rem}
.footer-inner{max-width:var(--max);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.2fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:2rem}
.footer-brand img{height:36px;width:auto;margin-bottom:1rem}
.footer-desc{font-size:13px;color:rgba(255,255,255,0.38);line-height:1.7;max-width:280px}
.footer-col h5{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.28);margin-bottom:1rem}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,0.52);margin-bottom:0.6rem;transition:color 0.2s}
.footer-col a:hover{color:var(--accent2)}
.footer-col address{font-style:normal;font-size:13px;color:rgba(255,255,255,0.52);line-height:1.8}
.footer-einsatz{font-size:12px;color:rgba(255,255,255,0.3);margin-top:0.75rem;line-height:1.8}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.2)}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{font-size:12px;color:rgba(255,255,255,0.28);transition:color 0.2s}
.footer-bottom-links a:hover{color:var(--accent2)}

/* COOKIE */
.cookie{position:fixed;bottom:0;left:0;right:0;background:#111;color:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;z-index:9999;box-shadow:0 -2px 16px rgba(0,0,0,0.25)}
.cookie p{font-size:13px;color:rgba(255,255,255,0.78);max-width:680px;margin:0}
.cookie p a{color:var(--accent2)}
.cookie-btns{display:flex;gap:0.75rem;flex-shrink:0}
.cookie-accept{background:var(--accent);color:#fff;border:none;padding:9px 20px;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.cookie-more{color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.25);padding:8px 16px;border-radius:var(--r);font-size:13px;display:inline-block}

/* RESPONSIVE */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .contact-grid{grid-template-columns:1fr}
  .leistung-inner{grid-template-columns:1fr}
  .usp-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-menu{display:none;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1rem 2rem;gap:0;box-shadow:0 4px 16px rgba(0,0,0,0.08)}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:0.85rem 0;border-bottom:1px solid var(--border);font-size:14px}
  .nav-menu a:last-child{border-bottom:none}
  .burger{display:flex}
  .section{padding:3.5rem 1.25rem}
  .hero{padding:3.5rem 1.25rem 3rem}
  .hero-kpis{gap:0}
  .footer-grid{grid-template-columns:1fr}
  .leistung-block{padding:3rem 1.25rem}
  .page-header{padding:3rem 1.25rem}
}
