/* Preserve the original blue/yellow palette and the readability improvements.
   Warm gold is reserved for primary actions and selection indicators. */
:root { --action:#174e78; --action-dark:#103b5c; --cta-gold:#d6ad44; --cta-gold-hover:#cba13a; }
.topbar p, .topbar__inner > div { font-size:12px; }
.primary-nav > a { font-size:14px; }
.primary-nav .nav-cta, .button--action, .button--navy,
.mobile-conversion-bar .mobile-book, .fleet-card__conversion a { border-radius:8px; }
.button, .nav-cta, .footer-button { font-size:14px; font-weight:650; }
.hero-points { font-size:13px; }
.eyebrow, .kicker { font-size:12px; letter-spacing:.12em; }
.section-heading > p, .split-heading > p, .journey-copy > p, .faq-intro > p { font-size:16px; line-height:1.65; }
.route-card, .fleet-card { border-radius:12px; }
.route-card small, .rate-note, .fleet-card__conversion small { font-size:13px; line-height:1.5; }
.route-card .kicker, .fleet-card__image > span { font-size:12px; }
.route-card button { min-height:44px; font-size:14px; }
.fleet-card__body > p, .fleet-card__body li { font-size:14px; }
.fleet-card__conversion a { min-height:44px; padding:12px 16px; font-size:14px; }
.care-section { padding-block:56px; }
.care-section__inner { border-radius:12px; }
.care-section__copy, .care-section__vehicles { padding:28px; }
.care-section__copy > p:not(.eyebrow), .care-section__vehicles > p { font-size:16px; }
.care-services { font-size:15px; }
.journey-steps p, .faq-list p { font-size:15px; line-height:1.65; }
.faq-list summary { font-size:16px; line-height:1.45; }
.site-footer p, .site-footer a, .site-footer span, .footer-bottom { font-size:14px; }
.site-footer h2 { font-size:12px; }
#booking.acw .acw-main,
.home-hero__wizard #booking.acw .acw-main { border-radius:12px; }
#booking.acw .steps-progress__text { font-size:12px; font-weight:600; }
#booking.acw .wstep, .home-hero__wizard #booking.acw .wstep { font-size:13px; font-weight:650; }
#booking.acw .wstep__num { font-size:12px; }
#booking.acw .booking-assurance { font-size:12px; font-weight:500; flex-wrap:wrap; }
#booking.acw .wtitle { font-weight:700; line-height:1.15; }
#booking.acw .wsub { font-size:14px; line-height:1.55; }
#booking.acw .field > label, #booking.acw .field > legend,
.home-hero__wizard #booking.acw .field > label, .home-hero__wizard #booking.acw .field > legend { font-size:13px; font-weight:650; text-transform:none; letter-spacing:0; }
#booking.acw .field input:not([type="radio"]), #booking.acw .field select, #booking.acw .field textarea { font-size:16px; }
#booking.acw .toggle span { font-size:14px; font-weight:600; }
#booking.acw .ac-return-placeholder small, #booking.acw .ac-route-cta small { font-size:12px; letter-spacing:.04em; font-weight:600; }
#booking.acw .ac-return-placeholder strong { font-size:13px; font-weight:500; line-height:1.5; }
#booking.acw .ac-route-cta em { font-size:12px; }
#booking.acw .btn { min-height:48px; font-size:14px; font-weight:650; line-height:1.4; }
#booking.acw .veh { border-radius:10px; }
#booking.acw .veh__name { font-size:17px; font-weight:700; }
#booking.acw .veh__meta { font-size:13px; line-height:1.5; }
#booking.acw .veh__hint { font-size:18px; font-weight:700; }
#booking.acw .veh__recommended { font-size:11px; font-weight:650; letter-spacing:0; text-transform:none; }
#booking.acw .veh__selected { font-size:12px; font-weight:650; }
#booking.acw .contact-review-strip small { font-size:12px; }
#booking.acw .contact-review-strip strong { font-size:14px; }
#booking.acw .contact-details__heading h3, #booking.acw .contact-details__heading p { font-size:13px; line-height:1.5; }
#booking.acw .contact-method__tag { font-size:11px; }
#booking.acw .booking-notes > summary { font-size:14px; }
#booking.acw .booking-notes > summary small, #booking.acw .confidence, #booking.acw .inline-error,
#booking.acw .price__head p, #booking.acw .price__note, #booking.acw .price-trust { font-size:12px; line-height:1.5; }
#booking.acw .estimate__row span, #booking.acw .estimate__row strong { font-size:13px; }
@media (max-width:700px) {
.topbar p { font-size:11px; line-height:1.4; }
.hero-copy .eyebrow { font-size:12px; line-height:1.5; letter-spacing:.1em; }
.hero-copy h1 { font-size:clamp(36px,9.8vw,43px); line-height:1.08; }
.hero-copy > p:not(.eyebrow) { font-size:16px; line-height:1.6; }
.hero-actions .button { font-size:15px; }
.hero-points { justify-content:flex-start; flex-wrap:wrap; gap:8px 18px; font-size:12px; }
.section-heading h2, .journey-copy h2, .faq-intro h2, .care-section__copy h2 { font-size:34px; line-height:1.15; }
.care-section { padding-block:32px; }
.care-section__copy, .care-section__vehicles { padding:22px 8px; }
.care-section__inner { gap:8px; }
.care-services { grid-template-columns:1fr; }
.primary-nav .nav-cta { font-size:15px; }
.mobile-conversion-bar a { font-size:14px; }
#booking.acw .wstep { min-height:62px; font-size:12px; line-height:1.35; }
#booking.acw .booking-assurance { gap:6px 12px; padding:10px 12px; font-size:12px; }
#booking.acw .veh, .home-hero__wizard #booking.acw .veh { grid-template-columns:105px minmax(0,1fr); }
#booking.acw .veh__body { padding:12px; grid-template-columns:minmax(0,1fr); gap:5px; }
#booking.acw .veh__name { font-size:17px; }
#booking.acw .veh__hint { grid-column:1; grid-row:auto; font-size:19px; }
#booking.acw .veh__meta { font-size:13px; }
#booking.acw .veh__media, .home-hero__wizard #booking.acw .veh__media { min-height:142px; }
#booking.acw .veh__recommended { left:4px; top:5px; padding:4px; font-size:11px; }
#booking.acw .veh__check { top:auto; bottom:8px; right:8px; }
#booking.acw .wactions { grid-template-columns:minmax(72px,.65fr) minmax(0,1.35fr); }
#booking.acw .wactions .btn { padding-inline:10px; }
}
.care-services li { font-size:15px; line-height:1.6; }
.route-card > div:not(.route-card__line) small { font-size:13px; font-weight:500; line-height:1.5; }
.route-card > div:not(.route-card__line) > p { font-size:13px; line-height:1.5; }
.fleet-card__title > span { font-size:12px; }
.fleet-card__conversion p small { font-size:13px; }
@media (min-width:1101px) {
.home-hero__wizard #booking.acw .acw-route > .ac-booking-card--service { grid-column:span 4; }
.home-hero__wizard #booking.acw .acw-route > .ac-booking-card--hotel { grid-column:span 7; }
}
@media (min-width:901px) and (max-width:1100px) {
.home-hero__wizard #booking.acw .acw-route > .ac-booking-card--service { grid-column:span 3; }
.home-hero__wizard #booking.acw .acw-route > .ac-booking-card--airport { grid-column:span 4; }
}
@media (max-width:700px) {
#booking.acw .veh__media, .home-hero__wizard #booking.acw .veh__media { background-size:contain; }
}
@media (max-width:359px) {
#booking.acw .acw-route > .ac-booking-card--passengers,
  #booking.acw .acw-route > .ac-booking-card--service,
  #booking.acw .acw-route > .ac-booking-card--date,
  #booking.acw .acw-route > .ac-booking-card--time { grid-column:1 / -1; }
#booking.acw .ac-booking-card--return .wgrid { grid-template-columns:1fr; }
}
/* Primary booking actions keep dark text for contrast on warm gold. */
.button--navy[data-track-event="click_book_now"],
.button--action, .button--gold, .primary-nav .nav-cta,
.mobile-conversion-bar .mobile-book, #booking.acw .btn--primary {
 color:var(--ink-deep);
 background:var(--cta-gold);
 border-color:var(--cta-gold);
 box-shadow:0 7px 16px rgba(6,59,112,.14);
}
.mobile-conversion-bar .mobile-book { border-color:var(--cta-gold) !important; }
.button--navy[data-track-event="click_book_now"]:hover,
.button--action:hover, .button--gold:hover, .primary-nav .nav-cta:hover,
.mobile-conversion-bar .mobile-book:hover, #booking.acw .btn--primary:hover {
 color:var(--ink-deep);
 background:var(--cta-gold-hover);
 border-color:var(--cta-gold-hover);
}
.mobile-conversion-bar .mobile-book:hover { border-color:var(--cta-gold-hover) !important; }
#booking.acw .steps-progress__fill { background:var(--cta-gold); }
#booking.acw .wstep.is-active,
#booking.acw .toggle input:checked + span,
#booking.acw .veh__check {
 color:var(--ink-deep);
 background:var(--cta-gold);
}
#booking.acw .wstep.is-active .wstep__num { color:var(--ink-deep); }
#booking.acw .wstep.is-done .wstep__num { color:var(--ink-deep); background:var(--cta-gold); }
#booking.acw .veh:has(input:checked) {
 border-color:#9b7621;
 box-shadow:0 0 0 2px rgba(214,173,68,.28),0 10px 24px rgba(6,59,112,.12);
}
@media (min-width:901px) {
 .home-hero__wizard #booking.acw .btn--primary { box-shadow:0 10px 24px rgba(6,59,112,.18); }
 .home-hero__wizard #booking.acw .wstep.is-active { box-shadow:inset 0 -3px var(--cta-gold); }
 .home-hero__wizard #booking.acw .wstep.is-active .wstep__num,
 .home-hero__wizard #booking.acw .wstep.is-done .wstep__num {
  color:var(--ink-deep); background:var(--cta-gold);
 }
}

