@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Michroma&display=swap');

/* Silver Service shared premium visual system.
 * This is deliberately the final stylesheet on public pages so legacy page
 * templates inherit one coherent system without changing their SEO markup. */
:root {
  --color-black: #0a0a0a;
  --color-white: #fff;
  --color-off-white: #f7f7f5;
  --color-text: #4a4a4a;
  --color-secondary: #777777;
  --color-muted: #9a9a9a;
  --color-border: #e5e5e2;
  --color-silver: #b5b5b0;
  --color-dark-hover: #252525;
  --font-display: "Michroma", "Eurostile", "Arial Wide", sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 64px;
  --space-2xl: 96px;
  --space-3xl: 128px;
  --content-max: 1360px;

  /* Backwards-compatible aliases used by generated templates. */
  --site-ink: var(--color-black);
  --site-muted: var(--color-text);
  --site-surface: var(--color-white);
  --site-surface-soft: var(--color-off-white);
  --site-line: var(--color-border);
  --site-navy: var(--color-black);
  --site-navy-deep: var(--color-black);
  --site-silver: var(--color-silver);
  --site-shadow: none;

  /* Compatibility bridge: legacy names resolve to this canonical palette. */
  --primary-blue: var(--color-black);
  --primary-blue-dark: var(--color-black);
  --primary-blue-light: var(--color-dark-hover);
  --secondary-blue: var(--color-text);
  --navy: var(--color-black);
  --blue: var(--color-black);
  --blue-lt: var(--color-dark-hover);
  --pnav-navy: var(--color-black);
  --pnav-navy-mid: var(--color-black);
  --pnav-navy-light: var(--color-dark-hover);
  --pnav-navy-dark: var(--color-black);
  --pnav-header-hover-bg: var(--color-off-white);
  --pnav-header-border: var(--color-border);
  --pnav-mob-bg: var(--color-white);
  --pnav-font: var(--font-display);
}

html { background: var(--color-white); scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: clip;
  background: var(--color-white) !important;
  color: var(--color-text);
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
main, #main-content, .main-content, .page-content, .content-area,
.site-content, .page-wrapper, .location-content, .service-content { background: var(--color-white); }
p, li { color: var(--color-text); }
a { text-underline-offset: .18em; }
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6,
.loc-hero-title, .loc-section-title, .lux-section-title {
  color: var(--color-black);
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}
h1, .loc-hero-title { font-size: clamp(34px, 4.2vw, 62px) !important; line-height: 1.08 !important; }
h2, .loc-section-title, .lux-section-title { font-size: clamp(28px, 3.2vw, 44px) !important; line-height: 1.12 !important; }
h3 { font-size: clamp(23px, 2.2vw, 31px) !important; line-height: 1.18; }

.container, .container-wide, .content-container, .section-inner,
.page-container, .location-container, .service-container, .loc-container {
  width: min(var(--content-max), calc(100% - 64px)) !important;
  margin-inline: auto !important;
}
.section, .loc-section, .lux-section { padding-block: var(--space-2xl) !important; }
.section:nth-of-type(even), .loc-section-offwhite { background: var(--color-off-white) !important; }
.section-dark, .loc-section-dark { background: var(--color-black) !important; color: var(--color-white) !important; }

/* Shared labels */
.loc-badge, .lux-badge, .eyebrow, .section-eyebrow, .loc-hero-eyebrow-text,
.loc-fare-card-title, .loc-stat-label {
  background: transparent !important;
  border: 0 !important;
  color: var(--color-secondary) !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  padding: 0 !important;
  text-transform: uppercase !important;
}
.loc-divider, .lux-gold-line { width: 40px !important; height: 1px !important; background: var(--color-silver) !important; }
.route-chip, .tab, .tab-button, [role="tab"] {
  border: 1px solid var(--color-border) !important;
  border-radius: 5px !important;
  background: var(--color-white) !important;
  color: var(--color-black) !important;
}
.tab.active, .tab-button.active, [role="tab"][aria-selected="true"] {
  border-color: var(--color-black) !important;
  background: var(--color-black) !important;
  color: var(--color-white) !important;
}

/* Unified header; collapse is owned by premium-nav.js and premium-nav.css. */
.pnav-topbar { display: none !important; }
.pnav-header {
  top: 0 !important;
  min-height: 84px;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--color-border) !important;
  box-shadow: none !important;
}
.pnav-container { max-width: 1400px !important; }
.pnav-header a, .pnav-menu-link { color: var(--color-black); }
.pnav-book-btn, .pnav-cta, .pnav-book-now, .pnav-cta-btn,
.pnav-viewall-btn, .pnav-mob-book-btn {
  border: 1px solid var(--color-black) !important;
  border-radius: 5px !important;
  background: var(--color-black) !important;
  color: var(--color-white) !important;
}
.pnav-book-btn:hover, .pnav-cta:hover, .pnav-book-now:hover,
.pnav-cta-btn:hover, .pnav-viewall-btn:hover, .pnav-mob-book-btn:hover { background: var(--color-dark-hover) !important; }
.pnav-menu-link:hover, .pnav-menu-link[aria-expanded="true"],
.pnav-service-link:hover, .pnav-region-link:hover { color: var(--color-black) !important; background: var(--color-off-white) !important; }
.pnav-toggle, .pnav-mob-close { background: var(--color-black) !important; border-radius: 5px !important; }
.pnav-mobile-panel, .pnav-mob-header, .pnav-mob-body { background: var(--color-white) !important; color: var(--color-black) !important; }
@media (min-width: 1025px) {
  .pnav-mega-backdrop, .pnav-mega-backdrop.pnav-mega-active {
    visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;
    background: transparent !important; backdrop-filter: none !important;
  }
  .pnav-mega-panel, .pnav-mega-panel.pnav-panel-active {
    background: var(--color-white) !important; color: var(--color-black) !important;
    border-color: var(--color-border) !important; box-shadow: 0 20px 50px rgba(0,0,0,.08) !important;
  }
  .pnav-mega-panel a, .pnav-mega-panel .pnav-service-title,
  .pnav-mega-panel .pnav-region-link, .pnav-mega-panel .pnav-fleet-card-name { color: #0A0A0A !important; }
}

/* Editorial heroes: photography may remain, but dark-blue washes and boxed
 * fare cards no longer dominate internal pages. */
.loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
.location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(500px, 64vh, 720px) !important;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-black) !important;
}
.loc-hero-overlay,
.loc-hero::before, .page-hero::before, .inner-hero::before, .page-header::before,
.page-banner::before, .location-hero::before, .service-hero::before,
.about-hero::before, .contact-hero::before, .booking-hero::before {
  background: linear-gradient(90deg, rgba(10,10,10,.88) 0%, rgba(10,10,10,.58) 55%, rgba(10,10,10,.2) 100%) !important;
}
.loc-hero h1, .loc-hero h2, .loc-hero p, .page-hero h1, .page-hero h2, .page-hero p,
.inner-hero h1, .inner-hero p, .page-header h1, .page-header p, .page-banner h1,
.page-banner p, .location-hero h1, .service-hero h1, .about-hero h1,
.contact-hero h1, .booking-hero h1 { color: var(--color-white) !important; -webkit-text-fill-color: currentColor; }
.loc-hero-inner { max-width: var(--content-max) !important; gap: var(--space-xl) !important; }
.loc-hero-sub { max-width: 650px !important; font-size: clamp(16px, 1.5vw, 18px) !important; line-height: 1.65 !important; }
.loc-hero-title span, .loc-section-title span, .lux-section-title span { color: inherit !important; }

/* Buttons and focus treatment */
.btn, .button, .cta-button, .book-now, .book-btn, .primary-btn, .btn-primary,
.button-primary, .loc-hero-btn-primary, .loc-route-cta, .loc-fare-cta, .lux-btn-navy,
.loc-cta-btn-primary, .fleet-book-btn, .vehicle-book-btn, .sticky-book-btn {
  border: 1px solid var(--color-black) !important;
  border-radius: 5px !important;
  background: var(--color-black) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--color-white) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
