/* Service pages: layered navy surfaces, full-bleed photography and restrained motion. */
body:has(.inner-hero) { background: var(--brand-ink); }
.inner-hero { position: relative; isolation: isolate; display: flex; align-items: end; min-height: min(850px, 92svh); overflow: hidden; background: var(--brand-ink); color: var(--brand-white); }
.inner-hero-photo, .inner-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.inner-hero-photo { z-index: -2; object-fit: cover; object-position: center; animation: hero-settle 1.8s both; }
.inner-hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(var(--brand-ink-rgb),.96) 0%, rgba(var(--brand-ink-rgb),.79) 28%, rgba(var(--brand-ink-rgb),.33) 55%, rgba(var(--brand-ink-rgb),.08) 100%), linear-gradient(0deg, rgba(var(--brand-ink-rgb),.58), transparent 52%); }
.inner-hero-tours .inner-hero-shade { background: linear-gradient(90deg, rgba(var(--brand-ink-rgb),.91), rgba(var(--brand-ink-rgb),.62) 36%, rgba(var(--brand-ink-rgb),.07) 85%), linear-gradient(0deg, rgba(var(--brand-ink-rgb),.54), transparent 60%); }
.inner-hero-grid { width: min(calc(100% - (var(--gutter) * 2)), var(--container)); padding-top: 190px; padding-bottom: 112px; }
.inner-hero-copy { max-width: 680px; animation: hero-copy-in .8s .1s both; }
.inner-hero .eyebrow { color: var(--brand-yellow); }
.inner-hero h1 { max-width: 720px; margin: 22px 0 25px; font-size: clamp(3.3rem, 5.5vw, 6.4rem); line-height: 1.04; text-wrap: balance; }
.inner-hero-copy > p:not(.eyebrow) { max-width: 550px; color: var(--brand-white); font-size: clamp(1rem, 1.18vw, 1.12rem); line-height: 1.76; }
.inner-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 23px; margin-top: 34px; }
.inner-hero-actions .text-link { color: var(--brand-white); }
.inner-hero-foot { position: absolute; bottom: 27px; left: 50%; display: flex; justify-content: space-between; width: min(calc(100% - (var(--gutter) * 2)), var(--container)); transform: translateX(-50%); color: var(--brand-yellow-tint); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
@media (min-width: 900px) {
  .inner-hero { min-height: clamp(830px, calc(100svh + 40px), 1020px); }
  .inner-hero-grid { padding-top: 245px; padding-bottom: 130px; }
}
@keyframes hero-settle { from { opacity: .6; transform: scale(1.045); } to { opacity: 1; transform: scale(1); } }
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.banner-section { padding: 78px 0 110px; background: var(--brand-ink); }
.banner-section .container { max-width: 1260px; }
.banner-section img { display: block; width: 100%; height: auto; border: 1px solid rgba(var(--brand-yellow-rgb),.13); border-radius: 10px; box-shadow: 0 26px 70px rgba(var(--brand-black-rgb),.22); }

.page-section { padding: clamp(85px, 9vw, 140px) 0; color: var(--brand-white); }
.page-section-light { background: var(--brand-graphite); }
.page-section-dark { background: var(--brand-ink); }
.page-section .eyebrow { color: var(--brand-yellow); }
.page-heading { max-width: 780px; margin-bottom: clamp(42px, 5vw, 72px); }
.page-heading h2 { margin-top: 16px; font-size: clamp(2.5rem, 4.4vw, 4.5rem); line-height: 1.09; }
.page-heading > p:last-child:not(.eyebrow) { max-width: 600px; margin-top: 17px; color: var(--brand-yellow); font-size: 1rem; line-height: 1.75; }
.page-section .button-outline { color: var(--brand-white); }

.editorial-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(45px, 7vw, 115px); align-items: center; }
.editorial-copy { max-width: 590px; }
.editorial-copy .page-heading { margin-bottom: 25px; }
.editorial-copy > p { margin-bottom: 20px; color: var(--brand-yellow); line-height: 1.8; }
.editorial-copy .button { margin-top: 12px; }
.editorial-media { position: relative; min-height: 520px; overflow: hidden; border-radius: 9px; background: var(--brand-graphite); }
.editorial-media::after { position: absolute; inset: 0; border: 1px solid rgba(var(--brand-yellow-tint-rgb),.18); border-radius: inherit; content: ''; pointer-events: none; }
.editorial-media img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.page-section-light .editorial-media { order: 0; }

