:root{
  --navy:#0B3B3C;
  --navy-dark:#082829;
  --gold:#C9A227;
  --gold-light:#E4C766;
  --sand:#F6F1E4;
  --sand-dark:#EDE4CC;
  --henna:#A6432B;
  --ink:#1C2321;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  background:var(--sand);
  color:var(--ink);
  overflow-x:hidden;
}
h1,h2,h3,.display-font{font-family:'Marcellus',serif; letter-spacing:.02em;}
a{text-decoration:none;}
.eyebrow{
  text-transform:uppercase; letter-spacing:.18em; font-size:.75rem; font-weight:600;
  color:var(--gold); display:inline-flex; align-items:center; gap:.5rem;
}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--gold);}
.section-pad{padding:5.5rem 0;}
@media(max-width:768px){.section-pad{padding:3.2rem 0;}}
.btn-gold{
  background:var(--gold); border:1px solid var(--gold); color:var(--ink); font-weight:600;
  padding:.75rem 1.6rem; border-radius:2px; transition:.25s;
}
.btn-gold:hover{background:transparent; color:var(--gold); border-color:var(--gold);}
.btn-outline-cream{
  border:1px solid rgba(255,255,255,.55); color:#fff; padding:.75rem 1.6rem; border-radius:2px; transition:.25s; font-weight:500;
}
.btn-outline-cream:hover{background:rgba(255,255,255,.12); color:#fff;}

/* ===== NAVBAR ===== */
.navbar-custom{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.1rem 0; transition:.3s; background:transparent;
}
.navbar-custom.scrolled{background:var(--navy-dark); box-shadow:0 6px 24px rgba(0,0,0,.2); padding:.65rem 0;}
.navbar-custom .logo{display:flex; align-items:center;}
.navbar-custom .logo-img{height:80px; width:auto; transition:.3s;}
.navbar-custom.scrolled .logo-img{height:60px;}
footer.site-footer .footer-logo{height:80px; width:auto;}
.navbar-custom nav a{color:#e9e3d2; margin-left:1.8rem; font-size:.92rem; font-weight:500; position:relative;}
.navbar-custom nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:.25s;}
.navbar-custom nav a:hover::after{width:100%;}

.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px;
  background:transparent; border:none; cursor:pointer; z-index:1100;
}
.nav-toggle span{display:block; width:26px; height:2px; background:#fff; transition:.3s; border-radius:2px;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:991px){
  .nav-toggle{display:flex;}
  .navbar-custom nav{
    display:flex; flex-direction:column; position:fixed; top:0; right:0; height:100vh; width:min(78vw, 320px);
    background:var(--navy-dark); padding:6rem 2rem 2rem; gap:.4rem;
    transform:translateX(100%); transition:transform .35s ease; box-shadow:-10px 0 30px rgba(0,0,0,.3);
  }
  .navbar-custom nav.open{transform:translateX(0);}
  .navbar-custom nav a{margin-left:0; padding:.9rem 0; font-size:1.05rem; border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-backdrop{
    display:none; position:fixed; inset:0; background:rgba(8,40,41,.55); z-index:999;
  }
  .nav-backdrop.open{display:block;}
}

/* ===== HERO ===== */
.hero{
  position:relative; height:100vh; min-height:600px; display:flex; align-items:center;
  overflow:hidden; color:#fff;
}
.hero video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
.hero-slideshow{position:absolute; inset:0; z-index:0;}
.hero-slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.4s ease, transform 6s ease;
  transform:scale(1.05);
}
.hero-slide.is-active{opacity:1; transform:scale(1.12);}
.hero::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(8,40,41,.55) 0%, rgba(8,40,41,.35) 45%, rgba(8,40,41,.85) 100%);
}
.hero-content{position:relative; z-index:2;}
.hero-content .eyebrow{color:var(--gold-light);}
.hero-content .eyebrow::before{background:var(--gold-light);}
.hero-content h1{font-size:clamp(2.2rem, 5vw, 4rem); line-height:1.1; margin:.6rem 0 1rem; max-width:820px;}
.hero-content p{font-size:1.1rem; max-width:560px; color:#eee7d4; margin-bottom:2rem;}
.hero-stats{display:flex; gap:2.2rem; margin-top:2.8rem; flex-wrap:wrap;}
.hero-stats div strong{display:block; font-family:'Marcellus',serif; font-size:1.6rem; color:var(--gold-light);}
.hero-stats div span{font-size:.78rem; letter-spacing:.06em; color:#d8d1bc; text-transform:uppercase;}
.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
  color:#e9e3d2; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; text-align:center;
}
.scroll-cue .line{width:1px; height:36px; background:rgba(255,255,255,.5); margin:8px auto 0; position:relative; overflow:hidden;}
.scroll-cue .line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold-light);animation:scrolldrip 1.8s infinite;}
@keyframes scrolldrip{to{top:100%;}}

