:root{--pink:#e91264;--pink2:#c00d54;--teal:#0294ef;--navy:#0b1330;--ink:#161b2e;--mut:#69708a;--bg:#fff;--soft:#f6f7fb;--r:20px;--sh:0 16px 40px -20px rgba(11,19,48,.35)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:16px/1.65 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:#fff}body.lock{overflow:hidden}
h1,h2,h3,h4{line-height:1.15;color:var(--navy);font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5.2vw,4rem);font-weight:800}h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}h3{font-size:1.12rem}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.wrap{width:min(1200px,92%);margin:auto}.sec{padding:88px 0}.tint{background:var(--soft)}.mut{color:var(--mut)}
.lbl{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--pink);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:40px}.head p{color:var(--mut);max-width:380px}

/* Buttons: slight movement on hover only, no continuous animation */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 26px;border-radius:99px;border:1.5px solid transparent;font:600 .92rem 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.btn.sm{padding:10px 18px;font-size:.84rem}
.btn.gold,.btn.pink{background:linear-gradient(135deg,var(--pink),var(--pink2));color:#fff}
.btn.gold:hover,.btn.pink:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px var(--pink)}
.btn.line{border-color:var(--teal);color:var(--teal);background:none}
.btn.line:hover{background:var(--teal);color:#fff;transform:translateY(-2px)}
.btn.ghost{border-color:#ffffff99;color:#fff}.btn.ghost:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn.white{background:#fff;color:var(--navy)}.btn.white:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px #0006}

.hdr{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 #ece9f3;padding:16px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;display:flex;flex-direction:column;line-height:1;background:linear-gradient(135deg,var(--pink),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent;flex:none}
.logo small{font-size:.55rem;letter-spacing:.32em;color:var(--mut);font-weight:600;margin-top:5px;background:none;-webkit-text-fill-color:var(--mut)}
nav{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}nav a{font-size:18px;font-weight:500;transition:color .2s;position:relative}nav a:hover,nav a.on{color:var(--pink)}
nav a.on::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--pink);border-radius:2px}
.hcall{display:flex;align-items:center;gap:14px;flex:none}
.callbox{display:flex;flex-direction:column;line-height:1.3;font-size:.78rem;color:var(--mut);text-align:left}
.callbox span{font-size:.72rem}.callbox b{color:var(--pink);font-size:.95rem;font-weight:700}
.wabtn{width:38px;height:38px;border-radius:50%;background:#25d366;display:grid;place-items:center;flex:none;transition:transform .25s}
.wabtn:hover{transform:scale(1.08)}
.burger{display:none;background:none;border:0;font-size:1.7rem;cursor:pointer;color:var(--ink)}

/* ===== Banner carousel ===== */
.banner{position:relative;padding:22px 0 10px;background:#fff}
.bnr-viewport{position:relative;overflow:hidden;padding:0 9%;outline:none}
.bnr-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.bnr-track.no-anim{transition:none}
.slide{flex:0 0 100%;padding:0 8px;box-sizing:border-box;opacity:.5;transform:scale(.94);transition:opacity .55s,transform .55s}
.slide.active{opacity:1;transform:scale(1)}
.slide-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:21/9;background:var(--navy)}
.slide-media .ph,.slide-media img,.slide-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide-fade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,15,40,.78) 0%,rgba(8,15,40,.42) 48%,rgba(8,15,40,.1) 100%)}
.slide-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:5% 6%;max-width:520px;color:#fff}
.slide .loc{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffd6e6;margin-bottom:8px}
.slide h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:4px;font-weight:800}
.slide .sub{font-size:1.15rem;font-weight:600;color:#f4f0ff;margin-bottom:12px}
.slide .quote{font-size:.92rem;opacity:.85;max-width:400px;margin-bottom:24px;font-style:italic}
.bnr-arrow{position:absolute;top:50%;translate:0 -50%;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:.95rem;box-shadow:var(--sh);cursor:pointer;display:grid;place-items:center;z-index:6;transition:transform .25s,background-color .25s}
.bnr-arrow:hover{background:var(--pink);color:#fff;transform:translateY(-50%) scale(1.08)}
.bnr-arrow.prev{left:1%}.bnr-arrow.next{right:1%}
.bnr-dots{display:flex;justify-content:flex-start;gap:8px;padding:0 12% 0 calc(9% + 40px);margin-top:16px}
.bnr-dots button{width:8px;height:8px;border-radius:99px;border:0;background:#e2d9e6;cursor:pointer;padding:0;transition:.25s}
.bnr-dots button.on{width:24px;background:var(--pink)}
@media(max-width:960px){.bnr-dots{padding-left:6%}}

.pagehead{text-align:center;color:#fff;padding:90px 0;background:linear-gradient(rgba(11,19,48,.82),rgba(11,19,48,.88)),url("../../uploads/images/bannerimg.jpg") center/cover,var(--navy)}.pagehead h1{color:#fff}
.card{background:#fff;border-radius:var(--r);padding:30px;box-shadow:var(--sh);border:1px solid #edeaf5}.card h3{margin-bottom:10px}.card p{margin:8px 0}.stars{color:#f5a524;letter-spacing:3px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
input,select,textarea{width:100%;padding:13px 16px;border:1.5px solid #e6e3f0;border-radius:14px;font:inherit;font-size:.92rem;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--pink);box-shadow:0 0 0 4px rgba(233,18,100,.14)}
textarea{margin-bottom:14px;resize:vertical}.enq .btn{width:100%}.hp{position:absolute;left:-9999px;width:1px}.done .fields{display:none}
.alert{padding:16px 18px;border-radius:14px;font-weight:500;text-align:left}.alert.ok{background:#e8f5ec;color:#1d6b3a}.alert.err{background:#fdeaea;color:#a12b2b}.fields+.alert{margin-top:14px}
.grid{display:grid;gap:26px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ph{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,var(--teal),var(--navy))}.ph img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.pic{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/4.2;box-shadow:var(--sh)}
.badge{position:absolute;left:18px;bottom:18px;z-index:2;background:#fff;border-radius:16px;padding:12px 18px;font-size:.8rem;color:var(--mut)}.badge b{display:block;font-size:1.35rem;color:var(--pink)}
.feat{display:flex;gap:14px;padding:16px 18px;border:1px solid #ece9f5;border-radius:16px;margin-top:12px;background:#fff}.feat i{flex:none;width:34px;height:34px;border-radius:10px;background:#fdeaf2;color:var(--pink);display:grid;place-items:center;font-style:normal;font-weight:700}
.feat h3{font-size:1rem}.feat p{color:var(--mut);font-size:.9rem}

/* Category / destination cards: hover-only lift + image zoom + shadow, no infinite animation */
.cat{display:block;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 26px -18px rgba(11,19,48,.3);border:1px solid #edeaf5;transition:transform .3s ease,box-shadow .3s ease}
.cat:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.ci{position:relative;aspect-ratio:4/3;overflow:hidden}.ci img{transition:transform .4s ease}.cat:hover .ci img{transform:scale(1.05)}
.cb{padding:20px}.cb p{color:var(--mut);font-size:.9rem;margin:4px 0 12px}.more{color:var(--teal);font-weight:600;font-size:.88rem}

.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:18px}
.dst{position:relative;border-radius:var(--r);overflow:hidden;color:#fff;transition:transform .3s ease,box-shadow .3s ease}
.dst:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.dst .ph img{transition:transform .4s ease}.dst:hover .ph img{transform:scale(1.05)}
.dst:nth-child(1){grid-column:span 2;grid-row:span 2}.dst:nth-child(2),.dst:nth-child(5),.dst:nth-child(6){grid-column:span 2}
.ov{position:absolute;inset:auto 0 0;padding:22px;background:linear-gradient(transparent,rgba(6,10,30,.9));z-index:1;transition:background .3s ease}.dst:hover .ov{background:linear-gradient(transparent,rgba(6,10,30,.96))}
.ov h3{color:#fff;font-size:1.4rem}.ov p{font-size:.88rem;opacity:.85}
.pr{position:absolute;right:16px;top:16px;z-index:2;background:#fff;color:var(--navy);font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:99px}

.step{padding:28px;border-radius:var(--r);background:#fff;border:1px solid #ece9f5;transition:transform .3s ease,box-shadow .3s ease}.step:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.step b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;margin-bottom:14px}.step p{color:var(--mut);font-size:.92rem}

.band{background:linear-gradient(135deg,var(--pink),var(--navy));color:#fff;padding:84px 0}.band blockquote{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:600;line-height:1.4;margin-bottom:12px}.who{opacity:.85;margin-bottom:34px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.band .split .stats{grid-template-columns:repeat(2,1fr)}.stat{text-align:center}.band .split .stat{text-align:left}
.stat b{font-size:2.6rem;font-weight:800;line-height:1}.sl{display:block;opacity:.85;font-size:.9rem;margin-top:6px}
.cta{background:linear-gradient(135deg,var(--pink),var(--navy));border-radius:32px;padding:64px;color:#fff}.cta h2{color:#fff;max-width:560px}.chk{list-style:none;padding:0;margin:20px 0 30px}.chk li::before{content:'\2713';color:#ffd6e6;font-weight:700;margin-right:10px}.cta .btn+.btn{margin-left:10px}

.pkg{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 26px -18px rgba(11,19,48,.3);border:1px solid #edeaf5;transition:transform .3s ease,box-shadow .3s ease}
.pkg:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.pimg{position:relative;height:220px;overflow:hidden}.pimg .ph img{transition:transform .4s ease}.pkg:hover .pimg .ph img{transform:scale(1.05)}.pimg .tag{position:absolute;left:16px;top:16px;z-index:2}
.tag{display:inline-block;background:var(--pink);color:#fff;font-size:.74rem;font-weight:600;padding:4px 12px;border-radius:99px}
.pbody{padding:22px}.pbody small{color:var(--mut)}.pbody p{color:var(--mut);font-size:.9rem;margin:8px 0 16px}
.pfoot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid #ece9f5;padding-top:16px}.pfoot b{display:block;font-size:1.35rem;color:var(--pink)}.btns{display:flex;gap:8px;flex-wrap:wrap}
.filters{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:40px}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips a{padding:9px 18px;border-radius:99px;background:#fff;border:1.5px solid #e6e3f0;font-size:.86rem;font-weight:500;transition:.2s}
.chips a.on,.chips a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.filters select{width:auto;min-width:220px}.empty{text-align:center;padding:50px;color:var(--mut)}
.info{padding:16px 0;border-bottom:1px solid #ece9f5}.info b{display:block;color:var(--navy)}.map{border:0;width:100%;height:380px;border-radius:var(--r);box-shadow:var(--sh)}
.ftr{background:var(--navy);color:#b3b8d6;padding:70px 0 0}.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.ftr h5{color:#fff;font:700 1rem 'Plus Jakarta Sans',sans-serif;margin-bottom:14px}.ftr a{display:block;padding:3px 0;transition:color .2s}.ftr a:hover{color:var(--pink)}.ftr .logo{-webkit-text-fill-color:#fff;background:none;color:#fff}.ftr .logo small{-webkit-text-fill-color:#8791b8;color:#8791b8}
.copy{border-top:1px solid #ffffff1a;margin-top:50px;padding:22px;text-align:center;font-size:.84rem}
.wa{position:fixed;right:22px;bottom:22px;z-index:60;background:#25d366;color:#fff;padding:13px 22px;border-radius:99px;font-weight:600;box-shadow:0 10px 30px -8px #25d366;transition:transform .25s}.wa:hover{transform:translateY(-3px)}
.modal{position:fixed;inset:0;z-index:100;background:rgba(6,10,30,.7);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow:auto}.modal.show{opacity:1;visibility:visible}
.box{position:relative;background:#fff;border-radius:26px;width:min(520px,100%);max-height:92vh;overflow:auto;transform:translateY(30px);transition:transform .35s}.modal.show .box{transform:none}.box.big{width:min(820px,100%)}
.x{position:absolute;right:16px;top:14px;z-index:5;width:38px;height:38px;border-radius:50%;border:0;background:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px #0003;transition:transform .2s}.x:hover{transform:scale(1.08)}
.pad{padding:32px}.mh{height:260px}.for{background:#fdeaf2;padding:10px 16px;border-radius:12px;margin:10px 0 18px;font-weight:600;color:var(--navy)}
.meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--mut);margin:8px 0 16px}.meta b{color:var(--pink);font-size:1.15rem}
.pad h4{font-size:1.2rem;margin:24px 0 8px}.itin,.cols ul,.plain{list-style:none;padding:0}.itin{padding-left:20px;border-left:2px solid var(--pink)}.itin li{margin-bottom:10px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ok li::before{content:'\2713  ';color:#1d8a4a}.no li::before{content:'\2715  ';color:#b33}
/* ===== Destination strip (small square cards row) ===== */
.dstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.dcard{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:1/1.05;box-shadow:0 10px 24px -18px rgba(11,19,48,.35);transition:transform .3s ease,box-shadow .3s ease}
.dcard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.dcard .ph img{transition:transform .4s ease}.dcard:hover .ph img{transform:scale(1.05)}
.dcard .ov2{position:absolute;inset:auto 0 0;padding:12px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(transparent,rgba(6,10,30,.85))}
.dcard .ov2 b{color:#fff;font-size:.92rem;font-weight:700}
.dcard .go{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:.7rem;flex:none;transition:transform .25s,background-color .25s}
.dcard:hover .go{background:var(--pink);color:#fff;transform:translateX(2px)}

/* ===== Package teaser row (homepage) ===== */
.pteaser .pfoot{align-items:center}

/* ===== Why-us icon row ===== */
.why2{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.wcard{display:flex;gap:14px;align-items:flex-start;padding:22px;border:1px solid #ece9f5;border-radius:18px;background:#fff;transition:transform .3s ease,box-shadow .3s ease}
.wcard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.wcard i{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:1.1rem}
.wcard h3{font-size:1rem;margin-bottom:4px}.wcard p{color:var(--mut);font-size:.86rem;margin:0}
.wcard.c1 i{background:#e6f3fd;color:#1f7fd6}.wcard.c2 i{background:#fdeaf2;color:var(--pink)}
.wcard.c3 i{background:#fff1e0;color:#f2942a}.wcard.c4 i{background:#f3e8fd;color:#9457d6}

/* ===== Testimonial slider ===== */
.tsl-viewport{position:relative;overflow:hidden}
.tsl-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.tsl-track.no-anim{transition:none}
.tslide{flex:0 0 100%;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;box-sizing:border-box;padding:0 2px}
.tcard{background:#fff;border:1px solid #ece9f5;border-radius:var(--r);padding:28px;box-shadow:0 10px 24px -18px rgba(11,19,48,.3);position:relative}
.tcard .qm{font-size:2.4rem;color:var(--pink);line-height:1;font-family:Georgia,serif;opacity:.5}
.tcard p{color:var(--ink);font-size:.95rem;margin:8px 0 16px}
.tperson{display:flex;align-items:center;gap:10px;margin-top:10px}
.tav{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--teal));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem;flex:none}
.tperson b{display:block;font-size:.9rem}.tperson span{color:var(--mut);font-size:.8rem}
.tsl-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:26px}
.tsl-nav .bnr-arrow{position:static;translate:none;box-shadow:0 8px 20px -14px rgba(11,19,48,.4)}
.tsl-dots{display:flex;gap:8px}.tsl-dots button{width:8px;height:8px;border-radius:99px;border:0;background:#e2d9e6;cursor:pointer;padding:0;transition:.25s}.tsl-dots button.on{width:24px;background:var(--pink)}

/* ===== Footer social + newsletter ===== */
.fsoc{display:flex;gap:10px;margin-top:16px}
.fsoc a{width:34px;height:34px;border-radius:50%;background:#ffffff14;display:grid;place-items:center;transition:background-color .25s,transform .25s}
.fsoc a:hover{background:var(--pink);transform:translateY(-3px)}
.nlform{margin-top:8px}.nlform .row2{display:flex;gap:8px}.nlform input{flex:1}
.nlform .alert{margin-top:10px;padding:10px 14px;font-size:.85rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(max-width:960px){.split,.g2{grid-template-columns:1fr;gap:36px}.g4,.g3{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr}.burger{display:block}
nav{position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;padding:24px;display:none;gap:18px;box-shadow:0 20px 30px -20px #0004}nav.open{display:flex}
.sec{padding:64px 0}.bento{grid-template-columns:repeat(2,1fr)}.dst:nth-child(n){grid-column:span 1;grid-row:span 1}.dst:nth-child(1){grid-column:span 2}.stats{grid-template-columns:repeat(2,1fr)}.cta{padding:40px 26px}
.bnr-viewport{padding:0 6%}.slide-content{max-width:100%}.bnr-arrow{width:38px;height:38px}
.dstrip{grid-template-columns:repeat(3,1fr)}.why2{grid-template-columns:repeat(2,1fr)}.tslide{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.g4,.g3,.row,.cols,.fgrid{grid-template-columns:1fr}.top .wrap span:last-child{display:none}.card,.pad{padding:22px}.wa{padding:11px 16px}.cta .btn+.btn{margin:12px 0 0}.bento{grid-template-columns:1fr}.dst:nth-child(n){grid-column:span 1}
.bnr-viewport{padding:0 4%}.slide-media{aspect-ratio:4/5}.slide h1{font-size:1.9rem}
.dstrip{grid-template-columns:repeat(2,1fr)}.why2{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}.hcall{gap:8px}.callbox{display:none}.nlform .row2{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}.reveal{opacity:1;transform:none}.bnr-track{transition:none!important}}

/* ===== Experience & Operational Brands ===== */
.opbrands{padding-top:72px;padding-bottom:72px}.opbrands .head{align-items:center;margin-bottom:28px}.opbrands .head h2{margin-bottom:6px}.opbrands .head .mut{margin:0}.opnav{display:flex;gap:10px}.opnav .bnr-arrow{position:static;transform:none;translate:none;box-shadow:0 8px 22px -14px rgba(11,19,48,.45)}
.opviewport{overflow:hidden}.optrack{display:flex;gap:22px;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.opcard{position:relative;flex:0 0 calc((100% - 88px)/5);min-height:360px;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 12px 30px -22px rgba(11,19,48,.5)}
.opcard.featured{flex-basis:calc((100% - 44px)/3)}.opcard .ph,.opcard img{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.opcard img{object-fit:cover;transition:transform .45s ease}.opcard:hover img{transform:scale(1.06)}.opfade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(0,0,0,.08) 40%,rgba(0,0,0,.82) 100%)}
.opbody{position:absolute;inset:auto 22px 20px;color:#fff;z-index:2}.opbody h3{color:#fff;font-size:1.35rem;margin-bottom:7px}.opbody p{font-size:.84rem;line-height:1.5;color:#fff;margin-bottom:15px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.opbody .btn{color:#fff;border-color:#fff;background:#0002}.opbody .btn:hover{background:#fff;color:var(--navy)}
@media(max-width:1100px){.opcard{flex-basis:calc((100% - 44px)/3)}.opcard.featured{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:700px){.opbrands .head{align-items:flex-start}.opcard,.opcard.featured{flex-basis:82%;min-height:330px}.optrack{gap:14px}}

/* Admin */
.adminbody{background:#f5f7fb}.adminwrap{width:min(1280px,94%);margin:auto}.adminbar{background:#0b1330;color:#fff;padding:18px 0}.adminnav{display:flex;align-items:center;justify-content:space-between;gap:20px}.adminnav a{color:#fff}.adminnav .brand{font-weight:800;font-size:1.15rem}.adminlayout{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:28px 0}.aside{background:#fff;border:1px solid #e8eaf1;border-radius:18px;padding:14px;height:max-content;position:sticky;top:20px}.aside a{display:block;padding:11px 12px;border-radius:10px;margin:3px 0;color:#4e566e}.aside a.on,.aside a:hover{background:#ffe8f2;color:var(--pink);font-weight:700}.panel{background:#fff;border:1px solid #e8eaf1;border-radius:18px;padding:24px;box-shadow:0 10px 30px -25px #0b1330}.panel h1{font-size:2rem;margin-bottom:5px}.muted{color:#6c7489}.admintable{width:100%;border-collapse:collapse;margin-top:20px}.admintable th,.admintable td{padding:12px 10px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top;font-size:.88rem}.admintable th{color:#6c7489;font-size:.75rem;text-transform:uppercase}.admintable img{width:80px;height:54px;object-fit:cover;border-radius:8px}.actions{display:flex;gap:7px;flex-wrap:wrap}.aform{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px}.aform .full{grid-column:1/-1}.aform label{font-size:.78rem;font-weight:700;color:#4f5870;display:block;margin-bottom:6px}.aform input,.aform textarea,.aform select{width:100%;padding:11px 12px;border:1px solid #dfe3ec;border-radius:10px;font:inherit;background:#fff}.aform textarea{min-height:110px;resize:vertical}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.statbox{padding:20px;border:1px solid #e8eaf1;border-radius:15px;background:#fff}.statbox b{display:block;font-size:1.7rem;color:var(--navy)}.flash{padding:12px 14px;border-radius:10px;background:#e8fff2;color:#137443;margin-bottom:15px}.danger{color:#c31a43}.loginbox{width:min(430px,92%);margin:10vh auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 25px 70px -30px #0b1330}.loginbox h1{font-size:1.8rem}.loginbox .field{margin:15px 0}.loginbox label{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px}.loginbox input{width:100%;padding:12px;border:1px solid #dfe3ec;border-radius:10px}.loginbox button{width:100%;margin-top:8px}
@media(max-width:850px){.adminlayout{grid-template-columns:1fr}.aside{position:static}.statgrid{grid-template-columns:repeat(2,1fr)}.aform{grid-template-columns:1fr}.aform .full{grid-column:auto}.admintable{display:block;overflow:auto;white-space:nowrap}}
.ghlogo{font-family:'DM Sans',sans-serif;font-size:1.55rem;letter-spacing:-.04em;color:#129fe0;white-space:nowrap}.ghlogo>span:first-child{color:#d90879}.ghlogo .ghpink{color:#d90879}.ghlogo .ghblue{color:#f7941d}.ghlogo small{font-size:.58rem;letter-spacing:.16em;color:#555;text-align:center;margin-top:3px}.ghlogo{background:none!important}.ghlogo:hover{opacity:.9}
.hcall{display:flex;align-items:center;gap:12px}.callbox{display:flex;flex-direction:column;line-height:1.15}.callbox span{font-size:.68rem;color:#6d7383}.callbox b{font-size:.8rem;color:var(--pink)}.wabtn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#17c964;color:#fff;font-weight:800}.hdr.sc{box-shadow:0 8px 24px -20px #0b1330}

/* ===== Requested interaction updates ===== */
/* Hero: no arrows; autoplay keeps running while hovered; subtle hover movement. */
.banner .bnr-arrow{display:none!important}
.banner .slide-media img,.banner .slide-media video{transition:transform .65s ease}
.banner:hover .slide.active .slide-media img,.banner:hover .slide.active .slide-media video{transform:scale(1.025)}

/* Popular Holiday Packages: looping horizontal carousel */
.pkgviewport{overflow:hidden;position:relative}
.pkgtrack{display:flex;gap:18px;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.pkgtrack.no-anim{transition:none}
.pkgtrack .pkg{flex:0 0 calc((100% - 72px)/5);min-width:0}
@media(max-width:1100px){.pkgtrack .pkg{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:760px){.pkgtrack{gap:14px}.pkgtrack .pkg{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:520px){.pkgtrack .pkg{flex-basis:100%}}

/* Operational brands: compact cards, active/hover card expands like the first card. */
.opviewport{overflow:hidden}
.optrack{display:flex;gap:22px;align-items:stretch;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.opcard{position:relative;flex:1 1 0;min-width:0;min-height:450px;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 12px 30px -22px rgba(11,19,48,.5);cursor:pointer;transition:flex-basis .45s ease,transform .3s ease,box-shadow .3s ease}
.opcard.is-active,.opcard:hover,.opcard:focus-visible{flex-grow:2.35;box-shadow:0 20px 42px -24px rgba(11,19,48,.55);outline:none}
.opcard:not(.is-active) .opbody p,.opcard:not(.is-active) .opbody .btn{opacity:0;transform:translateY(10px);pointer-events:none;max-height:0;margin:0}
.opcard.is-active .opbody p,.opcard:hover .opbody p,.opcard:focus-visible .opbody p,.opcard.is-active .opbody .btn,.opcard:hover .opbody .btn,.opcard:focus-visible .opbody .btn{opacity:1;transform:none;max-height:220px;pointer-events:auto}
.opcard .opmedia,.opcard .ph,.opcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;overflow:hidden}
.opcard .opmedia{display:block}.opcard .opiframe{border:0;pointer-events:none}.opcard .opbody h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opcard.is-active .opbody h3,.opcard:hover .opbody h3,.opcard:focus-visible .opbody h3{white-space:normal;overflow:visible;text-overflow:clip}
.opcard .ph img,.opcard .opmedia{transition:transform .55s ease}
.opcard:hover .ph img,.opcard:hover .opmedia,.opcard.is-active .ph img,.opcard.is-active .opmedia{transform:scale(1.04)}
.opbody p,.opbody .btn{transition:opacity .3s ease,transform .3s ease,max-height .3s ease}
@media(max-width:900px){.optrack{gap:14px}.opcard{flex:0 0 29%;min-height:380px}.opcard.is-active,.opcard:hover,.opcard:focus-visible{flex-basis:42%}}
@media(max-width:650px){.opcard{flex:0 0 72%;min-height:360px}.opcard.is-active,.opcard:hover,.opcard:focus-visible{flex-basis:72%}}

/* ===== Final carousel refinements ===== */
.pkg{display:flex;flex-direction:column;height:100%;}
.pbody{display:flex;flex-direction:column;flex:1}
.pbody p{min-height:58px}
.pfoot{margin-top:auto}
.package-grid{align-items:stretch}
.package-grid .pkg{height: 100%;}

/* Homepage package carousel: exactly 3 cards on desktop with infinite loop */
.pkgviewport{overflow:hidden;width:100%;padding:4px 2px 10px}
.pkgtrack{display:flex;gap:24px;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.pkgtrack .pkg{flex:0 0 calc((100% - 48px)/3);min-width:0}
@media(max-width:900px){.pkgtrack{gap:18px}.pkgtrack .pkg{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.pkgtrack{gap:14px}.pkgtrack .pkg{flex-basis:100%}}

/* Testimonial carousel: exactly 3 cards with seamless looping */
.tsl-viewport{overflow:hidden;width:100%;padding:4px 2px 10px}
.tsl-track{display:flex;gap:24px;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.tsl-track.no-anim{transition:none}
.tsl-track .tcard{flex:0 0 calc((100% - 48px)/3);min-width:0;box-sizing:border-box}
.tsl-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:22px}
.tsl-nav .bnr-arrow{position:static;translate:none;box-shadow:0 8px 20px -14px rgba(11,19,48,.4)}
@media(max-width:900px){.tsl-track{gap:18px}.tsl-track .tcard{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.tsl-track{gap:14px}.tsl-track .tcard{flex-basis:100%}}

/* Modern admin dashboard */
.adminbody{background:linear-gradient(180deg,#f7f8fc 0%,#eef2f8 100%);color:var(--ink)}
.adminbar{background:linear-gradient(135deg,#0b1330,#111d46);padding:14px 0;box-shadow:0 10px 30px -22px #071126}
.adminnav .brand{letter-spacing:.01em}.adminnav .brand small{display:block;color:#aeb8d3;font-size:.58rem;letter-spacing:.2em;margin-top:2px}
.adminlayout{grid-template-columns:250px 1fr;gap:22px;padding:24px 0}
.aside{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid #e3e7f0;border-radius:22px;padding:12px;box-shadow:0 18px 50px -35px #0b1330;top:16px}
.aside:before{content:'CONTROL PANEL';display:block;padding:10px 12px 8px;color:#98a1b8;font-size:.68rem;font-weight:800;letter-spacing:.12em}
.aside a{padding:12px 13px;border-radius:12px;margin:4px 0;color:#4b5570;font-weight:600;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.aside a:hover{transform:translateX(2px);background:#f9e8f0;color:var(--pink)}
.aside a.on{background:linear-gradient(135deg,#ffe7f1,#f4f8ff);color:var(--pink);box-shadow:inset 3px 0 0 var(--pink)}
.panel{border:1px solid #e2e6ef;border-radius:22px;padding:30px;box-shadow:0 20px 55px -40px #0b1330;background:rgba(255,255,255,.96)}
.panel h1{font-size:2.2rem}.panel h2{font-size:1.35rem}
.statgrid{grid-template-columns:repeat(4,1fr);gap:16px}.statbox{border:1px solid #e4e8f0;border-radius:18px;padding:20px;background:linear-gradient(145deg,#fff,#f8faff);box-shadow:0 12px 30px -26px #0b1330;transition:transform .25s,box-shadow .25s}.statbox:hover{transform:translateY(-3px);box-shadow:0 18px 35px -26px #0b1330}.statbox span{color:#77819a;font-size:.78rem;font-weight:700}.statbox b{margin-top:7px;font-size:2rem}
.aform{gap:16px}.aform>div{background:#fbfcfe;border:1px solid #edf0f5;border-radius:14px;padding:12px}.aform .full{grid-column:1/-1}.aform label{color:#566079}.aform input,.aform textarea,.aform select{border-color:#dfe4ed;border-radius:11px;background:#fff}.admintable{border-collapse:separate;border-spacing:0 8px;margin-top:18px}.admintable tr{background:#fbfcfe}.admintable th{border:0;padding:11px 12px}.admintable td{border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;padding:14px 12px}.admintable td:first-child{border-left:1px solid #edf0f5;border-radius:12px 0 0 12px}.admintable td:last-child{border-right:1px solid #edf0f5;border-radius:0 12px 12px 0}.admintable tr:hover td{background:#fff}.admintable img{width:92px;height:60px;border-radius:10px}.flash{border:1px solid #cdeedc;border-radius:12px}
@media(max-width:960px){.adminlayout{grid-template-columns:1fr}.aside{position:static}.statgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.statgrid{grid-template-columns:1fr}.panel{padding:20px}.adminlayout{padding-top:14px}}
.pkg-nav{display:flex;gap:10px;margin-left:auto;align-items:center}
.pkg-nav .bnr-arrow{position:static;translate:none;width:40px;height:40px}
@media(max-width:600px){.pkg-nav{width:100%;justify-content:flex-end}.head .pkg-nav{margin-top:-10px}}

/* Media URL + upload controls */
.logo-img{display:flex;align-items:center;max-width:250px;height:58px}.logo-img img{display:block;max-width:100%;max-height:58px;object-fit:contain}.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding:9px 10px;background:#f7f9fc;border:1px dashed #d9deea;border-radius:10px}.upload-row input[type=file]{padding:6px;background:#fff}.upload-row span{font-size:.74rem;color:#7b8498}.media-field{grid-column:1/-1}.seo-box{grid-column:1/-1;padding:18px;border:1px solid #e5e9f1;border-radius:16px;background:linear-gradient(180deg,#fbfcff,#f7f9fd);margin-top:6px}.seo-box h3{margin:0 0 4px}.seo-grid{margin-top:14px}.tav img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.slide-media .opiframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
/* Explicit media controls in admin edit forms */
.media-editor{background:#f8faff!important;border:1px solid #e5e9f2!important;padding:16px!important}
.media-editor>label{font-size:.9rem!important;color:#17213d!important;margin-bottom:12px!important}
.media-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.media-url-box,.media-upload-box{background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:13px}
.media-label{display:block;font-size:.76rem;font-weight:800;color:#29324a;margin-bottom:7px}
.media-url-box input[type=text]{width:100%;box-sizing:border-box}
.media-upload-box input[type=file]{width:100%;box-sizing:border-box}
.media-editor small{display:block;margin-top:7px;color:#7b8498;font-size:.72rem;line-height:1.45}
.current-media{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef5ff;color:#43506a;font-size:.75rem;overflow-wrap:anywhere}
.current-media code{font-size:.72rem}
.media-preview{display:block;width:150px;height:90px;object-fit:cover;border-radius:10px;margin-top:10px;border:1px solid #e1e6ef}
@media(max-width:850px){.media-choice-grid{grid-template-columns:1fr}}


/* Operational brand media: image thumbnail first, video only when active/hovered */
.opcard .opthumb{position:absolute;inset:0;overflow:hidden;background:#071b32}
.opcard .opthumb .ph,.opcard .opthumb .ph img{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.opcard .opthumb .ph img{object-fit:cover;transition:transform .55s ease}
.opcard .opthumb .opmedia{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;border:0}
.opcard .opthumb .opiframe{pointer-events:none}
.opcard:not(.is-active) .opthumb .opmedia{display:none}
.opcard.is-active .opthumb .ph img,.opcard:hover .opthumb .ph img{transform:scale(1.045)}
.opcard.is-active .opthumb.video-on .ph{opacity:0;transition:opacity .25s ease}
.opcard .opthumb.video-on .opmedia{z-index:2}
.opcard .opfade{z-index:3}
.opcard .opbody{z-index:4}
@media(max-width:650px){.opcard .opbody h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opcard.is-active .opbody h3,.opcard:hover .opbody h3{white-space:normal;overflow:visible}}


/* Dashboard media control cards */
.dashboard-media-control{margin-top:30px;padding:22px;border:1px solid #e5e9f1;border-radius:18px;background:linear-gradient(180deg,#fbfcff,#f6f8fc)}
.dashboard-media-control h2{margin:0 0 5px}
.dashboard-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.dashboard-media-card{display:flex;flex-direction:column;gap:7px;text-decoration:none;color:#17213d;background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:17px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dashboard-media-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(20,32,60,.09);border-color:#ff7b25}
.dashboard-media-card strong{font-size:1rem}
.dashboard-media-card span{font-size:.78rem;color:#7b8498;line-height:1.45;min-height:34px}
.dashboard-media-card b{font-size:.76rem;color:#ff7b25;margin-top:3px}
.dashboard-media-note{margin-top:14px;padding:12px 15px;border-radius:10px;background:#fff7ef;color:#62411e;font-size:.82rem;border:1px solid #f3dcc5}
@media(max-width:1000px){.dashboard-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-media-grid{grid-template-columns:1fr}}


.htrip {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.plan-trip-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 20px 13px 24px;
    border-radius: 50px;
    background: #ed0b63;
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    transition: all .3s ease;
}

.plan-trip-btn:hover {
    background: #c90050;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(237,11,99,.25);
}

.plan-trip-arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #fff;
    color: #ed0b63;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: transform .3s ease;
}

.plan-trip-btn:hover .plan-trip-arrow {
    transform: rotate(45deg);
}

@media (max-width: 700px) {
    .plan-trip-btn {
        padding: 10px 15px 10px 18px;
        font-size: 11px;
    }

    .plan-trip-arrow {
        width: 26px;
        height: 26px;
    }
}

/* =========================================
   FOOTER
========================================= */

.ftr {
    background: #0b1330;
    color: rgba(255,255,255,.78);
    padding: 70px 0 0;
}

.fgrid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.1fr 1.2fr;
    gap: 50px;
}


/* =========================================
   FOOTER LOGO
========================================= */

.footer-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    margin-bottom: 8px;
}

.footer-logo img {
    display: block;
    width: 180px;
    height: auto;
    max-height: 70px;
    object-fit: contain;
}


/* =========================================
   FOOTER DESCRIPTION
========================================= */

.footer-desc {
    max-width: 360px;
    margin: 16px 0 0;
    color: rgba(255,255,255,.68);
    line-height: 1.8;
    font-size: 14px;
}


/* =========================================
   FOOTER HEADINGS
========================================= */

.ftr h5 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}


/* =========================================
   FOOTER LINKS
========================================= */

.footer-links {
    display: flex;
    flex-direction: column;
}

.footer-links a {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255,255,255,.68);
    text-decoration: none;
    margin-bottom: 13px;
    font-size: 14px;
    transition: all .25s ease;
}

.footer-links a i {
    color: #ed0b63;
    font-size: 10px;
    width: 12px;
}

.footer-links a:hover {
    color: #fff;
    padding-left: 5px;
}


/* =========================================
   SOCIAL ICONS
========================================= */

.fsoc {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
}

.fsoc a {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.08);
    color: #fff;

    text-decoration: none;

    font-size: 15px;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.fsoc a:hover {
    background: #ed0b63;
    color: #fff;
    transform: translateY(-4px);
}


/* =========================================
   CONTACT
========================================= */

.footer-contact p,
.footer-contact a {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    margin: 0 0 15px;

    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.7;

    text-decoration: none;
}

.footer-contact i {
    color: #ed0b63;
    width: 18px;
    margin-top: 4px;
    flex-shrink: 0;
}

.footer-contact a:hover {
    color: #fff;
}


/* =========================================
   COPYRIGHT
========================================= */

.copy {
    margin-top: 55px;
    padding: 22px 20px;

    border-top: 1px solid rgba(255,255,255,.1);

    text-align: center;

    color: rgba(255,255,255,.5);

    font-size: 13px;
}

.copy a {
    color: rgba(255,255,255,.6);
    text-decoration: none;
    transition: color .25s ease;
}

.copy a:hover {
    color: #ed0b63;
}

.copy-separator {
    margin: 0 8px;
    opacity: .4;
    font-size: 14px;
    color: #fff;
}

.copy-separator a {
    color: #ff0063;
    font-size: 20px;
    font-weight: 900;
}

.copy-separator a:hover {
        color: #0294ef;
}


/* =========================================
   WHATSAPP FLOATING BUTTON
========================================= */

.wa {
    position: fixed;

    right: 22px;
    bottom: 22px;

    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #25D366;
    color: #fff;

    font-size: 25px;

    text-decoration: none;

    z-index: 999;

    box-shadow: 0 10px 30px rgba(0,0,0,.2);

    transition: transform .3s ease;
}

.wa:hover {
    transform: translateY(-5px) scale(1.05);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1000px) {

    .fgrid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

}


@media (max-width: 600px) {

    .ftr {
        padding-top: 50px;
    }

    .fgrid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-logo img {
        width: 160px;
    }

    .copy {
        line-height: 2;
        margin-top: 40px;
    }

    .copy-separator {
        display: none;
    }

}