:root{
  --blue: #f97316;
  --blue-dark: #c2410c;
  --ink: #241708;
  --gray: #8a7a68;
  --line: #fde9cc;
  --bg: #fff8ec;
    --indigo:#16324F;
  --indigo-deep:#0E2438;
  --marigold:#E8A33D;
  --terracotta:#C1502E;
  --sand:#F3EAD8;
  --ivory:#FBF7F1;
  --ink:#26241F;
  --muted:#6B6355;
  --line:#E4D8C0;

  --orange: #fbbf24;
  --orange-dark: #d97706;
  --mint: #fb923c;
  --card-radius: 18px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  width: 100%;
  height: 100%;
  margin: 0px;
  background:
    radial-gradient(900px 500px at 8% 0%, rgba(249,115,22,0.09), transparent 60%),
    radial-gradient(900px 550px at 95% 15%, rgba(251,191,36,0.10), transparent 60%),
    radial-gradient(800px 500px at 50% 100%, rgba(194,65,12,0.07), transparent 60%),
    #fbfcff;
  overflow-x:hidden;
}
section{ padding:88px 0; }
@media (max-width: 767px){
  section{ padding:56px 0; }
}
h1,h2,h3,h4,h5,.display-font{ font-family:'Sora', sans-serif; letter-spacing:-.01em; }
a{ text-decoration:none; }
.text-blue{ color:var(--blue); }
.bg-soft{
  background:
    radial-gradient(700px 400px at 90% 0%, rgba(249,115,22,0.07), transparent 65%),
    radial-gradient(700px 400px at 0% 100%, rgba(251,191,36,0.07), transparent 65%),
    var(--bg);
}
.pill{
  border-radius:100px;
}
.eyebrow{
  color:var(--orange-dark);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:"";
  width:8px; height:8px;
  border-radius:50%;
  background:var(--orange);
  display:inline-block;
}
.section-title{
  font-weight:700;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  margin:8px 0 6px;
}
.section-sub{ color:var(--gray); max-width:560px; }

