/*
Theme Name: The Lux Ride
Theme URI: https://theluxride.com
Author: The Lux Ride
Description: Worldwide private chauffeur, by appointment. Black-tie one-page brand site converted to a multi-page WordPress theme — dark night palette, champagne gold, Marcellus/Jost/Cormorant type.
Version: 3.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: theluxride
*/

/* ═════════ TOKENS ═════════ */
:root{
  --night:#0a0810;--night2:#0f0c16;--night3:#070609;
  --ivory:#f2efe9;--dim:rgba(242,239,233,.64);--faint:rgba(242,239,233,.38);
  --hair:rgba(242,239,233,.15);--hairsoft:rgba(242,239,233,.08);
  --gold:#b98431;--goldsoft:#d8b46a;--goldpale:#f0e0b0;
  --display:'Marcellus','Lux Display Fallback',Georgia,serif;--body:'Jost','Lux Body Fallback',system-ui,sans-serif;--lede:'Cormorant Garamond','Lux Display Fallback',Georgia,serif;
}
@font-face{font-family:'Lux Display Fallback';src:local('Georgia');size-adjust:108%;ascent-override:92%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:'Lux Body Fallback';src:local('Segoe UI'),local('Arial');size-adjust:97%;ascent-override:95%;descent-override:22%;line-gap-override:0%}
html{scroll-behavior:smooth;overflow-x:clip;max-width:100%}
*{box-sizing:border-box}
body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--body);font-weight:300;font-size:16px;line-height:1.7;letter-spacing:.02em;overflow-x:clip;max-width:100%;position:relative}
::selection{background:#b98431;color:#000}
img{max-width:100%;height:auto;display:block}
a{color:var(--goldsoft);text-decoration:none}
a:hover{color:var(--goldpale)}
input,select,textarea{color-scheme:dark;font-family:var(--body)}
input.lux-dt{cursor:pointer;caret-color:transparent}
input.lux-dt::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none;opacity:0}
input.lux-dt::-webkit-inner-spin-button,input.lux-dt::-webkit-clear-button{display:none}
input::placeholder,textarea::placeholder{color:rgba(242,239,233,.3)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)!important}
select option{background:var(--night2);color:var(--ivory)}

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes crestin{from{opacity:0}to{opacity:.09}}
@keyframes crestdrift{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-56%) scale(1.05)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important}
}

