@import url("/fonts.css");
:root{color-scheme:dark;--ink:#edf0f5;--muted:#b0bed1;--line:#afbed330;--paper:#081426;--panel:#101f35;--silver:#dce1e8;--navy:#071326;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 'DM Sans',sans-serif}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #d7e6ff;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.45}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500}h2{font-size:clamp(25px,3vw,35px);line-height:1.2;letter-spacing:-1px;margin-bottom:0}h3{font-size:22px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;color:var(--silver);margin-bottom:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;z-index:20;background:var(--silver);color:var(--navy);padding:18px}.skip:focus{top:0}
header,main{max-width:1390px;margin:auto;padding-inline:20px}header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font:500 clamp(19px,2.5vw,27px)/1.2 Manrope,sans-serif;letter-spacing:-.8px;color:#e1e6ef;white-space:nowrap}nav{display:none;gap:30px;font-size:15px;color:var(--muted)}.header-contact{display:flex;align-items:center;gap:12px}select{background:var(--navy);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px;cursor:pointer;font-size:14px}header .contact{display:none;padding:12px 20px;font-size:14px;min-height:44px;border-radius:8px}.outline{background:transparent;border:1px solid var(--line)}.primary{background:linear-gradient(115deg,#eff1f5,#bcc8d8);color:#0b192c;border:1px solid #e3eaf7;padding:15px 23px;border-radius:9px;min-height:54px;font-weight:700}.secondary{padding:14px 20px;min-height:52px;border:1px solid #a4b5cd55;border-radius:9px;background:#172940;color:var(--ink);font-weight:500}.text-button{background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px;padding:12px;min-height:44px;font-size:14px}.primary:hover{filter:brightness(1.08)}.secondary:hover,.outline:hover{border-color:var(--silver)}
.hero{position:relative;isolation:isolate;min-height:660px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#101f35;display:flex;flex-direction:column;justify-content:space-between;padding:30px 12px 12px}.hero>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#06122485,transparent 42%,#08142680 66%,#081426e8),linear-gradient(90deg,#07152a88,transparent 85%)}.hero-copy{padding-inline:12px;max-width:650px}.hero-copy h1{font-size:clamp(36px,5vw,68px);line-height:1.12;letter-spacing:-1.8px;margin:22px 0;white-space:pre-line;color:#e8edf5}.hero-copy>p:last-child{font-size:16px;color:#dde4ee;max-width:290px;line-height:1.6}.hero-fleet{width:100%;margin-top:160px}.fleet-label{font-size:14px;letter-spacing:.3px;margin:0 0 13px 3px;color:#e4eaf1}.vehicles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vehicle{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:6px 6px 11px;border:1px solid #b2c1d559;background:#0d1a2bc9;backdrop-filter:blur(20px);border-radius:10px;text-align:start;transition:border-color .2s,box-shadow .2s,background .2s}.vehicle[aria-pressed=true]{border-color:#e3eaf3;box-shadow:0 0 0 1px #bccae329,0 0 20px #c7d6ec12;background:#25354ad9}.vehicle:hover{border-color:#d8e2f0}.vehicle img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:5px;margin-bottom:10px}.vehicle strong{display:block;font:600 14px/1.35 Manrope,sans-serif;min-height:38px}.vehicle .model{display:none;font-size:14px;color:var(--muted);margin-top:5px}.vehicle .vehicle-rate{display:block;font-size:14px;line-height:1.5;margin-top:9px;color:#e5eaf2}.check{position:absolute;inset-inline-end:7px;top:7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f2f5f9,#adbed6);color:#0c1b30;font-size:14px;z-index:2;box-shadow:0 2px 12px #07142666}.vehicle-check-space{height:0}
.booking{padding:26px 18px;margin-top:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#11223a,#0e1c30);scroll-margin-top:20px}.booking-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:22px}.booking-heading .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:10px}.booking-heading h2{max-width:740px}.rate{display:none;white-space:nowrap;color:var(--muted);font-size:14px;background:#1c2b40;border:1px solid var(--line);padding:12px 15px;border-radius:8px}.rate strong{color:var(--silver);font-size:20px}.progress-track{display:flex;gap:5px;margin-bottom:15px}.progress-track span{height:3px;background:#8196b330;flex:1;border-radius:8px}.progress-track .done{background:#bccbdf}.step-label{font-size:14px;color:var(--muted);margin-bottom:18px}.choices{display:grid;grid-template-columns:1fr;gap:10px}.choice{display:flex;align-items:center;gap:14px;min-height:65px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#16273e;text-align:start}.choice-icon{font-size:25px;color:var(--silver)}.choice:hover,.choice[aria-pressed=true]{border-color:#d0dbea;background:#20344e}.choice small{font-size:14px;color:var(--muted)}.choice.number{justify-content:center;font-size:24px;min-height:70px}.number-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.search-row{display:flex;gap:8px;margin-top:16px}.search-row input{width:100%;min-width:0;border:1px solid #97adc94d;background:#0c1b30;border-radius:9px;padding:15px;color:var(--ink);font-size:16px}input::placeholder{color:#b7c3d4;opacity:1}.search-row .primary{padding-inline:15px}.search-results{display:grid;gap:8px;margin-top:10px}.search-results button{padding:16px;border:1px solid var(--line);border-radius:8px;background:#192d48;text-align:start;min-height:54px}.search-results button:hover{border-color:var(--silver)}.flow-bottom{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:20px}.flow-note{font-size:14px;color:var(--muted);line-height:1.6;margin:12px 0}.date-input{display:block;width:100%;padding:15px;margin:12px 0;background:#0c1b30;border:1px solid var(--line);border-radius:9px;min-height:56px;font:inherit}.date-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.date-options .choice{padding:15px}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.time-slots .choice{justify-content:center;padding:12px;font-size:18px}.capacity-note{color:#d5e2f6}.booking-vehicles .vehicle{padding:10px}.booking-vehicles .vehicle .model{display:block}.booking-vehicles .vehicle strong{min-height:0}.booking-vehicles{display:grid;gap:10px}.booking-vehicles .vehicle img{width:115px;margin:0;aspect-ratio:1.5}.booking-vehicles .vehicle{flex-direction:row;align-items:center;gap:15px}.booking-vehicles .vehicle-rate{margin-top:4px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:22px 0}.metric{padding:16px 3px;background:#1b2d455c;text-align:center;border-radius:10px;border:1px solid #aebfd71c}.metric span{display:block;font-size:14px;color:var(--muted);line-height:1.3}.metric strong{display:block;margin-top:9px;font:600 clamp(18px,2.3vw,28px)/1.35 Manrope,sans-serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.route-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.route-line>span{max-width:44%;overflow-wrap:anywhere}.route-line>span:last-child{text-align:end}.route-map{display:block;width:100%;height:210px;border:1px solid #8fa4bf26;border-radius:10px;background:radial-gradient(ellipse at center,#20324b,#0b1b31)}.road-path{fill:none;stroke:#9fb5d1;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.start-point{fill:#dbe4ef;stroke:#081426;stroke-width:3}.end-point{fill:#b6c6db;stroke:#0b172a;stroke-width:2}.navigation-arrow path{fill:#edf2f8;stroke:#526d92;stroke-width:1;filter:drop-shadow(0 0 4px #cedef090)}.arrival-target{opacity:.4;transition:opacity 1s}.arrival-pulse{fill:none;stroke:#c8d7ec;stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}.has-arrived .arrival-target{opacity:1}.has-arrived .arrival-pulse{animation:arrivalPulse 2s ease-out 2}.arrival-status{text-align:center;text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--silver);min-height:22px;margin:9px 0 0}.route-attribution{font-size:12px;color:var(--muted);margin:8px 0}.journey-footnotes summary{cursor:pointer;font-size:14px;color:var(--muted);padding:12px 0;min-height:44px}.journey-footnotes p{font-size:14px;color:var(--muted)}.error{padding:16px;background:#462d37;border:1px solid #d9919d66;border-radius:10px;color:#ffe1e5;font-size:16px}.summary-list{margin:20px 0;display:grid;gap:0}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.summary-row div{min-width:0}.summary-row dt{font-size:14px;color:var(--muted)}.summary-row dd{margin:4px 0 0;overflow-wrap:anywhere}.summary-row button{flex-shrink:0}.summary-row .text-button{padding:8px}.book-request{width:100%;margin-top:15px}.about{display:flex;flex-direction:column;gap:8px;padding:35px 4px;border-bottom:1px solid var(--line)}.about h2{font-size:20px;letter-spacing:-.3px;color:#d1dbe8}.about p{font-size:15px;color:var(--muted);margin:0}.destinations{padding:40px 0}.section-heading{margin-bottom:24px}.section-heading h2{max-width:540px}.section-heading>span{display:block;font-size:14px;color:var(--muted);margin-top:14px}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.destination{position:relative;aspect-ratio:3/4.2;border-radius:10px;overflow:hidden;padding:0;text-align:start;background:#14243c;border:1px solid transparent;isolation:isolate}.destination img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#06122226 45%,#041020e8);z-index:0}.destination .destination-name{position:absolute;bottom:10px;inset-inline-start:7px;inset-inline-end:5px;z-index:1;font-size:14px;font-weight:500;line-height:1.3;color:white;text-shadow:0 2px 8px #000a;overflow-wrap:anywhere}.destination[aria-pressed=true]{border-color:#e2ebf8;box-shadow:0 0 0 1px #e2ebf8}.destination:hover img{transform:scale(1.045)}.other-destination{margin-top:30px;padding:23px 17px;background:#101f35;border:1px solid var(--line);border-radius:12px}.other-destination h3{margin-bottom:10px}.other-destination .search-row{margin-top:0}footer{border-top:1px solid var(--line);padding:25px 0 115px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--muted)}footer .brand{font-size:20px}.contact-bar{position:fixed;z-index:5;bottom:0;inset-inline:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#0a182bef;border-top:1px solid #bed0e544;box-shadow:0 -7px 35px #020a1455;backdrop-filter:blur(20px)}.contact-bar button{font-size:14px;min-height:52px;padding:12px 4px;white-space:normal;line-height:1.3}.contact-bar .secondary{background:#15273f}
dialog{border:1px solid #c4d2e84d;background:#0e1d32;padding:0;width:min(850px,calc(100% - 24px));max-height:92dvh;border-radius:16px;color:var(--ink);box-shadow:0 25px 90px #0008}dialog::backdrop{background:#020a16c9;backdrop-filter:blur(7px)}.close{position:sticky;float:right;top:12px;margin:12px 12px -56px 0;width:44px;height:44px;background:#0b1a2de8;border:1px solid #cad5e866;border-radius:50%;font-size:27px;z-index:3}.detail-image{width:100%;height:290px;object-fit:cover;display:block}.detail-body{padding:24px 19px}.detail-body h2{font-size:34px}.detail-body .landmarks{font-size:16px;color:var(--silver);margin:13px 0 8px}.detail-body .discover-text{font-size:16px;color:var(--muted);margin:0 0 16px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.detail-actions>button:last-child{grid-column:1/-1}.detail-actions button{padding-inline:8px;font-size:15px}.detail-body .metrics{margin:16px 0}.credits{font-size:14px;line-height:1.6}.credits a{text-decoration:underline;text-underline-offset:3px}.credits li{margin-bottom:13px}.credits h2{padding-inline-end:30px}.credits p{color:var(--muted)}#notice{position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:10;background:var(--silver);color:var(--navy);padding:16px;border-radius:10px;display:none}.loading-dot{display:inline-block;width:8px;height:8px;background:#c9d8ed;border-radius:50%;margin-inline-end:9px;animation:loading 1s alternate infinite}
@keyframes arrivalPulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.7);opacity:0}}@keyframes loading{to{opacity:.3}}@media(min-width:650px){header,main{padding-inline:30px}header{min-height:100px}.hero{min-height:760px;padding:50px 25px 25px}.hero-copy{padding-inline:15px}.hero-copy>p:last-child{max-width:none}.hero-fleet{margin-top:140px}.vehicles{gap:16px}.vehicle{padding:10px 10px 16px}.vehicle strong{font-size:18px;min-height:0}.vehicle .model{display:block}.vehicle .vehicle-rate{font-size:16px}.fleet-label{font-size:16px}.booking{padding:34px}.booking-heading{margin-bottom:28px}.rate{display:block}.choices{grid-template-columns:repeat(3,minmax(0,1fr))}.number-choices{grid-template-columns:repeat(7,minmax(0,1fr))}.about{flex-direction:row;justify-content:space-between;padding:38px 5px}.destinations{padding:45px 0}.destination-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.destination .destination-name{font-size:17px;inset-inline-start:14px;bottom:15px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.contact-bar{bottom:18px;left:50%;right:auto;transform:translateX(-50%);width:min(580px,calc(100% - 40px));border:1px solid var(--line);border-radius:13px;padding:7px}.contact-bar button{font-size:16px;padding:14px}.detail-image{height:360px}.detail-body{padding:30px}.detail-actions{grid-template-columns:repeat(3,1fr)}.detail-actions>button:last-child{grid-column:auto}.booking-vehicles{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-vehicles .vehicle{display:block}.booking-vehicles .vehicle img{width:100%;margin-bottom:15px}.other-destination{padding:30px}.metric strong{font-size:28px}}
@media(min-width:1000px){header,main{padding-inline:44px}nav{display:flex;margin-inline-start:auto;margin-inline-end:20px}header .contact{display:block}.hero{min-height:750px;padding:55px 35px 30px}.hero-copy h1{font-size:64px}.hero-fleet{margin-top:170px}.vehicles .vehicle{display:grid;grid-template-columns:43% 1fr;align-items:center;gap:16px;padding:13px}.vehicles .vehicle img{margin:0;aspect-ratio:1.3}.vehicles .vehicle strong{font-size:17px}.vehicles .vehicle .model{font-size:14px}.destination-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.destination{aspect-ratio:3/4}.booking{padding:38px 42px}.booking-vehicles .vehicle img{aspect-ratio:1.9}.time-slots{grid-template-columns:repeat(6,1fr)}}
[dir=rtl] .close{float:left;margin:12px 0 -56px 12px}[dir=rtl] .route-direction{transform:scaleX(-1)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep intrinsic photo dimensions from stretching compact vehicle cards. */
.vehicle img{height:auto;max-height:150px}
.time-slots{margin-top:12px}
@media(max-width:649px){.hero{min-height:620px}.hero-fleet{margin-top:135px}.vehicle .vehicle-rate{font-size:14px;letter-spacing:-.4px}.vehicle strong{min-height:40px}.hero-copy h1{font-size:36px}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.5px}}

@media(max-width:649px){.vehicle .model{display:block;font-size:14px;line-height:1.35;min-height:38px}.vehicle .vehicle-rate{line-height:1.3}.hero-fleet{margin-top:125px}.hero-copy h1{font-size:34px}}

.detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-actions>button:last-child{grid-column:auto}

/* Header-only Swiss identity: preserve the existing wordmark typography. */
header .header-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}
header .header-brand-name{display:inline-flex;align-items:center;gap:9px}
header .swiss-flag{display:block;width:16px;height:16px;flex:none}
header .header-brand-location{font:500 10px/1.3 'DM Sans',sans-serif;letter-spacing:1.35px;color:#bcc8d9}
@media(min-width:1000px){header .header-brand-location{font-size:11px;letter-spacing:1.7px}}

/* About Us: reuse the existing typography and navy/silver palette. */
.about-us{display:grid;gap:24px;padding:36px 4px 42px;border-bottom:1px solid var(--line)}
.about-us h2{font-size:1.25rem;line-height:1.4;letter-spacing:.12em;color:var(--silver)}
.about-us-copy{max-width:70ch;min-width:0}
.about-us-copy p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.about-us-copy p+p{margin-top:18px}
@media(min-width:800px){.about-us{grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:48px;padding-block:48px 56px}.about-us-copy p{font-size:1.0625rem}}

/* Constrain native date/time controls, including their intrinsic iOS sizing. */
#date-form,#time-form{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
#date-form .date-input,#time-form .date-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-inline-size:0;-webkit-appearance:none;appearance:none}
#date-form .date-input::-webkit-date-and-time-value,#time-form .date-input::-webkit-date-and-time-value{min-width:0;text-align:left}
#date-form .date-input::-webkit-datetime-edit,#time-form .date-input::-webkit-datetime-edit{min-width:0;padding:0}
#date-form>.primary,#time-form>.primary{width:100%;max-width:100%;box-sizing:border-box}
.time-input-wrap{position:relative;width:100%;max-width:100%;min-width:0;margin:12px 0}
#time-form .time-input-wrap .date-input{position:relative;margin:0;padding-left:48px;padding-right:15px;text-align:left}
.time-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;fill:none;stroke:var(--silver);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Retain the native picker hit target, now over the left-hand clock. */
#departure-time::-webkit-calendar-picker-indicator{position:absolute;left:0;right:auto;top:0;width:44px;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;box-sizing:border-box}
