*{
  box-sizing:border-box;
}

:root{
  --gold:#f6c45f;
  --orange:#ffb347;
  --black:#080808;
  --dark:#111111;
  --muted:#777;
  --white:#fff;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  overflow-x:hidden;
  background:#fff;
  color:var(--dark);
  font-family:'Manrope',sans-serif;
  padding-bottom:60px;
}

h1,h2,h3,h4,h5,.navbar-brand{
  font-family:'Syne',sans-serif;
}

/* NAVBAR */
.custom-navbar{
  background:rgba(8,8,8,.78);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.navbar-brand{
  font-size:1.5rem;
  font-weight:700;
  color:#fff;
  letter-spacing:-1px;
}

.navbar-brand span{
  color:var(--gold);
}

.nav-link{
  color:#fff;
  font-weight:700;
  margin-left:20px;
  opacity:.9;
}

.nav-link:hover{
  color:var(--gold);
}

.nav-btn{
  background:var(--gold);
  color:#000;
  padding:10px 22px;
  border-radius:50px;
}

.nav-btn:hover{
  color:#000;
}

.navbar-toggler{
  border:0;
  box-shadow:none;
  color:#fff;
  font-size:2rem;
}

/* OFFCANVAS */
.offcanvas{
  background:#0d0d0d;
  color:#fff;
  width:285px;
}

.offcanvas-header{
  border-bottom:1px solid rgba(255,255,255,.12);
}

.offcanvas h5{
  font-family:'Syne',sans-serif;
  font-weight:600;
}

.offcanvas h5 span{
  color:var(--gold);
}

.offcanvas-body a{
  display:block;
  color:#fff;
  text-decoration:none;
  padding:15px 0;
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.btn-close{
  filter:invert(84%) sepia(34%) saturate(687%) hue-rotate(337deg) brightness(103%) contrast(93%);
  opacity:1;
}

/* HERO */
.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  padding:130px 0 80px;
  overflow:hidden;
  background:#000;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(246,196,95,.35), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.45));
}

.hero-content{
  position:relative;
  z-index:2;
}

.eyebrow,
.section-tag{
  display:inline-block;
  color:var(--gold);
  font-weight:600;
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:1.8px;
  margin-bottom:15px;
}

.hero h1{
  color:#fff;
  font-size:clamp(2.2rem,5vw,4.7rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-2px;
  margin-bottom:25px;
}

.hero p{
  color:rgba(255,255,255,.78);
  max-width:620px;
  font-size:1.05rem;
  line-height:1.8;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-top:32px;
}

.main-btn,
.phone-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:15px 30px;
  border-radius:60px;
  text-decoration:none;
  font-weight:600;
  transition:.3s;
}

.main-btn{
  background:linear-gradient(135deg,var(--gold),var(--orange));
  color:#000;
  box-shadow:0 15px 35px rgba(255,179,71,.3);
}

.phone-btn{
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
}

.main-btn:hover,
.phone-btn:hover{
  transform:translateY(-4px);
}

.phone-btn:hover{
  color:#fff;
}

.socials{
  display:flex;
  gap:15px;
  margin-top:35px;
}

.socials a{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.12);
  text-decoration:none;
  transition:.3s;
}

.socials a:hover{
  background:var(--gold);
  color:#000;
  transform:translateY(-4px);
}

/* ENQUIRY FORM */
.enquiry-card{
  background:rgba(255,255,255,.96);
  padding:35px;
  border-radius:30px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}

.enquiry-card h3{
  font-size:1.7rem;
  font-weight:600;
  margin-bottom:5px;
}

.enquiry-card p{
  color:#777;
  margin-bottom:22px;
}

.form-group{
  margin-bottom:16px;
}

label{
  display:block;
  font-size:.88rem;
  font-weight:600;
  margin-bottom:8px;
}

input,
select{
  width:100%;
  height:52px;
  border:1px solid #ddd;
  border-radius:16px;
  padding:0 16px;
  outline:none;
  font-weight:600;
  background:#fff;
}

input:focus,
select:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(255,179,71,.15);
}

.step-fields{
  display:none;
  animation:fadeUp .35s ease;
}

.step-fields.show{
  display:block;
}