.btn:hover, .button:hover, .cta-button:hover, .book-now:hover, .book-btn:hover,
.primary-btn:hover, .btn-primary:hover, .button-primary:hover,
.loc-hero-btn-primary:hover, .loc-fare-cta:hover, .loc-cta-btn-primary:hover,
.fleet-book-btn:hover, .vehicle-book-btn:hover, .sticky-book-btn:hover {
  background: var(--color-dark-hover) !important;
}
.loc-hero-btn-ghost { border-radius: 5px !important; background: transparent !important; color: var(--color-white) !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline: 3px solid #B5B5B0 !important; outline-offset: 3px; }
button, input, select, textarea { font: inherit; }
input, select, textarea { border: 1px solid #a7a7a2 !important; border-radius: 5px !important; background: var(--color-white); color: var(--color-black); }

/* Route and fare module: one horizontal editorial surface on desktop. */
.loc-fare-card {
  padding: var(--space-lg) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: none !important;
}
.loc-fare-card::before { display: none !important; }
.loc-fare-row { border-bottom: 1px solid var(--color-border) !important; padding: 14px 0 !important; }
.loc-fare-price, .loc-route-price { color: var(--color-black) !important; font-family: var(--font-body) !important; font-weight: 600 !important; }
.loc-route-prices { gap: var(--space-sm) !important; }
.loc-route-price { padding: 0 !important; border: 0 !important; background: transparent !important; }
.loc-routes-grid { gap: 0 !important; border-top: 1px solid var(--color-border); }
.loc-route-card, .route-card {
  padding: var(--space-md) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.loc-route-card:hover, .route-card:hover { transform: none !important; border-color: var(--color-black) !important; box-shadow: none !important; }
.fare-box, .route-info, .route-summary, .hero-panel {
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  background: var(--color-white) !important;
  box-shadow: none !important;
}
.fare-price, .route-price, .route-meta strong { color: var(--color-black) !important; }

/* Replace legacy card walls with typography, whitespace and separators. */
.loc-features-grid, .features-grid, .benefits-grid { gap: var(--space-lg) !important; }
.loc-feature-card, .feature-card, .service-card, .benefit-card, .info-card,
.location-card, .service-item, .location-item {
  padding: var(--space-md) 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.loc-feature-card:hover, .feature-card:hover, .service-card:hover,
.benefit-card:hover, .info-card:hover, .location-card:hover { transform: none !important; box-shadow: none !important; }
.loc-feature-icon, .service-icon, .feature-icon, .lux-about-feature-icon,
.lux-trust-icon, .premium-svg-icon {
  width: 32px !important; height: 32px !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; color: var(--color-black) !important;
  box-shadow: none !important;
}
.loc-feature-icon svg, .service-icon svg, .feature-icon svg,
.lux-about-feature-icon svg, .lux-trust-icon svg, .premium-svg-icon svg {
  width: 22px !important; height: 22px !important; stroke: currentColor !important;
}
.loc-feature-title, .loc-route-dest { color: var(--color-black) !important; }

/* FAQ remains semantic and keyboard-friendly, without nested cards. */
.loc-faq-item, .faq-item, .lux-faq-item {
  border: 0 !important; border-bottom: 1px solid var(--color-border) !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
.loc-faq-q, .faq-question, .lux-faq-q { color: var(--color-black) !important; }
.loc-faq-a, .faq-answer { color: var(--color-text) !important; }

/* Homepage root-cause fix: corporate content dictates its own height. Legacy
 * image wrappers and reveal animations must not reserve a second viewport. */
.lux-about-grid { align-items: center !important; min-height: 0 !important; }
.lux-about-img-wrap { min-height: 0 !important; aspect-ratio: 4 / 5; }
.lux-about-img { width: 100%; height: 100% !important; object-fit: cover; }
.lux-trust-strip { margin: 0 !important; padding: var(--space-lg) 0 !important; background: var(--color-white) !important; border-color: var(--color-border) !important; }
.lux-trust-grid { max-width: 1000px !important; }
.lux-about-feature { padding: var(--space-sm) 0 !important; border: 0 !important; border-top: 1px solid var(--color-border) !important; border-radius: 0 !important; background: transparent !important; }

.footer, .footer-premium, footer.footer, footer.footer-premium {
  background: var(--color-black) !important;
  background-image: none !important;
  border-top: 1px solid #282828 !important;
  color: #b8b8b8 !important;
}
.footer h1, .footer h2, .footer h3, .footer h4, .footer a,
.footer-premium h1, .footer-premium h2, .footer-premium h3,
.footer-premium h4, .footer-premium a { color: var(--color-white) !important; }
.footer p, .footer li, .footer-premium p, .footer-premium li { color: #b8b8b8 !important; }
.footer a:hover, .footer-premium a:hover { color: var(--color-silver) !important; }
.footer-brand-logo, .footer .sso-site-logo, .site-footer .sso-site-logo {
  filter: brightness(0) invert(1) drop-shadow(0 8px 18px rgba(0,0,0,.18)) !important;
}

@media (max-width: 1100px) {
  .pnav-desktop-nav { display: none !important; }
  .pnav-mobile-toggle { display: flex !important; }
  .loc-hero-inner { grid-template-columns: 1fr !important; }
  .loc-fare-card { max-width: 680px !important; }
}
@media (max-width: 768px) {
  .container, .container-wide, .content-container, .section-inner,
  .page-container, .location-container, .service-container, .loc-container {
    width: min(100% - 40px, var(--content-max)) !important;
  }
  .section, .loc-section, .lux-section { padding-block: var(--space-xl) !important; }
  .loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
  .location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
    min-height: auto !important; padding-block: 72px !important;
  }
  .loc-hero-inner { padding: 72px 20px 40px !important; }
  .loc-fare-card { padding: var(--space-md) !important; }
  .lux-about-grid { grid-template-columns: 1fr !important; gap: var(--space-lg) !important; }
  .lux-about-img-wrap { aspect-ratio: 16 / 10; }
  .lux-trust-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: var(--space-lg) var(--space-sm) !important; }
}

/* Sitewide type and colour continuity across legacy page templates. */
body, input, select, textarea {
  font-family: var(--font-body) !important;
}
button {
  font-family: var(--sso-display) !important;
  letter-spacing: .035em;
}
main p, main li, main dd, main label,
.section p, .loc-section p, .page-content p, .content-section p,
.service-content p, .location-content p, .about-content p,
.card p, .service-card p, .location-card p, .fleet-card p {
  color: var(--sso-copy) !important;
  font-size: max(1rem, 16px);
  line-height: 1.65;
}
main h1, main h2, main h3, main h4,
.section-title, .page-title, .hero-title, .service-title,
.location-title, .fleet-title, .faq-title, .cta-title {
  color: var(--sso-ink) !important;
  font-family: var(--sso-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.05em !important;
  text-transform: uppercase !important;
}

/* Apply the uppercase editorial heading treatment to every page template. */
h1, h2, h3, h4, h5, h6,
.loc-hero-title, .loc-section-title, .lux-section-title,
.lux-fleet-title, .lux-feature-title, .lux-cta-title,
.footer-col-title, .footer-col-title-premium {
  text-transform: uppercase !important;
}

/* Forensic heading coverage: several older templates use div, summary or
   button elements as visible headings, so the h1–h6 rule alone cannot reach
   them. Keep every customer-facing title in the same Inter/uppercase system. */
body .loc-faq-q, body .faq-q, body .faq-question, body .lux-faq-q,
body .loc-feature-title, body .loc-fare-card-title,
body .loc-section-title-white, body .loc-cta-title,
body .section-title, body .page-title, body .page-hero-title,
body .hero-panel-title, body .page-hero-panel-title,
body .panel-title, body .maxi-section-title, body .maxi-area-title,
body .airport-card-title, body .contact-card-title,
body .route-overview-heading, body .process-step-title,
body .lux-about-feature-title, body .fare-box-title,
body .policy-hero-title {
  color: var(--sso-ink) !important;
  font-family: var(--sso-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase !important;
}
body .section-dark .section-title,
body .loc-section-dark .loc-section-title-white,
body .loc-cta-title, body .footer-col-title,
body .footer-col-title-premium { color:#fff!important; }

/* Beat high-specificity serif declarations in legacy route templates. */
body .route-page .route-hero h1,
body .route-page .route-overview h2,
body .route-page .route-editorial h2,
body.home-premium .lux-faq-q {
  font-family: var(--sso-display) !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase !important;
}

/* Final high-specificity public-page cascade. Older generated pages carry
   inline Playfair/Cormorant/Fira declarations; these selectors deliberately
   normalise their visible layout without changing SEO text or booking logic. */
body:not(.seo-dashboard):not(.admin-page) :is(
  h1,h2,h3,h4,h5,h6,
  .section-title,.page-title,.page-hero-title,.loc-hero-title,
  .loc-section-title,.loc-feature-title,.loc-faq-q,.faq-question,
  .service-title,.fleet-title,.contact-card-title,.footer-col-title
) {
  font-family: var(--sso-display) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  text-transform: uppercase !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  p,li,dd,dt,label,input,select,textarea,
  .loc-hero-sub,.page-hero-sub,.service-card-text,.footer-link
) { font-family: var(--font-body) !important; }
body:not(.seo-dashboard):not(.admin-page) :is(
  button,.btn,.button,.pnav-menu-link,.pnav-book-btn,.pnav-cta-btn,
  .pnav-mob-link,.pnav-mob-book-btn
) { font-family: var(--sso-display) !important; letter-spacing:.035em !important; }

body:not(.seo-dashboard):not(.admin-page) :is(
  .pnav-book-btn,.pnav-cta,.pnav-book-now,.pnav-mob-book-btn,
  .btn,.button,.btn-primary,.primary-btn,.book-btn,.loc-fare-cta,
  .loc-hero-btn-primary,.fleet-book-btn,.vehicle-book-btn
) {
  background: var(--sso-brand) !important;
  background-image: none !important;
  border-color: var(--sso-brand) !important;
  color: #fff !important;
}

body:not(.seo-dashboard):not(.admin-page) :is(
  .section-dark,.loc-section-dark,.loc-cta-band,.cta-section,
  .booking-cta,.footer,.footer-premium,footer
) {
  background-color: var(--sso-brand) !important;
  background-image: none !important;
}

body:not(.seo-dashboard):not(.admin-page) :is(
  .card,.service-card,.fleet-card,.location-card,.contact-card,
  .route-card,.loc-route-card,.faq-item,.loc-faq-item,.booking-card
) {
  border-color: var(--sso-line) !important;
  border-radius: var(--sso-radius) !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  body:not(.seo-dashboard):not(.admin-page) :is(h1,.page-hero-title,.loc-hero-title) {
    font-size: clamp(2.65rem, 13vw, 4.75rem) !important;
    overflow-wrap: anywhere;
  }
  body:not(.seo-dashboard):not(.admin-page) :is(.pnav-header,.pnav-container) {
    max-width: 100% !important;
  }
}
.eyebrow, .kicker, .section-label, .overline,
.loc-eyebrow, .lux-badge, .badge-label {
  color: var(--sso-brand) !important;
  font-family: var(--sso-display) !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4,
.loc-section-dark h1, .loc-section-dark h2, .loc-section-dark h3,
.cta-section h1, .cta-section h2, .booking-cta h1, .booking-cta h2,
.footer h1, .footer h2, .footer h3, .footer h4,
.footer-premium h1, .footer-premium h2, .footer-premium h3, .footer-premium h4 {
  color:#fff!important;
}
.section-dark p, .section-dark li, .loc-section-dark p, .loc-section-dark li,
.cta-section p, .booking-cta p, .footer p, .footer li,
.footer-premium p, .footer-premium li { color:rgba(255,255,255,.76)!important; }
html, body { max-width:100%; overflow-x:clip; }
@media (max-width: 430px) {
  body { font-size: 16px; }
  .container, .container-wide, .content-container, .section-inner,
  .page-container, .location-container, .service-container, .loc-container { width: calc(100% - 32px) !important; }
  .loc-hero-actions { align-items: stretch; flex-direction: column; }
  .loc-hero-actions a { justify-content: center; width: 100%; }
  .loc-fare-row { align-items: flex-start !important; gap: var(--space-sm); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ======================================================================
   SSO 2026 — AIRPORT EDITORIAL SYSTEM
   Inspired by the supplied Sleeko airport-taxi reference. The visual
   language is re-authored for Silver Service Taxi Sydney and uses brand navy
   #1a3550 in place of the reference orange. This final layer intentionally
   contains presentation only; booking, fare, tracking and SEO markup remain
   owned by their existing templates and scripts.
   ====================================================================== */
:root {
  --sso-brand: #1a3550;
  --sso-brand-deep: #10283f;
  --sso-brand-soft: #e8eef3;
  --sso-ink: #0b0c0e;
  --sso-paper: #ffffff;
  --sso-mist: #f2f4f5;
  --sso-copy: #535a61;
  --sso-line: rgba(11,12,14,.12);
  --sso-radius-sm: 12px;
  --sso-radius: 24px;
  --sso-radius-lg: 38px;
  --sso-display: "Michroma", "Eurostile", "Arial Wide", sans-serif;

  --color-black: var(--sso-ink);
  --color-off-white: var(--sso-mist);
  --color-text: var(--sso-copy);
  --color-dark-hover: var(--sso-brand-deep);
  --primary-blue: var(--sso-brand);
  --primary-blue-dark: var(--sso-brand-deep);
  --primary-blue-light: #2d4b68;
  --navy: var(--sso-brand);
  --blue: var(--sso-brand);
  --blue-lt: #2d4b68;
  --pnav-navy: var(--sso-brand);
  --pnav-navy-mid: var(--sso-brand);
  --pnav-navy-light: #2d4b68;
  --pnav-navy-dark: var(--sso-brand-deep);
  --font-display: var(--sso-display);
}

body {
  font-family: var(--sso-display) !important;
  letter-spacing: -.012em;
  background: var(--sso-paper) !important;
}

h1, h2, h3, h4, h5, h6,
.loc-hero-title, .loc-section-title, .lux-section-title {
  font-family: var(--sso-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em !important;
}
h1, .loc-hero-title { font-size: clamp(3.25rem, 7.2vw, 7rem) !important; line-height: .91 !important; }
h2, .loc-section-title, .lux-section-title { font-size: clamp(2.4rem, 5vw, 4.75rem) !important; line-height: .98 !important; }
h3 { font-size: clamp(1.6rem, 2.7vw, 2.5rem) !important; }

.section, .loc-section, .lux-section {
  padding-block: clamp(76px, 9vw, 140px) !important;
}
.section:nth-of-type(even), .loc-section-offwhite { background: var(--sso-mist) !important; }

/* Rounded editorial media and restrained card system. */
.card, .service-card, .testimonial-card, .fare-box, .route-info,
.route-summary, .hero-panel, .loc-fare-card, .booking-card,
.form-card, .contact-card, .fleet-card, .lux-fare-widget,
.lux-fleet-card, .lux-testimonial-card {
  border: 1px solid var(--sso-line) !important;
  border-radius: var(--sso-radius) !important;
  box-shadow: none !important;
}
.service-card-img-wrap, .fleet-image, .lux-fleet-img-wrap,
.about-image, .location-image { border-radius: var(--sso-radius) !important; overflow: hidden; }
.card:hover, .service-card:hover, .fleet-card:hover, .lux-fleet-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 44px rgba(16,40,63,.09) !important;
}

/* Brand-blue replaces every former warm/orange call-to-action role. */
.btn, .button, .cta-button, .book-now, .book-btn, .primary-btn,
.btn-primary, .button-primary, .loc-hero-btn-primary, .loc-fare-cta,
.lux-btn-primary, .lux-btn-gold, .lux-btn-navy, .lux-fare-btn,
.loc-cta-btn-primary, .fleet-book-btn, .vehicle-book-btn, .sticky-book-btn {
  min-height: 52px;
  padding-inline: 25px !important;
  border-color: var(--sso-brand) !important;
  border-radius: 999px !important;
  background: var(--sso-brand) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
.btn:hover, .button:hover, .cta-button:hover, .book-now:hover, .book-btn:hover,
.primary-btn:hover, .btn-primary:hover, .button-primary:hover,
.loc-hero-btn-primary:hover, .loc-fare-cta:hover, .lux-btn-primary:hover,
.lux-btn-gold:hover, .lux-btn-navy:hover, .loc-cta-btn-primary:hover,
.fleet-book-btn:hover, .vehicle-book-btn:hover, .sticky-book-btn:hover {
  border-color: var(--sso-brand-deep) !important;
  background: var(--sso-brand-deep) !important;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline-color: var(--sso-brand) !important; }

/* Reference-style cinematic hero with content anchored low and clear. */
.loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
.location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
  min-height: clamp(620px, 78vh, 900px) !important;
  background-color: var(--sso-ink) !important;
  border-radius: 0 0 var(--sso-radius-lg) var(--sso-radius-lg);
}
.loc-hero-overlay, .loc-hero::before, .page-hero::before, .inner-hero::before,
.page-header::before, .page-banner::before, .location-hero::before,
.service-hero::before, .about-hero::before, .contact-hero::before,
.booking-hero::before {
  background: linear-gradient(180deg, rgba(8,12,16,.1) 5%, rgba(8,12,16,.38) 48%, rgba(8,12,16,.94) 100%) !important;
}
.loc-hero-inner { align-items: end !important; padding-bottom: clamp(44px, 7vw, 92px) !important; }
.loc-hero-title { max-width: 920px; }
.loc-hero-sub { font-size: clamp(1rem,1.55vw,1.25rem) !important; max-width: 720px !important; }
.loc-fare-card {
  background: rgba(255,255,255,.97) !important;
  border-radius: var(--sso-radius) !important;
  color: var(--sso-ink) !important;
}

/* Route and location inventory becomes a clean editorial grid. */
.loc-routes-grid, .routes-grid, .locations-grid {
  gap: 18px !important;
  border: 0 !important;
}
.loc-route-card, .route-card, .location-card {
  padding: 25px !important;
  border: 1px solid var(--sso-line) !important;
  border-radius: var(--sso-radius-sm) !important;
  background: #fff !important;
}
.loc-route-card:hover, .route-card:hover, .location-card:hover {
  border-color: var(--sso-brand) !important;
  transform: translateY(-2px) !important;
}
.loc-route-cta, .loc-content a, .loc-breadcrumb-inner a,
.loc-faq-q:hover, .loc-faq-item.open .loc-faq-q { color: var(--sso-brand) !important; }
.loc-suburb-tag:hover, .loc-nearby-pill:hover {
  background: var(--sso-brand) !important;
  border-color: var(--sso-brand) !important;
  color: #fff !important;
}

/* Dark bands use the requested brand navy instead of black/orange. */
.section-dark, .loc-section-dark, .loc-cta-band,
.cta-section, .booking-cta, .footer, .footer-premium,
footer.footer, footer.footer-premium {
  background: var(--sso-brand) !important;
  background-image: none !important;
}

@media (max-width: 768px) {
  h1, .loc-hero-title { font-size: clamp(3rem, 14vw, 5rem) !important; }
  .loc-hero, .page-hero, .inner-hero, .page-header, .page-banner,
  .location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
    min-height: 720px !important;
    padding-block: 40px !important;
    border-radius: 0 0 28px 28px;
  }
  .loc-hero-inner { padding: 90px 18px 28px !important; }
  .loc-fare-card, .lux-fare-widget { border-radius: 22px !important; }
}


/* ======================================================================
   2026-09-12 FORENSIC CONTRAST + HERO SCALE CORRECTION
   Final cascade: repairs conflicts introduced by the sitewide uppercase
   override without changing page copy, SEO markup, booking logic or APIs.
   ====================================================================== */
:root {
  --sso-hero-overlay: rgba(7, 18, 29, .55);
  --sso-hero-title: #ffffff;
  --sso-hero-copy: rgba(255, 255, 255, .88);
  --sso-dark-title: #ffffff;
  --sso-dark-copy: rgba(255, 255, 255, .78);
}

/* All known hero families, including legacy corporate and locations hubs. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
) {
  background-color: var(--sso-brand-deep) !important;
  color: var(--sso-hero-title) !important;
}

/* A consistent 55% cinematic wash preserves photography and guarantees
   readable white type across bright airport, vehicle and city imagery. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
)::after {
  background: linear-gradient(var(--sso-hero-overlay), var(--sso-hero-overlay)) !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .loc-hero-overlay,.hero-overlay,.page-hero-overlay,.inner-hero-overlay
) {
  background: linear-gradient(var(--sso-hero-overlay), var(--sso-hero-overlay)) !important;
}

/* This final rule intentionally wins over the generic main h1/h2 colour rule. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
) :is(h1,h2,h3,.hero-title,.loc-hero-title,.page-hero-title) {
  color: var(--sso-hero-title) !important;
  -webkit-text-fill-color: var(--sso-hero-title) !important;
  font-family: var(--sso-display) !important;
  font-size: clamp(2.75rem, 5.4vw, 5.5rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.055em !important;
  line-height: .94 !important;
  max-width: 15ch;
  text-wrap: balance;
  overflow-wrap: normal;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
) :is(p,.hero-subtitle,.loc-hero-sub,.page-hero-sub) {
  color: var(--sso-hero-copy) !important;
  -webkit-text-fill-color: var(--sso-hero-copy) !important;
  font-size: clamp(1rem, 1.25vw, 1.2rem) !important;
  line-height: 1.6 !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero-badge,.loc-hero-eyebrow-text,.page-hero-badge,.hero-eyebrow
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Dark navy/black sections must never inherit the generic black heading rule. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .section-dark,.loc-section-dark,.loc-cta-band,.cta-section,
  .booking-cta,.footer,.footer-premium,footer
) :is(h1,h2,h3,h4,h5,h6,.section-title,.loc-section-title,
  .loc-section-title-white,.loc-cta-title,.footer-col-title,
  .footer-col-title-premium) {
  color: var(--sso-dark-title) !important;
  -webkit-text-fill-color: var(--sso-dark-title) !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .section-dark,.loc-section-dark,.loc-cta-band,.cta-section,
  .booking-cta,.footer,.footer-premium,footer
) :is(p,li,dd,small,.section-sub,.loc-section-sub,.loc-feature-desc) {
  color: var(--sso-dark-copy) !important;
  -webkit-text-fill-color: var(--sso-dark-copy) !important;
}

/* Light fare and booking panels keep dark, legible live values. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .loc-fare-card,.fare-box,.route-summary,.hero-panel,.booking-card,
  .estimate-box,.fare-summary,.summary-box
) :is(h1,h2,h3,h4,p,span,small,strong,dt,dd,td,th,
  .loc-fare-card-title,.loc-fare-card-sub,.loc-fare-vehicle,
  .loc-fare-vehicle-sub,.loc-fare-price,.loc-fare-price-sub,
  .fare-price,.fare-value,.estimate-value,.estimate-amount) {
  color: var(--sso-ink) !important;
  -webkit-text-fill-color: var(--sso-ink) !important;
}

/* Preserve the established responsive layout without billboard-sized titles. */
@media (max-width: 768px) {
  body:not(.seo-dashboard):not(.admin-page) :is(
    .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
    .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
  ) :is(h1,h2,h3,.hero-title,.loc-hero-title,.page-hero-title) {
    font-size: clamp(2.25rem, 10.5vw, 3.5rem) !important;
    line-height: .98 !important;
    max-width: 12ch;
    overflow-wrap: break-word;
  }
}


/* ======================================================================
   2026-09-12 REFINED TYPOGRAPHY SCALE
   Premium editorial proportions for all public templates.
   ====================================================================== */
body:not(.seo-dashboard):not(.admin-page) main h1 {
  font-size: clamp(2.35rem, 3.8vw, 3.75rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}
body:not(.seo-dashboard):not(.admin-page) main h2,
body:not(.seo-dashboard):not(.admin-page) .loc-section-title,
body:not(.seo-dashboard):not(.admin-page) .lux-section-title {
  font-size: clamp(1.85rem, 2.7vw, 2.8rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}
body:not(.seo-dashboard):not(.admin-page) main h3 {
  font-size: clamp(1.3rem, 1.8vw, 1.8rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
) :is(h1,.hero-title,.loc-hero-title,.page-hero-title) {
  font-size: clamp(2.5rem, 4vw, 3.75rem) !important;
  line-height: 1.02 !important;
  max-width: 17ch;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
  .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
) :is(h2,h3) {
  font-size: clamp(1.75rem, 2.5vw, 2.6rem) !important;
  line-height: 1.08 !important;
}

@media (max-width: 768px) {
  body:not(.seo-dashboard):not(.admin-page) main h1 {
    font-size: clamp(2rem, 9vw, 2.85rem) !important;
  }
  body:not(.seo-dashboard):not(.admin-page) main h2,
  body:not(.seo-dashboard):not(.admin-page) .loc-section-title,
  body:not(.seo-dashboard):not(.admin-page) .lux-section-title {
    font-size: clamp(1.65rem, 7vw, 2.25rem) !important;
  }
  body:not(.seo-dashboard):not(.admin-page) :is(
    .hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,
    .location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero
  ) :is(h1,.hero-title,.loc-hero-title,.page-hero-title) {
    font-size: clamp(2rem, 9vw, 2.85rem) !important;
    line-height: 1.04 !important;
    max-width: 14ch;
  }
}


/* 2026-09-12 BOOKING FARE CARD CONTRAST
   The booking template uses div elements for these values; name them directly
   so the white card never retains its former white-on-navy text colours. */
body:not(.seo-dashboard):not(.admin-page) .fare-box {
  background: #ffffff !important;
  border: 1px solid var(--sso-line) !important;
  box-shadow: 0 12px 32px rgba(16, 40, 63, .08) !important;
}
body:not(.seo-dashboard):not(.admin-page) .fare-box :is(
  .fare-box-label,.fare-total-val,.fare-item-lbl,.fare-item-val
) {
  color: var(--sso-ink) !important;
  -webkit-text-fill-color: var(--sso-ink) !important;
}
body:not(.seo-dashboard):not(.admin-page) .fare-box .fare-total-val {
  font-size: clamp(1.85rem, 3vw, 2.25rem) !important;
}
body:not(.seo-dashboard):not(.admin-page) .fare-box .fare-total-val span,
body:not(.seo-dashboard):not(.admin-page) .fare-box .fare-box-label,
body:not(.seo-dashboard):not(.admin-page) .fare-box .fare-item-lbl {
  color: var(--sso-muted) !important;
  -webkit-text-fill-color: var(--sso-muted) !important;
}
body:not(.seo-dashboard):not(.admin-page) .fare-box .fare-breakdown {
  border-top-color: var(--sso-line) !important;
}


/* 2026-09-12 COMPLETE SITEWIDE TYPE RHYTHM */
body:not(.seo-dashboard):not(.admin-page) main :is(h1,h2,h3,h4,h5,h6,.section-title,.loc-section-title,.lux-section-title,.page-title,.cta-title,.loc-cta-title,.faq-title,.card-title,.service-title,.fleet-title,.route-title,.location-title){
  text-wrap:balance!important;overflow-wrap:break-word!important;word-break:normal!important
}
body:not(.seo-dashboard):not(.admin-page) main :is(h1,.page-title){
  font-size:clamp(2.25rem,3.25vw,3.25rem)!important;line-height:1.06!important;letter-spacing:-.035em!important
}
body:not(.seo-dashboard):not(.admin-page) main :is(h2,.section-title,.loc-section-title,.lux-section-title,.cta-title,.loc-cta-title,.faq-title){
  font-size:clamp(1.75rem,2.35vw,2.375rem)!important;line-height:1.12!important;letter-spacing:-.025em!important
}
body:not(.seo-dashboard):not(.admin-page) main :is(h3,.card-title,.service-title,.fleet-title,.route-title,.location-title){
  font-size:clamp(1.25rem,1.55vw,1.625rem)!important;line-height:1.2!important;letter-spacing:-.015em!important
}
body:not(.seo-dashboard):not(.admin-page) main h4{font-size:clamp(1.05rem,1.2vw,1.25rem)!important;line-height:1.3!important}
body:not(.seo-dashboard):not(.admin-page) :is(.hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) :is(h1,.hero-title,.loc-hero-title,.page-hero-title){
  font-size:clamp(2.4rem,3.6vw,3.5rem)!important;line-height:1.05!important;letter-spacing:-.04em!important;max-width:18ch!important
}
body:not(.seo-dashboard):not(.admin-page) :is(.card,.service-card,.fleet-card,.lux-fleet-card,.loc-route-card,.route-card,.location-card,.faq-item,.loc-faq-item) :is(h2,h3,h4,.card-title,.service-title,.fleet-title,.route-title){
  font-size:clamp(1.15rem,1.4vw,1.5rem)!important;line-height:1.24!important;letter-spacing:-.012em!important
}
body:not(.seo-dashboard):not(.admin-page) :is(.section-dark,.loc-section-dark,.loc-cta-band,.cta-section,.booking-cta) :is(h1,h2,h3,.section-title,.loc-section-title,.loc-cta-title){
  font-size:clamp(1.85rem,2.5vw,2.625rem)!important;line-height:1.1!important;max-width:22ch!important
}
@media(max-width:768px){
 body:not(.seo-dashboard):not(.admin-page) main :is(h1,.page-title){font-size:clamp(1.95rem,8vw,2.5rem)!important}
 body:not(.seo-dashboard):not(.admin-page) main :is(h2,.section-title,.loc-section-title,.lux-section-title,.cta-title,.loc-cta-title,.faq-title){font-size:clamp(1.55rem,6.5vw,1.95rem)!important}
 body:not(.seo-dashboard):not(.admin-page) main :is(h3,.card-title,.service-title,.fleet-title,.route-title,.location-title){font-size:clamp(1.2rem,5vw,1.45rem)!important}
 body:not(.seo-dashboard):not(.admin-page) :is(.hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero,.booking-hero) :is(h1,.hero-title,.loc-hero-title,.page-hero-title){font-size:clamp(2rem,8.5vw,2.75rem)!important;line-height:1.08!important;max-width:15ch!important}
 body:not(.seo-dashboard):not(.admin-page) :is(.section-dark,.loc-section-dark,.loc-cta-band,.cta-section,.booking-cta) :is(h1,h2,h3,.section-title,.loc-section-title,.loc-cta-title){font-size:clamp(1.6rem,6.8vw,2rem)!important;max-width:18ch!important}
}


/* Home hero eyebrow: silver-white on the dark cinematic image. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.lux-hero,.home-hero
) :is(.lux-eyebrow,.lux-eyebrow-text,.hero-eyebrow,.hero-badge) {
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
}
body:not(.seo-dashboard):not(.admin-page) :is(
  .hero,.lux-hero,.home-hero
) :is(.lux-eyebrow-line,.hero-eyebrow-line) {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.72) !important;
}


/* 2026-09-12 HOME HERO GAP CORRECTION
   Top-align the homepage composition instead of centring it in a 100vh canvas. */
body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero {
  min-height: clamp(680px, calc(100svh - 96px), 860px) !important;
  align-items: flex-start !important;
}
body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero-inner {
  align-items: start !important;
  padding-top: clamp(42px, 5vw, 72px) !important;
  padding-bottom: clamp(64px, 7vw, 96px) !important;
}
body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero-content {
  align-self: start !important;
}

@media (max-width: 768px) {
  body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero {
    min-height: auto !important;
  }
  body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero-inner {
    padding: 32px 20px 40px !important;
    gap: 28px !important;
  }
  body:not(.seo-dashboard):not(.admin-page).home-premium .lux-hero-eyebrow {
    margin-bottom: 20px !important;
  }
}


/* 2026-09-12 FINAL BOOKING SUMMARY LEGIBILITY */
body:not(.seo-dashboard):not(.admin-page) .fare-box :is(.fare-box-label,.fare-item-lbl) {
  color: #526070 !important;
  -webkit-text-fill-color: #526070 !important;
  background: transparent !important;
  opacity: 1 !important;
}
body:not(.seo-dashboard):not(.admin-page) .fare-box :is(.fare-total-val,.fare-item-val) {
  color: #101820 !important;
  -webkit-text-fill-color: #101820 !important;
  opacity: 1 !important;
}


/* ======================================================================
   2026-09-12 SITEMAP-WIDE 950-PAGE DESIGN SYSTEM — V6
   Covers shared, generated and bespoke page families (including maxi taxi).
   ====================================================================== */
body:not(.seo-dashboard):not(.admin-page) main {
  color: #526070;
  font-size: 1rem;
  line-height: 1.65;
}
body:not(.seo-dashboard):not(.admin-page) main :is(h1,h2,h3,h4,h5,h6) {
  color: #101820;
  -webkit-text-fill-color: currentColor;
  font-family: var(--sso-display) !important;
  text-wrap: balance !important;
  overflow-wrap: break-word !important;
}
body:not(.seo-dashboard):not(.admin-page) main :is(p,li,dd) {
  overflow-wrap: break-word;
}
body:not(.seo-dashboard):not(.admin-page) main :is(
  [class$="-hero"],[class*="-hero "]
) :is(h1,[class$="-title"],[class*="-title "]) {
  font-size: clamp(2.35rem, 3.6vw, 3.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  max-width: 18ch !important;
}
body:not(.seo-dashboard):not(.admin-page) main :is(
  [class$="-section-title"],[class*="-section-title "],
  [class$="-heading"],[class*="-heading "]
) {
  font-size: clamp(1.75rem, 2.35vw, 2.375rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}
body:not(.seo-dashboard):not(.admin-page) main :is(
  [class*="dark"],[class*="hero"],[class*="banner"],[class*="cta"]
) :is(h1,h2,h3,h4,h5,h6) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body:not(.seo-dashboard):not(.admin-page) main :is(
  [class*="dark"],[class*="hero"],[class*="banner"],[class*="cta"]
) :is(p,li,dd,small) {
  color: rgba(255,255,255,.82) !important;
  -webkit-text-fill-color: rgba(255,255,255,.82) !important;
}

/* Bespoke Maxi Taxi template: align it with the shared navy design system. */
body:not(.seo-dashboard):not(.admin-page) .maxi-page {
  --maxi-brand: #1a3550;
  --maxi-brand-deep: #10283f;
  --maxi-brand-soft: #dce6ef;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-hero {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  background:
    linear-gradient(135deg,rgba(7,17,31,.72),rgba(26,53,80,.78)),
    url('/images/maxi-taxi/hero-airport-kia-carnival-full.webp') center/cover no-repeat !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-title {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(2.5rem,4.2vw,4.25rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  max-width: 12ch !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-title span {
  color: #dce6ef !important;
  -webkit-text-fill-color: #dce6ef !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page :is(
  .maxi-eyebrow,.maxi-kicker,.maxi-trust-num,.maxi-logo-text span,
  .maxi-section-title span,.maxi-image-band figcaption
) {
  color: #1a3550 !important;
  -webkit-text-fill-color: #1a3550 !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page :is(
  .maxi-hero .maxi-eyebrow,.maxi-section.dark .maxi-kicker,
  .maxi-hero .maxi-trust-num,.maxi-hero .maxi-logo-text span,
  .maxi-section.dark .maxi-section-title span,.maxi-image-band figcaption
) {
  color: #dce6ef !important;
  -webkit-text-fill-color: #dce6ef !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-section-title {
  color: #101820 !important;
  -webkit-text-fill-color: #101820 !important;
  font-size: clamp(1.8rem,2.5vw,2.5rem) !important;
  line-height: 1.1 !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-section.dark .maxi-section-title {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page :is(
  .maxi-section.dark,.maxi-final-cta
) {
  background: linear-gradient(135deg,#10283f,#1a3550) !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page :is(
  .maxi-nav-book,.maxi-book-step::before
) {
  background: #1a3550 !important;
  color: #fff !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-service-card h3 {
  font-size: clamp(1.2rem,1.45vw,1.5rem) !important;
  line-height: 1.22 !important;
}
body:not(.seo-dashboard):not(.admin-page) .maxi-page :is(.maxi-copy-panel,.maxi-book-panel) h2,
body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-final-cta h2 {
  font-size: clamp(1.65rem,2.2vw,2.25rem) !important;
  line-height: 1.12 !important;
}
@media (max-width: 768px) {
  body:not(.seo-dashboard):not(.admin-page) main :is(
    [class$="-hero"],[class*="-hero "]
  ) :is(h1,[class$="-title"],[class*="-title "]) {
    font-size: clamp(2rem,8.5vw,2.75rem) !important;
    line-height: 1.08 !important;
    max-width: 15ch !important;
  }
  body:not(.seo-dashboard):not(.admin-page) main :is(
    [class$="-section-title"],[class*="-section-title "],
    [class$="-heading"],[class*="-heading "]
  ) {
    font-size: clamp(1.5rem,6.4vw,1.95rem) !important;
  }
  body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-hero {
    padding-top: 42px !important;
    padding-bottom: 48px !important;
  }
  body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-title {
    font-size: clamp(2.1rem,10vw,2.8rem) !important;
  }
  body:not(.seo-dashboard):not(.admin-page) .maxi-page .maxi-section {
    padding-block: 56px !important;
  }
}


/* 2026-09-12 V8 DARK HEADING DESCENDANT CONTRAST
   Inline accent spans must inherit the accessible heading colour. */
body:not(.seo-dashboard):not(.admin-page) :is(
  .section-dark,.dark-section,.loc-section-dark,.cta-section,
  .cta-band,.booking-cta,.maxi-section.dark,footer,.footer,.footer-premium
) :is(h1,h2,h3,h4,h5,h6) :is(span,em,strong) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}


/* Sitewide SVG safety: legacy templates often leave inline SVGs without an
   intrinsic CSS size, allowing the browser's 300x150 default to overflow cards.
   Cap only icon contexts; logos, maps and decorative illustrations are untouched. */
body :is(
  .lux-feature-icon,.lux-about-feature-icon,.lux-trust-icon,
  .loc-feature-icon,.feature-icon,.service-icon,.benefit-icon,
  .info-icon,.airport-card-icon,.contact-card-icon,.process-step-icon,
  .trust-icon,.premium-svg-icon,.pnav-service-icon,.pnav-col-label
) {
  flex: 0 0 auto !important;
  overflow: hidden !important;
}
body :is(
  .lux-feature-icon,.lux-about-feature-icon,.lux-trust-icon,
  .loc-feature-icon,.feature-icon,.service-icon,.benefit-icon,
  .info-icon,.airport-card-icon,.contact-card-icon,.process-step-icon,
  .trust-icon,.premium-svg-icon,.pnav-service-icon,.pnav-col-label
) svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body :is(
  .lux-feature-card,.feature-card,.benefit-card,.service-card,.info-card,
  .airport-card,.contact-card,.trust-card,.loc-feature-card
) > svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  flex: 0 0 28px !important;
}
body .lux-feature-icon {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
}


/* 2026-09-19 LIVE RENDERING REPAIR
   Every inline 24x24 SVG on public pages is a UI icon. Constrain it explicitly
   so missing/legacy component rules can never fall back to a giant SVG size.
   The site logo uses a different viewBox and is intentionally excluded. */
body:not(.seo-dashboard):not(.admin-page) svg[viewBox="0 0 24 24"],
body:not(.seo-dashboard):not(.admin-page) svg[viewbox="0 0 24 24"] {
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 22px !important;
  max-height: 22px !important;
  flex: 0 0 22px !important;
  vertical-align: middle !important;
  overflow: visible !important;
}
body.home-premium .lux-faq-chevron {
  display:block !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  flex:0 0 20px !important;
}
body.home-premium .lux-faq-q {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}
body.home-premium :is(
  .lux-btn-primary,.lux-btn-ghost,.lux-btn-gold,.lux-btn-navy,
  .lux-fare-btn,.lux-coverage-card,.lux-hero-micro,.lux-cta-actions a
) > svg {
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  flex:0 0 18px !important;
}
body.home-premium :is(.lux-feature-icon,.lux-about-feature-icon,.lux-trust-icon) svg {
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  flex:0 0 24px !important;
}
body.home-premium .lux-fare-label svg {
  width:22px !important;
  height:22px !important;
  max-width:22px !important;
  max-height:22px !important;
  flex:0 0 22px !important;
}


/* PREMIUM NAVIGATION GEOMETRY — mirrored from the known-good
   Silver Service Taxi Sydney navigation, with !important hardening so the global
   24x24 SVG safety rule cannot enlarge nav icons. */
.pnav-topbar-item svg,.pnav-topbar-link svg {
  width:11px!important;height:11px!important;min-width:11px!important;min-height:11px!important;
  max-width:11px!important;max-height:11px!important;flex:0 0 11px!important;
}
.pnav-chevron {
  width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;
  max-width:13px!important;max-height:13px!important;flex:0 0 13px!important;
}
.pnav-cta-btn svg {
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;
  max-width:14px!important;max-height:14px!important;flex:0 0 14px!important;
}
.pnav-col-label svg {
  width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;
  max-width:13px!important;max-height:13px!important;flex:0 0 13px!important;
}
.pnav-region-label svg {
  width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;
  max-width:12px!important;max-height:12px!important;flex:0 0 12px!important;
}
.pnav-viewall-btn svg {
  width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;
  max-width:13px!important;max-height:13px!important;flex:0 0 13px!important;
}
.pnav-mob-close svg {
  width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;
  max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;
}
.pnav-mob-link-icon svg {
  width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;
  max-width:15px!important;max-height:15px!important;flex:0 0 15px!important;
}
.pnav-mob-chevron {
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;
  max-width:14px!important;max-height:14px!important;flex:0 0 14px!important;
}
.pnav-mob-book-btn svg {
  width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
  max-width:16px!important;max-height:16px!important;flex:0 0 16px!important;
}
.pnav-mob-contact-link svg {
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;
  max-width:14px!important;max-height:14px!important;flex:0 0 14px!important;
}
.pnav-logo img {
  height:58px!important;width:auto!important;max-width:205px!important;object-fit:contain!important;
}
.pnav-header.pnav-scrolled .pnav-logo img { height:50px!important; }
@media(max-width:768px){
  .pnav-logo img{height:46px!important;max-width:170px!important;}
  .pnav-toggle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;}
}
:root {
  --limo-ink: #111111;
  --limo-black: #080808;
  --limo-muted: #6b6b67;
  --limo-line: #e6e5e1;
  --limo-soft: #f7f7f4;
  --limo-paper: #fffefb;
  --limo-serif: "Playfair Display", Georgia, serif;
  --limo-sans: "Inter Tight", Inter, Arial, sans-serif;
  --limo-radius: 18px;
  --limo-shadow: 0 24px 70px rgba(12,12,12,.10);
}

html { scroll-behavior: smooth; }
body {
  background: var(--limo-paper) !important;
  color: var(--limo-ink) !important;
  font-family: var(--limo-sans) !important;
  overflow-x: hidden;
}
body, body * { box-sizing: border-box; }
body p, body li, body a, body button, body input, body select, body textarea, body label, body small {
  font-family: var(--limo-sans) !important;
}
h1, h2, h3, h4, h5, h6,
.lux-hero-title, .lux-section-title, .loc-hero-title, .loc-section-title,
.page-hero-title, .page-title, .section-title {
  color: var(--limo-ink) !important;
  font-family: var(--limo-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}
p, li { color: var(--limo-muted); line-height: 1.75; }

/* Reference-style editorial navigation: restrained, white, and always legible. */
.home-premium .pnav-topbar { display: none !important; }
.pnav-header, .navbar, header.pnav-header {
  background: rgba(255,254,251,.94) !important;
  border-bottom: 1px solid var(--limo-line) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.045) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
}
.pnav-menu-link, .pnav-header a, .nav-link {
  color: var(--limo-ink) !important;
  font-family: var(--limo-sans) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}
.pnav-menu-link:hover, .nav-link:hover { color: #777 !important; background: transparent !important; }
.pnav-cta-btn, .pnav-book-btn, .pnav-book-now, .nav-book-btn,
.btn-primary, .btn-gold, .loc-hero-btn-primary, .loc-route-cta,
.lux-btn-primary, .lux-btn-gold, .lux-fare-btn, .lux-fleet-btn,
.book-now, .book-btn, .primary-btn {
  background: var(--limo-black) !important;
  border: 1px solid var(--limo-black) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  color: #fff !important;
  letter-spacing: .02em !important;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease !important;
}
.pnav-cta-btn:hover, .pnav-book-btn:hover, .nav-book-btn:hover,
.btn-primary:hover, .btn-gold:hover, .loc-hero-btn-primary:hover,
.lux-btn-primary:hover, .lux-btn-gold:hover, .lux-fare-btn:hover, .lux-fleet-btn:hover {
  background: #2d2d2b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.14) !important;
}

/* Homepage: asymmetric split hero and quiet editorial surfaces. */
.home-premium .lux-hero {
  min-height: 700px !important;
  padding: 72px 0 94px !important;
  background: var(--limo-paper) !important;
  overflow: hidden !important;
}
.home-premium .lux-hero-inner {
  max-width: 1440px !important;
  grid-template-columns: minmax(0,.88fr) minmax(390px,.78fr) !important;
  gap: 74px !important;
  padding-inline: 34px !important;
}
.home-premium .lux-hero-bg {
  width: 53% !important;
  inset: 22px 0 22px auto !important;
  border-radius: 28px 0 0 28px !important;
  background-position: center !important;
  box-shadow: -22px 30px 80px rgba(0,0,0,.16) !important;
  opacity: 1 !important;
}
.home-premium .lux-hero-overlay {
  background: linear-gradient(90deg, #fffefb 0%, rgba(255,254,251,.99) 38%, rgba(255,254,251,.54) 61%, rgba(255,254,251,.05) 100%) !important;
}
.home-premium .lux-hero-title {
  font-size: clamp(3.8rem, 7vw, 6.6rem) !important;
  line-height: .93 !important;
}
.home-premium .lux-hero-eyebrow, .home-premium .lux-badge,
.loc-hero-eyebrow-text, .page-hero-badge, .section-eyebrow {
  color: var(--limo-muted) !important;
  font-family: var(--limo-sans) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.home-premium .lux-fare-widget, .loc-fare-card, .page-hero-panel, .fare-box, .booking-card {
  background: rgba(255,254,251,.97) !important;
  border: 1px solid var(--limo-line) !important;
  border-radius: var(--limo-radius) !important;
  box-shadow: var(--limo-shadow) !important;
}

/* Shared page rhythm and premium content surfaces. */
.lux-section, .section, .loc-section { padding-block: clamp(76px, 9vw, 128px) !important; }
.lux-section-offwhite, .loc-section-offwhite, .section:nth-of-type(even) { background: var(--limo-soft) !important; }
.lux-section-title, .loc-section-title, .section-title { font-size: clamp(2.5rem, 5vw, 4.8rem) !important; }
.lux-section-sub, .section-subtitle, .loc-hero-sub { max-width: 680px !important; color: var(--limo-muted) !important; }
.lux-fleet-grid, .fleet-grid, .vehicle-grid, .vehicles-grid, .services-grid, .features-grid, .benefits-grid, .locations-grid { gap: 22px !important; }
.lux-fleet-card, .fleet-card, .vehicle-card, .service-card, .feature-card, .benefit-card, .location-card, .route-card, .info-card {
  background: #fff !important;
  border: 1px solid var(--limo-line) !important;
  border-radius: var(--limo-radius) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.055) !important;
  overflow: hidden !important;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease !important;
}
.lux-fleet-card:hover, .fleet-card:hover, .vehicle-card:hover, .service-card:hover,
.feature-card:hover, .benefit-card:hover, .location-card:hover, .route-card:hover, .info-card:hover {
  border-color: #bcbcb7 !important;
  box-shadow: 0 24px 54px rgba(0,0,0,.12) !important;
  transform: translateY(-7px) !important;
}
.lux-fleet-img, .fleet-card img, .vehicle-card img, .service-card img, .location-card img {
  transition: transform .7s cubic-bezier(.2,.8,.2,1) !important;
}
.lux-fleet-card:hover img, .fleet-card:hover img, .vehicle-card:hover img, .service-card:hover img, .location-card:hover img { transform: scale(1.045) !important; }

/* Internal heroes: retain the site's photography while adopting the reference's high-contrast composition. */
.loc-hero, .page-hero, .inner-hero, .page-header, .page-banner, .location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero {
  min-height: clamp(520px, 68vh, 740px) !important;
  background: var(--limo-black) !important;
}
.loc-hero-overlay, .loc-hero::before, .page-hero::before, .inner-hero::before, .page-header::before,
.page-banner::before, .location-hero::before, .service-hero::before, .about-hero::before, .contact-hero::before, .booking-hero::before {
  background: linear-gradient(90deg, rgba(8,8,8,.92) 0%, rgba(8,8,8,.68) 54%, rgba(8,8,8,.18) 100%) !important;
}
.loc-hero h1, .loc-hero h2, .loc-hero p, .page-hero h1, .page-hero h2, .page-hero p,
.inner-hero h1, .inner-hero p, .page-header h1, .page-header p, .page-banner h1, .page-banner p,
.location-hero h1, .service-hero h1, .about-hero h1, .contact-hero h1, .booking-hero h1 { color: #fff !important; }
.loc-hero-title, .page-hero-title { font-size: clamp(2.7rem, 6vw, 5.6rem) !important; }

/* FAQ, forms, and footer use the same calm, monochrome language. */
.loc-faq-item, .faq-item, details, .accordion-item { border-color: var(--limo-line) !important; border-radius: 12px !important; background: #fff !important; }
input, select, textarea { border: 1px solid #d4d3ce !important; border-radius: 6px !important; background: #fff !important; }
input:focus, select:focus, textarea:focus { border-color: var(--limo-black) !important; box-shadow: 0 0 0 3px rgba(0,0,0,.08) !important; }
footer, .footer-premium { background: var(--limo-black) !important; color: #fff !important; }
footer h2, footer h3, footer h4, .footer-premium h2, .footer-premium h3, .footer-premium h4 { color: #fff !important; }
footer a, .footer-premium a { color: rgba(255,255,255,.75) !important; }
footer a:hover, .footer-premium a:hover { color: #fff !important; }

/* Scroll motion mirrors the reference's AOS-style reveals, with a reduced-motion escape hatch. */
.limo-reveal { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.limo-reveal.limo-inview { opacity: 1; transform: none; }
.limo-reveal[data-limo-delay="1"] { transition-delay: .06s; }
.limo-reveal[data-limo-delay="2"] { transition-delay: .12s; }
.limo-reveal[data-limo-delay="3"] { transition-delay: .18s; }
.limo-reveal[data-limo-delay="4"] { transition-delay: .24s; }
.limo-image-reveal { overflow: hidden; position: relative; }
.limo-image-reveal::after { background: var(--limo-black); content: ""; inset: 0; pointer-events: none; position: absolute; transform: translateX(0); transition: transform .9s cubic-bezier(.76,0,.24,1); z-index: 2; }
.limo-image-reveal.limo-inview::after { transform: translateX(102%); }
@media (max-width: 1024px) {
  .home-premium .lux-hero { min-height: auto !important; padding-block: 46px 72px !important; }
  .home-premium .lux-hero-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .home-premium .lux-hero-bg { inset: auto 0 0 !important; height: 45% !important; width: 100% !important; border-radius: 24px 24px 0 0 !important; opacity: .26 !important; }
  .home-premium .lux-hero-overlay { background: linear-gradient(180deg, #fffefb 0%, rgba(255,254,251,.96) 58%, rgba(255,254,251,.72) 100%) !important; }
}
@media (max-width: 700px) {
  .pnav-inner, .pnav-container { padding-inline: 16px !important; }
  .home-premium .lux-hero-title { font-size: clamp(3.1rem, 15vw, 5rem) !important; }
  .lux-section, .section, .loc-section { padding-block: 68px !important; }
  .lux-section-title, .loc-section-title, .section-title { font-size: clamp(2.4rem, 13vw, 4rem) !important; }
  .loc-hero, .page-hero, .inner-hero, .page-header, .page-banner, .location-hero, .service-hero, .about-hero, .contact-hero, .booking-hero { min-height: 500px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .limo-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .limo-image-reveal::after { display: none !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Reference design cascade fallback: v30 */

/* Sitewide reference typography v34 */
:root {
  --sst-font-body: 'Inter Tight', Arial, sans-serif;
  --sst-font-display: 'Playfair Display', Georgia, serif;
}
html, body, body.home-premium, body.page-premium,
button, input, select, textarea, .btn, .button, a,
.pnav-topbar, .pnav-header, .pnav-mega-wrap, .footer-premium {
  font-family: var(--sst-font-body) !important;
  letter-spacing: normal;
}
h1, h2, h3, h4, h5, h6,
.hero-title, .hero-heading, .page-hero-title, .page-hero h1,
.lux-section-title, .lux-heading, .section-title,
.lux-hero h1, .lux-hero h2, .lux-about h1, .lux-about h2,
.page-hero h2, .premium-hero h1, .premium-hero h2 {
  font-family: var(--sst-font-display) !important;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.pnav-header a, .pnav-topbar a, .pnav-mega-wrap a,
.btn, .button, .cta-button, .book-now, .quick-book-btn {
  font-family: var(--sst-font-body) !important;
  font-weight: 600;
}

/* Typography specificity correction v35: map the active premium variables. */
body, body.home-premium, body.page-premium {
  --premium-sans: 'Inter Tight', Arial, sans-serif !important;
  --premium-serif: 'Playfair Display', Georgia, serif !important;
  --sso-display: 'Playfair Display', Georgia, serif !important;
  --sso-sans: 'Inter Tight', Arial, sans-serif !important;
  --limo-sans: 'Inter Tight', Arial, sans-serif !important;
  --limo-serif: 'Playfair Display', Georgia, serif !important;
  --ff-body: 'Inter Tight', Arial, sans-serif !important;
  --ff-ui: 'Inter Tight', Arial, sans-serif !important;
  --ff-head: 'Playfair Display', Georgia, serif !important;
}
body.home-premium .lux-hero-title,
body.home-premium .lux-section-title,
body.home-premium .lux-cta-title,
body.home-premium .lux-fleet-title,
body.home-premium .lux-feature-title,
body.home-premium .lux-about-content h2,
body.home-premium .lux-faq-q,
body.page-premium .page-hero-title,
body.page-premium .loc-hero-title,
body.page-premium .section-title,
body.page-premium h1,
body.page-premium h2,
body.page-premium h3,
body:not(.seo-dashboard):not(.admin-page) :is(.hero,.loc-hero,.page-hero,.inner-hero,.page-header,.page-banner,.location-hero,.service-hero,.about-hero,.contact-hero) :is(h1,h2,h3,.hero-title,.loc-hero-title,.page-hero-title) {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}
body.home-premium .lux-hero-desc,
body.home-premium .lux-fare-label,
body.home-premium .lux-fare-input,
body.home-premium .lux-fleet-price,
body.home-premium .lux-about-feature-title,
body.home-premium .lux-trust-label,
body.home-premium .lux-cta-sub,
body.home-premium .lux-coverage-card,
body.page-premium p,
body.page-premium li,
body.page-premium label,
body.page-premium input,
body.page-premium textarea,
body.page-premium select {
  font-family: 'Inter Tight', Arial, sans-serif !important;
}
