/*
 * Excellentia VIP public experience layer.
 * Loaded after the historical stylesheet so public-page presentation has one
 * deliberate cascade while booking, account and provider integrations stay intact.
 */

:root {
  --vip-ref-ink: #141a1b;
  --vip-ref-ink-soft: #263235;
  --vip-ref-paper: #f7f4ed;
  --vip-ref-sand: #e8decd;
  --vip-ref-gold: #b98145;
  --vip-ref-gold-deep: #8f5d2e;
  --vip-ref-teal: #2b625d;
  --vip-ref-line: rgba(25, 35, 35, 0.14);
  --vip-ref-shadow: 0 22px 64px rgba(9, 15, 16, 0.16);
  --vip-ref-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
  scroll-behavior: smooth;
}

body.vip-page {
  background: var(--vip-ref-paper) !important;
  color: var(--vip-ref-ink) !important;
  text-rendering: optimizeLegibility;
}

body.vip-page .ambient {
  display: none !important;
}

body.vip-page .container {
  width: min(1180px, calc(100% - 48px)) !important;
}

body.vip-page .utility-bar {
  min-height: 34px !important;
  background: var(--vip-ref-ink) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  border: 0 !important;
}

body.vip-page .utility-row {
  min-height: 34px !important;
  font-size: 0.73rem !important;
}

body.vip-page .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
  border-bottom: 1px solid rgba(25, 35, 35, 0.1) !important;
  background: rgba(247, 244, 237, 0.92) !important;
  backdrop-filter: blur(18px);
  transition: background 220ms var(--vip-ref-ease), box-shadow 220ms var(--vip-ref-ease) !important;
}

body.vip-page.vip-has-scrolled .site-header {
  background: rgba(247, 244, 237, 0.98) !important;
  box-shadow: 0 10px 30px rgba(9, 15, 16, 0.08) !important;
}

body.vip-page .nav-row {
  min-height: 74px !important;
  gap: 18px !important;
}

