:root{
  --black:#0c0c0c; --cream:#f7f5f0; --white:#fff;
  --gold:#C9A84C;                 /* exact rgb(201,168,76) */
  --gold-d:#a07d22;               /* darker gold — links/text on light */
  --line:#e8e4db;                 /* hairline borders on cream/white */
  --ink-light:#f5f5f5;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',-apple-system,sans-serif;
  --nav:'Manrope',-apple-system,sans-serif;
  --nav-grey:#1c1c1c;
  /* ===== Layout width standard (site-wide) ===== */
  --wrap:1200px;          /* standard section content width */
  --wrap-hero:1300px;     /* hero — intentionally a bit wider than sections */
  --gutter:clamp(20px,4vw,44px); /* side gutter on narrow viewports */
  --header-h:82px;        /* sticky header height — drops to 64px ≤560px; the mobile menu reads this */
  /* ===== Border-radius system (site-wide) ===== */
  --r-pill:999px;  /* buttons */
  --r-img:16px;    /* large images / photos */
  --r-card:12px;   /* cards (moderate, serious) */
  --r-sm:8px;      /* price table, inputs, small panels */
  --r-xs:4px;      /* tiny chips / icon tiles */
  /* ===== Type scale (fixed, site-wide) ===== */
  --fs-display:clamp(36px,6vw,82px);  /* home hero H1 */
  --fs-h1:clamp(33px,4.4vw,60px);       /* page / service hero H1 */
  --fs-h2:clamp(28px,4vw,50px);  /* page section headings */
  --fs-h2c:clamp(27px,3.3vw,40px);     /* widget/component section title */
  --fs-h2s:clamp(20px,2.2vw,28px);     /* small sub-heading */         /* section headings */
  --fs-h3:clamp(20px,1.6vw,24px);       /* card / item titles */
  --fs-lead:clamp(18px,1.9vw,26px);     /* lead paragraphs */
  --fs-eyebrow:12px;                    /* eyebrow (letter-spacing .24em) */
  --fs-body:15px;                       /* body copy */
  --fs-small:13px;                      /* small / meta */
  --ease:cubic-bezier(.16,1,.3,1); --ease-soft:cubic-bezier(.22,1,.36,1);
  --mb-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none'%3E%3Ccircle cx='50' cy='50' r='47' stroke='%23C9A84C' stroke-width='2'/%3E%3Cpolygon points='50,12 54,43 58,50 83,69 54,57 46,57 17,69 42,50 46,43' fill='%23C9A84C'/%3E%3C/svg%3E");
  --ico-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none'%3E%3Crect x='12' y='27' width='76' height='46' rx='6' stroke='%23C9A84C' stroke-width='3'/%3E%3Cpath d='M15 32 L50 54 L85 32' stroke='%23C9A84C' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
  --ico-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,6 61,40 97,40 68,62 79,96 50,75 21,96 32,62 3,40 39,40' fill='%23C9A84C'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{font-family:var(--sans);color:#23211d;background:#fdfcfa;line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:700}
.wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto}

/* ===== HEADER — white bar, identical to original ===== */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #ededed}
/* keep the sticky header below the WP admin bar (logged-in) when it sticks; on phones (<=600px) the
   admin bar is position:absolute and scrolls away, so the header must stick at 0 there */
