/* ============================================================
   DISCOVER INDIA — Global Stylesheet
   Covers: index, destinations, destination-detail,
           itinerary, query-form
   ============================================================ */

/* Google Fonts imported via HTML <link> on each page */

/* ── TOKENS ── */
:root {
  --gold:         #C9A84C;
  --gold-light:   #E8D5A3;
  --gold-dark:    #8B6914;
  --ink:          #1A1208;
  --cream:        #FAF6EE;
  --warm-white:   #FFFDF8;
  --sage:         #4A5C4A;
  --terracotta:   #B85C38;
  --muted:        #6B5E4A;
  --border:       rgba(201,168,76,0.25);
  --border-input: rgba(26,18,8,0.18);
}

/* ── RESET ── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--warm-white); color:var(--ink); overflow-x:hidden; }


/* ================================================================
   NAV  (shared across all pages)
================================================================ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.2rem 4rem;
  background:rgba(255,253,248,0.96);
  border-bottom:1px solid var(--border);
  transition:all 0.3s;
}
.nav-logo { display:inline-flex; align-items:center; text-decoration:none; line-height:1; }
.nav-logo img { height:44px; width:auto; display:block; object-fit:contain; }
/* Fallback text (shown only if image fails to load) */
.nav-logo span { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; letter-spacing:0.05em; color:var(--ink); }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a { font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color 0.2s; }
.nav-links a:hover,
.nav-links a.active { color:var(--gold); }
.nav-cta { background:var(--gold); color:white; padding:0.55rem 1.5rem; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; transition:background 0.2s; }
.nav-cta:hover { background:var(--gold-dark); }

/* ── NAV: home icon + dropdowns ── */
.nav-links li { position:relative; }
.nav-links .nav-home-icon { display:inline-flex; align-items:center; }
.nav-links .nav-home-icon svg { width:16px; height:16px; stroke:var(--muted); fill:none; stroke-width:1.8; transition:stroke 0.2s; }
.nav-links .nav-home-icon:hover svg,
.nav-links .nav-home-icon.active svg { stroke:var(--gold); }

.nav-drop-trigger { display:inline-flex; align-items:center; gap:0.35rem; background:none; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); padding:0; transition:color 0.2s; }
.nav-drop-trigger:hover, .nav-item.open .nav-drop-trigger { color:var(--gold); }
.nav-drop-trigger .nav-caret { width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px; transition:transform 0.2s; }
.nav-item.open .nav-drop-trigger .nav-caret { transform:rotate(-135deg); margin-top:2px; }

.nav-dropdown {
  position:absolute; top:calc(100% + 1.1rem); left:50%; transform:translateX(-50%);
  min-width:220px; background:var(--warm-white); border:1px solid var(--border);
  box-shadow:0 18px 40px rgba(26,18,8,0.12);
  padding:0.6rem 0; list-style:none;
  opacity:0; visibility:hidden; transform:translateX(-50%) translateY(8px);
  transition:opacity 0.2s, transform 0.2s, visibility 0.2s;
  z-index:210;
}
.nav-item:hover .nav-dropdown,
.nav-item.open .nav-dropdown { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.nav-dropdown li { border:none; }
.nav-dropdown a { display:block; padding:0.65rem 1.5rem; font-size:0.78rem; letter-spacing:0.06em; text-transform:none; white-space:nowrap; color:var(--ink); }
.nav-dropdown a:hover { color:var(--gold); background:rgba(201,168,76,0.08); }
.nav-dropdown-divider { height:1px; background:var(--border); margin:0.4rem 1.2rem; }
.nav-dropdown-viewall { display:block; padding:0.65rem 1.5rem; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); }



/* ================================================================
   SHARED UTILITIES
================================================================ */
section { padding:6rem 4rem; }

.section-label {
  font-size:0.63rem; letter-spacing:0.26em; text-transform:uppercase;
  color:var(--gold); margin-bottom:0.6rem;
  display:flex; align-items:center; gap:0.7rem;
}
.section-label::before { content:''; display:block; width:22px; height:1px; background:var(--gold); }

.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,3.8vw,3rem); font-weight:300; line-height:1.15; color:var(--ink); margin-bottom:1.1rem; }
.section-title em { font-style:italic; color:var(--terracotta); }

.btn-primary { background:var(--gold); color:var(--ink); padding:0.9rem 2.4rem; font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; font-family:'DM Sans',sans-serif; font-weight:500; transition:background 0.2s; display:inline-block; }
.btn-primary:hover { background:#E8C468; }

.city-btn { margin-top: 1.5rem;}

.btn-ghost { color:rgba(250,246,238,0.7); font-size:0.76rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; display:flex; align-items:center; gap:0.5rem; transition:color 0.2s; }
.btn-ghost:hover { color:var(--gold-light); }

.btn-dark { background:var(--ink); color:var(--cream); padding:0.9rem 2.5rem; font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; font-family:'DM Sans',sans-serif; transition:background 0.2s; white-space:nowrap; display:inline-block; }
.btn-dark:hover { background:#2C1A08; }

.breadcrumb { display:flex; gap:0.5rem; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,246,238,0.5); margin-bottom:1.5rem; }
.breadcrumb a { color:var(--gold); text-decoration:none; }

.slider-nav { display:flex; gap:0.4rem; }
.s-arr { width:42px; height:42px; border:1px solid var(--border); background:transparent; cursor:pointer; font-size:1rem; color:var(--muted); display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.s-arr:hover { border-color:var(--gold); color:var(--gold); }

.enquiry-strip { background:var(--gold); padding:3.5rem 4rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.enquiry-strip h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; color:var(--ink); max-width:480px; line-height:1.3; }

/* ── FULL FOOTER (index) ── */
footer { background:#0E0A04; color:rgba(250,246,238,0.52); padding:5rem 4rem 2.5rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:4rem; }
.footer-brand p { font-size:0.8rem; line-height:1.82; max-width:260px; }
.footer-col h4 { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.55rem; }
.footer-col a { font-size:0.8rem; color:rgba(250,246,238,0.47); text-decoration:none; transition:color 0.2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(201,168,76,0.12); padding-top:2rem; display:flex; justify-content:space-between; align-items:center; font-size:0.73rem; }
.social-links { display:flex; gap:1.25rem; }
.social-links a { color:rgba(250,246,238,0.38); text-decoration:none; transition:color 0.2s; font-size:0.73rem; letter-spacing:0.08em; }
.social-links a:hover { color:var(--gold); }

/* ── SLIM FOOTER (inner pages) ── */
footer.slim { padding:2.5rem 4rem; text-align:center; font-size:0.78rem; border-top:1px solid rgba(201,168,76,0.1); }
footer.slim a { color:var(--gold); text-decoration:none; }


/* ================================================================
   INDEX PAGE
================================================================ */

/* Hero Slider */
.hero { position:relative; height:100vh; overflow:hidden; }
.hero-slides { display:flex; height:100%; transition:transform 0.9s cubic-bezier(0.77,0,0.18,1); will-change:transform; }
.hero-slide { position:relative; min-width:100%; height:100%; flex-shrink:0; }
.hero-slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 6s ease-out; }
.hero-slide.active .hero-slide-bg { transform:scale(1); }
.hero-slide-overlay { position:absolute; inset:0; background:linear-gradient(110deg, rgba(26,18,8,0.72) 0%, rgba(26,18,8,0.25) 65%, transparent 100%); }
.hero-slide-content { position:absolute; z-index:2; bottom:14vh; left:4rem; max-width:700px; }
.hero-eyebrow { font-size:0.68rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:1.25rem; display:flex; align-items:center; gap:1rem; opacity:0; transform:translateY(18px); transition:all 0.7s 0.2s; }
.hero-eyebrow::before { content:''; display:block; width:36px; height:1px; background:var(--gold); }
.hero-slide.active .hero-eyebrow { opacity:1; transform:translateY(0); }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,6.5vw,5.2rem); font-weight:300; line-height:1.06; color:#FAF6EE; margin-bottom:1.25rem; opacity:0; transform:translateY(22px); transition:all 0.75s 0.38s; }
.hero-title em { font-style:italic; color:var(--gold-light); }
.hero-slide.active .hero-title { opacity:1; transform:translateY(0); }
.hero-sub { font-size:0.97rem; color:rgba(250,246,238,0.62); line-height:1.82; max-width:460px; margin-bottom:2.5rem; font-weight:300; opacity:0; transform:translateY(18px); transition:all 0.7s 0.55s; }
.hero-slide.active .hero-sub { opacity:1; transform:translateY(0); }
.hero-actions { display:flex; gap:1.5rem; align-items:center; opacity:0; transform:translateY(14px); transition:all 0.65s 0.7s; }
.hero-slide.active .hero-actions { opacity:1; transform:translateY(0); }
.hero-controls { position:absolute; bottom:2.5rem; left:4rem; z-index:10; display:flex; align-items:center; gap:1.25rem; }
.hero-dots { display:flex; gap:0.6rem; }
.hero-dot { width:28px; height:2px; background:rgba(250,246,238,0.3); cursor:pointer; transition:all 0.3s; }
.hero-dot.active { background:var(--gold); width:48px; }
.hero-arrows { display:flex; gap:0.5rem; margin-left:1rem; }
.hero-arr { width:40px; height:40px; border:1px solid rgba(250,246,238,0.3); background:transparent; color:rgba(250,246,238,0.7); font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.hero-arr:hover { border-color:var(--gold); color:var(--gold); }
.hero-scroll { position:absolute; bottom:2.5rem; right:4rem; z-index:10; display:flex; flex-direction:column; align-items:center; gap:0.4rem; }
.hero-scroll span { font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(250,246,238,0.38); writing-mode:vertical-rl; }
.scroll-line { width:1px; height:55px; background:linear-gradient(to bottom, transparent, var(--gold)); }

/* Trending Destinations Slider */
.trending { background:var(--cream); overflow:hidden; }
.trending-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.5rem; }
.trending-header a { font-size:0.73rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); text-decoration:none; }
.dest-slider-wrap { position:relative; overflow:hidden; margin:0 -4rem; padding:0 4rem; }
.dest-slider-track { display:flex; gap:1.25rem; transition:transform 0.6s cubic-bezier(0.4,0,0.2,1); will-change:transform; }
.dest-slide-card { flex:0 0 calc(25% - 0.95rem); min-width:0; position:relative; overflow:hidden; cursor:pointer; text-decoration:none; display:block; }
.dest-slide-card .dsc-img { height:380px; overflow:hidden; position:relative; }
.dest-slide-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; display:block; }
.dest-slide-card:hover img { transform:scale(1.07); }
.dsc-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,18,8,0.82) 0%, rgba(26,18,8,0.1) 55%, transparent 100%); }
.dsc-info { position:absolute; bottom:0; left:0; right:0; padding:1.5rem 1.25rem; color:white; }
.dsc-info .dsc-label { font-size:0.63rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-bottom:0.3rem; }
.dsc-info h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:400; margin-bottom:0.4rem; }
.dsc-tours { font-size:0.7rem; color:var(--gold); letter-spacing:0.06em; }
.dsc-arrow { position:absolute; bottom:1.5rem; right:1.25rem; width:34px; height:34px; border:1px solid rgba(201,168,76,0.5); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:1rem; opacity:0; transform:translateX(-6px); transition:all 0.3s; }
.dest-slide-card:hover .dsc-arrow { opacity:1; transform:translateX(0); }
.trending-controls { display:flex; justify-content:center; gap:0.5rem; margin-top:2rem; }
.tdot { width:6px; height:6px; border-radius:50%; background:var(--gold-light); cursor:pointer; transition:all 0.3s; }
.tdot.active { background:var(--gold); transform:scale(1.4); }

/* Destinations Mosaic */
.destinations { background:var(--cream); padding:6rem 4rem; }
.dest-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.dest-desc { font-size:0.93rem; color:var(--muted); line-height:1.88; max-width:380px; }
.dest-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:340px 200px; gap:0.75rem; }
.dest-card { position:relative; overflow:hidden; cursor:pointer; display:flex; flex-direction:column; text-decoration:none; }
.dest-grid .dest-card:first-child { grid-row:1/3; }
.dest-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; display:block; }
.dest-card:hover img { transform:scale(1.05); }
.dest-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,18,8,0.78) 0%, transparent 55%); }
.dest-info { position:absolute; bottom:1.5rem; left:1.5rem; color:white; }
.dest-info h3 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:400; margin-bottom:0.2rem; }
.dest-info p { font-size:0.73rem; color:rgba(255,255,255,0.58); letter-spacing:0.08em; }
.dest-tag { position:absolute; top:1rem; right:1rem; background:rgba(201,168,76,0.92); color:var(--ink); font-size:0.63rem; padding:0.28rem 0.72rem; letter-spacing:0.1em; text-transform:uppercase; }