body.vip-page .brand {
  padding: 7px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.vip-page .brand-wordmark {
  max-height: 52px !important;
}

body.vip-page .nav-links {
  gap: 20px !important;
}

body.vip-page .nav-links a,
body.vip-page .nav-link-cta {
  color: var(--vip-ref-ink) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

body.vip-page .btn,
body.vip-page .contact-pill,
body.vip-page .nav-auth-button,
body.vip-page .auth-provider-button {
  border-radius: 8px !important;
  letter-spacing: 0 !important;
}

body.vip-page .btn-primary,
body.vip-page .contact-pill--primary {
  border: 1px solid var(--vip-ref-gold-deep) !important;
  background: var(--vip-ref-gold) !important;
  color: #17130e !important;
  box-shadow: 0 12px 24px rgba(143, 93, 46, 0.2) !important;
}

body.vip-page .btn-primary:hover,
body.vip-page .btn-primary:focus-visible,
body.vip-page .contact-pill--primary:hover,
body.vip-page .contact-pill--primary:focus-visible {
  background: #d2a36b !important;
  transform: translateY(-2px) !important;
}

body.vip-page .section {
  padding-block: clamp(68px, 8vw, 116px) !important;
}

body.vip-page .section-head {
  max-width: 720px !important;
  margin-bottom: 34px !important;
}

body.vip-page .section-head h2,
body.vip-page .final-cta-card h2 {
  color: var(--vip-ref-ink) !important;
  line-height: 0.98 !important;
}

body.vip-page .section-head p,
body.vip-page .section-head-wide p {
  color: #4c5658 !important;
  line-height: 1.7 !important;
}

body.vip-page .eyebrow,
body.vip-page .mini-label,
body.vip-page .summary-label {
  color: var(--vip-ref-teal) !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
}

/* Home: one clear arrival promise, route selector and decision. */
body.vip-home .utility-bar {
  display: block !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 80 !important;
  background: rgba(9, 14, 15, 0.8) !important;
}

body.vip-home .site-header {
  position: absolute !important;
  inset: 34px 0 auto !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
}

body.vip-home.vip-has-scrolled .site-header {
  position: fixed !important;
  top: 0 !important;
  background: rgba(20, 26, 27, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22) !important;
}

body.vip-home .nav-row {
  grid-template-columns: minmax(160px, 220px) 1fr auto auto !important;
  min-height: 86px !important;
}

body.vip-home .brand {
  max-width: 210px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 6px !important;
  background: rgba(247, 244, 237, 0.94) !important;
}

body.vip-home .brand-wordmark {
  max-height: 50px !important;
}

body.vip-home .nav-links {
  justify-self: center !important;
}

body.vip-home .nav-links a,
body.vip-home .nav-link-cta {
  color: #fffdf8 !important;
}

body.vip-home .nav-auth-links:not([hidden]) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

body.vip-home .nav-auth-links[hidden],
body.vip-home .auth-provider-stack--hero[hidden] {
  display: none !important;
}

body.vip-home .nav-auth-links .nav-auth-button {
  display: inline-flex !important;
  width: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

body.vip-home .nav-auth-links .nav-auth-label {
  display: none !important;
}

body.vip-home .hero-inline-auth,
body.vip-home .hero-payment-rail,
body.vip-home .hero-media-mosaic,
body.vip-home .contact-strip {
  display: none !important;
}

body.vip-home .hero-home-cinematic {
  min-height: 760px !important;
  padding: 138px 0 64px !important;
  background: var(--vip-ref-ink) !important;
}

body.vip-home .hero-home-cinematic::before {
  background:
    radial-gradient(circle at 78% 24%, rgba(185, 129, 69, 0.2), transparent 29%),
    linear-gradient(90deg, rgba(10, 14, 15, 0.94) 0%, rgba(10, 14, 15, 0.76) 43%, rgba(10, 14, 15, 0.3) 100%) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

body.vip-home .hero-home-cinematic::after {
  background: linear-gradient(180deg, rgba(9, 13, 14, 0.2), rgba(9, 13, 14, 0.76)) !important;
}

body.vip-home .hero-home-backdrop {
  filter: saturate(0.9) contrast(1.06) brightness(0.7) !important;
  transform: scale(1.02) !important;
}

body.vip-home .hero-home-layout {
  display: block !important;
  max-width: 1180px !important;
}

body.vip-home .hero-copy-cinematic {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 0.86fr) !important;
  gap: 28px clamp(42px, 5vw, 76px) !important;
  align-items: center !important;
}

body.vip-home .hero-copy-stack {
  display: contents !important;
}

body.vip-home .hero-copy-stack > .eyebrow,
body.vip-home .hero-copy-stack > h1,
body.vip-home .hero-copy-stack > .hero-lead,
body.vip-home .hero-copy-stack > .hero-actions,
body.vip-home .hero-copy-stack > .hero-proof {
  grid-column: 1 !important;
  margin: 0 !important;
}

body.vip-home .hero-copy-stack > .eyebrow {
  align-self: end !important;
  color: #e6bf8d !important;
}

body.vip-home .hero-copy-stack > h1 {
  max-width: 11ch !important;
  color: #fffaf0 !important;
  font-size: clamp(3.6rem, 5.6vw, 5.6rem) !important;
  line-height: 0.9 !important;
  text-wrap: balance;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-shadow: none !important;
}

body.vip-home .hero-copy-stack > .hero-lead {
  max-width: 54ch !important;
  color: rgba(255, 250, 240, 0.82) !important;
  font-size: 1.02rem !important;
  line-height: 1.66 !important;
}

body.vip-home .hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

body.vip-home .hero-actions .btn {
  min-height: 48px !important;
}

body.vip-home .hero-actions .btn-quiet {
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #fffaf0 !important;
}

/* Keep the real account entry point in the hero without duplicating the old utility panel. */
body.vip-home #vipHomeQuickAccess {
  display: flex !important;
  grid-column: 1 !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.vip-home #vipHomeQuickAccess .hero-auth-copy,
body.vip-home #vipHomeQuickAccess .hero-auth-meta {
  display: none !important;
}

body.vip-home #vipHomeQuickAccess .auth-provider-stack--hero:not([hidden]) {
  display: flex !important;
  width: auto !important;
  gap: 8px !important;
}

body.vip-home #vipHomeQuickAccess .auth-provider-button {
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fffaf0 !important;
  box-shadow: none !important;
}

body.vip-home #vipHomeQuickAccess .auth-provider-button:hover {
  border-color: rgba(241, 196, 141, 0.78) !important;
  background: rgba(255, 255, 255, 0.2) !important;
}

body.vip-home #vipHomeQuickAccess .auth-provider-icon-wrap {
  background: rgba(255, 255, 255, 0.95) !important;
}

body.vip-home #vipHomeQuickAccess .auth-provider-label {
  font-size: 0.78rem !important;
}

body.vip-home .hero-proof {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 12px !important;
}

body.vip-home .hero-proof article {
  min-height: 98px !important;
  padding: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  box-shadow: none !important;
}

body.vip-home .hero-proof strong {
  color: #f1c48d !important;
  font-size: 0.9rem !important;
}

body.vip-home .hero-proof span {
  color: rgba(255, 250, 240, 0.7) !important;
  font-size: 0.76rem !important;
  line-height: 1.35 !important;
}

body.vip-home .home-booking-panel {
  grid-column: 2 !important;
  grid-row: 1 / span 5 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.56) !important;
  border-radius: 10px !important;
  background: rgba(250, 248, 242, 0.98) !important;
  box-shadow: var(--vip-ref-shadow) !important;
}

