:root{
  --bg:#0c0f13; --bg2:#12161c; --panel:#171c23; --line:#262d37;
  --ink:#eef1f5; --mute:#a9b3c1; --steel:#c9d1db;
  --blue:#2e7bff; --blue2:#6aa3ff; --plate:#eceff3;
  --r:14px; --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.65 "Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--blue);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--blue2);outline-offset:3px;border-radius:4px}

/* Wortmarke */
.mark{font:italic 900 1.55rem/1 "Arial Black","Segoe UI",sans-serif;letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:baseline;gap:6px}
.mark sup{font-size:.45em;font-weight:700;font-style:normal;position:relative;top:-.6em;margin-left:-3px}
.mark small{font:italic 800 .5em/1 "Segoe UI",sans-serif;color:var(--mute);text-shadow:none;margin-left:2px}

/* Header */
header.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.top.solid{background:rgba(12,15,19,.88);backdrop-filter:blur(14px);border-color:var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
nav ul{display:flex;gap:30px;list-style:none;align-items:center}
nav a{text-decoration:none;font-size:.92rem;font-weight:600;color:var(--steel);transition:color .2s}
nav a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;padding:13px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{background:#4a8dff;transform:translateY(-2px)}
.btn.ghost{background:transparent;box-shadow:none;border:1.5px solid #3a4452;color:var(--ink)}
.btn.ghost:hover{border-color:var(--blue2);background:rgba(46,123,255,.08)}
.btn.small{padding:9px 18px;font-size:.85rem}
.burger{display:none;background:none;border:0;color:#fff;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:currentColor;margin:6px auto;transition:.25s}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;
  background:var(--bg)}
.hero .wrap{position:relative}
.herogrid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.heroimg{border-radius:20px;overflow:hidden;aspect-ratio:1/1.05;border:1px solid var(--line);position:relative}
.heroimg img{width:100%;height:100%;object-fit:cover;object-position:27% 40%;transform:scale(1.02)}
.heroimg::after{content:attr(data-cap);position:absolute;left:16px;bottom:16px;background:rgba(12,15,19,.82);color:var(--steel);font-size:.78rem;font-weight:600;padding:7px 12px;border-radius:8px}
.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue2)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--blue)}
h1{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1.02;letter-spacing:-.035em;font-weight:800;margin:20px 0 24px;max-width:15ch}
h1 em{font-style:normal;color:var(--blue2)}
.lead{font-size:1.18rem;color:var(--steel);max-width:52ch}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 28px;margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.facts b{display:block;font-size:1.35rem;white-space:nowrap;font-weight:800;letter-spacing:-.02em}
.facts span{font-size:.82rem;color:var(--mute)}

/* Sektionen */
section{padding:112px 0}
.head{max-width:680px;margin-bottom:56px}
h2{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;letter-spacing:-.03em;font-weight:800;margin:14px 0 16px}
.sub{color:var(--mute);font-size:1.08rem}
h3{font-size:1.25rem;letter-spacing:-.01em;font-weight:700}

/* NEU: BAW 212 */
#baw{background:linear-gradient(180deg,var(--bg),#0a1220 40%,var(--bg));position:relative}
.badge{display:inline-block;background:var(--blue);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.14em;padding:6px 12px;border-radius:6px;text-transform:uppercase}
.baw{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px}
.gallery img{border-radius:var(--r);width:100%;height:100%;object-fit:cover}
.gallery .big{grid-column:1/-1;aspect-ratio:4/3}
.gallery .big img{aspect-ratio:4/3}
.gallery figure{overflow:hidden;border-radius:var(--r);background:var(--panel)}
.gallery figure img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img{transform:scale(1.05)}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:30px 0}
.specs div{background:var(--panel);padding:20px 18px}
.specs b{display:block;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.specs b small{font-size:.9rem;font-weight:600;color:var(--mute)}
.specs span{font-size:.8rem;color:var(--mute)}
.ticks{list-style:none;display:grid;gap:10px;margin:0 0 26px}
.ticks li{padding-left:30px;position:relative;color:var(--steel)}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:16px;height:9px;border-left:2.5px solid var(--blue2);border-bottom:2.5px solid var(--blue2);transform:rotate(-45deg) scale(.85)}
.note{font-size:.88rem;color:var(--mute);border-left:3px solid var(--blue);padding:4px 0 4px 16px;margin-top:22px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:72px}
.pcard{display:grid;grid-template-columns:200px 1fr;gap:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;align-items:center}
.pcard img{border-radius:10px;aspect-ratio:1;object-fit:cover}
.pcard p{color:var(--mute);font-size:.95rem;margin-top:6px}
.pcard .tag{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--blue2);text-transform:uppercase}

