/* styles.css */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Immaculate Limo: mobile-first enhancement of the approved black-and-gold design. */
:root {
  color-scheme: dark;
  --ink: #05080a; --ink-soft: #090d10; --panel: #0b1014;
  --ivory: #f1ede4; --muted: #b4afa5;
  --gold: #b78b3c; --gold-bright: #e2b45c; --gold-deep: #9a6e23;
  --line: rgba(159,115,38,.44); --line-soft: rgba(241,237,228,.15);
  --serif: 'Cormorant Garamond', Georgia, serif; --sans: 'Manrope', Arial, sans-serif;
  --shell: calc(100% - 32px); --section-space: clamp(4rem,10vw,7rem);
  --ease: cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin:0; background:var(--ink); color:var(--ivory); font:1rem/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
body.nav-open { overflow:hidden; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--gold-bright); outline-offset:4px; }
::selection { background:var(--gold-bright); color:var(--ink); }
.shell { width:var(--shell); margin-inline:auto; }
.skip-link { position:fixed; z-index:999; top:1rem; left:1rem; padding:.75rem 1rem; background:var(--gold-bright); color:var(--ink); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:500; text-wrap:balance; }
h1 { max-width:15ch; margin-bottom:1.4rem; font-size:clamp(2.8rem,12.5vw,4.5rem); letter-spacing:-.035em; line-height:1; }
h2 { margin-bottom:1.1rem; font-size:clamp(2.35rem,10vw,3.8rem); letter-spacing:-.025em; line-height:1.05; }
h3 { font-size:1.55rem; line-height:1.15; }
.eyebrow,.hero-context { color:var(--gold-bright); font:600 .72rem/1.5 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.eyebrow { margin:0 0 1rem; }
.eyebrow > span { display:inline-block; width:1.2rem; height:1px; margin:0 .6rem .22rem; background:currentColor; }
.hero-context { display:block; margin-bottom:1rem; letter-spacing:.1em; text-wrap:initial; }
.hero-copy > .eyebrow { display:none; }
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:7rem; border-bottom:1px solid transparent; }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:inline-flex; align-items:center; flex:none; }
.brand-logo { width:180px; height:auto; aspect-ratio:2048/1166; }
.header-actions { display:none; }
.menu-toggle { display:none; z-index:102; width:48px; height:48px; flex:none; padding:0; border:1px solid var(--line); color:inherit; background:var(--ink); }
.nav-ready .menu-toggle { display:block; }
.menu-toggle span { display:block; width:1.15rem; height:1px; margin:.35rem auto; background:var(--gold-bright); transition:transform .24s ease; }
.menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3px) rotate(-45deg); }
.primary-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.primary-nav a { display:inline-flex; align-items:center; min-height:44px; padding-inline:.25rem; }
/* Navigation remains visible without JavaScript. */
body:not(.nav-ready) .site-header { position:relative; height:auto; }
body:not(.nav-ready) .header-inner { flex-wrap:wrap; }
.nav-ready .primary-nav { position:fixed; inset:0; z-index:101; flex-direction:column; flex-wrap:nowrap; justify-content:safe center; gap:.75rem; padding:7rem 2rem 2rem; background:#05080afa; visibility:hidden; opacity:0; overflow-y:auto; }
.nav-ready .primary-nav a { font:500 2rem/1.3 var(--serif); }
.nav-ready .primary-nav.is-open { visibility:visible; opacity:1; }
.primary-nav a:hover,.phone-link:hover { color:var(--gold-bright); }
.button { min-height:50px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; padding:.9rem 1.4rem; border:1px solid var(--gold); border-radius:0; font-size:.75rem; font-weight:600; letter-spacing:.09em; line-height:1.4; text-transform:uppercase; text-align:center; transition:transform .22s var(--ease),background-color .22s ease; }
.button:hover { transform:translateY(-2px); }
.button:disabled { opacity:.65; cursor:default; }
.button-outline { color:var(--gold-bright); background:#040709aa; }
.button-outline:hover { color:var(--ink); background:var(--gold-bright); }
.button-gold { color:#0b0906; border-color:#d2a755; background:linear-gradient(120deg,#b3853d,#e0b65f 50%,#b3853d); }
.button-wide { min-width:min(15rem,100%); }
.text-link { display:inline-flex; align-items:center; min-height:44px; gap:.7rem; width:fit-content; color:var(--gold-bright); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.text-link span { font-size:1rem; }
.hero { position:relative; isolation:isolate; overflow:hidden; background:#06090b; }
.hero-image,.hero-wash { position:absolute; z-index:-2; inset:0; width:100%; height:40rem; }
.hero-image { object-fit:cover; object-position:65% top; }
.hero-wash { z-index:-1; background:linear-gradient(90deg,#030709b8,#03070922),linear-gradient(0deg,#05080a,rgba(3,7,9,.15) 70%); }
.hero-layout { padding-top:8.5rem; padding-bottom:2rem; }
.hero-copy { max-width:46rem; min-height:29rem; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:2.5rem; }
.hero-intro { max-width:37rem; margin-bottom:1.5rem; color:#e0dcd3; font-size:.95rem; line-height:1.8; }
.button-row { display:flex; align-items:flex-start; flex-direction:column; gap:.75rem; }
.booking-panel { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; align-items:end; margin:0; padding:1rem; border:1px solid var(--line); background:#070b0efa; }
.booking-heading p:last-child { color:var(--muted); font-size:.85rem; margin-bottom:0; }
.booking-heading .eyebrow { margin-bottom:.25rem; }
.field { min-width:0; display:grid; gap:.5rem; color:#cbc7be; font-size:.7rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.field-control { min-height:52px; display:flex; align-items:center; gap:.65rem; padding-inline:.75rem; border:1px solid var(--line); background:#0004; }
.field-control:focus-within { outline:2px solid var(--gold-bright); outline-offset:2px; }
.field-control svg,.phone-link svg { width:1rem; flex:none; fill:none; stroke:var(--gold-bright); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.field input { min-width:0; width:100%; min-height:48px; border:0; outline:0; color:var(--ivory); background:transparent; font-size:1rem; text-transform:none; }
.field input::placeholder { color:#aba79f; opacity:1; }
.booking-submit { width:100%; }
.booking-note,.form-status { grid-column:1/-1; margin:0; font-size:.8rem; color:var(--muted); }
.booking-note a,.faq a { color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; }
.form-status { color:var(--gold-bright); white-space:pre-line; overflow-wrap:anywhere; }
.form-status:empty { display:none; }
.trust-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; margin:1.5rem 0 0; padding:0; color:#c8c3b9; font-size:.65rem; letter-spacing:.06em; list-style:none; text-transform:uppercase; }
.ornament { position:relative; z-index:1; width:var(--shell); height:1.8rem; display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; margin:-.9rem auto; color:var(--gold-deep); }
.ornament span { height:1px; background:linear-gradient(90deg,transparent,var(--line)); }
.ornament span:last-child { background:linear-gradient(90deg,var(--line),transparent); }
.ornament i { position:relative; width:1rem; height:1rem; border:1px solid currentColor; transform:rotate(45deg); }
.ornament i::before,.ornament i::after { content:''; position:absolute; inset:3px; border:1px solid var(--gold-deep); }
.ornament i::after { inset:6px -5px; border-block:0; }
.section { padding-block:var(--section-space); }
.section-heading h2 { margin-bottom:0; }
.section-heading.centered { max-width:58rem; margin:0 auto 3rem; }
.standard { background:linear-gradient(120deg,#070e12,#05080a); }
.standard-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:start; }
.standard-copy { color:var(--muted); }
.standard-copy .lead { color:var(--ivory); font:1.45rem/1.45 var(--serif); }
.standard-detail { width:100%; aspect-ratio:3/2; object-fit:cover; margin:1.5rem 0 .75rem; }
.standards { display:grid; margin:0; border-top:1px solid var(--line); }
.standards > div { display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:1rem; padding-block:1.5rem; border-bottom:1px solid var(--line); }
.standards dt { color:var(--gold-bright); font:1.45rem var(--serif); }
.standards dd { display:grid; gap:.3rem; margin:0; }
.standards strong { font-size:.78rem; letter-spacing:.07em; text-transform:uppercase; }
.standards span { color:var(--muted); font-size:.85rem; }
.services { background:linear-gradient(180deg,#05080a,#070b0e 48%,#05080a); }
.service-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
.service-feature { position:relative; aspect-ratio:4/5; margin:0; overflow:hidden; border:1px solid var(--line); background:#080b0d; }
.service-feature::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,#030506ed); }
.service-feature > img { width:100%; height:100%; object-fit:cover; object-position:48% center; }
.service-feature figcaption { position:absolute; z-index:1; inset:auto 1.5rem 1.5rem; display:grid; gap:.3rem; }
.service-feature figcaption span { color:var(--gold-bright); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.service-feature figcaption strong { font:1.85rem/1.1 var(--serif); }
.service-item { display:grid; grid-template-columns:1.7rem minmax(0,1fr); gap:.65rem; align-items:start; padding:1.5rem 0; border-top:1px solid var(--line); }
.service-item:last-child { border-bottom:1px solid var(--line); }
.service-number { color:var(--gold-bright); font:.95rem var(--serif); padding-top:.3rem; }
.service-item h3 { margin-bottom:.5rem; }
.service-item p { margin:0; color:var(--muted); font-size:.85rem; }
.service-item > a { grid-column:2; display:inline-flex; align-items:center; gap:.5rem; width:fit-content; min-height:44px; color:var(--gold-bright); font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; }
.service-thumbnail { float:right; width:80px; aspect-ratio:1; object-fit:cover; margin:0 0 .65rem .75rem; }
.fleet-heading { display:grid; gap:1.5rem; margin-bottom:3rem; }
.fleet-heading > p { max-width:27rem; margin:0; color:var(--muted); }
.fleet-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; max-width:42rem; margin-inline:auto; }
.vehicle-card { min-width:0; padding:1.5rem; border:1px solid var(--line); background:linear-gradient(150deg,#0d1419,#070b0e); }
.vehicle-topline { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; }
.vehicle-monogram { height:12rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line-soft); margin-bottom:1.5rem; }
.vehicle-monogram span { color:#f1ede41f; font:500 8rem/.7 var(--serif); }
.vehicle-monogram i { color:var(--gold-bright); font:italic 1.35rem var(--serif); }
.vehicle-card h3 { margin-bottom:1.2rem; font-size:clamp(1.6rem,2.4vw,2.15rem); }
.vehicle-card dl { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:0 0 1rem; }
.vehicle-card dl div { display:flex; align-items:center; gap:.5rem; }
.vehicle-card dt { color:var(--muted); font-size:.7rem; text-transform:uppercase; }
.vehicle-card dd { margin:0; color:var(--gold-bright); font:1.1rem var(--serif); }
.center-action { display:flex; justify-content:center; margin-top:2.5rem; }
.process { background:linear-gradient(100deg,#070b0e,#05080a 60%); }
.process-heading { text-align:center; }
.process-list { display:grid; grid-template-columns:minmax(0,1fr); max-width:38rem; margin:3rem auto 0; padding:0; list-style:none; }
.process-list li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.4rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.process-list li:last-child { border:0; }
.process-list li > span { color:var(--gold-bright); font:3.3rem/.9 var(--serif); }
.process-list strong { display:block; margin-bottom:.35rem; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.process-list p { margin:0; color:var(--muted); font-size:.85rem; }
.reviews { background:radial-gradient(circle at 50% 20%,#1c282e3d,transparent 31rem),#05080a; }
.review-slider { position:relative; }
.review-viewport { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-color:var(--gold-deep) var(--ink); }
.review-track { display:flex; gap:1rem; }
.review-card { flex:0 0 100%; min-width:0; display:grid; grid-template-rows:auto 1fr auto; gap:1.5rem; scroll-snap-align:start; padding:1.5rem; border:1px solid var(--line); background:linear-gradient(145deg,#0e1418db,#05080af5); }
.review-card.is-featured { border-color:var(--gold-bright); }
.quote-mark { height:2rem; color:var(--gold-bright); font:4rem/1 var(--serif); }
.review-card blockquote { align-self:center; margin:0; font:1.55rem/1.35 var(--serif); text-wrap:balance; }
.review-card footer { display:flex; flex-direction:column; gap:.25rem; padding-top:1.25rem; border-top:1px solid var(--line-soft); }
.review-card footer strong { color:var(--gold-bright); font-size:.78rem; letter-spacing:.07em; text-transform:uppercase; }
.review-card footer span { color:var(--muted); font-size:.7rem; }
.slider-controls { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.25rem; margin-top:1.5rem; }
.slider-button { width:44px; height:44px; border:1px solid var(--gold); border-radius:50%; color:var(--gold-bright); background:transparent; }
.slider-button:hover { color:var(--ink); background:var(--gold-bright); }
.slider-dots { display:flex; justify-content:center; flex-wrap:wrap; }
.slider-dot { position:relative; width:44px; height:44px; padding:0; border:0; background:transparent; }
.slider-dot::after { content:''; position:absolute; width:8px; height:8px; inset:18px; border:1px solid var(--gold-bright); border-radius:50%; }
.slider-dot.is-active::after { background:var(--gold-bright); }
.slider-pause { display:block; min-height:44px; margin:.5rem auto 0; padding:.5rem 1rem; border:0; background:transparent; color:var(--muted); font-size:.8rem; text-decoration:underline; text-underline-offset:3px; }
.review-action { margin-top:1rem; }
.coverage { display:grid; grid-template-columns:minmax(0,1fr); background:var(--ink-soft); }
.coverage-image { aspect-ratio:3/2; overflow:hidden; border-bottom:1px solid var(--line); }
.coverage-image img { width:100%; height:100%; object-fit:cover; }
.coverage-copy { display:grid; grid-template-rows:1fr auto; padding:4rem 16px; background:linear-gradient(145deg,#10181d94,transparent 48%),#070b0e; }
.coverage-copy p:not(.eyebrow) { max-width:40rem; color:var(--muted); }
.airport-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2.5rem 0 0; }
.airport-list dt { color:var(--gold-bright); font:1.45rem var(--serif); }
.airport-list dd { margin:.2rem 0 0; color:var(--muted); font-size:.75rem; }
.coverage-cta { display:flex; flex-direction:column; gap:1.5rem; margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.coverage-cta > span { color:var(--gold-bright); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.faq-layout { display:grid; gap:2.5rem; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { min-height:60px; padding:1.15rem .25rem; cursor:pointer; font:1.4rem/1.4 var(--serif); }
.faq-list summary::marker { color:var(--gold-bright); }
.faq-list p { margin:.25rem 0 1.5rem; color:var(--muted); font-size:.9rem; }
.site-footer { padding:4rem 0 1.5rem; border-top:1px solid var(--line); background:#030506; }
.footer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
.footer-brand .brand-logo { width:240px; }
.footer-brand p { max-width:19rem; margin:1rem 0 0; color:var(--muted); font-size:.85rem; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; }
.footer-column h2 { margin-bottom:.75rem; color:var(--gold-bright); font:600 .75rem var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.footer-column a { display:inline-flex; align-items:center; min-height:44px; }
.footer-column a,.footer-column address,.footer-column p { max-width:100%; overflow-wrap:anywhere; color:var(--muted); font-size:.85rem; font-style:normal; }
.footer-column a:hover { color:var(--gold-bright); }
.footer-social p { margin-top:1rem; }
.footer-social p span { display:block; color:var(--ivory); font:1.5rem var(--serif); }
.footer-bottom { margin-top:3rem; padding-top:1.25rem; border-top:1px solid var(--line-soft); color:var(--muted); font-size:.75rem; }
.footer-bottom p { margin:0; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; color:var(--ivory); }
.reveal-pending { opacity:0; transform:translateY(1rem); }
.reveal { transition:opacity .65s var(--ease),transform .65s var(--ease); }
@media (min-width:641px) {
  :root { --shell:min(100% - 36px,760px); }
  .brand-logo { width:200px; }
  .hero-layout { padding-top:11rem; }
  .hero-copy { min-height:30rem; }
  .hero-image,.hero-wash { height:100%; }
  .hero-image { object-position:64% center; }
  .hero-wash { background:linear-gradient(90deg,#030709ed,#03070955),linear-gradient(0deg,#05080a,transparent 80%); }
  h1 { font-size:clamp(3.7rem,7vw,6.45rem); }
  h2 { font-size:clamp(2.75rem,4.8vw,5rem); }
  .button-row { flex-direction:row; align-items:center; gap:2rem; }
  .booking-panel { grid-template-columns:repeat(2,minmax(0,1fr)); padding:1.2rem; background:#04080be8; }
  .booking-heading { grid-column:1/-1; }
  .trust-strip { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; }
  .section-heading.centered { text-align:center; }
  .service-feature { aspect-ratio:4/3; }
  .service-thumbnail { width:112px; }
  .review-card { flex-basis:calc((100% - 1rem)/2); padding:2rem; }
  .coverage-copy { padding:4rem max(18px,calc((100vw - 760px)/2)); }
  .airport-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .coverage-cta { flex-direction:row; align-items:center; justify-content:space-between; }
  .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-brand { grid-column:1/-1; }
}
@media (min-width:901px) {
  :root { --shell:min(1280px,calc(100% - 48px)); --section-space:clamp(5.5rem,9vw,9rem); }
  .site-header { position:fixed; height:7rem; transition:background-color .25s ease; }
  .site-header.is-scrolled { background:#040709f5; border-color:var(--line); }
  .nav-ready .menu-toggle { display:none; }
  .nav-ready .primary-nav { position:static; inset:auto; flex-direction:row; flex-wrap:wrap; padding:0; gap:1rem; background:transparent; visibility:visible; opacity:1; overflow:visible; }
  .nav-ready .primary-nav a,.primary-nav a { font:500 .72rem var(--sans); letter-spacing:.08em; text-transform:uppercase; }
  .header-actions { display:flex; align-items:center; gap:1rem; }
  .phone-link { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; gap:.5rem; font-size:.75rem; }
  .phone-link span { display:none; }
  .button-small { min-height:44px; padding-inline:1rem; }
  .hero-layout { min-height:58rem; display:grid; align-content:end; padding-top:11rem; padding-bottom:2.4rem; }
  .hero-copy { padding-bottom:4rem; min-height:0; }
  .hero-image { object-position:62% center; }
  .hero-wash { background:linear-gradient(90deg,#030709fa 0%,#030709dc 27%,#03070930 68%),linear-gradient(0deg,#05080a,transparent 40%); }
  .hero-intro { font-size:1.05rem; }
  .booking-panel { grid-template-columns:1.1fr 1.1fr 1fr auto; }
  .booking-heading { display:none; }
  .booking-submit { min-width:10.5rem; }
  .standard-grid { grid-template-columns:1fr 1fr; gap:3rem; }
  .standards { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
  .service-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; align-items:stretch; }
  .service-feature { aspect-ratio:auto; min-height:39rem; }
  .service-feature > img { position:absolute; inset:0; }
  .fleet-heading { grid-template-columns:1.3fr 1fr; align-items:end; gap:4rem; }
  .fleet-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
  .vehicle-card { padding:clamp(1.25rem,2.5vw,2.5rem); }
  .process-list { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
  .process-list li { padding:1.2rem 1.5rem; border-bottom:0; border-right:1px solid var(--line); }
  .process-list li:first-child { padding-left:0; }
  .process-list li:last-child { padding-right:0; }
  .review-card { flex-basis:calc((100% - 2rem)/3); }
  .coverage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .coverage-image { aspect-ratio:auto; position:relative; border-bottom:0; border-right:1px solid var(--line); min-height:38rem; }
  .coverage-image img { position:absolute; inset:0; }
  .coverage-copy { padding:4rem 2.5rem; }
  .coverage-cta { flex-direction:column; align-items:flex-start; }
  .faq-layout { grid-template-columns:1fr 1.4fr; gap:4rem; }
  .footer-grid { grid-template-columns:1.3fr 1.2fr .8fr 1fr; gap:2rem; }
  .footer-brand { grid-column:auto; }
}
@media (min-width:1121px) {
  .nav-ready .primary-nav { gap:1.5rem; }
  .phone-link span { display:inline; }
  .standard-grid { grid-template-columns:.95fr .95fr 1.1fr; gap:4rem; }
  .standards { grid-column:auto; grid-template-columns:minmax(0,1fr); gap:0; }
  .standard-copy { padding-top:2rem; }
  .service-layout { gap:4rem; }
  .service-item { grid-template-columns:1.7rem minmax(0,1fr) auto; }
  .service-item > a { grid-column:3; }
  .coverage-copy { padding:clamp(3rem,5vw,6rem); }
  .airport-list { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .reveal-pending { opacity:1; transform:none; }
}

/* Shared interior pages keep the homepage's typography, palette and spacing. */
.interior-page .site-header { background:var(--ink); }
.page-heading { padding-top:9rem; padding-bottom:2.5rem; }
.page-heading h1 { max-width:22ch; font-size:clamp(2.5rem,7vw,5.5rem); line-height:1.05; overflow-wrap:break-word; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:2rem; color:var(--muted); font-size:.8rem; }
.breadcrumbs a { min-height:44px; display:inline-flex; align-items:center; color:var(--gold-bright); }
.breadcrumbs > span:last-child { overflow-wrap:anywhere; }
.page-content { padding-bottom:3rem; }
.prose { max-width:860px; color:var(--muted); font-size:1rem; line-height:1.85; overflow-wrap:break-word; }
.prose h2 { margin-top:2.5rem; margin-bottom:1rem; color:var(--ivory); font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.15; }
.prose h3,.prose h4,.prose h5,.prose h6 { margin-top:2rem; color:var(--ivory); font-size:1.65rem; line-height:1.25; }
.prose p,.prose ul,.prose ol { margin-bottom:1.25rem; }
.prose ul,.prose ol { padding-left:1.5rem; }
.prose li + li { margin-top:.5rem; }
.prose a,.form-section > p a { color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; }
.prose blockquote { margin:2rem 0; padding:1rem 1.5rem; border-left:2px solid var(--gold-deep); color:var(--ivory); font:1.6rem/1.5 var(--serif); }
.prose strong { color:var(--ivory); }
.page-photo { width:100%; object-fit:cover; aspect-ratio:3/2; margin:0 0 3rem; }
.article-meta,.journal-card time { color:var(--muted); font-size:.8rem; }
.journal-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
.journal-card { min-width:0; padding:2rem 0; border-top:1px solid var(--line); }
.journal-card h2 { margin:1rem 0; font-size:1.9rem; line-height:1.15; }
.journal-card h2 a { display:block; }
.journal-card p { color:var(--muted); font-size:.9rem; }
.topic-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; padding-bottom:3rem; }
.topic-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--gold-bright); text-decoration:underline; text-underline-offset:4px; }
.related-posts { padding-top:3rem; }
.related-posts > h2 { font-size:2.5rem; }
.page-cta { display:flex; flex-direction:column; align-items:flex-start; gap:2rem; padding-block:3rem 5rem; border-top:1px solid var(--line); }
.page-cta h2 { margin:0; font-size:clamp(2.5rem,5vw,4rem); }
.form-section { max-width:860px; padding-bottom:5rem; }
.form-section > h2 { font-size:2.5rem; }
.form-section > p { color:var(--muted); }
.reservation-form .booking-heading { display:none; }
.field select,.field textarea { max-width:100%; width:100%; min-width:0; padding:.6rem; border:0; color:var(--ivory); background:var(--ink); font:1rem/1.5 var(--sans); }
.field select { min-height:48px; }
.field textarea { border:1px solid var(--line); resize:vertical; }
.message-field { grid-column:1/-1; }
.form-section .booking-panel { grid-template-columns:minmax(0,1fr); }
@media (min-width:641px) {
  .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 3rem; }
  .form-section .booking-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-cta { flex-direction:row; align-items:center; justify-content:space-between; }
}
@media (min-width:1121px) {
  .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
/* Reflow safeguards for enlarged text and native date controls. */
h1,h2,h3 { overflow-wrap:anywhere; }
.field > span,.field-control { min-width:0; max-width:100%; }
.field-control { width:100%; }
.vehicle-monogram { flex-wrap:wrap; align-content:center; }
.vehicle-monogram i { max-width:100%; overflow-wrap:anywhere; }
.fleet-heading > div { min-width:0; }
.service-item h3 a { display:block; min-height:44px; }

.site-header.is-scrolled { background:#040709f5; border-color:var(--line); }
/* Image-led journal and readable article detail pages. */
.journal-heading { padding-bottom:2rem; }
.journal-heading h1 { max-width:24ch; font-size:clamp(2.7rem,6.5vw,5.8rem); }
.journal-heading h1 em { font-weight:400; color:var(--gold-bright); }
.journal-intro { max-width:42rem; margin:1.5rem 0 0; color:var(--muted); font-size:1rem; }
.journal-topics { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; padding-block:1rem 2.5rem; border-top:1px solid var(--line); }
.journal-topics a { display:inline-flex; align-items:center; min-height:44px; padding:.25rem 0; border-bottom:1px solid transparent; color:var(--muted); font-size:.8rem; }
.journal-topics a:hover,.journal-topics a[aria-current=page] { color:var(--gold-bright); border-color:var(--gold-bright); }
.journal-feature { display:grid; grid-template-columns:minmax(0,1fr); background:#0b1114; margin-bottom:4rem; }
.journal-feature-image { min-width:0; aspect-ratio:3/2; overflow:hidden; }
.journal-feature-image img { width:100%; height:100%; object-fit:cover; }
.journal-feature-copy { min-width:0; align-self:center; padding:1.5rem; }
.journal-feature-copy h2 { font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.08; margin-bottom:1.25rem; }
.journal-feature-copy > p:not(.eyebrow) { color:var(--muted); font-size:.9rem; }
.journal-section-label { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.journal-section-label h2 { font-size:2.1rem; margin:0; }
.journal-section-label > span { color:var(--muted); font-size:.75rem; }
.journal-card { padding:0 0 1.5rem; border-top:0; border-bottom:1px solid var(--line); }
.journal-card-image { aspect-ratio:16/10; overflow:hidden; background:var(--panel); }
.journal-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease); }
.journal-card:hover .journal-card-image img { transform:scale(1.025); }
.journal-card-copy { padding-top:1rem; }
.journal-topic { display:inline-flex; align-items:center; min-height:44px; color:var(--gold-bright); font:600 .7rem/1.5 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.journal-card h2,.journal-card h3 { margin:.35rem 0 1rem; font-size:1.9rem; line-height:1.12; }
.journal-card h2 a,.journal-card h3 a { display:block; }
.journal-card-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin:1.3rem 0 .25rem; color:var(--muted); font-size:.75rem; }
.journal-card-meta time { font-size:inherit; }
.article-heading { padding-bottom:2.5rem; }
.article-heading h1 { max-width:26ch; margin:.75rem 0 1.75rem; font-size:clamp(2.4rem,5.4vw,4.75rem); line-height:1.06; }
.article-heading .breadcrumbs { margin-bottom:1rem; }
.article-heading > .eyebrow { margin:0; }
.article-byline { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; color:var(--muted); font-size:.8rem; }
.article-byline a { display:inline-flex; align-items:center; min-height:44px; color:var(--ivory); }
.article-hero { aspect-ratio:16/10; background:var(--panel); margin-bottom:2.5rem; overflow:hidden; }
.article-hero img { width:100%; height:100%; object-fit:cover; object-position:center; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:start; }
.article-body { min-width:0; max-width:none; color:#c8c3ba; font-size:1.05rem; line-height:1.9; }
.article-body > p:first-child { font:1.4rem/1.6 var(--serif); color:var(--ivory); margin-bottom:2rem; }
.article-body h2,.article-body h3 { scroll-margin-top:8rem; }
.article-body h2 { font-size:clamp(1.9rem,3vw,2.6rem); }
.article-body h3 { font-size:1.8rem; }
.article-body li::marker { color:var(--gold-bright); }
.article-end { padding-block:1.5rem; margin-top:2.5rem; border-top:1px solid var(--line); }
.article-sidebar { min-width:0; grid-row:1; }
.article-toc { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:.5rem 0 1rem; }
.article-toc summary { padding:.75rem 0; min-height:44px; color:var(--ivory); font:1.5rem var(--serif); cursor:pointer; }
.article-toc summary::marker { color:var(--gold-bright); }
.article-toc nav { display:grid; }
.article-toc nav a { display:flex; align-items:center; min-height:44px; padding:.5rem 0; color:var(--muted); font-size:.8rem; line-height:1.5; }
.article-toc nav a:hover { color:var(--gold-bright); }
.article-reserve { margin-top:2rem; padding:1.5rem; background:#0b1114; }
.article-reserve h2 { font-size:1.8rem; line-height:1.15; }
.article-reserve p:not(.eyebrow) { color:var(--muted); font-size:.85rem; }
.related-posts { margin-top:3rem; padding-top:3rem; padding-bottom:3rem; border-top:1px solid var(--line); }
.related-posts > h2 { margin-bottom:2rem; }
@media (min-width:641px) {
  .journal-grid { gap:3rem 2rem; }
  .journal-feature-copy { padding:2.5rem; }
  .article-hero { aspect-ratio:16/8; margin-bottom:4rem; }
}
@media (min-width:1000px) {
  .journal-feature { grid-template-columns:1.2fr 1fr; }
  .journal-feature-image { aspect-ratio:auto; min-height:28rem; }
  .article-layout { grid-template-columns:minmax(0,760px) minmax(220px,280px); justify-content:space-between; gap:clamp(2rem,5vw,6rem); }
  .article-sidebar { grid-row:auto; grid-column:2; position:sticky; top:8rem; max-height:calc(100vh - 9rem); overflow-y:auto; scrollbar-width:thin; }
  .article-body { grid-row:1; grid-column:1; }
}
@media (prefers-reduced-motion:reduce) {
  .journal-card-image img { transition:none; }
  .journal-card:hover .journal-card-image img { transform:none; }
}
/* Original fleet cutouts retain their full silhouette on a neutral photo stage. */
.vehicle-photo { display:flex; align-items:center; justify-content:center; background:transparent; aspect-ratio:16/10; padding:1rem; margin-bottom:1.5rem; overflow:hidden; }
.vehicle-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.fleet-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:2rem; padding-bottom:3rem; }
.fleet-detail-card { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--panel); }
.fleet-detail-card .vehicle-photo { margin:0; }
.fleet-detail-copy { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.fleet-detail-copy h2 { font-size:2rem; line-height:1.15; }
.fleet-detail-copy p { color:var(--muted); font-size:.9rem; line-height:1.8; }
.fleet-detail-copy .text-link { margin-top:auto; padding-top:1rem; }
.fleet-specs { list-style:none; padding:0; display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0; }
.fleet-specs li { padding:.4rem .65rem; border:1px solid var(--line); color:var(--gold-bright); font-size:.75rem; }
.service-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:1.25rem; margin-bottom:3rem; }
.service-gallery figure { margin:0; aspect-ratio:4/3; overflow:hidden; }
.service-gallery img { width:100%; height:100%; object-fit:cover; }
@media (max-width:999px) { .article-reserve { display:none; } }

/* Premium shared navigation and editorial page system. */
.site-header,.interior-page .site-header { background:linear-gradient(180deg,#080d10f5,#080d10e8); border-bottom:1px solid #b78b3c40; backdrop-filter:blur(18px); }
.header-inner { gap:1.5rem; }
.brand-logo { width:166px; }
.primary-nav a { position:relative; transition:color .2s ease; }
.primary-nav a[aria-current=page] { color:var(--gold-bright); }
.primary-nav a::after { content:""; position:absolute; bottom:0; left:0; right:0; height:1px; background:var(--gold-bright); transform:scaleX(0); transition:transform .25s ease; }
.primary-nav a:hover::after,.primary-nav a[aria-current=page]::after { transform:scaleX(1); }
.header-actions .button { color:#17130b; border-color:#d2af70; background:linear-gradient(120deg,#b58b45,#ead0a0); min-height:46px; padding:.85rem 1.3rem; }
.menu-toggle { border-color:#c6a46a70; background:transparent; }
.nav-ready .primary-nav { background:radial-gradient(ellipse at top right,#26302a,#080d10 60%); }
.page-heading { padding-bottom:3.5rem; position:relative; }
.page-heading::after { content:""; display:block; height:1px; margin-top:2.5rem; background:linear-gradient(90deg,#b78b3c88,#b78b3c15); }
.page-heading h1 em { color:#d1a12a; font-weight:400; }
.page-heading .eyebrow { letter-spacing:.2em; font-size:.68rem; }
.breadcrumbs { font-size:.7rem; letter-spacing:.06em; }
.page-content.prose { padding:2rem clamp(1rem,4vw,3.5rem) 3rem; background:linear-gradient(145deg,#10181b,#080d10); border:1px solid #ffffff0c; margin-bottom:3rem; }
.page-content.prose > :first-child { margin-top:0; }
.content-chapters { margin-bottom:4rem; }
.content-chapter { display:grid; gap:2rem; padding-block:2.5rem; border-bottom:1px solid var(--line-soft); }
.content-chapter:first-child { padding-top:0; }
.content-chapter .prose { min-width:0; }
.content-chapter .prose > :first-child { margin-top:0; }
.content-chapter figure { margin:0; overflow:hidden; background:var(--panel); aspect-ratio:4/3; }
.content-chapter figure img { width:100%; height:100%; object-fit:cover; }
.content-chapter .prose h2 { font-size:clamp(2rem,3.2vw,3rem); }
.content-chapter .prose li::marker { color:var(--gold-bright); }
.page-cta { padding:2.5rem; margin-bottom:3rem; background:radial-gradient(ellipse at top right,#2c2b20,#0c1418 65%); border:1px solid var(--line); }
.form-section { padding:2rem; background:#0c1316; border:1px solid var(--line); margin-bottom:4rem; }
.fleet-page-heading h1 { max-width:20ch; }
.fleet-heading-bottom { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem 3rem; }
.fleet-heading-bottom p { max-width:580px; color:var(--muted); line-height:1.8; }
.fleet-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:2rem; }
.fleet-toolbar > p { color:var(--muted); font-size:.75rem; }
.fleet-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.fleet-filters[hidden],.fleet-detail-card[hidden] { display:none; }
.fleet-filters button { min-height:44px; border:1px solid var(--line); color:var(--muted); background:transparent; padding:.65rem 1rem; font:500 .75rem var(--sans); cursor:pointer; }
.fleet-filters button[aria-pressed=true] { color:var(--ink); background:#d1a12a; border-color:#d1a12a; }
.fleet-detail-grid { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
.fleet-detail-card { position:relative; border-color:#d1a12a30; background:linear-gradient(150deg,#131c20,#0b1114); }
.fleet-card-label { display:flex; justify-content:space-between; padding:1.3rem 1.5rem; color:#c8b477; font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; }
.fleet-detail-card .vehicle-photo { aspect-ratio:16/9; margin:0 1rem; padding:1.25rem; background:transparent; }
.fleet-detail-copy { padding:1.5rem; }
.fleet-detail-copy h2 { font-size:clamp(1.9rem,3vw,2.7rem); }
.fleet-specs { gap:0; margin:.5rem 0 1.3rem; padding-bottom:1rem; border-bottom:1px solid var(--line-soft); }
.fleet-specs li { padding:.35rem .85rem .35rem 0; border:0; color:#c0b9ad; font-size:.73rem; }
.vehicle-description { margin-bottom:1.25rem; }
.vehicle-description summary { min-height:44px; padding:.7rem 0; color:var(--ivory); cursor:pointer; font-size:.8rem; }
.vehicle-description summary::marker { color:var(--gold-bright); }
.fleet-detail-copy .text-link { border-top:1px solid var(--line-soft); min-height:48px; }
.fleet-guidance { display:grid; gap:2rem; margin:1rem auto 4rem; padding:2rem; background:#0d1518; }
.fleet-guidance summary { cursor:pointer; min-height:44px; font:1.8rem var(--serif); color:var(--ivory); }
.fleet-guidance .prose > h2:first-child { margin-top:0; }
@media (min-width:760px) {
 .fleet-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
 .fleet-detail-copy { padding:2rem; }
 .fleet-detail-card .vehicle-photo { margin-inline:1.5rem; padding:2rem; }
 .content-chapter.has-visual { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding-block:4rem; }
 .content-chapter.has-visual:nth-child(even) figure { grid-column:1; grid-row:1; }
 .content-chapter.has-visual:nth-child(even) .prose { grid-column:2; grid-row:1; }
 .fleet-guidance { grid-template-columns:1fr 1fr; gap:4rem; padding:3rem; }
}
@media (min-width:1000px) {
 .nav-ready .primary-nav { background:transparent; }
 .nav-ready .primary-nav a { font-size:.65rem; letter-spacing:.13em; padding-inline:.1rem; }
 .header-actions { gap:1rem; }
 .phone-link { font-size:.7rem; }
}
@media (min-width:1440px) { .brand-logo { width:190px; } .nav-ready .primary-nav { gap:1.75rem; } }
@media (prefers-reduced-motion:reduce) { .primary-nav a,.primary-nav a::after { transition:none; } }

/* Architectural gold lattice over charcoal, rendered entirely in CSS. */
:root {
 --premium-lattice: repeating-linear-gradient(45deg,transparent 0 119px,rgba(192,155,91,.065) 120px,transparent 121px 240px),repeating-linear-gradient(-45deg,transparent 0 119px,rgba(192,155,91,.065) 120px,transparent 121px 240px);
 --premium-grain: repeating-linear-gradient(0deg,transparent 0 3px,rgba(239,222,192,.009) 3px 4px);
}
body {
 background-color:#080d10;
 background-image:var(--premium-lattice),var(--premium-grain),radial-gradient(ellipse 900px 620px at 95% 180px,rgba(153,114,55,.16),transparent 75%),radial-gradient(ellipse 900px 700px at 0 1000px,rgba(58,88,93,.16),transparent 75%);
 background-size:auto,auto,auto,100% 1600px,100% 2000px;
}
.standard,.services,.process,.reviews,.coverage-copy {
 background-color:#090f12;
 background-image:var(--premium-lattice),var(--premium-grain),radial-gradient(ellipse at 90% 10%,rgba(144,111,60,.14),transparent 65%),linear-gradient(125deg,#0d171bd9,#080d10e8);
}
.standard,.process { background-position:90px 0,90px 0,0 0,0 0,0 0; }
.site-footer {
 background-color:#070b0e;
 background-image:var(--premium-lattice),radial-gradient(ellipse at 50% 0,rgba(145,109,53,.13),transparent 65%);
}
.page-content.prose,.form-section,.fleet-guidance {
 background-color:#0d1417;
 background-image:var(--premium-grain),linear-gradient(135deg,#182124d9,#0a1013f0);
}
.fleet-detail-card,.vehicle-card,.journal-feature-copy {
 background-color:#0d1417;
 background-image:linear-gradient(135deg,rgba(178,140,75,.075),transparent 45%),var(--premium-grain),linear-gradient(150deg,#162024,#0a1114);
 box-shadow:0 12px 36px #00000020,inset 0 1px 0 #e1c18a0a;
}
.page-cta {
 background-image:var(--premium-lattice),radial-gradient(ellipse at top right,#3b3425,#0d171b 72%);
}
@media (forced-colors:active) {
 body,.standard,.services,.process,.reviews,.coverage-copy,.site-footer,.page-content.prose,.form-section,.fleet-guidance,.fleet-detail-card,.vehicle-card,.journal-feature-copy,.page-cta { background-image:none; }
}
/* Keep the long homepage section heading intact in its desktop column. */
@media (min-width:901px) { .standard h2 { font-size:clamp(2.2rem,3.2vw,3rem); overflow-wrap:normal; } }

/* Complete footer: source contact details, social profiles and useful destinations. */
.site-footer { padding-top:0; }
.footer-welcome { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; padding-block:3.5rem; border-bottom:1px solid var(--line); }
.footer-welcome h2 { margin:0; font-size:clamp(2.7rem,5vw,4.8rem); line-height:1.1; }
.footer-welcome h2 em { font-weight:400; color:#d1a12a; }
.footer-welcome-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.footer-welcome-actions .button { gap:1.5rem; }
.footer-grid { padding-block:3rem 1rem; gap:2.5rem; }
.footer-brand .brand-logo { width:220px; max-width:100%; }
.footer-brand p { max-width:26rem; }
.footer-column h2 { color:#d1a12a; letter-spacing:.16em; font-size:.7rem; margin-bottom:1.4rem; }
.footer-column address { line-height:1.85; }
.footer-column address strong { color:var(--ivory); font-weight:500; }
.footer-column .footer-label { margin:1.5rem 0 .25rem; font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:#d1a12a; }
.footer-column .footer-contact-link { margin-top:.75rem; color:var(--gold-bright); gap:.75rem; }
.footer-column a { gap:.5rem; text-decoration:none; }
.footer-column a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-social-links { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
.footer-social-links a { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:.55rem .8rem; border:1px solid var(--line); color:#d0c7b7; font-size:.72rem; }
.footer-social-links a:hover { border-color:var(--gold-bright); color:var(--gold-bright); background:#b78b3c0d; }
.footer-brand .footer-membership { display:flex; align-items:center; gap:1rem; padding-top:1.25rem; margin-top:1.5rem; border-top:1px solid var(--line-soft); font-size:.7rem; }
.footer-membership > span:first-child { font:1.8rem var(--serif); letter-spacing:.07em; color:#d1a12a; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 2rem; padding-top:1rem; margin-top:2rem; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; }
.footer-bottom .footer-credit { display:flex; align-items:center; gap:.4rem; }
.footer-bottom a { font-size:.72rem; color:#d0c7b7; }
.footer-bottom a:hover { color:var(--gold-bright); }
@media (min-width:641px) and (max-width:1120px) {
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .footer-brand { grid-column:auto; }
}
@media (min-width:1121px) { .footer-grid { grid-template-columns:1.4fr 1.15fr .85fr 1.1fr; gap:3rem; } }

/* Homepage composition aligned with the supplied September 6 visual reference. */
.home-page { --section-space:3.5rem; --premium-lattice:repeating-linear-gradient(45deg,transparent 0 119px,rgba(192,155,91,.022) 120px,transparent 121px 240px),repeating-linear-gradient(-45deg,transparent 0 119px,rgba(192,155,91,.022) 120px,transparent 121px 240px); }
.home-page .hero-copy { max-width:37rem; }
.home-page .hero-context { font-size:.66rem; letter-spacing:.18em; margin-bottom:1rem; }
.home-page .hero-copy h1 { font-size:clamp(3.1rem,6.3vw,5.7rem); line-height:.96; letter-spacing:-.025em; margin-bottom:1rem; }
.home-page .hero-intro { max-width:29rem; line-height:1.6; }
.home-page .hero .booking-heading { display:none; }
.home-page .hero .booking-panel { background:#071014ed; gap:.8rem; }
.home-page .hero .booking-note { font-size:.68rem; line-height:1.5; }
.home-page .hero .field-control { background:#111a1dda; border-color:#b78b3c18; }
.home-page .trust-strip { margin-top:1rem; }
.home-page .section-heading h2 { font-size:clamp(2.35rem,4.1vw,3.8rem); line-height:1.04; letter-spacing:-.025em; overflow-wrap:normal; }
.home-page .standard-grid { gap:2rem; align-items:center; }
.home-page .standard-copy { padding:0; margin-top:1.2rem; font-size:.85rem; line-height:1.7; }
.home-page .standard-copy .lead { font:inherit; color:#c8c3ba; }
.home-page .standard-copy .text-link { font-size:.65rem; }
.home-page .standard-detail { height:100%; min-height:18rem; aspect-ratio:4/5; margin:0; object-position:center; }
.home-page .standards { border-top:0; }
.home-page .standards > div { align-items:center; grid-template-columns:3.3rem minmax(0,1fr); gap:1rem; padding-block:1.2rem; }
.home-page .standards dt { display:flex; align-items:center; justify-content:center; width:3.2rem; height:3.2rem; border:1px solid var(--line); border-radius:50%; font-size:1.15rem; }
.home-page .standards strong { font:1.15rem var(--serif); text-transform:none; letter-spacing:0; }
.home-page .standards span { font-size:.78rem; }
.home-page .services-heading { display:grid; gap:1.5rem; margin:0 0 1.8rem; max-width:none; }
.home-page .services-heading h2 { max-width:16ch; }
.home-page .services-intro { color:var(--muted); font-size:.85rem; max-width:30rem; align-self:end; }
.home-page .services-intro p { margin-bottom:.3rem; }
.home-page .service-layout { gap:1.8rem; }
.home-page .service-item { grid-template-columns:4.5rem minmax(0,1fr) 2rem; gap:1rem; align-items:center; padding:1rem 0; }
.home-page .service-item:first-child { padding-top:0; border-top:0; }
.home-page .service-thumbnail { float:none; width:100%; height:5.5rem; margin:0; object-fit:cover; }
.home-page .service-item h3 { font-size:1.5rem; line-height:1.1; margin-bottom:.25rem; }
.home-page .service-item h3 a { min-height:44px; }
.home-page .service-item p { font-size:.78rem; line-height:1.6; }
.home-page .service-item > a { grid-column:3; grid-row:1; min-width:32px; min-height:44px; }
.home-page .service-item > a span { font-size:1.5rem; }
.home-page .service-feature { min-height:0; aspect-ratio:1; }
.home-page .service-feature figcaption strong { font-size:1.5rem; }
.home-page .fleet-heading { margin-bottom:1.8rem; }
.home-page .vehicle-card { padding:1.1rem; }
.home-page .vehicle-photo { background:radial-gradient(ellipse at 50% 75%,#394144,#151d20 55%,#0a1013 85%); aspect-ratio:16/10; padding:.25rem; margin:0 0 1rem; }
.home-page .vehicle-photo img { filter:drop-shadow(0 12px 8px #0009); }
.home-page .vehicle-topline { font-size:.6rem; margin-bottom:.75rem; }
.home-page .vehicle-card h3 { font-size:1.65rem; margin-bottom:.7rem; }
.home-page .vehicle-card dl { gap:.5rem 1rem; margin-bottom:.3rem; }
.home-page .vehicle-card dt { font-size:.6rem; }
.home-page .vehicle-card dd { font-size:.9rem; }
.home-page .vehicle-card .text-link { font-size:.65rem; }
.home-page .center-action { margin-top:1.2rem; }
.home-page .process-heading { text-align:left; }
.home-page .process-list { margin-top:1.5rem; }
.home-page .process-list li > span { font-size:2.6rem; }
.home-page .process-list strong { font:1.2rem var(--serif); letter-spacing:0; text-transform:none; }
.home-page .process-list p { font-size:.8rem; }
.home-page .reviews-heading { margin:0 0 1.5rem; max-width:none; }
.home-page .review-card { gap:.7rem; padding:1.2rem; }
.home-page .review-card blockquote { font: .9rem/1.6 var(--sans); text-wrap:initial; }
.home-page .review-card footer { padding-top:.7rem; }
.home-page .coverage-image { min-height:0; }
.home-page .coverage-copy { padding:2.5rem 1.5rem; }
.home-page .coverage-copy h2 { font-size:clamp(2.2rem,3.5vw,3.2rem); line-height:1.05; }
.home-page .coverage-copy p { font-size:.85rem; }
.home-page .airport-list { margin-top:1.5rem; gap:.75rem; }
.home-page .coverage-cta { margin-top:1.3rem; padding-top:0; border:0; gap:1rem; }
.home-page .faq-list summary { font: .9rem/1.5 var(--sans); min-height:48px; padding:.85rem .25rem; }
.home-page .footer-welcome { padding-block:2rem; }
.home-page .footer-welcome h2 { font-size:2.8rem; }
.home-page .footer-grid { padding-top:2rem; }
@media (min-width:641px) { .home-page .button-row { flex-direction:row; align-items:center; gap:1.5rem; } }
@media (min-width:901px) {
 .home-page .site-header { height:5rem; }
 .home-page .brand-logo { width:150px; }
 .home-page .hero-layout { min-height:0; padding-top:8rem; padding-bottom:1.3rem; }
 .home-page .hero-copy { padding-bottom:2rem; min-height:0; }
 .home-page .hero-image,.home-page .hero-wash { height:100%; }
 .home-page .hero-image { object-position:60% 32%; }
 .home-page .hero-wash { background:linear-gradient(90deg,#03090ee8 0%,#03090e92 35%,#03090e0d 68%),linear-gradient(0deg,#050b0eeb,transparent 45%); }
 .home-page .hero .booking-panel { padding:.8rem 1rem; grid-template-columns:1fr 1fr 1.15fr auto; }
 .home-page .hero .field-control { min-height:44px; }
 .home-page .hero .field input { min-height:44px; font-size:.8rem; }
 .home-page .hero .field { font-size:.6rem; }
 .home-page .hero .booking-submit { min-width:9rem; }
 .home-page .standard-grid { grid-template-columns:1.05fr .95fr 1fr; gap:2rem; }
 .home-page .standard-grid .standards { grid-column:auto; grid-template-columns:1fr; gap:0; }
 .home-page .standard h2 { font-size:clamp(2.1rem,3.3vw,3.1rem); }
 .home-page .standard-detail { max-height:24rem; }
 .home-page .services-heading { grid-template-columns:1fr 1fr; gap:2rem; }
 .home-page .service-layout { grid-template-columns:1.05fr 1fr; }
 .home-page .service-feature { height:100%; aspect-ratio:auto; }
 .home-page .service-item { grid-template-columns:5rem minmax(0,1fr) 2rem; }
 .home-page .coverage { grid-template-columns:1.15fr 1fr; }
 .home-page .coverage-copy { padding:2.5rem; }
 .home-page .airport-list { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .home-page .airport-list dt { font-size:1.1rem; }
 .home-page .airport-list dd { font-size:.65rem; }
}
@media (max-width:390px) { .home-page .service-item { grid-template-columns:3.6rem minmax(0,1fr); gap:.7rem; } .home-page .service-item > a { grid-column:2; grid-row:auto; } }
/* Crisp social brand marks in restrained gold medallions. */
.footer-social-links { gap:.7rem; }
.footer-social-links a { width:46px; height:46px; padding:0; justify-content:center; border-radius:50%; color:#d1a12a; background:linear-gradient(145deg,#172124,#0a1114); box-shadow:inset 0 1px 0 #e3c68715; transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease; }
.footer-social-links svg { width:19px; height:19px; fill:currentColor; }
.footer-social-links a:hover { color:#101516; border-color:#d1a12a; background:#d1a12a; transform:translateY(-2px); }
.footer-social-links a:focus-visible { outline:2px solid #eed3a0; outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { .footer-social-links a { transition:none; } }
@media (min-width:901px) { .home-page .hero-image { top:5rem; height:calc(100% - 5rem); object-position:60% top; } }
/* Allow enlarged text to reflow without widening the page. */
.home-page .section-heading { min-width:0; }
.home-page .section-heading h2 { overflow-wrap:break-word; }

/* Restrained return to the original WordPress gold (#D1A12A) and navy (#15162C). */
:root {
 --ink:#08090e; --ink-soft:#10111a; --panel:#11131c;
 --gold:#d1a12a; --gold-bright:#dfb650; --gold-deep:#a57e25;
 --ivory:#f5f3ef; --muted:#b9b6b1;
 --line:rgba(209,161,42,.32);
}
body { background-color:#08090e; }
.site-header,.interior-page .site-header { background:linear-gradient(180deg,#090a11f7,#090a11ed); }
.standard,.services,.process,.reviews,.coverage-copy {
 background-color:#0b0c13;
 background-image:var(--premium-lattice),var(--premium-grain),radial-gradient(ellipse at 90% 10%,rgba(209,161,42,.07),transparent 65%),linear-gradient(125deg,#15162cd9,#090a10eb);
}
.fleet-detail-card,.vehicle-card,.journal-feature-copy,.page-content.prose,.form-section,.fleet-guidance {
 background-color:#10111a;
 background-image:var(--premium-grain),linear-gradient(145deg,#151722,#0c0e15);
}
.button-gold,.header-actions .button {
 background:linear-gradient(115deg,#c69829,#dab044 55%,#c69829);
 border-color:#d1a12a; color:#111119;
}
.page-cta { background-image:var(--premium-lattice),radial-gradient(ellipse at top right,#29251c,#11131f 72%); }
.footer-social-links a { background:linear-gradient(145deg,#171924,#0c0e15); }
.footer-social-links a:hover { background:#d1a12a; color:#111119; }
.site-footer { background-color:#08090e; }
@media (forced-colors:active) { .standard,.services,.process,.reviews,.coverage-copy,.fleet-detail-card,.vehicle-card,.journal-feature-copy,.page-content.prose,.form-section,.fleet-guidance,.button-gold,.header-actions .button,.page-cta,.footer-social-links a { background-image:none; } }
/* Compact skyline invitation shared across the site. */
.site-footer .footer-welcome.footer-skyline,.home-page .site-footer .footer-welcome.footer-skyline {display:block;width:100%;max-width:none;margin:0;padding:30px 0;border:0;border-block:1px solid #b88b4255;border-radius:0;background:linear-gradient(90deg,#090e18c9,#090e1860 48%,#090e18dd),url(images/footer-skyline-invitation-1920.webp) center 65%/cover no-repeat;box-shadow:none;}
.site-footer .footer-skyline::before {display:none;}
.footer-skyline .footer-skyline-inner {display:flex;align-items:center;justify-content:space-between;gap:36px;}
.site-footer .footer-skyline h2,.home-page .site-footer .footer-welcome.footer-skyline h2 {font:500 clamp(1.8rem,2.6vw,2.5rem)/1.13 var(--serif);margin:0;color:#f4f0e8;letter-spacing:-.02em;}
.footer-skyline-intro {margin:10px 0 0;color:#e2dfd8;font-size:.86rem;line-height:1.5;}
.site-footer .footer-skyline .footer-welcome-actions {display:flex;flex-direction:row;align-items:center;gap:30px;}
.site-footer .footer-skyline .button {min-width:176px;min-height:50px;justify-content:center;}
.footer-skyline-call {border-left:1px solid #cba44b66;padding-left:28px;}
.footer-skyline-call > span {display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#e0bc6f;margin-bottom:7px;}
.footer-skyline-call a {display:inline-flex;align-items:center;min-height:32px;font-size:1rem;color:#f5f0e6;text-decoration:none;}
@media(max-width:700px){.footer-skyline .footer-skyline-inner{flex-direction:column;align-items:flex-start;gap:22px;}.site-footer .footer-skyline .footer-welcome-actions{width:100%;gap:18px;}.footer-skyline-call{padding-left:18px;}.site-footer .footer-skyline .button{min-width:0;flex:1;}.footer-skyline-call a{font-size:.88rem;}}
@media(max-width:360px){.site-footer .footer-skyline .footer-welcome-actions{flex-direction:column;align-items:stretch;}.footer-skyline-call{border:0;padding-left:0;}}
.home-page .site-footer .footer-welcome.footer-skyline::before {display:none;content:none;}

@media(max-width:700px){.site-footer .footer-welcome.footer-skyline,.home-page .site-footer .footer-welcome.footer-skyline{background-image:linear-gradient(90deg,#090e18c9,#090e1860 48%,#090e18dd),url(images/footer-skyline-invitation-800.webp);}}
.fleet-photo-pending {display:grid;place-items:center;min-height:180px;width:100%;margin:0;padding:24px;text-align:center;font:500 .8rem/1.6 var(--sans);color:#cbb780;background:linear-gradient(135deg,#17212d,#0b1119);border:1px solid #b88b4244;border-radius:6px;}
.mobile-quick-actions {display:none;}

/* Fleet collections and electric vehicle details. */
.fleet-collection-section { padding-top:2rem; padding-bottom:1rem; }
.fleet-section-intro { max-width:850px; margin-bottom:2rem; }
.fleet-section-intro h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.12; margin:.6rem 0 1rem; }
.fleet-section-intro>p:last-child { color:var(--muted); line-height:1.8; }
.electric-fleet-section { border-top:1px solid var(--line); padding-top:3rem; }
.fleet-collection-section .fleet-detail-copy h3 { font-size:2rem; line-height:1.15; }
.electric-fleet-section .fleet-detail-card { border-color:var(--gold); }
.fleet-collection-section[hidden],.fleet-detail-card[hidden] { display:none!important; }

/* interior-premium.css */
/* Shared interior finish, following the airport page's navy and gold panels. */
body { background:radial-gradient(ellipse at 10% 20%,#20212a77,transparent 45%),#090d13; }
.page-heading { padding-bottom:36px; }
.page-heading::after { background:linear-gradient(90deg,#c89e4b99,transparent); }
.content-chapter,.content-chapter:first-child,.content-chapter.has-visual {
 padding:clamp(24px,3.4vw,42px); margin-bottom:34px; gap:clamp(26px,3.8vw,48px);
 background:linear-gradient(135deg,#141a23,#0c1118); border:1px solid #d1a12a38;
 border-radius:10px; box-shadow:0 14px 44px #0002;
}
.content-chapter .prose { font-size:.95rem; line-height:1.9; }
.content-chapter .prose h2 { font-size:clamp(2rem,3.4vw,3.1rem); }
.content-chapter figure { align-self:center; aspect-ratio:auto; overflow:visible; padding:10px; background:linear-gradient(140deg,#34313a,#111b24); border:1px solid #c89e4b99; border-radius:9px; box-shadow:0 14px 34px #0006; }
.content-chapter figure img { display:block; height:auto; border-radius:4px; border:1px solid #ffffff17; }
.content-chapter figcaption { color:#d2bd91; font-size:.75rem; line-height:1.7; padding:13px 6px 3px; }
.page-content.prose,.article-body,.form-section,.fleet-guidance {
 padding:clamp(24px,3.4vw,42px); border:1px solid #d1a12a38; border-radius:10px;
 background:linear-gradient(135deg,#141a23,#0c1118); box-shadow:0 14px 44px #0002;
}
.prose li::marker { color:var(--gold-bright); }
.prose img { max-width:100%; height:auto; }
.page-content.prose > .page-photo,.page-content.prose > .vehicle-photo,.article-body img {
 padding:8px; border:1px solid #c89e4b99; border-radius:8px; background:linear-gradient(140deg,#34313a,#111b24); box-shadow:0 12px 30px #0004;
}
.page-content.prose > .page-photo { aspect-ratio:auto; }
.page-content.prose > .vehicle-photo img { object-fit:contain; }
.article-hero { aspect-ratio:auto; padding:10px; border:1px solid #c89e4b99; border-radius:9px; background:linear-gradient(140deg,#34313a,#111b24); box-shadow:0 14px 34px #0006; }
.article-hero img { display:block; height:auto; max-height:650px; object-fit:contain; border-radius:4px; }
.article-body > :first-child { margin-top:0; }
.article-toc,.article-reserve { padding:20px; border:1px solid #d1a12a38; border-radius:8px; background:linear-gradient(135deg,#141a23,#0c1118); }
.article-toc nav a { border-bottom:1px solid #ffffff0b; }
.journal-feature { padding:10px; border:1px solid #c89e4b77; border-radius:10px; background:linear-gradient(135deg,#141a23,#0c1118); box-shadow:0 14px 44px #0003; }
.journal-feature-image { border:1px solid #ffffff17; border-radius:5px; }
.journal-feature-copy { background:transparent; }
.journal-card,.fleet-detail-card { border:1px solid #d1a12a38; border-radius:9px; background:linear-gradient(135deg,#141a23,#0c1118); box-shadow:0 12px 32px #0002; overflow:hidden; }
.journal-card { padding:10px 10px 0; display:flex; flex-direction:column; }
.journal-card-image { border:1px solid #c89e4b77; border-radius:5px; flex-shrink:0; }
.journal-card-copy { padding:18px 12px 22px; display:flex; flex:1; flex-direction:column; }
.journal-card-copy > .text-link { margin-top:auto; }
.fleet-detail-card .vehicle-photo { border:1px solid #c89e4b66; border-radius:7px; background:radial-gradient(ellipse at center,#29313b,#10161e 75%); }
.vehicle-description img { width:100%; height:auto; margin-top:12px; border:1px solid #c89e4b77; border-radius:6px; }
.fleet-guidance { margin-bottom:48px; }
.page-cta { border-radius:9px; border-color:#c89e4b66; background:radial-gradient(ellipse at top right,#39302455,transparent 65%),linear-gradient(135deg,#141a23,#0c1118); box-shadow:0 14px 34px #0003; }
.form-section .booking-panel { box-shadow:none; }
.form-section .field-control,.form-section textarea { border-radius:4px; }
@media(min-width:1100px) { .shell { max-width:1240px; } .page-content.prose,.form-section { max-width:920px; } .content-chapter.has-visual { grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr); } .content-chapter.has-visual:nth-child(even) { grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr); } }
@media(max-width:800px) { .content-chapter.has-visual { grid-template-columns:minmax(0,1fr); } .content-chapter.has-visual:nth-child(even) figure,.content-chapter.has-visual:nth-child(even) .prose { grid-column:auto; grid-row:auto; } .content-chapter figure { order:1; } .content-chapters { margin-bottom:32px; } .article-body { font-size:.95rem; } }
@media(max-width:420px) { .content-chapter,.content-chapter:first-child,.content-chapter.has-visual,.page-content.prose,.article-body,.form-section,.fleet-guidance { padding:20px; } .content-chapter figure,.article-hero { padding:7px; } .page-cta { padding:24px; } }
@media(forced-colors:active) { body,.content-chapter,.article-body,.page-content.prose,.form-section,.fleet-guidance,.journal-card,.fleet-detail-card,.page-cta { background-image:none; } }
@media(min-width:801px) {
 .services-editor:nth-of-type(even) .content-chapter.has-visual {grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);}
 .services-editor:nth-of-type(even) .content-chapter.has-visual figure {grid-column:1;grid-row:1;}
 .services-editor:nth-of-type(even) .content-chapter.has-visual .prose {grid-column:2;grid-row:1;}
 .services-editor figure img {max-height:440px;object-fit:contain;}
}

.fleet-page-banner {margin:0 0 32px;padding:7px 7px 0;border:1px solid #d1a12a55;border-radius:6px;background:linear-gradient(135deg,#1b2028,#0a0d12);box-shadow:0 16px 35px #0004;overflow:hidden;}
.fleet-page-banner img {display:block;width:100%;height:auto;border-radius:3px;}
.fleet-page-banner figcaption {padding:13px 12px;text-align:center;font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:#dabb78;}
@media(max-width:600px){.fleet-page-banner{padding:4px 4px 0;margin-bottom:24px;}.fleet-page-banner figcaption{font-size:.59rem;letter-spacing:.1em;padding:12px 6px;}}

/* About: editorial portrait, generous text and quiet gold divisions. */
.about-vision {padding-bottom:24px;}
.about-story {display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,76px);align-items:center;margin-bottom:56px;}
.about-story h2 {font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.12;margin:16px 0 24px;}
.about-story figure {margin:0;padding:8px;border:1px solid #b88b4255;border-radius:140px 140px 12px 12px;background:#10161e;box-shadow:0 20px 60px #0004;overflow:hidden;}
.about-story img {display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:132px 132px 6px 6px;}
.about-story figcaption {font-size:.75rem;line-height:1.65;text-align:center;color:#bdb5a4;padding:14px 16px 8px;}
.about-values {border-top:1px solid #b88b4255;}
.about-value {display:grid;grid-template-columns:1fr 1.8fr;gap:clamp(24px,5vw,72px);padding:38px 0;border-bottom:1px solid #b88b423d;}
.about-value h2 {font-size:clamp(1.7rem,2.4vw,2.4rem);line-height:1.2;margin:0;}
.about-vision .prose p {color:#cbcdd0;font-size:1rem;line-height:1.85;margin:0 0 20px;}
.about-vision .prose a {color:#e3be70;text-decoration:underline;text-underline-offset:4px;}
.about-faq {padding-block:24px 72px;}
.about-faq h2 {font-size:clamp(2rem,3vw,2.8rem);margin:12px 0 28px;}
.about-faq details {border-top:1px solid #b88b4255;}
.about-faq details:last-child {border-bottom:1px solid #b88b4255;}
.about-faq summary {cursor:pointer;padding:20px 36px 20px 0;color:#f1e8d7;font-size:1rem;line-height:1.5;}
.about-faq details p {max-width:85ch;font-size:1rem;line-height:1.8;color:#cbcdd0;padding:0 0 24px;margin:0;}
.about-faq summary:focus-visible {outline:2px solid #e3be70;outline-offset:4px;}
@media(max-width:700px){.about-story {grid-template-columns:1fr;gap:28px;margin-bottom:36px;}.about-story figure {max-width:460px;width:100%;justify-self:center;}.about-value {grid-template-columns:1fr;gap:20px;padding-block:30px;}.about-faq{padding-bottom:44px;}}
/* Contact-only preview of the supplied fleet header. */
.page-heading.contact-image-heading {margin-top:88px;padding:0;min-height:480px;height:38.6vw;max-height:650px;width:100%;overflow:hidden;border-bottom:1px solid #c89e4b77;}
.contact-image-heading .contact-header-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.page-heading.contact-image-heading::after {position:absolute;inset:0;margin:0;height:auto;background:linear-gradient(180deg,#080d15c9 0%,#080d1540 42%,transparent 65%,#080d1555 100%);pointer-events:none;}
.contact-image-heading .contact-header-copy {position:relative;z-index:1;padding-top:26px;}
.contact-image-heading h1 {font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:0;text-shadow:0 2px 22px #0008;}
.contact-image-heading .eyebrow {margin-bottom:10px;}
@media(max-width:900px){.page-heading.contact-image-heading{margin-top:76px;min-height:390px;height:52vw;}.contact-image-heading .contact-header-image{object-position:52% center;}}
@media(max-width:600px){.page-heading.contact-image-heading{min-height:360px;height:auto;}.contact-image-heading .contact-header-image{object-position:50% center;}.contact-image-heading .contact-header-copy{padding-top:22px;}.contact-image-heading h1{font-size:2.8rem;}}
/* More compact Contact banner. */
.page-heading.contact-image-heading {min-height:0;height:clamp(300px,26vw,390px);max-height:390px;}
.contact-image-heading .contact-header-image {object-position:center 58%;}
.contact-image-heading h1 {font-size:clamp(2.5rem,4.2vw,3.8rem);}
@media(max-width:900px){.page-heading.contact-image-heading{min-height:0;height:320px;}}
@media(max-width:600px){.page-heading.contact-image-heading{min-height:0;height:280px;}.contact-image-heading h1{font-size:2.6rem;}}
/* Anchor the Contact artwork to preserve vehicles and wheels. */
.page-heading.contact-image-heading .contact-header-image {object-position:center bottom;}
/* Localized contrast behind the Contact banner text. */
.contact-image-heading .contact-header-copy::before {content:"";position:absolute;z-index:-1;left:-40px;top:0;width:min(640px,90vw);height:calc(100% + 28px);background:radial-gradient(ellipse at 25% 45%,rgba(5,10,17,.66) 0%,rgba(5,10,17,.38) 48%,transparent 75%);pointer-events:none;}
.contact-image-heading .contact-header-copy {isolation:isolate;}
.contact-image-heading h1 {text-shadow:0 2px 12px rgba(0,0,0,.55);}
/* Shared interior banners retain room for longer editorial titles. */
.page-heading.shared-content-banner {height:auto;min-height:340px;max-height:none;padding-bottom:32px;}
.shared-content-banner .contact-header-copy {padding-bottom:12px;}
.shared-content-banner h1 {max-width:25ch;font-size:clamp(2.2rem,3.6vw,3.5rem);}
.page-heading.content-banner-article {min-height:360px;}
.content-banner-article h1 {max-width:32ch;}
.shared-content-banner .contact-header-copy::before {width:min(920px,100vw);height:calc(100% + 35px);background:radial-gradient(ellipse at 30% 45%,#050a11c9, #050a1180 50%,transparent 78%);}
@media(max-width:600px){.page-heading.shared-content-banner{min-height:280px;padding-bottom:24px;}.shared-content-banner h1{font-size:2.2rem;}.page-heading.content-banner-article{min-height:320px;}}
/* Preserve the full aviation artwork across all interior banners. */
.page-heading.contact-image-heading {height:auto;min-height:0;max-height:none;padding:0;display:grid;background:#0a1018;}
.page-heading.contact-image-heading .contact-header-image {position:relative;inset:auto;grid-area:1/1;width:100%;height:auto;object-fit:contain;object-position:center;align-self:end;}
.page-heading.contact-image-heading .contact-header-copy {grid-area:1/1;align-self:start;padding-top:26px;padding-bottom:32px;}
.page-heading.contact-image-heading::after {grid-area:1/1;}
@media(max-width:900px){
 .page-heading.contact-image-heading {display:flex;flex-direction:column;}
 .page-heading.contact-image-heading .contact-header-copy {order:0;padding-top:24px;padding-bottom:24px;}
 .page-heading.contact-image-heading .contact-header-image {order:1;display:block;}
 .page-heading.contact-image-heading::after {display:none;}
 .page-heading.contact-image-heading .contact-header-copy::before {display:none;}
}
/* Mobile editorial headers: compact typography and a framed full image. */
@media(max-width:900px){
 .page-heading.contact-image-heading {background:radial-gradient(ellipse at 90% 0%,#26303b80,transparent 70%),#0a1018;margin-bottom:24px;border-bottom:1px solid #c89e4b55;}
 .page-heading.contact-image-heading .contact-header-copy {width:calc(100% - 40px);padding:20px 0 22px;}
 .contact-image-heading .breadcrumbs {margin:0 0 20px;padding:0;font-size:.72rem;line-height:1.6;flex-wrap:wrap;}
 .contact-image-heading .eyebrow {margin:0 0 10px;font-size:.65rem;line-height:1.6;letter-spacing:.13em;}
 .page-heading.contact-image-heading h1 {margin:0;max-width:none;font-size:clamp(2rem,5.7vw,2.8rem);line-height:1.13;text-wrap:balance;}
 .page-heading.contact-image-heading .contact-header-image {width:calc(100% - 24px);margin:0 12px 12px;border:1px solid #c89e4b55;border-radius:6px;box-sizing:border-box;box-shadow:0 8px 24px #0005;}
 .page-heading.contact-image-heading .article-byline:empty {display:none;}
 .page-heading.content-banner-article h1 {font-size:clamp(1.8rem,5.4vw,2.5rem);line-height:1.18;}
}
/* Alternate the About page editorial rows. */
@media(min-width:701px){
 .about-values .about-value:nth-child(even) {grid-template-columns:1.8fr 1fr;}
 .about-values .about-value:nth-child(even) > h2 {grid-column:2;grid-row:1;}
 .about-values .about-value:nth-child(even) > .prose {grid-column:1;grid-row:1;}
}

/* reviews.css */
.review-page { max-width:1020px; padding-block:130px 70px; }.review-intro { max-width:700px; margin-bottom:36px; }.review-intro h1 { font-size:clamp(3rem,6vw,4.5rem); max-width:15ch; }.review-intro > p:not(.eyebrow) { color:var(--muted); line-height:1.8; }.review-principles { display:flex; flex-wrap:wrap; gap:12px 30px; color:var(--gold-bright); font-size:.8rem; margin-top:24px; }.review-compose { padding:clamp(24px,5vw,46px); border:1px solid var(--line); background:linear-gradient(135deg,#151b24,#0a1017); border-radius:5px; max-width:760px; }.review-compose h2 { font-size:2rem; }.review-compose p { line-height:1.8; }.review-helper { color:var(--muted); font-size:.8rem; }.review-identity { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:26px; }.review-identity strong { display:block; }.review-identity button { background:none; border:0; }.review-compose fieldset { border:0; padding:0; margin:24px 0; }.review-compose legend,.review-text-label { font-weight:600; font-size:.9rem; }.review-stars { display:flex; gap:10px; margin-top:12px; }.review-stars label { position:relative; cursor:pointer; display:grid; place-items:center; width:48px; height:48px; border:1px solid #ffffff44; border-radius:4px; color:#aaa; font-size:30px; }.review-stars input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }.review-stars label.selected,.review-stars label:has(input:checked) { color:#dfb650; border-color:#dfb650; background:#d1a12a18; }.review-stars label:focus-within { outline:2px solid #dfb650; outline-offset:3px; }.review-compose textarea { display:block; width:100%; margin-top:12px; padding:16px; color:var(--ivory); background:#080d13; border:1px solid #ffffff40; font:inherit; line-height:1.7; resize:vertical; }.review-consent { display:flex; align-items:flex-start; gap:12px; margin:24px 0; font-size:.85rem; line-height:1.7; }.review-consent input { margin-top:5px; width:18px; height:18px; flex-shrink:0; accent-color:#d1a12a; }.review-status { margin:20px 0 0; }.review-status:empty { display:none; }.review-policy { max-width:760px; margin-top:32px; }.review-policy h2 { font-size:1.7rem; }.review-policy p { color:var(--muted); font-size:.82rem; line-height:1.9; }.review-rating { color:#dfb650; margin-bottom:12px; letter-spacing:3px; }.review-response { margin-top:18px; border-top:1px solid var(--line); padding-top:16px; font-size:.75rem; }.review-response p { margin-bottom:0; }.review-invitation { text-align:center; margin:24px auto 0; }.review-invitation p { font-size:.75rem; color:var(--muted); }.review-invitation .text-link { justify-content:center; }
@media(max-width:600px){.review-page {padding-block:110px 40px;}.review-stars {gap:8px;}.review-stars label {width:42px;height:46px;}.review-identity {align-items:flex-start;}.review-principles {flex-direction:column;gap:10px;}}

.review-card blockquote,.review-response {overflow-wrap:anywhere;}
/* Website review directory and accessible submission controls. */
.review-compose input[name=name],.review-sort select {display:block;width:100%;padding:13px 15px;margin-top:10px;background:#080d13;color:var(--ivory);border:1px solid #ffffff55;font:inherit;border-radius:3px;}
.review-compose :is(input,textarea,button):focus-visible,.review-directory a:focus-visible,.review-sort select:focus-visible {outline:2px solid var(--gold-bright);outline-offset:4px;}
.review-directory {max-width:1280px;}.review-summary {display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:30px;border:1px solid var(--line);background:linear-gradient(135deg,#151b24,#0a1017);border-radius:6px;margin-bottom:30px;}
.review-summary strong {font:clamp(1.8rem,3vw,2.5rem) var(--serif);}.review-summary p {color:var(--muted);line-height:1.8;font-size:.85rem;}.review-breakdown {display:grid;gap:10px;align-content:center;}.review-breakdown a {display:grid;grid-template-columns:55px 1fr 30px;gap:12px;align-items:center;font-size:.8rem;min-height:32px;}.review-breakdown meter {width:100%;height:12px;accent-color:#dfb650;}.review-breakdown meter::-webkit-meter-optimum-value {background:#dfb650;}
.review-filters {display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;}.review-filters a {border:1px solid var(--line);padding:12px 16px;border-radius:4px;font-size:.8rem;min-height:44px;}.review-filters a[aria-current=true] {background:#d1a12a;color:#080d13;border-color:#d1a12a;}.review-filters span {margin-left:6px;}
.review-sort {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px;font-size:.82rem;}.review-sort select {width:auto;margin:0;}.review-sort .button {min-height:44px;}.review-sort>span {margin-left:auto;color:var(--muted);}
.review-directory-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;}.review-directory-grid .review-card {display:block!important;min-width:0;border:1px solid var(--line);padding:26px;background:linear-gradient(135deg,#151b24,#0a1017);border-radius:5px;}.review-directory-grid blockquote {font-size:.92rem;line-height:1.9;}.review-card time {display:block;font-size:.7rem;color:var(--muted);margin-top:8px;}.review-origin {line-height:1.6;}.review-empty {padding:36px;border:1px solid var(--line);}.review-empty h2 {font-size:1.8rem;}.review-empty p {color:var(--muted);line-height:1.8;}.review-pagination {display:flex;align-items:center;gap:20px;margin-top:28px;}.review-invitation .text-link {display:inline-flex;margin:0 12px;}
@media(max-width:900px){.review-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.review-summary{gap:20px;padding:24px;}}
@media(max-width:600px){.review-directory-grid,.review-summary{grid-template-columns:1fr;}.review-sort>span{width:100%;margin:0;}.review-summary{padding:20px;}.review-compose{padding:22px 18px;}.review-pagination{flex-wrap:wrap;}.review-filters a{flex:1 1 auto;text-align:center;}.review-directory-grid .review-card{padding:22px;}.review-sort select{max-width:100%;}}

/* navigation-premium.css */
/* Keep the viewport menu outside any backdrop-filter containing block. */
.site-header,.interior-page .site-header,.home-page .site-header { height:88px; background:linear-gradient(110deg,#090b12,#131a25); border-bottom:1px solid #c89e4b55; box-shadow:0 5px 24px #0003; }
.header-inner { gap:24px; }
.brand-logo { width:172px; }
.mobile-nav-actions { display:none; }
.menu-toggle { border-radius:6px; }
.menu-toggle .menu-lines { width:20px;height:auto;background:none;margin:0;transform:none; }
.menu-lines i { display:block;height:1px;background:var(--gold-bright);margin:5px 0;transition:transform .2s; }
.menu-toggle[aria-expanded=true] .menu-lines { transform:none; }
.menu-toggle[aria-expanded=true] .menu-lines i:first-child { transform:translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded=true] .menu-lines i:last-child { transform:translateY(-3px) rotate(-45deg); }
.menu-label { font:600 .75rem/1 var(--sans);letter-spacing:.06em; }
@media(min-width:901px) {
 .nav-ready .primary-nav,.home-page.nav-ready .primary-nav { gap:clamp(10px,1.5vw,24px); flex-wrap:nowrap; background:none; }
 .nav-ready .primary-nav > a,.home-page.nav-ready .primary-nav > a { font:500 .75rem/1.5 var(--sans); text-transform:none; letter-spacing:.025em; padding:10px 2px; }
 .primary-nav > a::after { bottom:2px; }
 .header-actions .button { border-radius:4px; background:linear-gradient(120deg,#bc8f32,#e5bd62); color:#17130b; box-shadow:0 3px 16px #c89e4b18; }
 .header-actions { gap:20px; }
 .header-actions .phone-link { font-size:.75rem; }
}
@media(min-width:901px) and (max-width:1100px) { .header-inner {gap:14px;} .brand-logo {width:142px;} .header-actions .phone-link {display:none;} .header-actions .button {padding:12px 16px;} }
@media(max-width:900px) {
 .site-header,.site-header.is-scrolled,.interior-page .site-header,.home-page .site-header {height:76px;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none;}
 .header-inner {gap:14px;}
 .brand-logo,.home-page .brand-logo {width:146px;}
 .nav-ready .menu-toggle {display:flex;align-items:center;justify-content:center;gap:10px;width:96px;min-height:46px;background:#1c202a;border-color:#c89e4b88;position:relative;}
 .nav-ready .primary-nav {position:fixed;inset:76px 0 0;height:calc(100dvh - 76px);width:100%;padding:24px max(24px,calc((100vw - 600px)/2)) max(24px,env(safe-area-inset-bottom));align-items:stretch;justify-content:flex-start;gap:0;background:radial-gradient(ellipse at top right,#33303a66,transparent 65%),#0c111b;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #c89e4b22;}
 .nav-ready .primary-nav > a,.home-page.nav-ready .primary-nav > a {flex-shrink:0;display:flex;justify-content:space-between;width:100%;min-height:58px;padding:10px 4px;border-bottom:1px solid #c89e4b28;font:400 clamp(1.5rem,5vw,2rem)/1.2 var(--serif);text-transform:none;letter-spacing:0;}
 .primary-nav > a::after {content:'';position:static;width:9px;height:9px;background:none;border:solid #c89e4b;border-width:1.5px 1.5px 0 0;transform:rotate(45deg);margin-right:5px;flex-shrink:0;}
 .primary-nav > a[aria-current=page] {color:var(--gold-bright);background:linear-gradient(90deg,#c89e4b12,transparent);}
 .mobile-nav-actions {display:grid;gap:12px;flex-shrink:0;padding-top:26px;}
 .mobile-nav-actions .eyebrow {margin:0;}
 .nav-ready .mobile-nav-actions .button {font:600 .8rem/1.4 var(--sans);min-height:50px;border-radius:5px;}
 .nav-ready .mobile-nav-actions .mobile-nav-phone {font:500 1rem/1.5 var(--sans);justify-content:center;color:var(--gold-bright);min-height:44px;}
 .mobile-nav-actions a::after {display:none;}
 body.nav-open {overflow:hidden;}
}
@media(prefers-reduced-motion:reduce) { .menu-lines i {transition:none;} }
.nav-ready .menu-toggle[aria-expanded=true] .menu-lines {transform:none;}
/* Stronger navigation and accessible service disclosure. */
.site-header .services-dropdown {position:relative;flex-shrink:0;}
.site-header .services-dropdown summary {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;list-style:none;color:#eee9df;}
.site-header .services-dropdown summary::-webkit-details-marker {display:none;}
.services-dropdown[open] summary {color:var(--gold-bright);}
.services-dropdown[open] summary svg {transform:rotate(180deg);}
.site-header .services-submenu {padding:18px;background:linear-gradient(135deg,#182330,#0b111b);border:1px solid #c89e4b66;border-radius:10px;box-shadow:0 18px 42px #0007;}
.site-header .submenu-label {display:block;color:#c9a75f;font:600 .59rem/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin:0 8px 10px;}
.site-header .primary-nav .services-submenu a {display:flex;justify-content:space-between;gap:16px;min-height:46px;padding:10px 8px;font:600 .8rem/1.4 var(--sans);letter-spacing:0;text-transform:none;border-radius:4px;}
.site-header .services-submenu a::after {display:none;}
.site-header .services-submenu a:hover {background:#c89e4b14;}
.site-header .services-submenu a span {color:#d4b571;}
.site-header .services-submenu .submenu-all {border-top:1px solid #c89e4b44;margin-top:8px;padding-top:16px;color:#e2bc65;}
.site-header :is(a,summary):focus-visible {outline:2px solid #e2bc65;outline-offset:4px;}
@media(min-width:901px) {
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font:700 .8rem/1.5 var(--sans);letter-spacing:.025em;text-transform:none;}
 .site-header .services-submenu {position:absolute;top:calc(100% + 12px);left:-18px;width:290px;}
 .site-header .header-actions .button {font-weight:750;min-height:46px;border:1px solid #f0d189;box-shadow:0 4px 20px #c89e4b26;}
 .site-header .header-actions .phone-link {font-weight:650;white-space:nowrap;}
}
@media(max-width:900px) {
 .site-header .services-dropdown {border-bottom:1px solid #c89e4b28;}
 .site-header .services-dropdown summary,.home-page.nav-ready .site-header .primary-nav > a,.nav-ready .site-header .primary-nav > a {font:600 1.4rem/1.3 var(--sans);min-height:58px;padding:10px 4px;}
 .site-header .services-submenu {margin:0 0 16px;padding:12px;box-shadow:none;}
 .site-header .menu-toggle {background:linear-gradient(135deg,#d8ad51,#b78930);color:#11151c;border-color:#edca7c;box-shadow:0 3px 14px #c89e4b22;}
 .site-header .menu-lines i {background:#11151c;height:2px;}
 .site-header .menu-label {font-weight:750;}
}
.mobile-header-call {display:none;}
@media(max-width:900px) {
 .site-header .header-inner,.home-page .site-header .header-inner {display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;width:calc(100% - 32px);height:100%;}
 .site-header .brand {grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;justify-content:center;min-width:0;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:164px;max-width:100%;max-height:68px;object-fit:contain;}
 .nav-ready .site-header .menu-toggle {grid-column:1;grid-row:1;width:44px;height:44px;min-height:44px;padding:0;border-radius:10px;}
 .site-header .menu-label {display:none;}
 .site-header .mobile-header-call {display:grid;place-items:center;grid-column:3;grid-row:1;justify-self:end;width:44px;height:44px;border:1px solid #c89e4b77;border-radius:10px;color:#e3bd66;background:#19202b;}
}
/* Centered desktop brand, balanced by navigation and booking actions. */
@media(min-width:901px) {
 .site-header .header-inner,.home-page .site-header .header-inner {display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:20px;width:calc(100% - 48px);max-width:1440px;height:100%;}
 .site-header .brand {grid-column:2;grid-row:1;justify-self:center;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:172px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {grid-column:1;grid-row:1;justify-self:start;gap:clamp(10px,1.2vw,18px);}
 .site-header .header-actions {grid-column:3;grid-row:1;justify-self:end;gap:20px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.75rem;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:12px;width:calc(100% - 32px);}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:140px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:8px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.67rem;}
 .site-header .header-actions .phone-link {display:none;}
}
/* Keep the header groups close to the centered logo. */
@media(min-width:901px) {
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:end;}
 .site-header .header-actions {justify-self:start;}
 .site-header .header-inner,.home-page .site-header .header-inner {column-gap:28px;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {column-gap:16px;}
}
/* Enlarge the visible brand by fitting out the artwork's empty vertical margins. */
.site-header .brand-logo,.home-page .site-header .brand-logo {aspect-ratio:auto;object-fit:cover;object-position:center;filter:drop-shadow(0 1px 5px #b78b3026);}
@media(min-width:1151px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);column-gap:20px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:210px;height:88px;max-height:none;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 174px minmax(0,1fr);column-gap:12px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:174px;height:76px;max-height:none;}
}
@media(max-width:900px) {
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:185px;height:76px;max-height:76px;}
}
/* Use the full header width around the enlarged centered brand. */
@media(min-width:901px){
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:start;}
 .site-header .header-actions {justify-self:end;}
}
/* Reference-inspired black and gold header frame. */
.site-header,.interior-page .site-header,.home-page .site-header {
 background:#090c10;border-top:1px solid #d8b864;border-bottom:1px solid #b88b42;
 box-shadow:0 5px 22px #0007,inset 0 1px 0 #fff0b929;
}
@media(min-width:901px) {
 .site-header::before,.site-header::after {content:'';position:absolute;top:0;bottom:0;width:34px;pointer-events:none;background:linear-gradient(145deg,#262526,#0c0d0f);z-index:0;}
 .site-header::before {left:-20px;transform:skewX(26deg);border-right:2px solid #c7a259;}
 .site-header::after {right:-20px;transform:skewX(-26deg);border-left:2px solid #c7a259;}
 .site-header .header-inner,.home-page .site-header .header-inner {position:relative;z-index:1;width:calc(100% - 88px);max-width:none;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);column-gap:22px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:230px;height:88px;object-fit:cover;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font:650 .72rem/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:clamp(12px,1.55vw,28px);}
 .site-header .primary-nav > a::after {height:2px;bottom:2px;}
 .site-header .header-actions {gap:22px;}
 .site-header .header-actions .phone-link {font:500 1.1rem/1.4 var(--serif);padding-right:22px;border-right:1px solid #b5aa8e66;gap:12px;}
 .site-header .header-actions .phone-link svg {width:20px;height:20px;color:#dfb650;}
 .site-header .header-actions .button {min-width:112px;min-height:46px;padding:12px 18px;font:600 .85rem/1.3 var(--serif);letter-spacing:.035em;border:1px solid #e3c173;background:linear-gradient(145deg,#e1ba60,#b68b36);box-shadow:inset 0 1px 0 #ffe7a755,0 3px 10px #0004;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header .header-inner,.home-page .site-header .header-inner {width:calc(100% - 48px);grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);column-gap:14px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:180px;height:82px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:10px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.64rem;letter-spacing:.025em;}
 .site-header .header-actions .phone-link {display:none;}
}
@media(max-width:900px){.site-header,.home-page .site-header,.interior-page .site-header{background:#090c10;}}
@media(min-width:1201px){.site-header .brand-logo,.home-page .site-header .brand-logo{width:210px;height:88px;}}
/* Float the homepage header slightly over the continuous hero image. */
@media(min-width:901px) {
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:start;transform:translateX(18px);}
 .site-header .header-actions {transform:translateX(-18px);}
 .home-page .site-header {top:24px;}
 .home-page .hero .hero-image-primary {top:0;height:100%;}
 .home-page .hero .hero-image-secondary {top:0;}
 .home-page .hero::before {top:0;}
 .home-page .hero .hero-layout {padding-top:160px;}
}
@media(min-width:901px) and (max-width:1200px){
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {transform:translateX(6px);}
 .site-header .header-actions {transform:translateX(-6px);}
}
@media(min-width:901px){.home-page .site-header.is-scrolled{top:0;}}
/* Extend the floating header treatment to interior pages. */
@media(min-width:901px) {
 body:not(.home-page) .site-header {top:24px;}
 body:not(.home-page) .site-header.is-scrolled {top:0;}
 body:not(.home-page) .page-heading.contact-image-heading {margin-top:0;padding:0;display:grid;height:auto;min-height:0;max-height:none;}
 body:not(.home-page) .page-heading.contact-image-heading .contact-header-image {position:relative;inset:auto;grid-area:1/1;display:block;width:100%;height:auto;object-fit:contain;align-self:end;}
 body:not(.home-page) .page-heading.contact-image-heading .contact-header-copy {position:relative;grid-area:1/1;align-self:start;padding-top:138px;padding-bottom:32px;z-index:1;}
 body:not(.home-page) .page-heading:not(.contact-image-heading) {padding-top:150px;}
}
/* Let the globe rise just above the desktop header frame. */
@media(min-width:901px) {
 .site-header .brand {position:relative;z-index:2;transform:translateY(-7px);}
 .site-header .brand-logo,.home-page .site-header .brand-logo {height:auto;max-height:none;object-fit:contain;}
}
@media(min-width:901px){.site-header.is-scrolled .brand{transform:none;}}
/* Position the full logo independently of the navigation row height. */
@media(min-width:901px) {
 .site-header .brand {position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 12px));}
 .site-header.is-scrolled .brand {transform:translate(-50%,-50%);}
}
@media(min-width:901px){.site-header .brand{grid-column:auto;grid-row:auto;justify-self:auto;}}
/* Break the top rule around the raised globe, preserving the hero behind it. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  border-top-color:transparent;
  background-image:linear-gradient(#d8b864,#d8b864),linear-gradient(#d8b864,#d8b864);
  background-size:calc(50% - 112px) 1px,calc(50% + 20px) 1px;
  background-position:left top,right top;background-repeat:no-repeat;background-origin:border-box;
  box-shadow:0 5px 22px #0007;
 }
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 98px) 1px,calc(50% + 12px) 1px;}
}
/* Equal breathing room on both sides of the centered logo. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 120px) 1px,calc(50% - 120px) 1px;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 105px) 1px,calc(50% - 105px) 1px;}
}
/* Keep the border break local to the globe, with a small margin either side. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 98px) 1px,calc(50% + 20px) 1px;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 86px) 1px,calc(50% + 15px) 1px;}
}
/* End the bottom rule at the angled frame instead of the screen edges. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  border-bottom-color:transparent;
  background-image:linear-gradient(#d8b864,#d8b864),linear-gradient(#d8b864,#d8b864),linear-gradient(#b88b42,#b88b42);
  background-size:calc(50% - 98px) 1px,calc(50% + 20px) 1px,calc(100% - 72px) 1px;
  background-position:left top,right top,center bottom;
 }
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 86px) 1px,calc(50% + 15px) 1px,calc(100% - 72px) 1px;}
}
/* Transparent corners outside the angled desktop header silhouette. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;
 }
 .site-header::before {
  inset:0;left:0;right:0;width:auto;height:auto;transform:none;border:0;z-index:0;
  background:#090c10;clip-path:polygon(0 0,100% 0,calc(100% - 36px) 100%,36px 100%);
 }
 .site-header::after {
  inset:0;left:0;right:0;width:auto;height:auto;transform:none;border:0;z-index:0;
  background:linear-gradient(67.7deg,transparent calc(50% - 1px),#c7a259 calc(50% - 1px),#c7a259 calc(50% + 1px),transparent calc(50% + 1px)) left center/36px 100% no-repeat,
   linear-gradient(-67.7deg,transparent calc(50% - 1px),#c7a259 calc(50% - 1px),#c7a259 calc(50% + 1px),transparent calc(50% + 1px)) right center/36px 100% no-repeat;
 }
}
@media(min-width:901px){.site-header{isolation:isolate;}.site-header::before{z-index:-1;}}
/* A breathing button and outward gold ripple draw attention to calling. */
.site-header .header-actions .phone-link,
.site-header .mobile-header-call {
 color:#ffe4a0;
 border:1px solid #d6ac55;
 border-radius:12px;
 background:linear-gradient(135deg,#302716,#15130f);
 box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 0 #dfb65000;
 animation:header-phone-pulse 1.9s ease-in-out infinite;
 transform-origin:center;
 transition:background .2s ease,color .2s ease;
}
.site-header .header-actions .phone-link {
 min-height:46px;padding:10px 14px;gap:9px;
 font:650 .95rem/1.4 var(--sans);letter-spacing:.015em;
}
.site-header .header-actions .phone-link svg {color:currentColor;}
.site-header .header-actions .phone-link:hover,
.site-header .mobile-header-call:hover {
 color:#fff2ca;background:linear-gradient(135deg,#49391b,#221b10);
 box-shadow:0 0 18px #d9ad4938;
}
.site-header .header-actions .phone-link:focus-visible,
.site-header .mobile-header-call:focus-visible {
 outline:2px solid #fff0bc;outline-offset:4px;animation:none;
}
@keyframes header-phone-pulse {
 0% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 0 #dfb65080,0 0 8px #dfb65020;}
 35% {transform:scale(1.055);border-color:#ffe2a0;box-shadow:inset 0 1px 0 #fff1c545,0 0 0 5px #dfb65040,0 0 22px #dfb65055;}
 75% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 11px #dfb65000,0 0 8px #dfb65020;}
 100% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 11px #dfb65000,0 0 8px #dfb65020;}
}
@media(prefers-reduced-motion:reduce) {
 .site-header .header-actions .phone-link,
 .site-header .mobile-header-call {animation:none;transition:none;}
}

/* forms.css */
.request-contact-fields { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:1rem; }.request-message { grid-column:1/-1; }.booking-panel textarea { width:100%; color:var(--ivory); background:var(--ink); border:1px solid var(--line); padding:.75rem; font:inherit; }.hp-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.booking-panel [role=status] { grid-column:1/-1; }
.request-expanded { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); grid-column:1/-1; gap:1rem; }.home-page.nav-ready .request-expanded:not(.is-open) { display:none; }

/* Address suggestions and coverage information. */
.location-field{position:relative;min-width:0}
.location-options{position:absolute;top:100%;left:0;right:0;z-index:40;max-height:280px;overflow:auto;background:#151d23;border:1px solid #d1a12a;border-radius:6px;box-shadow:0 12px 32px #0009;color:#fff}
.location-options[hidden]{display:none}
.location-options [role=option]{padding:12px 14px;cursor:pointer;font-size:14px;line-height:1.5;white-space:normal}
.location-options [role=option]:hover,.location-options [aria-selected=true]{background:#334047;color:#ffe2a1}
.booking-location-info{grid-column:1/-1;font-size:14px;line-height:1.6;min-width:0}
.booking-location-info p{font-size:14px;line-height:1.6}
.booking-location-info summary{cursor:pointer;color:#e5bc61;padding:12px 0}
.coverage-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.coverage-groups h3{font-size:17px;margin:12px 0}
.coverage-groups ul{padding-left:20px}
.booking-panel .request-message input{width:100%;min-width:0;background:var(--ink);color:var(--ivory);padding:.75rem;border:1px solid var(--line);font:inherit}

/* Compact, readable address suggestions with touch-friendly options. */
.location-options{max-height:240px;overscroll-behavior:contain;text-transform:none;letter-spacing:normal;font-weight:400;text-align:left}
.location-options [role=option]{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:9px 11px;font-size:13px;line-height:1.4;text-transform:none;letter-spacing:normal;font-weight:400;overflow-wrap:anywhere}
.location-options [role=option]+[role=option]{border-top:1px solid #ffffff12}
.booking-panel input[data-location-input]{text-transform:none;letter-spacing:normal;font-weight:400}
.booking-location-info,.booking-location-info p,.coverage-groups ul{font-size:13px;line-height:1.5;text-transform:none;letter-spacing:normal;font-weight:400}
.booking-location-info p{margin:6px 0}
.booking-location-info summary{font-size:13px;min-height:44px;box-sizing:border-box;padding:12px 0}
.coverage-groups{gap:12px}
.coverage-groups h3{font-size:15px;margin:8px 0}
.coverage-groups ul{margin:6px 0;padding-left:18px}
@media(max-width:600px){
 .location-options{max-height:200px;max-height:min(200px,35dvh)}
 .location-options [role=option]{font-size:13px;padding:9px 10px}
 .booking-location-info,.booking-location-info p,.coverage-groups ul{font-size:12px;line-height:1.5}
 .coverage-groups{grid-template-columns:1fr;gap:6px}
 .booking-panel input[data-location-input]{font-size:16px!important;min-width:0;width:100%;box-sizing:border-box}
}

/* mobile-refinements.css */
@media (max-width:900px){
/* Mobile-only refinements. Desktop rules and layout are deliberately untouched. */
@media (max-width:900px) {
 html {scroll-padding-top:92px;}
 main [id] {scroll-margin-top:92px;}
 main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),
 .home-page .hero .field input,.review-sort select {font-size:16px!important;}
 main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {min-height:48px;min-width:0;max-width:100%;}
 main textarea {min-height:140px;}
 main :is(.button,.text-link,summary,button),.home-page .vehicle-card > .text-link {min-height:44px;}
 .home-page .vehicle-card > .text-link {font-size:.75rem;line-height:1.5;}
 .home-page .vehicle-card :is(dt,dd) {font-size:.75rem;}
 .home-page .vehicle-card h3 {font-size:1rem;}
 .home-page .vehicle-card h3 a {display:inline-flex;align-items:center;min-height:44px;}
 .home-page .hero .booking-panel {gap:16px;}
 .home-page .hero .field-control {min-height:50px;}
 .home-page .hero .field > span:first-child {font-size:.72rem;line-height:1.5;}
 .home-page .hero .field-control input {width:100%;}
 .home-page .hero-intro {font-size:.95rem;line-height:1.75;}
 .home-page .hero .button-row :is(.button,.text-link) {font-size:.72rem;min-height:48px;}
 .home-page .trust-strip li {font-size:.65rem;line-height:1.6;}
 .home-page :is(.standard-copy,.home-introduction-body,.home-airport-copy,.coverage-copy) p {font-size:.94rem;line-height:1.8;}
 .home-page .service-item h3 {font-size:1rem;line-height:1.4;}
 .home-page .service-item p {font-size:.875rem;line-height:1.75;}
 .home-page .home-journal .journal-card h3 {font-size:1.35rem;line-height:1.35;}
 .home-page .home-journal .journal-card p {font-size:.9rem;line-height:1.8;}
 .home-page .airport-list dd {font-size:.75rem;line-height:1.5;}
 .home-page .airport-list dt {font-size:1rem;}
 .footer-column a,.footer-bottom a {min-height:44px;display:inline-flex;align-items:center;line-height:1.6;}
 .footer-column :is(p,address),.footer-brand p {font-size:.85rem;line-height:1.8;}
 .footer-column a {font-size:.82rem;}
 .footer-social-links a {width:44px;height:44px;min-width:44px;}
 .article-body {overflow-wrap:break-word;}
 .article-body :is(p,li),.page-content.prose :is(p,li) {font-size:1rem;line-height:1.85;}
 .journal-card .journal-topic,.journal-card .journal-card-meta {font-size:.75rem;}
 .review-sort {gap:12px;}
 .review-sort select {min-height:48px;}
}
@media (max-width:600px) {
 .home-page .hero .booking-panel {grid-template-columns:minmax(0,1fr);padding:18px;}
 .home-page .hero .field {grid-column:1/-1;}
 .home-page .hero .hero-copy {max-width:100%;}
 .home-page h1 {font-size:clamp(2.8rem,12vw,3.6rem);}
 .home-page .service-list {grid-template-columns:1fr;gap:16px;}
 .home-page .service-item,.home-page .service-item:last-child {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-column:auto;min-width:0;}
 .home-page .service-item img,.home-page .service-item:last-child img {height:100%;min-height:180px;width:100%;aspect-ratio:auto;object-fit:cover;}
 .home-page .service-item p {margin-bottom:12px;}
 .home-page .fleet-grid {grid-template-columns:minmax(0,1fr);gap:18px;}
 .home-page .vehicle-card {padding:16px;}
 .home-page .vehicle-photo {aspect-ratio:1.8;margin:0 0 12px;}
 .home-page .vehicle-card dl {gap:10px 20px;}
 .home-page .vehicle-card h3 {font-size:1.12rem;margin-bottom:4px;}
 .home-page .vehicle-card > .text-link {margin-top:12px;}
 .home-page .standard-grid .standards {gap:0;}
 .home-page .standards strong {font-size:.95rem;line-height:1.5;}
 .home-page .standards span {font-size:.85rem;line-height:1.65;}
 .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;}
 .footer-grid > .footer-brand,.footer-grid > .footer-column:nth-child(2) {grid-column:1/-1;}
 .footer-column,.footer-brand {min-width:0;}
 .footer-column a {overflow-wrap:anywhere;}
 .footer-bottom {gap:10px;}
 .footer-bottom nav {gap:4px 18px;}
 .review-stars {flex-wrap:nowrap;gap:8px;}
 .review-stars label {width:44px;height:48px;}
 .fleet-toolbar {gap:16px;}
 .fleet-filters {gap:8px;}
 .fleet-filters button {padding:10px 12px;font-size:.8rem;}
}
@media (max-width:360px) {
 .home-page .hero .button-row {display:grid;grid-template-columns:1fr;gap:10px;}
 .home-page .hero .button-row :is(.button,.text-link) {justify-content:center;}
 .home-page .service-item,.home-page .service-item:last-child {grid-template-columns:1fr;}
 .home-page .service-item img,.home-page .service-item:last-child img {aspect-ratio:16/9;height:auto;min-height:0;}
 .review-stars {gap:5px;}
}
@media (min-width:361px) and (max-width:600px) {
 .home-page .service-item > img {grid-column:1;grid-row:1 / span 2;align-self:stretch;}
 .home-page .service-item > div {grid-column:2;grid-row:1;}
 .home-page .service-item > a {grid-column:2;grid-row:2;margin:0 10px 10px;}
}
@media (max-width:360px) {
 .home-page .service-item > a {grid-column:1;grid-row:auto;}
}
@media (max-width:900px) {
 /* Keep mobile content visible without waiting for scroll-reveal observers. */
 .reveal-pending {opacity:1;transform:none;}
}
/* Mobile hero: image-led composition with an inset editorial card. */
@media (max-width:900px) {
 .home-page .hero {--mobile-hero-image:clamp(240px,58vw,380px);background:linear-gradient(160deg,#111a25,#080b11 70%);}
 .home-page .hero .hero-image {top:76px;height:var(--mobile-hero-image);width:100%;object-fit:cover;object-position:62% center;mask-image:none;}
 .home-page .hero .hero-image-secondary {height:var(--mobile-hero-image);object-fit:cover;object-position:60% center;}
 .home-page .hero .hero-layout {width:calc(100% - 32px);padding-top:calc(76px + var(--mobile-hero-image) - 12px);padding-bottom:12px;}
 .home-page .hero .hero-slides {position:relative;z-index:1;border:1px solid #b99a5659;border-radius:16px;background:linear-gradient(140deg,#151c25f7,#090e16);box-shadow:0 12px 30px #0005;overflow:hidden;}
 .home-page .hero .hero-copy {padding:24px 22px;min-width:0;gap:0;}
 .home-page .hero .hero-context {font-size:.62rem;letter-spacing:.13em;line-height:1.5;margin-bottom:16px;}
 .home-page .hero .hero-slide-title {font-size:clamp(2.15rem,8.5vw,3.5rem);line-height:1.08;max-width:none;margin:0 0 16px;}
 .home-page .hero .hero-intro {font-size:.87rem;line-height:1.65;margin:0 0 20px;max-width:42ch;}
 .home-page .hero .hero-copy > .eyebrow {font-size:.6rem;margin-bottom:12px;}
 .home-page .hero .button-row {display:grid;grid-template-columns:1fr;gap:8px;margin:0;width:100%;}
 .home-page .hero .button-row :is(.button,.text-link) {justify-content:center;width:100%;min-height:46px;padding:12px 10px;font-size:.65rem;border-radius:5px;}
 .home-page .hero .hero-slide-controls {position:absolute;z-index:2;top:calc(76px + var(--mobile-hero-image) - 72px);right:16px;margin:0;gap:0;padding:3px;border-radius:30px;box-shadow:0 4px 15px #0005;background:#080e18ee;}
 .home-page .hero .hero-slide-controls button {min-width:40px;min-height:44px;font-size:.72rem;}
 .home-page .hero .hero-slide-controls [data-hero-pause] {padding-inline:10px;}
 .home-page .hero .hero-slide-dots {gap:0;}
 .home-page .hero .trust-strip {margin:18px 0;padding:16px 0;gap:14px 0;}
 .home-page .hero .trust-strip li {font-size:.58rem;gap:7px;padding-inline:8px;}
 .home-page .hero .trust-strip li::before {width:22px;height:22px;flex-basis:22px;}
 .home-page .hero .booking-panel {border-radius:12px;margin-top:0;}
}

/* Thumb-friendly contact actions and calmer phone layouts. */
.mobile-quick-actions {display:none;}
@media (max-width:900px) {
 body {padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));}
 .mobile-quick-actions {position:fixed;z-index:45;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:10px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#090e17f5;border-top:1px solid #d1a12a55;box-shadow:0 -6px 24px #0005;backdrop-filter:blur(14px);}
 .mobile-quick-actions a {display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:9px;text-decoration:none;font:700 .85rem/1.3 var(--sans);}
 .mobile-quick-call {border:1px solid #d1a12a88;color:#f0d18c;background:#171d26;}
 .mobile-quick-book {background:linear-gradient(135deg,#e4bd62,#c49633);color:#15130e;}
 .mobile-quick-actions a:focus-visible {outline:2px solid #fff0bc;outline-offset:3px;}
 body.nav-open .mobile-quick-actions,body:has(main input:focus) .mobile-quick-actions,body:has(main textarea:focus) .mobile-quick-actions,body:has(main select:focus) .mobile-quick-actions {visibility:hidden;pointer-events:none;}
 .booking-panel > .booking-submit {order:20;}
 .booking-panel > [role=status] {order:21;}
 .booking-panel .request-expanded {min-width:0;}
 .booking-panel .field-control {min-width:0;}
 .booking-panel :is(input,select,textarea) {scroll-margin-block:110px;}
 #request-form,#reserve {scroll-margin-top:96px;}
 .home-page .hero {--mobile-hero-image:clamp(200px,52vw,330px);}
 .home-page .hero .hero-copy {padding:20px;}
 .home-page .hero .hero-slide-title {font-size:clamp(2rem,8.2vw,3.2rem);margin-bottom:12px;}
 .home-page .hero .hero-intro {font-size:.92rem;line-height:1.65;margin-bottom:16px;}
 .home-page .hero .hero-context {font-size:.65rem;margin-bottom:12px;}
 .home-page .hero .button-row :is(.button,.text-link) {font-size:.73rem;}
 .home-page .hero .trust-strip li {font-size:.66rem;}
 .home-page .hero .hero-slide-controls {top:calc(76px + var(--mobile-hero-image) - 64px);}
}
@media (max-width:600px) {
 .home-page .service-item,.home-page .service-item:last-child {display:flex;flex-direction:column;border:1px solid #b99a5640;border-radius:12px;overflow:hidden;background:#111720;}
 .home-page .service-item > img,.home-page .service-item:last-child > img {width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;}
 .home-page .service-item > div {padding:18px 18px 8px;}
 .home-page .service-item h3 {font-size:1.15rem;}
 .home-page .service-item p {font-size:.94rem;line-height:1.7;}
 .home-page .service-item > a {margin:0 18px 12px;align-self:flex-start;}
 .home-page .hero .trust-strip {margin:14px 0;padding:14px 0;}
 .reservation-form,.contact-form {border-radius:12px;padding:20px;}
 .request-expanded {grid-template-columns:minmax(0,1fr);}
 .footer-bottom {padding-bottom:18px;}
}

}
/* analytics.css */
.analytics-consent{position:fixed;z-index:1100;left:16px;right:16px;bottom:84px;max-width:680px;margin:auto;padding:18px;background:#11151c;color:#f5f3ef;border:1px solid #caa34b;border-radius:12px;box-shadow:0 8px 30px #0008;font:15px/1.5 sans-serif}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0 0 12px}.analytics-consent a{display:inline-block;color:#e4c36e;margin:6px 14px 6px 0}.analytics-consent button,.analytics-preferences{font:inherit;cursor:pointer;padding:10px 14px;border:1px solid #caa34b;border-radius:6px;background:#11151c;color:#f5f3ef;margin:4px}.analytics-consent button:focus-visible,.analytics-preferences:focus-visible{outline:3px solid #e4c36e;outline-offset:3px}.analytics-preferences{display:block;margin:16px auto 80px;font:13px sans-serif}

/* quick-reservation.css */
.quick-reservation{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #c89e4b;border-radius:16px;padding:30px;background:#111722;color:#f5f0e6;box-shadow:0 24px 80px #0008;font:16px/1.5 var(--sans,sans-serif)}.quick-reservation::backdrop{background:#0009}.quick-reservation:not([open]){display:none}.quick-reservation h2{font:400 2rem/1.2 var(--serif,serif);margin:8px 0 12px;color:#f5f0e6}.quick-reservation p{margin:0 0 18px}.quick-reservation .quick-eyebrow{color:#e4bd62;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;padding-right:30px}.quick-reservation label{display:block;font-size:.83rem;margin:12px 0 6px;color:#f5f0e6}.quick-reservation input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #677080;border-radius:6px;background:#1c2431;color:#fff;font:16px var(--sans,sans-serif);color-scheme:dark}.quick-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.quick-row>div{min-width:0}.quick-reservation .quick-note{font-size:.75rem;color:#c5cad2;margin:10px 0}.quick-close,.quick-prompt-dismiss{position:absolute;right:10px;top:8px;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;font:28px/1 sans-serif;cursor:pointer}.quick-continue{display:block;width:100%;min-height:50px;margin-top:20px;border:0;border-radius:7px;background:linear-gradient(135deg,#e4bd62,#c49633);color:#15130e;font:700 .9rem var(--sans,sans-serif);cursor:pointer}.quick-reservation :focus-visible,.quick-prompt :focus-visible{outline:2px solid #f5d889;outline-offset:3px}.quick-prompt{position:fixed;z-index:46;bottom:24px;right:20px;box-sizing:border-box;max-width:calc(100% - 32px);padding:18px 58px 18px 20px;border:1px solid #c89e4b;border-radius:12px;background:#111722;color:#f5f0e6;box-shadow:0 6px 24px #0005;font:15px/1.5 var(--sans,sans-serif)}.quick-prompt[hidden]{display:none}.quick-prompt p{margin:0 0 6px}.quick-prompt a{color:#e4bd62;font-weight:600}.quick-prompt-dismiss{top:6px;right:6px}.quick-prompt:has(+*){isolation:isolate}body:has(.quick-reservation[open]) .mobile-quick-actions{visibility:hidden}
@media(max-width:900px){.quick-prompt{bottom:calc(86px + env(safe-area-inset-bottom,0px));right:16px}.quick-reservation{padding:24px 20px}}
@media(max-width:380px){.quick-row{grid-template-columns:minmax(0,1fr)}.quick-reservation h2{font-size:1.75rem}}