body.vip-home .home-booking-panel::before,
body.vip-home .home-booking-panel::after {
  display: none !important;
}

body.vip-home .home-booking-panel__head,
body.vip-home .home-booking-vehicle-head,
body.vip-home .home-booking-actions {
  margin: 0 !important;
}

body.vip-home .home-booking-panel__head {
  gap: 14px !important;
  align-items: start !important;
}

body.vip-home .home-booking-panel__head strong {
  color: var(--vip-ref-ink) !important;
  font-size: clamp(1.62rem, 2.3vw, 2.15rem) !important;
  line-height: 0.96 !important;
}

body.vip-home .airport-trip-toggle {
  border: 1px solid var(--vip-ref-line) !important;
  border-radius: 7px !important;
  background: #ebe7df !important;
}

body.vip-home .airport-trip-toggle__button {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #525b5c !important;
  font-size: 0.78rem !important;
}

body.vip-home .airport-trip-toggle__button.is-active {
  background: var(--vip-ref-gold) !important;
  color: #17130e !important;
  box-shadow: none !important;
}

body.vip-home .home-booking-fields {
  display: grid !important;
  grid-template-columns: 1.35fr 1.35fr 0.86fr 0.8fr 0.64fr !important;
  gap: 10px !important;
}

body.vip-home .home-booking-field {
  gap: 5px !important;
  grid-column: auto !important;
}

body.vip-home .home-booking-field:nth-child(n) {
  grid-column: auto !important;
}

body.vip-home .home-booking-field > span {
  color: #756b5e !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

body.vip-home .home-booking-panel .field {
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(25, 35, 35, 0.15) !important;
  border-radius: 7px !important;
  background: #fffdf9 !important;
  color: var(--vip-ref-ink) !important;
  box-shadow: none !important;
}

body.vip-home .home-booking-vehicle-head {
  align-items: center !important;
  padding-top: 2px !important;
}

body.vip-home .home-booking-vehicle-head > span,
body.vip-home .home-booking-vehicle-head strong {
  color: var(--vip-ref-ink) !important;
  font-size: 0.82rem !important;
}

body.vip-home .home-vehicle-strip {
  overflow: visible !important;
}

body.vip-home .home-vehicle-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  transform: none !important;
}

body.vip-home .home-vehicle-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 76px !important;
  padding: 11px !important;
  border: 1px solid rgba(25, 35, 35, 0.12) !important;
  border-radius: 7px !important;
  background: #fffdf9 !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.vip-home .home-vehicle-card .card-visual,
body.vip-home .home-refreshment-card .card-visual {
  display: none !important;
}

body.vip-home .home-vehicle-card__copy {
  gap: 3px !important;
}

body.vip-home .home-vehicle-card__copy strong {
  color: var(--vip-ref-ink) !important;
  font-size: 0.78rem !important;
  line-height: 1.05 !important;
}

body.vip-home .home-vehicle-card__copy small {
  color: #687174 !important;
  font-size: 0.65rem !important;
  line-height: 1.25 !important;
}

body.vip-home .home-vehicle-card__price {
  align-self: end !important;
  color: var(--vip-ref-teal) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
}

body.vip-home .home-vehicle-card.is-active {
  border-color: var(--vip-ref-gold) !important;
  background: #fff6e9 !important;
  box-shadow: inset 0 0 0 1px rgba(185, 129, 69, 0.22) !important;
}

body.vip-home #vipHomeVehicleHint {
  display: none !important;
}

body.vip-home .home-booking-extra-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 3px !important;
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--vip-ref-line) !important;
}

body.vip-home .home-booking-extra-head span,
body.vip-home .home-booking-extra-head strong {
  font-size: 0.72rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

body.vip-home .home-refreshment-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 8px !important;
  overflow: visible !important;
}

body.vip-home .home-refreshment-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 64px !important;
  padding: 9px !important;
  border: 1px solid var(--vip-ref-line) !important;
  border-radius: 7px !important;
  background: #fffdf9 !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.vip-home .home-refreshment-card__copy {
  gap: 2px !important;
}

body.vip-home .home-refreshment-card__copy strong {
  color: var(--vip-ref-ink) !important;
  font-size: 0.72rem !important;
  line-height: 1.1 !important;
}

body.vip-home .home-refreshment-card__copy small {
  color: #687174 !important;
  font-size: 0.64rem !important;
  line-height: 1.18 !important;
}

body.vip-home .home-refreshment-card.is-active {
  border-color: var(--vip-ref-gold) !important;
  background: #fff6e9 !important;
}

body.vip-home .home-booking-panel .home-booking-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  height: auto !important;
}

body.vip-home .home-booking-actions .btn {
  flex: 1 1 auto !important;
  min-height: 50px !important;
}

