/* Self-hosted fonts – Dateien in /fonts/ ablegen (siehe fonts/README.txt) */
@font-face{font-family:'Unbounded';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/unbounded-500.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/unbounded-700.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-weight:800;font-style:normal;font-display:swap;src:url('fonts/unbounded-800.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/montserrat-500.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url('fonts/montserrat-600.woff2') format('woff2')}
/* SALZBURG2ALPS – styles.css */
:root{
  --navy:#172638; --navy-deep:#0E1A28; --navy-soft:#22364D;
  --gold:#BB8E42; --gold-soft:#D8B878; --gold-pale:#F3E8D3;
  --snow:#F4F6F8; --white:#fff; --ink:#0B0F14; --slate:#5B6B7A; --line:#D9DEE4;
  --display:'Unbounded','Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --body:'Montserrat','Segoe UI',system-ui,sans-serif;
  --wrap:1180px; --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg img,.hero-copy>*,.book,.rv,.rv-stagger>*,.hero h1 .w>span,.route-map .pin,.route-map .path,.hero .kicker i{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important;width:auto}.hero .kicker i{width:44px}}
body{font-family:var(--body);color:var(--ink);background:var(--snow);line-height:1.6;font-size:16px}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1.1;letter-spacing:-.01em}
h1{font-weight:800;font-size:clamp(1.9rem,5vw,3.6rem)}
h2{font-weight:700;font-size:clamp(1.5rem,3.2vw,2.3rem)}
h3{font-weight:700;font-size:1.05rem}
p{max-width:64ch}
.lead{font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--slate)}
section{padding:clamp(56px,8vw,104px) 0;scroll-margin-top:72px}
.sec-head{margin-bottom:clamp(24px,4vw,44px);display:grid;gap:12px}
.sec-head p{color:var(--slate);font-size:1.05rem}
.center{text-align:center}.center p{margin-inline:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;font-weight:600;font-size:.97rem;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:var(--navy-deep)}.btn-gold:hover{background:#c99a4c}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-soft)}
.btn-ghost{background:transparent;color:var(--navy);border:2px solid var(--line)}.btn-ghost:hover{border-color:var(--navy)}
.btn-white{background:#fff;color:var(--navy)}
.btn-wa{background:#1FAF5B;color:#fff}.btn-wa:hover{background:#199a4f}
.btn-block{width:100%}
.btn svg{width:18px;height:18px;flex:none}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(244,246,248,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:80px}
.brand img{height:64px;width:auto}
.nav-links{display:none;gap:26px;font-weight:500;font-size:.95rem;color:var(--navy)}
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:10px}
.lang{display:flex;border:2px solid var(--line);border-radius:999px;padding:3px;background:#fff}
.lang button{border:0;background:transparent;padding:5px 12px;border-radius:999px;font-weight:600;font-size:.82rem;cursor:pointer;color:var(--slate)}
.lang button[aria-pressed="true"]{background:var(--navy);color:#fff}
.nav .btn-call{display:none}
.burger{width:44px;height:44px;border-radius:12px;border:2px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--navy);box-shadow:0 -6px 0 var(--navy),0 6px 0 var(--navy)}
.drawer{display:none;background:#fff;border-bottom:1px solid var(--line)}
.drawer.open{display:block;animation:fadeIn .25s}
.drawer{max-height:calc(100vh - 80px);overflow:auto}
.drawer a{display:block;padding:15px 20px;border-top:1px solid var(--line);font-weight:600;color:var(--navy)}
.drawer a[aria-current="page"]{color:var(--gold)}
@media (min-width:1000px){.nav-links{display:flex}.nav .btn-call{display:inline-flex;padding:11px 20px}.burger,.drawer{display:none!important}}

/* Photo figure with branded fallback */
.ph{position:relative;background:var(--navy);border-radius:var(--r);overflow:hidden;aspect-ratio:3/2}
.ph img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.ph .fb{position:absolute;inset:0;display:grid;place-items:center;padding:12%;opacity:.35}
.ph .fb img{object-fit:contain;filter:none}
.ph.wide{aspect-ratio:16/9}
.ph.tall{aspect-ratio:4/5}

/* Hero */
.hero{padding:0;position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,40,.55),rgba(14,26,40,.85) 70%,var(--navy-deep))}
.hero .wrap{position:relative;z-index:1;display:grid;gap:36px;padding:44px 0 56px}
.hero-copy{display:grid;gap:20px;align-content:center}
.hero-copy .logo-big{width:min(260px,60%);margin-bottom:6px}
.hero h1{color:#fff;font-size:clamp(1.5rem,4.4vw,3.1rem);overflow-wrap:anywhere}
.hero .lead{color:rgba(255,255,255,.8);max-width:36ch}
.trust{display:grid;grid-template-columns:1fr;gap:10px 18px;list-style:none;font-weight:500;font-size:.92rem}
.trust li{display:flex;gap:10px;align-items:flex-start}
.trust svg{width:20px;height:20px;flex:none;color:var(--gold-soft)}
@media (min-width:520px){.trust{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.hero .wrap{grid-template-columns:1.05fr .95fr;gap:56px;padding:80px 0 96px;align-items:center}}

/* Booking card */
.book{background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 30px 70px -30px rgba(0,0,0,.5);padding:22px;position:relative}
.book-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.book-top h2{font-size:1.15rem}
.book-top .pill{font-size:.78rem;font-weight:600;color:var(--navy);background:var(--gold-pale);padding:6px 10px;border-radius:999px;white-space:nowrap;display:none}
@media (min-width:440px){.book-top .pill{display:inline-block}}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--snow);padding:4px;border-radius:12px;margin-bottom:14px}
.tabs button{border:0;background:transparent;padding:10px 6px;border-radius:9px;font-weight:600;font-size:.85rem;cursor:pointer;color:var(--slate)}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
.field{display:grid;gap:6px}
.field label{font-size:.8rem;font-weight:600;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;height:50px;border:2px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;transition:border-color .15s;-webkit-appearance:none;appearance:none}
.field textarea{height:auto;padding:12px 14px;min-height:84px;resize:vertical}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23172638' stroke-width='2.5'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:0}
.field.icon{position:relative}
.field.icon svg{position:absolute;left:14px;bottom:15px;width:20px;height:20px;color:var(--gold);pointer-events:none}
.field.icon input{padding-left:44px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-body{display:grid;gap:12px}
.step2{display:none}
.book.step-2 .step1{display:none}
.book.step-2 .step2{display:grid;gap:12px}
.summary{background:var(--snow);border-radius:12px;padding:12px 14px;font-size:.88rem;color:var(--navy);font-weight:500;line-height:1.45}
.form-note{font-size:.78rem;color:var(--slate);text-align:center}
.back{background:none;border:0;color:var(--slate);font-weight:600;cursor:pointer;font-size:.88rem;display:inline-flex;gap:6px;align-items:center}
.book-done{display:none;text-align:center;padding:24px 8px;gap:14px}
.book.done .form-body,.book.done .tabs,.book.done .book-top{display:none}
.book.done .book-done{display:grid}
.book-done .check{width:64px;height:64px;border-radius:50%;background:var(--gold-pale);display:grid;place-items:center;margin:0 auto;color:var(--gold)}
.book-done .check svg{width:32px;height:32px}
.err{border-color:#D0473B!important}
.errmsg{color:#D0473B;font-size:.8rem;display:none}.errmsg.show{display:block}

/* Service cards */
.svc-grid{display:grid;gap:16px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:12px;align-content:start;transition:border-color .15s}
.svc:hover{border-color:var(--gold)}
.svc .ic{width:46px;height:46px;border-radius:12px;background:var(--gold-pale);display:grid;place-items:center;color:var(--gold)}
.svc .ic svg{width:24px;height:24px}
.svc p{color:var(--slate);font-size:.95rem}
.svc .more{color:var(--navy);font-weight:600;font-size:.9rem;border-bottom:2px solid var(--gold);justify-self:start}
@media (min-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.svc-grid{grid-template-columns:repeat(3,1fr)}}

/* Destinations */
.dest{background:var(--navy);color:#fff}
.dest .sec-head p{color:rgba(255,255,255,.72)}
.dest-grid{display:grid;gap:14px}
.dcard{display:grid;gap:10px;background:var(--navy-soft);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:0 0 18px;color:#fff;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s}
.dcard:hover{border-color:var(--gold);transform:translateY(-2px)}
.dcard .ph{border-radius:0;aspect-ratio:16/9}
.dcard h3,.dcard .sub,.dcard .meta{padding:0 18px}
.dcard .sub{font-size:.88rem;color:rgba(255,255,255,.72)}
.dcard .meta{display:flex;gap:14px;font-size:.84rem;color:var(--gold-soft);font-weight:600}
.dcard .meta span{display:inline-flex;align-items:center;gap:6px}
.dcard .meta svg{width:15px;height:15px}
@media (min-width:640px){.dest-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.dest-grid{grid-template-columns:repeat(3,1fr)}}
.dest-cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:rgba(255,255,255,.75)}

/* Split sections */
.split{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}.split.rev>*:first-child{order:2}}
.split .ph{width:100%}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
.facts div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.facts strong{display:block;font-family:var(--display);font-size:1.1rem;color:var(--navy)}
.facts span{font-size:.85rem;color:var(--slate)}

/* Steps */
.steps{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps-grid{display:grid;gap:24px;counter-reset:step}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.step::before{counter-increment:step;content:counter(step);font-family:var(--display);font-weight:800;font-size:1.1rem;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold-soft)}
.step p{color:var(--slate);font-size:.97rem;margin-top:6px}
@media (min-width:860px){.steps-grid{grid-template-columns:repeat(3,1fr);gap:40px}.step{grid-template-columns:1fr;gap:14px}}

/* Checklist */
.checks{list-style:none;display:grid;gap:10px;font-size:.97rem}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks svg{width:20px;height:20px;flex:none;color:var(--gold);margin-top:2px}

/* FAQ */
.faq-list{display:grid;border-top:2px solid var(--navy);max-width:860px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font-weight:600;color:var(--navy);font-size:1.02rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .plus{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none;transition:transform .2s,background .2s}
.faq-list details[open] summary .plus{transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.faq-list .acc{overflow:hidden;height:0;transition:height .35s cubic-bezier(.4,0,.2,1)}
.faq-list .acc p{color:var(--slate);padding:0 0 20px;max-width:70ch}

/* Page header */
.page-head{background:var(--navy);color:#fff;padding:clamp(48px,7vw,88px) 0}
.page-head h1{color:#fff;font-size:clamp(1.8rem,4.4vw,3rem)}
.page-head .lead{color:rgba(255,255,255,.75);margin-top:14px}
.page-head .crumb{font-size:.85rem;color:var(--gold-soft);font-weight:600;margin-bottom:14px}

/* Contact */
.contact{background:var(--navy);color:#fff}
.contact .wrap{display:grid;gap:36px}
.contact h2{color:#fff}.contact .lead{color:rgba(255,255,255,.72)}
.contact-cta{display:grid;gap:12px}
.contact-list{display:grid;gap:18px;font-size:.98rem}
.contact-list div{display:grid;gap:3px}
.contact-list small{color:rgba(255,255,255,.55);font-size:.8rem;font-weight:600}
.contact-list a:hover{color:var(--gold-soft)}
@media (min-width:860px){.contact .wrap{grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}.contact-cta{grid-template-columns:1fr 1fr}}

/* Prose (legal pages) */
.prose{max-width:760px;display:grid;gap:16px}
.prose h2{font-size:1.25rem;margin-top:12px}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-left:20px}

/* Footer */
.footer{background:var(--navy-deep);color:rgba(255,255,255,.65);font-size:.88rem;padding:44px 0 110px}
.footer .wrap{display:grid;gap:28px}
.footer .brand img{height:96px}
.footer h4{color:#fff;font-family:var(--body);font-weight:600;font-size:.92rem;margin-bottom:10px}
.footer nav{display:grid;gap:8px}
.footer nav a:hover{color:#fff}
.footer .copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (min-width:860px){.footer{padding-bottom:44px}.footer .wrap{grid-template-columns:auto 1fr 1fr 1fr;gap:40px}}

/* Mobile bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:auto auto 1fr;gap:8px}
.mbar .btn{padding:12px 16px;font-size:.9rem}
@media (min-width:860px){.mbar{display:none}}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:12px 18px;border-radius:999px;font-size:.9rem;font-weight:500;opacity:0;pointer-events:none;transition:.25s;z-index:70;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:860px){.toast{bottom:30px}}

/* ===================== MOTION & MODERN LAYER ===================== */
.nav{transition:box-shadow .25s,background .25s}
.nav.scrolled{box-shadow:0 8px 30px -12px rgba(23,38,56,.25)}
.brand img{transition:transform .3s}
.brand:hover img{transform:scale(1.04)}

/* hero */
.hero{min-height:calc(100svh - 80px)}
.hero-bg img{transform:scale(1.08);will-change:transform;animation:heroZoom 18s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-ridge{position:absolute;left:0;right:0;bottom:-2px;z-index:1;pointer-events:none;color:var(--snow)}
.hero-ridge svg{width:100%;height:80px;display:block}
.js .hero-copy>*{opacity:0;transform:translateY(24px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero-copy>*:nth-child(1){animation-delay:.05s}.hero-copy>*:nth-child(2){animation-delay:.2s}.hero-copy>*:nth-child(3){animation-delay:.35s}.hero-copy>*:nth-child(4){animation-delay:.5s}
.js .book{opacity:0;transform:translateY(30px) scale(.98);animation:rise .9s .45s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.hero .logo-big{filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.scroll-hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:2;width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px;display:none}
.scroll-hint::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold-soft);animation:hint 1.8s infinite}
@keyframes hint{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@media (min-width:1000px){.scroll-hint{display:block}}

/* marquee */
.marquee{background:var(--gold);color:var(--navy-deep);overflow:hidden;padding:14px 0;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.04em;white-space:nowrap;position:relative;z-index:2}
.marquee .track{display:inline-flex;gap:0;animation:marquee 45s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee span{padding:0 26px;display:inline-flex;align-items:center;gap:26px}
.marquee span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--navy-deep);opacity:.7}
@keyframes marquee{to{transform:translateX(-50%)}}

/* reveal on scroll */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.js .rv-stagger>*{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv-stagger.in>*{opacity:1;transform:none}
.rv-stagger.in>*:nth-child(1){transition-delay:.0s}.rv-stagger.in>*:nth-child(2){transition-delay:.08s}.rv-stagger.in>*:nth-child(3){transition-delay:.16s}.rv-stagger.in>*:nth-child(4){transition-delay:.24s}.rv-stagger.in>*:nth-child(5){transition-delay:.32s}.rv-stagger.in>*:nth-child(6){transition-delay:.4s}.rv-stagger.in>*:nth-child(n+7){transition-delay:.48s}
@media (prefers-reduced-motion:reduce){.rv,.rv-stagger>*{opacity:1;transform:none}}

/* cards */
.svc{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .25s}
.svc::before{content:"";position:absolute;inset:auto -40% -60% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--gold-pale),transparent 70%);opacity:0;transition:opacity .4s}
.svc:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(23,38,56,.35)}
.svc:hover::before{opacity:1}
.svc .ic{transition:transform .35s,background .35s,color .35s}
.svc:hover .ic{background:var(--navy);color:var(--gold-soft);transform:rotate(-6deg) scale(1.06)}
.dcard{transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .4s}
.dcard .ph img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.dcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);border-color:var(--gold)}
.dcard:hover .ph img{transform:scale(1.06)}
.dcard .go{position:absolute;right:14px;top:calc(56.25% - 22px);width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:grid;place-items:center;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.4,.5,1);z-index:2}
.dcard .go svg{width:20px;height:20px}
.dcard:hover .go{transform:scale(1)}
.dcard{position:relative}
.ph img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.split .ph:hover img{transform:scale(1.04)}
.btn-gold,.btn-navy,.btn-wa{position:relative;overflow:hidden}
.btn-gold::after,.btn-navy::after,.btn-wa::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.btn-gold:hover::after,.btn-navy:hover::after,.btn-wa:hover::after{transform:translateX(120%)}

/* route section (signature element) */
.route{background:var(--snow);overflow:hidden}
.route .wrap{display:grid;gap:32px}
.route-map{position:relative;background:var(--navy);border-radius:24px;padding:12px;color:#fff;overflow:hidden}
@media (min-width:960px){.route-map{padding:28px}}
.route-map svg{width:100%;height:auto;display:block}
.route-map .path{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round}
.js .route-map .path{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.6s cubic-bezier(.4,0,.2,1)}
.route-map .path2{fill:none;stroke:rgba(255,255,255,.15);stroke-width:1.2;stroke-dasharray:6 8}
.route-map.in .path{stroke-dashoffset:0}
.js .route-map .pin{opacity:0;transform:scale(.4);transform-origin:center;transition:opacity .5s,transform .5s cubic-bezier(.3,1.4,.5,1)}
.route-map.in .pin{opacity:1;transform:none}
.route-map .pin circle.r{animation:pulse 2.4s infinite}
@keyframes pulse{0%{r:6;opacity:.7}100%{r:20;opacity:0}}
.route-map text{font-family:var(--body);font-weight:600;font-size:15px;fill:#fff}
.route-map text.s{font-size:12.5px;fill:var(--gold-soft);font-weight:500}
@media (min-width:960px){.route-map text{font-size:13px}.route-map text.s{font-size:11px}}
.route-list{display:grid;gap:8px}
.route-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--navy);transition:transform .3s,border-color .2s,box-shadow .3s}
.route-list a:hover{transform:translateX(6px);border-color:var(--gold);box-shadow:0 12px 30px -20px rgba(23,38,56,.4)}
.route-list a small{color:var(--slate);font-weight:500}
@media (min-width:960px){.route .wrap{grid-template-columns:1.4fr 1fr;align-items:center}}

/* steps line */
.steps-grid{position:relative}
@media (min-width:860px){.steps-grid::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:var(--line)}
.steps-grid::after{content:"";position:absolute;left:24px;top:24px;height:2px;width:0;background:var(--gold);transition:width 1.6s cubic-bezier(.4,0,.2,1) .2s}
.steps-grid.in::after{width:calc(100% - 48px)}
.step::before{position:relative;z-index:1;outline:6px solid #fff}}

/* booking: segmented + chips + address */
.fld-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.fld-head label{font-size:.8rem;font-weight:600;color:var(--navy)}
.seg{display:inline-flex;background:var(--snow);border-radius:999px;padding:3px}
.seg button{border:0;background:transparent;padding:5px 11px;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--slate);cursor:pointer;transition:background .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.mode{display:none;gap:10px}
.mode.on{display:grid;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:2px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-size:.86rem;font-weight:600;color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,background .2s,transform .15s}
.chip svg{width:16px;height:16px;color:var(--gold)}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip[aria-pressed="true"] svg{color:var(--gold-soft)}
.chip:active{transform:scale(.97)}
.sub-input{display:none}.sub-input.on{display:grid;animation:fadeIn .3s}
.addr{display:grid;gap:10px}
.addr .grid2{grid-template-columns:1fr 2fr}
.fld-err{border-color:#D0473B!important}

/* ===================== PREMIUM LAYER v3 ===================== */
/* transparent nav over hero */
.nav.over{background:transparent;border-bottom-color:transparent;position:fixed;left:0;right:0}
.nav.over .nav-links{color:#fff}
.nav.over .drawer{background:var(--navy-deep);border-bottom-color:rgba(255,255,255,.1)}
.nav.over .drawer a{color:#fff;border-top-color:rgba(255,255,255,.1)}
.nav.over .drawer a[aria-current="page"]{color:var(--gold-soft)}
.nav.over.menu-open{background:var(--navy-deep)}
.nav.over .lang{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.nav.over .lang button{color:rgba(255,255,255,.7)}
.nav.over .lang button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.nav.over .burger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.nav.over .burger span{background:#fff;box-shadow:0 -6px 0 #fff,0 6px 0 #fff}
.nav.over .brand img{content:url("logo-white.svg")}
.nav.over.scrolled{background:rgba(14,26,40,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.08)}
body.has-hero{padding-top:0}
body.has-hero .hero{padding-top:80px}

/* headline word mask */
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.js .hero h1 .w>span{display:inline-block;transform:translateY(110%);animation:wordUp .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes wordUp{to{transform:none}}
.hero h1 .w:nth-child(1)>span{animation-delay:.25s}.hero h1 .w:nth-child(2)>span{animation-delay:.32s}.hero h1 .w:nth-child(3)>span{animation-delay:.39s}.hero h1 .w:nth-child(4)>span{animation-delay:.46s}.hero h1 .w:nth-child(5)>span{animation-delay:.53s}.hero h1 .w:nth-child(6)>span{animation-delay:.6s}.hero h1 .w:nth-child(7)>span{animation-delay:.67s}.hero h1 .w:nth-child(8)>span{animation-delay:.74s}.hero h1 .w:nth-child(9)>span{animation-delay:.81s}.hero h1 .w:nth-child(n+10)>span{animation-delay:.88s}
.hero .kicker{display:inline-flex;align-items:center;gap:12px;color:var(--gold-soft);font-weight:600;font-size:.9rem;letter-spacing:.02em}
.hero .kicker i{display:block;width:0;height:2px;background:var(--gold);animation:grow .9s .4s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes grow{to{width:44px}}
.hero .lead{max-width:40ch}
.hero-copy .logo-big{width:min(220px,55%)}
.hero-glow{position:absolute;z-index:0;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(187,142,66,.28),transparent 60%);top:-20%;right:-15%;pointer-events:none;filter:blur(20px);animation:glow 9s ease-in-out infinite alternate}
@keyframes glow{to{transform:translate(-8%,10%) scale(1.15)}}

/* big ticker (signature) */
.ticker-wrap{position:relative;z-index:2;background:var(--navy-deep);overflow:hidden;padding:26px 0 22px;border-top:1px solid rgba(255,255,255,.06)}
.ticker{display:flex;white-space:nowrap;overflow:hidden;user-select:none}
.ticker .row{display:inline-flex;flex-shrink:0;gap:0;font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,6vw,5.2rem);line-height:1;letter-spacing:.01em;animation:tick 60s linear infinite;will-change:transform}
.ticker.rev .row{animation-direction:reverse;animation-duration:75s}
.ticker .row span{display:inline-flex;align-items:center;gap:.35em;padding-right:.35em;color:#fff}
.ticker .row span::after{content:"";width:.28em;height:.28em;border-radius:50%;background:var(--gold);display:inline-block;margin-right:.1em}
.ticker.rev .row span{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55);font-size:.7em;font-weight:700}
.ticker.rev .row span::after{background:var(--gold-soft);opacity:.8}
.ticker:hover .row{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker+.ticker{margin-top:14px}
@media (prefers-reduced-motion:reduce){.ticker .row{animation-duration:180s}}

/* section label lines */
.sec-head h2{position:relative;display:inline-block}
.sec-head h2::after{content:"";display:block;width:48px;height:3px;background:var(--gold);margin-top:14px;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .8s .2s cubic-bezier(.2,.8,.2,1)}
.sec-head.in h2::after,.no-js .sec-head h2::after{transform:scaleX(1)}
.center .sec-head h2::after{margin-inline:auto}

/* 3D tilt cards */
.tilt{transform-style:preserve-3d;transition:transform .25s ease-out,box-shadow .35s,border-color .25s}
.tilt.tilting{transition:transform .06s linear,box-shadow .35s}

/* image reveal */
.ph{clip-path:inset(0 0 0 0 round var(--r))}
.js .rv .ph,.js .rv-stagger .ph{clip-path:inset(0 100% 0 0 round var(--r));transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1) .1s}
.js .rv.in .ph,.js .rv-stagger.in .ph{clip-path:inset(0 0 0 0 round var(--r))}
.dcard .ph{clip-path:none!important}

/* dest section subtitle band */
.dest{position:relative}
.dest::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(187,142,66,.18),transparent 55%);pointer-events:none}
.dest .wrap{position:relative}
.dest .sec-head h2{color:#fff}

/* steps: bigger numbers */
.step::before{font-size:1.25rem;width:56px;height:56px}

/* CTA band before contact */
.cta-band{background:var(--gold);color:var(--navy-deep);padding:clamp(40px,6vw,72px) 0;overflow:hidden;position:relative}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;position:relative}
.cta-band h2{font-size:clamp(1.4rem,3vw,2.2rem);color:var(--navy-deep)}
.cta-band p{color:rgba(14,26,40,.75);margin-top:6px}
.cta-band .btn-navy:hover{background:var(--navy-deep)}
.cta-band::after{content:"";position:absolute;right:-8%;top:-40%;width:380px;height:380px;border-radius:50%;border:60px solid rgba(255,255,255,.12);pointer-events:none}

/* ===== subpages ===== */
.anchors{padding:0;transform:translateY(-32px)}
.anchor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.anchor-tile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:600;color:var(--navy);box-shadow:0 20px 40px -30px rgba(23,38,56,.4);transition:transform .25s,border-color .2s}
.anchor-tile svg{width:22px;height:22px;color:var(--gold);flex:none}
.anchor-tile:hover{transform:translateY(-3px);border-color:var(--gold)}
@media (min-width:900px){.anchor-grid{grid-template-columns:repeat(6,1fr)}.anchor-tile{flex-direction:column;align-items:flex-start;padding:18px}}
.ideal{margin-top:18px;font-size:.93rem;color:var(--slate);border-left:3px solid var(--gold);padding-left:12px}
.ideal strong{color:var(--navy)}
.compare{background:var(--navy);color:#fff}
.compare .sec-head h2{color:#fff}.compare .sec-head p{color:rgba(255,255,255,.7)}
.cmp{overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.cmp table{width:100%;border-collapse:collapse;min-width:560px}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem}
.cmp th{font-family:var(--display);font-size:.85rem;font-weight:700;color:var(--navy);background:var(--snow)}
.cmp tbody td:first-child{font-weight:600;color:var(--navy);width:150px}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp tbody tr:hover td{background:var(--gold-pale)}
.chips.static .chip{cursor:default;background:var(--snow);border-color:transparent}
.tip{margin-top:18px;background:var(--gold-pale);border-radius:12px;padding:14px 16px;display:grid;gap:4px}
.tip strong{color:var(--navy);font-size:.85rem}.tip p{color:var(--ink);font-size:.95rem}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filters .chip{background:transparent;border-color:rgba(255,255,255,.2);color:#fff}
.filters .chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.dcard.hide{display:none}
.timeline{display:grid;gap:18px;position:relative}
.timeline>div{position:relative;padding:22px 22px 22px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--r);border-left:4px solid var(--gold)}
.timeline strong{font-family:var(--display);color:var(--gold);font-size:1.4rem;display:block;margin-bottom:6px}
.timeline h3{margin-bottom:6px}.timeline p{color:var(--slate);font-size:.95rem}
@media (min-width:900px){.timeline{grid-template-columns:repeat(4,1fr)}}
.values{background:var(--snow)}
.values .svc .more{display:none}
.faq-layout{display:grid;gap:32px}
.faq-nav nav{display:flex;flex-wrap:wrap;gap:8px}
.faq-nav nav a{padding:9px 14px;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:600;font-size:.88rem;color:var(--navy)}
.faq-nav nav a:hover{border-color:var(--gold)}
.faq-box{display:none;margin-top:22px;background:var(--navy);color:#fff;border-radius:16px;padding:22px;gap:10px}
.faq-box p{color:rgba(255,255,255,.72);font-size:.92rem;margin:6px 0 14px}
.faq-group{margin-bottom:44px}.faq-group h2{font-size:1.3rem;margin-bottom:14px}
@media (min-width:900px){.faq-layout{grid-template-columns:260px 1fr;gap:64px;align-items:start}.faq-nav{position:sticky;top:100px}.faq-nav nav{flex-direction:column;gap:4px}.faq-nav nav a{border:0;background:transparent;padding:10px 0;border-bottom:1px solid var(--line);border-radius:0}.faq-box{display:block}}
.contact-grid{display:grid;gap:28px}
.contact-cards{display:grid;gap:12px;align-content:start}
.ccard{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:transform .25s,border-color .2s}
.ccard>svg{width:26px;height:26px;color:var(--gold);flex:none;margin-top:4px}
.ccard small{display:block;color:var(--slate);font-size:.8rem;font-weight:600}
.ccard strong{display:block;color:var(--navy);font-size:1.02rem;margin:2px 0}
.ccard span{font-size:.88rem;color:var(--slate)}
a.ccard:hover{transform:translateY(-3px);border-color:var(--gold)}
.cform{background:#fff;border-radius:20px;padding:26px;display:grid;gap:12px;box-shadow:0 30px 60px -40px rgba(23,38,56,.4)}
.cform h2{font-size:1.3rem;margin-bottom:6px}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}}
.map-wrap{height:360px;background:var(--navy)}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}

/* ===== v4: slider, reviews, expect, landing pages, footer ===== */
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.slider{position:relative}
.slider-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 18px;scrollbar-width:none;-ms-overflow-style:none}
.slider-track::-webkit-scrollbar{display:none}
.slider-track .dest-grid{display:flex;gap:14px}
.slider-track .dcard{flex:0 0 min(78vw,320px);scroll-snap-align:start}
.slider-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.slider-nav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
.slider-nav button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.slider-nav svg{width:20px;height:20px}
@media (min-width:1000px){.slider-nav{position:absolute;right:0;top:-74px}}
.expect{background:#fff;border-top:1px solid var(--line)}
.expect-grid{display:grid;gap:16px}
.expect-grid>div{padding:24px;border-radius:var(--r);background:var(--snow);display:grid;gap:10px;align-content:start}
.expect-grid>div>svg{width:30px;height:30px;color:var(--gold)}
.expect-grid p{color:var(--slate);font-size:.95rem}
@media (min-width:700px){.expect-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.expect-grid{grid-template-columns:repeat(4,1fr)}}
.price-hint{margin-top:26px;padding:18px 22px;border-left:4px solid var(--gold);background:var(--gold-pale);border-radius:0 12px 12px 0;font-size:.97rem;max-width:none}
.reviews{background:var(--gold-pale)}
.reviews .sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px}
.rating{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:999px;font-weight:600;font-size:.9rem;transition:background .2s}
.rating:hover{background:var(--navy-soft)}
.rating svg{color:var(--gold-soft)}
.rev-grid{display:grid;gap:16px}
.rcard{background:#fff;border-radius:var(--r);padding:24px;display:grid;gap:12px;align-content:start;position:relative}
.rcard::before{content:"\201C";position:absolute;right:20px;top:6px;font-family:Georgia,serif;font-size:4rem;color:var(--gold-pale);line-height:1}
.stars{color:var(--gold);letter-spacing:2px;font-size:.95rem}
.rcard p{font-size:.97rem}
.rcard footer{font-size:.85rem;color:var(--slate);font-weight:500;display:flex;align-items:center;gap:10px}
.rcard footer i{width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.85rem}
@media (min-width:860px){.rev-grid{grid-template-columns:repeat(3,1fr)}}
.lp-hero{position:relative;background:var(--navy);color:#fff;padding:clamp(56px,8vw,110px) 0;overflow:hidden}
.lp-bg{position:absolute;inset:0;opacity:.35}.lp-bg .ph{border-radius:0;height:100%;aspect-ratio:auto}.lp-bg .fb{display:none}
.lp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,40,.9),rgba(14,26,40,.5))}
.lp-hero .wrap{position:relative;z-index:1}
.lp-hero .crumb{font-size:.85rem;color:var(--gold-soft);font-weight:600;margin-bottom:14px}
.lp-hero h1{color:#fff;font-size:clamp(1.8rem,4.6vw,3.2rem)}
.lp-hero .lead{color:rgba(255,255,255,.8);margin-top:12px;max-width:44ch}
.lp-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;max-width:640px}
.lp-facts div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px}
.lp-facts strong{display:block;font-family:var(--display);color:var(--gold-soft);font-size:1.1rem}
.lp-facts span{font-size:.8rem;color:rgba(255,255,255,.7)}
@media (min-width:700px){.lp-facts{grid-template-columns:repeat(4,1fr)}}
.footer .copy{align-items:flex-start;line-height:1.7}
.footer .pay b{display:inline-block;font-weight:600;font-size:.72rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:1px 7px;margin-left:6px;color:#fff}
.footer .brand img{height:120px}

/* ===== ski + hallstatt tour ===== */
.badge{justify-self:start;width:max-content;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;margin-bottom:6px}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.ski{background:var(--navy-deep);color:#fff}
.ski .sec-head h2{color:#fff}.ski .sec-head p{color:rgba(255,255,255,.7)}
.ski-grid{display:grid;gap:12px}
.ski-card{display:grid;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:20px;color:#fff;transition:border-color .2s,transform .3s,background .2s}
.ski-card:hover{border-color:var(--gold);background:rgba(255,255,255,.07)}
.ski-card h3{font-size:1.05rem}.ski-card>div>span{font-size:.85rem;color:rgba(255,255,255,.6)}
.ski-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:12px;font-size:.85rem;color:rgba(255,255,255,.6)}
.ski-meta strong{color:var(--gold-soft);font-family:var(--display);font-size:.95rem}
@media (min-width:640px){.ski-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.ski-grid{grid-template-columns:repeat(3,1fr)}}
.incl{margin-top:22px;background:linear-gradient(135deg,rgba(187,142,66,.18),rgba(187,142,66,.05));border:1px solid rgba(187,142,66,.4);border-radius:20px;padding:26px;display:grid;gap:22px}
.incl h3{margin-bottom:12px}
.checks.two{grid-template-columns:1fr}
@media (min-width:700px){.checks.two{grid-template-columns:1fr 1fr;column-gap:24px}}
.incl-cta{display:grid;gap:10px;align-content:center}
.incl-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
@media (min-width:1000px){.incl{grid-template-columns:1.6fr 1fr;align-items:center}}
.tour{background:var(--snow)}
.tour-img{position:relative}
.tour-tags{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
.tour-tags span{background:rgba(14,26,40,.85);backdrop-filter:blur(6px);color:#fff;border-radius:12px;padding:8px 12px;font-size:.7rem;text-align:center;display:grid;line-height:1.2}
.tour-tags strong{font-family:var(--display);font-size:1rem;color:var(--gold-soft)}
.tour-tags span:first-child{background:var(--gold);color:var(--navy-deep)}.tour-tags span:first-child strong{color:var(--navy-deep)}

/* ===== Mega menu ===== */
.nav-links{align-items:center}
.mm{position:relative}
.mm-btn{background:none;border:0;cursor:pointer;font-weight:500;font-size:.95rem;color:inherit;display:inline-flex;align-items:center;gap:5px;padding:6px 0;position:relative;font-family:inherit}
.mm-btn .chev{width:14px;height:14px;transition:transform .25s}
.mm-btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.mm-btn.cur::after,.mm.open .mm-btn::after{transform:scaleX(1)}
.mm.open .mm-btn .chev{transform:rotate(180deg)}
.mm-panel{position:absolute;left:50%;top:calc(100% + 14px);transform:translate(-50%,8px);width:560px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 80px -30px rgba(23,38,56,.35);padding:14px;display:grid;gap:8px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s .25s;z-index:60;color:var(--ink);text-align:left}
.mm-panel::after{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.mm-panel::before{content:"";position:absolute;left:50%;top:-8px;width:16px;height:16px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg);border-radius:3px 0 0 0}
.mm-panel.wide{width:860px}
.mm.open .mm-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start}
.mm-grid.three{grid-template-columns:repeat(3,1fr)}
.mm-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--navy);transition:background .15s,transform .2s}
.mm-item:hover{background:var(--snow);transform:translateX(3px)}
.mm-item strong{display:block;font-weight:600;font-size:.9rem;line-height:1.2}
.mm-item small{display:block;color:var(--slate);font-size:.75rem;margin-top:2px}
.mm-ic{width:40px;height:40px;border-radius:11px;background:var(--gold-pale);color:var(--gold);display:grid;place-items:center;flex:none;transition:background .2s,color .2s;overflow:hidden}
.mm-ic svg{width:20px;height:20px}
.mm-ic.navy{background:var(--navy)}
.mm-ic.navy .emb{width:34px;height:auto;opacity:.95}
.mm-item:hover .mm-ic{background:var(--navy);color:var(--gold-soft)}
.mm-item:hover .mm-ic.navy{background:var(--gold)}
.mm-feature{position:relative;overflow:hidden;background:var(--navy);color:#fff;border-radius:16px;padding:20px 18px;display:grid;align-content:end;gap:4px;min-height:210px;transition:transform .25s}
.mm-feature:hover{transform:translateY(-3px)}
.mm-feature-emb{position:absolute;right:-18%;top:-4%;width:90%;opacity:.18;pointer-events:none}
.mm-feature-emb .emb{width:100%;height:auto}
.mm-feature strong{font-family:var(--display);font-size:1rem;position:relative}
.mm-feature small{color:rgba(255,255,255,.7);font-size:.8rem;position:relative}
.mm-feature em{font-style:normal;color:var(--gold-soft);font-weight:600;font-size:.82rem;margin-top:8px;position:relative}
.mm-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(187,142,66,.4),transparent 60%)}
/* dark nav variant (over hero) */
.nav.over .mm-panel{background:rgba(14,26,40,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.1);color:#fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.nav.over .mm-panel::before{background:rgba(14,26,40,.95);border-color:rgba(255,255,255,.1)}
.nav.over .mm-item{color:#fff}.nav.over .mm-item small{color:rgba(255,255,255,.6)}
.nav.over .mm-item:hover{background:rgba(255,255,255,.07)}
.nav.over .mm-ic{background:rgba(255,255,255,.08);color:var(--gold-soft)}
.nav.over .mm-ic.navy{background:rgba(255,255,255,.08)}
.nav.over .mm-feature{background:var(--gold);color:var(--navy-deep)}
.nav.over .mm-feature small,.nav.over .mm-feature em{color:rgba(14,26,40,.75)}
.nav.over .mm-feature::before{background:none}
.nav.over .mm-feature-emb{opacity:.25;filter:brightness(0)}
/* drawer groups */
.dgroup summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid var(--line);font-weight:600;color:var(--navy);cursor:pointer}
.dgroup summary::-webkit-details-marker{display:none}
.dgroup .chev{width:18px;height:18px;transition:transform .25s}
.dgroup[open] .chev{transform:rotate(180deg)}
.dlist{display:grid;grid-template-columns:1fr;gap:2px;padding:4px 12px 14px;background:var(--snow)}
.dlist a{display:flex;align-items:center;gap:10px;padding:10px;border-top:0!important;font-size:.88rem;font-weight:500;border-radius:10px}
.dlist a svg{width:20px;height:20px;color:var(--gold);flex:none}
.dlist a .emb{width:30px;height:18px;background:var(--navy);border-radius:6px;padding:1px 3px}
.dlist a small{margin-left:auto;color:var(--slate);font-size:.72rem}
.dlist .all{grid-column:1/-1;justify-content:center;color:var(--gold);font-weight:600}
.nav.over .dgroup summary{color:#fff;border-top-color:rgba(255,255,255,.1)}
.nav.over .dlist{background:rgba(255,255,255,.05)}
.nav.over .dlist a{color:#fff}.nav.over .dlist a small{color:rgba(255,255,255,.6)}

.mm-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mm-col h4{font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);padding:8px 12px 4px}
.mm-foot{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:12px 6px 2px;font-size:.88rem;font-weight:600;color:var(--navy)}
.mm-foot .mm-note{color:var(--slate);font-weight:400;margin-left:auto;font-size:.82rem}
.mm-foot .mm-cta{margin-left:auto;background:var(--gold);color:var(--navy-deep);padding:8px 14px;border-radius:999px;font-size:.82rem}
.mm-foot .mm-note+.mm-cta{margin-left:0}
.nav.over .mm-foot{border-top-color:rgba(255,255,255,.1);color:#fff}
.nav.over .mm-foot .mm-note{color:rgba(255,255,255,.55)}

.dlist h4{font-family:var(--body);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);padding:12px 10px 2px}

/* ===== v5 polish ===== */
/* intro */
.intro{position:fixed;inset:0;z-index:200;background:var(--navy-deep);display:grid;place-items:center;align-content:center;gap:14px;color:#fff;pointer-events:none;transition:opacity .6s .1s,visibility 0s .8s}
.intro.done{opacity:0;visibility:hidden}
.intro svg{width:200px;height:120px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro .arc{stroke:var(--gold);stroke-width:4;stroke-dasharray:260;stroke-dashoffset:260;animation:draw 1s .1s ease-out forwards}
.intro .peak{stroke:#fff;stroke-width:3;stroke-dasharray:260;stroke-dashoffset:260;animation:draw .9s .4s ease-out forwards}
.intro .road{stroke:var(--gold);stroke-width:3;stroke-dasharray:90;stroke-dashoffset:90;animation:draw .6s .9s ease-out forwards}
.intro span{font-family:var(--display);font-weight:800;letter-spacing:.06em;font-size:1.1rem;opacity:0;animation:rise .6s 1s forwards}
.intro span b{color:var(--gold)}
@keyframes draw{to{stroke-dashoffset:0}}
.no-intro .intro{display:none}
/* nav auto-hide */
.nav{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.nav.hide{transform:translateY(-100%)}
/* custom cursor (desktop only) */
.cursor{display:none}
@media (hover:hover) and (pointer:fine){
  .has-cursor .cursor{display:block;position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1.5px solid rgba(187,142,66,.8);border-radius:50%;pointer-events:none;z-index:300;transition:transform .18s ease-out,opacity .3s,background .2s;mix-blend-mode:difference}
  .has-cursor .cursor i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;background:var(--gold);border-radius:50%}
  .has-cursor .cursor.link{transform:scale(1.7);background:rgba(187,142,66,.12)}
  .has-cursor .cursor.hidden{opacity:0}
}
/* magnetic buttons */
.btn-gold,.btn-navy,.btn-wa{will-change:transform}
/* route car */
.route-map .car{opacity:0;offset-path:path("M110 120 C150 170 210 200 250 250 S360 320 400 300 S470 250 520 300 S590 350 600 330");offset-rotate:0deg}
.route-map.in .car{opacity:1;animation:drive 9s 2.6s linear infinite}
.route-map .car circle:first-child{animation:pulse 1.6s infinite}
@keyframes drive{0%{offset-distance:0%}45%{offset-distance:100%}55%{offset-distance:100%}100%{offset-distance:0%}}
/* section curves */
.dest,.contact,.ski{position:relative}
.dest::after,.ski::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;background:var(--snow);clip-path:ellipse(60% 100% at 50% 100%)}
.ski::after{background:var(--snow)}
.dest+*{position:relative;z-index:1}
/* ski cards gradient border */
.ski-card{position:relative;background-clip:padding-box}
.ski-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(187,142,66,.9),transparent 45%,transparent 60%,rgba(187,142,66,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s}
.ski-card:hover::before{opacity:1}
/* image parallax inside split */
.split .ph img{will-change:transform}
/* footer watermark */
.footer{position:relative;overflow:hidden}
.foot-mark{position:absolute;right:-6%;bottom:-18%;width:min(520px,60vw);opacity:.05;pointer-events:none}
.footer .wrap{position:relative}
/* back to top */
.totop{position:fixed;right:18px;bottom:96px;width:46px;height:46px;border-radius:50%;border:0;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s;z-index:55;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
.totop svg{width:20px;height:20px}
.totop.show{opacity:1;transform:none;pointer-events:auto}
@media (min-width:860px){.totop{bottom:28px;right:28px}}
/* mobile bar slides in after hero */
@media (max-width:859px){.mbar{transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.mbar.show{transform:none}body:not(.has-hero) .mbar{transform:none}}
/* tap feedback */
.chip:active,.dcard:active,.svc:active,.ski-card:active{transform:scale(.97)}
/* primary form button pulse */
#next{box-shadow:0 0 0 0 rgba(187,142,66,.5);animation:ring 2.8s 2s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(187,142,66,.55)}60%{box-shadow:0 0 0 14px rgba(187,142,66,0)}100%{box-shadow:0 0 0 0 rgba(187,142,66,0)}}
@media (prefers-reduced-motion:reduce){.intro{display:none}.route-map .car{animation:none;opacity:0}#next{animation:none}.nav.hide{transform:none}}

/* ===== prices & payment ===== */
.dcard .meta .pr{margin-left:auto;color:#fff;font-family:var(--display);font-weight:700}
.quote{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--navy);color:#fff;border-radius:12px;padding:14px 16px}
.quote small{display:block;font-size:.76rem;opacity:.7}
.quote strong{font-family:var(--display);font-size:1.35rem;font-weight:700;color:var(--gold-soft)}
.quote span{font-size:.8rem;color:rgba(255,255,255,.75);text-align:right}
.quote.empty{background:var(--snow);color:var(--slate)}
.quote.empty strong{color:var(--navy);font-size:.92rem;font-family:var(--body);font-weight:600}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--slate);line-height:1.45}
.agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold);flex:none}
.agree a{color:var(--navy);font-weight:600;text-decoration:underline}
.pay-methods{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pay-methods span{font-size:.7rem;font-weight:600;border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--slate)}
.or{display:flex;align-items:center;gap:12px;color:var(--slate);font-size:.8rem;margin:4px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
#payBtn:disabled{cursor:not-allowed}
.pricebox{margin-top:18px;background:var(--navy);color:#fff;border-radius:16px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pricebox small{display:block;font-size:.75rem;color:rgba(255,255,255,.65)}
.pricebox strong{font-family:var(--display);font-size:1.6rem;color:var(--gold-soft)}
.pricebox p{grid-column:1/-1;font-size:.85rem;color:rgba(255,255,255,.75);border-top:1px solid rgba(255,255,255,.12);padding-top:12px;max-width:none}
.pay-status{background:var(--gold-pale);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 20px}
#payBtn{font-size:.92rem;padding-inline:14px}
.pricebox.one{grid-template-columns:1fr}.pricebox.one strong{font-size:2rem}

/* ===== Buchungsseite ===== */
.bk{background:var(--snow);padding-top:clamp(28px,4vw,48px)}
.bk-wrap{max-width:720px}
.stepper{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;margin:0 auto 26px;max-width:560px;position:relative;counter-reset:s}
.stepper::before{content:"";position:absolute;left:12%;right:12%;top:22px;height:2px;background:var(--line);z-index:0}
.stepper li{display:grid;justify-items:center;gap:8px;position:relative;z-index:1;flex:1;text-align:center;font-size:.78rem;font-weight:600;color:var(--slate)}
.stepper li i{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;color:var(--slate);transition:all .3s}
.stepper li i svg{width:20px;height:20px}
.stepper li.on i{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 6px var(--gold-pale)}
.stepper li.on{color:var(--navy)}
.stepper li.done i{background:var(--navy);border-color:var(--navy);color:var(--gold-soft)}
.bk-card{background:#fff;border-radius:24px;padding:clamp(18px,3vw,32px);box-shadow:0 30px 70px -40px rgba(23,38,56,.4);display:grid}
.bk-step{display:none;gap:12px}.bk-step.on{display:grid;animation:fadeIn .35s}
.bigfield{display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:14px;padding:10px 14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.bigfield:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-pale)}
.bigfield>svg{width:22px;height:22px;color:var(--gold);flex:none}
.bigfield>div{flex:1;display:grid;min-width:0}
.bigfield label{font-size:.72rem;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.04em}
.bigfield input,.bigfield select,.bigfield textarea{border:0;padding:2px 0 0;height:auto;font-size:1rem;font-weight:500;color:var(--ink);background:transparent;width:100%;border-radius:0}
.bigfield input:focus,.bigfield select:focus,.bigfield textarea:focus{outline:0;box-shadow:none}
.bigfield select{background-position:right 0 center;padding-right:24px}
.bigfield.ta{align-items:flex-start}.bigfield.ta>svg{margin-top:6px}
.bigfield input.err,.bigfield.err{border-color:#D0473B}
.bigfield:has(input.err){border-color:#D0473B}
.bk .quote{margin-top:4px}
.bk-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:22px;font-size:.85rem;font-weight:500;color:var(--slate)}
.bk-trust span{display:inline-flex;align-items:center;gap:6px}.bk-trust svg{width:16px;height:16px;color:var(--gold)}
.confirm{display:grid;gap:14px}
.confirm-price{background:var(--navy);color:#fff;border-radius:14px;padding:18px;display:grid;gap:2px}
.confirm-price small{font-size:.75rem;opacity:.7}.confirm-price strong{font-family:var(--display);font-size:2rem;color:var(--gold-soft)}.confirm-price span{font-size:.8rem;opacity:.75}
.confirm-price.na{background:var(--snow);color:var(--navy)}.confirm-price.na strong{font-size:1rem;font-family:var(--body);color:var(--navy)}
.confirm dl{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.confirm dl div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.9rem}
.confirm dl div:last-child{border-bottom:0}.confirm dt{color:var(--slate)}.confirm dd{font-weight:600;color:var(--ink)}
/* hero mini */
.book.mini{gap:10px;display:grid}
.book.mini .bigfield{padding:8px 12px}
.grid2>*{min-width:0}.bigfield{min-width:0}.bigfield input,.bigfield select{min-width:0;max-width:100%}
.bigfield input[type=date],.bigfield input[type=time]{-webkit-appearance:none;appearance:none}
.bk-card,.book.mini{max-width:100%;overflow:hidden}
.bk .tabs button{padding:10px 4px;font-size:.82rem}
@media (max-width:480px){.grid2 .bigfield>svg{width:18px;height:18px}.bigfield input,.bigfield select{font-size:.95rem}}

/* ===== booking v2: autocomplete, pick card, steppers ===== */
.ac{position:relative}
.ac-list{position:absolute;left:-2px;right:-2px;top:calc(100% + 12px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -20px rgba(23,38,56,.4);z-index:30;display:none;overflow:hidden;max-height:280px;overflow-y:auto}
.ac-list.open{display:block}
.ac-item{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;font-size:.93rem;color:var(--ink);border-bottom:1px solid var(--line)}
.ac-item:last-child{border-bottom:0}
.ac-item:hover,.ac-item.sel{background:var(--snow)}
.ac-item svg{width:18px;height:18px;color:var(--gold);flex:none}
.ac-item small{display:block;color:var(--slate);font-size:.78rem}
.ac-item b{font-weight:600}
.ac-item.head{cursor:default;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);padding:8px 14px 4px;background:transparent}
.ac-item.head:hover{background:transparent}
.dest-pick{display:flex;align-items:center;gap:14px;border:2px solid var(--gold);background:var(--gold-pale);border-radius:14px;padding:12px 14px;animation:fadeIn .3s}
.dest-pick[hidden]{display:none}
.dest-pick .thumb{width:64px;height:48px;border-radius:10px;background:var(--navy);overflow:hidden;flex:none;display:grid;place-items:center}
.dest-pick .thumb img{width:100%;height:100%;object-fit:cover}
.dest-pick .thumb .fb{width:44px;opacity:.7}
.dest-pick>div{flex:1;min-width:0}
.dest-pick strong{display:block;font-size:1rem;color:var(--navy)}
.dest-pick small{display:block;color:var(--slate);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dest-pick .pp{font-family:var(--display);font-weight:700;color:var(--gold);font-size:1.15rem;white-space:nowrap}
.dest-pick .chg{background:none;border:0;color:var(--slate);font-size:.78rem;text-decoration:underline;cursor:pointer;padding:0;margin-top:4px}
.tour-list{display:none;gap:10px}
.tour-list.on{display:grid}
.tour-card{display:flex;align-items:center;gap:14px;border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;background:#fff;text-align:left;transition:border-color .15s,transform .15s}
.tour-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.tour-card[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-pale)}
.tour-card .thumb{width:64px;height:48px;border-radius:10px;background:var(--navy);flex:none;overflow:hidden;display:grid;place-items:center}
.tour-card .thumb img{width:100%;height:100%;object-fit:cover}.tour-card .thumb .fb{width:44px;opacity:.7}
.tour-card>div{flex:1;min-width:0}.tour-card strong{display:block;color:var(--navy)}.tour-card small{display:block;color:var(--slate);font-size:.8rem}
.tour-card .pp{font-family:var(--display);font-weight:700;color:var(--gold);white-space:nowrap}
.bigfield.stp strong{font-size:1.05rem;color:var(--ink);font-weight:600}
.stepbtns{display:flex;gap:6px}
.stepbtns button{width:36px;height:36px;border-radius:10px;border:2px solid var(--line);background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--navy);transition:border-color .15s,background .15s}
.stepbtns button:hover{border-color:var(--gold);background:var(--gold-pale)}
.bigfield.tgl{cursor:pointer}.bigfield.tgl .lbl{font-size:.72rem;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.04em}
.bigfield.tgl strong{font-size:1.05rem;font-weight:600}
.bigfield.tgl input{position:absolute;opacity:0;width:0;height:0}
.switch{width:44px;height:26px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .2s}
.switch::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.bigfield.tgl input:checked~.switch{background:var(--gold)}
.bigfield.tgl input:checked~.switch::after{transform:translateX(18px)}

.bigfield>div.stepbtns{display:flex;flex:0 0 auto;gap:6px}
.bigfield.stp>div:first-of-type{flex:1}
.dest-pick small{white-space:normal}
@media (max-width:480px){.bk .grid2:has(.stp){grid-template-columns:1fr}}

.tour-card.big{display:grid;gap:12px;padding:14px}
.tour-card.big .tc-top{display:flex;gap:14px;align-items:flex-start}
.tour-card.big .thumb{width:96px;height:72px;border-radius:12px}
.tour-card.big .tc-top>div{flex:1;min-width:0}
.tour-card.big strong{font-size:1.05rem;margin-bottom:4px}
.tour-card.big small{white-space:normal;line-height:1.4}
.tour-card.big .tc-bot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;font-size:.85rem;color:var(--slate)}
.tour-card.big .tc-bot>span:first-child{display:inline-flex;align-items:center;gap:6px}
.tour-card.big .tc-bot svg{width:15px;height:15px;color:var(--gold)}
.tour-card.big .pp{font-size:1.15rem}.tour-card.big .pp small{font-family:var(--body);font-weight:500;color:var(--slate);font-size:.78rem;margin-right:2px}
.tour-card.big .pp i{font-style:normal;color:var(--slate);margin-left:6px;font-weight:400}
.tour-list .ac-item.head{padding-left:2px}
.tour-card.big .pp{white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}

/* ticker performance */
.ticker-wrap{contain:paint}
.ticker .row{transform:translate3d(0,0,0);backface-visibility:hidden}
@keyframes tick{to{transform:translate3d(-50%,0,0)}}
@media (max-width:859px){
  .ticker-wrap{padding:18px 0 16px}
  .ticker .row{font-size:1.9rem;animation-duration:40s}
  .ticker.rev .row span{-webkit-text-stroke:0;color:rgba(255,255,255,.28);font-weight:700}
  .ticker.rev .row{animation-duration:50s}
}

/* ===== mobile performance ===== */
@media (max-width:859px){
  .hero-glow{animation:none;filter:none;opacity:.6;background:radial-gradient(circle,rgba(187,142,66,.22),transparent 60%)}
  .hero-bg img{animation:none;transform:none}
  .nav.over.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(14,26,40,.97)}
  .nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(244,246,248,.98)}
  .nav.over .mm-panel,.tour-tags span{backdrop-filter:none;-webkit-backdrop-filter:none}
  .cursor{display:none!important}
  .ticker-wrap{isolation:isolate}
  .ticker .row{will-change:transform;contain:layout paint}
  .svc::before,.dcard .go,.btn-gold::after,.btn-navy::after,.btn-wa::after{display:none}
  .rv,.rv-stagger>*{transition-duration:.5s}
}

/* ===== vehicles ===== */
.tabs.two{grid-template-columns:1fr 1fr}
.tabs.two button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.tabs.two button svg{width:16px;height:16px}
.veh{display:grid;gap:10px}.veh h3{font-size:.95rem;margin-top:6px}
.vcard{display:grid;grid-template-columns:96px 1fr auto 28px;align-items:center;gap:14px;border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s;position:relative}
.vcard:hover{border-color:var(--gold)}.vcard.on{border-color:var(--gold);background:var(--gold-pale)}
.vcard .vimg{color:var(--navy);display:block}.vcard .vimg svg{width:96px;height:36px}
.vcard .vinfo{display:grid;gap:2px;min-width:0}
.vcard strong{font-size:.98rem;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vcard strong em{font-style:normal;font-size:.68rem;font-weight:600;background:#E6EEF8;color:#2B4A7A;border-radius:6px;padding:2px 7px}
.vcard small{color:var(--slate);font-size:.8rem}.vcard .vm{display:inline-flex;align-items:center;gap:4px;margin-top:2px}.vcard .vm svg{width:14px;height:14px}
.vcard .vprice{text-align:right;display:grid;justify-items:end;gap:2px}
.vcard .vprice b{font-size:.66rem;font-weight:600;background:var(--gold-pale);color:var(--gold);border-radius:6px;padding:2px 7px}
.vcard .vprice strong{font-family:var(--display);font-size:1.05rem;color:var(--ink)}
.vcard .vprice i{color:var(--slate);font-size:.9rem}
.vcard input{position:absolute;opacity:0;width:0;height:0}
.vradio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);position:relative;justify-self:end}
.vcard.on .vradio{border-color:var(--gold)}.vcard.on .vradio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--gold)}
.veh.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media (max-width:520px){.vcard{grid-template-columns:64px 1fr auto 22px;gap:10px;padding:10px}.vcard .vimg svg{width:64px;height:26px}.vcard .vprice strong{font-size:.95rem}}
[hidden]{display:none!important}

/* ===== hero tour picker + modal ===== */
.bigfield.pick{width:100%;text-align:left;cursor:pointer;font:inherit}
.bigfield.pick>span{flex:1;display:grid;min-width:0}.bigfield.pick strong{font-weight:500;color:var(--slate);font-size:1rem}
.bigfield.pick.has strong{color:var(--ink);font-weight:600}
.bigfield.pick .chev{width:18px;height:18px;color:var(--slate);flex:none}
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.modal-bg{position:absolute;inset:0;background:rgba(14,26,40,.7);backdrop-filter:blur(4px);animation:fadeIn .2s}
.modal-box{position:relative;background:#fff;border-radius:22px;width:min(640px,100%);max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);animation:rise .3s cubic-bezier(.2,.8,.2,1)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.modal-head h3{font-size:1.05rem}
.modal-x{width:36px;height:36px;border-radius:50%;border:0;background:var(--snow);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--navy)}
.modal-list{overflow-y:auto;padding:14px;display:grid;gap:10px}
.modal-list .tour-card.big{text-align:left}
@media (max-width:600px){.modal{padding:0;align-items:end}.modal-box{border-radius:22px 22px 0 0;max-height:88vh;width:100%}}

/* ===== Footer v2 ===== */
.footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:clamp(48px,7vw,80px) 0 110px}
.footer .wrap{display:grid;gap:36px}
.foot-top{display:grid;gap:22px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-logo{width:200px;margin-bottom:16px}
.foot-top p{max-width:46ch;color:rgba(255,255,255,.7);font-size:.98rem}
.foot-cta{display:flex;gap:12px;flex-wrap:wrap;align-content:start}
.foot-grid{display:grid;gap:28px}
.footer h4{color:#fff;font-family:var(--display);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.footer nav{display:grid;gap:9px;font-size:.92rem}
.footer nav a,.footer nav span{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);transition:color .2s,transform .2s}
.footer nav a:hover{color:var(--gold-soft);transform:translateX(3px)}
.footer nav svg{width:16px;height:16px;color:var(--gold);flex:none}
.foot-pay{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.78rem;color:rgba(255,255,255,.5)}
.foot-pay b{font-weight:600;font-size:.7rem;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:2px 7px;color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:.82rem;color:rgba(255,255,255,.5)}
.foot-langs button{background:none;border:0;color:rgba(255,255,255,.6);cursor:pointer;font:inherit;padding:0}
.foot-langs button:hover{color:#fff}.foot-langs i{margin:0 8px;font-style:normal}
.foot-mark{position:absolute;right:-8%;bottom:-22%;width:min(560px,70vw);opacity:.045}
@media (min-width:860px){.footer{padding-bottom:40px}.foot-top{grid-template-columns:1fr auto;align-items:end}.foot-grid{grid-template-columns:1.1fr 1fr 1.2fr 1fr;gap:40px}}
@media (min-width:600px) and (max-width:859px){.foot-grid{grid-template-columns:1fr 1fr}}
/* remove old footer rules that conflict */
.footer .copy{display:none}

/* ===== Alpine panorama ===== */
.alps{background:var(--snow);overflow:hidden}
.alps .wrap{display:grid;gap:32px}
@media (min-width:960px){.alps .wrap{grid-template-columns:1.4fr 1fr;align-items:center}}
.alps-scene{border-radius:24px;overflow:hidden;background:var(--navy-deep);box-shadow:0 40px 80px -40px rgba(23,38,56,.6);aspect-ratio:800/420}
.alps-scene svg{width:100%;height:100%;display:block}
.alps-scene .layer{transition:transform .1s linear;will-change:transform}
.alps-scene .stars circle{animation:twinkle 3s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
.alps-scene .sun{animation:sunrise 14s ease-in-out infinite alternate;transform-origin:700px 110px}
@keyframes sunrise{from{transform:translateY(18px) scale(.9);opacity:.6}to{transform:translateY(-14px) scale(1.05);opacity:1}}
.alps-scene .cl{animation:drift linear infinite}
.alps-scene .c1{animation-duration:60s}.alps-scene .c2{animation-duration:80s;animation-delay:-30s}.alps-scene .c3{animation-duration:70s;animation-delay:-50s}
@keyframes drift{from{transform:translateX(-160px)}to{transform:translateX(900px)}}
.alps-scene .gondola{animation:ride 16s ease-in-out infinite alternate;transform:translate(60px,330px)}
@keyframes ride{0%{transform:translate(66px,327px)}100%{transform:translate(462px,153px)}}
.alps-scene text{font-family:var(--body);font-weight:600;font-size:12px;fill:#fff}
.alps-scene text.big{font-size:14px;fill:#fff}
.alps-scene .pin{opacity:0;animation:pinIn .6s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:var(--d)}
@keyframes pinIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.alps-scene .pin .r{animation:ring 2.6s ease-out infinite;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(4);opacity:0}}
.no-js .alps-scene .pin,.js .alps-scene .pin{animation-play-state:running}
@media (prefers-reduced-motion:reduce){.alps-scene *{animation:none!important}.alps-scene .pin{opacity:1}}
@media (max-width:859px){.alps-scene .cl,.alps-scene .stars circle{animation:none}.alps-scene .stars circle{opacity:.6}}

/* ===== Footer v3 – clean ===== */
.footer{background:var(--navy-deep);color:rgba(255,255,255,.75);padding:clamp(48px,7vw,80px) 0 110px;overflow:visible}
.footer .wrap{display:grid;grid-template-columns:1fr!important;gap:40px;align-items:start}
.foot-mark,.foot-top,.foot-grid,.foot-bottom,.footer .copy{display:none!important}
.ft-brand img{width:180px;margin-bottom:14px}
.ft-brand p{color:rgba(255,255,255,.7);font-size:1rem;max-width:36ch}
.ft-cols{display:grid;gap:32px}
.ft-cols>div{display:grid;gap:10px;align-content:start;font-size:1rem}
.ft-cols h4{color:#fff;font-family:var(--body);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.ft-cols a{color:rgba(255,255,255,.8);transition:color .2s}.ft-cols a:hover{color:var(--gold-soft)}
.ft-cols span{color:rgba(255,255,255,.65);line-height:1.5}
.ft-bottom{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:.88rem;color:rgba(255,255,255,.55)}
.ft-bottom nav{display:flex;flex-wrap:wrap;gap:18px}.ft-bottom nav a:hover{color:#fff}
.ft-bottom .foot-langs button{font-weight:600;color:rgba(255,255,255,.7)}
@media (min-width:860px){.footer{padding-bottom:48px}.footer .wrap{grid-template-columns:1.2fr 2fr!important;gap:60px}.ft-cols{grid-template-columns:repeat(3,1fr);gap:40px}.ft-bottom{grid-column:1/-1}}
@media (min-width:600px) and (max-width:859px){.ft-cols{grid-template-columns:repeat(3,1fr)}}

/* ===== Drawn mountain section ===== */
.draw{background:var(--navy-deep);color:#fff;overflow:hidden}
.draw .wrap{display:grid;gap:36px;align-items:center}
@media (min-width:960px){.draw .wrap{grid-template-columns:1.2fr 1fr;gap:64px}}
.draw .sec-head h2{color:#fff}.draw .sec-head p{color:rgba(255,255,255,.7)}
.draw .route-list a{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#fff}
.draw .route-list a small{color:rgba(255,255,255,.55)}
.draw .route-list a:hover{border-color:var(--gold);background:rgba(255,255,255,.08)}
.draw .route-list a.all{color:var(--gold-soft);justify-content:center}
.draw-art svg{width:100%;max-width:640px;margin:auto;display:block;overflow:visible;filter:drop-shadow(0 0 24px rgba(187,142,66,.25))}
.draw-art .d{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000}
.draw-art .arc{stroke:var(--gold);stroke-width:5}
.draw-art .peak,.draw-art .peak2,.draw-art .tree{stroke:#fff;stroke-width:3.5}
.draw-art .road{stroke:var(--gold);stroke-width:4}
.draw-art .cable{stroke:var(--gold-soft);stroke-width:1.5;stroke-dasharray:400;stroke-dashoffset:400}
.draw-art .gond{opacity:0;transform:translate(150px,115px)}
.draw-art.play .arc{animation:drawL 1.4s .1s ease-out forwards}
.draw-art.play .peak{animation:drawL 1.3s .5s ease-out forwards}
.draw-art.play .peak2{animation:drawL .8s 1.1s ease-out forwards}
.draw-art.play .road{animation:drawL 1s 1.5s ease-out forwards}
.draw-art.play .tree{animation:drawL .5s ease-out forwards}
.draw-art.play .tree:nth-child(1){animation-delay:1.7s}.draw-art.play .tree:nth-child(2){animation-delay:1.85s}.draw-art.play .tree:nth-child(3){animation-delay:2s}.draw-art.play .tree:nth-child(4){animation-delay:2.15s}
.draw-art.play .cable{animation:drawC .9s 1.9s ease-out forwards}
.draw-art.play .gond{animation:gondIn .4s 2.7s forwards,gondRide 6s 3s ease-in-out infinite alternate}
@keyframes drawL{to{stroke-dashoffset:0}}@keyframes drawC{to{stroke-dashoffset:0}}
@keyframes gondIn{to{opacity:1}}
@keyframes gondRide{from{transform:translate(160px,112px)}to{transform:translate(292px,63px)}}
@media (prefers-reduced-motion:reduce){.draw-art .d,.draw-art .cable{stroke-dashoffset:0!important;animation:none!important}.draw-art .gond{opacity:1;animation:none!important}}
.dest::after{background:var(--navy-deep)}

/* ===== Taxi drive section ===== */
.drive{background:var(--navy-deep);color:#fff;overflow:hidden}
.drive .wrap{display:grid;gap:36px;align-items:center}
@media (min-width:960px){.drive .wrap{grid-template-columns:1.25fr 1fr;gap:64px}}
.drive .sec-head h2{color:#fff}.drive .sec-head p{color:rgba(255,255,255,.7)}
.drive .route-list a{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#fff}
.drive .route-list a small{color:rgba(255,255,255,.55)}
.drive .route-list a:hover{border-color:var(--gold);background:rgba(255,255,255,.08)}
.drive .route-list a.all{color:var(--gold-soft);justify-content:center}
.drive-art{border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);aspect-ratio:640/300}
.drive-art svg{width:100%;height:100%;display:block}
.drive-art text{font-family:var(--body);font-weight:700;font-size:11px;fill:var(--navy-deep)}
.drive-art text.km{font-weight:500}
.drive-art .tx{font-family:var(--display);font-weight:800;font-size:11px;fill:var(--gold-soft);text-anchor:middle;letter-spacing:.08em}
.drive-art .lane{animation:lane .9s linear infinite}
@keyframes lane{to{stroke-dashoffset:-70}}
.drive-art .taxi{animation:bob 1.1s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
.drive-art .wheel{animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.drive-art .sign{animation:pass 20s linear infinite;animation-delay:calc(var(--i) * -4s);transform:translateX(700px)}
@keyframes pass{from{transform:translateX(700px)}to{transform:translateX(-260px)}}
@media (prefers-reduced-motion:reduce){.drive-art *{animation:none!important}.drive-art .sign{transform:translateX(calc(80px + var(--i) * 120px))}}
@media (max-width:859px){.drive-art .taxi{animation:none}}

/* ===== Vehicle cards mobile ===== */
#vehList{display:grid;gap:12px}
.vcard{grid-template-columns:96px 1fr auto 28px}
@media (max-width:640px){
  .vcard{grid-template-columns:1fr auto;grid-template-areas:"img radio" "info info" "price price";gap:8px 12px;padding:14px}
  .vcard .vimg{grid-area:img;width:72px}.vcard .vimg svg{width:72px;height:28px}
  .vradio{grid-area:radio}
  .vcard .vinfo{grid-area:info}
  .vcard .vprice{grid-area:price;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;text-align:left}
  .vcard .vprice b{order:1;margin-left:auto}.vcard .vprice strong{font-size:1.15rem}
  .vcard .vprice i{margin-left:auto}
  .quote{flex-direction:column;align-items:flex-start;gap:6px}
  .quote strong{white-space:nowrap}
  .quote span{text-align:left}
}

.map-consent{height:100%;display:grid;place-items:center;background:var(--navy);color:#fff;padding:24px;text-align:center}
.map-consent>div{max-width:520px;display:grid;gap:10px;justify-items:center}
.map-consent svg{width:36px;height:36px;color:var(--gold)}
.map-consent p{color:rgba(255,255,255,.7);font-size:.9rem}
.map-consent .map-ext{font-size:.85rem;color:var(--gold-soft);text-decoration:underline}

/* ===== KI-Kennzeichnung ===== */
.ai-tag{position:absolute;right:8px;bottom:8px;z-index:3;font-size:9px;line-height:1;letter-spacing:.03em;font-weight:500;color:rgba(255,255,255,.85);background:rgba(14,26,40,.55);padding:3px 6px;border-radius:4px;pointer-events:none;display:none}
.ph:has(img:not(.fb)) .ai-tag{display:block}
.hero-bg:has(img) .hero-tag{display:block;bottom:10px;right:10px;z-index:2}
@media (min-width:860px){.ai-tag{font-size:10px}}
.dcard .ph .ai-tag{bottom:6px;right:6px;font-size:8px}
.tour-card .thumb,.dest-pick .thumb{position:relative}
.ai-mini{position:absolute;right:3px;bottom:3px;font-style:normal;font-size:7px;line-height:1;color:#fff;background:rgba(14,26,40,.6);padding:2px 3px;border-radius:3px;display:none}
.thumb:has(img:not(.fb)) .ai-mini{display:block}

/* ===== page-head images ===== */
.page-head{position:relative;overflow:hidden}
.page-head .ph-bg{position:absolute;inset:0;z-index:0}
.page-head .ph-bg img{width:100%;height:100%;object-fit:cover;opacity:.45}
.page-head .ph-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,40,.92),rgba(14,26,40,.55) 60%,rgba(14,26,40,.35))}
.page-head .ph-bg .ai-tag{display:none}
.page-head .ph-bg:has(img) .ai-tag{display:block;bottom:10px;right:10px}
.page-head .wrap{position:relative;z-index:1}
.page-head.has-img{padding:clamp(72px,10vw,120px) 0}

/* ===== v9 ===== */
.book.mini{grid-template-columns:minmax(0,1fr)}
.book.mini>*{min-width:0}
.quote strong{white-space:normal}.quote:not(.empty) strong{white-space:nowrap}
.mbar .btn-navy,.mbar .btn-wa{width:52px;height:52px;padding:0;flex:none;display:grid;place-items:center}
.mbar{grid-template-columns:52px 52px 1fr;align-items:center}
.mm-ic.pic{padding:0;overflow:hidden;background:var(--navy)}
.mm-ic.pic img{width:100%;height:100%;object-fit:cover;display:block}
.mm-ic.pic img.fb{object-fit:contain;padding:6px}
.dest-group{margin-bottom:30px}
.dest-group:last-of-type{margin-bottom:0}
.dg-title{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:12px;font-family:var(--body)}
.dest-group .slider{position:relative}
@media (min-width:1000px){.dest-group .slider-nav{position:absolute;right:0;top:-46px}}
.faq-home{background:#fff}
.faq-split{display:grid;gap:32px}
.faq-intro p{color:var(--slate);margin-top:12px}
.faq-card{margin-top:24px;background:var(--navy);color:#fff;border-radius:18px;padding:22px;display:grid;gap:10px}
.faq-card strong{font-family:var(--display);font-size:1rem}.faq-card p{color:rgba(255,255,255,.7);margin:0;font-size:.9rem}
.faq-card .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.faq-split .faq-list{max-width:none}
@media (min-width:900px){.faq-split{grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}.faq-intro{position:sticky;top:110px}}
.dlist a .dimg{width:44px;height:32px;object-fit:cover;border-radius:7px;background:var(--navy);flex:none}

/* ===== consent banner ===== */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:12px;display:grid;justify-items:center;pointer-events:none}
.consent-box{pointer-events:auto;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 30px 70px -30px rgba(0,0,0,.5);padding:18px 20px;max-width:720px;width:100%;display:grid;gap:10px;border:1px solid var(--line);animation:rise .4s cubic-bezier(.2,.8,.2,1)}
.consent-box strong{font-family:var(--display);font-size:.95rem}
.consent-box p{font-size:.85rem;color:var(--slate);max-width:none}
.consent-box p a{color:var(--navy);text-decoration:underline}
.consent-btns{display:flex;gap:10px;flex-wrap:wrap}
.consent-btns .btn{padding:11px 18px;font-size:.9rem}
@media (max-width:859px){.consent{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}
.send-btns .btn{white-space:nowrap;padding-inline:14px}
@media (max-width:560px){.send-btns{grid-template-columns:1fr}.send-btns .btn{width:100%}}
.timeline.icons strong{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--gold-pale);color:var(--gold);font-size:0;margin-bottom:12px}.timeline.icons strong svg{width:26px;height:26px}

/* ===== legal pages ===== */
.legal .legal-grid{display:grid;gap:32px;max-width:1180px}
.legal .prose{max-width:none}
.legal .prose h2{margin-top:34px;padding-top:8px;scroll-margin-top:110px}
.legal .prose h2:first-child{margin-top:0}
.legal-nav-box{background:var(--snow);border-radius:18px;padding:20px}
.legal-nav-box strong{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:10px}
.legal-nav nav{display:grid;gap:4px}
.legal-nav nav a{display:block;padding:8px 10px;border-radius:10px;font-size:.9rem;color:var(--navy);font-weight:500;line-height:1.3}
.legal-nav nav a:hover,.legal-nav nav a.on{background:#fff;color:var(--gold)}
@media (min-width:960px){.legal .legal-grid{grid-template-columns:280px 1fr;gap:56px;align-items:start}.legal-nav{position:sticky;top:100px}}
@media (max-width:959px){.legal-nav nav{grid-template-columns:1fr 1fr}.legal-nav .btn{display:none}}
.legal .prose p,.legal .prose ul,.legal .prose li,.legal-body{max-width:none!important}.legal-body{font-size:1rem;line-height:1.7}
/* mobile hero image: show the city at the top, fade into navy below */
@media (max-width:859px){
  .hero-bg img{height:62vh;object-position:center 35%;opacity:.7;-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent 100%);mask-image:linear-gradient(to bottom,#000 45%,transparent 100%)}
  .hero-bg .hero-tag{top:calc(62vh - 26px);bottom:auto}
  .hero::before{opacity:.6}
}
@media (max-width:859px){.consent-box{padding:14px 16px;gap:8px}.consent-box p{font-size:.78rem}.consent-btns{display:grid;grid-template-columns:1fr 1fr}.consent-btns .btn{padding:10px 8px;font-size:.82rem;width:100%}}
@media (max-width:859px){.hero-bg .hero-tag{top:calc(74px + env(safe-area-inset-top,0px));bottom:auto;right:12px;opacity:.8}.consent-btns .btn{font-size:.78rem;padding:10px 6px;white-space:normal;line-height:1.2}}
.hero .wrap{align-items:center}.hero-copy{padding-top:0}@media (max-width:859px){.hero{padding-top:calc(96px + env(safe-area-inset-top,0px))}.hero-bg img{height:48vh}.hero-bg .hero-tag{top:calc(48vh - 24px)}}
.hero h1{font-size:clamp(2rem,4.2vw,3.4rem)}.hero h1 .w{white-space:nowrap}

.hero h1{font-size:clamp(1.9rem,3.6vw,3.1rem);letter-spacing:-.01em}
@media (max-width:859px){.ticker-wrap{padding:14px 0 12px}.ticker .row{font-size:1.7rem;animation-duration:22s;will-change:auto;contain:none;letter-spacing:0}.ticker .row span::after{width:.22em;height:.22em}}
@media (max-width:859px){
  .ticker-wrap{contain:none;isolation:auto;position:relative;z-index:5;padding:18px 0 16px;min-height:64px}
  .ticker{overflow:hidden;min-height:30px}
  .ticker .row{font-size:1.9rem;will-change:transform;transform:translate3d(0,0,0);contain:none;backface-visibility:visible}
}

@media (max-width:859px){
  .ticker.js-scroll{overflow-x:hidden;overflow-y:hidden;-webkit-overflow-scrolling:auto;display:block;white-space:nowrap}
  .ticker.js-scroll .row{animation:none!important;transform:none!important;will-change:auto!important;display:inline-flex}
  .ticker.rev .row span{color:rgba(255,255,255,.32);-webkit-text-stroke:0;font-weight:700}
  .ticker+.ticker{margin-top:8px}
}

/* mobile ticker: small GPU layer (<1000px), solid second row */
@media (max-width:859px){
  .ticker .row{font-size:1.55rem;animation:tick 14s linear infinite;transform:translate3d(0,0,0);will-change:transform}
  .ticker.rev .row{animation-direction:reverse;animation-duration:18s}
  .ticker.rev .row span{color:rgba(255,255,255,.35);-webkit-text-stroke:0;font-size:.85em}
  .ticker+.ticker{margin-top:8px}
}
.veh-note{font-size:.85rem;color:var(--slate);background:var(--snow);border-radius:10px;padding:10px 14px;margin:0}
/* vehicle card: keep price inside the card */
.vcard{grid-template-columns:minmax(0,1fr);position:relative;overflow:hidden}
.vcard>*{min-width:0}
.vcard .vprice{padding-right:34px;white-space:nowrap}
@media (min-width:640px){.vcard{grid-template-columns:88px minmax(0,1fr) auto}}
/* ===== vehicle card – definitive layout ===== */
.veh .vcard{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info info" "meta price";gap:6px 14px;align-items:end;padding:14px 48px 14px 16px;position:relative;overflow:hidden;border-radius:16px}
.veh .vcard>*{min-width:0}
.veh .vcard .vimg{display:none}
.veh .vcard .vinfo{grid-area:info;display:grid;gap:3px}
.veh .vcard .vinfo>small:first-of-type{display:block}
.veh .vcard strong{padding-right:0;font-size:1.05rem}
.veh .vcard .vm{grid-area:meta;display:inline-flex;align-items:center;gap:4px;margin:0;font-size:.85rem}
.veh .vcard .vprice{grid-area:price;justify-self:end;display:flex;align-items:baseline;gap:8px;white-space:nowrap;padding:0;text-align:right}
.veh .vcard .vprice b{order:1}
.veh .vcard .vprice strong{font-size:1.3rem;font-family:var(--display);padding:0}
.veh .vcard::after{top:14px;right:14px;transform:none}
@media (min-width:640px){
  .veh .vcard{grid-template-columns:88px minmax(0,1fr) auto;grid-template-areas:"img info price" "img meta price";align-items:center;padding:14px 54px 14px 16px}
  .veh .vcard .vimg{display:block;grid-area:img}.veh .vcard .vimg svg{width:88px;height:34px}
  .veh .vcard .vprice{flex-direction:column;align-items:flex-end;gap:2px}
  .veh .vcard::after{top:50%;transform:translateY(-50%)}
}
.veh .vcard::after{content:"";position:absolute;right:14px;top:14px;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:#fff}
.veh .vcard.on::after{border-color:var(--gold);background:var(--gold) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A28' stroke-width='3'><path d='M20 6 9 17l-5-5'/></svg>") center/14px no-repeat}
@media (min-width:640px){.veh .vcard::after{top:50%;transform:translateY(-50%)}}

/* ---- Header überall dunkel (wie Startseite) ---- */
.nav{background:rgba(14,26,40,.97);border-bottom-color:rgba(255,255,255,.08)}
.nav .brand img.em{content:url("emblem-white.svg")}
.nav .brand img.wm{content:url("wordmark-white.svg")}
.nav .burger span{background:#fff;box-shadow:0 -6px 0 #fff,0 6px 0 #fff}
.nav .burger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.nav .dgroup summary{color:#fff;border-top-color:rgba(255,255,255,.1)}
.nav .dlist a small{color:rgba(255,255,255,.6)}
.nav .dlist a{color:#fff}
.nav .dlist{background:rgba(255,255,255,.05)}
.nav .drawer a[aria-current="page"]{color:var(--gold-soft)}
.nav .drawer a{color:#fff;border-top-color:rgba(255,255,255,.1)}
.nav .drawer{background:var(--navy-deep);border-bottom-color:rgba(255,255,255,.1)}
.nav .lang button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.nav .lang button{color:rgba(255,255,255,.7)}
.nav .lang{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.nav .mm-feature small,.nav .mm-feature em{color:rgba(14,26,40,.75)}
.nav .mm-feature-emb{opacity:.25;filter:brightness(0)}
.nav .mm-feature::before{background:none}
.nav .mm-feature{background:var(--gold);color:var(--navy-deep)}
.nav .mm-foot .mm-note{color:rgba(255,255,255,.55)}
.nav .mm-foot{border-top-color:rgba(255,255,255,.1);color:#fff}
.nav .mm-ic.navy{background:rgba(255,255,255,.08)}
.nav .mm-ic{background:rgba(255,255,255,.08);color:var(--gold-soft)}
.nav .mm-item small{color:rgba(255,255,255,.6)}
.nav .mm-item:hover{background:rgba(255,255,255,.07)}
.nav .mm-item{color:#fff}
.nav .mm-panel::before{background:rgba(14,26,40,.95);border-color:rgba(255,255,255,.1)}
.nav .mm-panel{background:rgba(14,26,40,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.1);color:#fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.nav .nav-links{color:#fff}
.nav.menu-open .brand img.em{content:url("emblem-white.svg")}
.nav.menu-open{background:var(--navy-deep)}
.nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(14,26,40,.97)}
.nav.scrolled{background:rgba(14,26,40,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.08)}

/* ---- Header transparent über Kopfbereich (alle Seiten) ---- */
.has-hero .page-head{padding-top:calc(84px + clamp(40px,6vw,72px))}
.has-hero .page-head.has-img{padding-top:calc(84px + clamp(56px,8vw,100px))}
.has-hero .lp-hero{padding-top:calc(84px + clamp(48px,7vw,96px))}
/* ---- Neues Logo ---- */
.brand{display:flex;align-items:center;gap:12px}
.brand img.em{height:54px;width:auto}
.brand img.wm{height:30px;width:auto}
.nav.over .brand img{content:none}
.nav.over .brand img.em{content:url("emblem-white.svg")}
.nav.over .brand img.wm{content:url("wordmark-white.svg")}
.nav.over.menu-open .brand img.em{content:url("emblem-white.svg")}
.ft-brand .ft-logo{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ft-brand .ft-logo img{width:auto;height:64px;margin:0}
.ft-brand .ft-logo img.wm{height:32px}
.intro .intro-em{width:110px;height:auto;opacity:0;transform:scale(.85);animation:introEm .8s .1s cubic-bezier(.2,.8,.2,1) forwards}
.intro .intro-wm{width:220px;height:auto;opacity:0;animation:rise .6s .7s forwards}
@keyframes introEm{to{opacity:1;transform:none}}
@media (max-width:600px){.brand img.em{height:44px}.brand img.wm{height:22px}}
@media (max-width:420px){.brand{gap:8px}.brand img.em{height:40px}.brand img.wm{height:19px}}
.price-legal{margin:-2px 0 0;font-size:.72rem;color:var(--slate);line-height:1.4}
.pbox{background:var(--navy);color:#fff;border-radius:16px;padding:6px 18px 14px}
.pb-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.pb-txt{display:grid;gap:3px;min-width:0}
.pb-txt strong{font-family:var(--display);font-size:1rem;color:#fff}
.pb-txt small{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.4}
.pb-price{font-family:var(--display);font-size:1.7rem;color:var(--gold-soft);white-space:nowrap;text-align:right;line-height:1}
.pb-price em{font-style:normal;font-size:.8rem;color:rgba(255,255,255,.65);margin-right:4px;font-family:var(--body,inherit)}
.pbox>p{margin:12px 0 0;font-size:.8rem;color:rgba(255,255,255,.7);max-width:none}
@media (max-width:480px){.pb-price{font-size:1.45rem}}
.price-note{margin:10px 0 0;font-size:.82rem;color:var(--slate);max-width:720px;padding:8px 12px;border-left:3px solid var(--gold);background:rgba(191,146,60,.08);border-radius:0 8px 8px 0}
.sec-head .price-note{margin-top:12px}
.mm-panel.wide{width:600px}.mm-cols{grid-template-columns:repeat(2,1fr)}
/* ---- Rückfahrt (Streckenfahrt) ---- */
.retwrap{border:2px solid var(--line);border-radius:14px;background:#fff;overflow:visible;position:relative}
.retfields .ac{position:relative}
.retfields .ac:focus-within{z-index:40}
.retrow{display:flex;align-items:center;gap:14px;padding:12px 14px;cursor:pointer;margin:0}
.retrow input{position:absolute;opacity:0;width:0;height:0}
.retrow .sw{flex:none;width:44px;height:26px;border-radius:13px;background:#d9dee6;position:relative;transition:background .2s}
.retrow .sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.retrow input:checked+.sw{background:var(--gold)}
.retrow input:checked+.sw::after{transform:translateX(18px)}
.retrow input:focus-visible+.sw{box-shadow:0 0 0 4px var(--gold-pale)}
.retrow .rtxt{display:grid;gap:2px;min-width:0}
.retrow strong{font-size:.95rem;color:var(--ink)}
.retrow small{font-size:.78rem;color:var(--slate)}
.retfields{padding:0 12px 12px;display:grid;gap:8px}
.retfields .bigfield{border-color:var(--gold-pale);background:var(--cream,#faf7f0)}
.retwrap:has(input:checked){border-color:var(--gold)}
@media (max-width:480px){.retfields .grid2{grid-template-columns:1fr;gap:8px}.pricebox{grid-template-columns:1fr}.pricebox strong{font-size:1.7rem}}
.consent-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.copt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;margin:0}
.copt input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex:none}
.copt span{display:grid;gap:2px;min-width:0}
.copt b{font-size:.85rem;color:var(--ink)}
.copt small{font-size:.74rem;color:var(--slate);line-height:1.35}
.copt:has(input:checked){border-color:var(--gold);background:rgba(191,146,60,.06)}
.copt:has(input:disabled){cursor:default;opacity:.75}
@media (max-width:859px){.consent-opts{grid-template-columns:1fr;gap:6px}.copt{padding:8px 10px}.copt small{font-size:.7rem}.consent-btns{grid-template-columns:1fr 1fr}.consent-btns .btn-gold{grid-column:1/-1}.consent-box{max-height:calc(100vh - 110px);overflow:auto}}
