:root{--ink:#0e0f12;--ink2:#192026;--ink3:#222a31;--site-dark:#192026;--site-light:#f5f5f5;--gold:#D7B65D;--gold2:#c9a547;--amber:#e0a04a;--muted:#9aa0a8;--line:rgba(255,255,255,.1);--green:#25D366;
--serif:"Taviraj",Georgia,"Times New Roman",serif;--sans:"Mulish",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--bar:64px;--hdr:64px}
*{box-sizing:border-box}
html,body{margin:0;-webkit-text-size-adjust:100%}
html:has(body.aclass-home),body.aclass-home{background:var(--ink);color:#e9eaec;font:400 16px/1.7 var(--sans)}
:where(.aclass-home) a{color:inherit;text-decoration:none}
:where(.aclass-home) :is(h1,h2,h3){font-family:var(--serif);font-weight:500;letter-spacing:-.5px;color:#fff;line-height:1.08;margin:0 0 .4em}
:where(.aclass-home) p{margin:0 0 .8em}
:where(.aclass-home) img{max-width:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ribbon + header */
.ribbon{position:fixed;inset:0 0 auto 0;z-index:100;background:#e0632b;color:#fff;font:800 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:5px 8px}
.hdr{position:fixed;left:0;right:0;top:21px;z-index:90;height:var(--hdr);display:flex;align-items:center;gap:10px;padding:0 18px;background:linear-gradient(180deg,rgba(8,9,11,.88),rgba(8,9,11,0))}
.hdr img{height:46px;width:auto}
.hdr .r{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav{display:none;gap:30px;margin-left:46px;font:400 14px/1 var(--sans);text-transform:uppercase;letter-spacing:.02em}.nav a:hover{color:var(--gold)}
@media (min-width:1100px){.nav{display:flex}}
.ph-link{display:none;font:800 15px/1 var(--sans);color:#fff}
.ph-link small{display:block;color:var(--gold);font-size:10.5px;letter-spacing:.1em;margin-bottom:4px}
.ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center}
svg.i{width:18px;height:18px;fill:currentColor}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:0;font:500 17px/1 var(--serif);letter-spacing:-.5px;cursor:pointer;border:0;white-space:nowrap}
.gold{background:var(--gold);color:#192026}.gold:hover{background:var(--gold2)}
.ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.2)}
.sm{min-height:42px;padding:0 18px;font-size:15px}
@media (min-width:768px){.ph-link{display:block}.ic{display:none}}

/* ===== STORY ===== */
.story{position:relative;height:900vh;background:#000}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.scene,.video,.poster{position:absolute;inset:0;width:100%;height:100%}
.video{object-fit:cover;opacity:0;transition:opacity .5s}
.video.on{opacity:1}
.scene{opacity:0;will-change:opacity,transform}
.scene .lbl{position:absolute;right:calc(18px + 3%);bottom:calc(18px + 3%);max-width:46ch;font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42);text-align:right}
.scene .lbl b{display:block;color:rgba(215,182,93,.75);font-size:13px}
/* placeholder art: palette only (black/anthracite, amber, #D7B65D, white). Subject on the RIGHT on desktop, calm dark LEFT for text. */
.s0{background:radial-gradient(circle at 72% 62%,rgba(224,160,74,.55) 0 3px,transparent 4px),radial-gradient(circle at 80% 58%,rgba(120,160,220,.45) 0 3px,transparent 4px),radial-gradient(circle at 88% 64%,rgba(224,160,74,.5) 0 2px,transparent 3px),radial-gradient(ellipse 34% 46% at 74% 50%,#2a2f38 0,#15181d 70%,transparent 72%),linear-gradient(90deg,#060708 0 40%,#101216)}
.s1{background:radial-gradient(ellipse 22% 40% at 74% 52%,rgba(215,182,93,.28),transparent 70%),radial-gradient(circle at 60% 30%,rgba(224,160,74,.18),transparent 30%),linear-gradient(90deg,#08090b 0 38%,#1a1712 100%)}
.s2{background:radial-gradient(ellipse 30% 55% at 78% 45%,rgba(255,244,220,.22),transparent 70%),repeating-linear-gradient(90deg,transparent 0 120px,rgba(255,255,255,.03) 120px 122px),linear-gradient(90deg,#07080a 0 35%,#1b1d22)}
.s3{background:radial-gradient(ellipse 32% 18% at 72% 70%,#000 0 60%,transparent 62%),radial-gradient(ellipse 40% 10% at 72% 82%,rgba(215,182,93,.25),transparent 70%),radial-gradient(ellipse 35% 30% at 74% 40%,rgba(224,160,74,.18),transparent 70%),linear-gradient(180deg,#0c0e12 0 60%,#15171b 60% 100%)}
.s4{background:radial-gradient(ellipse 10% 34% at 70% 52%,#0a0a0b 0 70%,transparent 72%),radial-gradient(ellipse 26% 40% at 80% 55%,rgba(255,214,140,.22),transparent 70%),linear-gradient(90deg,#07080a 0 40%,#16171b)}
.s5{background:radial-gradient(ellipse 30% 30% at 72% 60%,rgba(215,182,93,.22),transparent 70%),linear-gradient(160deg,#0a0a0b 0 45%,#1b1813 100%)}
.s6{background:repeating-linear-gradient(100deg,transparent 0 60px,rgba(224,160,74,.06) 60px 64px),radial-gradient(ellipse 30% 40% at 76% 55%,rgba(255,255,255,.07),transparent 70%),linear-gradient(90deg,#060708 0 40%,#121418)}
.s7{background:linear-gradient(180deg,transparent 0 58%,rgba(224,160,74,.12) 60%,transparent 64%),repeating-linear-gradient(90deg,#0b0c0f 0 18px,#14161b 18px 22px,#0b0c0f 22px 40px) right 0 top 40%/55% 18% no-repeat,linear-gradient(180deg,#07080b 0,#101318 100%)}
.s8{background:radial-gradient(circle at 70% 64%,rgba(255,200,120,.75) 0 4px,rgba(255,200,120,.18) 18px,transparent 60px),linear-gradient(180deg,transparent 0 55%,#121418 55% 78%,#0b0c0e 78%),linear-gradient(180deg,#05060a,#0d1016 55%)}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.6) 0,rgba(0,0,0,.25) 45%,transparent 70%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 30%)}
.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}

/* beats (text): desktop left column */
.beat{position:absolute;left:clamp(20px,6vw,96px);top:50%;width:min(520px,42vw);transform:translateY(-50%);opacity:0;will-change:opacity,transform;pointer-events:none}
.beat h2{font-size:clamp(30px,3.6vw,54px);text-shadow:0 2px 24px rgba(0,0,0,.5)}
.beat p{font-size:clamp(17px,1.4vw,21px);color:#e2e3e5;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.beat .num{display:block;font:italic 300 20px/1 var(--serif);color:var(--gold);margin-bottom:12px}

/* phone UI layers (kept as editable HTML per brief section 6) */
.ui{position:absolute;opacity:0;pointer-events:none;will-change:opacity,transform}
.msg{left:auto;right:clamp(20px,12vw,220px);top:50%;width:min(340px,80vw);transform:translateY(-50%);background:rgba(28,29,33,.92);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:14px 16px;box-shadow:0 20px 60px rgba(0,0,0,.5);backdrop-filter:blur(10px)}
.msg .top{display:flex;justify-content:space-between;font:700 12px/1 var(--sans);color:var(--muted);margin-bottom:8px}
.msg .from{font:800 14px/1.2 var(--sans);color:#fff;margin-bottom:4px}
.msg .body{font-size:14px;line-height:1.45;color:#dcdde0}
.wifi{right:clamp(20px,12vw,220px);top:34%;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(20,21,24,.85);font:700 13px/1 var(--sans);color:#fff;white-space:nowrap}
.wifi i{width:8px;height:8px;border-radius:50%;background:#58d27a}
.trip{right:clamp(20px,12vw,220px);top:50%;width:min(320px,80vw);transform:translateY(-50%);background:rgba(24,25,29,.94);border:1px solid rgba(215,182,93,.35);border-radius:18px;padding:16px 18px}
.trip b{display:block;font:800 15px/1.3 var(--sans);color:#fff;margin-bottom:6px}
.trip span{font-size:13.5px;color:#cfd1d4}

/* HUD */
.clock{position:absolute;right:18px;top:calc(var(--hdr) + 32px);font:800 12px/1 var(--sans);letter-spacing:.08em;color:#fff;text-align:right;z-index:5}
.clock .t{display:block;font-size:20px;letter-spacing:.02em;margin-bottom:8px}
.clock .loc{color:var(--gold)}
.route{display:flex;align-items:center;gap:8px;color:var(--muted)}
.route i{position:relative;width:110px;height:2px;background:rgba(255,255,255,.18);border-radius:2px}
.route i b{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gold)}
.route i b:after{content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.hint{position:absolute;left:50%;bottom:calc(var(--bar) + 28px);transform:translateX(-50%);font:800 11px/1 var(--sans);letter-spacing:.24em;color:rgba(255,255,255,.7)}
.hint:after{content:"";display:block;width:1px;height:28px;margin:10px auto 0;background:linear-gradient(var(--gold),transparent);animation:hint 1.6s infinite}
@keyframes hint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.skip{position:absolute;left:18px;bottom:calc(var(--bar) + 18px);z-index:6;font:700 13px/1 var(--sans);color:#fff;padding:10px 14px;border-radius:0;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25)}
.end{position:absolute;left:0;right:0;top:22%;text-align:center;padding:0 20px;opacity:0;pointer-events:none}
.end.on{pointer-events:auto}
.end h2{font-size:clamp(30px,4.2vw,60px);max-width:16ch;margin:0 auto .6em}
.end .b{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* loader (only when real video is loading) */
.loader{position:fixed;inset:0;z-index:120;background:#000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;font:800 12px/1 var(--sans);letter-spacing:.16em;color:var(--gold)}
.acs-loading .loader.use{display:flex}
.loader .n{font:600 34px/1 var(--serif);color:#fff;letter-spacing:0}

/* debug */
.dbg{position:fixed;left:8px;top:96px;z-index:130;background:rgba(0,0,0,.75);color:#9f9;font:12px/1.4 ui-monospace,Menlo,monospace;padding:8px 10px;border-radius:6px;white-space:pre;display:none}

/* ===== SECTIONS ===== */
.sec{padding:84px 0;background:var(--ink)}
.sec.alt{background:var(--ink2)}
.wrap{width:min(1120px,100% - 40px);margin:0 auto}
.eb{display:inline-block;font:italic 300 22px/1.2 var(--serif);letter-spacing:-.5px;color:var(--gold);margin-bottom:6px}
.sec h2{font-size:clamp(28px,3.4vw,44px)}
.lead{color:#c9ccd1;max-width:62ch;font-size:17px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.steps div{background:var(--ink3);border:1px solid var(--line);border-radius:2px;padding:18px}
.steps b{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#16130a;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}
.la{background:#fff;color:#111;border-radius:14px;padding:18px;min-height:220px}
.la a{color:#0a58ca;text-decoration:underline}
.help{margin-top:14px;color:#c9ccd1}.help a{color:var(--gold)}
.grid{display:grid;gap:14px}
.g5{grid-template-columns:repeat(5,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.card{display:block;background:var(--ink3);border:1px solid var(--line);border-radius:2px;padding:18px;transition:border-color .2s}
a.card:hover{border-color:rgba(215,182,93,.5)}
.card h3{font-size:20px}
.card small{color:var(--muted)}
.fleet .ph{aspect-ratio:16/10;border-radius:0;margin-bottom:12px;background:linear-gradient(135deg,#1a1c21,#0b0c0e);display:flex;align-items:center;justify-content:center;font:700 11px/1 var(--sans);letter-spacing:.1em;color:rgba(255,255,255,.35);text-transform:uppercase}
.fleet .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:#cfd1d4;margin:6px 0 12px}
.fleet .price{font:800 18px/1 var(--sans);color:var(--gold)}
.fleet .price small{font-weight:600;font-size:13px;color:var(--muted)}
.tag{display:inline-block;font:800 10px/1 var(--sans);letter-spacing:.1em;padding:4px 7px;border-radius:4px;background:rgba(215,182,93,.15);color:var(--gold);margin-left:6px;vertical-align:middle}
.note{font-size:13.5px;color:var(--muted);margin-top:14px}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.pg div{border-top:2px solid var(--gold);padding-top:14px}
.pg h3{font-size:19px}
.pg p{color:#c9ccd1;font-size:15px}
.rv{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.rv a{padding:10px 16px;border:1px solid var(--line);border-radius:0;font-weight:700;font-size:14px}
/* Elfsight Google Reviews on dark background: force light text (scoped, widget settings untouched since live site uses the same widget) */
body:not(.light) .reviews [class*="elfsight-app"] *:not(a):not(button):not(svg):not(path){color:#fff!important}
body:not(.light) .reviews [class*="elfsight-app"] time,body:not(.light) .reviews [class*="elfsight-app"] [class*="Date"],body:not(.light) .reviews [class*="elfsight-app"] [class*="date"]{color:rgba(255,255,255,.7)!important}
body:not(.light) .reviews [class*="elfsight-app"] a:not([class*="Button"]):not([class*="button"]){color:var(--gold)!important}
.trusted{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px;color:#bfc3c9;font:700 15px/1.4 var(--sans)}
.pending{border:1.5px dashed rgba(224,99,43,.7);border-radius:12px;padding:16px;color:#f0b49a;font-size:14.5px}
:where(.aclass-home) details{border-bottom:1px solid var(--line);padding:16px 0}
:where(.aclass-home) summary{cursor:pointer;font:700 17px/1.4 var(--sans);color:#fff;list-style:none;display:flex;justify-content:space-between;gap:16px}
:where(.aclass-home) summary:after{content:"+";color:var(--gold);font-size:22px;line-height:1}
:where(.aclass-home) details[open] summary:after{content:"–"}
:where(.aclass-home) details p{color:#c9ccd1;margin:12px 0 0}
.cta{text-align:center;background:radial-gradient(ellipse at 50% 0,rgba(215,182,93,.14),transparent 60%),var(--ink2)}
.cta .b{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.ftr{padding:34px 0 calc(var(--bar) + 30px);background:#12181d;color:#aeb2b8;font-size:14px}
.ftr a{color:#fff}
.ftr .fl a{color:#c9ccd1}.ftr .fl a:hover{color:var(--gold)}
.note .more{font-weight:800;color:var(--gold)}body.light .note .more{color:#8a6d1f}

/* mobile bottom bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:95;height:calc(var(--bar) + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;background:rgba(10,11,13,.94);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
.mbar a{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:2px;font:800 14px/1 var(--sans)}
.mbar .c{background:rgba(255,255,255,.1)}
.mbar .w{background:var(--green);color:#07210f}
.mbar .k{background:var(--gold);color:#16130a}
@media (min-width:1024px){.mbar{display:none}:root{--bar:0px}}

/* ===== MOBILE (portrait) ===== */
@media (max-width:767px){
  .hdr{padding:0 12px}.hdr img{height:38px}
  .beat{left:20px;right:20px;width:auto;top:calc(var(--hdr) + 92px);transform:none}
  .beat h2{font-size:30px}
  .beat p{font-size:16.5px}
  .shade{background:linear-gradient(180deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.25) 45%,transparent 62%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 28%)}
  /* portrait placeholder: subject in lower-middle, calm top for text, empty bottom for bar */
  .scene{background-position:center}
  .s0,.s1,.s2,.s3,.s4,.s5,.s6,.s7,.s8{background-size:200% 100%;background-position:68% 50%}
  .scene .lbl{right:calc(12px + 3%);left:calc(12px + 3%);bottom:calc(var(--bar) + 64px);text-align:center;max-width:none}
  .msg,.trip{right:50%;transform:translate(50%,0);top:auto;bottom:calc(var(--bar) + 110px)}
  .wifi{right:50%;transform:translateX(50%);top:auto;bottom:calc(var(--bar) + 150px)}
  .clock{top:auto;bottom:calc(var(--bar) + 22px);right:14px}
  .clock .t{font-size:16px}
  .route i{width:70px}
  .hint{display:none}
  .end{top:calc(var(--hdr) + 70px);bottom:auto}
  .end.on~.clock{opacity:.85}
  .end .b{flex-direction:column;align-items:stretch;max-width:340px;margin:0 auto}
  .g5,.g3,.pg{grid-template-columns:1fr}
  .steps{gap:8px;margin:16px 0}.steps div{padding:10px;text-align:center}.steps b{width:24px;height:24px;font-size:13px;margin-bottom:6px}.steps h3{font:800 13px/1.25 var(--sans);margin:0}
  .sec{padding:60px 0}
}
@media (min-width:768px) and (max-width:1023px){.g5{grid-template-columns:repeat(2,1fr)}.g3,.pg{grid-template-columns:repeat(2,1fr)}}

/* ===== LIGHT CONTENT THEME (after the story): white sections so the Limo Anywhere iframe sits flush. Header, story, final CTA and footer stay dark. ===== */
body.light .sec{background:#fff;color:#192026}
body.light .sec.alt{background:var(--site-light)}
body.light .sec h2,body.light .sec h3{color:#192026}
body.light .eb{color:#8a6d1f}
body.light .lead,body.light .help,body.light .pg p,body.light details p{color:#192026}
body.light .help a,body.light details p a{color:#8a6d1f!important;font-weight:700}
body.light .steps div{background:var(--site-light);border-color:#e6e6e6}
body.light .la{background:transparent;padding:0;border-radius:0}
body.light .card{background:#fff;border-color:#e6e6e6;box-shadow:0 1px 2px rgba(0,0,0,.04)}
body.light a.card:hover{border-color:#c9a547}
body.light .card small,body.light .note{color:#4f5860}
body.light .fleet .ph{background:linear-gradient(135deg,#efede8,#e2dfd7);color:#9a9890}
body.light .fleet .meta{color:#4f5860}
body.light .fleet .price{color:#8a6d1f}
body.light .tag{background:#f3ead2;color:#7a5f17}
body.light .pg div{border-top-color:#c9a547}
body.light .rv a{border-color:#dcdcdc;color:#192026}
body.light .trusted{color:#3a3e45}
body.light .pending{color:#a8461c;background:#fff6f1}
body.light details{border-bottom-color:#e6e6e6}
body.light summary{color:#192026}
body.light summary:after{color:#8a6d1f}
body.light .cta{background:radial-gradient(ellipse at 50% 0,rgba(215,182,93,.14),transparent 60%),var(--ink2)!important}
body.light .cta h2{color:#fff!important}
/* header: transparent over the story, solid dark once the story is passed */
.hdr{transition:background .25s}
.hdr.solid{background:var(--site-dark);box-shadow:0 1px 0 rgba(255,255,255,.06)}
/* ===== POST-STORY SECTIONS v3 · editorial design system ===== */
:root{--pad:clamp(20px,4.2vw,64px);--max:1360px;--hair:#e4e4e4;--ink-t:#192026;--mute:#5b636b;--gold-d:#8a6d1f;--ease:cubic-bezier(.2,.7,.2,1)}
svg:has(>use){width:1em;height:1em}
.s svg:has(>use),.stats svg:has(>use),.trust svg:has(>use),.area svg:has(>use),.fcta svg:has(>use),.ftr3 svg:has(>use),.btn svg:has(>use){fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.c{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.s{padding:clamp(96px,11vw,168px) 0;background:#fff;color:var(--ink-t)}
.s-alt{background:#f5f5f5}

/* section head */
.sh{margin-bottom:clamp(48px,5.5vw,84px)}
.sh h2,.fcta h2{font:400 clamp(42px,5.4vw,84px)/1.02 var(--serif);letter-spacing:-.035em;color:var(--ink-t);margin:0}
.sh h2 em,.fcta h2 em{font-style:italic;font-weight:300;color:var(--gold-d)}
.kick{display:flex;align-items:center;gap:14px;margin:0 0 26px;font:700 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-t)}
.kick span{display:inline-flex;align-items:center;gap:14px;font:italic 400 16px/1 var(--serif);letter-spacing:0;color:var(--gold-d)}
.kick span:after{content:"";width:40px;height:1px;background:#c9a547}
.intro{margin:22px 0 0;max-width:46ch;font-size:18px;line-height:1.65;color:var(--mute)}
.sh-center{text-align:center}.sh-center .kick{justify-content:center}.sh-center .intro{margin-inline:auto}
.sh-split{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.tlink{display:inline-flex;align-items:center;gap:12px;padding-bottom:10px;font:700 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-t);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s var(--ease)}
.tlink svg{width:16px;height:16px;transition:transform .4s var(--ease)}
.tlink:hover{background-size:0 1px;background-position:100% 100%}.tlink:hover svg{transform:translateX(5px)}

/* buttons (site style: square, gold, Taviraj) */
.btn svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn{transition:background .3s,color .3s,border-color .3s}
.btn.gold:hover{background:#fff;color:#192026}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* 1 · book */
.s-book{padding-top:clamp(96px,10vw,150px)}
.steps3{list-style:none;margin:0 auto clamp(40px,4vw,64px);padding:0;max-width:1040px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(16px,3vw,48px)}
.steps3 li{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;row-gap:14px;padding-top:24px;border-top:1px solid var(--hair)}
.steps3 li:first-child{border-top-color:#c9a547}
.steps3 .n{grid-column:1/3;font:italic 400 16px/1 var(--serif);color:var(--gold-d)}
.steps3 svg{width:26px;height:26px;color:var(--gold-d)}
.steps3 h3{margin:0;font:400 23px/1.2 var(--serif);color:var(--ink-t);letter-spacing:-.02em;color:var(--ink-t)}
.formwrap{border:1px solid var(--hair);background:#fff;padding:clamp(8px,1.6vw,22px)}
.contactline{list-style:none;margin:clamp(32px,3vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.contactline li+li{border-left:1px solid var(--hair)}
.contactline a{display:flex;align-items:center;gap:16px;padding:26px 24px;transition:background .3s}
.contactline li:first-child a{padding-left:0}
.contactline a:hover{background:#fafafa}
.contactline svg{width:22px;height:22px;flex:none;color:var(--gold-d)}
.contactline span{display:flex;flex-direction:column;gap:6px;font:400 18px/1.25 var(--serif);letter-spacing:-.01em;color:var(--ink-t)}
.contactline small{font:700 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}

/* 2 · stats */
.stats{background:#192026;color:#fff;padding:clamp(56px,6vw,88px) 0}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-in>div{display:flex;flex-direction:column;gap:14px;padding:0 clamp(16px,2.4vw,40px);border-left:1px solid rgba(255,255,255,.12)}
.stats-in>div:first-child{padding-left:0;border-left:0}
.stats-in b{display:flex;align-items:flex-start;gap:8px;font:300 clamp(52px,5.6vw,88px)/.9 var(--serif);letter-spacing:-.045em;color:#fff}
.stats-in sup{font-size:.45em;line-height:1;color:var(--gold);margin-top:.1em}
.stats-in .st{display:inline-flex;margin-top:.12em;color:var(--gold)}.stats-in .st svg{width:.34em;height:.34em;fill:var(--gold);stroke:none}
.stats-in>div>span{font:700 11px/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#9aa3ab}

/* 3 · services bento */
.bento{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:repeat(2,clamp(260px,24vw,340px));gap:14px}
.tile{position:relative;overflow:hidden;display:block;color:#fff;background:#192026;isolation:isolate}
.tile.big{grid-row:1/3}
.tile{--e2:cubic-bezier(.22,1,.36,1)}
.tile-img{position:absolute;inset:0;z-index:-2;background:var(--img) center/cover no-repeat;transform:scale(1.03);transition:transform 2.2s var(--e2),filter 1.6s var(--e2)}
.tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,18,22,.12) 0,rgba(14,18,22,.04) 35%,rgba(14,18,22,.84) 100%)}
.tile:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,18,22,.25) 0,rgba(14,18,22,.55) 55%,rgba(14,18,22,.92) 100%);opacity:0;transition:opacity 1.4s var(--e2)}
.tile:hover .tile-img{transform:scale(1.08)}
.tile:hover:before{opacity:1}
.tile-n{position:absolute;left:28px;top:26px;font:italic 400 16px/1 var(--serif);color:rgba(255,255,255,.85)}
.tile-ic{position:absolute;right:24px;top:22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px);background:rgba(25,32,38,.25)}
.tile-ic svg{width:19px;height:19px}
.tile-t{position:absolute;left:28px;right:92px;bottom:26px;display:grid;grid-template-rows:auto 1fr}
.tile h3,body.light .tile h3{margin:0 0 10px;font:400 30px/1.05 var(--serif);letter-spacing:-.025em;color:#fff}
.tile.big h3{font-size:clamp(36px,3.4vw,52px)}
.tile p{margin:0;min-height:0;max-width:36ch;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.78)}
.tile-go{position:absolute;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#192026;transition:transform 1s var(--e2),opacity .9s var(--e2)}
.tile-go svg{width:18px;height:18px;transition:transform 1s var(--e2)}
.tile:hover .tile-go svg{transform:rotate(-45deg)}
@media (hover:hover) and (min-width:1024px){
  .tile:not(.big) .tile-t{grid-template-rows:auto 0fr;transition:grid-template-rows 1.1s var(--e2)}
  .tile:not(.big):hover .tile-t{grid-template-rows:auto 1fr}
  .tile:not(.big) .tile-t p{min-height:0;overflow:hidden;opacity:0;transform:translateY(14px);filter:blur(4px);transition:opacity .7s var(--e2),transform 1.1s var(--e2),filter .9s var(--e2)}
  .tile:not(.big):hover .tile-t p{opacity:1;transform:none;filter:none;transition-delay:.18s}
  .tile:not(.big) h3{transition:transform 1.1s var(--e2)}
  .tile:not(.big) .tile-go{transform:scale(.6) rotate(-90deg);opacity:0}
  .tile:not(.big):hover .tile-go{transform:none;opacity:1;transition-delay:.12s}
}

/* 4 · fleet slider */
.s-fleet .sh{margin-bottom:clamp(40px,4vw,64px)}
.fl-ctrl{display:flex;align-items:center;gap:12px}
.fl-count{margin-right:14px;font:400 18px/1 var(--serif);color:var(--mute)}.fl-count b{font-weight:400;color:var(--ink-t)}
.fl-btn{width:56px;height:56px;border-radius:50%;border:1px solid rgba(25,32,38,.25);background:transparent;color:var(--ink-t);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.fl-btn svg{width:18px;height:18px}
.fl-btn:hover{background:#192026;color:#fff;border-color:#192026}
.fl-btn:disabled{opacity:.3;pointer-events:none}
.fl-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(290px,29vw,430px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-inline:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));scroll-padding-inline:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));scrollbar-width:none;padding-bottom:4px}
.fl-track::-webkit-scrollbar{display:none}
.fcar{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;color:var(--ink-t)}
.fcar-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(ellipse 72% 58% at 50% 68%,#fff 0,#f0f0f0 62%,#e7e7e7 100%);display:flex;align-items:center;justify-content:center}
.fcar-img img{width:86%;height:78%;object-fit:contain;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.fcar-img.photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.fcar:hover .fcar-img img{transform:scale(1.05)}
.fcar-i{position:absolute;left:20px;top:18px;font:italic 400 15px/1 var(--serif);color:var(--gold-d)}
.fcar-img.photo .fcar-i{color:#fff}
.fcar-b{padding:26px 26px 0;flex:1;display:flex;flex-direction:column}
.fcar h3{color:var(--ink-t);margin:0 0 22px;font:400 27px/1.1 var(--serif);letter-spacing:-.025em}
.fcar-m{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:18px 0 22px;border-top:1px solid var(--hair)}
.fcar-pax{display:inline-flex;align-items:center;gap:9px;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.fcar-pax svg{width:18px;height:18px;color:var(--gold-d)}
.fcar-p{font:400 30px/1 var(--serif);letter-spacing:-.03em}.fcar-p small{margin-left:4px;font:400 13px/1 var(--sans);letter-spacing:0;color:var(--mute)}
.fcar-cta{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:#192026;color:#fff;font:700 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:background .3s,color .3s}
.fcar-cta svg{width:16px;height:16px;color:var(--gold);transition:transform .4s var(--ease)}
.fcar:hover .fcar-cta{background:var(--gold);color:#192026}.fcar:hover .fcar-cta svg{color:#192026;transform:translateX(5px)}
.fl-foot{display:flex;align-items:center;gap:40px;margin-top:clamp(36px,3.4vw,56px)}
.fl-prog{flex:1;height:1px;background:#d6d6d6;position:relative}
.fl-prog i{position:absolute;left:0;top:-1px;height:3px;width:12%;background:#c9a547;transition:width .3s}

/* 5 · reviews */
.rvlinks{display:flex;gap:32px;flex-wrap:wrap}
.rvlinks a{display:inline-flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(25,32,38,.25);font:700 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-t);transition:border-color .3s}
.rvlinks a:hover{border-color:#c9a547}
.rvlinks svg{width:14px;height:14px;transform:rotate(-45deg);color:var(--gold-d)}

/* 6 · promise */
.pr-top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.pr-img{position:relative;margin:0}
.pr-img img{display:block;width:100%;aspect-ratio:4/4.6;object-fit:cover}
.pr-img figcaption{position:absolute;left:28px;bottom:28px;background:#fff;padding:20px 24px;display:flex;flex-direction:column;gap:10px}
.pr-img figcaption b{font:400 21px/1.15 var(--serif);letter-spacing:-.02em;color:var(--ink-t)}
.stars{display:inline-flex;gap:2px;color:var(--gold)}.stars svg{width:13px;height:13px;fill:currentColor;stroke:none;color:#c9a547}
.pr-main .sh{margin-bottom:clamp(32px,3vw,48px)}
.pr-main .sh h2{font-size:clamp(40px,4.4vw,68px)}
.pr-key{list-style:none;margin:0;padding:0;border-bottom:1px solid #dcdcdc}
.pr-key li{display:grid;grid-template-columns:52px 1fr;align-items:start;padding:26px 0;border-top:1px solid #dcdcdc}
.pr-key svg{width:28px;height:28px;color:var(--gold-d);margin-top:3px}
.pr-key p{margin:0;font:400 clamp(20px,1.7vw,24px)/1.35 var(--serif);letter-spacing:-.015em;color:var(--ink-t)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(72px,8vw,128px);border-top:1px solid #dcdcdc}
.pr-grid>div{display:flex;flex-direction:column;gap:20px;padding:36px 36px 40px 0;border-bottom:1px solid #dcdcdc}
.pr-grid>div:not(:nth-child(3n+1)){padding-left:36px;border-left:1px solid #dcdcdc}
.pr-grid svg{width:26px;height:26px;color:var(--gold-d)}
.pr-grid p{margin:0;font-size:16px;line-height:1.65;color:var(--ink-t)}

/* 7 · trusted by */
.trust{display:flex;align-items:center;gap:40px;background:#fff;border-bottom:1px solid var(--hair);padding:34px 0 34px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));overflow:hidden}
.trust-l{flex:none;margin:0;font:700 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.marq{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-in{display:flex;width:max-content;animation:marq 70s linear infinite}
.marq-in span{display:inline-flex;align-items:center;gap:48px;padding-right:48px;font:400 24px/1 var(--serif);letter-spacing:-.02em;color:rgba(25,32,38,.6);white-space:nowrap}
.marq-in span:after{content:"";width:5px;height:5px;background:#c9a547;transform:rotate(45deg)}
.trust:hover .marq-in{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}

/* 8 · service area */
.area{position:relative;display:flex;align-items:center;min-height:min(92vh,880px);padding:clamp(96px,10vw,160px) 0;color:#fff;overflow:hidden;isolation:isolate;background:#192026}
.area-img{position:absolute;inset:-6% 0;z-index:-2;background:var(--img) center/cover no-repeat;transform:translateY(var(--py,0))}
.area:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,17,21,.94) 0,rgba(13,17,21,.72) 42%,rgba(13,17,21,.12) 100%)}
.area-card{max-width:560px}
.area .kick{color:#fff}.area .kick span{color:var(--gold)}
.area .sh h2{color:#fff}.area .sh h2 em{color:var(--gold)}
.area .sh{margin-bottom:28px}
.area-p{margin:0;font-size:18px;line-height:1.7;color:#cfd4d8}
.states{list-style:none;margin:30px 0 40px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.states li{padding:11px 16px;border:1px solid rgba(215,182,93,.5);font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.addr{display:flex;gap:16px;align-items:flex-start;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);color:#fff}
.addr svg{width:26px;height:26px;flex:none;color:var(--gold)}
.addr span{font:400 21px/1.3 var(--serif);letter-spacing:-.015em}
.addr small{display:block;margin-top:8px;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* 9 · faq */
.faq-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,8vw,140px);align-items:start}
.faq aside{position:sticky;top:130px}
.faq .sh{margin-bottom:44px}
.talk{border-top:1px solid #c9a547;padding-top:26px;display:flex;flex-direction:column;gap:16px}
.talk-t{margin:0 0 4px;font:700 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.talk a{display:inline-flex;align-items:center;gap:14px;font:400 22px/1.2 var(--serif);letter-spacing:-.015em;color:var(--ink-t);transition:color .3s}
.talk a:hover{color:var(--gold-d)}
.talk svg{width:20px;height:20px;color:var(--gold-d)}
.acc{border-top:1px solid #dcdcdc}
.acc details,body.light .acc details{border:0;border-bottom:1px solid #dcdcdc;padding:0;margin:0;background:transparent}
.acc summary,body.light .acc summary{display:grid;grid-template-columns:52px 1fr 20px;align-items:center;gap:0;padding:30px 0;cursor:pointer;list-style:none;font:400 clamp(20px,1.8vw,25px)/1.25 var(--serif);letter-spacing:-.02em;color:var(--ink-t)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after,body.light .acc summary:after{content:"";width:18px;height:18px;border-radius:0;background:linear-gradient(currentColor,currentColor) center/18px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 18px no-repeat;color:var(--ink-t);transition:transform .45s var(--ease)}
.acc details[open] summary:after,body.light .acc details[open] summary:after{content:"";transform:rotate(45deg)}
.q-n{font:italic 400 16px/1 var(--serif);color:var(--gold-d)}
.acc .a{padding:0 40px 32px 52px;max-width:66ch}
.acc .a p,body.light .acc .a p{margin:0 0 12px;font-size:16.5px;line-height:1.7;color:var(--mute)}
.acc .a p:last-child{margin-bottom:0}
.acc .a a{color:var(--gold-d);font-weight:700}

/* 10 · final cta */
.fcta{position:relative;padding:clamp(140px,16vw,240px) 0;text-align:center;color:#fff;overflow:hidden;isolation:isolate;background:#192026}
.cta-img{position:absolute;inset:-6% 0;z-index:-2;background:var(--img) center/cover no-repeat;transform:translateY(var(--py,0))}
.fcta:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(13,17,21,.55),rgba(13,17,21,.92))}
.fcta h2{color:#fff;font-size:clamp(46px,7.2vw,116px);line-height:.98;max-width:14ch;margin:0 auto}
.fcta h2 em{color:var(--gold)}
.cta-b{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(36px,4vw,56px)}

/* footer */
.ftr3{background:#12181d;color:#9aa3ab;padding:clamp(80px,8vw,120px) 0 calc(var(--bar) + 28px);font-size:15px}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.ftr-brand img{height:72px;width:auto;margin-bottom:22px}
.ftr-brand p{margin:0;line-height:1.75}
.ftr-h{margin:6px 0 22px;font:700 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff}
.ftr3 nav a{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#c3c9ce;transition:color .3s}
.ftr3 nav a:hover{color:var(--gold)}
.ftr3 nav svg{width:15px;height:15px;color:var(--gold)}
.ftr-word{margin-top:clamp(64px,7vw,104px)}
.ftr-word svg{display:block;width:100%;height:auto;overflow:visible}
.ftr-word text{font-family:var(--serif);font-weight:300;fill:rgba(255,255,255,.075)}
.ftr-bot{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:24px;font-size:13.5px}
.ftr-bot:before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:rgba(255,255,255,.08)}
.faq .sh h2{font-size:clamp(40px,4.2vw,66px)}
.ftr-bot span:last-child{display:flex;gap:26px;flex-wrap:wrap}
.ftr-bot a{color:#c3c9ce}.ftr-bot a:hover{color:var(--gold)}

/* header refinement */
.nav{font:400 12.5px/1 var(--sans)!important;letter-spacing:.16em!important;gap:34px!important}
.hdr.solid{box-shadow:0 1px 0 rgba(255,255,255,.07)}

/* reveal on scroll (only when JS + motion allowed) */
html.js-rv [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity 1s var(--ease) var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
html.js-rv [data-reveal="img"]{opacity:1;transform:none;clip-path:inset(14% 0 0 0);transition:clip-path 1.4s var(--ease) var(--d,0s)}
html.js-rv [data-reveal="img"] img{transform:scale(1.12);transition:transform 1.6s var(--ease)}
html.js-rv [data-reveal].in{opacity:1;transform:none;clip-path:inset(0)}
html.js-rv [data-reveal="img"].in img{transform:none}

/* responsive */
@media (max-width:1100px){
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:380px repeat(2,280px)}
  .tile.big{grid-row:auto;grid-column:1/3}
  .pr-top{grid-template-columns:1fr}
  .pr-img img{aspect-ratio:16/11}
  .pr-grid{grid-template-columns:1fr 1fr}
  .pr-grid>div{padding:32px 28px 32px 0!important;border-left:0!important}
  .pr-grid>div:nth-child(even){padding-left:28px!important;border-left:1px solid #dcdcdc!important}
  .stats-in{grid-template-columns:1fr 1fr;row-gap:44px}
  .stats-in>div:nth-child(3){padding-left:0;border-left:0}
  .faq-in{grid-template-columns:1fr}
  .faq aside{position:static}
  .contactline{grid-template-columns:1fr 1fr}
  .contactline li:nth-child(3){border-left:0}.contactline li:nth-child(3) a{padding-left:0}
  .contactline li:nth-child(n+3){border-top:1px solid var(--hair)}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .sh h2{font-size:clamp(38px,10.5vw,52px)}
  .kick{margin-bottom:18px}
  .intro{font-size:16.5px}
  .steps3{grid-template-columns:1fr;gap:0}
  .steps3 li{grid-template-columns:auto auto 1fr;padding:18px 0;border-top:1px solid var(--hair)}
  .steps3 .n{grid-column:auto}
  .steps3 h3{font-size:20px}
  .formwrap{margin-inline:calc(var(--pad) * -1 + 8px);border-left:0;border-right:0}
  .contactline{grid-template-columns:1fr}
  .contactline li+li{border-left:0;border-top:1px solid var(--hair)}
  .contactline a,.contactline li:nth-child(3) a{padding:20px 0}
  .stats-in b{font-size:54px}
  .bento{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:300px}
  .tile.big{grid-column:auto}
  .tile.big h3,.tile h3{font-size:30px}
  .fl-ctrl .fl-btn{width:46px;height:46px}
  .fl-count{display:none}
  .fl-track{grid-auto-columns:84vw;gap:14px}
  .fl-foot{flex-direction:column;align-items:stretch;gap:28px}
  .pr-img figcaption{left:14px;bottom:14px;padding:14px 16px}
  .pr-grid{grid-template-columns:1fr}
  .pr-grid>div,.pr-grid>div:nth-child(even){padding:26px 0!important;border-left:0!important}
  .trust{flex-direction:column;align-items:flex-start;gap:18px;padding:28px 0 28px var(--pad)}
  .marq-in span{font-size:20px;gap:32px;padding-right:32px}
  .area{min-height:0}
  .area:after{background:linear-gradient(180deg,rgba(13,17,21,.92),rgba(13,17,21,.74))}
  .acc summary{grid-template-columns:40px 1fr 18px;padding:24px 0}
  .acc .a{padding:0 0 26px 40px}
  .fcta h2{font-size:clamp(40px,11vw,56px)}
  .cta-b{flex-direction:column;align-items:stretch;max-width:340px;margin-inline:auto}
  .ftr-grid{grid-template-columns:1fr}
}


/* mobile menu */
.mnav-btn{display:none;position:relative;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;cursor:pointer;flex:none}
.mnav-btn span{position:absolute;left:12px;right:12px;height:1.5px;background:#fff;transition:transform .5s cubic-bezier(.22,1,.36,1),top .5s cubic-bezier(.22,1,.36,1)}
.mnav-btn span:first-child{top:16px}.mnav-btn span:last-child{top:24px}
.mnav-open .mnav-btn span:first-child{top:20px;transform:rotate(45deg)}
.mnav-open .mnav-btn span:last-child{top:20px;transform:rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;bottom:0;top:calc(21px + var(--hdr));z-index:89;background:#192026;display:flex;flex-direction:column;justify-content:space-between;padding:28px var(--pad,20px) calc(var(--bar) + 28px);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),visibility 0s .6s;overflow-y:auto}
.mnav-open .mnav{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mnav-open,.mnav-open body{overflow:hidden}
.mnav-links{display:flex;flex-direction:column}
.mnav-links a{display:flex;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font:400 34px/1.05 var(--serif);letter-spacing:-.03em;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.mnav-links a i{font:italic 400 15px/1 var(--serif);color:var(--gold);letter-spacing:0}
.mnav-open .mnav-links a{opacity:1;transform:none}
.mnav-open .mnav-links a:nth-child(2){transition-delay:.05s}.mnav-open .mnav-links a:nth-child(3){transition-delay:.1s}.mnav-open .mnav-links a:nth-child(4){transition-delay:.15s}.mnav-open .mnav-links a:nth-child(5){transition-delay:.2s}
.mnav-foot{display:flex;flex-direction:column;gap:10px;margin-top:32px}
.mnav-foot p{margin:0 0 4px;font:700 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.mnav-foot a:not(.btn){font:400 22px/1.3 var(--serif);color:#fff}
.mnav-foot .btn{margin-top:14px;width:100%}
@media (max-width:1099px){.mnav-btn{display:inline-block}}
@media (min-width:1100px){.mnav{display:none}}
@media (max-width:400px){.hdr .btn.sm{padding:0 12px;font-size:14px}.hdr .r{gap:8px}}
/* mobile footer: two link columns side by side */
@media (max-width:767px){
  .ftr-grid{grid-template-columns:1fr 1fr;gap:36px 20px}
  .ftr-brand,.ftr-grid>nav:last-child{grid-column:1/-1}
}
.pr-img{overflow:hidden}
html{overflow-x:clip}

/* reduced motion / static: stacked still scenes, no sticky scrub */
.static .story{height:auto}
.static .stage{position:relative;height:auto;overflow:visible}
.static .scene,.static .video,.static .clock,.static .hint,.static .shade,.static .grain,.static .ui{display:none}
.static .beat{position:relative;left:auto;top:auto;transform:none!important;opacity:1!important;width:auto;min-height:56vh;display:flex;flex-direction:column;justify-content:center;padding:90px 24px 40px;max-width:none}
.static .beat:nth-of-type(odd){background:linear-gradient(90deg,#0b0c0f,#1a1712)}
.static .beat:nth-of-type(even){background:linear-gradient(90deg,#08090b,#17191e)}
.static .end{position:relative;opacity:1;top:auto;bottom:auto;padding:70px 20px;pointer-events:auto}
.static .skip{display:none}
/* ===== WordPress integration (aclass-child) ===== */
body:not(.has-ribbon) .hdr{top:0}
body:not(.has-ribbon) .mnav{top:var(--hdr)}
body.aclass-inner{font-family:var(--sans)}
body.aclass-inner .hdr{background:#192026}
body.aclass-inner{padding-top:var(--hdr)}
body.aclass-inner.has-ribbon{padding-top:calc(21px + var(--hdr))}
body.aclass-inner .hdr a,body.aclass-inner .mnav a,body.aclass-inner .ftr3 a,body.aclass-inner .mbar a{text-decoration:none}
body.aclass-inner .hdr img{display:block}
@media (max-width:767px){body.aclass-inner{padding-bottom:var(--bar)}}
.ftr3 img{max-width:100%}
/* the new bottom bar replaces Chaty and WP Call Button */
#wp-call-button,.wp-call-button,[id^="chaty-widget"],.chaty-widget,.chaty{display:none!important}

/* logged-in admin bar */
.admin-bar .ribbon{top:32px}
.admin-bar .hdr{top:53px}
.admin-bar:not(.has-ribbon) .hdr{top:32px}
@media (max-width:782px){.admin-bar .ribbon{top:46px}.admin-bar .hdr{top:67px}.admin-bar:not(.has-ribbon) .hdr{top:46px}}
@media (max-width:600px){.admin-bar .ribbon,.admin-bar .hdr{position:absolute}}
/* chrome links keep their own colors on Elementor pages (Hello's reset makes links pink) */
.hdr,.mnav{color:#fff}
.hdr a,.mnav a,.ftr3 a,.mbar a,.ribbon a{color:inherit}
.hdr .btn.gold,.mnav .btn.gold{color:#192026}
body.aclass-inner:not(.aclass-kit):not(.aclass-blog) .site-main a:not(.elementor-button):not(.btn){color:#8a6d1f}
body.aclass-inner:not(.aclass-kit):not(.aclass-blog):not(.aclass-dark) .site-main a:not(.elementor-button):not(.btn):hover{color:#192026}

/* ===== inner-page blocks (inc/pages.php) ===== */
.aclass-inner:not(.aclass-kit):not(.aclass-blog){--hair:#e6e6e6;--gold-d:#8a6d1f;--ink-t:#192026;--mute:#6b7177}
.aclass-block{margin:40px 0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .contactline a{color:#192026!important}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .contactline{margin-top:0}
.aclass-contacts .contactline{grid-template-columns:repeat(4,1fr)}
.aclass-contacts .contactline li:nth-child(5){border-left:0}
.aclass-contacts .contactline li:nth-child(n+5){border-top:1px solid var(--hair)}
.aclass-contacts .contactline li:nth-child(5) a{padding-left:0}
.aclass-note{font:400 15px/1.6 var(--sans);color:#4f5860;margin:0 0 20px}
.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.fleet-grid .fcar{width:auto;min-width:0;max-width:none;flex:none;color:#192026!important}
.fcar-h{font:500 24px/1.15 var(--serif);letter-spacing:-.5px;color:#192026;margin:0 0 .4em}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .acc{max-width:880px}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .acc details{border-bottom:1px solid #e6e6e6;padding:0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .acc summary{list-style:none;cursor:pointer}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .acc summary::-webkit-details-marker{display:none}
.aclass-cta-row{display:flex;flex-wrap:wrap;gap:12px}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .btn.gold{color:#192026!important}
.btn.line{border:1.5px solid #192026;color:#192026!important;background:transparent}
.btn.line:hover{background:#192026;color:#fff!important}
@media (max-width:767px){.aclass-contacts .contactline{grid-template-columns:1fr 1fr}.aclass-contacts .contactline li:nth-child(odd){border-left:0}.aclass-contacts .contactline li:nth-child(odd) a{padding-left:0}.aclass-contacts .contactline li:nth-child(n+3){border-top:1px solid var(--hair)}}
.mbar{color:#fff}
.mbar:not(:has(.k)){grid-template-columns:1fr 1fr}
.aclass-block svg:has(>use){fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.aclass-block a{text-decoration:none!important}
.aclass-block{box-sizing:border-box;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
.site-main .aclass-block{padding-left:0;padding-right:0}
body.aclass-inner:not(.aclass-kit):not(.aclass-blog) .elementor-section-full_width ~ .aclass-block,body.aclass-inner:not(.aclass-kit):not(.aclass-blog) .elementor + .aclass-block,body.aclass-inner:not(.aclass-kit):not(.aclass-blog) .aclass-block:first-child{padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
.fcar .fcar-pax svg{width:16px;height:16px}

/* ===== inner pages: title + Elementor helpers ===== */
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-header{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:clamp(48px,6vw,96px) clamp(20px,4vw,40px) 0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-header .entry-title{font:500 clamp(40px,5.4vw,76px)/1.03 var(--serif);letter-spacing:-.035em;color:#192026;margin:0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-header:after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:28px 0 clamp(24px,3vw,40px)}
.aclass-inner:not(.elementor-page):not(.aclass-kit):not(.aclass-blog) .page-content{max-width:880px}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .site-main{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.aclass-inner:not(.aclass-kit):not(.aclass-blog).elementor-page .site-main{max-width:none;padding:0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog).elementor-page .page-content > .elementor{max-width:none}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-content h2.wp-block-heading{font:500 clamp(26px,2.4vw,34px)/1.15 var(--serif);letter-spacing:-.02em;color:#192026;margin:1.6em 0 .5em}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-content h3.wp-block-heading{font:500 22px/1.2 var(--serif);color:#192026}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-content p,.aclass-inner:not(.aclass-kit):not(.aclass-blog) .page-content li{font:400 17px/1.75 var(--sans);color:#2b333a}
.elementor-widget-heading .elementor-heading-title em{font-style:italic;font-weight:400;color:#8a6d1f}
.aclass-kicker .elementor-heading-title{font:700 11px/1 var(--sans)!important;letter-spacing:.24em!important;text-transform:uppercase;color:#8a6d1f!important}
.aclass-inner:not(.aclass-kit):not(.aclass-blog) .elementor-button{border-radius:0}
.aclass-inner:not(.elementor-page):not(.aclass-kit):not(.aclass-blog) .page-header{padding-left:0;padding-right:0}
.aclass-inner:not(.aclass-kit):not(.aclass-blog).elementor-page .aclass-block{padding-left:clamp(20px,4vw,40px)!important;padding-right:clamp(20px,4vw,40px)!important}

/* ===== HOME DARK (10/22): post-story sections back to dark. Homepage only (body.aclass-dark); inner pages untouched. ===== */
body.aclass-dark{--ink-t:#F1EFEA;--mute:#A3ABB2;--hair:rgba(255,255,255,.12);--gold-d:#D7B65D}
body.aclass-dark .s{background:var(--ink);color:var(--ink-t)}
body.aclass-dark .s-alt{background:var(--ink2)}
body.aclass-dark .kick span:after,body.aclass-dark .steps3 li:first-child{border-top-color:var(--gold)}
body.aclass-dark .kick span:after{background:var(--gold)}
body.aclass-dark .formwrap{background:transparent;border-color:var(--hair)}
body.aclass-dark .contactline a:hover{background:rgba(255,255,255,.04)}
body.aclass-dark .fl-btn{border-color:rgba(255,255,255,.28);color:var(--ink-t)}
body.aclass-dark .fl-btn:hover{background:var(--gold);border-color:var(--gold);color:#192026}
body.aclass-dark .fcar{background:var(--ink3);color:var(--ink-t)}
body.aclass-dark .fcar-m{border-top-color:var(--hair)}
body.aclass-dark .fcar-cta{background:#12171c}
body.aclass-dark .fl-prog{background:rgba(255,255,255,.15)}
body.aclass-dark .fl-prog i{background:var(--gold)}
body.aclass-dark .rvlinks a{border-bottom-color:rgba(255,255,255,.25)}
body.aclass-dark .rvlinks a:hover{border-color:var(--gold)}
body.aclass-dark .pr-img figcaption{background:var(--ink2)}
body.aclass-dark .pr-key,body.aclass-dark .pr-key li,body.aclass-dark .pr-grid,body.aclass-dark .pr-grid>div{border-color:var(--hair)}
body.aclass-dark .stars svg{color:var(--gold)}
body.aclass-dark .trust{background:var(--ink2);border-bottom-color:var(--hair)}
body.aclass-dark .marq-in span{color:rgba(255,255,255,.55)}
body.aclass-dark .marq-in span:after{background:var(--gold)}
body.aclass-dark .talk{border-top-color:var(--gold)}
body.aclass-dark .talk a:hover{color:var(--gold)}
body.aclass-dark .acc,body.aclass-dark .acc details{border-color:var(--hair)!important}
body.aclass-dark .acc summary:after{color:var(--ink-t)}
body.aclass-dark .acc .a a{color:var(--gold)}
/* Elfsight reviews on dark */
body.aclass-dark .reviews [class*="elfsight-app"] *:not(a):not(button):not(svg):not(path){color:#F1EFEA!important}
body.aclass-dark .reviews [class*="elfsight-app"] time,body.aclass-dark .reviews [class*="elfsight-app"] [class*="Date"],body.aclass-dark .reviews [class*="elfsight-app"] [class*="date"]{color:rgba(255,255,255,.65)!important}
body.aclass-dark .reviews [class*="elfsight-app"] a:not([class*="Button"]):not([class*="button"]){color:var(--gold)!important}

/* ===== STORY FILM (merged 72 s film, 23 Oct) ===== */
.story{height:1100vh}
.stage{--focus:50% 50%}
.poster{object-fit:cover;object-position:var(--focus);transition:opacity .6s;z-index:0}
.video{object-position:var(--focus);z-index:1}
.story .scene[style]{background-size:cover!important;background-position:var(--focus)!important;background-repeat:no-repeat!important;z-index:1}
.shade,.grain{z-index:2}
.beat,.ui,.end{z-index:3}
.ui.baked{display:none!important}
.static .beat[style]{background:linear-gradient(90deg,rgba(0,0,0,.78) 0,rgba(0,0,0,.35) 55%,rgba(0,0,0,.15)),var(--bg) center/cover no-repeat}
.static .poster{display:none}
@media (max-width:767px){
  .static .beat[style]{background:linear-gradient(180deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.3) 60%,rgba(0,0,0,.1)),var(--bg) 60% 50%/cover no-repeat}
}

/* ===== STORY HUD (trip panel, 23 Oct) ===== */
.clock{display:none}
.hud{position:absolute;right:clamp(16px,2.4vw,40px);top:calc(var(--hdr) + 48px);z-index:5;width:232px;padding:14px 16px 13px;color:#fff;
  background:linear-gradient(160deg,rgba(20,22,26,.62),rgba(10,11,13,.42));border:1px solid rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.hud:before{content:"";position:absolute;left:0;top:0;width:28px;height:1px;background:var(--gold)}
.hud-top{display:flex;justify-content:space-between;align-items:center;font:800 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.hud-live{display:inline-flex;align-items:center;gap:7px}
.hud-live i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(215,182,93,.6);animation:hudp 2.2s infinite}
@keyframes hudp{0%{box-shadow:0 0 0 0 rgba(215,182,93,.55)}70%{box-shadow:0 0 0 7px rgba(215,182,93,0)}100%{box-shadow:0 0 0 0 rgba(215,182,93,0)}}
.hud-sc{font-variant-numeric:tabular-nums}.hud-sc b{color:#fff;font-weight:800}
.hud-time{display:flex;align-items:baseline;gap:6px;margin:12px 0 12px;font:500 40px/1 var(--serif);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.hud-time small{font:800 11px/1 var(--sans);letter-spacing:.16em;color:var(--gold)}
.hud-route{display:flex;align-items:center;gap:9px;font:800 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.hud-end{display:inline-flex;align-items:center;gap:5px;color:var(--gold);white-space:nowrap}
.hud-end svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
.hud-home{color:rgba(255,255,255,.55);transition:color .4s}
.hud.arrived .hud-home{color:var(--gold)}
.hud-line{position:relative;flex:1;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 3px,transparent 3px 7px)}
.hud-line b{position:absolute;left:0;top:0;height:1px;width:0;background:var(--gold)}
.hud-line em{position:absolute;top:50%;left:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(215,182,93,.18),0 0 12px rgba(215,182,93,.6)}
.hud-meta{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font:700 11px/1 var(--sans);letter-spacing:.04em;color:rgba(255,255,255,.62)}
.hud-meta span:first-child{color:#fff}
.end.on~.hud{opacity:.55}
.static .hud{display:none}
@media (max-width:767px){
  .hud{top:auto;right:12px;bottom:calc(var(--bar) + 16px);width:176px;padding:10px 12px}
  .hud-top{font-size:9px}
  .hud-time{font-size:26px;margin:7px 0 8px}
  .hud-meta{display:none}
  .end.on~.hud{opacity:0}
}

/* ===== A CLASS ELEMENTOR KIT (23 Oct): sections are Elementor widgets; inner pages share the home design ===== */
/* Elementor wrappers: no padding, no gaps, full width, no clipping (sticky / reveal safe) */
.aclass-dark .elementor-widget[class*="elementor-widget-acl_"]{margin:0!important;width:100%}
.aclass-dark .elementor-widget[class*="elementor-widget-acl_"]>.elementor-widget-container{padding:0;margin:0;overflow:visible}
.aclass-dark .e-con:has(>.elementor-widget[class*="elementor-widget-acl_"]),.aclass-dark .e-con:has(>.e-con-inner>.elementor-widget[class*="elementor-widget-acl_"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--content-width:100%;--width:100%;padding:0!important;max-width:none}
.aclass-dark .e-con>.e-con-inner:has(>.elementor-widget[class*="elementor-widget-acl_"]){max-width:none;padding:0}
.aclass-dark .elementor-section .elementor-container:has(.elementor-widget[class*="elementor-widget-acl_"]){max-width:none}
.aclass-dark .elementor-column-gap-default>.elementor-column>.elementor-element-populated:has(.elementor-widget[class*="elementor-widget-acl_"]){padding:0}
/* inner pages: page title comes from the Page header widget (single H1) */
body.aclass-kit .page-header,body.aclass-kit .entry-title,body.aclass-kit .page-content>h1:first-child{display:none}
body.aclass-kit .site-main{max-width:none;padding:0;margin:0}
body.aclass-kit .site-main a:not(.elementor-button):not(.btn){color:inherit}
body.aclass-kit{background:var(--ink)}
.phero svg:has(>use),.s-cards svg:has(>use),.s-prose svg:has(>use),.story-edit-note svg:has(>use){fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* page header */
.phero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink2);color:#fff;padding:clamp(120px,13vw,200px) 0 clamp(72px,8vw,120px);border-bottom:1px solid rgba(255,255,255,.08)}
.phero-compact{padding:clamp(44px,5vw,72px) 0 clamp(28px,3vw,44px)}
.phero-img{position:absolute;inset:0;z-index:-2;background:var(--img) center/cover no-repeat;transform:scale(1.04)}
.phero.has-img:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,15,18,.92) 0,rgba(14,15,18,.7) 45%,rgba(14,15,18,.25) 100%),linear-gradient(0deg,rgba(14,15,18,.6),transparent 40%)}
.phero:not(.has-img):before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 80% at 85% 0,rgba(215,182,93,.12),transparent 60%)}
.crumbs{display:flex;gap:10px;margin-bottom:clamp(28px,3vw,44px);font:700 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.crumbs a{color:var(--gold)!important}.crumbs span{opacity:.5}
.phero .kick{color:#fff}
.phero h1{margin:0;max-width:16ch;font:400 clamp(46px,6.6vw,104px)/1 var(--serif);letter-spacing:-.04em;color:#fff}
.phero-compact h1{font-size:clamp(38px,4.6vw,68px)}
.phero h1 em{font-style:italic;font-weight:300;color:var(--gold)}
.phero-p{margin:clamp(20px,2vw,30px) 0 0;max-width:56ch;font-size:clamp(17px,1.4vw,20px);line-height:1.65;color:#c9ced3}
.phero-compact .phero-p{margin-top:14px}
.phero-b{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(28px,3vw,40px)}
.phero .btn.ghost{color:#fff;border:1px solid rgba(255,255,255,.35)}

/* text block */
.s-prose{padding:clamp(80px,9vw,140px) 0}
.prose-wrap{display:grid;gap:clamp(32px,5vw,96px)}
.prose-side{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.prose-side.prose-img{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,4fr)}
.prose-side.prose-img-left .prose-fig{order:-1}
.prose-stack{grid-template-columns:minmax(0,1fr);max-width:880px}
.prose-stack.prose-img{grid-template-columns:minmax(0,7fr) minmax(0,5fr);max-width:none}
.prose-stack.prose-img .prose-head{grid-column:1/-1}
.prose-head .sh{margin-bottom:0;position:sticky;top:calc(var(--hdr) + 40px)}
.prose-head .sh h2{font-size:clamp(34px,3.6vw,56px)}
.prose-head:empty{display:none}
.prose{font-size:17.5px;line-height:1.8;color:#c9ced3;max-width:68ch}
.prose>*:first-child{margin-top:0}
.prose h2,.prose h3{font:400 clamp(26px,2.4vw,36px)/1.15 var(--serif);letter-spacing:-.025em;color:#fff;margin:clamp(40px,4vw,60px) 0 18px;padding-top:clamp(24px,2.4vw,36px);border-top:1px solid var(--hair)}
.prose h2:first-child,.prose h3:first-child{border-top:0;padding-top:0}
.prose h4{font:700 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:32px 0 12px}
.prose p{margin:0 0 1.1em}
.prose ul{list-style:none;margin:0 0 1.2em;padding:0}
.prose ul li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--hair)}
.prose ul li:before{content:"";position:absolute;left:0;top:23px;width:14px;height:1px;background:var(--gold)}
.prose a{color:var(--gold)!important;text-decoration:underline;text-underline-offset:3px}
.prose strong{color:#fff;font-weight:700}
.prose-fig{margin:0;position:relative}
.prose-fig img{display:block;width:100%;height:100%;max-height:640px;object-fit:cover}

/* cards grid */
.s-cards{padding:clamp(80px,9vw,140px) 0}
.cards{display:grid;gap:0}
.cards-2{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-line{border-top:1px solid var(--hair)}
.cards-line .ccard{border-bottom:1px solid var(--hair);border-right:1px solid var(--hair)}
.cards-line.cards-2 .ccard:nth-child(2n),.cards-line.cards-3 .ccard:nth-child(3n),.cards-line.cards-4 .ccard:nth-child(4n){border-right:0}
.cards-box{gap:clamp(12px,1.4vw,20px)}
.cards-box .ccard{background:var(--ink3);border:1px solid var(--hair)}
.ccard{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(28px,2.8vw,44px);color:var(--ink-t);transition:background .4s var(--ease)}
.cards-line.cards-2 .ccard:nth-child(2n+1),.cards-line.cards-3 .ccard:nth-child(3n+1),.cards-line.cards-4 .ccard:nth-child(4n+1){padding-left:0}
a.ccard:hover{background:rgba(255,255,255,.03)}
.ccard-ic{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(215,182,93,.4);color:var(--gold);margin-bottom:10px}
.ccard-ic svg{width:20px;height:20px}
.ccard small{font:700 10.5px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.ccard h3{margin:0;font:400 clamp(21px,1.7vw,26px)/1.25 var(--serif);letter-spacing:-.02em;color:#fff;word-break:break-word}
.ccard p{margin:0;font-size:15.5px;line-height:1.7;color:#b9bec4}
.ccard-go{position:absolute;right:clamp(20px,2vw,32px);top:clamp(28px,2.8vw,44px);color:var(--gold);transition:transform .4s var(--ease)}
.ccard-go svg{width:18px;height:18px}
a.ccard:hover .ccard-go{transform:translateX(5px)}

/* fleet grid mode */
.fl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(14px,1.6vw,24px)}
.fl-gridmode .fcar{width:auto;flex:none}

/* editor note instead of the story */
.story-edit-note{padding:28px 0;background:#2a2f36;color:#fff;border-bottom:2px solid var(--gold)}
.story-edit-note p{margin:0;max-width:90ch;font-size:14px;line-height:1.6;color:#d6d9dc}
.story-edit-note .kick{margin-bottom:10px;color:var(--gold)}

@media (max-width:1024px){
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .cards-line.cards-4 .ccard:nth-child(2n){border-right:0}
  .cards-line.cards-4 .ccard:nth-child(2n+1){padding-left:0}
  .prose-side,.prose-side.prose-img,.prose-stack.prose-img{grid-template-columns:minmax(0,1fr)}
  .prose-head .sh{position:static}
}
@media (max-width:767px){
  .cards-2,.cards-3,.cards-4{grid-template-columns:1fr}
  .cards-line .ccard{border-right:0!important;padding-left:0!important;padding-right:0}
  .phero{padding-top:clamp(96px,22vw,130px)}
  .phero-compact{padding:28px 0 20px}
  .phero-compact .crumbs{margin-bottom:16px}
}

/* booking page mode + flexible contact line */
.contactline{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.s-book-page{padding-top:clamp(36px,4vw,64px)!important}
.s-book-page .crumbs{justify-content:center;color:rgba(255,255,255,.5)}
.s-book-page .sh{margin-bottom:clamp(24px,2.4vw,40px)}
.s-book-page .sh h1{font:400 clamp(38px,4.6vw,68px)/1.02 var(--serif);letter-spacing:-.035em;color:var(--ink-t);margin:0}
.s-book-page .sh h1 em{font-style:italic;font-weight:300;color:var(--gold-d)}
.s-book-page .intro{margin-top:12px}
@media (max-width:767px){
  .s-book-page{padding-top:18px!important}
  .s-book-page .crumbs{margin-bottom:12px}
  .s-book-page .sh{margin-bottom:14px}
  .s-book-page .sh h1{font-size:34px}
  .s-book-page .intro{font-size:15.5px;margin-top:8px}
  .contactline{grid-template-columns:1fr}
  .contactline li+li{border-left:0;border-top:1px solid var(--hair)}
  .contactline a,.contactline li:first-child a{padding:18px 0}
}

/* kit pages / home: Elementor kit heading colours must not leak into the dark design */
body.aclass-dark :is(h1,h2,h3,h4,h5,h6){color:inherit}
body.aclass-dark .prose :is(h2,h3){color:#fff}
body.aclass-dark .s,body.aclass-dark .phero{font-family:var(--sans)}
body.aclass-dark .btn.gold{color:#192026!important;background:var(--gold)}
body.aclass-dark .btn.gold:hover{background:#fff}
body.aclass-dark .btn.ghost{color:#fff!important}
.cards-4 .ccard h3{font-size:clamp(18px,1.4vw,22px)}
.ccard h3{overflow-wrap:anywhere;word-break:normal}
/* bottom bar + linked cards: Elementor kit link colours must not apply */
.mbar a.c{color:#fff!important}.mbar a.w{color:#07210f!important}.mbar a.k{color:#16130a!important}
body.aclass-dark a.ccard{color:var(--ink-t)!important}
body.aclass-dark .ccard h3{color:#fff!important}
body.aclass-dark .contactline a,body.aclass-dark .contactline span{color:var(--ink-t)!important}
body.aclass-dark .talk a{color:var(--ink-t)!important}
body.aclass-dark .tile,body.aclass-dark .fcar{color:var(--ink-t)}
body.aclass-dark .tile{color:#fff!important}
@media (max-width:767px){
  .ccard{padding:20px 0;gap:8px;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:center}
  .ccard-ic{grid-row:1/4;margin:0;width:40px;height:40px}
  .ccard small,.ccard h3,.ccard p{grid-column:2}
  .ccard-go{top:50%;right:0;transform:translateY(-50%)}
  a.ccard:hover .ccard-go{transform:translate(5px,-50%)}
}

/* ===== 23 Oct · vehicle pages, blog, signatures ===== */
body.aclass-blog .site-main,body.aclass-blog .page-content{max-width:none;padding:0;margin:0}
body.aclass-blog .page-header{display:none}
body.aclass-blog{background:var(--ink)}
.vhero svg:has(>use),.aband svg:has(>use),.s-posts svg:has(>use),.pnav svg:has(>use),.flt svg:has(>use),.fqs svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* vehicle header */
.vhero{position:relative;background:radial-gradient(ellipse 70% 90% at 78% 40%,rgba(215,182,93,.10),transparent 60%),var(--ink2);color:#fff;padding:clamp(56px,7vw,110px) 0 0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.vhero-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,72px);align-items:center}
.vhero h1{margin:0;font:400 clamp(44px,5.6vw,88px)/1 var(--serif);letter-spacing:-.04em;color:#fff}
.vhero h1 em{font-style:italic;font-weight:300;color:var(--gold)}
.vhero .kick{color:var(--gold)}
.vhero .btn.ghost{border:1px solid rgba(255,255,255,.35)}
.vhero-fig{position:relative;margin:0;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.vhero-contain{background:radial-gradient(ellipse 60% 55% at 50% 55%,#f4f2ed 0,#dcd8cf 62%,#b9b4a8 100%);clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}
.vhero-contain:after{content:"";position:absolute;left:12%;right:12%;bottom:14%;height:8%;background:radial-gradient(ellipse at center,rgba(0,0,0,.35),transparent 70%);filter:blur(6px)}
.vhero-contain img{position:relative;z-index:1;width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply;transform:translateX(3%)}
.vhero-cover img{width:100%;height:100%;object-fit:cover}
.vspecs{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.1)}
.vspecs li{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,34px) clamp(14px,2vw,32px);border-left:1px solid rgba(255,255,255,.1)}
.vspecs li:first-child{border-left:0;padding-left:0}
.vspecs b{font:300 clamp(36px,3.6vw,56px)/.95 var(--serif);letter-spacing:-.04em;color:#fff}
.vspecs span{font:700 10.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#9aa3ab}

/* article cards */
.s-posts{padding:clamp(72px,8vw,120px) 0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px) clamp(18px,2vw,32px)}
.pcard{display:flex;flex-direction:column;gap:14px;color:var(--ink-t)!important}
.pcard-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink3)}
.pcard-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease),filter .8s;filter:saturate(.85) brightness(.92)}
.pcard:hover .pcard-img img{transform:scale(1.07);filter:none}
.pcard-m{display:flex;justify-content:space-between;gap:12px;font:700 10.5px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pcard-m span:first-child{color:var(--gold)}
.pcard h3{margin:0;font:400 clamp(22px,1.8vw,28px)/1.2 var(--serif);letter-spacing:-.02em;color:#fff}
.pcard-go{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.pcard-go svg{width:15px;height:15px;transition:transform .4s var(--ease)}
.pcard:hover .pcard-go svg{transform:translateX(5px)}
.pnav{display:flex;justify-content:center;gap:8px;margin-top:clamp(48px,5vw,80px);flex-wrap:wrap}
.pnav .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--hair);font:700 13px/1 var(--sans);color:var(--ink-t)!important}
.pnav .page-numbers.current,.pnav a.page-numbers:hover{background:var(--gold);border-color:var(--gold);color:#192026!important}
.phero-blog{padding-bottom:clamp(48px,5vw,80px)}

/* single article */
.ahead{max-width:900px;margin:0 auto;padding:clamp(56px,7vw,110px) var(--pad) clamp(28px,3vw,44px);color:#fff}
.ahead h1{margin:0;font:400 clamp(38px,4.8vw,72px)/1.04 var(--serif);letter-spacing:-.035em;color:#fff}
.ahead .kick{color:var(--gold)}
.ameta{margin:22px 0 0;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.afig{max-width:1200px;margin:0 auto clamp(40px,5vw,72px);padding:0 var(--pad)}
.afig img{display:block;width:100%;max-height:620px;object-fit:cover}
.aprose{max-width:760px;margin:0 auto;padding:0 var(--pad)}
.aprose img{max-width:100%;height:auto;display:block;margin:28px 0 8px}
.aprose p:empty{display:none}
.aband{max-width:1200px;margin:clamp(64px,7vw,110px) auto clamp(64px,7vw,110px);padding:clamp(40px,5vw,72px) var(--pad);background:radial-gradient(ellipse 60% 100% at 100% 0,rgba(215,182,93,.14),transparent 60%),var(--ink2);border-top:1px solid var(--gold);text-align:left}
.aband h2{margin:0 0 10px;font:400 clamp(34px,3.6vw,54px)/1.04 var(--serif);letter-spacing:-.035em;color:#fff}
.aband h2 em{font-style:italic;font-weight:300;color:var(--gold)}
.aband p{color:#c9ced3}
.aband .btn.ghost{border:1px solid rgba(255,255,255,.35)}

/* signature 1 · route line under the header */
.rline{position:absolute;left:0;right:0;bottom:-1px;height:22px;transform:translateY(100%);display:flex;align-items:center;gap:12px;padding:0 clamp(16px,2vw,28px);font:800 9.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);opacity:0;transition:opacity .4s;pointer-events:none;background:linear-gradient(180deg,rgba(14,15,18,.7),rgba(14,15,18,0))}
.rline.on{opacity:1}
.rline-a{color:var(--gold)}
.rline i{position:relative;flex:1;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 3px,transparent 3px 7px)}
.rline i b{position:absolute;left:0;top:0;height:1px;width:0;background:var(--gold)}
.rline i em{position:absolute;top:50%;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(215,182,93,.7)}
.rline.done .rline-b{color:var(--gold)}
@media (max-width:767px){.rline{height:18px;font-size:8.5px;gap:8px}}

/* signature 2 · fleet filter */
.flt{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 clamp(28px,3vw,44px);padding-bottom:clamp(20px,2vw,28px);border-bottom:1px solid var(--hair)}
.flt-l{display:inline-flex;align-items:center;gap:8px;margin-right:10px;font:700 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.flt-l svg{width:16px;height:16px;color:var(--gold)}
.flt button{height:40px;padding:0 18px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--ink-t);font:700 13px/1 var(--sans);letter-spacing:.04em;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.flt button:hover{border-color:var(--gold)}
.flt button.on{background:var(--gold);border-color:var(--gold);color:#192026}
.flt-n{margin-left:auto;font:italic 400 17px/1 var(--serif);color:var(--gold)}
.fl-grid .fcar{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.fl-grid .fcar.fl-out{opacity:0;transform:translateY(12px)}
.fl-grid .fcar.fl-in{opacity:1;transform:none}

/* signature 3 · FAQ search */
.fqs{display:flex;align-items:center;gap:14px;height:58px;padding:0 18px;margin-bottom:18px;border:1px solid var(--hair);background:rgba(255,255,255,.02);transition:border-color .3s}
.fqs:focus-within{border-color:var(--gold)}
.fqs svg{width:20px;height:20px;flex:none;color:var(--gold)}
.fqs input{flex:1;height:100%;border:0!important;background:transparent!important;color:#fff!important;font:400 17px/1 var(--sans);outline:0;box-shadow:none!important;padding:0!important}
.fqs input::placeholder{color:rgba(255,255,255,.4)}
.fqs-none{margin:8px 0 0;color:#c9ced3}.fqs-none a{color:var(--gold)!important}

/* signature 4 · headline reveal */
h1.wr .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
h1.wr .w>span,h1.wr .w>em>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 55ms + 120ms)}
h1.wr .w>em{display:inline-block}
h1.wr.wr-in .w>span,h1.wr.wr-in .w>em>span{transform:none}
.phero-img{animation:pheroSettle 2.4s cubic-bezier(.16,1,.3,1) both}
@keyframes pheroSettle{from{transform:scale(1.14)}to{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.phero-img{animation:none}}

@media (max-width:1024px){.vhero-in{grid-template-columns:1fr}.vhero-fig{order:-1}.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){
  .vhero{padding-top:28px}
  .vspecs{grid-template-columns:repeat(2,1fr)}
  .vspecs li:nth-child(3){border-left:0;padding-left:0}
  .vspecs li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .pgrid{grid-template-columns:1fr}
  .flt-n{width:100%;margin:6px 0 0}
  .flt button{padding:0 14px}
}
.fl-grid .fcar[hidden]{display:none!important}
body.aclass-dark .flt button{background:transparent!important;color:var(--ink-t)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:0!important;box-shadow:none!important;font:700 13px/1 var(--sans)!important;letter-spacing:.04em!important;text-transform:none!important}
body.aclass-dark .flt button:hover{border-color:var(--gold)!important}
body.aclass-dark .flt button.on{background:var(--gold)!important;border-color:var(--gold)!important;color:#192026!important}
.fqs input::-webkit-search-cancel-button{filter:grayscale(1) brightness(2)}
body.aclass-dark .hdr a:not(.btn),body.aclass-dark .ftr3 a,body.aclass-dark .mnav a{color:#fff!important}
body.aclass-dark .hdr a:not(.btn):hover,body.aclass-dark .ftr3 a:hover{color:var(--gold)!important}
/* Elementor kit button styles must not restyle theme buttons */
.hdr .mnav-btn{background:transparent!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:50%!important;box-shadow:none!important;padding:0!important}
.hdr .mnav-btn span{background:#fff!important}
/* vehicle photos: one white studio look everywhere (images carry their own soft shadow) */
.fcar-img,.fcar-img.photo{background:#fff!important}
.fcar-img img,.fcar-img.photo img{object-fit:contain!important;mix-blend-mode:normal!important;filter:none!important;width:100%;height:100%;padding:4%;box-sizing:border-box}
.vhero-contain{background:#fff!important;clip-path:none}
.vhero-contain:after{display:none}
.vhero-contain img{width:100%;height:100%;mix-blend-mode:normal;transform:none}
.fcar-img .fcar-i,.fcar-img.photo .fcar-i{color:#8a6d1f!important}
.vspecs:has(>li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}

/* HUD top edge = story progress (fills with scroll) */
.hud:before{width:calc(var(--p,0) * 100%);height:2px;top:-1px;transition:width .12s linear;box-shadow:0 0 10px rgba(215,182,93,.55)}
.hud:after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:rgba(255,255,255,.10);z-index:-1}
/* headline reveal: room for italic overhang (no clipped glyphs) */
h1.wr .w{padding:0 .14em .1em .04em;margin:0 -.14em -.1em -.04em}

/* ===== header rhythm (23 Oct): consistent 40px controls, even gaps, nothing touching ===== */
.hdr .r{gap:12px}
.hdr .btn.sm{height:42px;min-height:0!important;padding:0 20px!important;font-size:16px!important;line-height:1!important;border-radius:0!important;align-self:center;box-shadow:none!important}
.hdr .ic{width:42px;height:42px;flex:none;display:inline-flex;align-items:center;justify-content:center}
.hdr .mnav-btn{width:42px!important;height:42px!important}
@media (max-width:1099px){
  .hdr{height:var(--hdr);padding:0 16px!important;border-bottom:1px solid rgba(255,255,255,.06)}
  .hdr>a:first-child img{height:40px!important;width:auto}
  .hdr .r{gap:10px}
  .hdr .ic{width:40px;height:40px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent!important}
  .hdr .ic svg{width:18px;height:18px}
  .hdr .btn.sm{height:40px;padding:0 16px!important;font-size:15px!important}
  .hdr .mnav-btn{width:40px!important;height:40px!important}
}
@media (max-width:360px){.hdr .btn.sm{padding:0 12px!important;font-size:14px!important}.hdr .r{gap:8px}}
/* staging ribbon: always one line so it never overlaps the header */
@media (max-width:767px){.ribbon{height:21px;padding:6px 10px;font-size:9px;line-height:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* linked cards keep their colours on hover/tap (Elementor kit link-hover colour must not apply) */
body.aclass-dark a.fcar,body.aclass-dark a.fcar:hover,body.aclass-dark a.fcar:focus,body.aclass-dark a.pcard:hover,body.aclass-dark a.ccard:hover{color:var(--ink-t)!important}
body.aclass-dark a.tile:hover,body.aclass-dark a.tile:focus{color:#fff!important}
.fcar-i{z-index:2;line-height:1.2!important}

.video.baked{object-position:50% 50%!important}

/* Google rating badge, top of the booking section (fills the gap under the story) */
.grate-wrap{display:flex;justify-content:center;margin:0 0 44px}
.grate{display:inline-flex;align-items:center;gap:12px;padding:12px 22px;border:1px solid rgba(215,180,98,.35);background:rgba(255,255,255,.03);color:var(--ink-t,#f1efea)!important;text-decoration:none;font:700 13px/1 var(--sans);letter-spacing:.06em;transition:border-color .3s,background .3s}
.grate:hover{border-color:var(--gold);background:rgba(215,180,98,.08)}
.grate-st{color:var(--gold);font-size:16px;letter-spacing:2px}
.grate b{font:500 22px/1 var(--serif);color:#fff;letter-spacing:0}
.grate-t{color:rgba(241,239,234,.75);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px}
@media (max-width:767px){.grate-wrap{margin:0 0 30px}.grate{gap:9px;padding:10px 16px}.grate-st{font-size:14px;letter-spacing:1px}.grate b{font-size:19px}.grate-t{font-size:10.5px;letter-spacing:.12em}}
/* inline links in intro texts: always underlined so they read as tappable */
.intro a.ilink{color:inherit!important;text-decoration:underline!important;text-decoration-color:var(--gold)!important;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s}
.intro a.ilink:hover,.intro a.ilink:focus{color:var(--gold)!important}
.phero-p a.ilink,.area-p a.ilink,.aband a.ilink{color:inherit!important;text-decoration:underline!important;text-decoration-color:var(--gold)!important;text-decoration-thickness:1px;text-underline-offset:4px}
.phero-p a.ilink:hover,.area-p a.ilink:hover,.aband a.ilink:hover{color:var(--gold)!important}
/* contact row whose label has its own link (Local line - WhatsApp): same box as a linked row, two separate taps */
.contactline .cl-row{display:flex;align-items:center;gap:16px;padding:26px 24px}
.contactline li:first-child .cl-row{padding-left:0}
.contactline .cl-row a{display:inline;padding:0!important;background:none!important;color:inherit!important}
.contactline .cl-row span>a:hover{color:var(--gold)!important}
.contactline .cl-row small a.ilink{color:var(--gold)!important;text-decoration:underline!important;text-decoration-color:var(--gold)!important;text-underline-offset:3px;letter-spacing:inherit}
@media (max-width:767px){.contactline .cl-row,.contactline li:first-child .cl-row{padding:18px 0}}
/* mobile story text: sits right under the header on a soft dark scrim so it never fights the phone/people in the film */
@media (max-width:767px){
  html:not(.static) .story .beat{top:calc(var(--hdr) + 14px);padding:10px 0 26px}
  html:not(.static) .story .beat:before{content:"";position:absolute;left:-20px;right:-20px;top:calc(-1 * var(--hdr) - 30px);bottom:-40px;z-index:-1;background:linear-gradient(180deg,rgba(8,9,11,.88) 0,rgba(8,9,11,.78) 55%,rgba(8,9,11,0) 100%)}
  html:not(.static) .story .beat h2{font-size:25px;line-height:1.12}
  html:not(.static) .story .beat p{font-size:14.5px;margin-top:6px}
  html:not(.static) .story .beat .num{font-size:15px;margin-bottom:6px}
}
/* booking section directly under the story: tighter top on mobile (rating badge fills the space) */
@media (max-width:767px){.s-book:not(.s-book-page){padding-top:44px}}
.grate-wrap{flex-wrap:wrap;gap:14px}
@media (max-width:767px){.grate-wrap{flex-direction:column;align-items:center;gap:10px}.grate-wrap .grate{min-width:300px;justify-content:center}}
.grate-wrap .grate{width:380px;justify-content:center}
@media (max-width:767px){.grate-wrap .grate{width:316px;min-width:0;gap:8px;padding:10px 12px}}

/* Trustpilot review cards (Reviews section, under the Google/Elfsight reviews) */
.tprow{margin-top:clamp(48px,5vw,72px)}
.tprow-h{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.tprow-h h3{margin:0;font:400 clamp(24px,2.2vw,32px)/1.15 var(--serif);color:#fff}
.tprow-h h3 em{color:var(--gold)}
.tprow-h .grate{width:auto}
.tpcards{list-style:none;margin:0;padding:0 0 10px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 48px)/3));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(215,180,98,.4) transparent}
.tpcards li{scroll-snap-align:start;display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.tpc-st{color:var(--gold);letter-spacing:3px;font-size:15px}
.tpcards blockquote{margin:0;flex:1;font:400 16.5px/1.6 var(--sans);color:rgba(241,239,234,.86);display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.tpc-by{margin:0;display:flex;flex-direction:column;gap:4px}
.tpc-by b{font:500 18px/1.2 var(--serif);color:#fff}
.tpc-by span{font:700 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute,#9a9ca3)}
.tprow>.tlink{margin-top:22px;display:inline-flex}
@media (max-width:767px){.tpcards{grid-auto-columns:84%;gap:14px}.tpcards li{padding:22px}.tprow-h{flex-direction:column;align-items:flex-start}}
.tpcards{grid-auto-columns:calc((100% - 48px)/3)}
.tprow-f{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}
.tprow-f .tlink{margin:0}
.tpnav{display:flex;gap:10px}
.tpnav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(215,180,98,.45);background:transparent;color:var(--gold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,color .25s,opacity .25s}
.tpnav button:hover{background:var(--gold);color:#192026}
.tpnav button:disabled{opacity:.3;cursor:default;background:transparent;color:var(--gold)}
.tpnav svg{width:18px;height:18px}
.tpnav .tp-prev svg{transform:rotate(180deg)}
@media (max-width:1023px){.tpcards{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:767px){.tpcards{grid-auto-columns:84%}.tprow-f{flex-direction:row}}
body .tpnav button.tp-prev,body .tpnav button.tp-next{width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(215,180,98,.45)!important;background:transparent!important;color:var(--gold)!important;box-shadow:none!important;min-height:0!important}
body .tpnav button.tp-prev:hover:not(:disabled),body .tpnav button.tp-next:hover:not(:disabled){background:var(--gold)!important;color:#192026!important}
body .tpnav button:disabled{opacity:.3!important}
@media (max-width:767px){.tprow-f .tlink{letter-spacing:.1em!important;font-size:11px!important;white-space:nowrap}}
.grate-wrap .grate{width:360px}
@media (max-width:1180px){.grate-wrap .grate{width:330px;padding:12px 14px}}
@media (max-width:767px){.grate-wrap .grate{width:316px}}
/* "24 hours / 7 days" under phone numbers */
.contactline .cl-note{display:block;margin-top:2px;font:italic 400 13px/1.2 var(--serif);letter-spacing:0;color:var(--gold)}
.ftr3 nav a span{display:flex;flex-direction:column;gap:3px}
.ftr3 nav a span small{font:700 9.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.85}
.ftr-pw a{color:inherit!important;text-decoration:underline;text-decoration-color:rgba(215,180,98,.6);text-underline-offset:3px;margin:0!important;padding:0!important}
.ftr-pw a:hover{color:var(--gold)!important}
.ftr-bot .ftr-pw{display:inline;white-space:nowrap}.ftr-bot .ftr-pw a{display:inline!important}
.ftr-bot span.ftr-pw{display:inline!important;gap:0!important;flex-wrap:nowrap!important}
.talk .talk-ph{display:inline-flex;flex-direction:column;gap:3px}
.talk .talk-ph small{font:italic 400 13px/1.2 var(--serif);letter-spacing:0;text-transform:none;color:var(--gold)}
.ccard p.ccard-247,.ccard .ccard-247{font:italic 400 13.5px/1.2 var(--serif)!important;color:var(--gold)!important;margin-top:4px}
.ccard h3{word-break:normal!important;overflow-wrap:normal!important}
.grate-t{white-space:nowrap}.grate-wrap .grate{width:auto;min-width:330px;padding:12px 20px}@media (max-width:767px){.grate-wrap .grate{width:316px;min-width:0;padding:10px 12px}}
/* Booking page on phones: ratings as one compact row so the form starts higher (brief: form in the first screen) */
.grate-s{display:none}
@media (max-width:767px){
  .s-book-page .grate-wrap{flex-direction:row!important;flex-wrap:nowrap;justify-content:center;gap:6px!important;margin:0 0 18px!important}
  .s-book-page .grate-wrap .grate{width:auto!important;min-width:0!important;padding:7px 9px!important;gap:5px!important}
  .s-book-page .grate-st{font-size:0!important;letter-spacing:0!important}
  .s-book-page .grate-st:before{content:"\2605";font-size:12px;color:var(--gold)}
  .s-book-page .grate b{font-size:15px!important}
  .s-book-page .grate-t{display:none!important}
  .s-book-page .grate-s{display:inline;font:700 9.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(241,239,234,.75)}
}

/* Android Chrome: the address bar slides in/out while scrolling. A stage sized to the small viewport (svh)
   left a black band at the bottom and let the text drift under the bar. dvh follows the visible area. */
.stage{height:100vh;height:100dvh}
@supports not (height:100dvh){.stage{height:100svh}}
/* keep the fixed header above everything in the story at all times */
.aclass-home .hdr{z-index:95;transform:translateZ(0)}
/* narrow phones (Galaxy Fold cover ~344px): the "Read all reviews" link + arrows must never be wider than the screen */
.tprow,.tprow-f{min-width:0;max-width:100%}
.tprow-f .tlink{min-width:0}
@media (max-width:767px){.tprow-f .tlink{white-space:normal!important;letter-spacing:.08em!important;font-size:10.5px!important;line-height:1.5}}
@media (max-width:400px){.tprow-f{gap:12px}.tpnav button.tp-prev,.tpnav button.tp-next{width:40px!important;height:40px!important}}
@media (max-width:767px){.grate-wrap .grate,.tprow-h .grate{width:min(316px,100%)!important;max-width:100%!important;box-sizing:border-box}.grate{max-width:100%;box-sizing:border-box}}@media (max-width:340px){.grate{gap:6px!important;padding:9px 10px!important}.grate-st{letter-spacing:0!important;font-size:12px!important}.grate-t{letter-spacing:.06em!important;font-size:9.5px!important}}

/* final scene: headline + buttons sit in the lower third (on the wet driveway), so the car, Sarah and Michael stay visible */
html:not(.static) .story .end{top:auto;bottom:clamp(26px,4.5vh,56px);padding:0 20px}
html:not(.static) .story .end:before{content:"";position:absolute;left:-50vw;right:-50vw;bottom:calc(-1 * clamp(36px,7vh,80px));height:calc(100% + clamp(36px,7vh,80px) + 18vh);z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(8,9,11,.82) 0,rgba(8,9,11,.55) 55%,rgba(8,9,11,0) 100%)}
html:not(.static) .story .end h2{font-size:clamp(28px,3.3vw,50px);max-width:24ch;margin:0 auto .55em}
@media (max-width:767px){
  html:not(.static) .story .end{top:auto;bottom:calc(var(--bar) + 22px)}
  html:not(.static) .story .end h2{font-size:28px;max-width:14ch}
  html:not(.static) .story .end .b{max-width:300px}
}
@media (max-width:767px){
  html:not(.static) .story .end{bottom:calc(var(--bar) + 16px)}
  html:not(.static) .story .end h2{font-size:24px;max-width:18ch;margin-bottom:14px;line-height:1.15}
  html:not(.static) .story .end .b{flex-direction:row!important;align-items:center;justify-content:center;gap:8px;max-width:none}
  html:not(.static) .story .end .b .btn{padding:0 14px!important;height:44px;font-size:15px!important;white-space:nowrap}
}
@media (max-width:360px){html:not(.static) .story .end .b .btn{padding:0 10px!important;font-size:14px!important}}

/* Dark theme: Elementor kit (a:hover #192026) and Hello reset.css (a:hover/active #336) turned links almost
   invisible on dark sections when hovered or tapped. Default hover/tap colour = brand gold; buttons and
   cards keep their own explicit colours. */
body.aclass-dark a:not(.btn):not(.elementor-button):hover,
body.aclass-dark a:not(.btn):not(.elementor-button):active,
body.aclass-dark a:not(.btn):not(.elementor-button):focus-visible{color:var(--gold)}
body.aclass-dark a.btn:hover,body.aclass-dark a.btn:active{text-decoration:none}
body .fl-btn:hover:not(:disabled),body .fl-btn:active{color:#192026!important}body .fl-btn:hover svg,body .fl-btn:active svg{color:#192026!important;stroke:currentColor}

/* Contact cards / contact line: first column is flush with the page grid (no left padding), so a full-box hover
   background exposed the content hugging the edge. Hover now lights the icon + title instead of the box. */
body a.ccard:hover,body a.ccard:active{background:transparent!important}
.ccard-ic{transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
a.ccard:hover .ccard-ic,a.ccard:active .ccard-ic{background:var(--gold);border-color:var(--gold);color:#192026}
body.aclass-dark a.ccard:hover h3,body.aclass-dark a.ccard:active h3{color:var(--gold)!important}
body .contactline a:hover,body .contactline a:active,body.aclass-dark .contactline a:hover{background:transparent!important}
.contactline a svg,.contactline .cl-row>svg{transition:color .3s var(--ease),transform .3s var(--ease)}
.contactline a:hover>svg{transform:scale(1.12)}
body.aclass-dark .contactline a:hover span{color:var(--gold)!important}
body.aclass-dark .contactline a:hover span small{color:var(--mute)!important}
/* every contact card gets the same inner padding, including the left column (desktop + tablet) */
@media (min-width:768px){
  .cards-line.cards-2 .ccard:nth-child(2n+1),.cards-line.cards-3 .ccard:nth-child(3n+1),.cards-line.cards-4 .ccard:nth-child(4n+1){padding-left:clamp(28px,2.8vw,44px)!important}
  .cards-line .ccard{border-left:0}
  .cards-line{border-left:1px solid var(--hair);border-right:1px solid var(--hair)}
  .cards-line.cards-2 .ccard:nth-child(2n),.cards-line.cards-3 .ccard:nth-child(3n),.cards-line.cards-4 .ccard:nth-child(4n){border-right:0}
  .contactline li:first-child a,.contactline li:first-child .cl-row,.contactline li:nth-child(3) a{padding-left:24px!important}
  .contactline{border-left:1px solid var(--hair);border-right:1px solid var(--hair)}
  /* subtle box hover is fine again now that every box has padding */
  body a.ccard:hover{background:rgba(255,255,255,.03)!important}
}
@media (min-width:768px){
  body .cards-line .ccard{padding-left:clamp(24px,2.8vw,44px)!important;padding-right:clamp(24px,2.8vw,44px)!important}
  body .contactline>li>a,body .contactline>li>.cl-row{padding-left:24px!important}
  body .contactline .cl-row a{padding:0!important}
}

/* framed card grids: close the frame when the last row is not full (bottom border on the grid, cells overlap it by 1px) */
@media (min-width:768px){.cards-line{border-bottom:1px solid var(--hair)}.cards-line .ccard{margin-bottom:-1px}}

/* Vehicle page: cinematic interior band (photo + breadcrumb + H1) */
.vint{position:relative;height:min(78vh,820px);min-height:440px;margin-top:var(--hdr);overflow:hidden;background:#0b0c0f;display:flex;align-items:flex-end}
.admin-bar .vint{margin-top:0}
.vint-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform:scale(1.04);animation:vintIn 1.6s var(--ease,cubic-bezier(.2,.7,.2,1)) forwards}
@keyframes vintIn{to{transform:scale(1)}}
.vint:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,12,15,.92) 0,rgba(11,12,15,.55) 30%,rgba(11,12,15,0) 62%),linear-gradient(90deg,rgba(11,12,15,.45) 0,rgba(11,12,15,0) 50%);pointer-events:none}
.vint-in{position:relative;z-index:2;width:100%;padding-bottom:clamp(36px,5vw,64px)}
.vint .crumbs{margin-bottom:18px}
.vint .kick{color:#fff;margin-bottom:14px}
.vint h1{margin:0;color:#fff;font-size:clamp(40px,5.4vw,84px);line-height:1.02;text-shadow:0 2px 30px rgba(0,0,0,.45)}
.vhero-sub{padding-top:clamp(40px,4.5vw,72px)!important}
.vhero-sub .vhero-t>.phero-p:first-child{margin-top:0}
@media (max-width:767px){
  .vint{height:62vh;min-height:380px}
  .vint-img{object-position:42% 55%}
  .vint h1{font-size:40px}
}
@media (prefers-reduced-motion:reduce){.vint-img{animation:none;transform:none}}
body .vint h1,body .vint h1 .w,body .vint h1 span{color:#fff!important}
body .vint h1 em,body .vint h1 em .w{color:var(--gold)!important}
.vint:after{background:linear-gradient(0deg,rgba(11,12,15,.94) 0,rgba(11,12,15,.6) 32%,rgba(11,12,15,0) 64%),linear-gradient(90deg,rgba(11,12,15,.62) 0,rgba(11,12,15,.25) 40%,rgba(11,12,15,0) 62%)!important}
body .vint img.vint-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
body .vint{margin-top:0!important}

/* ===== 27 Oct: mobile safe-area, scroll cue, about prose balance ===== */
/* the fixed bottom bar is 64px + the iPhone home-indicator inset; story items used 64px only and slid under the bar */
@media (max-width:1023.98px){
  :root{--bar:calc(64px + env(safe-area-inset-bottom,0px))}
  .mbar{height:var(--bar)}
}
/* scroll cue: bottom centre like besiktasusa.net (small caps label + thin animated line), above every scene layer */
.hint{z-index:6;bottom:30px;font:700 11px/1 var(--sans);letter-spacing:.34em;padding-left:.34em;text-transform:uppercase;color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.65);pointer-events:none}
.hint:after{width:1px;height:48px;margin:12px auto 0;background:linear-gradient(var(--gold),rgba(215,182,93,0));transform-origin:top center;animation:aclHint 2s cubic-bezier(.6,0,.2,1) infinite}
@keyframes aclHint{0%{transform:scaleY(0);opacity:1}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@media (max-width:1023.98px){.hint{display:block;bottom:calc(var(--bar) + 112px)}.hint:after{height:40px}}
/* about / prose with picture: bigger picture, calmer text so the three columns balance */
@media (min-width:1025px){
  .prose-side.prose-img{grid-template-columns:minmax(0,3.9fr) minmax(0,4.9fr) minmax(0,4.4fr);align-items:start}
  .prose-side.prose-img .prose-head .sh h2{font-size:clamp(30px,2.6vw,42px);overflow-wrap:normal;hyphens:manual}
  .prose-side.prose-img .prose{font-size:16.5px;line-height:1.75}
  .prose-side.prose-img .prose-fig{position:sticky;top:calc(var(--hdr) + 40px);align-self:start}
  .prose-side.prose-img .prose-fig img{width:100%;height:auto;aspect-ratio:3/4;max-height:none;object-fit:cover}
}

/* ===== 27 Oct: smoother scroll-scrub on Windows Chrome/Opera ===== */
/* no full-screen noise layer (4x the viewport, blended over the film every frame) */
.grain{display:none!important}
/* no live blur of the film behind the trip card: the backdrop is re-blurred on every decoded frame */
.hud{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(13,15,18,.84)!important}
/* nine still layers were each promoted to a full-screen GPU layer; they are only a fallback before the film loads */
.scene{will-change:auto}
.story.vid-on .scene{display:none}