/* Experiences Slider */
.experiences { background:var(--warm-white); overflow:hidden; }
.exp-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.5rem; }
.exp-slider-wrap { overflow:hidden; margin:0 -4rem; padding:0 4rem; }
.exp-slider-track { display:flex; gap:1.25rem; transition:transform 0.55s cubic-bezier(0.4,0,0.2,1); }
.exp-card { flex:0 0 calc(25% - 0.95rem); min-width:0; cursor:pointer; text-decoration:none; display:block; }
.exp-img-wrap { width:100%; aspect-ratio:1/1; overflow:hidden; position:relative; }
.exp-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; display:block; }
.exp-card:hover .exp-img-wrap img { transform:scale(1.06); }
.exp-label { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(to top, rgba(26,18,8,0.75) 0%, transparent 55%); padding:1.1rem 1rem; }
.exp-label h3 { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:400; color:#FAF6EE; margin-bottom:0.2rem; }
.exp-label p { font-size:0.72rem; color:rgba(250,246,238,0.6); line-height:1.5; }
.exp-dots { display:flex; justify-content:center; gap:0.5rem; margin-top:2rem; }
.edot { width:6px; height:6px; border-radius:50%; background:var(--gold-light); cursor:pointer; transition:all 0.3s; }
.edot.active { background:var(--gold); transform:scale(1.4); }

/* Featured Tours */
.tours { background:var(--ink); color:var(--cream); }
.tours .section-title { color:var(--cream); }
.tours .section-label { color:var(--gold); }
.tours-slider-wrap { position:relative; overflow:hidden; margin:3rem -4rem 0; padding:0 4rem; }
.tours-grid { display:flex; gap:1.5rem; transition:transform 0.5s ease; }
.tour-card { flex:0 0 calc(33.333% - 1rem); min-width:0; border:1px solid rgba(201,168,76,0.2); overflow:hidden; transition:border-color 0.3s; }
.tours-controls { display:flex; justify-content:center; gap:0.5rem; margin-top:2rem; }
.tour-card:hover { border-color:rgba(201,168,76,0.5); }
.tour-img { height:220px; overflow:hidden; position:relative; }
.tour-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.tour-card:hover .tour-img img { transform:scale(1.05); }
.tour-badge { position:absolute; top:1rem; left:1rem; background:var(--terracotta); color:white; font-size:0.63rem; padding:0.28rem 0.7rem; letter-spacing:0.08em; text-transform:uppercase; }
.tour-body { padding:1.4rem; }
.tour-meta { display:flex; gap:0.9rem; font-size:0.7rem; color:rgba(250,246,238,0.42); margin-bottom:0.7rem; }
.tour-body h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:400; margin-bottom:0.45rem; color:var(--cream); }
.tour-body p { font-size:0.8rem; color:rgba(250,246,238,0.52); line-height:1.72; margin-bottom:1.1rem; }
.tour-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(201,168,76,0.14); padding-top:0.9rem; }
.tour-price { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:var(--gold); }
.tour-price span { font-family:'DM Sans',sans-serif; font-size:0.68rem; color:rgba(250,246,238,0.38); display:block; }
.tour-link { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); text-decoration:none; display:flex; align-items:center; gap:0.35rem; transition:gap 0.2s; }
.tour-link:hover { gap:0.7rem; }

/* Testimonial */
.testimonial { background:var(--cream); text-align:center; padding:6rem 8rem; }
.quote-mark { font-family:'Cormorant Garamond',serif; font-size:7rem; line-height:0.5; color:var(--gold); opacity:0.28; margin-bottom:1.75rem; }
.testimonial blockquote { font-family:'Cormorant Garamond',serif; font-size:1.65rem; font-weight:300; font-style:italic; line-height:1.62; color:var(--ink); max-width:700px; margin:0 auto 1.75rem; }
.testimonial cite { font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.testimonial-dots { display:flex; justify-content:center; gap:0.5rem; margin-top:2rem; }
.dot { width:6px; height:6px; border-radius:50%; background:var(--gold-light); cursor:pointer; }
.dot.active { background:var(--gold); }

/* Why Us */
.why { background:var(--warm-white); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.why-img { position:relative; }
.why-img img { width:100%; height:500px; object-fit:cover; }
.why-img-accent { position:absolute; bottom:-1.5rem; right:-1.5rem; width:180px; height:180px; border:2px solid var(--gold); opacity:0.28; }
.why-stat { position:absolute; bottom:2rem; left:-2rem; background:var(--ink); color:var(--cream); padding:1.4rem 1.8rem; }
.why-stat .num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--gold); display:block; }
.why-stat .label { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(250,246,238,0.48); }
.why-points { display:flex; flex-direction:column; gap:1.6rem; margin-top:2.25rem; }
.why-point { display:flex; gap:1.2rem; align-items:flex-start; }
.why-num { font-family:'Cormorant Garamond',serif; font-size:1.35rem; color:var(--gold); min-width:2rem; margin-top:-0.15rem; }
.why-point h4 { font-size:0.88rem; font-weight:500; margin-bottom:0.3rem; }
.why-point p { font-size:0.8rem; color:var(--muted); line-height:1.72; }

/* Affiliations */
.affiliations { background:var(--cream); padding:4rem; }
.affiliations-header { text-align:center; margin-bottom:2.75rem; }
.affiliations-header .section-label { justify-content:center; }
.affiliations-header h2 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; }
.affiliations-header p { font-size:0.85rem; color:var(--muted); margin-top:0.5rem; }
.aff-track-wrap { overflow:hidden; position:relative; }
.aff-track-wrap::before,
.aff-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.aff-track-wrap::before { left:0; background:linear-gradient(to right, var(--cream), transparent); }
.aff-track-wrap::after  { right:0; background:linear-gradient(to left,  var(--cream), transparent); }
.aff-track { display:flex; gap:0; animation:scrollAff 28s linear infinite; width:max-content; }
.aff-track:hover { animation-play-state:paused; }
@keyframes scrollAff { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.aff-logo { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 2.5rem; gap:0.6rem; border-right:1px solid var(--border); flex-shrink:0; height:90px; }
.aff-logo .aff-icon { height:40px; width:auto; max-width:120px; object-fit:contain; filter:grayscale(100%) opacity(0.65); transition:filter 0.3s; }
.aff-logo:hover .aff-icon { filter:grayscale(0%) opacity(1); }
.aff-logo .aff-name { font-size:0.65rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); white-space:nowrap; font-weight:500; }
.aff-logo .aff-sub  { font-size:0.58rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }


/* ================================================================
   DESTINATIONS INDEX PAGE
================================================================ */
.page-hero { padding:10rem 4rem 5rem; background:var(--cream); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:0; right:0; width:40%; height:100%; background-image:url('https://images.unsplash.com/photo-1564507592333-c60657eea523?w=800&q=80'); background-size:cover; background-position:center; opacity:0.15; }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,5vw,4rem); font-weight:300; line-height:1.1; max-width:580px; }
.page-hero h1 em { font-style:italic; color:var(--terracotta); }
.page-hero p { font-size:0.95rem; color:var(--muted); line-height:1.85; max-width:480px; margin-top:1.25rem; }

.filter-bar { background:var(--warm-white); border-bottom:1px solid var(--border); padding:1.25rem 4rem; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; position:sticky; top:72px; z-index:50; }
.filter-label { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-right:0.5rem; }
.filter-btn { padding:0.45rem 1.1rem; font-size:0.75rem; letter-spacing:0.07em; text-transform:uppercase; border:1px solid var(--border); background:transparent; color:var(--muted); cursor:pointer; font-family:'DM Sans',sans-serif; transition:all 0.2s; }
.filter-btn.active,
.filter-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.06); }

.dest-section { padding:4rem; }
.region-title { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:400; margin-bottom:2rem; display:flex; align-items:center; gap:1.5rem; color:var(--ink); }
.region-title::after { content:''; flex:1; height:1px; background:var(--border); }

.dest-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; margin-bottom:4rem; }
.dest-card-img { height:280px; overflow:hidden; }
.dest-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.dest-card:hover .dest-card-img img { transform:scale(1.06); }
.dest-card-body { padding:1.25rem 0 0; display:flex; flex-direction:column; flex:1; }
.dest-card-meta { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:0.4rem; }
.dest-card-body h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:400; margin-bottom:0.4rem; color:var(--ink); }
.dest-card-body p { font-size:0.82rem; color:var(--muted); line-height:1.7; }
.dest-card-footer { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:0.85rem; border-top:1px solid var(--border); }
.dest-card-tours { font-size:0.75rem; color:var(--muted); }
.dest-card-link { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:0.35rem; }
.dest-card-wide { grid-column:span 2; }

.dest-layout { display:grid; grid-template-columns:1fr 320px; gap:4rem; padding:0 4rem 5rem; align-items:start; }
.promo-box { background:var(--ink); color:var(--cream); padding:2.5rem; position:sticky; top:140px; }
.promo-box h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:400; margin-bottom:1rem; }
.promo-box p { font-size:0.82rem; line-height:1.8; color:rgba(250,246,238,0.6); margin-bottom:1.5rem; }
.promo-box a { display:block; text-align:center; background:var(--gold); color:var(--ink); padding:0.8rem; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; }
.promo-divider { height:1px; background:rgba(201,168,76,0.2); margin:1.5rem 0; }
.promo-stat { display:flex; justify-content:space-between; align-items:baseline; }
.promo-stat .n { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--gold); }
.promo-stat .l { font-size:0.72rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(250,246,238,0.4); }


/* ================================================================
   DESTINATION DETAIL PAGE
================================================================ */
.dest-hero { height:80vh; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.dest-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; background-attachment:fixed; }
.dest-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(26,18,8,0.4) 0%, rgba(26,18,8,0.65) 100%); }
.dest-hero-content { position:relative; z-index:2; color:var(--cream); }
.dest-hero-content .eyebrow { font-size:0.7rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:1.25rem; }
.dest-hero-content h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(3.5rem,8vw,6.5rem); font-weight:300; line-height:0.95; margin-bottom:1.25rem; }
.dest-hero-content h1 em { font-style:italic; color:var(--gold-light); }
.dest-hero-stats { display:flex; gap:3rem; justify-content:center; margin-top:2.5rem; }
.hero-stat { text-align:center; }
.hero-stat .n { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--gold); display:block; }
.hero-stat .l { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(250,246,238,0.5); }

.info-bar { background:var(--ink); color:var(--cream); display:flex; }
.info-item { flex:1; padding:1.25rem 2rem; border-right:1px solid rgba(201,168,76,0.15); }
.info-item:last-child { border-right:none; }
.info-item .lbl { font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(250,246,238,0.35); margin-bottom:0.35rem; }
.info-item .val { font-size:0.88rem; color:var(--cream); }

.intro-section { padding:5.5rem 4rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.intro-text .section-label { font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:0.75rem; margin-bottom:0.75rem; }
.intro-text .section-label::before { content:''; display:block; width:20px; height:1px; background:var(--gold); }
.intro-text h2 { font-family:'Cormorant Garamond',serif; font-size:2.5rem; font-weight:300; line-height:1.2; margin-bottom:1.25rem; }
.intro-text h2 em { font-style:italic; color:var(--terracotta); }
.intro-text p { font-size:0.9rem; color:var(--muted); line-height:1.9; margin-bottom:1rem; }
.intro-img { position:relative; }
.intro-img img { width:100%; height:460px; object-fit:cover; }
.intro-img-accent { position:absolute; top:-1.5rem; right:-1.5rem; width:160px; height:160px; border:1px solid var(--gold); opacity:0.3; }

.highlights-section {
	margin-bottom: 3.5rem;
}
.highlights { background:var(--cream); padding:5rem 4rem; }
.highlights h2 { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; text-align:center; margin-bottom:0.5rem; }
.highlights h2 em { font-style:italic; color:var(--terracotta); }
.highlights-sub { text-align:center; font-size:0.85rem; color:var(--muted); margin-bottom:3rem; }
.hl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--border); }
.hl-card { padding:2.5rem 2rem; border-right:1px solid var(--border); border-bottom:1px solid var(--border); position:relative; }
.hl-card:nth-child(3n) { border-right:none; }
.hl-card:nth-child(4), .hl-card:nth-child(5), .hl-card:nth-child(6) { border-bottom:none; }
.hl-num { font-family:'Cormorant Garamond',serif; font-size:3rem; color:rgba(201,168,76,0.2); font-weight:300; position:absolute; top:1.5rem; right:1.5rem; line-height:1; }
.hl-icon { font-size:1.6rem; margin-bottom:1rem; }
.hl-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; margin-bottom:0.5rem; }
.hl-card p { font-size:0.82rem; color:var(--muted); line-height:1.7; }

.best-time { padding:5rem 4rem; display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; align-items:start; }
.bt-label { font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:0.75rem; margin-bottom:0.75rem; }
.bt-label::before { content:''; display:block; width:20px; height:1px; background:var(--gold); }
.best-time h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; margin-bottom:1.25rem; }
.season-grid { display:flex; flex-direction:column; gap:0.75rem; }
.season-item { display:flex; align-items:stretch; gap:1rem; border:1px solid var(--border); padding:1.1rem 1.25rem; cursor:pointer; transition:border-color 0.2s; }
.season-item:hover { border-color:var(--gold); }
.season-bar { width:4px; background:var(--border); border-radius:2px; }
.season-item.peak .season-bar  { background:var(--gold); }
.season-item.good .season-bar  { background:var(--terracotta); }
.season-item.avoid .season-bar { background:var(--muted); }
.season-info h4 { font-size:0.88rem; font-weight:500; margin-bottom:0.25rem; }
.season-info p  { font-size:0.8rem; color:var(--muted); line-height:1.6; }
.season-badge { margin-left:auto; align-self:center; font-size:0.65rem; padding:0.25rem 0.65rem; letter-spacing:0.07em; text-transform:uppercase; }
.peak .season-badge  { background:rgba(201,168,76,0.15); color:var(--gold-dark); }
.good .season-badge  { background:rgba(184,92,56,0.12);  color:var(--terracotta); }
.avoid .season-badge { background:rgba(107,94,74,0.12);  color:var(--muted); }