/* ═════════ PRIMITIVES ═════════ */
.wrap{width:min(1240px,calc(100% - 32px));max-width:100%;margin:0 auto;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}
@media(min-width:760px){.wrap{width:min(1240px,92%)}}
.k{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--goldsoft)}
.k--faint{color:var(--faint)}
.num-label{font-family:var(--display);font-size:12px;letter-spacing:.34em;color:var(--faint);white-space:nowrap;padding-bottom:6px}
/* Section Nº labels (Nº 03, Nº 11, …) — never show in section headers */
.sec-head > .num-label{display:none!important}
.h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.13em;line-height:1.16;font-size:clamp(27px,3.4vw,44px);margin:16px 0 0}
.lede{font-family:var(--lede);font-style:italic;font-size:clamp(18px,1.7vw,22px);color:var(--dim);line-height:1.65;max-width:620px}
.sec{padding:clamp(72px,8.5vw,120px) 0;border-top:1px solid var(--hairsoft);content-visibility:auto;contain-intrinsic-size:auto 640px;position:relative}
.hero,.page-hero,.topbar,.menu,.drawer,.veil{content-visibility:visible}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,var(--hairsoft));padding-bottom:26px;margin-bottom:2px}
.crumbs{padding:18px 0 0;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.crumbs__list,.rank-math-breadcrumb{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.crumbs__item{display:inline-flex;align-items:center;gap:10px}
.crumbs a,.rank-math-breadcrumb a{color:var(--dim);text-decoration:none}
.crumbs a:hover,.rank-math-breadcrumb a:hover{color:var(--goldsoft)}
.crumbs__sep{opacity:.45}
.crumbs [aria-current="page"]{color:var(--goldsoft)}
.gold-i{font-style:normal;color:var(--goldsoft)}

.btn{display:inline-block;background:none;border:1px solid var(--hair);color:var(--ivory);cursor:pointer;font-family:var(--body);font-weight:300;font-size:10px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;padding:14px 28px;transition:border-color .22s,color .22s,background .22s,filter .22s,transform .22s,box-shadow .22s}
.btn:hover{border-color:var(--gold);color:var(--goldsoft);background:color-mix(in srgb,var(--gold) 10%,transparent);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.btn--big{font-size:11.5px;letter-spacing:.45em;text-indent:.45em;padding:19px 42px}
.btn--gold{background:linear-gradient(180deg,var(--goldsoft),var(--gold));border:none;color:#0a0810;font-weight:500;transition:filter .3s,transform .22s,box-shadow .22s;box-shadow:0 10px 28px color-mix(in srgb,var(--gold) 28%,transparent)}
.btn--gold:hover{background:linear-gradient(180deg,var(--goldsoft),var(--gold));color:#0a0810;filter:brightness(1.12);box-shadow:0 14px 36px color-mix(in srgb,var(--gold) 40%,transparent)}
.btn--outline-gold{border-color:var(--gold);color:var(--goldsoft)}
.btn-underline{display:inline-flex;flex-direction:column;gap:9px;background:none;border:none;padding:0;cursor:pointer;color:var(--ivory);font-family:var(--body);font-weight:300;font-size:10.5px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;text-align:center;transition:color .22s}
.btn-underline span{width:100%;height:1px;background:var(--hair);transition:background .22s,transform .22s;transform-origin:left}
.btn-underline:hover{color:var(--goldsoft)}
.btn-underline:hover span{background:var(--gold);transform:scaleX(1.06)}

.field label{display:block;font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:none;border:none;border-bottom:1px solid var(--hair);border-radius:0;padding:10px 2px;color:var(--ivory);font-weight:300;font-size:16px;transition:border-color .35s;resize:vertical}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.req-star{color:var(--gold);font-size:11px;letter-spacing:0;margin-left:2px}
.field.bad input,.field.bad select,.field.bad textarea{border-bottom-color:#c9564b;box-shadow:0 1px 0 0 #c9564b}
.field .ferr{display:block;margin-top:7px;font-size:13px;font-weight:300;letter-spacing:.02em;text-transform:none;color:#e08b80}

/* Shared card grid — Services, Industries, Journal */
.cards,.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px)}
@media(max-width:980px){.cards,.jgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cards,.jgrid{grid-template-columns:1fr}}
.card{background:linear-gradient(165deg,rgba(242,239,233,.055),rgba(10,8,16,.15) 48%,rgba(10,8,16,0) 100%) var(--night);border:1px solid var(--hairsoft);padding:20px;transition:transform .28s cubic-bezier(.22,.8,.28,1),border-color .28s,background .28s,box-shadow .28s;overflow:hidden;min-width:0;max-width:100%;border-radius:2px}
.card:hover{background:linear-gradient(165deg,rgba(185,132,49,.07),var(--night2) 55%);border-color:color-mix(in srgb,var(--gold) 48%,transparent);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.card .rn{font-family:var(--display);font-size:13px;letter-spacing:.3em;color:var(--goldsoft);display:block;margin-bottom:16px}
.card h3,.card h4{font-family:var(--display);font-weight:400;font-size:16.5px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;margin:0}
.card p{color:var(--dim);font-size:16px;margin:0;flex:1}
.card--media h3,.card--media h4{margin-bottom:0}
.card--media .meta{margin-top:14px}
.card--media{display:flex;flex-direction:column;gap:14px;color:var(--ivory)}
.card--media:hover{color:var(--ivory)}
.card--media:hover h3,.card--media:hover h4{color:var(--goldsoft)}
.card .k{font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--goldsoft)}
.card .lux-169--card{margin:0 0 10px;width:100%;max-width:100%;flex:0 0 auto;align-self:stretch;border:1px solid var(--hairsoft);overflow:hidden}
.card .lux-169--card img{max-width:100%;transition:transform .55s cubic-bezier(.22,.8,.28,1)}
.card:hover .lux-169--card img{transform:scale(1.04)}
/* Blog cards: show the complete image (no crop) */
.jpost .lux-169--fit,.card .lux-169--fit{
  aspect-ratio:auto;height:auto;overflow:hidden;background:var(--night3);position:relative
}
.jpost .lux-169--fit img,.card .lux-169--fit img{
  position:static;inset:auto;width:100%;height:auto;max-width:100%;
  object-fit:contain;object-position:center;display:block
}
.card .meta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hairsoft);margin-top:4px;padding-top:14px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.card .meta i{font-style:normal}

.chip{font-family:var(--body);font-weight:300;background:rgba(242,239,233,.02);cursor:pointer;padding:11px 22px;font-size:10px;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;transition:all .3s;border:1px solid var(--hairsoft);color:var(--faint);border-radius:2px}
.chip:hover{color:var(--ivory);border-color:color-mix(in srgb,var(--gold) 35%,var(--hairsoft));background:color-mix(in srgb,var(--gold) 6%,transparent)}
.chip.on{border-color:var(--gold);color:var(--goldsoft);background:color-mix(in srgb,var(--gold) 10%,transparent)}

/* Reveal: visible by default; only hide when JS is present (avoids blank pages if JS fails) */
[data-reveal]{opacity:1;transform:none}
html.js [data-reveal]{opacity:0;transform:translateY(10px);transition:opacity .16s cubic-bezier(.22,.8,.28,1),transform .16s cubic-bezier(.22,.8,.28,1)}
html.js [data-reveal].revealed{opacity:1;transform:none}
/* First paint: never hide content already in the viewport while JS boots */
html.js .hero [data-reveal],html.js .topbar [data-reveal]{opacity:1;transform:none}
noscript [data-reveal],html:not(.js) [data-reveal]{opacity:1;transform:none}

/* ═════════ ANNOUNCEMENT + TOP BAR ═════════ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:100}
.topbar__veil{position:absolute;inset:0;background:rgba(10,8,16,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--hairsoft);opacity:0;transition:opacity .4s}
.is-scrolled .topbar__veil{opacity:1}
.announce{position:relative;display:flex;align-items:center;justify-content:center;gap:11px;height:32px;background:rgba(185,132,49,.13);background:color-mix(in srgb,var(--gold) 13%,rgba(13,10,20,.92));border-bottom:1px solid rgba(185,132,49,.22);border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,transparent);font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--goldpale)}
.announce i{width:5px;height:5px;border-radius:50%;background:var(--goldsoft);box-shadow:0 0 8px var(--goldsoft);animation:pulse 2.4s ease-in-out infinite;flex:none}
.topbar__row{position:relative;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,52px)}
.topbar__cluster{display:flex;align-items:center;gap:clamp(16px,2.4vw,30px)}
.topbar__cluster--r{justify-self:end}
.topbar .bars{display:inline-flex;flex-direction:column;gap:5px;width:22px}
.topbar .bars i{height:1px;background:currentColor}
.tb-link{background:none;border:none;color:var(--ivory);cursor:pointer;display:flex;align-items:center;gap:13px;font-family:var(--body);font-weight:300;font-size:11px;letter-spacing:.42em;text-transform:uppercase;text-indent:.42em;padding:0}
.tb-link:hover{color:var(--goldsoft)}
.tb-tel{color:var(--dim);font-size:11px;letter-spacing:.24em}
.tb-tel:hover{color:var(--goldsoft)}
.brand{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ivory)}
/* Crest logos — preserve tall aspect; never stretch to square boxes */
.lux-crest,.brand img,.menu__logo img,.menu__foot img,.menu__pane .cresthero,.menu__pane .crest96,.finale img,.site-footer img.crest,.bespoke .lux-crest,.hero__crest,img.lux-crest{
	width:auto!important;max-width:100%;object-fit:contain;object-position:center;display:block;background:transparent
}
.brand img{height:54px;max-height:54px;max-width:48px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.7))}
.brand b{font-family:var(--display);font-weight:400;font-size:10.5px;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;white-space:nowrap}
.tb-reserve{border:1px solid var(--hair);padding:12px 22px}

/* ═════════ MENU OVERLAY (slide-in panel + previews) ═════════ */
.menu{position:fixed;inset:0;z-index:200;visibility:hidden;transition:visibility .35s}
.menu.is-open{visibility:visible}
.menu__veil{position:absolute;inset:0;background:#050408;opacity:0;transition:opacity .28s;cursor:pointer}
.menu.is-open .menu__veil{opacity:1}
.menu__panel{position:absolute;top:0;left:0;bottom:0;width:min(560px,94vw);background:radial-gradient(480px 340px at 12% 108%,rgba(185,132,49,.09),transparent 62%) var(--night);border-right:1px solid var(--hairsoft);box-shadow:40px 0 90px rgba(0,0,0,.55);transform:translateX(-103%);transition:transform .22s cubic-bezier(.22,.8,.28,1);overflow-y:auto;display:flex;flex-direction:column;box-sizing:border-box}
.menu.is-open .menu__panel{transform:translateX(0)}
.menu__close{flex:none;align-self:flex-start;height:76px;display:flex;align-items:center;gap:14px;padding:0 clamp(18px,4vw,52px);background:none;border:none;color:var(--ivory);cursor:pointer;font-family:var(--body);font-weight:300;font-size:11px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase}
.menu__close:hover{color:var(--goldsoft)}
.menu__inner{padding:10px clamp(26px,5vw,64px) 54px;display:flex;flex-direction:column;flex:1;box-sizing:border-box}
.menu__spacer{height:clamp(12px,3vh,28px);flex:none}
.menu__logo{display:flex;justify-content:center;align-items:center;margin:0 0 10px;text-decoration:none}
.menu__logo img{height:72px;max-height:72px;max-width:56px;filter:drop-shadow(0 10px 28px rgba(185,132,49,.35))}
.menu__gap{flex:1}
.menu__list{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:6px 0 0}
.menu__item{display:flex;align-items:center;justify-content:center;height:64px;box-sizing:border-box;text-align:center;font-family:var(--body);font-weight:200;font-size:clamp(14px,1.5vw,19px);letter-spacing:.16em;line-height:1.3;text-transform:uppercase;text-decoration:none;cursor:pointer;background:transparent;color:var(--ivory);opacity:1;transition:color .25s,background .25s,letter-spacing .25s}
.menu.is-open .menu__item{opacity:1}
.menu__item .mask{display:block;overflow:hidden;width:100%}
.menu__item .risew{display:block;transform:none;transition:none}
.menu.is-open .risew{transform:none}
.menu__item .roll{display:block;position:relative;transition:transform .25s cubic-bezier(.65,.05,.36,1)}
.menu__item .roll .alt{position:absolute;top:100%;left:0;right:0;color:var(--goldsoft)}
.menu__list.hot .menu__item{color:rgba(242,239,233,.26)}
.menu__list.hot .menu__item.hot{color:var(--ivory);letter-spacing:.28em;background:radial-gradient(58% 100% at 50% 50%,rgba(185,132,49,.09),transparent 78%)}
.menu__list.hot .menu__item.hot .roll{transform:translateY(-100%)}
.menu__foot{padding-top:30px;border-top:1px solid var(--hairsoft);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:1;transform:none;transition:none}
.menu.is-open .menu__foot{opacity:1;transform:none}
.menu__foot img{height:64px;max-height:64px;max-width:50px;margin:0 auto 20px;opacity:.9;filter:drop-shadow(0 10px 28px rgba(185,132,49,.3))}
.menu__foot .c{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);line-height:2.4}
.menu__foot b{color:var(--goldsoft);font-weight:400;font-size:15px;letter-spacing:.2em}
.menu__stage{position:absolute;top:0;bottom:0;left:min(560px,94vw);right:0;pointer-events:none;overflow:hidden;background:radial-gradient(640px 460px at 50% 58%,rgba(185,132,49,.07),transparent 65%);opacity:0;transition:opacity .28s}
.menu.is-open .menu__stage{opacity:1}
.menu__pane{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:70px clamp(40px,7vw,120px);opacity:0;transition:opacity .28s}
.menu__pane.hot{opacity:1}
.menu__pane .cap{max-width:560px;display:flex;flex-direction:column;align-items:center;text-align:center;transform:none;transition:none}
.menu__pane.hot .cap{transform:none}
.menu__pane .cresthero{height:min(280px,38vh);max-height:min(280px,38vh);max-width:min(180px,42vw);filter:drop-shadow(0 18px 44px color-mix(in srgb,var(--gold) 40%,transparent))}
.menu__pane .crest96{height:72px;max-height:72px;max-width:56px;margin:0 auto 28px;filter:drop-shadow(0 14px 36px color-mix(in srgb,var(--gold) 40%,transparent))}
.menu__pane .pt{display:block;font-family:var(--display);font-size:clamp(26px,2.6vw,40px);letter-spacing:.12em;line-height:1.25;text-transform:uppercase;color:var(--ivory)}
.menu__pane .pd{width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px 0}
.menu__pane .pb{font-family:var(--lede);font-style:italic;font-size:clamp(16px,1.5vw,20px);color:var(--dim);line-height:1.75}
@media(max-width:860px){.menu__stage{display:none}.menu__panel{width:100%;max-width:100%;border-right:none}}

/* ═════════ HERO ═════════ */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1000px 520px at 78% 88%,color-mix(in srgb,var(--gold) 20%,transparent),transparent 62%),radial-gradient(1100px 640px at 20% -10%,rgba(40,20,50,.6),transparent 65%),linear-gradient(165deg,#0d0a14,#0a0810 55%,#100b07)}
.hero__grid{position:relative;z-index:2;flex:1;width:min(1240px,calc(100% - 32px));max-width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:clamp(30px,4vw,70px);align-items:center;padding:146px 0 36px;box-sizing:border-box}
@media(min-width:760px){.hero__grid{width:min(1240px,92%)}}
@media(min-width:901px){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(280px,410px)}}
.hero__stage{position:relative}
.hero__crest{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);height:min(540px,50vw);max-height:min(540px,50vw);max-width:min(300px,28vw);opacity:.09;pointer-events:none;z-index:0;filter:drop-shadow(0 30px 90px rgba(185,132,49,.28));animation:crestin .6s ease both}
.slide{transition:opacity .35s cubic-bezier(.22,.8,.28,1),transform .35s cubic-bezier(.22,.8,.28,1),visibility .35s;opacity:0;visibility:hidden;pointer-events:none}
.slide--1{position:relative;z-index:1;transform:translateY(-60px)}
.slide--alt{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;padding:0 12px;transform:translateY(60px)}
.slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.slide.is-above{transform:translateY(-60px)}
.slide.is-below{transform:translateY(60px)}
.hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.12em;line-height:1.12;font-size:clamp(40px,4.9vw,74px);margin:26px 0 0}
.hero .script{font-family:var(--lede);font-style:italic;font-size:clamp(28px,3.1vw,46px);color:var(--goldsoft);line-height:1.2;margin-top:10px}
.hero .sub{font-family:var(--lede);font-style:italic;font-size:clamp(17px,1.5vw,21px);color:var(--dim);line-height:1.65;max-width:480px;margin:26px 0 0}
.hero__kick{display:flex;align-items:center;gap:18px}
.hero__kick i{width:44px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.hero__kick span{font-size:10.5px;letter-spacing:.5em;text-transform:uppercase;color:var(--dim)}
.hero__ctas{display:flex;align-items:center;gap:34px;flex-wrap:wrap;margin-top:38px}
.hero__stats{display:flex;flex-wrap:wrap;margin-top:44px;padding-top:18px;border-top:1px solid var(--hairsoft)}
.hero__stats>div{padding:4px clamp(20px,3vw,38px);border-right:1px solid var(--hairsoft)}
.hero__stats>div:first-child{padding-left:0}
.hero__stats>div:last-child{border-right:none}
.hero__stats b{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,32px);display:block;line-height:1.25;color:var(--goldsoft)}
.hero__stats span{font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--faint)}
.slide--alt .sk{font-size:10.5px;letter-spacing:.5em;text-transform:uppercase;color:var(--dim);text-indent:.5em}
.slide--alt h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.14em;line-height:1.16;font-size:clamp(30px,4.6vw,64px);margin:0}
.slide--alt .rule{width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.slide--alt p{font-family:var(--lede);font-style:italic;font-size:clamp(17px,1.6vw,21px);color:var(--dim);max-width:520px;margin:0;line-height:1.65}
.hero__dots{position:absolute;right:clamp(16px,3.4vw,48px);top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:18px}
.hero__dots button{width:9px;height:9px;border-radius:50%;padding:0;cursor:pointer;transition:all .4s;border:1px solid var(--faint);background:transparent}
.hero__dots button.on{border-color:var(--gold);background:var(--gold);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 70%,transparent)}
.hero__scroll{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 0 14px;font-size:9.5px;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--faint)}
.hero__scroll i{width:1px;height:38px;background:linear-gradient(180deg,var(--gold),transparent);animation:drip 2.4s cubic-bezier(.22,.8,.28,1) infinite}
.rbox-wrap{position:relative;display:flex;align-items:center;justify-content:center;animation:rise .35s cubic-bezier(.22,.8,.28,1) both}
.rbox{position:relative;width:100%;max-width:400px;border:1px solid var(--hairsoft);background:rgba(10,8,16,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:19px}
.rbox__live{display:flex;align-items:center;gap:12px;font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--goldsoft)}
.rbox__live i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px var(--gold);animation:pulse 2.4s ease-in-out infinite}
.rbox__note{font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);text-align:center}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr;padding-top:130px}.rbox-wrap{display:none}.hero__dots{display:none}}

