@charset "UTF-8";
/* Bebas Neue 400, Barlow 300/400/700 — SIL OFL */
@font-face{font-display:swap;font-family:'Bebas Neue';font-style:normal;font-weight:400;src:url("assets/fonts/bebas-neue-v16-latin-regular.woff2") format('woff2')}
@font-face{font-display:swap;font-family:'Barlow';font-style:normal;font-weight:300;src:url("assets/fonts/barlow-v13-latin-300.woff2") format('woff2')}
@font-face{font-display:swap;font-family:'Barlow';font-style:normal;font-weight:400;src:url("assets/fonts/barlow-v13-latin-regular.woff2") format('woff2')}
@font-face{font-display:swap;font-family:'Barlow';font-style:normal;font-weight:700;src:url("assets/fonts/barlow-v13-latin-700.woff2") format('woff2')}

/* Dunkles, monochromes Erscheinungsbild; Rot nur aus dem Logo. */
:root{
color-scheme:dark;
--bg:#1e1e1e;
--bg-raised:#2d2d2d;
--fg:#dbdbdb;
--fg-hover:#dddddd;
--fg-strong:#ffffff;
--fg-muted:#a2a2a2;
--fg-on-primary:#2d2d2d;
--primary:#ffffff;
--primary-hover:rgba(255,255,255,0.9);
--brand-red:#e0312d;
--border:#555555;
--divider:rgba(219,219,219,0.25);
--font-heading:'Bebas Neue','Oswald','Arial Narrow',Impact,sans-serif;
--font-body:'Barlow','Helvetica Neue',Arial,sans-serif;
--text-footer-heading:1.9rem;
--text-nav:1.6rem;
--text-button:1.3rem;
--text-body:1.2rem;
--text-small:0.875rem;
--space-section:6.6rem;
--container:1320px;
--gutter:3rem;
--transition-fast:all 0.1s ease-in-out;
--transition-logo:all 0.22s ease-out;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:1rem;line-height:1.5}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;color:var(--fg-strong);line-height:1.2;margin:0 0 1.5rem}
p{font-size:var(--text-body);margin:0 0 1rem}
a{color:var(--fg)}a:hover,a:focus{color:var(--fg-hover)}
hr{margin:0;border:0;border-top:1px solid var(--divider)}
.red{color:var(--brand-red)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #fff;outline-offset:3px}

.am-btn{display:inline-block;text-align:center;font-family:var(--font-heading);font-size:var(--text-button);font-weight:400;line-height:1.5;padding:1rem 2rem;border:2px solid var(--primary);border-radius:0;background:var(--primary);color:var(--fg-on-primary);text-decoration:none;cursor:pointer;transition:var(--transition-fast)}
.am-btn:hover,.am-btn:focus{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--fg-on-primary)}
.am-btn--full{display:block;width:100%}
.am-btn:disabled{opacity:.5;cursor:not-allowed}
.am-btn--nav{font-size:1.15rem;line-height:1.2;padding:.6rem 1.25rem}

.am-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);padding:16px var(--gutter)}
.am-logo{display:inline-block}
.am-logo img{height:56px;width:auto;display:block;transition:var(--transition-logo)}
.am-logo:hover img{opacity:.85}
.am-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.am-nav-link{font-family:var(--font-heading);font-size:var(--text-nav);color:var(--fg);text-decoration:none;padding:.5rem;line-height:1.2;transition:var(--transition-fast)}
.am-nav-link:hover,.am-nav-link:focus,.am-nav-link.is-active{color:var(--fg-strong)}

.am-section{padding-block:var(--space-section);background:var(--bg)}
.am-section--raised{background:var(--bg-raised)}
.am-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
#anfrage{scroll-margin-top:0}