/* ---------- NAV ---------- */
.navbar-custom{
  background:#fff;
  padding:14px 0;
  box-shadow:0 1px 0 var(--line);
  transition:.25s;
}
.brand-logo{
  display:flex; align-items:center; gap:10px;
}
.brand-logo .mark{
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.3rem;
}
.brand-logo .txt{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.15rem;
  line-height:1.1;
  color:var(--ink);
}
.brand-logo .txt small{
  display:block; font-family:'Inter',sans-serif;
  font-weight:500; font-size:.68rem; color:var(--gray); letter-spacing:.3px;
}
.navbar-custom .nav-link{
  color:var(--ink) !important;
  font-weight:600;
  font-size:.92rem;
  margin:0 6px;
}
.navbar-custom .nav-link:hover{ color:var(--blue) !important; }
.btn-call{
  border:1.5px solid var(--line);
  color:var(--ink);
  font-weight:600;
  font-size:.88rem;
  padding:9px 18px;
}
.btn-call i{ color:var(--blue); }
.btn-cta{
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  padding:10px 22px;
  border:none;
}
.btn-cta:hover{ background:linear-gradient(135deg, var(--blue-dark), var(--orange-dark)); color:#fff; box-shadow:0 10px 24px -6px rgba(251,191,36,.5); transform:translateY(-2px); }

.navbar-custom .nav-link{ position:relative; padding:8px 4px; }
.navbar-custom .nav-link::after{
  content:""; position:absolute; left:4px; right:4px; bottom:2px; height:2px;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.navbar-custom .nav-link:hover::after{ transform:scaleX(1); }

/* ---------- MOBILE HAMBURGER ---------- */
.hamburger-btn{
  width:42px; height:42px; border-radius:10px; border:1.5px solid var(--line);
  background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.hamburger-btn span{ width:20px; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.hamburger-btn:hover{ border-color:var(--blue); }
.hamburger-btn:hover span{ background:var(--blue); }

/* ---------- SIDEBAR (OFFCANVAS) ---------- */
.sidebar-panel{
  width:300px;
  background:linear-gradient(180deg, var(--blue-dark), var(--ink));
  color:#fff;
  border:none;
}
.sidebar-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px; border-bottom:1px solid rgba(255,255,255,.12);
}
.sidebar-head .txt small{ color:rgba(255,255,255,.7); }
.sidebar-links{ margin:20px 0 0; padding:0; }
.sidebar-links li + li{ margin-top:4px; }
.sidebar-links a{
  display:flex; align-items:center; gap:12px;
  padding:13px 14px; border-radius:12px;
  color:rgba(255,255,255,.85); font-weight:600; font-size:.95rem;
  transition:.2s;
}
.sidebar-links a i{ font-size:1.05rem; color:var(--orange); width:20px; }
.sidebar-links a:hover{ background:rgba(255,255,255,.08); color:#fff; padding-left:18px; }
.btn-sidebar-wa{
  background:#25d366; color:#fff; font-weight:700; padding:11px 0; font-size:.92rem; border:none;
}
.btn-sidebar-wa:hover{ background:#1ebd5a; color:#fff; }

/* ---------- TICKER ---------- */
.ticker-bar{
  position:fixed; top:0; left:0; right:0; z-index:1029;
  margin-top:0;
  background:var(--ink); overflow:hidden; padding:7px 0;
}
.ticker-track{
  display:flex; white-space:nowrap; width:max-content;
  animation:tickerScroll 26s linear infinite;
}
.ticker-item{
  color:rgba(255,255,255,.85); font-weight:600; font-size:.78rem;
  padding:0 22px; display:flex; align-items:center; gap:8px;
  text-transform:uppercase; letter-spacing:.5px;
}
.ticker-item i{ color:var(--orange); font-size:.65rem; }
@keyframes tickerScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.navbar-custom{ top:34px; }
.navbar-custom.is-scrolled{ padding:9px 0; box-shadow:0 6px 20px -10px rgba(40,26,12,.25); }
.navbar-custom.is-scrolled .mark{ width:36px; height:36px; font-size:1.1rem; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:200px 0 110px;
  overflow:hidden;
  min-height:640px;
  display:flex;
  align-items:center;
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
}
.hero-bg img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.08);
  animation:heroKenBurns 16s ease-in-out infinite alternate;
}
@keyframes heroKenBurns{
  0%{ transform:scale(1.08) translate(0,0); }
  100%{ transform:scale(1.16) translate(-1%,-1%); }
}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(26,17,7,.88) 0%, rgba(26,17,7,.72) 38%, rgba(38,20,6,.42) 62%, rgba(38,20,6,.2) 100%),
    linear-gradient(0deg, rgba(18,12,4,.55), transparent 45%);
}
.hero .blob{
  position:absolute; top:-120px; right:-120px;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(251,191,36,.28), transparent 70%);
  animation:blobPulse 7s ease-in-out infinite;
  z-index:1;
}
@keyframes blobPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.12); opacity:.85; }
}
/* signature element: animated flight route across the hero */
.flight-route{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:2;
}
.flight-route path{
  fill:none; stroke:#ffe3b0; stroke-width:2; stroke-dasharray:8 10; opacity:.4;
}
.flight-plane{
  offset-rotate:auto; animation:flyRoute 9s linear infinite;
}
@keyframes flyRoute{
  0%{ offset-distance:0%; opacity:0; }
  6%{ opacity:1; }
  94%{ opacity:1; }
  100%{ offset-distance:100%; opacity:0; }
}
.hero-dot{
  fill:var(--orange);
}
.hero-dot.pulse{ animation:dotPulse 2.4s ease-in-out infinite; transform-origin:center; }
@keyframes dotPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.8); opacity:.35; }
}
.hero .container{ position:relative; z-index:3; }
.hero h1, .hero p.lead-text, .hero .eyebrow, .hero .rating-chip{ color:#fff; }
.hero .eyebrow{ color:#ffe3b0; }
.hero .eyebrow::before{ background:var(--orange); box-shadow:0 0 0 4px rgba(251,191,36,.25); }
.hero p.lead-text{ color:rgba(255,255,255,.85); max-width:560px; }
.hero h1 span{
  background:linear-gradient(90deg, #ffe3b0, #fff);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero h1 span::after{ background:rgba(251,191,36,.35); }
.hero .rating-chip{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:8px 14px; border-radius:100px; backdrop-filter:blur(6px); }
.hero .rating-chip i{ color:#ffb400; }
.hero .btn-call{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(6px); }
.hero .btn-call:hover{ background:rgba(255,255,255,.2); color:#fff; }
.hero h1{
  font-weight:800;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  line-height:1.12;
}
.hero h1 span{
  background:linear-gradient(90deg, var(--blue), var(--mint));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative;
}
.hero h1 span::after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:10px; z-index:-1;
  background:rgba(251,191,36,.22); border-radius:6px;
}
.hero p.lead-text{/* color:var(--gray); */font-size:1.08rem;max-width:480px;}
.rating-row{ display:flex; gap:22px; flex-wrap:wrap; margin-top:28px; }
.rating-chip{
  display:flex; align-items:center; gap:8px;
  font-size:.85rem; font-weight:600; color:var(--ink);
}
.rating-chip i{ color:#ffb400; }
.hero-stat-chip{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  border-radius:14px;
  padding:14px 18px;
  display:flex; align-items:center; gap:12px;
  transition:transform .25s ease, background .25s ease;
}
.hero-stat-chip:hover{ transform:translateY(-4px); background:rgba(255,255,255,.16); }
.hero-stat-chip .ic{
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem; flex:0 0 auto;
}
.hero-stat-chip .ic.blue{ background:var(--blue); }
.hero-stat-chip .ic.mint{ background:var(--mint); }
.hero-stat-chip .t{ font-weight:700; font-size:.88rem; line-height:1.1; color:#fff; }
.hero-stat-chip .s{ font-size:.74rem; color:rgba(255,255,255,.75); }

/* ---------- ABOUT US ---------- */
.about-photo-wrap{ position:relative; border-radius:var(--card-radius); overflow:hidden; box-shadow:0 30px 60px -24px rgba(40,26,12,.28); }
.about-photo-wrap img{ width:100%; display:block; height:420px; object-fit:cover; }
.est-badge{
  position:absolute; bottom:18px; left:18px;
  background:linear-gradient(135deg, var(--blue), var(--orange)); color:#fff; font-weight:700; font-size:.82rem;
  padding:8px 18px; border-radius:100px;
}
.about-stat{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 14px; height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.about-stat:hover{ transform:translateY(-4px); box-shadow:0 14px 26px -14px rgba(249,115,22,.35); border-color:var(--blue); }
.about-stat .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.35rem; color:var(--blue); }
.about-stat .lbl{ font-size:.72rem; color:var(--gray); text-transform:uppercase; letter-spacing:.5px; font-weight:600; }

/* ---------- CIRCLE DESTINATIONS SCROLLER ---------- */
.circle-scroller{
  display:flex; gap:26px; overflow-x:auto; padding:10px 4px 20px;
  scrollbar-width:none;
}
.circle-scroller::-webkit-scrollbar{ display:none; }
.circle-item{
  flex:0 0 auto; text-align:center; width:96px;
}
.circle-item .circ{
  width:88px; height:88px; border-radius:50%;
  overflow:hidden; border:3px solid #fff;
  box-shadow:0 8px 20px rgba(40,26,12,.14);
  transition:.25s;
}
.circle-item:hover .circ{ transform:translateY(-6px); box-shadow:0 14px 26px rgba(249,115,22,.25); }
.circle-item img{ width:100%; height:100%; object-fit:cover; }
.circle-item span{
  display:block; margin-top:10px; font-size:.82rem; font-weight:600;
}

/* ---------- PROMO BANNER SCROLLER ---------- */
.promo-scroller{
  display:flex; gap:20px; overflow-x:auto; padding:6px 4px 20px;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.promo-scroller::-webkit-scrollbar{ display:none; }
.slider-arrows{ display:flex; gap:10px; }
.slider-arrow{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--line); background:#fff; color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition:.2s;
}
.slider-arrow:hover{ background:var(--blue); border-color:var(--blue); color:#fff; }
.slider-dots{ display:flex; gap:8px; justify-content:center; margin-top:6px; }
.slider-dots .dot{
  width:8px; height:8px; border-radius:50%; background:var(--line); cursor:pointer; transition:.2s;
}
.slider-dots .dot.active{ background:var(--blue); width:22px; border-radius:5px; }


/* ---------- TRIP CARDS ---------- */
.trip-card{
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  overflow:hidden;
  background:#fff;
  height:100%;
  transition:.25s;
}
.trip-card:hover{ box-shadow:0 20px 40px -18px rgba(40,26,12,.2); transform:translateY(-4px); }
.trip-card .imgwrap{ position:relative; height:190px; overflow:hidden; }
.trip-card .imgwrap img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.trip-card:hover .imgwrap img{ transform:scale(1.08); }
.trip-card .tag{
  position:absolute; top:12px; left:12px;
  background:#fff; color:var(--blue); font-weight:700; font-size:.72rem;
  padding:5px 12px; border-radius:100px;
}
.trip-card .body{ padding:18px 18px 20px; }
.trip-card h5{ font-weight:700; margin-bottom:4px; }
.trip-card .meta{ color:var(--gray); font-size:.82rem; margin-bottom:12px; }
.trip-card .price-row{ display:flex; align-items:baseline; gap:8px; }
.trip-card .price-row .old{ text-decoration:line-through; color:var(--gray); font-size:.85rem; }
.trip-card .price-row .new{ color:var(--ink); font-weight:800; font-size:1.15rem; }
.trip-card .price-row .lbl{ font-size:.72rem; color:var(--gray); }

/* ---------- DATE TABS (Pilgrim season) ---------- */
.tab-scroller{
  display:flex; gap:10px; overflow-x:auto; padding-bottom:14px; scrollbar-width:none;
}
.tab-scroller::-webkit-scrollbar{ display:none; }
.tab-chip{
  flex:0 0 auto;
  border:1.5px solid var(--line);
  padding:9px 20px;
  border-radius:100px;
  font-weight:600;
  font-size:.85rem;
  color:var(--ink);
  cursor:pointer;
  transition:.2s;
}
.tab-chip.active, .tab-chip:hover{
  background:var(--blue); color:#fff; border-color:var(--blue);
}

/* ---------- WHY US ---------- */
.why-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  padding:28px 24px;
  height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.why-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -20px rgba(249,115,22,.3);
  border-color:rgba(249,115,22,.3);
}
.why-card:hover .num{ color:rgba(249,115,22,.32); }
.why-card .num{ transition:color .3s ease; }
.why-card .num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:2.4rem;
  color:rgba(249,115,22,0.15);
  line-height:1;
}
.why-card h5{ font-weight:700; margin:10px 0 8px; }
.why-card p{ color:var(--gray); font-size:.9rem; margin:0; }

/* ---------- GALLERY ---------- */
.gal-item{
  border-radius:14px; overflow:hidden; position:relative; height:220px;
}
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-item:hover img{ transform:scale(1.12) rotate(.5deg); }
.gal-item .cap{
  position:absolute; left:12px; bottom:10px; color:#fff; font-weight:700; z-index:2; font-size:.9rem;
  transform:translateY(6px); opacity:.92; transition:.35s ease;
}
.gal-item:hover .cap{ transform:translateY(0); opacity:1; }
.gal-item::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(30,18,8,.7), transparent 55%);
  transition:.35s ease;
}
.gal-item:hover::before{ background:linear-gradient(0deg, rgba(120,50,9,.78), transparent 60%); }

/* ---------- CONTACT ---------- */
.contact-wrap{
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  border-radius:28px;
  overflow:hidden;
  color:#fff;
}
.contact-form-card{
  background:#fff; border-radius:20px; padding:30px; color:var(--ink);
  box-shadow:0 30px 60px -20px rgba(40,26,12,.35);
}
.form-control-x{
  border-radius:10px; border:1.5px solid var(--line); padding:12px 14px;
}
.form-control-x:focus{ border-color:var(--blue); box-shadow:none; }

/* ---------- FOOTER ---------- */
footer{
  background:var(--ink);
  color:rgba(255,255,255,.65);
  padding:60px 0 24px;
  font-size:.9rem;
}
footer h6{ color:#fff; font-weight:700; margin-bottom:16px; font-size:.9rem; text-transform:uppercase; letter-spacing:.5px; }
footer a{ color:rgba(255,255,255,.65); }
footer a:hover{ color:var(--orange); }
footer .foot-line{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px; }
.social-ic{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:#fff; margin-right:8px;
}
.social-ic:hover{ background:var(--orange); }

/* ---------- FLOATING BUTTONS ---------- */
.fab-stack{ position:fixed; right:20px; bottom:20px; z-index:999; display:flex; flex-direction:column; gap:12px; }
.fab{
  width:54px;
  height:54px;
  border-radius:50%;
  /* display:flex; */
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.4rem;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  display: flex!important;
}
.fab.wa{ background:#25d366; }
.fab.call{ background:var(--blue); animation:pulseB 2.2s infinite; }
@keyframes pulseB{
  0%{ box-shadow:0 0 0 0 rgba(249,115,22,.5); }
  70%{ box-shadow:0 0 0 14px rgba(249,115,22,0); }
  100%{ box-shadow:0 0 0 0 rgba(249,115,22,0); }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .fab.call{ animation:none; }
  .float-card{ animation:none; }
  .ticker-track{ animation:none; }
  .blob{ animation:none; }
  .hero-bg img{ animation:none; }
  .flight-plane{ animation:none; }
  .hero-dot.pulse{ animation:none; }
  .gal-item img, .promo-card img, .trip-card .imgwrap img{ transition:none; }
}
@media (max-width: 767px){
  .hero{padding:140px 0 60px;min-height:auto;}
  .ticker-item{ font-size:.68rem; padding:0 14px; }
  .hero-stat-chip{ width:100%; }
  .about-photo-wrap img{ height:280px; }
  .est-badge{ font-size:.74rem; padding:6px 14px; bottom:12px; left:12px; }
  .promo-card{ flex-basis:82vw; height:170px; }
  .contact-wrap{ border-radius:20px; }
  .contact-form-card{ padding:22px; border-radius:16px; }
  .sidebar-panel{ width:82vw; }
  .why-card{ padding:22px 18px; }
  .about-stat{ padding:14px 10px; }
  .about-stat .num{ font-size:1.1rem; }
  .section-sub{ max-width:100%; }
  .rating-row{ gap:14px; row-gap:8px; }
  .fab-stack{ right:14px; bottom:14px; }
  .fab{ width:48px; height:48px; font-size:1.2rem; }
}
@media (max-width: 400px){
  .hero h1{ font-size:1.9rem; }
  .brand-logo .txt{ font-size:1rem; }
  .brand-logo .mark{ width:36px; height:36px; font-size:1.1rem; }
  .ticker-item{ font-size:.62rem; padding:0 11px; }
}.destination-section{
    padding:40px 0;
}

.sub-title{
    color:#ea580c;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
}

.destination-section h2{
    font-size:48px;
    font-weight:700;
    margin:10px 0;
    color:#241708;
}

.destination-section p{
    color:#8a7a68;
    margin-bottom:45px;
    font-size:18px;
}.promo-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    height:420px;
}

.promo-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.8),transparent);
}

.promo-content{
    position:absolute;
    bottom:25px;
    left:25px;
    color:#fff;
    z-index:2;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.slider-arrow{
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:#f97316;
    color:#fff;
}

.promo-card:hover{
    transform:translateY(-8px);
}

.promo-image{
    position:relative;
    height: 300px;;
    overflow:hidden;
}

.promo-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.promo-tag{
    position:absolute;
    top:15px;
    left:15px;
    background:#fb923c;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.promo-details{
    padding:22px;
}

.route{
    color:#f97316;
    font-weight:700;
    letter-spacing:1px;
}

.promo-details h4{
    margin:10px 0;
    font-size:23px;
    font-weight:700;
}

.package-info{
    color:#666;
    margin-bottom:8px;
    font-size:15px;
}

.package-info i{
    color:#f97316;
    margin-right:6px;
}

.price-area{
    margin:18px 0;
}

.old-price{
    color:#999;
    text-decoration:line-through;
    font-size:18px;
    margin-right:10px;
}

.new-price{
    color:#f97316;
    font-size:30px;
    font-weight:700;
}

.price-area small{
    display:block;
    color:#666;
}

.promo-btns{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.btn-view,
.btn-enquiry{
    flex:1;
    text-align:center;
    padding:12px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
}

.btn-view{
    background:#f97316;
    color:#fff;
}

.btn-enquiry{
    border:2px solid #f97316;
    color:#f97316;
}

.btn-enquiry:hover{
    background:#f97316;
    color:#fff;
}

.destination-slider{
    display:flex;
    gap:28px;
    overflow-x:auto;
    padding-bottom:15px;
    scrollbar-width:none;
}

.destination-slider::-webkit-scrollbar{
    display:none;
}

.destination-item{
    min-width:145px;
    text-align:center;
    text-decoration:none;
}

.destination-img{
    width:140px;
    height:140px;
    border-radius:50%;
    padding:5px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.15);
    transition:.4s;
}

.destination-img img{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}

.destination-item h5{
    margin-top:18px;
    color:#241708;
    font-size:21px;
    font-weight:600;
}

.destination-item:hover .destination-img{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.22);
}/* ==========================
   Trending Section
========================== */

.trending-section{
    background:#fff8ec;
}

.trend-subtitle{
    color:#ea580c;
    font-size:14px;
    font-weight:600;
    margin-bottom:5px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.trend-title{
    font-size:34px;
    font-weight:700;
    margin:0;
}

/* ==========================
   Arrow Buttons
========================== */

.trend-arrow{
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#222;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    transition:.3s;
    margin-left:10px;
}

.trend-arrow:hover{
    background:#f97316;
    color:#fff;
}

/* ==========================
   Travel Card
========================== */

.travel-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.travel-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

/* ==========================
   Image
========================== */

.travel-img{
    position:relative;
    overflow:hidden;
}

.travel-img img{
    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;
    display:block;
}

.travel-card:hover .travel-img img{
    transform:scale(1.08);
}

.travel-badge{
    position:absolute;
    top:15px;
    left:15px;
    background:#fb923c;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:12px;
    font-weight:600;
}

/* ==========================
   Content
========================== */

.travel-content{
    padding:20px;
}

.travel-route{
    color:#f97316;
    font-weight:600;
    display:block;
    margin-bottom:10px;
}

.travel-content h4{
    font-size:22px;
    font-weight:700;
    margin-bottom:15px;
}

.travel-content p{
    margin-bottom:10px;
    color:#666;
    font-size:15px;
}

.travel-content p i{
    color:#f97316;
    margin-right:6px;
}

section{ padding:88px 0; }
@media (max-width: 767px){
  section{ padding:56px 0; }
}
h1,h2,h3,h4,h5,.display-font{ font-family:'Sora', sans-serif; letter-spacing:-.01em; }
a{ text-decoration:none; }
.text-blue{ color:var(--blue); }
.bg-soft{
  background:
    radial-gradient(700px 400px at 90% 0%, rgba(25,87,224,0.07), transparent 65%),
    radial-gradient(700px 400px at 0% 100%, rgba(56,189,248,0.07), transparent 65%),
    var(--bg);
}
.pill{
  border-radius:100px;
}
.eyebrow{
  color:var(--orange-dark);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:"";
  width:8px; height:8px;
  border-radius:50%;
  background:var(--orange);
  display:inline-block;
}
.section-title{
  font-weight:700;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  margin:8px 0 6px;
}
.section-sub{ color:var(--gray); max-width:560px; }

/* ---------- NAV ---------- */
.navbar-custom{
  background:#fff;
  padding:14px 0;
  box-shadow:0 1px 0 var(--line);
  transition:.25s;
}
.brand-logo{
  display:flex; align-items:center; gap:10px;
}
.brand-logo .mark{
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.3rem;
}
.brand-logo .txt{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.15rem;
  line-height:1.1;
  color:var(--ink);
}
.brand-logo .txt small{
  display:block; font-family:'Inter',sans-serif;
  font-weight:500; font-size:.68rem; color:var(--gray); letter-spacing:.3px;
}
.navbar-custom .nav-link{
  color:var(--ink) !important;
  font-weight:600;
  font-size:.92rem;
  margin:0 6px;
}
.navbar-custom .nav-link:hover{ color:var(--blue) !important; }
.btn-call{
  border:1.5px solid var(--line);
  color:var(--ink);
  font-weight:600;
  font-size:.88rem;
  padding:9px 18px;
}
.btn-call i{ color:var(--blue); }
.btn-cta{
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  padding:10px 22px;
  border:none;
}
.btn-cta:hover{ background:linear-gradient(135deg, var(--blue-dark), var(--orange-dark)); color:#fff; box-shadow:0 10px 24px -6px rgba(56,189,248,.5); transform:translateY(-2px); }

.navbar-custom .nav-link{ position:relative; padding:8px 4px; }
.navbar-custom .nav-link::after{
  content:""; position:absolute; left:4px; right:4px; bottom:2px; height:2px;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.navbar-custom .nav-link:hover::after{ transform:scaleX(1); }

/* ---------- MOBILE HAMBURGER ---------- */
.hamburger-btn{
  width:42px; height:42px; border-radius:10px; border:1.5px solid var(--line);
  background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.hamburger-btn span{ width:20px; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.hamburger-btn:hover{ border-color:var(--blue); }
.hamburger-btn:hover span{ background:var(--blue); }

/* ---------- SIDEBAR (OFFCANVAS) ---------- */
.sidebar-panel{
  width:300px;
  background:linear-gradient(180deg, var(--blue-dark), var(--ink));
  color:#fff;
  border:none;
}
.sidebar-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px; border-bottom:1px solid rgba(255,255,255,.12);
}
.sidebar-head .txt small{ color:rgba(255,255,255,.7); }
.sidebar-links{ margin:20px 0 0; padding:0; }
.sidebar-links li + li{ margin-top:4px; }
.sidebar-links a{
  display:flex; align-items:center; gap:12px;
  padding:13px 14px; border-radius:12px;
  color:rgba(255,255,255,.85); font-weight:600; font-size:.95rem;
  transition:.2s;
}
.sidebar-links a i{ font-size:1.05rem; color:var(--orange); width:20px; }
.sidebar-links a:hover{ background:rgba(255,255,255,.08); color:#fff; padding-left:18px; }
.btn-sidebar-wa{
  background:#25d366; color:#fff; font-weight:700; padding:11px 0; font-size:.92rem; border:none;
}
.btn-sidebar-wa:hover{ background:#1ebd5a; color:#fff; }

/* ---------- TICKER ---------- */
.ticker-bar{
  position:fixed; top:0; left:0; right:0; z-index:1029;
  margin-top:0;
  background:var(--ink); overflow:hidden; padding:7px 0;
}
.ticker-track{
  display:flex; white-space:nowrap; width:max-content;
  animation:tickerScroll 26s linear infinite;
}
.ticker-item{
  color:rgba(255,255,255,.85); font-weight:600; font-size:.78rem;
  padding:0 22px; display:flex; align-items:center; gap:8px;
  text-transform:uppercase; letter-spacing:.5px;
}
.ticker-item i{ color:var(--orange); font-size:.65rem; }
@keyframes tickerScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.navbar-custom{ top:34px; }
.navbar-custom.is-scrolled{ padding:9px 0; box-shadow:0 6px 20px -10px rgba(16,24,43,.25); }
.navbar-custom.is-scrolled .mark{ width:36px; height:36px; font-size:1.1rem; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:200px 0 110px;
  overflow:hidden;
  min-height:640px;
  display:flex;
  align-items:center;
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
}
.hero-bg img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.08);
  animation:heroKenBurns 16s ease-in-out infinite alternate;
}
@keyframes heroKenBurns{
  0%{ transform:scale(1.08) translate(0,0); }
  100%{ transform:scale(1.16) translate(-1%,-1%); }
}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(7,12,28,.88) 0%, rgba(7,12,28,.72) 38%, rgba(7,20,50,.42) 62%, rgba(7,20,50,.2) 100%),
    linear-gradient(0deg, rgba(4,8,20,.55), transparent 45%);
}
.hero .blob{
  position:absolute; top:-120px; right:-120px;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(56,189,248,.28), transparent 70%);
  animation:blobPulse 7s ease-in-out infinite;
  z-index:1;
}
@keyframes blobPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.12); opacity:.85; }
}
/* signature element: animated flight route across the hero */
.flight-route{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:2;
}
.flight-route path{
  fill:none; stroke:#bfe4ff; stroke-width:2; stroke-dasharray:8 10; opacity:.4;
}
.flight-plane{
  offset-rotate:auto; animation:flyRoute 9s linear infinite;
}
@keyframes flyRoute{
  0%{ offset-distance:0%; opacity:0; }
  6%{ opacity:1; }
  94%{ opacity:1; }
  100%{ offset-distance:100%; opacity:0; }
}
.hero-dot{
  fill:var(--orange);
}
.hero-dot.pulse{ animation:dotPulse 2.4s ease-in-out infinite; transform-origin:center; }
@keyframes dotPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.8); opacity:.35; }
}
.hero .container{ position:relative; z-index:3; }
.hero h1, .hero p.lead-text, .hero .eyebrow, .hero .rating-chip{ color:#fff; }
.hero .eyebrow{ color:#bfe4ff; }
.hero .eyebrow::before{ background:var(--orange); box-shadow:0 0 0 4px rgba(56,189,248,.25); }
.hero p.lead-text{ color:rgba(255,255,255,.85); max-width:560px; }
.hero h1 span{
  background:linear-gradient(90deg, #bfe4ff, #fff);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero h1 span::after{ background:rgba(56,189,248,.35); }
.hero .rating-chip{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:8px 14px; border-radius:100px; backdrop-filter:blur(6px); }
.hero .rating-chip i{ color:#ffb400; }
.hero .btn-call{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(6px); }
.hero .btn-call:hover{ background:rgba(255,255,255,.2); color:#fff; }
.hero h1{
  font-weight:800;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  line-height:1.12;
}
.hero h1 span{
  background:linear-gradient(90deg, var(--blue), var(--mint));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative;
}
.hero h1 span::after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:10px; z-index:-1;
  background:rgba(56,189,248,.22); border-radius:6px;
}
.hero p.lead-text{/* color:var(--gray); */font-size:1.08rem;max-width:480px;}
.rating-row{ display:flex; gap:22px; flex-wrap:wrap; margin-top:28px; }
.rating-chip{
  display:flex; align-items:center; gap:8px;
  font-size:.85rem; font-weight:600; color:var(--ink);
}
.rating-chip i{ color:#ffb400; }
.hero-stat-chip{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  border-radius:14px;
  padding:14px 18px;
  display:flex; align-items:center; gap:12px;
  transition:transform .25s ease, background .25s ease;
}
.hero-stat-chip:hover{ transform:translateY(-4px); background:rgba(255,255,255,.16); }
.hero-stat-chip .ic{
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem; flex:0 0 auto;
}
.hero-stat-chip .ic.blue{ background:var(--blue); }
.hero-stat-chip .ic.mint{ background:var(--mint); }
.hero-stat-chip .t{ font-weight:700; font-size:.88rem; line-height:1.1; color:#fff; }
.hero-stat-chip .s{ font-size:.74rem; color:rgba(255,255,255,.75); }

/* ---------- ABOUT US ---------- */
.about-photo-wrap{ position:relative; border-radius:var(--card-radius); overflow:hidden; box-shadow:0 30px 60px -24px rgba(16,24,43,.28); }
.about-photo-wrap img{ width:100%; display:block; height:420px; object-fit:cover; }
.est-badge{
  position:absolute; bottom:18px; left:18px;
  background:linear-gradient(135deg, var(--blue), var(--orange)); color:#fff; font-weight:700; font-size:.82rem;
  padding:8px 18px; border-radius:100px;
}
.about-stat{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 14px; height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.about-stat:hover{ transform:translateY(-4px); box-shadow:0 14px 26px -14px rgba(25,87,224,.35); border-color:var(--blue); }
.about-stat .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.35rem; color:var(--blue); }
.about-stat .lbl{ font-size:.72rem; color:var(--gray); text-transform:uppercase; letter-spacing:.5px; font-weight:600; }

/* ---------- CIRCLE DESTINATIONS SCROLLER ---------- */
.circle-scroller{
  display:flex; gap:26px; overflow-x:auto; padding:10px 4px 20px;
  scrollbar-width:none;
}
.circle-scroller::-webkit-scrollbar{ display:none; }
.circle-item{
  flex:0 0 auto; text-align:center; width:96px;
}
.circle-item .circ{
  width:88px; height:88px; border-radius:50%;
  overflow:hidden; border:3px solid #fff;
  box-shadow:0 8px 20px rgba(16,24,43,.14);
  transition:.25s;
}
.circle-item:hover .circ{ transform:translateY(-6px); box-shadow:0 14px 26px rgba(25,87,224,.25); }
.circle-item img{ width:100%; height:100%; object-fit:cover; }
.circle-item span{
  display:block; margin-top:10px; font-size:.82rem; font-weight:600;
}

/* ---------- PROMO BANNER SCROLLER ---------- */
.promo-scroller{
  display:flex; gap:20px; overflow-x:auto; padding:6px 4px 20px;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.promo-scroller::-webkit-scrollbar{ display:none; }
.slider-arrows{ display:flex; gap:10px; }
.slider-arrow{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--line); background:#fff; color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition:.2s;
}
.slider-arrow:hover{ background:var(--blue); border-color:var(--blue); color:#fff; }
.slider-dots{ display:flex; gap:8px; justify-content:center; margin-top:6px; }
.slider-dots .dot{
  width:8px; height:8px; border-radius:50%; background:var(--line); cursor:pointer; transition:.2s;
}
.slider-dots .dot.active{ background:var(--blue); width:22px; border-radius:5px; }


/* ---------- TRIP CARDS ---------- */
.trip-card{
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  overflow:hidden;
  background:#fff;
  height:100%;
  transition:.25s;
}
.trip-card:hover{ box-shadow:0 20px 40px -18px rgba(16,24,43,.2); transform:translateY(-4px); }
.trip-card .imgwrap{ position:relative; height:190px; overflow:hidden; }
.trip-card .imgwrap img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.trip-card:hover .imgwrap img{ transform:scale(1.08); }
.trip-card .tag{
  position:absolute; top:12px; left:12px;
  background:#fff; color:var(--blue); font-weight:700; font-size:.72rem;
  padding:5px 12px; border-radius:100px;
}
.trip-card .body{ padding:18px 18px 20px; }
.trip-card h5{ font-weight:700; margin-bottom:4px; }
.trip-card .meta{ color:var(--gray); font-size:.82rem; margin-bottom:12px; }
.trip-card .price-row{ display:flex; align-items:baseline; gap:8px; }
.trip-card .price-row .old{ text-decoration:line-through; color:var(--gray); font-size:.85rem; }
.trip-card .price-row .new{ color:var(--ink); font-weight:800; font-size:1.15rem; }
.trip-card .price-row .lbl{ font-size:.72rem; color:var(--gray); }

/* ---------- DATE TABS (Pilgrim season) ---------- */
.tab-scroller{
  display:flex; gap:10px; overflow-x:auto; padding-bottom:14px; scrollbar-width:none;
}
.tab-scroller::-webkit-scrollbar{ display:none; }
.tab-chip{
  flex:0 0 auto;
  border:1.5px solid var(--line);
  padding:9px 20px;
  border-radius:100px;
  font-weight:600;
  font-size:.85rem;
  color:var(--ink);
  cursor:pointer;
  transition:.2s;
}
.tab-chip.active, .tab-chip:hover{
  background:var(--blue); color:#fff; border-color:var(--blue);
}

/* ---------- WHY US ---------- */
.why-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  padding:28px 24px;
  height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.why-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -20px rgba(25,87,224,.3);
  border-color:rgba(25,87,224,.3);
}
.why-card:hover .num{ color:rgba(25,87,224,.32); }
.why-card .num{ transition:color .3s ease; }
.why-card .num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:2.4rem;
  color:rgba(25,87,224,0.15);
  line-height:1;
}
.why-card h5{ font-weight:700; margin:10px 0 8px; }
.why-card p{ color:var(--gray); font-size:.9rem; margin:0; }

/* ---------- GALLERY ---------- */
.gal-item{
  border-radius:14px; overflow:hidden; position:relative; height:220px;
}
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-item:hover img{ transform:scale(1.12) rotate(.5deg); }
.gal-item .cap{
  position:absolute; left:12px; bottom:10px; color:#fff; font-weight:700; z-index:2; font-size:.9rem;
  transform:translateY(6px); opacity:.92; transition:.35s ease;
}
.gal-item:hover .cap{ transform:translateY(0); opacity:1; }
.gal-item::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(13,20,40,.7), transparent 55%);
  transition:.35s ease;
}
.gal-item:hover::before{ background:linear-gradient(0deg, rgba(9,45,120,.78), transparent 60%); }

/* ---------- CONTACT ---------- */
.contact-wrap{
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  border-radius:28px;
  overflow:hidden;
  color:#fff;
}
.contact-form-card{
  background:#fff; border-radius:20px; padding:30px; color:var(--ink);
  box-shadow:0 30px 60px -20px rgba(16,24,43,.35);
}
.form-control-x{
  border-radius:10px; border:1.5px solid var(--line); padding:12px 14px;
}
.form-control-x:focus{ border-color:var(--blue); box-shadow:none; }

/* ---------- FOOTER ---------- */
footer{
  background:var(--ink);
  color:rgba(255,255,255,.65);
  padding:60px 0 24px;
  font-size:.9rem;
}
footer h6{ color:#fff; font-weight:700; margin-bottom:16px; font-size:.9rem; text-transform:uppercase; letter-spacing:.5px; }
footer a{ color:rgba(255,255,255,.65); }
footer a:hover{ color:var(--orange); }
footer .foot-line{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px; }
.social-ic{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:#fff; margin-right:8px;
}
.social-ic:hover{ background:var(--orange); }

/* ---------- FLOATING BUTTONS ---------- */
.fab-stack{ position:fixed; right:20px; bottom:20px; z-index:999; display:flex; flex-direction:column; gap:12px; }
.fab{
  width:54px;
  height:54px;
  border-radius:50%;
  /* display:flex; */
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.4rem;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  display: flex!important;
}
.fab.wa{ background:#25d366; }
.fab.call{ background:var(--blue); animation:pulseB 2.2s infinite; }
@keyframes pulseB{
  0%{ box-shadow:0 0 0 0 rgba(25,87,224,.5); }
  70%{ box-shadow:0 0 0 14px rgba(25,87,224,0); }
  100%{ box-shadow:0 0 0 0 rgba(25,87,224,0); }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .fab.call{ animation:none; }
  .float-card{ animation:none; }
  .ticker-track{ animation:none; }
  .blob{ animation:none; }
  .hero-bg img{ animation:none; }
  .flight-plane{ animation:none; }
  .hero-dot.pulse{ animation:none; }
  .gal-item img, .promo-card img, .trip-card .imgwrap img{ transition:none; }
}
@media (max-width: 767px){
  .hero{padding:140px 0 60px;min-height:auto;}
  .ticker-item{ font-size:.68rem; padding:0 14px; }
  .hero-stat-chip{ width:100%; }
  .about-photo-wrap img{ height:280px; }
  .est-badge{ font-size:.74rem; padding:6px 14px; bottom:12px; left:12px; }
  .promo-card{ flex-basis:82vw; height:170px; }
  .contact-wrap{ border-radius:20px; }
  .contact-form-card{ padding:22px; border-radius:16px; }
  .sidebar-panel{ width:82vw; }
  .why-card{ padding:22px 18px; }
  .about-stat{ padding:14px 10px; }
  .about-stat .num{ font-size:1.1rem; }
  .section-sub{ max-width:100%; }
  .rating-row{ gap:14px; row-gap:8px; }
  .fab-stack{ right:14px; bottom:14px; }
  .fab{ width:48px; height:48px; font-size:1.2rem; }
}
@media (max-width: 400px){
  .hero h1{ font-size:1.9rem; }
  .brand-logo .txt{ font-size:1rem; }
  .brand-logo .mark{ width:36px; height:36px; font-size:1.1rem; }
  .ticker-item{ font-size:.62rem; padding:0 11px; }
}.destination-section{
    padding:40px 0;
}

.sub-title{
    color:#0b74de;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
}

.destination-section h2{
    font-size:48px;
    font-weight:700;
    margin:10px 0;
    color:#0f172a;
}

.destination-section p{
    color:#64748b;
    margin-bottom:45px;
    font-size:18px;
}.promo-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    height:420px;
}

.promo-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.8),transparent);
}

.promo-content{
    position:absolute;
    bottom:25px;
    left:25px;
    color:#fff;
    z-index:2;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.slider-arrow{
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:#f97316;
    color:#fff;
}

.promo-card:hover{
    transform:translateY(-8px);
}

.promo-image{
    position:relative;
    height: 300px;;
    overflow:hidden;
}

.promo-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.promo-tag{
    position:absolute;
    top:15px;
    left:15px;
    background:#ff5b2e;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.promo-details{
    padding:22px;
}

.route{
    color:#f97316;
    font-weight:700;
    letter-spacing:1px;
}

.promo-details h4{
    margin:10px 0;
    font-size:23px;
    font-weight:700;
}

.package-info{
    color:#666;
    margin-bottom:8px;
    font-size:15px;
}

.package-info i{
    color:#f97316;
    margin-right:6px;
}

.price-area{
    margin:18px 0;
}

.old-price{
    color:#999;
    text-decoration:line-through;
    font-size:18px;
    margin-right:10px;
}

.new-price{
    color:#ff4d30;
    font-size:30px;
    font-weight:700;
}

.price-area small{
    display:block;
    color:#666;
}

.promo-btns{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.btn-view,
.btn-enquiry{
    flex:1;
    text-align:center;
    padding:12px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
}

.btn-view{
    background:#f97316;
    color:#fff;
}

.btn-enquiry{
    border:2px solid #f97316;
    color:#f97316;
}

.btn-enquiry:hover{
    background:#f97316;
    color:#fff;
}

.destination-slider{
    display:flex;
    gap:28px;
    overflow-x:auto;
    padding-bottom:15px;
    scrollbar-width:none;
}

.destination-slider::-webkit-scrollbar{
    display:none;
}

.destination-item{
    min-width:145px;
    text-align:center;
    text-decoration:none;
}

.destination-img{
    width:140px;
    height:140px;
    border-radius:50%;
    padding:5px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.15);
    transition:.4s;
}

.destination-img img{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}

.destination-item h5{
    margin-top:18px;
    color:#111827;
    font-size:21px;
    font-weight:600;
}

.destination-item:hover .destination-img{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.22);
}/* ==========================
   Trending Section
========================== */

.trending-section{
    background:#f8f9fb;
}

.trend-subtitle{
    color:#ff6600;
    font-size:14px;
    font-weight:600;
    margin-bottom:5px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.trend-title{
    font-size:34px;
    font-weight:700;
    margin:0;
}

/* ==========================
   Arrow Buttons
========================== */

.trend-arrow{
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#222;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    transition:.3s;
    margin-left:10px;
}

.trend-arrow:hover{
    background:#f97316;
    color:#fff;
}

/* ==========================
   Travel Card
========================== */

.travel-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.travel-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

/* ==========================
   Image
========================== */

.travel-img{
    position:relative;
    overflow:hidden;
}

.travel-img img{
    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;
    display:block;
}

.travel-card:hover .travel-img img{
    transform:scale(1.08);
}

.travel-badge{
    position:absolute;
    top:15px;
    left:15px;
    background:#ff5722;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:12px;
    font-weight:600;
}

/* ==========================
   Content
========================== */

.travel-content{
    padding:20px;
}

.travel-route{
    color:#f97316;
    font-weight:600;
    display:block;
    margin-bottom:10px;
}

.travel-content h4{
    font-size:22px;
    font-weight:700;
    margin-bottom:15px;
}

.travel-content p{
    margin-bottom:10px;
    color:#666;
    font-size:15px;
}

.travel-content p i{
    color:#f97316;
    margin-right:6px;
}

/* ==========================
   Price
========================== */

.travel-price{
    margin-top:18px;
    margin-bottom:18px;
}

.old-price{
    color:#999;
    text-decoration:line-through;
    margin-right:10px;
    font-size:16px;
}

.new-price{
    color:#ff5722;
    font-size:28px;
    font-weight:700;
}

/* ==========================
   Buttons
========================== */

.travel-btns{
    display:flex;
    gap:10px;
}

.travel-btns .btn{
    flex:1;
    border-radius:30px;
    padding:10px;
    font-weight:600;
}

/* ==========================
   Swiper
========================== */

.trendingSwiper{
    padding-bottom:55px;
}

.trendingSwiper .swiper-slide{
    height:auto;
}

.trendingSwiper .swiper-pagination-bullet{
    width:10px;
    height:10px;
    background:#bbb;
    opacity:1;
}

.trendingSwiper .swiper-pagination-bullet-active{
    width:28px;
    border-radius:20px;
    background:#f97316;
}

/* ==========================
   Responsive
========================== */

@media(max-width:991px){

    .trend-title{
        font-size:28px;
    }

    .travel-img img{
        height:220px;
    }

}

@media(max-width:767px){

    .trend-title{
        font-size:24px;
    }

    .travel-btns{
        flex-direction:column;
    }

    .travel-img img{
        height:200px;
    }

}.travel-services{
    padding:90px 0;
    background:#f5f9ff;
}

.service-badge{
    display:inline-block;
    background:#dbeafe;
    color:#f97316;
    padding:8px 20px;
    border-radius:30px;
    font-weight:600;
    letter-spacing:1px;
}

.service-title{
    font-size:42px;
    font-weight:700;
    color:#0f172a;
}

.service-desc{
    color:#64748b;
    max-width:650px;
    margin:auto;
}

/* Card */

.travel-service-card{
    position:relative;
    overflow:hidden;
    padding:35px 25px;
    border-radius:22px;

    background:linear-gradient(135deg,#60a5fa 0%, #2563eb 55%, #1e3a8a 100%);
  

    color:#fff;
    transition:.4s;
    height:100%;
    box-shadow:0 20px 40px rgba(37,99,235,.25);
}

.travel-service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 30px 60px rgba(37,99,235,.35);
}

/* Gradient Glow */

.travel-service-card::before{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    background:rgba(255,255,255,.12);
    border-radius:50%;
    top:-90px;
    right:-90px;
}

.travel-service-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    bottom:-50px;
    left:-40px;
}

.service-icon{
    width:70px;
    height:70px;
    border-radius:18px;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    margin-bottom:25px;
}

.travel-service-card h4{
    font-size:24px;
    font-weight:700;
    margin-bottom:15px;
}

.travel-service-card p{
    color:rgba(255,255,255,.88);
    line-height:1.7;
    margin-bottom:25px;
}

.travel-service-card a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.travel-service-card a i{
    transition:.3s;
}

.travel-service-card:hover a i{
    margin-left:8px;
}

@media(max-width:768px){

    .service-title{
        font-size:30px;
    }

}.car-rental-section{
    background:#f8fbff;
}

.car-label{
    display:inline-block;
    padding:8px 18px;
    background:#e8f2ff;
    color:#2563eb;
    border-radius:30px;
    font-weight:600;
}.company-list{
    margin:0;
    padding-left:20px;
}

.company-list li{
    margin-bottom:12px;
    color:#555;
    line-height:1.8;
    font-size:16px;
}

.about-tag{
    display:inline-block;
    background:#f4f4f4;
    color:#f97316;
    padding:8px 18px;
    border-radius:30px;
    font-weight:600;
}

.car-title{
    font-size: 27px;
    font-weight:700;
    margin:18px 0 10px;
}

.car-desc{
    color:#6b7280;
    max-width:650px;
    margin:auto;
}

.car-feature{
    display:flex;
    align-items:flex-start;
    gap:18px;
    background:#fff;
    padding:20px;
    border-radius:18px;
    margin-bottom:18px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.car-feature:hover{
    transform:translateX(8px);
}

.car-feature i{
    width:60px;
    height:60px;
    background:linear-gradient(135deg,#60a5fa,#1d4ed8);
    color:#fff;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.car-feature h5{
    font-weight:700;
    margin-bottom:6px;
}

.car-feature p{
    margin:0;
    color:#666;
}/*=========================
 WHY SECTION
=========================*/

.why-section{
    padding:90px 0;
    background:linear-gradient(180deg,#f5f9ff,#ffffff);
}

.why-badge{
    display:inline-block;
    padding:8px 22px;
    background:#dbeafe;
    color:#2563eb;
    border-radius:30px;
    font-weight:600;
    letter-spacing:1px;
}

.why-title{
    font-size:42px;
    font-weight:700;
    margin:20px 0 10px;
    color:#0f172a;
}

.why-desc{
    max-width:700px;
    margin:auto;
    color:#64748b;
}

/* Card */

.why-card-new{

    position:relative;
    overflow:hidden;

    background:linear-gradient(135deg,#60a5fa,#2563eb,#1e3a8a);

    color:#fff;

    border-radius:22px;

    padding:35px 25px;

    text-align:center;

    transition:.4s;

    height:100%;

    box-shadow:0 20px 45px rgba(37,99,235,.20);
}

.why-card-new:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(37,99,235,.35);

}

/* Background circles */

.why-card-new::before{

    content:"";

    position:absolute;

    width:180px;
    height:180px;

    background:rgba(255,255,255,.08);

    border-radius:50%;

    top:-70px;
    right:-70px;

}

.why-card-new::after{

    content:"";

    position:absolute;

    width:120px;
    height:120px;

    background:rgba(255,255,255,.08);

    border-radius:50%;

    bottom:-40px;
    left:-40px;

}

/* Icon */

.why-icon{

    width:75px;
    height:75px;

    margin:auto;

    border-radius:20px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    margin-bottom:25px;
}

/* Number */

.why-number{

    position:absolute;

    top:18px;

    right:20px;

    font-size:42px;

    font-weight:800;

    color:rgba(255,255,255,.15);

}

/* Text */

.why-card-new h4{

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

}

.why-card-new p{

    color:rgba(255,255,255,.90);

    line-height:1.8;

    margin:0;

}

/* Responsive */

@media(max-width:768px){

.why-title{

font-size:30px;

}

}.about-section{
    background:#f5fbff;
    overflow:hidden;
}

.about-image{
    position:relative;
}

.about-image img{
    width:100%;
    border-radius:25px;
    box-shadow:0 20px 50px rgba(0,85,170,.18);
    transition:.5s;
}

.about-image:hover img{
    transform:scale(1.03);
}

.experience-badge{
    position:absolute;
    top:25px;
    left:-20px;
    width:120px;
    height:120px;
    background:linear-gradient(135deg,#0077ff,#00bfff);
    color:#fff;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    box-shadow:0 20px 35px rgba(0,123,255,.3);
    animation:float 3s ease-in-out infinite;
}

.experience-badge span{
    font-size:34px;
    font-weight:700;
    line-height:1;
}

.experience-badge small{
    text-align:center;
    font-size:13px;
}

.floating-card{
    position:absolute;
    right:-20px;
    bottom:35px;
    background:#fff;
    border-radius:15px;
    padding:15px 20px;
    display:flex;
    align-items:center;
    gap:15px;
    box-shadow:0 15px 35px rgba(0,0,0,.12);
    animation:float 4s ease-in-out infinite;
}
.travel-gallery{
    background:#f8fbff;
}

.gallery-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#eaf4ff;
    color:#f97316;
    padding:10px 22px;
    border-radius:50px;
    font-weight:600;
}

.gallery-title{
    font-size:42px;
    font-weight:700;
    color:#05264e;
    margin:18px 0;
}

.gallery-text{
    color:#666;
    max-width:650px;
    margin:auto;
}

.gallery-item{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.6s;
}

.gallery-large img{
    height:420px;
}

.gallery-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:rgba(13,110,253,.78);
    opacity:0;
    transition:.4s;
}

.gallery-overlay i{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#fff;
    color:#f97316;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:18px;
    transform:scale(.5);
    transition:.4s;
}

.gallery-overlay h5{
    color:#fff;
    font-weight:700;
    margin:0;
}

.gallery-item:hover img{
    transform:scale(1.15) rotate(2deg);
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-item:hover .gallery-overlay i{
    transform:scale(1);
}

@media(max-width:768px){

.gallery-title{
    font-size:32px;
}

.gallery-item img,
.gallery-large img{
    height:250px;
}

}
.floating-card i{
    width:55px;
    height:55px;
    background:#0077ff;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}

.floating-card h6{
    margin:0;
    font-weight:700;
}

.floating-card p{
    margin:0;
    color:#777;
    font-size:14px;
}

.about-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 22px;
    background:#eaf5ff;
    color:#0077ff;
    border-radius:50px;
    font-weight:600;
}

.about-section h2{
    font-size:42px;
    font-weight:700;
    color:#05264e;
}

.service-box{
    background:#fff;
    border-radius:18px;
    padding:25px;
    text-align:center;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    height:100%;
}.destination-section{
    background:#f7fbff;
}

.sub-title{
    display:inline-block;
    color:#f97316;
    font-weight:600;
    margin-bottom:12px;
}

.destination-card{
    position:relative;
    display:block;
    border-radius:20px;
    overflow:hidden;
    height:360px;
    text-decoration:none;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.destination-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.destination-card:hover img{
    transform:scale(1.12);
}

.destination-card .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
        rgba(0,35,80,.9),
        rgba(0,0,0,.15));
}

.destination-card .content{
    position:absolute;
    left:25px;
    bottom:25px;
    color:#fff;
}

.destination-card .content i{
    width:55px;
    height:55px;
    line-height:55px;
    text-align:center;
    border-radius:50%;
    background:#f97316;
    font-size:22px;
    margin-bottom:15px;
}

.destination-card h5{
    margin:0;
    font-size:24px;
    font-weight:700;
}

.destinationSwiper{
    padding-bottom:50px;
}

.destinationSwiper .swiper-pagination-bullet{
    width:12px;
    height:12px;
}

.destinationSwiper .swiper-pagination-bullet-active{
    background:#f97316;
}.contact-section{
    background:#f5f9ff;
}

.contact-wrapper{
    border-radius:25px;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.12);
    background:#fff;
}

.contact-info{
    background:linear-gradient(135deg,#0056d6,#008cff);
    padding:70px 50px;
    height:100%;
    color:#fff;
}

.contact-tag{
    display:inline-block;
    padding:8px 18px;
    background:rgba(255,255,255,.15);
    border-radius:50px;
    margin-bottom:20px;
}

.contact-info h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
}

.contact-info p{
    color:rgba(255,255,255,.85);
    margin-bottom:40px;
}

.info-box{
    display:flex;
    gap:20px;
    margin-bottom:25px;
}

.info-box i{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#fff;
    color:#f97316;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    flex-shrink:0;
}

.info-box h6{
    margin-bottom:5px;
    font-weight:700;
}

.contact-form{
    padding:70px 50px;
}

.contact-form h3{
    font-size:34px;
    margin-bottom:35px;
    font-weight:700;
}

.custom-input{
    height:60px;
    border-radius:12px;
    border:1px solid #d9e5ff;
    padding:15px 20px;
    box-shadow:none;
}

textarea.custom-input{
    height:auto;
}

.custom-input:focus{
    border-color:#f97316;
    box-shadow:0 0 0 4px rgba(13,110,253,.15);
}

.submit-btn{
    border:none;
    padding:16px 40px;
    border-radius:50px;
    background:linear-gradient(135deg,#0056d6,#0099ff);
    color:#fff;
    font-size:18px;
    font-weight:600;
    transition:.4s;
}

.submit-btn:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(13,110,253,.35);
}

@media(max-width:991px){

.contact-info,
.contact-form{
    padding:40px 25px;
}

.contact-info h2{
    font-size:32px;
}

.contact-form h3{
    font-size:28px;
}

}.ticker-bar{
    width:100%;
    background:#f97316;
    color:#fff;
    overflow:hidden;
    height:45px;
    display:flex;
    align-items:center;
    z-index:9999;
}

.ticker-track{
    display:inline-flex;
    white-space:nowrap;
    animation:ticker 30s linear infinite;
}

.ticker-item{
    padding:0 50px;
    font-size:15px;
    font-weight:600;
}

@keyframes ticker{
    from{
        transform:translateX(100%);
    }
    to{
        transform:translateX(-100%);
    }
}/* Prevent Horizontal Scroll */
html,
body{
    width:100%;
    overflow-x:hidden;
    max-width:100%;
    margin:0;
    padding:0;
    scroll-behavior:smooth;
}

/* All sections */
section,
header,
footer{
    width:100%;
    overflow:hidden;
}

/* Images */
img{
    max-width:100%;
    height:auto;
    display:block;
}

/* Bootstrap Row Fix */
.row{
    --bs-gutter-x:1.5rem;
    margin-left:0;
    margin-right:0;
}

/* Prevent extra width */
.container,
.container-fluid{
    overflow:hidden;
}

/* Media */
video,
iframe,
canvas{
    max-width:100%;
}

/* Large elements */
*{
    box-sizing:border-box;
}
.service-icon{
    width:75px;
    height:75px;
    margin:0 auto 18px;
    border-radius:50%;
    background:linear-gradient(135deg,#0d6efd,#00b4ff);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
    box-shadow:0 12px 30px rgba(13,110,253,.25);
    transition:.4s;
}

.service-box:hover .service-icon{
    transform:rotateY(360deg) scale(1.08);
}

.feature-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
    transition:.3s;
}

.feature-item i{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#f97316;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}

.feature-item:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(13,110,253,.18);
}.logo-img{
    width: 80px;      /* apni requirement ke hisab se */
    height: 80px;
    object-fit: contain;
}

.service-box:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 45px rgba(0,123,255,.2);
}

.service-box:hover i{
    transform:rotateY(360deg);
}

.service-box h5{
    font-weight:700;
    color:#05264e;
    margin-bottom:10px;
}

.service-box p{
    color:#777;
    font-size:15px;
}

.about-bottom{
    display:flex;
    gap:15px;
    padding:18px 22px;
    background:#fff;
    border-left:5px solid #0077ff;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.about-bottom i{
    color:#0077ff;
    font-size:28px;
}

@keyframes float{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-10px);
    }
}