/* Keep selection controls within their cells and reserve changing content. */
#booking.acw .toggle input,
#booking.acw .veh > input {
 width:1px; min-width:0; max-width:1px; height:1px; min-height:0;
 margin:0; padding:0; border:0;
}
#booking.acw .toggle label { min-width:0; }
#booking.acw .toggle input:focus-visible + span {
 outline:2px solid var(--ink-deep); outline-offset:-4px;
}
#booking.acw .veh:has(input:focus-visible) {
 outline:2px solid var(--ink-deep); outline-offset:3px;
}
#booking.acw .ac-booking-card--return { position:relative; }
#booking.acw .ac-booking-card--return.is-inactive .wgrid {
 display:grid; visibility:hidden;
}
#booking.acw .ac-return-placeholder { position:absolute; inset:0; min-height:0; }
#booking.acw .veh__selected {
 display:block; visibility:hidden; min-height:1.5em;
}
#booking.acw .veh input:checked ~ .veh__body .veh__selected { visibility:visible; }
/* Use the same control height and label spacing in each route row. */
#booking.acw .acw-route .field { gap:0; }
#booking.acw .acw-route .qty-stepper input { height:46px; min-height:46px; }
#booking.acw .acw-route .toggle span { min-height:46px; }
#booking.acw .field select { text-overflow:ellipsis; }
#booking.acw .wstep.is-done:not(.is-active) .wstep__num,
.home-hero__wizard #booking.acw .wstep.is-done:not(.is-active) .wstep__num { color:transparent; }
@media (min-width:901px) {
 .home-hero__wizard #booking.acw .acw-route .qty-stepper input { height:48px; min-height:48px; }
 .home-hero__wizard #booking.acw .acw-route .toggle span { min-height:48px; }
}
@media (min-width:901px) {
 .home-hero__wizard #booking.acw .ac-route-cta { align-items:flex-end; }
}
/* Keep vehicle names and totals readable beside the desktop summary. */
@media (min-width:821px) and (max-width:1100px) {
 .airport-wizard-page #booking.acw .veh-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
 }
}
/* Change columns between steps without squeezing the outgoing form. */
#booking.acw .acw-shell { transition:none; }
#booking.acw .acw-form.is-animating .acw-panel.is-exiting { visibility:hidden; }
#booking.acw .acw-summary,
#booking.acw[data-step="1"] .acw-summary { transform:none; transition:none; }

