/*
 * Silver Service Taxi — Luxride-inspired visual refresh
 * Presentation layer only. Booking data, booking scripts, payment flows,
 * endpoints and form behaviour are intentionally untouched.
 */
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500&display=swap');

:root {
  --sst-font: 'Fira Sans', 'Helvetica Neue', Arial, sans-serif;
  --sst-black: #0b0b0d;
  --sst-carbon: #17171a;
  --sst-ink: #19191c;
  --sst-muted: #66666d;
  --sst-paper: #ffffff;
  --sst-surface: #f6f5f2;
  --sst-line: #e4e2dd;
  --sst-coral: #dc624f;
  --sst-coral-deep: #b94335;
  --sst-coral-soft: #fff0ed;
  --sst-pnav-h: 78px;
  --pnav-font: var(--sst-font);
  --pnav-h: var(--sst-pnav-h);
  --pnav-header-bg: var(--sst-black);
  --pnav-header-text: rgba(255,255,255,.82);
  --pnav-header-hover-bg: rgba(255,255,255,.10);
  --pnav-navy: var(--sst-coral);
  --pnav-navy-mid: var(--sst-coral);
  --pnav-navy-light: #ec7967;
  --pnav-navy-dark: var(--sst-coral-deep);
  --pnav-mob-bg: var(--sst-black);
}

html { background: var(--sst-paper); scroll-padding-top: 100px; }
body,
body.sst-premium-home {
  background: var(--sst-paper) !important;
  color: var(--sst-ink) !important;
  font-family: var(--sst-font) !important;
  font-size: 16px;
  line-height: 1.65;
}
body :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.btn,.button,.cta-button,.tab,.tab-button,[role="tab"]) {
  font-family: var(--sst-font) !important;
}
body :is(h1,h2,h3,h4,h5,h6) {
  color: var(--sst-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
}
body p, body li { color: var(--sst-muted) !important; }
body a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }

/* Header and desktop navigation */
body .pnav-topbar { display: none !important; }
body .pnav-header,
body.sst-premium-home .pnav-header {
  height: var(--sst-pnav-h) !important;
  top: 0 !important;
  background: rgba(11,11,13,.98) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
body .pnav-inner {
  max-width: 1440px !important;
  padding-inline: clamp(20px,3vw,42px) !important;
  gap: clamp(12px,2vw,28px) !important;
}
body .pnav-logo img,
body .pnav-header.pnav-scrolled .pnav-logo img {
  width: min(202px,22vw) !important;
  height: 53px !important;
  max-width: 202px !important;
  object-fit: contain !important;
  filter: none !important;
}
body .pnav-header .pnav-menu { gap: 4px !important; }
body .pnav-header .pnav-menu-link,
body.sst-premium-home .pnav-header .pnav-menu-link {
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  border-radius: 999px !important;
  padding: 10px 13px !important;
}
body .pnav-header .pnav-menu-link :is(svg,path),
body .pnav-header .pnav-menu-link svg { color: currentColor !important; }
body .pnav-header .pnav-menu-link:is(:hover,.pnav-active,.pnav-open) {
  background: rgba(255,255,255,.10) !important;
  color: #ffffff !important;
}
body .pnav-header .pnav-menu-link.pnav-active::after {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sst-coral);
  display: inline-block;
  margin-left: 2px;
}
body .pnav-header .pnav-cta-btn,
body.sst-premium-home .pnav-header .pnav-cta-btn {
  background: var(--sst-coral) !important;
  color: #ffffff !important;
  border: 1px solid var(--sst-coral) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  padding: 12px 20px !important;
  text-transform: none !important;
}
body .pnav-header .pnav-cta-btn:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--sst-black) !important;
  transform: translateY(-1px);
}

/* Desktop mega navigation */
@media (min-width:1025px) {
  body .pnav-mega-wrap,
  body .pnav-mega-wrap.pnav-mega-active { top: var(--sst-pnav-h) !important; }
  body .pnav-mega-panel,
  body .pnav-mega-panel.pnav-panel-active {
    background: var(--sst-paper) !important;
    border-top: 3px solid var(--sst-coral) !important;
    border-bottom: 1px solid var(--sst-line) !important;
    box-shadow: 0 24px 54px rgba(0,0,0,.18) !important;
  }
  body .pnav-mega-inner { max-width: 1380px !important; padding: 36px clamp(20px,3vw,42px) !important; }
  body .pnav-col-label,
  body .pnav-region-label,
  body .pnav-fleet-kicker,
  body .pnav-map-title { color: var(--sst-muted) !important; }
  body .pnav-service-link,
  body .pnav-region-link { border-color: var(--sst-line) !important; }
  body .pnav-service-title,
  body .pnav-region-link,
  body .pnav-fleet-heading,
  body .pnav-fleet-card-name { color: var(--sst-ink) !important; }
  body .pnav-service-link:hover .pnav-service-title,
  body .pnav-region-link:hover { color: var(--sst-coral-deep) !important; }
  body .pnav-viewall-btn,
  body .pnav-fleet-card-book {
    background: var(--sst-coral) !important;
    border-color: var(--sst-coral) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
  }
  body .pnav-viewall-btn:hover,
  body .pnav-fleet-card:hover .pnav-fleet-card-book { background: var(--sst-coral-deep) !important; }
  body .pnav-fleet-card { border-color: var(--sst-line) !important; border-radius: 12px !important; }
  body .pnav-fleet-card:hover { border-color: var(--sst-coral) !important; }
}