@media(max-width:991px){

.experience-badge{
left:15px;
top:15px;
width:90px;
height:90px;
}

.experience-badge span{
font-size:24px;
}

.floating-card{
position:relative;
right:0;
bottom:0;
margin-top:20px;
}

.about-section h2{
font-size:32px;
}

}.destination-section{
    background:#f7fbff;
}

.sub-title{
    display:inline-block;
    color:#f97316;
    font-weight:600;
    margin-bottom:12px;
}

.destination-card{
    position:relative;
    display:block;
    border-radius:20px;
    overflow:hidden;
    height:360px;
    text-decoration:none;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.destination-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.destination-card:hover img{
    transform:scale(1.12);
}

.destination-card .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
        rgba(0,35,80,.9),
        rgba(0,0,0,.15));
}

.destination-card .content{
    position:absolute;
    left:25px;
    bottom:25px;
    color:#fff;
}

.destination-card .content i{
    width:55px;
    height:55px;
    line-height:55px;
    text-align:center;
    border-radius:50%;
    background:#f97316;
    font-size:22px;
    margin-bottom:15px;
}

.destination-card h5{
    margin:0;
    font-size:24px;
    font-weight:700;
}

.destinationSwiper{
    padding-bottom:50px;
}

.destinationSwiper .swiper-pagination-bullet{
    width:12px;
    height:12px;
}

