/* Silver Service Taxi Sydney — 17 September 2026.
   Original site-wide presentation, inspired by the spacious photographic
   composition of LuxRide. No third-party theme code, text or fonts.
   Arial / Arial Black use licensed system fonts; no font files are distributed.
   UNIFIED PUBLIC-PAGE SYSTEM: preserve all application visibility and state. */
:root {
  --sst-sans: Arial, Helvetica, sans-serif;
  --sst-serif: 'Arial Black', Arial, Helvetica, sans-serif;
  --pnav-font: var(--sst-sans);
  --sst-ink: #333333; --sst-black: #333333; --sst-text: #595959;
  --sst-muted: #595959; --sst-silver: #888888; --sst-white: #ffffff;
  --sst-surface: #ffffff; --sst-soft: #f5f6f7; --sst-warm: #f5f6f7;
  --sst-line: #e4e6e9; --sst-navy: #144a8f; --sst-navy-deep: #144a8f;
  --sst-aqua: #144a8f; --sst-shadow: 0 18px 56px rgb(51 51 51 / 8%);
  --navy: #144a8f; --navy-mid: #144a8f; --navy-dark: #333333;
  --gold: #144a8f; --gold-light: #144a8f; --blue: #144a8f;
  --text: #333333; --text-light: #595959; --muted: #595959;
  --pnav-navy: #144a8f; --pnav-navy-mid: #144a8f; --pnav-navy-dark: #333333;
  --pnav-header-bg: #ffffff; --pnav-header-text: #333333;
  --pnav-header-hover-bg: #f5f6f7; --pnav-mob-bg: #ffffff;
  --pnav-h: 88px;
}
html { background: #ffffff; scroll-padding-top: 108px; }
html body { background: #ffffff !important; color: #333333; font: 16px/1.7 var(--sst-sans) !important; }
html body *, html body *::before, html body *::after { box-sizing: border-box; }
html body :is(h1,h2,h3,h4,h5,h6) { font-family: var(--sst-serif) !important; font-weight: 700 !important; font-style: normal !important; letter-spacing: -.04em !important; line-height: 1.12; }
html body :is(p,li,input,select,textarea,button,a,label,.loc-section-sub) { font-family: var(--sst-sans); }
html body :is(h1,.hero-title,.loc-hero-title) { font-size: clamp(2.35rem,4.5vw,4.5rem); }
html body :is(h2,.section-title,.loc-section-title) { font-size: clamp(1.9rem,3.1vw,3.15rem); }
html body :is(h3,.card-title) { font-size: clamp(1.15rem,1.65vw,1.55rem); }
html body :is(p,li) { color: #595959; }
html body :is(.container,.container-wide,.content-container,.section-inner,.page-container,.location-container,.service-container) {
  width: calc(100% - clamp(40px,8vw,160px)) !important; max-width: 1760px !important; margin-inline: auto; padding-inline: 0 !important;
}
html body :is(.section,.loc-section,.loc-section-white,.loc-section-offwhite,.loc-section-dark) { padding-block: clamp(56px,7vw,112px) !important; background: #ffffff !important; }
html body :is(.section-header,.loc-section-header) { text-align: left !important; margin: 0 0 40px !important; max-width: 850px; }
html body :is(.section-title,.loc-section-title,.loc-section-title-white,.section-title span,.loc-section-title span) { color: #333333 !important; }
html body :is(.section-subtitle,.loc-section-sub,.subtitle) { color: #595959 !important; max-width: 72ch; }
html body :is(.section-badge,.loc-badge,.hero-badge,.loc-hero-eyebrow-text) { background: transparent !important; border: 0 !important; color: #144a8f !important; font: 700 12px/1.5 var(--sst-sans) !important; letter-spacing: .16em !important; text-transform: uppercase; padding: 0 !important; box-shadow: none !important; }
html body :is(.gold-divider,.loc-divider) { width: 48px; height: 3px; background: #144a8f !important; margin: 20px 0 !important; }
/* White navigation, generous wordmark and restrained menu surfaces. */
html body .pnav-topbar { display: none !important; }
html body .pnav-header { background: #ffffff !important; border-bottom: 1px solid #e4e6e9 !important; box-shadow: none !important; height: 88px !important; top: 0 !important; }
html body .pnav-inner { width: calc(100% - clamp(32px,5vw,100px)); max-width: 1840px; height: 88px; padding: 0 !important; gap: 20px; }
html body .pnav-logo { flex: 0 0 auto; padding: 0 !important; }
html body :is(.pnav-logo,.pnav-mob-logo,.mob-logo,.logo,.footer-brand-logo) img {
  content: url('/images/sst-logo-black-20260917.png'); width: 252px !important; height: 58px !important;
  object-fit: cover !important; object-position: 50% 52% !important; max-width: 100%; filter: none !important; display: block;
}
html body .pnav-header.pnav-scrolled .pnav-logo img { width: 252px !important; height: 58px !important; }
html body .pnav-header .pnav-menu-link { color: #333333 !important; font: 600 14px/1.3 var(--sst-sans) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 12px 10px !important; border-radius: 4px !important; }
html body .pnav-header .pnav-menu-link:is(:hover,.pnav-open,.pnav-active) { background: #f5f6f7 !important; color: #144a8f !important; }
html body .pnav-header .pnav-cta-btn { color: #ffffff !important; background: #144a8f !important; border: 1px solid #144a8f !important; border-radius: 5px !important; padding: 15px 22px !important; font: 700 14px/1.2 var(--sst-sans) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
html body .pnav-phone-link { color: #333333 !important; }
html body .pnav-mega-wrap { top: 88px !important; border: 0 !important; }
html body .pnav-mega-panel { background: #ffffff !important; border: 1px solid #e4e6e9; border-radius: 0 0 12px 12px; box-shadow: var(--sst-shadow); }
html body :is(.pnav-service-title,.pnav-region-title,.pnav-fleet-card-name,.pnav-col-label) { color: #333333 !important; font-family: var(--sst-sans) !important; }
html body :is(.pnav-service-desc,.pnav-region-link,.pnav-fleet-card-specs) { color: #595959 !important; }
html body :is(.pnav-service-icon,.pnav-region-icon,.pnav-fleet-card-tag,.pnav-service-link:hover) { background: #f5f6f7 !important; color: #144a8f !important; }
html body :is(.pnav-toggle,.pnav-mob-close) { background: #144a8f !important; color: #ffffff !important; border-radius: 5px !important; box-shadow: none !important; }
html body .pnav-toggle-line { background: #ffffff !important; }
html body :is(.pnav-mobile-panel,.pnav-mob-panel,.pnav-mob-header,.pnav-mob-body,.pnav-mob-footer) { background: #ffffff !important; }
html body .pnav-mob-header { padding: 20px; border-bottom: 1px solid #e4e6e9; }
html body .pnav-mob-body { padding: 12px 24px; }
html body .pnav-mob-link { background: transparent !important; border: 0 !important; border-bottom: 1px solid #e4e6e9 !important; color: #333333 !important; border-radius: 0 !important; padding: 18px 0 !important; font: 600 17px/1.4 var(--sst-sans) !important; letter-spacing: 0 !important; text-transform: none !important; }
html body .pnav-mob-link-icon { color: #144a8f !important; background: transparent !important; }
html body .pnav-mob-sub-link { color: #595959 !important; padding-block: 13px; }
html body .pnav-mob-acc-inner { background: #f5f6f7 !important; border-radius: 6px; }
html body :is(.pnav-mob-book-btn,.pnav-sticky-cta) { background: #144a8f !important; color: #ffffff !important; }
/* Photographic homepage: full-width hero, horizontal booking bar and editorial sections. */
html body.sst-premium-home .lux-hero { position: relative; background: #333333 !important; padding: 0 0 40px !important; overflow: hidden; min-height: 0 !important; }
html body.sst-premium-home .lux-hero-bg { inset: 0 !important; width: 100% !important; height: 100% !important; background: url('/images/hero-main.jpg') center 54% / cover no-repeat !important; opacity: 1 !important; border: 0 !important; transform: none !important; }
html body.sst-premium-home .lux-hero-overlay { inset: 0 !important; background: linear-gradient(90deg,rgb(20 28 38 / 78%),rgb(20 28 38 / 12%)) !important; }
html body.sst-premium-home .lux-hero-inner { display: flex !important; flex-direction: column; align-items: stretch; gap: 0 !important; padding: 0 !important; }
html body.sst-premium-home .lux-hero-content { max-width: 860px; padding: clamp(70px,8vw,130px) 0 60px !important; min-height: 560px; }
html body.sst-premium-home .lux-hero .lux-hero-title { font-family: var(--sst-serif) !important; font-size: clamp(2.8rem,5.5vw,5.5rem) !important; font-weight: 800 !important; line-height: 1.03 !important; letter-spacing: -.055em !important; margin: 0 0 24px !important; }
html body.sst-premium-home .lux-hero :is(.lux-hero-title,.lux-title-gold,.lux-title-sub,.lux-hero-desc,.lux-hero-eyebrow,.lux-eyebrow-text,.lux-hero-micro) { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; text-shadow: none !important; }
html body.sst-premium-home .lux-title-sub { display: block; font: 500 clamp(1rem,1.5vw,1.25rem)/1.5 var(--sst-sans) !important; letter-spacing: .015em !important; margin-top: 20px; }
html body.sst-premium-home .lux-hero-eyebrow { font: 700 12px/1.5 var(--sst-sans) !important; letter-spacing: .18em !important; text-transform: uppercase !important; margin-bottom: 24px !important; }
html body.sst-premium-home :is(.lux-eyebrow-line,.lux-hero-particles,.lux-scroll-hint,.lux-dark-pattern,.lux-about-img-accent,.lux-gold-line) { display: none !important; }
html body.sst-premium-home .lux-hero-desc { max-width: 610px; font-size: 17px !important; line-height: 1.7; margin-bottom: 26px; }
html body.sst-premium-home .lux-hero-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; }
html body.sst-premium-home .lux-hero .lux-btn-primary { background: #ffffff !important; border-color: #ffffff !important; color: #333333 !important; }
html body.sst-premium-home .lux-hero .lux-btn-ghost { background: transparent !important; border: 1px solid rgb(255 255 255 / 65%) !important; color: #ffffff !important; }
html body.sst-premium-home .lux-fare-widget { width: 100%; max-width: none !important; padding: 28px 32px !important; background: #ffffff !important; border: 0 !important; border-radius: 8px !important; box-shadow: 0 12px 48px rgb(0 0 0 / 10%) !important; backdrop-filter: none; color: #333333; }
html body.sst-premium-home .lux-fare-header { font: 700 22px/1.3 var(--sst-sans) !important; color: #333333 !important; }
html body.sst-premium-home .lux-fare-subtitle { color: #595959 !important; font-size: 13px; margin: 5px 0 20px; }
html body.sst-premium-home .lux-fare-fields { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 24px !important; }
html body.sst-premium-home .lux-fare-label { color: #595959 !important; font: 600 12px/1.4 var(--sst-sans) !important; letter-spacing: .04em !important; }
html body.sst-premium-home .lux-fare-input { background: #f5f6f7 !important; border: 1px solid #e4e6e9 !important; height: 54px; border-radius: 5px !important; color: #333333 !important; font-size: 16px !important; }
html body.sst-premium-home .lux-fare-btn { width: auto; min-height: 54px; margin: 0 !important; }
html body.sst-premium-home .lux-fare-trust { justify-content: flex-start; margin-top: 16px; color: #595959 !important; }
html body.sst-premium-home .lux-section { padding: clamp(56px,7vw,112px) 0 !important; background: #ffffff !important; }
html body.sst-premium-home .lux-section-header { text-align: left !important; max-width: 780px !important; margin: 0 0 44px !important; }
html body.sst-premium-home :is(.lux-section-title,.lux-cta-title) { font: 700 clamp(1.9rem,3.2vw,3.3rem)/1.12 var(--sst-serif) !important; letter-spacing: -.04em !important; color: #333333 !important; }
html body.sst-premium-home .lux-badge { font: 700 12px/1.5 var(--sst-sans) !important; letter-spacing: .16em !important; color: #144a8f !important; margin-bottom: 16px !important; }
html body.sst-premium-home :is(.lux-section-sub,.lux-feature-desc,.lux-about-text,.lux-fleet-desc,.lux-faq-a) { color: #595959 !important; font: 400 16px/1.75 var(--sst-sans) !important; }
html body.sst-premium-home .lux-fleet-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 24px !important; }
html body.sst-premium-home .lux-fleet-card { background: #ffffff !important; border: 1px solid #e4e6e9 !important; border-radius: 10px !important; box-shadow: none !important; overflow: hidden !important; transform: none; }
html body.sst-premium-home .lux-fleet-img-wrap { height: 230px !important; background: #f5f6f7 !important; border: 0 !important; border-radius: 0 !important; }
html body.sst-premium-home .lux-fleet-img { object-fit: cover; width: 100%; height: 100%; filter: none !important; }
html body.sst-premium-home .lux-fleet-body { padding: 26px !important; }
html body.sst-premium-home .lux-fleet-title { font: 700 21px/1.2 var(--sst-sans) !important; color: #333333 !important; letter-spacing: -.025em !important; }
html body.sst-premium-home .lux-fleet-tags { display: flex !important; flex-wrap: wrap; }
html body.sst-premium-home :is(.lux-fleet-price,.lux-fleet-price strong) { color: #144a8f !important; }
html body.sst-premium-home .lux-section-dark { background: #f5f6f7 !important; }
html body.sst-premium-home .lux-features-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 36px !important; }
html body.sst-premium-home .lux-feature-card { text-align: left !important; background: transparent !important; border: 0 !important; border-top: 1px solid #d6d9df !important; padding: 28px 0 0 !important; box-shadow: none !important; border-radius: 0 !important; }
html body.sst-premium-home .lux-feature-icon { margin: 0 0 24px !important; background: transparent !important; color: #144a8f !important; border: 0 !important; width: 36px; height: 36px; }
html body.sst-premium-home .lux-feature-title { color: #333333 !important; font: 700 20px/1.3 var(--sst-sans) !important; }
html body.sst-premium-home .lux-about-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,6vw,100px); align-items: center; }
html body.sst-premium-home .lux-about-img { border-radius: 12px !important; }
html body.sst-premium-home .lux-faq-item { border: 0 !important; border-bottom: 1px solid #e4e6e9 !important; border-radius: 0 !important; background: #ffffff !important; }
html body.sst-premium-home .lux-faq-q { font: 600 18px/1.5 var(--sst-sans) !important; color: #333333 !important; padding-block: 24px; }
/* Location, route and service page families — white editorial layout. */
html body :is(.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.hero) {
  position: relative; background-color: #333333 !important; min-height: 440px; padding-block: clamp(64px,7vw,112px) !important; border: 0 !important;
}
html body :is(.loc-hero-overlay,.hero-overlay) { background: linear-gradient(90deg,rgb(28 34 42 / 86%),rgb(28 34 42 / 28%)) !important; }
html body :is(.loc-hero-bg,.hero-bg) { opacity: 1 !important; filter: none !important; transform: none !important; }
html body :is(.loc-hero-inner,.hero-inner,.hero-grid) { max-width: 1760px !important; gap: clamp(32px,5vw,80px); }
html body .loc-hero-content { max-width: 900px !important; }
html body :is(.loc-hero-title,.hero-title,.page-hero h1,.hero h1,.loc-hero h1) { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-size: clamp(2.2rem,4.2vw,4.3rem) !important; text-shadow: none !important; line-height: 1.1 !important; }
html body :is(.loc-hero-sub,.hero-sub,.hero-subtitle,.hero-subtext,.hero p,.page-hero p,.loc-hero p,.hero .subtitle) { color: #ffffff !important; max-width: 68ch; font-size: 17px; }
html body :is(.loc-hero-eyebrow-text,.hero .hero-badge) { color: #ffffff !important; }
html body :is(.hero-panel,.loc-hero-panel) { background: #ffffff !important; color: #333333 !important; border: 0 !important; border-radius: 10px !important; padding: 32px !important; box-shadow: none !important; }
html body .hero-panel :is(p,h2,h3,li,.hero-panel-title) { color: #333333 !important; }
html body :is(.loc-stats-bar,.trust-bar,.stats-bar,.trust-strip) { background: #ffffff !important; border-block: 1px solid #e4e6e9 !important; padding-block: 28px !important; }
html body :is(.loc-stat-num,.stat-number,.hero-stat-number,.why-num) { color: #144a8f !important; font-family: var(--sst-serif) !important; }
html body :is(.loc-stat-label,.trust-item,.trust-text) { color: #595959 !important; }
html body :is(.loc-breadcrumb,.breadcrumb,.breadcrumbs,.breadcrumb-nav) { background: #ffffff !important; color: #595959 !important; border-bottom: 1px solid #e4e6e9; }
html body :is(.loc-breadcrumb,.breadcrumb,.breadcrumbs) a { color: #144a8f !important; }
html body :is(.loc-features-grid,.features,.services-grid,.why-grid,.values-grid,.airport-grid) { gap: 24px; }
html 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,.route-card,.fare-card,.loc-council-card,.airport-card,.value-card,.why-card,.feature) {
  background: #ffffff !important; border: 1px solid #e4e6e9 !important; border-radius: 10px !important; box-shadow: none !important; padding: 28px; color: #333333 !important; transition: border-color .2s, box-shadow .2s;
}
html body :is(.service-card,.location-card,.loc-feature-card,.loc-fare-card,.loc-route-card,.route-card,.fare-card,.loc-council-card):hover { border-color: #144a8f !important; box-shadow: var(--sst-shadow) !important; transform: translateY(-3px); }
html body :is(.loc-feature-title,.service-title,.fare-card-route,.airport-card-title,.value-title,.loc-route-dest,.loc-fare-card-title) { color: #333333 !important; font: 700 21px/1.3 var(--sst-sans) !important; letter-spacing: -.02em !important; }
html body :is(.loc-feature-desc,.service-desc,.airport-card-desc,.value-desc,.loc-route-km,.card-note) { color: #595959 !important; font: 400 15px/1.75 var(--sst-sans) !important; }
html body :is(.loc-feature-icon,.service-icon,.airport-card-icon,.value-icon,.premium-svg-icon) { background: #f5f6f7 !important; color: #144a8f !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important; }
html body :is(.loc-route-price,.fare-card-price,.price,.accent) { color: #144a8f !important; }
html body :is(.loc-faq-item,.faq-item) { background: #ffffff !important; border: 0 !important; border-bottom: 1px solid #e4e6e9 !important; border-radius: 0 !important; box-shadow: none !important; }
html body :is(.loc-faq-q,.faq-question) { color: #333333 !important; font: 600 18px/1.5 var(--sst-sans) !important; padding: 22px 0; }
html body :is(.loc-faq-a,.faq-answer) { color: #595959 !important; }
html body :is(.route-chip,.loc-nearby-pill,.areas-tags a,.tab,.tab-button,[role="tab"]) { background: #ffffff !important; border: 1px solid #e4e6e9 !important; border-radius: 5px !important; color: #595959 !important; padding: 10px 16px; font: 500 14px/1.5 var(--sst-sans) !important; }
html body :is(.tab.active,.tab-button.active,[role="tab"][aria-selected="true"]) { background: #144a8f !important; color: #ffffff !important; border-color: #144a8f !important; }
html body :is(.service-detail,.about-grid,.contact-grid,.service-detail-grid) { gap: clamp(32px,6vw,96px); }
html body :is(.service-detail-img img,.about-img img,.about-image img) { border-radius: 12px !important; }
/* A single action and form language; application state/validation stays intact. */
html body :is(.btn,.btn-primary,.btn-gold,.btn-navy,.button-primary,.primary-btn,.cta-button,.book-now,.book-btn,.loc-route-cta,.loc-fare-cta,.loc-hero-btn-primary,.loc-cta-btn-primary,.footer-cta,.card-book,.primary,.cta),
html body.sst-premium-home :is(.lux-btn-primary,.lux-btn-gold,.lux-fare-btn,.lux-fleet-btn,.lux-btn-navy,.lux-btn-ghost) {
  background: #144a8f !important; color: #ffffff !important; border: 1px solid #144a8f !important; border-radius: 5px !important;
  min-height: 48px; padding: 14px 24px !important; font: 700 14px/1.35 var(--sst-sans) !important;
  letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
}
html body :is(.btn-outline,.btn-secondary,.btn-back,.loc-hero-btn-ghost,.loc-cta-btn-ghost,.secondary) { background: #ffffff !important; color: #144a8f !important; border: 1px solid #144a8f !important; border-radius: 5px !important; padding: 14px 24px !important; }
html body :is(button,a):focus-visible { outline: 3px solid #144a8f; outline-offset: 4px; }
html body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { color: #333333; background-color: #ffffff; font-family: var(--sst-sans) !important; font-size: 16px !important; border-radius: 5px !important; border-color: #c9cdd2; }
html body :is(input,select,textarea):focus { outline: 2px solid #144a8f; outline-offset: 2px; box-shadow: none !important; }
html body :is(input,select,textarea)::placeholder { color: #595959; opacity: 1; }
html body :is(.f-label,.cf-label,.field-label,.form-label) { color: #333333 !important; font: 600 13px/1.5 var(--sst-sans) !important; letter-spacing: .02em; }
html body :is(.f-ctrl,.cf-input,.cf-textarea,.form-control,.field-input) { background: #f5f6f7 !important; border: 1px solid #d9dce1 !important; padding: 14px !important; min-height: 50px; }
html body :is(.f-hint,.step-sub,.bk-header-sub,.field-hint) { color: #595959; }
html body .booking-layout { grid-template-columns: minmax(440px,.95fr) minmax(0,1.05fr); gap: 28px; padding: 36px clamp(20px,4vw,80px); background: #f5f6f7; }
html body .booking-panel { border: 1px solid #e4e6e9; border-radius: 12px; background: #ffffff; box-shadow: var(--sst-shadow); max-height: none; position: relative; top: auto; overflow: visible; }
html body .bk-header { background: #ffffff !important; border-bottom: 1px solid #e4e6e9; padding: 30px 32px; border-radius: 12px 12px 0 0; }
html body .bk-header-title { color: #333333 !important; font: 700 32px/1.15 var(--sst-serif) !important; letter-spacing: -.04em; }
html body .bk-header-sub { color: #595959 !important; margin-top: 10px; }
html body .bk-step { padding: 28px 32px; }
html body .step-title { color: #333333; font: 700 23px/1.35 var(--sst-sans); }
html body .map-panel { border: 1px solid #e4e6e9; border-radius: 12px; overflow: hidden; position: sticky; top: 108px; height: calc(100vh - 144px); }
html body :is(#map-container,.map-placeholder) { min-height: 100%; height: 100%; background-color: #edf0f3; }
html body .prog-step.active .prog-dot, html body .prog-step.done .prog-dot { background: #144a8f !important; border-color: #144a8f !important; color: #ffffff !important; }
html body :is(.fare-box,.summary-box,.manage-card,.payment-card,.pay-card,.contact-form,.contact-form-wrap) { background: #ffffff !important; border: 1px solid #e4e6e9 !important; border-radius: 10px !important; box-shadow: none !important; color: #333333 !important; }
html body :is(.fare-total-val,.summary-title,.manage-card-title) { color: #144a8f !important; }
html body :is(.veh-card,.vehicle-card,.pay-option) { border-radius: 8px !important; background: #ffffff; }
html body :is(.veh-card.selected,.vehicle-card.selected,.pay-option.selected) { border-color: #144a8f !important; background: #f2f6fb !important; }
/* Calls to action and a spacious charcoal footer across every template. */
html body :is(.loc-cta-band,.cta-banner,.cta-section), html body.sst-premium-home .lux-cta-band { background: #f5f6f7 !important; border-block: 1px solid #e4e6e9; padding-block: 64px !important; }
html body :is(.loc-cta-title,.cta-title,.cta-banner h2,.cta-section h2), html body.sst-premium-home .lux-cta-title { color: #333333 !important; }
html body :is(.loc-cta-sub,.loc-cta-phone-label,.cta-banner p,.cta-section p,.lux-cta-sub) { color: #595959 !important; }
html body :is(.loc-cta-phone-num,.lux-cta-phone) { color: #144a8f !important; }
html body :is(.footer,.footer-premium), html body.sst-premium-home .footer-premium { background: #333333 !important; border: 0 !important; padding-top: 72px; color: #ffffff !important; }
html body :is(.footer,.footer-premium) :is(h2,h3,h4,a,.footer-col-title,.footer-col-title-premium) { color: #ffffff !important; font-family: var(--sst-sans) !important; letter-spacing: 0 !important; }
html body :is(.footer,.footer-premium) :is(p,li,.footer-brand-desc,.footer-contact-item,.footer-bottom-disclaimer) { color: #dedede !important; }
html body :is(.footer,.footer-premium) img[src*="logo"] { content: url('/images/sst-logo-white-20260917.png'); width: 280px !important; height: 66px !important; object-fit: cover !important; object-position: 50% 52% !important; filter: none !important; }
html body :is(.footer-grid,.footer-grid-premium) { gap: 48px !important; }
html body :is(.footer-bottom,.footer-bottom-premium) { border-top: 1px solid #595959 !important; padding-block: 24px !important; }
html body :is(.footer-world-map,.footer-map-bg) { display: none !important; }
html body :is(.fare-guide,.legal-content,.policy-content) { max-width: 1120px; padding: 64px 24px; color: #333333; }
/* Retain the shared controller's visibility, focus trap, menu and scroll states. */
.pnav-mega-backdrop.pnav-mega-active { background: transparent !important; pointer-events: none !important; }
@media(min-width:1025px) { .pnav-mega-wrap,.pnav-mega-wrap.pnav-mega-active,.pnav-mega-panel,.pnav-mega-panel.pnav-panel-active { opacity: 1 !important; backdrop-filter: none !important; } }
@media(min-width:1025px) and (max-width:1270px) {
  html body .pnav-inner { gap: 8px; width: calc(100% - 32px); }
  html body .pnav-logo img, html body .pnav-header.pnav-scrolled .pnav-logo img { width: 200px !important; height: 48px !important; }
  html body .pnav-header .pnav-menu-link { font-size: 12px !important; padding-inline: 7px !important; }
  html body .pnav-header .pnav-cta-btn { padding: 14px !important; }
}
@media(max-width:1024px) {
  :root { --pnav-h: 76px; }
  html body .pnav-header, html body .pnav-inner { height: 76px !important; }
  html body .pnav-logo img, html body .pnav-header.pnav-scrolled .pnav-logo img { width: 224px !important; height: 52px !important; }
  html body.sst-premium-home :is(.lux-fleet-grid,.lux-features-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body .booking-layout { grid-template-columns: minmax(0,1fr); padding: 24px; }
  html body .map-panel { display: none; }
  html body .mobile-map-wrap { display: block; }
}
@media(max-width:760px) {
  html body :is(.container,.container-wide,.content-container,.section-inner,.page-container,.location-container,.service-container) { width: calc(100% - 40px) !important; }
  html body.sst-premium-home .lux-hero-content { min-height: 500px; padding: 64px 0 40px !important; }
  html body.sst-premium-home .lux-hero .lux-hero-title { font-size: clamp(2.6rem,9vw,4rem) !important; }
  html body.sst-premium-home .lux-hero-overlay { background: linear-gradient(90deg,rgb(28 34 42 / 85%),rgb(28 34 42 / 40%)) !important; }
  html body.sst-premium-home .lux-fare-fields { grid-template-columns: 1fr; gap: 18px !important; }
  html body.sst-premium-home .lux-fare-widget { padding: 24px !important; }
  html body.sst-premium-home .lux-fare-btn { width: 100%; }
  html body.sst-premium-home .lux-about-grid { grid-template-columns: 1fr !important; gap: 32px; }
  html body :is(.hero-grid,.hero-inner,.service-detail,.service-detail-grid,.about-grid,.contact-grid) { grid-template-columns: 1fr !important; }
  html body :is(.hero,.loc-hero,.page-hero) { min-height: 360px; padding-block: 56px !important; }
  html body :is(.loc-features-grid,.loc-routes-grid,.services-grid,.why-grid,.values-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body .booking-layout { padding: 20px 12px; gap: 0; }
  html body .bk-header { display: block !important; padding: 24px; }
  html body .bk-step { padding: 24px; }
  html body :is(.footer-grid,.footer-grid-premium) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 32px !important; }
}
@media(max-width:480px) {
  html body.sst-premium-home :is(.lux-fleet-grid,.lux-features-grid) { grid-template-columns: 1fr !important; }
  html body :is(.loc-features-grid,.loc-routes-grid,.services-grid,.why-grid,.values-grid,.features) { grid-template-columns: 1fr !important; }
  html body .pnav-logo img, html body .pnav-header.pnav-scrolled .pnav-logo img { width: 196px !important; height: 46px !important; }
  html body .pnav-inner { width: calc(100% - 28px); gap: 10px; }
  html body.sst-premium-home .lux-fare-trust { flex-wrap: wrap; gap: 10px; }
  html body :is(.footer-grid,.footer-grid-premium) { grid-template-columns: 1fr !important; }
  html body :is(.f-grid2,.cf-row) { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto !important; } html body *,html body *::before,html body *::after { animation: none !important; transition: none !important; } }
@media print { html body { padding-top: 0 !important; } .pnav-header,.pnav-sticky-cta { display: none !important; } }
/* Secondary content and utility screens share the same finished design. */
html body :is(h1,h2,h3,h4,h5,h6,.lux-fare-header) { text-transform: none !important; }
html 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; }
html body.sst-premium-home .lux-hero .lux-btn-primary,html body.sst-premium-home .lux-hero .lux-btn-primary * { color: #333333 !important; -webkit-text-fill-color: #333333 !important; }
html body.sst-premium-home .lux-hero .lux-btn-ghost,html body.sst-premium-home .lux-hero .lux-btn-ghost * { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
html body.sst-premium-home .lux-section-dark :is(.lux-section-title,.lux-feature-title) { color: #333333 !important; }
html body.sst-premium-home .lux-section-dark :is(.lux-section-sub,.lux-feature-desc) { color: #595959 !important; }
html body.sst-premium-home .lux-cta-band :is(.lux-cta-phone-num,.lux-cta-phone-label) { color: #144a8f !important; }
html body .section-dark :is(h2,h3,h4,p,li) { color: #333333 !important; }
html body :is(.sst-unique-content,.sst-route-finder) { background: #ffffff !important; padding: 80px 0 !important; border-top: 1px solid #e4e6e9; }
html body .sst-unique-content :is(h2,h3,strong) { color: #333333 !important; }
html body .sst-unique-content p { color: #595959 !important; }
html body .sst-unique-content div[style*="background"] { background: #f5f6f7 !important; border-color: #e4e6e9 !important; border-radius: 10px !important; box-shadow: none !important; }
html body .sst-unique-content a[href="/book"] { background: #144a8f !important; color: #ffffff !important; border-radius: 5px !important; }
html body :is(.sst-route-kicker,.sst-route-card em) { color: #144a8f; font-style: normal; }
html body :is(.sst-route-heading,.sst-route-card strong) { color: #333333 !important; }
html body :is(.sst-route-copy,.sst-route-card span) { color: #595959 !important; }
html body .sst-route-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
html body .sst-route-card { display: flex; flex-direction: column; gap: 12px; padding: 28px; border: 1px solid #e4e6e9; border-radius: 10px; text-decoration: none; }
html body .sst-route-card svg { width: 28px; height: 28px; color: #144a8f; }
html body .sst-cc { background: #ffffff !important; color: #333333 !important; border: 1px solid #e4e6e9 !important; border-radius: 10px !important; box-shadow: var(--sst-shadow) !important; }
html body .sst-cc-title { color: #333333 !important; font-size: 22px !important; }
html body .sst-cc-copy,html body .sst-cc-row-desc { color: #595959 !important; }
html body .sst-cc a,html body .sst-cc-link { color: #144a8f !important; }
html body .sst-cc-btn { border-radius: 5px !important; box-shadow: none !important; padding: 12px 18px !important; }
html body .sst-cc-accept { background: #144a8f !important; color: #ffffff !important; border-color: #144a8f !important; }
html body .sst-cc-reject { background: #ffffff !important; color: #144a8f !important; border-color: #144a8f !important; }
@media(max-width:760px) { html body .sst-route-grid { grid-template-columns: 1fr; } }
/* Normalise typography inherited from dark legacy templates. Hero/footer rules
   have higher specificity, so their intentionally light text is preserved. */
html body :is(h2,h3,h4,h5,h6) { color: #333333 !important; }
html body :is(p,li) { font-weight: 400 !important; color: #595959 !important; }
html body :is(.section h2,.section h3,.section h4,.faq-q,.hero-panel-title,.bk-trust-item) { color: #333333 !important; }
html body .hero-panel :is(label,.hero-panel-sub,.hero-panel-note) { color: #595959 !important; }
html body .faq-q { font: 600 18px/1.5 var(--sst-sans) !important; padding: 22px 0; }
html body .services-grid,html body .why-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
html body .f-ctrl.addr-input { padding-left: 42px !important; padding-right: 46px !important; }
html body .lux-fare-header { letter-spacing: -.02em !important; }
html body .service-detail-img { box-shadow: none !important; border-radius: 12px !important; background: #f5f6f7; }
html body .footer-premium .footer-main { grid-template-columns: 1.5fr repeat(4,minmax(0,1fr)); gap: 36px !important; padding-bottom: 48px; }
html body .footer-premium .footer-col-title-premium { border-bottom: 1px solid #595959; padding-bottom: 16px; }
html body [data-seo-fare-guide] { max-width: none !important; margin: 0 !important; padding: 28px clamp(20px,4vw,80px) !important; background: #ffffff; }
html body [data-seo-fare-guide] > div { background: #f5f6f7 !important; border: 1px solid #e4e6e9 !important; border-radius: 8px !important; }
html body [data-seo-fare-guide] :is(strong,span) { color: #595959 !important; }
html body [data-seo-fare-guide] a { color: #144a8f !important; }
@media(max-width:1024px) { html body .footer-premium .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { html body .services-grid,html body .why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { html body .services-grid,html body .why-grid,html body .footer-premium .footer-main { grid-template-columns: 1fr; } }
/* Concierge keeps its existing interactions with the shared visual language. */
html body #sso-window:not(.open) { visibility: hidden; }
html body #sso-window.open { visibility: visible; }
html body #sso-window .sso-hdr { background: #144a8f !important; }
html body #sso-window .sso-hdr :is(p,span,.sso-hdr-sub,.sso-stat-lbl) { color: #ffffff !important; }
html body #sso-nav-btn,html body #sso-mob-nav-btn { background: #ffffff !important; border: 1px solid #144a8f !important; color: #144a8f !important; border-radius: 5px !important; box-shadow: none !important; }
html body #sso-nav-btn svg,html body #sso-mob-nav-btn svg { color: #144a8f !important; }
html body .bk-trust-item { font-weight: 500; color: #595959 !important; }
html body :is(.loc-fare-row,.loc-fare-vehicle,.loc-fare-price,.loc-fare-vehicle-sub,.loc-fare-price-sub) { color: #333333 !important; }
html body .loc-fare-price { color: #144a8f !important; }
html body.sst-utility-page { display: block !important; padding: 88px 0 0 !important; min-height: 100vh; }
html body.sst-utility-page > :is(main,.wrap,.card) { width: calc(100% - 40px); max-width: 1120px; margin: 56px auto; }
html body.sst-utility-page > .pnav-header { margin: 0; }
html body.sst-utility-page > .footer-premium { width: 100%; max-width: none; margin: 0; }
html body.sst-utility-page h1 { color: #333333 !important; }
@media(max-width:1024px) { html body.sst-utility-page { padding-top: 76px !important; } }

/* Readability corrections across the booking flow and mobile navigation. */
html body :is(.fare-box-label,.fare-item-lbl) { color: #595959 !important; }
html body :is(.fare-total-val,.fare-total-val span,.fare-item-val) { color: #333333 !important; }
html body .pnav-mob-link-icon svg { stroke: #144a8f !important; fill: none !important; }
html body :is(h1,h2,h3,h4,h5,h6,.lux-fare-header),
html body.sst-premium-home :is(h1,h2,h3,h4,h5,h6,.lux-fare-header),
html body :is(h1,h2,h3,h4,h5,h6,.lux-fare-header) :is(span,em,strong) { text-transform: uppercase !important; }
html body :is([class$="-title"],[class*="-title "],.lux-fare-header,.pnav-service-title,.pnav-region-title,.pnav-fleet-card-name),
html body.sst-premium-home :is([class$="-title"],[class*="-title "],.lux-fare-header) { text-transform: uppercase !important; }