/* Mobile navigation drawer */
body .pnav-toggle,
body .pnav-mob-close {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  box-shadow: none !important;
}
body .pnav-toggle:hover,
body .pnav-mob-close:hover { background: rgba(255,255,255,.10) !important; transform: none !important; }
body .pnav-toggle-line { background: #ffffff !important; }
body .pnav-mobile-overlay { background: rgba(0,0,0,.72) !important; backdrop-filter: blur(5px) !important; }
body .pnav-mobile-panel {
  width: min(100vw,410px) !important;
  background: var(--sst-black) !important;
  border-left: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: -16px 0 56px rgba(0,0,0,.42) !important;
}
body :is(.pnav-mob-header,.pnav-mob-body,.pnav-mob-footer) { background: var(--sst-black) !important; }
body .pnav-mob-header { padding: calc(18px + env(safe-area-inset-top,0px)) 20px 17px !important; border-color: rgba(255,255,255,.13) !important; }
body .pnav-mob-logo img { width: min(198px,56vw) !important; height: 47px !important; object-fit: contain !important; }
body .pnav-mob-body { padding: 10px 20px 20px !important; gap: 0 !important; }
body .pnav-mob-nav-item { border-bottom: 1px solid rgba(255,255,255,.13) !important; border-radius: 0 !important; }
body .pnav-mob-link {
  min-height: 57px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -.01em !important;
  padding: 15px 2px !important;
  text-transform: none !important;
}
body .pnav-mob-link-icon { display: none !important; }
body .pnav-mob-chevron { stroke: rgba(255,255,255,.75) !important; }
body .pnav-mob-link.pnav-mob-open { color: var(--sst-coral) !important; background: transparent !important; }
body .pnav-mob-accordion { background: rgba(255,255,255,.06) !important; border-radius: 10px !important; margin: 0 0 10px !important; }
body .pnav-mob-acc-inner { background: transparent !important; padding: 8px 12px 12px !important; }
body .pnav-mob-section-label { color: rgba(255,255,255,.48) !important; }
body .pnav-mob-sub-link { color: rgba(255,255,255,.78) !important; font-size: 14px !important; padding: 10px 8px !important; }
body .pnav-mob-sub-link:hover { color: #ffffff !important; background: rgba(255,255,255,.08) !important; }
body .pnav-mob-sub-dot { background: var(--sst-coral) !important; }
body .pnav-mob-book-btn {
  background: var(--sst-coral) !important;
  border: 1px solid var(--sst-coral) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  padding: 15px 20px !important;
}
body .pnav-mob-book-btn:hover { background: #ffffff !important; color: var(--sst-black) !important; }
body .pnav-mob-footer { border-color: rgba(255,255,255,.13) !important; }
body .pnav-mob-contact-link { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.15) !important; color: #ffffff !important; }

/* Homepage presentation */
body.sst-premium-home .lux-hero {
  min-height: min(760px,calc(100vh - var(--sst-pnav-h))) !important;
  padding: 0 !important;
  background: var(--sst-black) !important;
}
body.sst-premium-home .lux-hero-bg { filter: grayscale(.1) contrast(1.05) brightness(.72) !important; }
body.sst-premium-home .lux-hero-overlay {
  background: linear-gradient(90deg, rgba(7,7,9,.92) 0%, rgba(7,7,9,.66) 44%, rgba(7,7,9,.22) 100%) !important;
}
body.sst-premium-home .lux-hero-inner {
  max-width: 1340px !important;
  padding: clamp(72px,10vw,134px) clamp(24px,4vw,56px) clamp(70px,9vw,110px) !important;
}
body.sst-premium-home .lux-hero-content { max-width: 720px !important; }
body.sst-premium-home .lux-hero-eyebrow,
body.sst-premium-home .lux-hero-micro {
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
body.sst-premium-home .lux-hero-title {
  max-width: 700px !important;
  color: #ffffff !important;
  font-size: clamp(3rem,5.3vw,5.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.05em !important;
  line-height: .98 !important;
  text-transform: none !important;
}
body.sst-premium-home .lux-hero-title .lux-title-gold { color: var(--sst-coral) !important; }
body.sst-premium-home .lux-title-sub { color: rgba(255,255,255,.72) !important; font-size: clamp(1.1rem,1.7vw,1.35rem) !important; }
body.sst-premium-home .lux-hero-desc { color: rgba(255,255,255,.76) !important; max-width: 570px !important; }
body.sst-premium-home .lux-hero-actions { gap: 12px !important; }
body.sst-premium-home :is(.lux-btn-primary,.lux-btn-gold) {
  height: 54px !important;
  padding: 0 25px !important;
  background: var(--sst-coral) !important;
  border: 1px solid var(--sst-coral) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: none !important;
}
body.sst-premium-home :is(.lux-btn-primary,.lux-btn-gold):hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--sst-black) !important; }
body.sst-premium-home .lux-btn-ghost {
  height: 54px !important;
  padding: 0 25px !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body.sst-premium-home .lux-btn-ghost:hover { background: rgba(255,255,255,.12) !important; border-color: #ffffff !important; }
body.sst-premium-home .lux-fare-widget {
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.30) !important;
}
body.sst-premium-home .lux-fare-widget::before { background: var(--sst-coral) !important; }
body.sst-premium-home .lux-fare-header { color: var(--sst-ink) !important; font-size: 19px !important; font-weight: 700 !important; letter-spacing: -.02em !important; text-transform: none !important; }
body.sst-premium-home .lux-fare-subtitle { color: var(--sst-muted) !important; }
body.sst-premium-home .lux-fare-label { color: var(--sst-ink) !important; font-size: 12px !important; letter-spacing: .08em !important; }
body.sst-premium-home .lux-fare-input { border-color: #d9d7d3 !important; border-radius: 8px !important; }
body.sst-premium-home .lux-fare-input:focus { border-color: var(--sst-coral) !important; box-shadow: 0 0 0 3px rgba(220,98,79,.16) !important; }
body.sst-premium-home .lux-fare-btn { background: var(--sst-coral) !important; border-radius: 999px !important; box-shadow: none !important; font-size: 14px !important; letter-spacing: .01em !important; text-transform: none !important; }
body.sst-premium-home .lux-fare-btn:hover { background: var(--sst-coral-deep) !important; }
body.sst-premium-home .lux-section { padding-block: clamp(66px,8vw,112px) !important; }
body.sst-premium-home .lux-section-offwhite,
body.sst-premium-home .lux-section-dark { background: var(--sst-surface) !important; }
body.sst-premium-home .lux-section-header { max-width: 710px !important; margin-bottom: clamp(32px,5vw,56px) !important; }
body.sst-premium-home .lux-badge { background: var(--sst-coral-soft) !important; border-color: transparent !important; border-radius: 999px !important; color: var(--sst-coral-deep) !important; font-size: 12px !important; letter-spacing: .06em !important; text-transform: uppercase !important; }
body.sst-premium-home .lux-section-title { color: var(--sst-ink) !important; font-size: clamp(2.15rem,3.6vw,3.4rem) !important; font-weight: 700 !important; letter-spacing: -.04em !important; text-transform: none !important; }
body.sst-premium-home .lux-section-title span { color: var(--sst-coral) !important; }
body.sst-premium-home .lux-section-sub { color: var(--sst-muted) !important; }
body.sst-premium-home .lux-gold-line { background: var(--sst-coral) !important; }
body.sst-premium-home .lux-fleet-grid { gap: 20px !important; }
body.sst-premium-home .lux-fleet-card,
body.sst-premium-home .lux-testimonial {
  border: 1px solid var(--sst-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
body.sst-premium-home .lux-fleet-card:hover,
body.sst-premium-home .lux-testimonial:hover { border-color: #c9c4bc !important; box-shadow: 0 18px 40px rgba(0,0,0,.08) !important; transform: translateY(-4px) !important; }
body.sst-premium-home .lux-fleet-title,
body.sst-premium-home .lux-testimonial-name { color: var(--sst-ink) !important; text-transform: none !important; }
body.sst-premium-home .lux-fleet-badge { border-radius: 999px !important; }
body.sst-premium-home .lux-badge-popular,
body.sst-premium-home .lux-badge-luxury { background: var(--sst-coral) !important; color: #ffffff !important; }
body.sst-premium-home .lux-fleet-tags span { background: var(--sst-surface) !important; color: var(--sst-muted) !important; }
body.sst-premium-home .lux-fleet-btn { background: var(--sst-ink) !important; border-radius: 999px !important; color: #ffffff !important; text-transform: none !important; }
body.sst-premium-home .lux-fleet-btn:hover { background: var(--sst-coral) !important; }
body.sst-premium-home .lux-feature-card { background: #ffffff !important; border: 1px solid var(--sst-line) !important; border-radius: 16px !important; }
body.sst-premium-home .lux-feature-card:hover { border-color: #c9c4bc !important; background: #ffffff !important; }
body.sst-premium-home .lux-feature-icon { background: var(--sst-coral-soft) !important; border-color: transparent !important; }
body.sst-premium-home .lux-feature-icon svg { stroke: var(--sst-coral) !important; }
body.sst-premium-home .lux-feature-title { color: var(--sst-ink) !important; text-transform: none !important; }
body.sst-premium-home .lux-feature-desc { color: var(--sst-muted) !important; }
body.sst-premium-home .lux-stats-bar { background: var(--sst-black) !important; border-color: rgba(255,255,255,.14) !important; }
body.sst-premium-home .lux-stat-num { color: #ffffff !important; }
body.sst-premium-home .lux-stat-label { color: rgba(255,255,255,.62) !important; }
body.sst-premium-home .lux-stat-divider { background: rgba(255,255,255,.18) !important; }

/* Shared public-page layout */
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) {
  min-height: clamp(290px,34vw,460px) !important;
  background: var(--sst-black) !important;
  padding-block: clamp(64px,9vw,128px) !important;
}
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero)::before {
  background: linear-gradient(98deg,rgba(11,11,13,.94),rgba(11,11,13,.58)) !important;
}
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) :is(h1,h2) {
  color: #ffffff !important;
  font-size: clamp(2.25rem,4.5vw,4rem) !important;
  text-shadow: none !important;
}
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) p { color: rgba(255,255,255,.78) !important; }
body :is(.section,.loc-section,.loc-section-white) { background: var(--sst-paper) !important; padding-block: clamp(56px,7vw,104px) !important; }
body :is(.section-dark,.dark-section) { background: var(--sst-black) !important; }
body :is(.section-dark,.dark-section) :is(h1,h2,h3,h4) { color: #ffffff !important; }
body :is(.section-dark,.dark-section) :is(p,li) { color: rgba(255,255,255,.72) !important; }
body :is(.container,.container-wide,.content-container,.section-inner,.page-container,.location-container,.service-container) {
  width: min(1220px,calc(100% - 48px)) !important;
}
body :is(.card,.service-card,.location-card,.fleet-card,.feature-card,.info-card,.contact-card,.pricing-card,.testimonial-card,.location-item,.service-item,.loc-feature-card,.loc-fare-card,.loc-route-card,.loc-faq-item,.route-card,.fare-card,.faq-item,.policy-section) {
  background: var(--sst-paper) !important;
  border: 1px solid var(--sst-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
body :is(.card,.service-card,.location-card,.fleet-card,.feature-card,.info-card,.contact-card,.pricing-card,.testimonial-card,.location-item,.service-item,.loc-feature-card,.loc-fare-card,.loc-route-card,.loc-faq-item,.route-card,.fare-card,.faq-item):hover {
  border-color: #c8c3ba !important;
  box-shadow: 0 17px 38px rgba(0,0,0,.08) !important;
  transform: translateY(-3px) !important;
}
body :is(.section-eyebrow,.loc-badge,.route-chip) { color: var(--sst-coral-deep) !important; }
body :is(.loc-feature-icon,.premium-svg-icon,.service-icon,.why-icon) {
  background: var(--sst-coral-soft) !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--sst-coral) !important;
}

/* Shared CTA, form and tab treatments */
body :is(.btn-primary,.button-primary,.primary-btn,.cta-button,.book-now,.book-btn,.loc-route-cta,.loc-fare-cta,.loc-hero-btn-primary,.footer-cta,.pnav-viewall-btn) {
  background: var(--sst-coral) !important;
  border: 1px solid var(--sst-coral) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body :is(.btn-primary,.button-primary,.primary-btn,.cta-button,.book-now,.book-btn,.loc-route-cta,.loc-fare-cta,.loc-hero-btn-primary,.footer-cta,.pnav-viewall-btn):hover {
  background: var(--sst-coral-deep) !important;
  border-color: var(--sst-coral-deep) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}
body :is(.btn-outline,.btn-secondary,.loc-hero-btn-ghost) {
  background: transparent !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
}
body :is(input,select,textarea) {
  border: 1px solid #d4d1ca !important;
  border-radius: 8px !important;
  color: var(--sst-ink) !important;
  font-family: var(--sst-font) !important;
}
body :is(input,select,textarea):focus { border-color: var(--sst-coral) !important; box-shadow: 0 0 0 3px rgba(220,98,79,.15) !important; outline: 0 !important; }
body :is(.tab,.tab-button,[role="tab"]) {
  background: transparent !important;
  border: 1px solid var(--sst-line) !important;
  border-radius: 999px !important;
  color: var(--sst-muted) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 10px 17px !important;
}
body :is(.tab,.tab-button,[role="tab"]):hover { border-color: var(--sst-coral) !important; color: var(--sst-coral-deep) !important; }
body :is(.tab.active,.tab-button.active,[role="tab"][aria-selected="true"]) { background: var(--sst-coral) !important; border-color: var(--sst-coral) !important; color: #ffffff !important; }
body :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--sst-coral) !important; outline-offset: 3px !important; }

/* Footer */
body :is(footer,.footer,.footer-premium) {
  background: var(--sst-black) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.72) !important;
}
body :is(footer,.footer,.footer-premium) :is(h1,h2,h3,h4,a) { color: #ffffff !important; }
body :is(footer,.footer,.footer-premium) :is(p,li,.footer-brand-desc,.footer-contact-value,.footer-bottom-disclaimer) { color: rgba(255,255,255,.66) !important; }
body :is(footer,.footer,.footer-premium) a:hover { color: var(--sst-coral) !important; }
body .footer-brand-logo { max-width: min(255px,74vw) !important; height: auto !important; filter: none !important; }
body .footer-col-title,
body .footer-col-title-premium,
body .footer-contact-label { color: var(--sst-coral) !important; }
body .footer-social-btn,
body .footer-social-premium .footer-social-btn { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 50% !important; }
body .footer-social-btn:hover,
body .footer-social-premium .footer-social-btn:hover { background: var(--sst-coral) !important; border-color: var(--sst-coral) !important; color: #ffffff !important; }

@media (max-width:1200px) and (min-width:1025px) {
  body .pnav-header { height: var(--sst-pnav-h) !important; }
  body .pnav-inner { flex-wrap: nowrap !important; height: 100% !important; }
  body .pnav-inner nav { order: initial !important; flex-basis: auto !important; }
  body .pnav-menu-link { padding-inline: 8px !important; font-size: 12px !important; }
}
@media (max-width:1024px) {
  :root { --sst-pnav-h: 72px; --pnav-h: var(--sst-pnav-h); }
  body { padding-top: var(--sst-pnav-h) !important; }
  body .pnav-header { position: fixed !important; }
  body.sst-premium-home .lux-hero { min-height: 660px !important; }
  body.sst-premium-home .lux-hero-title { font-size: clamp(2.8rem,7.2vw,4.3rem) !important; }
  body.sst-premium-home .lux-fleet-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  :root { --sst-pnav-h: 68px; --pnav-h: var(--sst-pnav-h); }
  body .pnav-inner { padding-inline: 18px !important; }
  body .pnav-logo img { width: 178px !important; height: 47px !important; }
  body :is(.container,.container-wide,.content-container,.section-inner,.page-container,.location-container,.service-container) { width: min(100% - 36px,1220px) !important; }
  body.sst-premium-home .lux-hero { min-height: 630px !important; }
  body.sst-premium-home .lux-hero-bg { background-position: 60% center !important; }
  body.sst-premium-home .lux-hero-overlay { background: linear-gradient(90deg,rgba(7,7,9,.89),rgba(7,7,9,.52)) !important; }
  body.sst-premium-home .lux-hero-inner { padding: 70px 18px 58px !important; }
  body.sst-premium-home .lux-hero-title { font-size: clamp(2.7rem,12vw,4rem) !important; }
  body.sst-premium-home .lux-hero-actions { flex-direction: column !important; align-items: stretch !important; }
  body.sst-premium-home :is(.lux-btn-primary,.lux-btn-gold,.lux-btn-ghost) { justify-content: center !important; width: 100% !important; }
  body.sst-premium-home .lux-fare-widget { padding: 24px 20px !important; border-radius: 14px !important; }
  body.sst-premium-home .lux-fare-fields { display: flex !important; gap: 14px !important; }
  body.sst-premium-home .lux-fare-btn { width: 100% !important; }
  body.sst-premium-home .lux-fleet-grid,
  body.sst-premium-home .lux-features-grid,
  body.sst-premium-home .lux-testimonials-grid { grid-template-columns: 1fr !important; }
  body.sst-premium-home .lux-stat { padding: 18px 22px !important; }
  body.sst-premium-home .lux-stat-divider { display: none !important; }
  body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) { min-height: 280px !important; padding-block: 56px !important; }
  body :is(.tab,.tab-button,[role="tab"]) { min-height: 42px !important; }
}
@media (max-width:440px) {
  body .pnav-logo img { width: 158px !important; height: 43px !important; }
  body .pnav-toggle { width: 40px !important; height: 40px !important; }
  body.sst-premium-home .lux-hero-title { font-size: 2.65rem !important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}


/* ── HOMEPAGE COMPOSITION — full-bleed editorial hero plus journey bar ────
   Replaces the previous split-card composition while retaining the existing
   fare controls (#qb-pickup, #qb-dropoff, #qb-btn) and quickEstimate() hook. */
body.sst-premium-home .lux-hero {
  min-height: 720px !important;
  overflow: visible !important;
  position: relative !important;
}
body.sst-premium-home .lux-hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 160px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.34));
  pointer-events: none;
}
body.sst-premium-home .lux-hero-bg {
  transform: none !important;
  filter: grayscale(.08) contrast(1.07) brightness(.74) !important;
}
body.sst-premium-home .lux-hero-overlay {
  background: linear-gradient(90deg, rgba(8,8,10,.90) 0%, rgba(8,8,10,.64) 43%, rgba(8,8,10,.20) 100%) !important;
}
body.sst-premium-home .lux-hero-inner {
  position: relative !important;
  display: block !important;
  min-height: 720px !important;
  max-width: 1440px !important;
  padding: clamp(110px,12vw,154px) clamp(24px,5vw,72px) 160px !important;
  z-index: 3 !important;
}
/* Prior page layers left the animated hero copy with bright shadow treatment.
   The refreshed editorial hero keeps all key journey copy crisp and legible. */
body.sst-premium-home .lux-hero .animate-in,
body.sst-premium-home .lux-hero .animate-delay-1,
body.sst-premium-home .lux-hero .animate-delay-2,
body.sst-premium-home .lux-hero .animate-delay-3,
body.sst-premium-home .lux-hero .animate-delay-4 {
  animation: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body.sst-premium-home .lux-hero-content {
  position: relative !important;
  z-index: 4 !important;
  width: min(650px,100%) !important;
  max-width: 650px !important;
  padding: 0 !important;
}
body.sst-premium-home .lux-hero-eyebrow { margin-bottom: 20px !important; }
body.sst-premium-home .lux-hero-eyebrow .lux-eyebrow-text {
  color: rgba(255,255,255,.80) !important;
  -webkit-text-fill-color: rgba(255,255,255,.80) !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-eyebrow-line { display: block !important; background: rgba(255,255,255,.46) !important; }
body.sst-premium-home .lux-hero-title,
body.sst-premium-home .lux-hero-title .lux-title-gold,
body.sst-premium-home .lux-hero-title .lux-title-sub {
  filter: none !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero-title { margin: 0 0 22px !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
body.sst-premium-home .lux-hero-title .lux-title-gold { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
body.sst-premium-home .lux-hero-title .lux-title-sub {
  color: var(--sst-coral) !important;
  -webkit-text-fill-color: var(--sst-coral) !important;
  font-size: clamp(1.1rem,1.65vw,1.35rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}
body.sst-premium-home .lux-hero-desc,
body.sst-premium-home .lux-hero-micro {
  color: rgba(255,255,255,.82) !important;
  -webkit-text-fill-color: rgba(255,255,255,.82) !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero-desc { font-size: 17px !important; line-height: 1.7 !important; margin-bottom: 30px !important; }
body.sst-premium-home .lux-hero-micro { display: none !important; }
body.sst-premium-home .lux-fare-widget {
  position: absolute !important;
  z-index: 6 !important;
  left: clamp(24px,5vw,72px) !important;
  right: clamp(24px,5vw,72px) !important;
  bottom: -74px !important;
  width: auto !important;
  max-width: none !important;
  padding: 26px 30px 20px !important;
  border-radius: 12px !important;
  border-top: 3px solid var(--sst-coral) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.26) !important;
}
body.sst-premium-home .lux-fare-widget::before { display: none !important; }
body.sst-premium-home .lux-fare-header { display: inline-flex !important; margin-right: 10px !important; font-size: 17px !important; }
body.sst-premium-home .lux-fare-subtitle { display: inline !important; font-size: 13px !important; }
body.sst-premium-home .lux-fare-fields {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto !important;
  gap: 14px !important;
  align-items: end !important;
  margin-top: 18px !important;
}
body.sst-premium-home .lux-fare-field { gap: 7px !important; }
body.sst-premium-home .lux-fare-label { color: var(--sst-ink) !important; font-size: 11px !important; font-weight: 700 !important; }
body.sst-premium-home .lux-fare-input { height: 50px !important; padding-inline: 15px !important; background: #faf9f7 !important; }
body.sst-premium-home .lux-fare-btn { width: auto !important; min-width: 184px !important; height: 50px !important; padding-inline: 22px !important; }
body.sst-premium-home .lux-fare-trust { justify-content: flex-start !important; margin: 14px 0 0 !important; gap: 14px !important; }
body.sst-premium-home .lux-fare-trust span { font-size: 11px !important; color: var(--sst-muted) !important; }
body.sst-premium-home .lux-scroll-hint { display: none !important; }
body.sst-premium-home #services { padding-top: 150px !important; }

/* Reference-like image-led horizontal fleet browsing on smaller screens. */
@media (max-width:760px) {
  body.sst-premium-home .lux-hero,
  body.sst-premium-home .lux-hero-inner { min-height: 780px !important; }
  body.sst-premium-home .lux-hero-inner { padding: 100px 24px 280px !important; }
  body.sst-premium-home .lux-hero-bg { background-position: 57% center !important; }
  body.sst-premium-home .lux-hero-overlay { background: linear-gradient(180deg,rgba(8,8,10,.74) 0%,rgba(8,8,10,.83) 72%,rgba(8,8,10,.93) 100%) !important; }
  body.sst-premium-home .lux-hero-content { max-width: none !important; }
  body.sst-premium-home .lux-hero-title { font-size: clamp(2.65rem,12.5vw,3.35rem) !important; line-height: 1.01 !important; }
  body.sst-premium-home .lux-hero-title .lux-title-sub { display: block !important; margin-top: 14px !important; font-size: 1.05rem !important; }
  body.sst-premium-home .lux-hero-desc { font-size: 16px !important; }
  body.sst-premium-home .lux-fare-widget {
    left: 18px !important;
    right: 18px !important;
    bottom: -185px !important;
    padding: 22px 18px 18px !important;
    border-radius: 12px !important;
  }
  body.sst-premium-home .lux-fare-header { display: flex !important; font-size: 17px !important; }
  body.sst-premium-home .lux-fare-subtitle { display: block !important; font-size: 12px !important; margin: 5px 0 0 !important; }
  body.sst-premium-home .lux-fare-fields { grid-template-columns: 1fr !important; gap: 12px !important; margin-top: 16px !important; }
  body.sst-premium-home .lux-fare-input { height: 48px !important; }
  body.sst-premium-home .lux-fare-btn { width: 100% !important; height: 50px !important; }
  body.sst-premium-home .lux-fare-trust { display: none !important; }
  body.sst-premium-home #services { padding-top: 240px !important; }
  body.sst-premium-home .lux-fleet-grid {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    gap: 14px !important;
    margin-right: -18px !important;
    padding: 2px 18px 16px 0 !important;
    scrollbar-width: thin;
  }
  body.sst-premium-home .lux-fleet-card { flex: 0 0 min(82vw,318px) !important; min-width: min(82vw,318px) !important; scroll-snap-align: start; }
}


/* Final homepage specificity guard: legacy home rules use the same three-part
   selector, so retain the hero ancestor here to keep this new visual language
   authoritative without modifying the existing content or fare controls. */
body.sst-premium-home .lux-hero .lux-hero-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: var(--sst-font) !important;
  font-size: clamp(3rem,5.3vw,5.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.05em !important;
  line-height: .98 !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero .lux-hero-title .lux-title-gold,
body.sst-premium-home .lux-hero .lux-hero-title .lux-title-gold * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero .lux-title-sub,
body.sst-premium-home .lux-hero .lux-title-sub * {
  color: var(--sst-coral) !important;
  -webkit-text-fill-color: var(--sst-coral) !important;
  font-family: var(--sst-font) !important;
  font-size: clamp(1.1rem,1.65vw,1.35rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero .lux-hero-desc,
body.sst-premium-home .lux-hero .lux-hero-micro {
  color: rgba(255,255,255,.82) !important;
  -webkit-text-fill-color: rgba(255,255,255,.82) !important;
  font-family: var(--sst-font) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero .lux-btn-primary,
body.sst-premium-home .lux-hero .lux-btn-gold,
body.sst-premium-home .lux-hero .lux-btn-ghost {
  font-family: var(--sst-font) !important;
  text-shadow: none !important;
}
body.sst-premium-home .lux-hero .lux-btn-ghost {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.55) !important;
}
body.sst-premium-home .lux-hero .lux-btn-ghost:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: rgba(255,255,255,.12) !important;
}
@media (max-width:760px) {
  body.sst-premium-home .lux-hero .lux-hero-title { font-size: clamp(2.65rem,12.5vw,3.35rem) !important; }
  body.sst-premium-home .lux-hero .lux-title-sub { font-size: 1.05rem !important; }
}


/* ── LOCATION / SERVICE LANDING TEMPLATES ──────────────────────────────────
   Hundreds of local-area pages use the .stlp shell. These rules replace their
   older blue/teal treatment with the same black, white and coral language as
   the rebuilt homepage, while retaining each page's original fare form and
   calculation functions. */
body .stlp {
  --primary: var(--sst-coral) !important;
  --primary-dark: var(--sst-coral-deep) !important;
  --accent: var(--sst-coral) !important;
  --text-primary: var(--sst-ink) !important;
  --text-secondary: var(--sst-muted) !important;
  --text-muted: var(--sst-muted) !important;
  background: var(--sst-paper) !important;
  color: var(--sst-ink) !important;
  font-family: var(--sst-font) !important;
}
body .stlp .promo-bar { display: none !important; }
body .stlp .hero {
  position: relative !important;
  min-height: clamp(560px,54vw,690px) !important;
  padding: clamp(82px,9vw,130px) 0 clamp(62px,7vw,94px) !important;
  background: var(--sst-black) !important;
  overflow: hidden !important;
}
body .stlp .hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(92deg,rgba(8,8,10,.93) 0%,rgba(8,8,10,.72) 45%,rgba(8,8,10,.32) 100%) !important;
}
body .stlp .hero-bg-img {
  inset: 0 !important;
  filter: grayscale(.32) contrast(1.08) brightness(.74) !important;
  opacity: 1 !important;
}
body .stlp .hero .container { position: relative !important; z-index: 2 !important; }
body .stlp .hero-grid {
  width: min(1220px,calc(100% - 48px)) !important;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.86fr) !important;
  gap: clamp(40px,7vw,100px) !important;
  align-items: center !important;
}
body .stlp .hero-badge {
  background: rgba(220,98,79,.14) !important;
  border: 1px solid rgba(220,98,79,.45) !important;
  border-radius: 999px !important;
  color: #ffb0a4 !important;
  font-family: var(--sst-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  padding: 8px 13px !important;
}
body .stlp .hero-badge .premium-svg-icon,
body .stlp .hero-badge svg { color: currentColor !important; background: transparent !important; }
body .stlp .hero h1 {
  color: #ffffff !important;
  font-family: var(--sst-font) !important;
  font-size: clamp(2.7rem,5vw,4.9rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.055em !important;
  line-height: .99 !important;
  text-shadow: none !important;
}
body .stlp .hero h1 .accent { color: var(--sst-coral) !important; -webkit-text-fill-color: var(--sst-coral) !important; }
body .stlp .hero-sub {
  color: rgba(255,255,255,.80) !important;
  font-family: var(--sst-font) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
  max-width: 640px !important;
}
body .stlp .hero-actions { gap: 12px !important; margin-top: 28px !important; }
body .stlp .hero-actions a {
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-family: var(--sst-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
}
body .stlp .hero-actions .primary { background: var(--sst-coral) !important; border: 1px solid var(--sst-coral) !important; color: #ffffff !important; padding-inline: 22px !important; }
body .stlp .hero-actions .primary:hover { background: #ffffff !important; border-color: #ffffff !important; color: var(--sst-black) !important; }
body .stlp .hero-actions .secondary { background: transparent !important; border: 1px solid rgba(255,255,255,.55) !important; color: #ffffff !important; padding-inline: 22px !important; }
body .stlp .hero-actions .secondary:hover { background: rgba(255,255,255,.10) !important; border-color: #ffffff !important; }
body .stlp .hero-stats { margin-top: 42px !important; gap: 26px !important; }
body .stlp .hero-stat { border: 0 !important; padding: 0 !important; }
body .stlp .hero-stat strong { color: #ffffff !important; font-family: var(--sst-font) !important; font-size: 27px !important; letter-spacing: -.04em !important; }
body .stlp .hero-stat > span { color: rgba(255,255,255,.60) !important; font-family: var(--sst-font) !important; font-size: 10px !important; letter-spacing: .09em !important; }
body .stlp .hero-stat .premium-svg-icon { color: var(--sst-coral) !important; background: transparent !important; }

body .stlp .fare-card {
  background: #ffffff !important;
  border: 0 !important;
  border-top: 3px solid var(--sst-coral) !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.30) !important;
  padding: 30px !important;
}
body .stlp .fare-card h3 { color: var(--sst-ink) !important; font-family: var(--sst-font) !important; font-size: 23px !important; font-weight: 700 !important; letter-spacing: -.035em !important; }
body .stlp .fare-card .subtitle,
body .stlp .fare-card .card-note { color: var(--sst-muted) !important; font-family: var(--sst-font) !important; }
body .stlp .fare-card :is(input,select) {
  min-height: 49px !important;
  background: #faf9f7 !important;
  border: 1px solid #d8d4cc !important;
  border-radius: 8px !important;
  color: var(--sst-ink) !important;
  font-family: var(--sst-font) !important;
  box-shadow: none !important;
}
body .stlp .fare-card :is(input,select):focus { border-color: var(--sst-coral) !important; box-shadow: 0 0 0 3px rgba(220,98,79,.15) !important; }
body .stlp .fare-card .calc-btn,
body .stlp .fare-card .card-book {
  background: var(--sst-coral) !important;
  border: 1px solid var(--sst-coral) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-family: var(--sst-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
}
body .stlp .fare-card .calc-btn:hover,
body .stlp .fare-card .card-book:hover { background: var(--sst-coral-deep) !important; border-color: var(--sst-coral-deep) !important; }
body .stlp .fare-card .card-book { background: transparent !important; border-color: var(--sst-coral) !important; color: var(--sst-coral-deep) !important; }
body .stlp .fare-card .card-book:hover { background: var(--sst-coral) !important; color: #ffffff !important; }

body .stlp .trust-bar { background: var(--sst-black) !important; border: 0 !important; padding: 28px 0 !important; }
body .stlp .trust-items { width: min(1220px,calc(100% - 48px)) !important; gap: 22px !important; }
body .stlp .trust-item { color: rgba(255,255,255,.76) !important; font-family: var(--sst-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .03em !important; }
body .stlp .trust-icon,
body .stlp .trust-item .premium-svg-icon { background: rgba(220,98,79,.14) !important; color: #ff9b8d !important; border-radius: 50% !important; }

body .stlp .section { background: var(--sst-paper) !important; padding-block: clamp(62px,7vw,102px) !important; }
body .stlp .section:nth-of-type(even) { background: var(--sst-surface) !important; }
body .stlp .section-header h2,
body .stlp .section-title { color: var(--sst-ink) !important; font-family: var(--sst-font) !important; font-weight: 700 !important; letter-spacing: -.04em !important; }
body .stlp .section-header p,
body .stlp .section p { color: var(--sst-muted) !important; }
body .stlp :is(.service-card,.why-card,.route-card,.fare-card,.faq-item,.loc-feature-card,.loc-fare-card,.loc-route-card) {
  background: #ffffff !important;
  border: 1px solid var(--sst-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body .stlp :is(.service-card,.why-card,.route-card,.fare-card,.loc-feature-card,.loc-fare-card,.loc-route-card):hover { border-color: #c7c0b8 !important; box-shadow: 0 17px 38px rgba(0,0,0,.08) !important; transform: translateY(-3px) !important; }
body .stlp .service-icon,
body .stlp .why-num,
body .stlp .premium-svg-icon { background: var(--sst-coral-soft) !important; color: var(--sst-coral) !important; border-radius: 50% !important; }
body .stlp .faq-q { color: var(--sst-ink) !important; font-family: var(--sst-font) !important; }
body .stlp .faq-a { color: var(--sst-muted) !important; }

@media (max-width:820px) {
  body .stlp .hero { min-height: auto !important; padding-block: 82px 72px !important; }
  body .stlp .hero::before { background: linear-gradient(180deg,rgba(8,8,10,.76),rgba(8,8,10,.94)) !important; }
  body .stlp .hero-grid { width: min(100% - 36px,1220px) !important; grid-template-columns: 1fr !important; gap: 42px !important; }
  body .stlp .hero h1 { font-size: clamp(2.55rem,12vw,3.6rem) !important; }
  body .stlp .hero-sub { font-size: 16px !important; }
  body .stlp .hero-stats { margin-top: 30px !important; justify-content: flex-start !important; }
  body .stlp .fare-card { padding: 23px 19px !important; }
  body .stlp .trust-items { width: min(100% - 36px,1220px) !important; grid-template-columns: 1fr 1fr !important; }
}


/* ── WHITE-FIRST SITEWIDE THEME ────────────────────────────────────────────
   The requested direction is a bright, white canvas. This final presentation
   layer retains the same layouts, forms, links, fare calculations, tabs and
   menu behavior, while removing the black visual treatment from every shared
   desktop and mobile component. */
:root {
  --sst-black: #ffffff;
  --sst-carbon: #ffffff;
  --sst-ink: #1b1c20;
  --sst-muted: #65676d;
  --sst-paper: #ffffff;
  --sst-surface: #f7f7f5;
  --sst-line: #e5e5e1;
  --pnav-header-bg: #ffffff;
  --pnav-header-text: var(--sst-ink);
  --pnav-header-hover-bg: var(--sst-coral-soft);
  --pnav-mob-bg: #ffffff;
}
html, body, body.sst-premium-home { background: #ffffff !important; color: var(--sst-ink) !important; }

/* White navigation and logo treatment on desktop. */
body .pnav-header,
body.sst-premium-home .pnav-header {
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid var(--sst-line) !important;
  box-shadow: 0 6px 22px rgba(20,20,22,.07) !important;
}
body .pnav-header .pnav-menu-link,
body.sst-premium-home .pnav-header .pnav-menu-link { color: var(--sst-ink) !important; }
body .pnav-header .pnav-menu-link:is(:hover,.pnav-active,.pnav-open) {
  background: var(--sst-coral-soft) !important;
  color: var(--sst-coral-deep) !important;
}
body .pnav-header .pnav-cta-btn:hover { background: var(--sst-ink) !important; border-color: var(--sst-ink) !important; color: #ffffff !important; }
body .pnav-toggle,
body .pnav-mob-close { border-color: #c9cac7 !important; background: #ffffff !important; }
body .pnav-toggle:hover,
body .pnav-mob-close:hover { background: var(--sst-coral-soft) !important; }
body .pnav-toggle-line { background: var(--sst-ink) !important; }

/* White mobile drawer; supplied black transparent wordmark stays legible. */
body .pnav-mobile-panel { background: #ffffff !important; border-left-color: var(--sst-line) !important; box-shadow: -16px 0 56px rgba(20,20,22,.14) !important; }
body :is(.pnav-mob-header,.pnav-mob-body,.pnav-mob-footer) { background: #ffffff !important; }
body .pnav-mob-header,
body .pnav-mob-footer { border-color: var(--sst-line) !important; }
body .pnav-mob-nav-item { border-bottom-color: var(--sst-line) !important; }
body .pnav-mob-link { color: var(--sst-ink) !important; }
body .pnav-mob-chevron { stroke: var(--sst-ink) !important; }
body .pnav-mob-accordion { background: var(--sst-surface) !important; }
body .pnav-mob-section-label { color: var(--sst-muted) !important; }
body .pnav-mob-sub-link { color: var(--sst-ink) !important; }
body .pnav-mob-sub-link:hover { color: var(--sst-coral-deep) !important; background: var(--sst-coral-soft) !important; }
body .pnav-mob-contact-link { background: var(--sst-surface) !important; border-color: var(--sst-line) !important; color: var(--sst-ink) !important; }
body .pnav-mob-book-btn:hover { background: var(--sst-ink) !important; border-color: var(--sst-ink) !important; color: #ffffff !important; }

/* Bright homepage: a subtle vehicle image stays as an editorial watermark,
   while all content, form panels and the canvas remain white. */
body.sst-premium-home .lux-hero {
  min-height: 680px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--sst-line) !important;
}
body.sst-premium-home .lux-hero::after { background: linear-gradient(180deg,rgba(255,255,255,0),#ffffff 96%) !important; }
body.sst-premium-home .lux-hero-bg {
  background-position: right center !important;
  filter: grayscale(1) contrast(.92) brightness(1.18) !important;
  opacity: .21 !important;
}
body.sst-premium-home .lux-hero-overlay {
  background: linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.96) 48%,rgba(255,255,255,.64) 100%) !important;
}
body.sst-premium-home .lux-hero-inner { min-height: 680px !important; }
body.sst-premium-home .lux-hero-eyebrow .lux-eyebrow-text { color: var(--sst-muted) !important; -webkit-text-fill-color: var(--sst-muted) !important; }
body.sst-premium-home .lux-eyebrow-line { background: #babbb8 !important; }
body.sst-premium-home .lux-hero .lux-hero-title,
body.sst-premium-home .lux-hero .lux-hero-title .lux-title-gold,
body.sst-premium-home .lux-hero .lux-hero-title .lux-title-gold * {
  color: var(--sst-ink) !important;
  -webkit-text-fill-color: var(--sst-ink) !important;
}
body.sst-premium-home .lux-hero .lux-title-sub,
body.sst-premium-home .lux-hero .lux-title-sub * { color: var(--sst-coral-deep) !important; -webkit-text-fill-color: var(--sst-coral-deep) !important; }
body.sst-premium-home .lux-hero .lux-hero-desc { color: var(--sst-muted) !important; -webkit-text-fill-color: var(--sst-muted) !important; }
body.sst-premium-home .lux-hero .lux-btn-ghost { color: var(--sst-ink) !important; -webkit-text-fill-color: var(--sst-ink) !important; border-color: #b9bab7 !important; background: #ffffff !important; }
body.sst-premium-home .lux-hero .lux-btn-ghost:hover { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; background: var(--sst-ink) !important; border-color: var(--sst-ink) !important; }
body.sst-premium-home .lux-fare-widget { background: #ffffff !important; box-shadow: 0 20px 46px rgba(21,21,24,.13) !important; }
body.sst-premium-home .lux-section-dark,
body.sst-premium-home .lux-section-offwhite,
body.sst-premium-home .lux-stats-bar,
body.sst-premium-home .lux-trust-strip { background: #ffffff !important; border-color: var(--sst-line) !important; }
body.sst-premium-home .lux-dark-pattern { opacity: 0 !important; }
body.sst-premium-home .lux-section-dark :is(h1,h2,h3,h4,.lux-title-white,.lux-feature-title,.lux-stat-num,.lux-trust-label) { color: var(--sst-ink) !important; }
body.sst-premium-home .lux-section-dark :is(p,li,.lux-sub-white,.lux-feature-desc,.lux-stat-label,.lux-trust-sub) { color: var(--sst-muted) !important; }
body.sst-premium-home .lux-stat-divider { background: var(--sst-line) !important; }

/* Remove dark backgrounds from all shared public-page components. */
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero),
body :is(.section-dark,.dark-section),
body :is(.lux-section-dark,.lux-stats-bar,.lux-trust-strip,.trust-bar) {
  background: #ffffff !important;
  border-color: var(--sst-line) !important;
}
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero)::before { background: rgba(255,255,255,.87) !important; }
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) :is(h1,h2),
body :is(.section-dark,.dark-section) :is(h1,h2,h3,h4) { color: var(--sst-ink) !important; }
body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) p,
body :is(.section-dark,.dark-section) :is(p,li) { color: var(--sst-muted) !important; }

/* White location/service landing heroes and fare cards. */
body .stlp { background: #ffffff !important; }
body .stlp .hero { background: #ffffff !important; border-bottom: 1px solid var(--sst-line) !important; }
body .stlp .hero::before { background: linear-gradient(92deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 53%,rgba(255,255,255,.67) 100%) !important; }
body .stlp .hero-bg-img { filter: grayscale(1) contrast(.9) brightness(1.18) !important; opacity: .25 !important; }
body .stlp .hero-badge { background: var(--sst-coral-soft) !important; border-color: rgba(185,67,53,.35) !important; color: var(--sst-coral-deep) !important; }
body .stlp .hero h1 { color: var(--sst-ink) !important; }
body .stlp .hero h1 .accent { color: var(--sst-coral-deep) !important; -webkit-text-fill-color: var(--sst-coral-deep) !important; }
body .stlp .hero-sub { color: var(--sst-muted) !important; }
body .stlp .hero-actions .secondary { background: #ffffff !important; border-color: #b9bab7 !important; color: var(--sst-ink) !important; }
body .stlp .hero-actions .secondary:hover { background: var(--sst-ink) !important; border-color: var(--sst-ink) !important; color: #ffffff !important; }
body .stlp .hero-stat strong { color: var(--sst-ink) !important; }
body .stlp .hero-stat > span { color: var(--sst-muted) !important; }
body .stlp .fare-card { background: #ffffff !important; box-shadow: 0 20px 46px rgba(21,21,24,.13) !important; }
body .stlp .trust-bar { background: #ffffff !important; border-top: 1px solid var(--sst-line) !important; border-bottom: 1px solid var(--sst-line) !important; }
body .stlp .trust-item { color: var(--sst-ink) !important; }

/* Footer, cards, tabs and lower-page sections remain bright. */
body :is(footer,.footer,.footer-premium) { background: #ffffff !important; border-top: 1px solid var(--sst-line) !important; color: var(--sst-muted) !important; }
body :is(footer,.footer,.footer-premium) :is(h1,h2,h3,h4,a) { color: var(--sst-ink) !important; }
body :is(footer,.footer,.footer-premium) :is(p,li,.footer-brand-desc,.footer-contact-value,.footer-bottom-disclaimer) { color: var(--sst-muted) !important; }
body :is(footer,.footer,.footer-premium) a:hover { color: var(--sst-coral-deep) !important; }
body .footer-social-btn,
body .footer-social-premium .footer-social-btn { background: var(--sst-surface) !important; border-color: var(--sst-line) !important; color: var(--sst-ink) !important; }
body .footer-social-btn:hover,
body .footer-social-premium .footer-social-btn:hover { background: var(--sst-coral) !important; border-color: var(--sst-coral) !important; color: #ffffff !important; }

@media (max-width:760px) {
  body.sst-premium-home .lux-hero,
  body.sst-premium-home .lux-hero-inner { min-height: 730px !important; }
  body.sst-premium-home .lux-hero-bg { opacity: .17 !important; background-position: 66% center !important; }
  body.sst-premium-home .lux-hero-overlay { background: linear-gradient(180deg,#ffffff 0%,rgba(255,255,255,.89) 72%,rgba(255,255,255,.96) 100%) !important; }
  body .stlp .hero::before { background: linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.96)) !important; }
  body .stlp .hero-bg-img { opacity: .20 !important; }
}


/* White canvas legibility guard for legacy location-heading gradient effects. */
body .stlp .hero h1,
body .stlp .hero h1:not(.accent) {
  color: var(--sst-ink) !important;
  -webkit-text-fill-color: var(--sst-ink) !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
body .stlp .hero h1 .accent {
  color: var(--sst-coral-deep) !important;
  -webkit-text-fill-color: var(--sst-coral-deep) !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}
body .stlp .hero-actions .secondary,
body .stlp .hero-actions .secondary * {
  color: var(--sst-ink) !important;
  -webkit-text-fill-color: var(--sst-ink) !important;
  text-shadow: none !important;
}
body .stlp .hero-actions .secondary:hover,
body .stlp .hero-actions .secondary:hover * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}


/* ── REFINED BRAND WORDMARK ────────────────────────────────────────────────
   A clear typographic lockup replaces the legacy winged mark. The vector fills
   its allocated space without raster blur, on desktop and touch layouts. */
body .pnav-logo img,
body .pnav-header.pnav-scrolled .pnav-logo img {
  width: min(230px,22vw) !important;
  max-width: 230px !important;
  height: 54px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body .pnav-mob-logo img {
  width: min(235px,65vw) !important;
  height: 50px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body .footer-brand-logo {
  width: min(270px,78vw) !important;
  max-width: 270px !important;
  height: auto !important;
  object-fit: contain !important;
}
body .mob-logo .sst-site-logo,
body .mob-site-logo {
  width: min(235px,64vw) !important;
  height: 50px !important;
  object-fit: contain !important;
}
@media (max-width:760px) {
  body .pnav-logo img,
  body .pnav-header.pnav-scrolled .pnav-logo img { width: min(205px,61vw) !important; max-width: 205px !important; height: 48px !important; }
  body .pnav-mob-logo img { width: min(218px,62vw) !important; height: 48px !important; }
}
