/* ========== Chauffeur Excellence Italy — private chauffeur, Rome ========== */
:root{
  --bg:#07090f;--bg2:#0c111c;--navy:#0e1626;--card:#111a2b;
  --line:rgba(201,169,110,.20);--line2:rgba(255,255,255,.08);
  --gold:#c9a96e;--gold2:#e6cf9f;--gold3:#a8854a;
  --text:#eef0f4;--muted:#a9b1c1;--ph:#ffd36b;--wa:#25d366;
  --radius:18px;--max:1200px;
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block;height:auto}
a{color:var(--gold2)}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px}
.ph{color:var(--ph);background:rgba(255,211,107,.08);border:1px dashed rgba(255,211,107,.5);border-radius:4px;padding:0 5px;font-weight:600;font-family:var(--sans);font-style:normal;letter-spacing:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.005em}
h2{font-size:clamp(2.2rem,6.4vw,3.6rem);margin-bottom:.35em}
h2 em,h1 em{font-style:italic;color:var(--gold2);font-weight:500}
h3{font-size:1.6rem;margin-bottom:.3em}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1rem}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.lead{color:var(--muted);max-width:640px;font-size:1.04rem}
section{padding:84px 0;position:relative}
.section-head{margin-bottom:44px}
.section-head.center{text-align:center}
.section-head.center .lead{margin:0 auto}
.section-head.center .eyebrow::after{content:"";width:28px;height:1px;background:var(--gold)}
.alt{background:var(--bg2)}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}

/* ---------- header (glass) ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s var(--ease),border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(7,9,15,.62);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.brand-mark{display:block;height:46px;width:auto;aspect-ratio:394/210;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.brand-name{font-family:var(--serif);font-size:1.3rem;line-height:1}
.brand-name small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-top:4px}
.nav-links{display:none;gap:30px;list-style:none}
.nav-links a{color:#d6dae3;text-decoration:none;font-size:.86rem;letter-spacing:.04em;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s var(--ease)}
.nav-links a:hover::after{right:0}
.nav-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;overflow:hidden;font-size:.74rem;font-weight:700;letter-spacing:.08em;background:rgba(0,0,0,.2)}
.lang a{padding:6px 11px;text-decoration:none;color:#cfd4de}
.lang a[aria-current="true"]{background:var(--gold);color:#14100a}
.nav-cta{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:700;text-decoration:none;font-size:.95rem;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s;font-family:var(--sans);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn svg{width:20px;height:20px;flex:none}
.btn-wa{background:var(--wa);color:#04210d;box-shadow:0 10px 30px -10px rgba(37,211,102,.55)}
.btn-wa:hover{background:#3be37c}
.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,var(--gold3));color:#16110a;box-shadow:0 10px 30px -12px rgba(201,169,110,.7)}
.btn-ghost{border-color:rgba(230,207,159,.55);color:var(--gold2);background:rgba(7,9,15,.25);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(201,169,110,.14);border-color:var(--gold2)}
.btn-sm{padding:9px 16px;font-size:.82rem}
.link-arrow{color:var(--gold2);text-decoration:none;font-weight:600;font-size:.9rem;display:inline-flex;gap:8px;align-items:center}
.link-arrow::after{content:"→";transition:transform .25s var(--ease)}
.link-arrow:hover::after{transform:translateX(4px)}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;align-items:flex-end;padding:120px 0 56px;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 55%;transform:scale(1.06);animation:heroZoom 18s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(7,9,15,.55) 0%,rgba(7,9,15,.05) 30%,rgba(7,9,15,.35) 55%,rgba(7,9,15,.94) 100%),
  linear-gradient(90deg,rgba(7,9,15,.55),transparent 65%)}
.hero h1{font-size:clamp(2.9rem,11vw,6.2rem);margin-bottom:20px;font-weight:500;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero .lead{font-size:1.08rem;color:#d9dde6;margin-bottom:30px;max-width:560px}
.hero-ctas{display:flex;flex-direction:column;gap:12px;margin-bottom:34px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.hero-badges li{font-size:.8rem;color:#e6e9ef;border:1px solid rgba(255,255,255,.16);background:rgba(7,9,15,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 13px;border-radius:999px}
.hero-badges li::before{content:"✦";color:var(--gold);margin-right:7px;font-size:.7rem}
.scroll-cue{display:none}

/* ---------- trust strip ---------- */
.strip{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--bg2);padding:26px 0}
.strip ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
.strip li{display:flex;align-items:center;gap:12px;font-size:.88rem;color:#d4d8e1;line-height:1.3}
.strip svg{width:26px;height:26px;color:var(--gold);flex:none}

/* ---------- image cards ---------- */
.grid{display:grid;gap:20px}
.icard{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line2);display:flex;flex-direction:column;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s var(--ease)}
.icard:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.icard .media{position:relative;aspect-ratio:4/3;overflow:hidden}
.icard .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.icard:hover .media img{transform:scale(1.06)}
.icard .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,9,15,.75))}
.icard .chip{position:absolute;top:14px;left:14px;z-index:2;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:6px 11px;border-radius:999px;background:rgba(7,9,15,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--gold2);border:1px solid var(--line)}
.icard .chip.solid{background:var(--gold);color:#16110a;border-color:transparent}
.icard .body{padding:24px;display:flex;flex-direction:column;flex:1}
.icard p{color:var(--muted);font-size:.95rem;margin-bottom:14px}
.icard ul{list-style:none;color:var(--muted);font-size:.9rem;margin-bottom:18px}
.icard ul li{padding:4px 0 4px 22px;position:relative}
.icard ul li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--gold)}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--gold2);margin-bottom:10px;letter-spacing:.04em}
.meta span{display:inline-flex;align-items:center;gap:6px}
.meta svg{width:14px;height:14px}
.price{margin-top:auto;padding-top:16px;border-top:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;color:var(--muted)}
.price .from strong{font-family:var(--serif);font-size:1.25rem;color:var(--text);font-weight:600;margin-left:4px}

/* featured tour (wide) */
.icard.wide .media{aspect-ratio:16/10}

/* ---------- cinematic band ---------- */
.band{min-height:78svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;text-align:center}
.band .bg{position:absolute;inset:-12% 0;z-index:-2}
.band .bg img{width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(7,9,15,.35),rgba(7,9,15,.85) 80%)}
.band blockquote{font-family:var(--serif);font-size:clamp(2.2rem,7vw,4.6rem);line-height:1.08;font-weight:500;max-width:900px;margin:0 auto 18px}
.band blockquote em{color:var(--gold2)}
.band p{color:#d8dce4;max-width:560px;margin:0 auto 28px}

/* ---------- split features ---------- */
.split{display:grid;gap:36px;align-items:center}
.split .media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.2;border:1px solid var(--line2)}
.split .media img{width:100%;height:100%;object-fit:cover}
.split .media .inset{position:absolute;right:14px;bottom:14px;width:42%;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.85);box-shadow:0 20px 40px rgba(0,0,0,.5);aspect-ratio:4/3}
.split .media .inset img{height:100%}
.checklist{list-style:none;display:grid;gap:14px;margin:22px 0 30px}
.checklist li{display:flex;gap:14px;align-items:flex-start;color:#d6dae2}
.checklist li svg{flex:none;width:22px;height:22px;color:var(--gold);margin-top:2px}
.checklist li strong{color:var(--text);font-weight:600}
.note{font-size:.85rem;color:var(--muted);border-left:2px solid var(--gold);padding:6px 0 6px 14px;margin-bottom:26px}

/* ---------- fleet ---------- */
.fleet-hero{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:22px;aspect-ratio:16/9;border:1px solid var(--line2)}
.fleet-hero img{width:100%;height:100%;object-fit:cover}
.fleet-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,15,.7),transparent 50%)}
.fleet-hero figcaption{position:absolute;left:20px;bottom:16px;z-index:2;font-size:.82rem;color:#d7dbe3;letter-spacing:.05em}
.specs{display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);margin:4px 0 14px}
.specs span{display:inline-flex;gap:7px;align-items:center}
.specs svg{width:16px;height:16px;color:var(--gold)}

