/* ===== Unterseiten ===== */
body.solid-hd .hd{background:rgba(34,38,28,.96)}
.phero{position:relative;min-height:clamp(520px,74svh,760px);display:flex;align-items:flex-end;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate}
.phero--s{min-height:clamp(420px,52svh,560px)}
.phero__media{position:absolute;inset:0;z-index:-2}
.phero__media img,.phero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero__media img{animation:kb 18s ease-out both}
.phero__media video{opacity:0;transition:opacity 1.2s}.phero__media video.ready{opacity:1}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,24,16,.8) 0%,rgba(20,24,16,.45) 50%,rgba(20,24,16,.15) 100%),linear-gradient(180deg,rgba(20,24,16,.55) 0%,rgba(20,24,16,0) 30%,rgba(20,24,16,.75) 100%)}
.phero__in{width:100%;padding-top:calc(var(--hd) + 60px);padding-bottom:clamp(48px,7vw,88px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.65);margin-bottom:26px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.5}
.phero .over{color:var(--champ)}
.phero h1{font-size:clamp(40px,6vw,88px);line-height:1.02;letter-spacing:-.045em;margin-top:16px;max-width:15ch;font-weight:600}
.phero p.lead{color:rgba(255,255,255,.8);margin-top:20px;max-width:52ch}
.phero .over,.phero p.lead{opacity:0;transform:translateY(14px);transition:opacity .8s .5s,transform .8s .5s}
.phero.go .over,.phero.go p.lead{opacity:1;transform:none}
.phero.go .over{transition-delay:.05s}

/* Text mit Bild */
.ti{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,104px);align-items:center}
.ti--rev .ti__media{order:-1}
.ti .h2{margin-top:14px;max-width:15ch}
.ti__txt{margin-top:22px;color:var(--stone)}
.ti__txt p+p{margin-top:16px}
.ti__txt strong{color:var(--ink)}
.ti .btn{margin-top:30px}
.ti__media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}

/* Zeitstrahl */
.tline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-top:1px solid var(--line)}
.tline li{position:relative;padding:30px 24px 0 0}
.tline li::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.tline b{display:block;font-size:34px;font-weight:300;letter-spacing:-.04em;color:var(--olive)}
.tline h3{font-size:18px;margin-top:10px}
.tline p{font-size:15px;color:var(--stone);margin-top:8px}
.sec--dark .tline{border-color:var(--line-d)}.sec--dark .tline b{color:var(--champ)}.sec--dark .tline p{color:rgba(255,255,255,.7)}

/* Vorteile */
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.feat li{list-style:none;background:var(--ivory);padding:30px 26px 32px}
.feat{margin:0;padding:0}
.feat span{font-size:13px;font-weight:600;color:var(--gold)}
.feat h3{font-size:20px;margin-top:16px}
.feat p{font-size:15px;color:var(--stone);margin-top:8px}
.sec--alt .feat li{background:var(--ivory-2)}

/* Vergleich */
.cmpw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:720px;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.cmp th,.cmp td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px;vertical-align:top}
.cmp thead th{background:var(--ivory)}
.cmp thead img{width:100%;max-width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:2px;display:block}
.cmp thead b{display:block;font-size:19px;margin-top:12px}
.cmp tbody th{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);width:180px}
.cmp td b{font-size:20px}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:0}

/* CTA-Band */
.cta3{position:relative;color:#fff;overflow:hidden;isolation:isolate;padding:clamp(80px,11vw,140px) 0}
.cta3>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta3::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,36,22,.92),rgba(30,36,22,.6))}
.cta3 .over{color:var(--champ)}
.cta3 h2{font-size:clamp(34px,4.6vw,62px);letter-spacing:-.04em;margin-top:14px;max-width:16ch}
.cta3 p{color:rgba(255,255,255,.78);margin-top:18px;max-width:50ch;font-size:18px}
.cta3 .btn{margin-top:30px}