body.admin-bar .site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}
@media screen and (max-width:600px){body.admin-bar .site-header{top:0}}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);width:min(var(--wrap-hero),calc(100% - 2*var(--gutter)))}
.logo img{width:170px;height:auto;display:block}
.nav{display:flex;align-items:stretch;gap:clamp(20px,2.4vw,36px);align-self:stretch}
.nav-menu{display:flex;align-items:stretch;gap:clamp(20px,2.4vw,36px);list-style:none;margin:0;padding:0}
.nav a{font-family:var(--nav);font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--nav-grey);display:inline-flex;align-items:center;gap:7px;transition:color .18s}
.nav a:hover{color:var(--gold)}
.nav .caret::after{content:'▾';font-size:10px;color:#6a6a6a;margin-left:3px;display:inline-block;transition:transform .3s var(--ease)}
.nav-item.has-mega:hover .caret::after{transform:rotate(180deg)}
/* Routen split: a.mega-label navigates to /transfer/, the .mega-toggle button carries the caret + toggles */
.nav .mega-toggle{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0 2px;margin:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;line-height:1}
.nav .mega-toggle:hover{color:var(--gold)}
.nav .star::before{content:'★';color:var(--gold);font-size:11px;margin-right:1px}
.lang{font-family:var(--nav);font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--nav-grey);display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.lang .flag{position:relative;width:17px;height:17px;background:#d52b1e;border-radius:var(--r-xs);flex:0 0 auto}
.lang .flag::before{content:'';position:absolute;left:50%;top:3.5px;transform:translateX(-50%);width:3px;height:10px;background:#fff}
.lang .flag::after{content:'';position:absolute;top:50%;left:3.5px;transform:translateY(-50%);width:10px;height:3px;background:#fff}
.lang .lcaret{font-size:10px;color:#6a6a6a;margin-left:1px}
/* ===== mega menu (header dropdown) — 1:1 original ===== */
.nav-item{position:relative;display:flex;align-items:center}
/* hover-bridge (link -> dropdown) only while the item is hovered, so it never reaches down into a
   sticky bar below (e.g. the blog category filter) and falsely triggers the Services mega */
.nav-item.has-mega:hover::after,.lang-item:hover::after{content:'';position:absolute;top:100%;left:0;right:0;height:18px}
.mega{position:absolute;top:100%;left:50%;margin-left:-380px;width:760px;background:#fff;border:1px solid #e4e1da;border-top:3px solid #b89a3e;box-shadow:0 30px 60px rgba(0,0,0,.12);padding:36px 44px;columns:2;column-gap:48px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease) .2s,transform .25s var(--ease) .2s,visibility 0s linear .55s;z-index:80}
.nav-item.has-mega:hover .mega{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}
.mega-col,.mega-h,.nav .mega-i{break-inside:avoid}
.mega-h.mega-col-2{break-before:column}
.mega-h{display:block;font-family:'DM Sans','Manrope',sans-serif;font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;color:#9c7d2e;font-weight:700;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e4e1da}
.mega-col .mega-h~.mega-h{margin-top:26px}
.nav .mega-i{display:block;padding:12px 14px;margin:0 0 4px;text-transform:none;letter-spacing:0;color:inherit;transition:background .25s var(--ease),padding .25s var(--ease)}
.nav .mega-i::after,.nav .lang-menu a::after{display:none}
.nav .mega-i:hover{background:#f7f5f0;padding-left:20px}
.mega-i strong{display:block;font-family:var(--serif);font-size:19px;font-weight:500;color:#0c0c0c;letter-spacing:0;line-height:1.3;transition:color .25s}
.mega-i span{display:block;font-family:var(--nav);font-size:12px;font-weight:400;letter-spacing:.3px;color:#4a4a4a;margin-top:3px;line-height:1.5}
.nav .mega-i:hover strong{color:#b89a3e}
/* Routen mega — 4 region columns (curated routes), wider panel, clickable parent */
.mega--routen{columns:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px 28px;width:980px;margin-left:-490px;padding:34px 40px}
.mega--routen .mega-col{break-inside:auto}
.mega--routen .mega-h{letter-spacing:1.8px;font-size:11px;white-space:nowrap;margin-bottom:10px;padding-bottom:10px;color:#9c7d2e}
.mega--routen .mega-i{display:block;padding:8px 10px;margin:0;font-family:var(--serif);font-size:17px;font-weight:500;color:#0c0c0c;letter-spacing:0;border-radius:6px;transition:background .2s var(--ease),color .2s,padding-left .2s var(--ease)}
.mega--routen .mega-i:hover{background:#f7f5f0;color:#b89a3e;padding-left:16px}
.mega--routen .mega-cta{grid-column:1/-1;display:block;margin-top:14px;padding:16px 0 0;border-top:1px solid #e4e1da;font-family:'DM Sans','Manrope',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#b89a3e;transition:color .2s}
.mega--routen .mega-cta:hover{color:#0c0c0c;background:none;padding-left:0}
/* thematic bands (Ski-Resorts / International) — full-width rows below the region grid */
/* Ski-Resorts: a "Ski-Resorts" head + one zone row per region (Graubünden / Wallis / …) */
.mega--routen .mega-ski-head{grid-column:1/-1;margin-top:20px;padding-top:18px;border-top:1px solid #e4e1da;font-family:'DM Sans','Manrope',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#b89a3e;margin-bottom:4px}
.mega--routen .mega-band{grid-column:1/-1;display:flex;align-items:baseline;gap:14px;padding:4px 0}
.mega--routen .mega-band-label{flex:0 0 138px;font-family:'DM Sans','Manrope',sans-serif;font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#8a8378;line-height:1.7}
.mega--routen .mega-band-links{flex:1;display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}
.mega--routen .mega-band-links a{font-family:var(--serif);font-size:15px;font-weight:500;color:#0c0c0c;text-transform:none;letter-spacing:0;transition:color .2s}
.mega--routen .mega-band-links a:hover{color:#b89a3e}
.mega--routen .mega-band-links a:not(:last-child)::after{content:'·';color:#cdc6b3;margin:0 7px 0 9px}
/* Routen region-accordion structure (desktop: routes always visible; mobile: header toggles) */
.mega--routen .mega-all{grid-column:1/-1;display:block;padding:0 0 13px;margin:0 0 5px;border-bottom:1px solid #e4e1da;font-family:'DM Sans','Manrope',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#b89a3e;border-radius:0;transition:color .2s}
.mega--routen .mega-all:hover{color:#0c0c0c;background:none;padding-left:0}
.mega--routen button.mega-h{appearance:none;-webkit-appearance:none;background:none;border:0;border-bottom:1px solid #e4e1da;width:100%;text-align:left;cursor:default;display:block}
.mega--routen .mega-region{break-inside:avoid}
.mega--routen .mega-routes{display:block}
.mega--routen .mega-region--ski{grid-column:1/-1;margin-top:18px;padding-top:16px;border-top:1px solid #e4e1da}
.mega--routen .mega-region--ski button.mega-h{border-bottom:0;color:#b89a3e}
.lang-item{position:relative}
.lang-menu{position:absolute;top:100%;left:50%;margin-left:-90px;width:180px;background:#fff;border:1px solid #e4e1da;border-top:3px solid #b89a3e;box-shadow:0 24px 50px rgba(0,0,0,.12);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease) .2s,transform .22s var(--ease) .2s,visibility 0s linear .5s;z-index:80}
.lang-item:hover .lang-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}
.nav .lang-menu a{display:flex;align-items:center;padding:9px 14px;font-size:13px;letter-spacing:1px;color:var(--nav-grey)}
.lang img,.lang-menu img{vertical-align:middle;margin-right:9px;border-radius:var(--r-xs);flex:0 0 auto;display:inline-block}
.nav .lang-menu a:hover{background:#f7f5f0;color:#b89a3e}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:4px;position:relative}
.burger span{width:25px;height:2px;background:#0c0c0c;display:block}
.burger-txt{position:absolute;right:calc(100% + 11px);top:50%;transform:translateY(-50%);font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0c0c0c;white-space:nowrap}
body.menu-open .burger-txt{opacity:0}

/* ===== HERO — dark, below header ===== */
.hero{position:relative;min-height:calc(100vh - 82px);display:flex;align-items:center;color:var(--ink-light);
  background:#0c0c0c url('../img/a00.webp') center center/cover no-repeat;
  padding:48px 0 56px;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,7,.8) 0%,rgba(9,8,7,.5) 38%,rgba(9,8,7,.15) 70%,rgba(9,8,7,.34) 100%)}
.hero .wrap{position:relative;z-index:2;width:min(var(--wrap-hero),calc(100% - 2*var(--gutter)))}
.hero-inner{max-width:1060px}
.hero h1{font-size:var(--fs-display);font-weight:700;color:var(--ink-light);letter-spacing:.6px;line-height:1.2;margin:0}
.hero .sub{font-family:var(--sans);font-weight:500;font-size:clamp(17px,1.85vw,26px);line-height:1.46;color:#eceae4;margin:26px 0 0;max-width:30ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.b-buchen{background:var(--gold);color:var(--black);font-weight:600;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;padding:15px 38px;border-radius:var(--r-pill);transition:.2s;white-space:nowrap}
.b-buchen:hover{background:#d8bd6a;transform:translateY(-2px)}
.b-phone{background:var(--black);color:#fff;font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:15px 28px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;gap:11px;transition:.2s;white-space:nowrap}
.b-phone:hover{border-color:var(--gold);color:var(--gold)}
.b-phone svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2}
.trust{display:flex;gap:clamp(30px,5vw,66px);margin-top:56px;flex-wrap:wrap}
.trust-item{display:flex;flex-direction:column;gap:4px}
.trust-num{font-family:var(--serif);font-weight:600;font-size:clamp(32px,3.4vw,44px);color:var(--gold);letter-spacing:.6px;line-height:1}
.trust-lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9a948a;font-weight:600}

@media (max-width:1024px){.nav{display:none}.burger{display:flex}}
@media (max-width:560px){
  html{scroll-padding-top:64px;--header-h:64px}
  .logo img{width:128px;height:auto}
  .hero{min-height:calc(100vh - 64px);padding:36px 0 44px}
  .hero .sub{max-width:none}.trust{gap:26px}
  .b-buchen,.b-phone,.b-ghost{padding:14px 26px;font-size:12.5px}
}
/* ===== generic sections ===== */
.section{padding:clamp(64px,9vw,112px) 0}
.section--cream{background:var(--cream)}
.section--dark{background:var(--black);color:var(--cream);position:relative;overflow:hidden}
/* same-bg adjacent sections: tighter seam (different-bg keeps the full .section padding) */
.section--cream + .section--cream,
.section--dark + .section--dark{padding-top:clamp(26px,4vw,50px)}
.section--cream:has(+ .section--cream),
.section--dark:has(+ .section--dark){padding-bottom:clamp(26px,4vw,50px)}
.section--dark>.wrap{position:relative;z-index:1}
.section--dark::before{content:'';position:absolute;z-index:0;pointer-events:none;background:var(--mb-star) center/contain no-repeat;width:min(48vw,540px);aspect-ratio:1;right:-6%;bottom:-15%;opacity:.06}
.section--dark.s-reviews::before{background-image:var(--ico-star);opacity:.07;width:min(34vw,330px);right:3%;bottom:6%}
.section--dark.s-kontakt::before{background-image:var(--ico-mail);opacity:.09;width:min(34vw,320px);right:3%;bottom:9%}
/* Mercedes ghost emblem on dark cards */
.special,.group{position:relative;overflow:hidden}
.special>*,.group>*{position:relative;z-index:1}
.special::before{content:'';position:absolute;z-index:0;pointer-events:none;background:var(--mb-star) center/contain no-repeat;width:240px;aspect-ratio:1;right:-56px;top:-56px;opacity:.07}
.group::before{content:'';position:absolute;z-index:0;pointer-events:none;background:var(--mb-star) center/contain no-repeat;width:300px;aspect-ratio:1;right:-72px;bottom:-86px;opacity:.06}
.eyebrow{font-family:var(--nav);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.sec-head{max-width:760px;margin-bottom:50px}
.sec-head h2,.faq-head h2{font-family:var(--serif);font-size:var(--fs-h2);font-weight:700;color:var(--black);margin-top:14px;line-height:1.08}
.section--dark .sec-head h2{color:var(--cream)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}

/* gold booking band */
.book-band{background:var(--gold)}
.book-band .wrap{padding-top:32px;padding-bottom:32px;width:min(var(--wrap-hero),calc(100% - 2*var(--gutter)))}
.book-card{display:flex;align-items:center;justify-content:space-between;gap:clamp(64px,9vw,180px);flex-wrap:nowrap}
.book-fields{display:flex;gap:clamp(16px,2.6vw,40px);flex-wrap:wrap;flex:1;min-width:0;justify-content:space-between;padding-right:0}
.book-f{display:flex;flex-direction:column;gap:4px}
.book-f .l{font-family:var(--nav);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:rgba(12,12,12,.58)}
.book-f .v{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--black);line-height:1.1}
.book-send{background:var(--black);color:var(--cream);font-family:var(--nav);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:13px 22px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:9px;white-space:nowrap;transition:.2s}
.book-send:hover{background:#1d1b18}.book-send .arr{color:var(--gold)}

/* warum cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.wcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:34px 28px;transition:.25s}
.wcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(12,12,12,.07)}
.wcard .ic{width:44px;height:44px;margin-bottom:20px}
.wcard .ic svg{width:100%;height:100%;stroke:var(--gold);fill:none;stroke-width:1.6}
.wcard h3{font-family:var(--serif);font-size:23px;color:var(--black);margin-bottom:8px}
.wcard p{font-family:var(--nav);font-size:13.5px;color:#6b6760;line-height:1.6}

/* services cards (dark) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.scard{background:#0c0c0c;border:1px solid rgba(201,168,76,.2);border-radius:var(--r-card);padding:34px 30px;box-shadow:0 0 2px rgba(0,0,0,.5);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.scard:hover{border-color:rgba(201,168,76,.5)}
.scard .ic{height:32px;margin-bottom:18px}
.scard .ic svg{width:32px;height:32px;fill:var(--gold);stroke:none}
.scard h3{font-family:var(--serif);font-size:23px;color:var(--cream);margin-bottom:10px;line-height:1.12}
.scard p{font-family:var(--nav);font-size:13.5px;color:#a8a298;line-height:1.65}

/* über uns */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:center}
.about-txt h2{font-family:var(--serif);font-size:var(--fs-h2);color:var(--black);margin-top:14px;line-height:1.08}
.about-txt p{font-family:var(--nav);font-size:15px;color:#5a554c;line-height:1.75;margin-top:16px}
.about-txt p strong{color:var(--black);font-weight:700}
.about-img{border-radius:var(--r-card);overflow:hidden;box-shadow:0 24px 60px rgba(12,12,12,.16);aspect-ratio:16/11}
.about-img img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:1024px){.cards4{grid-template-columns:repeat(2,1fr)}.cards3{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr;gap:30px}}
@media (max-width:560px){.cards4{grid-template-columns:1fr}.cards3{grid-template-columns:1fr}.book-card{flex-direction:column;align-items:flex-start;gap:22px}}

/* preise table */
.price-wrap{overflow-x:auto;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff}
.price-table{width:100%;border-collapse:collapse;min-width:700px}
.price-table th,.price-table td{padding:15px 20px;text-align:left;font-family:var(--nav);font-size:15px}
.price-table thead th{background:var(--black);color:var(--cream);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.price-table thead th:nth-child(n+4){color:var(--gold)}
.price-table tbody tr{border-top:1px solid var(--line)}
.price-table tbody td:first-child{font-weight:600;color:var(--black)}
.price-table tbody td:nth-child(2),.price-table tbody td:nth-child(3){color:#7a756c;font-size:14.5px}
.price-table tbody td:nth-child(n+4){font-family:var(--serif);font-size:20px;color:var(--black)}
.price-note{font-family:var(--nav);font-size:13.5px;color:#6b6760;margin-top:34px;line-height:1.6;max-width:75ch}
/* mwst rechner + special */
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(58px,7vw,86px)}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:34px}
.tool-card h3{font-family:var(--serif);font-size:24px;color:var(--black);margin-bottom:20px}
.calc-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.calc-f{flex:1;min-width:140px}
.calc-f label{display:block;font-family:var(--nav);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8a8680;margin-bottom:7px}
.calc-f input{width:100%;background:#f3f0e9;border:1px solid #c8c3b8;border-radius:var(--r-pill);padding:13px 18px;font-family:var(--nav);font-size:15px;color:var(--black);outline:none;transition:border-color .2s,background .2s}
.calc-f input:focus{border-color:var(--gold);background:#fff}
.calc-radio{display:flex;gap:8px}
.calc-radio button{flex:1;border:1px solid var(--line);background:#faf8f3;border-radius:var(--r-pill);padding:11px;font-family:var(--nav);font-size:12px;cursor:pointer;transition:.2s}
.calc-radio button.on{background:var(--black);color:var(--cream);border-color:var(--black)}
.calc-btn{background:var(--gold);color:var(--black);border:none;border-radius:var(--r-pill);padding:14px 32px;font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.calc-out{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:34px;flex-wrap:wrap}
.calc-out .ol{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a8680;font-weight:700}
.calc-out .ov{display:block;font-family:var(--serif);font-size:26px;color:var(--gold);font-weight:600}
.special{background:var(--black);color:var(--cream);border-radius:var(--r-card);padding:38px;display:flex;flex-direction:column;justify-content:center}
.special .big{font-family:var(--serif);font-size:42px;color:var(--gold);font-weight:700;margin:10px 0 12px}
.special p{font-family:var(--nav);font-size:13.5px;color:#a8a298;line-height:1.65;margin-bottom:22px}
/* gruppenreisen */
.group{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;background:#141312;border-radius:var(--r-card);padding:clamp(36px,5vw,64px)}
.group h2{font-family:var(--serif);font-size:var(--fs-h2);color:var(--cream);margin-top:12px;line-height:1.08}
.group .glead{font-family:var(--nav);font-size:15px;color:#a8a298;line-height:1.7;margin-top:18px}
.group-right h3{font-family:var(--serif);font-size:30px;color:var(--gold);margin-bottom:10px}
.group-right p{font-family:var(--nav);font-size:14px;color:#a8a298;margin-bottom:22px}
.btn-outline{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--gold);color:var(--gold);font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:15px 28px;border-radius:var(--r-pill);transition:.2s}
.btn-outline:hover{background:var(--gold);color:var(--black)}
/* testimonials */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.tcard{background:#141312;border:1px solid #262320;border-radius:var(--r-card);padding:32px 30px}
.tstars{color:var(--gold);font-size:15px;letter-spacing:2px;margin-bottom:16px}
.tcard blockquote{font-family:var(--nav);font-size:14.5px;color:#d8d3c9;line-height:1.7;margin-bottom:22px}
.tperson{display:flex;align-items:center;gap:13px}
.tav{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:var(--nav);font-weight:700;font-size:14px;flex:0 0 auto}
.tperson .tn{font-family:var(--nav);font-size:14px;font-weight:600;color:var(--cream)}
.tperson .tr{font-family:var(--nav);font-size:11.5px;color:#8a8680}
/* faq */
.faq-split{display:grid;grid-template-columns:.82fr 1.45fr;gap:60px;align-items:start;margin-top:8px}
.faq-head{position:sticky;top:118px}
.faq-row{padding:22px 0;border-bottom:1px solid #e4e1da}
.faq-row:first-child{padding-top:2px}
.faq-q{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--black);line-height:1.32;margin-bottom:10px}
.faq-a{font-family:var(--nav);font-size:14px;color:#6b6b6b;line-height:1.75}
/* kontakt */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(34px,5vw,64px)}
.contact-info h2{font-family:var(--serif);font-size:var(--fs-h2);color:var(--cream);margin-top:12px;line-height:1.08}
.contact-info p{font-family:var(--nav);font-size:15px;color:#a8a298;line-height:1.7;margin-top:18px}
.contact-meta{margin-top:30px;display:flex;flex-direction:column;gap:16px}
.cmeta .cl{font-family:var(--nav);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a8680;font-weight:700}
.cmeta .cv{display:block;font-family:var(--serif);font-size:22px;color:var(--gold);margin-top:2px;transition:color .2s}
.cmeta a.cv:hover{color:#d8bd6a}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform input,.cform textarea{width:100%;background:#141312;border:1px solid #2a2723;border-radius:var(--r-card);padding:15px 18px;font-family:var(--nav);font-size:14px;color:var(--cream);outline:none}
.cform input:focus,.cform textarea:focus{border-color:var(--gold)}
.cform .full{grid-column:1/-1}.cform textarea{min-height:120px;resize:vertical;border-radius:var(--r-card)}
.cform .csubmit{grid-column:1/-1;justify-self:start;align-self:start;background:var(--gold);color:var(--black);border:none;border-radius:var(--r-pill);padding:15px 38px;line-height:1;font-family:var(--nav);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s}
.cform .csubmit:hover{background:#d8bd6a}
.cform .cf-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.cform-status{grid-column:1/-1;margin:2px 0 0;font-family:var(--nav);font-size:14px;line-height:1.5}
.cform-status.is-sending{color:var(--cream);opacity:.7}
.cform-status.is-ok{color:#6ee4a8}
.cform-status.is-err{color:#ff8f8f}
/* footer — identical to original */
.foot{background:#0a0a0a;color:#a8a39d;padding:74px 0 30px;border-top:1px solid rgba(201,168,76,.28)}
.foot-grid{display:grid;grid-template-columns:1.7fr 1.5fr 1.05fr .95fr;gap:46px}
.foot-logo{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:5px;color:#E8E4DC;margin-bottom:14px}
.foot-rule{display:block;width:32px;height:1px;background:rgba(201,168,76,.3);margin-bottom:20px}
.foot-col1 p{font-family:var(--nav);font-size:13.5px;line-height:1.75;color:#9a948c;max-width:34ch;margin-bottom:24px}
.foot-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(201,168,76,.5);color:var(--gold);border-radius:var(--r-pill);padding:11px 20px;font-family:var(--nav);font-size:12px;font-weight:500;letter-spacing:.03em;transition:background .3s var(--ease)}
.foot-badge:hover{background:rgba(201,168,76,.08)}
.foot-badge svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:1.8}
.foot h4{font-family:var(--nav);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:22px}
.foot-tool{display:flex;align-items:center;gap:14px;background:#121110;border:1px solid #1f1d19;border-radius:var(--r-card);padding:14px 16px;margin-bottom:12px;transition:border-color .3s var(--ease)}
.foot-tool:hover{border-color:rgba(201,168,76,.42)}
.foot-tool .ti{width:36px;height:36px;border-radius:var(--r-sm);background:#1b1813;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.foot-tool .ti svg{width:17px;height:17px;stroke:var(--gold);fill:none;stroke-width:1.7}
.foot-tool .tt strong{display:block;font-family:var(--nav);font-size:13.5px;color:#ece8e1;font-weight:600}
.foot-tool .tt span{display:block;font-family:var(--nav);font-size:11.5px;color:#7a766d;margin-top:2px;line-height:1.4}
.foot-list{list-style:none}.foot-list li{margin-bottom:17px}
.foot-dot{display:flex;align-items:flex-start;gap:11px}
.foot-dot::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:6px;flex:0 0 auto}
.foot-dot .dl{display:block;font-family:var(--nav);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7a766d;font-weight:600;margin-bottom:3px}
.foot-dot .dv{display:block;font-family:var(--nav);font-size:14px;color:#ece8e1}
.foot-dot a{display:block;transition:color .25s var(--ease)}
.foot-dot a:hover .dv{color:var(--gold)}
.foot-link{display:flex;align-items:center;gap:11px;font-family:var(--nav);font-size:14px;color:#cbc6bd;transition:color .25s var(--ease)}
.foot-link::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto}
.foot-link:hover{color:var(--gold)}
.foot-bottom{border-top:1px solid #1c1a17;margin-top:54px;padding-top:26px;font-family:var(--nav);font-size:12px;color:#8a857c;text-align:center}
/* kontakt section — extra style + gold dots */
.contact-info .eyebrow{display:inline-block;position:relative;padding-bottom:14px}
.contact-info .eyebrow::after{content:'';position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--gold)}
.cmeta{position:relative;padding-left:18px}
.cmeta::before{content:'';position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
@media (max-width:1024px){.tool-grid{grid-template-columns:1fr}.group{grid-template-columns:1fr;gap:28px}.tgrid{grid-template-columns:1fr}.faq-split{grid-template-columns:1fr;gap:24px}.faq-head{position:static}.contact{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:560px){.cform{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}}

/* ============ POLISH (impeccable pass) ============ */
::selection{background:var(--gold);color:#0c0c0c}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--r-sm)}
/* readable measure */
.section--cream p:not(.eyebrow), .about-txt p, .price-note, .group .glead, .contact-info p, .tcard blockquote, .faq-a{max-width:68ch}
/* animated gold underline on nav */
/* nav links: color change only on hover, no underline (matches original) */
/* unified easing + arrow nudge on buttons */
.b-buchen,.b-phone,.btn-res,.book-send,.btn-outline,.calc-btn,.csubmit{transition:transform .45s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .45s var(--ease)}
.book-send .arr,.btn-outline span{display:inline-block;transition:transform .45s var(--ease)}
.book-send:hover .arr,.btn-outline:hover span{transform:translateX(5px)}
.b-buchen:hover,.btn-res:hover,.calc-btn:hover,.csubmit:hover{box-shadow:0 12px 30px rgba(201,168,76,.28)}
/* card / image hover refinement */
.wcard,.scard,.tcard,.about-img,.veh-card,.tool-card{transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .35s var(--ease)}
.wcard .ic svg,.scard .ic svg{transition:transform .55s var(--ease)}
.wcard:hover .ic svg{transform:scale(1.08) rotate(-3deg)}
.about-img img,.veh-card img{transition:transform .9s var(--ease)}
.about-img:hover img{transform:scale(1.04)}
/* table row hover */
.price-table tbody tr{transition:background .25s var(--ease)}
.price-table tbody tr:hover{background:#faf8f2}
/* faq smoother */
/* FAQ open/stacked (Rank Math style) — questions are h3, no toggle */
/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px)}
.reveal.in{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* ===== section-level craft ===== */
.wcard .ic{width:54px;height:54px;border-radius:var(--r-card);background:rgba(201,168,76,.1);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .35s var(--ease)}
.wcard .ic svg{width:26px;height:26px}
.wcard:hover .ic{background:rgba(201,168,76,.18)}
/* services: original-style hover — only the gold border brightens (20% → 50%), no movement/accent/rotation */
.price-table thead th:last-child{background:#1a1610}
.price-table tbody td:last-child{background:rgba(201,168,76,.09);color:#8a6a1e;font-weight:600}
.tcard blockquote{position:relative;padding-top:8px}
.tcard blockquote::before{content:'\201C';position:absolute;top:-24px;left:-6px;font-family:var(--serif);font-size:64px;color:rgba(201,168,76,.2);line-height:1;pointer-events:none}
.book-f{position:relative}
.book-f:not(:last-child)::after{content:'';position:absolute;right:calc(-1 * clamp(7px,1.1vw,15px));top:0;bottom:0;width:1px;background:rgba(12,12,12,.13)}
@media (max-width:560px){.book-f:not(:last-child)::after{display:none}}

/* ============================================================
   MOBILE FIXES (2026-06-15): hamburger menu, hero, book-band,
   contact-form focus border
   ============================================================ */

/* (4) Contact + calc form: single thin gold focus border — drop the
   doubled 2px :focus-visible outline (keep the 1px border as the indicator) */
.cform input:focus,.cform textarea:focus,.cform input:focus-visible,.cform textarea:focus-visible,
.calc-f input:focus,.calc-f input:focus-visible{outline:none;outline-offset:0;box-shadow:none}

/* (1) Hamburger animates to X */
.burger span{transition:transform .3s var(--ease),opacity .2s}

.nav a.nav-reserve{display:none}
@media (max-width:1024px){
  /* (1) Mobile menu — centered panel with accordion submenus (matches the live site) */
  body.menu-open{overflow:hidden}
  /* full-screen scrollable overlay below the 82px header. `dvh` (not `vh`) so the bottom CTA is never
     hidden behind the mobile address bar; position:fixed + body lock so ONLY the menu scrolls. */
  body.menu-open .nav{
    display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left;
    position:fixed;top:var(--header-h);left:0;right:0;
    height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));
    background:#fff;padding:4px var(--gutter) calc(32px + env(safe-area-inset-bottom));
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    box-shadow:none;border-top:1px solid #ededed;z-index:59;
  }
  body.menu-open .nav-menu{flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:none}
  body.menu-open .nav-item{display:block;width:100%;text-align:left;border-bottom:1px solid #f0ece4}
  body.menu-open .nav a{justify-content:flex-start}
  /* top-level rows: left-aligned, larger text, caret/toggle pushed to the right edge */
  body.menu-open .nav-menu>li>a,body.menu-open .lang-item>.lang{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:19px 4px;font-size:17px;letter-spacing:1.6px;width:100%;cursor:pointer}
  /* accordion: submenus collapsed until the parent is .open */
  body.menu-open .mega,body.menu-open .lang-menu{display:none;position:static;left:auto;margin:0;width:auto;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;column-count:1;columns:auto;background:#fff;padding:0}
  body.menu-open .nav-item.open>.mega,body.menu-open .lang-item.open>.lang-menu{display:block}
  /* flat list (like live): hide category headings + descriptions → centred names with dividers */
  body.menu-open .nav .mega-h{display:none}
  body.menu-open .nav .mega-i span{display:none}
  body.menu-open .nav .mega-i,body.menu-open .lang-menu a{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left;padding:15px 14px 15px 24px;background:#faf8f3;border-bottom:1px solid #efeadd;border-left:3px solid transparent;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:#0c0c0c}
  body.menu-open .nav .mega-i strong{font-weight:400;font-size:18px}
  body.menu-open .lang-menu a{text-transform:none;letter-spacing:0;font-size:18px}
  body.menu-open .lang-menu a img{width:20px;height:auto;flex:0 0 auto}
  body.menu-open .nav .mega-i:hover,body.menu-open .lang-menu a:hover{padding-left:30px;background:#f3efe6}
  body.menu-open .mega .mega-i:first-of-type,body.menu-open .lang-menu a.current{border-left-color:var(--gold);background:#fcfaf5}
  /* the open accordion's label turns gold (like live) */
  body.menu-open .nav-item.open>a,body.menu-open .lang-item.open>.lang{color:var(--gold)}
  body.menu-open .nav-item.open .caret::after{color:var(--gold)}
  body.menu-open .caret::after,body.menu-open .lcaret{transition:transform .25s}
  body.menu-open .nav-item.open .caret::after,body.menu-open .lang-item.open .lcaret{transform:rotate(180deg)}
  /* dropdown AFFORDANCE: the caret sits in a subtle round button, clearly gapped from the label, so it
     reads as a separate "expand" control (people who instead tap the Routen text still land on /transfer/).
     Same treatment on Services + the language switcher → consistent across all three dropdowns. */
  body.menu-open .nav .caret::after,body.menu-open .lang .lcaret{margin-left:auto;flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#f4f1ea;border:1px solid #e7e1d3;border-radius:50%;color:#7d7666;font-size:14px;transition:transform .25s,background .2s,color .2s,border-color .2s}
  body.menu-open .nav-item.open .caret::after,body.menu-open .lang-item.open .lcaret{background:#f7eccb;border-color:#ecdcaf;color:var(--gold)}
  /* RESERVIEREN CTA (only in the mobile menu) */
  body.menu-open .nav-reserve{display:block;width:100%;margin:26px 0 8px;background:var(--gold);color:var(--black);text-align:center;padding:17px;font-family:var(--nav);font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:var(--r-pill)}
  body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .burger span:nth-child(2){opacity:0}
  body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media (max-width:560px){
  /* (2) Hero: content-height with moderate padding (was forced ~100vh tall) */
  .hero{min-height:auto;padding:46px 0 42px}
  /* (3) Gold booking band: 2-col fields + full-width button (booking-bar style) */
  .book-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;width:100%}
  .book-send{width:100%;justify-content:center;text-align:center}
}


/* Routen mega on mobile: split row (label navigates + caret toggles) + region accordion */
@media (max-width:1024px){
  /* NOTE: the Routen mega now obeys the generic .open accordion gate (set higher up).
     The old `body.menu-open .mega--routen{display:block}` force-showed it the instant the
     burger opened — that was the "regions already open" bug. Removed. */
  /* Routen row (left-aligned like every item): label fills the left & navigates to /transfer/;
     the caret button sits at the right edge & toggles. The mega wraps to its own full-width line. */
  body.menu-open .nav-item.has-mega{display:flex;flex-wrap:wrap;align-items:center}
  body.menu-open .nav-item.has-mega>.mega-label{flex:1 1 0}
  body.menu-open .nav-item.has-mega>.mega-toggle{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;padding:0 4px}
  body.menu-open .nav-item.has-mega>.mega{flex:0 0 100%}
  body.menu-open .mega--routen .mega-all{display:block;text-align:center;padding:16px 0;margin:0;border:0;border-bottom:1px solid #e8e4dd;color:var(--gold);font-size:12px;letter-spacing:2px}
  body.menu-open .mega--routen .mega-col{margin:0}
  body.menu-open .mega--routen .mega-region{border-bottom:1px solid #e8e4dd}
  body.menu-open .mega--routen .mega-region--ski{margin:0;padding:0;border-top:0}
  body.menu-open .mega--routen button.mega-h{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;border:0;text-align:left;padding:16px 14px 16px 24px;color:#9c7d2e;font-family:'DM Sans','Manrope',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer}
  body.menu-open .mega--routen button.mega-h::after{content:'\25BE';color:var(--gold);font-size:12px;margin-left:auto;transition:transform .25s}
  body.menu-open .mega--routen .mega-region.r-open button.mega-h{color:#0c0c0c}
  body.menu-open .mega--routen .mega-region.r-open button.mega-h::after{transform:rotate(180deg)}
  body.menu-open .mega--routen .mega-routes{display:none}
  body.menu-open .mega--routen .mega-region.r-open .mega-routes{display:block}
  body.menu-open .mega--routen .mega-i{font-family:'Cormorant Garamond',serif;font-size:17px}
  body.menu-open .mega--routen .mega-i:first-of-type{border-left-color:transparent}
  body.menu-open .mega--routen .mega-band{display:block;text-align:left;border-top:0;margin:0;padding:10px 14px 4px 24px}
  body.menu-open .mega--routen .mega-band-label{display:block;flex:none;color:var(--gold);font-size:11px;letter-spacing:2px;margin-bottom:8px}
  body.menu-open .mega--routen .mega-band-links{display:block}
  body.menu-open .mega--routen .mega-band-links a{font-size:16px;line-height:2.1}
}