/* ---------- why ---------- */
.why-grid{display:grid;gap:14px}
.why-item{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));border:1px solid var(--line2);transition:border-color .3s,background .3s}
.why-item:hover{border-color:var(--line);background:rgba(201,169,110,.04)}
.why-item .icon{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--gold);display:grid;place-items:center}
.why-item .icon svg{width:21px;height:21px}
.why-item h3{font-family:var(--sans);font-size:.98rem;font-weight:700;margin-bottom:3px;letter-spacing:.01em}
.why-item p{color:var(--muted);font-size:.9rem}
.why-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:28px}
.why-photos figure{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line2);aspect-ratio:4/5}
.why-photos figure:last-child{aspect-ratio:auto;margin-top:40px}
.why-photos img{width:100%;height:100%;object-fit:cover}

/* ---------- steps ---------- */
.steps{display:grid;gap:18px;counter-reset:s;list-style:none}
.step{position:relative;padding:30px 26px 26px;background:var(--card);border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--gold);font-style:italic;margin-bottom:10px;opacity:.9}
.step p{color:var(--muted)}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-auto-flow:dense}
.gallery figure{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1/1;background:var(--card)}
.gallery figure.tall{grid-row:span 2;aspect-ratio:auto}
.gallery figure.wide{grid-column:span 2;aspect-ratio:2/1}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font-size:.78rem;color:#e7e9ee;background:linear-gradient(0deg,rgba(7,9,15,.8),transparent);opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.gallery figure:hover figcaption{opacity:1;transform:none}

/* ---------- faq ---------- */
.faq{max-width:860px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--serif);font-size:1.32rem;font-weight:500;position:relative;transition:color .2s}
.faq summary:hover{color:var(--gold2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--muted);padding:0 0 22px;max-width:760px}

/* ---------- booking ---------- */
.book-wrap{display:grid;gap:34px}
.form{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--radius);padding:26px;backdrop-filter:blur(6px)}
.form-row{display:grid;gap:14px;margin-bottom:14px}
label{display:block;font-size:.76rem;color:var(--muted);margin-bottom:7px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
input,select,textarea{width:100%;padding:14px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(7,9,15,.6);color:var(--text);font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s;color-scheme:dark}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.18)}
textarea{min-height:100px;resize:vertical}
.form-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.form-note{font-size:.78rem;color:var(--muted);margin-top:12px}
.contact-card{border:1px solid var(--line2);border-radius:var(--radius);padding:26px;background:var(--card)}
.contact-list{list-style:none;display:grid;gap:16px;margin:16px 0 22px}
.contact-list li{display:flex;gap:14px;align-items:center;color:var(--muted)}
.contact-list a{color:#dfe3ea;text-decoration:none}
.contact-list .icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--gold);display:grid;place-items:center;flex:none}
.contact-list svg{width:19px;height:19px}
.mini{padding:16px 0;border-top:1px solid var(--line2);color:var(--muted);font-size:.9rem}
.mini strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line2);padding:56px 0 110px;color:var(--muted);font-size:.88rem;background:#05070b}
.foot-grid{display:grid;gap:30px}
footer h4{color:var(--text);font-size:1.25rem;margin-bottom:10px}
footer ul{list-style:none;display:grid;gap:6px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--gold2)}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.78rem}

/* ---------- floating whatsapp ---------- */
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#fff;transition:transform .3s var(--ease)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:pulse 2.4s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.wa-float svg{width:31px;height:31px}

/* ---------- reveal ---------- */
/* (reveal: see v3 polish block) */

/* ---------- responsive ---------- */
@media (min-width:640px){
  .hero-ctas{flex-direction:row;flex-wrap:wrap}
  .form-row.two{grid-template-columns:1fr 1fr}
  .form-actions{flex-direction:row}
  .grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .strip ul{grid-template-columns:repeat(4,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  section{padding:120px 0}
  .nav-links{display:flex}
  .nav-cta{display:inline-flex}
  .hero{align-items:center;padding:140px 0 90px}
  .hero-inner{max-width:760px}
  .scroll-cue{display:block;position:absolute;left:50%;bottom:26px;width:22px;height:36px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;transform:translateX(-50%)}
  .scroll-cue::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;background:var(--gold2);transform:translateX(-50%);animation:cue 1.8s infinite}
  @keyframes cue{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}
  .grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .grid.cols-4{grid-template-columns:repeat(4,1fr)}
  .about{grid-template-columns:.9fr 1.1fr;gap:80px}
  .why-grid.four{grid-template-columns:repeat(4,1fr)}
  .official{padding:160px 0}
  .official-card{padding:48px}
  .split{grid-template-columns:1.1fr 1fr;gap:70px}
  .split.rev .media{order:2}
  .why-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
  .why-photos{margin-bottom:0;position:sticky;top:100px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr);gap:14px}
  .book-wrap{grid-template-columns:1.25fr .75fr;gap:50px}
  .foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}
  footer{padding-bottom:50px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}

/* ---------- services as links ---------- */
a.icard{text-decoration:none;color:inherit}
.icard.svc .media{aspect-ratio:16/11}
.icard.svc h3{font-size:1.5rem}
.icard.svc .link-arrow{margin-top:auto}
.icard .kind{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:-2px 0 10px;font-weight:600}