/* A balanced route and schedule layout, sized to the current step. */
#booking.acw .acw-panel,
.home-hero__wizard #booking.acw .acw-panel { padding:24px; }
#booking.acw .wsub,
.home-hero__wizard #booking.acw .wsub { margin:7px 0 22px; }
#booking.acw .acw-route,
.home-hero__wizard #booking.acw .acw-route {
 grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch;
}
#booking.acw .wizard-group {
 min-width:0; padding:20px; border:1px solid #d9e4ed; border-radius:10px;
 background:#f7fafc;
}
#booking.acw .wizard-group__title {
 display:flex; align-items:center; gap:9px; margin:0 0 18px;
 color:var(--ink-deep); font-family:var(--sans); font-size:16px; font-weight:700; line-height:1.4;
}
#booking.acw .wizard-group__title svg {
 width:19px; height:19px; flex-shrink:0; fill:none; stroke:var(--ink-soft);
 stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
#booking.acw .wizard-group__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:end; }
#booking.acw .wizard-group__fields > .ac-booking-card { grid-column:auto; }
#booking.acw .wizard-group__fields--route { grid-template-areas:"hotel hotel" "airport service" "passengers trip"; }
#booking.acw .wizard-group__fields--route > .ac-booking-card--hotel { grid-area:hotel; }
#booking.acw .wizard-group__fields--route > .ac-booking-card--airport { grid-area:airport; }
#booking.acw .wizard-group__fields--route > .ac-booking-card--service { grid-area:service; }
#booking.acw .wizard-group__fields--route > .ac-booking-card--passengers { grid-area:passengers; }
#booking.acw .wizard-group__fields--route > .ac-booking-card--trip { grid-area:trip; }
#booking.acw .wizard-group__fields--schedule > .ac-booking-card--return { grid-column:1 / -1; min-height:0; }
#booking.acw .wizard-group__fields .field > label,
#booking.acw .wizard-group__fields .field > legend { margin-bottom:7px; font-size:13px; font-weight:600; }
#booking.acw .wizard-group__fields .field input:not([type="radio"]),
#booking.acw .wizard-group__fields .field select { height:50px; min-height:50px; border-color:#b8cadb; border-radius:6px; }
#booking.acw .wizard-group__fields .qty-stepper,
#booking.acw .wizard-group__fields .toggle { height:50px; border-color:#b8cadb; border-radius:6px; }
#booking.acw .wizard-group__fields .qty-stepper input,
.home-hero__wizard #booking.acw .wizard-group__fields .qty-stepper input { height:48px; min-height:48px; border-radius:0; }
#booking.acw .wizard-group__fields .toggle span,
.home-hero__wizard #booking.acw .wizard-group__fields .toggle span { min-height:48px; }
#booking.acw .wizard-group__fields .qty-stepper { grid-template-columns:44px minmax(30px,1fr) 44px; }
#booking.acw .wizard-group__fields .ac-booking-card--return .wgrid { gap:16px; }
#booking.acw .wizard-group__fields .ac-booking-card--return.is-inactive .wgrid { visibility:visible; }
#booking.acw .wizard-group__fields .ac-return-placeholder { display:none; }
#booking.acw .wizard-group__fields .field input:disabled { color:#7c8da0; background:#edf2f6; border-color:#d6e0e8; cursor:not-allowed; }
#booking.acw .wizard-group__note { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
#booking.acw .acw-route > .ac-route-cta,
.home-hero__wizard #booking.acw .acw-route > .ac-route-cta {
 grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between;
 gap:20px; margin:0; padding:18px 0 0; min-height:0; border-top:1px solid var(--line);
}
#booking.acw .acw-route > .ac-route-cta > span,
.home-hero__wizard #booking.acw .acw-route > .ac-route-cta > span { display:grid; gap:4px; }
#booking.acw .ac-route-cta strong { color:var(--ink-deep); font-size:14px; font-weight:600; }
#booking.acw .ac-route-cta em { color:var(--muted); font-size:12px; }
#booking.acw .acw-route > .ac-route-cta .btn,
.home-hero__wizard #booking.acw .acw-route > .ac-route-cta .btn { width:auto; min-width:280px; min-height:52px; padding:12px 24px; border-radius:7px; }
@media (max-width:1100px) and (min-width:901px) {
 #booking.acw .wizard-group { padding:16px; }
 #booking.acw .wizard-group__fields { gap:14px; }
}
@media (max-width:900px) {
 #booking.acw .acw-route,
 .home-hero__wizard #booking.acw .acw-route { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:620px) {
 #booking.acw .acw-panel,
 .home-hero__wizard #booking.acw .acw-panel { padding:20px 14px; }
 #booking.acw .wizard-group { padding:0; border:0; border-radius:0; background:transparent; }
 #booking.acw .wizard-group--schedule { padding-top:20px; border-top:1px solid var(--line); }
 #booking.acw .wizard-group__title { margin-bottom:16px; }
 #booking.acw .wizard-group__fields { gap:14px 12px; }
 #booking.acw .wizard-group__fields--route { grid-template-columns:minmax(112px,.75fr) minmax(0,1.25fr); grid-template-areas:"hotel hotel" "airport airport" "service service" "passengers trip"; }
 #booking.acw .wizard-group__fields .ac-booking-card--return .wgrid { gap:12px; }
 #booking.acw .acw-route > .ac-route-cta,
 .home-hero__wizard #booking.acw .acw-route > .ac-route-cta { flex-direction:column; align-items:stretch; gap:14px; }
 #booking.acw .acw-route > .ac-route-cta > span,
 .home-hero__wizard #booking.acw .acw-route > .ac-route-cta > span { text-align:center; }
 #booking.acw .acw-route > .ac-route-cta .btn,
 .home-hero__wizard #booking.acw .acw-route > .ac-route-cta .btn { width:100%; min-width:0; }
}
@media (max-width:359px) {
 #booking.acw .wizard-group__fields--schedule { grid-template-columns:minmax(0,1fr); }
 #booking.acw .wizard-group__fields .ac-booking-card--return .wgrid { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:620px) {
 #booking.acw .wizard-group__fields .qty-stepper { grid-template-columns:36px minmax(24px,1fr) 36px; }
}
@media (max-width:359px) {
 #booking.acw .wizard-group__fields--route { grid-template-columns:minmax(0,1fr); grid-template-areas:"hotel" "airport" "service" "passengers" "trip"; }
}
/* The action footer already carries the pricing and private-service reassurance. */
#booking.acw .booking-assurance { display:none; }