/* ═════════ COUNTRY STRIP ═════════ */
.strip{border-bottom:1px solid var(--hairsoft);background:var(--night2);overflow:hidden;padding:14px 0}
.strip__track{display:flex;width:max-content;animation:marq 44s linear infinite}
.strip__track span{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:34px;padding:0 34px;white-space:nowrap}
.strip__track i{font-style:normal;color:var(--gold);font-size:7px}

/* ═════════ WHY / HOUSE ═════════ */
.house-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:clamp(40px,6vw,100px);align-items:start}
.house-grid h3{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.4vw,30px);letter-spacing:.14em;text-transform:uppercase;line-height:1.4;margin:0 0 24px}
.house-grid p{color:var(--dim);font-size:17px;margin:0 0 18px}
.values{display:flex;flex-direction:column;gap:1px;background:var(--hairsoft);border:1px solid var(--hairsoft);border-radius:2px;overflow:hidden}
.values>div{background:linear-gradient(100deg,rgba(242,239,233,.025),var(--night) 40%);padding:30px 32px;display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:baseline;transition:background .3s}
.values>div:hover{background:linear-gradient(100deg,rgba(185,132,49,.07),var(--night2) 50%)}
.values .rn{font-family:var(--lede);font-style:italic;font-size:17px;color:var(--goldsoft)}
.values h4{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px}
.values p{font-size:15.5px;color:var(--dim);margin:0}

/* ═════════ FLEET LEDGER ═════════ */
.ledger{margin-top:clamp(34px,4vw,50px);border-bottom:1px solid var(--hairsoft)}
.ledger__row{display:grid;padding:20px 10px;grid-template-columns:minmax(150px,240px) 1fr minmax(170px,auto);align-items:center;gap:clamp(20px,3.4vw,54px);border-top:1px solid var(--hairsoft);transition:background .35s,border-color .35s,box-shadow .35s}
.ledger__head{padding:0 12px 12px;font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--faint)}
.ledger__row:hover{background:linear-gradient(90deg,rgba(185,132,49,.06),rgba(242,239,233,.02) 42%,transparent);border-top-color:color-mix(in srgb,var(--gold) 28%,var(--hairsoft));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--gold) 18%,transparent)}
.ledger__row:hover .ledger__car img{transform:scale(1.05)}
.ledger__num{font-family:var(--display);font-size:12px;letter-spacing:.28em;color:var(--faint)}
.ledger__car{position:relative;min-width:0}
.ledger__car img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.22,.8,.28,1);filter:drop-shadow(0 16px 24px rgba(0,0,0,.7))}
.ledger__car i{position:absolute;left:16%;right:16%;bottom:-5px;height:11px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%);filter:blur(6px)}
.ledger__name{font-family:var(--display);font-size:clamp(17px,1.75vw,22px);letter-spacing:.15em;text-transform:uppercase;line-height:1.35}
.ledger__models{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);display:block;margin-top:6px}
.ledger__tag{font-family:var(--lede);font-style:italic;font-size:15.5px;color:var(--goldsoft);display:block;margin-top:7px}
.ledger__conf{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);line-height:2.15}
.ledger__fare{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right;min-width:0}
.ledger__price{font-family:var(--display);font-size:19px;letter-spacing:.08em}
.ledger__price small{font-size:10px;letter-spacing:.26em;color:var(--faint)}
.ledger__foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:20px;padding:14px 12px 0;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);border-top:1px solid var(--hairsoft)}
@media(max-width:900px){.ledger__row{grid-template-columns:minmax(110px,150px) 1fr;grid-auto-rows:auto;padding:18px 8px}.ledger__fare{align-items:flex-start;text-align:left;grid-column:2}}

/* ═════════ JOURNEY CARDS ═════════ */
.journey{text-align:center}
.journey h2.big{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.18;font-size:clamp(30px,4.2vw,54px);margin:20px 0 0}
.jcard{background:linear-gradient(180deg,rgba(242,239,233,.03),var(--night) 40%);border:1px solid var(--hairsoft);padding:clamp(34px,4vw,52px) 34px;display:flex;flex-direction:column;align-items:center;transition:background .4s,border-color .4s,transform .35s,box-shadow .35s;border-radius:2px}
.jcard:hover{background:linear-gradient(180deg,rgba(185,132,49,.06),var(--night2) 55%);border-color:color-mix(in srgb,var(--gold) 35%,var(--hairsoft));transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.35)}
.jcard__art{height:190px;display:flex;align-items:center;justify-content:center;position:relative;width:100%}
.jcard__crest{height:120px;max-height:120px;max-width:72px;margin:0 auto;filter:drop-shadow(0 14px 36px color-mix(in srgb,var(--gold) 40%,transparent))}
.jcard__art .shadow{position:absolute;left:26%;right:26%;bottom:26px;height:14px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%);filter:blur(7px)}
.jcard h3{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:.22em;text-transform:uppercase;margin:26px 0 0}
.jcard p{color:var(--dim);font-size:16px;max-width:330px;margin:14px 0 0;line-height:1.85;flex:1}
.jcard .btn-underline{margin-top:26px;font-size:10px}
.skyline{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:9px;position:relative;width:100%;padding-bottom:44px}
.skyline i{display:block;width:15px;border:1px solid color-mix(in srgb,var(--goldsoft) 55%,transparent);border-bottom:none}
.skyline .base{position:absolute;left:14%;right:14%;bottom:43px;height:1px;width:auto;border:none;background:linear-gradient(90deg,transparent,var(--goldsoft),transparent)}

/* ═════════ TRUST ═════════ */
.trust-grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);gap:clamp(40px,6vw,90px);align-items:center}
.trust-list{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:16px;letter-spacing:.06em;color:var(--dim)}
.trust-list li{display:flex;gap:16px;align-items:baseline;padding:10px 12px;border:1px solid transparent;border-radius:2px;transition:background .25s,border-color .25s}
.trust-list li:hover{background:rgba(185,132,49,.04);border-color:var(--hairsoft)}
.trust-list i{font-style:normal;color:var(--goldsoft);font-size:14px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat{border:1px solid var(--hairsoft);background:linear-gradient(160deg,rgba(242,239,233,.05),transparent 55%);padding:clamp(28px,3vw,42px) 20px;text-align:center;transition:border-color .35s,transform .3s,box-shadow .3s;border-radius:2px}
.stat:hover{border-color:color-mix(in srgb,var(--gold) 40%,var(--hair));transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3)}
.stat b{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,42px);color:var(--goldsoft);display:block;line-height:1.2}
.stat span{font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--faint);display:block;margin-top:10px}
@media(max-width:900px){.trust-grid{grid-template-columns:1fr}}