.value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(var(--brand-yellow-rgb),.23); border-bottom: 1px solid rgba(var(--brand-yellow-rgb),.23); }
.value-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.value-card { min-height: 250px; padding: 28px clamp(20px, 2.3vw, 38px) 28px; border-right: 1px solid rgba(var(--brand-yellow-rgb),.2); }
.value-card:first-child { padding-left: 0; }
.value-card:last-child { border-right: 0; }
.value-number { display: block; margin-bottom: 28px; color: var(--brand-yellow); font-size: .74rem; font-weight: 800; letter-spacing: .16em; }
.value-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 20px; border: 1px solid var(--brand-muted-on-light); border-radius: 50%; color: var(--brand-yellow); }
.value-icon .icon { width: 18px; height: 18px; }
.value-card h3 { max-width: 230px; margin-bottom: 11px; font-size: 1.1rem; line-height: 1.34; }
.value-card p { max-width: 250px; color: var(--brand-muted); font-size: .86rem; line-height: 1.68; }

.vehicle-showcase-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.vehicle-showcase-card { overflow: hidden; border: 1px solid rgba(var(--brand-yellow-rgb),.18); border-radius: 9px; background: var(--brand-graphite); transition: transform .35s, border-color .35s; }
.vehicle-showcase-card:hover { transform: translateY(-7px); border-color: rgba(var(--brand-yellow-rgb),.48); }
.vehicle-showcase-image { display: grid; place-items: center; height: clamp(240px, 23vw, 330px); overflow: hidden; background: var(--brand-graphite); }
.vehicle-showcase-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vehicle-showcase-copy { padding: 25px 27px 29px; }
.vehicle-showcase-copy h3 { margin-bottom: 9px; font-size: 1.28rem; }
.vehicle-showcase-copy p { color: var(--brand-muted); font-size: .9rem; line-height: 1.65; }

.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; }
.steps-grid > div { padding-top: 25px; border-top: 1px solid var(--brand-muted-on-light); }
.steps-grid span { display: block; margin-bottom: 40px; color: var(--brand-yellow); font-size: .78rem; font-weight: 800; letter-spacing: .16em; }
.steps-grid h3 { margin-bottom: 12px; font-size: 1.27rem; }
.steps-grid p { max-width: 300px; color: var(--brand-muted); line-height: 1.72; }
.section-action { margin-top: 52px; }

.destination-list { border-top: 1px solid rgba(var(--brand-yellow-rgb),.3); }
.destination-row { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(45px, 7vw, 110px); align-items: center; padding: clamp(43px, 6vw, 85px) 0; border-bottom: 1px solid rgba(var(--brand-yellow-rgb),.3); }
.destination-row:nth-child(even) .destination-image { order: 2; }
.destination-row:nth-child(even) .destination-copy { order: 1; }
.destination-image { aspect-ratio: 1.65; overflow: hidden; border-radius: 9px; background: var(--brand-graphite); }
.destination-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.16,1,.3,1); }
.destination-row:hover .destination-image img { transform: scale(1.045); }
.destination-copy { max-width: 510px; }
.destination-index { color: var(--brand-yellow); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.destination-copy h3 { margin: 17px 0 20px; font-size: clamp(2.25rem, 3.8vw, 4.15rem); letter-spacing: -.05em; }
.destination-copy p { margin-bottom: 25px; color: var(--brand-muted); line-height: 1.78; }
.destination-copy .text-link { color: var(--brand-yellow); }

.page-section-photo { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 580px; overflow: hidden; background: var(--brand-graphite); }
.page-section-photo::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(var(--brand-ink-rgb),.94), rgba(var(--brand-ink-rgb),.62) 54%, rgba(var(--brand-ink-rgb),.18)); content: ''; }
.section-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-panel { width: 100%; }
.photo-panel > * { max-width: 600px; }
.photo-panel h2 { margin: 18px 0 20px; }
.photo-panel > p:not(.eyebrow) { margin-bottom: 29px; color: var(--brand-yellow); line-height: 1.75; }

.contact-rows { display: grid; gap: 2px; margin: 28px 0 12px; }
.contact-rows a { display: flex; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(var(--brand-yellow-rgb),.3); color: var(--brand-white); font-size: .93rem; font-weight: 700; }
.contact-rows .icon { flex: 0 0 20px; width: 20px; height: 20px; color: var(--brand-yellow); }
.contact-rows small { display: block; margin-bottom: 2px; color: var(--brand-yellow); font-size: .73rem; font-weight: 600; }
.footer-contact { display: block; margin-top: 10px; color: var(--brand-yellow); font-size: .84rem; }
.footer-contact:hover { color: var(--brand-white); }

