
:root{
  --ink:#0A0A0B; --ink-2:#111113; --ink-3:#18181B; --line:#2A2A2E; --line-soft:#1E1E21;
  --text:#F4F1EA; --text-2:#C9C4BA; --muted:#9C978E;
  --gold:#D9A92B; --gold-hi:#F5C84C; --gold-deep:#8A6410; --gold-grad:linear-gradient(180deg,#F8D466 0%,#E0AE2E 55%,#B8861A 100%);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:Manrope,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:var(--gold-hi);text-decoration:none}
a:hover{color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-hi);font-weight:800;text-shadow:0 0 12px rgba(245,200,76,.25)}
.sec-head h2::after,.band-copy h2::after,.booking-copy h2::after,.area h2::after,.cta h2::after{content:"";display:block;width:84px;height:4px;margin-top:18px;background:var(--gold-grad);border-radius:2px}
.cta h2::after{margin-left:auto;margin-right:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;line-height:1.02}
h2{font-size:clamp(38px,5vw,56px)}
.lede{color:var(--text-2);font-size:18px;max-width:560px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:3px;font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold);transition:background .2s,color .2s}
.btn-gold{background:var(--gold-grad);color:#111;border-color:#E0AE2E;box-shadow:0 4px 18px rgba(224,174,46,.35)}
.btn-gold:hover{background:#F8D466;color:#111}
.btn-ghost{background:transparent;color:var(--gold-hi);border-width:2px}
.btn-ghost:hover{background:var(--gold);color:var(--ink)}
section{scroll-margin-top:110px}

/* header: brand band */
.brand{background:#000;text-align:center;padding:22px 16px 18px}
.brand a{display:inline-flex;flex-direction:column;align-items:center;color:var(--text);line-height:1}
.brand .mark{display:flex;align-items:center;gap:18px}
.brand .mono{font-family:var(--serif);font-weight:700;font-size:68px;letter-spacing:.06em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(245,200,76,.35))}
.brand .rule{width:2px;height:58px;background:var(--gold-grad)}
.brand .words{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.brand .words b{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:.3em;color:#fff;-webkit-text-stroke:.7px #fff}
.brand .words i{font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.4em;color:#E9E4DA;-webkit-text-stroke:.3px #E9E4DA}
.brand .tagline{margin-top:16px;font-family:var(--serif);font-weight:700;font-size:22px;-webkit-text-stroke:.4px #FFE08A;letter-spacing:.08em;text-transform:uppercase;color:#FFE08A;text-shadow:0 0 6px rgba(245,200,76,.95),0 0 18px rgba(224,174,46,.7)}
/* header: white nav bar */
header.nav{position:sticky;top:0;z-index:50;background:#fff;color:#111;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);box-shadow:0 2px 14px rgba(0,0,0,.25)}
header.nav .wrap{display:flex;align-items:center;justify-content:center;gap:28px;min-height:94px;max-width:1440px}
nav.links{display:flex;align-items:center}
nav.links a{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.05em;color:#000;-webkit-text-stroke:.6px #000;padding:6px 22px;border-right:3px solid var(--gold);line-height:1.1}
nav.links a:last-child{border-right:0}
nav.links a:hover{color:var(--gold-deep)}
.nav-book{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;font-family:var(--serif);font-weight:700;-webkit-text-stroke:.5px #111;font-size:22px;letter-spacing:.08em;color:#111;background:var(--gold-grad);border:3px solid #111;outline:2px solid #fff;outline-offset:-7px;box-shadow:0 4px 14px rgba(224,174,46,.6)}
.nav-book:hover{color:#000;background:#F8D466}
.nav-phone{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-weight:700;-webkit-text-stroke:.3px currentColor;font-size:19px;line-height:1.2;color:#111;text-align:center}
.nav-phone .lbl{color:var(--gold-deep)}
.nav-phone a{color:#111;font-size:21px}
.nav-phone a:hover{color:#8a6d2f}
.menu-btn{display:none;width:48px;height:48px;background:none;border:1px solid #ccc;border-radius:3px;color:#111;cursor:pointer}
/* ticker */
.ticker{background:#000;border-bottom:2px solid var(--gold);overflow:hidden;white-space:nowrap}
.ticker .track{display:inline-flex;animation:tick 48s linear infinite}
.ticker span{font-family:var(--serif);font-weight:700;-webkit-text-stroke:.35px currentColor;font-size:17px;letter-spacing:.06em;color:#fff;padding:13px 18px;border-right:3px solid var(--gold);text-transform:uppercase}
.ticker span.air{color:var(--gold-hi)}
.ticker:hover .track{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:1180px){
  header.nav .wrap{justify-content:space-between;min-height:76px;gap:14px}
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-top:1px solid #eee;box-shadow:0 12px 20px rgba(0,0,0,.2)}
  nav.links.open{display:flex}
  nav.links a{border-right:0;border-bottom:1px solid #eee;padding:18px 24px}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;order:-1}
  .nav-book{min-height:48px;font-size:17px;padding:0 16px}
  .nav-phone{font-size:15px}
}
@media (max-width:600px){
  .brand{padding:16px 12px 14px}
  .brand .mono{font-size:44px}.brand .rule{height:42px}
  .brand .words b{font-size:17px;letter-spacing:.24em}.brand .words i{font-size:11px;letter-spacing:.3em}
  .brand .tagline{font-size:14px;margin-top:12px}
  .nav-phone .lbl{display:none}
  .nav-book{font-size:15px;padding:0 12px}
}

/* hero video */
.hero{position:relative;height:min(82vh,860px);min-height:460px;overflow:hidden;isolation:isolate;background:#000}
@media (max-width:760px){.hero{height:calc(100svh - 150px);min-height:520px;max-height:900px}.hero video,.hero .poster{object-position:30% top}.hero .wrap{gap:12px;padding-bottom:24px}.hero .eyebrow{display:none}.hero h1{font-size:46px}.hero .row{flex-wrap:nowrap;gap:8px}.hero .row .btn{flex:1;min-height:46px;padding:0 10px;font-size:11px;letter-spacing:.1em}}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,11,.78) 0%,rgba(10,10,11,.05) 38%,rgba(10,10,11,0) 60%)}
.hero video{filter:brightness(1.08) contrast(1.05) saturate(1.1)}
.hero .wrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;padding-bottom:56px}
.hero h1{font-size:clamp(60px,9vw,112px);letter-spacing:-.01em;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hero h1 em{color:var(--gold-hi)}
.hero .row{gap:12px}
.ticks{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:var(--text)}
.ticks span{display:flex;align-items:center;gap:8px}
.ticks svg{color:var(--gold)}
/* booking section */
.booking{background:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.booking .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-top:72px;padding-bottom:80px}
.booking-copy{flex:1 1 380px;display:flex;flex-direction:column;gap:20px}

/* booking widget */
.book{flex:1 1 470px;max-width:600px;background:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:6px;padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.book-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.book-head h2{font-size:30px;font-weight:600}
.book-head small{color:var(--muted);font-size:12px}
.tabs{display:flex;gap:4px;background:var(--ink-3);padding:4px;border-radius:4px}
.tabs button{flex:1;min-height:44px;border:0;border-radius:3px;background:transparent;color:var(--text-2);font:600 13px var(--sans);letter-spacing:.05em;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--gold);color:var(--ink);font-weight:700}
.row{display:flex;flex-wrap:wrap;gap:14px}
.f{display:flex;flex-direction:column;gap:6px;flex:1 1 170px;min-width:0}
.f.narrow{flex:0 1 120px}
.f label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.f input,.f select{height:48px;background:var(--ink-2);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:0 14px;font:500 15px var(--sans);width:100%;color-scheme:dark}
.f input::placeholder{color:#6F6B64}
.f input:focus,.f select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.hide{display:none!important}
.err{color:#F0A27A;font-size:13px;margin:-6px 0 0}
.quotes{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.quote{display:flex;align-items:center;gap:14px;background:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:10px 12px 10px 10px}
.quote img{width:88px;height:58px;object-fit:cover;border-radius:3px;flex:none}
.quote .q-name{font-weight:700;font-size:15px}
.quote .q-cap{font-size:13px;color:var(--muted)}
.quote .q-price{margin-left:auto;font-family:var(--serif);font-size:26px;color:var(--gold-hi);white-space:nowrap}
.quote .btn{min-height:44px;padding:0 14px;font-size:12px}
.fine{font-size:12px;color:var(--muted)}
@media (max-width:520px){.quote{flex-wrap:wrap}.quote .q-price{margin-left:0}.quote img{width:72px;height:48px}}

/* trust strip */
.trust{border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);background:var(--ink)}
.trust .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:36px;padding-bottom:36px}
.trust div{display:flex;gap:14px;align-items:flex-start}
.trust svg{color:var(--gold);flex:none;margin-top:2px}
.trust b{display:block;font-size:15px}
.trust span{font-size:14px;color:var(--muted)}

/* section heads */
.sec{padding:110px 0 30px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:44px}
.sec-head > div{display:flex;flex-direction:column;gap:14px;max-width:660px}
.more{font-size:13px;font-weight:700;letter-spacing:.14em}

/* services */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.svc{position:relative;min-height:340px;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end;color:var(--text);isolation:isolate;border:1px solid var(--line-soft)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.svc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,11,.95) 10%,rgba(10,10,11,.35) 70%,rgba(10,10,11,.2))}
.svc:hover img{transform:scale(1.05)}
.svc:hover{color:var(--text)}
.svc-body{padding:28px;display:flex;flex-direction:column;gap:8px}
.svc-body .num{font-family:var(--serif);font-size:20px;color:var(--gold)}
.svc-body h3{font-family:var(--sans);font-size:21px;font-weight:700}
.svc-body p{margin:0;color:var(--text-2);font-size:15px}

/* fleet */
.fleet{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.fleet .car{flex:0 1 calc((100% - 40px)/3);min-width:0}
@media (max-width:1000px){.fleet .car{flex-basis:calc((100% - 20px)/2)}}
@media (max-width:640px){.fleet .car{flex-basis:100%}}
.car{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.car figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--ink-3)}
.car figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.car:hover figure img{transform:scale(1.05)}
.car-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.tag{font-size:11px;letter-spacing:.22em;color:var(--gold);font-weight:700}
.car h3{font-family:var(--sans);font-size:20px;font-weight:700}
.specs{display:flex;gap:18px;font-size:14px;color:var(--text-2)}
.specs span{display:flex;align-items:center;gap:6px}
.specs svg{color:var(--muted)}
.car .best{font-size:14px;color:var(--muted)}
.car .from{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line-soft)}
.car .from b{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--gold-hi)}
.car .from small{font-size:12px;color:var(--muted);display:block}

/* airports */
.airports{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.apt{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.apt figure{margin:0;aspect-ratio:4/3;overflow:hidden;position:relative}
.apt figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.apt:hover figure img{transform:scale(1.05)}
.apt .code{position:absolute;top:16px;left:16px;background:rgba(10,10,11,.8);border:1px solid var(--gold);color:var(--gold-hi);font:700 13px var(--sans);letter-spacing:.2em;padding:7px 12px;border-radius:3px}
.apt-body{padding:24px;display:flex;flex-direction:column;gap:10px}
.apt h3{font-family:var(--sans);font-size:20px;font-weight:700}
.apt p{margin:0;color:var(--text-2);font-size:15px}
.apt ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.apt li{font-size:12px;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
/* city gallery */
.city{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:14px}
.city figure{margin:0;position:relative;overflow:hidden;border-radius:6px;border:1px solid var(--line-soft)}
.city figure.w2{grid-column:span 2}.city figure.h2{grid-row:span 2}
.city img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.city figure:hover img{transform:scale(1.05)}
.city figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(0deg,rgba(10,10,11,.9),rgba(10,10,11,0));font-size:14px;font-weight:600}
.city figcaption small{display:block;color:var(--gold-hi);font-size:11px;letter-spacing:.2em;font-weight:700;margin-bottom:3px}
@media (max-width:900px){.city{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}}
@media (max-width:520px){.city{grid-template-columns:1fr}.city figure.w2{grid-column:auto}.city figure.h2{grid-row:auto}}

/* routes */
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.route{border:1px solid var(--line);border-radius:6px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--text);transition:border-color .2s,background .2s}
.route:hover{border-color:var(--gold);background:var(--ink-2);color:var(--text)}
.route b{display:block;font-size:16px}
.route small{color:var(--muted);font-size:13px}
.route .p{font-family:var(--serif);font-size:24px;color:var(--gold-hi);white-space:nowrap}
.route .p small{font-family:var(--sans);display:block;font-size:11px;letter-spacing:.12em;text-align:right}

/* video band */
.band{position:relative;margin-top:110px;min-height:560px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,11,0) 20%,rgba(10,10,11,.8) 65%)}
.band .wrap{display:flex;justify-content:flex-end;width:100%}
.band-copy{max-width:500px;display:flex;flex-direction:column;gap:20px;padding:80px 0}
.band-copy ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;color:var(--text-2)}
.band-copy li{display:flex;gap:12px}
.band-copy li svg{color:var(--gold);flex:none;margin-top:3px}

/* steps + reviews */
.split{display:flex;flex-wrap:wrap;gap:56px}
.split > *{flex:1 1 440px;min-width:0}
.steps{display:flex;flex-direction:column;gap:30px;margin-top:30px}
.step{display:flex;gap:22px}
.step .n{font-family:var(--serif);font-size:46px;line-height:.9;color:var(--gold);width:34px;flex:none}
.step b{display:block;font-size:19px;margin-bottom:4px}
.step p{margin:0;color:var(--text-2)}
.reviews{position:relative;border-radius:6px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;isolation:isolate;border:1px solid var(--line-soft)}
.reviews img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.reviews::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,11,.96) 25%,rgba(10,10,11,.3))}
.reviews .inner{padding:34px;display:flex;flex-direction:column;gap:16px}
.reviews blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:32px;line-height:1.15}

/* area */
.area{position:relative;margin-top:110px;overflow:hidden;isolation:isolate;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.area > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.45}
.area::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,11,.95) 30%,rgba(10,10,11,.7))}
.area .wrap{display:flex;flex-wrap:wrap;gap:44px;align-items:center;padding-top:96px;padding-bottom:96px}
.area .wrap > div:first-child{flex:1 1 380px;display:flex;flex-direction:column;gap:16px}
.chips{flex:1 1 520px;display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--line);background:rgba(10,10,11,.6);border-radius:999px;padding:11px 18px;font-size:14px}
.chip.air{border-color:var(--gold);color:var(--gold-hi)}

/* cta + footer */
.cta{padding:130px 0;text-align:center}
.cta .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}
.cta h2{font-size:clamp(48px,7vw,84px)}
.cta .row{justify-content:center}
footer{border-top:3px solid var(--gold);background:#050505}
@media (min-width:900px){.foot{grid-template-columns:1.6fr 1fr 1fr 1fr!important}}
footer .logo em{white-space:nowrap}
footer .logo{display:inline-flex;align-items:center;gap:14px;line-height:1;color:var(--text)}
footer .logo b{font-family:var(--serif);font-weight:700;font-size:48px;letter-spacing:.06em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
footer .logo .lg-rule{width:2px;height:44px;background:var(--gold-grad)}
footer .logo .lg-words{display:flex;flex-direction:column;gap:5px}
footer .logo strong{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.28em;color:#fff}
footer .logo em{font-family:var(--serif);font-style:italic;font-weight:700;font-size:11px;letter-spacing:.3em;color:var(--gold-hi)}
.foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:40px;padding-top:60px;padding-bottom:40px}
.foot h4{margin:0 0 14px;font-size:13px;letter-spacing:.22em;color:var(--gold-hi);font-weight:800}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot ul a{color:var(--text-2)}
.foot ul a:hover{color:var(--gold-hi)}
.foot p{color:var(--muted);font-size:14px;margin:12px 0 0;max-width:280px}
.legal{border-top:1px solid rgba(217,169,43,.45);padding-top:22px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;color:#8A857C}

/* mobile sticky bar */
.mbar{display:none}
@media (max-width:720px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);border-top:1px solid var(--line);padding:10px 12px;gap:10px}
  .mbar .btn{flex:1}
  body{padding-bottom:70px}
  .book{padding:20px}
  .sec{padding-top:80px}
}



/* full-page background video: vivid behind, solid panels in front */
.site-bg{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;filter:brightness(1.35) saturate(1.5) contrast(1.15)}
.site-bg-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,5,6,.15) 0%,rgba(5,5,6,.45) 100%)}
/* text that sits directly on the video */
.sec-head h2,.sec-head .eyebrow,.sec-head .lede,.sec-head .more,.booking-copy,.area .wrap > div:first-child,.cta .wrap{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 24px rgba(0,0,0,.85)}
.sec-head .lede,.booking-copy .lede,.cta .lede{color:#F1ECE2}
.sec-head{background:linear-gradient(90deg,rgba(4,4,5,.88) 0%,rgba(4,4,5,.7) 55%,rgba(4,4,5,.25) 100%);border-left:4px solid var(--gold);border-radius:4px;padding:26px 28px}
.area .wrap > div:first-child,.cta .wrap{background:rgba(4,4,5,.78);border:1px solid rgba(217,169,43,.5);border-radius:8px;padding:32px}
/* foreground panels: solid, framed, lifted */
.panel-solid,.book,.car,.apt,.svc,.route,.city figure,.reviews,.quote{box-shadow:0 18px 50px rgba(0,0,0,.75),0 0 0 1px rgba(217,169,43,.55)}
.book{background:rgba(8,8,9,.96)!important}
.car,.apt{background:#0E0E10!important;border-color:rgba(217,169,43,.6)!important}
.svc,.city figure,.reviews{border-color:rgba(217,169,43,.6)!important}
.route{background:rgba(8,8,9,.94)!important;border-color:rgba(217,169,43,.6)!important}
.route:hover{background:#151517!important;border-color:var(--gold-hi)!important}
.trust{background:rgba(6,6,7,.9)!important}
.booking{background:transparent!important}
.booking .wrap{background:rgba(6,6,7,.72);border:1px solid rgba(217,169,43,.5);border-radius:8px;margin-top:48px;margin-bottom:48px;padding:48px 40px;box-shadow:0 24px 60px rgba(0,0,0,.7)}
@media (max-width:600px){.booking .wrap{margin:24px 12px;padding:28px 18px}}
.chip{background:rgba(6,6,7,.92);border-color:rgba(217,169,43,.55)}
footer{background:#050505!important}
.ticker{background:#000}

/* all screens: fleet and rates right under the top video */
main{display:flex;flex-direction:column}
main > *{order:10}
main > .hero{order:1}
main > #fleet{order:2}
main > #rates{order:3}
main > #book{order:4}
main > .trust{order:5}
#fleet.sec{padding-top:80px}
@media (max-width:760px){#fleet.sec{padding-top:48px}}

/* slow gold pulses */
@keyframes navGlow{0%,100%{box-shadow:0 4px 14px rgba(224,174,46,.25),0 2px 14px rgba(0,0,0,.25)}50%{box-shadow:0 10px 38px rgba(245,200,76,.75),0 2px 14px rgba(0,0,0,.25)}}
@keyframes textGlow{0%,100%{text-shadow:0 0 4px rgba(245,200,76,.55),0 0 10px rgba(224,174,46,.35)}50%{text-shadow:0 0 10px rgba(255,224,138,1),0 0 28px rgba(224,174,46,.85)}}
@keyframes titleGlow{0%,100%{text-shadow:0 0 0 rgba(245,200,76,0)}50%{text-shadow:0 0 22px rgba(245,200,76,.38)}}
@keyframes barGlow{0%,100%{box-shadow:0 0 4px rgba(245,200,76,.4);width:84px}50%{box-shadow:0 0 18px rgba(245,200,76,.95);width:120px}}
@keyframes boxGlow{0%,100%{box-shadow:0 0 0 1px rgba(224,174,46,.35),0 0 18px rgba(224,174,46,.12)}50%{box-shadow:0 0 0 1px rgba(245,200,76,.9),0 0 46px rgba(224,174,46,.45)}}
@keyframes btnGlow{0%,100%{box-shadow:0 4px 14px rgba(224,174,46,.35)}50%{box-shadow:0 6px 34px rgba(245,200,76,.9)}}
header.nav{animation:navGlow 4.5s ease-in-out infinite}
.brand .tagline{animation:textGlow 4.5s ease-in-out infinite}
.sec-head h2,.band-copy h2,.booking-copy h2,.area h2,.cta h2,.hero h1{animation:titleGlow 5s ease-in-out infinite}
.sec-head h2::after,.band-copy h2::after,.booking-copy h2::after,.area h2::after,.cta h2::after{animation:barGlow 5s ease-in-out infinite}
.book,.car.feat,.reviews,.route:first-child{animation:boxGlow 5s ease-in-out infinite}
.nav-book,.btn-gold{animation:btnGlow 3.5s ease-in-out infinite}
.apt .code{animation:btnGlow 4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){header.nav,.brand .tagline,.sec-head h2,.band-copy h2,.booking-copy h2,.area h2,.cta h2,.hero h1,.sec-head h2::after,.band-copy h2::after,.booking-copy h2::after,.area h2::after,.cta h2::after,.book,.car.feat,.reviews,.route:first-child,.nav-book,.btn-gold,.apt .code{animation:none}}


/* music toggle */
.music-btn{position:fixed;left:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:999px;border:2px solid var(--gold);background:rgba(5,5,6,.9);color:var(--gold-hi);font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.6)}
.music-btn:hover{background:#111}
.music-btn .ic-on{display:none}
.music-btn[aria-pressed="true"] .ic-on{display:block}
.music-btn[aria-pressed="true"] .ic-off{display:none}
.music-btn[aria-pressed="true"]{background:var(--gold-grad);color:#111;animation:btnGlow 3.5s ease-in-out infinite}
@media (max-width:720px){.music-btn{bottom:84px;left:12px;min-height:42px;padding:0 13px}.music-btn .music-lbl{display:none}}

/* modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:20px}
.modal .box{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;max-width:460px;width:100%;padding:34px;display:flex;flex-direction:column;gap:16px;text-align:center}
.modal h3{font-size:36px}
.modal p{margin:0;color:var(--text-2)}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* service-area groups */
.area-groups{flex:1 1 560px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px 26px}
.area-groups h3{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold-hi);margin:0 0 10px;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.95)}
.area-groups .chips{flex:none;gap:8px}
.area-groups .chip{padding:9px 15px;font-size:13.5px}
.car .from .ask{font-family:var(--serif);font-size:20px;color:var(--gold-hi)}
.quote .q-price.ask{font-size:15px}

/* ===== content pages (added Oct 23) ===== */
body.pg{background:#000}
.crumbs{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--gold-hi)}
.pg-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border-bottom:2px solid var(--gold)}
.pg-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pg-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,5,6,.95) 8%,rgba(5,5,6,.55) 55%,rgba(5,5,6,.35))}
.pg-hero .wrap{padding-top:70px;padding-bottom:46px;display:flex;flex-direction:column;gap:16px;width:100%}
.pg-hero h1{font-size:clamp(42px,6vw,76px);text-shadow:0 4px 24px rgba(0,0,0,.7);max-width:900px}
.pg-hero .lede{max-width:720px;color:#F1ECE2}
.pg-hero .row .btn{min-height:48px}
.pg-main{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:start;padding-top:56px;padding-bottom:40px}
@media (max-width:1000px){.pg-main{grid-template-columns:1fr}.pg-main aside{order:-1}}
.pg-main aside{position:sticky;top:120px}
@media (max-width:1000px){.pg-main aside{position:static}}
.prose{display:flex;flex-direction:column;gap:18px;color:var(--text-2);font-size:17px}
.prose h2{font-size:clamp(30px,3.6vw,42px);color:var(--text);margin-top:22px}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--sans);font-size:19px;font-weight:700;color:var(--text);margin-top:6px}
.prose p{margin:0}
.prose ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.prose ul li{position:relative;padding-left:26px}
.prose ul li::before{content:"";position:absolute;left:4px;top:10px;width:9px;height:9px;border-radius:2px;background:var(--gold-grad)}
.prose strong{color:var(--text)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0}
.facts div{background:#0E0E10;border:1px solid rgba(217,169,43,.5);border-radius:6px;padding:16px}
.facts b{display:block;font-family:var(--serif);font-size:30px;color:var(--gold-hi);line-height:1}
.facts span{font-size:13px;color:var(--muted)}
.req{background:rgba(8,8,9,.97);border:1px solid rgba(217,169,43,.6);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 50px rgba(0,0,0,.75)}
.req h2{font-size:30px}
.req .sub{font-size:13px;color:var(--muted);margin:-8px 0 0}
.req .row{gap:12px}
.req .f{flex:1 1 150px}
.req textarea{min-height:76px;background:var(--ink-2);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:12px 14px;font:500 15px var(--sans);width:100%;resize:vertical}
.req .f textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.45}
.consent input{margin-top:3px;accent-color:var(--gold)}
.consent a{color:var(--gold-hi)}
.req .divider{border-top:1px solid var(--line);padding-top:12px;font-size:11px;letter-spacing:.18em;color:var(--gold-hi);font-weight:700}
.req .ok{text-align:center;padding:24px 0}
.req .ok h3{font-size:40px;color:var(--gold-hi)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lcard{display:flex;flex-direction:column;background:#0E0E10;border:1px solid rgba(217,169,43,.55);border-radius:6px;overflow:hidden;color:var(--text);transition:border-color .2s,transform .2s}
.lcard:hover{border-color:var(--gold-hi);transform:translateY(-2px);color:var(--text)}
.lcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lcard div{padding:18px;display:flex;flex-direction:column;gap:6px}
.lcard b{font-size:17px}
.lcard span{font-size:14px;color:var(--muted)}
.lcard em{font-style:normal;font-size:12px;letter-spacing:.14em;color:var(--gold-hi);font-weight:700;margin-top:4px}
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:#0E0E10;border:1px solid rgba(217,169,43,.45);border-radius:6px;padding:0 20px}
.faq summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;font-weight:700;font-size:16px;color:var(--text);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:26px;color:var(--gold-hi)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;color:var(--text-2)}
.logos{background:#050505;border-bottom:1px solid rgba(217,169,43,.45)}
.logos .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 38px;padding-top:22px;padding-bottom:22px}
.logos small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:700}
.logos span{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:.06em;color:#E9E4DA}
.logos img{width:auto;opacity:.82;transition:opacity .2s}.logos img:hover{opacity:1}@media(max-width:700px){.logos img{transform:scale(.8)}}
.handoff{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.handoff div{background:#0E0E10;border:1px solid rgba(217,169,43,.5);border-radius:6px;padding:20px}
.handoff b{display:block;font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1}
.handoff strong{display:block;margin:8px 0 4px;font-size:16px;color:var(--text)}
.handoff span{font-size:14px;color:var(--text-2)}
.pg-sec{padding:40px 0}
.pg-sec h2{margin-bottom:22px}
.sec-plain{background:linear-gradient(90deg,rgba(4,4,5,.88) 0%,rgba(4,4,5,.7) 55%,rgba(4,4,5,.25) 100%);border-left:4px solid var(--gold);border-radius:4px;padding:22px 26px;margin-bottom:26px}
.foot-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;padding-top:10px;padding-bottom:30px;border-top:1px solid rgba(217,169,43,.25)}
.foot-links h4{margin:22px 0 10px;font-size:12px;letter-spacing:.22em;color:var(--gold-hi);font-weight:800}
.foot-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px}
.foot-links a{color:var(--text-2)}
.foot-links a:hover{color:var(--gold-hi)}
a.chip{color:var(--text)}
a.chip:hover{border-color:var(--gold-hi);color:var(--gold-hi)}

.req > .f,.req > .row{flex:none}