:root{color-scheme:light;--bg:#fff;--ink:#171717;--muted:#5d5d59;--gold:#80621e;--gold-fill:#d9ba73;--line:#dedbd4;--soft:#f8f7f3}
.cancellation-notice{margin:28px 0;padding:24px;border:1px solid var(--line);border-left:4px solid var(--gold-fill);border-radius:4px;background:var(--soft)}.cancellation-notice h3{margin-top:0}.cancellation-notice p{overflow-wrap:anywhere}.cancellation-notice p:last-of-type{margin-bottom:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{cursor:pointer}[hidden]{display:none!important}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.09;letter-spacing:-.035em}h1{font-size:clamp(46px,5.4vw,78px);max-width:730px;margin:0 0 28px}h2{font-size:clamp(34px,3.7vw,53px);margin:0 0 24px}h3{font-size:21px;font-weight:500;line-height:1.35;margin:20px 0 12px}p{margin-top:0}img{max-width:100%}header,.section,footer{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}
header{padding-top:22px;padding-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand>img{flex-shrink:0;object-fit:contain;border-radius:50%;background:#fff}.wordmark{font-size:25px;letter-spacing:.18em;font-weight:500;line-height:1.2}.wordmark span{display:block;font-size:10px;letter-spacing:.13em;font-weight:400;margin-top:8px}header nav{display:flex;align-items:center;gap:22px;font-size:14px}header nav>a:hover{color:var(--gold)}#language{min-height:44px;min-width:44px;background:#fff;color:var(--ink);border:1px solid var(--line);padding:8px}.nav-call{color:var(--gold);white-space:nowrap}
.hero{position:relative;min-height:625px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero .hero-image{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#fffffff5 0%,#fffffff0 28%,#ffffffa8 55%,#ffffff08 100%),var(--hero-photo);background-size:cover;background-position:center}.hero-copy{width:100%;max-width:1440px;padding:78px 6% 100px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;color:var(--gold);margin:0 0 22px}.intro{max-width:480px;font-size:18px;line-height:1.65;color:#33332f;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:1px solid transparent;font-weight:600;font-size:15px;line-height:1.5;text-align:center;border-radius:3px}.gold{background:var(--gold-fill);color:#171717}.gold:hover{background:#ccb06e}.outline{background:#fff;border-color:#c9c5ba;color:var(--ink)}.outline:hover{background:var(--soft)}.hero-contact{display:inline-block;margin:18px 0 18px 24px;font-size:14px;border-bottom:1px solid var(--gold)}.hero-bottom{position:absolute;left:6%;right:6%;bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.13em;color:#282822}.hero-bottom span:last-child{background:#ffffffec;padding:3px 9px}
.section{padding-top:88px;padding-bottom:88px}.section-heading{margin-bottom:38px}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.services article{border-top:1px solid var(--line);padding-top:22px}.number{font-size:13px;color:var(--gold)}.services p,.fleet p,.booking-copy p{color:var(--muted)}.services p{min-height:80px}.service-link,.text-link{display:inline-block;color:var(--gold);font-size:14px;text-decoration:underline;text-underline-offset:5px}.service-link{margin-top:8px}
.fleet{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:8%;row-gap:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft)}.fleet>*{min-width:0}.fleet h2 em{font-weight:400;color:var(--gold)}.fleet>div>p{max-width:540px}.vehicle-details{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;align-content:center}.vehicle-color{grid-column:1/-1;color:var(--gold)!important;font-size:12px;letter-spacing:.13em;margin:0}.vehicle-details strong{display:block;font-family:Georgia,serif;font-size:58px;line-height:1.2;font-weight:400}.vehicle-details span{color:var(--muted);font-size:14px}.vehicle-details>p,.vehicle-details>a{grid-column:1/-1}.small{font-size:14px;line-height:1.6;color:var(--muted)}.vehicle-details .small{margin-bottom:0}
.vehicle-gallery{grid-column:1/-1;min-width:0;max-width:100%;margin:0;border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden}.gallery-stage{background:#fff}.vehicle-gallery .gallery-stage img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:670px;object-fit:contain;background:#fff}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--line)}.gallery-toolbar button{min-height:44px;border:1px solid var(--line);background:white;color:var(--ink);padding:8px 14px;font-size:14px;border-radius:3px}.gallery-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 22px 22px}.gallery-thumb{min-width:0;padding:0;border:2px solid var(--line);background:white;color:var(--ink);text-align:left;border-radius:3px;overflow:hidden}.gallery-thumb[aria-pressed=true]{border-color:var(--gold)}.gallery-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-thumb span{display:block;font-size:14px;padding:9px;overflow-wrap:anywhere}.vehicle-gallery figcaption{padding:18px 22px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.vehicle-gallery figcaption p{margin:0;max-width:none}.gallery-thumb:focus-visible{outline-offset:-5px}
.about-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 8%}.about-copy{padding-top:32px;color:var(--muted)}.about-copy p{font-size:18px}.trust-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:25px}.trust-grid article{border-top:1px solid var(--line);padding-top:22px}.trust-grid p{color:var(--muted);margin-bottom:0}
.booking{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%;background:var(--soft);align-items:start}.booking-copy{padding-top:15px}.booking-copy ol{padding-left:22px;color:var(--muted);margin:28px 0}.booking-copy li{padding:8px 0}.booking-copy .text-link{max-width:100%}form{min-width:0;border:1px solid var(--line);padding:32px;background:white;border-radius:8px}.step-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0 0 25px;margin:0 0 24px;gap:10px;border-bottom:1px solid var(--line)}.step-progress li{font-size:14px;display:flex;align-items:center;gap:8px;color:var(--muted)}.step-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-size:12px}.step-progress li[aria-current=step]{color:var(--ink);font-weight:600}.step-progress li[aria-current=step] .step-number{background:var(--gold-fill);border-color:var(--gold-fill)}.wizard-panel h3,.review h3{margin:0 0 18px;font-family:Georgia,serif;font-size:27px;letter-spacing:-.02em;font-weight:400}.wizard-panel h3:focus,.review h3:focus{outline:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:14px;min-width:0}label small{font-size:13px;color:var(--muted)}input,select,textarea{background:#fff;color:var(--ink);border:1px solid #8a877e;border-radius:3px;width:100%;padding:11px 12px;min-height:48px;min-width:0}input:hover,select:hover,textarea:hover{border-color:#7c7768}textarea{resize:vertical}.consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:22px 0;font-size:14px}.consent input{width:20px;min-height:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--gold)}.small a{text-decoration:underline;text-underline-offset:3px}#contact-step>.small{margin-top:20px}.wizard-actions{display:flex;gap:12px;justify-content:space-between;margin-top:26px}.wizard-actions .gold{flex:1}.wizard-actions:has(> [hidden]):not(:has(> :not([hidden]))){display:none}.review pre{font:inherit;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:4px;line-height:1.8}.review-actions{display:flex;flex-wrap:wrap;gap:10px}.review-actions #send-whatsapp{width:100%}.review>.small{margin-top:18px}.sms-button{display:block;width:100%;padding:14px 8px;background:none;border:0;color:var(--muted);font-size:14px;text-decoration:underline;cursor:pointer}.form-assurance{margin:10px 0 0;padding-top:16px;border-top:1px solid var(--line)}#status:empty{display:none}#status{padding:10px 0;margin:0}
.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;border-top:1px solid var(--line)}.contact-section p{color:var(--muted)}.contact-links{display:grid;grid-template-columns:1fr;gap:12px}.contact-links a{display:block;border-bottom:1px solid var(--line);padding:12px 0}.contact-links span{display:block;font-size:12px;letter-spacing:.15em;color:var(--gold)}.contact-links strong{font-size:18px;font-weight:400;overflow-wrap:anywhere}
.information{border-top:1px solid var(--line)}.information>p,.information>ul{max-width:900px;color:var(--muted)}.information li{margin:12px 0}.information details{border-bottom:1px solid var(--line);padding:20px 0}.information summary{cursor:pointer;font-size:18px;line-height:1.5;list-style-position:outside;margin-left:20px;padding-left:6px}.information summary::marker{color:var(--gold)}.information details p,.information details ul{max-width:950px;color:var(--muted);margin-top:18px}.information details p:last-child{margin-bottom:0}.legal{background:var(--soft);padding-top:55px;padding-bottom:55px}.legal h2{font-size:36px}.payment-section{padding-top:35px;padding-bottom:35px;border-top:1px solid var(--line)}.payment-disclosure>summary{font-size:18px;color:var(--ink);cursor:pointer;padding:8px;list-style-position:inside}.payment-disclosure>summary::marker{color:var(--gold)}.payment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}.payment-steps article{padding-top:20px;border-top:1px solid var(--line)}.payment-steps p,.payment-help p{color:var(--muted)}.payment-help{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px;border:1px solid var(--line);background:var(--soft)}.payment-help>div{max-width:700px;min-width:0}.payment-help h3{margin-top:0}.payment-help .button{flex-shrink:0}
footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:40px;display:flex;justify-content:space-between;align-items:flex-start;gap:45px}footer>div:last-child{display:flex;flex-wrap:wrap;gap:15px 22px;font-size:14px;color:var(--muted);max-width:650px}.skip-link{position:absolute;left:12px;top:-100px;z-index:10;background:var(--gold-fill);color:#111;padding:12px}.skip-link:focus{top:12px}.mobile-actions{display:none}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}}
@media(max-width:1100px){header nav{gap:16px}.nav-call{display:none}.hero h1{max-width:620px}.booking{gap:5%;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}form{padding:26px}.step-progress li{gap:5px;font-size:13px}.services{gap:22px}.services p{min-height:100px}}
@media(max-width:900px){header nav>a{display:none}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.services p{min-height:0}.booking{grid-template-columns:1fr;gap:30px}.booking-copy{max-width:650px}.booking-copy ol{display:none}.booking form{max-width:780px;width:100%}.hero .hero-image{background-image:linear-gradient(90deg,#fffffff5 0%,#ffffffdf 42%,#ffffff25 100%),var(--hero-photo)}.step-progress li{font-size:14px;gap:9px}.about-copy{padding-top:0}.fleet{column-gap:5%}.vehicle-details strong{font-size:48px}.payment-help{flex-direction:column;align-items:flex-start}}
@media(max-width:650px){html{scroll-padding-top:16px}header{padding-top:17px;padding-bottom:17px;gap:10px}.brand{gap:9px}.brand>img{width:48px;height:48px}.wordmark{font-size:19px}.wordmark span{font-size:8px;letter-spacing:.08em}.hero{min-height:680px;align-items:flex-start}.hero-copy{padding-top:46px;padding-bottom:235px}.hero .hero-image{background-image:linear-gradient(180deg,#fff 0%,#fffffff0 43%,#ffffff30 76%,#ffffff08 100%),var(--hero-photo);background-position:center,bottom center}.hero h1{font-size:46px;max-width:480px}.intro{font-size:16px;max-width:430px}.hero-contact{display:block;width:fit-content;margin:18px 0 0}.hero-bottom{font-size:10px}.hero-bottom span{background:#fffffff2;padding:4px 8px}.section{padding-top:56px;padding-bottom:56px}.section-heading{margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:17px}.services{gap:28px 20px}.services h3{font-size:19px}.services p{font-size:15px}.fleet{grid-template-columns:minmax(0,1fr);column-gap:0;row-gap:26px}.vehicle-details{gap:18px}.vehicle-details strong{font-size:48px}.vehicle-gallery .gallery-stage img{max-height:none}.gallery-thumbnails{gap:8px;padding:0 10px 12px}.gallery-thumb span{font-size:12px;padding:7px 5px;line-height:1.4}.gallery-toolbar{padding:10px 12px}.gallery-toolbar button{padding:8px 10px}.vehicle-gallery figcaption{padding:16px;font-size:13px}.about-section{grid-template-columns:1fr;gap:14px}.about-copy p{font-size:16px}.trust-grid{grid-template-columns:1fr;gap:22px;padding-top:15px}.trust-grid article{padding-top:16px}.trust-grid h3{margin-top:10px}.booking{gap:28px}form{padding:24px 18px}.form-grid{gap:16px 12px}.step-progress{gap:6px;padding-bottom:20px;margin-bottom:24px}.step-progress li{flex-direction:column;align-items:flex-start;gap:7px;font-size:13px}.wizard-panel h3,.review h3{font-size:26px}.wizard-actions{gap:8px}.wizard-actions .button{padding:13px 16px}.contact-section{grid-template-columns:1fr;gap:25px}.payment-section{padding-top:24px;padding-bottom:24px}.payment-steps{grid-template-columns:1fr;gap:18px}.payment-help{padding:18px}.payment-help .button{width:100%}.legal h2{font-size:32px}.information summary{font-size:17px}.information details{padding:17px 0}footer{flex-direction:column;gap:28px;padding-bottom:35px}footer>div:last-child{gap:14px 20px}.mobile-actions{position:fixed;display:grid;grid-template-columns:1.1fr 1fr 1fr;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 18px #00000009}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 8px;font-size:14px;font-weight:600}.mobile-actions a+ a{border-left:1px solid var(--line)}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}input,select,textarea{font-size:16px}.review-actions .button{flex:1 1 42%;padding:12px}.review-actions #send-whatsapp{flex-basis:100%}}
@media(max-width:360px){.hero h1{font-size:40px}.brand>img{width:42px;height:42px}.wordmark{font-size:17px}.wordmark span{font-size:7px}.gallery-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}.step-progress li{font-size:12px}.wizard-actions{flex-wrap:wrap}.wizard-actions .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep date and time controls aligned when their labels wrap. */
.form-grid label:has(input[name="date"])>span,.form-grid label:has(input[name="time"])>span{min-height:3.3em}
@media(max-width:650px){.gallery-thumb span{font-size:14px}body.request-visible .mobile-actions,body:has(#ride-form input:focus,#ride-form textarea:focus,#ride-form select:focus) .mobile-actions{display:none}}

/* Appearance preference: white by default, dark only when selected. */
#theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:8px 10px;background:var(--bg);color:var(--ink);border:1px solid var(--line);font-size:14px}
#theme-icon{font-size:21px;line-height:1}
html[data-theme=dark]{color-scheme:dark;--bg:#101317;--ink:#f5f3ec;--muted:#b9bec4;--gold:#ddbf7e;--line:#383d43;--soft:#181d23}
html[data-theme=dark] #language,html[data-theme=dark] .outline,html[data-theme=dark] form,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .vehicle-gallery,html[data-theme=dark] .gallery-toolbar button,html[data-theme=dark] .gallery-thumb,html[data-theme=dark] .mobile-actions{background:var(--bg);color:var(--ink)}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .outline{border-color:#697079}
html[data-theme=dark] .outline:hover{background:var(--soft)}
html[data-theme=dark] .hero .hero-image{background-image:linear-gradient(90deg,#101317f5 0%,#101317ed 28%,#101317b8 55%,#10131720 100%),var(--hero-photo)}
html[data-theme=dark] .intro{color:#e0e3e6}
html[data-theme=dark] .hero-bottom{color:var(--ink)}
html[data-theme=dark] .hero-bottom span:last-child{background:#101317ed}
html[data-theme=dark] .mobile-actions .gold,html[data-theme=dark] .step-progress li[aria-current=step] .step-number{background:var(--gold-fill);color:#171717}
@media(max-width:1100px){header nav{gap:10px}}
@media(max-width:650px){#theme-label{display:none}#theme-toggle{padding:8px}header nav{gap:6px}header .brand .wordmark span{font-size:7px}html[data-theme=dark] .hero .hero-image{background-image:linear-gradient(180deg,#101317 0%,#101317ed 43%,#10131755 76%,#10131720 100%),var(--hero-photo)}html[data-theme=dark] .hero-bottom span{background:#101317ed}}
@media(max-width:360px){header .brand{gap:7px}header .brand>img{width:36px;height:36px}header .wordmark{font-size:15px}header .wordmark span{max-width:120px;font-size:6px!important}header nav{gap:4px}header{padding-left:4%;padding-right:4%;gap:6px}}

/* Compact booking layout: keep readable fields and generous touch targets. */
header{position:relative;z-index:6}.mobile-menu{display:none}
.trip-extras{border:1px solid var(--line);border-radius:4px;padding:0 12px}
.trip-extras>summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:14px;color:var(--gold)}
.trip-extras[open]>label{padding-bottom:12px}
.information details,.information p,.information a,footer a{overflow-wrap:anywhere}
/* Keep the footer wordmark out of the space reserved for navigation. */
footer>.brand{flex:0 0 auto}
footer>div:last-child{flex:1 1 0;min-width:0}
@media(max-width:900px){footer{flex-direction:column;gap:28px}footer>div:last-child{flex:0 1 auto;width:100%;max-width:none}}
.consent{padding:12px;border:1px solid var(--line);border-radius:4px;min-height:48px;line-height:1.5}
.consent input{margin-top:2px}.review pre{line-height:1.55}
.service-link,.text-link{min-height:44px;padding:10px 0}
#contact-step>.small a{display:inline-block;padding:6px 0;min-height:36px}
input,select,textarea{scroll-margin-block:20px;font-size:16px}
@media(max-width:1100px){
 header nav>a{display:none}.mobile-menu{display:block}
 .mobile-menu>summary{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;border:1px solid var(--line);padding:8px;background:var(--bg);color:var(--ink);cursor:pointer;font-size:14px;list-style:none}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu[open]>summary{border-color:var(--gold)}
 .mobile-menu-links{position:absolute;left:5%;right:5%;top:calc(100% - 1px);display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--bg);padding:12px;border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 12px 24px #0002}
 .mobile-menu-links a{display:flex;align-items:center;min-height:48px;padding:10px;font-size:16px;line-height:1.4;border-radius:3px}
 .mobile-menu-links a:hover{background:var(--soft)}
 .booking{grid-template-columns:1fr;gap:24px}.booking-copy{max-width:760px;padding-top:0}.booking-copy ol{display:none}.booking form{max-width:820px;width:100%;margin-inline:auto}
 .booking-copy h2{margin-bottom:14px}.booking-copy>p{margin-bottom:10px}
 .section{padding-top:56px;padding-bottom:56px}
}
@media(min-width:651px) and (max-width:1100px){
 header,.section,footer{padding-left:5%;padding-right:5%}
 .hero{min-height:520px}.hero-copy{padding-top:54px;padding-bottom:74px}
 .hero h1{font-size:clamp(42px,5vw,56px);max-width:620px}
 .trust-grid{gap:20px}.trust-grid h3{font-size:19px}
 .booking-copy .eyebrow{margin-bottom:12px}.booking-copy h2{font-size:38px}
 .step-progress{padding-bottom:16px;margin-bottom:20px}.form-grid{gap:14px 18px}
}
@media(max-width:650px){
 header,.section,footer{padding-left:16px;padding-right:16px}
 header{padding-top:12px;padding-bottom:12px;gap:8px}
 header .brand>img{width:36px;height:36px}header .wordmark{font-size:16px;letter-spacing:.1em}header .wordmark span{display:none}
 header nav{gap:5px}#language,#theme-toggle{width:44px;padding:8px}
 .hero{min-height:520px}.hero-copy{padding:32px 16px 140px}.hero h1{font-size:clamp(36px,9.5vw,46px);margin-bottom:18px;max-width:470px}
 .eyebrow{margin-bottom:12px}.intro{line-height:1.5;margin-bottom:18px}.hero-contact{min-height:44px;margin-top:8px;padding-top:10px}.hero-bottom{left:16px;right:16px;gap:8px;letter-spacing:.04em}
 .section{padding-top:38px;padding-bottom:38px}.section-heading{margin-bottom:22px}h2{font-size:32px;margin-bottom:18px}
 .services{gap:20px 16px}.services article{padding-top:14px}.services h3{margin-top:10px;margin-bottom:8px}.services p{margin-bottom:6px}
 .fleet{row-gap:20px}.vehicle-details{gap:12px 18px}.vehicle-details strong{font-size:40px}
 .gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 8px 10px}.gallery-thumb span{font-size:14px;padding:7px 3px;line-height:1.3;text-align:center}
 .vehicle-gallery figcaption{padding:12px;font-size:14px;line-height:1.5}.gallery-toolbar{padding:8px}
 .trust-grid{gap:16px;padding-top:8px}.trust-grid article{padding-top:12px}.trust-grid h3{margin-bottom:8px}
 .booking{gap:16px}.booking-copy .eyebrow{margin-bottom:8px}.booking-copy h2{font-size:30px;margin-bottom:10px}.booking-copy>p{font-size:15px;line-height:1.5}
 form{padding:18px 14px;border-radius:6px}.step-progress{padding-bottom:12px;margin-bottom:16px;gap:8px}.step-progress li{flex-direction:row;align-items:center;gap:6px;font-size:12px;line-height:1.3}.step-number{width:24px;height:24px}
 .wizard-panel h3,.review h3{font-size:25px;margin-bottom:12px}.wizard-panel>.small{margin-bottom:12px}.form-grid{gap:12px 10px}label{gap:5px}label small{font-size:14px;line-height:1.45}
 input,select,textarea{font-size:16px;padding:10px;min-height:48px}
 .form-grid label:has(input[name="date"])>span,.form-grid label:has(input[name="time"])>span{min-height:2.9em;line-height:1.4}
 .consent{margin:12px 0;padding:10px;gap:10px;font-size:14px}.wizard-actions{margin-top:18px;gap:8px}.wizard-actions .button{padding:11px 12px;min-height:48px}
 #contact-step>.small{margin-top:12px}.review pre{padding:12px;margin-top:12px}.review-actions{gap:8px}.review-actions .button{font-size:14px;min-height:48px;padding:10px}.form-assurance{padding-top:12px}
 .information details{padding:10px 0}.information summary{min-height:44px;padding-top:9px;padding-bottom:9px;font-size:16px;line-height:1.45}.information details p,.information details ul{margin-top:12px;font-size:16px;line-height:1.6}.information details .small{font-size:14px}
 .legal h2{font-size:30px}.cancellation-notice{margin:20px 0;padding:16px}.cancellation-notice h3{font-size:20px}
 .contact-section{gap:16px}.contact-links{gap:4px}.payment-section{padding-top:18px;padding-bottom:18px}
 footer{gap:20px;padding-top:28px;padding-bottom:24px}footer>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 14px;width:100%}footer>div:last-child>a{display:flex;align-items:center;min-height:44px;padding:6px 0;line-height:1.4}footer>div:last-child>span{grid-column:1/-1}
 .mobile-actions a{min-height:50px;padding:10px 8px}body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){
 header{padding-left:12px;padding-right:12px;gap:4px}header .brand{gap:5px}header .brand>img{width:30px;height:30px}header .wordmark{font-size:14px}header nav{gap:4px}.mobile-menu>summary{min-width:44px;padding:6px}
 .services{grid-template-columns:1fr}.step-progress li{flex-direction:column;align-items:flex-start}.review-actions .button{flex-basis:100%}
}
@media(max-height:500px) and (min-width:651px) and (max-width:1100px){
 .hero{min-height:350px}.hero-copy{padding-top:28px;padding-bottom:60px}.hero h1{font-size:38px;margin-bottom:14px}.intro{margin-bottom:14px}.section{padding-top:32px;padding-bottom:32px}
}

/* CELUXURY fleet: original gallery, transparent capacity and a compact quote. */
.button{border-radius:8px}.services article{padding:22px 20px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.services h3{margin-top:10px}.services p{min-height:78px}.services .service-link{margin:0}.services{gap:16px}
.fleet{display:block;background:var(--soft)}.fleet-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:32px}.fleet-heading h2{margin-bottom:0}.fleet-heading>p{max-width:370px!important;margin-bottom:4px;font-size:16px}.fleet-showcase{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:start}.fleet-showcase>*{min-width:0}
.vehicle-gallery{grid-column:auto;border-radius:16px;box-shadow:0 8px 28px #00000005}.gallery-stage{position:relative;touch-action:pan-y;overflow:hidden}.vehicle-gallery .gallery-stage img{aspect-ratio:3/2;width:100%;height:auto;max-height:none;object-fit:contain;user-select:none}.gallery-stage:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}.image-label{position:absolute;left:14px;top:14px;padding:5px 9px;border-radius:4px;background:#ffffffed;color:#333;font-size:10px;letter-spacing:.09em;pointer-events:none}.gallery-toolbar{padding:16px;gap:10px;border-top:0}.gallery-caption-wrap{min-width:0;display:flex;flex-direction:column;gap:4px}.gallery-caption-wrap strong{font-size:15px;font-weight:500;line-height:1.4}.gallery-caption-wrap #gallery-count{font-size:12px;letter-spacing:.1em;color:var(--gold)}.gallery-controls{display:flex;gap:6px;flex-shrink:0}.gallery-controls button{width:44px;height:44px;padding:0;border-radius:50%;font-size:21px}.gallery-thumbnails{padding:0 16px 16px;gap:8px}.gallery-thumb{border:1px solid var(--line);border-radius:7px}.gallery-thumb[aria-pressed=true]{border:2px solid var(--gold);background:var(--soft)}.gallery-thumb img{aspect-ratio:3/2}.gallery-thumb span{font-size:12px;padding:8px 4px;text-align:center}.vehicle-gallery figcaption{padding:12px 16px;font-size:12px;line-height:1.5;background:var(--soft)}
.fleet-config{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:24px}.fleet-config>.eyebrow{font-size:10px;margin-bottom:12px}.fleet-config h3{font-family:Georgia,serif;font-size:29px;letter-spacing:-.02em;font-weight:400;margin:0 0 20px}.capacity-stats{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.capacity-stats>div+div{border-left:1px solid var(--line);padding-left:22px}.capacity-stats strong{font-family:Georgia,serif;font-size:54px;line-height:1.1;font-weight:400;display:block}.capacity-stats strong span{font-family:Arial,sans-serif;font-size:22px;color:var(--gold);vertical-align:top}.capacity-stats div>span{font-size:13px;color:var(--muted);display:block;margin-top:6px}.fleet .capacity-rule{font-size:13px;line-height:1.6;margin:20px 0 22px}.fleet-tabs{display:flex;gap:0;border-bottom:1px solid var(--line)}.fleet-tabs button{flex:1;min-height:48px;font-size:14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);padding:10px 6px}.fleet-tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold);font-weight:600}.fleet-panel{padding-top:18px;min-height:290px}.fleet-panel h4{font-size:19px;font-weight:500;margin:2px 0 14px}.fleet-panel p{font-size:14px;line-height:1.6;margin-bottom:14px}.fleet-panel .small{font-size:13px}.seat-plan{margin:0 auto 18px;padding:16px;max-width:250px;border:1px solid var(--line);border-radius:24px 24px 14px 14px;background:var(--soft);display:grid;gap:10px}.seat-row{display:flex;justify-content:space-between;gap:12px}.seat{display:flex;align-items:center;justify-content:center;flex:0 1 30%;height:32px;border-radius:8px 8px 4px 4px;border:1px solid var(--gold);border-bottom:4px solid var(--gold-fill);font-size:12px;color:var(--ink);background:var(--bg)}.seat.driver{border-color:var(--muted);font-size:10px;background:var(--line)}.seat.extra{border-style:dashed;color:var(--gold)}.third-row{gap:7px}.third-row .seat{flex:1}.onboard-list{list-style:none;margin:0;padding:0}.onboard-list li{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.onboard-list li:last-child{border:0}.onboard-list li>span{font-size:11px;color:var(--gold);margin-top:4px}.onboard-list strong{font-size:14px;font-weight:600}.onboard-list p{font-size:13px;margin:3px 0 0}.fleet-quote{padding-top:18px;border-top:1px solid var(--line)}.fleet-quote .button{width:100%}.fleet-quote>span{display:block;text-align:center;font-size:11px;line-height:1.5;margin-top:9px;color:var(--muted)}
.booking-vehicle{display:flex;align-items:center;gap:12px;margin:-8px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.booking-vehicle img{width:76px;height:52px;object-fit:cover;border-radius:6px}.booking-vehicle>div{min-width:0;flex:1}.booking-vehicle strong{font-size:14px;font-weight:600;display:block}.booking-vehicle div>span{display:block;font-size:12px;line-height:1.45;color:var(--muted);margin-top:3px}.booking-vehicle-tag{font-size:10px;letter-spacing:.05em;color:var(--gold);border:1px solid var(--line);padding:3px 7px;border-radius:4px}.capacity-help{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.capacity-feedback{margin:0;padding:12px;border:1px solid var(--gold);border-radius:6px;font-size:14px;line-height:1.5;background:var(--soft)}
input,select,textarea{border-radius:7px}.trip-extras{border-radius:7px}.step-progress{padding-bottom:18px}.message-preview{margin:18px 0;border:1px solid var(--line);border-radius:8px;padding:0 12px}.message-preview summary{cursor:pointer;font-size:13px;min-height:44px;padding:10px 0;color:var(--gold)}.message-preview pre{margin:0 0 12px;font-size:13px;line-height:1.6}.review-state{font-size:10px;letter-spacing:.13em;color:var(--gold);margin:0 0 16px}.review-cards{overflow-wrap:anywhere}.review-cards h4{font-size:15px;font-weight:600;margin:0 0 14px}.review-route{border-radius:10px;background:var(--soft);border:1px solid var(--line);padding:18px}.route-stop{position:relative;padding:0 0 18px 18px;border-left:1px solid var(--gold-fill);margin-left:3px}.route-stop:before{content:'';position:absolute;left:-4px;top:7px;width:7px;height:7px;background:var(--gold);border-radius:50%}.route-stop:last-child{padding-bottom:0;border-left-color:transparent}.route-stop:last-child:before{border-radius:0}.route-stop>span{display:block;font-size:11px;color:var(--muted)}.route-stop strong{font-size:15px;font-weight:500;display:block;line-height:1.5;margin-top:3px;white-space:pre-wrap}.review-block{padding:18px 0;border-bottom:1px solid var(--line)}.review-facts{margin:0}.review-facts>div{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:5px 0;font-size:13px;line-height:1.6}.review-facts dt{color:var(--muted)}.review-facts dd{margin:0;white-space:pre-wrap}.review-confirmation{padding:14px;border-radius:7px;background:var(--soft);font-size:13px;margin:16px 0 0;color:var(--muted)}.review-actions #send-whatsapp{width:auto;flex-basis:auto}.review-actions .preferred-send{order:-1;width:100%!important;flex-basis:100%!important}.review-actions .button{flex:1 1 42%;min-width:0}
@media(min-width:1101px){.booking-copy{position:sticky;top:26px}}
@media(max-width:1100px){.fleet-showcase{gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.fleet-config{padding:20px}.services p{min-height:0}.fleet-heading{gap:24px}.fleet-heading>p{max-width:320px!important}.capacity-stats strong{font-size:46px}}
@media(max-width:900px){.fleet-showcase{grid-template-columns:1fr}.fleet-heading{display:block}.fleet-heading>p{max-width:620px!important;margin:18px 0 0}.fleet-panel{min-height:0}.seat-plan{float:left;width:210px;margin:0 24px 18px 0}.fleet-panel:after{content:'';display:block;clear:both}.fleet-config{padding:24px}.capacity-stats{max-width:410px}.fleet .capacity-rule{max-width:600px}.fleet-quote{display:flex;align-items:center;gap:20px}.fleet-quote .button{width:50%}.fleet-quote>span{text-align:left;max-width:240px;margin:0}.gallery-thumb span{font-size:14px}}
@media(max-width:650px){.fleet-heading{margin-bottom:22px}.fleet-heading h2{font-size:34px}.fleet-heading>p{font-size:15px;line-height:1.6}.fleet-showcase{gap:16px}.vehicle-gallery,.fleet-config{border-radius:12px}.gallery-toolbar{padding:12px}.gallery-caption-wrap strong{font-size:13px}.gallery-thumbnails{padding:0 10px 12px;gap:6px}.gallery-thumb span{font-size:12px;padding:8px 3px}.gallery-controls button{width:44px}.vehicle-gallery figcaption{padding:12px;font-size:12px}.image-label{font-size:9px;top:10px;left:10px}.fleet-config{padding:20px 16px}.fleet-config h3{font-size:27px;margin-bottom:16px}.capacity-stats{gap:16px}.capacity-stats strong{font-size:45px}.capacity-stats>div+div{padding-left:20px}.fleet .capacity-rule{margin:16px 0 18px}.fleet-tabs button{font-size:14px}.fleet-panel{padding-top:18px}.seat-plan{width:150px;margin-right:14px;padding:12px;gap:8px}.seat-row{gap:8px}.seat{height:29px;font-size:11px}.seat.driver{font-size:9px}.fleet-panel p{font-size:14px;line-height:1.55}.fleet-quote{display:block;padding-top:16px}.fleet-quote .button{width:100%}.fleet-quote>span{max-width:none;text-align:center;margin-top:8px}.services article{padding:16px 14px;border-radius:10px}.services{gap:12px}.services h3{font-size:18px}.services p{font-size:14px}.service-link{font-size:13px}.booking-vehicle{margin:0 0 16px;padding-bottom:14px;gap:10px}.booking-vehicle img{width:60px;height:45px}.booking-vehicle strong{font-size:13px}.booking-vehicle div>span{font-size:11px}.booking-vehicle-tag{display:none}.review-route{padding:14px}.review-facts>div{grid-template-columns:1fr 1.35fr;gap:10px}.review-block{padding:16px 0}.review-actions #send-whatsapp{flex-basis:42%}}
@media(max-width:359px){.seat-plan{float:none;width:190px;margin:0 auto 16px}.gallery-caption-wrap strong{font-size:12px}.gallery-controls{gap:4px}.gallery-toolbar{gap:6px}.review-facts>div{grid-template-columns:1fr}.review-facts dd{margin-bottom:4px}.review-actions #send-whatsapp{flex-basis:100%}}

/* Same Miami photograph, smaller files for each viewport. */
:root{--hero-photo:url("miami-desktop.jpg")}
@media(max-width:650px){:root{--hero-photo:url("miami-mobile.jpg")}}
.gallery-stage:focus-visible{outline:none}.gallery-stage:focus-visible::after{content:"";position:absolute;inset:0;border:3px solid #111;box-shadow:inset 0 0 0 3px #fff;z-index:3;pointer-events:none}
.error-page{min-height:100vh;padding:0;display:grid;place-items:center}.error-card{width:min(100%,720px);padding:40px 24px}.error-card img{width:72px;height:72px;border-radius:50%}.error-card h1{font-size:clamp(36px,7vw,56px);margin:24px 0}.error-card .error-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.error-card p{overflow-wrap:anywhere}

.captcha-section{margin-block:1.5rem;padding-block:1rem;border-top:1px solid var(--line,#d8d5ce);min-width:0}.captcha-section #human-check{min-height:65px;max-width:100%}.captcha-section #human-check-status{min-height:1.5em}#review-submit:disabled{opacity:.65;cursor:wait}

/* CELUXURY · crystal surfaces. Existing content, themes and booking states stay authoritative. */
:root {
  --cx-glass:rgb(255 255 255 / 89%);
  --cx-surface:#fff;
  --cx-panel:linear-gradient(145deg,#fff,#faf8f3);
  --cx-control:#fff;
  --cx-border:#ded7c8;
  --cx-muted-border:#e9e5dc;
  --cx-gold-soft:#f5eddb;
  --cx-gold-line:#ccb275;
  --cx-highlight:rgb(255 255 255 / 92%);
  --cx-shadow:inset 0 1px 0 var(--cx-highlight),0 8px 26px rgb(57 43 18 / 6%);
  --cx-raised:inset 0 1px 0 var(--cx-highlight),0 16px 45px rgb(57 43 18 / 9%);
  --cx-ease:cubic-bezier(.2,.75,.25,1);
}
html[data-theme=dark] {
  --cx-glass:rgb(23 26 31 / 91%);
  --cx-surface:#1a1e24;
  --cx-panel:linear-gradient(145deg,#20242a,#161a20);
  --cx-control:#14181e;
  --cx-border:#4d4941;
  --cx-muted-border:#393b3e;
  --cx-gold-soft:#342e23;
  --cx-gold-line:#9f8450;
  --cx-highlight:rgb(255 239 206 / 7%);
  --cx-shadow:inset 0 1px 0 var(--cx-highlight),0 8px 26px rgb(0 0 0 / 18%);
  --cx-raised:inset 0 1px 0 var(--cx-highlight),0 16px 45px rgb(0 0 0 / 28%);
}
body { -webkit-font-smoothing:antialiased; }
::selection { background:var(--gold-fill); color:#171717; }

/* The header remains in document flow; existing anchor and sticky-copy offsets remain valid. */
header {
  width:calc(100% - 48px); max-width:1320px; margin:16px auto 12px;
  padding:17px 24px; border:1px solid var(--cx-border); border-radius:23px;
  background:var(--cx-glass); box-shadow:var(--cx-raised);
}
header .brand { gap:12px; flex-shrink:0; }
header .brand > img { width:58px; height:58px; box-shadow:0 3px 12px #0000000c; }
header .wordmark { font-size:24px; letter-spacing:.15em; }
header .wordmark span { font-size:9px; letter-spacing:.13em; }
header nav { gap:7px; }
header nav > a { padding:10px 11px; border:1px solid transparent; border-radius:12px; }
header nav > .nav-call { padding-right:0; padding-left:12px; }
#language,#theme-toggle { border-radius:12px; border-color:var(--cx-border); background:var(--cx-control); box-shadow:inset 0 1px 0 var(--cx-highlight); }
#theme-toggle { gap:7px; }
html[data-theme=dark] #language,html[data-theme=dark] #theme-toggle { background:var(--cx-control); border-color:var(--cx-border); }
.skip-link { border-radius:10px; box-shadow:var(--cx-raised); }
.hero { border-radius:0 0 32px 32px; }
.hero-copy h1 { letter-spacing:-.045em; }
.hero-contact { min-height:48px; padding:10px 16px; border:1px solid var(--cx-gold-line); border-radius:999px; background:var(--cx-glass); }
.hero-bottom span,.hero-bottom span:last-child { background:var(--cx-glass); border:1px solid var(--cx-border); border-radius:999px; padding:5px 11px; }
html[data-theme=dark] .hero-bottom span,html[data-theme=dark] .hero-bottom span:last-child { background:var(--cx-glass); }
.eyebrow { line-height:1.55; }
.section-heading h2,.fleet-heading h2,.about-heading h2 { letter-spacing:-.045em; }

/* Opaque card interiors keep text and the original illustrations clear. */
.services { gap:18px; }
.services article {
  display:flex; flex-direction:column; padding:26px 22px; border-color:var(--cx-border);
  border-radius:21px; background:var(--cx-panel); box-shadow:var(--cx-shadow);
  transition:border-color .2s,box-shadow .2s,transform .2s var(--cx-ease);
}
.services .number,.trust-grid .number,.payment-steps .number { display:grid; place-items:center; width:35px; height:35px; border:1px solid var(--cx-border); border-radius:11px; background:var(--cx-gold-soft); }
.services h3 { margin-top:18px; }
.services p { min-height:0; margin-bottom:17px; }
.services .service-link { align-self:flex-start; margin-top:auto; }
.fleet { border-color:var(--cx-muted-border); }
.vehicle-gallery,.fleet-config { border-color:var(--cx-border); border-radius:24px; box-shadow:var(--cx-raised); background:var(--cx-surface); }
html[data-theme=dark] .vehicle-gallery { background:var(--cx-surface); }
.fleet-config { padding:28px; }
.fleet-config h3 { font-size:31px; }
.capacity-stats { gap:20px; }
.capacity-stats > div + div { border-color:var(--cx-muted-border); }
.capacity-stats strong { font-variant-numeric:tabular-nums; }
.image-label { border:1px solid #d2c5a5; border-radius:999px; background:#fffffff2; color:#332b1d; padding:6px 10px; }
.gallery-toolbar { padding:18px; }
.gallery-caption-wrap strong { font-weight:600; }
.gallery-controls button { border-color:var(--cx-border); background:var(--cx-control); box-shadow:var(--cx-shadow); }
html[data-theme=dark] .gallery-toolbar button { background:var(--cx-control); border-color:var(--cx-border); }
.gallery-thumbnails { padding:0 18px 18px; gap:9px; }
.gallery-thumb { border:2px solid var(--cx-muted-border); border-radius:12px; background:var(--cx-surface); transition:border-color .18s,box-shadow .18s,background-color .18s; }
.gallery-thumb span { padding:10px 5px; font-size:13px; }
.gallery-thumb[aria-pressed=true] { border:2px solid var(--gold); background:var(--cx-gold-soft); box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 13%,transparent); }
html[data-theme=dark] .gallery-thumb { background:var(--cx-surface); }
html[data-theme=dark] .gallery-thumb[aria-pressed=true] { background:var(--cx-gold-soft); border-color:var(--gold); }
.vehicle-gallery figcaption { border-color:var(--cx-muted-border); padding:15px 18px; }
.fleet-tabs { padding:5px; gap:4px; border:1px solid var(--cx-border); border-radius:14px; background:var(--soft); }
.fleet-tabs button { margin:0; min-height:44px; border:1px solid transparent; border-radius:10px; padding:9px 6px; transition:background-color .18s,border-color .18s,box-shadow .18s; }
.fleet-tabs button[aria-selected=true] { border-color:var(--cx-gold-line); color:var(--ink); background:var(--cx-surface); box-shadow:var(--cx-shadow); }
.fleet-panel { padding-top:22px; }
.seat-plan { border-color:var(--cx-border); box-shadow:inset 0 1px 0 var(--cx-highlight); }
.onboard-list li,.fleet-quote { border-color:var(--cx-muted-border); }
.trust-grid { gap:22px; }
.trust-grid article { border:1px solid var(--cx-border); border-radius:19px; padding:23px; background:var(--cx-panel); box-shadow:var(--cx-shadow); }
.trust-grid h3 { margin-top:17px; }
.trust-grid p { font-size:15px; }

.button { border-radius:13px; transition:background-color .18s,border-color .18s,box-shadow .18s; }
.button.gold { background:linear-gradient(125deg,#e6cd99,#d0b276); color:#21190e; border-color:#c4a366; box-shadow:inset 0 1px 0 #ffffff75,0 5px 15px #8e6c2420; }
.button.outline { background:var(--cx-control); border-color:var(--cx-border); box-shadow:inset 0 1px 0 var(--cx-highlight); }
html[data-theme=dark] .button.outline { background:var(--cx-control); border-color:#756958; }
.button:disabled { box-shadow:none; }
.booking { border-color:var(--cx-muted-border); }
#ride-form {
  padding:31px; border:1px solid var(--cx-border); border-radius:25px;
  background:var(--cx-panel); box-shadow:var(--cx-raised);
}
html[data-theme=dark] #ride-form { background:var(--cx-panel); }
#ride-form[aria-busy=true] { border-color:var(--cx-gold-line); }
.booking-vehicle { border-color:var(--cx-muted-border); padding-bottom:20px; margin-bottom:23px; }
.booking-vehicle img { border-radius:10px; border:1px solid var(--cx-muted-border); }
.booking-vehicle-tag { border-color:var(--cx-gold-line); border-radius:7px; background:var(--cx-gold-soft); }
.step-progress { gap:5px; padding:5px; border:1px solid var(--cx-border); border-radius:16px; background:var(--soft); margin-bottom:27px; }
.step-progress li { min-width:0; padding:10px 8px; gap:8px; font-size:13px; border:1px solid transparent; border-radius:11px; line-height:1.4; }
.step-progress li[aria-current=step] { color:var(--ink); background:var(--cx-surface); border-color:var(--cx-gold-line); box-shadow:var(--cx-shadow); }
.step-number { width:28px; height:28px; color:var(--muted); background:var(--cx-control); border-color:var(--cx-border); }
.step-progress li[aria-current=step] .step-number { color:#21190e; background:var(--gold-fill); border-color:var(--gold-fill); }
.wizard-panel h3,.review h3 { font-size:29px; margin-bottom:19px; }
#ride-form :is(input:not([type=checkbox]),select,textarea) {
  min-height:50px; border:1px solid #a59d8e; border-radius:11px; background:var(--cx-control);
  color:var(--ink); padding:12px 13px; box-shadow:inset 0 1px 2px #332b1810;
  transition:border-color .18s,box-shadow .18s;
}
html[data-theme=dark] #ride-form :is(input:not([type=checkbox]),select,textarea) { border-color:#786f61; }
#ride-form input::placeholder,#ride-form textarea::placeholder { color:var(--muted); opacity:1; }
#ride-form label { gap:8px; }
#ride-form label small { line-height:1.5; }
#ride-form .consent { padding:15px; gap:12px; border-color:var(--cx-border); border-radius:13px; background:var(--cx-control); }
#ride-form .consent input { accent-color:var(--gold); }
#ride-form .consent:has(input:checked) { background:var(--cx-gold-soft); border-color:var(--cx-gold-line); }
.trip-extras,.message-preview { border-color:var(--cx-border); border-radius:13px; background:var(--cx-control); padding-inline:15px; }
.trip-extras > summary,.message-preview summary { min-height:49px; padding-block:13px; }
.trip-extras[open],.message-preview[open] { border-color:var(--cx-gold-line); }
.capacity-feedback { border-radius:12px; background:var(--cx-gold-soft); border-color:var(--cx-gold-line); padding:14px; }
.wizard-actions { gap:12px; margin-top:28px; }
.review-state { display:inline-block; padding:6px 9px; border:1px solid var(--cx-gold-line); border-radius:7px; background:var(--cx-gold-soft); line-height:1.6; }
.review-route { border-color:var(--cx-border); border-radius:17px; padding:21px; }
.review-block { border-color:var(--cx-muted-border); }
.review-facts > div { padding-block:7px; }
.review-confirmation { border:1px solid var(--cx-border); border-radius:12px; padding:16px; line-height:1.65; }
.review pre { border-color:var(--cx-muted-border); border-radius:10px; }
.review-actions { gap:10px; }
.sms-button { border-radius:10px; min-height:48px; }
.form-assurance,.captcha-section { border-color:var(--cx-muted-border); }
#status:not(:empty) { padding:13px 15px; margin:8px 0 14px; border:1px solid var(--cx-gold-line); border-radius:12px; background:var(--cx-gold-soft); color:var(--ink); overflow-wrap:anywhere; }

/* Disclosures retain native open/closed behavior and their full legal copy. */
.contact-links { gap:10px; }
.contact-links a { padding:16px 19px; border:1px solid var(--cx-border); border-radius:15px; background:var(--cx-panel); box-shadow:var(--cx-shadow); }
.contact-links span { font-size:11px; margin-bottom:4px; }
.information { border-color:var(--cx-muted-border); }
.information details { margin:12px 0; padding:0 20px; border:1px solid var(--cx-border); border-radius:15px; background:var(--cx-surface); }
.information summary { margin-left:16px; padding:17px 4px; min-height:58px; }
.information details[open] { border-color:var(--cx-gold-line); box-shadow:var(--cx-shadow); }
.information details > p,.information details > ul { margin-top:0; margin-bottom:20px; }
.information details > p:last-child { margin-bottom:20px; }
.payment-disclosure { padding:0 21px; border:1px solid var(--cx-border); border-radius:17px; background:var(--cx-surface); }
.payment-disclosure > summary { padding:17px 0; min-height:58px; }
.payment-disclosure[open] { padding-bottom:22px; }
.payment-steps article { border-color:var(--cx-muted-border); }
.payment-help { border-color:var(--cx-border); border-radius:17px; }
.cancellation-notice { border-color:var(--cx-border); border-left-color:var(--gold-fill); border-radius:15px; background:var(--cx-panel); }
footer { border-color:var(--cx-muted-border); }
footer > div:last-child > a { text-underline-offset:5px; }
.error-page { background:radial-gradient(ellipse at 70% 10%,var(--cx-gold-soft),transparent 65%),var(--bg); padding:28px 0; }
.error-card { width:min(calc(100% - 32px),720px); border:1px solid var(--cx-border); border-radius:27px; background:var(--cx-panel); box-shadow:var(--cx-raised); padding:45px 36px; }

:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
#ride-form :is(input:not([type=checkbox]),select,textarea):focus-visible { border-color:var(--gold); outline:3px solid var(--gold); outline-offset:3px; }
html[data-theme=dark] #ride-form :is(input:not([type=checkbox]),select,textarea):focus-visible { border-color:var(--gold); }
.gallery-thumb:focus-visible { outline-offset:-5px; }
.gallery-stage:focus-visible { outline:none; }

@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  header,.mobile-menu-links,.mobile-actions { -webkit-backdrop-filter:blur(20px) saturate(110%); backdrop-filter:blur(20px) saturate(110%); }
}
@media (max-width:1100px) {
  header { width:calc(100% - 36px); padding:15px 21px; margin-top:14px; }
  header .brand > img { width:52px; height:52px; }
  header .wordmark { font-size:22px; }
  header nav { gap:8px; }
  .mobile-menu > summary { border-color:var(--cx-border); border-radius:12px; background:var(--cx-control); box-shadow:inset 0 1px 0 var(--cx-highlight); }
  .mobile-menu[open] > summary { background:var(--cx-gold-soft); border-color:var(--gold); }
  .mobile-menu-links {
    left:0; right:0; top:calc(100% + 8px); padding:12px; border-color:var(--cx-border); border-radius:18px;
    background:var(--cx-glass); box-shadow:var(--cx-raised);
    max-height:calc(100dvh - 135px); overflow-y:auto; overscroll-behavior:contain;
  }
  .mobile-menu-links a { padding:12px; border-radius:11px; }
  .services article { padding:23px 19px; }
  .fleet-config { padding:23px; }
  .fleet-config h3 { font-size:29px; }
  #ride-form { padding:29px; }
}
@media (max-width:650px) {
  header { width:calc(100% - 20px); padding:12px; margin:10px auto; gap:8px; border-radius:18px; }
  header .brand { gap:7px; }
  header .brand > img { width:36px; height:36px; }
  header .wordmark { font-size:16px; letter-spacing:.1em; }
  header nav { gap:5px; }
  #language,#theme-toggle { border-radius:11px; }
  .mobile-menu > summary { border-radius:11px; }
  .mobile-menu-links { padding:9px; max-height:calc(100dvh - 105px); }
  .mobile-menu-links a { font-size:15px; min-height:49px; padding:11px 9px; }
  .hero { border-radius:0 0 24px 24px; }
  .hero-contact { padding:10px 14px; margin-top:12px; }
  .hero-bottom span,.hero-bottom span:last-child { padding:4px 8px; }
  .services { gap:13px; }
  .services article { padding:19px 14px; border-radius:17px; }
  .services h3 { margin-top:15px; }
  .services p { font-size:14px; }
  .vehicle-gallery,.fleet-config { border-radius:20px; }
  .fleet-config { padding:22px 16px; }
  .fleet-config h3 { font-size:28px; }
  .gallery-toolbar { padding:13px; }
  .gallery-thumbnails { padding:0 11px 13px; gap:6px; }
  .gallery-thumb { border-radius:9px; }
  .gallery-thumb span { font-size:12px; padding:8px 3px; }
  .vehicle-gallery figcaption { padding:13px; }
  .fleet-tabs { gap:3px; padding:4px; }
  .fleet-tabs button { padding-inline:4px; font-size:13px; }
  .trust-grid { gap:14px; }
  .trust-grid article { padding:20px; border-radius:17px; }
  .trust-grid h3 { margin-top:14px; }
  #ride-form { padding:22px 16px; border-radius:21px; }
  .booking-vehicle { margin-bottom:20px; padding-bottom:17px; }
  .step-progress { gap:4px; padding:4px; margin-bottom:23px; border-radius:14px; }
  .step-progress li { flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; padding:9px 4px; font-size:12px; text-align:center; }
  .wizard-panel h3,.review h3 { font-size:27px; margin-bottom:15px; }
  #ride-form :is(input:not([type=checkbox]),select,textarea) { font-size:16px; padding:11px; min-height:50px; }
  #ride-form label { gap:6px; }
  #ride-form .consent { padding:12px; gap:11px; }
  .wizard-actions { margin-top:22px; gap:9px; }
  .review-route { padding:17px; }
  .review-actions { gap:8px; }
  .contact-links a { padding:15px 16px; }
  .information details { padding-inline:14px; border-radius:13px; }
  .information summary { padding-block:14px; }
  .payment-disclosure { padding-inline:16px; }
  .payment-help { border-radius:14px; }
  .mobile-actions {
    left:10px; right:10px; bottom:max(9px,env(safe-area-inset-bottom)); padding:6px; gap:4px;
    border:1px solid var(--cx-border); border-radius:21px; background:var(--cx-glass); box-shadow:var(--cx-raised);
  }
  .mobile-actions a { min-height:50px; padding:11px 7px; border-radius:14px; }
  .mobile-actions a + a { border-left:0; }
  .mobile-actions a.gold { background:linear-gradient(125deg,#e6cd99,#d0b276); color:#21190e; box-shadow:inset 0 1px 0 #ffffff75; }
  html[data-theme=dark] .mobile-actions { background:var(--cx-glass); }
  html[data-theme=dark] .mobile-actions a.gold { background:linear-gradient(125deg,#e6cd99,#d0b276); color:#21190e; }
  body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  .error-card { padding:32px 23px; border-radius:22px; }
}
@media (max-width:359px) {
  header { padding-inline:10px; gap:4px; }
  header .brand { gap:5px; }
  header .brand > img { width:30px; height:30px; }
  header .wordmark { font-size:14px; }
  header nav { gap:4px; }
  #ride-form { padding:20px 13px; }
  .mobile-actions { left:7px; right:7px; padding:5px; gap:2px; }
  .mobile-actions a { font-size:13px; }
}
@media (hover:hover) and (pointer:fine) {
  header nav > a:hover { background:var(--cx-gold-soft); border-color:var(--cx-border); }
  .button.gold:not(:disabled):hover { background:linear-gradient(125deg,#ecd7ad,#d9bc81); box-shadow:inset 0 1px 0 #ffffff85,0 7px 20px #8e6c2429; }
  .button.outline:not(:disabled):hover { background:var(--cx-gold-soft); border-color:var(--cx-gold-line); }
  .services article:hover { transform:translateY(-3px); border-color:var(--cx-gold-line); box-shadow:var(--cx-raised); }
  .gallery-thumb:not([aria-pressed=true]):hover { border-color:var(--cx-gold-line); }
  .gallery-controls button:hover,.fleet-tabs button:not([aria-selected=true]):hover { background:var(--cx-gold-soft); }
  .contact-links a:hover { border-color:var(--cx-gold-line); }
  .sms-button:hover { background:var(--soft); }
  footer > div:last-child > a:hover { text-decoration:underline; color:var(--gold); }
}
@media (prefers-reduced-transparency:reduce) {
  header,.mobile-menu-links,.mobile-actions,html[data-theme=dark] .mobile-actions { background:var(--cx-surface); -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media (prefers-contrast:more) {
  header,.services article,.fleet-config,.vehicle-gallery,#ride-form,.information details { border-color:var(--gold); }
  .gallery-thumb[aria-pressed=true] { box-shadow:0 0 0 2px var(--gold); }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .services article:hover { transform:none; }
}

/* Image preparation and selected tabs remain entirely within the existing UI. */
.gallery-stage.media-unavailable #vehicle-photo { visibility:hidden; }
.gallery-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0 18px; color:var(--muted); }
.gallery-feedback:not([data-state="idle"]) { padding-bottom:14px; }
.gallery-status { font-size:13px; line-height:1.55; }
.gallery-retry { min-height:44px; padding:8px 12px; border:1px solid var(--cx-gold-line); border-radius:10px; background:var(--cx-control); color:var(--ink); font:inherit; font-size:13px; cursor:pointer; }
.gallery-retry[aria-disabled="true"] { opacity:.65; cursor:wait; }
.gallery-thumb[aria-busy="true"] { border-color:var(--gold); border-style:dashed; cursor:progress; }
.fleet-tabs.has-tab-indicator { --fleet-tab:0; --fleet-gap:4px; --fleet-pad:5px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:relative; isolation:isolate; gap:var(--fleet-gap); padding:var(--fleet-pad); }
.fleet-tabs.has-tab-indicator::before { content:""; position:absolute; top:var(--fleet-pad); bottom:var(--fleet-pad); left:var(--fleet-pad); width:calc((100% - 2 * var(--fleet-pad) - 2 * var(--fleet-gap)) / 3); border:1px solid var(--cx-gold-line); border-radius:10px; background:var(--cx-surface); box-shadow:var(--cx-shadow); transform:translateX(calc(var(--fleet-tab) * (100% + var(--fleet-gap)))); transition:transform 230ms cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.fleet-tabs.has-tab-indicator button { position:relative; z-index:1; min-width:0; }
.fleet-tabs.has-tab-indicator button[aria-selected="true"] { border-color:transparent; background:transparent; box-shadow:none; }
.fleet-tabs.has-tab-indicator[data-active-tab="1"] { --fleet-tab:1; }
.fleet-tabs.has-tab-indicator[data-active-tab="2"] { --fleet-tab:2; }
@media (max-width:650px) {
  .fleet-tabs.has-tab-indicator { --fleet-gap:3px; --fleet-pad:4px; }
  .gallery-feedback { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .fleet-tabs.has-tab-indicator::before { transition:none; }
}

/* The vehicle illustration links to capacity and gallery details. */
.fleet-pass {
 position:absolute;right:6%;bottom:22px;display:grid;grid-template-columns:74px minmax(0,1fr) 32px;align-items:center;gap:12px;
 max-width:calc(100% - 32px);padding:9px 13px 9px 9px;text-decoration:none;color:#fff7e7;
 border:1px solid #a18b61;border-radius:17px;background:#242321;
 box-shadow:inset 0 1px 0 rgb(255 239 206 / 19%),0 8px 24px rgb(0 0 0 / 18%);
}
.fleet-pass img {width:74px;height:57px;object-fit:cover;border:1px solid #8f8169;border-radius:10px}
.fleet-pass-copy {display:grid;gap:3px;text-align:left}
.fleet-pass-copy small {color:#e8c995;font-size:.59rem;letter-spacing:.13em;line-height:1.4;font-weight:700}
.fleet-pass-copy strong {color:#fff7e7;font-size:.99rem;line-height:1.23}
.fleet-pass-copy>span {color:#ddd5c6;font-size:.77rem;line-height:1.35}
.fleet-pass-arrow {display:grid;place-items:center;width:30px;height:30px;border:1px solid #918065;border-radius:50%;color:#f2d79e;font-size:1.1rem}
.fleet-pass:focus-visible {outline:3px solid #f7da98;outline-offset:3px;box-shadow:0 0 0 6px #242321}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .fleet-pass {background:linear-gradient(115deg,rgb(44 42 37 / 90%),rgb(26 26 26 / 91%));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
}
@media(hover:hover) and (pointer:fine) {.fleet-pass:hover{border-color:#e8c995}.fleet-pass:hover .fleet-pass-copy>span{text-decoration:underline;text-underline-offset:3px}}
@media(max-width:650px){.fleet-pass{right:16px;left:16px;bottom:16px;max-width:390px;grid-template-columns:60px minmax(0,1fr) 29px;gap:10px}.fleet-pass img{width:60px;height:52px}}
@media(max-height:500px) and (min-width:651px) and (max-width:1100px){.hero-copy{padding-bottom:100px}}
.step-progress li[data-phase=complete] .step-number {position:relative;color:transparent;background:var(--cx-control);border-color:var(--cx-gold-line)}
.step-progress li[data-phase=complete] .step-number::after {content:"";display:block;width:9px;height:5px;position:absolute;left:50%;top:44%;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translate(-50%,-50%) rotate(-45deg)}
.step-progress li[aria-current=step] {border-bottom:3px solid var(--gold);font-weight:700}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.fleet-pass{background:#242321;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#f2d79e}}
@media(forced-colors:active){.fleet-pass-copy :is(strong,small,span),.fleet-pass-arrow{color:LinkText}.step-progress li[data-phase=complete] .step-number::after{border-color:CanvasText}.step-progress li[aria-current=step]{border-color:Highlight}}