/* Match the complete vehicle photos instead of cropping them to fill a shallow frame. */
#booking.acw .veh__media,
.home-hero__wizard #booking.acw .veh__media {
 background-size:contain; background-position:center; background-repeat:no-repeat;
}
@media (min-width:621px) {
 .airport-wizard-page #booking.acw .veh__media { aspect-ratio:16 / 9; }
}
@media (min-width:901px) {
 .home-hero__wizard #booking.acw .veh__media { aspect-ratio:16 / 9; }
}

/* Review: one complete trip summary beside the passenger details. */
#booking.acw[data-step="3"] .acw-shell { grid-template-columns:minmax(0,1fr); gap:0; }
#booking.acw[data-step="3"] .acw-summary { display:none; }
#booking.acw .acw-contact-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:24px; align-items:start; }
#booking.acw .review-trip,
#booking.acw .contact-details { min-width:0; padding:22px; border:1px solid #d9e4ed; border-radius:10px; background:#f7fafc; }
#booking.acw .review-trip h4,
#booking.acw .contact-details__label { margin:0; font-family:var(--sans); color:var(--ink-deep); font-size:16px; font-weight:700; line-height:1.4; text-transform:none; letter-spacing:0; }
#booking.acw .review-trip__details { display:grid; gap:14px; margin:20px 0; }
#booking.acw .review-trip__details > div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; font-size:14px; line-height:1.5; }
#booking.acw .review-trip__details > [hidden] { display:none; }
#booking.acw .review-trip__details dt { color:var(--muted); }
#booking.acw .review-trip__details dd { margin:0; color:var(--ink-deep); font-weight:600; overflow-wrap:anywhere; }
#booking.acw .review-trip__total { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:18px; border-top:1px solid #d9e4ed; color:var(--ink-deep); }
#booking.acw .review-trip__total span { display:grid; gap:4px; font-size:14px; font-weight:600; }
#booking.acw .review-trip__total small { font-size:12px; color:var(--muted); font-weight:400; }
#booking.acw .review-trip__total strong { font-size:26px; font-variant-numeric:tabular-nums; }
#booking.acw .contact-details,
.home-hero__wizard #booking.acw .contact-details { grid-template-columns:minmax(0,1fr); gap:18px; }
#booking.acw .contact-details__group { gap:14px; }
#booking.acw .contact-details__group + .contact-details__group,
.home-hero__wizard #booking.acw .contact-details__group + .contact-details__group { padding:0; border:0; }
#booking.acw .contact-details__heading { display:grid; gap:5px; }
#booking.acw .contact-details__heading p { font-size:13px; }
#booking.acw .contact-details .field > label { font-size:13px; margin-bottom:7px; }
#booking.acw .contact-details input { height:50px; min-height:50px; font-size:16px; background:white; border:1px solid #b8cadb; border-radius:6px; }
#booking.acw .contact-method { padding:0; border:0; background:none; }
#booking.acw .contact-methods,
.home-hero__wizard #booking.acw .contact-methods { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#booking.acw .booking-notes > summary { font-size:14px; }
#booking.acw .booking-notes > summary small { font-size:12px; }
#booking.acw .acw-contact-actions { justify-content:space-between; padding-top:20px; margin-top:20px; border-top:1px solid #d9e4ed; }
#booking.acw .wpanel--contact .confidence { font-size:13px; }
@media(max-width:900px) {
 #booking.acw .acw-contact-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media(max-width:620px) {
 #booking.acw .review-trip { padding:16px; }
 #booking.acw .contact-details { padding:0; border:0; background:none; }
 #booking.acw .contact-methods,
 .home-hero__wizard #booking.acw .contact-methods { grid-template-columns:minmax(0,1fr); }
 #booking.acw .review-trip__details > div { grid-template-columns:60px minmax(0,1fr); gap:8px; font-size:13px; }
 #booking.acw .review-trip__total { flex-wrap:wrap; }
}
#booking.acw .wpanel--contact .cta { display:block; }
#booking.acw .wpanel--contact .acw-contact-actions { display:flex; width:100%; justify-content:space-between; gap:12px; }
#booking.acw .wpanel--contact .confidence { margin-top:12px; text-align:right; }
#booking.acw .contact-details .contact-details__label { padding:0; border:0; background:none; }
#booking.acw .contact-details input,
#booking.acw .contact-details input::placeholder { font-weight:400; }
#booking.acw .contact-details .booking-notes { padding-top:14px; border:0; border-top:1px solid #d9e4ed; background:none; }
#booking.acw .contact-details .booking-notes > summary { padding:0; font-size:14px; }
@media(min-width:901px) {
 #booking.acw .acw-contact-layout { align-items:stretch; }
 #booking.acw .review-trip { display:flex; flex-direction:column; }
 #booking.acw .review-trip__total { margin-top:auto; }
}
#booking.acw .contact-details .booking-notes > summary span { font-size:14px; line-height:1.5; }