/* Hero */
.lp-hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#2a2a2a 0%,#1a1a1a 100%)}
.lp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(224,49,45,.18),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0 2px,transparent 2px 24px);pointer-events:none}
.lp-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.lp-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--container);margin-inline:auto;padding:4rem var(--gutter)}
.lp-eyebrow{font-family:var(--font-heading);color:#fff;letter-spacing:.04em;font-size:1.2rem;opacity:.85;margin:0 0 1rem}
.lp-h1{font-family:var(--font-heading);color:#fff;font-size:5rem;line-height:.96;margin:0 0 1.25rem;text-transform:uppercase}
.lp-h1 .nb{white-space:nowrap}
.lp-rule{width:88px;height:3px;background:#fff;margin:0 0 1.5rem;border:0}
.lp-sub{color:#dbdbdb;font-size:1.2rem;line-height:1.5;max-width:640px;margin:0 0 2rem;font-weight:300}

/* Section-Überschriften */
.lp-sec-head{text-align:center;margin:0 auto 3rem;max-width:720px}
.lp-sec-eyebrow{font-family:var(--font-heading);color:#a2a2a2;font-size:1rem;letter-spacing:.1em;margin:0 0 .75rem}
.lp-sec-head h2{font-size:2.75rem;margin:0;text-transform:uppercase;line-height:1.05}

/* 6 Schritte */
.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.lp-step{background:var(--bg-raised);padding:2rem 1.75rem 1.75rem}
.lp-step-num{font-family:var(--font-heading);color:#fff;font-size:3.5rem;line-height:1;margin:0 0 .25rem;opacity:.9}
.lp-step-rule{width:40px;height:2px;background:var(--brand-red);border:0;margin:0 0 1rem}
.lp-step h3{font-size:2rem;margin:0 0 .5rem;text-transform:uppercase}
.lp-step p{color:#dbdbdb;font-size:1rem;line-height:1.55;margin:0}

/* Vergleich */
.lp-compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid #555}
.lp-compare-col{padding:2rem 2rem 1.5rem}
.lp-compare-col.alt{background:#2d2d2d;border-left:1px solid #555}
.lp-compare-col h3{font-size:1.9rem;margin:0 0 1.25rem;text-transform:uppercase}
.lp-compare-col h3 .tag{display:inline-block;font-size:.7rem;letter-spacing:.08em;padding:3px 8px;background:#fff;color:#0f0f0f;margin-left:.5rem;vertical-align:middle}
.lp-compare-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}
.lp-compare-col li{color:#dbdbdb;font-size:1rem;line-height:1.5;padding-left:1.5rem;position:relative}
.lp-compare-col li::before{content:"";position:absolute;left:0;top:.55rem;width:.5rem;height:.5rem;background:#a2a2a2}
.lp-compare-col.alt li::before{background:var(--brand-red)}
.lp-footnote{color:#a2a2a2;font-size:.8rem;line-height:1.5;margin:2rem auto 0;max-width:900px;text-align:center}

/* Formular */
.lp-form-wrap{background:var(--bg-raised);padding:3rem 3rem 2.5rem;max-width:720px;margin:0 auto}
.lp-form-wrap h2{font-size:2.75rem;margin:0 0 .25rem;text-transform:uppercase}
.lp-form-sub{color:#a2a2a2;font-size:1rem;margin:0 0 1.75rem}
.lp-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lp-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.lp-field.wide{grid-column:1/-1}
.lp-field label{font-family:var(--font-heading);color:#dbdbdb;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}
.lp-req{color:var(--brand-red)}
.lp-optional{color:#a2a2a2;font-family:var(--font-body);font-size:.8rem;letter-spacing:0;text-transform:none}
.lp-field input[type=text],.lp-field input[type=tel],.lp-field input[type=email]{background:#1e1e1e;border:1px solid #555;border-radius:0;color:#fff;padding:.85rem .9rem;font-family:var(--font-body);font-size:1rem;transition:border-color .1s ease-in-out;width:100%;-webkit-appearance:none;appearance:none}
.lp-field input:focus{outline:none;border-color:#fff}
.lp-field input::placeholder{color:#777}
.lp-form.was-validated input:invalid{border-color:var(--brand-red)}
.lp-vin{letter-spacing:.05em;text-transform:uppercase}
.lp-vin::placeholder{text-transform:none}
.lp-field label.lp-upload{display:flex;align-items:center;gap:1rem;background:#1e1e1e;border:1px dashed #555;padding:1rem;cursor:pointer;transition:border-color .1s ease-in-out;font-family:var(--font-body);letter-spacing:0;text-transform:none;position:relative}
.lp-upload:hover,.lp-upload:focus-within,.lp-upload.is-drag{border-color:#fff}
.lp-upload.has-file{border-style:solid}
.lp-upload-plus{font-family:var(--font-heading);color:#fff;font-size:1.2rem;line-height:1;flex:none;width:40px;height:40px;border:2px solid #fff;display:flex;align-items:center;justify-content:center}
.lp-upload-text{color:#dbdbdb;font-size:.95rem;line-height:1.4;min-width:0;overflow-wrap:anywhere}
.lp-upload-hint{color:#a2a2a2;font-size:.85rem}
.lp-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lp-upload-remove{align-self:flex-start;background:none;border:0;padding:.25rem 0;color:#a2a2a2;font-family:var(--font-body);font-size:.85rem;text-decoration:underline;cursor:pointer}
.lp-upload-remove:hover{color:#fff}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lp-form-foot{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}
.lp-form-error{margin:0;padding:.85rem 1rem;border:1px solid var(--brand-red);color:#fff;font-size:.95rem;line-height:1.45}
.lp-form-note{color:#a2a2a2;font-size:.9rem;line-height:1.5;margin:0}
.lp-form-note a{color:#dbdbdb}
.lp-success{background:var(--bg-raised);padding:3rem;max-width:720px;margin:0 auto;text-align:center;outline:none}
.lp-success-mark{width:72px;height:72px;border:3px solid #fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-size:2rem}
.lp-success h2{font-size:2.5rem;margin:0 0 .75rem;text-transform:uppercase}
.lp-success p{color:#dbdbdb;margin:0 0 .25rem}

/* FAQ */
.lp-faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column}
.lp-faq details{border-top:1px solid #555;padding:1.5rem 0}
.lp-faq details:last-of-type{border-bottom:1px solid #555}
.lp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--font-heading);color:#fff;font-size:1.6rem;line-height:1.15;text-transform:uppercase}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";flex:none;font-family:var(--font-heading);font-size:2rem;line-height:1;color:var(--brand-red)}
.lp-faq details[open] summary::after{content:"-"}
.lp-faq details p{color:#dbdbdb;margin:1rem 0 0;font-size:1.05rem;line-height:1.55}

/* CTA */
.lp-cta-strip{text-align:center}
.lp-cta-strip h2{font-size:3rem;margin:0 0 1rem;text-transform:uppercase;line-height:1.05}
.lp-cta-strip p{color:#dbdbdb;font-size:1.2rem;margin:0 0 2rem}
.lp-cta-contact{display:flex;justify-content:center;gap:1rem 2.5rem;margin-top:2rem;flex-wrap:wrap;font-size:1.05rem}
.lp-cta-contact a{display:inline-flex;align-items:center;gap:.5rem;color:#dbdbdb;text-decoration:none}
.lp-cta-contact a:hover{color:#fff}
.lp-cta-contact svg{width:1.1em;height:1.1em;fill:#a2a2a2;flex:none}

/* Footer */
.am-footer{background:var(--bg-raised);line-height:1.6;color:var(--fg)}
.am-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;padding:48px var(--gutter)}
.am-footer-col{display:flex;flex-direction:column;gap:8px}
.am-footer-col p{margin:0;line-height:1.6}
.am-footer-heading{font-family:var(--font-heading);font-size:var(--text-footer-heading);color:var(--fg-strong);margin:0}
.am-footer a{color:var(--fg);text-decoration:none}
.am-footer a:hover{color:var(--fg-strong)}
.am-footer-legal{padding:16px var(--gutter);font-size:var(--text-small)}

/* Tablet */
@media (max-width:1023px){
  :root{--gutter:2rem;--space-section:5rem}
  .lp-h1{font-size:4.25rem}
  .lp-steps{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}

/* Mobil */
@media (max-width:767px){
  :root{--gutter:1rem;--space-section:3.5rem;--text-body:1.05rem;--text-nav:1.3rem;--text-button:1.2rem}
  .am-nav{padding-block:12px}
  .am-logo img{height:44px}
  .am-btn--nav{font-size:1.05rem;padding:.5rem .9rem}
  .lp-hero{min-height:0}
  .lp-hero-inner{padding-block:3.5rem}
  .lp-eyebrow{font-size:1.05rem}
  .lp-h1{font-size:clamp(2.75rem,13.5vw,4rem)}
  .lp-sub{font-size:1.1rem}
  .lp-hero .am-btn{display:block}
  .lp-sec-head{margin-bottom:2rem}
  .lp-sec-head h2,.lp-form-wrap h2,.lp-cta-strip h2{font-size:2.1rem}
  .lp-steps{grid-template-columns:1fr;gap:1rem}
  .lp-step{padding:1.5rem 1.25rem}
  .lp-step-num{font-size:3rem}
  .lp-step h3{font-size:1.75rem}
  .lp-compare{grid-template-columns:1fr}
  .lp-compare-col{padding:1.5rem 1.25rem}
  .lp-compare-col.alt{border-left:0;border-top:1px solid #555}
  .lp-form-wrap{padding:1.75rem 1.25rem}
  .lp-form{grid-template-columns:1fr}
  .lp-success{padding:2rem 1.25rem}
  .lp-success h2{font-size:2.1rem}
  .lp-faq details{padding:1.15rem 0}
  .lp-faq summary{font-size:1.35rem}
  .lp-cta-strip .am-btn{display:block}
  .lp-cta-contact{flex-direction:column;align-items:center}
  .am-footer-grid{padding-block:2rem;gap:1.5rem}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