/* Systeme */
.systems{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,border-color .35s,box-shadow .35s}
.card:hover{transform:translateY(-6px);border-color:#3a4a66;box-shadow:0 22px 40px -22px rgba(0,0,0,.8)}
.card .ph{background:var(--plate);aspect-ratio:270/230;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .ph img{transform:scale(1.06)}
.card .tx{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card p{color:var(--mute);font-size:.94rem}
.card .chip{margin-top:auto;padding-top:10px;font-size:.78rem;font-weight:700;color:var(--blue2)}
.lines{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.line{border:1px solid var(--line);border-radius:var(--r);padding:30px;background:linear-gradient(135deg,var(--panel),var(--bg2))}
.line.prem{border-color:#2b4a85;background:linear-gradient(135deg,#112240,var(--bg2))}
.line h3{margin-bottom:6px}
.line p{color:var(--mute)}

/* Wohnmobil */
#womo{background:var(--bg2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.rv img{border-radius:10px;aspect-ratio:16/10;object-fit:cover;width:100%}
.plate{background:var(--plate);border-radius:var(--r);padding:12px;overflow:hidden}
.plate img{border-radius:8px;width:100%}

/* Funktion / Video */
.videos{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.video{border-radius:var(--r);overflow:hidden;background:#000;border:1px solid var(--line)}
.video video{width:100%;aspect-ratio:16/9;background:#000}
.video p{padding:14px 18px;font-size:.92rem;color:var(--mute)}

/* Fertigung */
.fert{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fert figure{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1.05}
.fert img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1)}
.fert figcaption{position:absolute;inset:auto 0 0 0;padding:60px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-weight:700;font-size:.95rem}
.fert figcaption span{display:block;font-weight:400;color:var(--steel);font-size:.82rem}

/* Vertrieb */
#vertrieb{background:var(--bg2)}
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.partner{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px;font-size:.93rem;color:var(--mute)}
.partner h3{color:var(--ink);font-size:1.05rem;margin-bottom:4px}
.partner .land{display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--blue2);text-transform:uppercase;margin-bottom:8px}
.partner.home{border-color:#2b4a85;background:linear-gradient(135deg,#112240,var(--panel))}
.partner a{color:var(--steel)}

/* Kontakt */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.contact address{font-style:normal;color:var(--steel);margin-top:26px;line-height:1.9}
.contact address a{text-decoration:none;color:var(--blue2)}
form{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
form .full{grid-column:1/-1}
label{font-size:.82rem;font-weight:600;color:var(--steel);display:block;margin-bottom:6px}
input,select,textarea{width:100%;background:#0e1217;border:1.5px solid #2c3541;border-radius:10px;color:var(--ink);font:inherit;padding:13px 14px;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,123,255,.2)}
textarea{min-height:130px;resize:vertical}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--mute)}
.chk input{width:20px;height:20px;margin-top:3px;accent-color:var(--blue);flex:none}
.chk a{color:var(--blue2)}
.hp{position:absolute;left:-9999px}
.msg{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-weight:600}
.msg.ok{background:rgba(40,180,100,.14);border:1px solid #2a8a55;color:#8ee6b3}
.msg.err{background:rgba(230,70,70,.14);border:1px solid #a33;color:#ffb0b0}

footer{border-top:1px solid var(--line);padding:44px 0;color:var(--mute);font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center}
footer a{text-decoration:none;margin-left:22px}
footer a:hover{color:#fff}

/* Textseiten */
.page{padding:140px 0 80px;max-width:820px}
.page h1{font-size:clamp(2rem,4vw,3rem);max-width:none}
.page h2{font-size:1.4rem;margin:34px 0 8px}
.page p,.page li{color:var(--steel)}
.page ul{padding-left:22px}

/* Reveal */
.rv-in{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv-in.on{opacity:1;transform:none}

@media (max-width:1020px){
  .systems{grid-template-columns:1fr 1fr}
  .baw,.split,.contact{grid-template-columns:1fr;gap:40px}
  .partners{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:repeat(2,1fr)}
  .herogrid{grid-template-columns:1fr}
  .heroimg{aspect-ratio:16/10}
}
@media (max-width:760px){
  body{font-size:16px}
  section{padding:80px 0}
  .burger{display:block}
  nav{position:fixed;inset:72px 0 auto 0;background:rgba(12,15,19,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:16px 24px 28px;transform:translateY(-130%);transition:transform .35s}
  nav.open{transform:none}
  nav ul{flex-direction:column;align-items:flex-start;gap:0}
  nav li{width:100%}
  nav a{display:block;padding:14px 0;font-size:1.05rem}
    .hero{align-items:flex-start;padding-top:130px}
  .systems,.lines,.pair,.videos,.fert,.partners{grid-template-columns:1fr}
  .pcard{grid-template-columns:110px 1fr;gap:16px}
  .specs{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:22px}
  .facts{gap:18px 30px}
  footer a{margin:0 18px 0 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv-in{opacity:1;transform:none}
}

/* Unterseiten */
section.flush{padding-top:0}
.mt{margin-top:28px}
.center{text-align:center;margin-top:28px}
.subhero{padding:150px 0 70px;background:linear-gradient(180deg,#0a1220,var(--bg))}
.subhero h1{font-size:clamp(2.2rem,5vw,4rem);max-width:18ch}
.subhero .lead b{color:#fff}
.facts.small{margin-top:40px;padding-top:22px}
.facts.small b{font-size:1.1rem}
section.alt{background:var(--bg2)}
nav a[aria-current=page]{color:#fff}
.systems.three{grid-template-columns:repeat(3,1fr)}
.card .tx .btn{align-self:flex-start;margin-top:auto}
.tools{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.tools>div{min-width:220px}.tools .grow{flex:1}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.pills button{background:var(--panel);color:var(--steel);border:1.5px solid #2c3541;border-radius:999px;padding:8px 16px;font:600 .85rem/1 inherit;font-family:inherit;cursor:pointer;transition:.2s}
.pills button:hover{border-color:var(--blue2)}
.pills button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.count{color:var(--mute);font-size:.9rem;margin:6px 0 14px}
.rows{list-style:none;display:grid;gap:10px}
.row{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px 12px 12px;transition:border-color .25s}
.row:hover{border-color:#3a4a66}
.row .th{width:96px;height:80px;border-radius:9px;overflow:hidden;background:var(--plate)}
.row .th img{width:100%;height:100%;object-fit:cover}
.row .th.noimg{background:var(--bg2);border:1px dashed #2c3541}
.row h3{font-size:1.02rem;line-height:1.35}
.row p{color:var(--mute);font-size:.88rem}
.new{display:inline-block;margin-left:10px;background:var(--blue);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.1em;padding:2px 7px;border-radius:5px;vertical-align:middle}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{background:#0e1217;border:1px solid #2c3541;border-radius:6px;padding:2px 9px;font-size:.76rem;color:var(--steel)}
.empty{padding:30px;text-align:center;color:var(--mute)}
@media (max-width:760px){
  .systems.three{grid-template-columns:1fr}
  .row{grid-template-columns:72px 1fr;gap:12px}
  .row .th{width:72px;height:62px}
  .row .btn{grid-column:1/-1;justify-content:center}
}

/* Anfrage-Dialog */
dialog{margin:auto;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);padding:0;width:min(560px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto}
dialog::backdrop{background:rgba(5,8,12,.78);backdrop-filter:blur(4px)}
dialog form{border:0;border-radius:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:30px;position:relative}
dialog h2{grid-column:1/-1;font-size:1.5rem;margin:0}
.ask-title{grid-column:1/-1;color:var(--blue2);font-weight:600;margin-top:-8px}
dialog .close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--steel);font-size:2rem;line-height:1;cursor:pointer;width:44px;height:44px}
@media (max-width:760px){dialog form{grid-template-columns:1fr;padding:22px}}

/* Sprachumschalter */
.lang{display:flex;gap:2px}
nav li.lang{display:flex}
.lang a{font-size:.75rem;font-weight:800;letter-spacing:.06em;padding:6px 8px;border-radius:6px;color:var(--mute)}
.lang a[aria-current]{color:#fff;background:var(--panel);border:1px solid #2c3541}
.lang a:hover{color:#fff}