.cities { background:var(--ink); padding:5rem 4rem; }
.reach { background:var(--cream); padding:5rem 4rem; }
.cities .section-label { color:var(--gold); font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; display:flex; align-items:center; gap:0.75rem; margin-bottom:0.75rem; }
.cities .section-label::before { content:''; display:block; width:20px; height:1px; background:var(--gold); }
.cities h2 { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; color:var(--cream); margin-bottom:2.5rem; }
.cities h2 em { font-style:italic; color:var(--gold-light); }
.city-tabs { display:flex; gap:0; margin-bottom:2rem; border-bottom:1px solid rgba(201,168,76,0.2); }
.city-tab { padding:0.75rem 1.5rem; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,246,238,0.4); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all 0.2s; }
.city-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.city-content { display:none; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:start; }
.city-content.active { display:grid; }
.city-content img { width:100%; height:320px; object-fit:cover; }
.city-content h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:400; color:var(--cream); margin-bottom:0.75rem; }
.city-content p { font-size:0.88rem; line-height:1.85; color:rgba(250,246,238,0.6); margin-bottom:1.25rem; }
.city-must { list-style:none; display:flex; flex-direction:column; gap:0.5rem; }
.city-must li { font-size:0.82rem; color:rgba(250,246,238,0.5); display:flex; gap:0.6rem; }
.city-must li::before { content:'→'; color:var(--gold); }

.tours-strip { padding:5rem 4rem; background:var(--cream); }
.tours-strip h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; margin-bottom:2.5rem; display:flex; align-items:baseline; gap:1.5rem; }
.tours-strip h2 a { font-size:0.78rem; font-family:'DM Sans',sans-serif; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); text-decoration:none; }
.t-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.t-card { background:var(--warm-white); border:1px solid var(--border); text-decoration:none; color:inherit; display:block; transition:border-color 0.2s; }
.t-card:hover { border-color:var(--gold); }
.t-card img { width:100%; height:160px; object-fit:cover; }
.t-card-body { padding:1rem; }
.t-card-body .nights { font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:0.3rem; }
.t-card-body h4 { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:400; margin-bottom:0.5rem; }
.t-card-body .price { font-size:0.8rem; color:var(--muted); }


/* ================================================================
   ITINERARY PAGE
================================================================ */
.itinerary-hero { height:70vh; position:relative; display:flex; align-items:flex-end; padding:4rem; }
.itinerary-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,18,8,0.85) 0%, rgba(26,18,8,0.2) 60%, transparent 100%); }
.hero-content { position:relative; z-index:2; color:var(--cream); max-width:680px; }
.badges { display:flex; gap:0.75rem; margin-bottom:1.25rem; }
.badge { padding:0.3rem 0.85rem; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; }
.badge-gold { background:var(--gold); color:var(--ink); }
.badge-outline { border:1px solid rgba(250,246,238,0.3); color:rgba(250,246,238,0.7); }
.hero-content h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4.5vw,3.5rem); font-weight:300; line-height:1.1; margin-bottom:1rem; }
.hero-meta { display:flex; gap:2.5rem; margin-top:1.5rem; }
.hero-meta-item { display:flex; flex-direction:column; gap:0.2rem; }
.hero-meta-item .label { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(250,246,238,0.45); }
.hero-meta-item .value { font-size:0.9rem; color:var(--cream); }

.page-layout { display:grid; grid-template-columns:1fr 360px; gap:0; max-width:1400px; margin:0 auto; padding:0 4rem; }
.main-col { padding:3.5rem 4rem 5rem 0; border-right:1px solid var(--border); }
.side-col { padding:3.5rem 0 5rem 3rem; position:sticky; top:80px; height:fit-content; }

.overview { margin-bottom:3.5rem; }
.overview p { font-size:0.9rem; color:var(--muted); line-height:1.9; margin-bottom:1rem; text-align: justify;}
.highlights-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; margin-top:1.5rem; }
.highlight { display:flex; align-items:flex-start; gap:0.75rem; padding:1rem; background:var(--cream); }
.highlight-icon { color:var(--gold); font-size:1.1rem; margin-top:0.1rem; }
.highlight-text { font-size:0.82rem; color:var(--muted); line-height:1.6; }

/* Day-by-day timeline */
.itinerary-section { margin-bottom:3.5rem; }
.day-list { border-left:2px solid var(--border); margin-left:0.75rem; padding-left:0; }
.day-item { position:relative; padding:0 0 2.5rem 2.5rem; cursor:pointer; }
.day-item:last-child { padding-bottom:0; }
.day-dot { position:absolute; left:-0.55rem; top:0.25rem; width:1rem; height:1rem; border-radius:50%; background:var(--warm-white); border:2px solid var(--gold); transition:background 0.2s; }
.day-item.active .day-dot { background:var(--gold); }
.day-header { display:flex; justify-content:space-between; align-items:flex-start; }
.day-num { font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.3rem; }
.day-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; margin-bottom:0.25rem; color:var(--ink); }
.day-sub { font-size:0.78rem; color:var(--muted); margin-bottom:0.75rem; }
.day-subtitle { font-size:0.78rem; color:var(--muted); margin-bottom:0.75rem; }
.day-toggle { font-size:1.2rem; color:var(--muted); transition:transform 0.2s; flex-shrink:0; margin-top:0.1rem; }
.day-item.active .day-toggle { transform:rotate(45deg); color:var(--gold); }
.day-body { font-size:0.85rem; color:var(--muted); line-height:1.8; display:none; }
.day-item.active .day-body { display:block; }
.day-body p { margin-bottom:1rem; }
.day-activities { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:0.85rem; }
.activity-tag { padding:0.25rem 0.75rem; border:1px solid var(--border); font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:0.35rem; }

/* Day info strip */
.day-info-strip { display:flex; flex-wrap:wrap; gap:0; margin-top:1.25rem; background:var(--cream); }
.day-info-pill { display:flex; align-items:center; gap:0.55rem; padding:0.65rem 1.1rem; border-right:1px solid var(--border); }
.day-info-pill:last-child { border-right:none; }
.pill-icon { font-size:1rem; flex-shrink:0; }
.pill-label { font-size:0.58rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); display:block; line-height:1; margin-bottom:0.15rem; }
.pill-val { font-size:0.78rem; color:var(--ink); font-weight:500; display:block; line-height:1.2; }

/* Inclusions */
.inclusions { margin-bottom:3.5rem; }
.inc-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.5rem; margin-top:1.25rem; }
.inc-item { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.83rem; color:var(--muted); padding:0.5rem 0; }
.inc-icon { color:var(--gold); font-size:0.9rem; margin-top:0.15rem; }
.exc-item .inc-icon { color:var(--terracotta); }

/* Gallery */
.gallery { margin-bottom:3.5rem; }
.gallery-grid { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:200px 200px; gap:0.5rem; margin-top:1.25rem; }
.gallery-item { overflow:hidden; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-item:first-child { grid-row:1/3; }

/* FAQ */
.faq-section { margin-bottom:3.5rem; }
.faq-list { display:flex; flex-direction:column; gap:0; margin-top:1.5rem; border-top:1px solid var(--border); }
.faq-item { border-bottom:1px solid var(--border); }
.faq-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.25rem 0; background:none; border:none; cursor:pointer; text-align:left; gap:1.5rem; font-family:'DM Sans',sans-serif; }
.faq-trigger:hover .faq-q { color:var(--gold); }
.faq-q { font-size:0.92rem; font-weight:500; color:var(--ink); line-height:1.5; transition:color 0.2s; flex:1; }
.faq-icon { width:32px; height:32px; border:1px solid var(--border); border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.1rem; font-weight:300; transition:all 0.3s; line-height:1; }
.faq-item.open .faq-icon { background:var(--gold); color:var(--ink); transform:rotate(45deg); border-color:var(--gold); }
.faq-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }
.faq-item.open .faq-body { max-height:400px; }
.faq-body p { font-size:0.875rem; color:var(--muted); line-height:1.85; padding-bottom:1.4rem; }
.faq-body a { color:var(--gold); text-decoration:none; }
.faq-body a:hover { text-decoration:underline; }

/* Sidebar booking card */
.booking-card { background:var(--ink); color:var(--cream); padding:2rem; margin-bottom:1.5rem; }
.price-display { text-align:center; padding:1.25rem 0; border-bottom:1px solid rgba(201,168,76,0.2); margin-bottom:1.5rem; }
.price-label { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(250,246,238,0.4); margin-bottom:0.25rem; }
.price-num { font-family:'Cormorant Garamond',serif; font-size:2.5rem; color:var(--gold); }
.price-sub { font-size:0.72rem; color:rgba(250,246,238,0.35); }
.booking-meta { display:flex; flex-direction:column; gap:0.85rem; margin-bottom:1.5rem; }
.book-meta-row { display:flex; justify-content:space-between; font-size:0.8rem; }
.book-meta-row .lbl { color:rgba(250,246,238,0.4); }
.book-meta-row .val { color:var(--cream); }
.btn-book { display:block; text-align:center; background:var(--gold); color:var(--ink); padding:1rem; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; font-family:'DM Sans',sans-serif; font-weight:500; margin-bottom:0.75rem; }
.btn-enquire { display:block; text-align:center; border:1px solid rgba(201,168,76,0.4); color:var(--gold); padding:0.85rem; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; }
.trust-badges { display:flex; justify-content:center; gap:1.5rem; margin-top:1.25rem; }
.trust-item { text-align:center; }
.trust-item .t-icon { font-size:1.2rem; display:block; margin-bottom:0.3rem; }
.trust-item span { font-size:0.65rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(250,246,238,0.35); }
.similar-tours h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; margin-bottom:1.25rem; }
.similar-card { display:flex; gap:0.85rem; padding:0.75rem 0; border-bottom:1px solid var(--border); text-decoration:none; color:inherit; }
.similar-card:last-child { border-bottom:none; }
.similar-thumb { width:70px; height:60px; object-fit:cover; flex-shrink:0; }
.similar-info { display:flex; flex-direction:column; justify-content:center; }
.similar-info .s-title { font-size:0.85rem; font-weight:500; margin-bottom:0.2rem; }
.similar-info .s-meta { font-size:0.72rem; color:var(--muted); }


/* ================================================================
   QUERY FORM PAGE
================================================================ */
.page-wrapper { display:grid; grid-template-columns:1fr 1fr; height:100vh; overflow:hidden; }

.left-panel { background:var(--ink); padding:8rem 5rem 5rem; display:flex; flex-direction:column; justify-content:space-between; height:100%; overflow-y:auto; position:relative; }
.left-panel-bg { position:absolute; inset:0; background-image:url('https://images.unsplash.com/photo-1524492412937-b28074a5d7da?w=800&q=80'); background-size:cover; background-position:center; opacity:0.12; }
.left-content { position:relative; z-index:2; }
.eyebrow { font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:0.75rem; margin-bottom:1.5rem; }
.eyebrow::before { content:''; display:block; width:24px; height:1px; background:var(--gold); }
.left-content h1 { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; line-height:1.1; color:var(--cream); margin-bottom:1.25rem; }
.left-content h1 em { font-style:italic; color:var(--gold-light); }
.left-content p { font-size:0.88rem; color:rgba(250,246,238,0.55); line-height:1.85; max-width:380px; }
.trust-list { position:relative; z-index:2; display:flex; flex-direction:column; gap:1rem; margin-top:3rem; }
.t-icon { width:36px; height:36px; border:1px solid rgba(201,168,76,0.3); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.t-text h4 { font-size:0.82rem; font-weight:500; color:var(--cream); margin-bottom:0.2rem; }
.t-text p { font-size:0.75rem; color:rgba(250,246,238,0.4); line-height:1.5; }
.contact-strip { position:relative; z-index:2; padding-top:2rem; border-top:1px solid rgba(201,168,76,0.15); }
.contact-strip p { font-size:0.75rem; color:rgba(250,246,238,0.35); margin-bottom:0.75rem; letter-spacing:0.07em; text-transform:uppercase; }
.contact-methods { display:flex; flex-direction:column; gap:0.4rem; }
.contact-methods a { font-size:0.85rem; color:var(--gold); text-decoration:none; }

.right-panel { padding:8rem 5rem 5rem; height:100%; overflow-y:auto; }
.form-intro { margin-bottom:2.5rem; }
.form-intro h2 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:400; margin-bottom:0.5rem; }
.form-intro p { font-size:0.85rem; color:var(--muted); }

.progress-steps { display:flex; gap:0; margin-bottom:2.5rem; }
.step { flex:1; padding:0.75rem 1rem; text-align:center; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; border-bottom:2px solid var(--border); color:var(--muted); cursor:pointer; transition:all 0.2s; }
.step.active { border-bottom-color:var(--gold); color:var(--gold); }
.step.done   { border-bottom-color:var(--terracotta); color:var(--terracotta); }

