:root{--ink:#150F33;--v:#6C4CF1;--pk:#FF5E8A;--pe:#FFB36B;--mist:#F5F3FF;--grad:linear-gradient(100deg,#6C4CF1,#FF5E8A 60%,#FFB36B)}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,h5,h6,.brand,.stat .v{font-family:'Sora',sans-serif;letter-spacing:-.02em}
.btn-grad{background:var(--grad);border:0;color:#fff;font-weight:700;border-radius:50px;padding:.55rem 1.5rem;box-shadow:0 8px 24px rgba(255,94,138,.3)}.btn-grad:hover{filter:brightness(1.08);color:#fff}
.btn-glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:50px;backdrop-filter:blur(8px)}.btn-glass:hover{background:rgba(255,255,255,.25);color:#fff}
.link-g{color:var(--v);font-weight:700;text-decoration:none}.bg-mist{background:var(--mist)}
.site-nav{background:rgba(21,15,51,.55);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.site-nav .nav-link{color:#fff;opacity:.8;font-weight:600}.site-nav .nav-link.active{opacity:1;color:var(--pe)}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;line-height:1;text-decoration:none}.brand small{display:block;font-weight:600;font-size:.68rem;color:var(--pe);letter-spacing:.04em}
.logo-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff;font-size:1.3rem}
.hero{min-height:100vh;padding:9rem 0 5rem;color:#fff;background-size:cover;background-position:center;display:flex;align-items:center}
.hero h1{font-weight:800;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;margin:1.2rem 0}.hero .lead{max-width:540px;opacity:.9;margin-bottom:1.8rem}
.hero-sm{min-height:0;padding:8rem 0 4rem;display:block}.hero-sm h1{font-size:clamp(2rem,5vw,3.2rem)}.hero-pkg{min-height:46vh;padding:6.5rem 0 2rem;align-items:flex-start}
.glass-pill{display:inline-block;padding:.4rem 1rem;border-radius:50px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);font-weight:600;font-size:.85rem}
.searchbar{background:rgba(255,255,255,.96);color:var(--ink);border-radius:20px;padding:1rem;margin-top:3rem;max-width:760px}.searchbar label{font-size:.72rem;font-weight:700;display:block;margin-left:.5rem}.searchbar .form-control,.searchbar .form-select{box-shadow:none}
.arches{position:relative;height:480px}.arch{position:absolute;border-radius:999px 999px 24px 24px;background-size:cover;background-position:center;border:6px solid rgba(255,255,255,.9)}
.a1{width:230px;height:380px;left:10px;top:0}.a2{width:210px;height:300px;right:0;bottom:0}
.float-note{position:absolute;left:0;bottom:30px;background:#fff;color:var(--ink);border-radius:16px;padding:.7rem 1rem;font-size:.8rem;box-shadow:0 12px 30px rgba(0,0,0,.25)}.float-note i{color:var(--pk)}
.marquee{overflow:hidden;background:var(--ink);color:#fff;padding:1rem 0;white-space:nowrap}.marquee div{display:inline-block;animation:slide 35s linear infinite}.marquee span{font-family:'Sora';font-weight:700;font-size:1.3rem;margin:0 2rem}.marquee span:after{content:'✦';color:var(--pk);margin-left:2rem}
@keyframes slide{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.marquee div{animation:none}}
.dest-card{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;padding:1.1rem;border-radius:22px;color:#fff;text-decoration:none;background-size:cover;background-position:center;overflow:hidden;transition:transform .25s}
.dest-card:hover{transform:translateY(-5px);color:#fff}.dest-card strong{display:block;font-family:'Sora';font-size:1.2rem}.dest-card small{opacity:.85}
.price-tag{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.9);color:var(--ink);font-weight:700;font-size:.72rem;padding:.25rem .7rem;border-radius:50px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.bento .dest-card{aspect-ratio:auto;min-height:230px}.bento .big{grid-column:span 2;grid-row:span 2;min-height:480px}
@media(max-width:767px){.bento{grid-template-columns:1fr 1fr}.bento .big{grid-column:span 2;grid-row:auto;min-height:300px}}
.feat{background:#fff;border-radius:22px;padding:1.6rem;height:100%}.feat i{font-size:1.6rem;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--grad);color:#fff;margin-bottom:1rem}
.step{border-left:3px solid var(--pk);padding-left:1.2rem}.step span{font-family:'Sora';font-weight:800;font-size:2rem;color:var(--v)}
.cta-band{background:var(--grad);color:#fff;border-radius:28px;padding:2.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}.chip{border:1px solid #ddd8f5;background:#fff;border-radius:50px;padding:.45rem 1.3rem;font-weight:700}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.day{display:flex;gap:1rem;margin-bottom:1rem}.day span{flex:none;width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.side-box{border:1px solid #e6e2fa;border-radius:20px;padding:1.3rem}.nav-tabs .nav-link{color:#666;font-weight:600}.nav-tabs .nav-link.active{color:var(--v);border-bottom-color:var(--v)}
.login-bg{min-height:100vh;display:grid;place-items:center;padding:6rem 1rem 2rem;background-size:cover;background-position:center}
.login-card{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:24px;padding:2rem;width:100%;max-width:400px}
.role-tabs{display:flex;background:var(--mist);border-radius:50px;padding:4px}.role-tabs label{flex:1;margin:0}.role-tabs input{display:none}.role-tabs span{display:block;text-align:center;padding:.4rem;border-radius:50px;cursor:pointer;font-weight:700;font-size:.9rem}.role-tabs input:checked+span{background:var(--grad);color:#fff}
.site-foot{background:var(--ink);color:#b9b3d9}.site-foot a{color:#b9b3d9;text-decoration:none}
.wa{position:fixed;right:16px;bottom:16px;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.6rem;z-index:99}
:focus-visible{outline:3px solid var(--pk);outline-offset:2px}
/* nav */
.nav-wrap{position:fixed;top:14px;left:0;right:0;z-index:50;padding:0 12px}
.nav-links{list-style:none;margin:0;padding:.25rem;gap:.15rem;background:rgba(255,255,255,.08);border-radius:999px}
.nav-links a{display:block;color:#fff;opacity:.8;text-decoration:none;padding:.42rem 1.1rem;border-radius:999px;font-weight:600;font-size:.92rem;transition:background .2s}
.nav-links a:hover{background:rgba(255,255,255,.16);opacity:1}.nav-links a.active{background:#fff;color:var(--ink);opacity:1}
.nav-login{color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;opacity:.85;padding:0 .5rem}.nav-login:hover{opacity:1;color:var(--pe)}
.burger{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:50%;width:40px;height:40px;font-size:1.4rem;line-height:1;display:grid;place-items:center}
.menu-oc{background:var(--ink);color:#fff;width:min(90vw,380px)}.oc-link{display:flex;justify-content:space-between;align-items:center;font-family:'Sora';font-weight:700;font-size:1.8rem;color:#fff;text-decoration:none;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.oc-link.on{color:var(--pe)}.oc-link i{font-size:1.2rem;opacity:.6}
/* home extras */
.glass-pill.dark{background:var(--ink);color:#fff;border:0}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff;border-radius:28px;padding:1.6rem .5rem;text-align:center}
.stats-band b{display:block;font-family:'Sora';font-size:clamp(1.4rem,3vw,2.2rem);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stats-band span{font-size:.82rem;opacity:.75}
@media(max-width:767px){.stats-band{grid-template-columns:1fr 1fr;gap:1rem 0}}
.vibes{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}.vibe{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 1.1rem 1.1rem;min-height:210px;border-radius:24px;background:var(--mist);color:var(--ink);text-decoration:none;transition:background .25s,color .25s,transform .25s}
.vibe i:first-child{font-size:1.9rem;color:var(--v);margin-bottom:auto}.vibe b{font-family:'Sora';font-size:1.1rem}.vibe span{font-size:.8rem;opacity:.7}.vibe em{position:absolute;top:1rem;right:1rem;font-style:normal}
.vibe:hover{background:var(--grad);color:#fff;transform:translateY(-6px)}.vibe:hover i:first-child{color:#fff}
@media(max-width:991px){.vibes{grid-template-columns:repeat(2,1fr)}.vibe{min-height:150px}}
.spot-img{position:relative;aspect-ratio:1/1;border-radius:40px 200px 40px 40px;background-size:cover;background-position:center}.spot-img .float-note{left:-10px;bottom:24px}
.ticks{list-style:none;padding:0;margin:1.2rem 0}.ticks li{padding:.3rem 0 .3rem 1.8rem;position:relative}.ticks li:before{content:'\F26A';font-family:'bootstrap-icons';position:absolute;left:0;color:var(--pk)}
.offer{min-height:340px;border-radius:26px;padding:1.3rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background-size:cover;background-position:center}.pill-o{align-self:flex-start;background:var(--grad);padding:.25rem .9rem;border-radius:50px;font-weight:700;font-size:.78rem}.offer h4{font-weight:700}
.quote{background:#fff;border-radius:24px;padding:1.6rem;height:100%}.av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;font-weight:700}
.faq .accordion-item{border:0;border-bottom:1px solid #e6e2fa;background:none}.faq .accordion-button{background:none;box-shadow:none;font-family:'Sora';font-weight:600;color:var(--ink);padding:1.2rem 0}.faq .accordion-button:not(.collapsed){color:var(--v)}
.contact-card{background:var(--ink);border-radius:32px;padding:clamp(1.5rem,4vw,3rem);position:relative;overflow:hidden}
/* destinations */
.d-hero{padding:9rem 0 4rem;color:#fff;background-size:cover;background-position:center}.d-hero h1{font-size:clamp(3.4rem,11vw,8rem);line-height:.9;font-weight:800}.d-hero .lead{max-width:480px;opacity:.9}
.faces{display:flex;align-items:center}.faces i,.faces span{width:56px;height:56px;border-radius:50%;border:3px solid #fff;margin-left:-14px;background-size:cover;background-position:center}.faces i:first-child{margin-left:0}.faces span{display:grid;place-items:center;background:var(--grad);font-weight:700}
.filterbar{position:sticky;top:78px;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);padding:.8rem 0;border-bottom:1px solid #ece9fb}
.searchbox{position:relative}.searchbox i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#888}.searchbox input{border:1px solid #ddd8f5;border-radius:50px;padding:.5rem 1rem .5rem 2.4rem;width:230px;outline:0}.searchbox input:focus{border-color:var(--v)}
.chip i{margin-right:.2rem}
.mag{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;grid-auto-flow:dense;gap:1rem}
.mc{position:relative;display:flex;align-items:flex-end;padding:1.3rem;border-radius:28px;color:#fff;text-decoration:none;overflow:hidden;background-size:cover;background-position:center;transition:transform .3s,box-shadow .3s}
.mc.w{grid-column:span 2;grid-row:span 2}.mc.t{grid-row:span 2}.mc:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 22px 50px rgba(21,15,51,.3);color:#fff}
.mc h3{font-size:1.5rem;margin:0}.mc.w h3{font-size:2.4rem}.mc small{opacity:.85}
.badge-cat{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);padding:.25rem .8rem;border-radius:50px;font-size:.75rem;font-weight:700}
.mc-body{width:100%}.reveal{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s,opacity .35s}.mc:hover .reveal,.mc:focus-visible .reveal{max-height:90px;opacity:1}
.go{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--grad);font-size:1.1rem}
@media(hover:none){.reveal{max-height:90px;opacity:1}}
@media(max-width:767px){.mag{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.mc.w{grid-column:span 2;grid-row:span 1}.mc.w h3{font-size:1.6rem}.filterbar{top:74px}.searchbox input{width:100%}.searchbox{width:100%}}
.mini{display:flex;flex-direction:column;gap:.2rem;background:var(--mist);border-radius:20px;padding:1.2rem;height:100%}.mini i{font-size:1.5rem;color:var(--v)}.mini span{font-size:.82rem;color:#666}
/* footer */
.foot{position:relative;background:var(--ink);color:#b9b3d9;overflow:hidden;padding-top:4rem}.foot a{color:#b9b3d9;text-decoration:none}.foot a:hover{color:#fff}
.foot-cta h3{color:#fff;font-size:clamp(1.4rem,3vw,2rem);max-width:520px}.foot-form{display:flex;gap:.5rem;background:#fff;border-radius:50px;padding:.35rem;color:var(--ink)}.foot-form input{border:0;outline:0;padding:0 1rem;background:none;min-width:200px;color:var(--ink)}
.foot h6{color:#fff;font-family:'Sora';margin-bottom:1rem}.foot .col-6 a,.foot .col-lg-3 a,.foot .col-lg-3 span{display:block;margin-bottom:.5rem}
.soc{display:flex;gap:.6rem}.soc a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:#fff}.soc a:hover{background:var(--grad);border-color:transparent}
.foot-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}
/* dashboards */
.dash{background:#f3f1fb}.side{width:250px;flex:none;height:100vh;position:sticky;top:0;background:var(--ink);padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.2rem}
.side .ni{display:flex;align-items:center;gap:.75rem;color:#c9c3ea;text-decoration:none;padding:.65rem .85rem;border-radius:14px;font-weight:600;font-size:.93rem}.side .ni:hover{background:rgba(255,255,255,.07);color:#fff}
.side .ni.on{background:var(--grad);color:#fff}.side .ni.soon{opacity:.45;pointer-events:none}.side .ni em{font-style:normal;margin-left:auto;font-size:.65rem;background:rgba(255,255,255,.14);padding:.1rem .5rem;border-radius:50px}
.side-help{display:flex;flex-direction:column;gap:.15rem;padding:1rem;border-radius:18px;background:rgba(255,255,255,.07);color:#fff;font-size:.85rem}.side-help i{font-size:1.4rem;color:#25d366}.side-help span{opacity:.7;font-size:.78rem}.side-help a{margin-top:.5rem;background:#fff;color:var(--ink);text-align:center;border-radius:50px;padding:.35rem;text-decoration:none;font-weight:700;font-size:.82rem}
.dash-main{flex:1;min-width:0;padding:1.2rem 1.6rem 2rem}
.topbar{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}.tsearch{position:relative;flex:1;max-width:420px}.tsearch i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a84ad}.tsearch input{width:100%;border:0;background:#fff;border-radius:50px;padding:.6rem 1rem .6rem 2.5rem;outline:0}
.ibtn{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:1.1rem}.ibtn b{position:absolute;top:10px;right:11px;width:8px;height:8px;border-radius:50%;background:var(--pk);border:2px solid #fff}
.uchip{display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:50px;padding:.25rem .9rem .25rem .3rem;line-height:1.15}.uchip small{display:block;color:#8a84ad;font-size:.72rem}.dash .burger{background:#fff;color:var(--ink);border:0}
.av2{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700;font-size:.85rem}
.ptitle{margin-bottom:1.2rem}.ptitle h1{font-size:1.7rem;font-weight:800;margin:0}.ptitle p{color:#7d77a0;margin:.2rem 0 0}
.hello,.earn{position:relative;overflow:hidden;border-radius:26px;background:var(--grad);color:#fff;padding:1.8rem;margin-bottom:1rem}.earn{margin:0;height:100%;background:linear-gradient(120deg,#150F33,#3b27a3 70%,#6C4CF1);display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:flex-end}
.hello h2,.earn h2{font-weight:800}.earn h2{font-size:2.6rem}.hello p,.earn p{opacity:.9;max-width:420px}.hello>*,.earn>*{position:relative;z-index:1}.hello .btn-glass{color:#fff}
.c1,.c2{position:absolute!important;border-radius:50%;background:rgba(255,255,255,.12);z-index:0!important}.c1{width:260px;height:260px;right:-60px;top:-90px}.c2{width:150px;height:150px;right:140px;bottom:-70px}
.tier{min-width:240px;flex:1;max-width:320px;background:rgba(255,255,255,.1);border-radius:18px;padding:1rem}.prog{height:8px;border-radius:9px;background:#ece9fb;margin-top:.4rem}.prog i{display:block;height:100%;border-radius:9px;background:var(--grad)}.prog.light{background:rgba(255,255,255,.2)}.prog.light i{background:#fff}
.stat,.panel{background:#fff;border-radius:22px;padding:1.2rem}.stat .lbl{display:block;color:#7d77a0;margin-top:.8rem}.stat .v{font-family:'Sora';font-size:1.65rem;font-weight:800;line-height:1.15}.trend{color:#14A76C;font-weight:600}
.ico{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;font-size:1.2rem}.t-v{background:#ece8ff;color:#6C4CF1}.t-pk{background:#ffe4ec;color:#FF5E8A}.t-pe{background:#fff0dc;color:#E58A1F}.t-gr{background:#dff6ea;color:#14A76C}
.ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ph h6{margin:0;font-weight:700}
.tbl th{font-size:.78rem;color:#8a84ad;font-weight:600;border-bottom:1px solid #ece9fb}.tbl td{border-color:#f1eefb;padding:.8rem .5rem}.tbl tr:last-child td{border:0}
.pthumb{display:inline-block;flex:none;width:42px;height:42px;border-radius:12px;background-size:cover;background-position:center}.pthumb.lg{width:54px;height:54px;border-radius:14px}
.pill{padding:.2rem .7rem;border-radius:50px;font-size:.75rem;font-weight:700;background:#dff6ea;color:#0f8a57}.pill.pending{background:#fff0dc;color:#b86e00}.pill.approved{background:#ece8ff;color:#5a3fd6}.pill.inquiry{background:#e0efff;color:#1b66b8}.pill.paid{background:#dff6ea;color:#0f8a57}
.donut-wrap{display:grid;place-items:center;padding:.5rem 0 1rem}.donut{--a:60%;--b:90%;width:170px;height:170px;border-radius:50%;background:conic-gradient(#6C4CF1 0 var(--a),#FF5E8A var(--a) var(--b),#FFB36B var(--b) 100%);display:grid;place-items:center}.donut div{width:118px;height:118px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.donut b{font-family:'Sora';font-size:1.8rem;line-height:1}.donut small{color:#8a84ad}
.legend{display:flex;flex-direction:column;gap:.5rem}.legend span{display:flex;align-items:center;gap:.6rem}.legend i{width:10px;height:10px;border-radius:50%}.legend b{margin-left:auto}
.tip{background:var(--mist);color:#4b3bb0;border-radius:14px;padding:.7rem .9rem;font-size:.85rem;font-weight:600;margin-top:1rem}
.dep,.feed,.prow,.plist{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid #f1eefb}.dep:last-child,.feed:last-child,.prow:last-child,.plist:last-child{border:0}
.dbadge{display:grid;place-content:center;text-align:center;width:48px;height:52px;border-radius:14px;background:var(--mist);color:var(--v);font-size:.7rem;line-height:1.1}.dbadge b{font-family:'Sora';font-size:1.15rem}
.earn-chip{background:#dff6ea;color:#0f8a57;font-weight:700;font-size:.8rem;padding:.25rem .7rem;border-radius:50px;white-space:nowrap}
.plist{color:var(--ink);text-decoration:none;border-radius:12px}.plist:hover{background:var(--mist)}.count-b{background:var(--mist);color:var(--v);border-radius:50px;font-size:.75rem;padding:.1rem .6rem;margin-left:.3rem}
.drop{position:relative;display:grid;place-items:center;text-align:center;gap:.2rem;border:2px dashed #cfc8f5;border-radius:20px;padding:2.5rem 1rem;color:#6a63a0}.drop i{font-size:2rem;color:var(--v)}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pk{background:#fff;border-radius:22px;overflow:hidden;height:100%}.pk-img{position:relative;height:170px;background-size:cover;background-position:center}.pk-img .badge-cat{background:rgba(21,15,51,.5)}
.steps{display:flex;gap:4px}.steps i{width:28px;height:6px;border-radius:6px;background:#e4e0f6}.steps i.on{background:var(--grad)}
.dash .chip{padding:.3rem 1rem;font-size:.85rem}
@media(max-width:991px){.side{position:fixed;left:-260px;z-index:100;transition:left .25s}.side.open{left:0}.dash-main{padding:1rem}}
/* nav: scrolled state */
.nav-pill{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .55rem .5rem 1rem;border-radius:999px;background:rgba(21,15,51,.45);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.16);transition:max-width .35s,background .3s,box-shadow .3s,padding .3s}
.nav-wrap.scrolled .nav-pill{max-width:940px;padding:.35rem .4rem .35rem .8rem;background:rgba(255,255,255,.95);border-color:rgba(21,15,51,.06);box-shadow:0 6px 24px rgba(21,15,51,.1)}
.nav-wrap.scrolled .brand{color:var(--ink)}.nav-wrap.scrolled .brand small{color:var(--v)}
.nav-wrap.scrolled .nav-links{background:rgba(21,15,51,.06)}.nav-wrap.scrolled .nav-links a{color:var(--ink);opacity:.75}.nav-wrap.scrolled .nav-links a:hover{background:rgba(21,15,51,.08)}.nav-wrap.scrolled .nav-links a.active{background:var(--ink);color:#fff;opacity:1}
.nav-wrap.scrolled .nav-login{color:var(--ink)}.nav-wrap.scrolled .burger{background:rgba(21,15,51,.07);border-color:transparent;color:var(--ink)}
/* footer: flat, no glow */
.foot-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:clamp(1.5rem,4vw,2.5rem)}
.foot-word{font-family:'Sora';font-weight:800;font-size:clamp(5rem,22vw,19rem);line-height:.8;text-align:center;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14);user-select:none;margin-top:1rem;overflow:hidden}

/* =====================================================================
   v2 — scroll / responsive fixes
   ===================================================================== */
html{scroll-behavior:smooth;scroll-padding-top:96px;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}
body{overflow-x:clip}
/* Bootstrap adds padding-right to <body> when a modal/offcanvas locks scroll; the reserved
   scrollbar gutter above already keeps the layout still, so cancel the extra padding (no menu jump) */
body[style*="padding-right"]{padding-right:0!important}
img,video,svg{max-width:100%}
.hero{min-height:100vh;min-height:100svh}
.hero.hero-sm{min-height:0}
.menu-oc{height:100vh;height:100dvh}
.menu-oc .offcanvas-body{overflow-y:auto;overscroll-behavior:contain}
.modal{overscroll-behavior:contain}
.nav-wrap{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.wa{bottom:max(16px,env(safe-area-inset-bottom));transition:bottom .25s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:575px){
 .nav-pill{gap:.5rem;padding-left:.7rem}.brand{font-size:.95rem}.logo-mark{width:34px;height:34px}
 .foot-form{width:100%}.foot-form input{min-width:0;flex:1}
 .spot-img{border-radius:28px 100px 28px 28px}.spot-img .float-note{left:10px}
 .cta-band{padding:1.6rem}.hero{padding-top:7.5rem}.searchbar{margin-top:2rem}
 .foot-cta{padding:1.4rem}
}
@media(max-width:991px){.filterbar{top:74px}}

/* =====================================================================
   Enquiry popup (injected by main.js)
   ===================================================================== */
.enq-dialog{max-width:940px}
.enq{display:grid;grid-template-columns:330px minmax(0,1fr);border:0;border-radius:30px;overflow:hidden;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);box-shadow:0 30px 80px rgba(21,15,51,.45)}
.enq-close{position:absolute;top:14px;right:14px;z-index:10;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:1rem;box-shadow:0 4px 16px rgba(21,15,51,.22);transition:transform .3s,background .2s,color .2s}
.enq-close:hover{background:var(--ink);color:#fff;transform:rotate(90deg)}
.enq-side{position:relative;overflow:hidden;color:#fff;padding:2.4rem 1.9rem;display:flex;flex-direction:column;gap:1.1rem;
 background-image:linear-gradient(165deg,rgba(21,15,51,.55),rgba(108,76,241,.82) 55%,rgba(255,94,138,.9)),url('../img/bali-island-escape.jpg'),url('https://images.unsplash.com/photo-1537996194471-e657df975ab4?auto=format&fit=crop&w=800&q=70'),linear-gradient(135deg,#6C4CF1,#FF5E8A);background-size:cover;background-position:center}
.enq-side:before,.enq-side:after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.1);pointer-events:none}
.enq-side:before{width:240px;height:240px;right:-110px;top:-90px}.enq-side:after{width:160px;height:160px;left:-60px;bottom:-60px}
.enq-side>*{position:relative;z-index:1}
.enq-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);border-radius:50px;padding:.3rem .9rem;font-size:.78rem;font-weight:700}
.enq-side h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.1;margin:0}
.enq-side h3 em{font-style:normal;background:linear-gradient(100deg,#FFB36B,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.enq-perks{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.85rem}
.enq-perks li{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;line-height:1.35}
.enq-perks i{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.18);font-size:1rem}
.enq-perks b{display:block;font-family:'Sora';font-size:.92rem}.enq-perks span{opacity:.82;font-size:.8rem}
.enq-contact{margin-top:auto;font-size:.85rem;opacity:.9;display:grid;gap:.25rem}.enq-contact a{color:#fff;text-decoration:none}.enq-contact i{margin-right:.4rem;color:var(--pe)}
.enq-plane{position:absolute!important;right:22px;bottom:26px;font-size:2.6rem;opacity:.28;animation:fly 5s ease-in-out infinite}
@keyframes fly{50%{transform:translate(8px,-12px) rotate(6deg)}}
.enq-main{position:relative;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:2.2rem 2.2rem 1.8rem}
.enq-main h4{font-weight:800;font-size:1.6rem;margin:0 3rem .2rem 0}
.enq-sub{color:#7d77a0;margin-bottom:1.3rem;font-size:.95rem}
.enq-form .form-control{border-radius:16px;border:1.5px solid #e6e2fa;background:#faf9ff;box-shadow:none}
.enq-form .form-control:focus{border-color:var(--v);background:#fff;box-shadow:0 0 0 4px rgba(108,76,241,.12)}
.enq-form .form-floating>label{color:#8a84ad;font-size:.9rem}
.enq-form .form-floating>.form-control{height:calc(3.4rem + 2px);min-height:0}
.enq-form textarea.form-control{height:5.2rem!important}
.enq-phone{display:flex}.enq-phone .cc-pre{flex:none;display:grid;place-items:center;padding:0 .8rem;border:1.5px solid #e6e2fa;border-right:0;border-radius:16px 0 0 16px;background:#f1eefb;font-weight:700;font-size:.9rem}
.enq-phone .form-floating{flex:1;min-width:0}.enq-phone .form-control{border-radius:0 16px 16px 0}
.enq-lbl{font-family:'Sora';font-weight:700;font-size:.82rem;margin:1.15rem 0 .5rem;display:flex;align-items:center;gap:.4rem}.enq-lbl small{font-family:'Manrope';font-weight:500;color:#8a84ad}
.enq-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.enq-chips input{position:absolute;opacity:0;pointer-events:none}
.enq-chips label{cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;border:1.5px solid #e6e2fa;background:#fff;border-radius:50px;padding:.38rem .95rem;font-weight:600;font-size:.86rem;transition:all .18s;user-select:none}
.enq-chips label:hover{border-color:var(--v);color:var(--v)}
.enq-chips input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px rgba(21,15,51,.22)}
.enq-chips input:focus-visible+label{outline:3px solid var(--pk);outline-offset:2px}
.stepper{display:flex;align-items:center;justify-content:space-between;height:calc(3.4rem + 2px);border:1.5px solid #e6e2fa;border-radius:16px;background:#faf9ff;padding:0 .5rem 0 1rem}
.stepper>span{font-size:.8rem;color:#8a84ad;line-height:1.1}.stepper b{display:block;color:var(--ink);font-size:1rem}
.stepper div{display:flex;align-items:center;gap:.3rem}
.stepper button{width:34px;height:34px;border:0;border-radius:50%;background:#ece8ff;color:var(--v);font-weight:800;font-size:1.1rem;line-height:1;display:grid;place-items:center}
.stepper button:hover{background:var(--v);color:#fff}
.enq-submit{margin-top:1.3rem;padding:.85rem 1.5rem;font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:.6rem}
.enq-submit i{transition:transform .25s}.enq-submit:hover i{transform:translate(4px,-4px)}
.enq-note{margin:.9rem 0 0;text-align:center;font-size:.78rem;color:#8a84ad}.enq-note i{color:#14A76C}
.enq-form.was-validated .form-control:invalid{border-color:#e5484d;background-image:none}
.enq-done{text-align:center;padding:2.2rem 0 1rem}
.enq-done .tick{width:92px;height:92px;margin:0 auto 1.2rem;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:2.6rem;box-shadow:0 14px 36px rgba(255,94,138,.4);animation:pop .55s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:scale(0) rotate(-40deg)}to{transform:none}}
.enq-done h4{margin:0 0 .4rem}.enq-done p{color:#7d77a0;max-width:340px;margin:0 auto 1.4rem}
.enq-done .btn{margin:.2rem}.btn-wa{background:#25d366;color:#fff;border:0;border-radius:50px;font-weight:700;padding:.55rem 1.4rem}.btn-wa:hover{background:#1fb858;color:#fff}
.enq-done .btn-ghost{border:1.5px solid #e6e2fa;border-radius:50px;font-weight:700;padding:.5rem 1.4rem;background:#fff}
@media(max-width:991px){.enq{grid-template-columns:270px minmax(0,1fr)}.enq-side{padding:2rem 1.4rem}}
@media(max-width:767px){
 .modal-dialog.enq-dialog{margin:0 auto;min-height:100%;max-width:none;align-items:flex-end}
 .modal.fade .enq-dialog{transform:translateY(70px)}.modal.show .enq-dialog{transform:none}
 .enq{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);width:100%;border-radius:26px 26px 0 0;max-height:94vh;max-height:94dvh}
 .enq-side{padding:1.2rem 4.2rem 1.1rem 1.3rem;gap:.5rem}.enq-side h3{font-size:1.35rem}
 .enq-perks,.enq-contact,.enq-plane{display:none}
 .enq-main{padding:1.2rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom))}.enq-main h4{font-size:1.25rem;margin-right:0}
 .enq-close{top:12px;right:12px;width:38px;height:38px}
}

/* =====================================================================
   Inner-page heroes (about / contact)
   ===================================================================== */
.ph-hero{position:relative;overflow:hidden;padding:9.5rem 0 5rem;color:#fff;background-size:cover;background-position:center}
.ph-hero h1{font-size:clamp(2.3rem,6.4vw,4.8rem);font-weight:800;line-height:1.04;margin:1.1rem 0 1rem;max-width:860px}
.ph-hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph-hero .lead{max-width:560px;opacity:.9}
.crumbs{font-size:.85rem;opacity:.8;margin-bottom:.4rem}.crumbs a{color:#fff;text-decoration:none}
.sec-k{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--v);margin-bottom:.6rem}

/* about */
.story-art{position:relative;height:460px}.story-art .arch{border-width:6px}.story-art .a1{left:6%;width:48%;height:100%;max-height:430px}.story-art .a2{right:2%;width:44%;height:300px;bottom:0}
.story-art .float-note{left:auto;right:6%;top:10px;bottom:auto}
.val{position:relative;height:100%;background:#fff;border:1px solid #ece9fb;border-radius:26px;padding:1.6rem;overflow:hidden;transition:transform .25s,box-shadow .25s}
.val:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(108,76,241,.14)}
.val .n{position:absolute;right:1rem;top:.4rem;font-family:'Sora';font-weight:800;font-size:3.4rem;color:#f1eefb;line-height:1}
.val i{position:relative;display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--grad);color:#fff;font-size:1.5rem;margin-bottom:1rem}
.val h5{position:relative}.val p{position:relative}
.journey{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:j}
.journey:before{content:'';position:absolute;left:8%;right:8%;top:30px;border-top:2px dashed #cfc8f5}
.jstep{position:relative;text-align:center;padding:0 .5rem}.jstep b{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;background:var(--ink);color:#fff;font-family:'Sora';font-size:1.2rem;border:5px solid #fff;box-shadow:0 0 0 2px #cfc8f5;position:relative;z-index:1}
.jstep:nth-child(odd) b{background:var(--grad)}
.jstep h6{font-weight:700}.jstep p{font-size:.88rem;color:#7d77a0;margin:0}
.promise{position:relative;background:var(--ink);color:#fff;border-radius:34px;padding:clamp(2rem,6vw,4.5rem);overflow:hidden}
.promise:before{content:'“';position:absolute;left:1.5rem;top:-2.5rem;font-family:'Sora';font-size:15rem;line-height:1;color:rgba(255,255,255,.07)}
.promise p{position:relative;font-family:'Sora';font-weight:700;font-size:clamp(1.4rem,3.6vw,2.5rem);line-height:1.2;max-width:820px;margin:0 0 1.2rem}
.promise p em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dest-pills{display:flex;flex-wrap:wrap;gap:.6rem}.dest-pills a{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:50px;background:#fff;border:1px solid #e6e2fa;color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;transition:all .2s}
.dest-pills a:hover{background:var(--grad);color:#fff;border-color:transparent;transform:translateY(-3px)}
@media(max-width:991px){.story-art{height:380px;max-width:520px;margin:auto}.journey{grid-template-columns:1fr 1fr;row-gap:1.8rem}.journey:before{display:none}}
@media(max-width:575px){.journey{grid-template-columns:1fr;text-align:left}.jstep{display:flex;gap:1rem;text-align:left;align-items:flex-start;padding:0}.jstep b{margin:0;flex:none;width:52px;height:52px}.story-art{height:330px}.story-art .a2{height:230px}}

/* contact */
.cc{position:relative;display:flex;flex-direction:column;gap:.15rem;height:100%;padding:1.4rem;border-radius:26px;background:var(--mist);color:var(--ink);text-decoration:none;transition:transform .25s,background .25s,color .25s,box-shadow .25s;overflow:hidden}
.cc i.ic{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#fff;color:var(--v);font-size:1.4rem;margin-bottom:1.4rem;transition:inherit}
.cc small{opacity:.65;font-weight:600}.cc b{font-family:'Sora';font-size:1.05rem;word-break:break-word}
.cc em{position:absolute;right:1.1rem;top:1.1rem;font-style:normal;opacity:.5}
.cc:hover{background:var(--grad);color:#fff;transform:translateY(-6px);box-shadow:0 20px 44px rgba(255,94,138,.28)}.cc:hover i.ic{background:rgba(255,255,255,.2);color:#fff}
.cc.wa-c i.ic{background:#25d366;color:#fff}
.contact-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-radius:34px;overflow:hidden;box-shadow:0 30px 70px rgba(21,15,51,.14);background:#fff}
.contact-info{position:relative;overflow:hidden;color:#fff;padding:clamp(1.8rem,4vw,3rem);display:flex;flex-direction:column;gap:1.2rem;background:linear-gradient(160deg,#150F33,#2b1d6b 60%,#6C4CF1)}
.contact-info:before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,94,138,.25);filter:blur(60px);right:-100px;top:-80px}
.contact-info>*{position:relative}
.contact-info h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin:0}
.contact-info .rows{display:grid;gap:1rem}.contact-info .rows a,.contact-info .rows div{display:flex;gap:.8rem;align-items:center;color:#fff;text-decoration:none}
.contact-info .rows i{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.12)}
.contact-info .rows small{display:block;opacity:.65;font-size:.75rem}.contact-info .rows span{word-break:break-word}
.mapcard{position:relative;margin-top:auto;min-height:170px;border-radius:22px;overflow:hidden;background-color:#1d1550;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;display:flex;align-items:flex-end;padding:1rem}
.mapcard:before{content:'';position:absolute;left:-10%;right:-10%;top:48%;height:14px;background:rgba(255,255,255,.1);transform:rotate(-14deg)}
.mapcard .pin{position:absolute;left:56%;top:34%;width:44px;height:44px;margin:-22px;display:grid;place-items:center;border-radius:50%;background:var(--grad);font-size:1.2rem;box-shadow:0 10px 24px rgba(255,94,138,.5)}
.mapcard .pin:after{content:'';position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--pk);animation:ping 2s ease-out infinite}
@keyframes ping{to{transform:scale(1.7);opacity:0}}
.mapcard a{position:relative;color:#fff;font-weight:700;font-size:.85rem;text-decoration:none;background:rgba(255,255,255,.14);border-radius:50px;padding:.35rem .9rem;backdrop-filter:blur(8px)}
.contact-form{padding:clamp(1.6rem,4vw,2.8rem)}.contact-form .enq-main{padding:0;overflow:visible}.contact-form .enq-main h4{margin-right:0}
@media(max-width:991px){.contact-wrap{grid-template-columns:1fr}}

/* =====================================================================
   Package detail page
   ===================================================================== */
.pk-hero{position:relative;color:#fff;min-height:72vh;min-height:72svh;padding:8rem 0 0;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.pk-hero .container{position:relative;padding-bottom:0}
.pk-back{display:inline-flex;align-items:center;gap:.4rem;color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);border-radius:50px;padding:.35rem .95rem;margin-bottom:1.2rem}.pk-back:hover{color:#fff;background:rgba(255,255,255,.25)}
.pk-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.pk-tags span{display:inline-flex;align-items:center;gap:.35rem;border-radius:50px;padding:.3rem .9rem;font-weight:700;font-size:.8rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}.pk-tags .star{background:var(--grad);border:0}
.pk-hero h1{font-size:clamp(2.3rem,6.4vw,5rem);font-weight:800;line-height:1.02;margin:0 0 .6rem;max-width:900px;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.pk-hero .loc{font-size:1.1rem;opacity:.92;margin-bottom:2.6rem}
.pk-facts{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--ink);border-radius:26px;box-shadow:0 24px 60px rgba(21,15,51,.22);margin-bottom:-52px}
.pk-facts>div{display:flex;align-items:center;gap:.8rem;padding:1.15rem 1.3rem;min-width:0}.pk-facts>div+div{border-left:1px solid #ece9fb}
.pk-facts i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--mist);color:var(--v);font-size:1.2rem}
.pk-facts small{display:block;color:#8a84ad;font-size:.74rem;font-weight:600}.pk-facts b{font-family:'Sora';font-size:.98rem;line-height:1.2;display:block}
.pk-wrap{padding-top:calc(52px + 2.2rem);padding-bottom:3rem}
.pk-nav{position:sticky;top:76px;z-index:30;display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border:1px solid #ece9fb;border-radius:50px;padding:.3rem;margin-bottom:2rem}
.pk-nav::-webkit-scrollbar{display:none}
.pk-nav a{flex:none;padding:.45rem 1.1rem;border-radius:50px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.88rem;transition:background .2s,color .2s}
.pk-nav a:hover{background:var(--mist)}.pk-nav a.on{background:var(--ink);color:#fff}
.pk-sec{margin-bottom:3rem}.pk-sec>h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.pk-sec>h2:after{content:'';flex:1;height:2px;background:linear-gradient(90deg,#e6e2fa,transparent)}
.pk-lead{font-size:1.08rem;color:#4a4470;line-height:1.7}
.hl{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.4rem}
.hl>div{display:flex;gap:.9rem;align-items:center;padding:1rem 1.1rem;border-radius:20px;background:var(--mist);font-weight:700;font-size:.93rem}
.hl i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;font-size:1.2rem}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl:before{content:'';position:absolute;left:27px;top:28px;bottom:28px;border-left:2px dashed #cfc8f5}
.tl li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:1.1rem;margin-bottom:1.1rem}
.tl .dot{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--grad);color:#fff;font-size:1.4rem;box-shadow:0 10px 22px rgba(255,94,138,.3)}
.tl li:nth-child(even) .dot{background:var(--ink);box-shadow:0 10px 22px rgba(21,15,51,.25)}
.tl .card-d{background:#fff;border:1px solid #ece9fb;border-radius:22px;padding:1.05rem 1.3rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.tl li:hover .card-d{transform:translateX(6px);box-shadow:0 14px 34px rgba(108,76,241,.12);border-color:#d9d2fa}
.tl .card-d small{display:block;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--v)}
.tl .card-d h5{font-weight:700;font-size:1.08rem;margin:.15rem 0 .25rem}.tl .card-d p{margin:0;color:#6c6690;font-size:.93rem}
.ie{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ie>div{border-radius:26px;padding:1.5rem}.ie .yes{background:linear-gradient(160deg,#e9f9f1,#f6fdf9)}.ie .no{background:#f6f5fb}
.ie h5{display:flex;align-items:center;gap:.5rem;font-weight:800;margin-bottom:1rem}
.ie ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ie li{display:flex;gap:.7rem;align-items:flex-start;font-weight:600;font-size:.94rem}
.ie li i{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:.8rem;margin-top:1px}
.ie .yes li i{background:#14A76C;color:#fff}.ie .no li i{background:#d9d5ee;color:#6c6690}
.pk-book{position:sticky;top:96px;background:#fff;border:1px solid #e6e2fa;border-radius:30px;box-shadow:0 24px 60px rgba(21,15,51,.12);overflow:hidden}
.pk-book .top{background:linear-gradient(140deg,#150F33,#3b27a3 70%,#6C4CF1);color:#fff;padding:1.6rem 1.6rem 1.4rem;position:relative;overflow:hidden}
.pk-book .top:after{content:'';position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.1);right:-50px;top:-60px}
.pk-book .top small{opacity:.75;position:relative}.pk-book .price{position:relative;font-family:'Sora';font-weight:800;font-size:2.3rem;line-height:1.1}.pk-book .price span{font-size:.9rem;font-weight:600;opacity:.75}
.pk-book .body{padding:1.4rem 1.6rem 1.6rem}
.pk-prices{display:grid;gap:.5rem;margin-bottom:1.2rem}.pk-prices div{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem .95rem;border-radius:14px;background:var(--mist);font-size:.9rem}
.pk-book ul{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.55rem;font-size:.88rem;font-weight:600}.pk-book ul i{color:#14A76C;margin-right:.45rem}
.pk-book .btn+.btn{margin-top:.6rem}
.pk-book .btn-agent{border:1.5px solid #e6e2fa;border-radius:50px;font-weight:700;background:#fff;color:var(--ink)}.pk-book .btn-agent:hover{border-color:var(--v);color:var(--v)}
.pk-bar{display:none}
.rel-card{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;padding:1.2rem;border-radius:26px;color:#fff;text-decoration:none;background-size:cover;background-position:center;overflow:hidden;transition:transform .3s}
.rel-card:hover{transform:translateY(-6px);color:#fff}.rel-card strong{display:block;font-family:'Sora';font-size:1.25rem}.rel-card small{opacity:.88}
@media(max-width:991px){
 .pk-page{padding-bottom:84px}.pk-page .wa{bottom:calc(88px + env(safe-area-inset-bottom))}
 .pk-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:1rem;background:#fff;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(21,15,51,.12);border-radius:22px 22px 0 0}
 .pk-bar small{display:block;color:#8a84ad;font-size:.72rem;line-height:1}.pk-bar b{font-family:'Sora';font-size:1.3rem;line-height:1.2}
 .pk-book{position:static}
 .pk-facts{grid-template-columns:1fr 1fr}.pk-facts>div:nth-child(3){border-left:0}.pk-facts>div:nth-child(n+3){border-top:1px solid #ece9fb}
 .pk-wrap{padding-top:calc(104px + 2rem)}
}
@media(max-width:767px){
 .pk-hero{min-height:64vh;min-height:64svh;padding-top:6.5rem}.pk-hero .loc{margin-bottom:2rem}
 .pk-facts{margin-bottom:-96px;border-radius:22px}.pk-facts>div{padding:.9rem}.pk-facts i{width:38px;height:38px;font-size:1.05rem}.pk-facts b{font-size:.88rem}
 .pk-wrap{padding-top:calc(96px + 1.6rem)}
 .hl,.ie{grid-template-columns:1fr}
 .tl:before{left:23px}.tl li{grid-template-columns:48px minmax(0,1fr);gap:.8rem}.tl .dot{width:48px;height:48px;border-radius:15px;font-size:1.2rem}
 .tl .card-d{padding:.9rem 1rem}
 .rel-card{aspect-ratio:16/10}
}
.cc-pull{margin-top:-4.2rem;position:relative;z-index:2}
/* big bootstrap gutters (g-5) are wider than the container padding on phones -> sideways scroll */
@media(max-width:991px){.row.g-5,.row.gx-5,.row.g-xl-5,.row.gx-xl-5{--bs-gutter-x:1.5rem}.row.g-5,.row.gy-5{--bs-gutter-y:2rem}}

/* =====================================================================
   v3 — smaller type, creative mobile menu, dashboard sidebar, lighter paint
   ===================================================================== */
html{font-size:15px}
.hero h1{font-size:clamp(2.1rem,5.2vw,4rem)}
.d-hero h1{font-size:clamp(3rem,10vw,7rem)}
.ph-hero h1,.pk-hero h1{font-size:clamp(2rem,5.4vw,4.2rem)}
.display-6{font-size:clamp(1.6rem,3.4vw,2.2rem)}
.oc-link{font-size:1rem}
@media(max-width:767px){
 html{font-size:14px}
 .hero h1{font-size:clamp(1.9rem,9vw,2.5rem)}
 .ph-hero h1,.pk-hero h1{font-size:clamp(1.8rem,8.4vw,2.3rem)}
 .d-hero h1{font-size:clamp(2.4rem,14vw,3.6rem)}
 .h2,h2.h2{font-size:1.4rem}.h3{font-size:1.2rem}
 .marquee span{font-size:1rem;margin:0 1.2rem}.marquee span:after{margin-left:1.2rem}
 .lead{font-size:1rem}
 .mc.w h3{font-size:1.4rem}.pk-book .price{font-size:1.9rem}.promise p{font-size:1.25rem}
 .form-control,.form-select,input,textarea,select{font-size:16px!important} /* stops iOS zoom-on-focus */
 /* blur is expensive on phones */
 .nav-pill{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(21,15,51,.82)}
 .nav-wrap.scrolled .nav-pill{background:#fff}
 .glass-pill,.btn-glass,.pk-back,.pk-tags span,.badge-cat,.float-note{backdrop-filter:none}
 .filterbar,.pk-nav{backdrop-filter:none;background:#fff}
}
.marquee div{will-change:transform}

/* ---------- Mobile menu (offcanvas) ---------- */
.menu-oc{position:fixed;width:min(86vw,340px);border:0;border-radius:30px 0 0 30px;overflow:hidden;color:#fff;
 background:linear-gradient(165deg,#150F33 0%,#2b1d6b 58%,#4527b5 100%);box-shadow:-20px 0 60px rgba(21,15,51,.5)}
.menu-oc>*{position:relative;z-index:1}.menu-oc>.oc-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(46px);pointer-events:none}
.oc-blob.b1{width:230px;height:230px;right:-90px;top:-70px;background:#FF5E8A;opacity:.38}
.oc-blob.b2{width:210px;height:210px;left:-100px;bottom:70px;background:#6C4CF1;opacity:.55}
.menu-oc .offcanvas-header{padding:1.1rem 1.2rem .6rem}
.oc-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;font-size:.95rem;transition:transform .3s,background .2s}
.oc-close:hover{background:#fff;color:var(--ink);transform:rotate(90deg)}
.menu-oc .offcanvas-body{display:flex;flex-direction:column;padding:.4rem 1.2rem 1.2rem}
.oc-kicker{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--pe);margin:.6rem .3rem .5rem}
.oc-nav{display:grid;gap:.3rem}
.menu-oc .oc-link{position:relative;display:flex;align-items:center;gap:.8rem;font-family:'Sora',sans-serif;font-weight:600;font-size:1.05rem;color:#fff;text-decoration:none;
 padding:.8rem .9rem;border:0;border-radius:18px;background:rgba(255,255,255,.05);transition:background .2s,transform .2s}
.menu-oc .oc-link:hover,.menu-oc .oc-link:active{background:rgba(255,255,255,.13);transform:translateX(-3px)}
.oc-n{font-size:.68rem;font-weight:700;color:rgba(255,255,255,.4);width:1.3rem}
.menu-oc .oc-ic{font-size:1.15rem;opacity:1;color:var(--pe)}
.oc-t{flex:1}
.menu-oc .oc-go{font-size:.9rem;opacity:.45;transition:transform .2s,opacity .2s}.menu-oc .oc-link:hover .oc-go{transform:translate(2px,-2px);opacity:1}
.menu-oc .oc-link.on{background:linear-gradient(100deg,#6C4CF1,#FF5E8A);box-shadow:0 10px 26px rgba(255,94,138,.35)}
.menu-oc .oc-link.on .oc-ic,.menu-oc .oc-link.on .oc-n{color:#fff}.menu-oc .oc-link.on .oc-go{opacity:1}
.oc-login{margin-top:.9rem;background:transparent!important;border:1.5px dashed rgba(255,255,255,.28)!important}
.oc-login.on{background:rgba(255,255,255,.12)!important;border-style:solid!important}
.oc-tag{font-family:'Manrope';font-weight:600;font-size:.7rem;background:rgba(255,255,255,.14);border-radius:50px;padding:.15rem .6rem}
.oc-foot{margin-top:auto;padding-top:1.2rem}
.oc-cta{padding:.8rem;font-size:1rem}
.oc-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.7rem}
.oc-quick a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.65rem .3rem;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:.72rem;font-weight:600;transition:background .2s}
.oc-quick a i{font-size:1.15rem;color:var(--pe)}.oc-quick a:nth-child(2) i{color:#25d366}.oc-quick a:hover{background:rgba(255,255,255,.18)}
.oc-addr{margin:.9rem 0 0;text-align:center;font-size:.76rem;color:rgba(255,255,255,.6)}.oc-addr i{color:var(--pk)}
.menu-oc.show .oc-link,.menu-oc.show .oc-foot,.menu-oc.show .oc-kicker{animation:ocIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms + 120ms)}
.menu-oc.show .oc-foot{animation-delay:.45s}
@keyframes ocIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.offcanvas-backdrop.show{opacity:.55}

/* ---------- Dashboard sidebar on phones ---------- */
.side-x,.side-ov{display:none}
@media(max-width:991px){
 .side{width:min(82vw,290px);left:-100%;top:0;bottom:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;z-index:1050;border-radius:0 28px 28px 0;
  background:linear-gradient(170deg,#150F33,#2b1d6b);box-shadow:none;transition:left .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
 .side.open{left:0;box-shadow:20px 0 60px rgba(21,15,51,.5)}
 .side .ni{padding:.8rem .9rem;font-size:.95rem}
 .side-x{display:grid;place-items:center;position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
 .side-ov{display:block;position:fixed;inset:0;z-index:1040;background:rgba(21,15,51,.55);opacity:0;pointer-events:none;transition:opacity .25s}
 .side-ov.on{opacity:1;pointer-events:auto}
 body.side-lock{overflow:hidden}
 .dash-main{padding:.9rem}.topbar{gap:.5rem}.tsearch{min-width:0}
}
.menu-oc .offcanvas-header{justify-content:space-between;align-items:center}