.destinationSwiper .swiper-pagination-bullet-active{
    background:#f97316;
}
.footer-area{
    background:#061a40;
    color:#cfd9ef;
    padding:80px 0 25px;
    position:relative;
}

.footer-area::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background: linear-gradient(90deg, #f97316, #f97316, #f97316);
}

.footer-logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:30px;
    font-weight:700;
}

.footer-logo i{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#f97316;
    display:flex;
    align-items:center;
    justify-content:center;
}

.footer-text{
    line-height:1.9;
    color:#bfcbe5;
}

.footer-area h5{
    color:#fff;
    margin-bottom:25px;
    font-weight:700;
    position:relative;
}

.footer-area h5::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:45px;
    height:3px;
    background: #f97316;
}

.footer-area ul{
    padding:0;
    margin:0;
    list-style:none;
}

.footer-area ul li{
    margin-bottom:14px;
}

.footer-area ul li a{
    color:#cfd9ef;
    text-decoration:none;
    transition:.3s;
}

.footer-area ul li a:hover{
    color:#f97316;
    padding-left:8px;
}

.contact-box{
    display:flex;
    gap:15px;
    margin-bottom:20px;
}

.contact-box i{
    width:45px;
    height:45px;
    background: #f97316;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex-shrink:0;
}

.footer-social{
    display:flex;
    gap:15px;
}