.form-section { display:none; }
.form-section.active { display:block; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem; }
.form-row.full { grid-template-columns:1fr; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; }
.form-group label { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.form-group input,
.form-group select,
.form-group textarea { padding:0.8rem 1rem; border:1px solid var(--border-input); background:transparent; font-family:'DM Sans',sans-serif; font-size:0.88rem; color:var(--ink); transition:border-color 0.2s; outline:none; appearance:none; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-group select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B5E4A' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }

.check-group { display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; margin-bottom:1.25rem; }
.check-item { position:relative; }
.check-item input[type="checkbox"] { position:absolute; opacity:0; width:0; height:0; }
.check-item label { display:flex; align-items:center; gap:0.6rem; padding:0.7rem 1rem; border:1px solid var(--border-input); cursor:pointer; font-size:0.82rem; color:var(--muted); transition:all 0.2s; }
.check-item input:checked + label { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.06); }
.check-item label::before { content:''; width:14px; height:14px; border:1px solid currentColor; flex-shrink:0; transition:all 0.2s; }
.check-item input:checked + label::before { background:var(--gold); border-color:var(--gold); }

.budget-display { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:0.75rem; }
.budget-val { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--gold); }
.budget-label { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
input[type="range"] { width:100%; height:2px; background:var(--border); outline:none; border:none; margin-bottom:0.5rem; accent-color:var(--gold); }
.budget-range-labels { display:flex; justify-content:space-between; font-size:0.72rem; color:var(--muted); }

.count-row { display:flex; gap:1.25rem; margin-bottom:1.25rem; }
.count-item { flex:1; border:1px solid var(--border-input); padding:1rem; }
.count-item .c-label { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:0.5rem; }
.count-controls { display:flex; align-items:center; gap:0.75rem; }
.count-btn { width:28px; height:28px; border:1px solid var(--border-input); background:transparent; cursor:pointer; font-size:1rem; color:var(--ink); display:flex; align-items:center; justify-content:center; font-family:'DM Sans',sans-serif; transition:all 0.2s; }
.count-btn:hover { border-color:var(--gold); color:var(--gold); }
.count-num { font-family:'Cormorant Garamond',serif; font-size:1.4rem; min-width:1.5rem; text-align:center; }

.form-nav { display:flex; justify-content:space-between; align-items:center; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.btn-prev { background:transparent; border:1px solid var(--border-input); padding:0.8rem 1.75rem; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; font-family:'DM Sans',sans-serif; color:var(--muted); transition:all 0.2s; }
.btn-prev:hover { border-color:var(--gold); color:var(--gold); }
.btn-next { background:var(--gold); border:none; padding:0.8rem 2.5rem; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; font-family:'DM Sans',sans-serif; color:var(--ink); font-weight:500; transition:background 0.2s; }
.btn-next:hover { background:var(--gold-dark); color:white; }
.step-indicator { font-size:0.75rem; color:var(--muted); }

.success-screen { display:none; text-align:center; padding:3rem 0; }
.success-screen.visible { display:block; }
.success-icon { font-size:3.5rem; margin-bottom:1.5rem; }
.success-screen h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; margin-bottom:0.75rem; }
.success-screen p { font-size:0.88rem; color:var(--muted); line-height:1.8; max-width:380px; margin:0 auto; }
.success-ref { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--gold); margin:1.5rem 0; }

.form-divider { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); margin:1.5rem 0 1rem; display:flex; align-items:center; gap:0.75rem; }
.form-divider::before,
.form-divider::after { content:''; flex:1; height:1px; background:var(--border); }


/* ================================================================
   RESPONSIVE — Mobile & Tablet
   Breakpoints:
     768px  → tablet  (md)
     480px  → mobile  (sm)
================================================================ */

/* ── HAMBURGER BUTTON (hidden on desktop) ── */
.nav-hamburger {
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:36px; height:36px;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:4px;
  z-index:300;
}
.nav-hamburger span {
  display:block;
  height:2px;
  background:var(--ink);
  border-radius:2px;
  transition:all 0.3s;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }


/* ================================================================
   TABLET  ≤ 1024px
================================================================ */
@media (max-width: 1024px) {

  /* Nav */
  nav { padding:1rem 2rem; }

  /* Sections */
  section { padding:4.5rem 2rem; }
  .enquiry-strip { padding:2.5rem 2rem; }
  footer { padding:4rem 2rem 2rem; }
  footer.slim { padding:2rem; }

  /* Hero */
  .hero-slide-content { left:2rem; max-width:90%; }
  .hero-controls { left:2rem; }
  .hero-scroll { right:2rem; }

  /* Trending slider */
  .dest-slider-wrap { margin:0 -2rem; padding:0 2rem; }
  .dest-slide-card { flex:0 0 calc(33.33% - 0.85rem); }

  /* Tours slider */
  .tours-slider-wrap { margin:3rem -2rem 0; padding:0 2rem; }
  .tour-card { flex:0 0 calc(50% - 0.75rem); }

  /* Destinations mosaic */
  .destinations { padding:4.5rem 2rem; }
  .dest-intro { gap:2rem; }
  .dest-grid { grid-template-columns:1.5fr 1fr; grid-template-rows:280px 180px 180px; }
  .dest-grid .dest-card:first-child { grid-row:1/3; }
  .dest-grid .dest-card:nth-child(4),
  .dest-grid .dest-card:nth-child(5) { grid-row:auto; }

  /* Experiences slider */
  .exp-slider-wrap { margin:0 -2rem; padding:0 2rem; }
  .exp-card { flex:0 0 calc(33.33% - 0.85rem); }

  /* Tours */
  .tours-grid { grid-template-columns:repeat(2,1fr); }

  /* Testimonial */
  .testimonial { padding:4rem 3rem; }

  /* Why Us */
  .why-grid { gap:3rem; }
  .why-img img { height:400px; }
  .why-stat { left:-1rem; }

  /* Affiliations */
  .affiliations { padding:3rem 2rem; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }

  /* Destinations index */
  .page-hero { padding:8rem 2rem 3.5rem; }
  .filter-bar { padding:1rem 2rem; }
  .dest-layout { grid-template-columns:1fr; padding:0 2rem 4rem; gap:2rem; }
  .promo-box { position:static; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
  .dest-section { padding:3rem 2rem; }
  .dest-list { grid-template-columns:repeat(2,1fr); }
  .dest-card-wide { grid-column:span 2; }

  /* Destination detail */
  .intro-section { padding:4rem 2rem; gap:3rem; }
  .highlights { padding:4rem 2rem; }
  .hl-grid { grid-template-columns:repeat(2,1fr); }
  .hl-card:nth-child(2n) { border-right:none; }
  .hl-card:nth-child(3n) { border-right:1px solid var(--border); }
  .hl-card:nth-child(4),
  .hl-card:nth-child(5) { border-bottom:1px solid var(--border); }
  .hl-card:nth-child(6) { border-bottom:none; }
  .best-time { padding:4rem 2rem; gap:3rem; }
  .cities { padding:4rem 2rem; }
  .city-content { gap:2rem; }
  .tours-strip { padding:4rem 2rem; }
  .t-strip { grid-template-columns:repeat(2,1fr); }

  /* Itinerary */
  .itinerary-hero { padding:2rem; }
  .page-layout { grid-template-columns:1fr; padding:0 2rem; }
  .main-col { padding:3rem 0 2rem; border-right:none; }
  .side-col { padding:0 0 3rem; position:static; }
  .hero-meta { flex-wrap:wrap; gap:1.25rem; }
  .inc-grid { grid-template-columns:1fr; }

  /* Query form */
  .page-wrapper { grid-template-columns:1fr; }
  .left-panel { position:static; height:auto; padding:7rem 2rem 2.5rem; }
  .right-panel { padding:2.5rem 2rem 4rem; }
  .count-row { flex-wrap:wrap; }
}


/* ================================================================
   MOBILE  ≤ 768px
================================================================ */
@media (max-width: 768px) {

  /* ── NAV ── */
  nav { padding:0.9rem 1.25rem; }
  .nav-logo img { height:36px; }
  .nav-links { display:none; flex-direction:column; gap:0; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(255,253,248,0.98); z-index:250; padding:5rem 2rem 2rem; overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links li { border-bottom:1px solid var(--border); }
  .nav-links a { display:block; padding:1rem 0; font-size:0.9rem; letter-spacing:0.1em; }
  .nav-cta { display:none; }
  .nav-hamburger { display:flex; }

  /* Mobile: dropdowns become inline accordions instead of hover-flyouts */
  .nav-drop-trigger { width:100%; justify-content:space-between; padding:1rem 0; font-size:0.9rem; }
  .nav-dropdown { position:static; transform:none; opacity:1; visibility:visible; display:none; min-width:0; width:100%; box-shadow:none; border:none; background:rgba(201,168,76,0.05); padding:0.25rem 0; }
  .nav-item.open .nav-dropdown { display:block; transform:none; }
  .nav-dropdown a { padding:0.75rem 1rem; font-size:0.82rem; }
  .nav-dropdown-viewall { padding:0.75rem 1rem; }

  /* ── HERO ── */
  .hero { height:100svh; min-height:560px; }
  .hero-slide-content { left:1.25rem; right:1.25rem; bottom:10vh; max-width:100%; }
  .hero-title { font-size:clamp(2.2rem,8vw,3.5rem); }
  .hero-sub { font-size:0.88rem; max-width:100%; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:0.85rem; }
  .btn-primary { width:100%; text-align:center; }
  .hero-controls { left:1.25rem; bottom:1.5rem; }
  .hero-scroll { display:none; }

  /* ── SECTIONS ── */
  section { padding:3.5rem 1.25rem; }
  .enquiry-strip { flex-direction:column; align-items:flex-start; padding:2rem 1.25rem; gap:1.25rem; }
  .enquiry-strip h2 { font-size:1.5rem; }
  footer { padding:3rem 1.25rem 1.5rem; }
  footer.slim { padding:1.5rem 1.25rem; }

  /* ── SECTION LABELS / TITLES ── */
  .section-title { font-size:clamp(1.7rem,6vw,2.4rem); }

  /* ── TRENDING DESTINATION SLIDER ── */
  .trending { padding:3.5rem 1.25rem; }
  .dest-slider-wrap { margin:0 -1.25rem; padding:0 1.25rem; }
  .dest-slide-card { flex:0 0 calc(80% - 1rem); }
  .dest-slide-card .dsc-img { height:300px; }
  .trending-header { flex-direction:column; align-items:flex-start; gap:1rem; }

  /* ── TOURS SLIDER ── */
  .tours-slider-wrap { margin:2.5rem -1.25rem 0; padding:0 1.25rem; }
  .tour-card { flex:0 0 calc(85% - 0.75rem); }

  /* ── DESTINATIONS MOSAIC ── */
  .destinations { padding:3.5rem 1.25rem; }
  .dest-intro { grid-template-columns:1fr; gap:1rem; margin-bottom:2rem; }
  .dest-grid { display:flex; flex-direction:column; gap:0.5rem; }
  .dest-grid .dest-card { height:220px; }
  .dest-grid .dest-card:first-child { height:280px; grid-row:auto; }
  .dest-info h3 { font-size:1.3rem; }

  /* ── EXPERIENCES SLIDER ── */
  .experiences { padding:3.5rem 1.25rem; }
  .exp-slider-wrap { margin:0 -1.25rem; padding:0 1.25rem; }
  .exp-card { flex:0 0 calc(80% - 1rem); }
  .exp-header { flex-direction:column; align-items:flex-start; gap:1rem; }

  /* ── FEATURED TOURS ── */
  .tours { padding:3.5rem 1.25rem; }
  .tours-grid { grid-template-columns:1fr; }

  /* ── TESTIMONIAL ── */
  .testimonial { padding:3rem 1.25rem; }
  .testimonial blockquote { font-size:1.25rem; }
  .quote-mark { font-size:5rem; }

  /* ── WHY US ── */
  .why { padding:3.5rem 1.25rem; }
  .why-grid { grid-template-columns:1fr; gap:2rem; }
  .why-img { display:none; }

  /* ── AFFILIATIONS ── */
  .affiliations { padding:2.5rem 1.25rem; }

  /* ── FOOTER ── */
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:1rem; text-align:center; }
  .social-links { justify-content:center; }

  /* ── DESTINATIONS INDEX ── */
  .page-hero { padding:6rem 1.25rem 2.5rem; }
  .filter-bar { padding:0.75rem 1.25rem; gap:0.5rem; top:64px; }
  .filter-btn { font-size:0.68rem; padding:0.35rem 0.75rem; }
  .dest-section { padding:2rem 1.25rem; }
  .dest-list { grid-template-columns:1fr; }
  .dest-card-wide { grid-column:span 1; }
  .dest-card-wide .dest-card-img { height:240px; }
  .dest-layout { padding:0 1.25rem 3rem; }
  .promo-box { display:block; }
  .region-title { font-size:1.3rem; }

  /* ── DESTINATION DETAIL ── */
  .dest-hero { height:60vh; min-height:400px; }
  .dest-hero-content h1 { font-size:clamp(2.8rem,10vw,4.5rem); }
  .dest-hero-stats { gap:1.5rem; flex-wrap:wrap; justify-content:center; }
  .info-bar { flex-wrap:wrap; }
  .info-item { flex:0 0 50%; border-bottom:1px solid rgba(201,168,76,0.15); }
  .info-item:nth-child(even) { border-right:none; }
  .intro-section { grid-template-columns:1fr; padding:3rem 1.25rem; gap:2rem; }
  .intro-img { display:none; }
  .highlights { padding:3rem 1.25rem; }
  .hl-grid { grid-template-columns:1fr; }
  .hl-card { border-right:none !important; border-bottom:1px solid var(--border) !important; }
  .hl-card:last-child { border-bottom:none !important; }
  .best-time { grid-template-columns:1fr; padding:3rem 1.25rem; gap:2rem; }
  .best-time > div:last-child { display:none; }
  .cities { padding:3rem 1.25rem; }
  .city-tabs { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .city-tab { white-space:nowrap; padding:0.65rem 1rem; flex-shrink:0; }
  .city-content { grid-template-columns:1fr !important; }
  .city-content img { height:220px; }
  .tours-strip { padding:3rem 1.25rem; }
  .t-strip { grid-template-columns:1fr 1fr; }

  
	
	/* Sticky section tabs */
.itin-tabs {
  display:flex; gap:0; background:var(--ink);
  position:sticky; top:72px; z-index:90;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.itin-tabs::-webkit-scrollbar { display:none; }
.itin-tab {
  flex-shrink:0; padding:0.85rem 1.6rem;
  font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(250,246,238,0.45); cursor:pointer; border:none;
  background:transparent; font-family:'DM Sans',sans-serif;
  border-bottom:2px solid transparent; white-space:nowrap;
  transition:all 0.2s;
}
.itin-tab:hover { color:rgba(250,246,238,0.8); }
.itin-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
	/* ── ITINERARY ── */
	
.itinerary-hero { height:55vh; min-height:380px; padding:1.25rem; }
  .hero-content h1 { font-size:clamp(1.8rem,6vw,2.8rem); }
  .hero-meta { gap:1rem; flex-wrap:wrap; }
  .badges { flex-wrap:wrap; }
  .page-layout { padding:0 1.25rem; }
  .main-col { padding:2.5rem 0 2rem; }
  .side-col { padding:0 0 2.5rem; }
  .day-info-strip { flex-wrap:wrap; }
  .day-info-pill { flex:0 0 50%; border-bottom:1px solid var(--border); }
  .day-info-pill:nth-child(even) { border-right:none; }
  .day-info-pill:last-child,
  .day-info-pill:nth-last-child(2):nth-child(odd) { border-bottom:none; }
  .gallery-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .gallery-item:first-child { grid-row:auto; }
  .gallery-item { height:200px; }
  .highlights-grid { grid-template-columns:1fr; }
  .inc-grid { grid-template-columns:1fr; }
  .page-layout > .side-col .booking-card { position:static; }

  /* ── QUERY FORM ── */
  .left-panel { padding:5.5rem 1.25rem 2rem; min-height:auto; }
  .left-panel .trust-list { display:none; }
  .right-panel { padding:2rem 1.25rem 3rem; }
  .form-row { grid-template-columns:1fr; }
  .check-group { grid-template-columns:1fr; }
  .count-row { flex-direction:column; }
  .form-nav { flex-wrap:wrap; gap:0.75rem; }
  .progress-steps { gap:0; }
  .step { padding:0.6rem 0.5rem; font-size:0.62rem; letter-spacing:0.06em; }
}


/* ================================================================
   SMALL MOBILE  ≤ 480px
================================================================ */
@media (max-width: 480px) {
  .hero-title { font-size:clamp(2rem,9vw,3rem); }
  .dest-slide-card { flex:0 0 88%; }
  .exp-card { flex:0 0 88%; }
  .t-strip { grid-template-columns:1fr; }
  .info-item { flex:0 0 100%; }
  .city-content img { height:180px; }
  .hero-meta-item .value { font-size:0.82rem; }
  .day-info-pill { flex:0 0 100%; border-right:none; border-bottom:1px solid var(--border); }
  .left-panel { display:none; }
  .right-panel { padding:1.5rem 1rem 2.5rem; }
  .progress-steps { gap:0; }
  .step { padding:0.5rem 0.25rem; font-size:0.58rem; }
}


/* ================================================================
   MOBILE NAV — JS toggled via main.js
================================================================ */
/* Prevent body scroll when mobile menu is open */
body.nav-open { overflow:hidden; }

/* ── SUB-INDEX PAGE SPECIFIC STYLES ── */

  /* Hero */
  .si-hero {
    position:relative; height:70vh; min-height:480px;
    display:flex; align-items:flex-end; overflow:hidden;
  }
.si-hero-image {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
  .si-hero-bg {
    position:absolute; inset:0;
    background-image:url('https://images.unsplash.com/photo-1548013146-72479768bada?w=1600&q=80');
    background-size:cover; background-position:center;
  }
  .si-hero-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(26,18,8,0.88) 0%, rgba(26,18,8,0.3) 55%, transparent 100%);
  }
  .si-hero-content { position:relative; z-index:2; padding:3rem 4rem; width:100%; }
  .si-hero-content .breadcrumb { margin-bottom:1rem; }
  .si-hero-content h1 {
    font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,5vw,3.8rem);
    font-weight:300; line-height:1.08; color:#FAF6EE; margin-bottom:0.75rem;
  }
  .si-hero-content h1 em { font-style:italic; color:var(--gold-light); }
  .si-hero-meta {
    display:flex; gap:2rem; flex-wrap:wrap; margin-top:1.25rem;
  }
  .si-hero-stat { display:flex; flex-direction:column; gap:0.15rem; }
  .si-hero-stat .shs-val {
    font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--gold); line-height:1;
  }
  .si-hero-stat .shs-lbl {
    font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase;
    color:rgba(250,246,238,0.45);
  }

  /* Overview strip */
  .si-overview {
    background:var(--cream); padding:3rem 4rem;
    display:grid; grid-template-columns:1.6fr 1fr; gap:4rem; align-items:start;
  }
  .si-overview-text h2 {
    font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300;
    margin-bottom:1rem; color:var(--ink);
  }
  .si-overview-text h2 em { font-style:italic; color:var(--terracotta); }
  .si-overview-text p { font-size:0.88rem; color:var(--muted); line-height:1.88; margin-bottom:0.85rem; text-align: justify; }
  .si-overview-highlights { display:flex; flex-direction:column; gap:0.6rem; margin-top:1.25rem; }
  .si-hl { display:flex; align-items:center; gap:0.75rem; font-size:0.82rem; color:var(--muted); }
  .si-hl-icon { font-size:1rem; flex-shrink:0; }
  .si-overview-aside { display:flex; flex-direction:column; gap:0.85rem; }
  .si-aside-card {
    background:var(--warm-white); border:1px solid var(--border); padding:1.1rem 1.25rem;
    display:flex; align-items:center; gap:1rem;
  }
  .si-aside-card .sac-icon { font-size:1.5rem; flex-shrink:0; }
  .si-aside-card .sac-label {
    font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--gold); display:block; margin-bottom:0.2rem;
  }
  .si-aside-card .sac-val { font-size:0.85rem; color:var(--ink); font-weight:500; }

  /* Filter + Sort bar */
  .si-controls {
    background:var(--warm-white); border-bottom:1px solid var(--border);
    padding:1rem 4rem; display:flex; align-items:center;
    justify-content:space-between; flex-wrap:wrap; gap:0.75rem;
    position:sticky; top:72px; z-index:50;
  }
  .si-filters { display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center; }
  .si-filter-label { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-right:0.25rem; }
  .si-filter-btn {
    padding:0.38rem 0.9rem; font-size:0.72rem; letter-spacing:0.07em; text-transform:uppercase;
    border:1px solid var(--border); background:transparent; color:var(--muted);
    cursor:pointer; font-family:'DM Sans',sans-serif; transition:all 0.2s;
  }
  .si-filter-btn.active, .si-filter-btn:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.06); }
  .si-sort { display:flex; align-items:center; gap:0.6rem; }
  .si-sort label { font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
  .si-sort select {
    font-family:'DM Sans',sans-serif; font-size:0.78rem; color:var(--ink);
    border:1px solid var(--border); padding:0.35rem 1.75rem 0.35rem 0.65rem;
    background-color:transparent;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B5E4A' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 0.5rem center;
    appearance:none; outline:none; cursor:pointer;
  }

  /* Tour grid + cards */
  .si-body { padding:3rem 4rem 5rem; }
  .si-grid {
    display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem;
    margin-bottom:3rem;
  }
  .tour-tile {
    background:var(--warm-white); border:1px solid var(--border);
    display:flex; flex-direction:column; text-decoration:none; color:inherit;
    transition:box-shadow 0.25s, border-color 0.25s;
    position:relative; overflow:hidden;
  }
  .tour-tile:hover { border-color:var(--gold); box-shadow:0 8px 32px rgba(201,168,76,0.12); }
  .tour-tile-img { position:relative; height:220px; overflow:hidden; flex-shrink:0; }
  .tour-tile-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; display:block; }
  .tour-tile:hover .tour-tile-img img { transform:scale(1.06); }
  .tt-badge {
    position:absolute; top:0.85rem; left:0;
    background:var(--gold); color:var(--ink);
    font-size:0.6rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase;
    padding:0.28rem 0.75rem 0.28rem 0.65rem;
  }
  .tt-tag {
    position:absolute; top:0.85rem; right:0.85rem;
    background:rgba(26,18,8,0.72); color:rgba(250,246,238,0.85);
    font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase;
    padding:0.25rem 0.6rem;
  }
  .tour-tile-body { padding:1.25rem 1.25rem 0; flex:1; }
  .tt-duration {
    display:flex; align-items:center; gap:0.4rem;
    font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--gold); margin-bottom:0.5rem;
  }
  .tt-duration span { color:var(--muted); margin-left:0.2rem; }
  .tour-tile-body h3 {
    font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400;
    line-height:1.25; margin-bottom:0.5rem; color:var(--ink);
  }
  .tt-route {
    font-size:0.75rem; color:var(--muted); line-height:1.55; margin-bottom:0.75rem;
    display:flex; align-items:flex-start; gap:0.4rem;
  }
  .tt-route-icon { flex-shrink:0; margin-top:0.1rem; }
  .tt-nights-row {
    display:flex; flex-wrap:wrap; gap:0.35rem; margin-bottom:0.85rem;
  }
  .tt-night-pill {
    background:var(--cream); border:1px solid var(--border);
    font-size:0.62rem; letter-spacing:0.07em; text-transform:uppercase;
    color:var(--muted); padding:0.18rem 0.55rem;
  }

  /* Card footer */
  .tour-tile-footer {
    padding:0.9rem 1.25rem 1.1rem;
    border-top:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between;
    gap:0.5rem; margin-top:auto;
  }
  .tt-price { display:flex; flex-direction:column; }
  .tt-price .tp-from { font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
  .tt-price .tp-num {
    font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--gold); line-height:1.1;
  }
  .tt-price .tp-pp { font-size:0.62rem; color:var(--muted); }
  .tt-cta {
    display:inline-flex; align-items:center; gap:0.4rem;
    font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--ink); background:var(--gold);
    padding:0.55rem 1.1rem; text-decoration:none; transition:background 0.2s;
    white-space:nowrap;
  }
  .tt-cta:hover { background:var(--gold-dark); color:white; }

  /* Enquiry row at bottom */
  .si-request-row {
    background:var(--cream); border:1px solid var(--border);
    padding:1.5rem 1.75rem; display:flex; align-items:center;
    justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
    margin-bottom:2.5rem;
  }
  .si-request-row p { font-size:0.88rem; color:var(--muted); }
  .si-request-row strong { color:var(--ink); }
  .si-request-row a {
    display:inline-flex; align-items:center; gap:0.5rem;
    font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--gold); text-decoration:none; white-space:nowrap;
  }
  .si-request-row a:hover { color:var(--gold-dark); }

  /* Extensions section */
  .si-extensions { margin-top:3rem; }
  .si-extensions h2 {
    font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:300;
    margin-bottom:0.5rem;
  }
  .si-extensions h2 em { font-style:italic; color:var(--terracotta); }
  .si-extensions > p { font-size:0.85rem; color:var(--muted); line-height:1.8; margin-bottom:2rem; }
  .ext-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:1rem; }
  .ext-card {
    position:relative; height:160px; overflow:hidden; cursor:pointer;
    text-decoration:none; display:block;
  }
  .ext-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; display:block; }
  .ext-card:hover img { transform:scale(1.08); }
  .ext-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(26,18,8,0.8) 0%, transparent 60%);
  }
  .ext-info { position:absolute; bottom:0.85rem; left:0.85rem; color:white; }
  .ext-info h4 { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:400; }
  .ext-info p { font-size:0.65rem; color:rgba(255,255,255,0.6); }

  /* Responsive */
  @media (max-width: 1024px) {
    .si-hero-content { padding:2.5rem 2rem; }
    .si-overview { padding:2.5rem 2rem; gap:2.5rem; }
    .si-controls { padding:1rem 2rem; }
    .si-body { padding:2.5rem 2rem 4rem; }
    .si-grid { grid-template-columns:repeat(2, 1fr); }
    .ext-grid { grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width: 768px) {
    .si-hero { height:60vh; min-height:420px; }
    .si-hero-content { padding:1.5rem 1.25rem; }
    .si-overview { grid-template-columns:1fr; padding:2rem 1.25rem; gap:1.5rem; }
    .si-overview-aside { grid-template-columns:1fr 1fr; display:grid; }
    .si-controls { padding:0.75rem 1.25rem; top:64px; gap:0.5rem; }
    .si-sort { display:none; }
    .si-body { padding:2rem 1.25rem 3rem; }
    .si-grid { grid-template-columns:1fr; gap:1.5rem; }
    .si-request-row { padding:1.25rem; }
    .ext-grid { grid-template-columns:1fr 1fr; }
    .si-hero-meta { gap:1.25rem; }
  }
  @media (max-width: 480px) {
    .si-overview-aside { grid-template-columns:1fr; }
    .ext-grid { grid-template-columns:1fr; }
    .ext-card { height:140px; }
    .tour-tile-img { height:185px; }
  }

/* Sticky section tabs */
.itin-tabs {
  display:flex; gap:0; background:var(--ink);
  position:sticky; top:85px; z-index:90;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
	padding-left: 50px;
}
.itin-tabs::-webkit-scrollbar { display:none; }
.itin-tab {
  flex-shrink:0; padding:0.85rem 1.6rem;
  font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(250,246,238,0.45); cursor:pointer; border:none;
  background:transparent; font-family:'DM Sans',sans-serif;
  border-bottom:2px solid transparent; white-space:nowrap;
  transition:all 0.2s;
}
.itin-tab:hover { color:rgba(250,246,238,0.8); }
	.itin-tab.active { color:var(--gold); border-bottom-color:var(--gold); } 
	/* Section anchors */
.section-anchor { scroll-margin-top:140px; }
	

	/* Inclusions */
.inclusions-section { margin-bottom:3.5rem; }
.inc-cols { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:1.5rem; }
.inc-col h4 { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:0.85rem; padding-bottom:0.5rem; border-bottom:1px solid var(--border); }
.inc-list { list-style:none; display:flex; flex-direction:column; gap:0.5rem; }
.inc-list li { display:flex; gap:0.6rem; font-size:0.83rem; color:var(--muted); line-height:1.5; }
.inc-list li .ico { flex-shrink:0; margin-top:0.05rem; }
.inc-ico-yes { color:var(--gold); }
.inc-ico-no  { color:var(--terracotta); }

/* ================================================================
   CITY GUIDE — MINIMAL ADDITIONS
   (Places to See · How to Reach · Travel Tips)
   Reuses existing tokens/patterns: .hl-grid, .hl-card, .section-label,
   var(--gold/ink/cream/terracotta/muted/border)
================================================================ */

/* Places to See — same card language as .hl-card, image variant */
.places-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem; margin-top:2rem; }
.place-card { background:var(--cream); border:1px solid var(--border); overflow:hidden; transition:border-color 0.25s, transform 0.25s; }
.place-card:hover { border-color:var(--gold); transform:translateY(-3px); }
.place-card-img { height:190px; overflow:hidden; position:relative; }
.place-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; display:block; }
.place-card:hover .place-card-img img { transform:scale(1.06); }
.place-card-tag { position:absolute; top:0.8rem; left:0.8rem; background:var(--ink); color:var(--gold); font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; padding:0.3rem 0.7rem; }
.place-card-body { padding:1.4rem 1.5rem 1.5rem; }
.place-card-body .pc-num { font-family:'Cormorant Garamond',serif; font-size:0.78rem; color:var(--gold); margin-bottom:0.3rem; }
.place-card-body h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; color:var(--ink); margin-bottom:0.55rem; }
.place-card-body p { font-size:0.82rem; color:var(--muted); line-height:1.7; margin-bottom:0.9rem; }
.place-card-meta { display:flex; flex-wrap:wrap; gap:0.5rem; padding-top:0.85rem; border-top:1px solid var(--border); font-size:0.68rem; color:var(--muted); }
.place-card-meta span { display:flex; align-items:center; gap:0.3rem; }