/* ---------- itinerary ---------- */
.itin{margin:0 0 16px;border-top:1px solid var(--line2)}
.itin summary{list-style:none;cursor:pointer;padding:12px 0;font-size:.85rem;font-weight:700;color:var(--gold2);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center}
.itin summary::-webkit-details-marker{display:none}
.itin summary::after{content:"+";font-size:1.2rem;color:var(--gold);transition:transform .3s var(--ease)}
.itin[open] summary::after{transform:rotate(45deg)}
.itin ol{list-style:none;counter-reset:it;margin:2px 0 4px;position:relative}
.itin ol::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:var(--line)}
.itin li{counter-increment:it;position:relative;padding:5px 0 5px 32px;font-size:.88rem;color:#cfd4dd}
.itin li b{color:var(--gold2);font-weight:700;margin-right:4px}
.itin-start{font-size:.8rem;color:var(--gold2);margin:0 0 6px;letter-spacing:.02em}
.itin-notes{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px dashed var(--line2)}
.itin .itin-notes li{counter-increment:none;padding:3px 0 3px 16px;font-size:.8rem;color:#aeb5c2}
.itin .itin-notes li::before{content:"";width:5px;height:5px;top:11px;left:2px;border:0;background:var(--gold)}
.itin-rule{font-size:.74rem;color:#8c93a1;margin:10px 0 0;font-style:italic}
.itin li::before{content:counter(it);position:absolute;left:0;top:6px;width:19px;height:19px;border-radius:50%;background:var(--bg);border:1px solid var(--gold);color:var(--gold2);font-size:.66rem;font-weight:700;display:grid;place-items:center}

/* ---------- fleet ---------- */
.fleet-cat{font-size:clamp(1.5rem,4vw,2rem);margin:44px 0 20px;display:flex;align-items:center;gap:16px;color:var(--gold2);font-style:italic}
.fleet-cat::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.section-head + .fleet-cat{margin-top:0}
.ph-media{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;
  background:radial-gradient(ellipse at 50% 120%,rgba(201,169,110,.25),transparent 60%),linear-gradient(160deg,#141c2c,#0a0e17)}
.ph-media::after{display:none}
.ph-label{font-family:var(--serif);font-size:1.7rem;font-style:italic;color:var(--gold2);letter-spacing:.02em}
.ph-media .ph{font-size:.72rem}

/* ---------- experience inset variant ---------- */
.experience{background:var(--bg)}

/* ---------- official ---------- */
.official{position:relative;overflow:hidden;isolation:isolate;padding:110px 0}
.official .bg{position:absolute;inset:0;z-index:-2}
.official .bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.official::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,15,.92) 0%,rgba(7,9,15,.72) 45%,rgba(7,9,15,.25) 100%)}
.official-card{max-width:620px;padding:30px 24px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(7,9,15,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.official-card .lead{color:#d6dae2}

/* ---------- about ---------- */
.about{display:grid;gap:44px;align-items:center}
.about-photos{position:relative;padding-bottom:60px;max-width:520px}
.about-photos figure{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line2)}
.about-photos .main{width:78%;aspect-ratio:3/4}
.about-photos .second{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:4/5;border:3px solid var(--bg2);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.about-photos img{width:100%;height:100%;object-fit:cover}
.about-photos .main img{object-position:50% 20%}
.about-photos.solo{padding-bottom:0;max-width:460px;margin-inline:auto}
.about-photos.solo .main{width:100%}
.about-photos::before{content:"";position:absolute;left:-14px;top:-14px;width:40%;height:40%;border-left:1px solid var(--gold);border-top:1px solid var(--gold);border-top-left-radius:22px;opacity:.6}
.about-text{color:var(--muted);margin:16px 0 22px;max-width:620px}
.signature{font-family:var(--serif);font-style:italic;font-size:2.6rem;color:var(--gold2);line-height:1;margin-bottom:26px}
.signature small{display:block;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* ---------- mobile swipe rails ---------- */
@media (max-width:639px){
  .rail{display:grid;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;gap:14px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x mandatory;margin:0 -22px;padding:4px 22px 18px;scroll-padding:0 22px;scrollbar-width:none}
  .rail::-webkit-scrollbar{display:none}
  .rail > *{scroll-snap-align:start}
  .rail .icard:hover{transform:none}
  .rail + .swipe-hint, .swipe-hint{display:flex}
}
.swipe-hint{display:none;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.swipe-hint::after{content:"";width:34px;height:1px;background:var(--gold);animation:swipe 1.8s var(--ease) infinite}
@keyframes swipe{0%{transform:translateX(0);opacity:.3}50%{transform:translateX(8px);opacity:1}100%{transform:translateX(0);opacity:.3}}

/* ---------- header fixes ---------- */
.nav-right .nav-cta{display:none}
.brand-name{white-space:nowrap}
@media (max-width:959px){
  .brand-name{font-size:1.12rem}
  .brand-name small{font-size:.56rem;letter-spacing:.22em}
  .brand-mark{height:40px}
}
@media (min-width:960px){ .nav-right .nav-cta{display:inline-flex} }


/* =====================================================================
   v3 — LUXURY POLISH
   ===================================================================== */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--gold-grad:linear-gradient(135deg,#f3e3bf 0%,#d9bc84 30%,#b08d52 62%,#e9d3a3 100%);
  --shadow-lg:0 40px 80px -40px rgba(0,0,0,.9),0 18px 36px -24px rgba(0,0,0,.7)}
::selection{background:rgba(201,169,110,.35);color:#fff}
body{letter-spacing:.005em}
h2{letter-spacing:-.005em;font-weight:500}
.eyebrow{letter-spacing:.32em;font-size:.7rem}
.eyebrow::before{width:36px;background:linear-gradient(90deg,transparent,var(--gold))}
.section-head.center .eyebrow::after{width:36px;background:linear-gradient(90deg,var(--gold),transparent)}
.lead{line-height:1.75}

/* ---------- reveal (smoother: fade + rise + de-blur, auto-stagger via --d) ---------- */
.js .reveal{opacity:0;transform:translate3d(0,34px,0);filter:blur(6px);
  transition:opacity 1.1s var(--ease-out),transform 1.3s var(--ease-out),filter 1.1s var(--ease-out);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .reveal.in{opacity:1;transform:none;filter:none}
.js .reveal.d1{--d:.09s}.js .reveal.d2{--d:.18s}.js .reveal.d3{--d:.27s}
.js .split .media.reveal,.js .about-photos.reveal{clip-path:inset(8% 8% 8% 8% round var(--radius));transition:opacity 1.1s var(--ease-out),transform 1.3s var(--ease-out),filter 1.1s var(--ease-out),clip-path 1.4s var(--ease-out)}
.js .split .media.reveal.in,.js .about-photos.reveal.in{clip-path:inset(0 0 0 0 round 0)}
.js .about-photos.reveal{clip-path:inset(6% 6% 6% 6%)}
.js .reveal .media img,.js .split .media.reveal>img{transform:scale(1.08);transition:transform 1.8s var(--ease-out)}
.js .reveal.in .media img,.js .split .media.reveal.in>img{transform:scale(1)}

/* ---------- header ---------- */
.site-header.scrolled{background:rgba(7,9,15,.72);box-shadow:0 10px 40px -20px rgba(0,0,0,.8)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,110,.45),transparent);opacity:0;transition:opacity .4s}
.site-header.scrolled::after{opacity:1}
.nav-wa{display:none;width:38px;height:38px;border-radius:50%;place-items:center;color:var(--wa);border:1px solid rgba(37,211,102,.45);background:rgba(37,211,102,.08);transition:background .25s,transform .25s var(--ease)}
.nav-wa:hover{background:rgba(37,211,102,.2);transform:translateY(-1px)}
.nav-wa svg{width:19px;height:19px}
@media (min-width:960px){.nav-wa{display:grid}}

/* ---------- buttons ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease-out)}
.btn:hover::after{transform:translateX(120%)}
.btn-gold{background:var(--gold-grad);background-size:160% 160%;box-shadow:0 14px 34px -14px rgba(201,169,110,.75),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-wa{background:linear-gradient(180deg,#2fe073,#1fbf5b);box-shadow:0 16px 40px -14px rgba(37,211,102,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-wa:hover{background:linear-gradient(180deg,#46ea86,#25d366);box-shadow:0 22px 50px -16px rgba(37,211,102,.85),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-lg{padding:16px 30px;font-size:1rem}
.btn span small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.72;margin-top:2px}
.btn span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.btn-lg svg{width:22px;height:22px}

/* ---------- hero ---------- */
.hero{min-height:100svh;padding:118px 0 48px}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero::before{background:
  radial-gradient(ellipse 120% 70% at 20% 100%,rgba(7,9,15,.92),transparent 60%),
  linear-gradient(180deg,rgba(7,9,15,.62) 0%,rgba(7,9,15,.08) 26%,rgba(7,9,15,.30) 56%,rgba(7,9,15,.96) 100%),
  linear-gradient(90deg,rgba(7,9,15,.6),transparent 70%)}
.hero-media img{animation:heroZoom 22s var(--ease-out) forwards;transform:scale(1.12)}
.hero-title{font-size:clamp(3.3rem,13.5vw,7.4rem);line-height:.92;letter-spacing:-.018em;font-weight:400;margin-bottom:26px;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero-title .ln{display:block;overflow:hidden;padding:0 .06em .08em 0;margin-bottom:-.08em}
.hero-title .ln>span{display:inline-block}
.hero-title em{font-weight:400;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.hero-title .ln:nth-child(2){padding-left:.55em}
.hero-rule{display:block;width:84px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:0 0 22px}
.hero .lead{font-size:1.06rem;color:#dfe2ea;max-width:540px;margin-bottom:32px}
.hero-ctas{gap:14px;margin-bottom:30px}
.hero-ctas .btn{justify-content:flex-start}
.hero-badges{gap:8px 0}
.hero-badges li{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:2px 16px 2px 0;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#d6dae3}
.hero-badges li::before{content:"";display:inline-block;width:5px;height:5px;transform:rotate(45deg) translateY(-2px);background:var(--gold);margin-right:10px}
.hero-side{display:none}
.js .hero-in{opacity:0;transform:translate3d(0,40px,0);animation:heroIn 1.4s var(--ease-out) forwards;animation-delay:calc(.25s + var(--i,0) * .12s)}
.js .hero-title .hero-in{transform:translate3d(0,105%,0)}
@keyframes heroIn{to{opacity:1;transform:none}}
.js .hero-rule.hero-in{transform:scaleX(0);transform-origin:left;animation-name:ruleIn}
@keyframes ruleIn{to{opacity:1;transform:scaleX(1)}}
@media (max-width:639px){
  .hero{padding-bottom:36px}
  .hero-ctas .btn{width:100%;justify-content:center}
  .hero-ctas .btn span{align-items:center}
  .hero-title .ln:nth-child(2){padding-left:.35em}
}
@media (min-width:960px){
  .hero-inner{max-width:820px}
  .hero{padding:150px 0 110px}
  .hero-side{display:flex;position:absolute;right:34px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;align-items:center;gap:16px;font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(230,207,159,.75)}
  .hero-side i{display:block;width:1px;height:90px;background:linear-gradient(180deg,transparent,var(--gold),transparent)}
  .js .hero-side.hero-in{transform:translateY(-50%)}
  @keyframes heroInSide{to{opacity:1}}
  .js .hero-side.hero-in{animation-name:heroInSide}
}

/* ---------- trust strip ---------- */
.strip{background:linear-gradient(180deg,#0b0f19,#0a0e17);position:relative}
.strip::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,110,.5),transparent)}
.strip li{letter-spacing:.02em}
.strip svg{width:30px;height:30px;padding:6px;border-radius:50%;border:1px solid var(--line);box-sizing:content-box}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-bottom:1px solid var(--line2);background:var(--bg);padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 60s linear infinite}
.marquee span{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3vw,1.9rem);color:rgba(230,207,159,.62);padding:0 26px;white-space:nowrap;display:flex;align-items:center;gap:52px}
.marquee span::after{content:"";width:6px;height:6px;transform:rotate(45deg);border:1px solid rgba(201,169,110,.6);margin-right:-29px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- cards ---------- */
.icard{background:linear-gradient(180deg,#121b2d,#0d1422);border-color:rgba(255,255,255,.07);box-shadow:0 24px 50px -36px rgba(0,0,0,.9);transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out),border-color .5s}
.icard::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:3;pointer-events:none;
  background:linear-gradient(150deg,rgba(243,227,191,.85),rgba(201,169,110,.15) 35%,transparent 55%,rgba(201,169,110,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .6s var(--ease-out)}
.icard:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg),0 0 0 1px rgba(201,169,110,.08),0 30px 70px -40px rgba(201,169,110,.35)}
.icard:hover::before{opacity:1}
.icard .media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,240,210,.18) 50%,transparent 65%);transform:translateX(-110%);transition:transform 1.2s var(--ease-out)}
.icard:hover .media::before{transform:translateX(110%)}
.icard .media::after{background:linear-gradient(180deg,rgba(7,9,15,.15),transparent 30%,transparent 50%,rgba(13,20,34,.92))}
.icard:hover .media img,.js .reveal.in.icard:hover .media img{transform:scale(1.07)}
.icard .media img{transition:transform 1.6s var(--ease-out)}
.icard .body{padding:26px 26px 24px;position:relative}
.icard .body::before{content:"";position:absolute;left:26px;top:0;width:34px;height:1px;background:var(--gold);transition:width .7s var(--ease-out)}
.icard:hover .body::before{width:calc(100% - 52px)}
.icard h3{letter-spacing:.005em}
.icard .chip{letter-spacing:.22em;font-size:.62rem;padding:7px 12px;background:rgba(7,9,15,.5)}
.icard .chip.solid{background:var(--gold-grad)}
.price .from strong.ph{font-family:var(--sans);font-size:.85rem}
.link-arrow{letter-spacing:.04em}

/* ---------- fleet: prestige "atelier" cards ---------- */
.media.atelier{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:26px 18px 18px;
  background:
    radial-gradient(ellipse 70% 38% at 50% 78%,rgba(201,169,110,.22),transparent 70%),
    radial-gradient(ellipse 90% 60% at 50% 0%,rgba(120,140,190,.10),transparent 70%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 46px),
    linear-gradient(180deg,#151e31 0%,#0b101b 100%)}
.media.atelier::after{background:linear-gradient(180deg,transparent 70%,rgba(13,20,34,.6))}
.atelier .car{width:86%;max-width:330px;height:auto;margin-top:6px;filter:drop-shadow(0 16px 18px rgba(0,0,0,.6));transition:transform 1.2s var(--ease-out)}
.icard:hover .atelier .car{transform:translateX(8px)}
.atelier .car .body{fill:rgba(12,17,28,.95);stroke:var(--gold2);stroke-width:1.3;stroke-linejoin:round}
.atelier .car .glass{fill:rgba(120,140,180,.08);stroke:rgba(230,207,159,.55);stroke-width:1;stroke-linejoin:round}
.atelier .car .line{stroke:rgba(230,207,159,.35);stroke-width:.8;fill:none}
.atelier .car.two-tone .body{fill:rgba(18,22,32,.95)}
.atelier .car.two-tone .line{stroke:rgba(230,207,159,.75);stroke-width:1.1}
.atelier .car .wheel{fill:#06080d;stroke:var(--gold);stroke-width:1.3}
.atelier .car .hub{fill:none;stroke:rgba(230,207,159,.55);stroke-width:1}
.atelier::before{display:none}
.atelier-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--gold2);padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(7,9,15,.4)}
.atelier-name{font-family:var(--serif);font-size:1.45rem;color:#f1ead9;letter-spacing:.01em;line-height:1.1;position:relative;z-index:2}
.atelier-name em{color:var(--gold2)}
.atelier-note{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);position:relative;z-index:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}
.atelier-note .ph{font-size:.58rem;letter-spacing:.08em;opacity:.8}
.icard.prestige{background:linear-gradient(180deg,#121a2c,#0b111d)}
.fleet-cat{font-weight:400}
.fleet-cat::before{content:"";width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gold);flex:none}

/* ---------- split media ---------- */
.split .media{box-shadow:var(--shadow-lg)}
.split .media .inset{border:1px solid rgba(230,207,159,.7);box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 6px rgba(7,9,15,.55)}
.checklist li svg{filter:drop-shadow(0 0 8px rgba(201,169,110,.35))}

/* ---------- band / cta ---------- */
.band blockquote{font-weight:400;letter-spacing:-.01em}
.cta-band{min-height:62svh;display:flex;align-items:center;text-align:center;overflow:hidden;isolation:isolate}
.cta-band .bg{position:absolute;inset:0;z-index:-2}
.cta-band .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(7,9,15,.55),rgba(7,9,15,.92) 75%)}
.cta-band h2{max-width:820px;margin:0 auto .4em;font-size:clamp(2.2rem,6vw,4rem);font-weight:400}
.cta-band p{color:#d8dce4;max-width:560px;margin:0 auto 30px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
@media (max-width:639px){.cta-actions .btn{width:100%}}

/* ---------- about ---------- */
.about-photos figure{position:relative;box-shadow:var(--shadow-lg)}
.about-photos figcaption{position:absolute;left:12px;bottom:12px;z-index:2;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold2);padding:6px 11px;border-radius:999px;background:rgba(7,9,15,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line)}
.about-photos .second{border:1px solid rgba(230,207,159,.6);box-shadow:0 0 0 6px var(--bg2),0 40px 70px -24px rgba(0,0,0,.9)}
.about-photos::after{content:"";position:absolute;right:-14px;bottom:-14px;width:30%;height:30%;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);border-bottom-right-radius:22px;opacity:.5}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.35;color:#efe6d2;border-left:1px solid var(--gold);padding:4px 0 4px 20px;margin:6px 0 22px;max-width:560px}
.signature{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:3rem}
.signature small{-webkit-text-fill-color:var(--muted)}

/* ---------- why / steps / faq / form ---------- */
.why-item{transition:border-color .4s,background .4s,transform .6s var(--ease-out)}
.why-item:hover{transform:translateY(-3px)}
.why-item .icon{background:radial-gradient(circle at 30% 25%,rgba(230,207,159,.16),transparent 65%)}
.step{background:linear-gradient(180deg,#121b2d,#0d1422);transition:transform .6s var(--ease-out),border-color .4s}
.step:hover{transform:translateY(-4px);border-color:var(--line)}
.step::before{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:3.6rem}
.gallery figure{box-shadow:0 20px 40px -30px rgba(0,0,0,.9)}
.form{box-shadow:var(--shadow-lg)}
.contact-card{background:linear-gradient(180deg,#121b2d,#0d1422);box-shadow:var(--shadow-lg)}

/* ---------- floating WhatsApp (all sizes) ---------- */
.wa-float{width:auto;min-width:60px;height:60px;padding:0 15px;border-radius:999px;display:flex;align-items:center;gap:10px;text-decoration:none;
  background:linear-gradient(180deg,#2fe073,#1fbf5b);box-shadow:0 18px 40px -12px rgba(37,211,102,.55),0 10px 24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35);
  opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),box-shadow .3s}
.wa-float.show{opacity:1;transform:none;pointer-events:auto}
html:not(.js) .wa-float{opacity:1;transform:none;pointer-events:auto}
.wa-float:hover{box-shadow:0 22px 50px -12px rgba(37,211,102,.75),0 10px 24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35)}
.wa-float::before{border-radius:999px}
.wa-float svg{width:30px;height:30px;flex:none}
.wa-label{display:none;color:#05230f;font-weight:800;font-size:.9rem;line-height:1.1;padding-right:6px;white-space:nowrap}
.wa-label small{display:block;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.7}
@media (min-width:960px){.wa-float{right:28px;bottom:28px;padding:0 20px 0 16px}.wa-label{display:block}}

/* ---------- mobile carousel (premium rails) ---------- */
@media (max-width:639px){
  .rail{grid-auto-columns:82%;gap:16px;scroll-snap-type:x mandatory;padding:6px 22px 26px;scroll-padding:0 22px;-webkit-overflow-scrolling:touch}
  .rail > *{scroll-snap-align:center;scroll-snap-stop:normal;transition:transform .6s var(--ease-out),opacity .6s var(--ease-out),filter .6s}
  .js .rail > .reveal{transform:none}
  .js .rail.ready > .in:not(.active){transform:scale(.94);opacity:.55;filter:saturate(.7)}
  .rail .icard::before{opacity:.55}
  .swipe-hint{display:none!important}
  .rail-nav{display:flex}
  .section-head{margin-bottom:30px}
  section{padding:76px 0}
}
.rail-nav{display:none;align-items:center;justify-content:center;gap:14px;margin:2px 0 6px}
.rail-dots{display:flex;gap:7px;align-items:center}
.rail-dots button{width:6px;height:6px;border-radius:999px;border:0;padding:0;background:rgba(230,207,159,.28);transition:width .5s var(--ease-out),background .4s;cursor:pointer}
.rail-dots button.on{width:26px;background:var(--gold-grad)}
.rail-count{font-family:var(--serif);font-style:italic;color:var(--gold2);font-size:1rem;min-width:44px;text-align:right}
.rail-count b{font-weight:500;color:#f1ead9}

@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .hero-in,.js .hero-title .hero-in{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .marquee-track{animation:none}
}

/* ---------- small-phone overflow fixes ---------- */
.book-wrap>*,.form-row>div,.split>*,.about>*{min-width:0}
html{overflow-x:hidden}
@media (max-width:400px){
  .nav{gap:8px}
  .brand{gap:9px}
  .brand-mark{height:34px}
  .brand-name{font-size:1rem}
  .brand-name small{font-size:.5rem;letter-spacing:.16em}
  .lang a{padding:5px 8px}
  .container{padding:0 18px}
  .rail{margin:0 -18px;padding-left:18px;padding-right:18px;scroll-padding:0 18px}
}

/* ---------- tour filters & actions ---------- */
.tour-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-14px 0 28px}
.tour-filters button{font:inherit;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#cfd4de;background:rgba(255,255,255,.03);border:1px solid var(--line2);padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .35s var(--ease-out)}
.tour-filters button:hover{border-color:var(--line);color:var(--gold2)}
.tour-filters button.on{background:var(--gold-grad);color:#16110a;border-color:transparent;box-shadow:0 10px 24px -12px rgba(201,169,110,.7)}
@media (max-width:639px){.tour-filters{flex-wrap:nowrap;overflow-x:auto;margin:-10px -18px 20px;padding:0 18px 4px;scrollbar-width:none}.tour-filters::-webkit-scrollbar{display:none}.tour-filters button{flex:none}}
.icard.tour{transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out),opacity .32s,border-color .5s}
.icard.tour.filtered-out{opacity:0;transform:scale(.96)}
.icard.tour[hidden]{display:none}
.tour-actions{display:flex;gap:8px;margin-top:14px}
.cal-btn,.est{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 8px;border-radius:10px;cursor:pointer;text-decoration:none;transition:all .3s var(--ease-out)}
.cal-btn{background:rgba(201,169,110,.1);border:1px solid var(--line);color:var(--gold2)}
.cal-btn:hover{background:rgba(201,169,110,.2);border-color:var(--gold)}
.est{border:1px solid var(--line2);color:#cfd4de;background:transparent}
.est:hover{border-color:var(--line);color:var(--gold2)}
.cal-btn svg,.est svg{width:15px;height:15px}

/* ---------- instant quote ---------- */
.quote-sec{background:radial-gradient(ellipse 80% 60% at 70% 0%,rgba(201,169,110,.08),transparent 60%),var(--bg)}
.quote{display:grid;gap:22px;align-items:start}
.q-fields{display:grid;gap:18px}
.q-step{border:1px solid var(--line2);border-radius:var(--radius);padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));min-width:0}
.q-step legend{font-family:var(--serif);font-size:1.45rem;padding:0 10px;margin-left:-10px;display:flex;align-items:baseline;gap:12px}
.q-step legend b{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;color:var(--gold);font-weight:700}
.q-services{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 4px}
.q-services .q-opt:last-child:nth-child(odd){grid-column:1/-1}
.q-opt,.q-veh{position:relative;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;font-size:inherit;color:inherit;font-weight:inherit}
.q-opt input,.q-veh input{position:absolute;opacity:0;pointer-events:none}
.q-opt span,.q-veh span{display:flex;flex-direction:column;gap:3px;height:100%;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(7,9,15,.5);font-weight:700;font-size:.9rem;color:#e7e9ee;transition:all .35s var(--ease-out)}
.q-opt svg{width:20px;height:20px;color:var(--gold);margin-bottom:4px}
.q-opt small,.q-veh small{font-weight:500;font-size:.75rem;color:var(--muted)}
.q-opt:hover span,.q-veh:hover span{border-color:var(--line)}
.q-opt input:checked+span,.q-veh input:checked+span{border-color:var(--gold);background:linear-gradient(180deg,rgba(201,169,110,.16),rgba(201,169,110,.05));box-shadow:0 0 0 1px var(--gold) inset,0 14px 30px -18px rgba(201,169,110,.6)}
.q-opt input:focus-visible+span,.q-veh input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.q-veh.dim span{opacity:.45}
.q-veh b{font-family:var(--serif);font-size:1.15rem;font-weight:500}
.q-vehicles{display:grid;gap:10px;margin-top:14px}
.q-row{margin-top:16px}
.q-row.two{display:grid;gap:14px}
.q-row[hidden]{display:none}
.q-row label output{color:var(--gold2);font-family:var(--serif);font-size:1.1rem;margin-left:6px;text-transform:none;letter-spacing:0}
input[type=range]{padding:0;height:4px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--gold),rgba(201,169,110,.2));border:0;border-radius:4px;margin:14px 0 6px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold-grad);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--gold);cursor:pointer}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold2);border:3px solid var(--bg)}
.q-pax{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.q-pax label{margin:0}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.stepper button{width:46px;height:44px;border:0;background:rgba(201,169,110,.08);color:var(--gold2);font-size:1.3rem;cursor:pointer;transition:background .2s}
.stepper button:hover{background:rgba(201,169,110,.2)}
.stepper output{min-width:52px;text-align:center;font-family:var(--serif);font-size:1.5rem}
.q-hint{margin-top:12px;font-size:.84rem;color:var(--gold2);border-left:2px solid var(--gold);padding:4px 0 4px 12px}
.q-result{position:relative;border-radius:var(--radius);padding:28px 24px;background:radial-gradient(ellipse 100% 60% at 50% 0%,rgba(201,169,110,.16),transparent 70%),linear-gradient(180deg,#141d30,#0b111c);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}
.q-result::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
.q-result.pulse .q-price{animation:qpulse .6s var(--ease-out)}
@keyframes qpulse{0%{opacity:.5;transform:translateY(4px)}100%{opacity:1;transform:none}}
.q-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
.q-kicker .ph{font-size:.6rem;letter-spacing:.06em}
.q-price{font-family:var(--serif);font-size:clamp(2.6rem,9vw,3.6rem);line-height:1;margin:16px 0 6px;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px;color:#f4ecda}
.q-price .q-from{font-size:1rem;font-style:italic;color:var(--muted)}
.q-price .q-dash{color:var(--gold)}
.q-price.onreq .q-dash{display:none}
.q-price.onreq #q-min{font-size:2rem}
.q-per{font-size:.8rem;color:var(--muted);margin-bottom:18px}
.q-summary{list-style:none;border-top:1px solid var(--line2);margin-bottom:22px}
.q-summary li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:.86rem;color:var(--muted)}
.q-summary b{color:#e7e9ee;font-weight:600;text-align:right}
.q-result .btn{width:100%;justify-content:center;margin-bottom:10px}
.q-result .btn span{align-items:center}
.q-disc{font-size:.74rem;color:var(--muted);line-height:1.55;margin-top:6px}
@media (min-width:640px){.q-services{grid-template-columns:repeat(3,1fr)}.q-vehicles{grid-template-columns:repeat(3,1fr)}.q-row.two{grid-template-columns:1fr 1fr}}
@media (min-width:640px){.q-services .q-opt:last-child:nth-child(odd){grid-column:auto}.q-services .q-opt:last-child:nth-child(3n+1){grid-column:1/-1}}
@media (min-width:960px){.quote{grid-template-columns:1.35fr .9fr;gap:30px}.q-result{position:sticky;top:96px;padding:34px 30px}}

/* ---------- availability calendar modal ---------- */
.modal-open{overflow:hidden}
.cal-modal,.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .3s var(--ease-out)}
.cal-modal[hidden],.lightbox[hidden]{display:none}
.cal-modal.open,.lightbox.open{opacity:1}
.cal-backdrop{position:absolute;inset:0;background:rgba(4,6,10,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cal-panel{position:relative;width:100%;max-width:440px;max-height:calc(100svh - 32px);overflow:auto;border-radius:22px;padding:28px 22px 22px;border:1px solid var(--line);background:radial-gradient(ellipse 100% 50% at 50% 0%,rgba(201,169,110,.14),transparent 70%),linear-gradient(180deg,#141d30,#0a0f19);box-shadow:0 50px 100px -30px rgba(0,0,0,.95);transform:translateY(24px) scale(.97);transition:transform .45s var(--ease-out)}
.cal-modal.open .cal-panel{transform:none}
.cal-panel .eyebrow{flex-wrap:wrap;margin-bottom:.6rem}
.cal-panel .eyebrow .ph{font-size:.56rem;letter-spacing:.06em}
.cal-panel h3{font-size:1.7rem;margin-bottom:16px;padding-right:30px}
.cal-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(7,9,15,.5);color:var(--gold2);font-size:1.4rem;cursor:pointer;line-height:1}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cal-head strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}
.cal-nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--gold2);font-size:1.3rem;cursor:pointer}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-grid .dow{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.day{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:rgba(255,255,255,.03);color:#e7e9ee;font:inherit;font-size:.9rem;cursor:pointer;position:relative;transition:all .25s var(--ease-out)}
.day::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;transform:translateX(-50%)}
.day.av::after{background:#7fd6a0}
.day.rq::after{background:var(--gold)}
.day.av:hover,.day.rq:hover{border-color:var(--gold);background:rgba(201,169,110,.1)}
.day.past{opacity:.22;cursor:default}
.day.na{opacity:.35;cursor:default;text-decoration:line-through}
.cal-grid .day.sel,.cal-grid .day.sel:hover{background:var(--gold-grad);color:#16110a;font-weight:700;box-shadow:0 10px 24px -10px rgba(201,169,110,.8)}
.day.sel::after{background:#16110a}
.cal-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 10px;font-size:.74rem;color:var(--muted)}
.cal-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}
.cal-legend .av{background:#7fd6a0}.cal-legend .rq{background:var(--gold)}.cal-legend .na{background:#556}
.cal-note{font-size:.76rem;color:var(--muted);border-left:2px solid var(--gold);padding:3px 0 3px 10px;margin-bottom:16px}
.cal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cal-actions #cal-wa{grid-column:1/-1}
.cal-actions .btn{padding:12px 14px;font-size:.85rem}
.cal-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

/* ---------- lightbox ---------- */
.lightbox{background:rgba(4,6,10,.94);backdrop-filter:blur(10px)}
.lightbox figure{max-width:min(1200px,94vw);transform:scale(.97);transition:transform .45s var(--ease-out)}
.lightbox.open figure{transform:none}
.lightbox img{max-height:82svh;width:auto;margin:0 auto;border-radius:14px;box-shadow:0 40px 90px -30px #000}
.lightbox figcaption{text-align:center;font-family:var(--serif);font-style:italic;color:var(--gold2);font-size:1.2rem;margin-top:14px}
.lb-x,.lb-prev,.lb-next{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(7,9,15,.6);color:var(--gold2);font-size:1.6rem;cursor:pointer;z-index:2}
.lb-x{top:18px;right:18px}.lb-prev{left:18px;top:50%;transform:translateY(-50%)}.lb-next{right:18px;top:50%;transform:translateY(-50%)}
@media (max-width:639px){.lb-prev,.lb-next{top:auto;bottom:22px;transform:none}}
.gallery figure{cursor:zoom-in}
.gallery figure::after{content:"+";position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(7,9,15,.55);color:var(--gold2);border:1px solid var(--line);opacity:0;transition:opacity .3s}
.gallery figure:hover::after{opacity:1}
.contact-list li{min-width:0}.contact-list a{min-width:0;overflow-wrap:anywhere}.contact-card{min-width:0}
.cal-btn,.est{white-space:nowrap;font-size:.68rem;letter-spacing:.05em;padding:10px 6px}
@media (min-width:960px){.tours-grid .tour-actions{flex-direction:column}}

/* ---------- booking form v2: grouped fields, travel details, validation ---------- */
.f-group{border:0;margin:0 0 6px;padding:0;min-width:0}
.f-group legend{display:block;float:left;width:100%;padding:0 0 10px;margin:4px 0 12px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--gold2);border-bottom:1px solid var(--line2)}
.f-group legend small{font-size:inherit;letter-spacing:inherit;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:.04em}
.f-group+.f-group{margin-top:12px}
.f-travel{border-radius:14px;transition:background .3s,box-shadow .3s}
.f-travel.hl{background:rgba(201,169,110,.05);box-shadow:0 0 0 1px rgba(201,169,110,.22);padding:14px 14px 2px;margin-left:-14px;margin-right:-14px}
.f-hint{font-size:.82rem;color:var(--muted);margin:-4px 0 12px;line-height:1.5}
.f-hint[hidden],.f-ship[hidden]{display:none}
.form [aria-invalid="true"]{border-color:#e07a6a;box-shadow:0 0 0 3px rgba(224,122,106,.16)}
.f-err{margin:4px 0 12px;padding:10px 14px;border-radius:12px;background:rgba(224,122,106,.1);border:1px solid rgba(224,122,106,.35);color:#f3c2b8;font-size:.86rem}
.f-est{margin:2px 0 12px;font-size:.86rem;color:var(--gold2)}
.form-actions{flex-wrap:wrap}
.f-toquote{align-self:center}
.f-toquote,.q-tobook{font-size:.82rem}
.q-tobook{display:inline-block;margin-top:12px}
select optgroup{font-style:normal;color:#9aa3b5;background:#0d1422}
select option{color:var(--text);background:#0d1422}
.mini-radu{display:flex;gap:14px;align-items:center}
.mini-radu img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:50% 30%;flex:none;border:1px solid rgba(230,207,159,.55);box-shadow:0 0 0 3px rgba(7,9,15,.6)}
.f-group legend+*{clear:both}

/* ---------- rates (published "from" prices) ---------- */
.rate-pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-14px auto 34px;max-width:980px}
.rate-pills li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(201,169,110,.05);font-size:.82rem;color:#d6dae2}
.rate-pills svg{width:16px;height:16px;color:var(--gold);flex:none}
.rates-wrap{border:1px solid var(--line2);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));overflow:hidden;margin-bottom:22px}
.rates-table{width:100%;border-collapse:collapse;font-size:.92rem}
.rates-table th,.rates-table td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line2)}
.rates-table tbody tr:last-child>*{border-bottom:0}
.rates-table thead th{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--text);background:rgba(201,169,110,.06);border-bottom:1px solid var(--line)}
.rates-table thead th:first-child{font-size:1.3rem;color:var(--gold2);font-style:italic;font-weight:500}
.rates-table small{display:block;font-family:var(--sans);font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-top:3px;font-style:normal}
.rates-table tbody th{font-weight:600;color:var(--text);min-width:230px}
.rates-table tbody tr{transition:background .25s}
.rates-table tbody tr:hover{background:rgba(201,169,110,.04)}
.rates-table td b{font-family:var(--serif);font-size:1.32rem;font-weight:600;color:var(--text);white-space:nowrap}
.r-from{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.rates-table .r-pp{color:#8f98a9;font-size:.7rem}
.rates-table .r-req{color:var(--muted);font-style:italic}
.rates-table thead .r-req{font-style:normal;color:var(--muted);font-size:.98rem}
.r-est{display:inline-block;margin-top:6px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.r-est:hover{color:var(--gold2)}
.rates-note{max-width:900px;margin:4px auto 46px;text-align:center}
.incl-grid{display:grid;gap:18px}
.incl{padding:26px;border-radius:var(--radius);border:1px solid var(--line2);background:var(--card)}
.incl:first-child{border-color:var(--line);background:linear-gradient(180deg,rgba(201,169,110,.08),var(--card) 60%)}
.incl h3{display:flex;align-items:center;gap:10px;font-size:1.45rem;margin-bottom:14px}
.incl h3 svg{width:22px;height:22px;color:var(--gold);flex:none}
.incl ul{list-style:none;display:grid;gap:10px;margin-bottom:6px}
.incl li{position:relative;padding-left:20px;color:#cdd2dc;font-size:.92rem;line-height:1.55}
.incl li::before{content:"";position:absolute;left:0;top:.7em;width:9px;height:1px;background:var(--gold)}
.incl li strong{color:var(--text)}
.incl .btn{margin-top:14px}
.f-price{font-size:.8rem!important;color:var(--gold2)!important;letter-spacing:.02em;margin:-4px 0 10px!important}
.f-req{margin-top:auto;font-size:.85rem}
.q-pp{text-align:center;font-size:.82rem;color:var(--gold2);margin:-6px 0 12px}
@media (min-width:960px){.incl-grid{grid-template-columns:1.15fr 1fr 1fr}}
@media (max-width:759px){
  .rates-table thead{display:none}
  .rates-table,.rates-table tbody,.rates-table tr,.rates-table th,.rates-table td{display:block;width:100%}
  .rates-table tbody tr{padding:16px 16px 10px;border-bottom:1px solid var(--line2);display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
  .rates-table tbody tr:last-child{border-bottom:0}
  .rates-table tbody th{grid-column:1/-1;padding:0 0 8px;border:0;min-width:0}
  .rates-table td{padding:6px 0;border:0}
  .rates-table td::before{content:attr(data-l);display:block;font-size:.68rem;color:var(--muted);letter-spacing:.04em}
  .rates-table td b{font-size:1.18rem}
  .rates-table td.r-req{font-size:.85rem}
  .rate-pills{margin-top:-20px}
  .rate-pills li{font-size:.76rem;padding:7px 12px}
}
@media (min-width:760px){
  .rates-table{table-layout:fixed}
  .rates-table th:first-child{width:31%}
  .rates-table th.r-req,.rates-table td.r-req{width:17%}
  .rates-wrap + .rates-wrap .rates-table th,.rates-wrap + .rates-wrap .rates-table td{padding-top:12px;padding-bottom:12px}
}
.incl-head{margin-bottom:26px}
.incl-head h3{font-size:clamp(1.8rem,4.4vw,2.5rem)}
.incl-head h3 em{font-style:italic;color:var(--gold2)}
.rates-more{margin-bottom:22px}
.rates-more>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:rgba(201,169,110,.05);font-family:var(--serif);font-size:1.2rem;color:var(--gold2);margin-bottom:14px}
.rates-more>summary::-webkit-details-marker{display:none}
.rates-more>summary::after{content:"";width:10px;height:10px;flex:none;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease)}
.rates-more[open]>summary::after{transform:rotate(-135deg)}
@media (min-width:760px){.rates-more>summary{display:none}}
footer .credits{margin-top:14px;font-size:.68rem;line-height:1.5;color:#7d8596;max-width:900px}
footer .credits a{color:#9aa3b4}
footer details.credits summary{cursor:pointer;color:#9aa3b4;list-style:none;display:inline-block}
footer details.credits summary::-webkit-details-marker{display:none}
footer details.credits summary::after{content:" +"}
footer details.credits[open] summary::after{content:" –"}
footer details.credits p{margin-top:8px}

#events .split .media{aspect-ratio:3/2}

/* ---------- booking form v3: preselected request, service-specific details, two clear send options ---------- */
#booking-form [hidden]{display:none!important}
.f-ctx{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 18px;padding:12px 16px;border-radius:12px;border:1px solid rgba(201,169,110,.35);background:linear-gradient(90deg,rgba(201,169,110,.12),rgba(201,169,110,.03))}
.f-ctx span{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--gold2)}
.f-ctx b{font-family:var(--serif,inherit);font-weight:500;font-size:1.02rem;color:var(--text)}
.f-extra{border-radius:14px;background:rgba(201,169,110,.05);box-shadow:0 0 0 1px rgba(201,169,110,.22);padding:14px 14px 2px;margin-left:-14px;margin-right:-14px}
.f-lab{display:block;font-size:.76rem;color:var(--muted);margin-bottom:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.f-checks{display:grid;gap:8px}
@media (min-width:640px){.f-checks{grid-template-columns:1fr 1fr}}
label.f-check{display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(7,9,15,.45);text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:500;color:#dfe3ea;cursor:pointer;transition:border-color .2s,background .2s}
label.f-check input{width:17px;height:17px;padding:0;margin:2px 0 0;flex:none;accent-color:var(--gold)}
label.f-check:has(input:checked){border-color:rgba(201,169,110,.55);background:rgba(201,169,110,.08)}
.f-send{font-size:.84rem;color:var(--muted);margin:6px 0 10px}
.f-direct{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line2);font-size:.86rem;color:var(--muted)}
.f-direct a{display:inline-flex;gap:7px;align-items:center;color:#dfe3ea;text-decoration:none;border-bottom:1px solid rgba(201,169,110,.35)}
.f-direct a:hover{color:var(--gold2)}
.f-direct svg{width:15px;height:15px;color:var(--gold)}
.req-alt{margin:12px 0 0;font-size:.82rem;color:var(--muted)}
.req-alt a,.form-note a{color:var(--gold2);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.3)}
.req-alt a:hover,.form-note a:hover{color:var(--text)}
.f-group>.form-row,.f-group>.f-hint{clear:both}

/* ---------- contact chooser: WhatsApp · Email · Request form (bottom sheet on phones) ---------- */
.hero-ctas:has(+ .hero-alt){margin-bottom:14px}
.hero-alt{font-size:.86rem;color:var(--muted);margin:0 0 28px}
.hero-alt a{color:var(--gold2);text-decoration:none;border-bottom:1px solid rgba(230,207,159,.45);display:inline-flex;align-items:center;gap:6px;padding-bottom:1px}
.hero-alt a:hover{border-color:var(--gold2)}
.hero-alt svg{width:15px;height:15px;fill:none;stroke:currentColor}
.about-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:639px){.about-actions .btn{width:100%;justify-content:center}}
.nav-wa{color:var(--gold2);border-color:var(--line);background:rgba(201,169,110,.08)}
.nav-wa:hover{background:rgba(201,169,110,.18)}
.ct-fab{background:var(--gold-grad);box-shadow:0 18px 40px -12px rgba(201,169,110,.55),0 10px 24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.45);color:#1a1408}
.ct-fab:hover{box-shadow:0 22px 50px -12px rgba(201,169,110,.75),0 10px 24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.45)}
.ct-fab::before{border-color:var(--gold)}
.ct-fab svg{color:#1a1408;width:27px;height:27px}
.ct-fab .wa-label{color:#1a1408}
.ct-sheet{position:fixed;inset:0;z-index:110;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .28s var(--ease-out)}
.ct-sheet[hidden]{display:none}
.ct-sheet.open{opacity:1}
.ct-backdrop{position:absolute;inset:0;background:rgba(4,6,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ct-panel{position:relative;width:100%;max-width:460px;max-height:calc(100svh - 24px);overflow:auto;padding:14px 20px calc(20px + env(safe-area-inset-bottom));
  border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;
  background:radial-gradient(ellipse 100% 55% at 50% 0%,rgba(201,169,110,.16),transparent 70%),linear-gradient(180deg,#121b2d,#0a0f19);
  box-shadow:var(--shadow-lg);transform:translateY(40px);transition:transform .36s var(--ease-out)}
.ct-sheet.open .ct-panel{transform:none}
.ct-grip{display:block;width:44px;height:4px;border-radius:4px;background:rgba(230,207,159,.35);margin:0 auto 14px}
.ct-x{top:12px;right:12px}
.ct-panel .eyebrow{margin-bottom:.4rem}
.ct-panel h3{font-size:1.65rem;margin-bottom:6px;padding-right:40px}
.ct-ctx{font-size:.84rem;color:var(--muted);margin-bottom:10px}
.ct-ctx b{color:var(--gold2);font-weight:600}
.ct-msg{font-size:.82rem;line-height:1.5;color:#cfd4de;border-left:2px solid var(--gold);background:rgba(255,255,255,.03);border-radius:0 10px 10px 0;padding:9px 12px;margin:0 0 14px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.ct-opts{display:grid;gap:10px}
.ct-opt{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:16px;border:1px solid var(--line2);background:rgba(255,255,255,.035);color:var(--text);text-decoration:none;
  transition:border-color .25s,background .25s,transform .25s var(--ease-out)}
.ct-opt:hover,.ct-opt:focus-visible{border-color:var(--gold);background:rgba(201,169,110,.10);transform:translateY(-1px)}
.ct-opt:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.ct-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}
.ct-ic svg{width:21px;height:21px}
.ct-wa .ct-ic{background:linear-gradient(180deg,#2fe073,#1fbf5b);border-color:transparent;color:#04210d}
.ct-mail .ct-ic{background:var(--gold-grad);border-color:transparent;color:#1a1408}
.ct-form .ct-ic{color:var(--gold2);background:rgba(201,169,110,.08)}
.ct-t{flex:1;min-width:0;font-weight:700;font-size:1rem;line-height:1.25}
.ct-t small{display:block;font-weight:500;font-size:.76rem;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.ct-go{color:var(--gold);font-size:1.1rem}
.ct-note{font-size:.74rem;color:var(--muted);text-align:center;margin-top:12px}
@media (min-width:640px){
  .ct-sheet{align-items:center;padding:16px}
  .ct-panel{border-radius:22px;border-bottom:1px solid var(--line);padding:26px 24px 22px;transform:translateY(14px) scale(.98)}
  .ct-grip{display:none}
}
@media (prefers-reduced-motion:reduce){.ct-sheet,.ct-panel{transition:none}}
/* hero primary: channel-neutral (opens contact chooser) — WhatsApp + mail icon pair */
.hero-book .ic2{display:inline-flex;align-items:center;gap:3px;flex:none}
.hero-book .ic2 svg{width:20px;height:20px}
.hero-book .ic2 svg+svg{width:18px;height:18px;fill:none;stroke:currentColor;opacity:.9}
.hero-book .ic2{padding-right:2px}

/* ---------- rates header: background photo (heading + pills only; price cards stay on solid bg) ---------- */
#rates.has-hero{padding-top:0}
.rates-hero{position:relative;isolation:isolate;overflow:hidden;padding:84px 0 46px;margin-bottom:34px}
.rates-hero .bg{position:absolute;inset:0;z-index:-2;background:var(--bg)}
.rates-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.rates-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse 70% 55% at 50% 48%,rgba(7,9,15,.62),rgba(7,9,15,0) 78%),
  linear-gradient(180deg,rgba(7,9,15,.88) 0%,rgba(7,9,15,.6) 30%,rgba(7,9,15,.62) 60%,rgba(7,9,15,.9) 88%,var(--bg) 100%)}
.rates-hero .section-head h2,.rates-hero .section-head .lead{text-shadow:0 2px 18px rgba(7,9,15,.7)}
.rates-hero .lead{color:#e4e7ee}
.rates-hero .rate-pills{margin-bottom:0}
.rates-hero .rate-pills li{background:rgba(7,9,15,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#e8ebf1}
@media (min-width:960px){.rates-hero{padding:120px 0 64px;margin-bottom:44px}}
@media (max-width:639px){.rates-hero{padding:76px 0 40px}}
/* vans row: 2 cards centred in the 3-column desktop grid, same card width as other rows */
@media (min-width:960px){
  .grid.cols-3.pair{grid-template-columns:repeat(6,1fr)}
  .grid.cols-3.pair > *{grid-column:span 2}
  .grid.cols-3.pair > :first-child{grid-column:2 / span 2}
}

/* ---------- reply promise (12 h) ---------- */
.reply-promise{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;margin:18px 0 0;font-size:.72rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
.reply-promise span{display:inline-flex;align-items:center;gap:8px}
.reply-promise span::before{content:"";flex:none;width:5px;height:5px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 0 3px rgba(201,169,110,.16)}
.reply-promise.rp-left{justify-content:flex-start;margin-top:14px}
.reply-promise.rp-tight{margin:4px 0 2px;font-size:.66rem;letter-spacing:.1em;gap:6px 14px}
@media (max-width:400px){.reply-promise{font-size:.64rem;letter-spacing:.06em;gap:6px 12px}.reply-promise.rp-tight{font-size:.62rem;letter-spacing:.05em}}
/* contact band: keep the long email subtitle inside its button on small phones */
@media (max-width:400px){.cta-actions .btn-lg{padding-left:18px;padding-right:18px}.cta-actions .btn span{min-width:0}.cta-actions .btn span small{letter-spacing:.03em}}
/* ---------- tour/transfer cards: "From €X per vehicle" + full prices inside Details ---------- */
.price .from{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px}
.price .from strong{margin-left:0}
.price .from .per{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.card-incl,.vprices{margin:14px 0 0;padding:12px 0 0;border-top:1px dashed var(--line2)}
.card-incl h4,.vprices h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin:0 0 8px}
.itin .card-incl ul,.itin .vprices ul{list-style:none;margin:0;padding:0}
.itin .card-incl li{counter-increment:none;padding:3px 0 3px 18px;font-size:.8rem;color:#cfd4dd}
.itin .card-incl li::before{content:"";position:absolute;left:2px;top:10px;width:7px;height:4px;border:solid var(--gold);border-width:0 0 1.5px 1.5px;border-radius:0;background:none;transform:rotate(-45deg)}
.itin .vprices li{counter-increment:none;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:.84rem;color:#cfd4dd}
.itin .vprices li::before{display:none}
.itin .vprices li:last-child{border-bottom:0}
.vp-n{min-width:0;display:flex;flex-direction:column;color:var(--text);font-weight:600}
.vp-n small{font-weight:400;font-size:.72rem;color:#8c93a1;letter-spacing:.02em}
.vp-v{flex:none;text-align:right;white-space:nowrap}
.vp-v .r-from{font-size:.7rem;color:var(--muted);margin-right:3px}
.vp-v b{font-family:var(--serif);font-size:1.08rem;color:var(--text);font-weight:600}
.vp-v b.rq{font-family:var(--sans);font-size:.78rem;color:var(--gold2)}
.vp-v small{display:block;font-size:.68rem;color:#8c93a1}
.itin .vp-note,.vp-note{font-size:.72rem;line-height:1.5;color:#aeb5c2;margin:8px 0 0;letter-spacing:.02em}
.vp-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.vp-actions .btn{flex:1 1 120px;justify-content:center}
@media (max-width:340px){.cta-actions .btn span small{letter-spacing:0;font-size:.62rem}}
