/* mirroarrr.de – statischer Nachbau der Onepage-Seite */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-v20-latin-regular.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-v20-latin-500.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-v20-latin-600.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-v20-latin-700.woff2) format("woff2")}

:root{
  --ink:#07071a;
  --light:#f7f7f7;
  --grey:#f2f2f2;
  --hero:#31355a;
  --navy:#131b3c;
  --card:#2a3c85;
  --blue:#1a38b2;
  --blue-dark:#17189b;
  --accent:#6264e8;
  --wrap:1250px;
  --font:"Manrope",-apple-system,system-ui,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-weight:500;letter-spacing:-.4px;line-height:1.3;margin:0}
p{margin:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:16px;top:16px}
.wrap{max-width:calc(var(--wrap) + 32px);margin:0 auto;padding:0 16px}
section[id]{scroll-margin-top:16px}
.label{display:block;font-weight:600;font-size:16px;margin-bottom:34px}

/* Header */
.site-header{background:var(--light)}
.header-bar{max-width:calc(var(--wrap) + 32px);margin:0 auto;padding:0 16px;min-height:111px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:block;margin-left:12px}
.logo img{width:137px;height:auto}
.main-nav ul{list-style:none;display:flex;gap:24px;margin:0 70px 0 0;padding:0}
.main-nav a{text-decoration:none;font-size:16px;color:var(--ink)}
.main-nav a:hover{color:var(--blue)}
.burger{display:none;width:46px;height:46px;border:0;border-radius:2px;background:#dcdcdc;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:2px;background:var(--ink);position:relative;transform:translateY(-3px)}
.burger span::after{content:"";position:absolute;left:0;top:6px;width:18px;height:2px;background:var(--ink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 27px;border-radius:6px;font-weight:600;font-size:16px;text-decoration:none;border:1px solid transparent;transition:opacity .2s}
.btn:hover{opacity:.85}
.btn--white{background:#fff;color:var(--ink)}
.btn--ghost{background:rgba(255,255,255,.02);color:#fff;border-color:rgba(255,255,255,.12)}

/* Hero */
.hero{background:var(--hero);color:#fff;padding:80px 0 110px;text-align:center}
.pill{display:inline-block;background:#2a3c99;color:rgba(255,255,255,.9);font-size:14px;letter-spacing:.2px;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.hero h1{font-size:64px;line-height:1.3;margin-top:22px;letter-spacing:-.8px}
.hl{background:linear-gradient(transparent 55%,rgba(98,100,232,.6) 55%);padding:0 8px}
.hero__lead{max-width:880px;margin:22px auto 0;font-size:18px;line-height:1.5;color:rgba(255,255,255,.92)}
.hero__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.hero__img{position:relative;margin:60px auto 0;max-width:var(--wrap);border-radius:16px;overflow:hidden}
.hero__img img{width:100%;aspect-ratio:2/1;object-fit:cover}
.hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(49,53,90,0) 55%,rgba(49,53,90,.55) 100%)}

/* Leistungen */
.services{padding:50px 0 60px}
.services .wrap{display:grid;grid-template-columns:1fr 617px;gap:50px;align-items:start}
.services .intro{max-width:520px}
.services h2,.technik h2,.faq h2{font-size:48px}
.services .intro p{font-size:18px;margin-top:36px;max-width:500px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-card{background:var(--grey);border-radius:16px;padding:32px}
.icon-box{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff}
.icon-box svg{width:32px;height:32px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:square;stroke-miterlimit:10}
.svc-card h3,.step h3,.why h3{font-size:24px;margin-top:30px}
.svc-card p{margin-top:24px;font-size:16px;line-height:1.5}

/* Vorgehen */
.steps{background:var(--navy);color:#fff;padding:60px 0 60px;text-align:center}
.steps .label{margin-bottom:26px}
.steps h2,.whyus h2{font-size:48px}
.steps .lead{font-size:18px;margin-top:22px;color:rgba(255,255,255,.9)}
.step-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:60px;text-align:left}
.step{background:var(--card);border-radius:16px;padding:32px 32px 34px;flex:0 1 406px}
.step .icon-box{background:var(--navy)}
.step .icon-box svg,.why .icon-box svg{stroke:#fff}
.step p{margin-top:24px;font-size:16px;color:rgba(255,255,255,.92)}

/* Technik */
.technik{padding:60px 0 60px}
.technik h2{max-width:720px}
.technik .lead{font-size:16px;max-width:710px;margin-top:30px}
.tech-grid{display:grid;grid-template-columns:490px repeat(3,1fr);gap:16px;margin-top:50px}
.tech-feature{grid-row:span 3;background:var(--grey);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:40px}
.tech-feature img{width:100%;aspect-ratio:410/207;object-fit:cover}
.tech-tile{background:#fff;border:2px solid var(--grey);border-radius:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:14px}
.tech-tile img{width:100%;height:100%;object-fit:contain}

/* Warum */
.whyus{background:var(--blue);color:#fff;padding:70px 0 60px;text-align:center}
.whyus .label{margin-bottom:22px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:62px;text-align:left}
.why{border:2px solid var(--blue-dark);border-radius:16px;padding:30px 30px 32px}
.why .icon-box{background:var(--blue-dark)}
.why .icon-box svg{width:28px;height:28px;stroke-width:1.6}
.why p{margin-top:24px;color:rgba(255,255,255,.95)}

/* FAQ */
.faq{padding:100px 0 80px}
.faq .wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.faq-list{display:grid;gap:16px;margin-left:-8px}
.faq-item{background:var(--grey);border-radius:16px}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 32px;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item h3{font-size:20px;font-weight:600;letter-spacing:-.3px}
.faq-item svg{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.faq-item[open] svg{transform:rotate(180deg)}
.faq-item .answer{padding:0 32px 30px;line-height:1.6}

/* Footer */
.site-footer{background:var(--light);padding:90px 16px 60px;text-align:center}
.footer-logo{display:inline-block}
.footer-logo img{width:192px;height:auto}
.copy{margin-top:48px;font-size:18px}
.footer-nav ul{list-style:none;display:flex;justify-content:center;gap:24px;margin:10px 0 0;padding:0}
.footer-nav a{font-size:15px;font-weight:600;text-decoration:none;border-bottom:2px solid #d8d8d8;padding-bottom:2px}
.footer-nav a:hover{border-color:var(--ink)}

/* Rechtstexte */
.legal{padding:60px 0 90px}
.legal .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.legal h1{font-size:48px;margin-bottom:34px}
.legal__text p{font-size:18px;line-height:1.5;margin:0 0 27px;overflow-wrap:anywhere}
.legal__text hr{border:0;border-top:1px solid #000;margin:40px 0 0}
.legal__img img{border-radius:16px;width:100%}

/* 404 */
.nf{padding:120px 16px 140px;text-align:center}
.nf h1{font-size:48px}
.nf p{margin:20px auto 34px;font-size:18px}
.nf .btn{background:var(--blue);color:#fff}

/* Mobil-Menü */
.mnav{display:none;background:var(--light);border-top:1px solid #e6e6e6;padding:8px 16px 20px}
.mnav.open{display:block}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav a{display:block;padding:12px 4px;text-decoration:none;font-size:17px;font-weight:500}

@media (max-width:1100px){
  .tech-grid{grid-template-columns:repeat(3,1fr)}
  .tech-feature{grid-row:auto;grid-column:1/-1}
  .main-nav ul{margin-right:0}
}
@media (max-width:900px){
  .main-nav{display:none}
  .burger{display:flex}
  .services .wrap,.faq .wrap,.legal .wrap{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .faq-list{margin-left:0}
}
@media (max-width:640px){
  .header-bar{min-height:93px;padding:0 20px}
  .logo{margin-left:6px}
  .logo img{width:118px}
  .hero{padding:32px 0 58px}
  .pill{font-size:12px;padding:5px 30px}
  .hero h1{font-size:30px;margin-top:18px;line-height:1.28}
  .hl{padding:0 4px}
  .hero__lead{font-size:15px;line-height:1.5;margin-top:14px}
  .hero__btns{flex-direction:column;gap:14px;margin-top:34px}
  .hero__btns .btn{width:100%;min-height:46px;font-size:14px}
  .hero__img{margin-top:52px;border-radius:12px}
  .services{padding:34px 0 20px}
  .label{font-size:14px;margin-bottom:34px}
  .services h2,.technik h2,.faq h2,.steps h2,.whyus h2{font-size:24px}
  .services .intro p{font-size:15px;margin-top:26px}
  .services .wrap{gap:44px}
  .svc-grid{grid-template-columns:1fr;gap:14px}
  .svc-card,.step,.why{padding:20px 20px 24px}
  .icon-box{width:46px;height:46px}
  .icon-box svg{width:26px;height:26px}
  .svc-card h3,.step h3,.why h3{font-size:20px;margin-top:28px}
  .svc-card p,.step p,.why p{font-size:14px;margin-top:18px}
  .steps{padding:30px 0 26px}
  .steps .lead{font-size:15px}
  .step-grid{margin-top:50px;gap:14px}
  .step{flex-basis:100%}
  .technik{padding:30px 0 26px}
  .technik .lead{font-size:14px;margin-top:22px}
  .tech-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
  .tech-feature{padding:20px}
  .whyus{padding:30px 0 30px}
  .why-grid{grid-template-columns:1fr;gap:14px;margin-top:50px}
  .faq{padding:44px 0 40px}
  .faq .wrap{gap:40px}
  .faq-list{gap:14px}
  .faq-item summary{padding:22px 26px}
  .faq-item h3{font-size:16px}
  .faq-item .answer{padding:0 26px 22px;font-size:14px}
  .site-footer{padding:56px 16px 30px}
  .footer-logo img{width:160px}
  .copy{font-size:16px;margin-top:36px}
  .legal{padding:40px 0 60px}
  .legal h1{font-size:32px;margin-bottom:24px}
  .legal__text p{font-size:15px;margin-bottom:20px}
  .legal .wrap{gap:40px}
  .nf h1{font-size:32px}
}