/* ═════════ HOW ═════════ */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(26px,3.6vw,52px)}
.step{display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center;padding:22px 16px;border:1px solid transparent;border-radius:2px;transition:background .3s,border-color .3s,transform .3s}
.step:hover{background:rgba(185,132,49,.04);border-color:var(--hairsoft);transform:translateY(-2px)}
.step .rn{font-family:var(--lede);font-style:italic;font-size:18px;letter-spacing:.16em;color:var(--goldsoft)}
.step .line{width:1px;height:40px;background:linear-gradient(180deg,var(--gold),transparent)}
.step h3,.step h4{font-family:var(--display);font-weight:400;font-size:15.5px;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;margin:0}
.step p{color:var(--dim);font-size:15.5px;max-width:230px;margin:0}

/* ═════════ REVIEWS ═════════ */
.reviews{text-align:center;background:radial-gradient(900px 500px at 50% -20%,rgba(40,20,50,.4),transparent 65%),radial-gradient(700px 320px at 50% 110%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 70%)}
.reviews .stars{color:var(--goldsoft);letter-spacing:6px;font-size:13px}
.review-slide{display:none}
.review-slide.on{display:block}
.reviews blockquote{font-family:var(--lede);font-style:italic;font-weight:400;font-size:clamp(21px,2.6vw,32px);line-height:1.6;color:var(--ivory);margin:26px auto 0;min-height:3.2em;max-width:920px;padding:0 12px}
.reviews .who{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px}
.reviews .ini{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);color:var(--goldsoft);display:grid;place-items:center;font-family:var(--display);font-size:13px;background:rgba(185,132,49,.06);box-shadow:0 0 24px color-mix(in srgb,var(--gold) 18%,transparent)}
.reviews cite{font-style:normal;font-size:11px;letter-spacing:.24em;text-transform:uppercase;display:block;text-align:left}
.reviews small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.reviews__nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:36px}
.reviews__nav .arrow{background:rgba(242,239,233,.02);border:1px solid var(--hairsoft);color:var(--dim);cursor:pointer;width:46px;height:46px;border-radius:50%;font-size:15px;transition:all .3s}
.reviews__nav .arrow:hover{border-color:var(--gold);color:var(--goldsoft);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.reviews__dots{display:flex;gap:8px;align-items:center}
.reviews__dots button{width:34px;height:2px;border:none;cursor:pointer;padding:0;transition:all .4s;background:var(--hairsoft)}
.reviews__dots button.on{background:var(--gold);width:42px}
.reviews__count{margin-top:16px;font-family:var(--display);font-size:11px;letter-spacing:.34em;color:var(--faint)}

/* ═════════ CONCIERGE ═════════ */
.ai{background:radial-gradient(1000px 560px at 50% 115%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 62%)}
.ai__inner{width:min(920px,92%);margin:0 auto;text-align:center}
.ai__box{margin-top:clamp(34px,4vw,50px);border:1px solid color-mix(in srgb,var(--gold) 22%,var(--hairsoft));background:linear-gradient(170deg,rgba(242,239,233,.045),rgba(10,8,16,.55) 60%);padding:clamp(24px,3.4vw,42px);text-align:left;border-radius:2px;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.ai__live{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--goldsoft)}
.ai__live i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:pulse 2.4s ease-in-out infinite}
.ai__form{display:grid;grid-template-columns:1fr auto;gap:14px;margin-top:22px}
.ai__form input{background:rgba(7,6,9,.7);border:1px solid var(--hairsoft);padding:17px 18px;color:var(--ivory);font-size:15px;transition:border-color .25s,box-shadow .25s}
.ai__form input:focus{outline:none;border-color:color-mix(in srgb,var(--gold) 55%,var(--hair));box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent)}
.ai__form .btn--gold{padding:0 34px;font-size:11px;letter-spacing:.42em}
.ai__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ai__chips button{font-weight:300;background:rgba(242,239,233,.02);border:1px solid var(--hairsoft);color:var(--dim);cursor:pointer;padding:10px 18px;font-size:12px;letter-spacing:.04em;transition:all .3s;font-family:var(--body);border-radius:2px}
.ai__chips button:hover{border-color:var(--gold);color:var(--goldsoft);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.ai__result{margin-top:26px;border-top:1px solid var(--hairsoft);padding-top:26px;display:none}
.ai__result.show{display:grid;grid-template-columns:minmax(170px,220px) 1fr;gap:clamp(20px,3vw,36px);align-items:center}
.ai__thinking{margin-top:26px;border-top:1px solid var(--hairsoft);padding-top:24px;font-family:var(--lede);font-style:italic;font-size:18px;color:var(--dim);display:none}
.ai__note{font-family:var(--lede);font-style:italic;font-size:clamp(17px,1.7vw,21px);color:var(--ivory);line-height:1.6;margin:0}
.ai__meta{display:flex;gap:clamp(18px,2.6vw,40px);flex-wrap:wrap;margin-top:18px}
.ai__meta .lbl{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:4px}
.ai__meta b{font-family:var(--display);font-weight:400;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.ai__meta .sub{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:2px}
.ai__meta .fare{font-size:18px;color:var(--goldsoft)}
.ai__actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:22px}
.ai__disclaimer{margin-top:22px;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
@media(max-width:700px){.ai__result.show{grid-template-columns:1fr}}

/* ═════════ JOURNAL (uses shared .card / .cards — .jpost is filter hook only) ═════════ */
.jbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:26px 0 clamp(34px,4vw,48px)}
.jchips{display:flex;gap:8px;flex-wrap:wrap;max-width:640px;justify-content:flex-end}

/* ═════════ CTA / FINALE ═════════ */
.finale{position:relative;text-align:center;padding:clamp(100px,12vw,160px) 24px;overflow:hidden;border-top:1px solid var(--hairsoft);background:radial-gradient(900px 460px at 50% 118%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 62%)}
.finale img{height:clamp(72px,9vw,96px);max-height:96px;max-width:72px;margin:0 auto 22px;filter:drop-shadow(0 14px 36px color-mix(in srgb,var(--gold) 40%,transparent))}
.finale .brandline{display:block;font-size:11px;letter-spacing:.55em;text-transform:uppercase;color:var(--dim);text-indent:.55em;margin-bottom:28px}
.finale h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.2;font-size:clamp(32px,4.8vw,62px);margin:0}
.finale__ctas{margin-top:48px;display:flex;justify-content:center;gap:46px;flex-wrap:wrap;align-items:center}
.finale .tel{margin-top:44px;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--faint)}

/* ═════════ FAQ ═════════ */
.faq-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:clamp(40px,6vw,90px);align-items:start}
.faq-item{border-bottom:1px solid var(--hairsoft);transition:background .25s}
.faq-item:hover{background:rgba(185,132,49,.03)}
.faq-item.open{background:linear-gradient(90deg,rgba(185,132,49,.05),transparent 70%)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 10px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--display);font-weight:400;font-size:15.5px;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;color:var(--ivory)}
.faq-item.open .faq-q{color:var(--goldsoft)}
.faq-q .mark{font-weight:200;font-size:22px;color:var(--goldsoft);flex:none;font-family:var(--body);transition:transform .28s}
.faq-item.open .faq-q .mark{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,.8,.28,1)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden;min-height:0}
.faq-a p{padding:0 8px 26px;color:var(--dim);font-size:16.5px;max-width:640px;margin:0}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* ═════════ JOURNAL POST FAQ ═════════ */
.post-faq{margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3.5vw,40px);border-top:1px solid var(--hairsoft)}
.post-faq__head{margin-bottom:clamp(28px,4vw,44px)}
.post-faq__list{display:flex;flex-direction:column;gap:12px}
.bfaq-item{border:1px solid var(--hairsoft);background:linear-gradient(160deg,rgba(242,239,233,.03),transparent 55%);border-radius:2px;overflow:hidden;transition:border-color .35s}
.bfaq-item.open{border-color:rgba(217,180,106,.35)}
.bfaq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 18px 18px 16px;display:grid;grid-template-columns:1fr 40px;align-items:center;gap:14px;color:var(--ivory)}
.bfaq-t{font-family:var(--display);font-weight:400;font-size:clamp(15px,1.55vw,18px);letter-spacing:.06em;line-height:1.35}
.bfaq-ico{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;flex:none;transition:background .3s,border-color .3s}
.bfaq-ico i{display:block;width:7px;height:7px;border-right:1.5px solid var(--ivory);border-bottom:1.5px solid var(--ivory);transform:rotate(45deg) translate(-1px,-1px);transition:transform .35s cubic-bezier(.22,.8,.28,1)}
.bfaq-item.open .bfaq-ico{background:var(--gold);border-color:var(--gold)}
.bfaq-item.open .bfaq-ico i{border-color:#0a0810;transform:rotate(225deg) translate(-1px,-1px)}
.bfaq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,.8,.28,1)}
.bfaq-item.open .bfaq-a{grid-template-rows:1fr}
.bfaq-a>div{overflow:hidden;min-height:0}
.bfaq-a p{margin:0;padding:0 18px 20px 16px;border-top:1px solid var(--hairsoft);padding-top:16px;color:var(--dim);font-size:15.5px;line-height:1.7}
@media(max-width:560px){
	.bfaq-q{grid-template-columns:1fr 34px;gap:10px;padding:16px 14px}
	.bfaq-a p{padding-left:14px;padding-right:14px}
	.bfaq-ico{width:32px;height:32px}
}