.footer-social a{
    width:45px;
    height:45px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition:.4s;
}

.footer-social a:hover{
    background:#f97316;
    transform:translateY(-6px);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    padding-top:20px;
    color:#9db2d6;
}

.footer-bottom p{
    margin:0;
}

.footer-area hr{
    border-color:rgba(255,255,255,.1);
    margin:45px 0 20px;
}

@media(max-width:768px){

.footer-bottom{
    text-align:center;
    justify-content:center;
    gap:10px;
}

.footer-logo{
    font-size:24px;
}

}.ticker-track span i{
    margin-right:8px;
    color:#FFD54F;
    font-size:15px;
}

.ticker-track span::after{
    content:"";
    color:#FFD54F;
    margin-left:28px;
    font-size:18px;
}/*==============================
 Premium Top Ticker
==============================*/

.ticker-bar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:42px;
    overflow:hidden;
    z-index:9999;

    background:linear-gradient(90deg,
        #0f4cdb 0%,
        #2563eb 30%,
        #3b82f6 60%,
        #1d4ed8 100%);

    border-bottom:1px solid rgba(255,255,255,.15);

    box-shadow:0 6px 20px rgba(37,99,235,.35);
}

.ticker-track{
    display:flex;
    align-items:center;
    width:max-content;
    height:100%;
    white-space:nowrap;
    animation:tickerMove 15s linear infinite;
}

.ticker-track span{
    display:flex;
    align-items:center;
    color:#fff;
    font-size:14px;
    font-weight:600;
    margin-right:45px;
    letter-spacing:.3px;
}

.ticker-track span i{
    color:#FFD54F;
    margin-right:8px;
    font-size:15px;
}

/* Separator */

.ticker-track span::after{
    content:"";
    color:#7DD3FC;
    margin-left:22px;
    font-size:9px;
}

/* Fast Animation */