/* How to Reach — three-column variant of .inc-cols */
.reach-grid { display:grid; grid-template-columns:repeat(3, 1fr); border:1px solid var(--border); margin-top:2rem; }
.reach-card { padding:2rem 1.85rem; border-right:1px solid var(--border); }
.reach-card:last-child { border-right:none; }
.reach-card .reach-icon { font-size:1.7rem; display:block; margin-bottom:0.9rem; }
.reach-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:400; color:var(--ink); margin-bottom:0.6rem; }
.reach-card p { font-size:0.82rem; color:var(--muted); line-height:1.7; margin-bottom:0.6rem; }
.reach-card ul { list-style:none; display:flex; flex-direction:column; gap:0.4rem; margin-top:0.75rem; }
.reach-card ul li { font-size:0.78rem; color:var(--muted); }
.reach-card ul li strong { color:var(--ink); font-weight:500; }

/* Travel Tips — compact card grid, light background (reuses .highlight tone) */
.tips-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:1.1rem; margin-top:2rem; }
.tip-card { background:var(--cream); border:1px solid var(--border); padding:1.5rem 1.35rem; }
.tip-card .tip-icon { font-size:1.35rem; display:block; margin-bottom:0.7rem; }
.tip-card h4 { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:400; color:var(--ink); margin-bottom:0.5rem; }
.tip-card p { font-size:0.78rem; color:var(--muted); line-height:1.65; }

/* Responsive */
@media (max-width:1024px) {
  .places-grid { grid-template-columns:repeat(2, 1fr); }
  .reach-grid { grid-template-columns:1fr; }
  .reach-card { border-right:none; border-bottom:1px solid var(--border); }
  .reach-card:last-child { border-bottom:none; }
  .tips-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:768px) {
  .places-grid { grid-template-columns:1fr; }
  .tips-grid { grid-template-columns:1fr; }
}

	
/* ================================================================
   SITE FOOTER — full multi-column footer
   Reuses existing tokens: var(--ink/gold/cream/muted/border)
================================================================ */

.site-footer { background:var(--ink); color:rgba(250,246,238,0.65); padding-top:4rem; }

.footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:2.5rem; max-width:1400px; margin:0 auto; padding:0 4rem 3rem; }

.footer-brand .footer-logo { display:flex; align-items:center; gap:0.6rem; margin-bottom:1.1rem; }
.footer-brand .footer-logo img { height:52px; width:auto; }
.footer-brand .footer-logo span { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--cream); letter-spacing:0.03em; }
.footer-member-logos { display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; }
.footer-member-logos .fml-chip {
  background:var(--warm-white); padding:0.4rem 0.65rem; display:flex; align-items:center; justify-content:center;
  border-radius:4px; transition:transform 0.2s;
}
.footer-member-logos .fml-chip:hover { transform:translateY(-2px); }
.footer-member-logos .fml-chip img { height:26px; width:auto; display:block; }
.footer-member { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,168,76,0.35); padding:0.5rem 0.85rem; }
.footer-brand .footer-tagline { font-size:0.82rem; line-height:1.8; color:rgba(250,246,238,0.55); margin-bottom:1.25rem; max-width:280px; }
.footer-member { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,168,76,0.35); padding:0.5rem 0.85rem; }

.footer-col h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.05rem; color:var(--cream); margin-bottom:1.1rem; letter-spacing:0.02em; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.65rem; }
.footer-col ul li a { color:rgba(250,246,238,0.6); font-size:0.83rem; text-decoration:none; transition:color 0.2s, padding-left 0.2s; }
.footer-col ul li a:hover { color:var(--gold); padding-left:3px; }

.footer-contact h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.05rem; color:var(--cream); margin-bottom:1.1rem; }
.footer-contact ul { list-style:none; display:flex; flex-direction:column; gap:0.9rem; margin-bottom:1.5rem; }
.footer-contact ul li { display:flex; align-items:flex-start; gap:0.65rem; font-size:0.83rem; line-height:1.6; color:rgba(250,246,238,0.6); }
.footer-contact ul li .ico { color:var(--gold); flex-shrink:0; margin-top:0.1rem; }
.footer-contact ul li a { color:rgba(250,246,238,0.6); text-decoration:none; }
.footer-contact ul li a:hover { color:var(--gold); }

.footer-social { display:flex; gap:0.7rem; }
.footer-social a { width:34px; height:34px; border:1px solid rgba(250,246,238,0.18); border-radius:50%; display:flex; align-items:center; justify-content:center; color:rgba(250,246,238,0.7); text-decoration:none; font-size:0.85rem; transition:border-color 0.2s, color 0.2s, background 0.2s; }
.footer-social a:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.08); }

/* Trust badges strip */
.footer-trust { border-top:1px solid rgba(250,246,238,0.1); border-bottom:1px solid rgba(250,246,238,0.1); }
.footer-trust-inner { max-width:1400px; margin:0 auto; padding:1.75rem 4rem; display:grid; grid-template-columns:repeat(4, 1fr); gap:1.5rem; }
.footer-trust-item { display:flex; align-items:center; gap:0.65rem; font-size:0.8rem; color:rgba(250,246,238,0.65); }
.footer-trust-item .ico { font-size:1.15rem; color:var(--gold); flex-shrink:0; }

/* Bottom bar */
.footer-bottom { max-width:1400px; margin:0 auto; padding:1.5rem 4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer-bottom p { font-size:0.78rem; color:rgba(250,246,238,0.45); margin:0; }
.footer-bottom .footer-legal-links { display:flex; gap:1.5rem; }
.footer-bottom .footer-legal-links a { font-size:0.78rem; color:rgba(250,246,238,0.45); text-decoration:none; }
.footer-bottom .footer-legal-links a:hover { color:var(--gold); }

/* Responsive */
@media (max-width:1024px) {
  .footer-top { grid-template-columns:1fr 1fr; padding:0 2rem 2.5rem; }
  .footer-trust-inner { grid-template-columns:1fr 1fr; padding:1.5rem 2rem; }
  .footer-bottom { padding:1.25rem 2rem; }
}
@media (max-width:768px) {
  .footer-top { grid-template-columns:1fr; padding:0 1.25rem 2rem; gap:2rem; }
  .footer-trust-inner { grid-template-columns:1fr; padding:1.25rem 1.25rem; }
  .footer-bottom { flex-direction:column; align-items:flex-start; padding:1.25rem 1.25rem; }
}


/* ================================================================
   CONTACT US PAGE — v2 (photo hero + form/map split + affiliation band)
================================================================ */

/* Header image — reuses the same full-bleed photo-hero language as
   .itinerary-hero / .si-hero elsewhere on the site, sized down for a
   simple content page. */
.contact-page-hero {
  position:relative; height:30vh; min-height:240px; margin-top:0;
  display:flex; align-items:flex-end;
}
.contact-page-hero .cph-bg {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.contact-page-hero .cph-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(26,18,8,0.35) 0%, rgba(26,18,8,0.75) 100%);
}
.contact-page-hero .cph-content { position:relative; z-index:2; padding:0 4rem 2.25rem; width:100%; }
.contact-page-hero .breadcrumb { color:rgba(250,246,238,0.6); margin-bottom:0.75rem; }
.contact-page-hero .breadcrumb a { color:var(--gold); }
.contact-page-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.4rem; color:var(--warm-white); }
.contact-page-hero h1 em { font-style:italic; color:var(--gold-light); }

/* Two-column body: form+address (left) / map (right) */
.contact-split {
  display:grid; grid-template-columns:1fr 1fr; align-items:stretch;
  max-width:1400px; margin:0 auto; padding:4.5rem 4rem;
  gap:3rem;
}

.contact-left { display:flex; flex-direction:column; gap:2rem; }

.cmini-form-card {
  background:var(--warm-white); border:1px solid var(--border); padding:2.25rem;
}
.cmini-form-card h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.6rem; margin-bottom:0.35rem; }
.cmini-form-card h2 em { font-style:italic; color:var(--terracotta); }
.cmini-form-card > p { color:var(--muted); font-size:0.85rem; margin-bottom:1.5rem; }
.cmini-form-card .form-group { margin-bottom:1.1rem; }
.cmini-submit-btn {
  width:100%; background:var(--gold); color:white; border:none;
  padding:0.9rem; font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase;
  cursor:pointer; transition:background 0.2s; margin-top:0.4rem;
}
.cmini-submit-btn:hover { background:var(--gold-dark); }
.cmini-success { display:none; text-align:center; padding:2rem 0.5rem; }
.cmini-success.visible { display:block; }
.cmini-success .cs-icon { font-size:2rem; margin-bottom:0.75rem; }
.cmini-success h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.3rem; margin-bottom:0.4rem; }
.cmini-success p { color:var(--muted); font-size:0.85rem; }

.cmini-address-card {
  background:var(--cream); border:1px solid var(--border); padding:2rem;
}
.cmini-address-card h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.25rem; margin-bottom:1.1rem; }
.cac-row { display:flex; align-items:flex-start; gap:0.85rem; margin-bottom:1rem; }
.cac-row:last-child { margin-bottom:0; }
.cac-row .cac-icon { color:var(--gold); font-size:1rem; flex-shrink:0; margin-top:0.15rem; }
.cac-row a, .cac-row span.cac-text { color:var(--ink); text-decoration:none; font-size:0.86rem; line-height:1.65; }
.cac-row a:hover { color:var(--gold); }

/* Right column — map fills full height of the split */
.contact-map-col { position:relative; min-height:420px; border:1px solid var(--border); overflow:hidden; }
.contact-map-col iframe { width:100%; height:100%; border:0; display:block; position:absolute; inset:0; }
.contact-map-col .cmc-link {
  position:absolute; bottom:1.25rem; right:1.25rem; z-index:3;
  background:var(--ink); color:var(--warm-white);
  font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none;
  padding:0.6rem 1.1rem; transition:background 0.2s;
}
.contact-map-col .cmc-link:hover { background:var(--gold-dark); }