body.vip-home .home-booking-whatsapp-link {
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 0 2px !important;
  color: var(--vip-ref-teal) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
}

body.vip-home .home-booking-panel #vipHomeWhatsAppInfo.home-booking-whatsapp-link {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.vip-home .home-booking-panel #vipHomeWhatsAppInfo.home-booking-whatsapp-link::before,
body.vip-home .home-booking-panel #vipHomeWhatsAppInfo.home-booking-whatsapp-link::after {
  content: none !important;
  display: none !important;
}

body.vip-home #vipHomeBookingHint {
  color: #687174 !important;
  font-size: 0.72rem !important;
  line-height: 1.4 !important;
}

body.vip-home .conversion-strip {
  background: #efe7d9 !important;
  border-block: 1px solid rgba(25, 35, 35, 0.09) !important;
}

body.vip-home .conversion-strip-row {
  gap: 28px !important;
}

body.vip-home .proof-ribbon {
  padding-block: 24px !important;
  background: var(--vip-ref-teal) !important;
}

body.vip-home .proof-ribbon-grid article {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  box-shadow: none !important;
}

body.vip-home .proof-ribbon-grid span,
body.vip-home .proof-ribbon-grid strong {
  color: #f7f4ed !important;
}

body.vip-home .review-trust-card,
body.vip-home .benchmark-card,
body.vip-home .home-editorial-story,
body.vip-home .home-path-list,
body.vip-home .service-card.product-card,
body.vip-home .trust-card,
body.vip-home .faq-grid details {
  border-color: var(--vip-ref-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

body.vip-home .review-trust-card:hover,
body.vip-home .benchmark-card:hover,
body.vip-home .home-editorial-story:hover,
body.vip-home .home-path-list:hover,
body.vip-home .service-card.product-card:hover,
body.vip-home .trust-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 38px rgba(9, 15, 16, 0.1) !important;
}

/* Shared forms remain quiet and operational on booking, account and review paths. */
body.vip-page input,
body.vip-page select,
body.vip-page textarea {
  border-radius: 7px !important;
}

body.vip-page :focus-visible {
  outline: 3px solid rgba(43, 98, 93, 0.35) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.vip-page .site-header,
  body.vip-page .btn,
  body.vip-page .contact-pill,
  body.vip-home .home-booking-panel,
  body.vip-home .home-vehicle-card {
    transition: transform 220ms var(--vip-ref-ease), background 220ms var(--vip-ref-ease), border-color 220ms var(--vip-ref-ease), box-shadow 220ms var(--vip-ref-ease) !important;
  }

  body.vip-home .hero-home-backdrop {
    animation: vip-refined-arrival 16s var(--vip-ref-ease) infinite alternate;
  }
}

@keyframes vip-refined-arrival {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.06) translate3d(-1.1%, 0.6%, 0); }
}