@keyframes tickerMove{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

/* Pause on Hover */

.ticker-bar:hover .ticker-track{
    animation-play-state:paused;
}

/* Mobile Hide */

@media (max-width:768px){
    .ticker-bar{
        display:none;
    }
    .navbar-custom

 {
    top: 0px !important; 
}
}.hero-slide{
    position:relative;
    height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.hero-slide img{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-slide .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
        rgba(0,0,0,.72),
        rgba(0,0,0,.35),
        rgba(0,0,0,.2));
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
    color:#fff;
}

.hero-content h1{
    font-size:60px;
    font-weight:800;
}

.hero-content h1 span{
    color:#FFD54F;
}

.hero-content p{
    font-size:18px;
    margin-top:20px;
}

.hero-btns{
    display:flex;
    gap:15px;
    margin-top:35px;
    flex-wrap:wrap;
}

.hero-btns a{
    padding:14px 30px;
    border-radius:50px;
    text-decoration:none;
}

.swiper-button-next,
.swiper-button-prev{
    color:#fff;
}

.swiper-pagination-bullet{
    background:#fff;
    opacity:.6;
}

.swiper-pagination-bullet-active{
    opacity:1;
    background:#FFD54F;
}

@media(max-width:768px){

.hero-slide{
    height:80vh;
}

.hero-content h1{
    font-size:38px;
}

.hero-content p{
    font-size:16px;
}

}/* Navigation Buttons */
.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{
    width:55px;
    height:55px;
    border-radius:50%;
    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    transition:.35s ease;
}

/* Arrow Size */
.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after{
    font-size:20px;
    font-weight:700;
}

/* Hover Effect */
.heroSwiper .swiper-button-next:hover,
.heroSwiper .swiper-button-prev:hover{
    background:#ffb703;
    color:#111;
    transform:scale(1.08);
    box-shadow:0 10px 30px rgba(255,183,3,.35);
}

/* Position */
.heroSwiper .swiper-button-prev{
    left:30px;
}

.heroSwiper .swiper-button-next{
    right:30px;
}

/* Mobile */
@media (max-width:768px){

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{
    width:42px;
    height:42px;
}

.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after{
    font-size:16px;
}

.heroSwiper .swiper-button-prev{
    left:10px;
}

.heroSwiper .swiper-button-next{
    right:10px;
}

}:root{
  --blue: #f97316;
  --blue-dark: #c2410c;
  --ink: #241708;
  --gray: #8a7a68;
  --line: #fde9cc;
  --bg: #fff8ec;
  --orange: #fbbf24;
  --orange-dark: #d97706;
  --mint: #fb923c;
  --card-radius: 18px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  width: 100%;
  height: 100%;
  margin: 0px;
  background:
    radial-gradient(900px 500px at 8% 0%, rgba(249,115,22,0.09), transparent 60%),
    radial-gradient(900px 550px at 95% 15%, rgba(251,191,36,0.10), transparent 60%),
    radial-gradient(800px 500px at 50% 100%, rgba(194,65,12,0.07), transparent 60%),
    #fffaf2;
  overflow-x:hidden;
}
section{ padding:88px 0; }
@media (max-width: 767px){
  section{ padding:56px 0; }
}
h1,h2,h3,h4,h5,.display-font{ font-family:'Sora', sans-serif; letter-spacing:-.01em; }
a{ text-decoration:none; }
.text-blue{ color:var(--blue); }
.bg-soft{
  background:
    radial-gradient(700px 400px at 90% 0%, rgba(249,115,22,0.07), transparent 65%),
    radial-gradient(700px 400px at 0% 100%, rgba(251,191,36,0.07), transparent 65%),
    var(--bg);
}
.pill{
  border-radius:100px;
}
.eyebrow{
  color:var(--orange-dark);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:"";
  width:8px; height:8px;
  border-radius:50%;
  background:var(--orange);
  display:inline-block;
}
.section-title{
  font-weight:700;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  margin:8px 0 6px;
}
.section-sub{ color:var(--gray); max-width:560px; }

/* ---------- NAV ---------- */
.navbar-custom{
  background:#fff;
  padding:14px 0;
  box-shadow:0 1px 0 var(--line);
  transition:.25s;
}
.brand-logo{
  display:flex; align-items:center; gap:10px;
}
.brand-logo .mark{
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.3rem;
}
.brand-logo .txt{
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:1.15rem;
  line-height:1.1;
  color:var(--ink);
}
.brand-logo .txt small{
  display:block; font-family:'Inter',sans-serif;
  font-weight:500; font-size:.68rem; color:var(--gray); letter-spacing:.3px;
}
.navbar-custom .nav-link{
  color:var(--ink) !important;
  font-weight:600;
  font-size:.92rem;
  margin:0 6px;
}
.navbar-custom .nav-link:hover{ color:var(--blue) !important; }
.btn-call{
  border:1.5px solid var(--line);
  color:var(--ink);
  font-weight:600;
  font-size:.88rem;
  padding:9px 18px;
}
.btn-call i{ color:var(--blue); }
.btn-cta{
  background:linear-gradient(135deg, var(--blue), var(--orange));
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  padding:10px 22px;
  border:none;
}
.btn-cta:hover{ background:linear-gradient(135deg, var(--blue-dark), var(--orange-dark)); color:#fff; box-shadow:0 10px 24px -6px rgba(251,191,36,.5); transform:translateY(-2px); }

.navbar-custom .nav-link{ position:relative; padding:8px 4px; }
.navbar-custom .nav-link::after{
  content:""; position:absolute; left:4px; right:4px; bottom:2px; height:2px;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.navbar-custom .nav-link:hover::after{ transform:scaleX(1); }

/* ---------- MOBILE HAMBURGER ---------- */
.hamburger-btn{
  width:42px; height:42px; border-radius:10px; border:1.5px solid var(--line);
  background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.hamburger-btn span{ width:20px; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.hamburger-btn:hover{ border-color:var(--blue); }
.hamburger-btn:hover span{ background:var(--blue); }

/* ---------- SIDEBAR (OFFCANVAS) ---------- */
.sidebar-panel{
  width:300px;
  background:linear-gradient(180deg, var(--blue-dark), var(--ink));
  color:#fff;
  border:none;
}
.sidebar-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px; border-bottom:1px solid rgba(255,255,255,.12);
}
.sidebar-head .txt small{ color:rgba(255,255,255,.7); }
.sidebar-links{ margin:20px 0 0; padding:0; }
.sidebar-links li + li{ margin-top:4px; }
.sidebar-links a{
  display:flex; align-items:center; gap:12px;
  padding:13px 14px; border-radius:12px;
  color:rgba(255,255,255,.85); font-weight:600; font-size:.95rem;
  transition:.2s;
}
.sidebar-links a i{ font-size:1.05rem; color:var(--orange); width:20px; }
.sidebar-links a:hover{ background:rgba(255,255,255,.08); color:#fff; padding-left:18px; }
.btn-sidebar-wa{
  background:#f97316; color:#fff; font-weight:700; padding:11px 0; font-size:.92rem; border:none;
}
.btn-sidebar-wa:hover{ background:#c2410c; color:#fff; }

/* ---------- TICKER ---------- */
.ticker-bar{
  position:fixed; top:0; left:0; right:0; z-index:1029;
  margin-top:0;
  background:var(--ink); overflow:hidden; padding:7px 0;
}
.ticker-track{
  display:flex; white-space:nowrap; width:max-content;
  animation:tickerScroll 26s linear infinite;
}
.ticker-item{
  color:rgba(255,255,255,.85); font-weight:600; font-size:.78rem;
  padding:0 22px; display:flex; align-items:center; gap:8px;
  text-transform:uppercase; letter-spacing:.5px;
}
.ticker-item i{ color:var(--orange); font-size:.65rem; }
@keyframes tickerScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.navbar-custom{ top:34px; }
.navbar-custom.is-scrolled{ padding:9px 0; box-shadow:0 6px 20px -10px rgba(40,26,12,.25); }
.navbar-custom.is-scrolled .mark{ width:36px; height:36px; font-size:1.1rem; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:200px 0 110px;
  overflow:hidden;
  min-height:640px;
  display:flex;
  align-items:center;
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
}
.hero-bg img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.08);
  animation:heroKenBurns 16s ease-in-out infinite alternate;
}
@keyframes heroKenBurns{
  0%{ transform:scale(1.08) translate(0,0); }
  100%{ transform:scale(1.16) translate(-1%,-1%); }
}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(26,17,7,.88) 0%, rgba(26,17,7,.72) 38%, rgba(38,20,6,.42) 62%, rgba(38,20,6,.2) 100%),
    linear-gradient(0deg, rgba(18,12,4,.55), transparent 45%);
}
.hero .blob{
  position:absolute; top:-120px; right:-120px;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(251,191,36,.28), transparent 70%);
  animation:blobPulse 7s ease-in-out infinite;
  z-index:1;
}
@keyframes blobPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.12); opacity:.85; }
}
/* signature element: animated flight route across the hero */
.flight-route{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:2;
}
.flight-route path{
  fill:none; stroke:#ffe3b0; stroke-width:2; stroke-dasharray:8 10; opacity:.4;
}
.flight-plane{
  offset-rotate:auto; animation:flyRoute 9s linear infinite;
}
@keyframes flyRoute{
  0%{ offset-distance:0%; opacity:0; }
  6%{ opacity:1; }
  94%{ opacity:1; }
  100%{ offset-distance:100%; opacity:0; }
}
.hero-dot{
  fill:var(--orange);
}
.hero-dot.pulse{ animation:dotPulse 2.4s ease-in-out infinite; transform-origin:center; }
@keyframes dotPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.8); opacity:.35; }
}
.hero .container{ position:relative; z-index:3; }
.hero h1, .hero p.lead-text, .hero .eyebrow, .hero .rating-chip{ color:#fff; }
.hero .eyebrow{ color:#ffe3b0; }
.hero .eyebrow::before{ background:var(--orange); box-shadow:0 0 0 4px rgba(251,191,36,.25); }
.hero p.lead-text{ color:rgba(255,255,255,.85); max-width:560px; }
.hero h1 span{
  background:linear-gradient(90deg, #ffe3b0, #fff);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero h1 span::after{ background:rgba(251,191,36,.35); }
.hero .rating-chip{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:8px 14px; border-radius:100px; backdrop-filter:blur(6px); }
.hero .rating-chip i{ color:#ffb400; }
.hero .btn-call{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(6px); }
.hero .btn-call:hover{ background:rgba(255,255,255,.2); color:#fff; }
.hero h1{
  font-weight:800;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  line-height:1.12;
}
.hero h1 span{
  background:linear-gradient(90deg, var(--blue), var(--mint));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative;
}
.hero h1 span::after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:10px; z-index:-1;
  background:rgba(251,191,36,.22); border-radius:6px;
}
.hero p.lead-text{/* color:var(--gray); */font-size:1.08rem;max-width:480px;}
.rating-row{ display:flex; gap:22px; flex-wrap:wrap; margin-top:28px; }
.rating-chip{
  display:flex; align-items:center; gap:8px;
  font-size:.85rem; font-weight:600; color:var(--ink);
}
.rating-chip i{ color:#ffb400; }
.hero-stat-chip{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  border-radius:14px;
  padding:14px 18px;
  display:flex; align-items:center; gap:12px;
  transition:transform .25s ease, background .25s ease;
}
.hero-stat-chip:hover{ transform:translateY(-4px); background:rgba(255,255,255,.16); }
.hero-stat-chip .ic{
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem; flex:0 0 auto;
}
.hero-stat-chip .ic.blue{ background:var(--blue); }
.hero-stat-chip .ic.mint{ background:var(--mint); }
.hero-stat-chip .t{ font-weight:700; font-size:.88rem; line-height:1.1; color:#fff; }
.hero-stat-chip .s{ font-size:.74rem; color:rgba(255,255,255,.75); }

/* ---------- ABOUT US ---------- */
.about-photo-wrap{ position:relative; border-radius:var(--card-radius); overflow:hidden; box-shadow:0 30px 60px -24px rgba(40,26,12,.28); }
.about-photo-wrap img{ width:100%; display:block; height:420px; object-fit:cover; }
.est-badge{
  position:absolute; bottom:18px; left:18px;
  background:linear-gradient(135deg, var(--blue), var(--orange)); color:#fff; font-weight:700; font-size:.82rem;
  padding:8px 18px; border-radius:100px;
}
.about-stat{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 14px; height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.about-stat:hover{ transform:translateY(-4px); box-shadow:0 14px 26px -14px rgba(249,115,22,.35); border-color:var(--blue); }
.about-stat .num{ font-family:'Sora',sans-serif; font-weight:800; font-size:1.35rem; color:var(--blue); }
.about-stat .lbl{ font-size:.72rem; color:var(--gray); text-transform:uppercase; letter-spacing:.5px; font-weight:600; }

/* ---------- CIRCLE DESTINATIONS SCROLLER ---------- */
.circle-scroller{
  display:flex; gap:26px; overflow-x:auto; padding:10px 4px 20px;
  scrollbar-width:none;
}
.circle-scroller::-webkit-scrollbar{ display:none; }
.circle-item{
  flex:0 0 auto; text-align:center; width:96px;
}
.circle-item .circ{
  width:88px; height:88px; border-radius:50%;
  overflow:hidden; border:3px solid #fff;
  box-shadow:0 8px 20px rgba(40,26,12,.14);
  transition:.25s;
}
.circle-item:hover .circ{ transform:translateY(-6px); box-shadow:0 14px 26px rgba(249,115,22,.25); }
.circle-item img{ width:100%; height:100%; object-fit:cover; }
.circle-item span{
  display:block; margin-top:10px; font-size:.82rem; font-weight:600;
}

/* ---------- PROMO BANNER SCROLLER ---------- */
.promo-scroller{
  display:flex; gap:20px; overflow-x:auto; padding:6px 4px 20px;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.promo-scroller::-webkit-scrollbar{ display:none; }
.slider-arrows{ display:flex; gap:10px; }
.slider-arrow{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--line); background:#fff; color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition:.2s;
}
.slider-arrow:hover{ background:var(--blue); border-color:var(--blue); color:#fff; }
.slider-dots{ display:flex; gap:8px; justify-content:center; margin-top:6px; }
.slider-dots .dot{
  width:8px; height:8px; border-radius:50%; background:var(--line); cursor:pointer; transition:.2s;
}
.slider-dots .dot.active{ background:var(--blue); width:22px; border-radius:5px; }


/* ---------- TRIP CARDS ---------- */
.trip-card{
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  overflow:hidden;
  background:#fff;
  height:100%;
  transition:.25s;
}
.trip-card:hover{ box-shadow:0 20px 40px -18px rgba(40,26,12,.2); transform:translateY(-4px); }
.trip-card .imgwrap{ position:relative; height:190px; overflow:hidden; }
.trip-card .imgwrap img{ width:100%; height:100%; object-fit:cover; transition:.5s; }
.trip-card:hover .imgwrap img{ transform:scale(1.08); }
.trip-card .tag{
  position:absolute; top:12px; left:12px;
  background:#fff; color:var(--blue); font-weight:700; font-size:.72rem;
  padding:5px 12px; border-radius:100px;
}
.trip-card .body{ padding:18px 18px 20px; }
.trip-card h5{ font-weight:700; margin-bottom:4px; }
.trip-card .meta{ color:var(--gray); font-size:.82rem; margin-bottom:12px; }
.trip-card .price-row{ display:flex; align-items:baseline; gap:8px; }
.trip-card .price-row .old{ text-decoration:line-through; color:var(--gray); font-size:.85rem; }
.trip-card .price-row .new{ color:var(--ink); font-weight:800; font-size:1.15rem; }
.trip-card .price-row .lbl{ font-size:.72rem; color:var(--gray); }

/* ---------- DATE TABS (Pilgrim season) ---------- */
.tab-scroller{
  display:flex; gap:10px; overflow-x:auto; padding-bottom:14px; scrollbar-width:none;
}
.tab-scroller::-webkit-scrollbar{ display:none; }
.tab-chip{
  flex:0 0 auto;
  border:1.5px solid var(--line);
  padding:9px 20px;
  border-radius:100px;
  font-weight:600;
  font-size:.85rem;
  color:var(--ink);
  cursor:pointer;
  transition:.2s;
}
.tab-chip.active, .tab-chip:hover{
  background:var(--blue); color:#fff; border-color:var(--blue);
}

/* ---------- WHY US ---------- */
.why-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--card-radius);
  padding:28px 24px;
  height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.why-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -20px rgba(249,115,22,.3);
  border-color:rgba(249,115,22,.3);
}
.why-card:hover .num{ color:rgba(249,115,22,.32); }
.why-card .num{ transition:color .3s ease; }
.why-card .num{
  font-family:'Sora',sans-serif; font-weight:800; font-size:2.4rem;
  color:rgba(249,115,22,0.15);
  line-height:1;
}
.why-card h5{ font-weight:700; margin:10px 0 8px; }
.why-card p{ color:var(--gray); font-size:.9rem; margin:0; }

/* ---------- GALLERY ---------- */
.gal-item{
  border-radius:14px; overflow:hidden; position:relative; height:220px;
}
.gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gal-item:hover img{ transform:scale(1.12) rotate(.5deg); }
.gal-item .cap{
  position:absolute; left:12px; bottom:10px; color:#fff; font-weight:700; z-index:2; font-size:.9rem;
  transform:translateY(6px); opacity:.92; transition:.35s ease;
}
.gal-item:hover .cap{ transform:translateY(0); opacity:1; }
.gal-item::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(30,18,8,.7), transparent 55%);
  transition:.35s ease;
}
.gal-item:hover::before{ background:linear-gradient(0deg, rgba(120,50,9,.78), transparent 60%); }

/* ---------- CONTACT ---------- */
.contact-wrap{
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  border-radius:28px;
  overflow:hidden;
  color:#fff;
}
.contact-form-card{
  background:#fff; border-radius:20px; padding:30px; color:var(--ink);
  box-shadow:0 30px 60px -20px rgba(40,26,12,.35);
}
.form-control-x{
  border-radius:10px; border:1.5px solid var(--line); padding:12px 14px;
}
.form-control-x:focus{ border-color:var(--blue); box-shadow:none; }

/* ---------- FOOTER ---------- */
footer{
  background:var(--ink);
  color:rgba(255,255,255,.65);
  padding:60px 0 24px;
  font-size:.9rem;
}
footer h6{ color:#fff; font-weight:700; margin-bottom:16px; font-size:.9rem; text-transform:uppercase; letter-spacing:.5px; }
footer a{ color:rgba(255,255,255,.65); }
footer a:hover{ color:var(--orange); }
footer .foot-line{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px; }
.social-ic{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:#fff; margin-right:8px;
}
.social-ic:hover{ background:var(--orange); }

/* ---------- FLOATING BUTTONS ---------- */
.fab-stack{ position:fixed; right:20px; bottom:20px; z-index:999; display:flex; flex-direction:column; gap:12px; }
.fab{
  width:54px;
  height:54px;
  border-radius:50%;
  /* display:flex; */
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.4rem;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  display: flex!important;
}
.fab.wa{ background:#f97316; }
.fab.call{ background:var(--blue); animation:pulseB 2.2s infinite; }
@keyframes pulseB{
  0%{ box-shadow:0 0 0 0 rgba(249,115,22,.5); }
  70%{ box-shadow:0 0 0 14px rgba(249,115,22,0); }
  100%{ box-shadow:0 0 0 0 rgba(249,115,22,0); }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .fab.call{ animation:none; }
  .float-card{ animation:none; }
  .ticker-track{ animation:none; }
  .blob{ animation:none; }
  .hero-bg img{ animation:none; }
  .flight-plane{ animation:none; }
  .hero-dot.pulse{ animation:none; }
  .gal-item img, .promo-card img, .trip-card .imgwrap img{ transition:none; }
}
@media (max-width: 767px){
  .hero{padding:140px 0 60px;min-height:auto;}
  .ticker-item{ font-size:.68rem; padding:0 14px; }
  .hero-stat-chip{ width:100%; }
  .about-photo-wrap img{ height:280px; }
  .est-badge{ font-size:.74rem; padding:6px 14px; bottom:12px; left:12px; }
  .promo-card{ flex-basis:82vw; height:170px; }
  .contact-wrap{ border-radius:20px; }
  .contact-form-card{ padding:22px; border-radius:16px; }
  .sidebar-panel{ width:82vw; }
  .why-card{ padding:22px 18px; }
  .about-stat{ padding:14px 10px; }
  .about-stat .num{ font-size:1.1rem; }
  .section-sub{ max-width:100%; }
  .rating-row{ gap:14px; row-gap:8px; }
  .fab-stack{ right:14px; bottom:14px; }
  .fab{ width:48px; height:48px; font-size:1.2rem; }
}
@media (max-width: 400px){
  .hero h1{ font-size:1.9rem; }
  .brand-logo .txt{ font-size:1rem; }
  .brand-logo .mark{ width:36px; height:36px; font-size:1.1rem; }
  .ticker-item{ font-size:.62rem; padding:0 11px; }
}.destination-section{
    padding:40px 0;
}

.sub-title{
    color:#ea580c;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
}

.destination-section h2{
    font-size: 40px;
    font-weight:700;
    margin:10px 0;
    color:#241708;
}

.destination-section p{
    color:#8a7a68;
    margin-bottom:45px;
    font-size:18px;
}.promo-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    height:420px;
}

.promo-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.8),transparent);
}

.promo-content{
    position:absolute;
    bottom:25px;
    left:25px;
    color:#fff;
    z-index:2;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.slider-arrow{
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:#f97316;
    color:#fff;
}

.promo-card:hover{
    transform:translateY(-8px);
}

.promo-image{
    position:relative;
    height: 300px;;
    overflow:hidden;
}

.promo-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.promo-card:hover img{
    transform:scale(1.08);
}

.promo-tag{
    position:absolute;
    top:15px;
    left:15px;
    background:#fb923c;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.promo-details{
    padding:22px;
}

.route{
    color:#f97316;
    font-weight:700;
    letter-spacing:1px;
}

.promo-details h4{
    margin:10px 0;
    font-size:23px;
    font-weight:700;
}

.package-info{
    color:#7a6a54;
    margin-bottom:8px;
    font-size:15px;
}

.package-info i{
    color:#f97316;
    margin-right:6px;
}

.price-area{
    margin:18px 0;
}

.old-price{
    color:#b8a68c;
    text-decoration:line-through;
    font-size:18px;
    margin-right:10px;
}

.new-price{
    color:#f97316;
    font-size:30px;
    font-weight:700;
}

.price-area small{
    display:block;
    color:#7a6a54;
}

.promo-btns{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.btn-view,
.btn-enquiry{
    flex:1;
    text-align:center;
    padding:12px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
}

.btn-view{
    background:#f97316;
    color:#fff;
}

.btn-enquiry{
    border:2px solid #f97316;
    color:#f97316;
}

.btn-enquiry:hover{
    background:#f97316;
    color:#fff;
}

.destination-slider{
    display:flex;
    gap:28px;
    overflow-x:auto;
    padding-bottom:15px;
    scrollbar-width:none;
}

.destination-slider::-webkit-scrollbar{
    display:none;
}

.destination-item{
    min-width:145px;
    text-align:center;
    text-decoration:none;
}

.destination-img{
    width:140px;
    height:140px;
    border-radius:50%;
    padding:5px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.15);
    transition:.4s;
}

.destination-img img{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
}

.destination-item h5{
    margin-top:18px;
    color:#241708;
    font-size:21px;
    font-weight:600;
}

.destination-item:hover .destination-img{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.22);
}/* ==========================
   Trending Section
========================== */

.trending-section{
    background:#fff8ec;
}

.trend-subtitle{
    color:#ea580c;
    font-size:14px;
    font-weight:600;
    margin-bottom:5px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.trend-title{
    font-size:34px;
    font-weight:700;
    margin:0;
}

/* ==========================
   Arrow Buttons
========================== */

.trend-arrow{
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#3a2a12;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    transition:.3s;
    margin-left:10px;
}

.trend-arrow:hover{
    background:#f97316;
    color:#fff;
}

/* ==========================
   Travel Card
========================== */

.travel-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
}

.travel-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

/* ==========================
   Image
========================== */

.travel-img{
    position:relative;
    overflow:hidden;
}

.travel-img img{
    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;
    display:block;
}

.travel-card:hover .travel-img img{
    transform:scale(1.08);
}

.travel-badge{
    position:absolute;
    top:15px;
    left:15px;
    background:#fb923c;
    color:#fff;
    padding:6px 14px;
    border-radius:30px;
    font-size:12px;
    font-weight:600;
}

/* ==========================
   Content
========================== */

.travel-content{
    padding:20px;
}

.travel-route{
    color:#f97316;
    font-weight:600;
    display:block;
    margin-bottom:10px;
}

.travel-content h4{
    font-size:22px;
    font-weight:700;
    margin-bottom:15px;
}

.travel-content p{
    margin-bottom:10px;
    color:#7a6a54;
    font-size:15px;
}

.travel-content p i{
    color:#f97316;
    margin-right:6px;
}




/* ---------- Route dots motif (signature element) ---------- */
.route-dots{
  display:flex;
  align-items:center;
  gap:6px;
}
.route-dots span{
  width:5px; height:5px; border-radius:50%;
  background:var(--marigold);
  opacity:.55;
}
.route-dots span:nth-child(3n){ opacity:1; background:var(--terracotta); }

/* ---------- Breadcrumb / Page header ---------- */
.page-header{
  position:relative;
  background:
    linear-gradient(180deg, rgba(14,36,56,.82) 0%, rgba(14,36,56,.72) 100%),
    url('img/breadcrumb.jpeg') center/cover no-repeat;
  padding: 162px 0 64px;
  color:#fff;
  overflow:hidden;
}
.page-header::after{
  content:"";
  position:absolute;
  right:-60px; top:-60px;
  width:260px; height:260px;
  border:1px solid rgba(232,163,61,.35);
  border-radius:50%;
}
.page-header .eyebrow{
  color:var(--marigold);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
  display:flex;
  align-items:center;
  gap:10px;
}
.page-header h1{
  color:#fff;
  font-size: clamp(2.1rem, 4vw, 2.1rem);
  font-weight:600;
  margin:14px 0 18px;
}
.breadcrumb-trail{
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0; margin:0;
  font-size:.92rem;
}
.breadcrumb-trail li{ display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.65); }
.breadcrumb-trail a{ color:rgba(255,255,255,.88); }
.breadcrumb-trail a:hover{ color:var(--marigold); }
.breadcrumb-trail li:not(:last-child)::after{
  content:"/";
  color:var(--marigold);
  margin-left:10px;
}
.breadcrumb-trail li:last-child{ color:var(--marigold); font-weight:500; }

/* ---------- Section shared ---------- */
section{ padding:88px 0; }
.section-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(232,163,61,.14);
  color:var(--terracotta);
  border:1px solid rgba(193,80,46,.25);
  padding:6px 16px;
  border-radius:30px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}

/* ---------- About Us ---------- */
.about-section{ background:var(--ivory); }
.about-image-wrap{
  position:relative;
  border-radius:14px;
  overflow:hidden;
}
.about-image-wrap img{
  width:100%; height:100%;
  object-fit:cover;
  min-height:420px;
  display:block;
}
.about-stat-card{
  position:absolute;
  left:24px; bottom:24px;
  background:#fff;
  border-radius:12px;
  padding:18px 22px;
  box-shadow:0 18px 38px rgba(14,36,56,.18);
  display:flex;
  align-items:center;
  gap:14px;
}
.about-stat-card .num{
 
  font-size:1.9rem;
  color:var(--terracotta);
  font-weight:600;
  line-height:1;
}
.about-stat-card .lbl{ font-size:.8rem; color:var(--muted); line-height:1.2; }

.about-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--terracotta);
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.about-tag i{ color:var(--marigold); }

