.geb{background:linear-gradient(180deg,var(--paper),#E6EDEF)}
.geb-g{display:grid;grid-template-columns:1fr 1.08fr;grid-template-areas:'t m' 'l m';column-gap:48px;row-gap:0;align-items:start}
.geb-t{grid-area:t}
.geb-m{grid-area:m;align-self:center}
.glist{grid-area:l}
.geb .kick{display:inline-block;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.geb .h2{color:var(--ink)}
.geb .l{color:var(--ink-2);margin:16px 0 26px;max-width:52ch}
.glist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.glist a{display:flex;align-items:center;justify-content:space-between;gap:10px;height:100%;padding:13px 14px 13px 16px;background:var(--white);border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.glist a span{display:flex;flex-direction:column;min-width:0}
.glist b{font-size:16px;line-height:1.25;color:var(--ink)}
.glist small{font-size:13px;color:var(--muted);line-height:1.35;margin-top:2px}
.glist .ic{width:18px;height:18px;color:var(--teal);transition:transform .15s}
.glist a:hover{border-color:var(--teal);box-shadow:0 8px 22px -14px rgba(15,74,94,.45);transform:translateY(-1px)}
.glist a:hover .ic{transform:translateX(3px)}
.mapcard{position:relative;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:0 30px 60px -40px rgba(15,74,94,.55)}
.gmap{display:block;width:100%;height:auto;background:radial-gradient(circle at 49% 36%,var(--teal-soft),transparent 62%);border-radius:16px;font-family:var(--font)}
.gmap .r{fill:none;stroke:var(--line-2);stroke-width:1.2;stroke-dasharray:4 6}
.gmap .rl{font-size:12px;fill:var(--muted);font-weight:700}
.gmap .fl{fill:none;stroke:#9CCFDB;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.gmap .fl.s{stroke-width:5}
.gmap .fn{font-size:12px;font-style:italic;fill:#4E9FB2;letter-spacing:.06em}
.gmap .pin{cursor:pointer}
.gmap .pin circle{fill:var(--white);stroke:var(--brand);stroke-width:3;transition:r .15s,fill .15s}
.gmap .pin text{font-size:15px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.gmap .pin:hover circle,.gmap .pin:focus-visible circle{fill:var(--teal);r:9}
.gmap .pin:hover text{fill:var(--teal)}
.gmap .home circle{fill:var(--brand);stroke:#fff}
.gmap .home text{font-family:var(--head);font-size:24px;font-weight:800;fill:var(--brand)}
.gmap .home .pulse{fill:var(--teal);stroke:none;opacity:.35;transform-origin:center;transform-box:fill-box;animation:gpulse 2.4s ease-out infinite}
@keyframes gpulse{0%{transform:scale(.7);opacity:.5}
100%{transform:scale(2.6);opacity:0}
}
@media (prefers-reduced-motion:reduce){.gmap .home .pulse{animation:none}
}
.mlg{position:absolute;right:28px;bottom:26px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink-2);background:rgba(255,255,255,.9);padding:6px 10px;border-radius:99px}
.mlg i{width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--teal-soft)}
.mzst{margin-top:40px;display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center;background:var(--brand);color:#fff;border-radius:20px;padding:22px 26px}
.mzh b{display:block;font-family:var(--head);font-size:24px;line-height:1.05;letter-spacing:-.01em}
.mzh span{font-size:14px;color:#BFE3EC}
.mzst ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.mzst li{font-size:14px;font-weight:700;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
.mzst .lnk{color:#9FDCE9;white-space:nowrap}
@media (max-width:960px){.geb-g{grid-template-columns:1fr;grid-template-areas:'t' 'm' 'l';row-gap:0}
.geb-m{margin-bottom:24px}
.mzst{grid-template-columns:1fr;gap:14px}
}
@media (max-width:560px){.glist{gap:8px}
.glist a{padding:11px 10px 11px 12px;border-radius:12px}
.glist b{font-size:15px}
.glist small{display:none}
.glist .ic{width:16px;height:16px}
.mapcard{padding:6px;border-radius:18px}
.mlg{right:12px;bottom:10px;font-size:11px;padding:4px 8px}
.gmap .rl{display:none}
.btn{max-width:100%;white-space:normal;text-align:center}
.gmap .pin text{font-size:19px}
.gmap .home text{font-size:28px}
.gmap .rl,.gmap .fn{font-size:15px}
.mzst{padding:20px}
}
.h2x{overflow:hidden;isolation:isolate}
.h2x .hx-img{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:62% 55%;max-width:none;animation:hxZoom 24s ease-in-out infinite alternate;will-change:transform;transform-origin:65% 50%}
@keyframes hxZoom{from{transform:scale(1) translate3d(0,0,0)}
to{transform:scale(1.08) translate3d(-1.5%,0,0)}
}
.h2x::after{background:linear-gradient(100deg,rgba(9,22,29,.92) 0%,rgba(9,22,29,.74) 38%,rgba(9,22,29,.25) 70%,rgba(9,22,29,.45) 100%),linear-gradient(0deg,rgba(9,22,29,.8) 0%,rgba(9,22,29,0) 42%);z-index:0}
.h2x .hero-c{grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:center;padding-top:calc(var(--navh) + 44px);padding-bottom:112px;position:relative;z-index:1}
.hx-kick{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-weight:600;font-size:15.5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hx-kick i{width:9px;height:9px;border-radius:50%;background:var(--green-l);box-shadow:0 0 0 0 rgba(60,180,106,.6);animation:hxPulse 2s infinite}
@keyframes hxPulse{70%{box-shadow:0 0 0 10px rgba(60,180,106,0)}
100%{box-shadow:0 0 0 0 rgba(60,180,106,0)}
}
.h2x h1{font-size:clamp(54px,7.2vw,108px);margin:20px 0 6px;line-height:.9}
.hx-rot{font-family:var(--head);font-weight:800;font-size:clamp(32px,3.6vw,52px);line-height:1.05;color:rgba(255,255,255,.92);margin:0 0 22px;display:flex;flex-wrap:wrap;gap:0 .28em}
.rot{position:relative;display:inline-grid;color:var(--green-l);overflow:hidden;height:1.22em;line-height:1.15}
.rot b{grid-area:1/1;font-weight:800;transform:translateY(110%);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s;white-space:nowrap}
.rot b.on{transform:none;opacity:1}
.rot b.out{transform:translateY(-110%);opacity:0}
.rot::after{content:".";position:absolute;right:-.3em;color:#fff;display:none}
.h2x .lead{max-width:33em;font-size:clamp(18px,1.5vw,20.5px)}
.h2x .cta{margin-top:28px}
.h2x .cta .btn.glass .tel{font-weight:700}
.hx-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hx-proof span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-weight:600;font-size:15.5px}
.hx-proof .ic{width:18px;height:18px;color:var(--green-l);stroke-width:2.6}
/* Fahrt-Planer */.planer{position:relative;padding:22px;border-radius:24px;background:rgba(10,24,31,.62);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transform-style:preserve-3d;transition:transform .25s ease-out}
.planer::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(60,180,106,.9),rgba(255,255,255,.05) 40%,rgba(31,141,164,.8));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pl-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pl-h b{font-family:var(--head);font-weight:800;font-size:30px;line-height:1}
.pl-h small{font-size:14px;color:rgba(255,255,255,.7)}
.pl-route{position:relative;margin:12px 0 4px;padding-bottom:22px}
.pl-route svg{display:block;width:100%;height:auto;overflow:visible}
.pl-road{fill:none;stroke:rgba(255,255,255,.14);stroke-width:12;stroke-linecap:round}
.pl-dash{fill:none;stroke:rgba(255,255,255,.7);stroke-width:2;stroke-dasharray:8 9;animation:plDash 1.4s linear infinite}
@keyframes plDash{to{stroke-dashoffset:-34}
}
.pl-van circle{fill:var(--green-l);stroke:#fff;stroke-width:3}
.pl-van path{fill:#fff}
.pl-a,.pl-b{position:absolute;bottom:0;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.85)}
.pl-a{left:0}
.pl-b{right:0}
.pl-a .ic,.pl-b .ic{width:18px;height:18px}
.pl-b .ic{color:var(--green-l)}
.pl-a em,.pl-b em{font-style:normal}
#plDest{transition:opacity .25s}
.pl-q{margin-top:10px}
.pl-q>span{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:7px}
.pl-ch{display:flex;flex-wrap:wrap;gap:6px}
.pl-ch label{position:relative;cursor:pointer}
.pl-ch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pl-ch span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);font-weight:600;font-size:15.5px;transition:background .15s,border-color .15s,transform .1s}
.pl-ch label:hover span{background:rgba(255,255,255,.16)}
.pl-ch input:checked+span{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.pl-ch input:focus-visible+span{outline:3px solid var(--green-l);outline-offset:2px}
.pl-ch label:active span{transform:scale(.97)}
.pl-res{margin-top:16px;padding:14px 16px;border-radius:14px;background:rgba(60,180,106,.14);border:1px solid rgba(60,180,106,.35)}
.pl-res b{display:block;font-size:16.5px}
.pl-res p{font-size:15px;color:rgba(255,255,255,.85);margin-top:2px}
.pl-res.flash{animation:plFlash .5s}
@keyframes plFlash{from{background:rgba(60,180,106,.4)}
}
.pl-go{display:grid;grid-template-columns:1.25fr 1fr;gap:8px;margin-top:14px}
.pl-go .btn{min-height:50px;padding:0 14px;font-size:16.5px}
.pl-tel{display:block;text-align:center;margin-top:12px;font-size:15px;color:rgba(255,255,255,.8);text-decoration:none}
.pl-tel:hover{color:#fff;text-decoration:underline}
.pl-tel .tel{font-weight:700;color:#fff}
/* Kennzahlen */.hx-after{padding-top:0!important}
.hx-stats-w{position:relative;z-index:2;margin-top:-64px;margin-bottom:72px}
.hx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:22px;box-shadow:0 24px 48px -28px rgba(18,42,54,.45),0 0 0 1px rgba(18,42,54,.06)}
.hx-stats .s{padding:24px 26px;display:flex;flex-direction:column;gap:4px}
.hx-stats .s+.s{border-left:1px solid var(--line)}
.hx-stats b{font-family:var(--head);font-weight:800;font-size:54px;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.hx-stats b small{font-size:26px;color:var(--green)}
.hx-stats .s>span{font-size:16px;color:var(--ink-2);line-height:1.4}
/* Karten & Strecke */.type img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.type:hover img{transform:scale(1.05)}
.type{position:relative}
.road .track::after{animation:roadMove 1.2s linear infinite paused}
.road.in .track::after{animation-play-state:running}
@keyframes roadMove{to{background-position:40px 0}
}
.road .track::before{transform-origin:left center;transform:translateY(-50%) scaleX(var(--rs,1));transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.js-rv .road:not(.in) .track::before{--rs:0}
.road li:nth-child(2) .track::before{transition-delay:.25s}
.road li:nth-child(3) .track::before{transition-delay:.5s}
.road li:nth-child(4) .track::before{transition-delay:.75s}
/* Scroll-Einblendung */.js-rv .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js-rv .rv.in{opacity:1;transform:none}
@media (max-width:1100px){.h2x .hero-c{grid-template-columns:minmax(0,1fr) 380px;gap:36px}
}
@media (max-width:980px){.h2x .hero-c{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--navh) + 40px);padding-bottom:96px;gap:34px}
.planer{max-width:560px}
.hx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.hx-stats .s:nth-child(3){border-left:0}
.hx-stats .s:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:640px){.h2x .hx-img{inset:0;width:100%;height:58vh;min-height:360px;object-position:60% 50%;animation-duration:30s}
.h2x::after{background:linear-gradient(180deg,rgba(9,22,29,.5) 0,rgba(9,22,29,.12) 14vh,rgba(9,22,29,.6) 36vh,var(--dark) 56vh,var(--dark) 100%)}
.h2x .hero-c{padding-top:calc(var(--navh) + 22vh);padding-bottom:84px;gap:28px}
.hx-kick{font-size:14px;padding:7px 13px 7px 10px}
.h2x h1{font-size:clamp(48px,14vw,64px);margin-top:16px}
.hx-rot{font-size:clamp(28px,8.4vw,36px);margin-bottom:16px}
.h2x .lead{font-size:17.5px}
.h2x .cta{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.h2x .cta .btn{width:100%}
.hx-proof{gap:8px}
.hx-proof span{font-size:14.5px;padding:7px 12px}
.planer{padding:18px;border-radius:20px;margin:0 -4px}
.pl-h b{font-size:26px}
.pl-ch span{min-height:44px;padding:0 13px;font-size:15px}
.pl-go{grid-template-columns:minmax(0,1fr)}
.hx-stats-w{margin-top:-48px;margin-bottom:56px}
.hx-stats .s{padding:18px 16px}
.hx-stats b{font-size:42px}
.hx-stats b small{font-size:20px}
.hx-stats .s>span{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){.h2x .hx-img,.hx-kick i,.pl-dash,.road .track::after{animation:none!important}
.rot b{transition:none}
.js-rv .rv{opacity:1;transform:none;transition:none}
.js-rv .road:not(.in) .track::before{--rs:1}
}