.note{
  background:#fff6e6;
  border:1px solid #ffe2ac;
  padding:12px 14px;
  border-radius:15px;
  font-size:.85rem;
  font-weight:700;
  margin-bottom:14px;
}

.submit-btn{
  width:100%;
  height:56px;
  border:0;
  border-radius:18px;
  margin-top:18px;
  background:#0b0b0b;
  color:#fff;
  font-weight:600;
  transition:.3s;
}

.submit-btn:hover{
  background:var(--gold);
  color:#111;
}

/* COMMON SECTIONS */
section{
  padding:100px 0;
}

.about-section{
  background:#fff;
}

.about-section h2,
.section-title{
  font-size:clamp(1.9rem,4vw,3.4rem);
  font-weight:600;
  letter-spacing:-1px;
}

.about-section p{
  color:#666;
  font-size:1.05rem;
  line-height:1.9;
}

/* SERVICES */
.services-section{
  background:#f7f4ee;
}

.service-card{
  background:#fff;
  padding:34px;
  border-radius:28px;
  height:100%;
  box-shadow:0 20px 50px rgba(0,0,0,.07);
  transition:.35s;
}

.service-card:hover{
  transform:translateY(-10px);
}

.service-card i{
  width:65px;
  height:65px;
  display:grid;
  place-items:center;
  background:#111;
  color:var(--gold);
  border-radius:22px;
  font-size:1.8rem;
  margin-bottom:25px;
}

.service-card h4{
  font-weight:600;
}

.service-card p{
  color:#666;
  line-height:1.8;
}

/* DESTINATIONS */
.destination-card{
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 20px 55px rgba(0,0,0,.1);
  transition:.35s;
}

.destination-card:hover{
  transform:translateY(-10px);
}

.destination-card img{
  width:100%;
  height:260px;
  object-fit:cover;
}

.destination-card div{
  padding:25px;
}

.destination-card h4{
  font-weight:600;
}

.destination-card p{
  color:#666;
}

/* CTA */
.cta-section{
  padding-top:40px;
}

.cta-box{
  background:
    linear-gradient(135deg,rgba(0,0,0,.85),rgba(0,0,0,.72)),
    url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=80") center/cover;
  border-radius:40px;
  padding:80px 35px;
  text-align:center;
  color:#fff;
}

.cta-box h2{
  font-size:clamp(1.9rem,4vw,3.2rem);
  font-weight:600;
}

.cta-box p{
  color:rgba(255,255,255,.75);
  margin-bottom:30px;
}

/* FOOTER */
footer{
  background:#080808;
  color:#fff;
  text-align:center;
  padding:70px 0 35px;
}

footer h4{
  font-size:2rem;
  font-weight:600;
}

footer h4 span{
  color:var(--gold);
}

footer p{
  color:rgba(255,255,255,.65);
}

.footer-links{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin:25px 0;
}

.footer-links a{
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.08);
  padding:11px 18px;
  border-radius:50px;
}

.copy{
  font-size:.9rem;
  margin-top:25px;
}

/* MODAL */
.preview-modal{
  border:0;
  border-radius:28px;
  overflow:hidden;
}

.modal-header{
  background:#111;
  color:#fff;
}

.modal-body p{
  margin-bottom:9px;
  font-weight:600;
}

.modal-body strong{
  color:#000;
}

.modal-cancel,
.modal-send{
  border:0;
  padding:12px 24px;
  border-radius:50px;
  font-weight:600;
}

.modal-cancel{
  background:#eee;
}

.modal-send{
  background:#25d366;
  color:#fff;
}

/* BOTTOM CONTACT BAR */
.bottom-bar{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  height:60px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  z-index:99999;
  box-shadow:0 -5px 25px rgba(0,0,0,.08);
}

.bottom-bar a{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  color:#111827;
  font-weight:600;
  font-size:.95rem;
  transition:.3s ease;
}

.bottom-bar a:first-child{
  border-right:1px solid rgba(0,0,0,.08);
}

.bottom-bar a:hover{
  background:linear-gradient(135deg,var(--gold),var(--orange));
  color:#111827;
}

.bottom-bar i{
  font-size:1rem;
}

