/* Fallback fonts sized like the brand fonts, so the page does not move when they load */
@font-face{font-family:'CG Fallback';src:local('Times New Roman'),local('Georgia'),local('Liberation Serif');size-adjust:97%}
@font-face{font-family:'Nunito Fallback';src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:98.5%}
:root{--bg:#0d0c09;--text:#f1eae3;--muted:#b3ab9c;--dim:#8f897c;--gold:#d4af37;--line:#2b2515}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Nunito','Nunito Fallback',system-ui,sans-serif;font-weight:300;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.serif{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400}
.h2{margin:0 0 20px;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:clamp(36px,4.8vw,58px);line-height:1.12;text-wrap:balance}
.h2 em{color:#fff}
.center{text-align:center}
.kicker{text-align:center;margin:0 0 44px;font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.sec{padding:96px 0}
.grid{display:grid;gap:18px}
.ph{background:repeating-linear-gradient(115deg,#17140e 0 14px,#12100b 14px 28px);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;color:#9a9282;font-size:14px}

/* Header */
header.top{position:absolute;top:12px;left:12px;right:12px;max-width:1180px;margin:0 auto;border-radius:18px;z-index:20;background:rgba(120,125,135,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14)}
.top .bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 16px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand img{height:36px;width:auto}
.brand span{font-style:italic;font-size:28px;color:#fff}
.top nav{display:flex;gap:28px;font-size:16px}
.top nav a:hover{color:var(--gold)}
.icons{display:flex;gap:10px;align-items:center}
.lang{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:13px}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer;color:#fff;min-width:44px;min-height:44px}
.top .mobile-nav{display:none;flex-direction:column;gap:0;padding:4px 16px 18px;font-size:20px}
.mobile-nav a{padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}
header.top.open .mobile-nav{display:flex}

/* Hero */
.hero{position:relative;height:clamp(640px,92vh,900px);border-radius:0 0 56px 56px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero>img,.hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,9,.35) 0%,rgba(13,12,9,.15) 35%,rgba(13,12,9,.8) 100%)}
.hero>*{position:relative;z-index:2}
.hero h1{margin:0 0 28px;font-weight:400;font-size:clamp(38px,5.6vw,74px);line-height:1.12;max-width:19ch;color:#fff}
.hero h1 em{font-weight:400}

/* Buttons */
.pill{display:inline-flex;align-items:center;gap:18px;padding:8px 32px 8px 8px;border-radius:999px;background:rgba(13,12,9,.55);border:1px solid rgba(255,255,255,.18);font-size:clamp(19px,2.2vw,22px);color:#fff;cursor:pointer;font-family:inherit;font-weight:300;transition:border-color .2s}
.pill:hover{border-color:var(--gold)}
.pill b{font-weight:600}
.pill i{width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.pill2{display:inline-flex;align-items:center;gap:20px;padding:14px 14px 14px 36px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:clamp(20px,2.4vw,26px);color:#fff;white-space:nowrap}
.pill2:hover{border-color:var(--gold)}
.pill2 .ln{width:64px;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.pill2 i{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;margin-left:-60px;background:var(--bg)}

/* Partner marquee */
.mq{overflow:hidden;white-space:nowrap;margin:44px 0 34px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq>div{display:inline-flex;align-items:center;gap:48px;padding-right:48px;animation:mq 28s linear infinite}
.mq img{width:74px;height:22px;object-fit:contain;opacity:.9}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq>div{animation:none}}

/* Badges */
.bx{display:flex;align-items:center;gap:14px;min-height:44px;border:1px solid #5a4a22;background:linear-gradient(180deg,#17140c,#0e0c09);border-radius:6px;padding:0 14px;font-size:16px}
.bx b{font-weight:600}
.bx svg{flex:none;width:18px;height:18px}

/* Booking */
.book{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 22px),linear-gradient(150deg,#2b271e 0%,#16130d 55%,#0e0c09 100%)}
.book .grid{grid-template-columns:1fr 1fr;gap:32px;padding:48px 40px;align-items:center}
.book form .grid{padding:0;gap:12px}
.book form{display:flex;flex-direction:column;gap:12px}
.book label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.in{min-height:52px;width:100%;background:var(--bg);border:1px solid #3a3220;border-radius:12px;color:var(--text);padding:0 16px;font:300 16px Nunito,sans-serif;color-scheme:dark}
.in:focus{outline:2px solid var(--gold);outline-offset:1px}
.submit{justify-content:center;padding:14px 32px;background:var(--text);color:var(--bg);font:600 17px Nunito,sans-serif;border-radius:999px;border:0;cursor:pointer;min-height:52px}
.submit:hover{background:#fff}
.note{margin:6px 0 0;color:var(--dim);font-size:14px}

/* Glow / map */
.glow{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(760px,100%);height:260px;background:radial-gradient(closest-side,rgba(212,175,55,.38),rgba(212,175,55,.12) 55%,transparent);filter:blur(10px)}

/* Services */
.svc{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:28px}
.svc img,.svc .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.svc::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(13,12,9,.9))}
.svc>span,.svc>i{position:relative;z-index:2}
.svc>span{font-size:34px;line-height:1.1;color:#fff}
.dot{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .2s}
.svc:hover .dot{transform:rotate(45deg)}

/* Fleet */
.car{border:1px solid var(--line);background:linear-gradient(160deg,#17140c,#0e0c09);border-radius:20px;overflow:hidden}
.car img{display:block;width:100%;height:200px;object-fit:cover;object-position:60% 55%}
.car p{margin:0;padding:18px 24px 4px;font-size:28px;color:#fff}
.car small{display:block;padding:0 24px 20px;color:var(--dim);font-size:15px}

/* Reasons */
.arc{height:90px;border-radius:50% 50% 0 0/100% 100% 0 0;border-top:1px solid rgba(212,175,55,.45);background:radial-gradient(closest-side at 50% 0,rgba(212,175,55,.18),transparent)}
.reason{display:grid;grid-template-columns:34px 1fr;column-gap:18px;align-items:start}
.reason svg{margin-top:8px}
.reason h3{margin:0 0 12px;font-size:38px;line-height:1.05;font-style:italic;color:#fff}
.reason p{margin:0;color:var(--dim);font-size:18px;line-height:1.65}

/* Reviews */
.rv{border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(150deg,#1f1b12,#0e0c09)}
.stars{display:flex;gap:4px;margin-bottom:14px;color:var(--gold);font-size:22px;letter-spacing:2px}
.av{width:62px;height:62px;border-radius:50%;border:1px solid var(--text);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;color:#fff}

/* FAQ */
details{border:1px solid var(--line);border-radius:24px;padding:26px 24px;margin-bottom:20px}
summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-style:italic;font-size:26px;line-height:1.3}
summary::-webkit-details-marker{display:none}
summary::before{content:'›';font-style:normal;color:var(--dim);font-size:28px;line-height:1;transition:transform .2s;margin-right:4px}
details[open] summary::before{transform:rotate(90deg)}
details p{margin:16px 0 0 40px;color:var(--muted);font-size:19px}

/* Placeholder marker (à remplacer) */
.todo{color:#e3c46a;background:rgba(212,175,55,.08);border:1px dashed rgba(212,175,55,.5);border-radius:6px;padding:0 6px}

/* Footer */
footer{border-top:1px solid #241f12;padding:64px 0 36px;text-align:center;background:radial-gradient(600px 300px at 50% 0%,#17140c,var(--bg))}
footer nav{display:flex;flex-direction:column;gap:22px;font-size:26px;color:var(--dim);margin-bottom:48px}
footer a:hover{color:var(--gold)}
.contacts{display:flex;gap:20px 40px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;font-size:20px;color:var(--muted)}
.langs{display:flex;gap:10px 28px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:18px;margin-bottom:36px}
.langs .on{color:var(--text);border-bottom:1px solid var(--text)}
.legal{margin:0;color:#7a7364;font-size:12px;letter-spacing:.3em;text-transform:uppercase}

/* Floating WhatsApp */
.wa{position:fixed;right:16px;bottom:16px;z-index:50;width:56px;height:56px;border-radius:50%;background:#d4af37;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.4)}

@media(max-width:820px){
  .c2,.c3,.book .grid{grid-template-columns:1fr!important}
  .top nav,.lang{display:none}
  .menu-btn{display:block}
  .sec{padding:64px 0}
  .book .grid{padding:32px 20px}
  .hero{border-radius:0 0 32px 32px}
  details p{margin-left:0}
  .pill2{padding-left:24px;font-size:20px}
}

/* ---------- Inner pages (About, Services) ---------- */
.page-hero{position:relative;min-height:640px;border-radius:0 0 56px 56px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:170px 0 64px}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,9,.88) 0%,rgba(13,12,9,.6) 50%,rgba(13,12,9,.25) 100%),linear-gradient(180deg,rgba(13,12,9,.5) 0%,transparent 35%,rgba(13,12,9,.85) 100%)}
.page-hero>*{position:relative;z-index:2}
.page-hero h1{margin:0 0 20px;font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1.06;color:#fff;max-width:16ch}
.page-hero .lead{margin:0 0 32px;max-width:27.6em;font-size:clamp(19px,2vw,22px);color:#e4ddd2}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.crumbs li+li::before{content:'/';margin-right:8px;color:#5a5345}
.crumbs a:hover{color:var(--gold)}
.eyebrow{display:block;margin:0 0 16px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.prose{color:var(--muted);font-size:19px;line-height:1.75}
.prose p{margin:0 0 20px}
.prose strong{color:var(--text);font-weight:600}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;border:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.stat{border:1px solid var(--line);border-radius:18px;padding:22px;background:linear-gradient(160deg,#17140c,#0e0c09)}
.stat b{display:block;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:44px;line-height:1;color:#fff;margin-bottom:8px}
.stat span{font-size:15px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.feat{border:1px solid var(--line);border-radius:22px;padding:30px;background:linear-gradient(160deg,#17140c,#0e0c09)}
.feat .num{font-size:13px;letter-spacing:.2em;color:var(--gold)}
.feat h3{margin:12px 0 12px;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-style:italic;font-size:30px;line-height:1.1;color:#fff}
.feat p{margin:0;color:var(--dim);font-size:17px;line-height:1.65}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:14px;color:var(--muted);font-size:18px;line-height:1.5}
.checks li::before{content:'';width:18px;height:18px;margin-top:4px;border-radius:50%;border:1px solid var(--gold);background:radial-gradient(circle,var(--gold) 0 3px,transparent 4px)}
.panel{border:1px solid var(--line);border-radius:24px;padding:36px;background:linear-gradient(150deg,#1f1b12,#0e0c09)}
.panel h3{margin:0 0 22px;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:32px;color:#fff}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.step{border-top:1px solid rgba(212,175,55,.45);padding-top:22px}
.step::before{counter-increment:s;content:'0' counter(s);display:block;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-size:40px;color:var(--gold);line-height:1;margin-bottom:14px}
.step h3{margin:0 0 10px;font-size:20px;font-weight:600;color:#fff}
.step p{margin:0;color:var(--dim);font-size:16px;line-height:1.6}
.times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.times div{border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.times b{display:block;font-weight:600;color:#fff}
.times span{font-size:15px;color:var(--dim)}
.svc-list{display:grid;gap:18px}
.svc-row{display:grid;grid-template-columns:90px 1fr auto;gap:28px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:28px 32px;transition:border-color .2s}
.svc-row:hover{border-color:var(--gold)}
.svc-row .num{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-size:48px;color:var(--gold);line-height:1}
.svc-row h3{margin:0 0 6px;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:32px;color:#fff}
.svc-row p{margin:0;color:var(--dim);font-size:17px}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.timeline div{border-left:1px solid rgba(212,175,55,.45);padding:4px 0 4px 22px}
.timeline b{display:block;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:44px;color:#fff;line-height:1}
.timeline h3{margin:10px 0 8px;font-size:18px;font-weight:600;color:var(--gold);letter-spacing:.06em;text-transform:uppercase}
.timeline p{margin:0;color:var(--dim);font-size:16px}
.cta-band{border:1px solid var(--line);border-radius:28px;padding:56px 40px;text-align:center;position:relative;overflow:hidden;background:radial-gradient(600px 240px at 50% 0%,#3a2f14,#0e0c09)}
.cta-band p{color:var(--muted);max-width:52ch;margin:0 auto 32px}
.cta-band .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.ghost{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:18px}
.ghost:hover{border-color:var(--gold)}
.related{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.related a{border:1px solid var(--line);border-radius:999px;padding:10px 22px;font-size:16px;color:var(--muted)}
.related a:hover{border-color:var(--gold);color:var(--text)}
.top nav a[aria-current]{color:var(--gold)}
@media(max-width:1000px){.steps,.times,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .split,.cards{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .page-hero{min-height:480px;padding:130px 0 48px;border-radius:0 0 32px 32px}
  .page-hero::after{background:linear-gradient(180deg,rgba(13,12,9,.6) 0%,rgba(13,12,9,.75) 45%,rgba(13,12,9,.92) 100%)}
  .svc-row{grid-template-columns:1fr;gap:12px;padding:24px}
  .panel{padding:26px}
  .cta-band{padding:40px 20px}
}
@media(max-width:520px){.steps,.times,.timeline{grid-template-columns:1fr}}
.hero>img,.hero>picture>img,.page-hero>img{z-index:0}
.hero::after,.page-hero::after{z-index:1}
.wa svg{fill:#0d0c09}
.wa:hover{background:#e3c46a}

/* Booking form: two steps */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bstep{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:12px}
.bstep[hidden]{display:none}
.steps-bar{display:flex;gap:10px;margin-bottom:4px}
.steps-bar span{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #3a3220;color:var(--dim);font-size:15px}
.steps-bar b{width:26px;height:26px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex:none}
.steps-bar .on{border-color:var(--gold);color:var(--text)}
.steps-bar .on b{background:var(--gold);border-color:var(--gold);color:var(--bg)}
textarea.in{padding:14px 16px;min-height:72px;resize:vertical}
.in.bad{border-color:#e07a5f}
.form-err{margin:4px 0 0;color:#f0a58f;font-size:15px}
.submit:disabled{opacity:.6;cursor:wait}
.done{padding:8px 0}
.book form .g2{grid-template-columns:1fr 1fr!important}
.book form .g3{grid-template-columns:1.4fr 1fr 1fr!important}
.book form .gb{grid-template-columns:auto 1fr!important}
@media(max-width:520px){.book form .g2{grid-template-columns:1fr!important}.book form .g3{grid-template-columns:1fr 1fr!important}.book form .g3>div:first-child{grid-column:1/-1}}
@media(min-width:821px){.page-hero>img.hero-shift{width:140%;max-width:none;right:auto}}

/* Book button in the main menu + booking page */
.nav-book{display:inline-flex;align-items:center;min-height:40px;padding:0 20px;border-radius:999px;background:var(--gold);color:var(--bg);font-weight:600;font-size:15px;letter-spacing:.02em;transition:background .2s}
.nav-book:hover{background:#e3c46a}
.page-book .book-top{position:relative;height:0}
.page-book .book-top header.top{position:absolute}
@media(max-width:820px){.nav-book{min-height:36px;padding:0 14px;font-size:14px}}
@media(max-width:380px){.brand span{font-size:22px}}
@media(max-width:560px){.icons .lang{display:none}.brand span{font-size:22px}.brand img{height:30px}.icons{gap:6px}}
@media(max-width:400px){.brand span{font-size:20px}.brand{gap:7px}.nav-book{padding:0 12px}.icons a[aria-label="Call us"]{display:none!important}}
/* Fleet page */
.fleet-row{display:grid;grid-template-columns:1.5fr 1fr;gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:linear-gradient(160deg,#17140c,#0e0c09);margin-bottom:28px;scroll-margin-top:100px}
.fleet-row>img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover}
.fleet-row.rev{grid-template-columns:1fr 1.5fr}
.fleet-row.rev>img{order:2}
.fleet-info{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.fleet-info .num{font-size:13px;letter-spacing:.2em;color:var(--gold)}
.fleet-info h2{margin:10px 0 14px;font-weight:400;font-size:44px;line-height:1.05;color:#fff}
.fleet-info p{margin:0 0 22px;color:var(--dim);font-size:17px;line-height:1.65}
.fleet-specs{display:flex;gap:28px;margin-bottom:18px;color:var(--muted);font-size:16px}
.fleet-specs b{display:block;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:36px;color:var(--gold);line-height:1}
.fleet-ideal{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px}
.fleet-ideal li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--muted)}
.fleet-more{display:flex;justify-content:center;margin-top:32px}
a.car{display:block;color:inherit;transition:border-color .2s}
a.car:hover{border-color:var(--gold)}
@media(max-width:900px){.fleet-row{grid-template-columns:1fr}.fleet-row.rev>img{order:0}.fleet-row>img{min-height:0;height:300px}.fleet-info{padding:28px 24px}.fleet-info h2{font-size:36px}}
@media(max-width:900px){.fleet-row>img.fit{height:auto}}
#fleet .car p{font-size:23px;padding:16px 20px 4px}#fleet .car small{padding:0 20px 18px;font-size:14px}
/* Fleet v2: full horizontal photos, no cropping */
.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.fleet-grid .car img{height:auto;aspect-ratio:2/1;object-fit:cover;object-position:50% 50%}
.fleet-grid .car:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 10px)}
.fleet-row,.fleet-row.rev{grid-template-columns:1fr}
.fleet-row>img,.fleet-row.rev>img,.fleet-row>img.fit{order:0;height:auto;min-height:0;aspect-ratio:2/1;object-fit:cover;object-position:50% 50%}
.fleet-info{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:36px 40px}
.fleet-info>div{display:flex;flex-direction:column;align-items:flex-start}
.fleet-info p{margin-bottom:0}
@media(max-width:900px){.fleet-grid{grid-template-columns:1fr}.fleet-grid .car:last-child:nth-child(odd){width:auto;justify-self:stretch}.fleet-info{grid-template-columns:1fr;gap:20px;padding:24px 22px}.fleet-row>img,.fleet-row.rev>img,.fleet-row>img.fit{height:auto}}

/* =====================================================================
   DESIGN v3 — aligned on the silverdrive.nl design system
   (Black Limousine colours: gold accent instead of cyan)
   ===================================================================== */
:root{--bg:#0b0f0f;--text:#f1eae3;--muted:#c5cccc;--dim:#7d8484;--gold:#d4af37;--line:rgba(255,255,255,.1);--ease:cubic-bezier(.16,1,.3,1);
  --card:radial-gradient(circle at 25% 0,rgba(255,255,255,.08),transparent 61%),linear-gradient(76deg,transparent 31%,rgba(255,255,255,.02) 31%),rgba(20,32,34,.25)}
body{background:var(--bg) url(images/topo.svg) center top/1600px auto repeat-y;font-weight:300}
.serif,.h2,h1,h2,h3{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif}
.h2{font-weight:300;font-size:clamp(34px,3.4vw,48px);line-height:1.3;letter-spacing:.005em;color:var(--text)}
.h2 em,h1 em,h2 em{font-style:italic;font-weight:400;color:inherit}
.kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--text)}
.kicker a,.kicker span{color:var(--gold)}
.sec{padding:110px 0}
.wrap{max-width:1134px}

/* Navigation: compact card, top-left, fixed (like silverdrive) */
header.top,.page-book .book-top header.top{position:fixed;top:24px;left:max(16px,calc((100vw - 1102px)/2));right:auto;width:auto;max-width:calc(100vw - 32px);margin:0;border-radius:10px;background:var(--card);background-color:rgba(14,20,20,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 20px rgba(0,0,0,.05);transition:width .5s var(--ease),background-color .4s}
.top .bar{height:62px;padding:0 12px 0 20px;gap:16px;justify-content:flex-start}
.top nav[aria-label="Main"]{display:none}
.brand img{height:28px}
.brand span{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-style:italic;font-weight:400;font-size:24px}
.nav-split{width:1px;height:40px;background:rgba(255,255,255,.09);flex:none}
.icons{gap:6px}
.lang{width:auto;height:30px;padding:0 10px;border-radius:999px;border:0;background:rgba(255,255,255,.06);font:600 11px Montserrat,sans-serif;letter-spacing:.04em}
.nav-book{min-height:34px;padding:0 16px;font:600 13px Montserrat,sans-serif;letter-spacing:.04em}
.icons a[aria-label="Call us"] svg,.menu-btn svg{width:20px;height:20px}
.menu-btn{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0}
.menu-btn svg path{transition:transform .4s var(--ease),opacity .3s;transform-origin:center}
header.top.open{width:min(500px,calc(100vw - 32px));background-color:rgba(16,28,28,.92)}
.top .mobile-nav{display:flex;flex-direction:column;max-height:0;overflow:hidden;padding:0 28px;transition:max-height .6s var(--ease),padding .6s var(--ease)}
header.top.open .mobile-nav{max-height:640px;padding:22px 28px 26px}
.mobile-nav a{display:flex;align-items:center;gap:20px;border:0;padding:6px 0;font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:clamp(30px,3.4vw,40px);line-height:1.25;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .6s var(--ease),color .2s}
.mobile-nav a .mi{width:16px;height:16px;color:var(--dim);flex:none;transition:color .2s}
.mobile-nav a:hover,.mobile-nav a:hover .mi{color:var(--gold)}
.mobile-nav a.mn-book{color:var(--gold)}.mobile-nav a.mn-book .mi{color:var(--gold)}
.mobile-nav a[href^="tel:"]{margin-top:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font:400 12px Nunito,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.mobile-nav a[aria-current="page"]{font-style:italic}
header.top.open .mobile-nav a{opacity:1;transform:none}
header.top.open .mobile-nav a:nth-child(2){transition-delay:.04s}header.top.open .mobile-nav a:nth-child(3){transition-delay:.08s}header.top.open .mobile-nav a:nth-child(4){transition-delay:.12s}header.top.open .mobile-nav a:nth-child(5){transition-delay:.16s}header.top.open .mobile-nav a:nth-child(6){transition-delay:.2s}header.top.open .mobile-nav a:nth-child(7){transition-delay:.24s}header.top.open .mobile-nav a:nth-child(8){transition-delay:.28s}

/* Hero */
.hero{height:90vh;min-height:620px;border-radius:0 0 20px 20px}
.hero h1,.page-hero h1{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:clamp(40px,4.1vw,56px);line-height:1.2;max-width:10.02em;letter-spacing:.005em}
.page-hero{border-radius:0 0 20px 20px}
.page-hero .lead,.subtitle{font-size:clamp(19px,1.8vw,24px);line-height:1.5;color:var(--muted);font-weight:300}

/* Buttons (silverdrive "book-now-link") */
.pill{gap:16px;padding:12px 30px 12px 12px;background:rgba(11,15,15,.35);border:1px solid rgba(255,255,255,.19);font-size:clamp(20px,1.9vw,26px);font-weight:200;transition:border-color .275s,background-color .275s}
.pill b{font-weight:600}
.pill i{width:40px;height:40px;transition:transform .5s var(--ease)}
.pill i svg{width:18px;height:18px}
.pill:hover{border-color:rgba(212,175,55,.7);background:rgba(212,175,55,.06)}
.pill:hover i{transform:rotate(45deg)}
.pill2{font-size:21px;padding:10px 10px 10px 28px;gap:16px;border-color:rgba(255,255,255,.12);transition:border-color .275s}
.pill2 i{width:52px;height:52px;margin-left:-48px;transition:transform .5s var(--ease)}
.pill2 .ln{width:56px;transition:width .5s var(--ease)}
.pill2:hover .ln{width:76px}.pill2:hover i{transform:translateX(6px)}
.ghost{transition:border-color .275s,color .275s}

/* USP chips (silverdrive usp-tag) */
.bx{min-height:35px;padding:5px 10px;gap:10px;border-radius:3px;border:1px solid rgba(212,175,55,.46);background:rgba(212,175,55,.1);font:300 15px/1 Montserrat,sans-serif}
.bx b{font-weight:600}
.bx svg{width:16px;height:16px}

/* Cards: 10px radius, glass gradient like silverdrive */
.svc,.car,.rv,.book,.feat,.fleet-row,.related-card{border-radius:10px;border:1px solid rgba(255,255,255,.1);background:var(--card)}
.svc{background:#070707}
.sec img[style*="border-radius"]{border-radius:10px!important}
.svc img,.car img,.fleet-row>img,.sec .split img{transition:transform 1.2s var(--ease)}
.svc:hover img,.car:hover img{transform:scale(1.05)}
.svc>span{font-size:clamp(22px,2vw,27px);font-weight:400;line-height:1.2}
.dot{width:40px;height:40px;transition:transform .5s var(--ease)}
.car p,.fleet-info h2{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400}
.car p{font-size:26px}
.car small,.feat p,.reason p,.rv p:not(.serif){color:var(--dim);font-size:16px;line-height:1.5}
.reason h3{font-size:28px;font-weight:500;font-style:italic;margin-bottom:8px}
.reason svg{width:20px;height:20px;margin-top:6px}
.feat h3{font-size:28px;font-weight:500}
.rv{padding:26px}
.rv p.serif{font-size:26px!important;font-weight:400;line-height:1.3!important}
.av{width:36px;height:36px;font-size:16px;border-color:rgba(255,255,255,.8)}
.stars{font-size:13px;color:#fff;letter-spacing:1px;margin-bottom:12px}

/* FAQ (silverdrive faq-accordion) */
details{border-radius:20px;border:1px solid rgba(255,255,255,.1);padding:22px 28px;box-shadow:0 10px 15px -10px rgba(31,32,34,.1);transition:border-color .275s,background-color .275s}
details:hover{border-color:rgba(255,255,255,.2)}
details[open]{background:rgba(255,255,255,.02)}
summary{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-weight:400;font-size:clamp(22px,2.2vw,30px)}
summary::before{content:'';width:10px;height:10px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);margin:0 14px 0 4px;flex:none;transition:transform .4s var(--ease)}
details[open] summary::before{transform:rotate(45deg)}
details p{font-size:17px;color:var(--muted)}

/* Glow arcs in silverdrive tone (gold) */
.arc{border-top-color:rgba(212,175,55,.35)}

/* Footer */
footer{border-top:1px solid rgba(255,255,255,.06);background:radial-gradient(700px 320px at 50% 0%,rgba(212,175,55,.06),transparent)}
footer nav{font-family:'Cormorant Garamond','CG Fallback',Georgia,serif;font-size:30px;font-weight:300;color:var(--muted)}
.legal{color:var(--dim)}

/* Page loader */
.loader{display:none}
html.js .loader{display:flex;position:fixed;inset:0;z-index:200;background:#070707;align-items:center;justify-content:center;transition:opacity .8s var(--ease),visibility .8s}
html.js .loader img{height:46px;opacity:.9;animation:ldr 1.4s var(--ease) infinite alternate}
@keyframes ldr{from{opacity:.25;transform:scale(.96)}to{opacity:1;transform:none}}
html.ready .loader{opacity:0;visibility:hidden}

/* Reveal animations (silverdrive gsap-fade-in / split text) */
html.js .rv-up{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s)}
html.js .rv-up.is-in{opacity:1;transform:none}
.sw{display:inline-block;white-space:nowrap}
.sl{display:inline-block}
html.js .split-l .sl{opacity:0;transform:translateY(.4em);transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i)*22ms + .15s)}
html.js .split-l.is-in .sl{opacity:1;transform:none}
html.js .split-w .sw{opacity:0;transform:translateY(.5em);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i)*60ms)}
html.js .split-w.is-in .sw{opacity:1;transform:none}
.scrub .sl{color:rgba(241,234,227,.22);transition:color .35s}
.scrub .sl.on{color:#fff}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){html.js .rv-up,html.js .split-l .sl,html.js .split-w .sw{opacity:1!important;transform:none!important;transition:none!important}.scrub .sl{color:inherit}}

@media(max-width:820px){
  header.top,.page-book .book-top header.top{top:12px;left:12px;right:12px;width:auto;max-width:none}
  header.top.open{width:auto}
  .nav-split{display:none}
  .top .bar{padding:0 8px 0 14px;gap:10px;justify-content:space-between}
  .sec{padding:72px 0}
  .mobile-nav a{font-size:30px}
}
.fleet-feature{display:block;margin-top:32px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.fleet-feature img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;transition:transform 1.4s var(--ease)}
.fleet-feature:hover img{transform:scale(1.03)}
.fleet-feature+.fleet-grid{margin-top:20px}
@media(max-width:820px){.hero>img,.hero>picture>img{object-position:24% 50%}}

/* ===== Motion v2: things that keep moving (silverdrive-style) ===== */
/* CTA icon: arrow leaves the box and comes back, in a loop */
.cta-ic{overflow:visible}
.cta-ic .ar{animation:ctaArrow 2.6s var(--ease) infinite}
@keyframes ctaArrow{0%,35%{transform:none;opacity:1}55%{transform:translate(7px,-7px);opacity:0}56%{transform:translate(-7px,7px);opacity:0}80%,100%{transform:none;opacity:1}}
.pill:hover i{transform:none}
.pill2 i svg{animation:arrowSlide 2.2s var(--ease) infinite}
@keyframes arrowSlide{0%,30%{transform:none;opacity:1}50%{transform:translateX(10px);opacity:0}51%{transform:translateX(-10px);opacity:0}75%,100%{transform:none;opacity:1}}

/* Menu button: burger morphs into a cross */
.mb{position:relative;width:20px;height:14px;display:block}
.mb span{position:absolute;left:0;width:100%;height:1.6px;border-radius:2px;background:#fff;transition:transform .5s var(--ease),opacity .3s,top .5s var(--ease)}
.mb span:nth-child(1){top:0}.mb span:nth-child(2){top:6px}.mb span:nth-child(3){top:12px}
header.top.open .mb span:nth-child(1){top:6px;transform:rotate(45deg)}
header.top.open .mb span:nth-child(2){opacity:0;transform:scaleX(.2)}
header.top.open .mb span:nth-child(3){top:6px;transform:rotate(-45deg)}

/* Hero photo: slow zoom-in on load, parallax on scroll (set by anim.js) */
.hero>img,.hero>picture>img,.page-hero>img{transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1.06));will-change:transform}
html.js .hero>img,html.js .hero>picture>img,html.js .page-hero>img{animation:heroIn 2.4s var(--ease) both}
@keyframes heroIn{from{opacity:0;scale:1.08}to{opacity:1;scale:1}}

/* Route map: grid, flowing dashed routes, pulsing city dots */
.route-map{position:relative;height:clamp(260px,34vw,440px);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(600px 260px at 50% 0%,rgba(212,175,55,.22),transparent 70%),radial-gradient(500px 300px at 50% 60%,rgba(212,175,55,.06),transparent),#0a0d0d;filter:blur(var(--mb,0px));transform:translateY(var(--my,0px));transition:filter .2s linear}
.route-map svg{position:absolute;inset:0;width:100%;height:100%}
.route-map .grid path{stroke:rgba(255,255,255,.035);stroke-width:1}
.route-map .route{fill:none;stroke:rgba(212,175,55,.55);stroke-width:1.4;stroke-dasharray:4 8;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-24}}
.route-map .core{fill:#d4af37}
.route-map .hub .core{fill:#fff}
.route-map .pulse{fill:none;stroke:#d4af37;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
.route-map .city:nth-child(2) .pulse{animation-delay:.4s}.route-map .city:nth-child(3) .pulse{animation-delay:.8s}.route-map .city:nth-child(4) .pulse{animation-delay:1.2s}.route-map .city:nth-child(6) .pulse{animation-delay:1.6s}.route-map .city:nth-child(7) .pulse{animation-delay:2s}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(4.2);opacity:0}}
.route-map text{fill:rgba(241,234,227,.75);font:300 15px Nunito,sans-serif;letter-spacing:.06em}
.route-map .hub text{fill:#fff;font-weight:600}

/* Light sweep across cards (silverdrive app-card-flash) */
.book,.fleet-feature,.route-map{position:relative;overflow:hidden}
.book::after,.fleet-feature::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-40%;width:28%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07) 45%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.07) 55%,transparent);transform:skewX(-18deg) translateX(0);animation:sweep 7s var(--ease) infinite}
@keyframes sweep{0%,55%{transform:skewX(-18deg) translateX(0)}100%{transform:skewX(-18deg) translateX(620%)}}

/* Final call-to-action on a photo that zooms out while scrolling */
.cta-photo{position:relative;overflow:hidden;padding:140px 0}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;transform:scale(var(--cs,1.12));will-change:transform;filter:grayscale(1)}
.cta-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,15,15,.96) 0%,rgba(11,15,15,.82) 45%,rgba(11,15,15,.45) 100%),linear-gradient(180deg,var(--bg) 0%,transparent 22%,transparent 78%,var(--bg) 100%)}
.cta-photo .wrap>*{max-width:640px}

/* Images inside cards drift slightly with scroll */
.svc img,.fleet-feature img{transform:translate3d(0,var(--py,0px),0) scale(1.1)}
.svc:hover img,.fleet-feature:hover img{transform:translate3d(0,var(--py,0px),0) scale(1.15)}

@media (prefers-reduced-motion:reduce){.cta-ic .ar,.pill2 i svg,.route-map .route,.route-map .pulse,.book::after,.fleet-feature::after,html.js .hero>img,html.js .hero>picture>img{animation:none!important}}
@media(max-width:600px){.route-map text{font-size:30px}.route-map .core{r:6}}

/* ===== PDF notes (07/11): silverdrive details ===== */
/* Partner logos: bigger, white, like the reference */
.mq{margin:36px 0 30px}
.mq>div{gap:64px;padding-right:64px;animation-duration:34s}
.mq img{width:auto;height:30px;max-width:150px;object-fit:contain;filter:brightness(0) invert(1);opacity:.88}
@media(max-width:820px){.mq img{height:26px;max-width:130px}.mq>div{gap:48px;padding-right:48px}}

/* App-style card: photo that floats + parallax, top light, flash sweep */
.app-sec{padding-top:70px;padding-bottom:30px}
.app-card{position:relative;overflow:hidden;min-height:360px;border-radius:10px;border:1px solid #1c1f21;background:#070707;display:flex;align-items:center}
.app-card::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.12),transparent 51%)}
.app-bg{position:absolute;top:-60px;bottom:-60px;right:0;width:68%;z-index:0}
.app-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;filter:grayscale(1) brightness(.8);transform:translate3d(0,var(--ay,0px),0);animation:appFloat 9s ease-in-out infinite alternate}
@keyframes appFloat{from{scale:1.06;translate:0 0}to{scale:1.12;translate:-14px 8px}}
.app-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.75) 30%,rgba(7,7,7,.15) 70%,rgba(7,7,7,.35) 100%)}
.app-flash{position:absolute;z-index:1;top:-30%;bottom:-30%;left:-30%;width:22%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(212,175,55,.10) 45%,rgba(255,240,200,.18) 50%,rgba(212,175,55,.10) 55%,transparent);animation:sweep 6s var(--ease) infinite}
.app-copy{position:relative;z-index:3;padding:48px;max-width:560px}
.app-copy .h2{margin:0 0 30px;text-align:left}
.app-sub{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:16px;line-height:24px;color:var(--text);opacity:.85}
.app-sub:hover{color:var(--gold)}
@media(max-width:820px){.app-card{min-height:520px;align-items:flex-start}.app-bg{width:100%;top:-40px;bottom:-40px}.app-bg::after{background:linear-gradient(180deg,rgba(7,7,7,.85) 0%,rgba(7,7,7,.35) 45%,rgba(7,7,7,.9) 100%)}.app-copy{padding:40px 26px;display:flex;flex-direction:column;min-height:520px}.app-copy .pill{margin-top:auto;align-self:flex-start}}

/* "Partner for premium travel": horizon glow + floating gold bubbles */
.glow{display:none}
.globe{position:relative;margin-top:-6px;height:clamp(300px,42vw,520px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.globe-arc{position:absolute;left:50%;top:40px;width:180%;height:1400px;transform:translateX(-50%);border-radius:50%;border-top:2px solid rgba(255,214,120,.55);background:radial-gradient(ellipse at 50% 0,rgba(212,175,55,.16),rgba(11,15,15,0) 35%);box-shadow:0 -30px 90px 10px rgba(212,175,55,.35),inset 0 30px 60px -20px rgba(255,220,140,.35)}
.globe-body{position:absolute;inset:40px 0 0;border-radius:50% 50% 0 0/120px 120px 0 0;overflow:hidden;background:url(images/topo.svg) center/900px auto;filter:blur(var(--mb,0px));transform:translateY(var(--my,0px))}
.globe-body svg{position:absolute;inset:0;width:100%;height:100%}
.globe-body path{fill:none;stroke:rgba(255,226,150,.45);stroke-width:1.2;stroke-dasharray:2 6;vector-effect:non-scaling-stroke;animation:flow 2.4s linear infinite}
.globe-body i{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s)/-2);border-radius:50%;background:radial-gradient(circle,rgba(255,232,160,.95),rgba(212,175,55,.55) 45%,rgba(212,175,55,0) 72%);filter:blur(1.5px);box-shadow:0 0 18px 4px rgba(212,175,55,.35);animation:bubble var(--t) ease-in-out var(--d) infinite}
@keyframes bubble{0%{transform:translate(0,0) scale(.85);opacity:.35}25%{opacity:1}50%{transform:translate(10px,-18px) scale(1.15);opacity:.8}75%{opacity:.45}100%{transform:translate(0,0) scale(.85);opacity:.35}}
.sec.center .pill{position:relative;z-index:3;background:rgba(11,15,15,.6)}

/* 6 reasons: same scale as reference */
.reason{grid-template-columns:22px 1fr;column-gap:14px}
.reason svg{width:18px;height:18px;margin-top:9px}
.reason h3{font-size:26px;line-height:1.3;font-weight:500;margin:0 0 6px;color:var(--text)}
.reason p{font-size:16px;line-height:24px;color:#6c7272}
.h2 em[style*="--muted"]{color:#9aa3a3!important}
.arc{height:70px;border-top:1px solid rgba(255,214,120,.45);background:radial-gradient(closest-side at 50% 0,rgba(212,175,55,.22),transparent);box-shadow:0 -12px 40px -14px rgba(212,175,55,.5)}

/* Reviews: glass card with top light */
.rv{border-radius:10px;border:1px solid rgba(255,255,255,.08);padding:24px 22px 26px;background:radial-gradient(circle at 30% 0,rgba(255,255,255,.1),transparent 59%),linear-gradient(180deg,rgba(26,40,42,.45),rgba(11,15,15,.2));min-height:300px}
.rv .stars{font-size:12px;letter-spacing:1px;color:#fff;margin-bottom:8px}
.rv p.serif{font-size:26px!important;line-height:39px!important;font-weight:400}
.rv p:not(.serif){font-size:16px;line-height:24px;color:#6c7272}
.av{width:30px;height:30px;font:400 15px Nunito,sans-serif}

/* Footer: same as reference (small, dim, centered, over dark photo) */
footer{position:relative;padding:76px 0 110px;border:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(11,15,15,.88) 30%,rgba(11,15,15,.92) 100%),url(images/hourly-chauffeur.webp) center/cover no-repeat;}
footer nav{font:300 15px/1.5 Nunito,sans-serif;gap:16px;color:#6c7272;margin-bottom:34px}
footer nav a[aria-current],footer nav a:hover{color:#fff}
footer .related{gap:10px 22px;margin-bottom:34px!important}
footer .related a{border:0;padding:0;font-size:14px;color:#6c7272;border-radius:0}
footer .related a:hover{color:#fff}
.contacts{gap:12px 30px;font-size:15px;color:#6c7272;margin-bottom:26px}
.contacts a:hover{color:#fff}
.langs{font-size:14px;gap:6px 14px;color:#6c7272;margin-bottom:24px}
.langs .on{color:#fff}
.legal{font-size:10px;letter-spacing:.3em;color:#4f5555}
footer a:hover{color:#fff}
.app-bg{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
@media(max-width:820px){.app-bg{-webkit-mask-image:none;mask-image:none}}
.globe{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 70%,transparent)}
.globe-arc{width:max(1900px,170%);height:2400px;top:46px}
.globe-body{inset:46px 0 0;border-radius:0}
.arc{margin:0 calc(50% - max(50vw,700px));width:auto}
.reasons-wrap{overflow:hidden}
footer{padding-top:40px}
body{overflow-x:clip}
.globe{margin-top:-34px}
/* Footer v3 (07/11): one centered column like the reference, no second photo */
footer{background:linear-gradient(180deg,var(--bg),#090c0c);padding:56px 0 100px}
footer nav,footer .related{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 0 14px!important;font:300 14px/1.5 Nunito,sans-serif}
footer .related{margin-bottom:34px!important}
footer .related a{font-size:14px}
.contacts{font-size:14px;gap:10px 26px}
.cta-photo{padding:120px 0 90px}
.cta-bg::after{background:linear-gradient(90deg,rgba(11,15,15,.96) 0%,rgba(11,15,15,.82) 45%,rgba(11,15,15,.45) 100%),linear-gradient(180deg,var(--bg) 0%,transparent 22%,transparent 60%,var(--bg) 100%)}
@media(max-width:820px){.cta-photo{padding:90px 0 60px}.cta-bg::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(11,15,15,.7) 25%,rgba(11,15,15,.75) 65%,var(--bg) 100%)}.pill2{font-size:18px}footer{padding-bottom:110px}}
/* Brussels hub on globe */
.globe .hub{position:absolute;z-index:3;left:50%;top:calc(40px + (100% - 40px)*.567);width:0;height:0;transform:translateY(var(--my,0px))}
@media(max-width:820px){.globe .hub{top:calc(46px + (100% - 46px)*.567)}}
.hub-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#ffe39a;box-shadow:0 0 12px 3px rgba(212,175,55,.85);animation:hubBlink 1.6s ease-in-out infinite}
.hub-dot::before,.hub-dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,214,120,.8);animation:hubRing 2.4s ease-out infinite}
.hub-dot::after{animation-delay:1.2s}
.hub-label{position:absolute;left:16px;top:-11px;font:300 15px/22px Nunito,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f1eae3;white-space:nowrap;text-shadow:0 0 12px rgba(0,0,0,.8)}
@keyframes hubBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@keyframes hubRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(5);opacity:0}}
@media(max-width:820px){.hub-label{font-size:12px;left:13px;top:-12px}}
@media(prefers-reduced-motion:reduce){.hub-dot,.hub-dot::before,.hub-dot::after{animation:none}}
/* Welcome photo band (after fleet) */
.welcome{position:relative;margin:0;border-radius:10px;overflow:hidden;border:1px solid #1c1f21}
.welcome>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:60% 40%}
.welcome-cap{position:absolute;left:24px;right:24px;bottom:24px;padding:24px 30px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(11,15,15,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.welcome-cap h2{margin:0 0 6px;font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.15;color:#f1eae3}
.welcome-cap h2 em{color:var(--gold)}
.welcome-cap p{margin:0;font:300 clamp(15px,1.4vw,18px)/1.55 Nunito,sans-serif;color:#c5cccc}
@media(max-width:820px){.welcome>img{aspect-ratio:4/5;object-position:58% 50%}.welcome-cap{left:12px;right:12px;bottom:12px;padding:18px 18px}}
/* Fleet feature: gold-lit interior + copy */
.ff-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch;background:radial-gradient(circle at 80% 0,rgba(212,175,55,.10),transparent 55%),#0a0d0d}
.ff-media{position:relative;display:block;overflow:hidden;aspect-ratio:4/5}
.ff-split .ff-media img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 55%}
.ff-copy{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:clamp(32px,5vw,72px)}
.ff-copy .eyebrow{margin:0;color:var(--gold);font:600 12px/1 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.ff-title{display:block;font-weight:300;font-size:clamp(34px,4vw,56px);line-height:1.08;color:#f1eae3}
.ff-title em{color:var(--gold)}
.ff-text{display:block;font:300 clamp(16px,1.4vw,19px)/1.6 Nunito,sans-serif;color:#c5cccc;max-width:34ch}
.ff-more{display:inline-flex;align-items:center;gap:10px;margin-top:8px;font:400 15px/1 Nunito,sans-serif;color:#f1eae3;transition:gap .3s}
.ff-split:hover .ff-more{gap:16px;color:var(--gold)}
@media(max-width:820px){.ff-split{grid-template-columns:1fr}.ff-copy{padding:28px 24px 32px;gap:14px}}
/* Fleet photos v4: profile only, dark-gold graded (1774x620) */
.fleet-grid .car img,.car img[src*="images/fleet-"],.fleet-row>img,.fleet-row.rev>img,.fleet-row>img.fit{aspect-ratio:1774/704!important;object-fit:cover;object-position:50% 50%;background:#0b0f0f}

/* Hero v5: Wiltcher's B&W with art-directed mobile crop */
.hero>picture{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 50%}
@media(min-width:821px){.hero::after{background:linear-gradient(90deg,rgba(8,8,6,.78),rgba(8,8,6,.25) 45%,rgba(8,8,6,0) 65%),linear-gradient(180deg,rgba(8,8,6,0) 70%,rgba(8,8,6,.55))}}
@media(max-width:820px){.hero>picture>img{object-position:50% 0%}.hero::after{background:linear-gradient(180deg,rgba(8,8,6,0) 0%,rgba(8,8,6,0) 35%,rgba(8,8,6,.6) 55%)}}
/* Hero mobile calqué sur la référence (taille du titre, voile, arrondi) */
@media(max-width:820px){
.hero{border-radius:0 0 44px 44px}
.hero h1{font-size:31px;line-height:1.1;letter-spacing:0;max-width:none;margin-bottom:26px;color:#f4f4f2}
.hero>picture>img{filter:saturate(0) brightness(.92)}
.hero::after{background:linear-gradient(180deg,rgba(8,8,6,.38) 0%,rgba(8,8,6,.40) 40%,rgba(8,8,6,.62) 72%,rgba(8,8,6,.86) 100%)}
}
/* Hero : mêmes réglages sur ordinateur que sur mobile (référence) */
.hero{border-radius:0 0 44px 44px}
.hero>picture>img{filter:brightness(.92)}
@media(min-width:821px){.hero::after{background:linear-gradient(90deg,rgba(8,8,6,.55),rgba(8,8,6,0) 55%),linear-gradient(180deg,rgba(8,8,6,.38) 0%,rgba(8,8,6,.40) 40%,rgba(8,8,6,.62) 72%,rgba(8,8,6,.86) 100%)}}
@media(max-width:820px){.hero>picture>img{filter:brightness(.92)}}
/* Drapeau belge animé (flotte au vent) */
.hero-flag-layer{position:absolute;inset:0;z-index:0;pointer-events:none;transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1.06))}
html.js .hero-flag-layer{animation:heroIn 2.4s var(--ease) both}
.hero-flag{position:absolute;display:flex;filter:brightness(.82) saturate(.85)}
.hero-flag i{flex:1;height:100%;background:linear-gradient(90deg,#141414 0 33.4%,#f0c419 33.4% 66.7%,#d0202b 66.7%);background-size:800% 100%;animation:flagWave 1.4s ease-in-out infinite}
@keyframes flagWave{0%,100%{transform:translateY(calc(var(--a) * -1));filter:brightness(1.05)}50%{transform:translateY(var(--a));filter:brightness(.88)}}
.hero-flag i:nth-child(1){background-position:0.00% 0;--a:1.0%;animation-delay:-0.00s}.hero-flag i:nth-child(2){background-position:14.29% 0;--a:3.0%;animation-delay:-0.16s}.hero-flag i:nth-child(3){background-position:28.57% 0;--a:5.0%;animation-delay:-0.32s}.hero-flag i:nth-child(4){background-position:42.86% 0;--a:7.0%;animation-delay:-0.48s}.hero-flag i:nth-child(5){background-position:57.14% 0;--a:9.0%;animation-delay:-0.64s}.hero-flag i:nth-child(6){background-position:71.43% 0;--a:11.0%;animation-delay:-0.80s}.hero-flag i:nth-child(7){background-position:85.71% 0;--a:13.0%;animation-delay:-0.96s}.hero-flag i:nth-child(8){background-position:100.00% 0;--a:15.0%;animation-delay:-1.12s}
.hero-flag i{margin-right:-.6px}.hero-flag i:last-child{margin-right:0}
.reason-k{display:block;margin:0 0 8px;font-size:12px;letter-spacing:.18em;color:#d4af37;font-weight:600}
/* Cartes empilées au défilement (accueil) */
.stack{display:flex;flex-direction:column;gap:28px}
.stack-card{position:sticky;top:calc(96px + var(--i) * 14px);transform-origin:50% 0;will-change:transform}
.stack-card>img{aspect-ratio:16/8.2!important}
.stack-card{transform:scale(var(--sc,1));filter:brightness(var(--br,1))}
@media(max-width:820px){.stack-card{top:calc(84px + var(--i) * 10px)}.stack-card>img{aspect-ratio:4/5!important}}
/* Footer façon référence : photo sombre, grand titre, bouton, liens sur une ligne */
footer.ft{position:relative;overflow:hidden;padding:120px 0 40px;text-align:left;border:0;background:#080a0a;border-radius:44px 44px 0 0}
footer.ft .ft-bg{position:absolute;inset:0;z-index:0}
footer.ft .ft-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.35) brightness(.38)}
footer.ft .ft-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,10,.55),rgba(8,10,10,.35) 35%,rgba(8,10,10,.85) 75%,#080a0a)}
footer.ft .wrap{position:relative;z-index:1}
footer.ft .ft-cta{max-width:820px;margin:0 0 90px}
footer.ft h2{margin:0 0 30px;font-weight:400;font-size:clamp(34px,4.6vw,64px);line-height:1.2;color:#f4f1ea}
footer.ft h2 em{font-style:italic;color:#f4f1ea}
footer.ft .ft-cta p{margin:0 0 40px;font:300 clamp(17px,1.9vw,24px)/1.6 Nunito,sans-serif;color:#d9d6cf}
footer.ft .ft-nav{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);margin:0 0 48px!important;font:300 clamp(15px,1.4vw,19px)/1.4 Nunito,sans-serif;color:#8a9090}
footer.ft .ft-nav a{color:#8a9090}
footer.ft .ft-nav a:hover{color:#fff}
footer.ft .contacts,footer.ft .langs,footer.ft .legal{justify-content:center;text-align:center}
@media(max-width:820px){footer.ft{padding:80px 0 110px;border-radius:32px 32px 0 0}footer.ft .ft-cta{margin-bottom:60px}footer.ft .ft-nav{justify-content:flex-start;gap:14px 22px}}
footer.ft .ft-bg img{filter:brightness(.62);object-position:75% 45%}
footer.ft .ft-bg::after{background:linear-gradient(90deg,rgba(8,10,10,.75),rgba(8,10,10,.2) 60%),linear-gradient(180deg,rgba(8,10,10,.35),rgba(8,10,10,.1) 35%,rgba(8,10,10,.8) 72%,#080a0a)}
footer.ft .ft-cta p{max-width:620px}
@media(max-width:820px){footer.ft .ft-bg img{object-position:72% 30%}}
footer.ft .ft-bg img{object-position:100% 40%}
@media(max-width:820px){footer.ft .ft-bg img{object-position:63% 30%}}
/* Carte WhatsApp : film de la flotte avec image de couverture */
.app-film video{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block;background:#070707}
.app-flash{pointer-events:none}
.app-play{position:absolute;z-index:4;right:22%;top:50%;transform:translate(50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;background:none;border:0;color:#fff;cursor:pointer;font:400 14px/1 Nunito,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.app-play svg{box-sizing:content-box;padding:22px 20px 22px 24px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(7,7,7,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d4af37;transition:transform .4s,border-color .4s}
.app-play:hover svg{transform:scale(1.08);border-color:#d4af37}
.app-card.playing .app-play,.app-card.playing .app-flash{display:none}
.app-card.playing .app-bg{top:0;bottom:0;z-index:5;width:68%}
.app-card.playing .app-bg::after{display:none}
.app-card.playing .app-film video{object-fit:contain;background:#000}
@media(max-width:820px){.app-play{right:50%;top:auto;bottom:40px;transform:translateX(50%)}.app-card.playing .app-bg{width:100%;-webkit-mask-image:none;mask-image:none}.app-card.playing .app-copy{visibility:hidden}}
.app-card.playing .app-bg{width:56%;-webkit-mask-image:none;mask-image:none}
@media(max-width:820px){.app-play{top:250px;bottom:auto;transform:translate(50%,-50%)}.app-card.playing .app-bg{width:100%}}
/* Section film plein cadre (remplace la carte WhatsApp) */
.film-sec{padding-top:70px;padding-bottom:30px}
.film-card{position:relative;overflow:hidden;border-radius:24px;min-height:min(78vh,640px);display:flex;align-items:flex-end;background:#070707;border:1px solid #1c1f21}
.film-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:0;background:#070707}
.film-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(7,7,7,.82) 0%,rgba(7,7,7,.45) 45%,rgba(7,7,7,.05) 75%),linear-gradient(180deg,rgba(7,7,7,.15) 0%,rgba(7,7,7,0) 40%,rgba(7,7,7,.7) 100%)}
.film-copy{position:relative;z-index:2;padding:56px;max-width:640px}
.film-eyebrow{display:block;margin-bottom:16px;font:600 12px/1 Nunito,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#d4af37}
.film-copy .h2{margin:0 0 18px;text-align:left}
.film-copy p{margin:0 0 30px;color:#d9d6cf;font-size:18px;line-height:1.6}
.film-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.film-sound{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:#fff;cursor:pointer;font:400 15px/1 Nunito,sans-serif;opacity:.85;padding:10px 0}
.film-sound svg{box-sizing:content-box;padding:10px 9px 10px 11px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#d4af37}
.film-sound:hover{opacity:1}
.film-card.full .film-shade,.film-card.full .film-copy{display:none}
.film-card.full .film-bg{object-fit:contain;background:#000;z-index:3}
@media(max-width:820px){.film-card{min-height:600px;border-radius:20px}.film-copy{padding:28px 22px}.film-shade{background:linear-gradient(180deg,rgba(7,7,7,.1) 0%,rgba(7,7,7,.35) 40%,rgba(7,7,7,.92) 100%)}.film-bg{object-position:60% 50%}}
@media(min-width:821px){.app-play{top:74%}}
/* Footer : ton doré + reflet doré animé */
footer.ft .ft-bg img{filter:brightness(.78)}
footer.ft .ft-bg::before{content:'';position:absolute;z-index:1;top:-20%;bottom:-20%;left:-30%;width:18%;transform:skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(212,175,55,.10) 40%,rgba(255,226,150,.22) 50%,rgba(212,175,55,.10) 60%,transparent);animation:ftSweep 7s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
@keyframes ftSweep{0%{left:-30%}55%,100%{left:120%}}
footer.ft h2 em{color:#e6c766}
footer.ft .ft-nav{border-top-color:rgba(212,175,55,.25)}
@media (prefers-reduced-motion:reduce){footer.ft .ft-bg::before{animation:none;display:none}}
footer.ft h2 em,footer.ft h2 em .sl,footer.ft h2 em .sw{color:#e6c766!important}
/* flag fix: keep Atomium top visible on wide screens, flag above veil */
@media(min-width:821px){.hero>picture>img{object-position:100% 0%}}
.hero>picture>img,.hero-flag-layer{transform-origin:50% 0}
.hero-flag-layer{z-index:2}
.hero-flag{filter:brightness(.8) drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.app-copy .app-desc{max-width:440px;margin:0 0 22px;color:rgba(241,234,227,.82);font-size:15px;line-height:1.6}
@media(max-width:820px){.app-copy .app-desc{font-size:14px}}
@media(max-width:820px){.app-card{min-height:660px}.app-play{top:auto;bottom:34px;transform:translateX(50%)}}
/* Brussels network: secondary cities linked to the hub */
.globe-net{position:absolute;inset:40px 0 0;z-index:2;pointer-events:none;transform:translateY(var(--my,0px))}
@media(max-width:820px){.globe-net{inset:46px 0 0}}
.globe-net svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.globe-net .ln{fill:none;stroke:rgba(230,199,102,.55);stroke-width:1.3;stroke-dasharray:3 6;vector-effect:non-scaling-stroke;animation:netFlow 1.6s linear infinite}
.globe-net .pl{fill:none;stroke:#ffe39a;stroke-width:2;stroke-linecap:round;stroke-dasharray:26 3000;stroke-dashoffset:26;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(255,214,120,.9));animation:netPulse 2.8s cubic-bezier(.45,0,.55,1) infinite}
@keyframes netFlow{to{stroke-dashoffset:-18}}
@keyframes netPulse{0%{stroke-dashoffset:26;opacity:0}10%{opacity:1}80%{opacity:1}100%{stroke-dashoffset:-520;opacity:0}}
.city{position:absolute;width:0;height:0}
.city-dot{position:absolute;left:-3.5px;top:-3.5px;width:7px;height:7px;border-radius:50%;background:#f3d27a;box-shadow:0 0 8px 2px rgba(212,175,55,.75);animation:cityBlink 1.8s ease-in-out infinite;animation-delay:var(--dl)}
.city-dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,214,120,.7);animation:hubRing 2.6s ease-out infinite;animation-delay:var(--dl)}
.city-label{position:absolute;left:11px;top:-9px;font:300 11px/18px Nunito,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,234,227,.78);white-space:nowrap;text-shadow:0 0 10px rgba(0,0,0,.9)}
.city-label.l{left:auto;right:11px}
@keyframes cityBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}
@media(max-width:820px){.city-label{font-size:9.5px;left:8px}.city-label.l{right:8px}.city-dot{left:-3px;top:-3px;width:6px;height:6px}}
@media(prefers-reduced-motion:reduce){.globe-net .ln,.globe-net .pl,.city-dot,.city-dot::after{animation:none}.globe-net .pl{display:none}}

/* realistic flag v3: canvas cloth (drawn in anim.js), muted to match the B&W photo */
.hero-flag{filter:saturate(.45) contrast(.95) brightness(.82) drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}
.hero-flag canvas{display:block;width:100%;height:100%}
/* Video section: old card look, film only inside a framed player (poster = chauffeur image) */
.film-player-card{gap:36px;padding-right:40px}
.film-player-card .app-copy{flex:1 1 0;min-width:0}
.vplayer{position:relative;z-index:3;flex:0 0 46%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid rgba(212,175,55,.35);box-shadow:0 24px 60px -20px rgba(0,0,0,.8),0 0 0 6px rgba(255,255,255,.03);background:#000}
.vplayer video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.vplayer.playing video{object-fit:contain}
.vplay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.45));border:0;color:#fff;cursor:pointer;font:400 12px/1 Nunito,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.vplay svg{box-sizing:content-box;padding:16px 15px 16px 18px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(7,7,7,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d4af37;transition:transform .4s,border-color .4s}
.vplay:hover svg{transform:scale(1.08);border-color:#d4af37}
.vplayer.playing .vplay{display:none}
@media(max-width:820px){.film-player-card{flex-direction:column;align-items:stretch;gap:0;padding:0 0 26px;min-height:0}.film-player-card .app-copy{padding-bottom:22px}.vplayer{flex:none;width:auto;margin:0 20px}}
/* Video section card: plain grey-black with a thin gold line (no photo) */
.film-player-card .app-bg,.film-player-card .app-flash{display:none}
.film-player-card{background:linear-gradient(160deg,#1b1d1e 0%,#121314 55%,#0b0c0c 100%);border:1px solid rgba(212,175,55,.55);box-shadow:inset 0 1px 0 rgba(255,226,150,.08)}
@media(max-width:820px){.film-player-card .app-copy{min-height:0;flex:none}.film-player-card .app-copy .pill{margin-top:6px}}
/* Client reviews */
.rv{display:flex;flex-direction:column}
.rv .rv-by{margin:auto 0 0!important;padding-top:20px;font-size:14px!important;line-height:20px!important;color:#9aa0a0!important}
.rv .rv-by b{color:#f1eae3;font-weight:600}
.rv-more{display:flex;justify-content:center;margin-top:32px}
.rv-all{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rv-all .rv{min-height:0}
@media(max-width:820px){.rv-grid{grid-template-columns:1fr!important}}
/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-card{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(26,40,42,.35),rgba(11,15,15,.2));color:inherit;text-decoration:none;transition:border-color .3s,transform .3s}
.blog-card:hover{border-color:rgba(212,175,55,.5);transform:translateY(-3px)}
.blog-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(.2)}
.blog-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card h2{margin:0;font-weight:400;font-size:26px;line-height:1.2;color:#f1eae3}
.blog-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.blog-more{margin-top:auto;color:var(--gold);font-size:14px;letter-spacing:.06em}
.article{max-width:780px}
.article h1{margin-bottom:16px}
.article-lead{font-size:19px;line-height:1.6;color:#c5cccc;margin:0 0 32px}
.article-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:0 0 36px}
.article-body h2{font:400 30px/1.25 'Cormorant Garamond',serif;color:#f1eae3;margin:36px 0 12px}
.article-body p{font-size:17px;line-height:1.75;color:#b9c0c0}
.article-more{display:flex;flex-direction:column;gap:12px;margin-top:48px;padding-top:28px;border-top:1px solid rgba(212,175,55,.25)}
.article-more a{color:#f1eae3;font-size:17px}
.article-more a:hover{color:var(--gold)}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.contact-list li{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:16px;color:var(--text)}
.contact-list li span{color:var(--muted);font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
.contact-list a{color:var(--text)}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr}.article-body h2{font-size:26px}}

/* Header quote pill: "Get a Quote", shortened to "Quote" on phones */
.nav-book{white-space:nowrap}
@media(max-width:560px){.nav-book .nb-x{display:none}}

/* Home hero: Cinquantenaire, gold tone (Nov 8) */
@media(min-width:821px){.hero::after{background:linear-gradient(90deg,rgba(8,8,6,.72),rgba(8,8,6,.2) 40%,rgba(8,8,6,0) 58%),linear-gradient(180deg,rgba(8,8,6,0) 78%,rgba(8,8,6,.6))}.hero>picture>img{object-position:100% 0%}}
@media(max-width:820px){.hero::after{background:linear-gradient(180deg,rgba(8,8,6,.25) 0%,rgba(8,8,6,0) 14%,rgba(8,8,6,0) 60%,rgba(8,8,6,.75) 67%)}.hero>picture>img{object-position:50% 0%}}

/* Mobile: nothing may widen the page (prevents zoomed-out layout on phones) */
html{overflow-x:hidden}
.sec:has(.arc),.sec:has(.globe){overflow-x:clip}
/* About hero: real fleet photo, lighter overlay */
.page-hero>picture{position:absolute;inset:0;z-index:0}
.page-hero>picture>img{width:100%;height:100%;object-fit:cover;object-position:50% 92%}
.ph-light::after{background:linear-gradient(90deg,rgba(13,12,9,.78) 0%,rgba(13,12,9,.35) 45%,rgba(13,12,9,0) 75%),linear-gradient(180deg,rgba(13,12,9,.45) 0%,transparent 30%,transparent 70%,rgba(13,12,9,.6) 100%)}
.ph-light h1,.ph-light .lead{text-shadow:0 2px 18px rgba(0,0,0,.6)}
@media(max-width:820px){.page-hero>picture>img{object-position:30% 70%}.ph-light::after{background:linear-gradient(180deg,rgba(13,12,9,.55) 0%,rgba(13,12,9,.15) 22%,rgba(13,12,9,.1) 40%,rgba(13,12,9,.82) 62%,rgba(13,12,9,.9) 100%)}}
/* Gold border on grey form cards, same as event film card */
.book{border-color:rgba(212,175,55,.55);box-shadow:inset 0 1px 0 rgba(255,226,150,.08)}
/* Gold line around the grey frame of the film player */
.vplayer{border-color:rgba(212,175,55,.55);box-shadow:0 24px 60px -20px rgba(0,0,0,.8),0 0 0 6px #1c1d1e,0 0 0 7px rgba(212,175,55,.55)}

/* Fleet hero: gold interior photo with light sweep (same as home fleet card) */
.fleet-hero>picture>img{object-position:100% 50%}
.fleet-hero .ph-sweep{position:absolute;z-index:1;top:-20%;bottom:-20%;left:-40%;width:28%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07) 45%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.07) 55%,transparent);transform:skewX(-18deg);animation:sweep 7s var(--ease) infinite}
.fleet-hero::after{background:linear-gradient(90deg,rgba(13,12,9,.9) 0%,rgba(13,12,9,.55) 40%,rgba(13,12,9,0) 70%),linear-gradient(180deg,rgba(13,12,9,.45) 0%,transparent 30%,transparent 70%,rgba(13,12,9,.7) 100%)}
@media(max-width:820px){.fleet-hero{min-height:640px}.fleet-hero>picture>img{object-position:50% 35%}.fleet-hero::after{background:linear-gradient(180deg,rgba(13,12,9,.55) 0%,rgba(13,12,9,.1) 25%,rgba(13,12,9,.2) 45%,rgba(13,12,9,.85) 70%,rgba(13,12,9,.95) 100%)}}
/* Fleet rows: show full photo (front + side views), no top/bottom crop */
.fleet-row>img[src],.fleet-row.rev>img[src]{aspect-ratio:auto!important;height:auto!important;min-height:0!important;object-fit:contain}

/* Performance: hero photo visible at first paint, quick loader fade */
@keyframes heroIn{from{scale:1.08}to{scale:1}}
html.js .loader{transition:opacity .35s ease,visibility .35s}
/* Performance: skip rendering work for sections far below the screen */
.sec,footer.ft{content-visibility:auto;contain-intrinsic-size:auto 900px}
.off,.off *,.off::before,.off::after,.off *::before,.off *::after{animation-play-state:paused!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Hero titles: words fade in without changing line breaks (no layout shift) */
.hero h1 .sw,.page-hero h1 .sw,.page-book h1 .sw{display:inline;white-space:normal}
