@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#142440;--paper:#f4f6fa;--accent:#c5a36b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.preview{text-align:center;background:#e3e8f0;padding:7px 16px;font-size:13px}header{display:flex;align-items:center;justify-content:space-between;padding:30px 6%;border-bottom:1px solid #14244026}.brand{font-size:29px;letter-spacing:6px;line-height:1.1}.brand span{display:block;font-size:10px;letter-spacing:3.3px;margin-top:8px}nav{display:flex;gap:35px;align-items:center;font-size:14px}.navbutton{border:1px solid #14244055;padding:11px 20px}.hero{padding:70px 6% 0;background:var(--ink);color:var(--paper)}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:600}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,7.6vw,110px);line-height:1.1;letter-spacing:-2px;margin:28px 0 35px}h1 em{font-weight:400;color:#d7bc8f}.herobottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:60px}.herobottom p{color:#d1dbea;line-height:1.8}.button{background:var(--accent);color:var(--ink);border:0;display:flex;justify-content:space-between;align-items:center;gap:45px;padding:17px 25px;font-weight:600;cursor:pointer}.button:hover{background:#d7bc8f}.rule{border-top:1px solid #ffffff30;padding:20px 0;display:flex;gap:50px;letter-spacing:2px;font-size:12px}.services{padding:85px 6%;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:55px}h2{font-size:44px;line-height:1.18;margin-top:20px}.number{font-size:12px;letter-spacing:1.5px;color:#58677e}h3{font-size:27px;line-height:1.3;margin:18px 0}.services p{color:#526079;font-size:15px;margin-bottom:22px}.services article a{font-size:14px;border-bottom:1px solid #8c9ab0;padding-bottom:5px}.booking{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding:80px 6%;background:#e6ebf3}.intro h2{font-size:60px}.intro p{max-width:350px;margin-top:25px;color:#526079}.intro ol{padding-left:22px;margin-top:36px}.intro li{padding:10px 0}form{background:#fff;padding:32px}.formhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.formhead h3{margin:0 0 25px}.formhead span{font-size:10px;letter-spacing:1px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px}label span{color:#68738a;font-size:12px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cbd3df;background:#fff;border-radius:0;padding:11px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.wide{grid-column:1/-1}form .button{width:100%;margin-top:24px}.note{font-size:12px;color:#5a6780;margin-top:14px}#review{margin-top:24px;border-top:1px solid #ccd5e2}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px}#review p{font-size:14px}#copy{margin-top:15px;padding:10px;cursor:pointer}#copied{font-size:14px;margin-left:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:45px 6%}footer p,footer>span{font-size:13px;color:#526079}:focus-visible{outline:3px solid #98753d;outline-offset:4px}@media(max-width:800px){.services{grid-template-columns:1fr;gap:35px;padding:50px 6%}.booking{grid-template-columns:1fr;gap:35px;padding:50px 6%}.herobottom{align-items:start;flex-direction:column}.hero{padding-top:45px}nav>a:first-child{display:none}.navbutton{font-size:12px;padding:8px 12px}header{gap:20px}.brand{font-size:24px}.brand span{font-size:9px;letter-spacing:2.4px}.rule{gap:20px;font-size:10px}footer{flex-wrap:wrap}.intro h2{font-size:48px}form{padding:22px}.formhead span{display:none}}@media(max-width:400px){.grid{grid-template-columns:1fr}.wide{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#theme-toggle{border:1px solid #8593aa;background:transparent;color:inherit;padding:11px 15px;cursor:pointer;font-size:14px;white-space:nowrap}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] body{background:#090b10;color:#eef2f8}
html[data-theme="dark"] .preview{background:#13161c;color:#c6cad2}
html[data-theme="dark"] header{border-color:#303641}
html[data-theme="dark"] .navbutton{border-color:#71829e}
html[data-theme="dark"] .hero{background:#0b1019;color:#f4f6fa}
html[data-theme="dark"] .booking{background:#0d1119}
html[data-theme="dark"] form{background:#171c25}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0b1017;border-color:#46505f;color:#f1f4fa}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#a8afb9;opacity:1}
html[data-theme="dark"] .number,html[data-theme="dark"] .services p,html[data-theme="dark"] .intro p,html[data-theme="dark"] label span,html[data-theme="dark"] .note,html[data-theme="dark"] footer p,html[data-theme="dark"] footer>span{color:#b9bec8}
html[data-theme="dark"] #review{border-color:#63799a}
html[data-theme="dark"] #copy{background:#1d2530;color:#f1f4fa;border:1px solid #576476}
html[data-theme="dark"] :focus-visible{outline-color:#e0bc7d}
@media(max-width:800px){header{flex-wrap:wrap}nav{gap:12px;flex-wrap:wrap}#theme-toggle{padding:8px 12px}}

.brand .wordmark{display:flex;align-items:center;font-size:29px;letter-spacing:6px;line-height:1;margin:0}
.brand .brand-subtitle{margin-top:7px}
.solar-o{width:35px;height:35px;margin:-3px 2px -3px -3px;flex-shrink:0;overflow:visible}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:650px;padding-top:75px}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-3}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,8,14,.96) 0%,rgba(5,8,14,.86) 28%,rgba(5,8,14,.25) 69%,rgba(5,8,14,.08) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,8,14,.96),transparent 45%)}
.hero-content{position:relative}
.hero h1{font-size:clamp(48px,6.2vw,89px);max-width:850px}
.herobottom{display:block;padding-bottom:65px}.herobottom p{max-width:510px;color:#e0e7f2;text-shadow:0 1px 8px #08142a}
.herobottom .button{display:inline-flex;margin-top:28px;min-width:210px}
@media(max-width:800px){.brand .wordmark{font-size:24px}.solar-o{width:30px;height:30px}.hero{padding-top:48px;min-height:690px}.hero-image{object-position:65% center}.hero::before{background:linear-gradient(90deg,rgba(5,8,14,.92),rgba(5,8,14,.4))}.hero h1{font-size:clamp(44px,8vw,64px)}.herobottom{padding-bottom:80px}.herobottom p{max-width:370px}}

/* Layered charcoal surfaces with restrained midnight-blue light. */
html[data-theme="dark"] body{background:#090b10}
html[data-theme="dark"] header{background:linear-gradient(115deg,#080a0e 15%,#121925 78%,#0b1017);border-bottom:1px solid #c5a36b35}
html[data-theme="dark"] .preview{background:#080a0e;color:#aeb4bd;border-bottom:1px solid #ffffff0b}
html[data-theme="dark"] .services{background:radial-gradient(ellipse at 0% 5%,#17213188,transparent 60%),linear-gradient(115deg,#101319,#080a0e 75%);border-bottom:1px solid #c5a36b25}
html[data-theme="dark"] .booking{background:radial-gradient(ellipse at 95% 80%,#1b2b4255,transparent 60%),linear-gradient(145deg,#080a0e 15%,#111720 70%,#090c11)}
html[data-theme="dark"] form{background:linear-gradient(135deg,#1c222c,#11151c 75%);border:1px solid #b7a17a33;box-shadow:0 24px 65px #00000045,inset 0 1px 0 #ffffff06}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0b0e14;border-color:#3d4653}
html[data-theme="dark"] footer{background:linear-gradient(110deg,#080a0d,#101620);border-top:1px solid #c5a36b25}
html[data-theme="dark"] .button{background:linear-gradient(115deg,#ddc08a,#bc985c);box-shadow:0 4px 18px #00000020}
html[data-theme="dark"] .button:hover{background:linear-gradient(115deg,#e6cd9d,#caaa71)}
html[data-theme="dark"] .services .eyebrow,html[data-theme="dark"] .intro .eyebrow{color:#c5a36b}

/* Discreet header switch; the full dark palette remains available. */
#theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;border-radius:50%;flex-shrink:0}
.theme-track{display:block;width:28px;height:16px;padding:3px;border-radius:20px;background:#14244024;transition:background .2s}
.theme-thumb{display:block;width:10px;height:10px;border-radius:50%;background:#68738a;transition:transform .2s,background .2s}
#theme-toggle:hover .theme-track{background:#14244040}
#theme-toggle[aria-checked="true"] .theme-track{background:#c5a36b40}
#theme-toggle[aria-checked="true"] .theme-thumb{transform:translateX(12px);background:#c5a36b}
@media(prefers-reduced-motion:reduce){.theme-track,.theme-thumb{transition:none}}

/* Guided ride inquiry, preserving the Solara palette. */
[hidden]{display:none!important}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;font-size:14px}.steps span{border-bottom:2px solid #cbd3df;padding:0 0 12px}.steps [aria-current]{border-color:#98753d;font-weight:600}.steps .complete{border-color:#c5a36b}fieldset{border:0;padding:0;margin:22px 0 0;min-width:0}legend{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.2;padding:0;margin-bottom:14px;width:100%}.step-description{font-size:16px;margin-bottom:24px;color:#526079}.flow-actions{display:flex;gap:16px;align-items:center;margin-top:28px}.flow-actions .button{margin:0;flex:1;justify-content:center;gap:8px}#back,.edit-step{border:1px solid #8593aa;color:inherit;background:transparent;padding:14px 20px;cursor:pointer;min-height:48px}.note,label span{font-size:14px}.summary-group{padding:18px 0;border-bottom:1px solid #cbd3df}.summary-group h4{margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}.edit-step{padding:5px 12px;font-size:14px;min-height:44px}.summary-group dl{margin:0}.summary-group dt{font-size:14px;color:#526079;margin-top:10px}.summary-group dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}html[data-theme="dark"] .step-description,html[data-theme="dark"] .summary-group dt{color:#b9bec8}html[data-theme="dark"] .steps span,html[data-theme="dark"] .summary-group{border-color:#46505f}html[data-theme="dark"] .steps [aria-current]{border-color:#c5a36b}@media(max-width:500px){.steps{font-size:14px;gap:5px}.booking form{padding:22px 16px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}legend{font-size:27px}}

.field-title{font-size:16px;margin-bottom:8px}.date-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.date-controls label{font-size:14px}#passenger-fields{border-top:1px solid #8593aa55;padding-top:20px}input,select,textarea{font-size:16px}

.address-field{position:relative;min-width:0}.address-field ul{list-style:none;margin:0;padding:0;border:1px solid #8593aa;background:#fff;max-height:300px;overflow:auto}.address-field li{padding:12px 14px;border-bottom:1px solid #8593aa40;cursor:pointer;font-size:16px}.address-field li:hover,.address-field li[aria-selected="true"]{background:#e6ebf3}.note a{text-decoration:underline}html[data-theme="dark"] .address-field ul{background:#171c25}html[data-theme="dark"] .address-field li:hover,html[data-theme="dark"] .address-field li[aria-selected="true"]{background:#303b4d}

/* Two-line location suggestions; full address remains the selected value. */
.address-field .location-title{display:block;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.address-field .location-detail{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:#526079;overflow-wrap:anywhere}
.address-field .location-hint{display:block;margin-top:5px;font-size:13px;color:#715522}
html[data-theme="dark"] .address-field .location-detail{color:#b9bec8}
html[data-theme="dark"] .address-field .location-hint{color:#ddc08a}
.trip-outline{font-size:14px;color:#526079;margin:0 0 12px}.trip-outline span{margin:0 7px;color:#98753d}.trip-heading{font-family:inherit;font-size:18px;margin:0 0 3px;font-weight:600}.trip-reveal{margin:10px 0 0;padding-top:22px;border-top:1px solid #8593aa55;animation:trip-appear .22s ease-out}.unit-field input{margin-bottom:4px}#direction-hint{display:block;margin-top:6px;font-size:13px}.trip-outline+ .note{margin-bottom:20px}html[data-theme="dark"] .trip-outline{color:#b9bec8}@keyframes trip-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.trip-reveal{animation:none}}
/* Stable Trip layout: only the rider's service choice changes core fields. */
.ride-modes{display:flex;gap:4px;border:1px solid #8593aa66;padding:4px;margin:0 0 24px;border-radius:8px}.ride-modes label{flex:1;position:relative;cursor:pointer}.ride-modes input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0}.ride-modes span{display:block;text-align:center;padding:12px;font-size:16px;border-radius:5px;color:inherit}.ride-modes input:checked+span{background:#142440;color:#fff;font-weight:600}.ride-modes input:focus-visible+span{outline:3px solid #98753d;outline-offset:2px}.location-details{margin-top:8px}.location-details summary,.optional-panel summary{cursor:pointer;font-size:14px;color:#526079;padding:6px 0}.location-details[open] label,.optional-panel[open] label{margin-top:12px}.optional-panel{border-top:1px solid #8593aa40;padding-top:8px}html[data-theme="dark"] .ride-modes input:checked+span{background:#c5a36b;color:#142440}html[data-theme="dark"] .location-details summary,html[data-theme="dark"] .optional-panel summary{color:#c2c9d4}

/* Vehicle preference: a calm choice surface within the existing four-step flow. */
.vehicle-trip{background:#f4f6fa;border:1px solid #d6dee9;border-radius:8px;padding:16px 18px;margin-bottom:22px}.vehicle-trip-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.vehicle-trip-top strong{font-size:14px}.vehicle-trip-top button{border:0;border-bottom:1px solid #9d855e;padding:7px 0;background:none;color:inherit;cursor:pointer;font-size:14px;min-height:44px}.vehicle-trip dl{margin:10px 0 0}.vehicle-trip dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px;margin-top:7px}.vehicle-trip dt{font-size:13px;color:#617088}.vehicle-trip dd{margin:0;font-size:14px;overflow-wrap:anywhere;line-height:1.55}.vehicle-photo{margin:0 0 24px}.vehicle-photo img{width:100%;height:190px;object-fit:cover;object-position:center 64%;display:block;border-radius:8px}.vehicle-photo figcaption{font-size:12px;color:#617088;line-height:1.6;margin-top:8px}.vehicle-party{gap:12px 18px}.vehicle-party .note{margin:0}.vehicle-choice-heading{font-family:inherit;font-size:18px;font-weight:600;margin:26px 0 6px}.vehicle-capacity-note{margin-top:0;margin-bottom:16px;line-height:1.65}.vehicle-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-choice{position:relative;cursor:pointer;min-width:0}.vehicle-choice input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.vehicle-choice-body{display:flex;flex-direction:column;height:100%;padding:19px 16px;border:1px solid #cbd3df;border-radius:8px;background:#fff;transition:border-color .18s,background .18s;min-height:190px}.vehicle-choice-top{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.vehicle-choice-top strong{font-size:18px;color:var(--ink);line-height:1.35;font-weight:600}.vehicle-choice .vehicle-check{flex-shrink:0;width:21px;height:21px;display:grid;place-items:center;border:1px solid #b7c1d1;border-radius:50%;font-size:12px;color:transparent}.vehicle-choice .vehicle-tagline{font-size:14px;line-height:1.6;color:#526079;display:block;margin-top:11px}.vehicle-choice .vehicle-capacity{font-size:14px;line-height:1.7;color:#526079;display:block;margin-top:13px}.vehicle-choice .vehicle-selection-label{font-size:13px;color:#715522;display:block;margin-top:auto;padding-top:16px;font-weight:600}.vehicle-choice input:checked+.vehicle-choice-body{background:#f6f1e7;border-color:#98753d;box-shadow:inset 0 0 0 1px #98753d}.vehicle-choice input:checked+.vehicle-choice-body .vehicle-check{background:#142440;border-color:#142440;color:#fff}.vehicle-choice input:focus-visible+.vehicle-choice-body{outline:3px solid #98753d;outline-offset:3px}.vehicle-choice:hover .vehicle-choice-body{border-color:#98753d}.vehicle-help{grid-column:1/-1}.vehicle-help .vehicle-choice-body{min-height:auto}.vehicle-help .vehicle-tagline{margin-top:3px}.vehicle-help .vehicle-selection-label{padding-top:9px}.vehicle-fit{padding:13px 16px;background:#f8f2e6;border-left:3px solid #a27b34;color:#654b22;font-size:14px;line-height:1.65;margin-top:18px}.vehicle-error{font-size:14px;color:#9e302c;margin-top:14px}.vehicle-needs{margin-top:24px}.vehicle-selection-status{font-size:14px;line-height:1.6;padding-top:20px;color:#526079}
html[data-theme="dark"] .vehicle-trip{background:#0d131d;border-color:#3d4653}html[data-theme="dark"] .vehicle-trip dt,html[data-theme="dark"] .vehicle-photo figcaption,html[data-theme="dark"] .vehicle-selection-status{color:#b9bec8}html[data-theme="dark"] .vehicle-choice-body{background:#111720;border-color:#46505f}html[data-theme="dark"] .vehicle-choice-top strong{color:#f1f4fa}html[data-theme="dark"] .vehicle-choice .vehicle-tagline,html[data-theme="dark"] .vehicle-choice .vehicle-capacity{color:#b9c5d5}html[data-theme="dark"] .vehicle-choice .vehicle-selection-label{color:#ddc08a}html[data-theme="dark"] .vehicle-choice input:checked+.vehicle-choice-body{background:#302b22;border-color:#ddc08a;box-shadow:inset 0 0 0 1px #ddc08a}html[data-theme="dark"] .vehicle-choice input:checked+.vehicle-choice-body .vehicle-check{background:#ddc08a;border-color:#ddc08a;color:#142440}html[data-theme="dark"] .vehicle-fit{background:#292317;color:#ead4ac}html[data-theme="dark"] .vehicle-error{color:#ffb5ad}html[data-theme="dark"] .vehicle-choice input:focus-visible+.vehicle-choice-body{outline-color:#ddc08a}@media(max-width:1100px) and (min-width:801px){.vehicle-choices{grid-template-columns:1fr}.vehicle-choice-body{min-height:auto}}@media(max-width:500px){.vehicle-choices{grid-template-columns:1fr}.vehicle-choice-body{min-height:auto}.vehicle-trip{padding:13px}.vehicle-trip dl>div{grid-template-columns:1fr;gap:1px;margin-top:10px}.vehicle-photo img{height:160px}.vehicle-party{grid-template-columns:1fr 1fr}.vehicle-party .wide{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.vehicle-choice-body{transition:none}}

/* Solara booking: one focused surface, with detail on demand. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.modern-booking{--form-ink:#172233;--form-muted:#5e6c80;--form-line:#e0e5ec;--form-soft:#f5f7fa;--form-surface:#fff;--form-accent:#53657c;display:block;padding:55px 24px 80px;background:radial-gradient(ellipse at 50% 0,#e6edf6,transparent 70%),#f3f5f8;color:var(--form-ink)}
.booking-intro{max-width:800px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 7px}.booking-intro .eyebrow{letter-spacing:.18em;font-size:12px;color:var(--form-ink)}.booking-intro .eyebrow span{margin:0 10px;color:#a5aeb9}.booking-intro p{font-size:13px;color:var(--form-muted)}
.modern-booking form{max-width:800px;margin:auto;background:var(--form-surface);border:1px solid var(--form-line);border-radius:26px;padding:30px 48px 24px;box-shadow:0 18px 55px #13274308,0 2px 8px #13274303;scroll-margin-top:20px}
.modern-booking .form-icon{display:inline-block;vertical-align:middle;flex-shrink:0;width:20px;height:20px;pointer-events:none}
.modern-booking form>nav{display:block}
.modern-booking .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 0 23px;margin:0;border-bottom:1px solid var(--form-line);list-style:none;font-size:14px}.modern-booking .steps li{display:flex;justify-content:center;align-items:center;gap:8px;position:relative;color:#778294;min-height:38px;padding:0;border:0}.modern-booking .steps span{padding:0;border:0;font-size:14px}.modern-booking .steps .step-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:transparent;color:#8190a3}.modern-booking .steps .form-icon{width:17px;height:17px}.modern-booking .steps [aria-current]{font-weight:600;color:var(--form-ink)}.modern-booking .steps [aria-current] .step-icon{background:var(--form-ink);color:var(--form-surface)}.modern-booking .steps [aria-current]:after{content:'';position:absolute;bottom:-24px;left:18%;right:18%;height:2px;background:var(--form-accent);border-radius:2px}.modern-booking .steps .complete .step-icon{color:var(--form-accent)}
.modern-booking fieldset{margin:29px 0 0}.modern-booking fieldset:not([hidden]){animation:form-step-in .24s ease-out}.modern-booking legend{font-family:'DM Sans',sans-serif;font-size:32px;font-weight:500;letter-spacing:-.045em;line-height:1.18;margin:0 0 9px;color:var(--form-ink)}.modern-booking legend:focus{outline:none}.modern-booking .step-description{font-size:16px;line-height:1.6;color:var(--form-muted);margin:0 0 26px}.modern-booking .grid{gap:20px}.modern-booking label{font-size:14px;font-weight:500;color:var(--form-ink)}.modern-booking label>span{font-weight:400;font-size:13px;color:var(--form-muted)}
.modern-booking input,.modern-booking select,.modern-booking textarea{border:1px solid var(--form-line);border-radius:11px;background:var(--form-soft);color:var(--form-ink);padding:13px 15px;margin-top:8px;font-size:16px;font-weight:400;line-height:1.5;min-height:52px;transition:border-color .16s,box-shadow .16s,background .16s}.modern-booking input::placeholder,.modern-booking textarea::placeholder{color:#8994a5;opacity:1}.modern-booking input:focus,.modern-booking select:focus,.modern-booking textarea:focus{outline:none;border-color:#aa895a;box-shadow:0 0 0 3px #aa895a12;background:var(--form-surface)}.modern-booking .field-control{display:block;position:relative;margin-top:8px}.modern-booking .field-control>input{padding-left:44px;margin-top:0}.modern-booking .field-control>.form-icon{position:absolute;top:16px;left:15px;color:#8592a4;width:19px;height:19px}.modern-booking .field-control:focus-within>.form-icon{color:var(--form-accent)}
.modern-booking .ride-modes{max-width:100%;margin:0 0 25px;padding:4px;border:1px solid var(--form-line);border-radius:13px;background:var(--form-soft);gap:4px}.modern-booking .ride-modes input{min-height:0}.modern-booking .ride-modes span{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:450;font-size:15px;padding:11px 15px;border-radius:9px;transition:background .18s,color .18s,box-shadow .18s}.modern-booking .ride-modes span>.form-icon{width:17px;height:17px;color:inherit}.modern-booking .ride-modes input:checked+span{background:var(--form-surface);color:var(--form-ink);box-shadow:0 2px 5px #152a4312,inset 0 0 0 1px var(--form-line);font-weight:600}.modern-booking .ride-modes input:focus-visible+span{outline:2px solid var(--form-accent);outline-offset:2px}
.modern-booking .note{font-size:13px;color:var(--form-muted);line-height:1.65}.modern-booking .address-status{margin-top:7px}.modern-booking .address-field ul{border:1px solid var(--form-line);border-radius:12px;margin-top:7px;box-shadow:0 12px 28px #1529400c;background:var(--form-surface);max-height:285px;scrollbar-width:thin}.modern-booking .address-field li{padding:13px 17px;border-bottom:1px solid var(--form-line);font-size:16px;transition:background .12s}.modern-booking .address-field li:last-child{border-bottom:0}.modern-booking .address-field li:hover,.modern-booking .address-field li[aria-selected=true]{background:var(--form-soft)}.modern-booking .location-title{font-weight:500}.modern-booking .location-detail{font-size:14px;color:var(--form-muted)}
.modern-booking .location-details{margin-top:5px}.modern-booking .location-details summary{display:flex;align-items:center;gap:5px;padding:6px 0;list-style:none;font-size:13px;color:var(--form-muted);font-weight:450;width:fit-content}.modern-booking .location-details summary::-webkit-details-marker{display:none}.modern-booking .location-details summary>.form-icon{width:14px;height:14px}.modern-booking .location-details[open] summary>.form-icon{transform:rotate(45deg)}
.modern-booking .trip-extras{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:3px;align-items:start}.modern-booking .optional-panel{border:1px solid var(--form-line);border-radius:11px;padding:0;background:transparent}.modern-booking .optional-panel summary{display:flex;align-items:center;gap:8px;padding:13px 14px;font-size:14px;font-weight:450;color:var(--form-ink);list-style:none;min-height:48px;cursor:pointer}.modern-booking .optional-panel summary::-webkit-details-marker{display:none}.modern-booking .optional-panel summary span{font-size:12px;font-weight:400;color:var(--form-muted);margin-left:auto}.modern-booking .optional-panel summary>.form-icon{width:17px;height:17px;color:#8391a4}.modern-booking .optional-panel summary>.form-icon:last-child{width:14px;height:14px}.modern-booking .optional-panel[open] summary>.form-icon:last-child{transform:rotate(45deg)}.modern-booking .optional-panel[open]{padding-bottom:15px;background:var(--form-soft)}.modern-booking .optional-panel>label,.modern-booking .optional-panel>p{margin:0 15px 9px}.modern-booking .optional-panel[open]>label{margin-top:4px}.modern-booking #flight-fields{padding-top:0}.modern-booking #direction-hint{font-size:13px;margin:0 15px 10px}
.modern-booking .search-credit{font-size:12px;margin:0}.modern-booking .search-privacy{margin-top:-15px;font-size:12px;color:var(--form-muted)}.modern-booking .search-privacy summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px;width:fit-content}.modern-booking .search-privacy summary::-webkit-details-marker{display:none}.modern-booking .search-privacy p{margin-top:8px}
.modern-booking .vehicle-trip{margin:0 0 22px;border:1px solid var(--form-line);border-radius:13px;padding:0;background:var(--form-soft)}.modern-booking .vehicle-trip>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:14px 16px}.modern-booking .vehicle-trip>summary::-webkit-details-marker{display:none}.modern-booking .recap-symbol{color:var(--form-accent)}.modern-booking .recap-copy{min-width:0;flex:1}.modern-booking .recap-copy strong{font-size:14px;line-height:1.5;font-weight:500;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modern-booking .recap-copy>span{display:block;font-size:12px;line-height:1.6;color:var(--form-muted);margin-top:3px}.modern-booking .vehicle-trip>summary>.form-icon{color:#8c96a7;width:16px;height:16px;transition:transform .18s}.modern-booking .vehicle-trip[open]>summary>.form-icon{transform:rotate(180deg)}.modern-booking .vehicle-trip-content{padding:0 16px 16px;border-top:1px solid var(--form-line)}.modern-booking .vehicle-trip-top{margin-top:6px}.modern-booking .vehicle-trip-top button{font-size:13px;padding:5px 0;color:var(--form-ink)}.modern-booking .vehicle-trip dt{color:var(--form-muted)}
.modern-booking .vehicle-party{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modern-booking .party-counter>label{display:flex;align-items:center;gap:8px;margin-bottom:10px}.modern-booking .party-counter>label>.form-icon{width:17px;height:17px;color:#8391a4}.modern-booking .counter-control{display:flex;align-items:center;background:var(--form-soft);border:1px solid var(--form-line);border-radius:12px;padding:4px}.modern-booking .counter-control button{width:42px;height:42px;flex-shrink:0;padding:0;border:0;border-radius:8px;background:var(--form-surface);display:grid;place-items:center;color:var(--form-ink);cursor:pointer;box-shadow:0 1px 3px #13274308;transition:background .16s}.modern-booking .counter-control button:disabled{opacity:.3;cursor:default;box-shadow:none;background:transparent}.modern-booking .counter-control button:not(:disabled):hover{background:#dfe6ed}.modern-booking .counter-control button>.form-icon{width:17px;height:17px}.modern-booking .counter-control input{border:0;margin:0;min-height:42px;height:42px;background:transparent;border-radius:6px;padding:0 4px;text-align:center;font-size:18px;-moz-appearance:textfield;appearance:textfield}.modern-booking .counter-control input::-webkit-inner-spin-button,.modern-booking .counter-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modern-booking .party-guide{margin:9px 0 23px;font-size:13px}
.modern-booking .vehicle-choice-heading{font-family:inherit;font-size:15px;letter-spacing:0;font-weight:500;margin:0 0 5px}.modern-booking .vehicle-capacity-note{font-size:13px;line-height:1.6;margin:0 0 15px}.modern-booking .vehicle-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modern-booking .vehicle-choice input{min-height:0}.modern-booking .vehicle-choice-body{min-height:168px;display:flex;flex-direction:column;padding:18px 18px 14px;border:1px solid var(--form-line);border-radius:13px;background:var(--form-surface);box-shadow:none;transition:border-color .18s,box-shadow .18s,background .18s}.modern-booking .vehicle-choice-top{display:flex;align-items:center;gap:9px!important}.modern-booking .vehicle-symbol{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:var(--form-soft);color:#7b899b}.modern-booking .vehicle-symbol>.form-icon{width:20px;height:20px}.modern-booking .vehicle-choice-top strong{flex:1;font-family:inherit;font-weight:600;font-size:18px;color:var(--form-ink)}.modern-booking .vehicle-choice .vehicle-check{width:19px;height:19px;border-color:#c6cfdb}.modern-booking .vehicle-check>.form-icon{width:12px;height:12px}.modern-booking .vehicle-choice .vehicle-capacity{display:flex;flex-direction:column;gap:7px;margin:16px 0 0;font-size:14px;font-weight:400;color:var(--form-muted)}.modern-booking .vehicle-capacity>span{display:flex;align-items:center;gap:7px;font-size:14px;color:inherit}.modern-booking .vehicle-capacity .form-icon{width:15px;height:15px;color:#8795a8}.modern-booking .vehicle-choice .vehicle-selection-label{align-self:flex-end;font-size:12px;color:var(--form-muted);margin-top:auto;padding-top:8px;font-weight:450}.modern-booking .vehicle-choice input:checked+.vehicle-choice-body{border-color:#a0865e;background:#fbfaf7;box-shadow:inset 0 0 0 1px #a0865e}.modern-booking .vehicle-choice input:checked+.vehicle-choice-body .vehicle-check{background:var(--form-ink);border-color:var(--form-ink);color:var(--form-surface)}.modern-booking .vehicle-choice input:checked+.vehicle-choice-body .vehicle-selection-label{color:var(--form-accent);font-weight:600}.modern-booking .vehicle-choice input:focus-visible+.vehicle-choice-body{outline:3px solid #aa895a;outline-offset:3px}.modern-booking .vehicle-help .vehicle-choice-body{min-height:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:13px 18px}.modern-booking .vehicle-help .vehicle-choice-top{grid-column:1/-1}.modern-booking .vehicle-help .vehicle-choice-top strong{font-size:15px;font-weight:500}.modern-booking .vehicle-help .vehicle-tagline{font-size:13px;margin:0 0 0 42px;line-height:1.5;color:var(--form-muted);font-weight:400}.modern-booking .vehicle-help .vehicle-selection-label{margin:0;padding:0}.modern-booking .vehicle-needs{margin-top:18px}.modern-booking .vehicle-fit{font-size:14px;line-height:1.6;border-radius:8px;border-left:2px solid #a0865e;background:#f8f5ee;color:#775d33;margin-top:15px;padding:12px 15px}
.modern-booking #passenger-fields{margin-top:3px;border-color:var(--form-line);padding-top:22px}.modern-booking #passenger-fields .field-title{font-family:inherit;font-size:17px;margin:0;font-weight:500}.modern-booking #passenger-fields>.note{margin:-12px 0 0}.modern-booking .summary-group{padding:19px 0;border-color:var(--form-line)}.modern-booking .summary-group h4{font-size:16px;font-weight:600}.modern-booking .edit-step{border:0;color:var(--form-accent);background:transparent;border-radius:8px;font-size:13px;padding:4px 10px}.modern-booking .summary-group dl{display:grid;grid-template-columns:145px 1fr;gap:10px 20px;font-size:15px}.modern-booking .summary-group dt{margin:0;font-size:14px;color:var(--form-muted)}.modern-booking .summary-group dd{font-size:15px;line-height:1.65}.modern-booking .request-explainer{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7;background:var(--form-soft);border-radius:11px;padding:16px;margin-top:22px;color:var(--form-muted)}.modern-booking .request-explainer>.form-icon{margin-top:3px;color:var(--form-accent);width:18px;height:18px}
.modern-booking .flow-actions{gap:15px;padding-top:23px;margin-top:25px;border-top:1px solid var(--form-line)}.modern-booking #back{display:flex;align-items:center;gap:7px;padding:12px 15px;border:0;border-radius:11px;font-size:15px;font-weight:450;background:transparent;min-height:52px;color:var(--form-muted)}.modern-booking #back>.form-icon{width:17px;height:17px}.modern-booking #back:hover{background:var(--form-soft)}.modern-booking .flow-actions .button{justify-content:space-between;gap:18px;min-height:52px;padding:14px 20px;border-radius:11px;background:var(--form-ink);color:var(--form-surface);box-shadow:0 5px 12px #1327430c;font-size:15px;font-weight:500;transition:background .18s,transform .18s,box-shadow .18s}.modern-booking .flow-actions .button:hover{background:#29394f;box-shadow:0 7px 16px #13274315}.modern-booking .flow-actions .button:active{transform:translateY(1px)}.modern-booking .flow-actions .button>.form-icon{width:18px;height:18px}.modern-booking .form-footnote{font-size:12px;color:var(--form-muted);text-align:center;line-height:1.6;margin-top:19px}.modern-booking .submission-privacy{font-size:12px;color:var(--form-muted);text-align:center;margin-top:7px}.modern-booking .submission-privacy summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}.modern-booking .submission-privacy summary::-webkit-details-marker{display:none}.modern-booking .submission-privacy .note{text-align:left;margin-top:12px}.modern-booking :focus-visible{outline-color:#a0865e}
html[data-theme=dark] .modern-booking{--form-ink:#ebeff5;--form-muted:#a0adbe;--form-line:#2c3747;--form-soft:#131c28;--form-surface:#192331;--form-accent:#c6d3e2;background:radial-gradient(ellipse at 50% 0,#152235,transparent 70%),#0c131e}html[data-theme=dark] .modern-booking form{background:var(--form-surface);border-color:var(--form-line);box-shadow:0 20px 60px #0003}html[data-theme=dark] .modern-booking .booking-intro .eyebrow{color:#d9c7a8}html[data-theme=dark] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body{background:#272d35;border-color:#bba174;box-shadow:inset 0 0 0 1px #bba174}html[data-theme=dark] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body .vehicle-check{background:#ddc08a;border-color:#ddc08a;color:#131c28}html[data-theme=dark] .modern-booking .counter-control button:not(:disabled):hover{background:#314055}html[data-theme=dark] .modern-booking .vehicle-fit{background:#29281f;color:#e0c99e}html[data-theme=dark] .modern-booking .flow-actions .button{background:#e1c99e;color:#162030;box-shadow:none}html[data-theme=dark] .modern-booking .flow-actions .button:hover{background:#efdbb8}html[data-theme=dark] .modern-booking input::placeholder,html[data-theme=dark] .modern-booking textarea::placeholder{color:#8e9fb5}html[data-theme=dark] .modern-booking .vehicle-trip dt{color:var(--form-muted)}
@keyframes form-step-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.modern-booking{padding:30px 20px 55px}.booking-intro{max-width:800px;gap:10px;margin-bottom:18px}.booking-intro p{font-size:12px}.modern-booking form{padding:26px 32px 22px}}
@media(max-width:500px){.modern-booking{padding:25px 12px 40px}.booking-intro{display:block;padding:0 10px;margin-bottom:16px}.booking-intro p{margin-top:7px}.booking-intro .eyebrow{font-size:11px}.modern-booking form{border-radius:20px;padding:19px 20px 22px;scroll-margin-top:12px}.modern-booking .steps{gap:4px;padding-bottom:19px}.modern-booking .steps li{gap:4px;flex-direction:column;font-size:12px;min-height:53px}.modern-booking .steps span{font-size:12px}.modern-booking .steps .step-icon{width:28px;height:28px}.modern-booking .steps [aria-current]:after{bottom:-20px;left:10%;right:10%}.modern-booking fieldset{margin-top:26px}.modern-booking legend{font-size:29px}.modern-booking .step-description{font-size:15px;margin-bottom:23px}.modern-booking .grid{grid-template-columns:1fr;gap:18px}.modern-booking .wide{grid-column:1/-1}.modern-booking .ride-modes span{font-size:14px;padding:11px}.modern-booking .ride-modes span>.form-icon{width:16px}.modern-booking .trip-extras{grid-template-columns:1fr;gap:10px}.modern-booking .vehicle-party{gap:12px}.modern-booking .counter-control button{width:36px;height:40px}.modern-booking .party-counter>label{font-size:13px;gap:6px}.modern-booking .counter-control input{font-size:17px}.modern-booking .party-guide{font-size:12px;margin-top:10px}.modern-booking .vehicle-choices{grid-template-columns:1fr;gap:10px}.modern-booking .vehicle-choice-body{min-height:0;display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px}.modern-booking .vehicle-choice-top{grid-column:1/-1}.modern-booking .vehicle-choice-top strong{font-size:17px}.modern-booking .vehicle-choice .vehicle-capacity{flex-direction:row;flex-wrap:wrap;gap:5px 12px;margin:0}.modern-booking .vehicle-capacity>span{font-size:13px;gap:5px}.modern-booking .vehicle-choice .vehicle-selection-label{align-self:end;padding:0;margin:0}.modern-booking .vehicle-help .vehicle-choice-body{padding:13px 15px}.modern-booking .vehicle-help .vehicle-tagline{margin-left:0;font-size:12px}.modern-booking .vehicle-capacity-note{font-size:12px}.modern-booking .recap-copy strong{font-size:13px}.modern-booking .recap-copy>span{font-size:12px}.modern-booking .vehicle-trip>summary{padding:12px;gap:9px}.modern-booking .vehicle-trip dl>div{grid-template-columns:1fr;gap:2px;margin-top:10px}.modern-booking .summary-group dl{grid-template-columns:1fr;gap:3px}.modern-booking .summary-group dt{margin-top:12px;font-size:13px}.modern-booking .summary-group dd{font-size:15px}.modern-booking .flow-actions{gap:5px;padding-top:20px}.modern-booking #back{font-size:14px;padding:12px 10px}.modern-booking .flow-actions .button{font-size:14px;padding:13px 15px}.modern-booking .form-footnote{font-size:12px}.modern-booking .search-privacy{margin-top:-12px}}
@media(prefers-reduced-motion:reduce){.modern-booking *,.modern-booking *:before,.modern-booking *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep success and empty-search announcements accessible without repeating them visually. */
.modern-booking .address-field:has([role=combobox]:placeholder-shown) .address-status,.modern-booking .address-field:has([role=combobox][data-selected]) .address-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.modern-booking input::placeholder,.modern-booking textarea::placeholder{color:#69778a}.modern-booking .steps li{color:#627187}.modern-booking .steps [aria-current]{color:var(--form-ink)}
@media(max-width:500px){.modern-booking .steps span{font-size:14px}.modern-booking .party-counter>label,.modern-booking .vehicle-capacity>span{font-size:14px}}
html[data-theme=dark] .modern-booking .steps li{color:#a0adbe}html[data-theme=dark] .modern-booking .steps [aria-current]{color:var(--form-ink)}

/* Completed steps are native buttons; upcoming steps remain unavailable. */
.modern-booking .steps .step-link{display:flex;flex-direction:inherit;align-items:center;justify-content:center;gap:inherit;width:100%;min-height:44px;padding:4px 6px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;line-height:1.3;transition:background-color .16s ease,color .16s ease}
.modern-booking .steps .step-link:disabled{cursor:default;opacity:1}
.modern-booking .steps .step-link:enabled{cursor:pointer;color:var(--form-ink)}
.modern-booking .steps .step-link:enabled:hover{background:var(--form-soft)}
.modern-booking .steps .step-link:focus-visible{outline:2px solid var(--form-accent);outline-offset:3px;background:var(--form-soft)}
@media(prefers-reduced-motion:reduce){.modern-booking .steps .step-link{transition:none}}

/* Vehicle artwork has its own space, while the controls retain their familiar layout. */
.modern-booking .vehicle-model .vehicle-choice-body{padding:18px 20px 14px;min-height:246px}
.modern-booking .vehicle-render{display:flex;align-items:center;justify-content:center;height:112px;margin:0 0 14px;pointer-events:none}
.modern-booking .vehicle-render img{display:block;width:100%;max-width:270px;height:100%;object-fit:contain;transition:transform .2s ease}
.modern-booking .vehicle-model .vehicle-capacity{flex-direction:row;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.modern-booking .vehicle-model:hover .vehicle-render img{transform:translateY(-2px)}}
@media(max-width:500px){
 .modern-booking .vehicle-model .vehicle-choice-body{display:grid;grid-template-columns:minmax(0,1fr) clamp(100px,34vw,132px);gap:9px 12px;padding:17px 15px;min-height:132px}
 .modern-booking .vehicle-model .vehicle-render{grid-column:2;grid-row:1/4;height:88px;margin:0;align-self:center}
 .modern-booking .vehicle-model .vehicle-choice-top{grid-column:1;grid-row:1;align-self:center}
 .modern-booking .vehicle-model .vehicle-capacity{grid-column:1;grid-row:2;flex-direction:column;gap:5px;margin:0}
 .modern-booking .vehicle-model .vehicle-selection-label{grid-column:1;grid-row:3;justify-self:start;padding:0}
}

/* Solara: graphite, platinum, and a brief trace of warm solar light. */
.modern-booking{
 --form-focus:#657990;--form-focus-halo:#65799020;
 --form-selected-edge:#6a7a8f;--form-selected-surface:#f2f5f8;
 --form-card-shadow:#15253d0b;--form-vehicle-ground:#14203250;
 --form-vehicle-light:#cbd6e52e;--form-selected-light:#c8d6e980;
 --form-solar-edge:#d8cabc;--form-sheen:#ffffffa6;
 --form-primary:#1b293b;--form-primary-hover:#30435c;--form-primary-ink:#fff;
}
html[data-theme=dark] .modern-booking{
 --form-focus:#afc2da;--form-focus-halo:#b0c4df20;
 --form-selected-edge:#a7b9d0;--form-selected-surface:#243144;
 --form-card-shadow:#00000038;--form-vehicle-ground:#000000a8;
 --form-vehicle-light:#a1badb12;--form-selected-light:#abc5e532;
 --form-solar-edge:#d2c5b4;--form-sheen:#dceaff20;
 --form-primary:#e4e9f0;--form-primary-hover:#fff;--form-primary-ink:#142033;
}

/* Match the shadow to each image's tire line, including at phone sizes. */
.modern-booking .vehicle-render{height:118px;isolation:isolate}
.modern-booking .vehicle-artwork{--tire-line:85%;position:relative;display:block;width:min(100%,236px);aspect-ratio:2/1;isolation:isolate}
.modern-booking .vehicle-artwork:has([data-model=cadillac-escalade]){--tire-line:90%}
.modern-booking .vehicle-artwork::before{content:"";position:absolute;z-index:1;left:50%;top:var(--tire-line);width:88%;height:13%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,var(--form-vehicle-ground) 5%,transparent 72%);pointer-events:none}
.modern-booking .vehicle-artwork::after{content:"";position:absolute;z-index:0;inset:-12% -8% -8%;background:radial-gradient(ellipse 48% 42% at 50% 55%,var(--form-vehicle-light),transparent 100%);border-radius:50%;transition:background .25s ease;pointer-events:none}
.modern-booking .vehicle-artwork img{position:relative;z-index:2;width:100%;height:auto;max-width:none;transform:none!important;filter:drop-shadow(0 2px 1px #07132112)}
.modern-booking .vehicle-model input:checked+.vehicle-choice-body .vehicle-artwork::after{background:radial-gradient(ellipse 48% 42% at 50% 55%,var(--form-selected-light),transparent 100%)}

html[data-theme] .modern-booking .vehicle-choice-body{position:relative;isolation:isolate;overflow:hidden;background:var(--form-surface);border-color:var(--form-line);box-shadow:0 3px 12px var(--form-card-shadow),inset 0 1px 0 #ffffff08;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
html[data-theme] .modern-booking .vehicle-choice:hover .vehicle-choice-body{border-color:var(--form-focus);box-shadow:0 5px 18px var(--form-card-shadow)}
html[data-theme] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body{background:var(--form-selected-surface);border-color:var(--form-selected-edge);box-shadow:inset 0 0 0 1px var(--form-selected-edge),0 6px 20px var(--form-card-shadow)}
html[data-theme] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body::before{content:"";position:absolute;z-index:3;top:1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--form-solar-edge),transparent);pointer-events:none}
html[data-theme] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body .vehicle-check{background:var(--form-primary);border-color:var(--form-primary);color:var(--form-primary-ink)}
html[data-theme] .modern-booking .vehicle-choice .vehicle-selection-label{color:var(--form-muted)}
html[data-theme] .modern-booking .vehicle-choice input:checked+.vehicle-choice-body .vehicle-selection-label{color:var(--form-accent)}
html[data-theme] .modern-booking .vehicle-choice input:focus-visible+.vehicle-choice-body{outline:3px solid var(--form-focus);outline-offset:3px}

/* A single selection sweep settles to a quiet, persistent outline. */
html[data-theme] .modern-booking .vehicle-model input:checked+.vehicle-choice-body::after{content:"";position:absolute;z-index:4;inset:-20% auto -20% -50%;width:38%;background:linear-gradient(90deg,transparent,var(--form-sheen),transparent);opacity:0;transform:translateX(0) skewX(-18deg);pointer-events:none;animation:solara-selection-sheen 1.05s cubic-bezier(.2,.65,.25,1) 1 both}
@keyframes solara-selection-sheen{0%{opacity:0;transform:translateX(0) skewX(-18deg)}20%{opacity:.65}75%{opacity:.35}100%{opacity:0;transform:translateX(440%) skewX(-18deg)}}

/* Carry the same finish through focus, selected addresses, and prior steps. */
html[data-theme] .modern-booking input:focus,html[data-theme] .modern-booking select:focus,html[data-theme] .modern-booking textarea:focus{border-color:var(--form-focus);box-shadow:0 0 0 3px var(--form-focus-halo);background:var(--form-surface)}
html[data-theme] .modern-booking :focus-visible{outline-color:var(--form-focus)}
html[data-theme] .modern-booking .steps [aria-current]::after{background:linear-gradient(90deg,transparent 3%,var(--form-selected-edge) 30%,var(--form-solar-edge) 65%,transparent 97%)}
html[data-theme] .modern-booking .steps .complete .step-icon{background:var(--form-selected-surface);color:var(--form-accent);box-shadow:inset 0 1px 0 #ffffff18}
html[data-theme] .modern-booking .booking-intro .eyebrow{color:var(--form-accent)}
.modern-booking .field-control:has(input[data-selected])>.form-icon{color:var(--form-accent)}
.modern-booking .field-control:has(input[data-selected])>input:not(:focus){border-color:var(--form-selected-edge)}
.modern-booking .field-control:has(input[data-selected])::after{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:10px;background:linear-gradient(110deg,transparent 35%,var(--form-sheen) 48%,transparent 61%);background-size:300% 100%;opacity:0;animation:solara-field-sheen .8s ease-out 1 both}
@keyframes solara-field-sheen{0%{background-position:100% 0;opacity:0}25%{opacity:.55}100%{background-position:0 0;opacity:0}}
html[data-theme] .modern-booking .flow-actions .button{background:var(--form-primary);color:var(--form-primary-ink);box-shadow:0 4px 12px var(--form-card-shadow),inset 0 1px 0 #ffffff16}
html[data-theme] .modern-booking .flow-actions .button:hover{background:var(--form-primary-hover);box-shadow:0 6px 18px var(--form-card-shadow)}
@media(max-width:500px){.modern-booking .vehicle-render{height:88px}}
@media(prefers-reduced-motion:reduce){.modern-booking .vehicle-choice-body::after,.modern-booking .field-control::after{animation:none!important;opacity:0!important}}

/* A focus light follows attention, then leaves the stable, accessible focus ring. */
.modern-booking .field-control-plain>input{padding-left:16px}
.modern-booking .field-control-plain>select,.modern-booking .field-control-plain>textarea{margin-top:0}
.modern-booking .field-control::before,.modern-booking .counter-control::before{content:"";position:absolute;z-index:2;inset:-1px;border-radius:12px;padding:2px;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 30%,var(--form-selected-edge) 43%,var(--form-solar-edge) 50%,var(--form-selected-edge) 57%,transparent 70%);background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.modern-booking .field-control:focus-within::before,.modern-booking .counter-control:focus-within::before{animation:solara-focus-light .85s ease-out 1 both}
@keyframes solara-focus-light{0%{background-position:100% 0;opacity:0}18%{opacity:1}80%{opacity:.8}100%{background-position:0 0;opacity:0}}
.modern-booking .field-control>.form-icon{transition:color .18s ease}
.modern-booking .counter-control{position:relative;transition:border-color .18s ease,box-shadow .18s ease}
.modern-booking .counter-control:focus-within{border-color:var(--form-focus);box-shadow:0 0 0 3px var(--form-focus-halo)}
.modern-booking .counter-control button:enabled:active{transform:scale(.96)}

/* Selection and primary actions share the vehicle cards' quiet surface glint. */
.modern-booking .ride-modes label>span{position:relative;overflow:hidden;isolation:isolate}
.modern-booking .ride-modes input:checked+span::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 35%,var(--form-sheen) 48%,transparent 61%);background-size:300% 100%;opacity:0;animation:solara-field-sheen .7s ease-out 1 both}
.modern-booking .flow-actions .button{position:relative;overflow:hidden;isolation:isolate}
.modern-booking .flow-actions .button>span,.modern-booking .flow-actions .button>.form-icon{position:relative;z-index:1}
.modern-booking .flow-actions .button>.form-icon{transition:transform .18s ease}
.modern-booking .flow-actions .button::after{content:"";position:absolute;z-index:0;inset:-30% auto -30% -45%;width:35%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);opacity:0;transform:translateX(0) skewX(-18deg);pointer-events:none}
.modern-booking .flow-actions .button:enabled:focus-visible::after{animation:solara-action-glint .75s ease-out 1 both}
.modern-booking .flow-actions .button:enabled:focus-visible>.form-icon{transform:translateX(2px)}
@keyframes solara-action-glint{0%{opacity:0;transform:translateX(0) skewX(-18deg)}20%{opacity:.5}100%{opacity:0;transform:translateX(470%) skewX(-18deg)}}
@media(hover:hover){
 .modern-booking .flow-actions .button:enabled:hover::after{animation:solara-action-glint .75s ease-out 1 both}
 .modern-booking .flow-actions .button:enabled:hover>.form-icon{transform:translateX(2px)}
}

/* Progress moves with actual navigation; only the active panel enters. */
.modern-booking .steps{position:relative;--step-gap:10px}
html[data-theme] .modern-booking .steps [aria-current]::after{display:none}
.modern-booking .steps::after{content:"";position:absolute;bottom:-1px;height:2px;pointer-events:none;border-radius:2px;width:calc((100% - 3 * var(--step-gap))/4);left:calc(var(--step-index,0) * (25% + var(--step-gap)/4));background:linear-gradient(90deg,transparent 12%,var(--form-selected-edge) 38%,var(--form-solar-edge) 64%,transparent 88%);transition:left .22s cubic-bezier(.2,.7,.25,1)}
.modern-booking .steps .step-icon{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.modern-booking fieldset:not([hidden]){animation:none}
.modern-booking fieldset.step-enter-forward:not([hidden]){animation:solara-step-forward .2s ease-out both}
.modern-booking fieldset.step-enter-back:not([hidden]){animation:solara-step-back .2s ease-out both}
@keyframes solara-step-forward{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}
@keyframes solara-step-back{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}
.modern-booking .optional-panel{transition:border-color .18s ease,background-color .18s ease}
.modern-booking .optional-panel:focus-within{border-color:var(--form-focus)}
.modern-booking .optional-panel summary>.form-icon:last-child{transition:transform .18s ease}
.modern-booking .optional-panel[open]>.field-control,.modern-booking .optional-panel[open]>label,.modern-booking .optional-panel[open]>.note{animation:solara-detail-in .16s ease-out both}
@keyframes solara-detail-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:500px){.modern-booking .steps{--step-gap:4px}}
@media(prefers-reduced-motion:reduce){
 .modern-booking .field-control::before,.modern-booking .counter-control::before,.modern-booking .ride-modes label>span::after,.modern-booking .flow-actions .button::after{animation:none!important;opacity:0!important}
 .modern-booking .flow-actions .button>.form-icon,.modern-booking .counter-control button{transform:none!important}
}

/* Disclosures share one continuous border and a rounded keyboard focus indicator. */
.modern-booking .optional-panel>summary{border-radius:10px}
html[data-theme] .modern-booking .optional-panel>summary:focus-visible{outline:2px solid var(--form-focus);outline-offset:3px}
.modern-booking .optional-panel>summary:focus:not(:focus-visible){outline:none}

/* Keep the native select while giving its chevron the same inset as other controls. */
.modern-booking .field-control-select>select{appearance:none;-webkit-appearance:none;background-image:none;padding-inline-end:48px}
.modern-booking .field-control-select>.field-select-chevron{left:auto;right:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;color:var(--form-muted)}

/* Required-choice feedback opens and collapses without timers or layout jumps. */
.modern-booking .vehicle-error{--error-ink:#8a3f3a;--error-surface:#fbf3f1;--error-line:#e6c8c2;display:grid;grid-template-rows:0fr;opacity:0;margin:0;transition:grid-template-rows .22s ease,opacity .18s ease,margin-bottom .22s ease}
html[data-theme=dark] .modern-booking .vehicle-error{--error-ink:#f0c0b8;--error-surface:#302629;--error-line:#765451}
.modern-booking .vehicle-error.is-visible{grid-template-rows:1fr;opacity:1;margin-bottom:14px}
.modern-booking .vehicle-error-clip{min-height:0;overflow:hidden}
.modern-booking .vehicle-error-message{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--error-line);border-radius:11px;background:var(--error-surface);color:var(--error-ink)}
.modern-booking .vehicle-error-message>.form-icon{flex:0 0 18px;width:18px;height:18px;margin-top:2px}
.modern-booking .vehicle-error-message p{margin:0;font-size:14px;line-height:1.55}
.modern-booking .vehicle-error-message strong{display:block;font-weight:600}
.modern-booking .vehicle-error-message p>span{display:block;font-size:14px;margin-top:2px}
@media(prefers-reduced-motion:reduce){.modern-booking .vehicle-error{transition:none}}

/* Booking-for choices share the location menus' slate surface and clear focus. */
.modern-booking .booking-for-field{position:relative;min-width:0}
.modern-booking .select-trigger{display:flex;align-items:center;position:relative;width:100%;min-height:52px;padding:13px 48px 13px 18px;border:1px solid var(--form-line);border-radius:11px;background:var(--form-soft);color:var(--form-ink);text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.modern-booking .select-trigger .select-value{font-size:16px;color:inherit;line-height:1.5}
.modern-booking .select-trigger>.field-select-chevron{position:absolute;right:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--form-muted);pointer-events:none;transition:transform .18s ease}
.modern-booking .select-trigger[aria-expanded=true]>.field-select-chevron{transform:translateY(-50%) rotate(180deg)}
.modern-booking .select-trigger:hover{border-color:var(--form-focus)}
.modern-booking .select-trigger:focus,.modern-booking .select-trigger[aria-expanded=true]{border-color:var(--form-focus);box-shadow:0 0 0 3px var(--form-focus-halo);background:var(--form-surface)}
.modern-booking .select-trigger:focus-visible{outline:2px solid var(--form-focus);outline-offset:3px}
.modern-booking .select-menu{position:absolute;z-index:30;top:calc(100% + 8px);left:0;right:0;list-style:none;margin:0;padding:6px;border:1px solid var(--form-line);border-radius:13px;background:var(--form-surface);color:var(--form-ink);box-shadow:0 12px 32px #14203220,0 2px 5px #14203208;animation:solara-detail-in .16s ease-out both}
.modern-booking .select-menu [role=option]{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:11px 12px;border:1px solid transparent;border-radius:8px;font-size:16px;line-height:1.5;cursor:pointer}
.modern-booking .select-menu [aria-selected=true]{font-weight:600}
.modern-booking .select-menu .is-active{background:var(--form-selected-surface);border-color:var(--form-line)}
.modern-booking .select-check{flex:0 0 18px;width:18px;height:18px;opacity:0;color:var(--form-focus)}
.modern-booking .select-menu [aria-selected=true] .select-check{opacity:1}
html[data-theme=dark] .modern-booking .select-menu{box-shadow:0 14px 36px #00000055,0 0 0 1px #ffffff04}

/* A consistent, quiet error surface underneath each detail that needs attention. */
.modern-booking{--form-error:#8a3f3a;--form-error-line:#c48b82;--form-error-halo:#b56d6020}
html[data-theme=dark] .modern-booking{--form-error:#f0c0b8;--form-error-line:#c28d87;--form-error-halo:#db9b9020}
.modern-booking .field-error{margin:0;transition:grid-template-rows .22s ease,opacity .18s ease,margin-top .22s ease}
.modern-booking .field-error.is-visible{margin:8px 0 0}
.modern-booking .field-error .vehicle-error-message{gap:8px;padding:9px 11px;border-radius:9px}
.modern-booking .field-error .field-error-copy{display:block;color:var(--form-error);font-size:13px;line-height:1.5;font-weight:400}
.modern-booking .field-label-text{font-size:inherit;color:var(--form-ink);font-weight:inherit}
.modern-booking .field-error .form-icon{width:16px;height:16px;flex-basis:16px;margin-top:2px}
html[data-theme] .modern-booking input[aria-invalid=true],html[data-theme] .modern-booking textarea[aria-invalid=true]{border-color:var(--form-error-line)}
html[data-theme] .modern-booking input[aria-invalid=true]:focus,html[data-theme] .modern-booking textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--form-error-halo)}
.modern-booking .counter-control:has([aria-invalid=true]){border-color:var(--form-error-line);box-shadow:0 0 0 3px var(--form-error-halo)}
.modern-booking .field-control:has([aria-invalid=true])::before,.modern-booking .counter-control:has([aria-invalid=true])::before{animation:none;opacity:0}

/* The request ends on Solara: a quiet celebration and a clear next step. */
.modern-booking .request-completion{max-width:800px;margin:auto;padding:32px 44px 30px;border:1px solid var(--form-line);border-radius:26px;background:var(--form-surface);box-shadow:0 24px 64px var(--form-card-shadow);color:var(--form-ink);scroll-margin-top:24px;overflow:hidden}
.completion-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--form-muted)}
.completion-topline>span:last-child{letter-spacing:1px;border:1px solid var(--form-line);padding:6px 9px;border-radius:20px;white-space:nowrap}
.completion-hero{text-align:center;padding:34px 0 30px}
.completion-seal{position:relative;display:grid;place-items:center;width:70px;height:70px;margin:0 auto 26px;border:1px solid var(--form-selected-edge);border-radius:50%;background:linear-gradient(145deg,var(--form-selected-surface),var(--form-surface));box-shadow:0 8px 26px var(--form-card-shadow),inset 0 1px 0 var(--form-sheen)}
.completion-seal::before{content:"";position:absolute;inset:-7px;border:1px solid var(--form-solar-edge);border-radius:50%;opacity:.4;animation:solara-seal-light 1.1s ease-out both}
.completion-seal .form-icon{width:30px;height:30px;color:var(--form-focus)}
.completion-seal path{stroke-dasharray:1;stroke-dashoffset:0;animation:solara-check-draw .7s .15s ease-out both}
.completion-eyebrow{font-size:12px;letter-spacing:1px;color:var(--form-muted);margin-bottom:12px}
.modern-booking .request-completion h2{font-family:'DM Sans',sans-serif;font-size:clamp(31px,4vw,43px);font-weight:500;letter-spacing:-1.5px;line-height:1.14;margin:0 0 16px}
#completion-title:focus{outline:none}
.completion-intro{max-width:510px;margin:auto;font-size:16px;line-height:1.7;color:var(--form-muted)}
.completion-fare{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding:24px 28px;border:1px solid var(--form-line);border-radius:16px;background:linear-gradient(125deg,var(--form-selected-surface),var(--form-surface));box-shadow:inset 0 1px 0 var(--form-sheen)}
.completion-fare::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:35%;background:linear-gradient(90deg,transparent,var(--form-sheen),transparent);opacity:0;transform:translateX(0) skewX(-18deg);pointer-events:none;animation:solara-action-glint 1.4s .2s ease-out both}
.completion-caption{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;color:var(--form-muted)}
.completion-amount{font-size:60px;letter-spacing:-2.5px;line-height:1.15;margin:7px 0 0;font-weight:500;font-variant-numeric:tabular-nums}
.completion-amount>span{font-size:12px;letter-spacing:.8px;color:var(--form-muted);font-weight:400}
.completion-example{display:inline-block;padding:4px 8px;border:1px solid var(--form-selected-edge);border-radius:5px;font-size:10px;font-weight:600;letter-spacing:1px;color:var(--form-ink)}
.completion-fare-note p{font-size:13px;line-height:1.65;color:var(--form-muted);margin-top:9px}
.completion-recap{padding:24px 2px;border-bottom:1px solid var(--form-line)}
.completion-route{margin-top:8px;font-weight:500;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.completion-when{font-size:14px;color:var(--form-muted);margin-top:4px;line-height:1.55}
.completion-next{display:flex;gap:14px;align-items:flex-start;margin:24px 0 18px}
.completion-next-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid var(--form-line);border-radius:10px;color:var(--form-focus);background:var(--form-soft)}
.modern-booking .completion-next h3{font-family:inherit;font-size:16px;line-height:1.4;font-weight:600;margin:0 0 7px}
.completion-next p{font-size:14px;line-height:1.7;color:var(--form-muted)}
.completion-disclaimer{font-size:12px;line-height:1.6;color:var(--form-muted)}
.completion-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--form-line);padding-top:22px;margin-top:22px}
.completion-actions button{display:flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--form-line);border-radius:10px;background:var(--form-surface);color:var(--form-ink);padding:12px 16px;font-size:14px;font-weight:500;min-height:46px;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.completion-actions button:hover{background:var(--form-soft);border-color:var(--form-focus)}
.completion-actions #completion-new{margin-left:auto;background:var(--form-primary);border-color:var(--form-primary);color:var(--form-primary-ink)}
.modern-booking .preview-finish{display:block;width:100%;padding:13px 16px;margin-top:18px;border:1px solid var(--form-line);border-radius:10px;background:var(--form-soft);color:var(--form-ink);text-align:left;font-size:14px;cursor:pointer}
.preview-finish span{display:block;margin-top:3px;font-size:12px;color:var(--form-muted)}
@keyframes solara-check-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes solara-seal-light{from{transform:scale(.85);opacity:0}40%{opacity:.75}to{transform:scale(1);opacity:.4}}
@media(max-width:500px){
 .modern-booking .request-completion{padding:23px 22px;border-radius:20px;scroll-margin-top:12px}
 .completion-topline{font-size:9px;letter-spacing:1px;gap:8px;flex-wrap:wrap}
 .completion-hero{padding:30px 0 24px}.completion-seal{width:60px;height:60px;margin-bottom:24px}
 .completion-intro{font-size:15px}.completion-fare{grid-template-columns:1fr;gap:14px;padding:20px}
 .completion-amount{font-size:54px}.completion-fare-note p{font-size:12px;margin-top:7px}
 .completion-actions{flex-direction:column;align-items:stretch}.completion-actions button,.completion-actions #completion-new{width:100%;margin:0}
}

/* Public launch page: informational until quote intake is verified. */
.launch-status{padding:clamp(56px,8vw,120px) max(6vw,24px);border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--paper);text-align:center;scroll-margin-top:24px}
.launch-status h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,5vw,62px);line-height:1.1;letter-spacing:-.035em;margin:22px 0}
.launch-status p{font-size:clamp(16px,1.4vw,19px);line-height:1.8;color:var(--ink);max-width:680px;margin:0 auto}
.launch-status-note{display:inline-block;margin-top:30px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
@media(max-width:600px){.launch-status p br{display:none}header nav{gap:12px}header nav>a:not(.navbutton){display:none}.navbutton{font-size:10px}}