/* ===== BANNER RAIL (signature element: boarding-pass style horizontal slider) ===== */
.rail-section{background:var(--navy-dark); padding:3.6rem 0 4rem; position:relative;}
.rail-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:1.8rem; color:#fff; flex-wrap:wrap; gap:1rem;}
.rail-head h2{color:#fff; font-size:1.8rem; margin:.3rem 0 0;}
.rail-controls{display:flex; gap:.6rem;}
.rail-controls button{
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s;
}
.rail-controls button:hover{background:var(--gold); border-color:var(--gold); color:var(--ink);}
.banner-rail{
  display:flex; gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:1rem;
  scrollbar-width:none;
}
.banner-rail::-webkit-scrollbar{display:none;}
.banner-card{
  scroll-snap-align:start; flex:0 0 auto; width:320px; height:420px; position:relative; border-radius:6px; overflow:hidden;
  background:#123; flex-shrink:0;
}
.banner-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.banner-card:hover img{transform:scale(1.08);}
.banner-card::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(8,40,41,.92) 100%);}
.banner-card .stub{
  position:absolute; top:16px; left:16px; z-index:2; font-family:'Marcellus',serif; color:var(--gold-light);
  font-size:.85rem; border:1px solid rgba(228,199,102,.6); padding:.2rem .6rem; letter-spacing:.08em;
}
.banner-card .card-content{position:absolute; left:0; right:0; bottom:0; padding:1.3rem; z-index:2; color:#fff;}
.banner-card .card-content .eyebrow{color:var(--gold-light); font-size:.68rem;}
.banner-card .card-content .eyebrow::before{background:var(--gold-light);}
.banner-card .card-content h3{font-size:1.3rem; margin:.4rem 0 .3rem;}
.banner-card .card-content p{font-size:.85rem; color:#d8d1bc; margin-bottom:.7rem;}
.banner-card .card-content a{font-size:.78rem; color:var(--gold-light); border-bottom:1px solid var(--gold-light); padding-bottom:2px;}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}
.reveal-delay-5{transition-delay:.4s;}
.reveal-delay-6{transition-delay:.48s;}

/* ===== TRUST STRIP / WHY CHOOSE US ===== */
.trust-strip{background:var(--sand-dark); padding:3.4rem 0;}
.why-card{display:flex; flex-direction:column; align-items:center; text-align:center; gap:.9rem;}
.why-icon{
  width:64px; height:64px; border-radius:50%; background:var(--navy); color:#FFFFF4;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  box-shadow:0 10px 24px rgba(55,71,114,.18); transition:.3s;
}
.why-card:hover .why-icon{transform:translateY(-6px) scale(1.06); background:var(--navy-dark);}
.why-card strong{font-size:.92rem; font-weight:600;}

/* ===== BRAND INTRO ===== */
.brand-intro-section{padding-bottom:2rem;}
.brand-intro-text{font-size:1.5rem; line-height:1.6; color:var(--navy); max-width:820px; margin:1rem auto 0; font-weight:400;}

/* ===== SERVICES (About section) ===== */
.service-chip{
  display:flex; align-items:center; gap:.9rem; background:#fff; border:1px solid #ece6d4; border-radius:10px; padding:1rem 1.1rem;
  font-size:.87rem; font-weight:500; height:100%; transition:.25s; box-shadow:0 4px 14px rgba(11,30,30,.04);
}
.service-chip:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(55,71,114,.14); border-color:transparent;}
.service-icon{
  width:38px; height:38px; border-radius:8px; background:var(--sand-dark); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; transition:.25s;
}
.service-chip:hover .service-icon{background:var(--navy); color:#FFFFF4;}

/* ===== FEATURE PANELS (Visa / Corporate) ===== */
.feature-panel{
  position:relative; background:var(--navy); color:#fff; border-radius:16px; padding:2.6rem; height:100%; overflow:hidden;
  transition:.3s;
}
.feature-panel::after{
  content:''; position:absolute; right:-60px; bottom:-60px; width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,244,.08), transparent 70%);
}
.feature-panel:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(55,71,114,.25);}
.feature-icon{
  width:56px; height:56px; border-radius:50%; background:rgba(255,255,244,.12); color:#FFFFF4;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1.2rem; position:relative; z-index:1;
}
.feature-panel h3{color:#fff; font-size:1.3rem; margin-bottom:.6rem; position:relative; z-index:1;}
.feature-panel p{color:#d8ddec; margin-bottom:1.2rem; position:relative; z-index:1;}
.feature-panel a{color:#FFFFF4; font-size:.85rem; font-weight:600; border-bottom:1px solid rgba(255,255,244,.5); padding-bottom:2px; position:relative; z-index:1;}

/* ===== TESTIMONIAL SLIDER ===== */
.testimonial-slider-wrap{position:relative; max-width:760px; margin:0 auto;}
.testimonial-track{overflow:hidden;}
.testimonial-slides{display:flex; transition:transform .6s cubic-bezier(.65,0,.35,1);}
.testimonial-slide{flex:0 0 100%; padding:.5rem 1rem 1rem;}
.testimonial-card{
  background:#fff; border-radius:16px; padding:2.6rem; text-align:center; box-shadow:0 16px 40px rgba(11,30,30,.08);
  transform:scale(.96); opacity:.5; transition:transform .6s ease, opacity .6s ease;
}
.testimonial-slide.is-active .testimonial-card{transform:scale(1); opacity:1;}
.testimonial-card i{color:var(--gold); font-size:1.8rem; margin-bottom:1.2rem; display:block;}
.testimonial-card p{color:#3f4440; font-style:italic; font-size:1.1rem; line-height:1.7; margin-bottom:1.4rem;}
.testimonial-author{font-size:.85rem; font-weight:600; color:var(--navy); letter-spacing:.03em;}
.testimonial-dots{display:flex; justify-content:center; gap:.5rem; margin-top:1.6rem;}
.testimonial-dots button{
  width:9px; height:9px; border-radius:50%; border:none; background:#ddd6bf; padding:0; cursor:pointer; transition:.25s;
}
.testimonial-dots button.active{background:var(--navy); width:26px; border-radius:5px;}
.testimonial-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:1px solid #e2dcc9;
  background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; z-index:2; color:var(--navy);
}
.testimonial-arrow:hover{background:var(--navy); color:#fff; border-color:var(--navy);}
.testimonial-arrow.prev{left:-60px;}
.testimonial-arrow.next{right:-60px;}
@media(max-width:820px){
  .testimonial-arrow{display:none;}
}

/* ===== PACKAGES ===== */
.section-head{max-width:640px; margin:0 auto 3rem; text-align:center;}
.section-head h2{font-size:2.2rem; margin:.5rem 0 .8rem;}
.section-head p{color:#5b5b54;}
.pkg-card{
  background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 6px 24px rgba(11,59,60,.08);
  transition:.3s; height:100%; display:flex; flex-direction:column;
}
.pkg-card:hover{transform:translateY(-6px); box-shadow:0 16px 34px rgba(11,59,60,.16);}
.pkg-img{height:210px; position:relative; overflow:hidden;}
.pkg-img img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.pkg-card:hover .pkg-img img{transform:scale(1.06);}
.pkg-badge{
  position:absolute; top:12px; left:12px; background:var(--henna); color:#fff; font-size:.68rem;
  padding:.3rem .7rem; border-radius:2px; letter-spacing:.06em; text-transform:uppercase;
}
.pkg-body{padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex-grow:1;}
.pkg-body .cat{font-size:.72rem; color:var(--henna); text-transform:uppercase; letter-spacing:.08em; font-weight:600;}
.pkg-body h3{font-size:1.2rem; margin:.4rem 0 .5rem;}
.pkg-body .duration{font-size:.8rem; color:#8a8a80; margin-bottom:.6rem;}
.pkg-body p.desc{font-size:.87rem; color:#5b5b54; flex-grow:1;}
.pkg-footer{margin-top:1rem; padding-top:1rem; border-top:1px dashed #e5ded0;}
.btn-enquire{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  background:var(--navy); color:#fff; font-size:.88rem; padding:.7rem 1.1rem; border-radius:4px; border:none; font-weight:600;
  text-decoration:none; transition:.2s;
}
.btn-enquire:hover{background:#25D366; color:#fff;}

/* ===== ENQUIRY FORM ===== */
.enquiry-section{background:var(--navy); color:#fff; position:relative; overflow:hidden;}
.enquiry-section::before{
  content:''; position:absolute; right:-120px; top:-120px; width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,162,39,.15), transparent 70%);
}
.enquiry-section .eyebrow{color:var(--gold-light);}
.enquiry-section .eyebrow::before{background:var(--gold-light);}
.enquiry-section h2{color:#fff;}
.enquiry-section p.lead-text{color:#d8d1bc;}
.form-card{background:#fff; border-radius:12px; padding:2rem; color:var(--ink); box-shadow:0 20px 50px rgba(0,0,0,.25);}
.form-card label{font-size:.82rem; font-weight:600; margin-bottom:.3rem; display:block;}
.form-card .form-control, .form-card .form-select{
  border:1px solid #e2dcc9; border-radius:4px; padding:.6rem .8rem; font-size:.9rem; margin-bottom:1rem;
}
.form-card .form-control:focus, .form-card .form-select:focus{border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,39,.15);}
#formMsg{font-size:.88rem; margin-top:.6rem;}

/* ===== FOOTER ===== */
footer.site-footer{background:var(--navy-dark); color:#cfc9b3; padding:3.5rem 0 1.5rem; font-size:.9rem;}
footer.site-footer h5{color:#fff; font-family:'Marcellus',serif; margin-bottom:1rem;}
footer.site-footer a{color:#cfc9b3;}
footer.site-footer a:hover{color:var(--gold-light);}
.footer-social a{
  width:38px; height:38px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:inline-flex;
  align-items:center; justify-content:center; margin-right:.5rem; transition:.2s;
}
.footer-social a:hover{background:var(--gold); border-color:var(--gold); color:var(--ink);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:2.5rem; padding-top:1.2rem; font-size:.78rem; text-align:center; color:#8f8a79;}

/* ===== FLOATING BUTTONS ===== */
.float-btn-group{position:fixed; z-index:1200;}
.scroll-top-btn{
  bottom:24px; right:24px; width:48px; height:48px; border-radius:50%; background:var(--navy);
  color:var(--gold-light); border:none; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.25); opacity:0; visibility:hidden; transform:translateY(10px); transition:.3s; cursor:pointer;
}
.scroll-top-btn.show{opacity:1; visibility:visible; transform:translateY(0);}
.scroll-top-btn:hover{background:var(--gold); color:var(--ink);}

.wa-float{bottom:24px; left:24px;}
.wa-toggle{
  width:56px; height:56px; border-radius:50%; background:#25D366; border:none; color:#fff; font-size:1.5rem;
  display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,.25); cursor:pointer;
  animation:pulseWa 2.4s infinite;
}
@keyframes pulseWa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.wa-menu{
  position:absolute; bottom:66px; left:0; background:#fff; border-radius:10px; box-shadow:0 12px 34px rgba(0,0,0,.22);
  width:240px; padding:.6rem; display:none; overflow:hidden;
}
.wa-menu.show{display:block;}
.wa-menu .wa-head{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#8a8a80; padding:.4rem .6rem;}
.wa-menu a{
  display:flex; align-items:center; gap:.6rem; padding:.6rem; border-radius:6px; color:var(--ink); font-size:.88rem;
}
.wa-menu a:hover{background:var(--sand);}
.wa-menu a i{color:#25D366; font-size:1.1rem;}

@media(max-width:576px){
  .banner-card{width:260px; height:360px;}
  .hero-stats{gap:1.4rem;}
}

/* ===== Package detail (inner) page ===== */
.pkg-hero{
  position:relative; min-height:58vh; background-size:cover; background-position:center;
  display:flex; align-items:flex-end; padding-top:9rem;
}
.pkg-hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,40,41,.55) 0%, rgba(8,40,41,.35) 40%, rgba(8,40,41,.92) 100%);
}
.pkg-hero-content{position:relative; z-index:2; color:#fff; padding-bottom:2.6rem;}
.pkg-back{color:var(--gold-light); font-size:.85rem; font-weight:600; display:inline-block; margin-bottom:1.1rem;}
.pkg-back:hover{color:var(--gold);}
.pkg-hero-content h1{font-size:clamp(1.9rem,4vw,3rem); margin:.5rem 0 .6rem; color:#fff;}
.pkg-hero-meta{font-size:.92rem; color:rgba(255,255,255,.88);}

.lead-text{font-size:1.02rem; line-height:1.75; color:#4a463d;}

.pkg-gallery{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:.7rem;}
.pkg-gallery-item{height:170px; border-radius:8px; background-size:cover; background-position:center;}

.pkg-inclusions h3{font-size:1.4rem; margin-bottom:1rem;}
.pkg-inclusions ul{margin:0;}
.pkg-inclusions li{
  padding:.55rem 0 .55rem 1.9rem; position:relative; border-bottom:1px dashed #e5ded0; font-size:.92rem; color:#4a463d;
}
.pkg-inclusions li i{position:absolute; left:0; top:.7rem; color:var(--gold); font-size:.8rem;}

.pkg-sidebar-card{
  position:sticky; top:6.5rem; background:#fff; border-radius:10px; padding:1.7rem;
  box-shadow:0 14px 34px rgba(11,59,60,.1);
}
.pkg-sidebar-card .cat{font-size:.72rem; color:var(--henna); text-transform:uppercase; letter-spacing:.08em; font-weight:600;}
.pkg-sidebar-price{font-family:'Marcellus',serif; font-size:1.7rem; color:var(--navy); margin:.4rem 0 1.2rem;}
.pkg-sidebar-price small{display:block; font-family:'Poppins',sans-serif; font-size:.75rem; color:#8a8a80; font-weight:400;}
.pkg-strike{font-size:1rem; color:#b5ab95; margin-left:.4rem;}

@media(max-width:991px){
  .pkg-sidebar-card{position:static; margin-top:2rem;}
}