/* ANIMATION */
.reveal{
  opacity:0;
  transform:translateY(35px);
  transition:1s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

.delay{
  transition-delay:.18s;
}

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* TABLET */
@media(max-width:991px){
  .hero{
    padding-top:120px;
  }

  .hero h1{
    letter-spacing:-1px;
  }

  .enquiry-card{
    padding:25px;
  }

  section{
    padding:75px 0;
  }
}

/* MOBILE */
@media(max-width:575px){
  .custom-navbar{
    padding:12px 0;
  }

  .navbar-brand{
    font-size:1.35rem;
  }

  .hero{
    min-height:auto;
    padding:110px 0 60px;
    text-align:center;
  }

  .hero-overlay{
    background:linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.65));
  }

  .hero h1{
    font-size:2.25rem;
    line-height:1.12;
    letter-spacing:-1px;
  }

  .hero p{
    font-size:.95rem;
    line-height:1.65;
    margin:auto;
  }

  .hero-actions{
    flex-direction:column;
  }

  .main-btn,
  .phone-btn{
    width:100%;
  }

  .socials{
    justify-content:center;
  }

  .eyebrow,
  .section-tag{
    font-size:.68rem;
    letter-spacing:1.2px;
  }

  .enquiry-card{
    margin-top:20px;
    padding:22px;
    border-radius:22px;
    text-align:left;
  }

  input,
  select{
    height:48px;
    border-radius:13px;
    font-size:.9rem;
  }

  section{
    padding:60px 0;
  }

  .about-section,
  .services-section,
  .destination-section{
    text-align:center;
  }

  .service-card{
    text-align:center;
    padding:24px;
  }

  .service-card i{
    margin-left:auto;
    margin-right:auto;
  }

  .destination-card img{
    height:230px;
  }

  .destination-card div{
    text-align:center;
  }

  .cta-box{
    padding:50px 20px;
    border-radius:25px;
  }

  .footer-links{
    flex-direction:column;
    align-items:center;
  }

  .footer-links a{
    width:100%;
    max-width:260px;
  }

  .bottom-bar{
    height:56px;
  }

  .bottom-bar a{
    font-size:.86rem;
  }

  body{
    padding-bottom:56px;
  }
}

.nav-logo{
    height:50px;
    width:auto;
    margin-right:10px;
    vertical-align:middle;
}
@media (max-width: 480px){

  .navbar-toggler{
      font-size:1.4rem !important;
      padding:2px 15px !important;
  }

  .navbar-brand{
      font-size:1.1rem !important;
  }

  .nav-logo{
      height:34px !important;
      margin-right:6px !important;
  }
}
/* KEEP NAV LINKS GOLD AFTER CLICK */

.nav-link:hover,
.nav-link:focus,
.nav-link:active,
.nav-link.active,
.nav-link.show{
    color: var(--gold) !important;
}

/* Prevent browser visited color */

.nav-link:visited{
    color: #fff !important;
}

/* Active page */

.navbar-nav .nav-link.active{
    color: var(--gold) !important;
}

/* Contact button */

.nav-btn:hover,
.nav-btn:focus,
.nav-btn:active{
    background: var(--gold) !important;
    color: #111 !important;
}
/* MOBILE MENU COLORS */

.offcanvas-body a{
    display:block !important;
    padding:14px 0 !important;
    text-decoration:none !important;
    color:#ffffff !important;
    font-weight:600 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    transition:.3s !important;
}

.offcanvas-body a:hover{
    color:var(--gold) !important;
}

.offcanvas-body a.active-mobile{
    color:var(--gold) !important;
    font-weight:600 !important;
}

.offcanvas-body a.active-mobile::before{
    content:"" !important;
    width:4px !important;
    height:18px !important;
    background:var(--gold) !important;
    display:inline-block !important;
    margin-right:10px !important;
    border-radius:10px !important;
    vertical-align:middle !important;
}
/* HOME DESTINATION PACKAGE GRID */

.home-package-group{
  margin-top:45px;
}

.home-package-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:10px;
}

.home-package-heading h3{
  font-size:1.6rem;
  font-weight:600;
  margin:0;
}

.home-package-heading a{
  color:#111827;
  font-weight:600;
  text-decoration:none;
  border-bottom:2px solid var(--gold);
}