@media (max-width: 1120px) {
  body.vip-page .container {
    width: min(100% - 36px, 1040px) !important;
  }

  body.vip-home .nav-row {
    grid-template-columns: minmax(150px, 200px) 1fr auto !important;
  }

  body.vip-home .nav-link-cta {
    display: none !important;
  }

  body.vip-home .hero-copy-cinematic {
    grid-template-columns: minmax(0, 0.88fr) minmax(390px, 0.92fr) !important;
    gap: 28px !important;
  }

  body.vip-home .home-booking-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.vip-page .container {
    width: min(100% - 32px, 720px) !important;
  }

  body.vip-home .utility-bar {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 81 !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  body.vip-home .utility-row {
    min-height: 0 !important;
    height: 0 !important;
  }

  body.vip-home .utility-row > p,
  body.vip-home .utility-links > a {
    display: none !important;
  }

  body.vip-home .utility-links {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    display: block !important;
    width: auto !important;
    pointer-events: auto !important;
  }

  body.vip-home .vip-lang-picker {
    display: block !important;
    min-width: 112px !important;
    min-height: 42px !important;
    padding-inline: 11px !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    background: rgba(13, 19, 20, 0.82) !important;
    color: #fffaf0 !important;
  }

  body.vip-home .site-header,
  body.vip-home.vip-has-scrolled .site-header {
    position: absolute !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.vip-home .nav-row {
    grid-template-columns: 1fr auto !important;
    min-height: 76px !important;
  }

  body.vip-home .brand {
    max-width: 190px !important;
  }

  body.vip-home .nav-links,
  body.vip-home .nav-link-cta,
  body.vip-home .nav-auth-links,
  body.vip-home .nav-session {
    display: none !important;
  }

  body.vip-home .nav-row > .btn.btn-primary {
    min-height: 42px !important;
    padding-inline: 14px !important;
    font-size: 0.76rem !important;
  }

  body.vip-home .hero-home-cinematic {
    min-height: 0 !important;
    padding: 132px 0 42px !important;
  }

  body.vip-home .hero-copy-cinematic,
  body.vip-home .hero-copy-stack {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.vip-home .hero-copy-stack > .eyebrow { order: 1 !important; }
  body.vip-home .hero-copy-stack > h1 { order: 2 !important; }
  body.vip-home #vipHomeQuickAccess.hero-auth-panel {
    order: 3 !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
  }
  body.vip-home .hero-copy-stack > .hero-lead { order: 4 !important; }
  body.vip-home .home-booking-panel { order: 5 !important; }
  body.vip-home .hero-actions { order: 6 !important; }
  body.vip-home .hero-proof { order: 7 !important; }

  body.vip-home .hero-copy-stack > .eyebrow,
  body.vip-home .hero-copy-stack > h1,
  body.vip-home .hero-copy-stack > .hero-lead,
  body.vip-home .hero-copy-stack > .hero-actions,
  body.vip-home .hero-copy-stack > .hero-proof,
  body.vip-home .home-booking-panel {
    margin-bottom: 18px !important;
  }

  body.vip-home .hero-copy-stack > h1 {
    max-width: 10ch !important;
    font-size: clamp(3rem, 13vw, 4.4rem) !important;
  }

  body.vip-home .hero-proof {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.vip-home .hero-proof article {
    display: grid !important;
    grid-template-columns: 112px 1fr !important;
    min-height: 0 !important;
    padding: 12px !important;
  }

  body.vip-home #vipHomeQuickAccess {
    margin-bottom: 18px !important;
  }

  body.vip-home #vipHomeQuickAccess .auth-provider-stack--hero:not([hidden]) {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.vip-home #vipHomeQuickAccess .auth-provider-button {
    width: 100% !important;
    justify-content: center !important;
  }

  body.vip-home .home-booking-panel {
    padding: 22px !important;
  }

  body.vip-home .home-booking-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.vip-home .home-booking-field:first-child,
  body.vip-home .home-booking-field:nth-child(2) {
    grid-column: span 2 !important;
  }

  body.vip-home .home-vehicle-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.vip-home .home-booking-panel .home-booking-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.vip-home .home-booking-whatsapp-link {
    justify-content: center !important;
  }
}

@media (max-width: 520px) {
  body.vip-page .container {
    width: min(100% - 28px, 480px) !important;
  }

  body.vip-home .brand {
    max-width: 174px !important;
  }

  body.vip-home .brand-wordmark {
    max-height: 42px !important;
  }

  body.vip-home .nav-row > .btn.btn-primary {
    min-height: 38px !important;
    padding-inline: 11px !important;
    font-size: 0.69rem !important;
  }

  body.vip-home .hero-home-cinematic {
    padding-top: 114px !important;
  }

  body.vip-home .hero-copy-stack > h1 {
    font-size: clamp(2.78rem, 14vw, 3.65rem) !important;
    line-height: 0.92 !important;
  }

  body.vip-home .hero-copy-stack > .hero-lead {
    font-size: 0.96rem !important;
  }

  body.vip-home .hero-actions {
    display: block !important;
  }

  body.vip-home .hero-actions .btn-primary {
    width: 100% !important;
  }

  body.vip-home .hero-actions .btn:not(.btn-primary) {
    display: none !important;
  }

  body.vip-home .hero-proof {
    display: none !important;
  }

  body.vip-home .home-booking-panel {
    margin-top: 30px !important;
    padding: 18px !important;
  }

  body.vip-home .home-booking-panel__head {
    display: block !important;
  }

  body.vip-home .airport-trip-toggle {
    margin-top: 14px !important;
  }

  body.vip-home .home-booking-fields,
  body.vip-home .home-vehicle-track {
    gap: 8px !important;
  }

  body.vip-home .home-vehicle-card {
    min-height: 72px !important;
    padding: 10px !important;
  }

  body.vip-home .home-vehicle-card__copy small {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body.vip-page *,
  body.vip-page *::before,
  body.vip-page *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

/*
 * 2026-07-20: home-flow hardening.
 * The public journey must be useful before JavaScript observers have fired:
 * motion can enhance the page, but must never gate its content.
 */
body.vip-page.vip-refined .fx-reveal,
body.vip-home.vip-refined .vip-cinema-reveal,
body.vip-page.vip-refined .fx-reveal.is-visible,
body.vip-home.vip-refined .vip-cinema-reveal.is-visible {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
}

/* Account access remains available, but no longer competes with the request flow. */
body.vip-home.vip-refined #vipHomeQuickAccess {
  display: flex !important;
  grid-column: 1 !important;
  align-items: center !important;
  width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.vip-home.vip-refined #vipHomeQuickAccess .hero-auth-copy,
body.vip-home.vip-refined #vipHomeQuickAccess .hero-auth-meta {
  display: none !important;
}

body.vip-home.vip-refined #vipHomeQuickAccess .auth-provider-stack--hero:not([hidden]) {
  display: flex !important;
  width: auto !important;
  gap: 8px !important;
}

body.vip-home.vip-refined #vipHomeQuickAccess .auth-provider-button {
  width: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  justify-content: center !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fffaf0 !important;
}