/* ═════════ ROUTES ═════════ */
.routes-table{max-width:980px;margin:0 auto;border-top:1px solid var(--hair)}
.route{display:grid;grid-template-columns:44px 1fr auto auto;gap:clamp(14px,2.6vw,40px);align-items:center;padding:25px 10px;border-bottom:1px solid var(--hairsoft);transition:padding .25s cubic-bezier(.22,.8,.28,1),background .25s,border-color .25s}
.route:hover{padding-left:22px;background:linear-gradient(90deg,rgba(185,132,49,.06),rgba(242,239,233,.02) 50%,transparent);border-bottom-color:color-mix(in srgb,var(--gold) 22%,var(--hairsoft))}
.route .n{font-size:10px;letter-spacing:.2em;color:var(--faint)}
.route .ab{font-family:var(--display);font-size:clamp(15px,1.65vw,20px);letter-spacing:.12em;text-transform:uppercase}
.route .ab em{font-style:normal;color:var(--goldsoft);padding:0 10px}
.route .sub{font-size:13px;letter-spacing:.1em;color:var(--faint);display:block;margin-top:4px}
.route .dist{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);text-align:right}
.route .dist b{font-family:var(--display);font-weight:400;font-size:15px;color:var(--dim);display:block;letter-spacing:.08em}
.route .fare{font-family:var(--display);font-size:clamp(16px,1.8vw,21px);letter-spacing:.08em;text-align:right}
.route .fare small{display:block;font-family:var(--body);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
@media(max-width:700px){
	.route{grid-template-columns:1fr auto;gap:10px 16px;padding:18px 4px}
	.route .n{display:none}
	.route .ab{grid-column:1/-1}
	.route .dist,.route .fare{text-align:left}
	.route:hover{padding-left:4px}
}
.bespoke{margin-top:clamp(36px,4.6vw,50px);text-align:center;border:1px solid color-mix(in srgb,var(--gold) 22%,var(--hairsoft));background:linear-gradient(170deg,rgba(242,239,233,.04),rgba(10,8,16,.4) 60%);padding:clamp(40px,5vw,56px) 30px;max-width:980px;margin-left:auto;margin-right:auto;border-radius:2px;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.bespoke .lux-crest{height:64px;max-height:64px;max-width:50px;margin:0 auto 20px;filter:drop-shadow(0 10px 28px color-mix(in srgb,var(--gold) 35%,transparent))}
.site-footer img.crest{height:52px;max-height:52px;max-width:40px;margin-left:auto;margin-right:auto;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--gold) 35%,transparent))}

/* ═════════ CONTACT ═════════ */
.contact-grid{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(300px,.9fr);gap:clamp(40px,6vw,90px);align-items:start}
.info-cells{display:flex;flex-direction:column;gap:1px;background:var(--hairsoft);border:1px solid var(--hairsoft);border-radius:2px;overflow:hidden}
.info-cells>div{background:linear-gradient(100deg,rgba(242,239,233,.03),var(--night) 45%);padding:28px 32px;transition:background .3s}
.info-cells>div:hover{background:linear-gradient(100deg,rgba(185,132,49,.07),var(--night2) 50%)}
.info-cells .kk{display:block;font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--goldsoft);margin-bottom:10px}
.info-cells b{font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:.1em;display:block;margin-bottom:6px}
.info-cells p{font-size:15px;color:var(--dim);margin:0}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ═════════ FOOTER ═════════ */
.site-footer{border-top:1px solid var(--hairsoft);padding:clamp(56px,7vw,80px) 0 52px;text-align:center}
.site-footer__inner{width:min(1080px,92%);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:36px}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 36px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;text-indent:.32em;max-width:920px}
.footer-nav a{color:var(--dim);transition:color .25s}
.footer-nav a:hover{color:var(--goldsoft)}
.dispatch{width:100%;max-width:480px;border-top:1px solid var(--hairsoft);padding-top:32px;display:flex;flex-direction:column;align-items:center}
.dispatch p{font-family:var(--lede);font-style:italic;font-size:18px;color:var(--dim);margin:10px 0 0;line-height:1.6}
.dispatch form{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:420px;margin:16px auto 0}
.dispatch__row{display:flex;width:100%;border-bottom:1px solid var(--hair)}
.dispatch input{flex:1;background:none;border:none;padding:12px 4px;color:var(--ivory);font-size:14px;font-weight:300;outline:none;min-width:0}
.dispatch button{background:none;border:none;cursor:pointer;font-weight:400;font-size:10px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;padding:0 8px;color:var(--goldsoft);font-family:var(--body)}
/* Hide Google’s reCAPTCHA v3 badge if desired — keep for ToS compliance by default.
   .grecaptcha-badge{visibility:hidden} */
.copyright{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--faint);line-height:2.2}

/* ═════════ DRAWER + MODAL ═════════ */
.veil{position:fixed;inset:0;z-index:290;background:rgba(5,4,8,.6);transition:opacity .25s;opacity:0;pointer-events:none}
.veil.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:300;width:min(580px,100%);max-width:100%;background:var(--night2);border-left:1px solid var(--hairsoft);transition:transform .2s cubic-bezier(.22,.8,.28,1);display:flex;flex-direction:column;transform:translateX(102%);box-sizing:border-box}
.drawer.open{transform:translateX(0)}
.drawer__bar{display:flex;align-items:center;gap:16px;padding:22px clamp(22px,4vw,42px);border-bottom:1px solid var(--hairsoft);flex:none}
.drawer__title{margin-left:auto;font-family:var(--display);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);text-align:right}
.drawer__steps{display:flex;gap:18px;padding:16px clamp(22px,4vw,42px);border-bottom:1px solid var(--hairsoft);flex:none;flex-wrap:wrap}
.drawer__steps span{font-size:9px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;transition:color .3s;color:var(--faint)}
.drawer__steps span.on{color:var(--goldsoft)}
.drawer__body{flex:1;overflow-y:auto;padding:32px clamp(22px,4vw,42px) 60px}
.drawer__body .pane{display:none}
.drawer__body .pane.on{display:block}
.stepk{font-size:10px;letter-spacing:.44em;text-transform:uppercase;color:var(--goldsoft);margin-bottom:22px;display:block}
.trip-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.roundtrip{display:flex;align-items:center;gap:12px;margin:-8px 0 26px;cursor:pointer;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim)}
.roundtrip:hover{color:var(--ivory)}
.roundtrip input{width:15px;height:15px;accent-color:#b98431;cursor:pointer;margin:0;flex:none}
.vrow{width:100%;display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;text-align:left;padding:15px 0;background:none;border:none;border-bottom:1px solid var(--hairsoft);cursor:pointer;color:var(--ivory);font-family:var(--body);transition:all .3s}
.vrow img{width:110px}
.vrow .nm{font-family:var(--display);font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;display:block}
.vrow .sb{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:4px;display:block}
.vrow .pr{font-family:var(--display);font-size:13px;letter-spacing:.08em;white-space:pre}
.vrow.sel{border-bottom-color:var(--gold)}
.vrow.sel .nm,.vrow.sel .pr{color:var(--goldsoft)}
.drawer__nav{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:16px;flex-wrap:wrap}
.linkback{background:none;border:none;padding:0;cursor:pointer;color:var(--dim);font-family:var(--body);font-weight:300;font-size:10px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase}
.linkback:hover{color:var(--goldsoft)}
.sumrow{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid var(--hairsoft)}
.sumrow .lbl{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--faint);padding-top:4px;flex:none}
.sumrow b{font-weight:300;font-size:15px;text-align:right}
.sumrow .fare{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:.06em;color:var(--goldsoft)}
.fineprint{margin:16px 0 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);text-align:center;line-height:2.2}
.booked{text-align:center;padding:60px 0}
.booked .rule{width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);display:block;margin:0 auto}
.booked h3{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.2em;text-transform:uppercase;margin:22px 0 14px}
.booked p{color:var(--dim);font-size:16px;max-width:360px;margin:0 auto}
/* display:none until opened — opacity-only hide still lets iOS Keychain
   treat the homepage as a login page and pop “Fill Password”. */
.modal-veil{position:fixed;inset:0;z-index:390;background:rgba(5,4,8,.7);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));box-sizing:border-box}
.modal-veil.show{display:flex}
.modal{background:var(--night2);border:1px solid var(--hairsoft);width:min(560px,100%);max-height:min(86vh,calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));overflow-y:auto;padding:clamp(30px,5vw,50px);position:relative;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.modal__x{position:absolute;top:16px;right:20px;font-size:20px;color:var(--faint);background:none;border:none;cursor:pointer;font-family:var(--body)}
.modal__x:hover{color:var(--goldsoft)}
.modal h3{font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px}
.modal .intro{color:var(--dim);font-size:15.5px;margin:0 0 28px}

/* ═════════ PAGE HERO (inner pages) ═════════ */
.page-hero{padding:clamp(150px,16vw,210px) 0 clamp(40px,5vw,60px);background:radial-gradient(900px 460px at 70% 0%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 62%)}
.page-hero .h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.14em;line-height:1.15;font-size:clamp(34px,4.4vw,58px);margin:18px 0 0}