.marque-section { padding: 72px 0 52px; overflow: hidden; border-block: 1px solid rgba(var(--brand-yellow-rgb),.17); background: var(--brand-graphite); color: var(--brand-white); }
.marque-section .eyebrow { color: var(--brand-yellow); }
.marque-section h2 { margin: 12px 0; font-size: clamp(2.2rem,3.7vw,3.9rem); }
.marque-section .container > p:last-child { color: var(--brand-muted); font-size: .88rem; }
.marque-window { position: relative; margin-top: 34px; overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent); }
.marque-track { display: flex; width: max-content; animation: marquee-drift 37s linear infinite; }
.marque-group { display: flex; flex: none; width: max-content; }
.marque-item { display: grid; place-items: center; flex: 0 0 190px; height: 105px; margin-right: 28px; padding: 12px 22px; border: 1px solid rgba(var(--brand-yellow-rgb),.15); border-radius: 8px; background: var(--brand-graphite); }
.marque-item img { width: 100%; max-width: 122px; height: 68px; object-fit: contain; }
.marque-item img[src$=".svg"] { filter: brightness(0) invert(1); }
@keyframes marquee-drift { to { transform: translateX(-50%); } }

.has-motion [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s, transform .7s cubic-bezier(.16,1,.3,1); }
.has-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 980px) {
  .value-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .value-card { border-bottom: 1px solid rgba(var(--brand-yellow-rgb),.2); }
  .value-card:nth-child(2n) { border-right: 0; }
  .value-card:nth-child(3) { padding-left: 0; }
  .vehicle-showcase-grid { gap: 12px; }
  .vehicle-showcase-copy { padding: 20px; }
}
@media (max-width: 720px) {
  .inner-hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
  .inner-hero-photo { position: relative; z-index: 0; order: 1; height: clamp(270px, 70vw, 430px); object-position: center; animation: none; }
  .inner-hero-shade { display: none; }
  .inner-hero-grid { order: 2; padding-top: 42px; padding-bottom: 57px; }
  .inner-hero-copy { animation: none; }
  .inner-hero h1 { margin: 16px 0 20px; font-size: clamp(2.75rem, 9.5vw, 4.45rem); }
  .inner-hero-actions { gap: 16px; margin-top: 27px; }
  .inner-hero-foot { display: none; }
  .banner-section { padding: 40px 0 77px; }
  .editorial-split, .destination-row { grid-template-columns: 1fr; gap: 34px; }
  .editorial-media, .editorial-media img { min-height: 350px; }
  .vehicle-showcase-grid { grid-template-columns: 1fr; gap: 20px; }
  .vehicle-showcase-image { height: clamp(230px, 62vw, 390px); }
  .steps-grid { grid-template-columns: 1fr; gap: 30px; }
  .steps-grid span { margin-bottom: 18px; }
  .destination-row:nth-child(even) .destination-image, .destination-row:nth-child(even) .destination-copy { order: initial; }
  .destination-image { aspect-ratio: 1.58; }
  .page-section-photo { min-height: 530px; }
  .marque-section { padding: 64px 0 44px; }
  .marque-item { flex-basis: 155px; height: 92px; margin-right: 18px; }
}
@media (max-width: 480px) {
  .inner-hero-photo { height: 280px; }
  .inner-hero h1 { font-size: clamp(2.5rem, 11.4vw, 3.55rem); }
  .inner-hero-copy > p:not(.eyebrow) { font-size: .95rem; }
  .inner-hero-actions .text-link { font-size: .82rem; }
  .value-grid, .value-grid.three { grid-template-columns: 1fr; }
  .value-card, .value-card:first-child, .value-card:nth-child(3) { min-height: 0; padding: 25px 0 28px; border-right: 0; }
  .value-number { margin-bottom: 16px; }
  .value-icon { margin-bottom: 14px; }
  .page-heading h2 { font-size: clamp(2.3rem, 10vw, 3.4rem); }
  .contact-rows a { font-size: .83rem; }
}
@media (prefers-reduced-motion: reduce) {
  .inner-hero-photo, .inner-hero-copy, .marque-track { animation: none; }
  .has-motion [data-reveal] { opacity: 1; transform: none; transition: none; }
  .marque-window { overflow-x: auto; mask-image: none; }
}

