/* nexara-base.css */
/* GENERATED by tools/build.mjs from the <style> block in index.html. Do not edit; edit index.html. */
:root{--red:#ff0000;--red2:#cc0000;--gold:#ff7a2f;--ink:#111111;--mut:#555555;--bg:#ffffff;--line:#ececec;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.65 Poppins,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;margin:0;line-height:1.2}
a{color:inherit;text-decoration:none}
.top{background:var(--red);color:#fff;font-size:.85rem;padding:8px 5vw;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top a:hover{color:var(--gold)}
header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:space-between;padding:6px 5vw}
header img{height:70px;display:block}
nav{display:flex;gap:6px;align-items:center}
nav a{padding:10px 16px;font-weight:500;font-size:.92rem;border-radius:6px;transition:.2s}
nav a:hover{background:#fff0ed;color:var(--red)}
nav a.ph{background:var(--red);color:#fff;margin-left:8px}nav a.ph:hover{background:var(--red2);color:#fff}
@media(max-width:860px){nav a:not(.ph){display:none}header img{height:56px}}
/* hero */
.hero{position:relative;height:min(78vh,640px);min-height:440px;overflow:hidden;color:#fff}
.sl{position:absolute;inset:0;opacity:0;transition:opacity 1s;display:grid;place-items:center;text-align:center;padding:0 8vw}
.sl.on{opacity:1}
.sl svg{position:absolute;inset:auto 0 0 0;width:100%;height:55%;opacity:.35}
.sl>div{position:relative;max-width:820px}
.sl.on h1{animation:up .9s both}.sl.on p,.sl.on .btn{animation:up .9s .25s both}
@keyframes up{from{opacity:0;transform:translateY(26px)}}
.sl small{font:italic 500 1.5rem "Playfair Display",serif;color:#ffc46b}
.sl h1{font-size:clamp(2.3rem,6.5vw,4.8rem);margin:6px 0 12px}
.sl p{font-size:1.05rem;margin:0 auto 22px;max-width:620px}
.s1{background:linear-gradient(135deg,#b20000,#ff4d2e 60%,#ffb26b)}
.s2{background:linear-gradient(135deg,#2f3b52,#7d8ba0 55%,#ffc999)}
.s3{background:linear-gradient(135deg,#7a0000,#ff0000 60%,#ff7a2f)}
.btn{display:inline-block;background:var(--gold);color:#ffffff;font-weight:600;letter-spacing:.08em;font-size:.85rem;text-transform:uppercase;padding:14px 30px;border:0;cursor:pointer;transition:.25s;font-family:inherit}
.btn:hover{background:#fff;transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.btn.red{background:var(--red);color:#fff}.btn.red:hover{background:var(--red2);color:#fff}
.arr{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:54px;height:80px;border:0;background:rgba(255,255,255,.22);color:#fff;font-size:1.8rem;cursor:pointer;transition:.2s}
.arr:hover{background:rgba(255,255,255,.4)}.arr.l{left:4vw}.arr.r{right:4vw}
@media(max-width:700px){.arr{display:none}}
.dots{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:5}
.dots i{width:30px;height:4px;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s}.dots i.on{background:#fff;width:46px}
/* strip */
.strip{background:var(--bg);border-bottom:1px solid var(--line);padding:18px 5vw;display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}
.strip b{font-family:"Playfair Display",serif;font-size:1.15rem}
.clock{display:flex;gap:8px}.clock div{background:#fff;border:1px solid var(--line);padding:4px 12px;text-align:center;min-width:58px}
.clock b{display:block;color:var(--red);font-size:1.25rem;line-height:1.3}.clock span{font-size:.68rem;color:var(--mut)}
section{padding:70px 5vw;max-width:1240px;margin:auto}
.h{margin-bottom:30px}.h h2{font-size:clamp(1.8rem,4vw,2.5rem)}
.h p{color:var(--mut);margin:6px 0 0}.h:after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:14px}
.tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}
.tabs button{border:1px solid var(--line);background:#fff;padding:9px 20px;font:500 .9rem Poppins;cursor:pointer;transition:.2s}
.tabs button.on,.tabs button:hover{background:var(--red);color:#fff;border-color:var(--red)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:24px}
.card{border:1px solid var(--line);background:#fff;cursor:pointer;transition:transform .35s,box-shadow .35s;display:flex;flex-direction:column}
.card:hover,.card:focus-visible{transform:translateY(-8px);box-shadow:0 18px 40px rgba(0,0,0,.13);outline:0}
.ph1{height:190px;position:relative;overflow:hidden;color:#fff}
.ph1 svg{position:absolute;inset:auto 0 0;width:100%;height:70%;transition:transform .6s}
.card:hover .ph1 svg{transform:scale(1.12) translateY(-4px)}
.ph1 em{position:absolute;top:12px;left:12px;background:var(--gold);color:#ffffff;font:600 .72rem Poppins;font-style:normal;padding:3px 12px}
.cb{padding:18px 20px 20px}
.loc{font-size:.8rem;color:var(--mut)}
.cb h3{font-size:1.28rem;margin:6px 0 8px}
.dur{color:#e0561a;font-weight:500;font-size:.9rem}
.pr{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--red)}
.pr span{font-size:.82rem;color:var(--ink);font-weight:500}
.card.hide{display:none}
/* experiences */
.ex{background:var(--bg);max-width:none}
.exi{max-width:1240px;margin:auto}
.eg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.e{background:#fff;padding:24px 20px;border-bottom:3px solid transparent;transition:.3s}
.e:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,.09)}
.e i{font-style:normal;font-size:1.9rem;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff0ed;margin-bottom:12px;transition:transform .4s}
.e:hover i{transform:rotate(-10deg) scale(1.12)}
.e h4{font-size:1.1rem}.e p{margin:4px 0 0;font-size:.88rem;color:var(--mut)}
/* why */
.wg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.w{border-left:3px solid var(--gold);padding:6px 0 6px 18px}.w h4{font-size:1.1rem}.w p{margin:4px 0 0;color:var(--mut);font-size:.9rem}
/* contact */
.ct{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;background:var(--bg);max-width:none}
.cti{display:contents}
@media(max-width:820px){.ct{grid-template-columns:1fr}}
.ct .l{align-self:center;text-align:center}
.ct .l h2{font-size:2rem;margin-bottom:18px}
.ct .l p{margin:10px 0;color:var(--mut)}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .f{grid-column:1/-1}
input,select{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font:400 .95rem Poppins;color:var(--ink);transition:border .2s,box-shadow .2s}
input:focus,select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(255,0,0,.12)}
@media(max-width:560px){form{grid-template-columns:1fr}}
.enq{position:fixed;right:5vw;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60}
.wa{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.3);animation:pl 2.2s infinite}
@keyframes pl{to{box-shadow:0 0 0 20px rgba(37,211,102,0)}}
/* modal */
dialog{border:0;padding:0;width:min(980px,94vw);max-height:90vh;box-shadow:0 30px 80px rgba(0,0,0,.4);color:var(--ink);background:#fff}
dialog::backdrop{background:rgba(12,12,12,.6)}
dialog[open]{animation:pop .4s}@keyframes pop{from{opacity:0;transform:translateY(30px) scale(.97)}}
.mh{padding:26px 30px;color:#fff;position:relative}.mh h2{font-size:1.9rem;padding-right:40px}.mh p{margin:4px 0 0;opacity:.92;font-size:.92rem}
.x{position:absolute;top:14px;right:16px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.mb{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;padding:26px 30px 30px}
@media(max-width:760px){.mb{grid-template-columns:1fr}}
.day{border:1px solid var(--line);margin-bottom:10px;cursor:pointer}
.day h4{font:600 .98rem Poppins;padding:13px 16px;display:flex;justify-content:space-between;gap:10px}
.day h4:after{content:"+";color:var(--red);font-size:1.3rem;line-height:1;transition:transform .3s}
.day.open h4{background:#fff0ed;color:var(--red)}.day.open h4:after{transform:rotate(45deg)}
.day ul{margin:0;padding:0 16px 0 36px;max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;color:var(--mut);font-size:.92rem}
.day.open ul{max-height:320px;padding:12px 16px 14px 36px}
.sd h4{font-size:1.1rem;margin-bottom:8px}.sd ul{list-style:none;padding:0;margin:0 0 18px}
.sd li{padding:6px 0;border-bottom:1px dashed var(--line);font-size:.9rem}

.rv{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

.hero{height:min(78svh,640px)}
.sl .bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:kb 14s ease-out both}
.sl .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.35),rgba(12,12,12,.7))}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.ph1 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .ph1 img{transform:scale(1.1)}.ph1 em{z-index:2}
.grid{grid-template-columns:repeat(auto-fill,minmax(min(285px,100%),1fr))}
.mas{columns:3 260px;column-gap:16px}
.mas figure{margin:0 0 16px;break-inside:avoid;position:relative;overflow:hidden;cursor:zoom-in}
.mas img{width:100%;display:block;transition:transform .6s}.mas figure:hover img{transform:scale(1.07)}
.mas figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:.85rem;transform:translateY(100%);transition:.35s}
.mas figure:hover figcaption{transform:none}@media(hover:none){.mas figcaption{transform:none}}
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),300px));gap:28px;justify-content:center}
.vp{position:relative;aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#000;border:6px solid var(--ink);box-shadow:0 18px 44px rgba(0,0,0,.2)}
.vp video{width:100%;height:100%;object-fit:cover;display:block}
.vp span{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;padding:4px 12px;border-radius:99px}
.vb{position:absolute;right:12px;bottom:10px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);cursor:pointer;font-size:1.1rem}
#lb{width:min(900px,94vw);background:#000;color:#fff;text-align:center;padding:0}#lb img{width:100%;max-height:80vh;object-fit:contain;display:block}#lb p{margin:0;padding:12px}
#lb::backdrop{background:rgba(0,0,0,.8)}
.cl{padding:70px 0 0 5vw}.cf{padding:70px 5vw 70px 0}
@media(max-width:820px){.cl{padding:50px 5vw 0}.cf{padding:0 5vw 56px}section{padding:50px 5vw}}
@media(max-width:560px){.top{justify-content:center;text-align:center}.sl{padding:0 6vw}.enq{padding:12px 20px}.mh{padding:20px}.mb{padding:20px}}
#intro,#fly{position:fixed;inset:0;z-index:999;overflow:hidden;background:linear-gradient(180deg,#ffe9e3,#fff 72%)}
#fly{display:none;pointer-events:none;background:none}
#fly .cur{position:absolute;inset:0;background:linear-gradient(180deg,#ffe9e3,#fff 72%);box-shadow:0 0 40px rgba(0,0,0,.18)}
#intro .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:lg 1s .2s both;padding:0 6vw}
#intro img{width:min(62vw,300px)}#intro p{margin:6px 0 0;color:var(--red);letter-spacing:.14em;font-size:.8rem;text-transform:uppercase}
@keyframes lg{from{opacity:0;transform:scale(.82)}}
.pl{position:fixed;left:0;top:0;width:clamp(96px,14vw,160px);will-change:transform;z-index:2}
.pl svg{width:100%;display:block;filter:drop-shadow(0 8px 8px rgba(0,0,0,.25))}


.grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:26px}
.card{position:relative;aspect-ratio:3/4;min-height:430px;border:0;border-radius:22px;overflow:hidden;color:#fff;background:#222;display:block;box-shadow:0 14px 34px rgba(0,0,0,.18);transition:transform .25s ease-out,box-shadow .4s;will-change:transform}
.card:hover{box-shadow:0 30px 60px rgba(255,0,0,.35);transform:none}
.card .ci{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s}
.card:hover .ci{transform:scale(1.14)}
.card:before{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.28),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover:before{opacity:1}
.card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(10,10,10,.92));transition:background .5s}
.card:hover:after{background:linear-gradient(180deg,rgba(10,10,10,.35),rgba(10,10,10,.95))}
.card em{position:absolute;top:16px;left:16px;z-index:3}
.cinfo{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:22px}
.cinfo .loc{color:#ffc46b;font-size:.8rem}
.cinfo h3{color:#fff;font-size:1.5rem;margin:6px 0 4px}
.more{max-height:0;opacity:0;overflow:hidden;transition:max-height .55s,opacity .45s,margin .4s}
.card:hover .more,.card:focus-within .more{max-height:260px;opacity:1;margin-top:10px}
@media(hover:none){.more{max-height:260px;opacity:1;margin-top:10px}}
.more .dur{color:#ffb655}
.dd{display:flex;gap:7px;margin:12px 0 6px;flex-wrap:wrap}
.dd button{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(255,255,255,.12);color:#fff;font:600 .85rem Poppins;cursor:pointer;transition:.25s}
.dd button:hover,.dd button.on{background:var(--gold);color:#ffffff;border-color:var(--gold);transform:translateY(-3px)}
.cap{font-size:.85rem;min-height:2.6em;color:#f3e6e9}
.card .pr{border-color:rgba(255,255,255,.25);color:#fff}.card .pr span{color:#ffb655}
.cp{position:absolute;top:44%;left:0;width:84px;z-index:3;opacity:0;pointer-events:none}
.card:hover .cp{animation:cf 2s ease-in-out infinite}
@keyframes cf{0%{transform:translateX(-120px) rotate(-6deg);opacity:0}15%{opacity:.95}85%{opacity:.95}100%{transform:translateX(420px) translateY(-40px) rotate(-6deg);opacity:0}}
.pl2 svg{width:100%;display:block}
.pl.fb{width:clamp(90px,12vw,150px);z-index:40;pointer-events:none}
#fly .pl{width:clamp(150px,30vw,340px)}

#fly .cur{background:radial-gradient(circle at 15% 25%,#fff 0 70px,transparent 72px),radial-gradient(circle at 60% 70%,#fff 0 90px,transparent 92px),radial-gradient(circle at 85% 20%,#fff 0 60px,transparent 62px),linear-gradient(180deg,#ffd9cb,#fff6f3 75%)}

.pl:before,.pl:after{content:"";position:absolute;right:35%;border-radius:9px;background:linear-gradient(270deg,rgba(255,255,255,.95),rgba(255,255,255,0));filter:blur(3px);z-index:-1;box-shadow:0 0 14px rgba(110,160,210,.55)}
.pl:before{top:74%;width:min(75vw,700px);height:9px}.pl:after{top:82%;width:min(62vw,580px);height:6px;opacity:.8}
#fly .pl{width:clamp(240px,42vw,520px)}#intro .pl{width:clamp(220px,36vw,440px)}.pl.fb{width:clamp(140px,18vw,240px)}
.pl svg{filter:drop-shadow(0 14px 12px rgba(20,40,70,.35))}
.st{animation:bl 1.3s infinite}.st2{animation:bl 1.3s .5s infinite}
@keyframes bl{0%,60%{opacity:.15}70%{opacity:1}100%{opacity:.15}}
.cp{width:130px}

#intro img{width:min(34vw,150px)}
#intro p{font-size:.7rem;letter-spacing:.2em;color:#111111;opacity:.75}
#intro .in:after{content:"";display:block;width:110px;height:2px;margin-top:18px;background:linear-gradient(90deg,var(--gold),var(--red));transform-origin:left;animation:bar 2.4s .3s both}
@keyframes bar{from{transform:scaleX(0)}}
#intro .pl{width:clamp(150px,22vw,260px)}
#intro,#fly .cur{background:linear-gradient(180deg,#ffece5,#fff 72%)}
.top{background:linear-gradient(90deg,#b20000,#ff0000)}
.card:hover{box-shadow:0 30px 60px rgba(255,0,0,.35)}

.view{display:none}.view.on{display:block;animation:vin .6s}@keyframes vin{from{opacity:0}}
.wrap{max-width:1180px;margin:auto;padding:50px 5vw}
.pgh{position:relative;padding:74px 5vw;color:#fff;text-align:center;background:#b20000 center/cover}
.pgh:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.55),rgba(17,17,17,.78))}
.pgh>*{position:relative}.pgh h1{font-size:clamp(2rem,5vw,3.4rem)}.pgh p{margin:10px auto 0;max-width:640px;opacity:.92}
.crumb{font-size:.85rem;margin-bottom:12px;opacity:.9}.crumb a:hover{color:var(--gold)}
nav a.cur{color:var(--red);box-shadow:inset 0 -3px 0 var(--gold)}
.burger{display:none;border:0;background:none;font-size:1.8rem;cursor:pointer;color:var(--ink)}
@media(max-width:860px){.burger{display:block}nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:8px 5vw 16px;box-shadow:0 14px 24px rgba(0,0,0,.12);display:none}nav.open{display:flex}nav a:not(.ph){display:block!important}nav a.ph{margin:8px 0 0;text-align:center}}
.btn.mini{padding:9px 18px;font-size:.76rem;margin-top:12px}.btn.ghost2{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost2:hover{background:var(--bg)}
.cta{background:linear-gradient(135deg,#b20000,#ff0000 60%,#ff4d2e);color:#fff;text-align:center;padding:60px 5vw}.cta h2{font-size:clamp(1.7rem,4vw,2.5rem);margin-bottom:10px}.cta p{margin:0 auto 22px;max-width:560px;opacity:.92}
.oth{margin:40px 0 18px;font-size:1.6rem}
.pk-side .btn{display:block;text-align:center;margin-top:10px}
.ci2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px;margin-bottom:30px}
.ci2 div{border:1px solid var(--line);padding:22px;text-align:center;transition:.3s}.ci2 div:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(255,0,0,.18);border-color:var(--red)}
.ci2 b{display:block;font-size:1.8rem}
#enq{width:min(520px,94vw);border-radius:22px;overflow:hidden}
.eh{background:linear-gradient(135deg,#b20000,#ff4d2e);color:#fff;padding:24px 28px 20px}.eh b{font:500 1.5rem "Playfair Display",serif;display:block}.eh span{font-size:.88rem;opacity:.92}
.steps{display:flex;gap:6px;margin-top:14px}.steps i{flex:1;height:4px;background:rgba(255,255,255,.35);border-radius:4px;transition:.4s}.steps i.on{background:var(--gold)}
.eb{padding:24px 28px 26px;display:grid;gap:14px}.eb label{font-size:.82rem;color:var(--mut);display:block;margin-bottom:4px}
.sp{display:none}.sp.on{display:grid;gap:14px;animation:vin .4s}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font:500 .83rem Poppins;cursor:pointer;transition:.2s;text-align:left}
.chips button:hover{border-color:var(--red)}.chips button.on{background:var(--red);color:#fff;border-color:var(--red)}
.stp{display:flex;align-items:center;gap:14px}.stp button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--red);background:#fff;color:var(--red);font-size:1.3rem;cursor:pointer}.stp button:hover{background:var(--red);color:#fff}.stp b{min-width:30px;text-align:center;font-size:1.2rem}
.sum{background:var(--bg);border:1px dashed var(--red);padding:14px 16px;font-size:.92rem;line-height:1.8}
.ea{display:flex;gap:10px;justify-content:space-between}.ea .btn{padding:12px 24px}
.er{color:#c0392b;font-size:.85rem;min-height:1.2em}
.done{text-align:center;padding:10px 0}.done h3{font-size:1.5rem;margin:8px 0}
.rl{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(20px,4vw,52px);align-items:center;justify-content:center;max-width:980px;margin:auto}
.rside{text-align:left;min-width:0}
@media(max-width:700px){.rl{grid-template-columns:42% 1fr;gap:16px}.rp{border-width:4px;border-radius:20px}.rov button{width:46px;height:46px;font-size:1rem}.rside h3{font-size:1.15rem}.rside p{font-size:.8rem;line-height:1.5}.rside .btn{padding:9px 14px;font-size:.68rem;margin-bottom:6px}.rside .chips button{padding:6px 10px;font-size:.72rem}.tg span{font-size:.68rem;padding:3px 9px}}
.rp{position:relative;aspect-ratio:9/16;width:100%;max-width:320px;border-radius:30px;overflow:hidden;background:#000;border:7px solid var(--ink);box-shadow:0 22px 50px rgba(255,0,0,.3);cursor:pointer}
.rp video{width:100%;height:100%;object-fit:cover;display:block}
.rov{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.rov button{width:68px;height:68px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.4rem;color:var(--red);transition:.3s;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:pl 2s infinite}
.rp.play .rov button{opacity:0;transform:scale(.5);animation:none}
.rbar{position:absolute;left:14px;right:14px;bottom:12px;height:6px;background:rgba(255,255,255,.35);border-radius:6px}.rbar div{height:100%;width:0;background:var(--gold);border-radius:6px}
.rside h3{font-size:clamp(1.5rem,3vw,2.1rem);margin:6px 0 8px}.rside .chips{margin-bottom:12px}
.tg{margin:10px 0 18px}.tg span{display:inline-block;background:#fff0ed;color:var(--red);padding:4px 13px;border-radius:99px;font-size:.8rem;margin:0 6px 6px 0}

/* ===== premium interaction layer ===== */
:root{--ease:cubic-bezier(.2,.8,.2,1);--glass:rgba(255,255,255,.8);--grad:linear-gradient(135deg,#ff0000,#ff4d2e)}
::selection{background:var(--gold);color:#ffffff}
#prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:linear-gradient(90deg,var(--gold),#ff4d2e);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
/* header */
header{transition:padding .35s var(--ease),background .35s,box-shadow .35s}
header img{transition:height .35s var(--ease)}
header.sc{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);box-shadow:0 8px 30px rgba(17,17,17,.1);padding:2px 5vw}
header.sc img{height:54px}
nav a:not(.ph){position:relative}
nav a:not(.ph):after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
nav a:not(.ph):hover:after,nav a.cur:after{transform:scaleX(1);transform-origin:left}
nav a:hover{background:transparent}nav a.cur{box-shadow:none}
nav a.ph{border-radius:99px;padding:10px 22px;background:var(--grad);box-shadow:0 8px 20px rgba(255,0,0,.3);transition:transform .35s var(--ease),box-shadow .35s,translate .25s ease-out}
nav a.ph:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(255,0,0,.4)}
.burger{transition:transform .3s}.burger:active{transform:scale(.85)}
/* buttons */
.btn{border-radius:99px;overflow:hidden;isolation:isolate;box-shadow:0 8px 20px rgba(255,122,47,.28);transition:transform .35s var(--ease),box-shadow .35s,background .3s,color .3s,translate .25s ease-out}
.btn:not(.enq){position:relative}
.btn:before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);z-index:-1;pointer-events:none}
.btn:hover:before{left:140%;transition:left .85s var(--ease)}
.btn:active{transform:scale(.96)}
.btn.red{background:var(--grad);box-shadow:0 10px 24px rgba(255,0,0,.3)}.btn.red:hover{background:linear-gradient(135deg,#cc0000,#ff0000);box-shadow:0 16px 32px rgba(255,0,0,.4)}
.btn.ghost2{box-shadow:none}.btn.ghost2:hover{box-shadow:0 10px 24px rgba(17,17,17,.12)}
.btn.glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none;margin-left:10px}
.btn.glass:hover{background:#fff;color:var(--ink)}
.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:rip .7s ease-out forwards;pointer-events:none;z-index:-1}
@keyframes rip{to{transform:scale(2.6);opacity:0}}
.enq{box-shadow:0 14px 32px rgba(255,0,0,.45);display:flex;align-items:center;gap:10px}
.enq:before{display:none}
.enq i{width:9px;height:9px;border-radius:50%;background:var(--gold);animation:lv 1.6s infinite}
/* custom cursor */
/* hero */
.sl.on h1{animation:none}
.sl h1 .hw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.sl h1 .hw>span{display:inline-block}
.sl.on h1 .hw>span{animation:wup 1s var(--ease) both;animation-delay:calc(var(--i)*90ms + .15s)}
@keyframes wup{from{transform:translateY(110%)}}
.sl small{display:inline-block;padding:3px 18px;border:1px solid rgba(255,196,107,.5);border-radius:99px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:1.15rem}
.sl .bg{inset:-24px;translate:var(--px,0) var(--py,0);transition:translate .8s ease-out}
.arr{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.35s var(--ease)}
.arr:hover{background:#fff;color:var(--ink);transform:translateY(-50%) scale(1.1)}
.dots{bottom:84px}
.dots i{position:relative;overflow:hidden;border-radius:4px}
.dots i.on{background:rgba(255,255,255,.35)}
.dots i.on:after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;animation:dp 6s linear both}
@keyframes dp{from{transform:scaleX(0)}}
/* quick planner */
.qp{position:relative;z-index:6;width:calc(100% - 10vw);max-width:1040px;margin:-56px auto 0;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(17,17,17,.18);padding:12px;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:6px}
.qp .q{position:relative;padding:8px 16px;border-radius:14px;transition:background .25s}
.qp .q:hover,.qp .q:focus-within{background:var(--bg)}
.qp .q+.q:before{content:"";position:absolute;left:-3px;top:20%;bottom:20%;width:1px;background:var(--line)}
.qp label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:600}
.qp select,.qp input{border:0;padding:4px 0;background:transparent;font-weight:500;box-shadow:none!important;cursor:pointer}
.qp .btn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;padding:14px 28px}
.mst{display:flex;align-items:center;gap:12px;padding:3px 0}
.mst button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--red);font-size:1.05rem;cursor:pointer;transition:.25s}
.mst button:hover{background:var(--red);border-color:var(--red);color:#fff}
.mst b{min-width:22px;text-align:center}
@media(max-width:820px){.qp{grid-template-columns:1fr 1fr;margin-top:-44px}.qp .q:first-child{grid-column:1/-1}.qp .btn{grid-column:1/-1;padding:16px}.qp .q+.q:before{display:none}.dots{bottom:64px}}
/* strip + countdown */
.strip{background:#fff;border:0;padding:30px 5vw 10px}
.live{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e74c3c;margin-right:10px;animation:lv 1.6s infinite;vertical-align:middle}
@keyframes lv{0%{box-shadow:0 0 0 0 rgba(231,76,60,.55)}100%{box-shadow:0 0 0 12px rgba(231,76,60,0)}}
.clock div{border-radius:12px;border:0;background:var(--ink);color:#fff;padding:6px 12px;min-width:62px;box-shadow:0 8px 18px rgba(17,17,17,.2);perspective:200px}
.clock b{color:var(--gold)}.clock span{color:#e8dcda}
.clock b.flp{animation:flip .5s var(--ease)}
@keyframes flip{from{transform:rotateX(90deg);opacity:0}}
/* headings */
.h:after{display:none}
.eye{display:inline-flex;align-items:center;gap:10px;font:600 .74rem Poppins;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.eye:before{content:"";width:28px;height:2px;background:var(--gold)}
.h.c{text-align:center}.h.c .eye{justify-content:center}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1240px;margin:auto;padding:30px 5vw 0}
.stat{text-align:center;padding:26px 14px;border-radius:20px;background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--line);transition:.45s var(--ease)}
.stat:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(255,0,0,.15);border-color:transparent}
.stat b{display:block;font:700 clamp(2rem,4vw,2.8rem) "Playfair Display",serif;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.2}
.stat span{font-size:.85rem;color:var(--mut)}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr;gap:12px}}
/* tabs with sliding pill */
.tabs{position:relative;display:inline-flex;flex-wrap:nowrap;max-width:100%;gap:4px;padding:6px;border-radius:99px;background:var(--bg);border:1px solid var(--line)}
.tabs button{position:relative;z-index:1;border:0;background:transparent;border-radius:99px;padding:10px 22px;color:var(--ink);transition:color .3s;white-space:nowrap}
.tabs button:hover{background:transparent;color:var(--red)}
.tabs button.on,.tabs button.on:hover{background:transparent;color:#fff}
.tabs .ind{position:absolute;top:6px;bottom:6px;left:0;width:0;border-radius:99px;background:var(--grad);box-shadow:0 6px 16px rgba(255,0,0,.3);transition:transform .5s var(--ease),width .5s var(--ease)}
@media(max-width:520px){.tabs button{padding:9px 13px;font-size:.8rem}}
/* trip finder */
.tf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,50px);align-items:center}
@media(max-width:820px){.tf{grid-template-columns:1fr}}
.tfq h3{font:600 1rem Poppins;margin:22px 0 12px}.tfq h3 em{font-style:normal;color:var(--red);margin-right:6px}
.opt{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.opt button{position:relative;overflow:hidden;isolation:isolate;border:1.5px solid var(--line);background:#fff;border-radius:18px;padding:18px 16px;font:600 .95rem Poppins;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--ink);transition:.35s var(--ease)}
.opt button i{font-style:normal;font-size:1.7rem;transition:transform .4s var(--ease)}
.opt button small{color:var(--mut);font-weight:400;font-size:.76rem}
.opt button:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:0 14px 28px rgba(255,0,0,.14)}
.opt button:hover i{transform:scale(1.2) rotate(-8deg)}
.opt button.on{border-color:var(--red);background:linear-gradient(135deg,#fff3f0,#fff);box-shadow:0 0 0 4px rgba(255,0,0,.13)}
.opt button.on:after{content:"✓";position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;font-size:.72rem;display:grid;place-items:center;animation:pop .35s}
.opt .rip{background:rgba(255,0,0,.18)}
.tfr{position:relative;border-radius:26px;overflow:hidden;min-height:440px;color:#fff;background:var(--ink);box-shadow:0 30px 60px rgba(255,0,0,.28)}
.tfr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .45s}
.tfr:hover img{transform:scale(1.06)}
.tfr:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.1) 20%,rgba(17,17,17,.92))}
.tfi{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px;transition:opacity .4s,transform .45s var(--ease)}
.tfr.swap img{opacity:0;transform:scale(1.1)}.tfr.swap .tfi{opacity:0;transform:translateY(16px)}
.tfb{position:absolute;z-index:3;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.18)}
.tfb i{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;animation:tfbar 5s linear both}
.tfr:hover .tfb i,.tfr:focus-within .tfb i,.tfr.swap .tfb i,.tfr.idle .tfb i{animation-play-state:paused}
@keyframes tfbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tfn{position:absolute;z-index:3;top:18px;right:18px;display:flex;align-items:center;gap:8px}
.tfn>button{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer;transition:.3s}
.tfn>button:hover{background:var(--red);color:#fff}
.tfd{display:flex;gap:6px}
.tfd button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .35s,background .35s}
.tfd button.on{width:22px;background:#fff}
.match{display:inline-block;background:var(--gold);color:#ffffff;font:600 .7rem Poppins;padding:4px 12px;border-radius:99px;letter-spacing:.1em;text-transform:uppercase}
.tfi h3{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:10px 0 4px}.tfi p{margin:0 0 4px;opacity:.88;font-size:.9rem}
.tfi .tp{font:600 1.25rem Poppins;color:var(--gold);margin:8px 0 14px}
/* marquee */
.mq{display:flex;overflow:hidden;background:var(--ink);color:#fff;padding:18px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq div{display:flex;flex-shrink:0;gap:28px;padding-right:28px;animation:mq 45s linear infinite;will-change:transform}
.mq span{font:500 1.15rem "Playfair Display",serif;white-space:nowrap;display:flex;align-items:center;gap:28px}
.mq span:after{content:"•";color:var(--gold);font-size:.85rem}
.mq:hover div{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}
.nx-off,.nx-off *{animation-play-state:paused!important}
/* photos with srcset and sizes="auto" (tools/lib/img.mjs) keep the layout size of their own photo, not the browser's 300x150 placeholder */
:where(img[sizes^="auto"]){aspect-ratio:var(--ar,auto);contain-intrinsic-size:var(--cis,300px 150px)}
/* why cards */
.wg{counter-reset:w}
.w{counter-increment:w;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:28px 24px;background:#fff;transition:.45s var(--ease)}
.w:before{content:"0" counter(w);display:block;font:700 3.2rem/1 "Playfair Display",serif;color:transparent;-webkit-text-stroke:1.5px var(--gold);margin-bottom:14px;transition:color .4s}
.w:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),var(--red));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.w:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(255,0,0,.15);border-color:transparent}
.w:hover:before{color:var(--gold)}.w:hover:after{transform:scaleX(1)}
/* experiences + gallery + contact cards */
.e{border-radius:20px;border:1px solid var(--line);border-bottom-width:3px}
.e:hover i{background:var(--grad)}
.mas figure{border-radius:18px}
dialog{border-radius:22px}
#lb{overflow:hidden}
.lbn{position:absolute;top:45%;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:1.6rem;cursor:pointer;transition:.3s var(--ease)}
.lbn:hover{background:var(--gold);transform:scale(1.1)}.lbn.p{left:14px}.lbn.n{right:14px}
.ci2 div{border-radius:20px;background:#fff;position:relative;overflow:hidden}
.ci2 b{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:#fff0ed;display:grid;place-items:center;transition:transform .5s var(--ease),background .3s}
.ci2 div:hover b{transform:rotate(-12deg) scale(1.1);background:var(--gold)}
/* faq */
.faq{max-width:860px;margin:auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 56px 22px 0;font:600 1.04rem Poppins;position:relative;transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--bg);color:var(--red);display:grid;place-items:center;font-size:1.3rem;font-weight:400;transition:transform .4s var(--ease),background .3s,color .3s}
.faq summary:hover{color:var(--red)}
.faq details[open] summary{color:var(--red)}.faq details[open] summary:after{transform:rotate(135deg);background:var(--red);color:#fff}
.faq .a{overflow:hidden;color:var(--mut);padding:0 56px 22px 0}
/* cta */
.cta{position:relative;overflow:hidden}
.cta:before,.cta:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.25;animation:fl 9s ease-in-out infinite alternate}
.cta:before{width:320px;height:320px;left:-80px;top:-120px;background:radial-gradient(circle,var(--gold),transparent 70%)}
.cta:after{width:380px;height:380px;right:-100px;bottom:-160px;background:radial-gradient(circle,#ffc999,transparent 70%);animation-delay:-4s}
@keyframes fl{to{transform:translate(40px,30px) scale(1.15)}}
.cta>*{position:relative;z-index:1}
/* forms */
input,select,textarea{border-radius:12px}
textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font:400 .95rem Poppins;color:var(--ink);resize:vertical;min-height:110px;transition:border .2s,box-shadow .2s}
textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(255,0,0,.12)}
input:focus,select:focus{box-shadow:0 0 0 4px rgba(255,0,0,.12)}
.fl{position:relative}
.fl input,.fl select,.fl textarea{padding:24px 44px 8px 16px}
.fl label{position:absolute!important;left:17px;top:16px;margin:0!important;font-size:.95rem!important;color:var(--mut)!important;pointer-events:none;transform-origin:left top;transition:transform .3s var(--ease),color .3s}
.fl input:focus+label,.fl input:not(:placeholder-shown)+label,.fl textarea:focus+label,.fl textarea:not(:placeholder-shown)+label,.fl select+label{transform:translateY(-10px) scale(.74);color:var(--red)!important}
.fl .ok{position:absolute;right:14px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:#1c9a63;color:#fff;font-size:.72rem;display:grid;place-items:center;transform:scale(0);transition:transform .4s var(--ease)}
.fl.valid .ok{transform:scale(1)}
.fl.valid input{border-color:#1c9a63}
.fl.bad input{border-color:#e74c3c;box-shadow:0 0 0 4px rgba(231,76,60,.12)}
.shake{animation:shk .45s}
@keyframes shk{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.cf{position:fixed;top:45%;left:50%;width:8px;height:13px;border-radius:2px;pointer-events:none;z-index:10000}
#toast{position:fixed;left:50%;bottom:30px;z-index:1000;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 24px;border-radius:99px;font-size:.9rem;box-shadow:0 14px 34px rgba(0,0,0,.25);transition:.45s var(--ease);pointer-events:none;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}
/* enquiry dialog */
.steps i{position:relative;margin-bottom:20px}
.steps s{position:absolute;top:10px;left:0;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;opacity:.6;transition:opacity .3s}
.steps i.on s{opacity:1}
.sp.on{animation:sin .45s var(--ease)}@keyframes sin{from{opacity:0;transform:translateX(26px)}}
.chips button{transition:.25s var(--ease)}.chips button:hover{transform:translateY(-2px)}
.stp button{transition:.25s}.stp b{transition:transform .25s}
.eb.sent>*:not(.done){display:none}
.done div{animation:pop .5s}
/* enquiry dialog: professional refresh */
#enq{width:min(540px,94vw);border-radius:18px;box-shadow:0 40px 100px rgba(12,12,12,.45)}
#enq::backdrop{background:rgba(15,15,15,.62);backdrop-filter:blur(4px)}
.eh{position:relative;background:linear-gradient(135deg,#1a1a1a,#cc0000 70%,#ff0000);padding:26px 30px 24px}
.eh small{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:600}
.eh b{font:600 1.55rem/1.2 "Playfair Display",serif;margin-bottom:6px}
.eh span{display:block;font-size:.86rem;opacity:.82;max-width:40ch;line-height:1.5}
#enq .x{top:18px;right:18px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background .2s}
#enq .x:hover{background:rgba(255,255,255,.22)}#enq .x:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#enq .steps{display:flex;gap:0;margin:0;padding:18px 30px;border-bottom:1px solid var(--line);background:#fbfbfb;counter-reset:st}
#enq .steps i{flex:1;height:auto;margin:0;background:none;border-radius:0;display:flex;align-items:center;gap:10px;font-style:normal;position:relative}
#enq .steps i:not(:last-child):after{content:"";flex:1;height:2px;background:var(--line);margin-right:10px;border-radius:2px;transition:background .4s}
#enq .steps i:before{content:attr(data-step);flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:600;border:1.5px solid var(--line);color:var(--mut);background:#fff;transition:.3s}
#enq .steps i.on:before{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 4px rgba(255,0,0,.12)}
#enq .steps i.on:has(+i.on):before{content:"✓";box-shadow:none}
#enq .steps i.on:has(+i.on):after{background:var(--red)}
#enq .steps s{position:static;font-size:.78rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--mut);opacity:1;white-space:nowrap}
#enq .steps i.on s{color:var(--ink)}
.eb{padding:24px 30px 20px;gap:12px}
.eb .sp>div>label:not(.fl label){font-size:.78rem;font-weight:600;color:var(--ink);letter-spacing:.02em;margin-bottom:8px}
#enq input{border-radius:10px;border-color:#e6e1e0}#enq input:hover{border-color:#d0c9c7}
.fl.tel input{padding-left:62px}.fl.tel label{left:63px}
.fl .cc{position:absolute;left:1px;top:1px;bottom:1px;width:50px;display:grid;place-items:center;font-style:normal;font-size:.9rem;font-weight:500;color:var(--ink);border-right:1px solid #e6e1e0;background:#fafafa;border-radius:10px 0 0 10px;pointer-events:none}
#enq .chips button{border-radius:10px;border-width:1px}
#enq .stp button{border-radius:10px;border-width:1px}
#enq .sum{border:1px solid var(--line);border-left:3px solid var(--red);border-radius:10px;background:#fbfbfb}
.er:empty{min-height:0}
.ea{align-items:center;padding-top:6px}
#enq .ea .btn{border-radius:10px;padding:13px 26px;letter-spacing:.06em;font-size:.8rem}
#nx:after{content:"→";margin-left:10px;display:inline-block;transition:transform .25s}#nx:hover:after{transform:translateX(4px)}
.enote{display:flex;align-items:center;justify-content:center;gap:7px;margin:4px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.75rem;color:var(--mut)}
.eb.sent .enote{display:none}
@media(max-width:480px){.eh{padding:22px 20px 20px}.eh b{font-size:1.3rem}#enq .steps{padding:14px 20px}#enq .steps s{display:none}#enq .steps i.on s{display:inline}.eb{padding:20px}}
/* the enquiry fits any screen height: header, steps and the Back / Next buttons stay in view and only the fields scroll
   (the trip step is taller than a laptop screen, and overflow:hidden used to clip its Next button) */
#enq[open]{display:flex;flex-direction:column;max-height:92vh;max-height:92dvh}
#enq .eh,#enq .steps{flex:none}
#enq .eb{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#enq .eb>*{flex:none}
#enq .eb>.sp.on{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;margin:-6px -8px 0;padding:6px 8px 8px}
#enq .eb.sent{overflow-y:auto}
#enq .ea{padding-top:14px;border-top:1px solid var(--line)}
#enq #nx{flex:1;text-align:center;min-height:50px;font-size:.86rem;box-shadow:0 10px 24px rgba(204,0,0,.28)}
#enq #bk{flex:none}
#enq #bk[style*="hidden"]{display:none}
/* Seven Wonders slide: a row of linked thumbnails in place of the feature icons */






@media(max-width:760px){}
/* photo cards: experiences + why */
.eg{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:22px}
.e{padding:0;overflow:hidden;display:flex;flex-direction:column;cursor:zoom-in;border-bottom-width:1px}
.e figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#f5eeec}
.e figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.e:hover figure img,.e:focus-visible figure img{transform:scale(1.06)}
.e:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.et{padding:18px 20px 22px}.e h4{font-size:1.15rem}
.wg{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.w{display:flex;flex-direction:column;padding:0 0 24px}
.w figure{order:-1;margin:0 0 20px;aspect-ratio:16/10;overflow:hidden}
.w figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.w:hover figure img{transform:scale(1.06)}
.w:before{position:absolute;z-index:1;top:14px;left:14px;margin:0;padding:6px 12px;border-radius:99px;font:600 .8rem/1 Poppins;letter-spacing:.08em;-webkit-text-stroke:0;color:#fff;background:rgba(17,17,17,.55);backdrop-filter:blur(6px);transition:background .3s}
.w:hover:before{color:#ffffff;background:var(--gold)}
.w h4,.w p{margin-left:24px;margin-right:24px}
.vb{display:grid;place-items:center;color:var(--ink)}.vb svg{pointer-events:none}
.burger svg{display:block}
.top svg{vertical-align:-2px;margin-right:4px}
.ci2 b{color:var(--red)}.ci2 div:hover b{color:#fff}
.soc a svg{display:block}
.loc svg,.tfi p svg{width:14px;height:14px;vertical-align:-2px;margin-right:2px}
.opt button i{color:var(--red);line-height:0}
.dok{color:#1c9a63;display:grid;place-items:center}.dok svg{width:56px;height:56px}
.credits{margin:14px 0 0;font-size:.7rem;line-height:1.6;opacity:.6;text-align:center}.credits a{color:inherit;text-decoration:underline}
/* destinations */
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:24px;margin-top:26px}
.dc{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 30px rgba(17,17,17,.07);cursor:pointer;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s}
.dc:hover,.dc:focus-visible{transform:translateY(-8px);box-shadow:0 24px 50px rgba(255,0,0,.2);outline:0}
.dc.hide{display:none}
.dm{position:relative;height:190px;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--g,#b20000,#ff4d2e))}
.dm img,.dm svg,.dh img,.dh svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dm img,.dm svg{transition:transform .9s var(--ease)}.dc:hover .dm img,.dc:hover .dm svg{transform:scale(1.08)}
.dm:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(17,17,17,.55))}
.dn{position:absolute;top:12px;left:16px;z-index:2;font:700 1.6rem "Playfair Display",serif;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.dr{position:absolute;bottom:12px;left:16px;z-index:2;font-size:.78rem;letter-spacing:.05em}
.db{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.dcat{display:flex;flex-wrap:wrap;gap:6px}.dcat span{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:#fff0ed;padding:3px 10px;border-radius:99px}
.db h3{font-size:1.45rem;margin:10px 0 6px}
.db p{margin:0;color:var(--mut);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dbest{margin:12px 0 14px;font-size:.82rem}.dbest b{color:#e0561a;font-weight:600;margin-right:4px}
.dgo{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-weight:600;font-size:.85rem;color:var(--red);display:flex;align-items:center;gap:6px}
.dgo i{font-style:normal;transition:transform .3s var(--ease)}.dc:hover .dgo i{transform:translateX(6px)}
.more-pl{margin-top:56px;padding:34px;border-radius:24px;background:#ffffff;border:1px solid var(--line)}
.more-pl h3{font-size:1.6rem}.more-pl>p{color:var(--mut);margin:6px 0 20px}
.mp{display:grid;gap:14px;margin:0 -34px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mpr{display:flex;overflow:hidden;padding:8px 0}
.mpt{display:flex;gap:14px;padding-right:14px;flex-shrink:0;animation:mpScroll 42s linear infinite}
.mpr.rev .mpt{animation-direction:reverse;animation-duration:48s}
.mpr:hover .mpt,.mpr:focus-within .mpt{animation-play-state:paused}
@keyframes mpScroll{to{transform:translateX(-100%)}}
.mpi{position:relative;display:flex;align-items:center;gap:12px;flex-shrink:0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 46px 8px 8px;cursor:pointer;font-family:inherit;color:var(--ink);white-space:nowrap;transition:.35s var(--ease);overflow:hidden}
.mpi:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,122,47,.22) 50%,transparent 70%);transform:translateX(-100%);transition:transform .7s var(--ease)}
.mpi:hover{border-color:var(--gold);transform:translateY(-4px) scale(1.03);box-shadow:0 14px 28px rgba(255,122,47,.3)}
.mpi:hover:before{transform:translateX(100%)}
.mpi i{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--red),#ff7a2f);color:#fff;transition:transform .5s var(--ease)}
.mpi:hover i{transform:rotate(-12deg) scale(1.08)}
.mpi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mpi b{display:block;font:600 1.02rem "Playfair Display",serif}.mpi span{font-size:.76rem;color:var(--mut)}.mpi em{font-style:normal;font-size:.74rem;color:#e0561a}
.mpi:after{content:"+";position:absolute;top:50%;right:14px;display:grid;place-items:center;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:#fff1ec;color:var(--red);font-size:1.1rem;line-height:1;transition:.35s var(--ease)}.mpi:hover:after{transform:rotate(90deg);background:var(--red);color:#fff}
@media(prefers-reduced-motion:reduce){.mpr{overflow-x:auto}.mpt{animation:none}.mpt[aria-hidden]{display:none}.mp{-webkit-mask:none;mask:none}}
@media(max-width:560px){.more-pl{padding:22px}.mp{margin:0 -22px}}
#dst{width:min(860px,94vw)}
.dh{position:relative;height:260px;color:#fff;overflow:hidden;background:linear-gradient(135deg,var(--g,#b20000,#ff4d2e))}
.dh:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.1),rgba(17,17,17,.82))}
.dh .x{z-index:3;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.dht{position:absolute;left:30px;right:30px;bottom:22px;z-index:2}.dht small{color:#ffc46b;letter-spacing:.06em;font-size:.82rem}
.dht h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:4px 0 10px}.dht .dcat span{background:rgba(255,255,255,.18);color:#fff}
.dbd{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:26px 30px}
.dbd h4{font-size:1.1rem;margin:0 0 10px}.dbd>div>p{margin:0 0 20px;color:var(--mut)}
.dat{list-style:none;padding:0;margin:0}.dat li{position:relative;padding:9px 0 9px 22px;border-bottom:1px dashed var(--line);font-size:.92rem}
.dat li:before{content:"";position:absolute;left:4px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.dbd .btn{display:block;text-align:center;margin:10px 0 0;width:100%}
.dnv{display:flex;justify-content:space-between;gap:10px;padding:14px 30px 22px;border-top:1px solid var(--line)}
.dnv button{background:none;border:0;font:500 .88rem Poppins;color:var(--red);cursor:pointer;padding:6px 0}.dnv button:hover{color:#e0561a}
@media(max-width:700px){.dbd{grid-template-columns:1fr;padding:20px}.dh{height:210px}.dht{left:20px;right:20px}.dnv{padding:12px 20px 18px}}
/* thailand at a glance */
.glance{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#1f1f1f,#b20000 60%,#ff0000)}
.glance:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,122,47,.24),transparent 40%),radial-gradient(circle at 10% 90%,rgba(255,77,46,.35),transparent 45%)}
.glance section{position:relative}.glance .eye{color:var(--gold)}.glance .h p{color:rgba(255,255,255,.8)}
.gl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:18px}
.gl div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:22px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:.4s var(--ease)}
.gl div:hover{background:rgba(255,255,255,.12);transform:translateY(-4px);border-color:rgba(255,122,47,.6)}
.gl i{grid-row:span 2;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(255,122,47,.16);color:var(--gold)}
.gl i svg{width:26px;height:26px}
.gl b{font:500 1.1rem "Playfair Display",serif;color:#ffc46b}.gl span{font-size:.86rem;opacity:.88;line-height:1.5}
.dr,.dht small{display:inline-flex;align-items:center;gap:5px}.dr svg,.dht small svg{position:static;width:14px;height:14px;flex:none}
.fc a{overflow-wrap:anywhere}
#dtabs{overflow-x:auto;scrollbar-width:none}#dtabs::-webkit-scrollbar{display:none}
/* hero type: script accent over bold serif */
.sl small{display:block;padding:0;border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;font:400 clamp(2.6rem,6vw,4.6rem)/1 "Mr Dafoe",cursive;color:#ffa63b;rotate:-5deg;position:relative;z-index:1;margin-bottom:-.16em;text-shadow:0 3px 14px rgba(0,0,0,.35)}
.sl h1{font-weight:800;font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.01em;margin:0 0 18px;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.sl p{font-size:clamp(.98rem,1.4vw,1.15rem);line-height:1.6;text-shadow:0 2px 10px rgba(0,0,0,.45)}
/* site-wide type: script accent over bold serif (matches hero) */
.eye,.scr{display:block;width:fit-content;font:400 clamp(2rem,4.2vw,3.1rem)/1 "Mr Dafoe",cursive;letter-spacing:0;text-transform:none;color:#ff4d2e;rotate:-4deg;transform-origin:left center;margin:0 0 -.12em;position:relative;z-index:1}
.eye:before{display:none}
.h.c .eye,.pgh .scr,.sl .eye{margin-left:auto;margin-right:auto;transform-origin:center}
.glance .eye,.cfl .eye,.sq-top .eye,.ex .exi .eye[style],.pgh .scr{color:#ffa63b;text-shadow:0 3px 14px rgba(0,0,0,.35)}
.h h2{font-weight:800;font-size:clamp(2.1rem,4.8vw,3.3rem);line-height:1.05;letter-spacing:-.01em}
.pgh h1{font-weight:800;font-size:clamp(2.3rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.01em;text-shadow:0 4px 24px rgba(0,0,0,.3)}
.pgh .crumb{margin-bottom:18px}
.cfl h2,.glance h2,.sq-top h2{font-weight:800;letter-spacing:-.01em}
.sct{padding:0;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;font:400 clamp(2rem,4vw,3rem)/1 "Mr Dafoe",cursive;letter-spacing:0;text-transform:none;color:#ffa63b;rotate:-4deg;text-shadow:0 3px 14px rgba(0,0,0,.4)}
.sct b{font:600 .75rem Poppins;letter-spacing:.18em;vertical-align:middle;margin-right:10px;color:#fff;opacity:.8}
.scap h2{font-weight:800;letter-spacing:-.01em}
/* destinations: single-row auto-scrolling photo cards */
.dtrack{overflow:hidden;margin-top:26px;padding:14px 0 30px;width:100vw;margin-left:calc(50% - 50vw)}
#dgrid.dgrid{display:flex;gap:0;width:max-content;margin:0;animation:dmq 60s linear infinite}
.dtrack:hover #dgrid,.dtrack:focus-within #dgrid{animation-play-state:paused}
@keyframes dmq{to{transform:translateX(-50%)}}
#dgrid .dc{flex:none;width:300px;height:430px;margin-right:24px;position:relative;border:0;border-radius:26px;background:#111111;color:#fff;box-shadow:0 18px 40px rgba(17,17,17,.28),0 2px 6px rgba(17,17,17,.12);isolation:isolate}
#dgrid .dc:hover,#dgrid .dc:focus-visible{transform:translateY(-10px);box-shadow:0 30px 60px rgba(255,0,0,.38),0 0 0 1px rgba(255,166,59,.35)}
#dgrid .dm{position:absolute;inset:0;height:auto}
#dgrid .dm:after{background:linear-gradient(180deg,rgba(12,12,12,.35) 0%,transparent 26%,transparent 42%,rgba(12,12,12,.78) 70%,rgba(12,12,12,.94))}
#dgrid .dn{top:16px;left:16px;font:600 .75rem/1 Poppins;letter-spacing:.12em;padding:7px 11px;border-radius:99px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:none}
#dgrid .dr{top:16px;bottom:auto;left:auto;right:16px;max-width:62%;display:flex;align-items:center;gap:4px;font-size:.7rem;font-weight:500;padding:6px 10px;border-radius:99px;background:rgba(12,12,12,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dgrid .dr svg{width:12px;height:12px;flex:none}
#dgrid .db{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 22px 22px;background:none}
#dgrid .dcat span{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#dgrid .db h3{color:#fff;font-weight:800;font-size:1.75rem;line-height:1.1;margin:12px 0 6px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
#dgrid .db p{color:rgba(255,255,255,.86);font-size:.86rem;-webkit-line-clamp:2}
#dgrid .dbest{color:rgba(255,255,255,.9);max-height:0;opacity:0;margin:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s,margin .45s}
#dgrid .dbest b{color:#ffa63b}
#dgrid .dc:hover .dbest,#dgrid .dc:focus-visible .dbest{max-height:3.2em;opacity:1;margin:10px 0 0}
#dgrid .dgo{border-top:1px solid rgba(255,255,255,.22);color:#ffa63b;margin-top:14px}
/* shine sweep + gold edge */
#dgrid .dc:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.08) 58%,transparent 70%);transform:translateX(-130%);animation:dshine 7s ease-in-out infinite;animation-delay:calc(var(--i)*.6s)}
#dgrid .dc:hover:before{animation:dshine-h .9s ease-out}
@keyframes dshine{0%,72%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes dshine-h{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
#dgrid .dc:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,rgba(255,166,59,.95),rgba(255,166,59,0) 35%,rgba(255,166,59,0) 65%,rgba(255,166,59,.95));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.45;transition:opacity .4s}
#dgrid .dc:hover:after{opacity:1}
@media(max-width:600px){#dgrid .dc{width:250px;height:380px;margin-right:16px}#dgrid .db h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){#dgrid.dgrid{animation:none}.dtrack{overflow-x:auto;-webkit-mask:none;mask:none}#dgrid .dc[aria-hidden]{display:none}#dgrid .dc:before{animation:none}}
/* contact form */
.cform{display:grid;grid-template-columns:1fr 1.3fr;margin-top:40px;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(17,17,17,.12);border:1px solid var(--line)}
.cfl{background:linear-gradient(150deg,#b20000,#ff0000 60%,#ff4d2e);color:#fff;padding:40px 34px;position:relative;overflow:hidden}
.cfl:after{content:"";position:absolute;width:260px;height:260px;right:-90px;bottom:-90px;border-radius:50%;border:40px solid rgba(255,255,255,.07)}
.cfl .eye{color:var(--gold)}.cfl h2{font-size:2rem;margin-bottom:10px}.cfl p{opacity:.9}
.tick{list-style:none;padding:0;margin:20px 0 0}.tick li{padding:6px 0}.tick li:before{content:"";display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:50%;background:var(--gold);color:#ffffff;font-size:.7rem;font-weight:700;margin-right:10px}
#cf{padding:34px;align-content:start}
#cf .btn{justify-self:start}
@media(max-width:820px){.cform{grid-template-columns:1fr}#cf{padding:24px}.cfl{padding:30px 24px}}
/* back to top */
.btt{position:fixed;right:5vw;bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:60;width:50px;height:50px;border-radius:50%;border:0;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;display:grid;place-items:center;color:var(--red);font-size:1.15rem;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .4s,transform .4s var(--ease)}
.btt.on{opacity:1;transform:none;pointer-events:auto}.btt:hover{transform:translateY(-4px)}
.btt svg{position:absolute;inset:0;transform:rotate(-90deg)}
.btt circle{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:145;stroke-dashoffset:145;stroke-linecap:round}
/* footer */
footer{position:relative;text-align:left;color:#cfc6c4;font-size:.9rem}
#v-home.on~footer{margin-top:-64px}#v-home .cta{padding-bottom:130px}
.sky{display:block;width:100%;height:64px;color:#111111}
.fin{background:linear-gradient(180deg,#111111,#1a1a1a);padding:40px 5vw 0;margin-top:-1px;position:relative;overflow:hidden}
.fin:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,47,.14),transparent 65%);pointer-events:none}
.fcta{position:relative;max-width:1240px;margin:0 auto 46px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:0 0 34px;border-bottom:1px solid rgba(255,122,47,.25)}
.fcta h3{color:#fff;font-size:clamp(1.4rem,3vw,2rem);font-weight:500}.fcta h3 em{color:var(--gold)}
.fcta p{margin:4px 0 0;color:#b5aeac;font-size:.88rem}
.fcta .btn{margin:0}
.fg{position:relative;max-width:1240px;margin:auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr;gap:34px}
@media(max-width:1060px){.fg{grid-template-columns:repeat(3,1fr)}.fg>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.fg{grid-template-columns:1fr 1fr}.fg>div:last-child{grid-column:1/-1}}
.fg a.flogo{display:inline-block;transform:none;background:none;border-radius:50%;padding:0;box-shadow:0 12px 30px rgba(0,0,0,.3);margin-bottom:18px}.flogo img{height:96px;display:block;border-radius:50%}
.fbrand p{margin:0 0 18px;max-width:330px;line-height:1.75;color:#e8dcda}
footer h5{position:relative;font:600 .74rem Poppins;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:6px 0 20px;padding-bottom:12px}
footer h5:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:1.5px;background:var(--gold)}
.fg a{display:block;margin:0 0 11px;color:#cfc6c4;transition:color .25s,transform .3s var(--ease)}
.fg a:hover{color:#fff;transform:translateX(5px)}
.fc a{display:flex;gap:10px;align-items:center}.fc svg{flex:none;color:var(--gold)}
.soc{display:flex;gap:10px}
.soc a{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.2);margin:0;color:#fff;transition:.35s var(--ease)}
.soc a:hover{background:var(--gold);color:#ffffff;border-color:var(--gold);transform:translateY(-4px)}
.fbatch{display:inline-flex;align-items:center;gap:10px;margin:6px 0 0;padding:7px 14px;border-radius:99px;background:rgba(255,122,47,.12);border:1px solid rgba(255,122,47,.35);color:#ffc999;font-size:.78rem}
.fbatch:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);animation:fbp 1.8s infinite}
@keyframes fbp{from{box-shadow:0 0 0 0 rgba(255,122,47,.7)}to{box-shadow:0 0 0 10px rgba(255,122,47,0)}}
.fb2{position:relative;max-width:1240px;margin:44px auto 0;border-top:1px solid rgba(255,255,255,.1);padding:22px 0 0;text-align:center;font-size:.8rem;color:#b5aeac}
footer .credits{position:relative;max-width:1000px;margin:12px auto 0;padding-bottom:96px;color:#8f8a89;opacity:.8}
footer .credits a{display:inline;color:inherit}
@media(max-width:560px){.sky{height:40px}#v-home.on~footer{margin-top:-40px}#v-home .cta{padding-bottom:100px}.fcta{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.mq div{animation:none}}
/* scroll-driven film story */
.sq{position:relative;height:280vh;background:#05141a;margin-top:60px}
.sq-st{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff}
#sqb{position:absolute;inset:0;width:100%;height:100%;filter:blur(26px) brightness(.5) saturate(1.3);transform:scale(1.2)}
#sqc{position:absolute;inset:0;width:100%;height:100%;display:block}
.sq-sh{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,15,20,.72),rgba(3,15,20,.12) 55%,transparent),linear-gradient(0deg,rgba(3,15,20,.88),transparent 46%)}
.sq-top{position:absolute;z-index:3;top:108px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;gap:16px}
.sq-top .eye{color:var(--gold);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.sq-ct{font-size:.85rem;letter-spacing:.12em;opacity:.9}.sq-ct b{font:700 1.9rem "Playfair Display",serif;color:var(--gold);display:inline-block}
.sq-ct b.flp{animation:flip .5s var(--ease)}
.sq-caps{position:absolute;z-index:3;left:5vw;right:5vw;bottom:100px}
.scap{position:absolute;left:0;bottom:0;max-width:640px;opacity:0;transform:translateY(46px);filter:blur(8px);transition:opacity .6s var(--ease),transform .8s var(--ease),filter .6s;pointer-events:none}
.scap.on{opacity:1;transform:translateY(calc(var(--lp,0) * -26px));filter:none;pointer-events:auto}
.sct{display:inline-block;font:600 .7rem Poppins;letter-spacing:.2em;text-transform:uppercase;padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sct b{color:var(--gold);margin-right:6px}
.scap h2{font-size:clamp(2rem,5.4vw,4.4rem);margin:14px 0 10px;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.scap p{margin:0;font-size:clamp(.92rem,1.5vw,1.12rem);opacity:.92;max-width:520px;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.scap .sct,.scap h2,.scap p{transition:opacity .5s,transform .6s var(--ease)}.scap.end .sct,.scap.end h2,.scap.end p{opacity:0;transform:translateY(-14px)}
.sqa{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.sqa .btn.glass{margin-left:0}
.sq-bar{position:absolute;z-index:3;left:5vw;right:5vw;bottom:34px;display:flex;gap:6px}
.sq-bar button{position:relative;height:26px;border:0;background:none;padding:0;cursor:pointer;min-width:0}
.sq-bar button:before,.sq-bar i{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px}
.sq-bar button:before{background:rgba(255,255,255,.25);transition:background .3s,height .3s}
.sq-bar i{background:linear-gradient(90deg,var(--gold),#ffb655);transform-origin:left;transform:scaleX(0)}
.sq-bar button:hover:before{background:rgba(255,255,255,.55)}
.sq-bar span{position:absolute;left:0;bottom:24px;font-size:.7rem;letter-spacing:.06em;white-space:nowrap;color:#fff;opacity:0;transform:translateY(6px);transition:.3s var(--ease);pointer-events:none}
.sq-bar button:hover span,.sq-bar button:focus-visible span,.sq-bar button.on span{opacity:1;transform:none}
.sq-bar button.on span{color:var(--gold)}
.sq-hint{position:absolute;z-index:3;right:5vw;bottom:84px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.9;transition:opacity .5s}
.sq-hint i{width:24px;height:38px;border:2px solid rgba(255,255,255,.8);border-radius:14px;position:relative}
.sq-hint i:after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:whl 1.6s infinite}
@keyframes whl{to{transform:translateY(12px);opacity:0}}
.sq.go .sq-hint{opacity:0}
.sq-load{position:absolute;z-index:3;right:5vw;top:160px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:99px;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .6s}
.sq-load span{color:var(--gold);font-weight:600}
.sq-load.done{opacity:0}
body.instory .wa,body.instory .enq,body.instory .btt{opacity:0!important;pointer-events:none!important;transform:translateY(20px)}
.wa,.enq{transition:opacity .4s,transform .4s var(--ease),box-shadow .35s,background .3s}
/* portrait screens: full-screen film (JS pans across each scene), captions over a dark fade */
header{transition:padding .35s var(--ease),background .35s,box-shadow .35s,transform .45s var(--ease)}
@media(max-aspect-ratio:1/1){
.sq{height:240vh;margin-top:40px}
body.instory header{transform:translateY(-100%)}
.sq-sh{background:linear-gradient(180deg,rgba(3,15,20,.6),transparent 20%),linear-gradient(0deg,rgba(3,15,20,.94),rgba(3,15,20,.55) 34%,transparent 60%)}
.sq-top{top:calc(22px + env(safe-area-inset-top,0px));left:18px;right:18px}
.sq-caps{left:18px;right:18px;bottom:calc(74px + env(safe-area-inset-bottom,0px))}
.scap{max-width:none;width:100%}
.scap h2{font-size:clamp(1.8rem,8.4vw,3rem);margin:12px 0 8px}
.scap p{font-size:.95rem;line-height:1.55}
.sq-bar{left:18px;right:18px;bottom:calc(26px + env(safe-area-inset-bottom,0px))}
.sq-bar span{display:none}
.sqa .btn{padding:13px 20px;font-size:.76rem}
.sq-hint{right:auto;left:50%;bottom:auto;top:42%;transform:translateX(-50%)}
.sq-load{top:calc(70px + env(safe-area-inset-top,0px));right:18px}
}
/* short landscape screens (phones turned sideways) */
@media(max-height:520px) and (min-aspect-ratio:1/1){
.sq-top{top:66px}.sq-ct b{font-size:1.3rem}
.sq-caps{bottom:58px}.scap h2{font-size:1.7rem;margin:8px 0 4px}.scap p{font-size:.82rem;max-width:420px}.sqa{margin-top:10px}.sqa .btn{padding:10px 18px}
.sq-bar{bottom:14px}.sq-hint,.sq-load{display:none}
}
/* hero fit: keep copy + buttons clear of the dots and the overlapping trip planner */
.hero{height:clamp(560px,calc(100svh - 150px),780px)}
.sl{padding:0 8vw 140px}
.sl>div{max-width:1000px}
.sl small{font-size:clamp(2.4rem,5vw,4rem)}
.sl h1{font-size:clamp(2.6rem,6vw,5.2rem);margin-bottom:14px}
.sl p{max-width:640px;margin-bottom:26px}
.sl .btn{margin:6px 6px 0}
.dots{bottom:84px}
.arr{top:calc(50% - 40px)}
/* menu bar */
header{padding:8px 5vw}
header img{height:62px;aspect-ratio:1;border-radius:50%;box-shadow:0 4px 14px rgba(255,0,0,.18)}
nav{gap:2px}
nav a{font-size:.95rem;padding:10px 15px}
nav a.ph{margin-left:14px}
/* floating enquire: hidden while the hero planner is on screen (header already has a quote button) */
.enq{transition:opacity .35s,transform .35s var(--ease)}
body:not(.scd) .enq{opacity:0;transform:translateY(24px);pointer-events:none}
@media(max-width:820px){.sl{padding-bottom:120px}.dots{bottom:60px}}
@media(max-width:560px){.hero{height:clamp(540px,calc(100svh - 120px),700px)}.sl h1{font-size:clamp(2.3rem,10.5vw,3rem)}.sl small{font-size:2.2rem}.sl p{font-size:.95rem;margin-bottom:18px}.sl .btn{padding:12px 20px}}
/* ===== hero v2: left-aligned layout, feature row, gold pills ===== */
:root{--sun:linear-gradient(135deg,#ff9a3c,#ff4d2e)}
.top{display:none}
header{gap:14px}
.hc{display:flex;flex-direction:column;gap:2px;margin:0 4px 0 18px;font-size:.76rem;line-height:1.35}
.hc a{display:flex!important;align-items:center;gap:7px;padding:0;color:var(--ink)}.hc a:after{display:none}.hc a:hover{background:none;color:var(--red)}
.hc svg{color:var(--red);flex:none}
nav a.ph{display:inline-flex;align-items:center;gap:8px;background:var(--sun);color:#ffffff;box-shadow:0 8px 20px rgba(255,77,46,.35)}
nav a.ph:hover{background:var(--sun);color:#ffffff}
@media(max-width:1240px){.hc{display:none}}
.hero .sl{place-items:center start;text-align:left;padding:0 6vw 150px}
.hero .sl{grid-template-columns:minmax(0,1fr)}
.hero .sl>div{max-width:700px;width:100%}
.hero .sl>div svg{position:static;opacity:1;width:26px;height:26px}.hero .sl .btn svg{width:18px;height:18px}
.hero .arr{top:auto;bottom:62px;transform:none;width:46px;height:46px;font-size:1.5rem}.hero .arr:hover{transform:scale(1.1)}
.hero .arr.l{left:auto;right:calc(6vw + 56px)}.hero .arr.r{right:6vw}
.sl .bg:after{background:linear-gradient(90deg,rgba(8,22,34,.6),rgba(8,22,34,.28) 34%,rgba(8,22,34,0) 58%),linear-gradient(180deg,rgba(0,0,0,.22),transparent 22%,transparent 72%,rgba(0,0,0,.3))}
.sl .kick{display:flex;align-items:center;gap:12px;font:600 .82rem Poppins;letter-spacing:.24em;text-transform:uppercase;margin-bottom:4px}
.sl .kick:before{content:"";width:42px;height:2px;background:#ff9d3a}
.hero .sl small{font-size:clamp(3.6rem,8.4vw,7rem);line-height:1.05;rotate:-4deg;transform-origin:left center;margin:0 0 -.12em -.04em;padding-right:.12em;color:transparent;background:linear-gradient(180deg,#ffc46b,#ff7a2f);-webkit-background-clip:text;background-clip:text;text-shadow:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}
.hero .sl h1{font-size:clamp(2.3rem,4.8vw,4.1rem);line-height:1.05;margin:0 0 14px}
.hero .sl p{max-width:560px;margin:0 0 22px}
.hf{list-style:none;display:flex;flex-wrap:wrap;row-gap:12px;margin:0 0 28px;padding:0}
.hf li{display:flex;align-items:center;gap:10px;padding:0 22px;border-left:1px solid rgba(255,255,255,.3);font-size:.8rem;line-height:1.35;color:rgba(255,255,255,.88)}
.hf li:first-child{padding-left:0;border:0}
.hf svg{color:#ff9d3a;flex:none}.hf b{display:block;color:#fff;font-weight:600;font-size:.88rem}
.hb{display:flex;flex-wrap:wrap;gap:14px}
.hero .sl .btn{margin:0;display:inline-flex;align-items:center;gap:10px;text-transform:none;letter-spacing:.01em;font-size:1rem;padding:15px 30px}
.hero .sl .btn:not(.glass){background:var(--sun);color:#ffffff;box-shadow:0 12px 28px rgba(255,77,46,.4)}
.hero .sl .btn.glass{margin:0;background:rgba(255,255,255,.1)}
.sl.on .kick,.sl.on small{animation:up .9s both}.sl.on .hf,.sl.on .hb{animation:up .9s .35s both}
.hbadge{position:absolute;z-index:4;right:6vw;top:9%;display:flex;flex-direction:column;align-items:flex-start;font:400 clamp(1.8rem,2.6vw,2.5rem)/.95 "Mr Dafoe",cursive;color:#fff;rotate:-12deg;text-shadow:0 3px 12px rgba(0,0,0,.35);pointer-events:none}
.hbadge span:nth-of-type(2){margin-left:.7em}.hbadge span:nth-of-type(3){margin-left:1.2em}
.hbadge>svg:first-child{position:absolute;width:150px;left:30%;top:-26px;opacity:.75}
.hbadge>svg:last-child{position:absolute;right:-34px;top:-30px;rotate:8deg}
@media(max-width:980px){.hbadge{display:none}}
.qp .q{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.qp .q>:not(.qi){grid-column:2}
.qi{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,157,58,.16);color:#ff5a1f}
#qgo{background:var(--sun);color:#ffffff;box-shadow:0 12px 26px rgba(255,77,46,.35)}
/* hero: crisp images, no zoom/parallax/glass blur */
.hero .sl .bg{inset:0;translate:none;transform:none;animation:none;background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.04)}
.hero .sl h1,.hero .sl p,.hf li,.sl .kick{text-shadow:0 2px 14px rgba(0,0,0,.55)}
.hero .arr,.hero .sl small,.hero .sl .btn.glass{-webkit-backdrop-filter:none;backdrop-filter:none}
.hero .arr,.hero .sl .btn.glass{background:rgba(10,20,30,.35)}
@media(max-width:820px){.hero .sl{padding-bottom:120px}}
@media(max-width:560px){
.hero{height:clamp(680px,calc(100svh - 80px),760px)}
.hero .sl{padding:0 6vw 110px}
.sl .bg:after{background:linear-gradient(180deg,rgba(8,22,34,.2),rgba(8,22,34,.25) 40%,rgba(8,22,34,.62))}
.sl .kick{font-size:.7rem;letter-spacing:.18em}
.hero .sl small{font-size:3.4rem}.hero .sl h1{font-size:clamp(2rem,9vw,2.6rem)}
.hero .sl p{font-size:.92rem;margin-bottom:16px}
.hf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.hf li{padding:0;border:0}
.hero .sl .btn{padding:12px 20px;font-size:.92rem}.hb{gap:10px}
}
/* mission band (light, replaces the dark "at a glance" block) */
.mis{background:linear-gradient(180deg,#fff,#eef5fb 18%,#f4f8fc 80%,#fff)}
.mis section{padding-top:56px;padding-bottom:56px}
.msb{display:grid;grid-template-columns:1.05fr 2.4fr 1.25fr;gap:26px;align-items:center;background:linear-gradient(120deg,#f7fbff,#eaf3fb 55%,#ffffff);border:1px solid #dfeaf4;border-radius:28px;padding:34px 34px 34px 40px;box-shadow:0 24px 60px rgba(40,70,110,.1);position:relative;overflow:hidden}
.msb:before{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-150px;border-radius:50%;border:1px dashed rgba(40,70,110,.15)}
.msl .eye{color:var(--red);font-size:clamp(2.2rem,3.4vw,2.9rem);line-height:.95;margin-bottom:12px}
.msl p{margin:0;color:var(--mut);font-size:.92rem;line-height:1.6}
.msw{width:120px;color:var(--gold);margin-top:10px}
.msf{display:grid;grid-template-columns:repeat(4,1fr)}
.msf div{text-align:center;padding:6px 14px;position:relative;transition:transform .4s var(--ease)}
.msf div+div:before{content:"";position:absolute;left:0;top:12%;bottom:12%;border-left:1px dashed #c9d8e6}
.msf div:hover{transform:translateY(-6px)}
.msf i{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:#fff;color:#ff4d2e;box-shadow:0 8px 20px rgba(255,77,46,.18),inset 0 0 0 1px #ffe3d8;transition:transform .5s var(--ease)}
.msf div:hover i{transform:rotate(-10deg) scale(1.08)}
.msf i svg{width:28px;height:28px}
.msf b{display:block;font:600 .98rem/1.3 Poppins;color:#22324a}
.msf span{display:block;margin-top:4px;font-size:.8rem;line-height:1.45;color:var(--mut)}
.msp{position:relative;height:230px}
.msp figure{position:absolute;margin:0;width:58%;aspect-ratio:4/5;background:#fff;padding:7px 7px 22px;border-radius:6px;box-shadow:0 14px 30px rgba(30,40,60,.22);transition:rotate .5s var(--ease),translate .5s var(--ease)}
.msp figure:nth-of-type(1){left:4%;top:4%;rotate:-7deg}
.msp figure:nth-of-type(2){right:2%;top:14%;rotate:6deg;z-index:1}
.msb:hover .msp figure:nth-of-type(1){rotate:-10deg;translate:-6px -4px}.msb:hover .msp figure:nth-of-type(2){rotate:9deg;translate:6px 2px}
.msp img{width:100%;height:100%;object-fit:cover;display:block;border-radius:3px}
.msp em{position:absolute;left:0;bottom:-22px;z-index:2;font:400 1.7rem/1 "Mr Dafoe",cursive;color:#22324a;rotate:-6deg}
.mspl{position:absolute;right:-4px;top:-14px;width:30px;color:#9fb4c8;rotate:40deg}
.msg{margin-top:34px}
.msg h3{font-size:1.45rem;color:#22324a;margin-bottom:16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.msg h3 small{font:500 .82rem Poppins;color:var(--mut)}
.gl2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px}
.gl2 div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #e3ecf4;transition:.4s var(--ease)}
.gl2 div:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(40,70,110,.1);border-color:#ffd5c4}
.gl2 i{grid-row:span 2;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff3ee;color:#ff4d2e}
.gl2 i svg{width:22px;height:22px}
.gl2 b{font:600 .95rem Poppins;color:#22324a}.gl2 span{font-size:.84rem;color:var(--mut);line-height:1.45}
@media(max-width:1060px){.msb{grid-template-columns:1fr 1.2fr}.msf{grid-column:1/-1;order:3}.msp{height:210px}}
@media(max-width:680px){.msb{grid-template-columns:1fr;padding:26px 20px;text-align:center}.msl .eye{margin-left:auto;margin-right:auto}.msw{display:none}.msf{grid-template-columns:1fr 1fr;row-gap:22px}.msf div:nth-child(3):before{display:none}.msp{height:290px;max-width:300px;margin:0 auto;width:100%}.msp figure{width:52%}.msp em{bottom:0;left:auto;right:4%;z-index:3;font-size:1.5rem}}

/* ===== header v3: wordmark, capsule nav, planner chip, jewel CTA ===== */
header{padding:10px 4vw;gap:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:none}
header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#ff7a2f 25%,#ff0000 50%,#ff7a2f 75%,transparent);opacity:.65;pointer-events:none}
header.sc{padding:5px 4vw;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(17,17,17,.08)}
.brand{display:flex;align-items:center;gap:13px;flex:none}
header .brand img{height:56px;width:56px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(255,122,47,.65),0 8px 18px rgba(255,0,0,.2)}
header.sc .brand img{height:46px;width:46px}
.bw{display:flex;flex-direction:column;line-height:1}
.bw b{font:700 1.28rem/1 "Playfair Display",Georgia,serif;letter-spacing:.24em;color:var(--red)}
.bw i{font:400 1.7rem/.7 "Mr Dafoe",cursive;color:#ff4d2e;margin:2px 0 0 40px;rotate:-5deg}
nav{gap:14px;flex:1}
.nl{display:flex;align-items:center;gap:2px;padding:5px;margin:0 auto;background:#fff2ee;border:1px solid rgba(255,122,47,.38);border-radius:99px;box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(255,0,0,.06)}
nav .nl a{white-space:nowrap;padding:9px 17px;border-radius:99px;font:500 .9rem Poppins,sans-serif;color:var(--ink);transition:color .3s,background .3s,box-shadow .3s}
nav .nl a:after{display:none}
nav .nl a:hover{color:var(--red);background:#fff;box-shadow:0 2px 8px rgba(255,0,0,.08)}
nav .nl a.cur,nav .nl a.cur:hover{color:#fff;background:linear-gradient(135deg,#ff0000,#cc0000);box-shadow:0 6px 16px rgba(255,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18)}
.hc{flex-direction:row;align-items:center;gap:10px;margin:0}
.hc .hcall{gap:10px}
.hcall i,.hc .hmail{width:38px;height:38px;border-radius:50%;display:grid!important;place-items:center;flex:none;background:#fff;border:1px solid rgba(255,122,47,.55);color:var(--red);transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.hcall>span{display:flex;flex-direction:column;line-height:1.2}
.hcall small{font:600 .6rem Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#e0561a}
.hcall b{font:700 1rem "Playfair Display",Georgia,serif;color:var(--ink);letter-spacing:.01em}
.hcall:hover i,.hc .hmail:hover{background:var(--red);color:#fff;border-color:var(--red);transform:rotate(-8deg)}
nav a.ph{position:relative;overflow:hidden;white-space:nowrap;flex:none;gap:12px;padding:6px 6px 6px 22px;margin-left:4px;border-radius:99px;background:linear-gradient(135deg,#ff0000,#cc0000);color:#fff;font:600 .9rem Poppins,sans-serif;letter-spacing:.02em;box-shadow:0 10px 24px rgba(255,0,0,.3),inset 0 0 0 1px rgba(255,122,47,.6)}
nav a.ph i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f6dc9c,#ff7a2f);color:#3a1f12;transition:transform .45s var(--ease)}
nav a.ph:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,214,190,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--ease);pointer-events:none}
nav a.ph:hover{background:linear-gradient(135deg,#ff0000,#cc0000);color:#fff;box-shadow:0 14px 30px rgba(255,0,0,.38),inset 0 0 0 1px rgba(255,122,47,.8)}
nav a.ph:hover:before{transform:translateX(120%)}
nav a.ph:hover i{transform:rotate(-45deg)}
@media(max-width:1240px){.hc{display:none}}
@media(max-width:1140px) and (min-width:861px){.bw{display:none}nav .nl a{padding:9px 12px;font-size:.86rem}nav a.ph{padding-left:18px}}
@media(max-width:960px) and (min-width:861px){nav .nl a{padding:8px 9px;font-size:.82rem}}
@media(max-width:860px){
  .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,122,47,.55);background:#fff;color:var(--red)}
  nav{background:rgba(255,255,255,.98);padding:12px 5vw 18px;gap:6px}
  .nl{flex-direction:column;align-items:stretch;margin:0;padding:6px;border-radius:18px}
  nav .nl a{border-radius:12px;padding:12px 16px}
  nav a.ph{justify-content:space-between;margin:8px 0 0}
}
@media(max-width:420px){.bw b{font-size:1.1rem}.bw i{font-size:1.5rem;margin-left:32px}header .brand img{height:48px;width:48px}}
/* footer: light theme (matches the mission band) */
footer{color:var(--mut)}
.sky{color:#eef5fb}
.fin{background:linear-gradient(180deg,#eef5fb,#f6f9fc 45%,#ffffff);padding-top:30px}
.fin:before{background:radial-gradient(circle,rgba(255,77,46,.12),transparent 65%)}
.fin:after{content:"";position:absolute;width:420px;height:420px;left:-200px;bottom:-160px;border-radius:50%;border:1px dashed rgba(40,70,110,.14);pointer-events:none}
.fcta{background:linear-gradient(120deg,#b20000,#ff0000 60%,#ff4d2e);border:0;border-radius:26px;padding:34px 40px;box-shadow:0 24px 50px rgba(255,0,0,.28);overflow:hidden}
.fcta:after{content:"";position:absolute;width:240px;height:240px;right:-70px;top:-110px;border-radius:50%;border:34px solid rgba(255,255,255,.07);pointer-events:none}
.fcta h3{color:#fff}.fcta h3 em{color:#ffa63b}.fcta p{color:rgba(255,255,255,.82)}
.fcta .btn{position:relative;z-index:1;border-radius:99px;background:var(--sun,#ff9d3a);color:#ffffff;box-shadow:0 12px 26px rgba(0,0,0,.2)}
.fcta .btn:hover{background:#fff}
.fg{background:#fff;border:1px solid #e3ecf4;border-radius:26px;padding:38px 40px;box-shadow:0 18px 44px rgba(40,70,110,.08)}
.fg a.flogo{box-shadow:0 10px 26px rgba(255,0,0,.2)}
.fbrand p{color:var(--mut)}
footer h5{color:var(--red)}
footer h5:after{background:var(--gold)}
.fg a{color:#3e4a5c}
.fg a:hover{color:var(--red)}
.fc svg{color:#ff4d2e}
.soc a{border:1px solid #e3ecf4;background:#f7fbff;color:var(--red)}
.soc a:hover{background:var(--red);border-color:var(--red);color:#fff}
.fbatch{background:#fff3ee;border-color:#ffd5c4;color:#c74010}
.fbatch:before{background:#ff4d2e}
.fb2{border-top:0;margin-top:26px;color:#5d6675}
footer .credits{color:#8a93a1;opacity:1}
@media(max-width:620px){.fcta{padding:26px 22px}.fg{padding:28px 22px}}

/* ===== menu labels: elegant black serif ===== */
nav .nl a{padding:9px 17px;font:500 1rem/1.2 "Playfair Display",Georgia,serif;letter-spacing:.02em;color:#141414}
nav .nl a .lt{position:relative;display:inline-block}
nav .nl a .lt:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:#ff7a2f;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
nav .nl a:hover{color:var(--red)}
nav .nl a:hover .lt:after{transform:scaleX(1);transform-origin:left}
nav .nl a.cur,nav .nl a.cur:hover{color:#fff}
nav .nl a.cur .lt:after{display:none}
.hcall>span{white-space:nowrap}
@media(max-width:1340px){.hcall>span{display:none}}
@media(max-width:1140px) and (min-width:861px){.bw{display:none}nav .nl a{padding:9px 12px;font-size:.95rem}}
@media(max-width:960px) and (min-width:861px){nav .nl a{padding:8px 8px;font-size:.88rem}}
@media(max-width:860px){nav .nl a{font-size:1.15rem;padding:13px 16px}}
/* bright Grand Palace slide: a little more shade behind the copy */
.hero .sl.s4 .bg:after{background:linear-gradient(90deg,rgba(8,22,34,.72),rgba(8,22,34,.42) 40%,rgba(8,22,34,.05) 66%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 25%,transparent 70%,rgba(0,0,0,.35))}
@media(max-width:560px){.hero .sl.s4 .bg:after{background:linear-gradient(180deg,rgba(8,22,34,.35),rgba(8,22,34,.45) 40%,rgba(8,22,34,.72))}}

/* ===== trip planner: never wider than the screen ===== */
.qp .q{min-width:0}
.qp .q>*{min-width:0}
.qp select,.qp input{width:100%;max-width:100%;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
@media(max-width:820px){.qp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:560px){
  .qp{width:calc(100% - 32px);padding:10px;border-radius:20px;gap:4px;margin-top:-36px}
  .qp .q{padding:8px 10px;column-gap:10px}
  .qi{width:36px;height:36px}
  .qp label{font-size:.62rem;letter-spacing:.1em}
  .qp select,.qp input{font-size:.92rem}
  .mst{gap:8px}
  .mst button{width:28px;height:28px}
}
@media(max-width:430px){
  .qp{grid-template-columns:minmax(0,1fr)}
  .qp .q,.qp .btn{grid-column:1/-1}
}
/* sky-style palette: red primary + orange gradient accents */
:root{--grad:linear-gradient(90deg,#ff4d2e,#ffa63b)}
.btn{background:var(--red);color:#fff}.btn:hover{background:var(--red2);color:#fff}
.sl small,.eye,.scr,.sct,.fcta h3 em,.bw i{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
.sl small{width:fit-content;margin-left:auto;margin-right:auto}
.sl small,.glance .eye,.cfl .eye,.sq-top .eye,.ex .exi .eye[style],.pgh .scr,.sct{filter:drop-shadow(0 3px 10px rgba(0,0,0,.35))}
/* seven menu items: keep the quote button on screen just above the burger breakpoint */
@media(max-width:960px) and (min-width:861px){nav .nl a{padding:8px 6px;font-size:.84rem}header{gap:10px}}
/* wide Nexara logo (bird and N): no round badge, no separate word mark */
header .brand img,header img{height:60px;width:auto;aspect-ratio:1437/930;border-radius:0;box-shadow:none}
header.sc .brand img{height:50px;width:auto}
.bw{display:none!important}
.fg a.flogo,.flogo{border-radius:0;box-shadow:none;background:none}
.flogo img{height:auto;width:170px;border-radius:0}
#intro img{width:min(70vw,380px);height:auto}
@media(max-width:420px){header .brand img{height:48px}}
.sl .bg{background-color:#1c2731}

/* nexara-pages.css */
/* Inner pages (destinations, packages, guides, blog). Loaded after nexara-base.css, which is the
   home page stylesheet extracted verbatim from index.html by tools/build.mjs. Only existing tokens are used. */
body.sub footer{margin-top:0}
.pgh.mo{background:linear-gradient(135deg,#b20000,#ff4d2e)}
.pgh>svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:72%;opacity:.35;pointer-events:none}
.pgh .crumb a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.pgh .meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:16px;font-size:.88rem}
.pgh .meta span{display:inline-flex;align-items:center;gap:6px}.pgh .meta svg{color:#ffa63b}
section.tight{padding-top:36px;padding-bottom:36px}
.alt{background:var(--bg)}.alt>section{padding-top:56px;padding-bottom:56px}
/* two-column body */
.lay{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start;max-width:1240px;margin:auto;padding:56px 5vw}
.lay>aside{position:sticky;top:96px;display:grid;gap:18px}
@media(max-width:900px){.lay{grid-template-columns:minmax(0,1fr)}.lay>aside{position:static}}
.box{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(17,17,17,.05)}
.box h3{font-size:1.25rem;margin-bottom:12px}
.box .btn{display:block;text-align:center;margin-top:10px}
.box .btn.ghost2{display:flex;align-items:center;justify-content:center;gap:8px}
.kv{display:grid;gap:0;margin:0}.kv div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.kv dt{color:var(--mut)}.kv dd{margin:0;text-align:right;font-weight:500}
.quote-p{font:600 1.15rem Poppins;color:var(--red);margin:14px 0 2px}.quote-s{font-size:.8rem;color:var(--mut);margin:0}
/* prose */
.prose{max-width:780px}
.prose h2{font-size:clamp(1.5rem,3vw,2rem);margin:38px 0 12px}
.prose h3{font-size:1.25rem;margin:26px 0 8px}
.prose p,.prose li{color:#2b2b2b}
.prose ul,.prose ol{padding-left:22px}.prose li{margin:5px 0}
.prose a{color:var(--red);text-decoration:underline;text-decoration-color:rgba(255,0,0,.3);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--red)}
.prose table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{background:var(--bg);font-weight:600}
.prose blockquote{margin:20px 0;padding:14px 20px;border-left:3px solid var(--gold);background:var(--bg);border-radius:0 12px 12px 0}
.lede{font-size:1.08rem;color:#2b2b2b}
.tbl-wrap{overflow-x:auto}
.toc{border:1px solid var(--line);border-radius:18px;padding:18px 22px;background:var(--bg)}
.toc b{display:block;font:600 .74rem Poppins;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.toc ol{margin:0;padding-left:18px}.toc li{margin:4px 0;font-size:.9rem}.toc a:hover{color:var(--red)}
.note{font-size:.84rem;color:var(--mut);border-left:3px solid var(--gold);background:var(--bg);padding:12px 16px;border-radius:0 12px 12px 0;margin:18px 0}
.byline{font-size:.85rem;color:var(--mut);margin:0 0 18px}
/* route strip */
.route{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 6px;padding:0;list-style:none}
.route li{display:flex;align-items:center;gap:8px}
.route a,.route span{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;background:#fff0ed;color:var(--red);font-weight:500;font-size:.88rem}
.route a:hover{background:var(--red);color:#fff}
.route small{font-size:.75rem;opacity:.75}
.route li+li:before{content:"→";color:var(--gold);font-weight:700}
/* day plan (re-uses .day accordion) */
.days .day{border-radius:14px;overflow:hidden}
.days .day h3{font:600 .98rem Poppins;padding:13px 16px;display:flex;justify-content:space-between;gap:10px;margin:0;cursor:pointer}
.days .day h3:after{content:"+";color:var(--red);font-size:1.3rem;line-height:1;transition:transform .3s}
.days .day.open h3{background:#fff0ed;color:var(--red)}.days .day.open h3:after{transform:rotate(45deg)}
.days .day h3 em{font-style:normal;color:var(--gold);margin-right:8px}
.days .day.open ul{max-height:none}
.days .day ul{max-height:0}
.dayx{display:flex;gap:10px;margin:0 0 12px}
.dayx button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 14px;font:500 .8rem Poppins;cursor:pointer}.dayx button:hover{border-color:var(--red);color:var(--red)}
/* link lists */
.lnk{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:4px 26px}
.lnk li{padding:8px 0;border-bottom:1px dashed var(--line)}
.lnk a{font-weight:500}.lnk a:hover{color:var(--red)}
.lnk small{display:block;color:var(--mut);font-size:.78rem}
.lnk.one{grid-template-columns:1fr}
.groups{display:grid;gap:34px}
.groups h3{font-size:1.35rem;margin-bottom:10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.groups h3 a:hover{color:var(--red)}.groups h3 small{font:500 .8rem Poppins;color:var(--mut)}
/* cards: anchors instead of articles */
a.dc{color:inherit}
.dgrid.sm{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:20px}
.dgrid .dc .dm{height:170px}
.dc .dn{font-size:1rem;font-family:Poppins,sans-serif;font-weight:600;background:rgba(17,17,17,.35);padding:3px 10px;border-radius:99px;backdrop-filter:blur(4px)}
.ftabs{margin-bottom:6px;overflow-x:auto;scrollbar-width:none}.ftabs::-webkit-scrollbar{display:none}
.ftabs button.on{background:var(--grad);color:#fff}
.fcount{font-size:.85rem;color:var(--mut);margin:10px 0 0}
.empty{color:var(--mut)}
/* article cards */
.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px}
.acard{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff;transition:.4s var(--ease)}
.acard:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(255,0,0,.14);border-color:transparent}
.acard small{font:600 .7rem Poppins;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.acard h3{font-size:1.2rem;line-height:1.3}.acard p{margin:0;color:var(--mut);font-size:.88rem}
.acard span{margin-top:auto;padding-top:10px;font-weight:600;font-size:.85rem;color:var(--red)}
/* contact + enquiry page */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px}
.cgrid a,.cgrid div{border:1px solid var(--line);border-radius:20px;padding:22px;text-align:center;background:#fff;transition:.3s}
.cgrid a:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(255,0,0,.18);border-color:var(--red)}
.cgrid i{width:58px;height:58px;margin:0 auto 10px;border-radius:50%;background:#fff0ed;color:var(--red);display:grid;place-items:center}
.cgrid b{display:block;font:600 1.05rem Poppins}.cgrid small{color:var(--mut)}
#ctf{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px}
#ctf .f{grid-column:1/-1}
#ctf .btn{justify-self:start}
@media(max-width:560px){#ctf{grid-template-columns:1fr}}
.fl select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ff0000' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center}
.fl.bad select,.fl.bad textarea{border-color:#e74c3c}
.hint{font-size:.78rem;color:var(--mut);margin:-6px 0 0}
/* 404 */
.nf{text-align:center}.nf .btn{margin:6px}
@media(max-width:560px){.lay{padding:40px 5vw}.box{padding:20px}}

/* Script ("Mr Dafoe") lettering is kept for the page banner and the closing call-to-action only.
   Section eyebrows inside the page use a small uppercase label, which reads cleaner in long pages. */
.sub section .h .eye{display:inline-flex;align-items:center;gap:10px;width:auto;rotate:0deg;margin:0 0 10px;font:600 .74rem/1.4 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--red);-webkit-text-fill-color:currentColor;background:none;filter:none;text-shadow:none}
.sub section .h .eye:before{content:"";display:block;width:28px;height:2px;background:var(--gold)}
.sub section .h.c .eye{justify-content:center}
.sub .alt section .h .eye{color:var(--red)}
/* the call-to-action band is red, so its script line needs a light colour (overrides the flat theme's red text) */
.sub .cta .eye{color:#ffd9a8!important;-webkit-text-fill-color:#ffd9a8!important;display:block;margin:0 auto 4px}

/* enquiry phone: an international number typed with + replaces the +91 prefix */
.fl.tel.intl .cc{display:none}.fl.tel.intl input{padding-left:14px}.fl.tel.intl label{left:15px}
/* filter tabs: cards that match fade up in turn */
.dgrid .dc.dcin{animation:dcin .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--fi,0) * 45ms)}
@keyframes dcin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ftabs{scroll-margin-top:110px}
.fcount{font-weight:600;color:var(--ink)}
/* filter tabs: a hidden card stays hidden whatever layout rule the grid uses */
.dgrid .dc.hide,body.sub .dgrid .dc.hide{display:none!important}
/* About page (content/pages.mjs; interactions in assets/js/nexara-about.js): photo collage intro, counting
   stats, plan showcase with auto-advancing tabs, a timeline that fills on scroll, promises, photo contact banner */
body.sub main>section.ab-s,body.sub .alt>section.ab-s{padding-top:clamp(48px,5.5vw,84px);padding-bottom:clamp(48px,5.5vw,84px)}
.ab-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ab-cta .btn{margin:0}
@keyframes abxIn{from{opacity:0;transform:translateY(40px) scale(.96)}}
@keyframes abxPop{from{opacity:0;transform:scale(.6) rotate(-30deg)}}
@keyframes abxSpin{to{rotate:360deg}}
@keyframes abxBar{to{transform:scaleX(1)}}
/* intro */
.abx-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center}
.abx-copy .h{margin-bottom:22px}
.abx-copy h2{line-height:1.08}
.abx-copy h2 em{font-style:italic;color:var(--red);position:relative;z-index:0}
.abx-copy h2 em:after{content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.18em;border-radius:4px;background:linear-gradient(90deg,#ffa63b,#ff4d2e);opacity:.3;z-index:-1;transform-origin:left;animation:abxBar 1s .5s var(--ease) both;transform:scaleX(0)}
.abx-copy p{color:var(--mut);line-height:1.85;margin:0 0 14px;max-width:60ch}
.abx-copy p b{color:var(--ink)}
.abx-copy .abx-lede{font-size:1.08rem;color:#2b2b2b}
.abx-art{position:relative;width:100%;max-width:560px;aspect-ratio:1/1.02;justify-self:end}
.abx-art figure{position:absolute;margin:0;overflow:hidden;border-radius:28px;box-shadow:0 30px 60px -22px rgba(60,20,10,.4);transition:translate .5s ease-out}
.abx-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.abx-art figure:hover img{transform:scale(1.07)}
.abx-p1{top:0;right:0;width:76%;height:84%;animation:abxIn 1.1s var(--ease) both;translate:calc(var(--mx,0)*-12px) calc(var(--my,0)*-12px)}
.abx-p2{left:0;bottom:0;width:48%;height:46%;border:8px solid #fff;animation:abxIn 1.1s .25s var(--ease) both;translate:calc(var(--mx,0)*18px) calc(var(--my,0)*18px)}
.abx-seal{position:absolute;left:5%;top:7%;width:132px;height:132px;border-radius:50%!important;background:#fff;display:grid;place-items:center;box-shadow:0 18px 40px -12px rgba(60,20,10,.35);animation:abxPop .9s .55s var(--ease) both;translate:calc(var(--mx,0)*26px) calc(var(--my,0)*26px);transition:translate .5s ease-out}
.abx-seal>svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);animation:abxSpin 24s linear infinite}
.abx-seal text{font:600 10px Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;fill:var(--ink)}
.abx-seal i{width:54px;height:54px;border-radius:50%!important;display:grid;place-items:center;background:var(--red);color:#fff;box-shadow:0 8px 18px rgba(255,0,0,.35)}
.abx-seal i svg{width:26px;height:26px}
.abx-tag{position:absolute;right:-18px;bottom:9%;padding:16px 22px;border-radius:18px;border-left:4px solid var(--red);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 22px 44px -16px rgba(60,20,10,.4);animation:abxIn .9s .75s var(--ease) both;translate:calc(var(--mx,0)*-20px) calc(var(--my,0)*-20px);transition:translate .5s ease-out}
.abx-tag b{display:block;font:700 1.15rem/1.2 "Playfair Display",serif;color:var(--ink)}
.abx-tag span{font-size:.8rem;color:var(--mut)}
/* counting stats */
.abx-statw{max-width:1240px;margin:0 auto;padding:0 5vw}
.abx-stats{list-style:none;margin:0;padding:clamp(26px,3vw,40px) clamp(22px,3.4vw,48px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:28px;border:1px solid var(--lt-line,#f2dcd4);background:linear-gradient(135deg,#fff6f2,#ffece5)}
.abx-stats li{padding:0 clamp(14px,2vw,30px);border-left:1px solid rgba(204,0,0,.14)}
.abx-stats li:first-child{border:0;padding-left:0}
.abx-stats b{display:block;margin-bottom:10px;font:700 clamp(2.2rem,4vw,3.2rem)/1 "Playfair Display",serif;color:var(--red);font-variant-numeric:tabular-nums}
.abx-stats span{display:block;max-width:24ch;font-size:.88rem;line-height:1.5;color:var(--mut)}
/* plan showcase */
.abx-band{background:linear-gradient(180deg,#fff,#fff6f2)}
.abx-show{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:stretch}
.abx-media{position:relative;min-height:540px;border-radius:30px;overflow:hidden;background:#1f1a19;box-shadow:0 40px 80px -32px rgba(60,20,10,.5)}
.abx-media figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s var(--ease)}
.abx-media figure.on{opacity:1}
.abx-media figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,8,0) 50%,rgba(20,10,8,.72));pointer-events:none}
.abx-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 8s linear}
.abx-media figure.on img{transform:scale(1)}
.abx-media figcaption{position:absolute;left:30px;right:130px;bottom:28px;z-index:1;color:#fff;font:500 1rem/1.4 Poppins,sans-serif;opacity:0;transform:translateY(12px);transition:opacity .6s .35s,transform .6s .35s var(--ease)}
.abx-media figure.on figcaption{opacity:1;transform:none}
.abx-num{position:absolute;right:28px;bottom:26px;z-index:2;color:rgba(255,255,255,.7);font:500 .9rem Poppins,sans-serif;letter-spacing:.1em}
.abx-num b{font:700 2.4rem/1 "Playfair Display",serif;color:#fff;letter-spacing:0;vertical-align:-5px}
.abx-tabs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center}
.abx-tabs li{position:relative;border-bottom:1px solid var(--lt-line,#f2dcd4)}
.abx-tabs li:first-child{border-top:1px solid var(--lt-line,#f2dcd4)}
.abx-tabs button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:16px;padding:18px 4px;cursor:pointer;color:var(--ink)}
.abx-tabs button:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:10px}
.abx-tabs i{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff0ed;color:var(--red);transition:background .35s,color .35s,transform .35s var(--ease)}
.abx-tabs i svg{width:22px;height:22px}
.abx-n{font:600 .76rem Poppins,sans-serif;letter-spacing:.14em;color:var(--mut)}
.abx-t{flex:1;font:600 1.08rem/1.3 Poppins,sans-serif;transition:color .3s}
.abx-chev{flex:none;color:var(--mut);transition:transform .35s var(--ease),color .3s}
.abx-tabs button:hover .abx-t{color:var(--red)}
.abx-tabs button:hover i{transform:scale(1.08)}
.abx-tabs li.on i{background:var(--red);color:#fff;box-shadow:0 10px 22px -6px rgba(255,0,0,.5)}
.abx-tabs li.on .abx-t{color:var(--red)}
.abx-tabs li.on .abx-chev{transform:rotate(180deg);color:var(--red)}
.abx-panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .5s var(--ease)}
.abx-panel>div{overflow:hidden;padding-left:62px}
.abx-show.js li:not(.on) .abx-panel{grid-template-rows:0fr}
.abx-show.js li:not(.on) .abx-panel>div{visibility:hidden;transition:visibility 0s .5s}
.abx-panel p{margin:0 0 12px;font-size:.94rem;line-height:1.75;color:var(--mut)}
.abx-go{display:inline-block;margin-bottom:22px;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.abx-go:hover{text-decoration:underline;text-underline-offset:4px}
.abx-bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.abx-bar span{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.abx-show.auto li.on .abx-bar span{animation:abxBar 7s linear forwards}
.abx-show.auto.hold li.on .abx-bar span{animation-play-state:paused}
/* timeline */
.abx-steps{position:relative;list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}
.abx-steps:before,.abx-steps:after{content:"";position:absolute;top:34px;left:12.5%;right:12.5%;height:2px;background:var(--lt-line,#f2dcd4)}
.abx-steps:after{background:linear-gradient(90deg,#ff4d2e,var(--red));transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.abx-steps.in:after{transform:none}
.abx-steps li{position:relative;padding:0 6px;text-align:center}
.abx-dot{position:relative;z-index:1;width:68px;height:68px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--lt-line,#f2dcd4);background:#fff;font:700 1.25rem "Playfair Display",serif;color:var(--mut);transition:background .5s,color .5s,border-color .5s,box-shadow .5s,transform .4s var(--ease)}
.abx-steps.in .abx-dot{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 8px rgba(255,0,0,.08),0 14px 28px -8px rgba(255,0,0,.5)}
.abx-steps.in li:nth-child(2) .abx-dot{transition-delay:.4s,.4s,.4s,.4s,0s}
.abx-steps.in li:nth-child(3) .abx-dot{transition-delay:.8s,.8s,.8s,.8s,0s}
.abx-steps.in li:nth-child(4) .abx-dot{transition-delay:1.2s,1.2s,1.2s,1.2s,0s}
.abx-steps li:hover .abx-dot{transform:translateY(-5px) scale(1.06)}
.abx-steps h3{margin:0 0 8px;font:600 1.08rem/1.35 Poppins,sans-serif;color:var(--ink)}
.abx-steps p{max-width:28ch;margin:0 auto;font-size:.92rem;line-height:1.7;color:var(--mut)}
.abx-steps a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
/* promises */
.abx-pwrap{background:#fff6f2}
.abx-promise{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.abx-pimg{position:relative;margin:0;aspect-ratio:4/5;border-radius:30px;overflow:hidden;box-shadow:0 36px 70px -30px rgba(60,20,10,.5)}
.abx-pimg img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.abx-pimg:hover img{transform:scale(1.05)}
.abx-pimg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,8,0) 55%,rgba(20,10,8,.7));pointer-events:none}
.abx-pimg figcaption{position:absolute;left:28px;right:28px;bottom:26px;z-index:1;font-size:.9rem;color:rgba(255,255,255,.85)}
.abx-pimg figcaption span{display:block;font:700 1.7rem/1.2 "Playfair Display",serif;color:#fff}
.abx-plist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.abx-plist li{display:flex;gap:20px;align-items:flex-start;padding:24px 26px;border-radius:22px;border:1px solid var(--lt-line,#f2dcd4);background:#fff;transition:opacity .7s var(--ease) var(--d,0s),transform .35s var(--ease),box-shadow .35s,border-color .35s}
.abx-plist li:hover{transform:translateX(8px);border-color:rgba(255,0,0,.35);box-shadow:0 18px 36px -18px rgba(204,0,0,.35)}
.abx-plist li.rv.in:hover{transform:translateX(8px)}
.abx-plist i{flex:none;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#fff0ed;color:var(--red);transition:background .35s,color .35s,transform .35s var(--ease)}
.abx-plist li:hover i{background:var(--red);color:#fff;transform:rotate(-6deg)}
.abx-plist h3{margin:2px 0 6px;font:600 1.08rem/1.35 Poppins,sans-serif;color:var(--ink)}
.abx-plist p{margin:0;font-size:.93rem;line-height:1.7;color:var(--mut)}
/* contact banner */
.abx-cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:340px;margin-bottom:28px;border-radius:30px;overflow:hidden}
.abx-cta>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 8s linear}
.abx-cta:hover>img{transform:scale(1.06)}
.abx-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,10,6,.85),rgba(25,10,6,.55) 48%,rgba(25,10,6,.05))}
.abx-cin{max-width:660px;padding:clamp(32px,5vw,64px)}
.abx-cin h2{margin:0 0 10px;font-size:clamp(2rem,4vw,3rem);color:#fff!important}
.abx-cin p{margin:0;color:rgba(255,255,255,.88)}
.abx-cin .eye{color:#ffa63b!important;text-shadow:0 3px 14px rgba(0,0,0,.35)}
.abx-cin .ab-cta .btn.ghost2{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important;backdrop-filter:blur(6px)}
.abx-cin .ab-cta .btn.ghost2:hover{background:#fff!important;color:var(--ink)!important}
@media(max-width:960px){.abx-intro,.abx-show,.abx-promise{grid-template-columns:minmax(0,1fr)}.abx-art{justify-self:center}.abx-tag{right:4%}.abx-media{min-height:0;aspect-ratio:4/3}.abx-pimg{aspect-ratio:16/10}}
@media(max-width:760px){.abx-stats{grid-template-columns:1fr 1fr;row-gap:26px}.abx-stats li:nth-child(3){border:0;padding-left:0}
.abx-steps{grid-template-columns:minmax(0,1fr);gap:26px}.abx-steps:before,.abx-steps:after{top:34px;bottom:34px;left:33px;right:auto;width:2px;height:auto}.abx-steps:after{background:linear-gradient(180deg,#ff4d2e,var(--red));transform:scaleY(0);transform-origin:top}.abx-steps.in:after{transform:none}
.abx-steps li{display:grid;grid-template-columns:68px minmax(0,1fr);column-gap:18px;padding:0;text-align:left}.abx-dot{grid-row:span 2;margin:0}.abx-steps h3{align-self:end;margin-top:8px}.abx-steps p{max-width:none;margin:0}}
@media(max-width:560px){.abx-seal{width:96px;height:96px;left:2%;top:4%}.abx-seal i{width:40px;height:40px}.abx-seal text{font-size:13px}.abx-tag{padding:12px 16px}.abx-p2{border-width:5px}
.abx-tabs button{gap:12px}.abx-n{display:none}.abx-panel>div{padding-left:58px}.abx-media figcaption{left:20px;right:96px;bottom:20px;font-size:.88rem}.abx-num{right:20px;bottom:18px}
.abx-plist li{padding:20px;gap:16px}.abx-cta{min-height:0}.abx-cta:before{background:linear-gradient(180deg,rgba(25,10,6,.55),rgba(25,10,6,.85))}.ab-cta .btn{flex:1 1 100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.abx-intro *,.abx-show *,.abx-steps *,.abx-steps:after,.abx-pimg img,.abx-cta>img{animation:none!important;transition:none!important}.abx-copy h2 em:after{transform:none}}
.cgrid b{overflow-wrap:anywhere}
.cgrid b{font-size:.9rem}
@media(max-width:560px){.ab-cta .btn{flex:1 1 100%}}
.cgrid a.caddr{grid-column:1/-1}.cgrid a.caddr small{display:block;max-width:46ch;margin:4px auto 0;line-height:1.5}
/* About: tab thumbnails and the seal centre are photos */
.abx-tabs i,.abx-seal i{overflow:hidden;padding:0}
.abx-tabs i img,.abx-seal i img{width:100%;height:100%;object-fit:cover;display:block}
/* About seal: new Nexara mark on white, not cropped */
.abx-seal i{padding:7px;background:#fff!important;box-shadow:0 6px 16px rgba(120,20,10,.18)}
.abx-seal i img{object-fit:contain}
/* About: meaning of the name, emblem, vision and mission, standard, why Nexara (About copy, Nov 2026) */
.abx-mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);margin-top:10px}
.abx-mgrid>div{padding:clamp(24px,2.6vw,34px);border:1px solid var(--lt-line,#f2dcd4);border-radius:22px;background:#fff}
.abx-mgrid h3{margin:0 0 12px;font:600 1.45rem/1.2 "Playfair Display",serif;color:var(--red2)}
.abx-mgrid p{margin:0;color:var(--mut);line-height:1.75}
.abx-mgrid .abx-mfin{background:linear-gradient(150deg,#7a0d16,#b3131f 60%,#8a5a12);border:0;display:flex;flex-direction:column;justify-content:center}
.abx-mgrid .abx-mfin h3{color:#f5d68a}.abx-mgrid .abx-mfin p{color:#fff;font:italic 400 1.2rem/1.5 "Playfair Display",serif}
.abx-emb{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.abx-eart{position:relative;padding-bottom:70px}
.abx-elogo{margin:0;background:#fff;border-radius:26px;padding:clamp(22px,3vw,40px);box-shadow:0 22px 50px -24px rgba(120,20,10,.35)}
.abx-elogo img{display:block;width:100%;height:auto}
.abx-etern{position:absolute;right:-6%;bottom:0;width:52%;margin:0;border-radius:18px;overflow:hidden;border:6px solid #fff;box-shadow:0 18px 40px -16px rgba(0,0,0,.35)}
.abx-etern img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.abx-etern figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 8px;font-size:.74rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.abx-emb p{line-height:1.8;color:var(--mut)}
.abx-elist{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.abx-elist li{padding:12px 16px;border-left:3px solid #d4a24c;background:#fff;border-radius:0 12px 12px 0;color:var(--mut);line-height:1.6}
.abx-elist b{color:var(--ink)}
.abx-sw{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.abx-sw>div{display:flex;gap:14px;align-items:center}
.abx-sw i{flex:none;width:54px;height:54px;border-radius:50%!important;box-shadow:inset 0 0 0 3px rgba(255,255,255,.5),0 6px 16px rgba(0,0,0,.18)}
.abx-sw i.ruby{background:radial-gradient(circle at 35% 30%,#e03140,#9b111e 60%,#5e0810)}
.abx-sw i.gold{background:linear-gradient(135deg,#f5d68a,#d4a24c 45%,#a8761f 75%,#f2cf7e)}
.abx-sw p{margin:0;font-size:.88rem;line-height:1.5}.abx-sw b{display:block;color:var(--ink);font-size:1rem}
.abx-vis{max-width:860px;margin:6px auto 34px;padding:clamp(26px,3.4vw,44px);text-align:center;border-radius:26px;background:linear-gradient(150deg,#fff6f2,#fff);border:1px solid var(--lt-line,#f2dcd4);font:italic 400 clamp(1.25rem,2.2vw,1.65rem)/1.5 "Playfair Display",serif;color:var(--ink)}
.abx-vis span{display:block;margin-bottom:12px;font:600 .74rem/1 Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.abx-mlead{text-align:center;color:var(--mut);margin:0 0 22px}
.abx-mis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.abx-mis li{padding:24px 22px;border:1px solid var(--lt-line,#f2dcd4);border-radius:20px;background:#fff}
.abx-mis h3{margin:14px 0 8px;font:600 1.12rem/1.3 "Playfair Display",serif}
.abx-mis p{margin:0;font-size:.9rem;line-height:1.7;color:var(--mut)}
.abx-beyond{margin:22px 0 0;line-height:1.8;color:var(--mut)}.abx-beyond a{color:var(--red2)}
.abx-why{max-width:820px;margin:0 auto;text-align:center}
.abx-why p{font-size:1.06rem;line-height:1.85;color:var(--mut)}
.abx-why .abx-wfin{margin-top:22px;font:italic 400 clamp(1.2rem,2vw,1.5rem)/1.5 "Playfair Display",serif;color:var(--ink)}
@media(max-width:980px){.abx-mis{grid-template-columns:repeat(2,minmax(0,1fr))}.abx-emb{grid-template-columns:1fr}.abx-eart{max-width:520px}}
@media(max-width:700px){.abx-mgrid,.abx-mis,.abx-sw{grid-template-columns:1fr}.abx-etern{right:0}}
.abx-eart{padding-bottom:170px}
.abx-elogo{background:#fff8f3;border:1px solid var(--lt-line,#f2dcd4);box-shadow:none}
.abx-etern{width:46%;right:0}
@media(max-width:700px){.abx-eart{padding-bottom:120px}}

/* nexara-menu.css */
/* Top bar, mega menu dropdowns and footer destination links. Shared by index.html and every generated page.
   Markup comes from tools/lib/menu.mjs. Loaded after nexara-base.css, so equal-specificity rules here win. */

/* ---------- top bar ---------- */
.tbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 4vw;background:#160b08;color:#f3e6e1;font:500 .8rem/1.2 Poppins,sans-serif;position:relative;z-index:51}
.tbar a{display:inline-flex;align-items:center;gap:7px;color:inherit;transition:color .25s}
.tbar a:hover{color:#ffa63b}
.tbl,.tbr{display:flex;align-items:center;gap:14px}
.tbl>a:not(.tmail){width:28px;height:28px;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:#ffa63b}
.tbl>a:not(.tmail):hover{background:linear-gradient(135deg,#ff4d2e,#ffa63b);color:#fff}
.tbl i{width:1px;height:18px;background:rgba(255,255,255,.18)}
.tbar svg{color:#ffa63b;flex:none}
.tnote{opacity:.7}
.tcall b{font-weight:600;letter-spacing:.06em}
@media(max-width:700px){.tnote,.tbl i{display:none}.tmail span{display:none}.tbar{padding:6px 16px}}

/* ---------- desktop menu ---------- */
@media(max-width:1500px){.hc{display:none}}
nav .nl a{padding:9px 14px;font-size:.88rem}
@media(min-width:1181px) and (max-width:1380px){nav .nl a{padding:9px 10px;font-size:.84rem}} /* nine top-level items on small laptops */
nav .nl .mdd{display:inline-flex;align-items:center;border-radius:99px}
nav .nl .mdd>a{padding-right:4px}
.ddt{display:grid;place-items:center;width:22px;height:30px;margin:0 6px 0 0;padding:0;border:0;border-radius:99px;background:none;color:inherit;cursor:pointer}
.ddt svg{transition:transform .3s var(--ease)}
.mdd:hover>.ddt svg,.mdd.open>.ddt svg{transform:rotate(180deg)}
nav .nl .mdd:hover>a{color:var(--red);background:#fff;box-shadow:0 2px 8px rgba(255,0,0,.08)}
nav .nl .mdd>a.cur{color:#fff}

.mega{position:absolute;left:4vw;right:4vw;top:100%;z-index:60;padding:22px 26px 20px;background:#fff;border-radius:0 0 20px 20px;box-shadow:inset 0 3px 0 #ff4d2e,0 26px 50px rgba(17,17,17,.16);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .3s var(--ease),visibility 0s linear .2s;text-align:left}
.mega:before{content:"";position:absolute;left:0;right:0;top:-28px;height:28px} /* hover bridge from the menu item */
.mdd:hover>.mega,.mdd:focus-within>.mega,.mdd.open>.mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mdd.shut>.mega{opacity:0!important;visibility:hidden!important}
.mdd.msm{position:relative}
.mdd.msm>.mega{left:50%;right:auto;top:calc(100% + 14px);width:max-content;max-width:min(760px,92vw);border-radius:18px;transform:translate(-50%,10px)}
.mdd.msm:hover>.mega,.mdd.msm:focus-within>.mega,.mdd.msm.open>.mega{transform:translate(-50%,0)}
.mdd.msm>.mega:before{top:-16px;height:16px}
.mcols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:4px 30px;max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain}
.mdd.msm .mcols{grid-auto-columns:minmax(170px,auto)}
.mg+.mg{margin-top:14px}
.mg h6{margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid #f3dcd3;font:700 .95rem Poppins,sans-serif;color:var(--ink)}
.mg ul{list-style:none;margin:0;padding:0}
.mg li{padding:2px 0}
nav .nl .mega a{display:inline;padding:0;border-radius:0;background:none;box-shadow:none;white-space:normal;font:400 .87rem/1.4 Poppins,sans-serif;color:#3b302c;transition:color .2s}
nav .nl .mega a:hover{color:var(--red);background:none;box-shadow:none}
nav .nl .mega h6 a{font-weight:700;font-size:.95rem;color:var(--ink)}
nav .nl .mega li a:before{content:"";display:inline-block;width:5px;height:5px;margin-right:9px;border-radius:50%;background:linear-gradient(135deg,#ff4d2e,#ffa63b);vertical-align:2px;transition:transform .2s}
nav .nl .mega li a:hover:before{transform:scale(1.6)}
nav .nl .mega a.mall{display:inline-flex;margin-top:14px;padding:10px 22px;border-radius:99px;background:linear-gradient(135deg,#ff0000,#cc0000);color:#fff;font-weight:600;box-shadow:0 8px 18px rgba(255,0,0,.25)}
nav .nl .mega a.mall:hover{color:#fff;box-shadow:0 12px 24px rgba(255,0,0,.35)}

/* ---------- burger menu (phones, tablets and small laptops) ---------- */
@media(max-width:1180px){
  .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,122,47,.55);background:#fff;color:var(--red)}
  nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:6px;padding:12px 5vw 18px;background:rgba(255,255,255,.98);box-shadow:0 14px 24px rgba(0,0,0,.12);max-height:calc(100vh - 80px);overflow-y:auto}
  nav.open{display:flex}
  .nl{flex-direction:column;align-items:stretch;margin:0;padding:6px;border-radius:18px}
  nav .nl a{display:block;border-radius:12px;padding:12px 16px;font-size:1rem}
  nav a.ph{justify-content:space-between;margin:8px 0 0}
  nav .nl .mdd{display:flex;flex-wrap:wrap;border-radius:12px}
  nav .nl .mdd>a{flex:1;padding-right:16px}
  .ddt{width:44px;height:44px;margin:0}
  .mdd:hover>.ddt svg{transform:none}.mdd.open>.ddt svg{transform:rotate(180deg)}
  .mega,.mdd.msm>.mega{position:static;flex-basis:100%;width:auto;max-width:none;display:none;margin:2px 0 8px;padding:14px 16px;border-radius:14px;background:#ffffff;box-shadow:none;opacity:1;visibility:visible;transform:none!important;transition:none}
  .mega:before{display:none}
  .mdd.open>.mega{display:block}
  .mdd.shut>.mega{opacity:1!important;visibility:visible!important}
  .mcols{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-columns:auto;max-height:none;overflow:visible}
  nav .nl .mega a{display:inline!important;padding:0}
  nav .nl .mega a.mall{display:inline-flex!important;padding:10px 22px}
  .mg li{padding:4px 0}
}

/* ---------- footer destination links ---------- */
.flinks{display:grid;gap:14px;max-width:1240px;margin:26px auto 0;padding:22px 0 4px;border-top:1px solid rgba(40,70,110,.12);text-align:left}
.frow h5{margin:0 0 4px;font:600 .74rem Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.frow h5 a{color:var(--red)}
.frow p{margin:0;font-size:.85rem;line-height:1.95}
.frow p a{display:inline-block;white-space:nowrap;color:var(--mut);transition:color .2s}
.frow p a:hover{color:var(--red)}
.frow p a:not(:last-child):after{content:"·";margin:0 8px;color:#c9b7b0}
.mg h6.h0{border-color:transparent} /* continuation column: keeps links level with the first column */
@media(max-width:1180px){.mg h6.h0{display:none}}

/* ---------- compact mega menu spacing (desktop), matched to the GT Holidays menu ----------
   Panel sized to its columns and centred under the menu; narrow columns; ~22px rows; tight heading gaps. */
@media(min-width:1181px){
  .mega{left:50%;right:auto;width:max-content;max-width:calc(100vw - 48px);translate:-50% 0;padding:16px 22px 16px;display:flex;flex-direction:column}
  .mcols{grid-auto-columns:minmax(150px,auto);column-gap:30px;row-gap:0;max-height:calc(100vh - 150px)}
  .mdd.msm .mcols{grid-auto-columns:minmax(150px,auto)}
  .mg+.mg{margin-top:12px}
  .mg h6{margin:0 0 4px;padding-bottom:5px;border-bottom:1px solid #e6e1df;font:600 .86rem/1.3 Poppins,sans-serif}
  .mg ul{margin-top:0}
  .mg li{padding:0;line-height:1.4;white-space:nowrap}
  nav .nl .mega a{font:400 .8rem/1.4 Poppins,sans-serif;color:#222;white-space:nowrap}
  nav .nl .mega h6 a{font-size:.86rem;font-weight:600}
  nav .nl .mega li a:before{width:4px;height:4px;margin-right:7px;vertical-align:2px}
  nav .nl .mega a.mall{align-self:flex-end;margin-top:8px;padding:7px 20px;font-size:.82rem}
}

/* page transition (assets/js/nexara-transition.js): a curved panel sweeps over the page between internal links,
   showing a red-tinted destination photo, a "next stop" caption and a dotted flight route */
.ptx{position:fixed;inset:0;z-index:10050;pointer-events:none;visibility:hidden;overflow:hidden;background:linear-gradient(135deg,#7a0000,#b3261e)}
.ptx.on{visibility:visible;pointer-events:auto}
.ptx>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.ptx:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(110,0,0,.45),rgba(70,0,0,.86) 75%),linear-gradient(135deg,rgba(158,0,0,.55),rgba(179,38,30,.35))}
.ptx-c{position:absolute;inset:0;z-index:1;padding:0 16px;display:flex;justify-content:center;flex-direction:column;align-items:center;text-align:center;color:#fff;opacity:0}
.ptx-k{font:600 .78rem/1 Poppins,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#ffd7c2}
.ptx-n{margin-top:12px;font:700 clamp(2rem,6vw,3.6rem)/1.05 "Playfair Display",Georgia,serif;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.ptx-r{display:block;width:min(560px,100%);height:auto;margin-top:22px;overflow:visible}
.ptx-r path{fill:none;stroke-linecap:round}
.ptx-rb{stroke:rgba(255,255,255,.55);stroke-width:2;stroke-dasharray:.5 9}
.ptx-rp{stroke:#fff;stroke-width:2.5;stroke-dasharray:100;stroke-dashoffset:100}
.ptx-e{fill:none;stroke:#fff;stroke-width:2}
.ptx-d{fill:#fff;filter:drop-shadow(0 0 6px #ffb08a)}
.ptx-w{margin-top:20px;font:500 .74rem/1 Poppins,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.8)}
html.pt-in:after{content:"";position:fixed;inset:0;z-index:10051;background:linear-gradient(135deg,#5a0000,#8a1a14)}

/* ---------- burger overlay: menu, quote and contact panels, animated by assets/js/nexara-menu.js ---------- */
.mbg,.mfeat,.mfoot,header>nav .nl>.mlogo{display:none}
@media(max-width:1180px){
  html.mopen{overflow:hidden}
  html.mopen header{z-index:10000;transform:none!important}
  header>.burger{position:relative;z-index:3}
  html.mopen header>.burger{position:fixed;top:18px;right:max(5vw,20px)}
  header>nav{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:8px;max-height:none;padding:12px;overflow:hidden;background:none;box-shadow:none;visibility:hidden;pointer-events:none}
  header>nav.open{visibility:visible;pointer-events:auto}
  header>nav>.hc,header>nav>.ph{display:none!important}
  header>nav .nl>.mlogo{display:flex!important;text-transform:none;letter-spacing:0;align-items:center;gap:10px;height:44px;margin:0 0 12px;padding:0 4px;background:none!important}
  header>nav .nl>.mlogo:after{display:none}
  .mlogo img{height:44px!important;width:auto!important;border-radius:0!important;box-shadow:none!important}
  .mbg{display:block;position:absolute;inset:0;background:rgba(17,17,17,.5);opacity:0}
  nav.open>.mbg{opacity:1}
  .mpanel{position:relative;width:100%;border:2px solid;border-radius:18px!important}
  header>nav>.nl{flex:1;min-height:0;margin:0;padding:14px;overflow-y:auto;overscroll-behavior:contain;background:#fff!important;border:2px solid #1e1e1e!important}
  .mfeat{display:flex;flex-direction:column;flex:none;padding:18px 20px;background:#9e0000;border-color:#7a0000;color:#fff}
  .mfeat small{margin-bottom:10px;font:600 .66rem Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
  .mfc{display:flex;align-items:center;gap:14px}
  .mfc i{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px!important;background:rgba(0,0,0,.14)}
  .mfc b{display:block;font:600 1.05rem/1.25 Poppins,sans-serif;color:#fff}
  .mfeat .mfc p{margin:2px 0 0;font-size:.78rem;line-height:1.4;color:rgba(255,255,255,.88)}
  .mfa{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  header>nav .mfa a{display:inline-block!important;padding:7px 16px;border:1px solid rgba(255,255,255,.45);border-radius:99px!important;background:rgba(0,0,0,.12);font:600 .76rem Poppins,sans-serif;letter-spacing:.04em;color:#fff}
  header>nav .mfa a:first-child{background:#fff;border-color:#fff;color:var(--red)}
  .mfoot{display:flex;align-items:center;flex:none;min-height:96px;padding:18px 20px;background:#1e1e1e;border-color:#42433d;overflow:hidden}
  .mfoot ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0 70px 0 0;list-style:none}
  header>nav .mfoot a{display:inline-block!important;padding:4px 0;border-radius:0;background:none;font:500 .76rem Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#cfcfcf}
  header>nav .mfoot a:hover{color:#fff;background:none}
  header>nav .mfa a:after,header>nav .mfoot a:after{display:none}
  .mfoot img{position:absolute;right:18px;top:50%;width:84px;height:auto;margin-top:-27px;border-radius:0!important}
}

/* desktop header fits the screen: logo, menu and quote button never run past the right edge.
   Item spacing and text scale with the width; the phone block shows only where there is room. */
@media(min-width:1181px){
  header{padding-left:clamp(16px,3vw,64px);padding-right:clamp(16px,3vw,64px);gap:clamp(8px,1vw,18px)}
  header>.brand{flex:none}
  header>nav{min-width:0;gap:clamp(8px,.8vw,14px)}
  header>nav .nl>a,header>nav .nl .mdd>a{padding:9px clamp(5px,.75vw - 2px,14px);font-size:clamp(.74rem,.5rem + .3vw,.86rem);letter-spacing:0;white-space:nowrap}
  header>nav .nl .mdd>a{padding-right:2px}
  header>nav>a.ph{margin-left:0;padding:6px 6px 6px clamp(12px,1vw,22px);gap:clamp(6px,.6vw,12px);font-size:clamp(.72rem,.5rem + .25vw,.84rem);letter-spacing:.06em}
}
@media(min-width:1181px) and (max-width:1799px){header>nav>.hc{display:none}}
@media(min-width:1800px){header>nav>.hc{display:flex}}
@media(min-width:1181px) and (max-width:1279px){header{padding-left:20px;padding-right:20px}header>nav .nl>a,header>nav .nl .mdd>a{padding-left:4px;padding-right:4px}header>nav .nl .mdd>a{padding-right:1px}}

/* ten menu items (with Sacred): tighten the desktop menu just above the burger breakpoint so the quote button stays on screen */
@media(min-width:1181px) and (max-width:1366px){
  header>nav .nl>a,header>nav .nl .mdd>a{padding:9px 7px;font-size:.78rem}
  header>nav .nl .mdd>a{padding-right:1px}
  header>nav .ddt{width:16px;margin-right:3px}
  header>nav a.ph{margin-left:6px}
}
@media(min-width:1181px) and (max-width:1300px){header>.brand .bw{display:none}}

/* eleven menu items (with Experiences): from 1181 to 1535px the quote button shows only its arrow
   (the label stays available to screen readers), and the phone block waits until 1900px */
@media(min-width:1181px) and (max-width:1535px){
  header>nav>a.ph{padding:6px;gap:0;margin-left:4px}
  header>nav>a.ph>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(min-width:1800px) and (max-width:1899px){header>nav>.hc{display:none}}
/* top bar social links are text; the header call link is text only, so it hides with its label */
.tbl>a:not(.tmail){width:auto;height:auto;background:none;border-radius:0;color:#ffa63b;font-size:.78rem}
.tbl>a:not(.tmail):hover{background:none;color:#fff}
@media(max-width:700px){.tmail{display:none}}
@media(max-width:1340px){.hc .hcall{display:none}}
.mfc i{overflow:hidden;padding:0}
.mfc i img{width:100%;height:100%;object-fit:cover;display:block}

/* nexara-ui.css */
/* Visual layer for inner pages: GT-style page header (title, large photo, facts panel), photo-top cards,
   galleries, lightbox and scroll reveals. Flat and square: no rounded corners, gradients or gloss.
   Loaded after nexara-base/pages/menu.css; nexara-flat.css then squares off everything else. */

/* ---------- page header with photo ---------- */
.ph2{background:#fff;border-bottom:1px solid var(--line)}
.ph2w{max-width:1240px;margin:0 auto;padding:28px 5vw 40px}
.ph2 .crumb{font-size:.82rem;color:var(--mut);margin-bottom:14px}
.ph2 .crumb a{color:var(--mut);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.ph2 .crumb a:hover{color:var(--red)}
.ph2h{border-left:4px solid var(--red);padding:2px 0 2px 18px;margin-bottom:22px}
.ph2h .scr{display:block;font:600 .78rem Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.ph2h h1{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.1;margin:6px 0 0;color:var(--ink)}
.ph2h p{margin:10px 0 0;max-width:820px;color:var(--mut);font-size:1rem}
.ph2h .meta{display:flex;flex-wrap:wrap;gap:6px 20px}.ph2h .meta span{display:inline-flex;align-items:center;gap:6px}.ph2h .meta svg{color:var(--red)}
.ph2g{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:24px;align-items:stretch}
.ph2g.one{grid-template-columns:1fr}
.ph2f{position:relative;align-self:start;width:100%;margin:0;aspect-ratio:1.85/1;overflow:hidden;background:#eee}
.ph2g.one .ph2f{aspect-ratio:2.6/1}
.ph2f img{width:100%;height:100%;object-fit:cover;display:block;animation:fadein .8s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.ph2f .pcred{position:absolute;right:0;bottom:0;margin:0;padding:4px 8px;font-size:.66rem;color:#fff;background:rgba(0,0,0,.55)}
.ph2f .pcred a{color:#fff;text-decoration:underline}
.ph2a{display:flex;flex-direction:column;background:#f6f6f6;border:1px solid var(--line);padding:22px}
.hf{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.hf div{display:flex;flex-direction:column-reverse;gap:2px;min-width:0}
.hf b{font:500 1.12rem/1.3 Poppins,sans-serif;color:var(--ink);overflow-wrap:anywhere}
.hf small{font-size:.76rem;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
.hf div.hfw{grid-column:1/-1}
.hfn{font-size:.78rem;color:var(--mut);margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.hfb{display:grid;gap:10px;margin-top:auto;padding-top:22px}
.hfb .btn{display:block;text-align:center;margin:0}
@media(max-width:900px){.ph2g{grid-template-columns:1fr}.ph2f,.ph2g.one .ph2f{aspect-ratio:1.6/1}}

/* ---------- spacing ---------- */
body.sub main>section,body.sub .alt>section{padding-top:clamp(52px,6vw,84px);padding-bottom:clamp(52px,6vw,84px)}
body.sub section.tight{padding-top:44px;padding-bottom:44px}
body.sub section>.h{margin-bottom:8px}
body.sub section>.h h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.lay{padding:clamp(44px,5vw,72px) 5vw;gap:clamp(28px,4vw,56px)}
.prose p,.prose li{line-height:1.8}
.prose h2{margin:44px 0 14px}.prose h2:first-child{margin-top:0}

/* ---------- cards: photo on top, text below ---------- */
body.sub .dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:26px;width:auto;margin-top:30px;animation:none}
body.sub .dgrid.sm{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:22px}
body.sub .dgrid .dc{position:relative;display:flex;flex-direction:column;width:auto;height:auto;min-height:0;margin:0;overflow:hidden;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none;transition:border-color .25s,transform .25s}
body.sub .dgrid .dc:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:none}
body.sub .dgrid .dc:before,body.sub .dgrid .dc:after{display:none}
body.sub .dgrid .dm{position:relative;inset:auto;height:auto;aspect-ratio:1.85/1;flex:none}
body.sub .dgrid .dm:after{display:none}
body.sub .dc .dm img{transition:transform .8s var(--ease)}
body.sub .dc:hover .dm img{transform:scale(1.05)}
body.sub .dgrid .db{position:static;display:flex;flex:1;flex-direction:column;padding:18px 20px 18px}
body.sub .dgrid .db h3{color:var(--ink);text-shadow:none;font-size:1.35rem;margin:10px 0 6px}
body.sub .dgrid .db p{color:var(--mut);-webkit-line-clamp:3}
body.sub .dgrid .dcat span{color:var(--red);background:#fff0ed;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
body.sub .dgrid .dbest{max-height:none;opacity:1;font-size:.8rem;color:var(--mut);margin-top:10px}
body.sub .dgrid .dbest b{color:var(--red);margin-right:6px}
body.sub .dgrid .dgo{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);color:var(--red)}
body.sub .dgrid .dr{position:absolute;top:0;left:0;right:auto;bottom:auto;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:var(--red);color:#fff;font-size:.72rem}
body.sub .dgrid .dn{position:absolute;top:0;right:0;left:auto;z-index:2;background:#111;color:#fff;font-size:.8rem;padding:5px 10px}

/* ---------- attraction gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 22px}
.gal figure{margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .25s}
.gal figure:hover{border-color:var(--red)}
.gal figure>a{display:block;position:relative;aspect-ratio:1.85/1;overflow:hidden;cursor:zoom-in}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{padding:12px 14px 14px;display:grid;gap:3px}
.gal figcaption b{font:600 1rem Poppins,sans-serif;color:var(--ink)}
.gal figcaption span{font-size:.88rem;color:var(--mut);line-height:1.5}
.gal figcaption small{font-size:.66rem;color:#a39690;margin-top:4px}
.gal figcaption small a{color:inherit;text-decoration:underline}
.gal:has(figure:only-child){grid-template-columns:1fr}
@media(max-width:560px){.gal{grid-template-columns:1fr}}

/* ---------- package photo strip ---------- */
.pstrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;max-width:1240px;margin:0 auto;padding:24px 5vw 0}
.pstrip a{position:relative;aspect-ratio:1.85/1;overflow:hidden;color:#fff}
.pstrip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pstrip a:hover img{transform:scale(1.05)}
.pstrip span{position:absolute;left:0;bottom:0;z-index:1;padding:6px 12px;background:rgba(0,0,0,.65);font:600 .95rem Poppins,sans-serif}
@media(max-width:700px){.pstrip{grid-auto-flow:row;grid-template-columns:1fr 1fr}}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:4vh 4vw;background:rgba(10,6,4,.92);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.lb.on{opacity:1;visibility:visible;transition:opacity .3s}
.lb figure{margin:0;max-width:min(1400px,100%);text-align:center}
.lb img{max-width:100%;max-height:80vh}
.lb figcaption{color:#fff;margin-top:14px;font:500 1rem Poppins,sans-serif}
.lb button{position:absolute;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}
.lb button:hover{background:var(--red);border-color:var(--red)}
.lb .lbx{top:18px;right:18px}.lb .lbp{left:18px;top:50%;margin-top:-24px}.lb .lbn{right:18px;top:50%;margin-top:-24px}

/* ---------- scroll reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.ph2f img{animation:none}}
/* header tweaks: photo fills the row height, facts top-aligned, tighter gap to the body */
.ph2g{align-items:stretch}
.ph2g:not(.one) .ph2f{align-self:stretch;aspect-ratio:auto;min-height:clamp(320px,34vw,480px)}
.hf{align-items:start}
.hf div{flex-direction:column;justify-content:flex-start}
.hf small{order:-1}
.hfn{margin-top:auto}
.ph2a .hfb{margin-top:0}
.ph2+.lay,.ph2+section,.ph2+.pstrip{padding-top:44px}
.ph2+.lay{border-top:0}
body.sub main>section.ph2{max-width:none;margin:0;padding:0}

/* ---------- destination template sections ---------- */
.sh{font:600 1.05rem Poppins,sans-serif;margin:26px 0 12px;color:var(--ink)}
.hint2{font-size:.82rem;color:var(--mut);margin:10px 0 0}
/* essential tips */
.etips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:14px;margin-top:24px}
.etip{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:18px}
.etip i{flex:none;width:42px;height:42px;display:grid;place-items:center;background:#fff0ed;color:var(--red)}
.etip b{display:block;font:600 .98rem Poppins,sans-serif;margin-bottom:4px}
.etip p{margin:0;font-size:.88rem;line-height:1.6;color:#3b3b3b}
/* map */
.mapw{position:relative;aspect-ratio:2.2/1;border:1px solid var(--line);background:#eef2f4;margin-top:22px}
.mapw iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.maplink{font-size:.85rem;color:var(--mut);margin:10px 0 0}.maplink a{color:var(--red);font-weight:600}
.mpl{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 18px}
.mpl li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.88rem}
.mpl a{font-weight:500}.mpl a:hover{color:var(--red)}.mpl small{color:var(--mut)}
@media(max-width:700px){.mapw{aspect-ratio:1.2/1}}
/* traveller types */
.ttg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px;margin-top:22px}
.tt{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--red);background:#fff;transition:border-color .2s}
.tt:hover{border-color:var(--red)}.tt b{font:600 1rem Poppins,sans-serif}.tt span{font-size:.82rem;color:var(--mut)}
/* departure cities */
.depg{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dep{border:1px solid var(--line);background:#fff;padding:10px 16px;font:500 .9rem Poppins,sans-serif;cursor:pointer;color:var(--ink)}
.dep:hover{background:var(--red);border-color:var(--red);color:#fff}
/* item cards (heritage, wildlife, nature, attractions without photos) */
.icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px;margin-top:16px}
.icard{display:flex;flex-direction:column;gap:4px;padding:16px;background:#fff;border:1px solid var(--line)}
.icard b{font:600 .98rem Poppins,sans-serif}.icard span{font-size:.86rem;color:var(--mut);line-height:1.5}
.icard a{margin-top:auto;padding-top:6px;font-size:.82rem;font-weight:600;color:var(--red)}
.gal.g3{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.gal .figl{font-size:.82rem;font-weight:600;color:var(--red);margin-top:4px}
/* outdoor activities */
.acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px;margin-top:22px}
.act{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:16px;background:#fff;border:1px solid var(--line)}
.act b{font:600 .95rem Poppins,sans-serif}
.act button{align-self:flex-start;border:0;background:none;padding:0;color:var(--red);font:600 .82rem Poppins,sans-serif;cursor:pointer}
.act button:hover{text-decoration:underline}
/* travel tips + inline enquiry form */
.tt2{max-width:880px}.tt2 h3{margin-top:26px}
.dform #ctf{max-width:880px}
@media(max-width:700px){#facts .gl2{grid-template-columns:1fr 1fr;gap:8px}#facts .gl2>div{padding:12px}#facts .gl2 i{display:none}}

/* ---------- interactive rounded cards (overrides the square rule for cards only) ---------- */
body.sub .dgrid{perspective:1200px}
body.sub .dgrid .dc{border-radius:20px!important;border:1px solid var(--line);transform-style:preserve-3d;
  transition:transform .45s var(--ease),border-color .3s,box-shadow .45s;will-change:transform}
body.sub .dgrid .dc:hover{border-color:transparent;box-shadow:0 22px 46px rgba(30,30,30,.16)!important}
body.sub .dgrid .dc .dm{border-radius:20px 20px 0 0!important;overflow:hidden}
body.sub .dgrid .dc .dm img{transition:transform 1.1s var(--ease),filter .5s}
body.sub .dgrid .dc:hover .dm img{transform:scale(1.12);filter:saturate(1.12) brightness(1.03)}
/* image overlay: location sits at the bottom of the photo, badge top-right */
body.sub .dgrid .dm:after{display:block!important;content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(15,15,15,.72));pointer-events:none;transition:opacity .4s}
body.sub .dgrid .dr{top:auto!important;bottom:12px;left:12px!important;right:12px;max-width:calc(100% - 24px);background:transparent!important;padding:0!important;font-size:.8rem!important;font-weight:500;z-index:3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important;text-shadow:0 1px 6px rgba(0,0,0,.5)!important}
body.sub .dgrid .dr svg{display:inline;vertical-align:-2px;margin-right:4px}
body.sub .dgrid .dn{top:12px!important;right:12px!important;border-radius:99px!important;background:var(--red)!important;padding:6px 12px!important;font-weight:600;
  transform:translateY(-4px);opacity:.95;transition:transform .4s var(--ease)}
body.sub .dgrid .dc:hover .dn{transform:translateY(0) scale(1.06)}
/* tags pop, title shifts, arrow slides, accent bar grows */
body.sub .dgrid .dcat span{border-radius:99px!important;transition:background .3s,color .3s}
body.sub .dgrid .dc:hover .dcat span{background:var(--red)!important;color:#fff!important}
body.sub .dgrid .db h3{transition:color .3s}
body.sub .dgrid .dc:hover .db h3{color:var(--red)}
body.sub .dgrid .dgo i{display:inline-block;transition:transform .35s var(--ease)}
body.sub .dgrid .dc:hover .dgo i{transform:translateX(8px)}
body.sub .dgrid .dc:after{display:block!important;content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--red);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);border-radius:0 0 20px 20px!important;z-index:4}
body.sub .dgrid .dc:hover:after{transform:scaleX(1)}
/* entrance: cards rise in one after another */
body.sub .dgrid .dc.rv{opacity:0;transform:translateY(34px) scale(.97)}
body.sub .dgrid .dc.rv.in{opacity:1;transform:none}
body.sub .dgrid .dc.rv.in:hover{transform:translateY(-8px)}

/* other content cards: rounded with a gentle lift */
.gal figure,.icard,.etip,.tt,.act,.acard,.box,.ph2a,.ph2f,.mapw,.pstrip a,.gl2>div,.dep{border-radius:16px!important}
.gal figure>a{border-radius:16px 16px 0 0!important}
.etip i{border-radius:12px!important}
.icard,.etip,.tt,.act,.gl2>div{transition:transform .35s var(--ease),box-shadow .35s,border-color .3s}
.icard:hover,.etip:hover,.tt:hover,.act:hover,.gl2>div:hover{transform:translateY(-5px);border-color:transparent;box-shadow:0 16px 34px rgba(30,30,30,.12)!important}
.gal figure:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(30,30,30,.14)!important}
.gal figure{transition:transform .4s var(--ease),box-shadow .4s}
.dep{transition:transform .25s var(--ease),background .25s,color .25s}.dep:hover{transform:translateY(-3px)}
.btn,nav a.ph,.enq{border-radius:10px!important}
nav .nl a.cur{border-radius:8px!important}
.ftabs button{border-radius:99px!important}
@media(prefers-reduced-motion:reduce){body.sub .dgrid .dc,body.sub .dgrid .dc *{transition:none!important}}

/* own packages: highlight chips and the photo gallery */
.pkhl{list-style:none;padding:0;margin:14px 0 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px}
.pkhl li{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:500 .95rem Poppins,sans-serif;color:var(--ink);transition:border-color .25s,transform .25s,box-shadow .25s}
.pkhl li:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.pkhl i{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,0,0,.08);color:var(--red)}
.pkgal{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.pkgal figure{border-radius:14px}

/* nexara-flat.css */
/* Flat, square style for the whole site (home page and generated pages). Loaded last.
   Square corners everywhere, no gloss: no shine sweeps, gradient buttons, gradient text, glass blur or drop shadows.
   Kept round on purpose: the circular logo and the floating WhatsApp button. */
:root{--grad:#ff0000}

/* square corners */
*,*:before,*:after{border-radius:0!important}
a.wa{border-radius:50%!important}
.more-pl{border-radius:24px!important}
.mpi{border-radius:999px!important}
.mpi i,.mpi:after{border-radius:50%!important}
.mpi i{overflow:hidden}.mpi i img{width:100%;height:100%;object-fit:cover;display:block}
/* kept rounded: package cards, destination cards, trip finder, video reel */
.card,.dc,.tfr,.rp{border-radius:22px!important;overflow:hidden}
.opt button{border-radius:16px!important}
.card .dd button,.card .btn,.tfr .btn,.tfr .match,.rside .btn,.chips button,.chips a,.rside .tg span,.dc .dcat span,.dc .dn,.dc .dr,.rp .vb{border-radius:10px!important}
.opt button.on:after,.rov button{border-radius:50%!important}
.tfn>button{border-radius:50%!important}.tfd button{border-radius:99px!important}
/* readable text: white on the trip finder photo and on selected (red) options */
.tfi h3,.tfi p{color:#fff!important}
.opt button.on,.opt button.on i{color:#fff!important}
.opt button.on small{color:rgba(255,255,255,.85)!important}
.opt button.on:after{background:#fff!important;color:var(--red)!important}
.tfi .btn{margin:0 8px 0 0!important;vertical-align:middle}

/* no glass, no drop shadows, no glow text */
*{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
/* these pulses only animate box-shadow, which is off above; left running they restyle every frame for nothing */
.wa,.rov button,.enq i,.live,.fbatch:before{animation:none!important}
h1,h2,h3,.btn,nav a{text-shadow:none!important}
header,header.sc{background:#fff!important}
header:after{background:var(--red)!important;opacity:1!important;height:2px!important}

/* no shine sweeps */
.btn:before,nav a.ph:before,.card:before,.card:after,#dgrid .dc:before,#dgrid .dc:after,.dc:before{display:none!important;animation:none!important}

/* solid buttons */
.btn,.btn.red,nav a.ph,.enq,nav .nl .mega a.mall{background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important}
.btn:hover,.btn.red:hover,nav a.ph:hover,.enq:hover,nav .nl .mega a.mall:hover{background:#cc0000!important;border-color:#cc0000!important;transform:none!important}
.btn.ghost2,.btn.glass{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.btn.ghost2:hover,.btn.glass:hover{border-color:var(--red)!important;color:var(--red)!important}
.hero .sl .btn.glass{background:transparent!important;color:#fff!important;border-color:#fff!important}
nav a.ph i{background:#fff!important;color:var(--red)!important}
nav a.ph:hover i{transform:none!important}

/* menu: square tabs, solid current item */
.nl{background:#fff!important;border:1px solid var(--line)!important}
nav .nl a.cur,nav .nl a.cur:hover{background:var(--red)!important;color:#fff!important}
.tabs .ind,.ftabs button.on,.opt button.on{background:var(--red)!important;color:#fff!important}

/* flat text: no gradient-filled headings */
.sl small,.eye,.scr,.sct,.fcta h3 em,.bw i{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--red)!important;filter:none!important}
.pgh .scr,.hero .sl small,.sl small{color:#ffb15c!important}
.bw i{color:#ff7a2f!important}

/* flat panels */
.cta,.fcta{background:var(--red)!important}
.cta:before,.cta:after,.fin:before,.glance:before{display:none!important}
.fin{background:#f6f6f6!important}
.pgh.mo{background:#b20000!important}
.stat,.stat b{background:none!important}
#prog{background:var(--red)!important}
.top{background:#b20000!important}

/* tag chips and badges: square, flat */
.dcat span,.tg span,.route a,.route span,.tbl>a:not(.tmail){border-radius:0!important}
.tbl>a:not(.tmail):hover{background:var(--red)!important;color:#fff!important}
nav .nl .mega li a:before{background:var(--red)!important}
.mega{box-shadow:none!important;border:1px solid var(--line)!important;border-top:3px solid var(--red)!important}
/* buttons on red panels */
.cta .btn,.fcta .btn{background:#fff!important;color:var(--red)!important;border-color:#fff!important}
.cta .btn.glass,.fcta .btn.glass{background:transparent!important;color:#fff!important;border-color:#fff!important}
.cta .btn:hover,.fcta .btn:hover{background:#111!important;color:#fff!important;border-color:#111!important}
.stat b{-webkit-text-fill-color:currentColor!important;color:var(--red)!important}

/* ---------- three-colour scheme (like GT: brand colour + white + charcoal) ----------
   white pages · Nexara red for buttons, active menu and accents · charcoal footer · light-grey copyright bar */
:root{--char:#1e1e1e;--char2:#2a2a2a;--bar:#efefef}
.sky{display:none!important}
footer{color:#cfcfcf!important;background:var(--char)}
.fin{background:var(--char)!important;padding:56px 5vw 0!important}
.fin:before,.fin:after,.fcta:after{display:none!important}
.fcta{background:var(--red)!important;padding:30px 36px!important;margin-bottom:48px!important;border:0!important}
.fcta h3,.fcta h3 em{color:#fff!important;-webkit-text-fill-color:#fff!important}
.fcta p{color:rgba(255,255,255,.88)!important}
.fg{background:transparent!important;border:0!important;padding:0!important}
footer h5{color:#fff!important;font:400 1.5rem "Playfair Display",Georgia,serif!important;letter-spacing:0!important;text-transform:none!important;padding-bottom:14px!important}
footer h5:after{background:var(--red)!important;width:44px!important;height:2px!important}
.fg a,.fbrand p,.frow p a{color:#cfcfcf!important}
.fg a:hover,.frow p a:hover{color:#fff!important}
.fc svg{color:var(--red)!important}
.soc a{border:1px solid rgba(255,255,255,.25)!important;color:#fff!important}
.soc a:hover{background:var(--red)!important;border-color:var(--red)!important}
.flinks{border-top:1px solid rgba(255,255,255,.12)!important}
.frow h5{font:600 .74rem Poppins,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important;padding:0!important}
.frow h5:after{display:none!important}
.frow h5 a{color:#fff!important}
.frow p a:not(:last-child):after{color:#555!important}
/* light-grey copyright bar, full width */
.fb2{max-width:none!important;margin:48px -5vw 0!important;padding:22px 5vw!important;background:var(--bar)!important;border:0!important;color:#333!important;font-size:.85rem!important}
.fb2 a{color:#333!important}.fb2 a:hover{color:var(--red)!important}
footer .credits{max-width:none!important;margin:0 -5vw!important;padding:0 5vw 96px!important;background:var(--bar)!important;color:#666!important;opacity:1!important}
footer .credits a{color:#666!important}
/* footer CTA button: white on red */
.fcta .btn{background:#fff!important;color:var(--red)!important;border-color:#fff!important}
.fcta .btn:hover{background:var(--char)!important;color:#fff!important;border-color:var(--char)!important}
.soc a,footer .soc a{background:transparent!important;color:#fff!important}
.soc a svg{color:#fff!important;stroke:#fff}
.soc a:hover svg{color:#fff!important}
.fb2{padding-bottom:84px!important}
footer .fb2+.credits{margin-top:-62px!important;padding-bottom:84px!important}

/* GT Holidays-style type: light serif headings, light grey Poppins body, bold uppercase nav */
body{font-family:Poppins,system-ui,sans-serif;font-weight:300;color:#3d3d3d}
h1,h2,h3,h4,h5{font-family:"Playfair Display",Georgia,serif!important;font-weight:400!important;color:#222;letter-spacing:0}
h1{line-height:1.15}
p,li,td,dd{font-weight:300;color:#555}
b,strong,th,dt,label{font-weight:500}
small,.sub,.lead{color:#666}
nav .nl>a,nav .nl .mdd>a{font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:.86rem}
.btn,.enq,nav a.ph{font-family:Poppins,sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
/* page banners, red call-to-action boxes and photo card captions: keep text white on the dark background */
.pgh h1,.pgh h2,.cta h2,.cta h3,.fcta h2,.fcta h3{color:#fff}
.pgh p,.pgh li,.cta p,.cta li,.cta small,.fcta p,.fcta li{color:rgba(255,255,255,.9)}
.tpi small{color:rgba(255,255,255,.88)}
/* hero slides: keep text white over the photos */
.sl,.sl h1,.sl h2,.sl p,.sl li,.sl .kick,.hf li{color:#fff!important}
/* scroll story captions: keep text white over the film */
.scap h2,.scap p,#sqcaps h2,#sqcaps p{color:#fff!important}
/* large red areas use a deeper red: full #ff0000 across a wide panel is tiring to look at. Buttons and accents keep --red */
:root{--red-deep:#9e0000}
.cta,.fcta{background:var(--red-deep)!important;box-shadow:none!important}
.cta .btn,.fcta .btn{color:var(--red-deep)!important}
.cta .btn.glass,.fcta .btn.glass{color:#fff!important}
.cta .btn:hover,.fcta .btn:hover{color:#fff!important}
.cta h2,.cta h3,.fcta h2,.fcta h3,.fcta h3 em{color:#fff!important;-webkit-text-fill-color:#fff!important}
.cta p,.cta li,.cta small,.fcta p,.fcta li{color:rgba(255,255,255,.88)!important}
.cta .eye{color:#ffb38a!important}

/* nexara-dest.css */
/* Spotlight header and section designs for destination, package and theme pages. Loaded after nexara-flat.css.
   The flat theme squares every corner; these blocks are rounded on purpose, so their radii and shadows carry !important. */

/* ---------- spotlight header ---------- */
.spot{background:#fff;padding:18px 5vw 54px;border-bottom:1px solid var(--line)}
.spw{max-width:1240px;margin:0 auto}
.spot .crumb{font-size:.82rem;color:var(--mut);margin:0}
.spot .crumb a{color:var(--mut);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.spot .crumb a:hover{color:var(--red)}
.spg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(28px,4vw,56px);align-items:center;margin-top:22px}
.spe{display:inline-flex;align-items:center;gap:10px;font:600 .76rem/1.3 Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.spe:before{content:"";flex:none;width:8px;height:8px;background:var(--red);border-radius:50%!important}
.spe:after{content:"";flex:none;width:34px;height:2px;background:var(--red)}
.spot h1{font:700 clamp(2rem,4.2vw,3.4rem)/1.1 Poppins,sans-serif;letter-spacing:-.02em;color:var(--ink);margin:14px 0 14px}
.spot h1 em{font-style:normal;color:var(--red)}
.spd{color:var(--mut);font-size:1rem;line-height:1.75;max-width:58ch;margin:0 0 24px}
.spk{font:600 .76rem/1 Poppins,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0 0 14px;display:flex;align-items:center;gap:12px}
.spk:after{content:"";flex:1;height:1px;background:var(--line)}
.spf{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}
.spf li{display:flex;gap:12px;align-items:center;min-width:0}
.spf i{flex:none;width:46px;height:46px;border-radius:50%!important;background:#ffe9e6;color:var(--red);display:grid;place-items:center}
.spf i svg{width:20px;height:20px}
.spf span{min-width:0}
.spf small{display:block;font-size:.74rem;color:var(--mut);margin-bottom:2px}
.spf b{display:block;font:600 .9rem/1.35 Poppins,sans-serif;color:var(--ink);overflow-wrap:anywhere}
.spt{display:flex;align-items:center;gap:10px;margin:0 0 26px;padding:12px 16px;background:#fff7f5;border:1px dashed #ffc2b8;border-radius:14px!important;font-size:.9rem;color:var(--ink)}
.spt svg{flex:none;color:var(--gold)}
.spb{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.spbtn{display:inline-flex;align-items:center;gap:14px;background:var(--red);color:#fff;padding:9px 9px 9px 26px;border-radius:999px!important;font:600 .95rem/1.2 Poppins,sans-serif;box-shadow:0 12px 26px -10px rgba(255,0,0,.55)!important;transition:background .25s}
.spbtn span{width:34px;height:34px;border-radius:50%!important;background:#fff;color:var(--red);display:grid;place-items:center;transition:transform .25s}
.spbtn:hover{background:#cc0000;color:#fff}
.spbtn:hover span{transform:translateX(3px)}
.spwa{display:inline-flex;align-items:center;gap:12px;font:600 .92rem/1.3 Poppins,sans-serif;color:var(--ink)}
.spwa i{flex:none;width:48px;height:48px;border-radius:50%!important;border:1.5px solid var(--red);color:var(--red);display:grid;place-items:center;transition:background .25s,color .25s}
.spwa:hover{color:var(--red)}
.spwa:hover i{background:var(--red);color:#fff}

.spr{position:relative}
.sps{position:relative;aspect-ratio:5/4;border-radius:28px!important;overflow:hidden;background:#2a2a2a;box-shadow:0 34px 60px -28px rgba(17,17,17,.45)!important}
.sps figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.sps figure.on{opacity:1}
.sps img{width:100%;height:100%;object-fit:cover;display:block}
.sps:after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(0,0,0,.38),transparent 38%,transparent 62%,rgba(0,0,0,.42));pointer-events:none}
.sps.sp0>svg{position:absolute;inset:auto 0 0;width:100%;height:70%}
.spscr{position:absolute;z-index:2;top:8%;right:7%;text-align:right;font:400 clamp(2rem,3.3vw,3rem)/.92 "Mr Dafoe",cursive;color:#fff;rotate:-8deg;text-shadow:0 3px 16px rgba(0,0,0,.45)!important;pointer-events:none}
.spc{position:absolute;z-index:2;left:20px;bottom:20px;display:flex;align-items:center;gap:14px;max-width:calc(100% - 40px);background:rgba(255,255,255,.96);padding:8px 8px 8px 18px;border-radius:999px!important}
.spc b{font:600 .86rem/1.3 Poppins,sans-serif;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spc:before{content:"";flex:none;width:8px;height:8px;border-radius:50%!important;background:var(--red);margin-right:-4px}
.spc button{flex:none;width:36px;height:36px;border-radius:50%!important;background:var(--red);color:#fff;border:0;display:grid;place-items:center;cursor:pointer}
.spc button:hover{background:#cc0000}
.spdots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.spdots button{width:9px;height:9px;padding:0;border:0;border-radius:99px!important;background:#e8d5d1;cursor:pointer;transition:width .3s,background .3s}
.spdots button.on{width:28px;background:var(--red)}

/* ---------- top packages row ---------- */
.tph{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 30px;flex-wrap:wrap;text-align:left}
.tph>div{max-width:640px}
.tpl{display:inline-flex;align-items:center;gap:8px;color:var(--red);font:600 .92rem Poppins,sans-serif;white-space:nowrap;padding-bottom:6px;border-bottom:2px solid currentColor}
.tpg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tpc{position:relative;display:block;aspect-ratio:4/5;border-radius:22px!important;overflow:hidden;color:#fff;background:#2a2a2a}
.tpc img,.tpf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.tpc:hover img{transform:scale(1.06)}
.tpc:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.82))}
.tpb{position:absolute;z-index:2;top:14px;left:14px;background:#fff;color:var(--red);font:600 .72rem/1 Poppins,sans-serif;padding:7px 12px;border-radius:99px!important}
.tpc:nth-child(2) .tpb{background:var(--red);color:#fff}
.tpc:nth-child(3) .tpb{background:var(--gold);color:#fff}
.tpc:nth-child(4) .tpb{background:#111;color:#fff}
.tpi{position:absolute;z-index:2;left:18px;right:66px;bottom:18px}
.tpi small{display:flex;gap:6px;align-items:center;font-size:.78rem;opacity:.92}
.tpi small svg{flex:none;width:14px;height:14px}
.tpi b{display:block;font:600 1.04rem/1.28 Poppins,sans-serif;margin:6px 0}
.tpi>span{font-size:.82rem;opacity:.92}
.tpa{position:absolute;z-index:2;right:16px;bottom:18px;width:40px;height:40px;border-radius:50%!important;background:#fff;color:var(--red);display:grid;place-items:center;transition:background .25s,color .25s}
.tpc:hover .tpa{background:var(--red);color:#fff}

/* ---------- essential tips: numbered icon tiles ---------- */
.et2{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;counter-reset:et}
.et2>div{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px!important;padding:24px 22px 22px;counter-increment:et;transition:transform .3s,border-color .3s,box-shadow .3s}
.et2>div:hover{transform:translateY(-4px);border-color:#ffc2b8;box-shadow:0 20px 36px -22px rgba(255,0,0,.45)!important}
.et2>div:before{content:counter(et,decimal-leading-zero);position:absolute;top:18px;right:20px;font:700 1.7rem/1 Poppins,sans-serif;color:#f6e1dc}
.et2 i{width:52px;height:52px;border-radius:16px!important;display:grid;place-items:center;background:var(--tb,#ffe9e6);color:var(--ti,var(--red));margin-bottom:16px}
.et2 i svg{width:24px;height:24px}
.et2>div:nth-child(3n+2){--tb:#fff0e3;--ti:#e86a00}
.et2>div:nth-child(3n){--tb:#f0f0f0;--ti:#111}
.et2 b{display:block;font:600 1.02rem/1.3 Poppins,sans-serif;margin-bottom:6px;color:var(--ink)}
.et2 p{margin:0;color:var(--mut);font-size:.9rem;line-height:1.65}
/* planner's tips: dark full-width notes under the tip cards */
.ptips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;margin-top:18px}
.ptips>div{position:relative;display:flex;gap:18px;align-items:flex-start;background:#151515;color:#fff;border-radius:20px!important;padding:24px 26px;overflow:hidden}
.ptips>div:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%!important;background:radial-gradient(circle,rgba(255,40,30,.28),transparent 70%);pointer-events:none}
.ptips i{flex:none;width:48px;height:48px;border-radius:14px!important;display:grid;place-items:center;background:var(--red);color:#fff}
.ptips i svg{width:22px;height:22px}
.ptips b{display:block;font:600 .74rem/1 Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ff8a7a;margin:4px 0 9px}
.ptips p{position:relative;margin:0;color:#ececec;font-size:.98rem;line-height:1.65}

/* ---------- who should visit: persona cards ---------- */
.ppl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.ppl a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 18px 22px;background:#fff;border:1px solid var(--line);border-radius:24px!important;color:var(--ink);transition:transform .3s,border-color .3s}
.ppl i{width:70px;height:70px;border-radius:50%!important;background:#ffe9e6;color:var(--red);display:grid;place-items:center;margin-bottom:8px;outline:6px solid #fff7f5;transition:background .3s,color .3s}
.ppl i svg{width:30px;height:30px}
.ppl b{font:600 1rem/1.3 Poppins,sans-serif}
.ppl span{font-size:.84rem;line-height:1.5;color:var(--mut)}
.ppl small{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:600 .78rem Poppins,sans-serif;color:var(--red);opacity:0;transition:opacity .3s}
.ppl small svg{width:14px;height:14px}
.ppl a:hover{transform:translateY(-4px);border-color:var(--red)}
.ppl a:hover i{background:var(--red);color:#fff}
.ppl a:hover small,.ppl a:focus-visible small{opacity:1}

/* ---------- plan from your city: departure board ---------- */
.dpbd{background:#141414;border-radius:24px!important;padding:clamp(18px,3vw,30px);color:#fff}
.dpbh{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:20px;border-bottom:1px dashed rgba(255,255,255,.18)}
.dpbh b{display:flex;gap:10px;align-items:center;font:600 1.05rem Poppins,sans-serif}
.dpbh b svg{color:#ffb020}
.dpbh span{font-size:.86rem;color:#bdbdbd;max-width:520px}
.dpbg{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.dpbd .dep{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;text-align:left;width:100%;margin:0;background:#1f1f1f!important;border:1px solid #2e2e2e!important;border-radius:14px!important;padding:12px 14px;color:#fff!important;cursor:pointer;font:inherit;transition:border-color .25s,background .25s}
.dpbd .dep b{grid-row:span 2;min-width:58px;text-align:center;font:700 1.15rem/1 "Courier New",monospace;letter-spacing:.14em;color:#ffb020;background:#0b0b0b;padding:10px 6px;border-radius:8px!important;border-bottom:2px solid #2b2b2b}
.dpbd .dep span{font:600 .92rem/1.2 Poppins,sans-serif}
.dpbd .dep small{font-size:.74rem;color:#9d9d9d}
.dpbd .dep:hover,.dpbd .dep:focus-visible{border-color:var(--red)!important;background:#2a1515!important}

/* ---------- everything you need to know ---------- */
.evr .lede{font-size:1.1rem;color:var(--ink);border-left:4px solid var(--red);padding-left:18px}
.kc3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:28px 0 0}
.kc3>div{border-radius:20px!important;padding:22px 22px 18px;background:#fff7f5;border:1px solid var(--line)}
.kc3 i{width:46px;height:46px;border-radius:50%!important;background:var(--red);color:#fff;display:grid;place-items:center}
.kc3>div:nth-child(2) i{background:var(--gold)}
.kc3>div:nth-child(3) i{background:#111}
.kc3 h3{font:600 1.02rem/1.3 Poppins,sans-serif;margin:14px 0 6px;color:var(--ink)}
.kc3 p,.kc3 li{font-size:.9rem;color:var(--mut);line-height:1.6;margin:0}
.kc3 ul{padding:0;margin:0;list-style:none;display:grid;gap:6px}
.kc3 strong{color:var(--ink)}

/* ---------- cultural experiences ---------- */
.sub section h3.sh svg{vertical-align:-3px;margin-right:6px;color:var(--red)}
.cxh{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;counter-reset:cx}
.cxh li{position:relative;counter-increment:cx;padding:18px 18px 16px 70px;background:#fff;border:1px solid var(--line);border-radius:18px!important;display:flex;flex-direction:column;gap:4px}
.cxh li:before{content:counter(cx,decimal-leading-zero);position:absolute;left:16px;top:16px;width:40px;height:40px;border-radius:50%!important;background:#ffe9e6;color:var(--red);font:700 .82rem/40px Poppins,sans-serif;text-align:center}
.cxh b{font:600 .98rem/1.35 Poppins,sans-serif;color:var(--ink)}
.cxh span{font-size:.86rem;color:var(--mut);line-height:1.55}
.cxh a{font:600 .8rem Poppins,sans-serif;color:var(--red);margin-top:4px}
.cx2{align-items:start;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}
.cx2.cx1{grid-template-columns:1fr}
.cxe{background:#fff;border:1px solid var(--line);border-radius:22px!important;padding:24px}
.cxe h3,.cxm h3{display:flex;align-items:center;gap:8px;font:600 1.1rem Poppins,sans-serif;margin:0 0 16px}
.cxe h3 svg{color:var(--red)}
.cxe ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.cxe li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:1px solid #ffd3cb;background:#fff7f5;border-radius:99px!important;font-size:.86rem;color:var(--ink)}
.cxe li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%!important;background:var(--red)}
.cxe .hint2{margin:14px 0 0}
.cxm{background:#151515;color:#fff;border-radius:22px!important;padding:24px 26px}
.cxm h3{flex-direction:column;align-items:flex-start;gap:0;color:#fff}
.cxm h3 span{font:400 2rem/1 "Mr Dafoe",cursive;color:#ffb020;rotate:-4deg;margin-bottom:2px}
.cxm ul{list-style:none;padding:0;margin:0;columns:2;column-gap:26px}
.cxm li{color:#ececec;break-inside:avoid;display:flex;align-items:baseline;gap:8px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.16);font-size:.9rem}
.cxm li:before{content:"•";color:var(--red);font-size:.7rem}

/* ---------- outdoor activities ---------- */
.oat{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.oat>div{display:flex;flex-direction:column;gap:14px;padding:22px 20px 18px;background:#fff;border:1px solid var(--line);border-radius:22px!important;transition:transform .3s,border-color .3s}
.oat>div:hover{transform:translateY(-4px);border-color:var(--red)}
.oat i{width:56px;height:56px;border-radius:18px!important;background:#111;color:#fff;display:grid;place-items:center;rotate:-6deg;transition:rotate .3s}
.oat>div:hover i{rotate:0deg}
.oat i svg{width:26px;height:26px}
.oat>div:nth-child(3n+2) i{background:var(--red)}
.oat>div:nth-child(3n) i{background:var(--gold)}
.oat b{flex:1;font:600 .98rem/1.4 Poppins,sans-serif;color:var(--ink)}
.oat button{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:#fff!important;border:1.5px solid var(--ink)!important;color:var(--ink)!important;padding:6px 6px 6px 14px;border-radius:99px!important;font:600 .8rem Poppins,sans-serif;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.oat button span{width:22px;height:22px;border-radius:50%!important;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.95rem;line-height:1}
.oat button:hover{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}
.oat button:hover span{background:#fff;color:var(--red)}

/* ---------- card photos (tips, key facts, who it suits, outdoors): full-bleed photo on top of the card ---------- */
.et2>div,.kc3>div,.ppl a,.oat>div{overflow:hidden}
.cph{margin:0;aspect-ratio:16/10;overflow:hidden;background:#f1ece9}
.cph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.et2>div:hover .cph img,.ppl a:hover .cph img,.oat>div:hover .cph img{transform:scale(1.06)}
.et2 .cph{margin:-24px -22px 18px}
.et2>div:has(.cph):before{z-index:1;top:14px;right:16px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.kc3 .cph{margin:-22px -22px 0}
.ppl a:has(.cph){padding-top:0}
.ppl .cph{align-self:stretch;margin:0 -18px 10px}
.oat .cph{margin:-22px -20px 0}

/* ---------- attraction photo cards (every card has a photo) ---------- */
.ipc{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:18px 0 0;counter-reset:ip}
.ipc>div{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px!important;overflow:hidden;counter-increment:ip;transition:transform .3s,border-color .3s}
.ipc>div:hover{transform:translateY(-4px);border-color:#ffc2b8}
.ipc figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;background:#2a2a2a}
.ipc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ipc>div:hover img{transform:scale(1.05)}
.ipc figure span{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.95);color:var(--ink);font:600 .72rem/1 Poppins,sans-serif;padding:6px 10px;border-radius:99px!important}
.ipc figure span svg{width:13px;height:13px;color:var(--red)}
.ipc.num figure:before{content:counter(ip,decimal-leading-zero);position:absolute;z-index:1;top:12px;left:12px;width:36px;height:36px;border-radius:50%!important;background:var(--red);color:#fff;font:700 .78rem/36px Poppins,sans-serif;text-align:center}
.ipc>div>div{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.ipc b{font:600 1rem/1.35 Poppins,sans-serif;color:var(--ink)}
.ipc p{margin:0;font-size:.87rem;line-height:1.55;color:var(--mut)}
.ipc a{margin-top:auto;padding-top:8px;font:600 .82rem Poppins,sans-serif;color:var(--red)}
/* article and theme cards with a photo on top */
.acards.ph .acard{padding-top:0;overflow:hidden;border-radius:20px!important}
.acards.ph .aci{display:block;width:calc(100% + 2 * var(--acp,22px));max-width:none;margin:0 calc(-1 * var(--acp,22px)) 16px;aspect-ratio:16/9;object-fit:cover}

/* ---------- small screens ---------- */
@media(max-width:1000px){.tpg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.spg{grid-template-columns:1fr}.spr{order:-1}.sps{aspect-ratio:16/11}.cx2{grid-template-columns:1fr}}
@media(max-width:700px){
  .tpg{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px;margin:0 -16px;padding-left:16px;padding-right:16px;scroll-padding:16px}
  .tpc{scroll-snap-align:start}
  .cxm ul{columns:1}
}
@media(max-width:520px){
  .spot{padding:14px 16px 40px}
  .spf{gap:14px 12px}
  .spf i{width:38px;height:38px}
  .spf i svg{width:17px;height:17px}
  .spf b{font-size:.84rem}
  .spscr{font-size:1.9rem}
  .spc{left:12px;bottom:12px;max-width:calc(100% - 24px)}
  .ppl{grid-template-columns:1fr 1fr;gap:12px}
  .ppl a{padding:20px 12px 18px}
  .ppl .cph{margin:0 -12px 8px}
  .ppl i{width:56px;height:56px}
  .dpbg{grid-template-columns:1fr 1fr}
  .dpbd .dep{grid-template-columns:1fr;text-align:center;justify-items:center;row-gap:6px}
  .dpbd .dep b{grid-row:auto}
  .oat{grid-template-columns:1fr 1fr;gap:12px}
  .oat>div{padding:18px 14px 14px}
  .oat .cph{margin:-18px -14px 0}
}
@media(prefers-reduced-motion:reduce){.sps figure,.tpc img,.et2>div,.ppl a,.oat>div,.oat i{transition:none}}
/* fact rows and the WhatsApp link are text only */
.spwa{text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,0,0,.4)}

/* nexara-brush.css */
/* Brush-label photo tiles: a destination photo with its name in white script on an orange brush stroke.
   Used for popular-destination rows on the home page, destination hubs, region pages and "Nearby" lists. */
.brg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.brg.sm{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.brt{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:18px!important;background:#1e2a33;isolation:isolate;box-shadow:0 14px 30px -20px rgba(0,0,0,.55)}
.brt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s}
.brt:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.25))}
.brt:hover img,.brt:focus-visible img{transform:scale(1.07)}
.brl{position:absolute;left:50%;bottom:16%;transform:translateX(-50%) rotate(-3deg);display:grid;place-items:center;width:max-content;max-width:92%;padding:6px 26px 10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 90' preserveAspectRatio='none'%3E%3Cpath fill='%23ff6a2a' d='M8 22c18-9 49-12 80-13 22-1 41 2 60-1 30-4 63-3 95 0 18 2 37 1 49 7 5 3 0 8 4 12 3 4 2 9-1 13 3 5 4 11 0 15 3 6-1 11-6 14-13 7-34 6-52 8-26 3-52 1-78 3-21 2-41-1-62 1-26 3-53 4-77-2-8-2-14-6-12-12-3-4-3-9 0-13-4-5-3-11 1-15-3-6 0-12 6-15 0-1-9 2-7-2z'/%3E%3Cpath fill='%23ff8a3d' opacity='.55' d='M20 14c40-6 90-3 140-5 40-2 80 1 120 6-30 3-70 1-110 3-50 2-100 3-150-4z'/%3E%3Cpath fill='%23e2450f' opacity='.45' d='M14 70c50 6 110 4 170 3 35-1 70 0 100-4-30 9-80 10-130 11-50 1-100 0-140-10z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:transform .35s}
.brt:hover .brl{transform:translateX(-50%) rotate(-1deg) scale(1.04)}
.brl b{font:400 clamp(1.7rem,2.6vw,2.3rem)/1.05 "Mr Dafoe",cursive;color:#fff;text-align:center;text-shadow:0 2px 0 rgba(150,30,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.brg.sm .brl b{font-size:clamp(1.4rem,2vw,1.8rem)}
.brt small{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:99px!important;background:rgba(255,255,255,.92);font:600 .7rem Poppins,sans-serif;color:var(--ink,#111)}
@media(max-width:600px){
  .brg,.brg.sm{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:4px 16px 10px;scroll-padding:16px;scrollbar-width:none}
  .brg::-webkit-scrollbar{display:none}
  .brt{scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.brt img,.brl{transition:none}}
.brhome{max-width:1240px;margin:0 auto;padding:clamp(40px,6vw,70px) 5vw 10px}.brall{text-align:center;margin-top:24px}
.tnlead{color:var(--mut);max-width:70ch;margin:-6px 0 20px}.tnmore{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* nexara-search.css */
/* Site search: header button (markup in tools/lib/menu.mjs) and the search panel (assets/js/nexara-search.js).
   Shared by index.html and every generated page. */

/* ---------- entry points: a search field in the top bar on desktop, an icon beside the burger below 1181px ---------- */
.tbar .tsrch{display:none}
@media(min-width:1181px){
  .tbar .tsrch{display:inline-flex;align-items:center;gap:9px;min-width:300px;padding:4px 6px 4px 12px;border:1px solid rgba(255,122,47,.45);border-radius:99px;background:#fff;color:#7a6f6b;font-weight:400}
  .tbar .tsrch:hover,.tbar .tsrch:focus-visible{border-color:#ff4d2e;color:#1f1a19;box-shadow:0 4px 12px rgba(255,77,46,.15)}
  .tbar .tsrch svg{width:15px;height:15px;color:var(--red)}
  .tbar .tsrch span{flex:1}
  .tsrch kbd{padding:0 7px;border:1px solid #f2dcd4;border-radius:99px;background:#fff6f2;font:600 .7rem/1.5 Poppins,sans-serif;color:#7a6f6b}
  header>.hsrch{display:none}
}
.hsrch{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0 10px 0 auto;border-radius:50%;border:1px solid rgba(255,122,47,.55);background:#fff;color:var(--red);transition:background .25s,color .25s}
.hsrch:hover,.hsrch:focus-visible{background:linear-gradient(135deg,#ff4d2e,#ffa63b);border-color:transparent;color:#fff}

/* ---------- panel: styled like the enquiry popup (#enq in nexara-base.css), red header, bordered field, square-ish chips ---------- */
html.sropen{overflow:hidden}
.srch{width:min(680px,94vw);max-width:none;max-height:none;margin:6vh auto 0;padding:0;border:0;border-radius:18px;background:#fff;color:#1f1a19;box-shadow:0 40px 100px rgba(12,12,12,.45);font-family:Poppins,sans-serif;overflow:hidden}
.srch::backdrop{background:rgba(15,15,15,.62);backdrop-filter:blur(4px)}
.srch[open]{animation:srIn .22s var(--ease,ease-out)}
@keyframes srIn{from{opacity:0;transform:translateY(-12px) scale(.98)}}
.srw{display:flex;flex-direction:column;max-height:min(88vh,800px);max-height:min(88dvh,800px)}
.srh,.srf,.srt,.srk{flex:none}

.srh{position:relative;padding:26px 30px 24px;background:linear-gradient(135deg,#cc0000,#ff0000 70%,#ff4d2e);color:#fff}
.srh small{display:block;margin-bottom:8px;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#ffd27a)}
.srh b{display:block;margin-bottom:6px;font:600 1.55rem/1.2 "Playfair Display",serif}
.srh span{display:block;max-width:44ch;font-size:.86rem;line-height:1.5;opacity:.82}
.srch .srx{position:absolute;top:18px;right:18px;width:34px;height:34px;margin:0;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .2s}
.srch .srx:hover{background:rgba(255,255,255,.22)}
.srch .srx:focus-visible{outline:2px solid var(--gold,#ffd27a);outline-offset:2px}

.srch .srf{display:block;margin:0;padding:20px 30px 6px}
.srf label{display:flex;width:100%;box-sizing:border-box;align-items:center;gap:12px;padding:0 16px;border:1px solid #e6e1e0;border-radius:10px;background:#fff;cursor:text;transition:border-color .2s,box-shadow .2s}
.srf label:hover{border-color:#d0c9c7}
.srf label:focus-within{border-color:#ff0000;box-shadow:0 0 0 4px rgba(255,0,0,.1)}
.srf svg{flex:none;color:var(--red)}
.srch .srf input{flex:1;min-width:0;height:auto;margin:0;padding:15px 0;border:0;border-radius:0;outline:0;box-shadow:none;background:none;font:500 1rem Poppins,sans-serif;color:#1f1a19}
.srf input::placeholder{color:#9a8e89;font-weight:400}
.srf input::-webkit-search-cancel-button{cursor:pointer}

.srt{display:flex;gap:8px;padding:12px 30px 14px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line,#f0e6e3)}
.srt::-webkit-scrollbar{display:none}
@media(min-width:701px){.srt{flex-wrap:wrap}}
.srch .srt button{flex:none;width:auto;margin:0;padding:8px 14px;border:1px solid #e6e1e0;border-radius:10px;background:#fff;font:500 .8rem Poppins,sans-serif;color:#4a403d;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.srt button small{font-size:.72rem;opacity:.7}
.srt button.on small{opacity:.9}
.srt button:hover:not(:disabled){border-color:#ff4d2e;color:var(--red)}
.srch .srt button.on{background:var(--red);border-color:var(--red);color:#fff}
.srt button:disabled{opacity:.45;cursor:default}

.srb{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 12px}
.srm{margin:6px 8px 4px;font-size:.78rem;color:#7a6f6b}
.srm:empty{display:none}
.srl{list-style:none;margin:0;padding:0}
.srl [role=option] a{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;padding:9px 10px;border-radius:12px;color:inherit;text-decoration:none}
.srl [role=option].on a{background:#fff1eb;box-shadow:inset 3px 0 0 #ff4d2e}
.srl img,.srl i{width:58px;height:58px;border-radius:10px;object-fit:cover;background:#fff6f2}
.srl i{display:grid;place-items:center;color:#ff4d2e;background:linear-gradient(135deg,#fff1eb,#ffe0d2)}
.srl a>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.srl small{font:600 .66rem Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#e0301e}
.srl b{font:600 .95rem/1.3 Poppins,sans-serif;color:#1f1a19}
.srl em{font:400 .8rem/1.4 Poppins,sans-serif;font-style:normal;color:#7a6f6b;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.srl mark{background:rgba(255,166,59,.3);color:inherit;border-radius:3px;padding:0 1px}

.srp{display:flex;flex-direction:column;gap:10px;padding:10px 8px 6px}
.srp b{font:600 .78rem Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7a6f6b}
.srp span{display:flex;flex-wrap:wrap;gap:8px}
.srch .srp button{flex:none;width:auto;margin:0;padding:8px 14px;border:1px solid #e6e1e0;border-radius:10px;background:#fff;font:500 .84rem Poppins,sans-serif;color:#4a403d;cursor:pointer;transition:border-color .2s,color .2s}
.srch .srp button:hover,.srch .srp button:focus-visible{border-color:#ff4d2e;color:var(--red)}
.srq{font:600 .88rem Poppins,sans-serif;color:var(--red)}

.srk{display:flex;justify-content:center;gap:18px;margin:0;padding:12px 30px;border-top:1px solid var(--line,#f0e6e3);background:#fbfbfb;font-size:.72rem;color:#7a6f6b}
.srk kbd{display:inline-block;min-width:20px;margin-right:4px;padding:1px 5px;border:1px solid #f2dcd4;border-bottom-width:2px;border-radius:5px;background:#fff;font:600 .68rem Poppins,sans-serif;text-align:center;color:#4a403d}

/* phones: the panel fills the screen */
@media(max-width:700px){
  .srch{width:100%;height:100%;margin:0;border-radius:0}
  .srw{height:100%;max-height:none}
  .srh{padding:22px 20px 20px}
  .srh b{font-size:1.3rem}
  .srh span{padding-right:30px}
  .srch .srf{padding:16px 20px 4px}
  .srt{padding:10px 20px 12px}
  .srb{padding:6px 10px 10px}
  .srl [role=option] a{grid-template-columns:50px 1fr;gap:12px;padding:8px}
  .srl img,.srl i{width:50px;height:50px}
  .srl em{-webkit-line-clamp:2}
}
@media(hover:none),(max-width:700px){.srk{display:none}}
@media(prefers-reduced-motion:reduce){.srch[open]{animation:none}}

/* nexara-light.css */
/* Light theme: replaces the black/charcoal panels across the site with warm light surfaces.
   Loaded last on every page so it wins over base, flat and page styles. Photo cards keep their dark overlays for legibility. */
:root{--lt-bg:#fff6f2;--lt-card:#ffffff;--lt-line:#f2dcd4;--lt-ink:#1f1a19;--lt-text:#4a403d;--lt-mut:#7a6f6b;--char:#fff6f2;--char2:#ffece5}

/* top bar */
.tbar{background:#fff0eb!important;color:var(--lt-text)!important;border-bottom:1px solid var(--lt-line)}
.tbar a:hover{color:var(--red)!important}
.tbar svg{color:var(--red)!important}

/* footer */
.sky{color:var(--lt-bg)!important}
footer{background:var(--lt-bg)!important;color:var(--lt-text)!important}
.fin{background:var(--lt-bg)!important}
footer h5{color:var(--lt-ink)!important}
.fg a,.fbrand p,.frow p a{color:var(--lt-text)!important}
.fg a:hover,.frow p a:hover{color:var(--red)!important}
.frow h5 a{color:var(--red)!important}
.frow p a:not(:last-child):after{color:#c9b7b0!important}
.flinks{border-top:1px solid var(--lt-line)!important}
.soc a,footer .soc a{border:1px solid var(--lt-line)!important;background:#fff!important;color:var(--red)!important}
.soc a svg{color:var(--red)!important;stroke:var(--red)}
.soc a:hover,footer .soc a:hover{background:var(--red)!important;border-color:var(--red)!important}
.soc a:hover svg{color:#fff!important;stroke:#fff}
.fg a.flogo{box-shadow:0 10px 26px rgba(255,0,0,.15)}
.cta .btn:hover,.fcta .btn:hover{background:#ffe3dc!important;color:var(--red-deep,#cc0000)!important;border-color:#ffe3dc!important}

/* mobile menu footer */
@media(max-width:1180px){
  .mfoot{background:#fff0eb!important;border-color:var(--lt-line)!important}
  header>nav .mfoot a{color:var(--lt-text)!important}
  header>nav .mfoot a:hover{color:var(--red)!important}
}

/* enquiry popup header and "at a glance" band: red instead of black-to-red */
.eh{background:linear-gradient(135deg,#cc0000,#ff0000 70%,#ff4d2e)!important}
.glance{background:linear-gradient(135deg,#b20000,#ff0000 60%,#ff4d2e)!important}

/* marquee and countdown */
.mq{background:#fff0eb!important;color:var(--lt-ink)!important;border-block:1px solid var(--lt-line)}
.clock div{background:#fff!important;color:var(--lt-ink)!important;border:1px solid var(--lt-line)!important;box-shadow:0 8px 18px rgba(255,0,0,.1)!important}
.clock b{color:var(--red)!important}
#toast{background:var(--red)!important;color:#fff!important}

/* destination pages: travel tips, departure board, must-try list */
.ptips>div{background:var(--lt-bg)!important;color:var(--lt-ink)!important;border:1px solid var(--lt-line)}
.ptips>div:after{background:radial-gradient(circle,rgba(255,40,30,.1),transparent 70%)!important}
.ptips b{color:var(--red)!important}
.ptips p{color:var(--lt-text)!important}
.dpbd{background:var(--lt-bg)!important;color:var(--lt-ink)!important;border:1px solid var(--lt-line)}
.dpbd .dep{background:var(--lt-card)!important;border-color:var(--lt-line)!important;color:var(--lt-ink)!important}
.dpbd .dep b{background:#fff0e0!important;color:#c25e00!important;border-bottom-color:#f3cfa8!important}
.dpbd .dep small{color:var(--lt-mut)!important}
.dpbd .dep:hover,.dpbd .dep:focus-visible{background:#ffece5!important}
.cxm{background:var(--lt-bg)!important;color:var(--lt-ink)!important;border:1px solid var(--lt-line)}
.cxm h3{color:var(--lt-ink)!important}
.cxm h3 span{color:#e07b00!important}
.cxm li{color:var(--lt-text)!important;border-bottom-color:rgba(0,0,0,.12)!important}
.tpc:nth-child(4) .tpb,.kc3>div:nth-child(3) i,.oat i,.oat button span,body.sub .dgrid .dn{background:var(--red)!important;color:#fff!important}

/* experience pages: corporate travel, yachts, Canton Fair call-out, chips */
.xpcorp{background:var(--lt-bg)!important;color:var(--lt-ink)!important}
.xpcorp .eye,.xpcorp li:before{color:var(--red)!important}
.xpcorp p,.xpcorp li span{color:var(--lt-text)!important}
.xpcorp li{border-top-color:var(--lt-line)!important}
.xpcorp li b{color:var(--lt-ink)!important}
.xpcorp .xpgo{color:var(--red)!important}
.xpyk{background:#fbf6ec!important;color:#3b2f1e!important}
.xpyk .eye{color:#a07a2a!important}
.xpyk .xpcloud li{background:#fff!important;border-color:rgba(160,122,42,.35)!important;color:#3b2f1e!important}
.xpcf-cta{background:linear-gradient(135deg,#cc0000,#ff4d2e)!important}
.xpch input:checked+span,.xpmon button.on{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}
.xpoff:hover{background:var(--red)!important;color:#fff!important}
.xpcorp h2,.xpcorp h3,.dpbd h2,.dpbd h3,.ptips h3{color:var(--lt-ink)!important}
.xpyk h2,.xpyk h3{color:#2a2114!important}
.xpyk p{color:#5a4a33!important}