/* Services / Industries — split hero (copy | photo) */
.page-hero--split{padding:clamp(120px,12vw,168px) 0 clamp(48px,5vw,72px);background:radial-gradient(720px 420px at 18% 20%,color-mix(in srgb,var(--gold) 9%,transparent),transparent 58%),linear-gradient(105deg,var(--night) 0%,var(--night) 42%,var(--night2) 100%);overflow:hidden}
.page-hero__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:center}
.page-hero__kicker{letter-spacing:.42em;margin-bottom:4px}
.page-hero__lede{margin-top:22px;max-width:34rem;color:var(--dim);font-size:clamp(16px,1.55vw,18.5px);line-height:1.75}
.page-hero__ctas{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:clamp(26px,3vw,36px)}
.page-hero__visual{position:relative;min-width:0}
.page-hero__visual::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--night) 0%,transparent 28%),linear-gradient(180deg,transparent 70%,var(--night) 100%);opacity:.55}
.page-hero__photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border:1px solid var(--hairsoft);border-radius:2px;box-shadow:0 28px 60px rgba(0,0,0,.45)}
@media(max-width:900px){
	.page-hero__split{grid-template-columns:1fr;gap:28px}
	.page-hero--split{padding-top:clamp(110px,22vw,140px)}
	.page-hero__visual::before{background:linear-gradient(180deg,transparent 55%,var(--night) 100%);opacity:.4}
	.page-hero__photo{aspect-ratio:16/10}
}

/* Why band — photo | checklist (detail pages + home) */
.detail-why{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:min(520px,70vw);border-top:1px solid var(--hairsoft);border-bottom:1px solid var(--hairsoft);background:var(--night);overflow:hidden}
.detail-why--site{min-height:0;border:1px solid var(--hairsoft);border-radius:2px}
.detail-why__media{position:relative;min-height:clamp(280px,40vw,520px);background:var(--night3);isolation:isolate}
.detail-why__media img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center;position:absolute;inset:0}
.detail-why--site .detail-why__media{min-height:clamp(260px,36vw,420px)}
.detail-why__copy{padding:clamp(36px,5vw,64px) clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,rgba(242,239,233,.03),transparent 50%),var(--night)}
.detail-why__title{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.2vw,40px);letter-spacing:.1em;text-transform:uppercase;line-height:1.25;margin:0 0 clamp(22px,3vw,34px);color:var(--ivory)}
.detail-why__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.detail-why__list li{display:flex;gap:14px;align-items:flex-start;color:var(--dim);font-size:clamp(15px,1.45vw,17px);line-height:1.55;letter-spacing:.02em}
.detail-why__check{flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;border:1px solid var(--gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent);position:relative}
.detail-why__check::after{content:"";position:absolute;left:6px;top:4px;width:7px;height:11px;border-right:1.5px solid var(--goldsoft);border-bottom:1.5px solid var(--goldsoft);transform:rotate(40deg)}
@media(max-width:900px){
	.detail-why{grid-template-columns:1fr}
	.detail-why__media{min-height:240px;aspect-ratio:16/10}
	.detail-why__media img{position:absolute}
}

/* ═════════ 16:9 MEDIA (all content photos — pixel-consistent) ═════════ */
.lux-169{display:block;width:100%;max-width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--night3);line-height:0;position:relative}
.lux-169 img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;margin:0;padding:0;max-width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}
.lux-169--hero{margin-top:clamp(28px,3.6vw,44px);max-width:100%}
/* Journal single: frame hugs the 1200×630 image — no letterbox gap under the photo */
.lux-169--post{aspect-ratio:auto;height:auto;overflow:visible;background:transparent}
.lux-169--post img{height:auto;object-fit:unset;object-position:center;max-width:100%}
.card .lux-169--card + .k,.card .lux-169--card + .rn{margin-top:2px}
.single-post .page-hero{padding-bottom:clamp(16px,2vw,28px)}
.single-post .lux-post{padding-top:clamp(12px,1.6vw,22px)!important}

/* Blog post body (Travel Guide) — matches former article page typography */
.lux-post .wrap h2{font-family:var(--display);font-weight:400;font-size:clamp(19px,2vw,25px);letter-spacing:.14em;text-transform:uppercase;margin:clamp(28px,3.6vw,44px) 0 18px}
.lux-post .wrap p{color:var(--dim);font-size:17.5px;line-height:1.9;margin:0 0 18px}
.lux-post .wrap .trust-list{margin:clamp(26px,3vw,36px) 0 0}
.lux-post .wrap ul:not(.trust-list),
.lux-post .wrap ol{
  color:var(--dim);font-size:17.5px;line-height:1.75;margin:0 0 22px;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:12px
}
.lux-post .wrap ul:not(.trust-list) li,
.lux-post .wrap ol li{
  position:relative;padding-left:1.35em;margin:0
}
.lux-post .wrap ul:not(.trust-list) li::before{
  content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;
  background:var(--goldsoft);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent)
}
.lux-post .wrap ol{counter-reset:lux-ol}
.lux-post .wrap ol li{counter-increment:lux-ol;padding-left:1.7em}
.lux-post .wrap ol li::before{
  content:counter(lux-ol,decimal-leading-zero);position:absolute;left:0;top:0;
  font-family:var(--display);font-size:12px;letter-spacing:.08em;color:var(--goldsoft);line-height:1.75
}
.lux-post .wrap li ul,
.lux-post .wrap li ol{margin:10px 0 0;gap:8px}
.lux-post .wrap strong,.lux-post .wrap b{color:var(--ivory);font-weight:500}

/* Comparison / data tables — night + gold hairlines */
.lux-post .wrap .wp-block-table,
.lux-post .wrap .table-wrap{margin:0 0 28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.lux-post .wrap table{
  width:100%;border-collapse:collapse;margin:0 0 28px;
  font-size:15.5px;line-height:1.55;color:var(--dim);
  border:1px solid var(--hairsoft);background:linear-gradient(160deg,rgba(242,239,233,.03),transparent 55%)
}
.lux-post .wrap .wp-block-table table{margin:0}
.lux-post .wrap thead th,
.lux-post .wrap table > tbody > tr:first-child > th{
  font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--goldsoft);background:rgba(185,132,49,.08);border-bottom:1px solid color-mix(in srgb,var(--gold) 28%,transparent);
  text-align:left;padding:16px 18px;vertical-align:bottom
}
.lux-post .wrap th,
.lux-post .wrap td{
  padding:14px 18px;border-bottom:1px solid var(--hairsoft);border-right:1px solid var(--hairsoft);
  text-align:left;vertical-align:top
}
.lux-post .wrap th:last-child,
.lux-post .wrap td:last-child{border-right:none}
.lux-post .wrap tbody tr:last-child th,
.lux-post .wrap tbody tr:last-child td{border-bottom:none}
.lux-post .wrap tbody tr:nth-child(even) td{background:rgba(242,239,233,.02)}
.lux-post .wrap tbody th{
  font-family:var(--body);font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);
  background:rgba(242,239,233,.03);white-space:nowrap
}
.lux-post .wrap figure.wp-block-table{margin:0 0 28px}
.lux-post .wrap figcaption{
  margin-top:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)
}

/* Two-column comparison blocks (Gutenberg columns) */
.lux-post .wrap .wp-block-columns{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);
  margin:0 0 28px;align-items:stretch
}
.lux-post .wrap .wp-block-column{
  border:1px solid var(--hairsoft);padding:clamp(18px,2.2vw,26px);
  background:linear-gradient(168deg,rgba(242,239,233,.035),transparent 60%)
}
.lux-post .wrap .wp-block-column > *:last-child{margin-bottom:0}
.lux-post .wrap .wp-block-column h3,
.lux-post .wrap .wp-block-column h4{
  font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--goldsoft);margin:0 0 14px
}
@media(max-width:720px){
  .lux-post .wrap .wp-block-columns{grid-template-columns:1fr}
  .lux-post .wrap table{font-size:14.5px}
  .lux-post .wrap th,.lux-post .wrap td{padding:12px 14px}
}
/* Full-width article column — kill left/right floats that leave an empty side gap */
.lux-post .wrap::after{content:"";display:table;clear:both}
.lux-post .wrap .alignleft,
.lux-post .wrap .alignright,
.lux-post .wrap .aligncenter,
.lux-post .wrap .wp-caption.alignleft,
.lux-post .wrap .wp-caption.alignright,
.lux-post .wrap .wp-block-image.alignleft,
.lux-post .wrap .wp-block-image.alignright,
.lux-post .wrap .wp-block-image .alignleft,
.lux-post .wrap .wp-block-image .alignright{
  float:none!important;display:block;margin-left:0!important;margin-right:0!important;max-width:100%;width:auto!important
}
.lux-post .wrap img{max-width:100%;height:auto}

/* Inline reserve CTAs injected mid-article */
.lux-inline-cta{
  margin:clamp(28px,3.6vw,44px) 0;
  padding:clamp(22px,2.8vw,32px) clamp(20px,2.4vw,34px);
  border:1px solid var(--hairsoft);
  background:linear-gradient(160deg,rgba(242,239,233,.04),transparent 55%) var(--night);
  display:flex;flex-direction:column;align-items:flex-start;gap:18px
}
.lux-inline-cta__line{
  margin:0!important;max-width:38em;
  font-family:var(--lede);font-style:italic;font-size:clamp(17px,1.55vw,20px);
  color:var(--dim);line-height:1.55
}
.lux-inline-cta .btn{align-self:flex-start}
@media(max-width:560px){
  .lux-inline-cta{padding:20px 16px;gap:14px}
  .lux-inline-cta .btn{width:100%;text-align:center}
}

.legal h2,.legal h3,.legal h4{font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--goldsoft);margin:26px 0 8px}
.legal p,.legal li{font-size:15.5px;color:var(--dim);margin:0}
.legal ul{padding-left:18px;margin:0;display:flex;flex-direction:column;gap:6px}