/* Bottom: Affiliation band, before footer */
.affiliation-band {
  background:var(--cream); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:3rem 4rem; text-align:center;
}
.affiliation-band .section-label { justify-content:center; display:flex; }
.affiliation-band h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.6rem; margin:0.5rem 0 2rem; }
.affiliation-band h2 em { font-style:italic; color:var(--terracotta); }
.affiliation-row { display:flex; justify-content:center; align-items:center; gap:3.5rem; flex-wrap:wrap; }
.affiliation-item { display:flex; flex-direction:column; align-items:center; gap:0.6rem; max-width:180px; }
.affiliation-item .ai-badge {
  width:64px; height:64px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--gold);
  background:var(--warm-white);
}
.affiliation-item span { font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); text-align:center; }

@media (max-width:1024px) {
  .contact-split { grid-template-columns:1fr; padding:3rem 2rem; gap:2rem; }
  .contact-map-col { min-height:340px; }
  .contact-page-hero .cph-content { padding:0 2rem 2.5rem; }
  .affiliation-band { padding:2.5rem 2rem; }
  .affiliation-row { gap:2rem; }
}
@media (max-width:768px) {
  .contact-page-hero { height:26vh; min-height:200px; }
  .contact-page-hero h1 { font-size:1.9rem; }
  .contact-split { padding:2.5rem 1.25rem; }
  .cmini-form-card, .cmini-address-card { padding:1.5rem; }
}

/* ================================================================
   PAYMENT PAGE
================================================================ */
.payment-body {
  max-width:920px; margin:0 auto; padding:4.5rem 4rem;
}

.payment-card {
  background:var(--warm-white); border:1px solid var(--border); padding:3rem;
}
.payment-card-head { text-align:center; margin-bottom:2.25rem; }
.payment-card-head .section-label { justify-content:center; display:flex; }
.payment-card-head h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.9rem; margin:0.4rem 0 0.6rem; }
.payment-card-head h2 em { font-style:italic; color:var(--terracotta); }
.payment-card-head p { color:var(--muted); font-size:0.88rem; max-width:480px; margin:0 auto; line-height:1.65; }

.payment-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem; }
.payment-form .form-row.full { grid-template-columns:1fr; }
.pf-amount-wrap { position:relative; }
.pf-amount-wrap .pf-currency { position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--muted); font-size:0.88rem; pointer-events:none; }
.pf-amount-wrap input { padding-left:2.1rem !important; }

.payment-proceed-btn {
  width:100%; background:var(--gold); color:white; border:none;
  padding:1.05rem; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  cursor:pointer; transition:background 0.2s; margin-top:0.5rem;
  display:flex; align-items:center; justify-content:center; gap:0.6rem;
}
.payment-proceed-btn:hover { background:var(--gold-dark); }
.payment-proceed-btn .pb-lock { font-size:0.9rem; }

/* Trust / security row */
.payment-trust-row {
  display:flex; align-items:center; justify-content:center; gap:0.6rem;
  margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border);
  font-size:0.78rem; color:var(--muted); text-align:center; flex-wrap:wrap;
}
.payment-trust-row .pt-icon { color:var(--gold); }

.payment-help-note {
  text-align:center; font-size:0.82rem; color:var(--muted); margin-top:1.75rem;
}
.payment-help-note a { color:var(--gold); text-decoration:none; font-weight:500; }
.payment-help-note a:hover { color:var(--gold-dark); }

/* Accepted payment methods strip */
.payment-methods-strip {
  display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap;
  margin-top:2rem; padding-top:2rem; border-top:1px solid var(--border);
}
.pms-label { font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); width:100%; text-align:center; margin-bottom:0.5rem; }
.pms-badge {
  padding:0.5rem 1.1rem; border:1px solid var(--border-input); font-size:0.75rem;
  color:var(--muted); letter-spacing:0.03em; background:var(--cream);
}

/* Redirect notice card (explains PayU handoff) */
.payment-redirect-notice {
  display:flex; align-items:flex-start; gap:0.9rem; background:var(--cream);
  border:1px solid var(--border); padding:1.25rem 1.5rem; margin-bottom:2rem;
  font-size:0.82rem; color:var(--muted); line-height:1.6;
}
.payment-redirect-notice .prn-icon { font-size:1.1rem; color:var(--gold); flex-shrink:0; margin-top:0.1rem; }
.payment-redirect-notice strong { color:var(--ink); }

/* Success state (post-submit demo) */
.payment-success { display:none; text-align:center; padding:2.5rem 1rem; }
.payment-success.visible { display:block; }
.payment-success .ps-icon { font-size:2.5rem; margin-bottom:1rem; }
.payment-success h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.5rem; margin-bottom:0.5rem; }
.payment-success p { color:var(--muted); font-size:0.88rem; }

@media (max-width:768px) {
  .payment-body { padding:2.5rem 1.25rem; }
  .payment-card { padding:1.75rem; }
  .payment-form .form-row { grid-template-columns:1fr; gap:1rem; margin-bottom:1rem; }
  .payment-methods-strip { gap:0.75rem; }
}

/* ================================================================
   TESTIMONIALS PAGE — v2 (carousel + photo avatars + review form)
================================================================ */
.testi-intro { text-align:center; max-width:640px; margin:0 auto; padding:4.5rem 4rem 1rem; }
.testi-intro .section-label { justify-content:center; display:flex; }
.testi-intro h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.2rem; margin:0.5rem 0 0.9rem; }
.testi-intro h2 em { font-style:italic; color:var(--terracotta); }
.testi-intro p { color:var(--muted); font-size:0.92rem; line-height:1.7; }

/* Carousel wrapper + nav arrows */
.testi-carousel-wrap { position:relative; max-width:1400px; margin:0 auto; padding:3rem 4rem 5rem; }
.testi-carousel {
  display:flex; gap:1.75rem; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:0.5rem 0.25rem 1.5rem;
  -ms-overflow-style:none; scrollbar-width:none;
}
.testi-carousel::-webkit-scrollbar { display:none; }

.testi-card {
  flex:0 0 380px; scroll-snap-align:start;
  background:var(--warm-white); border:1px solid var(--border); padding:2.25rem;
  display:flex; flex-direction:column; position:relative;
}
.testi-card .tc-quote-mark {
  font-family:'Cormorant Garamond',serif; font-size:3.5rem; line-height:1; color:var(--gold-light);
  margin-bottom:0.5rem;
}
.testi-card .tc-stars { color:var(--gold); font-size:0.85rem; letter-spacing:0.15em; margin-bottom:1rem; }
.testi-card .tc-text { font-size:0.9rem; line-height:1.75; color:var(--ink); flex-grow:1; margin-bottom:1.5rem; }
.testi-card .tc-footer { display:flex; align-items:center; gap:0.9rem; padding-top:1.25rem; border-top:1px solid var(--border); }
.testi-card .tc-avatar {
  width:44px; height:44px; border-radius:50%; overflow:hidden; flex-shrink:0;
  border:1.5px solid var(--gold-light); background:var(--cream);
}
.testi-card .tc-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.testi-card .tc-name { font-size:0.85rem; font-weight:500; color:var(--ink); }
.testi-card .tc-meta { font-size:0.72rem; color:var(--muted); letter-spacing:0.03em; }

.testi-nav-btn {
  position:absolute; top:calc(50% - 1.5rem); z-index:5;
  width:46px; height:46px; border-radius:50%; border:1px solid var(--border);
  background:var(--warm-white); color:var(--ink); font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 8px 24px rgba(26,18,8,0.12); transition:background 0.2s, color 0.2s, border-color 0.2s;
}
.testi-nav-btn:hover { background:var(--gold); color:white; border-color:var(--gold); }
.testi-nav-btn.prev { left:0.5rem; }
.testi-nav-btn.next { right:0.5rem; }
.testi-carousel-dots { display:flex; justify-content:center; gap:0.5rem; margin-top:-1rem; }
.tcd-dot { width:7px; height:7px; border-radius:50%; background:var(--border-input); transition:background 0.2s, width 0.2s; }
.tcd-dot.active { background:var(--gold); width:20px; border-radius:4px; }

/* 3 Easy Steps */
.steps-section { background:var(--cream); padding:5rem 4rem; border-top:1px solid var(--border); }
.steps-intro { text-align:center; max-width:600px; margin:0 auto 3.5rem; }
.steps-intro .section-label { justify-content:center; display:flex; }
.steps-intro h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.1rem; margin:0.5rem 0 0; }
.steps-intro h2 em { font-style:italic; color:var(--terracotta); }

.steps-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:2.5rem; max-width:1200px; margin:0 auto; position:relative; }
.step-item { text-align:center; position:relative; }
.step-num {
  width:64px; height:64px; border-radius:50%; background:var(--warm-white); border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem;
  font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--gold-dark);
}
.step-item h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.2rem; margin-bottom:0.6rem; }
.step-item p { font-size:0.85rem; color:var(--muted); line-height:1.65; max-width:280px; margin:0 auto; }
.step-connector {
  position:absolute; top:32px;
  left:calc(50% + 32px);
  width:calc(100% - 1.5rem);
  height:1px;
  background:repeating-linear-gradient(90deg, var(--gold) 0, var(--gold) 6px, transparent 6px, transparent 12px);
}

/* Write a Review form */
.review-form-section { padding:5rem 4rem; max-width:820px; margin:0 auto; }
.review-form-head { text-align:center; margin-bottom:2.5rem; }
.review-form-head .section-label { justify-content:center; display:flex; }
.review-form-head h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2rem; margin:0.5rem 0 0.6rem; }
.review-form-head h2 em { font-style:italic; color:var(--terracotta); }
.review-form-head p { color:var(--muted); font-size:0.9rem; }

.review-form-card { background:var(--cream); border:1px solid var(--border); padding:2.75rem; }
.review-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem; }
.review-form .form-row.full { grid-template-columns:1fr; }

.rf-star-picker { display:flex; gap:0.4rem; }
.rf-star-picker .rf-star {
  font-size:1.6rem; color:var(--border-input); cursor:pointer; transition:color 0.15s, transform 0.15s;
  user-select:none;
}
.rf-star-picker .rf-star:hover,
.rf-star-picker .rf-star.rf-active { color:var(--gold); transform:scale(1.1); }

.review-submit-btn {
  width:100%; background:var(--gold); color:white; border:none;
  padding:1rem; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  cursor:pointer; transition:background 0.2s; margin-top:0.5rem;
}
.review-submit-btn:hover { background:var(--gold-dark); }

.review-success { display:none; text-align:center; padding:2.5rem 1rem; }
.review-success.visible { display:block; }
.review-success .rs-icon { font-size:2.5rem; margin-bottom:1rem; }
.review-success h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.4rem; margin-bottom:0.5rem; }
.review-success p { color:var(--muted); font-size:0.88rem; }

@media (max-width:1024px) {
  .testi-carousel-wrap { padding:2.5rem 2rem 3.5rem; }
  .testi-intro { padding:3.5rem 2rem 0.5rem; }
  .steps-section { padding:3.5rem 2rem; }
  .steps-row { grid-template-columns:1fr; gap:2.5rem; }
  .step-connector { display:none; }
  .review-form-section { padding:3.5rem 2rem; }
}
@media (max-width:768px) {
  .testi-card { flex-basis:300px; padding:1.75rem; }
  .testi-nav-btn { width:38px; height:38px; font-size:0.95rem; }
  .review-form-card { padding:1.75rem; }
  .review-form .form-row { grid-template-columns:1fr; gap:1rem; margin-bottom:1rem; }
}

/* ================================================================
   LEGAL PAGES (Privacy Policy, Terms & Conditions, Cancellation & Refund)
================================================================ */
.legal-body {
  display:grid; grid-template-columns:260px 1fr; gap:3.5rem;
  max-width:1300px; margin:0 auto; padding:4.5rem 4rem 6rem;
}

.legal-toc { position:sticky; top:100px; align-self:start; }
.legal-toc h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.1rem; margin-bottom:1rem; }
.legal-toc ul { list-style:none; display:flex; flex-direction:column; gap:0.15rem; }
.legal-toc a {
  display:block; padding:0.55rem 0 0.55rem 0.9rem; font-size:0.8rem; color:var(--muted);
  text-decoration:none; border-left:2px solid var(--border); transition:color 0.2s, border-color 0.2s;
}
.legal-toc a:hover, .legal-toc a.active { color:var(--gold-dark); border-left-color:var(--gold); }
.legal-toc-back { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--border); }
.legal-toc-back a { font-size:0.75rem; color:var(--muted); text-decoration:none; }
.legal-toc-back a:hover { color:var(--gold); }

.legal-main { max-width:760px; }
.legal-meta {
  font-size:0.8rem; color:var(--muted); margin-bottom:2.5rem; padding-bottom:1.5rem;
  border-bottom:1px solid var(--border); line-height:1.8;
}
.legal-meta strong { color:var(--ink); }
.legal-intro { font-size:0.95rem; color:var(--muted); line-height:1.8; margin-bottom:2.5rem; }

.legal-section { margin-bottom:2.75rem; scroll-margin-top:100px; }
.legal-section-head { display:flex; align-items:center; gap:0.9rem; margin-bottom:1.1rem; }
.legal-section-num {
  width:32px; height:32px; border-radius:50%; border:1px solid var(--gold); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--gold-dark);
}
.legal-section h2 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.4rem; color:var(--ink); }
.legal-section h3 { font-family:'DM Sans',sans-serif; font-weight:500; font-size:0.92rem; color:var(--ink); margin:1.25rem 0 0.5rem; }
.legal-section p { font-size:0.9rem; line-height:1.8; color:var(--muted); margin-bottom:1rem; }
.legal-section ul, .legal-section ol { margin:0 0 1rem 1.25rem; }
.legal-section li { font-size:0.9rem; line-height:1.8; color:var(--muted); margin-bottom:0.4rem; }
.legal-section strong { color:var(--ink); font-weight:600; }