body.vip-home.vip-refined #vipHomeQuickAccess .auth-provider-label {
  display: none !important;
}

body.vip-home.vip-refined #vipHomeQuickAccess .auth-provider-icon-wrap {
  width: 23px !important;
  height: 23px !important;
  min-width: 23px !important;
  padding: 3px !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

@media (min-width: 821px) {
  body.vip-home.vip-refined .hero-copy-stack > h1 {
    max-width: 13ch !important;
    font-size: clamp(3.55rem, 4.65vw, 4.75rem) !important;
    line-height: 0.93 !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > .hero-lead {
    max-width: 48ch !important;
  }
}

body.vip-home.vip-refined .vip-whatsapp-float {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate3d(0, 10px, 0) !important;
  transition: opacity 180ms var(--vip-ref-ease), transform 180ms var(--vip-ref-ease) !important;
}

body.vip-home.vip-refined.vip-past-hero .vip-whatsapp-float {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.vip-page.vip-refined .fx-reveal.is-visible,
  body.vip-home.vip-refined .vip-cinema-reveal.is-visible {
    animation: vip-refined-content-settle 420ms var(--vip-ref-ease) both;
  }
}

@keyframes vip-refined-content-settle {
  from { transform: translate3d(0, 10px, 0); }
  to { transform: none; }
}

@media (max-width: 820px) {
  body.vip-page.vip-refined .section {
    padding-block: 56px !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > .eyebrow { order: 1 !important; }
  body.vip-home.vip-refined .hero-copy-stack > h1 { order: 2 !important; }
  body.vip-home.vip-refined .hero-copy-stack > .hero-lead { order: 3 !important; }
  body.vip-home.vip-refined .hero-copy-stack > .hero-actions { order: 4 !important; }
  body.vip-home.vip-refined #vipHomeQuickAccess.hero-auth-panel { order: 5 !important; }
  body.vip-home.vip-refined .home-booking-panel { order: 6 !important; }
  body.vip-home.vip-refined .hero-proof { order: 7 !important; }

  body.vip-home.vip-refined .hero-copy-stack > h1 {
    max-width: 13.5ch !important;
    font-size: clamp(2.5rem, 10.8vw, 3.35rem) !important;
    line-height: 0.94 !important;
    text-wrap: balance;
  }

  body.vip-home.vip-refined .hero-copy-stack > .hero-lead {
    max-width: 39ch !important;
    font-size: 0.94rem !important;
    line-height: 1.55 !important;
  }

  body.vip-home.vip-refined .hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  body.vip-home.vip-refined .hero-actions .btn-primary {
    width: 100% !important;
  }

  body.vip-home.vip-refined #vipHeroLoginCTA {
    display: inline-flex !important;
    min-width: 74px !important;
    justify-content: center !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
    color: #fffaf0 !important;
  }

  body.vip-home.vip-refined .hero-actions .btn-quiet {
    display: none !important;
  }

  body.vip-home.vip-refined #vipHomeQuickAccess {
    width: 100% !important;
  }

  body.vip-home.vip-refined .home-booking-panel {
    margin-top: 6px !important;
  }
}