/* ═════════ DISPATCH BAND · LINKED CARDS · CHAUFFEUR DOCS ═════════ */
.dispatch-band{border-top:1px solid var(--hairsoft);padding:clamp(56px,7vw,84px) 24px;text-align:center;background:radial-gradient(700px 360px at 50% 120%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 62%)}
.dispatch-band .dispatch{border-top:none;padding-top:0;max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
a.card{color:var(--ivory);text-decoration:none}
a.card:hover{color:var(--ivory)}
a.chip{display:inline-block}
a.chip:hover{border-color:var(--gold);color:var(--goldsoft)}
.doc-rows{display:flex;flex-direction:column;gap:1px;background:var(--hairsoft);border:1px solid var(--hair)}
.doc-row{background:var(--night);padding:22px 26px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;cursor:pointer;transition:background .35s}
.doc-row:hover{background:var(--night2)}
.doc-row .dn{display:block;font-family:var(--display);font-size:13.5px;letter-spacing:.18em;text-transform:uppercase}
.doc-row .dh{display:block;font-size:11.5px;color:var(--faint);margin-top:4px}
.doc-row .ds{font-size:10px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;white-space:nowrap;color:var(--dim)}
.doc-row.done .ds{color:var(--goldsoft)}

/* ── AI trip planner (itinerary) ── */
.ai__itin{display:none;margin-top:26px;border-top:1px solid var(--hairsoft);padding-top:26px}
.ai__itin.show{display:block}
.ai__days{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--hairsoft);border:1px solid var(--hairsoft);margin-top:22px}
.ai__day{background:var(--night);padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.ai__day-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--hairsoft);padding-bottom:12px}
.ai__day-h b{font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--goldsoft)}
.ai__day-h span{font-family:var(--lede);font-style:italic;font-size:14.5px;color:var(--dim)}
.ai__stop{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:baseline}
.ai__stop i{font-style:normal;font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.ai__stop b{display:block;font-weight:400;font-size:14px;letter-spacing:.04em}
.ai__stop em{display:block;font-style:normal;font-size:11.5px;color:var(--faint);margin-top:2px}
.ai__day-book{margin-top:auto;background:none;border:1px solid var(--hairsoft);color:var(--dim);cursor:pointer;font-family:var(--body);font-weight:300;font-size:9.5px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;padding:12px 10px;transition:all .3s}
.ai__day-book:hover{border-color:var(--gold);color:var(--goldsoft)}
.ai__rec{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}

/* ── Address autocomplete (Google Places) ── */
.lux-ac{position:relative;display:block}
.lux-ac__dd{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:var(--night2);border:1px solid var(--hair);box-shadow:0 24px 50px rgba(0,0,0,.55);display:none;max-height:290px;overflow-y:auto}
.lux-ac__dd.on{display:block}
.lux-ac__label{padding:10px 16px 4px;font-size:8.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--goldsoft)}
.lux-ac__row{display:flex;gap:12px;align-items:baseline;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--hairsoft);cursor:pointer;padding:12px 16px;color:var(--ivory);font-family:var(--body);font-weight:300;min-height:44px}
.lux-ac__row:hover,.lux-ac__row.on{background:rgba(185,132,49,.09)}
.lux-ac__row i{font-style:normal;color:var(--goldsoft);font-size:11px;flex:none}
.lux-ac__row b{display:block;font-weight:400;font-size:14px;letter-spacing:.04em}
.lux-ac__row em{display:block;font-style:normal;font-size:11.5px;color:var(--faint);margin-top:2px}
.lux-ac__foot{padding:8px 16px;font-size:9px;letter-spacing:.18em;color:var(--faint);text-align:right}