.home-destination-card{
  display:block;
  height:100%;
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  text-decoration:none;
  color:#111827;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  transition:.35s ease;
}

.home-destination-card:hover{
  transform:translateY(-8px);
  color:#111827;
}

.home-destination-card img{
  width:100%;
  height:190px;
  object-fit:cover;
}

.home-destination-card div{
  padding:20px;
}

.home-destination-card span{
  display:inline-block;
  color:var(--gold);
  font-size:.75rem;
  font-weight:600;
  margin-bottom:8px;
}

.home-destination-card h4{
  font-size:1.1rem;
  font-weight:600;
  margin-bottom:8px;
}

.home-destination-card p{
  color:#666;
  font-size:.9rem;
  line-height:1.65;
  margin-bottom:15px;
}

.home-destination-card b{
  display:inline-flex;
  color:#111827;
  background:linear-gradient(135deg,var(--gold),var(--orange));
  padding:10px 16px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:600;
}

@media(max-width:575px){

  .home-package-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .home-package-heading h3{
    font-size:1.25rem;
  }

  .home-destination-card img{
    height:210px;
  }
}
.footer-credit{
    margin-top:20px;
    font-size:.95rem;
    color:rgba(255,255,255,.65);
    font-weight:500;
}

.footer-credit a{
    color:var(--gold) !important;
    text-decoration:none;
    font-weight:600;
    transition:.3s ease;
}

.footer-credit a:hover{
    color:#ffffff !important;
}
.review-flow-section{
  width:100%;
  overflow:hidden;
  background:#07111f;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.review-flow-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation: reviewFly 55s linear infinite;
}

.review-flow-section:hover .review-flow-track{
  animation-play-state:paused;
}

.review-card{
  width:330px;
  min-height:150px;
  background:#fff;
  border-radius:18px;
  padding:18px;
  box-shadow:0 14px 35px rgba(0,0,0,.18);
  flex:0 0 auto;
}

.review-card h4{
  font-size:16px;
  font-weight:800;
  color:#111;
  margin-bottom:6px;
}

.review-stars{
  color:#ffc107;
  font-size:14px;
  margin-bottom:8px;
}

.review-card p{
  font-size:14px;
  line-height:1.6;
  color:#555;
  margin:0;
}

@keyframes reviewFly{
  from{
    transform:translateX(-50%);
  }
  to{
    transform:translateX(0);
  }
}

@media(max-width:576px){
  .review-card{
    width:280px;
    min-height:150px;
    padding:16px;
  }

  .review-flow-track{
    animation-duration:40s;
  }
}
/* MOBILE FIX: bottom bar jumping */
@media (max-width: 768px){

  html,
  body{
    width:100%;
    overflow-x:hidden;
  }

  body{
    padding-bottom:70px !important;
  }

  .bottom-bar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    height:60px !important;
    z-index:2147483647 !important;

    transform:translateZ(0) !important;
    -webkit-transform:translateZ(0) !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
  }

  .bottom-bar *{
    transform:none !important;
  }
}



/* gallery */

.cinematic-gallery{
  position:relative;
  overflow:hidden;
  padding:30px 0;
  background:#000;
}

.cinematic-gallery::before,
.cinematic-gallery::after{
  content:"";
  position:absolute;
  top:0;
  width:150px;
  height:100%;
  z-index:2;
  pointer-events:none;
}

.cinematic-gallery::before{
  left:0;
  background:linear-gradient(to right,#000,transparent);
}

.cinematic-gallery::after{
  right:0;
  background:linear-gradient(to left,#000,transparent);
}

.gallery-track{
  display:flex;
  gap:20px;
  width:max-content;
  animation:cinematicScroll 60s linear infinite;
}

.gallery-track img{
  width:340px;
  height:220px;
  object-fit:cover;
  border-radius:18px;
  flex-shrink:0;
  box-shadow:0 20px 40px rgba(0,0,0,.35);
  transition:.4s;
}

.gallery-track img:hover{
  transform:scale(1.05);
}

@keyframes cinematicScroll{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media (max-width:768px){
  .gallery-track img{
    width:250px;
    height:160px;
  }

  .gallery-track{
    animation-duration:40s;
  }
}