@media (max-width: 520px) {
  body.vip-home.vip-refined .hero-home-cinematic {
    min-height: 0 !important;
    padding-top: 88px !important;
    padding-bottom: 30px !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > h1 {
    max-width: none !important;
    font-size: clamp(2.08rem, 9.2vw, 2.3rem) !important;
    line-height: 0.98 !important;
    margin-bottom: 14px !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > .hero-lead {
    max-width: 35ch !important;
    color: rgba(255, 250, 240, 0.9) !important;
    font-size: 0.94rem !important;
    line-height: 1.58 !important;
    margin-bottom: 14px !important;
  }

  body.vip-home.vip-refined .hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  body.vip-home.vip-refined .hero-actions .btn-primary {
    width: 100% !important;
  }

  body.vip-home.vip-refined .home-booking-panel {
    margin-top: 10px !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > .eyebrow {
    color: #f1c48d !important;
    font-size: 0.68rem !important;
    line-height: 1.35 !important;
  }

  body.vip-home.vip-refined .review-trust-grid,
  body.vip-home.vip-refined .benchmark-grid,
  body.vip-home.vip-refined .home-editorial-grid,
  body.vip-home.vip-refined .service-grid {
    gap: 14px !important;
  }
}

/* 2026-07-21: simplify the first-screen decision without removing account access. */
body.vip-home.vip-refined .brand {
  max-width: 194px !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.vip-home.vip-refined .brand-wordmark {
  display: block !important;
  max-height: 38px !important;
  filter: brightness(0) invert(1) contrast(1.08) !important;
}

body.vip-home.vip-refined .brand-copy > span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(255, 250, 240, 0.72) !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.vip-home.vip-refined .hero-home-backdrop {
    animation: vip-refined-hero-breathe 16s ease-in-out infinite alternate;
    will-change: transform;
  }

  body.vip-page.vip-refined .btn,
  body.vip-page.vip-refined .home-vehicle-card,
  body.vip-page.vip-refined .service-card,
  body.vip-page.vip-refined .review-card {
    transition: transform 180ms var(--vip-ref-ease), box-shadow 180ms var(--vip-ref-ease), border-color 180ms var(--vip-ref-ease), background-color 180ms var(--vip-ref-ease) !important;
  }

  body.vip-page.vip-refined .home-vehicle-card:hover,
  body.vip-page.vip-refined .service-card:hover,
  body.vip-page.vip-refined .review-card:hover {
    transform: translateY(-3px);
  }
}

@keyframes vip-refined-hero-breathe {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.055) translate3d(-0.5%, -0.6%, 0); }
}

body.vip-home.vip-refined .home-vehicle-card.is-active {
  border-color: var(--vip-ref-gold-deep) !important;
  background: #fff7ec !important;
  box-shadow: inset 0 0 0 1px rgba(185, 129, 69, 0.2) !important;
}

body.vip-home.vip-refined .home-booking-panel .home-booking-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px 16px !important;
}

body.vip-home.vip-refined #vipHomeBookingHint {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  max-width: 54ch !important;
}

body.vip-home.vip-refined #vipHomeWhatsAppInfo {
  justify-self: end !important;
  white-space: nowrap !important;
}

/* 2026-07-21: non-negotiable contrast and sticky-header repair after visual QA. */
body.vip-home.vip-refined .conversion-strip {
  background: #efe7d9 !important;
  color: var(--vip-ref-ink) !important;
}

body.vip-home.vip-refined .conversion-strip .conversion-strip-kicker {
  color: var(--vip-ref-gold-deep) !important;
}

body.vip-home.vip-refined .conversion-strip .conversion-strip-copy strong {
  color: var(--vip-ref-ink) !important;
}

body.vip-home.vip-refined .conversion-strip .conversion-strip-copy p {
  color: #465152 !important;
}

body.vip-home.vip-refined .conversion-strip .btn-secondary {
  border-color: rgba(20, 26, 27, 0.28) !important;
  background: #fffdf9 !important;
  color: var(--vip-ref-ink) !important;
  box-shadow: none !important;
}

body.vip-home.vip-refined .conversion-strip .btn-secondary:hover,
body.vip-home.vip-refined .conversion-strip .btn-secondary:focus-visible {
  border-color: var(--vip-ref-teal) !important;
  background: #ffffff !important;
  color: var(--vip-ref-ink) !important;
}

body.vip-home.vip-refined .hero-proof article {
  border-color: rgba(255, 250, 240, 0.3) !important;
  background: #101616 !important;
}

body.vip-home.vip-refined .hero-proof span {
  color: #fffaf0 !important;
}

body.vip-home.vip-refined .official-link-strip-item--site {
  background: #1c1a16 !important;
  color: #fffaf0 !important;
}

body.vip-home.vip-refined .official-link-strip-item--site span {
  color: rgba(255, 250, 240, 0.74) !important;
}

body.vip-home.vip-refined .official-link-strip-item--site strong {
  color: #fffaf0 !important;
}

@media (min-width: 821px) {
  body.vip-home.vip-refined.vip-has-scrolled .utility-bar {
    display: none !important;
  }

  body.vip-home.vip-refined.vip-has-scrolled .site-header {
    min-height: 68px !important;
    background: #141a1b !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
    transition: box-shadow 220ms var(--vip-ref-ease) !important;
  }

  body.vip-home.vip-refined.vip-has-scrolled .nav-row {
    min-height: 68px !important;
  }

  body.vip-home.vip-refined.vip-has-scrolled .brand {
    min-height: 0 !important;
    max-width: 184px !important;
    padding-block: 0 !important;
  }

  body.vip-home.vip-refined.vip-has-scrolled .brand-wordmark {
    max-height: 30px !important;
  }

  body.vip-home.vip-refined.vip-has-scrolled .brand-copy > span {
    display: none !important;
  }
}