/* ── Customer portal ── */
.portal{display:grid;grid-template-columns:210px 1fr;gap:clamp(28px,3.6vw,54px);align-items:start}
.portal-nav{display:flex;flex-direction:column;border:1px solid var(--hairsoft);position:sticky;top:120px}
.portal-nav a{padding:13px 18px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--hairsoft);transition:all .25s}
.portal-nav a:last-child{border-bottom:none}
.portal-nav a:hover{color:var(--ivory);background:rgba(185,132,49,.06)}
.portal-nav a.on{color:var(--goldsoft);background:rgba(185,132,49,.1)}
.portal-body{min-width:0}
.portal-id{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.portal-signout{padding:9px 20px;font-size:9px;letter-spacing:.34em;white-space:nowrap}
.auth-card{border:1px solid var(--hairsoft);background:var(--night2);padding:clamp(26px,5vw,42px)}
.auth-card-tabs .chip{flex:1;text-align:center;justify-content:center}
.portal-flash{border:1px solid rgba(185,132,49,.4);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);background:rgba(185,132,49,.09);background:color-mix(in srgb,var(--gold) 9%,transparent);color:var(--goldpale);font-size:12px;letter-spacing:.08em;padding:12px 16px;margin-bottom:26px}
.portal-sub{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--goldsoft);margin:clamp(30px,4vw,44px) 0 16px}
.portal-note{color:var(--dim);font-size:15.5px;max-width:640px;margin:0 0 18px}
.portal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--hairsoft);border:1px solid var(--hairsoft)}
.pcard{background:var(--night);padding:24px 20px;display:flex;flex-direction:column;gap:10px;color:var(--ivory);text-decoration:none;text-align:left;border:none;cursor:pointer;font-family:var(--body);transition:background .25s}
.pcard:hover{background:#120e19}
.pcard b{font-family:var(--display);font-weight:400;font-size:26px;color:var(--goldsoft);line-height:1}
.pcard span{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);line-height:1.8}
.portal-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.portal-empty{border:1px solid var(--hairsoft);padding:clamp(34px,4vw,50px) 26px;text-align:center}
.portal-empty p{font-family:var(--lede);font-style:italic;font-size:19px;color:var(--dim);margin:0 0 22px}
.portal-table{border-top:1px solid var(--hair)}
.prow{display:flex;gap:clamp(14px,2.4vw,30px);align-items:baseline;padding:16px 6px;border-bottom:1px solid var(--hairsoft);color:var(--ivory);text-decoration:none;flex-wrap:wrap}
.prow .grow{flex:1;min-width:180px}
.prow b{display:block;font-weight:400;font-size:13.5px;letter-spacing:.05em}
.prow em{display:block;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:4px}
.prow .gold,.gold{color:var(--goldsoft)}
a.prow:hover{background:rgba(185,132,49,.05)}
.pactions{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.pactions a,.pactions button{background:none;border:none;cursor:pointer;padding:0;font-family:var(--body);font-weight:300;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--hairsoft);padding-bottom:4px;transition:color .25s}
.pactions a:hover,.pactions button:hover{color:var(--goldsoft)}
.pactions form{margin:0;display:inline}
.ride-card{border:1px solid var(--hairsoft);background:linear-gradient(160deg,rgba(242,239,233,.02),transparent 55%);padding:clamp(22px,2.8vw,34px);margin-top:22px}
.ride-card__head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid var(--hairsoft);padding-bottom:16px;flex-wrap:wrap}
.ride-status{font-size:10px;letter-spacing:.32em;text-transform:uppercase}
.ride-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 30px;padding:20px 0 4px}
.ride-card__grid i{display:block;font-style:normal;font-size:8.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.ride-card__grid b{font-weight:400;font-size:14px;letter-spacing:.04em;line-height:1.6}
.ride-card__foot{display:flex;gap:18px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--hairsoft);padding-top:20px;margin-top:18px}
.fare-rows div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--hairsoft)}
.fare-rows span{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.fare-rows b{font-weight:400;font-size:14px}
.fare-rows .total b{font-family:var(--display);font-size:18px}
.timeline div{display:grid;grid-template-columns:14px 1fr auto;gap:14px;align-items:baseline;padding:9px 0}
.timeline i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px color-mix(in srgb,var(--gold) 60%,transparent);display:block;position:relative;top:-1px}
.timeline span{font-size:13.5px;letter-spacing:.04em}
.timeline em{font-style:normal;font-size:10px;letter-spacing:.16em;color:var(--faint)}
.portal-check{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--hairsoft);font-size:13.5px;color:var(--dim);cursor:pointer}
.portal-check input{accent-color:var(--gold);width:15px;height:15px}
.fb-forms{border-bottom:1px solid var(--hairsoft)}
.fb-form{display:none;gap:12px;padding:14px 6px;flex-wrap:wrap;align-items:center}
.fb-form.on{display:flex}
.fb-form input[type=text]{flex:1;min-width:200px;background:none;border:none;border-bottom:1px solid var(--hair);color:var(--ivory);font-family:var(--body);font-weight:300;font-size:14px;padding:9px 2px;outline:none}
.fb-form select{background:var(--night2);border:1px solid var(--hair);color:var(--goldsoft);font-family:var(--body);font-size:13px;padding:9px 10px;outline:none}
.cancel-veil{position:fixed;inset:0;background:rgba(5,3,8,.78);backdrop-filter:blur(8px);z-index:210;display:none;align-items:center;justify-content:center;padding:20px}
.cancel-veil.on{display:flex}
.cancel-box{background:var(--night2);border:1px solid var(--hair);max-width:520px;width:100%;padding:clamp(26px,3.4vw,40px);max-height:90vh;overflow-y:auto}
.cancel-facts{display:flex;flex-direction:column;gap:8px;border:1px solid var(--hairsoft);padding:16px 18px;font-size:13px;color:var(--dim)}
.invoice{border:1px solid var(--hairsoft);padding:clamp(24px,3vw,40px);background:linear-gradient(160deg,rgba(242,239,233,.02),transparent 55%)}
.invoice__head{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--hair);padding-bottom:18px}
.invoice__head b{display:block;font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:.14em;text-transform:uppercase}
.invoice__head em{display:block;font-style:normal;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-top:5px}
@media print{
  .topbar,.portal-nav,.ride-card__foot,.portal-flash,.footer,.veil,.drawer{display:none !important}
  body{background:#fff;color:#000}
  .invoice{border-color:#ccc}
  .invoice *,.fare-rows *{color:#000 !important}
}
@media (max-width:860px){
  .portal{grid-template-columns:1fr}
  .portal-nav{position:static;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .portal-nav a{white-space:nowrap;border-bottom:none;border-right:1px solid var(--hairsoft);padding:12px 14px}
  .portal-nav a[href*="wp-login"]{color:var(--goldsoft)}
}

/* ═════════ TABLET ═════════ */
@media (max-width:980px){
  .jcard{padding:clamp(28px,4vw,40px) 22px;min-width:0}
  .jcard .lux-169{max-width:100%}
  .values>div{padding:24px 22px;grid-template-columns:36px 1fr;gap:14px}
  .ledger__row{gap:16px 20px;padding:18px 8px;grid-template-columns:minmax(130px,200px) 1fr minmax(140px,auto)}
  .ledger__car{overflow:hidden;min-width:0}
  .hero__stats span{letter-spacing:.22em}
  .prow .grow,.fb-form input[type=text]{min-width:0}
}

/* ═════════ MOBILE — iPhone & small screens ═════════ */
@media (max-width:760px){
  /* Kill horizontal scroll / stray hairlines from overflow */
  html,body{overflow-x:clip;max-width:100%}
  .sec,.page-hero,.finale,.site-footer,.strip,.dispatch-band,.hero{max-width:100%;overflow-x:clip}
  .cards,.jgrid,.ledger,.house-grid,.trust-grid,.faq-grid,.contact-grid{max-width:100%;min-width:0}

  /* Top bar — hamburger left, brand centered, Reserve right */
  .announce{height:30px;font-size:8px;letter-spacing:.18em;padding:0 10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .topbar__row{height:56px;padding:0 12px;gap:6px;max-width:100%}
  .tb-tel{display:none}
  .topbar__cluster{gap:10px;min-width:0}
  .topbar__cluster--r .tb-link[data-auth-open]{display:none}
  .tb-link{font-size:9px;letter-spacing:.22em;text-indent:0;gap:8px}
  .topbar .bars{width:18px;flex:none}
  .brand{flex-direction:row;align-items:center;gap:8px;min-width:0;max-width:100%}
  .brand img{height:40px;max-height:40px;max-width:32px}
  .menu__logo img{height:64px;max-height:64px;max-width:50px}
  .menu__foot img{height:56px;max-height:56px;max-width:44px}
  .finale img{height:72px;max-height:72px;max-width:56px}
  .bespoke .lux-crest{height:56px;max-height:56px;max-width:44px}
  .brand b{font-size:8px;letter-spacing:.18em;text-indent:0;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
  .tb-reserve{padding:9px 11px;white-space:nowrap;flex:none}

  /* Section rhythm */
  .sec{padding:56px 0}
  .page-hero{padding:118px 0 34px}
  .lux-169--hero{max-width:100%}
  .sec-head{gap:14px;padding-bottom:20px}
  .num-label{font-size:10px;letter-spacing:.28em}
  .h2{letter-spacing:.1em;word-break:break-word}
  .lede{max-width:100%}

  .jcard{padding:28px 18px}
  .jcard__art,.skyline{height:160px}

  /* Forms stack to one column (contact, drawer, chauffeur application) */
  .grid-2{grid-template-columns:1fr;gap:22px}
  .field label{font-size:9px;letter-spacing:.32em}
  .info-cells>div{padding:22px 18px}

  /* AI Concierge — stacked ask form, full-width tappable chips */
  .ai__box{padding:22px 16px;max-width:100%}
  .ai__form{grid-template-columns:1fr;gap:12px}
  .ai__form input{padding:15px 14px;font-size:15px;min-width:0}
  .ai__form .btn--gold{padding:16px 10px;width:100%}
  .ai__chips{flex-direction:column;align-items:stretch}
  .ai__chips button{text-align:left;padding:12px 14px;font-size:12.5px}
  .ai__actions{flex-wrap:wrap}
  .ai__actions .btn{flex:1 1 auto;text-align:center;min-width:0}
  .ai__disclaimer{font-size:8px;letter-spacing:.18em;line-height:2}
  .ai__days{grid-template-columns:1fr}

  /* Travel guide / journal chips */
  .jbar{flex-direction:column;align-items:stretch;gap:18px}
  .jchips{justify-content:flex-start;max-width:none;gap:7px}
  .chip{padding:10px 15px;font-size:8.5px;letter-spacing:.22em;text-indent:.22em}

  /* Fleet ledger */
  .ledger__row{grid-template-columns:96px minmax(0,1fr);padding:16px 6px;gap:12px 14px}
  .ledger__name{font-size:15px;letter-spacing:.1em;word-break:break-word}
  .ledger__foot{font-size:8.5px;letter-spacing:.18em;padding:12px 4px 0}
  .ledger__car img{max-width:100%}
  .ledger__fare{grid-column:2}

  /* Hero */
  .hero{min-height:100svh}
  .hero__grid{padding:120px 0 28px;gap:28px}
  .hero h1{font-size:clamp(30px,8.4vw,42px);letter-spacing:.08em}
  .hero__ctas{gap:18px;margin-top:28px}
  .hero__stats{margin-top:28px;width:100%}
  .hero__stats>div{padding:4px 12px;flex:1 1 auto;min-width:0}
  .hero__stats span{letter-spacing:.16em;font-size:8.5px}
  .hero__crest{height:min(420px,70vw);max-width:90%}
  .slide--alt{padding:0 8px}
  .slide--alt h2{font-size:clamp(26px,7vw,40px);letter-spacing:.1em}

  /* Footer — tighter nav, smaller crest, dispatch band */
  .site-footer{padding:48px 0 36px}
  .site-footer__inner{gap:26px;max-width:100%}
  .site-footer img.crest{height:44px;max-height:44px;max-width:34px}
  .footer-nav{gap:12px 18px;font-size:9px;letter-spacing:.2em;text-indent:.2em;max-width:100%}
  .copyright{font-size:8.5px;letter-spacing:.2em;line-height:2.3;padding:0 8px}
  .dispatch-band{padding:46px 16px;max-width:100%}
  .dispatch form{max-width:100%}

  /* Misc — buttons, drawer, portal */
  .btn--big{padding:16px 24px;font-size:10.5px;letter-spacing:.3em;text-indent:.3em}
  .drawer__body{padding:24px 18px 48px}
  .drawer__bar,.drawer__steps{padding-left:18px;padding-right:18px}
  .drawer__steps{gap:10px}
  .drawer__steps span{letter-spacing:.18em;font-size:8px}
  .vrow{grid-template-columns:88px minmax(0,1fr) auto;gap:12px}
  .vrow img{width:88px;max-width:100%}
  .portal-id{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-top:8px}
  .portal-signout{padding:10px 16px}
  .auth-card{padding:24px 18px;max-width:100%}
  .bespoke{padding:32px 18px;max-width:100%}
  .lux-inline-cta{padding:20px 16px;max-width:100%}
  .route:hover{padding-left:4px}
}

/* Extra-narrow phones */
@media (max-width:380px){
  .wrap,.hero__grid{width:calc(100% - 24px)}
  .brand b{display:none}
  .tb-reserve{padding:8px 9px;font-size:8px;letter-spacing:.18em}
  .card{padding:16px}
}

/* ── Accessibility: skip link + visible keyboard focus ── */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--gold);color:#0a0810;padding:10px 18px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.skip-link:focus{left:12px;top:12px;outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Agent booking form — name/email, then phone on its own row */
#agent-book{max-width:100%}
#agent-book .agent-pass,
#agent-book .agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px 26px;margin-bottom:34px}
#agent-book .agent-pass{margin-bottom:22px}
#agent-book .agent-grid--fare{margin-bottom:14px}
#agent-book .agent-phone{margin:0 0 34px;min-width:0}
#agent-book .agent-phone__row{display:flex;align-items:flex-end;gap:12px;min-width:0}
#agent-book .agent-phone__row select.lux-cc{flex:0 0 9.5rem;width:9.5rem;max-width:42%;min-width:0}
#agent-book .agent-phone__row input[type=tel]{flex:1 1 auto;width:auto;min-width:0}
#agent-book .agent-trips{display:flex;gap:14px 22px;margin-bottom:20px;flex-wrap:wrap}
#agent-book .agent-trips label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;letter-spacing:.04em;min-width:0}
#agent-book .agent-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media (max-width:560px){
  #agent-book .agent-pass{grid-template-columns:1fr;gap:22px}
  #agent-book .agent-phone__row{gap:10px}
  #agent-book .agent-phone__row select.lux-cc{flex-basis:7.5rem;width:7.5rem;max-width:46%}
  #agent-book .agent-trips label{font-size:14px;letter-spacing:.02em}
  #agent-book .agent-actions{flex-direction:column;align-items:stretch}
  #agent-book .agent-actions .btn{width:100%;text-align:center;box-sizing:border-box;padding-left:12px;padding-right:12px;letter-spacing:.18em;text-indent:0}
}

/* v3.2: the hidden attribute always wins over component display rules */
[hidden]{display:none!important}