.service-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-box:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(14,36,56,.09);
  border-color:transparent;
}
.service-icon{
  width:46px; height:46px;
  border-radius:10px;
  background:var(--sand);
  color:var(--terracotta);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem;
  margin-bottom:14px;
}
.service-box h5{ font-size:1.02rem; margin-bottom:6px; }
.service-box p{ font-size:.9rem; color:var(--muted); margin:0; }

.about-bottom{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:var(--indigo);
  color:#fff;
  border-radius:12px;
  padding:18px 20px;
}
.about-bottom i{ color:var(--marigold); margin-top:3px; }
.about-bottom span{ font-size:.92rem; color:rgba(255,255,255,.88); }

/* ---------- Section eyebrow underline ---------- */
.section-tag-wrap{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.tag-rule{
  width:56px; height:2px;
  background:linear-gradient(90deg, var(--marigold), var(--terracotta));
  border-radius:2px;
}

/* ---------- Why Choose Us ---------- */
.why-section{
  background:var(--indigo-deep);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.why-section::before{
  content:"";
  position:absolute;
  width:420px; height:420px;
  border:1px solid rgba(232,163,61,.12);
  border-radius:50%;
  top:-180px; left:-140px;
}
.why-section::after{
  content:"";
  position:absolute;
  width:280px; height:280px;
  border:1px solid rgba(232,163,61,.1);
  border-radius:50%;
  bottom:-140px; right:-90px;
}
.why-section .section-tag{
  background:rgba(232,163,61,.12);
  color:var(--marigold);
  border-color:rgba(232,163,61,.3);
}
.why-section h2{ color:#fff; }
.why-section .lead-text{ color:rgba(255,255,255,.65); max-width:560px; }

.why-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:30px 24px;
  height:100%;
  position:relative;
  z-index:1;
  transition:transform .3s ease, background .3s ease, border-color .3s ease;
}
.why-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.07);
  border-color:rgba(232,163,61,.4);
}
.why-icon-circle{
  width:52px; height:52px;
  border-radius:50%;
  background:rgba(232,163,61,.12);
  border:1px solid rgba(232,163,61,.3);
  display:flex; align-items:center; justify-content:center;
  color:var(--marigold);
  font-size:1.15rem;
  margin-bottom:18px;
  transition:background .3s ease;
}
.why-card:hover .why-icon-circle{ background:var(--marigold); color:var(--indigo-deep); }
.why-card .why-index{
  position:absolute;
  top:22px; right:24px;
 
  color:rgba(255,255,255,.14);
  font-size:2.1rem;
  font-weight:600;
  line-height:1;
}
.why-card h5{ color:#fff; font-size:1.05rem; margin-bottom:10px; }
.why-card p{ color:rgba(255,255,255,.62); font-size:.9rem; margin:0; line-height:1.6; }

/* ---------- Testimonials Slider ---------- */
.testimonial-section{ background:var(--sand); position:relative; overflow:hidden; }
.testimonial-section::before{
  content:"\201C";
 
  position:absolute;
  top:-60px; left:50%;
  transform:translateX(-50%);
  font-size:22rem;
  line-height:1;
  color:rgba(193,80,46,.05);
  pointer-events:none;
  user-select:none;
}

.t-slider{ position:relative; max-width:1180px; margin:0 auto; }
.t-viewport{ overflow:hidden; }
.t-track{
  display:flex;
  transition:transform .55s cubic-bezier(.65,0,.35,1);
}
.t-slide{
  flex:0 0 33.3333%;
  padding:6px 12px 6px;
}
@media (max-width: 991px){ .t-slide{ flex:0 0 50%; } }
@media (max-width: 640px){ .t-slide{ flex:0 0 100%; } }

.testimonial-card{
  background:#fff;
  border-radius:14px;
  padding:28px;
  height:100%;
  position:relative;
  border:1px solid var(--line);
  transition:box-shadow .3s ease, transform .3s ease;
}
.testimonial-card:hover{
  box-shadow:0 20px 40px rgba(14,36,56,.1);
  transform:translateY(-4px);
}
.testimonial-card .quote-mark{
 
  font-size:3rem;
  color:var(--marigold);
  line-height:1;
  opacity:.6;
  margin-bottom:6px;
}
.testimonial-card p.quote{
  font-size:.94rem;
  color:var(--ink);
  line-height:1.65;
  margin-bottom:22px;
  min-height:132px;
}
.testimonial-author{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:16px;
  border-top:1px dashed var(--line);
}
.testimonial-author img{
  width:46px; height:46px;
  border-radius:50%;
  object-fit:cover;
}
.testimonial-author .name{ font-weight:600; font-size:.92rem; color:var(--indigo-deep); }
.testimonial-author .place{ font-size:.78rem; color:var(--muted); }
.testimonial-author .stars{ color:var(--marigold); font-size:.75rem; margin-top:2px; }

/* Controls */
.t-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin-top:36px;
}
.t-arrow{
  width:44px; height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--indigo-deep);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
  flex:none;
}
.t-arrow:hover{ background:var(--terracotta); color:#fff; border-color:var(--terracotta); }
.t-dots{ display:flex; gap:8px; }
.t-dot{
  width:8px; height:8px;
  border-radius:50%;
  background:var(--line);
  cursor:pointer;
  transition:all .25s ease;
}
.t-dot.active{ background:var(--terracotta); width:22px; border-radius:5px; }

/* CTA strip */
.cta-strip{
  background:var(--terracotta);
  color:#fff;
  text-align:center;
  padding:56px 0;
}
.cta-strip h3{ color:#fff; margin-bottom:14px; }
.cta-strip .btn-outline-light{ border-radius:30px; padding:10px 30px; font-weight:600; }

@media (max-width: 991px){
  .about-image-wrap img{ min-height:280px; }
  section{ padding:60px 0; }
}
/* ---------- Section ---------- */
.trips-section{ padding:80px 0 90px; }

.section-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(232,163,61,.14);
  color:var(--terracotta);
  border:1px solid rgba(193,80,46,.25);
  padding:6px 16px;
  border-radius:30px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.trips-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:40px;
}
.trips-head h2{ font-size:2rem; margin:10px 0 0; }
.trips-count{ color:var(--muted); font-size:.92rem; margin-top:8px; }

/* Sort / filter bar */
.filter-bar{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.filter-bar select{
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:8px;
  padding:9px 14px;
  font-size:.88rem;

}
.filter-bar select:focus{ outline:2px solid rgba(232,163,61,.4); }

/* ---------- Trip card ---------- */
.travel-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.travel-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(14,36,56,.12);
}

.travel-img{
  position:relative;
  height:210px;
  overflow:hidden;
}
.travel-img img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.travel-card:hover .travel-img img{ transform:scale(1.06); }

.travel-badge{
  position:absolute;
  top:14px; left:14px;
  background:var(--terracotta);
  color:#fff;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.03em;
  padding:5px 12px;
  border-radius:20px;
}

.travel-duration-tag{
  position:absolute;
  top:14px; right:14px;
  background:rgba(14,36,56,.75);
  backdrop-filter:blur(2px);
  color:#fff;
  font-size:.72rem;
  font-weight:600;
  padding:5px 12px;
  border-radius:20px;
}

.travel-content{
  padding:20px 22px 22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.travel-route{
  color:var(--terracotta);
  font-weight:600;
  letter-spacing:.06em;
  font-size:.74rem;
  text-transform:uppercase;
}

.travel-content h4{
  font-size:1.18rem;
  margin:8px 0 12px;
  color:var(--indigo-deep);
}

.travel-content p{
  font-size:.86rem;
  color:var(--muted);
  margin:0 0 6px;
  display:flex;
  align-items:center;
  gap:8px;
}
.travel-content p i{ color:var(--marigold); width:14px; }

.travel-price{
  margin:14px 0 16px;
  padding-top:14px;
  border-top:1px dashed var(--line);
  display:flex;
  align-items:baseline;
  gap:10px;
}
.old-price{
  color:var(--muted);
  font-size:.85rem;
  text-decoration:line-through;
}
.new-price{

  color:var(--terracotta);
  font-size:1.35rem;
  font-weight:600;
}
.price-note{
  display:block;
  font-size:.72rem;
  color:var(--muted);
  margin-top:2px;
}

.travel-btns{
  display:flex;
  gap:10px;
  margin-top:auto;
}
.btn-outline-tj{
  flex:1;
  border:1px solid var(--indigo);
  color:var(--indigo);
  background:transparent;
  border-radius:8px;
  padding:9px 14px;
  font-size:.86rem;
  font-weight:600;
  text-align:center;
  transition:all .25s ease;
}
.btn-outline-tj:hover{ background:var(--indigo); color:#fff; }
.btn-fill-tj{
  flex:1;
  border:1px solid var(--terracotta);
  background:var(--terracotta);
  color:#fff;
  border-radius:8px;
  padding:9px 14px;
  font-size:.86rem;
  font-weight:600;
  text-align:center;
  transition:all .25s ease;
}
.btn-fill-tj:hover{ background:#a8431f; border-color:#a8431f; }

/* ---------- Popular Related Destinations ---------- */

/* ---------- Popular Related Destinations (image slider) ---------- */
.destinations-section{ background:var(--sand); padding:80px 0; overflow:hidden; }

.dest-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:36px;
}
.dest-head .dest-heading h2{ margin:10px 0 0; font-size:2rem; }

.d-arrow{
  width:44px; height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--indigo-deep);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
  flex:none;
}
.d-arrow:hover{ background:var(--terracotta); color:#fff; border-color:var(--terracotta); }
.d-arrows{ display:flex; gap:12px; }

.d-slider{ position:relative; }
.d-viewport{ overflow:hidden; }
.d-track{
  display:flex;
  gap:22px;
  transition:transform .55s cubic-bezier(.65,0,.35,1);
}
.d-slide{ flex:0 0 calc(25% - 16.5px); }
@media (max-width: 991px){ .d-slide{ flex:0 0 calc(50% - 11px); } }
@media (max-width: 560px){ .d-slide{ flex:0 0 100%; } }

.dest-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  height:380px;
  display:block;
}
.dest-card img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.dest-card:hover img{ transform:scale(1.08); }
.dest-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(14,36,56,0) 40%, rgba(14,36,56,.88) 100%);
}
.dest-card-body{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:22px;
  z-index:1;
}
.dest-card-body h4{
  color:#fff;
  font-size:1.4rem;
  margin:0 0 6px;
  font-weight:600;
}
.dest-card-body .dest-underline{
  width:34px; height:2px;
  background:var(--marigold);
  margin-bottom:10px;
}
.dest-card-body .dest-count{
  color:var(--marigold);
  font-weight:600;
  font-size:.9rem;
}