/* The in-app 847px viewport is neither desktop nor phone: give it a real layout. */
@media (min-width: 821px) and (max-width: 920px) {
  body.vip-home.vip-refined .utility-bar {
    position: absolute !important;
    inset: 0 !important;
    z-index: 81 !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  body.vip-home.vip-refined .utility-row {
    min-height: 0 !important;
    height: 0 !important;
  }

  body.vip-home.vip-refined .utility-row > p,
  body.vip-home.vip-refined .utility-links > a {
    display: none !important;
  }

  body.vip-home.vip-refined .utility-links {
    position: absolute !important;
    top: 14px !important;
    right: 20px !important;
    display: block !important;
    width: auto !important;
    pointer-events: auto !important;
  }

  body.vip-home.vip-refined .site-header,
  body.vip-home.vip-refined.vip-has-scrolled .site-header {
    position: absolute !important;
    top: 0 !important;
    min-height: 80px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.vip-home.vip-refined .nav-row {
    grid-template-columns: 1fr !important;
    min-height: 80px !important;
  }

  body.vip-home.vip-refined .brand {
    max-width: 216px !important;
  }

  body.vip-home.vip-refined .nav-links,
  body.vip-home.vip-refined .nav-row > .btn.btn-primary,
  body.vip-home.vip-refined .contact-strip {
    display: none !important;
  }

  body.vip-home.vip-refined .hero-home-cinematic {
    min-height: 0 !important;
    padding: 116px 0 48px !important;
  }

  body.vip-home.vip-refined .hero-copy-cinematic,
  body.vip-home.vip-refined .hero-copy-stack {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.vip-home.vip-refined .hero-copy-stack > .eyebrow { order: 1 !important; }
  body.vip-home.vip-refined .hero-copy-stack > h1 { order: 2 !important; }
  body.vip-home.vip-refined .hero-copy-stack > .hero-lead { order: 3 !important; }
  body.vip-home.vip-refined .hero-copy-stack > .hero-actions { order: 4 !important; }
  body.vip-home.vip-refined #vipHomeQuickAccess.hero-auth-panel { order: 5 !important; }
  body.vip-home.vip-refined .home-booking-panel { order: 6 !important; }
  body.vip-home.vip-refined .hero-proof { order: 7 !important; }

  body.vip-home.vip-refined .hero-copy-stack > h1 {
    max-width: 16ch !important;
    font-size: clamp(3rem, 7.4vw, 3.9rem) !important;
    line-height: 0.96 !important;
    text-wrap: balance;
  }

  body.vip-home.vip-refined .hero-copy-stack > .hero-lead {
    max-width: 62ch !important;
    font-size: 1rem !important;
  }

  body.vip-home.vip-refined .hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  body.vip-home.vip-refined .hero-actions .btn-primary {
    width: 100% !important;
  }

  body.vip-home.vip-refined .hero-actions .btn-quiet,
  body.vip-home.vip-refined .hero-inline-auth {
    display: none !important;
  }

  body.vip-home.vip-refined #vipHomeQuickAccess {
    display: flex !important;
    width: max-content !important;
    margin: 0 0 2px !important;
  }

  /* Keep the four trust cards visually balanced at the compact-tablet breakpoint. */
  body.vip-home.vip-refined .review-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.vip-home.vip-refined .home-booking-panel {
    width: 100% !important;
    max-width: none !important;
    margin-top: 8px !important;
  }

  body.vip-home.vip-refined .home-booking-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.vip-home.vip-refined .home-booking-field:first-child,
  body.vip-home.vip-refined .home-booking-field:nth-child(2) {
    grid-column: auto !important;
  }

  body.vip-home.vip-refined .hero-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.vip-home.vip-refined #vipHomeQuickAccess.hero-auth-panel {
    order: 5 !important;
    margin-top: 0 !important;
  }

  body.vip-home.vip-refined .home-booking-panel {
    order: 6 !important;
  }

  body.vip-home.vip-refined #vipHeroLoginCTA {
    display: none !important;
  }

  body.vip-home.vip-refined .home-booking-panel .home-booking-actions {
    grid-template-columns: 1fr !important;
  }

  body.vip-home.vip-refined #vipHomeWhatsAppInfo {
    justify-self: start !important;
    white-space: normal !important;
  }
}

/* Desktop route form: the primary locations need full labels. Keep the
   narrow-screen arrangements above, but split itinerary and schedule rows
   once the panel has desktop space. */
@media (min-width: 1181px) {
  body.vip-home .home-booking-fields {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.vip-home .home-booking-field:nth-child(1),
  body.vip-home .home-booking-field:nth-child(2) {
    grid-column: span 3 !important;
  }

  body.vip-home .home-booking-field:nth-child(3) {
    grid-column: span 3 !important;
  }

  body.vip-home .home-booking-field:nth-child(4) {
    grid-column: span 2 !important;
  }

  body.vip-home .home-booking-field:nth-child(5) {
    grid-column: span 1 !important;
  }
}
