:root{
  --brand-blue:#2F78AD;
  --topbar-blue:#215d8a;
  --price-blue:#2F78AD;
  --wa-green:#34A853;
  --amber:#FA511A;
  --gray-text:#616161;
  --input-border:#dfdfdf;
  --yellow:#FA511A;
  --font: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
  --font-display: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
  --font-brand: 'Archivo Black', 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
  --ink:#1a1a1a;
}

.torn-edge{
  clip-path: polygon(
    0% 6px, 8% 0, 16% 9px, 24% 2px, 32% 11px, 40% 1px, 48% 7px, 56% 3px, 64% 10px, 72% 0, 80% 8px, 88% 2px, 96% 11px, 100% 4px,
    100% calc(100% - 5px), 92% 100%, 84% calc(100% - 9px), 76% calc(100% - 1px), 68% calc(100% - 11px), 60% 100%, 52% calc(100% - 7px), 44% calc(100% - 2px), 36% calc(100% - 10px), 28% 100%, 20% calc(100% - 8px), 12% calc(100% - 1px), 4% calc(100% - 10px), 0% 100%
  );
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden; width:100%;}
body{font-family:var(--font); color:var(--gray-text); background:#fff; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}


.section-heading{
  font-family:var(--font-display);
  position:relative;
  margin-top:0;
  text-align:center;
  font-size:clamp(1.75rem,4.5vw,3rem);
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--brand-blue);
  padding:0 20px;
}
.section-heading--light{color:#fff;}
.section-heading--left{text-align:left; margin-top:0; margin-bottom:24px;}

/* ===== Topbar ===== */
.topbar{
  background:var(--topbar-blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 24px;
  font-size:13px;
}
.topbar-left{display:flex; align-items:center; gap:24px;}
.info-item{display:flex; align-items:center; gap:6px; color:#fff;}
.info-icon{width:15px; height:15px; flex-shrink:0;}
.topbar-right{display:flex; align-items:center; gap:14px;}
.social-link{color:#fff; display:flex; opacity:.9;}
.social-link:hover{opacity:1;}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:100;
  background:#fff;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 32px;
  height:64px;
  transition:box-shadow .2s;
}
.site-header.scrolled{box-shadow:0 2px 10px rgba(0,0,0,.08);}
.logo img{height:40px;}
.main-nav{display:flex; gap:32px;}
.main-nav a{font-size:14px; font-weight:500; color:var(--gray-text); letter-spacing:.02em;}
.main-nav a:hover{color:var(--brand-blue);}
.header-actions{display:flex; align-items:center; gap:16px;}
.icon-btn{background:none; border:none; color:#333; display:flex; padding:4px;}
.hamburger{display:none;}

/* ===== Hero ===== */
.hero{position:relative; height:88vh; min-height:520px; max-height:720px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.30) 45%, rgba(0,0,0,.58) 100%);}
.hero-content{position:relative; z-index:1; text-align:center; color:#fff;}
.hero-eyebrow{font-size:22px; font-weight:400; letter-spacing:.02em; margin-bottom:6px; text-shadow:0 2px 8px rgba(0,0,0,.3);}
.hero-title{
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.whatsapp-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--wa-green); color:#fff;
  padding:8px 15px; border-radius:50px;
  font-size:12px; font-weight:500;
}
.whatsapp-btn:hover{background:#2b8f47;}

/* ===== Group Trips / product sections ===== */
.group-trips{
  padding:68px 24px 76px;
  margin:34px 0;
  background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='rgba(0,0,0,0.07)' stroke-width='1.3'%3E%3Cpath d='M6 34 L26 20 L52 8 L36 30 L42 48 L26 20 L10 40'/%3E%3Ccircle cx='48' cy='14' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;
  position:relative;
}
.trip-grid{
  max-width:1280px; margin:56px auto 0;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 360px));
  justify-content:center; gap:28px;
}
.trip-card{
  display:block; background:#fff; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.08); border-radius:4px;
  text-decoration:none; color:inherit; cursor:pointer;
  transition:transform .2s, box-shadow .2s;
}
.trip-card:hover{transform:translateY(-4px); box-shadow:0 10px 26px rgba(0,0,0,.14);}
.trip-card-media{position:relative; height:230px; overflow:hidden;}
.trip-card-media img{width:100%; height:100%; object-fit:cover;}
.trip-card-body{padding:18px 18px 22px;}
.trip-card-title{font-size:18px; font-weight:700; color:#1a1a1a; margin-bottom:4px;}
.trip-card-duration{font-size:13px; color:var(--gray-text); margin-bottom:16px;}
.price-btn{
  display:block; width:100%; text-align:center;
  background:var(--price-blue); color:#fff;
  padding:8px 25px; border-radius:50px; font-size:16px;
}
.trip-card:hover .price-btn{background:#163d94;}

/* ===== Travel Stories ===== */
.travel-stories{padding:70px 24px; text-align:center;}

/* ===== Customized Holiday ===== */
.custom-holiday{
  text-align:center;
  padding:68px 24px 76px;
  margin:34px 0 0;
  background:var(--brand-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.3'%3E%3Cpath d='M6 34 L26 20 L52 8 L36 30 L42 48 L26 20 L10 40'/%3E%3Ccircle cx='48' cy='14' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;
  position:relative;
}
.custom-holiday-sub{
  max-width:560px; margin:18px auto 0; text-align:center;
  color:rgba(255,255,255,.85); font-size:15px; line-height:1.6;
}
.customise-btn--cta{
  display:inline-block; margin:28px auto 0;
  background:#fff; color:var(--brand-blue); font-weight:700;
  padding:14px 34px; border-radius:50px; font-size:16px;
}
.customise-btn--cta:hover{background:#f2f2f2;}

/* ===== Contact Us ===== */
.contact-us{padding:70px 24px 90px;}
.contact-wrap{
  max-width:1280px; margin:40px auto 0;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.contact-img{border-radius:12px; width:100%; height:520px; object-fit:cover;}
.enquiry-form{display:flex; flex-direction:column; gap:16px;}
.enquiry-form label{display:flex; flex-direction:column; gap:6px; font-size:14px; color:#333; font-weight:500;}
.enquiry-form input, .enquiry-form select, .enquiry-form textarea{
  border:1px solid var(--input-border); border-radius:6px; padding:10px; font-size:14px; font-family:inherit; color:#000; background:#fff;
}
.pax-group{border:0; padding:0; margin:0;}
.pax-group legend{font-size:14px; color:#333; font-weight:500; padding:0; margin-bottom:6px;}
.pax-row{display:flex; gap:10px;}
.pax-row label{flex:1; gap:4px; font-weight:400;}
.pax-row label span{font-size:11px; color:#9a9a9a;}
.date-range{display:flex; align-items:center; gap:10px;}
.date-range input{flex:1;}
.submit-btn{
  background:var(--amber); color:#fff; font-weight:700; font-size:15px;
  border:none; border-radius:8px; padding:12px; margin-top:8px;
}
.submit-btn:hover{background:#d8430f;}

/* ===== Instagram gallery ===== */
.reviews{padding:70px 24px 90px; text-align:center;}
/* flex, not grid: the tile count is whatever the client has sent, so an
   uneven last row has to centre instead of hanging off to the left. */
.ig-grid{
  max-width:1100px; margin:40px auto 0;
  display:flex; flex-wrap:wrap; justify-content:center; gap:18px;
}
.ig-grid > *{flex:0 0 calc(25% - 13.5px);}
.ig-card{position:relative; border-radius:10px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 4px 16px rgba(0,0,0,.08);}
.ig-card img{width:100%; height:100%; object-fit:cover; transition:transform .3s;}
.ig-card:hover img{transform:scale(1.06);}
.google-review-link{display:inline-block; margin-top:28px; color:var(--brand-blue); font-weight:600; text-decoration:underline;}

/* ===== Footer ===== */
.site-footer{background:var(--brand-blue); color:#fff; padding:40px 24px 0;}
.footer-top{
  max-width:1280px; margin:0 auto; display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.2);
}
.footer-social{display:flex; gap:14px;}
.footer-social a{color:#fff; opacity:.9;}
.footer-social a:hover{opacity:1;}
.footer-address{font-size:14px; max-width:480px; opacity:.9;}
.footer-cols{
  max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  padding:36px 0;
}
.footer-col h4{font-size:14px; letter-spacing:.08em; margin-bottom:16px; opacity:.85;}
.footer-col li{margin-bottom:10px;}
.footer-col a{font-size:14px; opacity:.85;}
.footer-col a:hover{opacity:1; text-decoration:underline;}
.footer-copy{
  text-align:center; font-size:13px; padding:20px 0; border-top:1px solid rgba(255,255,255,.2);
  opacity:.85;
}

/* ===== WhatsApp float ===== */
.wa-float{
  position:fixed; right:22px; bottom:88px; z-index:200;
  width:56px; height:56px; border-radius:50%;
  background:var(--wa-green); display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.wa-float:hover{transform:scale(1.06);}

/* pulsing ring + heartbeat so the button catches the eye */
.wa-float::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:var(--wa-green); z-index:-1;
  animation:wa-ring 2s cubic-bezier(.25,.6,.3,1) infinite;
}
.wa-float{animation:wa-beat 2s ease-in-out infinite;}
.wa-float:hover{animation:none;}
@keyframes wa-ring{
  0%{transform:scale(1); opacity:.55;}
  70%{transform:scale(1.9); opacity:0;}
  100%{transform:scale(1.9); opacity:0;}
}
@keyframes wa-beat{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.07);}
}
@media (prefers-reduced-motion:reduce){
  .wa-float, .wa-float::before{animation:none;}
}

/* ===== Search modal ===== */
.search-modal{
  position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:300;
  display:none; align-items:flex-start; justify-content:center; padding-top:12vh;
}
.search-modal.open{display:flex;}
.search-modal-inner{background:#fff; width:min(560px,92vw); border-radius:8px; padding:24px; position:relative;}
.search-close{position:absolute; top:10px; right:14px; background:none; border:none; font-size:26px; color:#333;}
.search-input{width:100%; border:1px solid var(--input-border); border-radius:6px; padding:12px 14px; font-size:15px;}

/* ===== Mobile menu drawer ===== */
@media (max-width:1100px){
  .main-nav{display:none;}
  .trip-grid{grid-template-columns:repeat(2,1fr);}
  .contact-wrap{grid-template-columns:1fr;}
  .contact-img{height:280px;}
}

@media (max-width:640px){
  .topbar{padding:8px 14px; font-size:11px;}
  .topbar-left{gap:14px;}
  .email-item span{display:none;}
  .site-header{padding:10px 16px;}
  .logo img{height:30px;}
  .hero-eyebrow{font-size:16px;}
  .trip-grid{grid-template-columns:1fr; gap:22px;}
  .footer-top{flex-direction:column; align-items:flex-start;}
  .footer-cols{grid-template-columns:1fr;}
  .ig-grid > *{flex:0 0 calc(50% - 9px);}
}

/* ===== Holiday Packages (home grid) ===== */
.holiday-packages{padding:60px 0 80px;}
.pkg-section-sub{
  max-width:760px; margin:14px auto 0; padding:0 20px;
  text-align:center; font-size:15px; line-height:1.7; color:var(--gray-text);
}
.pkg-grid{
  display:grid; gap:24px; padding:36px 20px 0;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
}
.pkg-card-link{
  display:flex; flex-direction:column; background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.10); transition:transform .2s, box-shadow .2s;
}
.pkg-card-link:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.16);}
.pkg-card-media{position:relative; height:210px; overflow:hidden;}
.pkg-card-media img{width:100%; height:100%; object-fit:cover;}
.pkg-card-nights{
  position:absolute; top:12px; left:12px; background:rgba(0,0,0,.62); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.02em; padding:5px 10px; border-radius:20px;
}
.pkg-card-body{padding:18px 18px 20px; display:flex; flex-direction:column; flex:1;}
.pkg-card-title{font-size:18px; font-weight:700; color:#1a1a1a; margin-bottom:8px;}
.pkg-card-blurb{
  font-size:13.5px; line-height:1.6; color:var(--gray-text); margin-bottom:16px; flex:1;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.pkg-card-foot{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.pkg-card-price{font-size:17px; font-weight:800; color:var(--brand-blue);}
.pkg-card-more{font-size:13px; font-weight:700; color:var(--amber);}

/* ===== Package detail page ===== */
.pkg-hero{
  position:relative; min-height:clamp(300px, 46vw, 460px);
  background-size:cover; background-position:center;
  display:flex; align-items:flex-end;
}
.pkg-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.20) 45%, rgba(0,0,0,.75) 100%);
}
.pkg-hero-content{position:relative; padding:0 clamp(20px,5vw,64px) clamp(28px,4vw,52px); color:#fff; width:100%;}
.pkg-back{display:inline-block; font-size:13px; font-weight:600; opacity:.9; margin-bottom:16px;}
.pkg-back:hover{opacity:1; text-decoration:underline;}
.pkg-eyebrow{font-size:14px; letter-spacing:.16em; text-transform:uppercase; opacity:.9; margin-bottom:6px;}
.pkg-title{font-size:clamp(1.7rem,4.4vw,3rem); font-weight:800; line-height:1.1;}
.pkg-title--dark{color:var(--brand-blue);}
.pkg-duration{margin-top:8px; font-size:15px; opacity:.92;}

.pkg-body{
  display:grid; gap:clamp(24px,4vw,48px); align-items:start;
  grid-template-columns:minmax(0,1fr) 340px;
  padding:clamp(32px,5vw,60px) clamp(20px,5vw,64px) 80px;
}
.pkg-body--empty{grid-template-columns:1fr; text-align:center;}
.pkg-blurb{font-size:17px; line-height:1.75; color:#333; margin-bottom:8px;}

.pkg-block{margin-top:40px;}
.pkg-block-title{
  font-size:20px; font-weight:800; color:var(--brand-blue);
  padding-bottom:10px; margin-bottom:18px; border-bottom:2px solid #eef2f6;
}
.pkg-list{display:grid; gap:10px;}
.pkg-list li{position:relative; padding-left:26px; font-size:14.5px; line-height:1.65; color:#444;}
.pkg-list li::before{position:absolute; left:0; top:0; font-weight:800;}
.pkg-list--yes li::before{content:"✓"; color:var(--wa-green);}
.pkg-list--no li::before{content:"✕"; color:#c33;}
.pkg-list--note li::before{content:"•"; color:var(--amber); font-size:20px; line-height:1.1;}

.itin{display:grid; gap:4px;}
.itin-day{display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid #eef2f6;}
.itin-day:last-child{border-bottom:0;}
.itin-num{font-size:13px; font-weight:800; color:var(--amber); letter-spacing:.04em; padding-top:2px;}
.itin-title{font-size:16px; font-weight:700; color:#1a1a1a; margin-bottom:6px;}
.itin-mode{
  display:inline-block; margin-left:8px; vertical-align:middle;
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--brand-blue); background:#eaf2f9; padding:3px 8px; border-radius:12px;
}
.itin-desc{font-size:14.5px; line-height:1.7; color:#555;}

.hotel-rows{display:grid; gap:14px;}
.hotel-row{background:#f7f9fb; border-radius:10px; padding:14px 16px;}
.hotel-main{display:flex; flex-wrap:wrap; align-items:baseline; gap:10px;}
.hotel-name{font-size:15.5px; font-weight:700; color:#1a1a1a;}
.hotel-stars{color:#f0a500; font-size:13px; letter-spacing:1px;}
.hotel-city{font-size:13px; color:var(--gray-text);}
.hotel-meta{margin-top:6px; font-size:13.5px; color:#555;}

.pkg-side{position:sticky; top:24px;}
.pkg-card{background:#fff; border:1px solid #e6ecf2; border-radius:14px; padding:24px; box-shadow:0 6px 22px rgba(0,0,0,.07);}
.pkg-price-label{font-size:13px; color:var(--gray-text);}
.pkg-price{font-size:34px; font-weight:800; color:var(--brand-blue); line-height:1.2;}
.pkg-price-sub{font-size:12.5px; color:var(--gray-text); margin-bottom:20px;}
.pkg-cta{
  display:block; text-align:center; background:var(--wa-green); color:#fff;
  font-size:15px; font-weight:700; padding:13px 16px; border-radius:8px; margin-bottom:10px;
  transition:filter .15s;
}
.pkg-cta:hover{filter:brightness(.93);}
.pkg-cta--ghost{background:#fff; color:var(--brand-blue); border:1.5px solid var(--brand-blue);}
.pkg-cta--inline{display:inline-block; background:var(--brand-blue);}
.pkg-card-note{margin-top:14px; font-size:12.5px; line-height:1.6; color:var(--gray-text);}

.photo-credit{text-align:center; font-size:11px; color:rgba(255,255,255,.55); padding:0 20px 18px;}

@media (max-width:900px){
  .pkg-body{grid-template-columns:1fr;}
  .pkg-side{position:static; order:-1;}
  .itin-day{grid-template-columns:1fr; gap:4px;}
}

/* on-request trips + PDF button */
.pkg-price--ask{font-size:26px;}
.pkg-cta--pdf{background:#fff; color:var(--amber); border:1.5px solid var(--amber);}
.pkg-onrequest-lead{font-size:15px; line-height:1.75; color:#444; margin-bottom:16px;}
.pkg-steps{counter-reset:step; display:grid; gap:12px; margin-bottom:16px;}
.pkg-steps li{position:relative; padding-left:38px; font-size:14.5px; line-height:1.65; color:#444; list-style:none;}
.pkg-steps li::before{
  counter-increment:step; content:counter(step);
  position:absolute; left:0; top:-1px; width:26px; height:26px; border-radius:50%;
  background:var(--brand-blue); color:#fff; font-size:13px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}
.pkg-onrequest-foot{font-size:13px; color:var(--gray-text);}


/* ===== Typography rhythm ===== */
.section-sub{
  max-width:760px; margin:26px auto 0; padding:0 20px;
  text-align:center; font-size:15px; line-height:1.7; color:var(--gray-text);
}
.section-sub--light{color:rgba(255,255,255,.86);}
.sub-heading{
  font-family:var(--font-display); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(1.25rem,2.6vw,1.85rem); color:var(--ink);
}
.sub-heading--tight{margin-bottom:14px;}
body.no-scroll{overflow:hidden;}

/* ===== Header extras ===== */
.ig-pill{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--input-border); border-radius:999px;
  padding:6px 14px; font-size:13px; font-weight:500; color:var(--ink);
  transition:border-color .2s, color .2s;
}
.ig-pill:hover{border-color:#E1306C; color:#E1306C;}
.ig-pill svg{width:16px; height:16px; color:#E1306C;}
.menu-btn{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--input-border); border-radius:999px; background:none;
  padding:6px 14px; font-size:13px; font-weight:500; color:var(--ink);
  transition:border-color .2s;
}
.menu-btn:hover{border-color:var(--brand-blue); color:var(--brand-blue);}

/* ===== Slide-in menu ===== */
.drawer-scrim{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  opacity:0; pointer-events:none; transition:opacity .25s; z-index:190;
}
.drawer-scrim.open{opacity:1; pointer-events:auto;}
.drawer{
  position:fixed; top:0; right:0; height:100dvh; width:min(360px,86vw);
  background:#fff; z-index:200; padding:22px 26px 40px; overflow-y:auto;
  transform:translateX(100%); transition:transform .3s ease;
  box-shadow:-8px 0 30px rgba(0,0,0,.18);
}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px;}
.drawer-close{background:none; border:none; font-size:30px; line-height:1; color:#333;}
.drawer-group{
  font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:#9a9a9a; margin:18px 0 8px;
}
.drawer-list li a{
  display:block; padding:9px 0; font-size:15px; font-weight:500; color:var(--ink);
  border-bottom:1px solid #f1f1f1; transition:color .2s, padding-left .2s;
}
.drawer-list li a:hover{color:var(--brand-blue); padding-left:6px;}
.drawer-foot{margin-top:26px; display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--gray-text);}
.drawer-foot a:hover{color:var(--brand-blue);}

/* ===== Hero extras ===== */
.hero-sub{
  max-width:560px; margin:14px auto 0; font-size:15px; line-height:1.65;
  color:rgba(255,255,255,.9); text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:26px;}
.hero-btn--ghost{
  display:inline-flex; align-items:center; padding:12px 26px; border-radius:999px;
  border:1.5px solid rgba(255,255,255,.75); color:#fff; font-size:15px; font-weight:500;
  transition:background .2s, color .2s;
}
.hero-btn--ghost:hover{background:#fff; color:var(--ink);}

/* ===== Explore Our Destinations ===== */
.explore-destinations{padding:70px 0 80px;}
.sub-section{margin-top:52px; padding:0 clamp(16px,4vw,48px);}
.sub-head{display:flex; align-items:center; gap:18px; margin-bottom:30px;}
.sub-rule{flex:1; height:1px; background:#e6e6e6;}

/* ===== Group trip card date badge ===== */
.trip-card-dates{
  position:absolute; left:12px; top:12px;
  background:var(--amber); color:#fff; font-size:12px; font-weight:600;
  padding:5px 11px; border-radius:999px; letter-spacing:.02em;
}

/* ===== About ===== */
.about-us{padding:70px 0 80px;}
.about-wrap{
  display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,5vw,64px);
  padding:0 clamp(16px,4vw,48px); margin-top:46px;
}
.about-copy p{font-size:16px; line-height:1.8; color:var(--gray-text); margin-bottom:16px;}
.about-kicker{font-size:19px !important; color:var(--brand-blue); font-weight:700; line-height:1.55;}
.about-list li{
  position:relative; padding-left:22px; margin-bottom:12px;
  font-size:15px; line-height:1.65; color:var(--gray-text);
}
.about-list li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px;
  border-radius:50%; background:var(--amber);
}

/* ===== Founders ===== */
.founders{background:var(--brand-blue); padding:80px 0 90px;}
.founder-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,260px));
  gap:28px; justify-content:center; margin-top:38px; padding:0 20px;
}
.founder-card{background:#fff; border-radius:14px; padding:22px; text-align:center;}
.founder-media{
  width:150px; height:150px; margin:0 auto 16px; border-radius:50%; overflow:hidden;
  background:#f2f5f8; display:flex; align-items:center; justify-content:center;
  /* Simran's photo is a cut-out on white, so without a ring the circle vanishes on the white card. */
  border:2px solid #e6edf3;
}
.founder-media img{width:100%; height:100%; object-fit:cover;}
.founder-ph{color:#b8c6d3;}
.founder-name{font-size:18px; font-weight:700; color:var(--ink);}
.founder-role{font-size:13px; color:var(--gray-text); margin-top:3px;}

/* ===== Contact details ===== */
.contact-details{display:flex; flex-direction:column;}
.contact-list{margin-bottom:24px;}
.contact-list li{
  display:flex; gap:14px; align-items:baseline; padding:11px 0;
  border-bottom:1px solid #f0f0f0; font-size:15px;
}
.contact-list li span:first-child{
  flex:0 0 92px; font-size:12px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:#9a9a9a;
}
.contact-list a{color:var(--ink);}
.contact-list a:hover{color:var(--brand-blue);}
.contact-plain{color:var(--gray-text);}

/* ===== Instagram follow ===== */
.ig-follow-btn{
  display:inline-flex; align-items:center; gap:10px; margin-top:26px;
  padding:12px 24px; border-radius:999px; font-size:15px; color:#fff;
  background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);
}
.ig-follow-btn svg{width:20px; height:20px;}
.ig-follow-btn strong{font-weight:600;}

/* ===== Search results ===== */
.search-results{margin-top:14px; max-height:50vh; overflow-y:auto;}
.search-results a{
  display:flex; justify-content:space-between; gap:14px; padding:11px 4px;
  border-bottom:1px solid #f1f1f1; font-size:15px; color:var(--ink);
}
.search-results a:hover{color:var(--brand-blue);}
.search-results a span{font-size:13px; color:#9a9a9a;}
.search-empty{padding:12px 4px; font-size:14px; color:var(--gray-text);}

@media (max-width:900px){
  .about-wrap{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .ig-pill .ig-pill-text{display:none;}
  .ig-pill{padding:8px 10px;}
  .menu-btn span{display:none;}
  .menu-btn{padding:8px 10px;}
}

.sub-section .pkg-grid{padding:0;}
.founders{background:var(--topbar-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.3'%3E%3Cpath d='M6 34 L26 20 L52 8 L36 30 L42 48 L26 20 L10 40'/%3E%3Ccircle cx='48' cy='14' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat;}


/* ===== Hand-drawn underline stroke under every heading ===== */
.uline{position:relative; display:inline-block;}
.uline::after{
  content:""; position:absolute; left:-1.5%; right:-1.5%; bottom:-.30em; height:.26em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M7 14C55 5 108 17 156 9c34-6 79-3 137 6' fill='none' stroke='%23FA511A' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center; background-size:100% 100%;
  pointer-events:none;
}
.section-heading--light .uline::after,
.section-heading--light .uline::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M7 14C55 5 108 17 156 9c34-6 79-3 137 6' fill='none' stroke='%23FFD34E' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E");}
.sub-heading .uline::after{bottom:-.34em; height:.3em;}
.uline--multi::after{left:calc(var(--ul-left) - 1.5%); right:auto; width:calc(var(--ul-width) + 3%);}

/* ===== Nav dropdowns ===== */
.nav-drop{position:relative;}
.nav-drop > a{display:inline-flex; align-items:center; gap:5px;}
.nav-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  background:#fff; border-radius:12px; box-shadow:0 14px 40px rgba(0,0,0,.14);
  padding:8px; min-width:250px; opacity:0; visibility:hidden; transition:opacity .18s, transform .18s;
  z-index:120;
}
.nav-drop:hover .nav-menu, .nav-drop:focus-within .nav-menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav-menu a{
  display:block; padding:9px 12px; border-radius:8px; font-size:14px; color:var(--ink); white-space:nowrap;
}
.nav-menu a:hover{background:#f3f7fb; color:var(--brand-blue);}

/* ===== Package cards, Desh Videsh style ===== */
.pkg-card-link{
  display:flex; flex-direction:column; background:#fff; border-radius:18px; overflow:hidden;
  border:1px solid #ededed; transition:transform .25s, box-shadow .25s;
}
.pkg-card-link:hover{transform:translateY(-5px); box-shadow:0 18px 40px rgba(0,0,0,.13);}
.pkg-card-media{position:relative; height:250px; overflow:hidden; border-radius:18px; margin:8px 8px 0;}
.pkg-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.pkg-card-link:hover .pkg-card-media img{transform:scale(1.06);}
.pkg-chip{
  position:absolute; z-index:2; font-size:12px; font-weight:600; letter-spacing:.01em;
  padding:5px 11px; border-radius:999px; backdrop-filter:blur(6px);
}
.pkg-chip--place{left:10px; top:10px; background:rgba(255,255,255,.92); color:var(--ink);}
.pkg-chip--nights{right:10px; bottom:10px; background:rgba(0,0,0,.55); color:#fff;}
.pkg-chip--group{left:10px; top:10px; background:var(--amber); color:#fff;}
.pkg-card-body{padding:16px 18px 20px; display:flex; flex-direction:column; flex:1;}
.pkg-card-title{font-size:17px; font-weight:700; color:var(--ink); line-height:1.35; margin-bottom:7px;}
.pkg-card-blurb{
  font-size:13.5px; line-height:1.6; color:var(--gray-text); margin-bottom:16px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.pkg-card-foot{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.pkg-card-priceblock{display:flex; flex-direction:column; line-height:1.15;}
.pkg-card-from{font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#9a9a9a;}
.pkg-card-price{font-size:19px; font-weight:800; color:var(--ink);}
.pkg-card-btn{
  background:var(--brand-blue); color:#fff; font-size:14px; font-weight:600;
  padding:9px 20px; border-radius:999px; white-space:nowrap; transition:background .2s;
}
.pkg-card-link:hover .pkg-card-btn{background:#163d94;}

/* group-trip card picks up the same shell */
.trip-card-media{border-radius:18px; margin:8px 8px 0;}
.trip-card-title{font-size:19px; font-weight:800; color:var(--ink); margin-bottom:4px;}
.trip-card-dates{
  position:absolute; right:10px; top:10px; left:auto;
  background:#fff; color:var(--amber); font-size:12px; font-weight:700;
  padding:5px 11px; border-radius:999px;
}


/* ===== Hero, reference-site treatment ===== */
.hero-tagline{
  margin-top:12px; font-size:clamp(15px,2.1vw,25px); font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.hero-accent{color:var(--amber);}
.hero-trust{
  display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center; margin-top:20px;
}
.hero-trust li{
  display:inline-flex; align-items:center; gap:7px;
  font-size:14px; font-weight:500; color:rgba(255,255,255,.94);
  text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.hero-trust svg{width:15px; height:15px; color:var(--wa-green); flex:0 0 auto;}
.hero-hash{
  margin-top:16px; font-size:13.5px; font-weight:500; letter-spacing:.02em;
  color:rgba(255,255,255,.8); text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.hero-cta{margin-top:28px;}
@media (max-width:640px){
  .hero-trust{gap:8px 16px;}
  .hero-trust li{font-size:12.5px;}
}


/* ===== Hero brand lockup ===== */
.hero-brand{
  font-family:var(--font-brand);
  font-size:clamp(38px, 8.2vw, 104px);
  line-height:.94; letter-spacing:-.02em; color:#fff;
  text-shadow:0 4px 26px rgba(0,0,0,.5);
}
.hero-brand-b{color:var(--amber);}
.hero-brand-sub{
  font-family:var(--font-brand);
  font-size:clamp(12px, 1.9vw, 23px);
  letter-spacing:.44em; text-indent:.44em;
  color:rgba(255,255,255,.92);
  text-shadow:0 3px 16px rgba(0,0,0,.5);
}

/* three even columns so the ticks line up instead of orphaning one */
.hero-trust{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px; margin:22px auto 0; max-width:820px; padding:0 12px;
}
.hero-trust li{
  display:flex; align-items:flex-start; justify-content:center; gap:7px; text-align:left;
}
@media (max-width:760px){
  .hero-trust{grid-template-columns:1fr; max-width:280px; gap:9px;}
  .hero-trust li{justify-content:flex-start;}
}

/* ===== Banner sound toggle ===== */
.hero-sound{
  position:absolute; left:20px; bottom:20px; z-index:3;
  width:44px; height:44px; border-radius:50%;
  background:rgba(0,0,0,.42); border:1px solid rgba(255,255,255,.4);
  color:#fff; display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(6px); transition:background .2s;
}
.hero-sound:hover{background:rgba(0,0,0,.62);}
.hero-sound svg{width:21px; height:21px;}
.hero-sound .icon-loud{display:none;}
.hero-sound.on .icon-loud{display:block;}
.hero-sound.on .icon-muted{display:none;}
.hero-sound.on{background:var(--amber); border-color:var(--amber);}

/* ===== Upcoming-trip promo strip ===== */
.promo-bar{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 12px;
  background:var(--amber); color:#fff; padding:11px 20px;
  font-size:14px; text-align:center;
}
.promo-bar strong{font-weight:800; letter-spacing:.01em;}
.promo-trip{font-weight:500;}
.promo-cta{font-weight:700; text-decoration:underline; text-underline-offset:3px;}
.promo-bar:hover .promo-cta{opacity:.85;}
.promo-dot{
  width:9px; height:9px; border-radius:50%; background:#fff; flex:0 0 auto;
  animation:promo-blink 1.4s ease-in-out infinite;
}
@keyframes promo-blink{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.25; transform:scale(.7);}}

/* ===== Floating upcoming-trip pill ===== */
.trip-float{
  position:fixed; right:22px; bottom:22px; z-index:200;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--amber); color:#fff; border-radius:999px;
  padding:11px 18px; font-size:14px; font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  animation:trip-beat 2.4s ease-in-out infinite;
}
.trip-float svg{width:17px; height:17px; flex:0 0 auto;}
.trip-float::before{
  content:""; position:absolute; inset:0; border-radius:999px;
  background:var(--amber); z-index:-1;
  animation:trip-ring 2.4s cubic-bezier(.25,.6,.3,1) infinite;
}
.trip-float:hover{animation:none;}
@keyframes trip-beat{0%,100%{transform:scale(1);} 50%{transform:scale(1.05);}}
@keyframes trip-ring{
  0%{transform:scale(1); opacity:.5;}
  70%{transform:scale(1.35); opacity:0;}
  100%{transform:scale(1.35); opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .trip-float, .trip-float::before, .promo-dot{animation:none;}
}
@media (max-width:640px){
  .trip-float{padding:11px 14px; font-size:0; gap:0; bottom:22px;}
  .trip-float svg{width:20px; height:20px;}
}

/* ===== About / Founders copy ===== */
.about-wrap--single{grid-template-columns:1fr; max-width:900px; margin-left:auto; margin-right:auto; text-align:center;}
.about-wrap--single .about-copy p{font-size:16.5px;}
.founder-story{
  max-width:900px; margin:44px auto 0; padding:0 clamp(16px,4vw,48px); text-align:center;
}
.founder-story-name{
  font-family:var(--font-display); font-weight:800; letter-spacing:-.015em;
  font-size:clamp(1.15rem,2.4vw,1.6rem); color:#fff; margin-bottom:18px;
}
.founder-story p{
  font-size:15.5px; line-height:1.8; color:rgba(255,255,255,.9); margin-bottom:14px;
}
.founder-story-kicker{
  font-weight:800; color:#FFD34E !important; font-size:17px !important; margin-top:6px;
}
.founder-note{font-size:12px; color:#9a9a9a; margin-top:5px;}