/* ---------- FAQ ---------- */
.faq-section{ background:var(--ivory); padding:80px 0; }
.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:14px;
  overflow:hidden;
}
.faq-question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px 22px;
  cursor:pointer;

  font-weight:600;
  font-size:1rem;
  color:var(--indigo-deep);
}
.faq-question .faq-icon{
  width:30px; height:30px;
  border-radius:50%;
  border:1px solid var(--line);
  color:var(--terracotta);
  display:flex; align-items:center; justify-content:center;
  font-size:.78rem;
  flex:none;
  transition:transform .3s ease, background .3s ease, color .3s ease;
}
.faq-item.active .faq-question .faq-icon{
  background:var(--terracotta);
  color:#fff;
  transform:rotate(45deg);
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.faq-answer p{
  padding:0 22px 20px;
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.65;
}

/* CTA strip */
.cta-strip{
  background:var(--indigo-deep);
  color:#fff;
  text-align:center;
  padding:56px 0;
}
.cta-strip h3{ color:#fff; margin-bottom:10px; }
.cta-strip p{ color:rgba(255,255,255,.65); margin-bottom:24px; }
.cta-strip .btn-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--marigold);
  color:var(--indigo-deep);
  border-radius:30px;
  padding:12px 32px;
  font-weight:600;
  transition:transform .25s ease;
}
.cta-strip .btn-cta:hover{ transform:translateY(-2px); }

@media (max-width: 767px){
  .trips-section{ padding:56px 0 60px; }
  .trips-head{ flex-direction:column; align-items:flex-start; }
}
/* ---------- Page header / Breadcrumb ---------- */


.breadcrumb-trail{
  list-style:none; display:flex; align-items:center; gap:10px;
  padding:0; margin:0 0 18px; font-size:.88rem;
}
.breadcrumb-trail li{ display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.62); }
.breadcrumb-trail a{ color:rgba(255,255,255,.85); }
.breadcrumb-trail a:hover{ color:var(--marigold); }
.breadcrumb-trail li:not(:last-child)::after{ content:"/"; color:var(--marigold); margin-left:10px; }
.breadcrumb-trail li:last-child{ color:var(--marigold); font-weight:500; }

.pkg-title{ color:#fff; font-size:clamp(1.8rem, 3.4vw, 2.6rem); font-weight:600; margin:0 0 16px; max-width:760px; }

.pkg-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.pkg-meta .meta-chip{
  display:flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  padding:8px 16px; border-radius:30px;
  font-size:.85rem; color:#fff;
}
.pkg-meta .meta-chip i{ color:var(--marigold); }

/* ---------- Attribute icons strip ---------- */
.attr-strip{ background:#fff; border-bottom:1px solid var(--line); }
.attr-row{ display:flex; flex-wrap:wrap; gap:0; padding:20px 0; }
.attr-item{
  flex:1 1 12%;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-align:center; padding:8px 6px;
  border-right:1px solid var(--line);
  min-width:100px;
}
.attr-item:last-child{ border-right:none; }
.attr-item .attr-icon{
  width:44px; height:44px; border-radius:50%;
  background:var(--sand); color:var(--terracotta);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.attr-item span{ font-size:.78rem; color:var(--muted); font-weight:500; }

/* ---------- Layout ---------- */
.detail-section{ padding:56px 0 90px; }

.detail-heading{
  font-size:1.5rem; margin:0 0 16px;
  padding-bottom:12px; border-bottom:2px solid var(--sand);
}

.highlights-text{ color:var(--muted); font-size:.96rem; line-height:1.8; }
.highlights-text strong{ color:var(--indigo-deep); }

/* ---------- Tabs ---------- */
.tj-tabs{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:40px 0 24px;
  border-bottom:1px solid var(--line);
}
.tj-tab{
  padding:12px 20px;
  font-weight:600; font-size:.92rem;
  color:var(--muted);
  cursor:pointer;
  border-bottom:2px solid transparent;
  transition:color .25s ease, border-color .25s ease;
}
.tj-tab.active{ color:var(--terracotta); border-color:var(--terracotta); }
.tj-panel{ display:none; }
.tj-panel.active{ display:block; }

/* ---------- Itinerary accordion ---------- */
.itin-day{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  margin-bottom:14px; overflow:hidden;
}
.itin-head{
  display:flex; align-items:center; gap:16px;
  padding:18px 20px; cursor:pointer;
}
.itin-day-num{
  flex:none; width:52px; height:52px; border-radius:50%;
  background:var(--indigo-deep); color:var(--marigold);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
   font-weight:600; font-size:.8rem; line-height:1.1;
}
.itin-day-num small{ font-size:.6rem; color:rgba(255,255,255,.6); font-weight:400; }
.itin-head-text{ flex:1; }
.itin-head-text .itin-title{  font-weight:600; color:var(--indigo-deep); font-size:1.02rem; }
.itin-head-text .itin-place{ font-size:.8rem; color:var(--muted); margin-top:2px; }
.itin-icon{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--line);
  color:var(--terracotta); display:flex; align-items:center; justify-content:center;
  font-size:.75rem; flex:none; transition:transform .3s ease, background .3s ease, color .3s ease;
}
.itin-day.active .itin-icon{ background:var(--terracotta); color:#fff; transform:rotate(45deg); }
.itin-body{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.itin-body-inner{ padding:0 20px 22px; }
.itin-body-inner p{ color:var(--muted); font-size:.92rem; line-height:1.75; margin:0 0 12px; }
.itin-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.itin-tags span{
  background:var(--sand); color:var(--terracotta);
  font-size:.76rem; font-weight:600; padding:5px 12px; border-radius:20px;
}

/* ---------- Bullet lists (inclusions/exclusion/keyinfo/terms) ---------- */
.tj-list{ list-style:none; padding:0; margin:0; }
.tj-list li{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 0; border-bottom:1px dashed var(--line);
  font-size:.92rem; color:var(--muted); line-height:1.6;
}
.tj-list li:last-child{ border-bottom:none; }
.tj-list.tj-list-check li i{ color:#3B8F5C; margin-top:3px; }
.tj-list.tj-list-cross li i{ color:var(--terracotta); margin-top:3px; }
.tj-list.tj-list-info li i{ color:var(--marigold); margin-top:3px; }

/* ---------- Sidebar ---------- */
.pkg-sidebar{ position:sticky; top:20px; }

.price-card{
  background:#fff; border:1px solid var(--line); border-radius:14px;
  padding:22px; margin-bottom:18px;
}
.price-tabs{ display:flex; gap:8px; margin-bottom:18px; }
.price-tab{
  flex:1; text-align:center; padding:9px 6px;
  border:1px solid var(--line); border-radius:8px;
  font-size:.82rem; font-weight:600; color:var(--muted); cursor:pointer;
  transition:all .25s ease;
}
.price-tab.active{ background:var(--indigo-deep); color:#fff; border-color:var(--indigo-deep); }

.price-block{ display:none; text-align:center; }
.price-block.active{ display:block; }
.price-block .old-price{ color:var(--muted); font-size:.9rem; text-decoration:line-through; }
.price-block .new-price{ color:var(--terracotta); font-size:2rem; font-weight:600; display:block; margin:4px 0; }
.price-block .off-tag{
  display:inline-block; background:rgba(59,143,92,.12); color:#3B8F5C;
  font-size:.76rem; font-weight:600; padding:3px 10px; border-radius:14px; margin-bottom:8px;
}
.price-block .price-note{ font-size:.78rem; color:var(--muted); }

.btn-book-now{
  display:block; width:100%; text-align:center;
  background:var(--terracotta); color:#fff; border:none;
  padding:13px; border-radius:8px; font-weight:600; font-size:.95rem;
  margin-top:16px; cursor:pointer; transition:background .25s ease;
}
.btn-book-now:hover{ background:#a8431f; color:#fff; }

/* Enquiry form */
.enquiry-card{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px;
}
.enquiry-card h4{ font-size:1.15rem; margin-bottom:4px; }
.enquiry-card .sub{ color:var(--muted); font-size:.85rem; margin-bottom:18px; }
.enquiry-card label{ font-size:.82rem; font-weight:600; color:var(--indigo-deep); margin-bottom:6px; display:block; }
.enquiry-card .form-control, .enquiry-card select{
  border:1px solid var(--line); border-radius:8px; padding:10px 12px;
  font-size:.88rem; margin-bottom:14px; width:100%;
}
.enquiry-card .form-control:focus, .enquiry-card select:focus{ outline:2px solid rgba(232,163,61,.35); border-color:var(--marigold); }
.trip-type-toggle{ display:flex; gap:10px; margin-bottom:16px; }
.trip-type-toggle label{
  flex:1; text-align:center; border:1px solid var(--line); border-radius:8px;
  padding:9px; font-size:.82rem; font-weight:600; color:var(--muted); cursor:pointer;
  margin:0; transition:all .2s ease;
}
.trip-type-toggle input{ display:none; }
.trip-type-toggle input:checked + label{ background:var(--indigo-deep); color:#fff; border-color:var(--indigo-deep); }

.contact-card{
  background:var(--indigo-deep); color:#fff; border-radius:14px; padding:24px; margin-top:18px;
}
.contact-card h5{ color:#fff; font-size:1.05rem; margin-bottom:16px; }
.contact-row{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.contact-row:last-child{ margin-bottom:0; }
.contact-row .c-icon{
  width:38px; height:38px; border-radius:50%; background:rgba(232,163,61,.15);
  color:var(--marigold); display:flex; align-items:center; justify-content:center; flex:none;
}
.contact-row .c-label{ font-size:.72rem; color:rgba(255,255,255,.6); }
.contact-row .c-value{ font-size:.9rem; font-weight:600; color:#fff; }

@media (max-width: 991px){
  .attr-item{ flex:1 1 25%; border-right:none; border-bottom:1px solid var(--line); }
  .pkg-sidebar{ position:static; margin-top:40px; }
}.page-header{
    /* background:#fff; */
    padding: 162px 0 25px;
}

.package-header{
    margin:15px 0 25px;
}

.package-gallery{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:15px;
}

.gallery-main img{
    width:100%;
    height:460px;
    object-fit:cover;
    border-radius:18px;
}

.gallery-side{
    display:grid;
    grid-template-rows:repeat(3,1fr);
    gap:15px;
}

.gallery-side img{
    width:100%;
    height:143px;
    object-fit:cover;
    border-radius:18px;
    transition:.3s;
    cursor:pointer;
}

.gallery-side img:hover,
.gallery-main img:hover{
    transform:scale(1.03);
}

@media(max-width:991px){

.package-gallery{
grid-template-columns:1fr;
}

.gallery-main img{
height:300px;
}

.gallery-side{
grid-template-columns:repeat(3,1fr);
grid-template-rows:unset;
}

.gallery-side img{
height:120px;
}

}.info-section{
margin-top:50px;
display:grid;
gap:25px;
}

.info-card{
background:#fff;
border-radius:16px;
padding:30px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.info-card h3{
font-size:22px;
margin-bottom:20px;
font-weight:700;
}

.info-card ul{
margin:0;
padding-left:0;
list-style:none;
}

.info-card li{
padding:12px 0;
border-bottom:1px solid #eee;
}

.info-card li:last-child{
border:none;
}

.inclusion h3{
color:#198754;
}

.exclusion h3{
color:#dc3545;
}

.notes h3{
color:#f97316;
}

.terms h3{
color:#ff8c00;
}