.legal-note-box {
  background:var(--cream); border-left:3px solid var(--gold); padding:1.1rem 1.4rem;
  font-size:0.85rem; color:var(--muted); line-height:1.7; margin:1.25rem 0;
}
.legal-note-box strong { color:var(--ink); }

.legal-contact-box {
  background:var(--ink); color:var(--warm-white); padding:2rem 2.25rem; margin-top:3rem;
}
.legal-contact-box h4 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.25rem; margin-bottom:0.9rem; }
.legal-contact-box p { font-size:0.85rem; color:rgba(250,246,238,0.7); line-height:1.7; margin-bottom:1rem; }
.legal-contact-box a { color:var(--gold-light); text-decoration:none; }
.legal-contact-box a:hover { color:var(--gold); }

@media (max-width:1024px) {
  .legal-body { grid-template-columns:1fr; padding:3rem 2rem 4rem; gap:2rem; }
  .legal-toc { position:static; border-bottom:1px solid var(--border); padding-bottom:1.5rem; margin-bottom:1rem; }
  .legal-toc ul { flex-direction:row; flex-wrap:wrap; gap:0.5rem; }
  .legal-toc a { border-left:none; border-bottom:2px solid var(--border); padding:0.4rem 0.1rem; }
}

/* ================================================================
   DESTINATIONS FILTER — empty state (shown when a region has no
   destinations yet)
================================================================ */
.filter-empty-state {
  text-align:center; max-width:480px; margin:3rem auto 5rem; padding:3rem 2rem;
  background:var(--cream); border:1px solid var(--border);
}
.filter-empty-state .fes-icon { font-size:2.5rem; margin-bottom:1rem; }
.filter-empty-state h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.5rem; margin-bottom:0.75rem; color:var(--ink); }
.filter-empty-state p { font-size:0.88rem; color:var(--muted); line-height:1.7; margin-bottom:1.5rem; }
.filter-empty-state .fes-btn {
  display:inline-block; background:var(--gold); color:white; padding:0.8rem 2rem;
  font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none;
  transition:background 0.2s;
}
.filter-empty-state .fes-btn:hover { background:var(--gold-dark); }

/* ================================================================
   SPECIAL PACKAGES PAGE
================================================================ */
.pkg-intro { text-align:center; max-width:680px; margin:0 auto; padding:4.5rem 4rem 1rem; }
.pkg-intro .section-label { justify-content:center; display:flex; }
.pkg-intro h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.2rem; margin:0.5rem 0 0.9rem; }
.pkg-intro h2 em { font-style:italic; color:var(--terracotta); }
.pkg-intro p { color:var(--muted); font-size:0.92rem; line-height:1.7; }

.pkg-filter-row {
  display:flex; align-items:center; justify-content:center; gap:0.6rem; flex-wrap:wrap;
  padding:1.5rem 4rem 0.5rem;
}
.pkg-filter-btn {
  padding:0.55rem 1.25rem; border:1px solid var(--border-input); background:var(--warm-white);
  font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted);
  cursor:pointer; transition:all 0.2s;
}
.pkg-filter-btn:hover { border-color:var(--gold); color:var(--gold-dark); }
.pkg-filter-btn.active { background:var(--gold); border-color:var(--gold); color:white; }

.pkg-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem;
  max-width:1400px; margin:0 auto; padding:2.5rem 4rem 5rem;
}
.package-card {
  background:var(--warm-white); border:1px solid var(--border); overflow:hidden;
  display:flex; flex-direction:column; position:relative; transition:box-shadow 0.25s, transform 0.25s;
}
.package-card:hover { box-shadow:0 20px 45px rgba(26,18,8,0.12); transform:translateY(-3px); }

.pkg-img-wrap { position:relative; height:220px; overflow:hidden; }
.pkg-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.pkg-expiry-badge {
  position:absolute; top:1rem; left:1rem; background:var(--terracotta); color:white;
  font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.4rem 0.85rem;
}
.pkg-discount-badge {
  position:absolute; top:1rem; right:1rem; background:var(--gold); color:white;
  font-size:0.7rem; font-weight:600; letter-spacing:0.03em; padding:0.4rem 0.85rem;
  font-family:'Cormorant Garamond',serif;
}

.pkg-body { padding:1.75rem; display:flex; flex-direction:column; flex:1; }
.pkg-hotel-name { font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:0.4rem; }
.pkg-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.35rem; color:var(--ink); margin-bottom:0.6rem; line-height:1.3; }
.pkg-meta-row { display:flex; gap:1rem; font-size:0.78rem; color:var(--muted); margin-bottom:1rem; }
.pkg-meta-row span { display:flex; align-items:center; gap:0.3rem; }

.pkg-incl-toggle {
  background:none; border:none; padding:0; font-size:0.76rem; color:var(--gold-dark);
  text-decoration:underline; cursor:pointer; text-align:left; margin-bottom:1rem;
}
.pkg-incl-panel { display:none; font-size:0.8rem; color:var(--muted); line-height:1.7; margin-bottom:1rem; }
.pkg-incl-panel.open { display:block; }
.pkg-incl-panel ul { margin:0 0 0.75rem 1.1rem; }
.pkg-incl-panel .incl-yes { color:var(--ink); }
.pkg-incl-panel .incl-no { color:var(--muted); text-decoration:line-through; opacity:0.7; }

.pkg-footer {
  margin-top:auto; padding-top:1.1rem; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.pkg-price-block .pp-was { font-size:0.72rem; color:var(--muted); text-decoration:line-through; display:block; }
.pkg-price-block .pp-now { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--terracotta); }
.pkg-price-block .pp-unit { font-size:0.68rem; color:var(--muted); }
.pkg-enquire-btn {
  background:var(--gold); color:white; border:none; padding:0.65rem 1.4rem;
  font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none;
  transition:background 0.2s; cursor:pointer;
}
.pkg-enquire-btn:hover { background:var(--gold-dark); }

.pkg-empty-note {
  text-align:center; max-width:480px; margin:2rem auto 4rem; padding:2.5rem;
  background:var(--cream); border:1px solid var(--border); color:var(--muted); font-size:0.88rem;
}

@media (max-width:1024px) {
  .pkg-grid { grid-template-columns:1fr; padding:2rem 2rem 3.5rem; }
  .pkg-intro { padding:3.5rem 2rem 0.5rem; }
  .pkg-filter-row { padding:1.25rem 2rem 0.5rem; }
}

/* ================================================================
   ALL EXPERIENCES — hub/listing page
   Reuses the .exp-card visual language (image + gradient label
   overlay) from the homepage slider, but in a static grid so all
   categories are browsable at once without arrows.
================================================================ */
.experiences-intro { text-align:center; max-width:680px; margin:0 auto; padding:4.5rem 4rem 1rem; }
.experiences-intro .section-label { justify-content:center; display:flex; }
.experiences-intro h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.2rem; margin:0.5rem 0 0.9rem; }
.experiences-intro h2 em { font-style:italic; color:var(--terracotta); }
.experiences-intro p { color:var(--muted); font-size:0.92rem; line-height:1.7; }

.experiences-grid {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1.5rem;
  max-width:1400px; margin:0 auto; padding:2.5rem 4rem 5rem;
}
.experiences-grid .exp-card { flex:none; aspect-ratio:1/1; }
.experiences-grid .exp-card .exp-tour-count {
  font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-light);
  margin-top:0.3rem; display:block;
}

@media (max-width:1024px) {
  .experiences-grid { grid-template-columns:repeat(2, 1fr); padding:2rem 2rem 3.5rem; }
  .experiences-intro { padding:3.5rem 2rem 0.5rem; }
}
@media (max-width:600px) {
  .experiences-grid { grid-template-columns:1fr; }
}

/* ================================================================
   ABOUT US PAGE
================================================================ */
.about-intro-section {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
  max-width:1300px; margin:0 auto; padding:4.5rem 4rem;
}
.about-intro-text .section-label { margin-bottom:0.5rem; }
.about-intro-text h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.1rem; margin-bottom:1.25rem; line-height:1.25; }
.about-intro-text h2 em { font-style:italic; color:var(--terracotta); }
.about-intro-text p { font-size:0.92rem; color:var(--muted); line-height:1.85; margin-bottom:1.1rem; }
.about-intro-img { position:relative; }
.about-intro-img img { width:100%; height:420px; object-fit:cover; display:block; }
.about-intro-img .aii-accent { position:absolute; bottom:-1.25rem; left:-1.25rem; width:55%; height:55%; border:2px solid var(--gold); z-index:-1; }

.about-stats-row {
  display:grid; grid-template-columns:repeat(4, 1fr); max-width:1300px; margin:0 auto;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.about-stat { text-align:center; padding:2.25rem 1rem; border-right:1px solid var(--border); }
.about-stat:last-child { border-right:none; }
.about-stat .as-num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--gold-dark); display:block; }
.about-stat .as-lbl { font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:0.35rem; display:block; }

.whyus-section { padding:5rem 4rem; background:var(--cream); }
.whyus-intro { text-align:center; max-width:640px; margin:0 auto 3rem; }
.whyus-intro .section-label { justify-content:center; display:flex; }
.whyus-intro h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2.1rem; margin:0.5rem 0 0; }
.whyus-intro h2 em { font-style:italic; color:var(--terracotta); }
.whyus-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem; max-width:1300px; margin:0 auto; }
.whyus-card { background:var(--warm-white); border:1px solid var(--border); padding:2rem; }
.whyus-card .wu-icon { font-size:1.6rem; margin-bottom:1rem; display:block; }
.whyus-card h3 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:1.15rem; margin-bottom:0.5rem; }
.whyus-card p { font-size:0.85rem; color:var(--muted); line-height:1.7; }

.members-section { text-align:center; padding:4.5rem 4rem; }
.members-section .section-label { justify-content:center; display:flex; }
.members-section h2 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:2rem; margin:0.5rem 0 2.25rem; }
.members-section h2 em { font-style:italic; color:var(--terracotta); }
.members-row { display:flex; justify-content:center; align-items:center; gap:2rem; flex-wrap:wrap; }
.member-badge { display:flex; flex-direction:column; align-items:center; gap:0.75rem; }
.member-badge img { height:76px; width:auto; }
.member-badge span { font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); }

@media (max-width:1024px) {
  .about-intro-section { grid-template-columns:1fr; gap:2.5rem; padding:3.5rem 2rem; }
  .about-intro-img img { height:320px; }
  .about-stats-row { grid-template-columns:repeat(2, 1fr); }
  .about-stat { border-bottom:1px solid var(--border); }
  .whyus-section { padding:3.5rem 2rem; }
  .whyus-grid { grid-template-columns:1fr; }
  .members-section { padding:3.5rem 2rem; }
}

/* ================================================================
   PRINT ITINERARY (day-by-day + inclusions/exclusions only)
   Triggered by a "Print / Save as PDF" button on tour pages, which
   calls window.print(). Browsers' native print dialogs (Chrome,
   Edge, Safari, Firefox) all offer "Save as PDF" as a destination,
   so this needs no server, no PDF library, and no extra file.
================================================================ */
.print-itinerary-btn {
  width:100%; background:transparent; border:1px solid var(--gold); color:var(--gold-dark);
  padding:0.75rem; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
  cursor:pointer; margin-top:0.75rem; transition:background 0.2s, color 0.2s;
  display:flex; align-items:center; justify-content:center; gap:0.5rem;
}
.print-itinerary-btn:hover { background:var(--gold); color:white; }

/* Only shown when printing — gives the PDF a proper title/header
   since the hero image and nav are hidden in print mode. */
.print-only-header { display:none; }

@media print {
  /* Hide everything except the day-by-day itinerary and inclusions/exclusions */
  nav, .itinerary-hero, .itin-tabs, .overview, .highlights-section, .faq-section,
  .side-col, .site-footer, .print-itinerary-btn, .nav-hamburger,
  .enquiry-strip, .day-toggle, .badges { display:none !important; }

  .print-only-header { display:block !important; padding-bottom:1rem; border-bottom:2px solid #000; margin-bottom:1.5rem; }
  .print-only-header h1 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:600; color:#000; margin-bottom:0.4rem; }
  .print-only-header .print-meta { font-size:0.85rem; color:#333; }
  .print-only-header .print-meta span { margin-right:1.5rem; }

  .page-layout { display:block !important; padding:0 !important; max-width:100% !important; }
  .main-col { width:100% !important; max-width:100% !important; }

  .itinerary-section, .inclusions-section { display:block !important; }

  /* Force every day open — the accordion's collapsed state (only
     the "active" day expanded) must not carry over to print. */
  .day-body { display:block !important; }
  .day-item { break-inside:avoid; page-break-inside:avoid; border:1px solid #ccc !important; box-shadow:none !important; margin-bottom:0.85rem; padding:0.75rem !important; }
  .day-dot { display:none; }

  body { color:#000 !important; background:#fff !important; font-size:11pt; }
  a { color:#000 !important; text-decoration:none !important; }
  .inc-cols { display:grid !important; grid-template-columns:1fr 1fr; gap:1rem; }
  .inclusions-section { break-inside:avoid; page-break-inside:avoid; }
}