/* Unboxed marque marks and the requested prior-request collection. */
.marque-section { background: var(--brand-graphite); }
.marque-window { margin-top: 32px; }
.marque-item { position: relative; display: grid; place-items: center; flex: 0 0 224px; height: 136px; margin-right: 31px; padding: 5px 10px; overflow: hidden; border: 0; border-radius: 0; background: transparent; }
.marque-item img { display: block; width: 100%; max-width: 182px; height: 110px; max-height: 110px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(var(--brand-white-rgb),.4)); animation: marque-glow 3.6s ease-in-out infinite alternate; }
.marque-item:nth-child(2n) img { animation-delay: -1.8s; }
.marque-item img[src$="audi.svg"], .marque-item img[src$="lamborghini.svg"] { filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(var(--brand-white-rgb),.45)); }
.marque-item .rolls-crest { display: block; width: 90px; height: 128px; max-width: none; flex: none; filter: drop-shadow(0 0 13px rgba(var(--brand-yellow-rgb),.68)); animation: marque-glow 3.6s ease-in-out infinite alternate; }
.marque-airport .marque-track { animation-duration: 16s; }
@keyframes marque-glow { from { opacity: .82; transform: scale(.985); } to { opacity: 1; transform: scale(1.035); } }

.vehicle-showcase-image { display: block; height: auto; overflow: hidden; background: transparent; }
.vehicle-showcase-image img { display: block; width: 100%; height: auto; object-fit: initial; }

.elite-section { padding: clamp(88px, 9vw, 138px) 0; background: var(--brand-graphite); color: var(--brand-white); }
.elite-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(50px,7vw,112px); align-items: center; }
.elite-copy { max-width: 560px; }
.elite-copy .eyebrow { color: var(--brand-yellow); }
.elite-copy h2 { margin: 17px 0 23px; font-size: clamp(2.7rem,4.3vw,4.6rem); line-height: 1.09; }
.elite-copy > p:not(.eyebrow) { color: var(--brand-yellow); font-size: 1.02rem; line-height: 1.78; }
.elite-points { display: grid; gap: 25px; margin: 38px 0 35px; }
.elite-points > div { display: flex; align-items: start; gap: 18px; color: var(--brand-muted); font-size: .88rem; line-height: 1.6; }
.elite-points .icon { width: 26px; height: 26px; padding: 5px; border-radius: 50%; color: var(--brand-graphite); background: var(--brand-yellow-tint); }
.elite-points strong { display: block; margin-bottom: 3px; color: var(--brand-white); font-size: 1rem; }
.elite-visual { min-width: 0; }
.elite-slider { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; background: var(--brand-graphite); }
.elite-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .62s ease; }
.elite-slide.is-active { z-index: 1; opacity: 1; }
.elite-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.elite-slider-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 2px 12px; border-bottom: 1px solid rgba(var(--brand-yellow-rgb),.25); }
.elite-caption span { display: block; margin-bottom: 2px; color: var(--brand-yellow); font-size: .67rem; font-weight: 800; letter-spacing: .13em; }
.elite-caption strong { display: block; font-size: 1.23rem; }
.elite-controls { display: flex; align-items: center; gap: 13px; }
.elite-controls button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(var(--brand-yellow-rgb),.35); border-radius: 50%; color: var(--brand-white); background: transparent; transition: border-color .2s, background .2s; }
.elite-controls button:hover { border-color: var(--brand-yellow); background: rgba(var(--brand-yellow-rgb),.12); }
.elite-controls .icon { width: 16px; height: 16px; }
.elite-prev .icon { transform: rotate(180deg); }
.elite-counter { min-width: 47px; color: var(--brand-yellow); font-size: .75rem; font-weight: 700; text-align: center; }
.elite-dots { display: flex; gap: 8px; padding-top: 15px; }
.elite-dots button { width: 26px; height: 3px; padding: 0; border: 0; border-radius: 3px; background: rgba(var(--brand-yellow-rgb),.28); transition: background .25s, width .25s; }
.elite-dots button.is-active { width: 43px; background: var(--brand-yellow); }
@media (max-width: 900px) {
  .elite-layout { grid-template-columns: 1fr; gap: 42px; }
  .elite-copy { max-width: 700px; }
}
@media (max-width: 600px) {
  .marque-item { flex-basis: 178px; height: 116px; margin-right: 18px; }
  .marque-item img { max-width: 150px; height: 90px; max-height: 90px; }
  .marque-item .rolls-crest { width: 73px; height: 108px; }
  .elite-copy h2 { font-size: clamp(2.55rem,10vw,3.7rem); }
  .elite-slider { border-radius: 5px; }
  .elite-points { margin: 30px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .marque-track, .marque-item img, .marque-item .rolls-crest { animation: none; }
  .elite-slide { transition: none; }
}