/* Galerie mit Filter + Lightbox */
.fbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.fbar button{padding:10px 18px;border:1px solid var(--line);border-radius:40px;background:#fff;font:500 14.5px var(--f);cursor:pointer;color:var(--ink)}
.fbar button[aria-pressed=true]{background:var(--olive-d);border-color:var(--olive-d);color:#fff}
.mas{columns:3 280px;column-gap:16px}
.mas a{display:block;break-inside:avoid;margin-bottom:16px;position:relative;overflow:hidden;border-radius:2px}
.mas img{width:100%;transition:transform .6s}
.mas a:hover img{transform:scale(1.03)}
.mas figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(180deg,transparent,rgba(20,24,16,.8));color:#fff;font-size:13.5px;opacity:0;transition:opacity .3s}
.mas a:hover figcaption,.mas a:focus figcaption{opacity:1}
.mas [hidden]{display:none}
.lb{position:fixed;inset:0;z-index:90;background:rgba(15,18,12,.94);display:grid;place-items:center;padding:60px 20px}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:min(1200px,100%);text-align:center}
.lb img{max-height:80vh;width:auto;margin:0 auto;border-radius:2px}
.lb p{color:rgba(255,255,255,.75);font-size:14px;margin-top:14px}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-size:22px;cursor:pointer}
.lb__x{top:20px;right:20px}.lb__p{left:20px;top:50%}.lb__n{right:20px;top:50%}

/* Ereignisse */
.evl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.evl li{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.evl b{font-size:28px;font-weight:300;letter-spacing:-.03em;color:var(--olive)}
.evl h3{font-size:19px}
.evl span{font-size:14px;color:var(--stone);text-align:right}

/* Preisrechner (hell) */
.calcbox{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;background:var(--olive-d);color:#fff;border-radius:2px;overflow:hidden}
.calcbox__l{padding:clamp(26px,4vw,44px)}
.calcbox__r{padding:clamp(26px,4vw,44px);background:rgba(0,0,0,.18);display:flex;flex-direction:column;justify-content:center}
.calcbox .cfg{background:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.cars-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:30px}
.cars-pick label{cursor:pointer;position:relative}
.cars-pick input{position:absolute;opacity:0;pointer-events:none}
.cars-pick span{display:block;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:2px;transition:border-color .2s,background .2s}
.cars-pick img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:2px}
.cars-pick b{display:block;font-size:15px;margin-top:10px}
.cars-pick small{font-size:12.5px;color:rgba(255,255,255,.6)}
.cars-pick input:checked+span{border-color:var(--champ);background:rgba(255,255,255,.07)}
.cars-pick input:focus-visible+span{outline:2px solid var(--champ);outline-offset:2px}
.calcbox .over{color:var(--champ)}
.ptable2{margin-top:26px}
.ptable2 summary{cursor:pointer;font-weight:600;color:var(--olive-d);font-size:15px}
.ptable2 .prices{margin-top:14px}

/* Einzelnes Fahrzeug */
.car-hero{padding-top:calc(var(--hd) + 40px)}
.car-hero .crumbs{color:rgba(255,255,255,.6)}
.car-hero h1{font-size:clamp(44px,6vw,92px);letter-spacing:-.05em;line-height:1;margin-top:12px}
.car-hero .sr__head{margin-bottom:10px}
.car-hero .sr{grid-template-columns:minmax(0,1fr) 380px}
.car-hero .sr__stage{min-height:560px}
.more-cars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mc2{display:flex;gap:20px;align-items:center;padding:16px;background:#fff;border:1px solid var(--line);border-radius:2px;text-decoration:none;transition:border-color .25s,transform .25s}
.mc2:hover{border-color:var(--sage);transform:translateY(-2px)}
.mc2 img{width:170px;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.mc2 b{display:block;font-size:20px}
.mc2 small{display:block;color:var(--stone);margin-top:4px}

/* Rechtstexte */
.legal{max-width:760px}
.legal h1{font-size:clamp(36px,4vw,54px);letter-spacing:-.04em}
.legal .txt{margin-top:28px;color:var(--stone)}
.legal .txt p+p{margin-top:14px}
.legal .txt h2{font-size:24px;color:var(--ink);margin:28px 0 8px}

@media (max-width:900px){
  .ti{grid-template-columns:1fr}.ti--rev .ti__media{order:0}
  .calcbox{grid-template-columns:1fr}
  .car-hero .sr{grid-template-columns:1fr}
  .evl li{grid-template-columns:70px 1fr}.evl span{grid-column:2;text-align:left}
  .more-cars{grid-template-columns:1fr}
}
@media (max-width:640px){.cars-pick{grid-template-columns:1fr 1fr 1fr;gap:6px}.cars-pick b{font-size:12.5px}.cars-pick small{display:none}.mc2 img{width:110px}}

.cta3+.ft3,.req3+.ft3{padding-top:clamp(56px,7vw,80px)}
.ft3__grid:first-child{padding-top:0}
