/* O Travels, premium rent a car & tours. Property of LankaBridge 2026 - Yasara Kothalawala */
:root{
  --bg:#0b0b0c;--bg2:#121214;--bg3:#18181b;--card:#141416;--line:rgba(230,194,122,.16);--line2:rgba(255,255,255,.08);
  --gold:#d9b25f;--gold2:#f3d893;--gold3:#a87b2c;--txt:#ece6d8;--mut:#a8a296;--dim:#77726a;
  --g:linear-gradient(100deg,#a87b2c 0%,#e6c27a 22%,#fff1c8 40%,#d9b25f 58%,#a87b2c 80%,#e6c27a 100%);
  --disp:"Cinzel",Georgia,serif;--ser:"Cormorant Garamond",Georgia,serif;--body:"Jost",system-ui,sans-serif;
  --r:14px;--max:1240px;--ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--body);font-weight:300;font-size:16.5px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.narrow{max-width:860px}
h1,h2,h3{font-family:var(--disp);font-weight:500;letter-spacing:.02em;line-height:1.15;color:#fff}
h1{font-size:clamp(2.3rem,7vw,4.6rem)}
h2{font-size:clamp(1.8rem,4.6vw,3rem)}
h3{font-size:1.25rem;letter-spacing:.03em}
h2 em,h3 em{font-family:var(--ser);font-style:italic;font-weight:500;font-size:1.12em;letter-spacing:0;background:var(--g);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-t{background:var(--g);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:220% center}}
.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eyebrow::before{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.lead{color:var(--mut);font-size:1.06rem;max-width:640px}
.note{color:var(--dim);font-size:.85rem;margin-top:26px}
.center{text-align:center;margin-top:36px}
.link{display:inline-block;margin-top:14px;color:var(--gold2);border-bottom:1px solid var(--gold3);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.i{width:18px;height:18px;flex:none}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s,background .35s,color .35s;overflow:hidden}
.btn svg{width:17px;height:17px}
.btn.gold{background:var(--g);background-size:200% auto;color:#14110b;box-shadow:0 10px 30px -12px rgba(217,178,95,.6)}
.btn.gold:hover{background-position:100% center;box-shadow:0 14px 36px -10px rgba(217,178,95,.75)}
.btn.line{border-color:rgba(230,194,122,.45);color:var(--gold2);background:rgba(255,255,255,.02)}
.btn.line:hover{background:rgba(230,194,122,.1)}
.btn.sm{padding:10px 18px;font-size:.72rem}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover::after{left:130%}
.btn[disabled]{opacity:.35;pointer-events:none}
.pill{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;border:1px solid var(--line);color:var(--mut);margin:0 6px 6px 0}
.pill.warn{border-color:rgba(230,194,122,.5);color:var(--gold2)}
.pill.gold-p{background:var(--g);color:#14110b;border:0;font-weight:600}

/* Header */
.hdr{position:fixed;inset:0 0 auto;z-index:60;transition:background .4s,box-shadow .4s,backdrop-filter .4s}
.hdr.solid,.nav-open .hdr{background:rgba(11,11,12,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:30px;width:auto}
.brand b{display:block;font-family:var(--disp);font-weight:600;font-size:1.15rem;letter-spacing:.14em;background:var(--g);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.brand small{display:block;font-size:.58rem;letter-spacing:.32em;color:var(--mut);text-transform:uppercase}
.nav{display:flex;gap:26px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.nav>a{position:relative;padding:6px 0;color:#d8d2c4}
.nav>a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .4s var(--ease)}
.nav>a:hover::after,.nav>a[aria-current]::after{right:0}
.nav>a[aria-current]{color:var(--gold2)}
.nav-cta{display:none}
.tools{display:flex;align-items:center;gap:12px}
.call{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gold2)}
.call .i{width:20px;height:20px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;position:relative;cursor:pointer}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--gold2);transition:.35s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.nav-open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.nav-open .burger span:nth-child(2){opacity:0}
.nav-open .burger span:nth-child(3){top:21px;transform:rotate(-45deg)}
@media(max-width:1100px){
 .call span{display:none}
 .burger{display:block}
 .nav{position:fixed;inset:76px 0 0;background:#0b0b0c;flex-direction:column;gap:0;padding:18px 24px 120px;font-size:1rem;letter-spacing:.16em;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s,transform .35s,visibility 0s .35s}
 .nav-open .nav{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .35s}
 .nav>a{padding:18px 0;border-bottom:1px solid var(--line2)}
 .nav>a::after{display:none}
 .nav-cta{display:grid;gap:12px;margin-top:26px}
 body.nav-open{overflow:hidden}
}
@media(max-width:600px){.hide-m{display:none}.brand small{display:none}.bar{height:68px}.nav{inset:68px 0 0}}

/* Hero */
.hero{position:relative;min-height:100svh;padding:110px 0 0;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(1200px 600px at 75% 55%,#2a2216 0%,transparent 60%),radial-gradient(800px 500px at 10% 10%,#16130e,transparent 70%),var(--bg)}
.hero-glow{position:absolute;right:-10%;top:20%;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(circle,rgba(217,178,95,.22),transparent 60%);filter:blur(10px);animation:pulse 8s ease-in-out infinite}
@keyframes pulse{50%{opacity:.6;transform:scale(1.05)}}
.road{position:absolute;left:0;right:0;bottom:120px;height:2px;opacity:.5}
.road i{position:absolute;height:2px;width:160px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:streak 3.2s linear infinite}
.road i:nth-child(2){animation-delay:-1.1s;bottom:26px}.road i:nth-child(3){animation-delay:-2.1s;bottom:-24px;width:90px}
@keyframes streak{from{left:-20%}to{left:110%}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:center}
.hero h1 .ln{display:block}
.hero .sub{color:var(--mut);font-size:1.1rem;max-width:520px;margin:20px 0 30px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-car{position:relative}
.hero-car img{width:118%;max-width:none;margin-left:-6%;filter:drop-shadow(0 40px 40px rgba(0,0,0,.7)) drop-shadow(0 0 60px rgba(217,178,95,.16));animation:carin 1.6s var(--ease) both .3s}
@keyframes carin{from{opacity:0;transform:translateX(80px) scale(.96)}to{opacity:1;transform:none}}
.hero-car .beam{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,240,200,.22) 50%,transparent 60%);mix-blend-mode:screen;animation:beam 5s ease-in-out infinite 2s;pointer-events:none}
@keyframes beam{0%{transform:translateX(-60%)}60%,100%{transform:translateX(70%)}}
.qb{position:relative;z-index:3;margin:40px auto 34px;display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr auto;gap:0;background:rgba(20,20,22,.85);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:22px;padding:8px}
.qb label{padding:10px 18px;border-right:1px solid var(--line2)}
.qb label span{display:block;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.qb select,.qb input{width:100%;background:none;border:0;outline:none;padding-top:2px;color-scheme:dark}
.qb select option{background:#141416}
.qb .btn{border-radius:16px;margin-left:6px}
@media(max-width:960px){
 .hero{padding-top:96px;min-height:auto}
 .hero-grid{grid-template-columns:1fr}
 .hero-car{order:-1;margin:0 -20px}.hero-car img{width:100%;margin:0}
 .qb{grid-template-columns:1fr 1fr;border-radius:18px}
 .qb label:nth-child(2n){border-right:0}.qb label{border-bottom:1px solid var(--line2)}
 .qb .btn{grid-column:1/-1;margin:8px 0 0;padding:16px}
 .road{bottom:auto;top:52%}
}

/* Stats + trust */
.stats{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--bg2)}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-in div{padding:28px 14px;text-align:center;border-right:1px solid var(--line2)}
.stats-in div:last-child{border-right:0}
.stats b{display:block;font-family:var(--disp);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:500;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
@media(max-width:720px){.stats-in{grid-template-columns:1fr 1fr}.stats-in div:nth-child(2){border-right:0}.stats-in div:nth-child(-n+2){border-bottom:1px solid var(--line2)}}

/* Sections */
.sec{padding:110px 0;position:relative}
.sec.dark2{background:linear-gradient(180deg,var(--bg2),#0e0e10)}
.sec-head{margin-bottom:46px}
.sec-head.center-h,.sec-head:has(+ .ccs){}
.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:860px){.two{grid-template-columns:1fr;gap:40px}.sec{padding:76px 0}}

/* Collection cards */
.ccs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cc{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line2);aspect-ratio:3/4;display:flex;align-items:flex-end;transition:border-color .4s,transform .5s var(--ease)}
.cc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;transform:scale(1.25);transition:transform 1s var(--ease)}
.cc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85))}
.cc span{position:relative;z-index:2;padding:18px;font-family:var(--disp);font-size:1.05rem;color:#fff;line-height:1.25}
.cc small{display:block;font-family:var(--body);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.cc:hover{border-color:var(--gold3);transform:translateY(-6px)}.cc:hover img{transform:scale(1.32)}
@media(max-width:960px){.ccs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 8px;scrollbar-width:none}.ccs::-webkit-scrollbar{display:none}.cc{flex:0 0 62%;scroll-snap-align:start}}

/* Tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.tabs button{border:1px solid var(--line);background:rgba(255,255,255,.02);padding:9px 18px;border-radius:999px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--mut);transition:.3s}
.tabs button.on,.tabs button:hover{background:var(--g);color:#14110b;border-color:transparent}
.sticky-tabs{position:sticky;top:76px;z-index:20;background:rgba(11,11,12,.9);backdrop-filter:blur(10px);padding:12px 0;margin-top:-12px}
@media(max-width:720px){.tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px 24px;padding:4px 20px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none}.sticky-tabs{top:68px}}

/* Car cards */
.rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.grid-cars{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px}
.car{background:linear-gradient(180deg,#17171a,#111113);border:1px solid var(--line2);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}
.car:hover{transform:translateY(-6px);border-color:rgba(230,194,122,.35);box-shadow:0 30px 60px -30px rgba(217,178,95,.35)}
.car.hide{display:none}
.car-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#1a1a1c}
.car-media img.studio{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .35s}
.car:hover .car-media img.studio{transform:scale(1.05)}
.car-media img.fade{opacity:0}
.tag{position:absolute;top:14px;left:14px;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(11,11,12,.75);border:1px solid var(--line);color:var(--gold2);backdrop-filter:blur(6px)}
.tag.new{background:var(--g);color:#14110b;border:0;font-weight:600}
.galbtn{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:6px;font-size:.68rem;letter-spacing:.08em;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(11,11,12,.75);color:#e8e2d4;cursor:pointer;backdrop-filter:blur(6px)}
.galbtn .i{width:15px;height:15px}
.car-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.ccat{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.car h3{font-size:1.15rem;margin-bottom:10px}
.sws{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.swl{font-size:.78rem;color:var(--mut);min-width:84px}
.sw{width:22px;height:22px;border-radius:50%;background:var(--c);border:2px solid #2a2a2e;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);transition:transform .25s}
.sw.on{outline:2px solid var(--gold);outline-offset:2px}.sw:hover{transform:scale(1.12)}
.specs{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px;font-size:.84rem;color:#cfc9bb}
.specs li{display:flex;align-items:center;gap:6px}.specs .i{color:var(--gold);width:16px;height:16px}
.blurb{color:var(--mut);font-size:.93rem;margin-bottom:12px}
.feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-bottom:14px;font-size:.84rem}
.feats li{display:flex;align-items:center;gap:6px}.feats .i{color:var(--gold);width:15px}
.pks{display:grid;gap:6px;margin-bottom:14px}
.pk{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#e7e1d3;background:rgba(230,194,122,.06);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.pk small{color:var(--mut)}.pk .i{color:var(--gold)}
.modes{margin-bottom:14px}
.car-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.soon{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:radial-gradient(circle at 50% 60%,#2a2216,#151517 70%)}
.soon .sil{width:62%;filter:drop-shadow(0 0 18px rgba(217,178,95,.3))}
.soon span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.soon.sm{position:relative;aspect-ratio:16/10}
@media(max-width:720px){
 .rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 10px;scrollbar-width:none}
 .rail::-webkit-scrollbar{display:none}
 .rail .car{flex:0 0 84%;scroll-snap-align:center}
 .grid-cars{grid-template-columns:1fr}
}

/* Arrival */
.arrival{position:relative;padding:110px 0;background:radial-gradient(900px 500px at 70% 50%,#2a2216,transparent 70%),#0d0d0e;overflow:hidden}
.arrival-in{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}
.arr-copy .lead{margin:16px 0 20px}
.ticks{list-style:none;margin:0 0 26px;display:grid;gap:8px}
.ticks li{display:flex;gap:10px;align-items:center;color:#ddd6c7}
.ticks .i{color:var(--gold)}
.ticks.small{font-size:.9rem}
.arr-photos{position:relative;aspect-ratio:5/4}
.arr-photos img{position:absolute;border-radius:16px;object-fit:cover;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border:1px solid var(--line)}
.arr-photos .a1{left:0;top:0;width:70%;aspect-ratio:4/3}
.arr-photos .a2{right:0;top:12%;width:42%;aspect-ratio:3/4;object-position:30% 50%}
.arr-photos .a3{left:16%;bottom:0;width:56%;aspect-ratio:16/10}
@media(max-width:900px){.arrival-in{grid-template-columns:1fr}.arrival{padding:76px 0}}

/* Packages */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.pkg{position:relative;background:var(--card);border:1px solid var(--line2);border-radius:22px;padding:32px 28px;display:flex;flex-direction:column}
.pkg.hl{border-color:var(--gold3);background:radial-gradient(400px 300px at 50% 0,#2a2216,var(--card));transform:translateY(-10px);box-shadow:0 30px 60px -30px rgba(217,178,95,.45)}
.ribbon{position:absolute;top:-12px;right:22px;background:var(--g);color:#14110b;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:6px 12px;border-radius:999px}
.pkg h3{font-size:1.5rem;margin-bottom:12px}
.km{display:flex;align-items:baseline;gap:10px}
.km b{font-family:var(--disp);font-size:3.6rem;line-height:1;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
.km span{color:var(--mut);font-size:.9rem}
.or{color:var(--mut);margin:8px 0 18px}.or b{color:#fff;font-weight:500}
.pkg .btn{margin-top:auto;align-self:flex-start}
@media(max-width:900px){.pkgs{grid-template-columns:1fr}.pkg.hl{transform:none}}

/* Services */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{padding:30px 26px;border:1px solid var(--line2);border-radius:18px;background:rgba(255,255,255,.015);transition:border-color .4s,background .4s,transform .5s var(--ease)}
.svc:hover{border-color:var(--line);background:rgba(230,194,122,.04);transform:translateY(-4px)}
.si{width:40px;height:40px;color:var(--gold);margin-bottom:16px;stroke-width:1.2}
.svc h3{margin-bottom:8px;font-size:1.08rem}
.svc p{color:var(--mut);font-size:.93rem}
@media(max-width:900px){.svcs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svcs{grid-template-columns:1fr}}

/* Maps */
.land{fill:#1c1b1f;stroke:rgba(230,194,122,.55);stroke-width:1.2}
.land.big{stroke-width:1.4}
.waves path{fill:none;stroke:rgba(230,194,122,.14);stroke-width:.8;stroke-dasharray:3 6;animation:waves 8s linear infinite}
@keyframes waves{to{stroke-dashoffset:-90}}
.sea{font-family:var(--body);font-size:7px;letter-spacing:4px;fill:rgba(230,194,122,.35)}
.imap{width:100%;height:auto;display:block}
.mp{cursor:pointer;outline:none}
.mp .dot{fill:var(--gold);stroke:#0b0b0c;stroke-width:1.2;transition:r .3s}
.mp .halo{fill:var(--gold);opacity:0;transform-box:fill-box;transform-origin:center}
.mp text{font-size:8px;fill:#efe7d4;opacity:0;transition:opacity .3s;paint-order:stroke;stroke:#0b0b0c;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.mp:hover text,.mp.on text,.mp:focus text{opacity:1}
.mp.on .dot{fill:#fff3cc}
.mp.on .halo{animation:halo 1.8s ease-out infinite}
.mp.off{opacity:.12;pointer-events:none}
.mp[data-cat=nature] .dot{fill:#9fc58a}.mp[data-cat=beach] .dot{fill:#7cc4d8}.mp[data-cat=hills] .dot{fill:#c6a6e0}.mp[data-cat=city] .dot{fill:#e59b7a}
@keyframes halo{0%{transform:scale(.5);opacity:.6}100%{transform:scale(2.2);opacity:0}}
.hq .core{fill:var(--gold)}
.hq .ring{fill:none;stroke:var(--gold);stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:hq 2.4s ease-out infinite}
.hq .ring.r2{animation-delay:1.2s}
@keyframes hq{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.hq text,.ap text{font-size:9px;fill:var(--gold2);font-weight:500;paint-order:stroke;stroke:#0b0b0c;stroke-width:3px}
.ap circle{fill:#fff3cc}
.hqlink{fill:none;stroke:var(--gold);stroke-width:1.2;stroke-dasharray:3 3;animation:waves 3s linear infinite}
.map-teaser .mini-map{display:block;border-radius:22px;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#17161a,#0e0e10);padding:16px;transition:border-color .4s}
.map-teaser .mini-map:hover{border-color:var(--gold3)}
.mini-map .mp text{display:none}
.explore{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
.map-box{position:relative;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 40%,#17161a,#0e0e10);padding:14px}
.map-hint{position:absolute;left:18px;bottom:16px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.8}
.pinfo{position:sticky;top:96px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card)}
.pmedia{position:relative;aspect-ratio:16/10;background:#1a1a1c;overflow:hidden}
.pmedia img,.pmedia svg{width:100%;height:100%;object-fit:cover;display:block}
.pbody{padding:24px}
.pbody h3{font-size:1.5rem;margin-bottom:10px}
.pbody>p{color:var(--mut)}
.pfacts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 20px}
.pfacts dt{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.pfacts dd{font-size:.95rem}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:30px}
.pl{text-align:left;border:1px solid var(--line2);background:rgba(255,255,255,.015);border-radius:12px;padding:12px 14px;cursor:pointer;transition:.3s}
.pl:hover,.pl.on{border-color:var(--gold3);background:rgba(230,194,122,.06)}
.pl b{display:block;font-weight:500;font-size:.95rem}.pl small{color:var(--dim);font-size:.75rem}
.pl.off{display:none}
@media(max-width:960px){.explore{grid-template-columns:1fr}.pinfo{position:static}.plist{grid-template-columns:1fr 1fr}}

/* Tours */
.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tours.full-list{grid-template-columns:1fr;gap:34px}
.tour{background:var(--card);border:1px solid var(--line2);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s,transform .5s var(--ease)}
.tour:hover{border-color:var(--line)}
.tour-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.tour-media img,.tour-media svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.tour:hover .tour-media img{transform:scale(1.05)}
.days{position:absolute;right:14px;top:14px;background:rgba(11,11,12,.8);border:1px solid var(--line);border-radius:14px;padding:6px 12px;text-align:center;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);line-height:1.1}
.days b{display:block;font-family:var(--disp);font-size:1.5rem;color:var(--gold2);font-weight:500}
.tour-body{padding:24px;display:flex;flex-direction:column;flex:1}
.tour-body>p{color:var(--mut);margin:8px 0 14px;font-size:.95rem}
.hl{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.hl span{font-size:.72rem;padding:4px 10px;border-radius:999px;background:rgba(230,194,122,.08);color:#e9dfc6}
.route-txt{font-size:.8rem;color:var(--dim);margin-bottom:16px}
.tour.full{display:grid;grid-template-columns:.9fr 1.1fr}
.tour.full .tour-media{aspect-ratio:auto;min-height:100%}
.tour-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;margin:4px 0 20px;align-items:start}
.tmap{width:100%}
.tmap .land{stroke-width:1}
.route{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(217,178,95,.6))}
.in .route,.route.drawn{transition:stroke-dashoffset 2.6s var(--ease);stroke-dashoffset:0}
.tmap circle.stop{fill:#fff3cc;stroke:#0b0b0c}.tmap circle.home{fill:var(--gold)}
.tmap text{font-size:9px;fill:#ddd5c3;paint-order:stroke;stroke:#141416;stroke-width:3px}
.plan{list-style:none;display:grid;gap:10px;counter-reset:d}
.plan li{display:grid;grid-template-columns:58px 1fr;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.plan b{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-top:3px}
.plan h5{font-family:var(--disp);font-size:.95rem;font-weight:500;color:#fff;margin-bottom:2px}
.plan p{font-size:.86rem;color:var(--mut)}
@media(max-width:1000px){.tours{grid-template-columns:1fr 1fr}.tour.full{grid-template-columns:1fr}.tour.full .tour-media{aspect-ratio:16/9}}
@media(max-width:640px){.tours{grid-template-columns:1fr}.tour-split{grid-template-columns:1fr}.tmap-wrap{max-width:240px;margin:0 auto}}
.builder{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}
.bmap{border:1px solid var(--line);border-radius:22px;padding:14px;background:radial-gradient(circle at 50% 40%,#17161a,#0e0e10)}
.bmap svg{width:100%}
.bp circle{fill:#34312a;stroke:var(--gold3);stroke-width:1.2;transition:.3s}
.bp text{font-size:8.5px;fill:var(--dim);paint-order:stroke;stroke:#111;stroke-width:3px;transition:.3s}
.bp.on circle{fill:var(--gold);r:6}.bp.on text{fill:#fff}
.bp[data-p=Negombo] circle{fill:var(--gold)}
.route.live{stroke-dasharray:none;stroke-dashoffset:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chips button{border:1px solid var(--line);background:none;padding:8px 14px;border-radius:999px;font-size:.84rem;cursor:pointer;color:#d8d1c2;transition:.25s}
.chips button.on{background:var(--g);color:#14110b;border-color:transparent}
.bsum{color:var(--mut);margin-bottom:18px}
@media(max-width:900px){.builder{grid-template-columns:1fr}}
.dts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dt{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center;border:1px solid var(--line2);border-radius:18px;padding:12px;background:var(--card)}
.dt-m{border-radius:12px;overflow:hidden;aspect-ratio:1}.dt-m svg{width:100%;height:100%}
.dt h3{font-size:1.05rem;margin-bottom:4px}.dt p{color:var(--mut);font-size:.9rem;margin-bottom:8px}
@media(max-width:800px){.dts{grid-template-columns:1fr}.dt{grid-template-columns:96px 1fr}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps.s4{grid-template-columns:repeat(4,1fr)}
.step{border-top:1px solid var(--gold3);padding-top:22px}
.step b{font-family:var(--disp);font-size:2.4rem;font-weight:500;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{margin:6px 0}.step p{color:var(--mut);font-size:.93rem}
.paybar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:40px;padding:18px 22px;border:1px solid var(--line2);border-radius:16px}
.paybar>span{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.pays{display:flex;gap:8px;flex-wrap:wrap}
.pay{width:56px;height:35px;border-radius:6px}
@media(max-width:860px){.steps,.steps.s4{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps,.steps.s4{grid-template-columns:1fr}}

/* CTA band + page hero */
.cta-band{position:relative;padding:150px 0;text-align:center;overflow:hidden}
.cta-bg,.phero-bg{position:absolute;inset:0}
.cta-bg img,.phero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.cta-band::after,.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.55),rgba(11,11,12,.88))}
.cta-in{position:relative;z-index:2}.cta-in .eyebrow{justify-content:center}.cta-in .hero-cta{justify-content:center;margin-top:26px}
.phero{position:relative;padding:170px 0 90px;overflow:hidden;background:#111}
.phero.short{padding:150px 0 70px}
.phero .wrap{position:relative;z-index:2}
.phero .sub{color:#cfc8b9;max-width:620px;margin-top:16px;font-size:1.06rem}
@media(max-width:700px){.phero{padding:130px 0 60px}.cta-band{padding:100px 0}}

/* Forms */
.bk-form,.wizard{display:grid;gap:16px}
label>span,.lab{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:500}
input,select,textarea{width:100%;background:#141416;border:1px solid var(--line2);border-radius:12px;padding:13px 14px;outline:none;color-scheme:dark;transition:border-color .3s}
input:focus,select:focus,textarea:focus{border-color:var(--gold3)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.f3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:620px){.f2,.f3{grid-template-columns:1fr}}
.alert{color:#f0b9a3;font-size:.9rem;min-height:1.2em}
.reserve{display:grid;grid-template-columns:1.4fr .8fr;gap:30px;align-items:start}
@media(max-width:1000px){.reserve{grid-template-columns:1fr}}
.wizard{background:var(--card);border:1px solid var(--line2);border-radius:24px;padding:28px}
@media(max-width:620px){.wizard{padding:20px 16px;border-radius:18px}}
.wsteps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.wsteps li{display:flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-bottom:12px;border-bottom:2px solid var(--line2);transition:.3s}
.wsteps b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:500;flex:none}
.wsteps li.on,.wsteps li.done{color:var(--gold2);border-color:var(--gold)}
.wsteps li.on b,.wsteps li.done b{background:var(--g);color:#14110b;border:0}
@media(max-width:560px){.wsteps span{display:none}.wsteps li{justify-content:center}}
.wstep{border:0;display:none;gap:16px;animation:fadein .5s var(--ease)}
.wstep.on{display:grid}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wstep legend{font-family:var(--disp);font-size:1.4rem;color:#fff;margin-bottom:14px}
.tabs.small{margin-bottom:6px}.tabs.small button{padding:7px 12px;font-size:.66rem}
.vpicks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vp{position:relative;border:1px solid var(--line2);border-radius:14px;overflow:hidden;cursor:pointer;transition:.3s;background:#111113}
.vp input{position:absolute;opacity:0;pointer-events:none}
.vp img,.vp .soon{width:100%;aspect-ratio:16/10;object-fit:cover}
.vp>span{display:block;padding:10px 12px;font-size:.88rem;line-height:1.3}
.vp small{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.vp:hover{border-color:var(--line)}
.vp:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 18px 40px -20px rgba(217,178,95,.6)}
.vp:has(input:checked)::after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--g);color:#14110b;display:grid;place-items:center;font-weight:700;font-size:.8rem}
.vp.off{display:none}
@media(max-width:700px){.vpicks{grid-template-columns:1fr 1fr}}
.pkgsel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pko{position:relative;border:1px solid var(--line2);border-radius:14px;padding:14px 16px;cursor:pointer}
.pko input{position:absolute;opacity:0}
.pko span{font-size:.95rem}.pko b{font-family:var(--disp);font-size:1.3rem;font-weight:500;color:var(--gold2)}
.pko small{display:block;color:var(--mut);font-size:.8rem}
.pko:has(input:checked){border-color:var(--gold);background:rgba(230,194,122,.06)}
.pko.dis{opacity:.35;pointer-events:none}
.calc{padding:14px 16px;border-radius:14px;background:rgba(230,194,122,.06);border:1px dashed var(--line);color:#e2dccd;font-size:.92rem}
.paysel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.paysel label{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:14px;padding:14px 8px;cursor:pointer;font-size:.82rem}
.paysel input{position:absolute;opacity:0}
.paysel label:has(input:checked){border-color:var(--gold);background:rgba(230,194,122,.06)}
.review{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:.93rem}
.review dt{color:var(--gold);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding-top:4px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:#ddd6c7}
.agree input{width:auto;margin-top:5px;accent-color:var(--gold)}
.agree a{color:var(--gold2);border-bottom:1px solid var(--gold3)}
.wnav{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.rside{display:grid;gap:16px;position:sticky;top:96px}
@media(max-width:1000px){.rside{position:static}}
.rcard{background:var(--card);border:1px solid var(--line2);border-radius:20px;padding:20px}
.rimg{border-radius:12px;overflow:hidden;margin:6px 0 12px;aspect-ratio:16/10;background:#1a1a1c}
.rimg img{width:100%;height:100%;object-fit:cover}
.rsum{list-style:none;font-size:.88rem;color:var(--mut);display:grid;gap:4px;margin:8px 0 14px}
.rsum b{color:#eee6d4;font-weight:500}
.wa-full{width:100%}
.cline{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2);font-size:.92rem}
.cline:last-child{border-bottom:0}
.cline svg{width:20px;height:20px;color:var(--gold);flex:none}
.cline small{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.cmap{border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}
.cmap iframe{width:100%;height:100%;border:0;filter:grayscale(.5) invert(.9) hue-rotate(180deg) contrast(.9)}

/* Terms */
.terms{list-style:none;counter-reset:t;display:grid;gap:14px}
.terms li{counter-increment:t;position:relative;padding:22px 22px 22px 74px;border:1px solid var(--line2);border-radius:16px;background:var(--card)}
.terms li::before{content:counter(t,decimal-leading-zero);position:absolute;left:22px;top:20px;font-family:var(--disp);font-size:1.5rem;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.terms h3{font-size:1.05rem;margin-bottom:6px}.terms p{color:var(--mut);font-size:.94rem}
.callout{margin-top:30px;padding:26px;border:1px solid var(--gold3);border-radius:18px;background:rgba(230,194,122,.05);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.callout p{max-width:560px;color:#ddd6c7}
@media(max-width:560px){.terms li{padding:18px 16px 18px 58px}.terms li::before{left:16px;font-size:1.2rem}}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(5,5,6,.95);z-index:100;display:none;align-items:center;justify-content:center;padding:50px 12px}
.lightbox.on{display:flex}
.lightbox img{max-height:84vh;max-width:100%;border-radius:12px}
.lightbox button{position:absolute;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.lb-x{top:16px;right:16px}.lb-p{left:12px;top:50%}.lb-n{right:12px;top:50%}
.lb-c{position:absolute;bottom:16px;font-size:.8rem;color:var(--mut);letter-spacing:.14em}

/* Footer */
.ftr{border-top:1px solid var(--line);padding:70px 0 0;background:#080809}
.ft-top{display:grid;grid-template-columns:.8fr 2fr;gap:40px;align-items:start}
.ft-logo{width:220px}
.ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.ft-cols h4{font-family:var(--disp);font-weight:500;color:var(--gold2);font-size:.86rem;letter-spacing:.14em;margin-bottom:12px}
.ft-cols a,.ft-cols span{display:block;color:var(--mut);font-size:.9rem;padding:3px 0}
.ft-cols a:hover{color:var(--gold2)}
.credit{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:50px;padding:22px 0;border-top:1px solid var(--line2);font-size:.78rem;color:var(--dim)}
.credit .lb{color:var(--gold)}
@media(max-width:860px){.ft-top{grid-template-columns:1fr}.ft-cols{grid-template-columns:1fr 1fr}.ft-logo{width:180px}}
@media(max-width:520px){.ft-cols{grid-template-columns:1fr}}

/* Mobile action bar + FAB */
.fab{position:fixed;right:22px;bottom:22px;z-index:55;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.6)}
.fab svg{width:28px;height:28px}
.mbar{display:none}
@media(max-width:820px){
 .fab{display:none}
 .mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:58;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:6px;padding:6px;border-radius:18px;background:rgba(18,18,20,.92);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 14px 40px -10px rgba(0,0,0,.7);transform:translateY(150%);transition:transform .5s var(--ease)}
 .mbar.on{transform:none}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 6px;border-radius:13px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
 .mbar svg{width:18px;height:18px}
 .mbar .wa{color:#25D366}
 .mbar .bk{background:var(--g);color:#14110b}
 .nav-open .mbar{transform:translateY(150%)}
 .ftr{padding-bottom:90px}
}

/* Preloader + reveal + progress */
.loader{position:fixed;inset:0;z-index:300;background:#0b0b0c;display:grid;place-items:center;transition:opacity .8s,visibility .8s}
.loader.go{opacity:0;visibility:hidden}
.loader img{width:min(260px,60vw);animation:lpulse 1.6s ease-in-out infinite}
.loader i{display:block;height:2px;margin:22px auto 0;width:160px;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:200% 100%;animation:shine 1.2s linear infinite}
@keyframes lpulse{50%{filter:drop-shadow(0 0 22px rgba(217,178,95,.55))}}
.rv{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s)}
.rv.in{opacity:1;transform:none}
.progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--g);transform-origin:0 50%;transform:scaleX(0);z-index:70}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
/* fixes */
.hero-car img{width:108%;margin-left:-2%}
.qb label{min-width:0}.qb select,.qb input{min-width:0}
@media(max-width:960px){.qb{margin:26px 20px 30px;max-width:none;padding:6px}.qb label{padding:10px 12px}.hero-car img{width:100%;margin:0}}
.cc{background:#17161a}
.cc img{object-fit:contain;object-position:center 34%;transform:scale(1.08);top:-6%}
.cc:hover img{transform:scale(1.14)}
.cc::after{background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.9))}
/* price highlight */
.price-pill{display:inline-flex;flex-direction:column;gap:2px;margin:22px 0 4px;padding:12px 20px 12px 18px;border:1px solid rgba(230,194,122,.45);border-left:3px solid #e6c27a;border-radius:12px;background:linear-gradient(120deg,rgba(201,161,74,.16),rgba(201,161,74,.03))}
.price-pill small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#cdb68a}
.price-pill span{font-size:1.05rem;color:#eee}.price-pill b{font-family:var(--serif,Georgia,serif);font-size:1.7rem;font-weight:600;color:#f0d38f;margin:0 4px}.price-pill em{font-style:normal;color:#bbb}
.phero .price-pill{margin-top:18px}
.priceband{padding:64px 0;background:radial-gradient(120% 140% at 0% 0%,rgba(201,161,74,.18),transparent 55%),#0e0d10;border-top:1px solid rgba(201,161,74,.18);border-bottom:1px solid rgba(201,161,74,.18)}
.pb-in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.pb-l{max-width:720px}.pb-l h2{margin:.3em 0 .4em}
.pb-r{display:flex;flex-direction:column;gap:12px;min-width:260px}.pb-r .btn{justify-content:center}
@media(max-width:860px){.pb-in{flex-direction:column;align-items:flex-start;gap:24px}.pb-r{width:100%;min-width:0}.priceband{padding:48px 0}}
/* payment reference card */
.paycard .pc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px;color:#cfcfcf;font-size:.88rem}
.paycard .pc-top span{display:flex;align-items:center;gap:6px}.paycard .pc-top i{display:flex;gap:6px}.paycard .pc-top .pay{width:44px;height:28px}
.paycard .pc-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.08);font-size:.86rem;color:#aaa}
.paycard .pc-row b{color:#e8e8e8;font-weight:500;text-align:right}
.paycard .btn[disabled]{width:100%;justify-content:center;margin-top:12px;opacity:.55;cursor:not-allowed;filter:saturate(.6)}
html{overflow-x:clip}
/* mobile menu: blur on a pseudo-element so the fixed menu fills the screen */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr.solid,.nav-open .hdr{backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr.solid::before,.nav-open .hdr::before{opacity:1}
.hero-copy .price-pill{margin-bottom:22px}
.dt-m img{width:100%;height:100%;object-fit:cover;display:block}
/* ===== v2: photo hero, prices, currency, profiles, events, FAQ ===== */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hero.photo{background:#050506;justify-content:flex-end;padding-bottom:0}
.hero-bgs{position:absolute;inset:0}
.hero-bgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.8s ease,transform 9s linear}
.hero-bgs img.on{opacity:1;transform:scale(1)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,7,.88) 0%,rgba(6,6,7,.55) 45%,rgba(6,6,7,.15) 75%),linear-gradient(0deg,#0b0b0c 0%,rgba(11,11,12,0) 38%)}
.hero.photo .hero-copy{position:relative;z-index:2;padding-top:6vh}
.hero.photo h1{font-size:clamp(2.3rem,5.4vw,4.6rem);max-width:15ch}
.hero.photo .sub{color:#d8d2c4;max-width:560px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 28px}
.hero-badges span{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.06em;color:#e9e2d2;padding:8px 14px;border:1px solid rgba(230,194,122,.28);border-radius:999px;background:rgba(10,10,11,.45);backdrop-filter:blur(6px)}
.hero-badges .i{width:16px;height:16px;color:var(--gold)}
.cursel select{background:transparent;color:var(--gold2);border:1px solid var(--line);border-radius:999px;padding:7px 26px 7px 12px;font:500 .74rem var(--body);letter-spacing:.1em;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 13px) 52%,calc(100% - 9px) 52%;background-size:4px 4px;background-repeat:no-repeat;color-scheme:dark}
.cursel option{background:#141416;color:#eee}
/* card price + footer */
.car-media{display:block}
.car h3 a{color:inherit}.car h3 a:hover{color:var(--gold2)}
.car-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line2);flex-wrap:wrap}
.car-foot .car-cta{margin:0}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price small{flex-basis:100%;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.price b{font-family:var(--disp);font-weight:600;font-size:1.3rem;color:var(--gold2);letter-spacing:.02em}
.price span{font-size:.78rem;color:var(--mut)}
.price.ask b{font-size:1rem;color:#ddd}
.price.big b{font-size:2rem}
.price.var{gap:18px}.price.var>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(230,194,122,.05)}
.price.var>div small{flex-basis:100%}.price.var b{font-size:1.6rem}
.sws .dots{display:inline-flex;gap:5px}.sws .dots i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 0 0 1px #2a2a2e}
.illus{position:absolute;left:12px;bottom:12px;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#cfc8b8;background:rgba(0,0,0,.55);padding:4px 8px;border-radius:999px}
.galbtn{pointer-events:none}
.grid-cars.three{grid-template-columns:repeat(3,1fr)}.grid-cars.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.grid-cars.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.grid-cars.three,.grid-cars.four{grid-template-columns:1fr}}
/* vehicle profile */
.vhero{padding:120px 0 40px;background:radial-gradient(900px 500px at 80% 0%,#1d1912,transparent 60%)}
.crumbs{display:flex;gap:10px;font-size:.78rem;letter-spacing:.08em;color:var(--mut);margin-bottom:22px;flex-wrap:wrap}.crumbs a:hover{color:var(--gold2)}.crumbs b{color:#ddd;font-weight:400}
.vgrid{display:grid;grid-template-columns:1.45fr 1fr;gap:40px;align-items:start}
.pgal .pmain{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#141416;cursor:zoom-in;padding:0}
.pgal .pmain img{width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.pgal .pmain img.fade{opacity:0}
.pgal .pmain .soon{cursor:default}
.pgal .badge{position:absolute;left:14px;bottom:14px;display:inline-flex;gap:6px;align-items:center;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#f4ecd8;background:rgba(0,0,0,.6);padding:7px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.pgal .badge .i{width:14px;height:14px}
.pthumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:12px}
.gth{padding:0;border:1px solid var(--line2);border-radius:12px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:#141416;opacity:.6;transition:.3s}
.gth img{width:100%;height:100%;object-fit:cover}.gth.on,.gth:hover{opacity:1;border-color:var(--gold)}
.vside{position:sticky;top:96px;background:linear-gradient(180deg,#17171a,#111113);border:1px solid var(--line2);border-radius:20px;padding:28px}
.vside h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:6px 0 14px}
.vside .price{margin:18px 0}
.vside .specs{margin:6px 0 14px}
.vcta{display:flex;flex-direction:column;gap:10px;margin:20px 0 12px}.vcta .btn{width:100%}
.vinfo{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
.vbox{background:#121214;border:1px solid var(--line2);border-radius:18px;padding:24px}.vbox h3{font-size:1rem;margin:4px 0 10px}.vbox h3+ul{margin-bottom:16px}
.feats.big{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:20px}
.sec.tight{padding-top:30px}
@media(max-width:960px){.vgrid,.vinfo{grid-template-columns:1fr}.vside{position:static}.vhero{padding-top:96px}}
/* events */
.evcall{padding:56px 0;background:linear-gradient(120deg,#1b160d,#0e0e10 60%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evcall-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.btn.big{font-size:1.05rem;padding:20px 34px;letter-spacing:.1em}
/* FAQ */
.faqwrap{display:grid;grid-template-columns:240px 1fr;gap:50px;align-items:start}
.faqnav{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px}
.faqnav a{padding:10px 14px;border-left:1px solid var(--line2);color:var(--mut);font-size:.86rem}.faqnav a:hover{color:var(--gold2);border-color:var(--gold)}
.faqg{margin-bottom:44px;scroll-margin-top:100px}.faqg h2{font-size:1.4rem;margin-bottom:14px}
.qa{border:1px solid var(--line2);border-radius:14px;background:#121214;margin-bottom:10px;overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;position:relative;font-weight:500;color:#eee}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--gold);transition:transform .3s}
.qa[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.qa[open]{border-color:var(--line)}
.qa>div{padding:0 20px 18px;color:#cfc9bb;line-height:1.7}.qa ol{padding-left:20px}.qa li{margin:6px 0}.qa a{color:var(--gold2);text-decoration:underline}
@media(max-width:900px){.faqwrap{grid-template-columns:1fr}.faqnav{position:static;flex-direction:row;flex-wrap:wrap}.faqnav a{border:1px solid var(--line2);border-radius:999px;padding:8px 14px;font-size:.78rem}}
/* reserve dropdown */
.vsel{display:block;margin-bottom:16px}
.vsel select{font-size:1rem;padding:14px}
.vprev{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:center;border:1px solid var(--line2);border-radius:16px;padding:14px;background:#111113}
.vprev-img{border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#1a1a1c;position:relative}
.vprev-img img{width:100%;height:100%;object-fit:cover}.vprev-img .soon{position:absolute;inset:0;aspect-ratio:auto}
.vprev h3{font-size:1.1rem;margin:4px 0 10px}
@media(max-width:600px){.vprev{grid-template-columns:1fr}}
.rest{margin:4px 0 14px}.rest .erow{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-top:1px solid var(--line2)}
.rest .erow b{font-family:var(--disp);color:var(--gold2);font-size:1.25rem}.rest small{color:var(--dim);font-size:.74rem;line-height:1.5;display:block}
.arr-photos.two .b1{position:absolute;left:0;top:0;width:72%;aspect-ratio:4/3;border-radius:16px;object-fit:cover}
.arr-photos.two .b2{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;border-radius:16px;object-fit:cover;border:1px solid var(--line)}
.arr-photos .soon{border-radius:16px;border:1px solid var(--line)}
.staff{opacity:.45;margin-left:10px}.staff:hover{opacity:1}
@media(max-width:600px){.cursel select{padding:6px 22px 6px 10px;font-size:.68rem}.tools{gap:8px}}
/* iconic map pins */
.mp .mps{transition:transform .3s}
.mp .badge{fill:#141317;stroke:var(--pc,var(--gold));stroke-width:1;transition:fill .3s,stroke-width .3s}
.mp .ico{fill:none;stroke:var(--pc,var(--gold));stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .3s}
.mp .lead{fill:none;stroke:var(--pc,var(--gold));stroke-width:.5;opacity:.55}.mp .tip{fill:var(--pc,var(--gold))}
.mp .halo{fill:var(--pc,var(--gold))}
.mp[data-cat=heritage]{--pc:#e6c27a}.mp[data-cat=nature]{--pc:#9fc58a}.mp[data-cat=beach]{--pc:#7cc4d8}.mp[data-cat=hills]{--pc:#c6a6e0}.mp[data-cat=city]{--pc:#e59b7a}
.mp:hover .badge,.mp:focus .badge{stroke-width:1.6}
.mp.on .badge{fill:var(--pc,var(--gold))}.mp.on .ico{stroke:#121214}
.mp text{font-size:7.5px}
/* v3: studio hero, flagship, lifestyle */
.hero.studio{background:radial-gradient(1100px 620px at 72% 52%,#2b2418 0%,transparent 62%),radial-gradient(900px 500px at 10% 0%,#15130f,transparent 70%),#09090a;padding-bottom:0}
.studio-floor{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55)),radial-gradient(60% 50% at 66% 0%,rgba(230,194,122,.10),transparent 70%);border-top:1px solid rgba(230,194,122,.10)}
.hero.studio .hero-car{display:block;position:relative}
.hero.studio .hero-car img{width:118%;margin-left:-8%;filter:drop-shadow(0 34px 26px rgba(0,0,0,.85)) drop-shadow(0 0 70px rgba(230,194,122,.14))}
.hero.studio .hero-car::after{content:"";position:absolute;left:4%;right:6%;bottom:3%;height:9%;background:radial-gradient(closest-side,rgba(0,0,0,.85),transparent);z-index:-1;filter:blur(6px)}
.hero-tag{position:absolute;right:2%;bottom:-2%;text-align:right;font-family:var(--disp);font-size:.95rem;color:#fff;letter-spacing:.06em}
.hero-tag small{display:block;font-family:var(--body);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.hero.studio h1{font-size:clamp(2.2rem,4.6vw,4rem)}
@media(max-width:960px){.hero.studio .hero-car img{width:112%;margin-left:-6%}.hero-tag{bottom:-6%}}
.fl-in{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.fl-photos{position:relative;aspect-ratio:1/1}
.fl-photos img{position:absolute;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 60px -24px rgba(0,0,0,.9)}
.fl-photos .f1{left:0;top:0;width:62%;aspect-ratio:3/4}
.fl-photos .f2{right:0;top:8%;width:42%;aspect-ratio:3/4}
.fl-photos .f3{right:6%;bottom:0;width:58%;aspect-ratio:4/3}
.fl-copy .price{margin:22px 0}
@media(max-width:960px){.fl-in{grid-template-columns:1fr;gap:30px}}
.life-grid{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;grid-template-rows:auto auto;gap:18px}
.life-grid figure{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line2);margin:0;min-height:240px}
.life-grid .lv{grid-row:span 2}
.life-grid img,.life-grid video{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.life-grid figure:nth-child(2){grid-column:span 2}
.life-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));color:#ddd5c4;font-size:.86rem}
.life-grid figcaption b{display:block;font-family:var(--disp);color:#fff;font-size:1.05rem;font-weight:500;margin-bottom:4px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.why>div{display:grid;grid-template-columns:28px 1fr;gap:2px 10px;padding:16px;border:1px solid var(--line2);border-radius:14px;background:#121214}
.why .i{grid-row:span 2;color:var(--gold);width:22px;height:22px;margin-top:2px}.why b{color:#fff;font-weight:500}.why span{color:var(--mut);font-size:.8rem}
@media(max-width:900px){.life-grid{grid-template-columns:1fr 1fr}.life-grid .lv{grid-row:span 1;grid-column:span 2;min-height:420px}.life-grid figure:nth-child(2){grid-column:span 2}.why{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.life-grid{grid-template-columns:1fr}.life-grid figure,.life-grid .lv,.life-grid figure:nth-child(2){grid-column:auto}}
.endnote{text-align:center;padding:18px 0 4px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}.endnote a{color:var(--dim)}.endnote a:hover{color:var(--gold)}
@media(max-width:960px){.endnote{padding-bottom:80px}}
.cc img{object-fit:cover;object-position:center 62%;transform:scale(1.35);top:0}.cc:hover img{transform:scale(1.42)}
/* trip cost calculator */
.tcalc{border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:18px;background:rgba(255,255,255,.02)}
.tcalc .f3{display:grid;grid-template-columns:.7fr 1.6fr 1fr;gap:10px;margin-bottom:12px}.tcalc label span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:5px}
.tcalc input,.tcalc select{width:100%;background:#0f0f12;border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--t,#ece6d8);font:inherit;color-scheme:dark}.tcalc select:disabled{opacity:.6}
.tres{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px}.tres div{background:#0f0f12;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tres small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.tres b{font-family:Cinzel,serif;font-weight:500;font-size:1rem;color:#fff}.tres .hi{border-color:rgba(217,178,95,.5)}.tres .hi b{color:var(--g);font-size:1.15rem}
.tnote{font-size:.78rem;color:var(--mut);margin:10px 0 0}
@media(max-width:640px){.tcalc .f3,.tres{grid-template-columns:1fr}}
