/* ============================================
   BUSH LION TOURS — Clean Luxury Design System
   ============================================ */

:root {
  --green: #1A120B;
  --green-light: #2C1D12;
  --green-dark: #110C07;
  --gold: #9B5023;
  --gold-light: #A86028;
  --gold-dark: #8A451E;
  --ivory: #F5E9DC;
  --ivory-dark: #EFE2D3;
  --charcoal: #1A120B;
  --gray: #5C4A3A;
  --gray-light: #8B7560;
  --white: #ffffff;

  --heading: 'Playfair Display', Georgia, serif;
  --body: 'Outfit', -apple-system, sans-serif;
  --accent: 'Outfit', -apple-system, sans-serif;

  --container: 1200px;
  --nav-h: 80px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--nav-h);
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--charcoal);
  background: var(--white);
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
address { font-style: normal; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.section-padding { padding: 80px 0; }

/* ----- Typography ----- */
h1, h2, h3 { font-family: var(--heading); font-weight: 600; line-height: 1.2; color: var(--charcoal); }

.section-label {
  font-family: var(--accent);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--gold);
  margin-bottom: 12px;
}

.section-title {
  font-size: clamp(28px, 3.2vw, 44px);
  margin-bottom: 16px;
  max-width: 650px;
}

.section-title.light { color: var(--white); }

.section-desc {
  font-size: 17px;
  color: var(--gray);
  max-width: 600px;
  margin-bottom: 48px;
  line-height: 1.6;
}

/* ----- Header ----- */
.site-header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
  padding: 16px 0; transition: all 0.3s; background: transparent;
}
.site-header.scrolled {
  background: rgba(26,18,11,0.97);
  backdrop-filter: blur(16px);
  padding: 8px 0;
  box-shadow: 0 2px 24px rgba(0,0,0,0.1);
}
.header-container {
  max-width: var(--container); margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
}
.logo {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--heading); font-size: 22px; font-weight: 700; color: var(--white);
}
.logo-img { height: 45px; width: auto; object-fit: contain; }
.logo i { color: var(--gold); font-size: 20px; }
.logo span span { color: var(--gold); }

.ft-logo-img { height: 40px; width: auto; object-fit: contain; }

/* ----- Desktop Nav ----- */
.main-nav { display: flex; align-items: center; gap: 32px; }
.mobile-nav-scroll {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 1;
  width: 100%;
}
.nav-list { display: flex; align-items: center; gap: 20px; }
.nav-link {
  font-family: var(--accent); font-size: 12px; font-weight: 500;
  color: rgba(255,255,255,0.8); text-transform: uppercase; letter-spacing: 1px;
  transition: color 0.2s; white-space: nowrap;
}
.nav-link:hover { color: var(--white); }

/* desktop-only elements */
.mobile-nav-header { display: none; }
.mobile-nav-overlay { display: none; }
.nav-icon { display: none; }
.mobile-nav-actions,
.mobile-nav-social,
.mobile-nav-contact { display: none; }
.nav-actions { display: flex; align-items: center; gap: 16px; }
.nav-item-mobile-only { display: none; }

.lang-toggle {
  font-family: var(--accent); font-size: 11px; color: rgba(255,255,255,0.5);
  background: none; border: 1px solid rgba(255,255,255,0.12);
  padding: 4px 8px; border-radius: 4px; cursor: pointer; display: flex; gap: 3px;
  transition: all 0.2s;
}
.lang-toggle:hover { border-color: var(--gold); }
.lang-active { color: var(--gold); font-weight: 600; }
.lang-divider { opacity: 0.3; }
.lang-option { opacity: 0.4; }

/* ----- Buttons ----- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-weight: 600; font-size: 13px;
  border: none; cursor: pointer; transition: all 0.3s;
  text-transform: uppercase; letter-spacing: 1px;
  border-radius: 4px;
}
.btn-primary {
  background: var(--gold); color: var(--green); padding: 12px 28px;
}
.btn-primary:hover {
  background: var(--gold-light); transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(155,80,35,0.3);
}
.btn-outline {
  background: transparent; color: var(--white); padding: 12px 28px;
  border: 1.5px solid rgba(255,255,255,0.3);
}
.btn-outline:hover { border-color: var(--white); background: rgba(255,255,255,0.06); transform: translateY(-1px); }
.btn-text {
  background: none; color: var(--gold); padding: 0; text-transform: none; letter-spacing: 0; font-weight: 500;
}
.btn-text:hover { color: var(--gold-light); gap: 12px; }
.btn-sm { padding: 8px 18px; font-size: 11px; }
.btn-lg { padding: 14px 36px; font-size: 14px; }

/* ----- Mobile Toggle ----- */
.mobile-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 1001; }
.mobile-toggle .bar { display: block; width: 22px; height: 2px; background: var(--white); transition: all 0.3s; border-radius: 2px; }
.site-header.scrolled .mobile-toggle .bar { background: var(--charcoal); }
.mobile-toggle.active .bar:nth-child(1) { transform: rotate(45deg) translate(5px,5px); background: var(--white) !important; }
.mobile-toggle.active .bar:nth-child(2) { opacity: 0; }
.mobile-toggle.active .bar:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); background: var(--white) !important; }

/* ----- WhatsApp Float ----- */
.whatsapp-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  width: 52px; height: 52px; background: #25D366; color: var(--white);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; box-shadow: 0 4px 16px rgba(37,211,102,0.35);
  transition: transform 0.3s;
}
.whatsapp-float:hover { transform: scale(1.08); color: var(--white); }
.whatsapp-tooltip {
  position: absolute; right: calc(100% + 12px); background: var(--charcoal);
  color: var(--white); padding: 6px 12px; border-radius: 4px;
  font-size: 12px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.2s;
}
.whatsapp-float:hover .whatsapp-tooltip { opacity: 1; }

/* ----- Hero ----- */
.hero { position: relative; height: 100vh; min-height: 600px; max-height: 1000px; overflow: hidden; background: var(--green); }
.hero-slider { position: relative; height: 100%; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s; }
.hero-slide.active { opacity: 1; }
.hero-image-wrapper { position: absolute; inset: 0; }
.hero-image { width: 100%; height: 100%; object-fit: cover; transition: transform 6s; }
.hero-slide.active .hero-image { transform: scale(1.05); }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,0.7) 0%, rgba(26,18,11,0.2) 50%, rgba(0,0,0,0.3) 100%);
}
.hero-content {
  position: absolute; bottom: 15%; left: 0; right: 0;
  padding: 0 24px; max-width: var(--container); margin: 0 auto; z-index: 2;
}
.hero-badge {
  font-family: var(--accent); font-size: 11px; text-transform: uppercase;
  letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; display: block;
  opacity: 0; transform: translateY(16px); animation: fadeUp 0.6s 0.3s forwards;
}
.hero-title {
  font-family: var(--heading); font-size: clamp(32px, 5vw, 60px); font-weight: 700;
  color: var(--white); line-height: 1.08; margin-bottom: 20px; max-width: 750px;
  opacity: 0; transform: translateY(24px); animation: fadeUp 0.6s 0.5s forwards;
}
.hero-text {
  font-size: 17px; color: rgba(255,255,255,0.85); max-width: 540px;
  line-height: 1.7; margin-bottom: 28px;
  opacity: 0; transform: translateY(24px); animation: fadeUp 0.6s 0.7s forwards;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; opacity: 0; transform: translateY(24px); animation: fadeUp 0.6s 0.9s forwards; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }

.hero-dots { position: absolute; bottom: 5%; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; z-index: 3; }
.hero-dot { width: 32px; height: 2px; border: none; background: rgba(255,255,255,0.25); cursor: pointer; border-radius: 2px; transition: all 0.3s; padding: 0; }
.hero-dot.active { background: var(--gold); width: 48px; }
.hero-chevron { position: absolute; bottom: 2%; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.25); font-size: 1rem; animation: bounce 2s infinite; z-index: 3; }
@keyframes bounce { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }

/* ----- Trip Finder ----- */
.trip-finder { margin-top: -48px; position: relative; z-index: 10; padding-bottom: 60px; }
.finder-card { background: var(--white); border-radius: 16px; padding: 28px 36px; box-shadow: 0 20px 60px rgba(0,0,0,0.12); border: 1px solid rgba(26,18,11,0.06); }
.finder-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.finder-header i { font-size: 22px; color: var(--gold); }
.finder-header h2 { font-family: var(--heading); font-size: 22px; color: var(--green); }
.finder-form { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr auto; gap: 14px; align-items: end; }
.finder-group { position: relative; }
.finder-group label { display: flex; align-items: center; gap: 5px; font-family: var(--accent); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #999; margin-bottom: 6px; }
.finder-group label i { font-size: 9px; color: var(--gold); }
.finder-group select,
.finder-date-input {
  width: 100%; padding: 10px 14px; font-family: var(--body); font-size: 14px;
  color: var(--charcoal); background: var(--ivory); border: 1.5px solid transparent;
  border-radius: 6px; cursor: pointer; appearance: none; transition: all 0.2s;
}
.finder-group select:hover,
.finder-date-input:hover { border-color: var(--ivory-dark); }
.finder-group select:focus,
.finder-date-input:focus { outline: none; border-color: var(--gold); }
.finder-date-input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.6; }
.finder-date-input::-webkit-calendar-picker-indicator:hover { opacity: 1; }
.select-arrow { position: absolute; right: 14px; bottom: 12px; color: #aaa; pointer-events: none; font-size: 10px; }
.btn-finder { height: 42px; white-space: nowrap; padding: 10px 28px; font-size: 13px; letter-spacing: 0.5px; }

/* ----- Experiences ----- */
.experiences .section-label,
.experiences .section-title,
.experiences .section-desc { text-align: center; margin-left: auto; margin-right: auto; }
.experience-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; max-width: 960px; margin: 0 auto; }
.experience-card { position: relative; border-radius: 16px; overflow: hidden; cursor: pointer; height: 480px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); transition: box-shadow 0.4s, transform 0.4s; }
.experience-card:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.22); transform: translateY(-4px); }
.exp-image { position: absolute; inset: 0; }
.exp-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.experience-card:hover .exp-image img { transform: scale(1.08); }
.exp-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(26,18,11,0.92) 0%, rgba(26,18,11,0.4) 40%, transparent 70%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 36px; opacity: 0; transition: opacity 0.4s;
}
.experience-card:hover .exp-overlay { opacity: 1; }
.exp-category { font-family: var(--accent); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 2.5px; color: var(--gold); margin-bottom: 8px; }
.exp-overlay h3 { font-size: 26px; color: var(--white); margin-bottom: 8px; line-height: 1.2; }
.exp-overlay p { color: rgba(255,255,255,0.85); font-size: 14px; line-height: 1.6; margin-bottom: 20px; max-width: 320px; }
.exp-link { font-family: var(--accent); font-weight: 600; color: var(--gold); display: inline-flex; align-items: center; gap: 8px; font-size: 13px; transition: gap 0.3s; }
.exp-link:hover { gap: 14px; }
.exp-front {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 32px;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
  transition: opacity 0.35s;
}
.exp-front .exp-badge {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--gold);
  background: rgba(155,80,35,0.18); padding: 4px 10px; border-radius: 4px; margin-bottom: 8px;
}
.exp-front h3 { font-family: var(--heading); font-size: 24px; color: var(--white); margin-bottom: 6px; line-height: 1.2; }
.exp-front p { color: rgba(255,255,255,0.8); font-size: 14px; line-height: 1.5; }
.experience-card:hover .exp-front { opacity: 0; }

/* ----- About ----- */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.about-images { position: relative; min-height: 450px; }
.about-img-main { width: 75%; height: 380px; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,0.1); }
.about-img-main img { width: 100%; height: 100%; object-fit: cover; }
.about-img-secondary { position: absolute; bottom: 0; right: 0; width: 55%; height: 260px; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,0.1); border: 4px solid var(--white); }
.about-img-secondary img { width: 100%; height: 100%; object-fit: cover; }
.about-img-tertiary { position: absolute; top: 0; right: 5%; width: 32%; height: 160px; border-radius: 8px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.1); border: 3px solid var(--white); }
.about-img-tertiary img { width: 100%; height: 100%; object-fit: cover; }
.about-accent { position: absolute; bottom: 8%; left: -4%; width: 80px; height: 80px; border: 2px solid var(--gold); border-radius: 8px; z-index: -1; }
.about-text { color: var(--gray); margin-bottom: 16px; line-height: 1.8; }
.about-stats { display: flex; gap: 40px; margin: 24px 0; }
.about-stat { text-align: center; }
.about-stat-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--green); line-height: 1; }
.about-stat-label { font-size: 12px; color: var(--gray-light); font-weight: 500; }
.about-actions { display: flex; align-items: center; gap: 24px; }

/* ----- Why Us ----- */
.why-us { background: var(--ivory); }
.why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.why-card { background: var(--white); padding: 28px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: all 0.3s; }
.why-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); border-color: var(--gold); }
.why-icon { width: 44px; height: 44px; background: var(--ivory); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; font-size: 1.1rem; color: var(--gold); transition: all 0.3s; }
.why-card:hover .why-icon { background: var(--green); color: var(--white); }
.why-card-title { font-family: var(--heading); font-size: 18px; margin-bottom: 8px; }
.why-card p { color: var(--gray); font-size: 14px; line-height: 1.6; }

/* ----- Packages ----- */
.package-filters { display: flex; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; }
.filter-btn {
  font-family: var(--accent); font-size: 15px; font-weight: 500;
  padding: 4px 0; border: none; background: transparent; cursor: pointer;
  transition: all 0.2s; color: var(--gray-light); position: relative;
}
.filter-btn::after {
  content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
  height: 2px; background: transparent; transition: background 0.2s;
}
.filter-btn:hover { color: var(--charcoal); }
.filter-btn.active { color: var(--green); font-weight: 600; }
.filter-btn.active::after { background: var(--gold); }

.package-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.package-card { background: var(--white); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: all 0.3s; display: flex; flex-direction: column; }
.package-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.package-image { height: 240px; overflow: hidden; position: relative; }
.package-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.package-card:hover .package-image img { transform: scale(1.04); }
.package-badge { position: absolute; top: 12px; left: 12px; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; background: var(--green); color: var(--white); padding: 3px 8px; border-radius: 3px; }
.package-duration { position: absolute; top: 12px; right: 12px; font-family: var(--accent); font-size: 9px; font-weight: 600; background: rgba(0,0,0,0.5); color: var(--white); padding: 3px 8px; border-radius: 3px; backdrop-filter: blur(4px); }
.package-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.package-rating { font-size: 12px; color: var(--gold); margin-bottom: 6px; }
.package-rating span { color: var(--gray-light); font-weight: 400; }
.package-title { font-family: 'Plus Jakarta Sans', var(--body); font-size: 18px; font-weight: 700; margin-bottom: 8px; line-height: 1.3; color: var(--charcoal); }
.package-desc { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 16px; flex: 1; }
.package-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--ivory-dark); }
.package-price { font-family: var(--heading); font-size: 22px; font-weight: 700; color: var(--green); }
.package-price span { font-size: 11px; font-weight: 400; color: var(--gray-light); font-family: var(--body); }
.package-link { font-family: var(--accent); font-size: 11px; font-weight: 600; color: var(--green); background: none; border: 1.5px solid var(--green); padding: 6px 14px; border-radius: 4px; transition: all 0.2s; text-transform: uppercase; letter-spacing: 0.5px; }
.package-link:hover { background: var(--green); color: var(--white); }

/* ----- Testimonials ----- */
.testimonials { background: var(--green); color: var(--white); text-align: center; }
.testimonials .section-title { margin-left: auto; margin-right: auto; }
.testimonial-stars-badge { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 32px; }
.stars-row { display: flex; gap: 3px; color: var(--gold); font-size: 1rem; }
.badge-text { font-family: var(--accent); font-size: 14px; color: rgba(255,255,255,0.6); }
.testimonial-content { max-width: 550px; margin: 0 auto; }
.testimonial-stars { color: var(--gold); font-size: 14px; margin-bottom: 16px; }
.testimonial-stars i.empty { color: rgba(255,255,255,0.2); }
.testimonial-text { font-size: 22px; font-weight: 300; line-height: 1.6; font-style: italic; margin-bottom: 20px; color: rgba(255,255,255,0.9); }
.testimonial-text::before { content: '\201C'; }
.testimonial-text::after { content: '\201D'; }
.testimonial-author { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.testimonial-name { font-family: var(--accent); font-weight: 600; color: var(--white); }
.testimonial-location { font-size: 14px; color: rgba(255,255,255,0.5); }
.testimonial-source { margin-top: 12px; }
.tripadvisor-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 20px;
  background: rgba(0,170,108,0.15); border: 1px solid rgba(0,170,108,0.3);
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  color: #00aa6c; text-transform: uppercase; letter-spacing: 0.5px;
  transition: all 0.3s;
}
.tripadvisor-badge:hover {
  background: rgba(0,170,108,0.25); border-color: #00aa6c;
  color: #00aa6c; transform: translateY(-1px);
}
.tripadvisor-badge svg { flex-shrink: 0; }
.testimonial-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 32px; }
.testimonial-arrow { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.15); background: transparent; color: var(--white); font-size: 0.9rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
.testimonial-arrow:hover { border-color: var(--gold); color: var(--gold); }
.testimonial-dots { display: flex; gap: 8px; }
.testimonial-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.2); border: none; cursor: pointer; transition: all 0.2s; padding: 0; }
.testimonial-dot.active { background: var(--gold); transform: scale(1.3); }
.testimonial-footer { text-align: center; margin-top: 24px; }
.testimonial-footer .btn-text { color: var(--gold); }
.testimonial-footer .btn-text:hover { color: var(--gold-light); }

/* ----- Sustainability ----- */
.sustainability { background: var(--green); color: var(--white); text-align: center; }
.sustainability-content { max-width: 750px; margin: 0 auto; }
.sustainability-content .section-label { display: inline-block; }
.sustainability-text { font-size: 17px; color: rgba(255,255,255,0.8); line-height: 1.7; max-width: 600px; margin: 0 auto 48px; }
.sustainability-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px; }
.sust-stat { text-align: center; }
.sust-number { display: inline-block; font-family: var(--heading); font-size: 44px; font-weight: 700; color: var(--gold); line-height: 1; }
.sust-suffix { font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); }
.sust-label { font-size: 14px; color: rgba(255,255,255,0.6); margin-top: 8px; line-height: 1.5; }

/* ----- Group Departures ----- */
.group-tabs { display: flex; gap: 32px; margin-bottom: 32px; border-bottom: 1px solid var(--ivory-dark); }
.group-tab { font-family: var(--accent); font-size: 16px; font-weight: 500; color: var(--gray-light); background: none; border: none; padding: 12px 0; cursor: pointer; position: relative; transition: color 0.2s; }
.group-tab::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 0; height: 2px; background: var(--gold); transition: width 0.2s; }
.group-tab:hover { color: var(--charcoal); }
.group-tab.active { color: var(--green); font-weight: 600; }
.group-tab.active::after { width: 100%; }
.group-table { width: 100%; border-collapse: collapse; }
.group-table thead { border-bottom: 2px solid var(--green); }
.group-table th {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light);
  padding: 14px 16px; text-align: left;
}
.group-table th:last-child { text-align: right; }
.group-table td {
  padding: 18px 16px; border-bottom: 1px solid var(--ivory-dark);
  font-size: 14px; vertical-align: middle;
}
.group-table tbody tr { transition: background 0.2s; }
.group-table tbody tr:hover { background: var(--ivory); }
.group-table .group-badge {
  display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,0.08); padding: 3px 8px; border-radius: 3px; margin-right: 10px;
}
.group-table .group-seats { margin-bottom: 0; min-width: 130px; }
.group-table .group-seats-bar { height: 3px; background: var(--ivory-dark); border-radius: 4px; overflow: hidden; margin-bottom: 4px; }
.group-table .group-seats-fill { display: block; height: 100%; background: var(--gold); border-radius: 4px; }
.group-table .group-seats-text { font-size: 12px; color: var(--gray-light); }
.group-table .group-price {
  font-family: var(--heading); font-size: 18px; font-weight: 700;
  color: var(--green); white-space: nowrap;
}
.group-table .gp-label { font-weight: 400; font-size: 12px; color: var(--gray-light); font-family: var(--body); }
.group-table td:last-child { text-align: right; }
.group-table td:last-child .btn { white-space: nowrap; }
.group-links { display: flex; gap: 32px; justify-content: center; margin-top: 32px; flex-wrap: wrap; }

@media (max-width: 768px) {
  .group-table, .group-table thead, .group-table tbody,
  .group-table tr, .group-table th, .group-table td { display: block; }
  .group-table thead { display: none; }
  .group-table tr {
    background: var(--white); border: 1px solid var(--ivory-dark);
    border-radius: 8px; padding: 20px; margin-bottom: 16px;
  }
  .group-table td {
    padding: 8px 0; border-bottom: none;
    display: flex; align-items: center; gap: 8px;
  }
  .group-table td::before {
    content: attr(data-label);
    font-family: var(--accent); font-size: 10px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--gray-light); min-width: 85px; flex-shrink: 0;
  }
  .group-table td:last-child {
    justify-content: flex-end; padding-top: 12px;
    margin-top: 8px; border-top: 1px solid var(--ivory-dark);
  }
  .group-table .group-badge { margin-bottom: 0; }
}

/* ----- Stats ----- */
.stats { background: var(--ivory); padding: 60px 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; text-align: center; }
.stat-item { padding: 16px; }
.stat-icon { font-size: 1.5rem; color: var(--gold); margin-bottom: 12px; }
.stat-number { display: block; font-family: var(--heading); font-size: 38px; font-weight: 700; color: var(--green); line-height: 1; }
.stat-suffix { font-family: var(--heading); font-size: 28px; font-weight: 700; color: var(--green); }
.stat-label { font-size: 13px; color: var(--gray-light); margin-top: 6px; font-weight: 500; }

/* ----- Promise ----- */
.promise-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.promise-card { text-align: center; padding: 40px 28px; background: var(--white); border-radius: 8px; border: 1px solid var(--ivory-dark); transition: all 0.3s; }
.promise-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.promise-card-icon { width: 60px; height: 60px; background: var(--ivory); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 1.3rem; color: var(--gold); transition: all 0.3s; }
.promise-card:hover .promise-card-icon { background: var(--green); color: var(--white); }
.promise-card h3 { font-size: 20px; margin-bottom: 8px; }
.promise-card p { color: var(--gray); font-size: 14px; line-height: 1.7; }

/* ----- Gallery ----- */
.gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 220px; gap: 8px; }
.gallery-item { border-radius: 6px; overflow: hidden; cursor: pointer; position: relative; }
.gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery-item:nth-child(4) { grid-column: span 2; }
.gallery-item:nth-child(7) { grid-column: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.gallery-item:hover img { transform: scale(1.04); }
.gallery-overlay { position: absolute; inset: 0; background: rgba(26,18,11,0.5); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; }
.gallery-overlay i { color: var(--white); font-size: 1.5rem; transform: scale(0.5); transition: transform 0.3s; }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-item:hover .gallery-overlay i { transform: scale(1); }

/* ----- Lightbox ----- */
.lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,0.9); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s; }
.lightbox.open { opacity: 1; visibility: visible; }
.lightbox-image { max-width: 85vw; max-height: 80vh; object-fit: contain; border-radius: 6px; }
.lightbox-caption { position: absolute; bottom: 5%; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,0.7); font-size: 14px; text-align: center; }
.lightbox-close { position: absolute; top: 20px; right: 20px; background: none; border: none; color: var(--white); font-size: 2rem; cursor: pointer; opacity: 0.5; transition: opacity 0.2s; }
.lightbox-close:hover { opacity: 1; }
.lightbox-prev, .lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.08); border: none; color: var(--white); width: 44px; height: 44px; border-radius: 50%; font-size: 1rem; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-prev:hover, .lightbox-next:hover { background: var(--gold); color: var(--green); }

/* ----- FAQ ----- */
.faq { background: var(--ivory); text-align: center; }
.faq .section-title,
.faq .section-desc { margin-left: auto; margin-right: auto; }
.faq-list { max-width: 750px; margin: 0 auto; text-align: left; }
.faq-item { background: var(--white); border-radius: 6px; margin-bottom: 8px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: border-color 0.2s, box-shadow 0.2s; }
.faq-item:hover { border-color: var(--gold); }
.faq-item.open { border-color: var(--gold); box-shadow: 0 2px 12px rgba(155,80,35,0.1); }
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; background: none; border: none; cursor: pointer; font-family: var(--heading); font-size: 16px; font-weight: 600; color: var(--charcoal); text-align: left; gap: 16px; transition: color 0.2s; outline: none; }
.faq-question:focus { outline: none; box-shadow: none; }
.faq-question:hover { color: var(--green); }
.faq-icon { font-size: 14px; color: var(--gold); transition: transform 0.3s; flex-shrink: 0; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s; }
.faq-answer-inner { padding: 0 24px 18px; color: var(--gray); line-height: 1.8; font-size: 14px; }

/* ----- Team ----- */
.team-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.team-card { text-align: center; background: var(--white); border-radius: 8px; padding: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: all 0.3s; }
.team-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.team-avatar { width: 100px; height: 100px; border-radius: 50%; margin: 0 auto 16px; border: 3px solid var(--ivory-dark); transition: border-color 0.3s; overflow: hidden; }
.team-avatar img { width: 100%; height: 100%; object-fit: cover; }
.team-card:hover .team-avatar { border-color: var(--gold); }
.team-name { font-size: 18px; margin-bottom: 2px; }
.team-role { font-family: var(--accent); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); font-weight: 600; margin-bottom: 8px; }
.team-bio { font-size: 13px; color: var(--gray); line-height: 1.6; }

/* ----- Blog (removed duplicate — see BLOG GRID section) ----- */

/* ----- CTA ----- */
.cta { position: relative; background: var(--green); overflow: hidden; text-align: center; padding: 100px 0; }
.cta::before { content: ''; position: absolute; inset: 0; background-image: url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=60'); background-size: cover; background-position: center; opacity: 0.08; mix-blend-mode: overlay; }
.cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.cta-title { font-size: clamp(28px,3.5vw,46px); color: var(--white); margin-bottom: 16px; }
.cta-text { font-size: 17px; color: rgba(255,255,255,0.8); margin-bottom: 28px; line-height: 1.7; }
.cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ----- Contact ----- */
.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; }
.contact-desc { color: var(--gray); margin-bottom: 24px; line-height: 1.7; }
.contact-details { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.contact-item { display: flex; align-items: flex-start; gap: 16px; }
.contact-item-icon { width: 40px; height: 40px; background: var(--ivory); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 1rem; flex-shrink: 0; }
.contact-item-label { display: block; font-family: var(--accent); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); font-weight: 600; margin-bottom: 2px; }
.contact-item a, .contact-item address { font-size: 15px; color: var(--charcoal); font-weight: 500; }
.contact-item a:hover { color: var(--gold-dark); }
.contact-trust h4 { font-family: var(--accent); font-size: 12px; font-weight: 700; color: var(--green); margin-bottom: 14px; text-transform: uppercase; letter-spacing: 1.5px; }
.trust-flags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.trust-flag { font-family: var(--accent); font-size: 11px; font-weight: 600; background: var(--green); padding: 6px 14px; border-radius: 20px; color: var(--ivory); display: flex; align-items: center; gap: 6px; border: 1px solid var(--gold); letter-spacing: 0.5px; transition: all 0.3s ease; }
.trust-flag:hover { background: var(--gold); color: var(--green); border-color: var(--gold); transform: translateY(-1px); }
.trust-flag i { color: var(--gold); font-size: 13px; }
.trust-flag:hover i { color: var(--green); }

/* ----- Form ----- */
.contact-form { background: var(--white); padding: 40px; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.06); border: 1px solid var(--ivory-dark); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { margin-bottom: 16px; position: relative; }
.form-group label { display: block; font-family: var(--accent); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); margin-bottom: 6px; }
.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px 14px; font-family: var(--body); font-size: 14px; color: var(--charcoal); background: var(--ivory); border: 1.5px solid transparent; border-radius: 6px; transition: all 0.2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--gold); background: var(--white); }
.form-group textarea { resize: vertical; min-height: 90px; }
.form-group.error input, .form-group.error textarea { border-color: #e74c3c; }
.form-error { font-size: 11px; color: #e74c3c; margin-top: 4px; display: block; height: 0; overflow: hidden; transition: height 0.2s; }
.form-group.error .form-error { height: auto; }
.form-note { font-size: 12px; color: #bbb; text-align: center; margin-top: 12px; }
.form-note i { margin-right: 4px; }

/* ----- Newsletter ----- */
.newsletter { background: var(--green); padding: 0; }
.newsletter-card { max-width: 550px; margin: 0 auto; text-align: center; padding: 80px 0; }
.newsletter-icon { font-size: 2rem; color: var(--gold); margin-bottom: 16px; }
.newsletter-title { font-family: var(--heading); font-size: 28px; color: var(--white); margin-bottom: 8px; }
.newsletter-text { color: rgba(255,255,255,0.7); margin-bottom: 24px; font-size: 15px; }
.newsletter-input-group { display: flex; gap: 8px; max-width: 450px; margin: 0 auto; }
.newsletter-input-group input { flex: 1; padding: 12px 18px; font-family: var(--body); font-size: 14px; border: 1.5px solid rgba(255,255,255,0.12); border-radius: 6px; background: rgba(255,255,255,0.06); color: var(--white); transition: all 0.2s; }
.newsletter-input-group input::placeholder { color: rgba(255,255,255,0.35); }
.newsletter-input-group input:focus { outline: none; border-color: var(--gold); background: rgba(255,255,255,0.1); }
.newsletter-input-group .btn { white-space: nowrap; }

/* ============================================
   SAFARI PAGE — Page-Specific Styles
   ============================================ */

/* ----- Safari Hero ----- */
.safari-hero {
  position: relative; min-height: 92vh; display: flex; flex-direction: column;
  justify-content: flex-end; overflow: hidden;
}
.safari-hero-bg {
  position: absolute; inset: 0;
}
.safari-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,0.75) 0%, rgba(26,18,11,0.35) 50%, rgba(0,0,0,0.5) 100%);
}
.safari-hero-content {
  position: relative; z-index: 2; padding: 120px 0 100px; max-width: 720px;
}
.safari-hero-breadcrumb {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  margin-bottom: 16px; display: block;
}
.safari-hero-title {
  font-size: 58px; font-weight: 700; line-height: 1.1; color: var(--white);
  margin-bottom: 20px;
}
.gold-text { color: var(--gold); }
.safari-hero-text {
  font-size: 17px; line-height: 1.7; color: rgba(255,255,255,0.75);
  margin-bottom: 32px; max-width: 600px;
}
.safari-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.safari-hero-stats {
  position: relative; z-index: 2;
  background: rgba(255,255,255,0.06); backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.safari-hero-stats-inner {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 0; padding: 20px 0;
}
.safari-stat {
  text-align: center; padding: 8px 0;
  border-right: 1px solid rgba(255,255,255,0.06);
}
.safari-stat:last-child { border-right: none; }
.safari-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); margin-bottom: 2px;
}
.safari-stat-label {
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,0.4);
}

/* ----- Safari Section Defaults ----- */
.safari-section { padding: 100px 0; }

/* ----- Safari Why Tanzania ----- */
#why-tanzania { background: var(--ivory); }
.safari-intro-grid {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center;
}
.safari-intro-content .section-title { text-align: left; }
.safari-intro-p {
  font-size: 15px; line-height: 1.75; color: var(--gray); margin-bottom: 16px;
}
.safari-intro-p:last-of-type { margin-bottom: 24px; }
.safari-intro-stats {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 24px;
}
.safari-intro-stat { text-align: left; }
.safari-intro-num {
  display: block; font-family: var(--heading); font-size: 32px;
  font-weight: 700; color: var(--green); line-height: 1.1;
}
.safari-intro-lbl {
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); margin-top: 4px; display: block;
}
.safari-intro-visual { position: relative; min-height: 420px; }
.safari-intro-img-main {
  position: absolute; top: 0; left: 0; width: 75%; height: 340px;
  border-radius: 12px; overflow: hidden;
}
.safari-intro-img-main img, .safari-intro-img-top img, .safari-intro-img-bot img {
  width: 100%; height: 100%; object-fit: cover;
}
.safari-intro-img-top {
  position: absolute; top: 20px; right: 0; width: 42%; height: 200px;
  border-radius: 12px; overflow: hidden; z-index: 2;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.safari-intro-img-bot {
  position: absolute; bottom: 0; left: 18%; width: 38%; height: 160px;
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

/* ----- Safari Parks ----- */
.safari-parks { background: var(--white); }
.safari-parks-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px; }
.safari-park-card {
  background: var(--ivory); border-radius: 12px; overflow: hidden;
  transition: transform 0.4s, box-shadow 0.4s;
}
.safari-park-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,0.08); }
.safari-park-img { height: 200px; overflow: hidden; }
.safari-park-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.safari-park-card:hover .safari-park-img img { transform: scale(1.06); }
.safari-park-body { padding: 24px; }
.safari-park-body h3 { font-size: 19px; margin-bottom: 10px; color: var(--charcoal); }
.safari-park-body > p { font-size: 14px; color: var(--gray); line-height: 1.65; margin-bottom: 14px; }
.safari-park-highlights { list-style: none; padding: 0; }
.safari-park-highlights li {
  font-size: 13px; color: var(--gray); padding: 4px 0;
  display: flex; align-items: center; gap: 8px;
}
.safari-park-highlights li::before { content: '◆'; color: var(--gold); font-size: 8px; }

/* ----- Safari Big Five ----- */
.safari-bigfive { background: var(--white); }
.safari-bigfive-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;
}
.safari-bigfive-content .section-title { text-align: left; }
.safari-bigfive-grid-inner {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;
}
.safari-bigfive-item {
  background: var(--ivory); padding: 24px; border-radius: 12px;
  border-left: 3px solid var(--gold); transition: transform 0.3s;
}
.safari-bigfive-item:hover { transform: translateY(-2px); }
.safari-bigfive-icon {
  width: 40px; height: 40px; background: rgba(155,80,35,0.1);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 16px; margin-bottom: 12px;
}
.safari-bigfive-item h4 { font-size: 17px; margin-bottom: 6px; color: var(--charcoal); }
.safari-bigfive-item p { font-size: 13px; color: var(--gray); line-height: 1.6; }

/* ----- Safari Moments ----- */
.safari-moments { background: var(--green); }
.safari-moments .section-title { color: var(--white); }
.safari-moments .section-desc { color: rgba(255,255,255,0.55); }
.safari-moments-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 40px;
}
.safari-moment-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px; padding: 28px 20px; position: relative;
  transition: all 0.3s;
}
.safari-moment-card:hover {
  background: rgba(255,255,255,0.07); border-color: rgba(155,80,35,0.2);
  transform: translateY(-3px);
}
.safari-moment-num {
  position: absolute; top: 16px; right: 20px;
  font-family: var(--heading); font-size: 42px; font-weight: 700;
  color: rgba(255,255,255,0.04); line-height: 1;
}
.safari-moment-icon {
  width: 44px; height: 44px; background: rgba(155,80,35,0.12);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 18px; margin-bottom: 14px;
}
.safari-moment-card h3 {
  font-size: 17px; color: var(--white); margin-bottom: 8px;
}
.safari-moment-card p {
  font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.6;
}

/* ----- Safari Seasons ----- */
#when-to-go { background: var(--white); }
.safari-season-tabs {
  display: flex; gap: 0; margin-top: 36px; border: 1px solid var(--ivory-dark);
  border-radius: 8px; overflow: hidden;
}
.safari-season-tab {
  flex: 1; padding: 16px 12px; text-align: center; cursor: pointer;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light);
  background: none; border: none; transition: all 0.3s;
  border-right: 1px solid var(--ivory-dark);
}
.safari-season-tab:last-child { border-right: none; }
.safari-season-tab span {
  display: block; font-family: var(--body); font-size: 13px;
  font-weight: 400; text-transform: none; letter-spacing: 0;
  color: var(--gray); margin-top: 2px;
}
.safari-season-tab:hover { background: var(--ivory); }
.safari-season-tab.active {
  background: var(--green); color: var(--white); border-color: var(--green);
}
.safari-season-tab.active span { color: rgba(255,255,255,0.7); }
.safari-season-panels { margin-top: 32px; }
.safari-season-panel { display: none; }
.safari-season-panel.active { display: block; }
.safari-season-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start;
}
.safari-season-info h3 { font-size: 22px; margin-bottom: 16px; color: var(--charcoal); }
.safari-season-metrics { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.safari-season-metric {
  font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 6px;
  background: var(--ivory); padding: 6px 12px; border-radius: 6px;
}
.safari-season-metric i { color: var(--gold); width: 16px; text-align: center; }
.safari-season-info > p { font-size: 14px; line-height: 1.7; color: var(--gray); margin-bottom: 16px; }
.safari-season-highlights { display: flex; flex-direction: column; gap: 6px; }
.safari-season-highlights span { font-size: 13px; color: var(--gray-light); font-weight: 500; }
.safari-season-overlay {
  background: var(--ivory); border-radius: 12px; padding: 28px;
  display: flex; align-items: center; justify-content: center;
}
.safari-season-ratings { display: flex; flex-direction: column; gap: 16px; }
.safari-season-ratings span {
  font-family: var(--accent); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light);
  display: flex; align-items: center; gap: 8px;
}
.safari-season-ratings i { color: var(--gold); font-size: 14px; }

/* ----- Safari Packages ----- */
.safari-packages-section { background: var(--ivory); }
.safari-packages-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px;
}
.safari-package-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  overflow: hidden; transition: all 0.4s;
}
.safari-package-card:hover {
  transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,0.08); border-color: transparent;
}
.safari-package-image { position: relative; height: 240px; overflow: hidden; }
.safari-package-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.safari-package-card:hover .safari-package-image img { transform: scale(1.06); }
.safari-package-badge {
  position: absolute; top: 14px; left: 14px;
  font-family: var(--accent); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,0.12); backdrop-filter: blur(8px);
  padding: 4px 12px; border-radius: 4px;
}
.safari-package-dur {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--accent); font-size: 10px; font-weight: 600; color: var(--white);
  background: var(--green); padding: 4px 12px; border-radius: 4px;
}
.safari-package-body { padding: 24px; }
.safari-package-body h3 { font-size: 18px; margin-bottom: 8px; color: var(--charcoal); }
.safari-package-desc { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 16px; }
.safari-package-rating { margin-bottom: 8px; }
.safari-package-stars { color: #f59e0b; font-size: 12px; }
.safari-package-rating-text { font-size: 12px; color: var(--gray-light); margin-left: 4px; }
.safari-package-body > p { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 18px; }
.safari-package-footer {
  display: flex; align-items: center; justify-content: space-between; padding-top: 16px;
  border-top: 1px solid var(--ivory-dark);
}
.safari-package-price { font-family: var(--heading); font-size: 20px; font-weight: 700; color: var(--green); }
.safari-package-price span { font-weight: 400; font-size: 12px; color: var(--gray-light); font-family: var(--body); }
.safari-package-link {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  text-decoration: none; transition: color 0.2s;
}
.safari-package-link:hover { color: var(--green); }

/* ----- Safari Styles ----- */
.safari-styles { background: var(--white); }
.safari-styles-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 40px;
}
.safari-style-card {
  background: var(--ivory); border-radius: 12px; padding: 28px 22px; text-align: center;
  transition: all 0.3s;
}
.safari-style-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.safari-style-icon {
  width: 52px; height: 52px; background: rgba(155,80,35,0.1);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; color: var(--gold); font-size: 20px;
}
.safari-style-card h3 { font-size: 16px; margin-bottom: 8px; color: var(--charcoal); }
.safari-style-card p { font-size: 13px; color: var(--gray); line-height: 1.6; }

/* ----- Safari Accommodation ----- */
.safari-accommodation { background: var(--ivory); }
.safari-accom-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 40px;
}
.safari-accom-card {
  background: var(--white); border: 1px solid var(--ivory-dark);
  border-radius: 12px; overflow: hidden; transition: all 0.3s;
}
.safari-accom-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.06); transform: translateY(-3px); }
.safari-accom-label {
  font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--white);
  background: var(--green); padding: 10px 20px; text-align: center;
}
.safari-accom-card:nth-child(1) .safari-accom-label { background: #1A120B; }
.safari-accom-card:nth-child(2) .safari-accom-label { background: var(--green); }
.safari-accom-card:nth-child(3) .safari-accom-label { background: #C17C45; }
.safari-accom-card:nth-child(4) .safari-accom-label { background: #C17C45; }
.safari-accom-body { padding: 24px; }
.safari-accom-body h3 { font-size: 16px; margin-bottom: 10px; color: var(--charcoal); }
.safari-accom-body > p { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 14px; }
.safari-accom-body ul { list-style: none; padding: 0; }
.safari-accom-body ul li {
  font-size: 13px; color: var(--gray); padding: 3px 0;
  display: flex; align-items: center; gap: 8px;
}
.safari-accom-body ul li::before { content: '→'; color: var(--gold); font-size: 13px; font-weight: 600; }

/* ----- Safari Success / Trust ----- */
.safari-success { background: var(--green); }
.safari-success .section-title { color: var(--white); }
.safari-success .section-desc { color: rgba(255,255,255,0.55); }
.safari-success-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-top: 40px;
}
.safari-success-item {
  text-align: center; padding: 32px 16px;
  background: rgba(255,255,255,0.04); border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.06); position: relative;
}
.safari-success-num {
  font-family: var(--heading); font-size: 48px; font-weight: 700;
  color: var(--gold); line-height: 1; display: inline;
}
.safari-success-plus {
  font-family: var(--heading); font-size: 32px; font-weight: 700;
  color: var(--gold); line-height: 1;
}
.safari-success-lbl {
  display: block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,0.4);
  margin-top: 8px;
}

/* ----- Safari Safety ----- */
.safari-safety { background: var(--white); }
.safari-safety-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 40px;
}
.safari-safety-card {
  background: var(--ivory); border-radius: 12px; padding: 28px 24px;
  border-left: 3px solid var(--gold); transition: all 0.3s;
}
.safari-safety-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.04); }
.safari-safety-icon {
  width: 40px; height: 40px; background: rgba(155,80,35,0.1);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 16px; margin-bottom: 12px;
}
.safari-safety-card h3 { font-size: 16px; margin-bottom: 8px; color: var(--charcoal); }
.safari-safety-card p { font-size: 13px; color: var(--gray); line-height: 1.6; }

/* ----- Safari Group departures ----- */
.safari-group { background: var(--ivory); }
.safari-group-grid { margin-bottom: 24px; }
.safari-group-footer { text-align: center; }

/* ----- Safari Prep ----- */
.safari-prep { background: var(--white); }
.safari-prep-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px;
}
.safari-prep-card {
  background: var(--white); border: 1px solid var(--ivory-dark);
  border-radius: 12px; padding: 28px 24px; transition: all 0.3s;
}
.safari-prep-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.06); transform: translateY(-3px); }
.safari-prep-icon {
  width: 44px; height: 44px; background: rgba(155,80,35,0.1);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 18px; margin-bottom: 14px;
}
.safari-prep-card h3 { font-size: 17px; margin-bottom: 12px; color: var(--charcoal); }
.safari-prep-card ul { list-style: none; padding: 0; }
.safari-prep-card ul li {
  font-size: 13px; color: var(--gray); padding: 5px 0;
  display: flex; align-items: center; gap: 8px;
  border-bottom: 1px solid var(--ivory-dark);
}
.safari-prep-card ul li:last-child { border-bottom: none; }
.safari-prep-card ul li::before { content: '✓'; color: var(--gold); font-weight: 700; font-size: 11px; }

/* ----- Safari FAQ ----- */
.safari-faq { background: var(--green); }
.safari-faq .section-title { color: var(--white); }
.safari-faq .section-desc { color: rgba(255,255,255,0.55); }
.safari-faq-list { max-width: 800px; margin: 40px auto 0; }

/* ----- Safari CTA ----- */
.safari-cta { background: var(--ivory); }
.safari-cta-card {
  background: linear-gradient(135deg, var(--green) 0%, #2C1D12 100%);
  border-radius: 20px; padding: 60px; text-align: center;
}
.safari-cta-card .section-label { color: var(--gold); }
.safari-cta-card .section-title { color: var(--white); }
.safari-cta-card > p {
  font-size: 15px; line-height: 1.7; color: rgba(255,255,255,0.65);
  max-width: 600px; margin: 0 auto 32px;
}
.safari-cta-options {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 680px; margin: 0 auto;
}
.safari-cta-option {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 28px 24px; text-align: center;
}
.safari-cta-option h3 { color: var(--white); font-size: 18px; margin-bottom: 6px; }
.safari-cta-option p { font-size: 13px; margin-bottom: 16px; }
.safari-cta-option .btn-outline {
  border-color: rgba(255,255,255,0.25); color: var(--white);
}
.safari-cta-option .btn-outline:hover {
  background: var(--gold); border-color: var(--gold); color: var(--green);
}

/* ----- Safari Responsive ----- */
@media (max-width: 1024px) {
  .safari-hero-title { font-size: 42px; }
  .safari-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .safari-intro-visual { min-height: 300px; }
  .safari-intro-img-main { height: 260px; }
  .safari-intro-img-top { height: 160px; }
  .safari-intro-img-bot { height: 140px; }
  .safari-parks-grid { grid-template-columns: 1fr 1fr; }
  .safari-packages-grid { grid-template-columns: 1fr 1fr; }
  .safari-moments-grid { grid-template-columns: 1fr 1fr; }
  .safari-styles-grid { grid-template-columns: 1fr 1fr; }
  .safari-accom-grid { grid-template-columns: 1fr 1fr; }
  .safari-bigfive-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  .safari-hero { min-height: 80vh; }
  .safari-hero-title { font-size: 34px; }
  .safari-hero-text { font-size: 15px; }
  .safari-hero-stats-inner { grid-template-columns: repeat(2,1fr); gap: 0; }
  .safari-stat:nth-child(2) { border-right: none; }
  .safari-stat:nth-child(3), .safari-stat:nth-child(4) { border-top: 1px solid rgba(255,255,255,0.06); }
  .safari-intro-stats { grid-template-columns: 1fr 1fr; }
  .safari-parks-grid { grid-template-columns: 1fr; }
  .safari-packages-grid { grid-template-columns: 1fr; }
  .safari-moments-grid { grid-template-columns: 1fr 1fr; }
  .safari-styles-grid { grid-template-columns: 1fr 1fr; }
  .safari-accom-grid { grid-template-columns: 1fr; }
  .safari-safety-grid { grid-template-columns: 1fr 1fr; }
  .safari-prep-grid { grid-template-columns: 1fr; }
  .safari-success-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .safari-bigfive-grid-inner { grid-template-columns: 1fr; }
  .safari-season-grid { grid-template-columns: 1fr; gap: 24px; }
  .safari-season-tabs { flex-direction: column; }
  .safari-season-tab { border-right: none; border-bottom: 1px solid var(--ivory-dark); }
  .safari-season-tab:last-child { border-bottom: none; }
  .safari-cta-card { padding: 40px 24px; }
  .safari-cta-options { grid-template-columns: 1fr; }
  .safari-section { padding: 60px 0; }
}
@media (max-width: 480px) {
  .safari-hero-title { font-size: 28px; }
  .safari-hero-text { font-size: 14px; }
  .safari-hero-actions { flex-direction: column; }
  .safari-hero-stats-inner { grid-template-columns: 1fr 1fr; }
  .safari-intro-stats { grid-template-columns: 1fr; }
  .safari-intro-visual { min-height: 220px; }
  .safari-intro-img-main { height: 180px; width: 70%; }
  .safari-intro-img-top { height: 120px; width: 45%; }
  .safari-intro-img-bot { height: 100px; width: 40%; left: 12%; }
  .safari-moments-grid { grid-template-columns: 1fr; }
  .safari-styles-grid { grid-template-columns: 1fr; }
  .safari-safety-grid { grid-template-columns: 1fr; }
  .safari-success-grid { grid-template-columns: 1fr 1fr; }
  .safari-success-num { font-size: 36px; }
  .safari-package-image { height: 200px; }
}

/* ============================================
   BUSH LION TOURS — Kilimanjaro Page Styles
   ============================================ */

.kili-section { padding: 100px 0; }

/* Policy / Content Pages */
.kili-section h2 { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: #1A120B; margin: 2rem 0 0.8rem; line-height: 1.3; }
.kili-section h2:first-child { margin-top: 0; }
.kili-section p { color: #475569; font-size: 1rem; line-height: 1.8; margin-bottom: 1rem; }
.kili-section ul { margin: 0.5rem 0 1.5rem 1.5rem; padding: 0; }
.kili-section li { color: #475569; font-size: 1rem; line-height: 1.8; margin-bottom: 0.5rem; }
.kili-section strong { color: #1A120B; font-weight: 600; }
.kili-section a { color: #1A120B; text-decoration: underline; font-weight: 500; }
.kili-section a:hover { color: #A86028; }

/* ----- Hero ----- */
.kili-hero {
  position: relative; height: 100vh; min-height: 700px; max-height: 1080px;
  overflow: hidden; background: var(--green-dark);
}
.kili-hero-bg { position: absolute; inset: 0; }
.kili-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.kili-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(26,18,11,0.82) 0%, rgba(26,18,11,0.12) 50%, rgba(0,0,0,0.4) 100%);
}
.kili-hero-content {
  position: absolute; bottom: 34%; left: 0; right: 0;
  padding: 0 24px; max-width: var(--container); margin: 0 auto; z-index: 2;
}
.kili-hero-badge {
  font-family: var(--accent); font-size: 11px; text-transform: uppercase;
  letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; display: block;
  opacity: 0; animation: fadeUp 0.6s 0.3s forwards;
}
.kili-hero-title {
  font-family: var(--heading); font-size: clamp(36px,5.5vw,68px); font-weight: 700;
  color: var(--white); line-height: 1.05; margin-bottom: 20px; max-width: 800px;
  opacity: 0; animation: fadeUp 0.6s 0.5s forwards;
}
.kili-hero-title span { color: var(--gold); }
.kili-hero-text {
  font-size: 17px; color: rgba(255,255,255,0.8); max-width: 580px;
  line-height: 1.8; margin-bottom: 28px;
  opacity: 0; animation: fadeUp 0.6s 0.7s forwards;
}
.kili-hero-actions {
  display: flex; gap: 12px; flex-wrap: wrap;
  opacity: 0; animation: fadeUp 0.6s 0.9s forwards;
}
.kili-hero-stats {
  position: absolute; bottom: 8%; left: 0; right: 0;
  max-width: var(--container); margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; z-index: 2;
  opacity: 0; animation: fadeUp 0.6s 1.1s forwards;
}
.kili-stat { text-align: center; }
.kili-stat-num {
  display: block; font-family: var(--heading); font-size: clamp(28px,3vw,40px);
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.kili-stat-num span { font-size: 0.55em; font-weight: 300; color: rgba(255,255,255,0.4); }
.kili-stat-label {
  display: block; font-size: 11px; color: rgba(255,255,255,0.45);
  margin-top: 6px; font-family: var(--accent);
  text-transform: uppercase; letter-spacing: 1.5px;
}

/* ----- Intro ----- */
.kili-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-bottom: 80px; }
.kili-intro-text p { color: var(--gray); line-height: 1.9; margin-bottom: 18px; font-size: 15px; }
.kili-intro-text .section-title { max-width: 100%; }
.kili-intro-stats { display: flex; gap: 48px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--ivory-dark); }
.kili-intro-num { display: block; font-family: var(--heading); font-size: 30px; font-weight: 700; color: var(--green); }
.kili-intro-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1.5px; font-family: var(--accent); }
.kili-intro-image { border-radius: 12px; overflow: hidden; height: 520px; box-shadow: 0 20px 60px rgba(0,0,0,0.08); }
.kili-intro-image img { width: 100%; height: 100%; object-fit: cover; }

/* ----- Cones ----- */
.kili-cones { text-align: center; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.kili-cones h3 { font-size: 28px; margin-bottom: 8px; }
.kili-cones-desc { color: var(--gray); max-width: 600px; margin: 0 auto 44px; font-size: 15px; }
.kili-cones-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kili-cone-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 36px 28px 32px; text-align: center; transition: all 0.4s; position: relative; }
.kili-cone-card::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 3px; background: var(--gold); border-radius: 2px; transition: width 0.4s; }
.kili-cone-card:hover::after { width: 60%; }
.kili-cone-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,0.07); border-color: transparent; }
.kili-cone-icon { width: 52px; height: 52px; background: var(--ivory); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 1.2rem; color: var(--gold); transition: all 0.4s; }
.kili-cone-card:hover .kili-cone-icon { background: var(--green); color: var(--white); transform: scale(1.05); }
.kili-cone-card h4 { font-family: var(--heading); font-size: 22px; margin-bottom: 10px; }
.kili-cone-card p { color: var(--gray); font-size: 14px; line-height: 1.8; margin-bottom: 14px; }
.kili-cone-elev { font-family: var(--accent); font-size: 13px; font-weight: 600; color: var(--gold); letter-spacing: 0.5px; }

/* ----- Climate ----- */
.kili-climate { background: var(--ivory); }
.kili-climate .section-desc { margin-bottom: 48px; }
.kili-climate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.kili-climate-card {
  position: relative; background: var(--white); border-radius: 12px; padding: 32px 28px;
  border-left: 3px solid var(--zone-color, var(--gold)); transition: all 0.3s;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}
.kili-climate-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.kili-climate-card:nth-child(4) { grid-column: 1 / 3; }
.kili-climate-card:nth-child(5) { grid-column: 3 / 4; }
.kili-climate-range { font-family: var(--accent); font-size: 11px; font-weight: 600; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; }
.kili-climate-card h3 { font-size: 20px; margin-bottom: 10px; }
.kili-climate-card p { color: var(--gray); font-size: 14px; line-height: 1.8; margin-bottom: 14px; }
.kili-climate-tag { display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); background: rgba(155,80,35,0.08); padding: 4px 10px; border-radius: 4px; }

/* ----- Moments ----- */
.kili-moments { background: var(--green); text-align: center; }
.kili-moments .section-title { margin-left: auto; margin-right: auto; }
.kili-moments-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 48px; font-size: 16px; }
.kili-moments-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; text-align: left; }
.kili-moment-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 28px 24px; transition: all 0.3s; cursor: default;
}
.kili-moment-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(155,80,35,0.3); transform: translateY(-3px); }
.kili-moment-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); opacity: 0.3; margin-bottom: 10px; line-height: 1; }
.kili-moment-card h3 { font-size: 16px; color: var(--white); margin-bottom: 8px; }
.kili-moment-card p { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.7; }

/* ----- Routes ----- */
.kili-routes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px; }
.kili-route-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 16px;
  padding: 0; transition: all 0.4s; position: relative; display: flex; flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,0.03); overflow: hidden; min-height: 380px;
}
.kili-route-card::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 3px; background: linear-gradient(90deg, var(--gold), var(--green)); border-radius: 0 0 4px 4px; transition: width 0.4s; z-index: 1; }
.kili-route-card:hover::after { width: 80%; }
.kili-route-card:hover { transform: translateY(-8px); box-shadow: 0 24px 56px rgba(0,0,0,0.1); border-color: transparent; }
.kili-route-image { width: 100%; height: 200px; overflow: hidden; position: relative; }
.kili-route-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.kili-route-card:hover .kili-route-image img { transform: scale(1.06); }
.kili-route-card-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.kili-route-days {
  display: inline-flex; align-items: center; gap: 6px; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; background: linear-gradient(135deg, var(--green), #9B5023);
  color: var(--white); padding: 5px 12px; border-radius: 6px; margin-bottom: 14px; width: fit-content;
}
.kili-route-badge {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  background: rgba(255,255,255,0.95); color: var(--gold); padding: 4px 12px;
  border-radius: 20px; letter-spacing: 0.5px; backdrop-filter: blur(4px); z-index: 1;
}
.kili-route-card h3 { font-size: 18px; margin-bottom: 10px; font-weight: 700; line-height: 1.3; color: var(--charcoal); }
.kili-route-card > p { color: var(--gray); font-size: 13px; line-height: 1.6; margin-bottom: 16px; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.kili-route-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 14px; border-top: 1px solid var(--ivory-dark); margin-top: auto; }
.kili-route-meta span { font-size: 11px; color: var(--gray-light); }
.kili-route-meta span strong { display: block; color: var(--charcoal); font-weight: 600; margin-top: 3px; }
.kili-route-meta span i { color: var(--gold); font-size: 10px; }
.kili-route-card .btn { margin-top: 16px; background: linear-gradient(135deg, var(--green), #9B5023); border: none; padding: 12px 20px; font-size: 13px; font-weight: 600; border-radius: 8px; transition: all 0.3s; text-align: center; width: 100%; justify-content: center; }
.kili-route-card .btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(26,18,11,0.3); }

/* ----- Kili Packages ----- */
.kili-packages { background: var(--ivory); }
.kili-packages-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kili-package-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  overflow: hidden; transition: all 0.4s;
}
.kili-package-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,0.08); border-color: transparent; }
.kili-package-image { position: relative; height: 240px; overflow: hidden; }
.kili-package-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.kili-package-card:hover .kili-package-image img { transform: scale(1.06); }
.kili-package-badge {
  position: absolute; top: 14px; left: 14px;
  font-family: var(--accent); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,0.12); backdrop-filter: blur(8px);
  padding: 4px 12px; border-radius: 4px;
}
.kili-package-dur {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--accent); font-size: 10px; font-weight: 600; color: var(--white);
  background: var(--green); padding: 4px 12px; border-radius: 4px;
}
.kili-package-body { padding: 24px; }
.kili-package-body h3 { font-size: 18px; margin-bottom: 8px; color: var(--charcoal); font-weight: 700; }
.kili-package-desc { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 18px; }
.kili-package-rating { margin-bottom: 8px; }
.kili-package-stars { color: #f59e0b; font-size: 12px; }
.kili-package-rating-text { font-size: 12px; color: var(--gray-light); margin-left: 4px; }
.kili-package-footer {
  display: flex; align-items: center; justify-content: space-between; padding-top: 16px;
  border-top: 1px solid var(--ivory-dark);
}
.kili-package-price { font-family: var(--heading); font-size: 20px; font-weight: 700; color: var(--green); }
.kili-package-price span { font-weight: 400; font-size: 12px; color: var(--gray-light); font-family: var(--body); }
.kili-package-footer .btn {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: none; border: none; padding: 0; text-decoration: none;
}
.kili-package-footer .btn:hover { color: var(--green); }

/* ----- Success ----- */
.kili-success { background: var(--green); text-align: center; position: relative; }
.kili-success::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(155,80,35,0.3), transparent);
}
.kili-success-content { max-width: 800px; margin: 0 auto; }
.kili-success .section-title { margin-left: auto; margin-right: auto; }
.kili-success-desc { color: rgba(255,255,255,0.65); font-size: 17px; max-width: 650px; margin: 0 auto 52px; line-height: 1.7; }
.kili-success-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.kili-success-stat { text-align: center; }
.kili-success-num { display: inline-block; font-family: var(--heading); font-size: 48px; font-weight: 700; color: var(--gold); line-height: 1; }
.kili-success-suffix { font-family: var(--heading); font-size: 32px; font-weight: 700; color: var(--gold); }
.kili-success-label { display: block; font-size: 14px; color: rgba(255,255,255,0.55); margin-top: 8px; letter-spacing: 0.5px; }

/* ----- Safety ----- */
.kili-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kili-safety-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 32px 28px; transition: all 0.4s; }
.kili-safety-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.kili-safety-icon { display: inline-flex; width: 48px; height: 48px; background: var(--ivory); border-radius: 10px; align-items: center; justify-content: center; font-size: 1.15rem; color: var(--gold); margin-bottom: 18px; transition: all 0.4s; }
.kili-safety-card:hover .kili-safety-icon { background: var(--green); color: var(--white); transform: scale(1.05); }
.kili-safety-card h3 { font-size: 17px; margin-bottom: 8px; }
.kili-safety-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ----- Group Departures (Kili) ----- */
.kili-group { background: var(--green); text-align: center; }
.kili-group .section-title { margin-left: auto; margin-right: auto; }
.kili-group-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 44px; font-size: 16px; }
.kili-group-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 36px; text-align: left; }
.kili-group-badge { display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); background: rgba(155,80,35,0.12); padding: 4px 10px; border-radius: 4px; margin-right: 10px; }
.kili-group-footer { text-align: center; }
.kili-group-footer .btn { color: var(--gold); border-color: rgba(255,255,255,0.2); }
.kili-group-footer .btn:hover { background: var(--gold); color: var(--green); border-color: var(--gold); }

@media (max-width: 768px) {
  #main-content { overflow-x: hidden; }
  .kili-group-grid { gap: 16px; }
}

/* ----- Seasons ----- */
.kili-seasons-tabs { display: flex; gap: 12px; margin-bottom: 40px; flex-wrap: wrap; }
.kili-season-tab {
  padding: 16px 28px; font-family: var(--accent); font-size: 14px; font-weight: 500;
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 8px;
  cursor: pointer; transition: all 0.2s; color: var(--gray); text-align: left; flex: 0 1 auto;
}
.kili-season-tab span { display: block; font-size: 11px; color: var(--gray-light); font-weight: 400; margin-top: 3px; letter-spacing: 0.3px; }
.kili-season-tab:hover { border-color: var(--gold); color: var(--green); transform: translateY(-1px); }
.kili-season-tab.active { background: var(--green); border-color: var(--green); color: var(--white); box-shadow: 0 4px 16px rgba(26,18,11,0.2); }
.kili-season-tab.active span { color: rgba(255,255,255,0.5); }

.kili-season-panel { display: none; gap: 40px; align-items: start; }
.kili-season-panel.active { display: grid; grid-template-columns: 1.4fr 1fr; }
.kili-season-info h3 { font-size: 24px; margin-bottom: 20px; }
.kili-season-info ul { list-style: none; margin-bottom: 20px; }
.kili-season-info li { padding: 12px 0; border-bottom: 1px solid var(--ivory-dark); font-size: 14px; color: var(--gray); line-height: 1.7; }
.kili-season-info li:last-child { border-bottom: none; }
.kili-season-info li strong { color: var(--charcoal); }
.kili-season-info > p { font-size: 14px; color: var(--charcoal); }
.kili-season-meta { background: var(--ivory); border-radius: 10px; padding: 28px 24px; display: flex; flex-direction: column; gap: 16px; }
.kili-season-meta > div { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--ivory-dark); }
.kili-season-meta > div:last-child { border-bottom: none; }
.kili-season-meta-label { font-family: var(--accent); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); }
.kili-season-meta-val { font-family: var(--accent); font-size: 12px; font-weight: 600; }
.kili-season-meta-val.good { color: #27ae60; }
.kili-season-meta-val.mid { color: var(--gold-dark); }
.kili-season-meta-val.bad { color: #e74c3c; }

/* ----- Prep ----- */
.kili-prep { background: var(--ivory); }
.kili-prep-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kili-prep-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 36px 28px 32px; transition: all 0.4s; display: flex; flex-direction: column; }
.kili-prep-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.kili-prep-icon { display: inline-flex; width: 52px; height: 52px; background: var(--ivory); border-radius: 12px; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--gold); margin-bottom: 18px; transition: all 0.4s; }
.kili-prep-card:hover .kili-prep-icon { background: var(--green); color: var(--white); }
.kili-prep-card h3 { font-size: 20px; margin-bottom: 10px; }
.kili-prep-card > p { color: var(--gray); font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.kili-prep-card ul { list-style: none; margin-bottom: 20px; flex: 1; }
.kili-prep-card li { padding: 7px 0; font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 10px; line-height: 1.5; }
.kili-prep-card li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px; color: var(--gold); }
.kili-prep-card .btn-text { margin-top: auto; }

/* ----- Includes ----- */
.kili-includes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.kili-include-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 40px 32px; transition: all 0.3s; }
.kili-include-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.kili-include-card > i { margin-bottom: 16px; display: block; font-size: 24px; }
.kili-include-card h3 { font-size: 20px; margin-bottom: 20px; }
.kili-include-card > i.fa-check-circle { color: #27ae60; }
.kili-include-excluded > i.fa-times-circle { color: #e74c3c; }
.kili-include-card ul { list-style: none; }
.kili-include-card li { padding: 10px 0; font-size: 14px; color: var(--gray); border-bottom: 1px solid var(--ivory-dark); display: flex; align-items: center; gap: 10px; }
.kili-include-card li:last-child { border-bottom: none; }
.kili-include-card li i { margin-right: 0; font-size: 13px; }

/* ----- Kili FAQ ----- */
.kili-faq { background: var(--green); text-align: center; }
.kili-faq .section-title { margin-left: auto; margin-right: auto; }
.kili-faq-desc { color: rgba(255,255,255,0.65); max-width: 550px; margin: 0 auto 44px; font-size: 16px; }
.kili-faq-list { max-width: 750px; margin: 0 auto; text-align: left; }
.kili-faq-list .faq-item {
  background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.06);
  border-radius: 10px;
}
.kili-faq-list .faq-item:hover { border-color: rgba(155,80,35,0.3); }
.kili-faq-list .faq-question { color: var(--white); padding: 20px 24px; font-size: 15px; }
.kili-faq-list .faq-question:hover { color: var(--gold); }
.kili-faq-list .faq-answer-inner { color: rgba(255,255,255,0.6); font-size: 14px; }

/* ----- Kili CTA ----- */
.kili-cta {
  position: relative; background: var(--green-dark); overflow: hidden; text-align: center;
  padding: 120px 0;
}
.kili-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=60');
  background-size: cover; background-position: center; opacity: 0.06; mix-blend-mode: overlay;
}
.kili-cta-content { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
.kili-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ----- Nav active state ----- */
.nav-link.active { color: var(--gold); }

/* ============================================
   LEMOSHO ROUTE — 8 Days
   ============================================ */

.lemosho-section { padding: 100px 0; }

/* ============================================
   PACKAGE DETAIL — Premium Sections
   Unified CSS for Safari, Kilimanjaro, Day Trips
   ============================================ */

/* ----- Hero (Super Premium Cinematic) ----- */
.lemosho-hero {
  position: relative; height: 100vh; min-height: 720px; max-height: 1080px;
  overflow: hidden; background: var(--green-dark);
  display: flex; align-items: flex-end;
}
.lemosho-hero-bg {
  position: absolute; inset: 0;
}
.lemosho-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.08);
  animation: lmvHeroZoom 25s ease-in-out infinite alternate;
  filter: brightness(0.92) contrast(1.05);
}
@keyframes lmvHeroZoom {
  0% { transform: scale(1.08) translateY(0); }
  100% { transform: scale(1.15) translateY(-12px); }
}
.lemosho-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(17,12,7,0.45) 0%, rgba(17,12,7,0.08) 25%, rgba(17,12,7,0.15) 50%, rgba(17,12,7,0.6) 75%, rgba(17,12,7,0.97) 100%),
    linear-gradient(to right, rgba(17,12,7,0.88) 0%, rgba(17,12,7,0.45) 45%, rgba(17,12,7,0.1) 100%);
}
.lemosho-hero-overlay::after {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: 0.4; pointer-events: none;
}
.lemosho-hero-content {
  position: relative; z-index: 2; width: 100%;
  padding: 0 clamp(20px,5vw,60px) 100px;
  max-width: var(--container); margin: 0 auto;
  animation: lmvHeroFadeUp 1.2s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes lmvHeroFadeUp {
  from { opacity: 0; transform: translateY(48px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
.lemosho-hero-badge {
  display: inline-flex; align-items: center; gap: 14px;
  font-family: var(--accent); font-size: 10px; text-transform: uppercase;
  letter-spacing: 5px; color: var(--gold); font-weight: 600;
  margin-bottom: 24px;
  position: relative; padding-left: 50px;
}
.lemosho-hero-badge::before {
  content: ''; position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 40px; height: 1.5px;
  background: linear-gradient(90deg, var(--gold), rgba(155,80,35,0.2));
}
.lemosho-hero-badge::after {
  content: ''; position: absolute; left: 42px; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--gold);
  animation: heroBadgePulse 2s ease-in-out infinite;
}
@keyframes heroBadgePulse {
  0%, 100% { opacity: 1; transform: translateY(-50%) scale(1); }
  50% { opacity: 0.5; transform: translateY(-50%) scale(1.5); }
}
.lemosho-hero-title {
  font-family: var(--heading); font-size: clamp(40px,6vw,76px);
  font-weight: 700; color: #fff; line-height: 1.02;
  margin-bottom: 24px; max-width: 780px;
  letter-spacing: -0.5px;
  text-shadow: 0 4px 40px rgba(0,0,0,0.2);
}
.lemosho-hero-text {
  font-size: clamp(15px,1.5vw,18px); color: rgba(255,255,255,0.5);
  max-width: 540px; line-height: 1.85; margin-bottom: 40px; font-weight: 300;
  letter-spacing: 0.2px;
}
.lemosho-hero-stats-bar {
  display: inline-flex; gap: 0; margin-bottom: 36px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  border-radius: 16px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 8px 40px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.06);
}
.lemosho-hstat {
  padding: 20px 32px; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.06);
  min-width: 120px;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative;
}
.lemosho-hstat::after {
  content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 0; height: 2px; background: var(--gold);
  transition: width 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-hstat:hover { background: rgba(255,255,255,0.05); }
.lemosho-hstat:hover::after { width: 60%; }
.lemosho-hstat:last-child { border-right: none; }
.lemosho-hstat-label {
  display: block; font-size: 8.5px; color: rgba(255,255,255,0.3);
  text-transform: uppercase; letter-spacing: 3px; font-family: var(--accent);
  margin-bottom: 8px; font-weight: 600;
}
.lemosho-hstat-val {
  display: block; font-size: 16px; font-weight: 600; color: #fff;
  letter-spacing: 0.3px;
}
.lemosho-hero-price {
  display: inline-flex; align-items: baseline; gap: 12px;
  background: linear-gradient(135deg, var(--gold) 0%, #B8652F 50%, var(--gold-dark) 100%);
  border-radius: 14px; padding: 16px 36px;
  box-shadow: 0 4px 24px rgba(155,80,35,0.35), inset 0 1px 0 rgba(255,255,255,0.15);
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.lemosho-hero-price::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 50%);
  opacity: 0; transition: opacity 0.4s;
}
.lemosho-hero-price:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(155,80,35,0.5), inset 0 1px 0 rgba(255,255,255,0.2);
}
.lemosho-hero-price:hover::before { opacity: 1; }
.lemosho-hero-price-amount {
  font-family: var(--heading); font-size: 28px; font-weight: 700;
  color: var(--green-dark); line-height: 1;
}
.lemosho-hero-price-label {
  font-size: 9.5px; color: rgba(26,18,11,0.5); text-transform: uppercase;
  letter-spacing: 2.5px; font-family: var(--accent); font-weight: 600;
}
/* Hero scroll indicator */
.lemosho-hero-content::after {
  content: ''; position: absolute; bottom: 30px; left: 50%;
  transform: translateX(-50%);
  width: 1px; height: 48px;
  background: linear-gradient(180deg, rgba(255,255,255,0.4), transparent);
  animation: heroScrollPulse 2s ease-in-out infinite;
}
@keyframes heroScrollPulse {
  0%, 100% { opacity: 1; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.3; transform: translateX(-50%) scaleY(0.6); }
}

/* ----- Trip Overview (Super Premium Editorial) ----- */
.pkg-overview-section {
  background: var(--ivory); padding: 100px 0; text-align: center;
  position: relative; overflow: hidden;
}
.pkg-overview-section::before {
  content: ''; position: absolute; top: -200px; right: -200px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(155,80,35,0.04) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-overview-section .section-label,
.pkg-overview-section .section-title { text-align: center; margin-left: auto; margin-right: auto; }
.pkg-overview {
  max-width: 780px; margin: 48px auto 0; text-align: center;
}
.pkg-overview p {
  color: var(--gray); line-height: 2; margin-bottom: 24px; font-size: 16.5px;
  letter-spacing: 0.15px;
}
.pkg-overview p:first-child {
  font-size: 19px; color: var(--charcoal); font-weight: 500; line-height: 1.85;
  letter-spacing: 0.2px;
}
.pkg-overview p:first-child::first-letter {
  font-family: var(--heading); font-size: 3.2em; font-weight: 700;
  color: var(--gold); float: left; line-height: 0.85;
  margin: 6px 12px 0 0;
}
.pkg-overview-divider {
  width: 72px; height: 2.5px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px; margin: 36px auto;
  position: relative;
}
.pkg-overview-divider::before {
  content: ''; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); box-shadow: 0 0 12px rgba(155,80,35,0.3);
}

/* ----- At a Glance (Super Premium Glass) ----- */
.pkg-glance-section {
  background: var(--white); padding: 88px 0;
  position: relative; overflow: hidden;
}
.pkg-glance-section::before {
  content: ''; position: absolute; bottom: -100px; left: -100px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(155,80,35,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-glance-section .section-label,
.pkg-glance-section .section-title { text-align: center; margin-left: auto; margin-right: auto; }
.pkg-glance-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;
  max-width: 1000px; margin: 52px auto 0;
}
.pkg-glance-item {
  text-align: center; padding: 36px 24px;
  background: linear-gradient(145deg, rgba(245,233,220,0.5), rgba(255,255,255,0.8));
  border-radius: 18px;
  border: 1px solid rgba(155,80,35,0.06);
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.pkg-glance-item::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(155,80,35,0.06) 0%, transparent 60%);
  opacity: 0; transition: opacity 0.4s;
}
.pkg-glance-item:hover {
  border-color: rgba(155,80,35,0.15);
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.06), 0 0 0 1px rgba(155,80,35,0.08);
}
.pkg-glance-item:hover::before { opacity: 1; }
.pkg-glance-icon {
  width: 52px; height: 52px; margin: 0 auto 16px;
  background: linear-gradient(135deg, rgba(155,80,35,0.12), rgba(155,80,35,0.04));
  border-radius: 14px; display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 19px;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; z-index: 1;
}
.pkg-glance-item:hover .pkg-glance-icon {
  transform: scale(1.08) rotate(-3deg);
  box-shadow: 0 4px 16px rgba(155,80,35,0.15);
}
.pkg-glance-label {
  display: block; font-size: 9.5px; color: var(--gray-light);
  text-transform: uppercase; letter-spacing: 2px; font-family: var(--accent);
  margin-bottom: 8px; font-weight: 600;
  position: relative; z-index: 1;
}
.pkg-glance-val {
  display: block; font-family: var(--heading); font-size: 22px;
  font-weight: 700; color: var(--charcoal);
  position: relative; z-index: 1;
  letter-spacing: -0.3px;
}

/* ----- Trip Highlights (Super Premium) ----- */
.pkg-highlights-section {
  background: var(--ivory); padding: 100px 0; text-align: center;
  position: relative; overflow: hidden;
}
.pkg-highlights-section::after {
  content: ''; position: absolute; top: 50%; left: -150px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(155,80,35,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none; transform: translateY(-50%);
}
.pkg-highlights-section .section-label,
.pkg-highlights-section .section-title { text-align: center; margin-left: auto; margin-right: auto; }
.pkg-highlights {
  max-width: 1000px; margin: 52px auto 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.pkg-highlight-card {
  display: flex; align-items: flex-start; gap: 18px;
  padding: 26px 28px; background: var(--white);
  border: 1px solid rgba(155,80,35,0.06); border-radius: 16px;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.pkg-highlight-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: linear-gradient(180deg, var(--gold), rgba(155,80,35,0.2));
  opacity: 0; transition: opacity 0.4s;
}
.pkg-highlight-card:hover {
  border-color: rgba(155,80,35,0.15);
  box-shadow: 0 8px 32px rgba(155,80,35,0.08);
  transform: translateY(-3px);
}
.pkg-highlight-card:hover::before { opacity: 1; }
.pkg-highlight-icon {
  width: 44px; height: 44px; min-width: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(155,80,35,0.12), rgba(155,80,35,0.04));
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 15px;
  transition: all 0.4s;
}
.pkg-highlight-card:hover .pkg-highlight-icon {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--white); transform: scale(1.05);
}
.pkg-highlight-text {
  font-size: 15.5px; color: var(--charcoal); line-height: 1.65; font-weight: 500;
  letter-spacing: 0.1px;
}

/* ----- What's Included & Excluded (Super Premium) ----- */
.pkg-included-section {
  background: var(--white); padding: 100px 0;
  position: relative; overflow: hidden;
}
.pkg-included-section::before {
  content: ''; position: absolute; top: -100px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(155,80,35,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-included-section .section-label,
.pkg-included-section .section-title { text-align: center; margin-left: auto; margin-right: auto; }
.pkg-included-desc {
  text-align: center; font-size: 16.5px; color: var(--gray);
  max-width: 580px; margin: -4px auto 0; line-height: 1.75;
}
.lemosho-include-section {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
  max-width: 1000px; margin: 52px auto 0;
}
.pkg-include-card {
  background: linear-gradient(145deg, rgba(245,233,220,0.3), rgba(255,255,255,0.8));
  border-radius: 20px;
  padding: 40px 36px; border: 1px solid rgba(155,80,35,0.06);
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.pkg-include-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(155,80,35,0.04) 0%, transparent 60%);
  opacity: 0; transition: opacity 0.4s;
}
.pkg-include-card:hover {
  border-color: rgba(155,80,35,0.12);
  box-shadow: 0 12px 40px rgba(0,0,0,0.05);
  transform: translateY(-3px);
}
.pkg-include-card:hover::before { opacity: 1; }
.pkg-include-card.check {
  border-top: 3px solid #16a34a;
  background: linear-gradient(145deg, rgba(22,163,74,0.02), rgba(255,255,255,0.8));
}
.pkg-include-card.times {
  border-top: 3px solid var(--gray-light);
}
.pkg-include-header { margin-bottom: 28px; position: relative; z-index: 1; }
.pkg-include-title {
  font-family: var(--heading); font-size: 22px; font-weight: 600;
  color: var(--charcoal); margin: 0; display: flex; align-items: center; gap: 12px;
}
.pkg-include-card.check .pkg-include-title { color: #16a34a; }
.pkg-include-card.times .pkg-include-title { color: #b45309; }
.pkg-include-list { list-style: none; padding: 0; margin: 0; position: relative; z-index: 1; }
.pkg-include-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 13px 0; font-size: 14.5px; color: var(--gray); line-height: 1.65;
  border-bottom: 1px solid rgba(0,0,0,0.04);
  transition: all 0.3s;
}
.pkg-include-item:last-child { border-bottom: none; }
.pkg-include-item:hover { color: var(--charcoal); padding-left: 6px; }
.pkg-include-item::before {
  flex-shrink: 0; font-size: 14px; font-weight: 700; min-width: 20px; text-align: center;
  margin-top: 2px;
}
.pkg-include-card.check .pkg-include-item::before { content: '\2713'; color: #16a34a; }
.pkg-include-card.times .pkg-include-item::before { content: '\2717'; color: #dc2626; font-size: 13px; }

/* ----- Group Pricing (Super Premium) ----- */
.pkg-pricing-section {
  background: var(--white); padding: 100px 0; text-align: center;
  position: relative; overflow: hidden;
}
.pkg-pricing-section::before {
  content: ''; position: absolute; bottom: -150px; left: -150px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(155,80,35,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-pricing-section .container { max-width: 1040px; }
.pkg-pricing-title {
  font-family: var(--heading); font-size: clamp(30px,4.5vw,46px);
  font-weight: 700; color: var(--charcoal); margin-bottom: 10px;
  line-height: 1.15; letter-spacing: -0.3px;
}
.pkg-pricing-wavy {
  display: block; width: 140px; height: 14px; margin: 0 auto 48px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 14'%3E%3Cpath d='M0 7 Q10 0 20 7 T40 7 T60 7 T80 7 T100 7 T120 7 T140 7' fill='none' stroke='%239B5023' stroke-width='2' stroke-linecap='round' opacity='0.6'/%3E%3C/svg%3E") no-repeat center;
}
.pkg-pricing-table-wrap {
  width: 100%; overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1px solid rgba(155,80,35,0.08);
  box-shadow: 0 4px 24px rgba(0,0,0,0.04);
}
.pkg-pricing-table {
  width: 100%; border-collapse: collapse; min-width: 600px;
}
.pkg-pricing-table thead th {
  font-family: var(--body); font-size: 15px; font-weight: 700;
  color: var(--charcoal); padding: 20px 28px;
  text-align: center; border-bottom: 2px solid rgba(155,80,35,0.15);
  white-space: nowrap; background: rgba(245,233,220,0.3);
}
.pkg-pricing-table thead th:first-child {
  text-align: left; font-size: 16px; border-bottom-left-radius: 16px;
}
.pkg-pricing-table thead th:last-child { border-bottom-right-radius: 16px; }
.pkg-pricing-table tbody tr {
  border-bottom: 1px solid rgba(0,0,0,0.04);
  transition: all 0.3s;
}
.pkg-pricing-table tbody tr:last-child { border-bottom: none; }
.pkg-pricing-table tbody tr:hover { background: rgba(155,80,35,0.02); }
.pkg-pricing-table tbody td {
  padding: 22px 28px; font-size: 16px; color: var(--charcoal);
  text-align: center; vertical-align: middle; font-weight: 400;
}
.pkg-pricing-table tbody td:first-child {
  text-align: left; font-weight: 600; color: var(--charcoal);
}
.pkg-pricing-table tbody td a {
  color: var(--gold); font-weight: 600; text-decoration: none;
  transition: all 0.3s; position: relative;
}
.pkg-pricing-table tbody td a::after {
  content: ''; position: absolute; bottom: -2px; left: 0;
  width: 0; height: 1.5px; background: var(--gold);
  transition: width 0.3s;
}
.pkg-pricing-table tbody td a:hover::after { width: 100%; }
.pkg-pricing-table tbody td a:hover { color: var(--green); }
.pkg-pricing-table tbody td.pkg-price-highlight {
  background: linear-gradient(135deg, rgba(155,80,35,0.08), rgba(155,80,35,0.04));
  font-weight: 700; color: var(--green);
  position: relative;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td {
  background: rgba(246,243,238,0.4); text-align: center;
  font-size: 14px; color: var(--gray); padding: 18px 28px;
  font-weight: 400; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td i {
  color: var(--gold); margin-right: 8px;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td a {
  color: var(--gold); font-weight: 600; text-decoration: none;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td a:hover {
  text-decoration: underline;
}
.pkg-pricing-note {
  text-align: center; margin-top: 28px; font-size: 14px; color: var(--gray);
}

/* Pricing responsive */
@media (max-width: 768px) {
  .pkg-pricing-section { padding: 64px 0; }
  .pkg-pricing-title { font-size: 28px; }
  .pkg-pricing-table-wrap { margin: 0 -16px; }
  .pkg-pricing-table { min-width: 540px; }
  .pkg-pricing-table thead th { padding: 16px 18px; font-size: 13.5px; }
  .pkg-pricing-table tbody td { padding: 18px; font-size: 14.5px; }
}
@media (max-width: 480px) {
  .pkg-pricing-section { padding: 52px 0; }
  .pkg-pricing-title { font-size: 24px; }
}

/* ----- Related Journeys (Super Premium) ----- */
.pkg-related-section {
  background: var(--green); position: relative; overflow: hidden; padding: 110px 0;
}
.pkg-related-section::before {
  content: ''; position: absolute; top: -120px; right: -120px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(155,80,35,0.1) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-related-section::after {
  content: ''; position: absolute; bottom: -80px; left: -80px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-related-section .section-label { color: var(--gold); letter-spacing: 3.5px; text-align: center; display: block; }
.pkg-related-section .section-title { color: #fff; text-align: center; margin-left: auto; margin-right: auto; max-width: 100%; }
.pkg-related-desc {
  color: rgba(255,255,255,0.5); font-size: 15.5px; max-width: 500px;
  margin: -4px auto 0; text-align: center; line-height: 1.75;
}
.pkg-related-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 28px;
  margin-top: 56px; position: relative; z-index: 1;
}
.pkg-related-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 20px; overflow: hidden;
  transition: all 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
  display: flex; flex-direction: column;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  text-decoration: none; color: inherit;
}
.pkg-related-card:hover {
  transform: translateY(-8px);
  border-color: rgba(155,80,35,0.3);
  box-shadow: 0 24px 64px rgba(0,0,0,0.3), 0 0 0 1px rgba(155,80,35,0.15);
}
.pkg-related-image {
  height: 230px; overflow: hidden; position: relative;
}
.pkg-related-image::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
}
.pkg-related-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);
}
.pkg-related-card:hover .pkg-related-image img { transform: scale(1.08); }
.pkg-related-body { padding: 26px 26px 30px; flex: 1; display: flex; flex-direction: column; }
.pkg-related-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.pkg-related-badge {
  display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--green);
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  padding: 5px 12px; border-radius: 6px;
}
.pkg-related-dur {
  font-family: var(--accent); font-size: 11px; font-weight: 500;
  color: rgba(255,255,255,0.4); letter-spacing: 0.5px;
}
.pkg-related-body h3 {
  font-family: var(--heading); font-size: 18px; font-weight: 600;
  color: #fff; margin: 0 0 16px; line-height: 1.4;
  transition: color 0.4s;
}
.pkg-related-card:hover .pkg-related-body h3 { color: var(--gold); }
.pkg-related-footer {
  margin-top: auto; display: flex; align-items: center; justify-content: space-between;
  padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.06);
}
.pkg-related-price {
  font-family: var(--heading); font-size: 22px; font-weight: 700;
  color: var(--gold); line-height: 1;
}
.pkg-related-price small {
  display: block; font-family: var(--accent); font-size: 10px; font-weight: 400;
  color: rgba(255,255,255,0.3); margin-top: 4px; letter-spacing: 0.3px;
}
.pkg-related-arrow {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 13px; transition: all 0.4s;
}
.pkg-related-card:hover .pkg-related-arrow {
  background: var(--gold); color: var(--green); border-color: var(--gold);
  transform: translateX(4px);
  box-shadow: 0 4px 16px rgba(155,80,35,0.3);
}
.pkg-related-cta { text-align: center; margin-top: 52px; position: relative; z-index: 1; }
.pkg-related-cta .btn-secondary {
  background: transparent; color: var(--gold);
  border: 1px solid rgba(155,80,35,0.3);
  padding: 14px 36px; font-family: var(--accent); font-size: 12px;
  font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase;
  border-radius: 10px; transition: all 0.4s; text-decoration: none;
  display: inline-flex; align-items: center; gap: 12px;
}
.pkg-related-cta .btn-secondary:hover {
  background: var(--gold); color: var(--green); border-color: var(--gold);
  box-shadow: 0 8px 32px rgba(155,80,35,0.3);
  transform: translateY(-2px);
}

/* ----- Itinerary (Super Premium Editorial) ----- */
.lemosho-itinerary-section {
  background: var(--ivory); text-align: center;
  padding: 100px 0; position: relative; overflow: hidden;
}
.lemosho-itinerary-section::before {
  content: ''; position: absolute; top: -100px; left: -100px;
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(155,80,35,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.lemosho-itinerary-section .section-label,
.lemosho-itinerary-section .section-title { margin-left: auto; margin-right: auto; }
.lemosho-itinerary {
  max-width: 1100px; margin: 60px auto 0; display: flex; flex-direction: column; gap: 0; text-align: left;
  position: relative;
}
.lemosho-itinerary::before {
  content: ''; position: absolute; left: 42px; top: 44px; bottom: 44px; width: 2px;
  background: linear-gradient(180deg, var(--gold) 0%, rgba(155,80,35,0.15) 100%);
}
.lemosho-day {
  display: grid; grid-template-columns: 88px 1fr; gap: 0;
  background: var(--white); margin-bottom: 14px; border-radius: 18px;
  border: 1px solid rgba(155,80,35,0.06); position: relative;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-day:hover {
  border-color: rgba(155,80,35,0.15);
  box-shadow: 0 12px 40px rgba(0,0,0,0.06), 0 0 0 1px rgba(155,80,35,0.05);
  transform: translateY(-3px);
}
.lemosho-day-featured {
  background: linear-gradient(135deg, rgba(155,80,35,0.03) 0%, var(--white) 50%);
  border-color: rgba(155,80,35,0.12);
  box-shadow: 0 4px 20px rgba(155,80,35,0.06);
}
.lemosho-day-num-wrap {
  padding: 36px 18px; text-align: center;
  background: transparent; display: flex; flex-direction: column; align-items: center; gap: 6px;
  border-right: 1px solid rgba(155,80,35,0.08); position: relative;
}
.lemosho-day-num-val {
  font-family: var(--heading); font-size: 34px; font-weight: 700; color: var(--green); line-height: 1;
  width: 56px; height: 56px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, rgba(26,18,11,0.06), rgba(26,18,11,0.02));
  border-radius: 16px; transition: all 0.4s;
}
.lemosho-day:hover .lemosho-day-num-val {
  background: linear-gradient(135deg, var(--green), var(--green-light));
  color: var(--white);
  box-shadow: 0 4px 16px rgba(26,18,11,0.2);
}
.lemosho-day-num-label {
  font-size: 8.5px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 2px;
  font-family: var(--accent); font-weight: 600;
}
.lemosho-day-body { padding: 32px 36px; }
.lemosho-day-body h3 {
  font-family: var(--heading); font-size: 20px; font-weight: 600; margin-bottom: 14px;
  color: var(--charcoal); letter-spacing: -0.2px;
}
.lemosho-day-body > p { color: var(--gray); font-size: 14.5px; line-height: 1.9; margin-bottom: 20px; }
.lemosho-day-meta-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px;
  background: linear-gradient(145deg, rgba(245,233,220,0.4), rgba(255,255,255,0.6));
  border-radius: 12px; padding: 20px 22px; margin-bottom: 20px;
  border: 1px solid rgba(155,80,35,0.04);
}
.lemosho-day-meta-lbl {
  display: block; font-size: 8.5px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: 1.5px;
  font-family: var(--accent); font-weight: 600; margin-bottom: 5px;
}
.lemosho-day-meta-val { font-size: 13.5px; color: var(--charcoal); font-weight: 500; }
.lemosho-day-bullets {
  list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 20px;
}
.lemosho-day-bullets li {
  font-size: 13.5px; color: var(--gray); display: flex; align-items: center; gap: 10px; line-height: 1.55;
}
.lemosho-day-bullets li::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  flex-shrink: 0;
}
.lemosho-day-note {
  font-size: 13.5px; color: var(--gray); padding: 16px 20px; margin-bottom: 10px;
  background: rgba(246,243,238,0.5); border-radius: 10px; line-height: 1.75;
  border: 1px solid rgba(0,0,0,0.02);
}
.lemosho-day-note strong { color: var(--charcoal); font-weight: 600; }
.lemosho-day-tip {
  background: linear-gradient(135deg, rgba(155,80,35,0.04), rgba(155,80,35,0.02));
  border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0;
}

/* ----- Important Info (Super Premium Editorial) ----- */
.lemosho-info { background: var(--ivory); text-align: left; padding: 100px 0; }
.lemosho-info .section-label { text-align: left; }
.lemosho-info .section-title { text-align: left; max-width: 100%; }
.lemosho-info-desc {
  font-size: 17.5px; color: var(--gray); line-height: 1.85; max-width: 640px; margin-top: 10px;
}
.lemosho-info-grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 0 64px; margin-top: 56px;
}
.lemosho-info-card {
  padding: 32px 0; border-top: 1px solid rgba(155,80,35,0.1); transition: all 0.4s;
  position: relative;
}
.lemosho-info-card::before {
  content: ''; position: absolute; left: 0; top: -1px; width: 0; height: 2px;
  background: linear-gradient(90deg, var(--gold), rgba(155,80,35,0.2));
  transition: width 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-info-card:hover::before { width: 60px; }
.lemosho-info-card h3 {
  font-family: var(--heading); font-size: 21px; font-weight: 600; color: var(--charcoal);
  margin-bottom: 12px; line-height: 1.35;
}
.lemosho-info-card p {
  font-size: 14.5px; color: var(--gray); line-height: 1.9;
}
.lemosho-info-card i { display: none; }
.lemosho-info-icon { display: none; }

/* ----- Packing (Premium Editorial) ----- */
.lemosho-packing { background: var(--ivory); text-align: left; }
.lemosho-packing .section-label { color: var(--gold); text-align: left; }
.lemosho-packing .section-title { color: var(--charcoal); text-align: left; max-width: 100%; }
.lemosho-packing-desc {
  font-size: 17px; color: var(--gray); line-height: 1.8; max-width: 620px; margin-top: 8px;
}
.lemosho-packing-grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 0 56px; margin-top: 48px;
}
.lemosho-packing-category {
  padding: 28px 0; border-top: 1px solid var(--ivory-dark);
}
.lemosho-packing-category h3 {
  font-family: var(--heading); font-size: 20px; font-weight: 600; color: var(--charcoal);
  margin-bottom: 16px; line-height: 1.3;
}
.lemosho-packing-category ul {
  list-style: none; display: flex; flex-direction: column; gap: 0;
}
.lemosho-packing-category li {
  padding: 10px 0; font-size: 14px; color: var(--gray); line-height: 1.6;
  border-bottom: 1px solid rgba(0,0,0,0.04); display: flex; align-items: flex-start; gap: 10px;
}
.lemosho-packing-category li:last-child { border-bottom: none; }
.lemosho-packing-category li::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--gold);
  flex-shrink: 0; margin-top: 7px;
}
/* Legacy flat item styles (fallback) */
.lemosho-packing-item { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 8px; transition: all 0.2s; }
.lemosho-packing-item:hover { border-color: var(--gold); transform: translateY(-1px); }
.lemosho-packing-item i { color: var(--gold); font-size: 13px; flex-shrink: 0; }
.lemosho-packing-item span { font-size: 14px; color: var(--charcoal); }
/* Static page card styles (editorial) */
.lemosho-packing-card {
  padding: 28px 0; border-top: 1px solid var(--ivory-dark);
}
.lemosho-packing-card h3 {
  font-family: var(--heading); font-size: 20px; font-weight: 600; color: var(--charcoal);
  margin-bottom: 16px; line-height: 1.3;
}
.lemosho-packing-card ul { list-style: none; display: flex; flex-direction: column; gap: 0; }
.lemosho-packing-card li {
  padding: 10px 0; font-size: 14px; color: var(--gray); line-height: 1.6;
  border-bottom: 1px solid rgba(0,0,0,0.04); display: flex; align-items: flex-start; gap: 10px;
}
.lemosho-packing-card li:last-child { border-bottom: none; }
.lemosho-packing-card li::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--gold);
  flex-shrink: 0; margin-top: 7px;
}

.lemosho-include-section { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; margin-top: 48px; }
.lemosho-include-col {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 32px 28px;
}
.lemosho-include-title {
  font-family: var(--heading); font-size: 18px; font-weight: 600; color: #16a34a;
  margin-bottom: 20px; display: flex; align-items: center; gap: 10px;
}
.lemosho-include-title i { font-size: 20px; }
.lemosho-exclude-title { color: #dc2626; }
.lemosho-include-list { list-style: none; padding: 0; margin: 0; }
.lemosho-include-list li {
  padding: 8px 0; font-size: 14px; color: var(--gray); display: flex; align-items: flex-start;
  gap: 10px; line-height: 1.6; border-bottom: 1px solid rgba(0,0,0,0.04);
}
.lemosho-include-list li:last-child { border-bottom: none; }
.lemosho-include-list li i.fa-check { color: #16a34a; font-size: 13px; margin-top: 3px; }
.lemosho-include-list li i.fa-times { color: #dc2626; font-size: 13px; margin-top: 3px; }

.lemosho-highlights-list {
  max-width: 900px; list-style: none; display: grid; grid-template-columns: 1fr 1fr;
  gap: 0 48px; padding-left: 0; margin: 40px auto 0;
}
.lemosho-highlights-list li {
  padding: 16px 0 16px 20px; font-size: 15px; color: var(--charcoal); line-height: 1.6;
  display: flex; align-items: flex-start; position: relative;
  border-bottom: 1px solid var(--ivory-dark);
}
.lemosho-highlights-list li::before {
  content: ''; position: absolute; left: 0; top: 24px;
  width: 6px; height: 6px; background: var(--gold); border-radius: 50%;
}
.lemosho-highlights-list li:last-child { border-bottom: none; }

.lemosho-pricing { background: var(--white); padding: 100px 0; }
.lemosho-pricing .section-label, .lemosho-pricing .section-title { text-align: center; margin-left: auto; margin-right: auto; }
.lemosho-pricing-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px;
}
.lemosho-pricing-card {
  background: var(--white); border: 2px solid rgba(155,80,35,0.06); border-radius: 16px;
  padding: 32px 22px; text-align: center; transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.lemosho-pricing-card:hover {
  border-color: var(--gold); transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(155,80,35,0.12);
}
.lemosho-pricing-best {
  border-color: var(--gold);
  background: linear-gradient(145deg, rgba(155,80,35,0.03), rgba(155,80,35,0.08));
}
.lemosho-pricing-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--white); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; padding: 5px 16px; border-radius: 20px;
  font-family: var(--accent);
  box-shadow: 0 4px 12px rgba(155,80,35,0.25);
}
.lemosho-pricing-label { display: block; font-size: 13px; color: var(--gray); margin-bottom: 10px; font-family: var(--accent); font-weight: 500; }
.lemosho-pricing-amount {
  display: block; font-family: var(--heading); font-size: 30px; font-weight: 700; color: var(--charcoal); margin-bottom: 6px;
}
.lemosho-pricing-note { display: block; font-size: 12px; color: var(--gray-light); font-family: var(--accent); }
.lemosho-pricing-footnote { text-align: center; margin-top: 28px; font-size: 14px; color: var(--gray); }
.lemosho-pricing-footnote a { color: var(--gold); text-decoration: underline; }

.lemosho-include-section .pkg-include-card {
  background: transparent; border: none; border-radius: 0; padding: 0;
  transition: none; position: static; overflow: visible;
}
.lemosho-include-section .pkg-include-card::before { display: none; }
.lemosho-include-section .pkg-include-card:hover { box-shadow: none; transform: none; }
.pkg-include-header {
  display: block; margin-bottom: 20px; padding-bottom: 0; border-bottom: none;
}
.pkg-include-icon { display: none; }
.pkg-include-title {
  font-family: var(--heading); font-size: 22px; font-weight: 600;
  color: var(--charcoal); margin: 0;
}
.pkg-include-list { list-style: none; padding: 0; margin: 0; }
.pkg-include-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; margin-bottom: 0; border-radius: 0;
  font-size: 14px; color: var(--gray); line-height: 1.6;
  transition: none; border-bottom: 1px solid rgba(0,0,0,0.04);
}
.pkg-include-item:hover { background: transparent; }
.pkg-include-item:last-child { margin-bottom: 0; border-bottom: none; }
.pkg-include-item i { display: none; }
.pkg-include-item::before {
  flex-shrink: 0; font-size: 14px; font-weight: 600; min-width: 16px; text-align: center;
}
.pkg-include-card.check .pkg-include-item::before { content: '\2713'; color: var(--gold); }
.pkg-include-card.times .pkg-include-item::before { content: '\2014'; color: var(--gray-light); }

/* ----- Group Departures ----- */
.lemosho-group { background: var(--green); text-align: center; }
.lemosho-group .section-title { margin-left: auto; margin-right: auto; }
.lemosho-group-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 44px; font-size: 15px; }
.lemosho-group-grid { margin-bottom: 20px; text-align: left; }
.lemosho-group-grid .group-table { color: rgba(255,255,255,0.85); }
.lemosho-group-grid .group-table thead { border-bottom-color: rgba(255,255,255,0.1); }
.lemosho-group-grid .group-table th { color: rgba(255,255,255,0.35); }
.lemosho-group-grid .group-table td { border-bottom-color: rgba(255,255,255,0.06); }
.lemosho-group-grid .group-table tbody tr:hover { background: rgba(255,255,255,0.04); }
.lemosho-group-grid .group-table .group-price { color: var(--gold); }
.lemosho-group-grid .group-table .gp-label { color: rgba(255,255,255,0.3); }
.lemosho-group-grid .group-table .group-seats-text { color: rgba(255,255,255,0.35); }
.lemosho-group-grid .group-table .group-seats-bar { background: rgba(255,255,255,0.06); }
.lemosho-group-grid .group-table .group-seats-fill { background: var(--gold); }
.lemosho-group-badge { display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); background: rgba(155,80,35,0.12); padding: 4px 10px; border-radius: 4px; margin-right: 10px; }

/* ----- Group Pricing ----- */
#pricing { background: var(--white); padding: 80px 0; }
#pricing .section-label,
#pricing .section-title { text-align: center; margin-left: auto; margin-right: auto; }

.pkg-pricing-table-wrap {
  max-width: 900px;
  margin: 40px auto 0;
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--ivory-dark);
}
.pkg-pricing-table {
  width: 100%;
  border-collapse: collapse;
}
.pkg-pricing-table thead th {
  background: #f5f5f5;
  color: var(--charcoal);
  font-size: 14px;
  font-weight: 600;
  padding: 14px 20px;
  text-align: left;
  border-bottom: 1px solid var(--ivory-dark);
}
.pkg-pricing-table thead th:first-child {
  font-weight: 700;
}
.pkg-pricing-table thead th:not(:first-child) {
  text-align: center;
  font-family: var(--accent);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pkg-pricing-table tbody tr {
  border-bottom: 1px solid var(--ivory);
  transition: background 0.2s;
}
.pkg-pricing-table tbody tr:last-child { border-bottom: none; }
.pkg-pricing-table tbody tr:hover { background: rgba(155,80,35,0.03); }
.pkg-pricing-table tbody td {
  padding: 16px 20px;
  font-size: 15px;
  color: var(--charcoal);
}
.pkg-pricing-table tbody td:first-child {
  font-weight: 600;
  color: var(--green);
}
.pkg-pricing-table tbody td:not(:first-child) {
  text-align: center;
  font-size: 14px;
  color: var(--gray);
}
.pkg-pricing-table tbody td.pkg-price-highlight {
  background: rgba(155,80,35,0.08);
  font-weight: 700;
  color: var(--green);
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td {
  background: var(--ivory);
  text-align: center;
  padding: 16px 20px;
  font-size: 14px;
  color: var(--gray);
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td i {
  color: var(--gold);
  margin-right: 6px;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td a {
  color: var(--gold);
  font-weight: 600;
  text-decoration: none;
}
.pkg-pricing-table tbody tr.pkg-pricing-contact td a:hover { text-decoration: underline; }

.pkg-pricing-footnote {
  text-align: center;
  margin-top: 24px;
  font-size: 14px;
  color: var(--gray);
}
.pkg-pricing-footnote a { color: var(--gold); text-decoration: underline; }

@media (max-width: 768px) {
  .pkg-pricing-table-wrap { margin: 40px 8px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pkg-pricing-table { min-width: 600px; }
}

/* ----- Package CTA After Pricing (Super Premium) ----- */
.pkg-cta {
  background: linear-gradient(135deg, var(--green-dark) 0%, var(--green) 40%, #2C1D12 100%);
  padding: 100px 0; position: relative; overflow: hidden;
}
.pkg-cta::before {
  content: ''; position: absolute; top: -50%; right: -20%; width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(155,80,35,0.1) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-cta::after {
  content: ''; position: absolute; bottom: -30%; left: -10%; width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.pkg-cta .container { position: relative; z-index: 1; text-align: center; }
.pkg-cta-badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--accent); font-size: 11px; text-transform: uppercase;
  letter-spacing: 4px; color: var(--gold); margin-bottom: 24px; font-weight: 600;
}
.pkg-cta-badge::before, .pkg-cta-badge::after {
  content: ''; width: 28px; height: 1px; background: rgba(155,80,35,0.4);
}
.pkg-cta-title {
  font-family: var(--heading); font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 700; color: var(--white); line-height: 1.12;
  margin-bottom: 20px; max-width: 620px; margin-left: auto; margin-right: auto;
  letter-spacing: -0.3px;
}
.pkg-cta-title span {
  color: var(--gold); font-style: italic;
  text-shadow: 0 0 40px rgba(155,80,35,0.3);
}
.pkg-cta-text {
  font-size: 16.5px; color: rgba(255,255,255,0.55); max-width: 520px;
  margin: 0 auto 40px; line-height: 1.8; font-weight: 300;
}
.pkg-cta-actions {
  display: flex; gap: 18px; justify-content: center; flex-wrap: wrap;
  margin-bottom: 40px;
}
.pkg-cta-btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 18px 40px; border-radius: 12px; font-family: var(--accent);
  font-size: 13px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.2px; text-decoration: none; transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  cursor: pointer; border: none;
}
.pkg-cta-btn-primary {
  background: linear-gradient(135deg, var(--gold) 0%, #B8652F 50%, var(--gold-dark) 100%);
  color: var(--green-dark);
  box-shadow: 0 4px 24px rgba(155,80,35,0.4), inset 0 1px 0 rgba(255,255,255,0.15);
}
.pkg-cta-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(155,80,35,0.55), inset 0 1px 0 rgba(255,255,255,0.2);
  color: var(--green-dark);
}
.pkg-cta-btn-outline {
  background: rgba(255,255,255,0.05); color: var(--white);
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(10px);
}
.pkg-cta-btn-outline:hover {
  background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.35);
  color: var(--white); transform: translateY(-3px);
}
.pkg-cta-btn i { font-size: 13px; }
.pkg-cta-btn-outline i { transition: transform 0.4s ease; }
.pkg-cta-btn-outline:hover i { transform: translateX(4px); }
.pkg-cta-trust {
  display: flex; gap: 40px; justify-content: center; flex-wrap: wrap;
}
.pkg-cta-trust-item {
  display: flex; align-items: center; gap: 10px;
  font-size: 13.5px; color: rgba(255,255,255,0.45);
}
.pkg-cta-trust-item i { color: var(--gold); font-size: 15px; }
.pkg-cta-trust-item strong { color: rgba(255,255,255,0.8); font-weight: 600; }

@media (max-width: 768px) {
  .pkg-cta { padding: 64px 0; }
  .pkg-cta-actions { flex-direction: column; align-items: center; }
  .pkg-cta-btn { width: 100%; max-width: 340px; justify-content: center; }
  .pkg-cta-trust { gap: 20px; }
  .pkg-cta-trust-item { font-size: 12.5px; }
}
@media (max-width: 480px) {
  .pkg-cta { padding: 52px 0; }
  .pkg-cta-trust { flex-direction: column; align-items: center; gap: 12px; }
}

/* ----- Testimonials (Super Premium) ----- */
.lemosho-testimonials { background: var(--ivory); padding: 100px 0; }
.lemosho-testimonials .section-label { color: var(--gold); }
.lemosho-testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-top: 56px; }
.lemosho-testimonial-card {
  background: var(--white); border: 1px solid rgba(155,80,35,0.06); border-radius: 18px;
  padding: 36px 32px; display: flex; flex-direction: column;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  position: relative; overflow: hidden;
}
.lemosho-testimonial-card::before {
  content: '\201C'; position: absolute; top: 16px; right: 24px;
  font-family: var(--heading); font-size: 80px; color: rgba(155,80,35,0.06);
  line-height: 1;
}
.lemosho-testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.06);
  border-color: rgba(155,80,35,0.12);
}
.lemosho-testimonial-stars { margin-bottom: 16px; }
.lemosho-testimonial-stars i { color: var(--gold); font-size: 14px; margin-right: 2px; }
.lemosho-testimonial-card h3 { font-size: 16px; margin-bottom: 12px; }
.lemosho-testimonial-card blockquote {
  color: var(--gray); font-size: 14.5px; line-height: 1.85; flex: 1;
  font-style: italic; margin-bottom: 20px;
}
.lemosho-testimonial-author {
  border-top: 1px solid rgba(155,80,35,0.06); padding-top: 16px;
}
.lemosho-testimonial-name { display: block; font-size: 14px; font-weight: 600; color: var(--charcoal); }
.lemosho-testimonial-location { font-size: 12px; color: var(--gray-light); }

/* ----- Lemosho Related Journeys ----- */
.lemosho-related-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 28px;
  margin-top: 48px;
}
.lemosho-related-card {
  background: var(--white); border: 1px solid rgba(155,80,35,0.08);
  border-radius: 18px; overflow: hidden; text-decoration: none; color: inherit;
  display: flex; flex-direction: column;
  transition: all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-related-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(0,0,0,0.08);
  border-color: rgba(155,80,35,0.18);
}
.lemosho-related-image {
  height: 220px; overflow: hidden; position: relative;
}
.lemosho-related-image::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.25) 100%);
  pointer-events: none;
}
.lemosho-related-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-related-card:hover .lemosho-related-image img { transform: scale(1.06); }
.lemosho-related-body {
  padding: 22px 24px 26px; flex: 1; display: flex; flex-direction: column;
}
.lemosho-related-body span.lemosho-related-badge {
  color: var(--gold); font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 2px; margin-bottom: 4px;
}
.lemosho-related-body span.lemosho-related-dur {
  color: var(--gray-light); font-size: 13px; margin-bottom: 10px;
}
.lemosho-related-body h3 {
  font-size: 18px; font-weight: 700; color: var(--charcoal);
  margin: 0 0 10px; line-height: 1.35;
  transition: color 0.3s ease;
}
.lemosho-related-card:hover .lemosho-related-body h3 { color: var(--gold); }
.lemosho-related-body p {
  color: var(--gray); font-size: 14px; line-height: 1.7;
  margin: 0 0 16px; flex: 1;
}
.lemosho-related-price {
  color: var(--green); font-size: 16px; font-weight: 700;
}

/* ----- Lemosho FAQ (Super Premium) ----- */
.lemosho-faq-list { max-width: 960px; margin: 60px auto 0; text-align: left; }
.lemosho-faq-list .faq-item {
  background: var(--white); border: 1px solid rgba(155,80,35,0.06); border-radius: 16px;
  margin-bottom: 14px; overflow: hidden; transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-faq-list .faq-item:hover {
  border-color: rgba(155,80,35,0.2);
  box-shadow: 0 4px 24px rgba(0,0,0,0.04);
}
.lemosho-faq-list .faq-item.open {
  border-color: rgba(155,80,35,0.15);
  box-shadow: 0 8px 32px rgba(0,0,0,0.05);
}
.lemosho-faq-list .faq-question {
  padding: 24px 32px; font-size: 16.5px; font-weight: 500; justify-content: space-between;
  font-family: var(--heading); color: var(--charcoal); gap: 18px;
}
.lemosho-faq-list .faq-question:hover { color: var(--green); }
.lemosho-faq-list .faq-answer-inner {
  color: var(--gray); font-size: 14.5px; line-height: 1.9; padding: 0 32px 24px;
}
.lemosho-faq-list .faq-icon {
  color: var(--gold); font-size: 13px; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(155,80,35,0.08); border-radius: 50%; flex-shrink: 0;
  transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.lemosho-faq-list .faq-item.open .faq-icon {
  background: var(--gold); color: var(--white); transform: rotate(45deg);
  box-shadow: 0 4px 12px rgba(155,80,35,0.25);
}

/* ----- CTA ----- */
.lemosho-cta {
  position: relative; background: var(--green-dark); overflow: hidden; text-align: center;
  padding: 100px 0;
}
.lemosho-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=60');
  background-size: cover; background-position: center; opacity: 0.06; mix-blend-mode: overlay;
}
.lemosho-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.lemosho-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .kili-section { padding: 80px 0; }
  .kili-routes-grid { grid-template-columns: repeat(2,1fr); gap: 20px; }
  .kili-packages-grid { grid-template-columns: repeat(2,1fr); gap: 20px; }
  .kili-moments-grid { grid-template-columns: repeat(2,1fr); }
  .kili-climate-grid { grid-template-columns: 1fr 1fr; }
  .kili-climate-card:nth-child(4) { grid-column: auto; }
  .kili-climate-card:nth-child(5) { grid-column: auto; }
  .kili-cones-grid { grid-template-columns: 1fr 1fr; }
  .kili-prep-grid { grid-template-columns: 1fr 1fr; }
  .kili-safety-grid { grid-template-columns: 1fr 1fr; }
  .kili-success-grid { grid-template-columns: repeat(2,1fr); gap: 40px; }
  .kili-season-panel.active { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .kili-section { padding: 60px 0; }
  .kili-hero { min-height: 600px; }
  .kili-hero-content { bottom: 36%; }
  .kili-hero-title { font-size: 32px; }
  .kili-hero-stats { bottom: 5%; grid-template-columns: repeat(2,1fr); gap: 16px; }
  .kili-hero-text { font-size: 15px; max-width: 100%; }

  .kili-intro-grid { grid-template-columns: 1fr; gap: 36px; }
  .kili-intro-image { height: 300px; }
  .kili-intro-stats { gap: 24px; }

  .kili-cones-grid { grid-template-columns: 1fr; }
  .kili-climate-grid { grid-template-columns: 1fr; }
  .kili-moments-grid { grid-template-columns: 1fr; }
  .kili-routes-grid { grid-template-columns: 1fr; }
  .kili-packages-grid { grid-template-columns: 1fr; }
  .kili-safety-grid { grid-template-columns: 1fr; }
  .kili-prep-grid { grid-template-columns: 1fr; }
  .kili-includes-grid { grid-template-columns: 1fr; }

  .kili-seasons-tabs { flex-direction: column; }
  .kili-season-tab { text-align: center; }
  .kili-season-panel.active { grid-template-columns: 1fr; }
  .kili-cta { padding: 60px 0; }
}

@media (max-width: 480px) {
  .kili-hero-title { font-size: 28px; }
  .kili-hero-actions { flex-direction: column; }
  .kili-hero-content { bottom: 32%; }
  .kili-intro-stats { flex-direction: column; gap: 16px; }
  .kili-success-num { font-size: 36px; }
  .kili-success-suffix { font-size: 24px; }
  .kili-success-grid { gap: 24px; }
  .kili-cta-actions { flex-direction: column; align-items: center; }
  .kili-cta { padding: 48px 0; }
  .kili-cone-card { padding: 28px 20px; }
}

/* ----- Package Detail Responsive (Super Premium) ----- */
@media (max-width: 1024px) {
  .pkg-glance-grid { grid-template-columns: repeat(2,1fr); }
  .pkg-related-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .lemosho-hero-stats-bar { flex-wrap: wrap; }
  .lemosho-hstat { flex: 1; min-width: 100px; padding: 16px 24px; }
}
@media (max-width: 768px) {
  .lemosho-section { padding: 64px 0; }
  .lemosho-hero { min-height: 620px; align-items: flex-end; }
  .lemosho-hero-content { padding: 0 24px 64px; }
  .lemosho-hero-title { font-size: clamp(30px, 8vw, 42px); max-width: 100%; }
  .lemosho-hero-text { font-size: 14.5px; max-width: 100%; margin-bottom: 28px; }
  .lemosho-hero-stats-bar {
    flex-direction: row; flex-wrap: wrap; width: 100%;
    border-radius: 14px;
  }
  .lemosho-hstat {
    flex: 1 1 45%; min-width: 0; padding: 14px 18px;
    border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .lemosho-hstat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.06); }
  .lemosho-hstat:nth-child(3), .lemosho-hstat:nth-child(4) { border-bottom: none; }
  .lemosho-hero-price { padding: 14px 28px; }
  .lemosho-hero-price-amount { font-size: 24px; }
  .pkg-overview-section,
  .pkg-highlights-section,
  .pkg-pricing-section { padding: 64px 0; }
  .pkg-glance-section { padding: 60px 0; }
  .pkg-glance-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .pkg-highlights { grid-template-columns: 1fr; }
  .lemosho-include-section { grid-template-columns: 1fr; gap: 28px; }
  .pkg-included-section { padding: 64px 0; }
  .pkg-related-section { padding: 80px 0; }
  .pkg-related-grid { grid-template-columns: 1fr; max-width: 440px; margin-left: auto; margin-right: auto; }
  .pkg-pricing-table-wrap { margin: 40px 8px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pkg-pricing-table { min-width: 560px; }
  .lemosho-info { padding: 64px 0; }
  .lemosho-itinerary-section { padding: 64px 0; }
}
@media (max-width: 480px) {
  .lemosho-section { padding: 52px 0; }
  .lemosho-hero { min-height: 560px; }
  .lemosho-hero-content { padding: 0 18px 52px; }
  .lemosho-hero-title { font-size: 28px; }
  .lemosho-hero-badge { font-size: 9px; letter-spacing: 3px; margin-bottom: 16px; }
  .lemosho-hero-text { font-size: 13.5px; margin-bottom: 24px; }
  .lemosho-hero-stats-bar { border-radius: 12px; margin-bottom: 28px; }
  .lemosho-hstat { padding: 12px 16px; }
  .lemosho-hstat-label { font-size: 8px; }
  .lemosho-hstat-val { font-size: 13.5px; }
  .lemosho-hero-price { padding: 12px 22px; border-radius: 12px; }
  .lemosho-hero-price-amount { font-size: 21px; }
  .pkg-overview-section,
  .pkg-highlights-section,
  .pkg-pricing-section,
  .pkg-included-section { padding: 52px 0; }
  .pkg-glance-section { padding: 48px 0; }
  .pkg-glance-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .pkg-glance-item { padding: 28px 18px; }
  .pkg-glance-val { font-size: 18px; }
  .pkg-highlight-card { padding: 20px 22px; gap: 16px; }
  .pkg-include-card { padding: 32px 26px; }
  .pkg-related-section { padding: 60px 0; }
  .pkg-related-grid { max-width: 100%; }
  .lemosho-info { padding: 52px 0; }
  .lemosho-itinerary-section { padding: 52px 0; }
}

@media (max-width: 480px) {
  .lemosho-glance-grid { grid-template-columns: 1fr 1fr; }
  .lemosho-packing-grid { grid-template-columns: 1fr; }
  .lemosho-include-section { grid-template-columns: 1fr; }
  .lemosho-pricing-grid { grid-template-columns: 1fr; }
  .lemosho-highlights-list { grid-template-columns: 1fr; gap: 0; }
  .lemosho-info-grid { grid-template-columns: 1fr; }
  .lemosho-testimonials-grid { grid-template-columns: 1fr; }
  .lemosho-related-grid { grid-template-columns: 1fr; max-width: 440px; margin-left: auto; margin-right: auto; }
  .lemosho-related-image { height: 220px; }
  .lemosho-day { grid-template-columns: 1fr; gap: 0; }
  .lemosho-itinerary::before { display: none; }
  .lemosho-day-num-wrap { flex-direction: row; padding: 16px 22px; gap: 12px; justify-content: flex-start; border-right: none; border-bottom: 1px solid rgba(155,80,35,0.06); }
  .lemosho-day-num-val { width: 44px; height: 44px; font-size: 26px; border-radius: 12px; }
  .lemosho-day-body { padding: 22px 26px 28px; }
  .lemosho-day-meta-grid { grid-template-columns: 1fr 1fr; }
  .lemosho-cta { padding: 64px 0; }
  .lemosho-section { padding: 44px 0; }
  .lemosho-hero { min-height: 600px; }
  .lemosho-hero-content { padding: 0 16px 56px; }
  .lemosho-hero-title { font-size: 28px; }
  .lemosho-hero-top { gap: 12px; margin-bottom: 16px; }
  .lemosho-hero-badge { font-size: 10px; letter-spacing: 2px; }
  .lemosho-hero-text { font-size: 13px; margin-bottom: 20px; }
  .lemosho-hero-stats-bar { border-radius: 10px; margin-bottom: 24px; }
  .lemosho-hstat { padding: 10px 14px; }
  .lemosho-hstat-label { font-size: 9px; }
  .lemosho-hstat-val { font-size: 13px; }
  .lemosho-hero-price { justify-content: center; padding: 14px 20px; }
  .lemosho-hero-price-amount { font-size: 20px; }
  .lemosho-glance-grid { grid-template-columns: 1fr; }
  .lemosho-info-grid { grid-template-columns: 1fr; }
  .lemosho-day-meta-grid { grid-template-columns: 1fr; }
  .lemosho-cta-actions { flex-direction: column; align-items: center; }
  .lemosho-cta { padding: 48px 0; }
}

/* ============================================
   BUSH LION TOURS — Day Trips Page Styles
   ============================================ */

.daytrip-section { padding: 100px 0; }

/* ----- Day Trip Hero (Premium) ----- */
.daytrip-hero {
  position: relative; height: 100vh; min-height: 640px; max-height: 1000px;
  overflow: hidden; background: #110C07;
  display: flex; align-items: flex-end;
}
.daytrip-hero-bg { position: absolute; inset: 0; }
.daytrip-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.05);
  animation: dtHeroZoom 20s ease-in-out infinite alternate;
}
@keyframes dtHeroZoom {
  0% { transform: scale(1.05); }
  100% { transform: scale(1.12); }
}
.daytrip-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(17,12,7,0.3) 0%, rgba(17,12,7,0.05) 30%, rgba(17,12,7,0.5) 65%, rgba(17,12,7,0.96) 100%),
    linear-gradient(to right, rgba(17,12,7,0.85) 0%, rgba(17,12,7,0.4) 50%, transparent 100%);
}
.daytrip-hero-content {
  position: relative; z-index: 2; width: 100%;
  padding: 0 clamp(16px,4vw,40px) 80px;
  max-width: var(--container); margin: 0 auto;
  animation: dtHeroFadeUp 1s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes dtHeroFadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: translateY(0); }
}
.daytrip-hero-badge {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--accent); font-size: 10.5px; text-transform: uppercase;
  letter-spacing: 4px; color: var(--gold); font-weight: 600;
  margin-bottom: 20px;
}
.daytrip-hero-badge::before {
  content: ''; width: 36px; height: 1.5px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.daytrip-hero-title {
  font-family: var(--heading); font-size: clamp(36px,5.5vw,64px);
  font-weight: 700; color: #fff; line-height: 1.04;
  margin-bottom: 20px; max-width: 720px;
  letter-spacing: -0.3px;
  text-shadow: 0 2px 30px rgba(0,0,0,0.12);
}
.daytrip-hero-title span { color: var(--gold); }
.daytrip-hero-text {
  font-size: clamp(14px,1.4vw,17px); color: rgba(255,255,255,0.55);
  max-width: 520px; line-height: 1.75; margin-bottom: 36px; font-weight: 300;
}
.daytrip-hero-actions {
  display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px;
}

/* --- Stats Bar (glassmorphism flex row) --- */
.daytrip-hero-stats-bar {
  display: inline-flex; gap: 0; margin-bottom: 32px;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.daytrip-hstat {
  padding: 18px 28px; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.06);
  min-width: 110px;
  transition: background 0.3s;
}
.daytrip-hstat:hover { background: rgba(255,255,255,0.04); }
.daytrip-hstat:last-child { border-right: none; }
.daytrip-hstat-label {
  display: block; font-size: 9px; color: rgba(255,255,255,0.3);
  text-transform: uppercase; letter-spacing: 2.5px; font-family: var(--accent);
  margin-bottom: 6px; font-weight: 500;
}
.daytrip-hstat-val {
  display: block; font-size: 15px; font-weight: 600; color: #fff;
}

/* --- Stats (absolute bottom grid — legacy materuni style) --- */
.daytrip-hero-stats {
  position: absolute; bottom: 8%; left: 0; right: 0;
  max-width: var(--container); margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; z-index: 2;
}
.daytrip-stat { text-align: center; }
.daytrip-stat-num {
  display: block; font-family: var(--heading); font-size: clamp(28px,3vw,40px);
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.daytrip-stat-num span { font-size: 0.55em; font-weight: 300; color: rgba(255,255,255,0.4); }
.daytrip-stat-label {
  display: block; font-size: 11px; color: rgba(255,255,255,0.45);
  margin-top: 6px; font-family: var(--accent);
  text-transform: uppercase; letter-spacing: 1.5px;
}

/* --- Price pill --- */
.daytrip-hero-price {
  display: inline-flex; align-items: baseline; gap: 10px;
  background: linear-gradient(135deg, var(--gold), #8A451E);
  border-radius: 12px; padding: 14px 32px;
  box-shadow: 0 4px 20px rgba(155,80,35,0.3);
  transition: all 0.3s;
}
.daytrip-hero-price:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(155,80,35,0.45);
}
.daytrip-hero-price-amount {
  font-family: var(--heading); font-size: 26px; font-weight: 700;
  color: var(--green-dark); line-height: 1;
}
.daytrip-hero-price-label {
  font-size: 10px; color: rgba(26,18,11,0.5); text-transform: uppercase;
  letter-spacing: 2px; font-family: var(--accent); font-weight: 500;
}

/* ----- Intro ----- */
.daytrip-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-bottom: 80px; }
.daytrip-intro-text p { color: var(--gray); line-height: 1.9; margin-bottom: 18px; font-size: 15px; }
.daytrip-intro-text .section-title { max-width: 100%; }
.daytrip-intro-stats { display: flex; gap: 48px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--ivory-dark); }
.daytrip-intro-num { display: block; font-family: var(--heading); font-size: 30px; font-weight: 700; color: var(--green); }
.daytrip-intro-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1.5px; font-family: var(--accent); }
.daytrip-intro-image { border-radius: 12px; overflow: hidden; height: 520px; box-shadow: 0 20px 60px rgba(0,0,0,0.08); }
.daytrip-intro-image img { width: 100%; height: 100%; object-fit: cover; }

/* ----- Types ----- */
.daytrip-types { background: var(--ivory); }
.daytrip-types-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.daytrip-type-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 32px 24px; text-align: center; transition: all 0.4s;
}
.daytrip-type-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.daytrip-type-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
  font-size: 1.2rem; color: var(--gold); transition: all 0.4s;
}
.daytrip-type-card:hover .daytrip-type-icon { background: var(--green); color: var(--white); }
.daytrip-type-card h3 { font-size: 17px; margin-bottom: 8px; }
.daytrip-type-card p { color: var(--gray); font-size: 13px; line-height: 1.7; margin-bottom: 14px; }
.daytrip-type-tag {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,0.08); padding: 4px 10px; border-radius: 4px;
}

/* ----- Moments ----- */
.daytrip-moments { background: var(--green); text-align: center; }
.daytrip-moments .section-title { margin-left: auto; margin-right: auto; }
.daytrip-moments-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 48px; font-size: 16px; }
.daytrip-moments-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; text-align: left; }
.daytrip-moment-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 28px 24px; transition: all 0.3s; cursor: default;
}
.daytrip-moment-card:hover { background: rgba(255,255,255,0.07); border-color: rgba(155,80,35,0.3); transform: translateY(-3px); }
.daytrip-moment-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); opacity: 0.3; margin-bottom: 10px; line-height: 1; }
.daytrip-moment-card h3 { font-size: 16px; color: var(--white); margin-bottom: 8px; }
.daytrip-moment-card p { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.7; }

/* ----- Packages ----- */
.daytrip-packages-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.daytrip-package-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  overflow: hidden; transition: all 0.4s; display: flex; flex-direction: column;
}
.daytrip-package-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,0.08); border-color: transparent; }
.daytrip-package-image { height: 240px; overflow: hidden; position: relative; }
.daytrip-package-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.daytrip-package-card:hover .daytrip-package-image img { transform: scale(1.06); }
.daytrip-package-badge { position: absolute; top: 12px; left: 12px; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--white); padding: 4px 10px; border-radius: 4px; }
.daytrip-package-badge.wildlife { background: #2d7d46; }
.daytrip-package-badge.water { background: #1a6fa0; }
.daytrip-package-badge.culture { background: #b8860b; }
.daytrip-package-badge.nature { background: #6b4423; }
.daytrip-package-dur { position: absolute; top: 12px; right: 12px; font-family: var(--accent); font-size: 9px; font-weight: 600; background: rgba(0,0,0,0.5); color: var(--white); padding: 4px 10px; border-radius: 4px; backdrop-filter: blur(6px); }
.daytrip-package-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.daytrip-package-body h3 { font-size: 18px; margin-bottom: 8px; }
.daytrip-package-desc { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 16px; }
.daytrip-package-rating { margin-bottom: 8px; }
.daytrip-package-stars { color: #f59e0b; font-size: 12px; }
.daytrip-package-rating-text { font-size: 12px; color: var(--gray-light); margin-left: 4px; }
.daytrip-package-body p { font-size: 13px; color: var(--gray); line-height: 1.7; flex: 1; }
.daytrip-package-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--ivory-dark); margin-top: 16px; }
.daytrip-package-price { font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); line-height: 1; }
.daytrip-package-price span { font-size: 11px; font-weight: 400; color: var(--gray-light); font-family: var(--body); }
.daytrip-package-link { font-family: var(--accent); font-size: 11px; font-weight: 600; color: var(--green); background: none; border: 1.5px solid var(--green); padding: 8px 16px; border-radius: 4px; transition: all 0.2s; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; white-space: nowrap; }
.daytrip-package-link:hover { background: var(--green); color: var(--white); }

/* ----- Seasons ----- */
.daytrip-seasons-tabs { display: flex; gap: 12px; margin-bottom: 40px; flex-wrap: wrap; }
.daytrip-season-tab {
  padding: 16px 28px; font-family: var(--accent); font-size: 14px; font-weight: 500;
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 8px;
  cursor: pointer; transition: all 0.2s; color: var(--gray); text-align: left; flex: 0 1 auto;
}
.daytrip-season-tab span { display: block; font-size: 11px; color: var(--gray-light); font-weight: 400; margin-top: 3px; }
.daytrip-season-tab:hover { border-color: var(--gold); color: var(--green); transform: translateY(-1px); }
.daytrip-season-tab.active { background: var(--green); border-color: var(--green); color: var(--white); box-shadow: 0 4px 16px rgba(26,18,11,0.2); }
.daytrip-season-tab.active span { color: rgba(255,255,255,0.5); }
.daytrip-season-panel { display: none; gap: 40px; align-items: start; }
.daytrip-season-panel.active { display: grid; grid-template-columns: 1.4fr 1fr; }
.daytrip-season-info h3 { font-size: 24px; margin-bottom: 20px; }
.daytrip-season-info ul { list-style: none; margin-bottom: 20px; }
.daytrip-season-info li { padding: 12px 0; border-bottom: 1px solid var(--ivory-dark); font-size: 14px; color: var(--gray); line-height: 1.7; }
.daytrip-season-info li:last-child { border-bottom: none; }
.daytrip-season-info li strong { color: var(--charcoal); }
.daytrip-season-info > p { font-size: 14px; color: var(--charcoal); }
.daytrip-season-meta { background: var(--ivory); border-radius: 10px; padding: 28px 24px; display: flex; flex-direction: column; gap: 16px; }
.daytrip-season-meta > div { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--ivory-dark); }
.daytrip-season-meta > div:last-child { border-bottom: none; }
.daytrip-season-meta-label { font-family: var(--accent); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); }
.daytrip-season-meta-val { font-family: var(--accent); font-size: 12px; font-weight: 600; }
.daytrip-season-meta-val.good { color: #27ae60; }
.daytrip-season-meta-val.mid { color: var(--gold-dark); }
.daytrip-season-meta-val.bad { color: #e74c3c; }

/* ----- Trust ----- */
.daytrip-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.daytrip-trust-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 36px 24px 32px; text-align: center; transition: all 0.4s;
}
.daytrip-trust-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.daytrip-trust-card > i { font-size: 2rem; color: var(--gold); margin-bottom: 16px; display: block; }
.daytrip-trust-card h3 { font-size: 18px; margin-bottom: 10px; }
.daytrip-trust-card p { color: var(--gray); font-size: 13px; line-height: 1.8; margin-bottom: 14px; }
.daytrip-trust-card > span { font-size: 11px; color: var(--gold); font-family: var(--accent); letter-spacing: 0.5px; }

/* ----- Success ----- */
.daytrip-success { background: var(--green); text-align: center; }
.daytrip-success::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(155,80,35,0.3), transparent);
}
.daytrip-success-content { max-width: 800px; margin: 0 auto; }
.daytrip-success .section-title { margin-left: auto; margin-right: auto; }
.daytrip-success-desc { color: rgba(255,255,255,0.65); font-size: 17px; max-width: 650px; margin: 0 auto 52px; line-height: 1.7; }
.daytrip-success-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.daytrip-success-stat { text-align: center; }
.daytrip-success-num { display: inline-block; font-family: var(--heading); font-size: 48px; font-weight: 700; color: var(--gold); line-height: 1; }
.daytrip-success-suffix { font-family: var(--heading); font-size: 32px; font-weight: 700; color: var(--gold); }
.daytrip-success-label { display: block; font-size: 14px; color: rgba(255,255,255,0.55); margin-top: 8px; }

/* ----- Safety ----- */
.daytrip-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.daytrip-safety-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 32px 28px; transition: all 0.4s; }
.daytrip-safety-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.daytrip-safety-icon { display: inline-flex; width: 48px; height: 48px; background: var(--ivory); border-radius: 10px; align-items: center; justify-content: center; font-size: 1.15rem; color: var(--gold); margin-bottom: 18px; transition: all 0.4s; }
.daytrip-safety-card:hover .daytrip-safety-icon { background: var(--green); color: var(--white); transform: scale(1.05); }
.daytrip-safety-card h3 { font-size: 17px; margin-bottom: 8px; }
.daytrip-safety-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ----- Group ----- */
.daytrip-group { background: var(--green); text-align: center; }
.daytrip-group .section-title { margin-left: auto; margin-right: auto; }
.daytrip-group-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 44px; font-size: 16px; }
.daytrip-group-grid { margin-bottom: 36px; text-align: left; }
.daytrip-group-grid .group-table { color: rgba(255,255,255,0.85); }
.daytrip-group-grid .group-table thead { border-bottom-color: rgba(255,255,255,0.1); }
.daytrip-group-grid .group-table th { color: rgba(255,255,255,0.35); }
.daytrip-group-grid .group-table td { border-bottom-color: rgba(255,255,255,0.06); }
.daytrip-group-grid .group-table tbody tr:hover { background: rgba(255,255,255,0.04); }
.daytrip-group-grid .group-table .group-price { color: var(--gold); }
.daytrip-group-grid .group-table .gp-label { color: rgba(255,255,255,0.3); }
.daytrip-group-grid .group-table .group-seats-text { color: rgba(255,255,255,0.35); }
.daytrip-group-grid .group-table .group-seats-bar { background: rgba(255,255,255,0.06); }
.daytrip-group-grid .group-table .group-seats-fill { background: var(--gold); }
.daytrip-group-badge { display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); background: rgba(155,80,35,0.12); padding: 4px 10px; border-radius: 4px; margin-right: 10px; }
.daytrip-group-footer { text-align: center; }
.daytrip-group-footer .btn { color: var(--gold); border-color: rgba(255,255,255,0.2); }
.daytrip-group-footer .btn:hover { background: var(--gold); color: var(--green); border-color: var(--gold); }

/* ----- Prep ----- */
.daytrip-prep { background: var(--ivory); }
.daytrip-prep-content .section-desc { margin-bottom: 0; }
.daytrip-prep-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.daytrip-prep-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 36px 28px 32px; transition: all 0.4s; display: flex; flex-direction: column; }
.daytrip-prep-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); border-color: transparent; }
.daytrip-prep-icon { display: inline-flex; width: 52px; height: 52px; background: var(--ivory); border-radius: 12px; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--gold); margin-bottom: 18px; transition: all 0.4s; }
.daytrip-prep-card:hover .daytrip-prep-icon { background: var(--green); color: var(--white); }
.daytrip-prep-card h3 { font-size: 20px; margin-bottom: 10px; }
.daytrip-prep-card > p { color: var(--gray); font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.daytrip-prep-card ul { list-style: none; margin-bottom: 0; flex: 1; }
.daytrip-prep-card li { padding: 7px 0; font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 10px; line-height: 1.5; }
.daytrip-prep-card li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px; color: var(--gold); }

/* ----- FAQ ----- */
.daytrip-faq { background: var(--green); text-align: center; }
.daytrip-faq .section-title { margin-left: auto; margin-right: auto; }
.daytrip-faq-desc { color: rgba(255,255,255,0.65); max-width: 550px; margin: 0 auto 44px; font-size: 16px; }
.daytrip-faq-list { max-width: 750px; margin: 0 auto; text-align: left; }
.daytrip-faq-list .faq-item {
  background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.06);
  border-radius: 10px;
}
.daytrip-faq-list .faq-item:hover { border-color: rgba(155,80,35,0.3); }
.daytrip-faq-list .faq-question { color: var(--white); padding: 20px 24px; font-size: 15px; }
.daytrip-faq-list .faq-question:hover { color: var(--gold); }
.daytrip-faq-list .faq-answer-inner { color: rgba(255,255,255,0.6); font-size: 14px; }

/* ----- CTA ----- */
.daytrip-cta {
  position: relative; background: var(--green-dark); overflow: hidden; text-align: center;
  padding: 120px 0;
}
.daytrip-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=60');
  background-size: cover; background-position: center; opacity: 0.06; mix-blend-mode: overlay;
}
.daytrip-cta-content { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
.daytrip-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ----- Tour Page Sections ----- */

/* Overview */
.daytrip-overview-text { max-width: 800px; }
.daytrip-overview-text p { color: var(--gray); line-height: 1.9; margin-bottom: 18px; font-size: 15px; }

/* At a Glance */
.daytrip-glance { background: var(--ivory); }
.daytrip-glance-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--ivory-dark); border: 1px solid var(--ivory-dark); border-radius: 10px; overflow: hidden; }
.daytrip-glance-item { background: var(--white); padding: 28px 24px; text-align: center; }
.daytrip-glance-item-label { display: block; font-size: 10px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1.5px; font-family: var(--accent); margin-bottom: 6px; }
.daytrip-glance-item-val { display: block; font-family: var(--heading); font-size: 22px; font-weight: 700; color: var(--charcoal); }

/* Highlights */
.daytrip-highlights-list { max-width: 900px; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; padding-left: 0; }
.daytrip-highlights-list li {
  padding: 16px 0 16px 20px; font-size: 15px; color: var(--charcoal); line-height: 1.6;
  display: flex; align-items: flex-start;
  position: relative;
}
.daytrip-highlights-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 24px;
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
}
.daytrip-highlights-list li:last-child { border-bottom: none; }
.daytrip-highlights-list li i { display: none; }

/* Itinerary */
.daytrip-itinerary-section { background: var(--ivory); }
.daytrip-itinerary { max-width: 960px; margin: 48px auto 0; display: flex; flex-direction: column; gap: 0; }
.daytrip-day {
  display: flex; gap: 32px; padding: 40px 0; border-bottom: 1px solid var(--ivory-dark);
  position: relative;
}
.daytrip-day:first-child { padding-top: 0; }
.daytrip-day:last-child { border-bottom: none; }
.daytrip-day-num-wrap {
  flex-shrink: 0; width: 64px; height: 64px;
  background: var(--green); border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  position: relative; z-index: 1;
}
.daytrip-day-num-val {
  font-family: var(--heading); font-size: 22px; font-weight: 700;
  color: var(--white); line-height: 1;
}
.daytrip-day-num-label {
  font-size: 8px; color: rgba(255,255,255,0.5); text-transform: uppercase;
  letter-spacing: 1.5px; font-family: var(--accent); margin-top: 2px;
}
.daytrip-day-body { flex: 1; }
.daytrip-day-body h3 { font-size: 20px; margin-bottom: 12px; color: var(--charcoal); }
.daytrip-day-body > p { color: var(--gray); font-size: 14px; line-height: 1.8; margin-bottom: 16px; }
.daytrip-day-meta-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 16px;
  margin-bottom: 16px; padding: 16px; background: var(--white);
  border-radius: 8px; border: 1px solid var(--ivory-dark);
}
.daytrip-day-meta-lbl {
  display: block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light); margin-bottom: 4px;
}
.daytrip-day-meta-val { display: block; font-size: 13px; color: var(--charcoal); font-weight: 500; }
.daytrip-day-bullets { list-style: none; margin-bottom: 16px; }
.daytrip-day-bullets li {
  padding: 6px 0; font-size: 13px; color: var(--gray); line-height: 1.6;
  display: flex; align-items: flex-start; gap: 10px;
}
.daytrip-day-bullets li::before { content: '\f058'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--gold); font-size: 12px; margin-top: 3px; }
.daytrip-day-note {
  padding: 14px 16px; background: rgba(155,80,35,0.04); border-left: 3px solid var(--gold);
  border-radius: 0 8px 8px 0; font-size: 13px; color: var(--gray); line-height: 1.7;
  margin-bottom: 12px;
}
.daytrip-day-note strong { color: var(--charcoal); }
.daytrip-day-featured .daytrip-day-num-wrap { background: var(--gold); }

/* Info */
.daytrip-info { background: var(--white); }
.daytrip-info-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 48px; }
.daytrip-info-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 28px 24px; transition: all 0.3s;
}
.daytrip-info-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.04); }
.daytrip-info-card i { font-size: 22px; color: var(--gold); margin-bottom: 14px; display: block; }
.daytrip-info-card h3 { font-size: 15px; margin-bottom: 8px; }
.daytrip-info-card p { font-size: 13px; color: var(--gray); line-height: 1.7; }

/* Packing */
.daytrip-packing { background: var(--green); }
.daytrip-packing .section-title { color: var(--white); }
.daytrip-packing-desc { color: rgba(255,255,255,0.6); max-width: 650px; margin: 0 auto 48px; font-size: 15px; text-align: center; }
.daytrip-packing-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-bottom: 48px; }
.daytrip-packing-block {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 28px 24px;
}
.daytrip-packing-block h3 { font-size: 14px; color: var(--gold); margin-bottom: 14px; text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }
.daytrip-packing-checklist { display: flex; flex-direction: column; gap: 8px; }
.daytrip-packing-checklist label {
  display: flex; align-items: center; gap: 10px; font-size: 13px;
  color: rgba(255,255,255,0.65); cursor: pointer; line-height: 1.5;
}
.daytrip-packing-checklist input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: var(--gold); flex-shrink: 0; cursor: pointer;
}

/* Include/Exclude */
.daytrip-include-section { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.daytrip-include-col { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; padding: 32px 28px; }
.daytrip-include-title { font-size: 17px; color: #27ae60; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.daytrip-include-title i { font-size: 20px; }
.daytrip-exclude-title { color: #e74c3c; }
.daytrip-include-list { list-style: none; }
.daytrip-include-list li { padding: 8px 0; font-size: 13px; color: rgba(255,255,255,0.55); display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; border-bottom: 1px solid rgba(255,255,255,0.04); }
.daytrip-include-list li:last-child { border-bottom: none; }
.daytrip-include-list li i.fa-check { color: #27ae60; font-size: 13px; margin-top: 3px; }
.daytrip-include-list li i.fa-times { color: #e74c3c; font-size: 13px; margin-top: 3px; }

/* Pricing */
.daytrip-pricing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 48px; }
.daytrip-pricing-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 32px 24px; text-align: center; transition: all 0.3s;
}
.daytrip-pricing-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); border-color: transparent; }
.daytrip-pricing-best { border: 2px solid var(--gold); background: linear-gradient(135deg, var(--white) 60%, rgba(155,80,35,0.04) 100%); }
.daytrip-pricing-badge {
  display: inline-block; font-family: var(--accent); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,0.1); padding: 4px 10px; border-radius: 4px; margin-bottom: 12px;
}
.daytrip-pricing-label { display: block; font-size: 13px; color: var(--gray-light); margin-bottom: 8px; font-family: var(--accent); text-transform: uppercase; letter-spacing: 1px; }
.daytrip-pricing-amount { display: block; font-family: var(--heading); font-size: 28px; font-weight: 700; color: var(--green); margin-bottom: 4px; }
.daytrip-pricing-note { display: block; font-size: 11px; color: var(--gray-light); }
.daytrip-pricing-footnote { text-align: center; margin-top: 28px; font-size: 14px; color: var(--gray); }
.daytrip-pricing-footnote a { color: var(--gold); text-decoration: underline; }

/* Testimonials */
.daytrip-testimonials { background: var(--ivory); }
.daytrip-testimonials .section-label { color: var(--gold); }
.daytrip-testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px; }
.daytrip-testimonial-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 32px 28px; transition: all 0.3s;
}
.daytrip-testimonial-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.04); }
.daytrip-testimonial-stars { color: var(--gold); font-size: 14px; margin-bottom: 16px; }
.daytrip-testimonial-stars i { margin-right: 2px; }
.daytrip-testimonial-card h3 { font-size: 17px; margin-bottom: 14px; line-height: 1.4; }
.daytrip-testimonial-card blockquote {
  font-size: 14px; color: var(--gray); line-height: 1.8; margin-bottom: 20px;
  font-style: italic; border-left: 3px solid var(--gold); padding-left: 16px;
}
.daytrip-testimonial-author { display: flex; flex-direction: column; gap: 2px; }
.daytrip-testimonial-name { font-weight: 600; font-size: 14px; color: var(--charcoal); }
.daytrip-testimonial-location { font-size: 12px; color: var(--gray-light); }

/* Related */
.daytrip-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px; }
.daytrip-related-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  overflow: hidden; transition: all 0.3s; display: flex; flex-direction: column;
}
.daytrip-related-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); border-color: transparent; }
.daytrip-related-image { height: 200px; overflow: hidden; position: relative; }
.daytrip-related-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.daytrip-related-card:hover .daytrip-related-image img { transform: scale(1.06); }
.daytrip-related-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.daytrip-related-badge {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--green);
  background: rgba(26,18,11,0.06); padding: 4px 10px; border-radius: 4px; margin-bottom: 10px;
  align-self: flex-start;
}
.daytrip-related-dur {
  display: inline-block; font-size: 12px; color: var(--gray-light); margin-bottom: 8px;
}
.daytrip-related-body h3 { font-size: 17px; margin-bottom: 8px; }
.daytrip-related-body p { font-size: 13px; color: var(--gray); line-height: 1.7; flex: 1; }
.daytrip-related-price {
  display: block; font-family: var(--heading); font-size: 17px; font-weight: 700;
  color: var(--green); margin-top: 14px;
}

/* Hero price */
.daytrip-hero-price {
  display: inline-flex; align-items: baseline; gap: 10px;
  background: linear-gradient(135deg, var(--gold), #8A451E);
  border-radius: 12px; padding: 14px 32px;
  box-shadow: 0 4px 20px rgba(155,80,35,0.3);
  transition: all 0.3s;
}
.daytrip-hero-price:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(155,80,35,0.45);
}
.daytrip-hero-price-amount {
  font-family: var(--heading); font-size: 26px; font-weight: 700;
  color: var(--green-dark); line-height: 1;
}
.daytrip-hero-price-label { font-size: 10px; color: rgba(26,18,11,0.5); text-transform: uppercase; letter-spacing: 2px; font-family: var(--accent); font-weight: 500; }

/* Group */
.daytrip-group { background: var(--green); text-align: center; }
.daytrip-group .section-title { margin-left: auto; margin-right: auto; }
.daytrip-group-desc { color: rgba(255,255,255,0.65); max-width: 600px; margin: 0 auto 44px; font-size: 16px; }
.daytrip-group-grid { margin-bottom: 36px; text-align: left; }

/* ----- Day Trips Responsive ----- */
@media (max-width: 1024px) {
  .daytrip-section { padding: 80px 0; }
  .daytrip-types-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-packages-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-moments-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-trust-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-success-grid { grid-template-columns: repeat(2,1fr); gap: 40px; }
  .daytrip-safety-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-prep-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-season-panel.active { grid-template-columns: 1fr; }

  .daytrip-glance-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-packing-list { grid-template-columns: repeat(2,1fr); }
  .daytrip-pricing-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-info-grid { grid-template-columns: repeat(2,1fr); }
  .daytrip-testimonials-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .daytrip-section { padding: 60px 0; }
  .daytrip-hero { min-height: 580px; }
  .daytrip-hero-content { padding: 0 20px 56px; }
  .daytrip-hero-title { font-size: clamp(28px, 7vw, 38px); max-width: 100%; }
  .daytrip-hero-text { font-size: 14px; max-width: 100%; margin-bottom: 24px; }
  .daytrip-hero-stats-bar {
    flex-direction: row; flex-wrap: wrap; width: 100%;
    border-radius: 12px;
  }
  .daytrip-hstat {
    flex: 1 1 45%; min-width: 0; padding: 12px 16px;
    border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .daytrip-hstat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.06); }
  .daytrip-hstat:nth-child(3), .daytrip-hstat:nth-child(4) { border-bottom: none; }
  .daytrip-hero-stats { bottom: 5%; grid-template-columns: repeat(2,1fr); gap: 16px; }
  .daytrip-hero-actions { flex-direction: column; }
  .daytrip-hero-price { padding: 12px 24px; }
  .daytrip-hero-price-amount { font-size: 22px; }

  .daytrip-intro-grid { grid-template-columns: 1fr; gap: 36px; }
  .daytrip-intro-image { height: 300px; }
  .daytrip-intro-stats { gap: 24px; }

  .daytrip-types-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-moments-grid { grid-template-columns: 1fr; }
  .daytrip-packages-grid { grid-template-columns: 1fr; }
  .daytrip-trust-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-safety-grid { grid-template-columns: 1fr; }
  .daytrip-prep-grid { grid-template-columns: 1fr; }
  .daytrip-seasons-tabs { flex-direction: column; }
  .daytrip-season-tab { text-align: center; }
  .daytrip-season-panel.active { grid-template-columns: 1fr; }

  .daytrip-glance-grid { grid-template-columns: 1fr 1fr; }
  .daytrip-packing-list { grid-template-columns: 1fr; }
  .daytrip-include-section { grid-template-columns: 1fr; }
  .daytrip-pricing-grid { grid-template-columns: 1fr; }
  .daytrip-info-grid { grid-template-columns: 1fr; }
  .daytrip-testimonials-grid { grid-template-columns: 1fr; }
  .daytrip-related-grid { grid-template-columns: 1fr; }
  .daytrip-day { flex-direction: column; gap: 16px; }
  .daytrip-day-num-wrap { width: 48px; height: 48px; }
  .daytrip-day-num-val { font-size: 18px; }
  .daytrip-day-meta-grid { grid-template-columns: 1fr; }
  .daytrip-cta { padding: 60px 0; }
}
@media (max-width: 480px) {
  .daytrip-hero { min-height: 520px; }
  .daytrip-hero-content { padding: 0 16px 44px; }
  .daytrip-hero-title { font-size: 26px; }
  .daytrip-hero-badge { font-size: 9.5px; letter-spacing: 2.5px; margin-bottom: 14px; }
  .daytrip-hero-text { font-size: 13px; margin-bottom: 20px; }
  .daytrip-hero-stats-bar { border-radius: 10px; margin-bottom: 24px; }
  .daytrip-hstat { padding: 10px 14px; }
  .daytrip-hstat-label { font-size: 8.5px; }
  .daytrip-hstat-val { font-size: 13px; }
  .daytrip-hero-price { padding: 12px 20px; border-radius: 10px; }
  .daytrip-hero-price-amount { font-size: 20px; }
}

@media (max-width: 480px) {
  .daytrip-hero-title { font-size: 28px; }
  .daytrip-intro-stats { flex-direction: column; gap: 16px; }
  .daytrip-types-grid { grid-template-columns: 1fr; }
  .daytrip-trust-grid { grid-template-columns: 1fr; }
  .daytrip-success-num { font-size: 36px; }
  .daytrip-success-suffix { font-size: 24px; }
  .daytrip-success-grid { gap: 24px; }
  .daytrip-cta-actions { flex-direction: column; align-items: center; }
  .daytrip-cta { padding: 48px 0; }

  .daytrip-glance-grid { grid-template-columns: 1fr; }
  .daytrip-info-grid { grid-template-columns: 1fr; }
  .daytrip-cta-actions { flex-direction: column; align-items: center; }
}

/* ============================================
   FOOTER — PREMIUM REDESIGN 2026
   ============================================ */

.ft {
  background: var(--charcoal); color: rgba(255,255,255,.6); padding: 60px 0 0;
}
.ft-top {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 32px;
  padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Brand */
.ft-brand p { font-size: 13px; line-height: 1.7; margin: 16px 0; max-width: 300px; color: rgba(255,255,255,.45); }
.ft-logo {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--heading); font-size: 22px; font-weight: 700; color: var(--white);
  margin-bottom: 4px; text-decoration: none;
}
.ft-logo i { color: var(--gold); font-size: 20px; }
.ft-logo span span { color: var(--gold); }
.ft-social { display: flex; gap: 8px; margin-bottom: 16px; }
.ft-social-link {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.04); display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.4); transition: all .2s;
}
.ft-social-link:hover { background: var(--gold); color: var(--green); transform: translateY(-2px); }
.ft-badges { display: flex; flex-direction: column; gap: 6px; }
.ft-badge { font-size: 12px; display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.4); }
.ft-badge i { color: var(--gold); font-size: 12px; }

/* Columns */
.ft-heading {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--white);
  margin-bottom: 16px;
}
.ft-col a {
  display: block; font-size: 13px; color: rgba(255,255,255,.45);
  padding: 4px 0; transition: all .2s; text-decoration: none;
}
.ft-col a:hover { color: var(--gold); padding-left: 4px; }

/* Newsletter */
.ft-newsletter {
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.ft-newsletter-text { display: flex; align-items: center; gap: 14px; }
.ft-newsletter-text i { font-size: 24px; color: var(--gold); }
.ft-newsletter-text strong { display: block; font-size: 15px; color: var(--white); margin-bottom: 2px; }
.ft-newsletter-text span { font-size: 13px; color: rgba(255,255,255,.45); }
.ft-newsletter-form { display: flex; gap: 8px; flex-shrink: 0; }
.ft-newsletter-form input {
  padding: 12px 16px; border: 1.5px solid rgba(255,255,255,.1); border-radius: 8px;
  background: rgba(255,255,255,.04); color: var(--white); font-family: var(--body);
  font-size: 14px; width: 260px; transition: border-color .2s;
}
.ft-newsletter-form input::placeholder { color: rgba(255,255,255,.3); }
.ft-newsletter-form input:focus { outline: none; border-color: var(--gold); }
.ft-newsletter-form button {
  padding: 12px 24px; background: var(--gold); color: var(--green);
  border: none; border-radius: 8px; font-family: var(--accent); font-size: 13px;
  font-weight: 700; cursor: pointer; transition: all .3s; text-transform: uppercase;
  letter-spacing: .5px; white-space: nowrap;
}
.ft-newsletter-form button:hover { background: var(--gold-light); transform: translateY(-1px); }

/* Contact Bar */
.ft-contact-bar {
  display: flex; justify-content: center; gap: 32px; flex-wrap: wrap;
  padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Sustainability Banner */
.ft-sustainability {
  padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.ft-sustainability-content {
  display: flex; align-items: center; gap: 24px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px; padding: 20px 24px;
}
.ft-sustainability-img {
  width: 120px; height: 120px; object-fit: contain; flex-shrink: 0;
  border-radius: 8px;
}
.ft-sustainability-text strong {
  display: block; font-size: 14px; color: var(--gold); margin-bottom: 4px;
}
.ft-sustainability-text p {
  font-size: 12px; color: rgba(255,255,255,.4); line-height: 1.6; margin: 0;
}
.ft-contact-item { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ft-contact-item i { color: var(--gold); font-size: 14px; }
.ft-contact-item a { color: rgba(255,255,255,.6); text-decoration: none; transition: color .2s; }
.ft-contact-item a:hover { color: var(--gold); }
.ft-contact-item span { color: rgba(255,255,255,.5); }

/* Bottom */
.ft-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
  gap: 12px; padding: 20px 0;
}
.ft-country { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.4); }
.ft-country i { color: var(--gold); }
.ft-copy { font-size: 12px; color: rgba(255,255,255,.3); }

/* ----- Back to Top ----- */
.back-to-top { position: fixed; bottom: 24px; left: 24px; z-index: 998; width: 40px; height: 40px; background: var(--green); color: var(--white); border: none; border-radius: 50%; font-size: 0.9rem; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(16px); transition: all 0.3s; box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.back-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--gold); color: var(--green); transform: translateY(-2px); }

/* ----- Mobile Bottom Bar ----- */
.mobile-bottom-bar {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  background: rgba(255,255,255,.92); backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(26,18,11,.08);
  box-shadow: 0 -8px 32px rgba(0,0,0,.08), 0 -2px 8px rgba(0,0,0,.04);
  padding: 6px 16px; padding-bottom: max(6px, env(safe-area-inset-bottom));
}
.mobile-bottom-bar .mobile-bottom-btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; text-decoration: none; color: var(--green);
  font-family: var(--accent); font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; padding: 8px 16px;
  border-radius: 12px; transition: all .3s; position: relative;
}
.mobile-bottom-bar .mobile-bottom-btn i { font-size: 20px; transition: transform .3s; position: relative; z-index: 1; }
.mobile-bottom-bar .mobile-bottom-btn span { position: relative; z-index: 1; }
.mobile-bottom-bar .mobile-bottom-btn-whatsapp { color: #25D366; }
.mobile-bottom-bar .mobile-bottom-btn-primary {
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  color: var(--white); border-radius: 14px; padding: 10px 24px;
  box-shadow: 0 4px 16px rgba(26,18,11,.25); gap: 3px;
}
.mobile-bottom-bar .mobile-bottom-btn-primary i { color: var(--white); font-size: 18px; }
.mobile-bottom-bar .mobile-bottom-btn-primary span { color: rgba(255,255,255,.95); font-size: 9px; letter-spacing: 1.2px; }
@media (max-width: 768px) {
  .mobile-bottom-bar { display: flex; justify-content: space-evenly; align-items: center; }
  body { padding-bottom: 76px; }
  .back-to-top { bottom: 84px; }
}
@media (min-width: 769px) {
  .mobile-bottom-bar { display: none !important; }
  body { padding-bottom: 0; }
}

/* ----- Footer Responsive ----- */
/* Desktop: ft-mobile-pair haina athari — inaonekana kama columns huru */
.ft-mobile-pair { display: contents; }

@media (max-width: 1024px) {
  .ft-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .ft-brand { grid-column: 1 / -1; text-align: center; }
  .ft-brand p { margin-left: auto; margin-right: auto; }
  .ft-social { justify-content: center; }
  .ft-badges { align-items: center; }
}
@media (max-width: 768px) {
  .ft { padding-top: 40px; }
  .ft-top { grid-template-columns: 1fr; gap: 0; }
  .ft-brand {
    text-align: center; grid-column: 1 / -1;
    padding-bottom: 24px; margin-bottom: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .ft-brand p { margin-left: auto; margin-right: auto; max-width: 320px; }
  .ft-social { justify-content: center; }
  .ft-badges { align-items: center; }

  /* Mobile: ft-mobile-pair inaonekana kama row moja */
  .ft-mobile-pair {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
    grid-column: 1 / -1;
  }
  .ft-mobile-pair:last-child { border-bottom: none; }
  .ft-mobile-pair .ft-col { width: auto; }
  .ft-mobile-pair .ft-heading { font-size: 10px; margin-bottom: 12px; }
  .ft-mobile-pair .ft-col a { font-size: 12px; padding: 3px 0; }
  .ft-newsletter { flex-direction: column; text-align: center; padding: 20px 0; gap: 16px; }
  .ft-newsletter-form { width: 100%; }
  .ft-newsletter-form input { width: 100%; }
  .ft-contact-bar { flex-direction: column; align-items: center; gap: 10px; padding: 16px 0; }
  .ft-contact-bar .ft-contact-item { font-size: 12px; }
  .ft-sustainability-content { flex-direction: column; text-align: center; }
  .ft-bottom { flex-direction: column; text-align: center; gap: 8px; padding: 16px 0; }
}

/* ----- Scroll Reveal ----- */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.6s, transform 0.6s; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ----- Blog Slider (Home Page) ----- */
.blog-slider-wrap { position: relative; padding: 0 24px; }
.blog-slider {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 4px 8px;
}
.blog-slider::-webkit-scrollbar { display: none; }
.blog-slider .blog-card { transition: transform 0.3s, box-shadow 0.3s; flex-shrink: 0; scroll-snap-align: start; }
.blog-slider .blog-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.1); }
.blog-slider .blog-card img { transition: transform 0.5s; }
.blog-slider .blog-card:hover img { transform: scale(1.06); }
.blog-slider .blog-card a:hover { color: var(--gold); }
.blog-slider-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--white); border: 1.5px solid var(--ivory-dark);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); cursor: pointer;
  font-size: 14px; color: var(--green); z-index: 5;
  transition: all 0.25s; display: flex; align-items: center; justify-content: center;
}
.blog-slider-btn:hover { background: var(--green); color: var(--white); border-color: var(--green); }
.blog-slider-prev { left: -20px; }
.blog-slider-next { right: -20px; }
@media (max-width: 768px) {
  .blog-slider-wrap { padding: 0 8px; }
  .blog-slider-prev { left: 0; }
  .blog-slider-next { right: 0; }
  .blog-slider-btn { width: 36px; height: 36px; font-size: 12px; }
}

/* ============================================
   MOBILE NAVIGATION — Premium Luxury Panel
   ============================================ */

@media (max-width: 768px) {

  /* ── Hide hamburger when nav is open ── */
  .mobile-toggle.active { pointer-events: none; opacity: 0; }

  /* ── Overlay ── */
  .mobile-nav-overlay {
    display: block;
    position: fixed; inset: 0;
    background: rgba(0,0,0,0);
    z-index: 999;
    pointer-events: none;
    transition: background 0.4s, backdrop-filter 0.4s;
    backdrop-filter: blur(0px);
  }
  .mobile-nav-overlay.active {
    background: rgba(0,0,0,0.6);
    pointer-events: auto;
    backdrop-filter: blur(4px);
  }

  /* ── Panel ── */
  .main-nav {
    position: fixed; top: 0; right: -100%;
    width: 82%; max-width: 360px;
    height: 100vh; height: 100dvh;
    background: linear-gradient(180deg, #2C1D12 0%, #1A120B 40%, #110C07 100%);
    flex-direction: column;
    padding: 0;
    transition: right 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    box-shadow: -8px 0 40px rgba(0,0,0,0.5);
    z-index: 1000;
    display: flex;
  }
  .main-nav.open { right: 0; }
  .main-nav > *:not(.mobile-nav-header):not(.mobile-nav-scroll) { display: none; }

  /* ── Panel Header ── */
  .mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    flex-shrink: 0;
  }
  .mobile-nav-logo { height: 34px; width: auto; object-fit: contain; filter: brightness(1.1); }
  .mobile-nav-close {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.7);
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    flex-shrink: 0;
  }
  .mobile-nav-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

  /* ── Scrollable Content ── */
  .mobile-nav-scroll {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .mobile-nav-scroll::-webkit-scrollbar { display: none; }

  /* ── Nav List ── */
  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 6px 0;
  }

  .nav-list li {
    opacity: 0;
    transform: translateX(16px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .main-nav.open .nav-list li { opacity: 1; transform: translateX(0); }
  .main-nav.open .nav-list li:nth-child(1) { transition-delay: 0.05s; }
  .main-nav.open .nav-list li:nth-child(2) { transition-delay: 0.08s; }
  .main-nav.open .nav-list li:nth-child(3) { transition-delay: 0.11s; }
  .main-nav.open .nav-list li:nth-child(4) { transition-delay: 0.14s; }
  .main-nav.open .nav-list li:nth-child(5) { transition-delay: 0.17s; }
  .main-nav.open .nav-list li:nth-child(6) { transition-delay: 0.20s; }
  .main-nav.open .nav-list li:nth-child(7) { transition-delay: 0.23s; }
  .main-nav.open .nav-list li:nth-child(8) { transition-delay: 0.26s; }
  .main-nav.open .nav-list li:nth-child(9) { transition-delay: 0.29s; }
  .main-nav.open .nav-list li:nth-child(10) { transition-delay: 0.32s; }

  .nav-link {
    font-family: var(--accent);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.75);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: all 0.2s;
    position: relative;
    margin: 0;
    border-radius: 0;
  }

  .nav-link::after {
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 12px;
    color: rgba(255,255,255,0.15);
    transition: all 0.2s;
    flex-shrink: 0;
  }

  .nav-link:hover,
  .nav-link:active {
    background: rgba(255,255,255,0.06);
    color: var(--white);
  }
  .nav-link:hover::after { color: rgba(255,255,255,0.4); }

  .nav-link.active {
    color: var(--white);
    background: rgba(155,80,35,0.1);
  }
  .nav-link.active::after { color: var(--gold); }

  .nav-link:active { transform: scale(0.99); }

  .nav-icon { display: none; }

  /* ── CTA Buttons ── */
  .mobile-nav-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    border-top: 1px solid rgba(255,255,255,0.08);
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.35s;
  }
  .main-nav.open .mobile-nav-actions { opacity: 1; transform: translateY(0); }

  .mobile-nav-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    color: var(--white);
    border-radius: 10px;
    font-family: var(--accent);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 16px rgba(155,80,35,0.35);
  }
  .mobile-nav-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(155,80,35,0.5); }
  .mobile-nav-cta:active { transform: scale(0.97); }
  .mobile-nav-cta i { font-size: 13px; }

  .mobile-nav-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 24px;
    background: rgba(37,211,102,0.12);
    color: #25D366;
    border: 1.5px solid rgba(37,211,102,0.25);
    border-radius: 10px;
    font-family: var(--accent);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
  }
  .mobile-nav-whatsapp:hover { background: rgba(37,211,102,0.2); border-color: rgba(37,211,102,0.4); }
  .mobile-nav-whatsapp:active { transform: scale(0.97); }
  .mobile-nav-whatsapp i { font-size: 16px; }

  /* ── Social Icons ── */
  .mobile-nav-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 20px;
    border-top: 1px solid rgba(255,255,255,0.06);
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.40s;
  }
  .main-nav.open .mobile-nav-social { opacity: 1; transform: translateY(0); }

  .mobile-nav-social a {
    width: 40px; height: 40px;
    border-radius: 10px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: all 0.25s;
    text-decoration: none;
  }
  .mobile-nav-social a:hover { transform: translateY(-2px); }
  .mobile-nav-social a:active { transform: scale(0.9); }
  .mobile-nav-social a[aria-label="Facebook"]:hover { background: rgba(59,89,152,0.25); color: #8faad7; }
  .mobile-nav-social a[aria-label="Instagram"]:hover { background: rgba(225,48,108,0.2); color: #f06292; }
  .mobile-nav-social a[aria-label="YouTube"]:hover { background: rgba(255,0,0,0.15); color: #ef5350; }
  .mobile-nav-social a[aria-label="TikTok"]:hover { background: rgba(255,255,255,0.12); color: #fff; }
  .mobile-nav-social a[aria-label="TripAdvisor"]:hover { background: rgba(52,211,153,0.2); color: #6ee7b7; }

  /* ── Contact Info ── */
  .mobile-nav-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 20px 24px;
    border-top: 1px solid rgba(255,255,255,0.06);
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.45s;
  }
  .main-nav.open .mobile-nav-contact { opacity: 1; transform: translateY(0); }

  .mobile-nav-contact a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    text-decoration: none;
    padding: 4px 0;
    transition: color 0.2s;
  }
  .mobile-nav-contact a i { font-size: 11px; color: rgba(255,255,255,0.2); width: 16px; text-align: center; }
  .mobile-nav-contact a:hover { color: rgba(255,255,255,0.8); }
  .mobile-nav-contact a:hover i { color: var(--gold); }

  /* ── Desktop CTA — hidden on mobile ── */
  .nav-actions { display: none; }

  /* ── Group Departures — visible on mobile only ── */
  .nav-item-mobile-only { display: block; }

}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .why-grid { grid-template-columns: repeat(2,1fr); }
  .package-grid { grid-template-columns: 1fr 1fr; }
  .promise-grid { grid-template-columns: 1fr 1fr; }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about-grid { gap: 40px; }
  .finder-form { grid-template-columns: 1fr 1fr; }
  .btn-finder { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  :root { --nav-h: 70px; }
  .section-padding { padding: 48px 0; }

  .mobile-toggle { display: flex; }

  .hero-content { bottom: 12%; }
  .hero-title { font-size: 30px; }
  .hero-text { font-size: 15px; }
  .hero-dots { bottom: 3%; }

  .trip-finder { margin-top: -24px; }
  .finder-card { padding: 24px; }
  .finder-header h2 { font-size: 18px; }
  .finder-form { grid-template-columns: 1fr; }

  .experience-grid { grid-template-columns: 1fr; }
  .experience-card { height: 300px; }

  .about-grid { grid-template-columns: 1fr; }
  .about-images { min-height: 300px; }
  .about-img-main { height: 260px; width: 85%; }
  .about-img-secondary { height: 180px; width: 60%; }
  .about-img-tertiary { display: none; }
  .about-stats { gap: 24px; }

  .why-grid { grid-template-columns: 1fr; }
  .package-grid { grid-template-columns: 1fr; }
  .promise-grid { grid-template-columns: 1fr; }
  .group-links { flex-direction: column; align-items: center; }
  .gallery-grid { grid-template-columns: repeat(2,1fr); grid-auto-rows: 180px; }
  .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 1; }
  .gallery-item:nth-child(4) { grid-column: span 1; }
  .gallery-item:nth-child(7) { grid-column: span 2; }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .stats-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }

  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 24px; }
  .newsletter-input-group { flex-direction: column; }

  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .testimonial-text { font-size: 18px; }
  .sustainability-stats { grid-template-columns: 1fr; gap: 32px; }

  .whatsapp-float { bottom: 16px; right: 16px; width: 44px; height: 44px; font-size: 1.2rem; }
  .back-to-top { bottom: 16px; left: 16px; width: 36px; height: 36px; }
}

@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .section-title { font-size: 26px; }
  .hero-title { font-size: 26px; }
  .hero-actions { flex-direction: column; }
  .hero-content { bottom: 10%; }
  .about-stat-num { font-size: 28px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .about-stats { flex-direction: column; gap: 16px; }
  .cta-title { font-size: 26px; }
  .cta-actions { flex-direction: column; align-items: center; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 130px; }
  .cta { padding: 60px 0; }
}

/* ===== MOBILE PACKAGE CAROUSEL ===== */
@media (max-width: 768px) {
  .package-filters { display: flex; overflow-x: auto; gap: 8px; padding: 10px 0; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .package-filters::-webkit-scrollbar { display: none; }
  .filter-btn { white-space: nowrap; flex-shrink: 0; }
  
  .package-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding: 10px 20px 20px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .package-grid::-webkit-scrollbar { display: none; }
  .package-card { min-width: 78vw; max-width: 80vw; scroll-snap-align: start; flex-shrink: 0; overflow: visible; }
  .package-image { height: 200px; overflow: hidden; }
  .package-body { padding: 16px; }
  .package-title { font-size: 16px; }
  .package-desc { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .package-price { font-size: 20px; }
  .package-link { padding: 5px 12px; font-size: 10px; }
  
  .hero-content { padding: 0 20px; }
  .hero-title { font-size: 28px; }
  .hero-text { font-size: 14px; }
  .trust-flags { gap: 4px; }
  .trust-flag { font-size: 9px; padding: 3px 8px; }
  .finder-card { padding: 20px; }
  .finder-form { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-form { padding: 20px; }
  .section-title { font-size: 24px; }
  .group-table-wrap { overflow-x: auto; }
}

/* ===== BLOG HERO ===== */
.blog-hero { position: relative; height: 60vh; min-height: 400px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.blog-hero-bg { position: absolute; inset: 0; }
.blog-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.blog-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(26,18,11,0.85), rgba(26,18,11,0.95)); }
.blog-hero-content { position: relative; z-index: 1; text-align: center; padding: 0 20px; max-width: 800px; }
.blog-hero-badge { font-family: var(--accent); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--gold); margin-bottom: 16px; display: block; }
.blog-hero-content h1 { font-family: var(--heading); font-size: 42px; color: var(--white); margin-bottom: 16px; }
.blog-hero-content p { color: rgba(255,255,255,0.9); font-size: 16px; max-width: 600px; margin: 0 auto; }

/* ===== DESTINATIONS HERO ===== */
.dest-hero { position: relative; height: 60vh; min-height: 400px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.dest-hero-bg { position: absolute; inset: 0; }
.dest-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.dest-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(26,18,11,0.85), rgba(26,18,11,0.95)); }
.dest-hero-content { position: relative; z-index: 1; text-align: center; padding: 0 20px; max-width: 800px; }
.dest-hero-badge { font-family: var(--accent); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--gold); margin-bottom: 16px; display: block; }
.dest-hero-content h1 { font-family: var(--heading); font-size: 42px; color: var(--white); margin-bottom: 16px; }
.dest-hero-content p { color: rgba(255,255,255,0.9); font-size: 16px; max-width: 600px; margin: 0 auto; }

/* ===== BLOG GRID ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 20px rgba(0,0,0,.06);transition:all .3s ease;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.blog-card-image{position:relative;height:220px;overflow:hidden;flex-shrink:0}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.08)}
.blog-card-badge{position:absolute;top:1rem;left:1rem;background:#1A120B;color:#fff;padding:.25rem .7rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.blog-card-badge.kilimanjaro{background:#1a6b4a}
.blog-card-badge.safari{background:#b8860b}
.blog-card-badge.travel-tips{background:#3b82f6}
.blog-card-badge.wildlife{background:#8b5cf6}
.blog-card-badge.safari{background:#16a34a}
.blog-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.blog-card-meta{display:flex;align-items:center;gap:.8rem;color:#94a3b8;font-size:.75rem;margin-bottom:.8rem}
.blog-card-meta i{margin-right:.3rem}
.blog-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:#1A120B;line-height:1.35;margin-bottom:.6rem}
.blog-card h3 a{color:inherit;text-decoration:none;transition:color .3s}
.blog-card h3 a:hover{color:#A86028}
.blog-card p{color:#64748b;font-size:.85rem;line-height:1.65;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #f1f5f9}
.blog-card-read{color:#1A120B;font-size:.8rem;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:.4rem;transition:all .3s}
.blog-card-read:hover{color:#A86028;gap:.6rem}
.blog-card-readtime{color:#94a3b8;font-size:.75rem}

/* ===== DESTINATIONS GRID ===== */
.dest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 30px; }
.dest-card { background: var(--white); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: all 0.3s; }
.dest-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.dest-card-img { height: 200px; overflow: hidden; }
.dest-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.dest-card:hover .dest-card-img img { transform: scale(1.04); }
.dest-card-body { padding: 20px; }
.dest-card-title { font-family: var(--heading); font-size: 18px; color: var(--charcoal); margin-bottom: 8px; }
.dest-card-desc { font-size: 14px; color: var(--gray); line-height: 1.6; }
.dest-card-link { display: inline-block; font-family: var(--accent); font-size: 13px; font-weight: 600; color: var(--green); text-decoration: none; margin-top: 12px; }
.dest-card-link:hover { color: var(--gold); }

/* ===== BLOG HERO STATS ===== */
.blog-hero-stats { display: flex; justify-content: center; gap: 40px; margin-top: 30px; }
.blog-hero-stat { text-align: center; }
.blog-hero-stat-num { font-family: var(--heading); font-size: 28px; color: var(--gold); }
.blog-hero-stat-label { font-size: 12px; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 1px; }

/* ===== DEST HERO STATS ===== */
.dest-hero-stats { display: flex; justify-content: center; gap: 40px; margin-top: 30px; }
.dest-hero-stat { text-align: center; }
.dest-hero-stat-num { font-family: var(--heading); font-size: 28px; color: var(--gold); }
.dest-hero-stat-label { font-size: 12px; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 1px; }

/* ===== BLOG FILTERS ===== */
.blog-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 30px; }
.blog-filter-btn { font-family: var(--accent); font-size: 13px; font-weight: 500; padding: 8px 16px; border: 1px solid var(--ivory-dark); background: var(--white); border-radius: 20px; cursor: pointer; transition: all 0.2s; }
.blog-filter-btn:hover { border-color: var(--green); color: var(--green); }
.blog-filter-btn.active { background: var(--green); color: var(--white); border-color: var(--green); }

/* ===== DEST CARDS ===== */
.dest-card { background: var(--white); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border: 1px solid var(--ivory-dark); transition: all 0.3s; display: flex; flex-direction: column; }
.dest-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }
.dest-card-img { height: 200px; overflow: hidden; position: relative; }
.dest-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.dest-card:hover .dest-card-img img { transform: scale(1.04); }
.dest-card-badge { position: absolute; top: 12px; left: 12px; font-family: var(--accent); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; background: var(--green); color: var(--white); padding: 3px 8px; border-radius: 3px; }
.dest-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.dest-card-title { font-family: var(--heading); font-size: 18px; color: var(--charcoal); margin-bottom: 8px; line-height: 1.3; }
.dest-card-desc { font-size: 14px; color: var(--gray); line-height: 1.6; flex: 1; }
.dest-card-link { display: inline-block; font-family: var(--accent); font-size: 13px; font-weight: 600; color: var(--green); text-decoration: none; margin-top: 12px; }
.dest-card-link:hover { color: var(--gold); }

/* ===== BLOG CARD (removed duplicate — see above) ===== */

/* ===== DESTINATIONS PAGE STYLES ===== */
/* ===== DESTINATIONS PAGE STYLES ===== */
.dest-hero{position:relative;height:70vh;min-height:500px;display:flex;align-items:center;overflow:hidden}
.dest-hero-bg{position:absolute;inset:0}
.dest-hero-bg img{width:100%;height:100%;object-fit:cover}
.dest-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,18,11,.92) 0%,rgba(26,18,11,.7) 50%,rgba(26,18,11,.4) 100%)}
.dest-hero-content{position:relative;z-index:2;width:100%}
.dest-hero-content .container{max-width:900px}
.dest-hero-badge{display:inline-block;background:rgba(212,168,83,.2);border:1px solid rgba(212,168,83,.4);color:#A86028;padding:.4rem 1.2rem;border-radius:50px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.2rem}
.dest-hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,4.5rem);color:#fff;line-height:1.1;margin-bottom:1.2rem}
.dest-hero-title span{color:#A86028;font-style:italic}
.dest-hero-text{color:rgba(255,255,255,.85);font-size:1.15rem;line-height:1.8;max-width:700px;margin-bottom:2rem}
.dest-hero-stats{display:flex;gap:3rem;flex-wrap:wrap}
.dest-hero-stat{display:flex;flex-direction:column;border-left:2px solid rgba(212,168,83,.4);padding-left:1.2rem}
.dest-hero-stat-num{font-family:'Playfair Display',serif;font-size:2rem;color:#A86028;font-weight:700}
.dest-hero-stat-label{color:rgba(255,255,255,.6);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}

.dest-intro{padding:5rem 0;background:#fff}
.dest-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.dest-intro-content .section-label{margin-bottom:.5rem}
.dest-intro-content h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.8rem);color:#1A120B;margin-bottom:1.2rem;line-height:1.2}
.dest-intro-content p{color:#475569;font-size:1.05rem;line-height:1.8;margin-bottom:1rem}
.dest-intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.dest-intro-stat{text-align:center;padding:1.5rem;background:#f8fafc;border-radius:12px}
.dest-intro-stat-num{font-family:'Playfair Display',serif;font-size:2rem;color:#1A120B;font-weight:700}
.dest-intro-stat-label{color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.3rem}
.dest-intro-visual{position:relative}
.dest-intro-img-main{border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.dest-intro-img-main img{width:100%;height:450px;object-fit:cover;display:block}
.dest-intro-img-accent{position:absolute;bottom:-30px;left:-30px;width:200px;height:200px;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.2);border:4px solid #fff}
.dest-intro-img-accent img{width:100%;height:100%;object-fit:cover}

.dest-circuit{padding:5rem 0}
.dest-circuit:nth-child(even){background:#f8fafc}
.dest-circuit-header{text-align:center;margin-bottom:3.5rem}
.dest-circuit-header .section-label{margin-bottom:.5rem}
.dest-circuit-header h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:#1A120B;margin-bottom:.8rem}
.dest-circuit-header p{color:#64748b;max-width:650px;margin:0 auto;line-height:1.7}
.dest-circuit-desc{max-width:800px;margin:0 auto 3rem;text-align:center;color:#475569;font-size:1.05rem;line-height:1.8}

.dest-parks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.dest-park-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 25px rgba(0,0,0,.06);transition:all .4s ease;border:1px solid rgba(0,0,0,.04);position:relative}
.dest-park-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,0,0,.12)}
.dest-park-image{position:relative;height:240px;overflow:hidden}
.dest-park-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dest-park-card:hover .dest-park-image img{transform:scale(1.08)}
.dest-park-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%)}
.dest-park-badge{position:absolute;top:1rem;right:1rem;background:rgba(26,18,11,.9);backdrop-filter:blur(8px);color:#fff;padding:.3rem .8rem;border-radius:6px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.dest-park-rating{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.4rem;color:#fff;font-size:.85rem;font-weight:600}
.dest-park-rating i{color:#A86028}
.dest-park-body{padding:1.5rem}
.dest-park-location{display:flex;align-items:center;gap:.4rem;color:#94a3b8;font-size:.75rem;margin-bottom:.6rem}
.dest-park-body h3{font-family:'Playfair Display',serif;font-size:1.25rem;color:#1A120B;margin-bottom:.5rem;line-height:1.3}
.dest-park-body h3 a{color:inherit;text-decoration:none;transition:color .3s}
.dest-park-body h3 a:hover{color:#A86028}
.dest-park-body p{color:#64748b;font-size:.85rem;line-height:1.65;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dest-park-highlights{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.dest-park-highlight{background:#f0fdf4;color:#166534;padding:.2rem .6rem;border-radius:4px;font-size:.7rem;font-weight:500}
.dest-park-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #f1f5f9}
.dest-park-link{color:#1A120B;font-size:.8rem;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:.4rem;transition:all .3s}
.dest-park-link:hover{color:#A86028;gap:.6rem}
.dest-park-size{color:#94a3b8;font-size:.75rem}

.dest-featured{padding:5rem 0;background:linear-gradient(135deg,#1A120B 0%,#1a6b4a 100%);color:#fff;position:relative;overflow:hidden}
.dest-featured::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(212,168,83,.1) 0%,transparent 70%);border-radius:50%}
.dest-featured .container{position:relative;z-index:2}
.dest-featured-header{text-align:center;margin-bottom:3rem}
.dest-featured-header .section-label{color:#A86028;margin-bottom:.5rem}
.dest-featured-header h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:.8rem}
.dest-featured-header p{color:rgba(255,255,255,.7);max-width:600px;margin:0 auto;line-height:1.7}
.dest-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.dest-featured-card{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-decoration:none;color:#fff;transition:all .3s}
.dest-featured-card:hover{background:rgba(255,255,255,.15);transform:translateY(-4px)}
.dest-featured-card i{font-size:2rem;color:#A86028;margin-bottom:1rem;display:block}
.dest-featured-card h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:.5rem}
.dest-featured-card p{color:rgba(255,255,255,.7);font-size:.85rem;line-height:1.6}

.dest-cta{padding:5rem 0;background:#f8fafc;text-align:center}
.dest-cta h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:#1A120B;margin-bottom:.8rem}
.dest-cta p{color:#64748b;max-width:600px;margin:0 auto 2rem;line-height:1.7}
.dest-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.dest-map-section{padding:5rem 0;background:#fff}
.dest-map-section h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:#1A120B;text-align:center;margin-bottom:1rem}
.dest-map-section>p{color:#64748b;max-width:600px;margin:0 auto 3rem;text-align:center;line-height:1.7}
.dest-map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.dest-map-item{background:#f8fafc;border-radius:12px;padding:1.5rem;text-align:center;border:2px solid transparent;transition:all .3s}
.dest-map-item:hover{border-color:#1A120B;background:#f0fdf4}
.dest-map-item i{font-size:1.5rem;color:#1A120B;margin-bottom:.5rem}
.dest-map-item h4{font-size:.9rem;color:#1A120B;margin-bottom:.2rem}
.dest-map-item span{color:#64748b;font-size:.75rem}

@media(max-width:1024px){
  .dest-intro-grid{grid-template-columns:1fr}
  .dest-parks-grid{grid-template-columns:repeat(2,1fr)}
  .dest-featured-grid{grid-template-columns:repeat(2,1fr)}
  .dest-map-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .dest-hero{height:60vh;min-height:400px}
  .dest-hero-stats{gap:1.5rem}
  .dest-parks-grid{grid-template-columns:1fr}
  .dest-featured-grid{grid-template-columns:1fr}
  .dest-map-grid{grid-template-columns:repeat(2,1fr)}
  .dest-intro-img-accent{display:none}
}

/* ===== BLOG PAGE STYLES ===== */
/* ===== BLOG LISTING STYLES ===== */
.blog-hero{position:relative;height:60vh;min-height:450px;display:flex;align-items:flex-end;overflow:hidden}
.blog-hero-bg{position:absolute;inset:0}
.blog-hero-bg img{width:100%;height:100%;object-fit:cover}
.blog-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,18,11,.95) 0%,rgba(26,18,11,.6) 40%,rgba(26,18,11,.2) 100%)}
.blog-hero-content{position:relative;z-index:2;width:100%;padding:3rem 2rem 4rem}
.blog-hero-content .container{max-width:800px}
.blog-hero-badge{display:inline-block;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:.4rem 1.2rem;border-radius:50px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}
.blog-hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.8rem);color:#fff;line-height:1.15;margin-bottom:1rem}
.blog-hero-title span{color:#A86028}
.blog-hero-text{color:rgba(255,255,255,.85);font-size:1.1rem;line-height:1.7;max-width:600px}
.blog-hero-stats{display:flex;gap:2.5rem;margin-top:1.5rem}
.blog-hero-stat{display:flex;flex-direction:column}
.blog-hero-stat-num{font-family:'Playfair Display',serif;font-size:1.8rem;color:#A86028;font-weight:700}
.blog-hero-stat-label{color:rgba(255,255,255,.7);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}

.blog-filters{padding:2rem 0;border-bottom:1px solid rgba(0,0,0,.08)}
.blog-filters-inner{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}
.blog-filter-btn{background:transparent;border:2px solid #e5e7eb;color:#64748b;padding:.6rem 1.5rem;border-radius:50px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:'Outfit',sans-serif}
.blog-filter-btn:hover{border-color:#1A120B;color:#1A120B}
.blog-filter-btn.active{background:#1A120B;border-color:#1A120B;color:#fff}

.blog-section{padding:4rem 0}
.blog-section-header{text-align:center;margin-bottom:3rem}
.blog-section-header .section-label{margin-bottom:.5rem}
.blog-section-header h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:#1A120B;margin-bottom:.8rem}
.blog-section-header p{color:#64748b;max-width:600px;margin:0 auto;line-height:1.7}

.blog-featured{padding:4rem 0;background:#f8fafc}
.blog-featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch}
.blog-featured-main{position:relative;border-radius:16px;overflow:hidden;min-height:450px;display:flex;align-items:flex-end}
.blog-featured-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.blog-featured-main:hover img{transform:scale(1.05)}
.blog-featured-main-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.1) 60%)}
.blog-featured-main-content{position:relative;z-index:2;padding:2rem}
.blog-featured-main-badge{display:inline-block;background:#A86028;color:#1A120B;padding:.3rem .8rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8rem}
.blog-featured-main h3{font-family:'Playfair Display',serif;font-size:1.8rem;color:#fff;line-height:1.3;margin-bottom:.6rem}
.blog-featured-main p{color:rgba(255,255,255,.8);font-size:.9rem;line-height:1.6;margin-bottom:1rem}
.blog-featured-main-meta{display:flex;align-items:center;gap:1rem;color:rgba(255,255,255,.6);font-size:.8rem}
.blog-featured-main-meta i{margin-right:.3rem}

.blog-featured-side{display:flex;flex-direction:column;gap:1.5rem}
.blog-featured-card{position:relative;border-radius:12px;overflow:hidden;flex:1;display:flex;align-items:flex-end;min-height:200px}
.blog-featured-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.blog-featured-card:hover img{transform:scale(1.05)}
.blog-featured-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.05) 70%)}
.blog-featured-card-content{position:relative;z-index:2;padding:1.5rem}
.blog-featured-card-badge{display:inline-block;background:#A86028;color:#1A120B;padding:.2rem .6rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.blog-featured-card h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:#fff;line-height:1.3;margin-bottom:.4rem}
.blog-featured-card p{color:rgba(255,255,255,.75);font-size:.8rem;line-height:1.5}
.blog-featured-card-meta{display:flex;align-items:center;gap:.8rem;color:rgba(255,255,255,.5);font-size:.75rem;margin-top:.5rem}

.blog-load-more{text-align:center;padding:2rem 0 4rem}
.blog-load-more .btn{min-width:200px}

.blog-categories{padding:4rem 0;background:#1A120B}
.blog-categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.blog-category-card{position:relative;border-radius:12px;overflow:hidden;height:200px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.blog-category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;transition:transform .6s ease}
.blog-category-card:hover img{transform:scale(1.05)}
.blog-category-card-content{position:relative;z-index:2;text-align:center;color:#fff}
.blog-category-card-content i{font-size:2rem;margin-bottom:.8rem;display:block;color:#A86028}
.blog-category-card-content h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:.3rem}
.blog-category-card-content p{color:rgba(255,255,255,.7);font-size:.85rem}

.blog-newsletter{padding:4rem 0;background:#f8fafc;text-align:center}
.blog-newsletter h2{font-family:'Playfair Display',serif;font-size:2rem;color:#1A120B;margin-bottom:.6rem}
.blog-newsletter p{color:#64748b;margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}
.blog-newsletter-form{display:flex;gap:.8rem;max-width:450px;margin:0 auto}
.blog-newsletter-form input{flex:1;padding:.8rem 1.2rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:'Outfit',sans-serif;outline:none;transition:border-color .3s}
.blog-newsletter-form input:focus{border-color:#1A120B}
.blog-newsletter-form button{padding:.8rem 1.5rem;background:#1A120B;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s;font-family:'Outfit',sans-serif}
.blog-newsletter-form button:hover{background:#1a6b4a}

/* ===== RESPONSIVE BLOG ===== */
@media(max-width:1024px){
  .blog-featured-grid{grid-template-columns:1fr}
  .blog-featured-main{min-height:350px}
  .blog-featured-side{flex-direction:row}
  .blog-featured-card{min-height:250px}
}
@media(max-width:768px){
  .blog-hero{height:50vh;min-height:350px}
  .blog-hero-stats{gap:1.5rem}
  .blog-featured-side{flex-direction:column}
  .blog-categories-grid{grid-template-columns:1fr}
  .blog-newsletter-form{flex-direction:column}
}

/* ============================================
   BLOG PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero ── */
.bl-hero {
  position: relative; min-height: 520px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.bl-hero-bg { position: absolute; inset: 0; }
.bl-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.bl-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.bl-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.bl-hero-text { max-width: 580px; }
.bl-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.bl-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.bl-hero-text h1 span { color: var(--gold); }
.bl-hero-text p {
  font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7;
  margin-bottom: 28px;
}
.bl-hero-search {
  display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px; padding: 14px 20px; backdrop-filter: blur(8px);
  transition: all .3s;
}
.bl-hero-search:focus-within { border-color: var(--gold); background: rgba(255,255,255,.12); }
.bl-hero-search i { color: var(--gold); font-size: 16px; }
.bl-hero-search input {
  flex: 1; background: none; border: none; outline: none;
  color: var(--white); font-family: var(--body); font-size: 15px;
}
.bl-hero-search input::placeholder { color: rgba(255,255,255,.4); }
.bl-hero-stats {
  display: flex; flex-direction: column; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.bl-hero-stat {
  padding: 20px 32px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.bl-hero-stat:last-child { border-bottom: none; }
.bl-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 32px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.bl-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Filters ── */
.bl-filters-wrap {
  background: var(--white); border-bottom: 1px solid var(--ivory-dark);
  padding: 16px 0; position: sticky; top: var(--nav-h); z-index: 50;
}
.bl-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.bl-filter {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--accent); font-size: 13px; font-weight: 500;
  padding: 8px 18px; border: 1.5px solid var(--ivory-dark); border-radius: 8px;
  background: var(--white); color: var(--gray); cursor: pointer;
  transition: all .2s;
}
.bl-filter i { font-size: 12px; }
.bl-filter:hover { border-color: var(--green); color: var(--green); }
.bl-filter.active {
  background: var(--green); color: var(--white); border-color: var(--green);
}
.bl-filter-count {
  background: rgba(0,0,0,.08); padding: 1px 7px; border-radius: 10px;
  font-size: 11px; font-weight: 600;
}
.bl-filter.active .bl-filter-count { background: rgba(255,255,255,.2); }

/* ── Section Headers ── */
.bl-section { padding: 64px 0; }
.bl-section--alt { background: var(--ivory); }
.bl-section-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 36px; padding-bottom: 24px;
  border-bottom: 1px solid var(--ivory-dark);
}
.bl-section-head-left { display: flex; align-items: flex-start; gap: 16px; }
.bl-section-icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--green); color: var(--white);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0; margin-top: 2px;
}
.bl-section-tag {
  display: inline-block; font-family: var(--accent); font-size: 10px;
  font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--gold); margin-bottom: 4px;
}
.bl-section-head h2 {
  font-family: var(--heading); font-size: clamp(22px,2.5vw,30px);
  color: var(--charcoal); margin-bottom: 4px;
}
.bl-section-head p {
  font-size: 14px; color: var(--gray); line-height: 1.6; margin: 0;
}
.bl-section-more {
  font-family: var(--accent); font-size: 13px; font-weight: 600;
  color: var(--green); display: inline-flex; align-items: center; gap: 6px;
  white-space: nowrap; transition: all .2s;
}
.bl-section-more:hover { color: var(--gold); gap: 10px; }

/* ── Browse Categories ── */
.bl-browse { padding: 64px 0; background: var(--green); }
.bl-browse-head { text-align: center; margin-bottom: 40px; }
.bl-browse-head .section-label { color: var(--gold); }
.bl-browse-head h2 { color: var(--white); }
.bl-browse-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;
}
.bl-browse-card {
  position: relative; border-radius: 14px; overflow: hidden;
  height: 200px; display: flex; align-items: flex-end;
  text-decoration: none; transition: transform .3s;
}
.bl-browse-card:hover { transform: translateY(-4px); }
.bl-browse-card img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; transition: transform .5s;
}
.bl-browse-card:hover img { transform: scale(1.06); }
.bl-browse-card-content {
  position: relative; z-index: 2; width: 100%;
  padding: 20px; background: linear-gradient(to top, rgba(0,0,0,.8) 0%, transparent 100%);
}
.bl-browse-card-content i {
  font-size: 20px; color: var(--accent, var(--gold)); margin-bottom: 6px; display: block;
}
.bl-browse-card-content h3 {
  font-family: var(--heading); font-size: 18px; color: var(--white); margin-bottom: 2px;
}
.bl-browse-card-content span {
  font-size: 12px; color: rgba(255,255,255,.6);
}

/* ── Newsletter ── */
.bl-newsletter { padding: 64px 0; background: var(--ivory); }
.bl-newsletter-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 40px; background: var(--white); border-radius: 16px;
  padding: 48px; box-shadow: 0 4px 24px rgba(0,0,0,.04);
  border: 1px solid var(--ivory-dark);
}
.bl-newsletter-text i {
  font-size: 28px; color: var(--gold); margin-bottom: 12px; display: block;
}
.bl-newsletter-text h2 {
  font-family: var(--heading); font-size: 24px; color: var(--charcoal); margin-bottom: 6px;
}
.bl-newsletter-text p { font-size: 14px; color: var(--gray); margin: 0; }
.bl-newsletter-form {
  display: flex; gap: 8px; flex-shrink: 0;
}
.bl-newsletter-form input {
  padding: 14px 18px; border: 1.5px solid var(--ivory-dark); border-radius: 8px;
  font-family: var(--body); font-size: 14px; width: 280px; transition: border-color .2s;
}
.bl-newsletter-form input:focus { outline: none; border-color: var(--green); }
.bl-newsletter-form button {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 24px; background: var(--green); color: var(--white);
  border: none; border-radius: 8px; font-family: var(--accent); font-size: 13px;
  font-weight: 700; cursor: pointer; transition: all .3s; text-transform: uppercase;
  letter-spacing: .5px; white-space: nowrap;
}
.bl-newsletter-form button:hover { background: var(--green-light); transform: translateY(-1px); }

/* ── Blog Grid (override) ── */
.bl-section .blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}
.bl-section .blog-grid > * {
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}
.bl-section .blog-grid:empty::after {
  content: 'No articles found in this category'; display: block;
  grid-column: 1 / -1; text-align: center; padding: 48px 20px;
  color: var(--gray-light); font-size: 15px;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .bl-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .bl-hero-text { max-width: 100%; }
  .bl-hero-search { max-width: 500px; width: 100%; }
  .bl-hero-stats { flex-direction: row; }
  .bl-browse-grid { grid-template-columns: repeat(2,1fr); }
  .bl-section .blog-grid { grid-template-columns: repeat(2,1fr) !important; }
  .bl-section-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 768px) {
  .bl-hero { min-height: 420px; }
  .bl-hero-content { padding: 80px 0 60px; }
  .bl-hero-stats { flex-direction: column; width: 100%; }
  .bl-hero-stat { padding: 14px 20px; }
  .bl-filters { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; padding-bottom: 4px; }
  .bl-filters::-webkit-scrollbar { display: none; }
  .bl-filter { white-space: nowrap; flex-shrink: 0; }
  .bl-section .blog-grid { grid-template-columns: 1fr !important; }
  .bl-browse-grid { grid-template-columns: 1fr 1fr; }
  .bl-newsletter-inner { flex-direction: column; text-align: center; padding: 32px; }
  .bl-newsletter-form { flex-direction: column; width: 100%; }
  .bl-newsletter-form input { width: 100%; }
  .bl-section { padding: 48px 0; }
}
@media (max-width: 480px) {
  .bl-browse-grid { grid-template-columns: 1fr; }
  .bl-hero-badge { font-size: 9px; }
}

/* ============================================
   BOOKING POPUP MODAL — Kilimanjaro Packages
   ============================================ */

.lemosho-inquiry {
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  color: var(--white);
}
.lemosho-inquiry .section-label { color: rgba(255,255,255,.7); }
.lemosho-inquiry .section-title { color: var(--white); }

.inquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}

.inquiry-form-card {
  background: var(--white);
  border-radius: 20px;
  padding: 2.5rem;
  color: var(--charcoal);
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
  border: 1px solid rgba(155,80,35,0.06);
}
.inquiry-form-card h3 {
  font-family: var(--heading);
  font-size: 1.5rem;
  margin-bottom: .5rem;
  color: var(--green);
}
.inquiry-form-card > p {
  color: var(--gray);
  font-size: .9rem;
  margin-bottom: 1.5rem;
}
.inquiry-form-card .booking-form-group { margin-bottom: 1rem; }
.inquiry-form-card .booking-form-group label {
  display: block;
  font-weight: 600;
  font-size: .85rem;
  color: var(--charcoal);
  margin-bottom: .3rem;
}
.inquiry-form-card .booking-form-group label .required { color: #dc2626; }
.inquiry-form-card .booking-form-group input,
.inquiry-form-card .booking-form-group select,
.inquiry-form-card .booking-form-group textarea {
  width: 100%;
  padding: .75rem 1.1rem;
  border: 2px solid rgba(155,80,35,0.08);
  border-radius: 12px;
  font-size: .9rem;
  font-family: var(--body);
  color: var(--charcoal);
  background: rgba(245,233,220,0.2);
  transition: all 0.3s;
}
.inquiry-form-card .booking-form-group input:focus,
.inquiry-form-card .booking-form-group select:focus,
.inquiry-form-card .booking-form-group textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(155,80,35,0.08);
}
.inquiry-form-card .booking-form-group textarea { resize: vertical; min-height: 70px; }
.inquiry-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.inquiry-submit-btn {
  width: 100%;
  padding: 1rem;
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  color: var(--white);
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s;
  font-family: var(--accent);
  margin-top: .3rem;
}
.inquiry-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26,18,11,0.25);
}

.inquiry-or-divider {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: .25rem 0;
  color: rgba(255,255,255,.5);
  font-size: .75rem;
}
.inquiry-or-divider::before,
.inquiry-or-divider::after {
  content: '';
  flex: 1;
  border-top: 1px solid rgba(255,255,255,.2);
}

.inquiry-contact-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 2.5rem;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.inquiry-contact-card h3 {
  font-family: var(--heading);
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: var(--gold);
}
.inquiry-contact-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.inquiry-contact-item:last-child { border-bottom: none; }
.inquiry-contact-item i {
  width: 44px;
  height: 44px;
  background: rgba(155,80,35,.15);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-size: 1rem;
  flex-shrink: 0;
}
.inquiry-contact-item span {
  font-size: .95rem;
  color: rgba(255,255,255,.9);
}

.inquiry-booking-card {
  background: var(--white);
  border-radius: 16px;
  padding: 2.5rem;
  color: var(--charcoal);
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.inquiry-booking-card h3 {
  font-family: var(--heading);
  font-size: 1.5rem;
  margin-bottom: .5rem;
  color: var(--green);
}
.inquiry-booking-card p {
  color: var(--gray);
  font-size: .9rem;
  margin-bottom: 1.5rem;
}

.inquiry-cancellation-badge {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  padding: .8rem 1rem;
  margin-bottom: 1.5rem;
  font-size: .85rem;
  color: #166534;
  font-weight: 500;
}
.inquiry-cancellation-badge i {
  color: #16a34a;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.btn-book-now {
  display: block;
  width: 100%;
  padding: 1.1rem 2rem;
  background: linear-gradient(135deg, var(--gold) 0%, #B8652F 50%, var(--gold-dark) 100%);
  color: var(--white);
  border: none;
  border-radius: 14px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .4s ease;
  font-family: var(--accent);
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 20px rgba(155,80,35,0.3);
}
.btn-book-now:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(155,80,35,0.45);
}
.btn-book-now i { margin-right: .5rem; }

.btn-inquiry {
  display: block;
  width: 100%;
  padding: .9rem 2rem;
  background: transparent;
  color: var(--green);
  border: 2px solid var(--green);
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  font-family: var(--accent);
  margin-top: .8rem;
  text-align: center;
}
.btn-inquiry:hover {
  background: var(--green);
  color: var(--white);
}

/* Booking Modal */
.booking-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  backdrop-filter: blur(4px);
}
.booking-modal-overlay.active {
  display: flex;
}

.booking-modal {
  background: var(--white);
  border-radius: 20px;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 25px 80px rgba(0,0,0,.3);
  animation: modalSlideUp .3s ease;
}

@keyframes modalSlideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.booking-modal-header {
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  color: var(--white);
  padding: 2rem 2rem 1.5rem;
  border-radius: 20px 20px 0 0;
  position: relative;
}
.booking-modal-header h2 {
  font-family: var(--heading);
  font-size: 1.6rem;
  margin-bottom: .3rem;
}
.booking-modal-header p {
  color: rgba(255,255,255,.8);
  font-size: .9rem;
}
.booking-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.15);
  border: none;
  border-radius: 50%;
  color: var(--white);
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}
.booking-modal-close:hover { background: rgba(255,255,255,.3); }

.booking-modal-body {
  padding: 2rem;
}

.booking-form-group {
  margin-bottom: 1.2rem;
}
.booking-form-group label {
  display: block;
  font-weight: 600;
  font-size: .85rem;
  color: var(--charcoal);
  margin-bottom: .4rem;
}
.booking-form-group label .required {
  color: #dc2626;
}
.booking-form-group input,
.booking-form-group select,
.booking-form-group textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: .95rem;
  font-family: var(--body);
  color: var(--charcoal);
  transition: border-color .2s;
  background: #fafafa;
}
.booking-form-group input:focus,
.booking-form-group select:focus,
.booking-form-group textarea:focus {
  outline: none;
  border-color: var(--green);
  background: var(--white);
}
.booking-form-group textarea {
  resize: vertical;
  min-height: 80px;
}

.booking-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.booking-cancellation-notice {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  padding: 1rem;
  margin: 1.5rem 0;
  font-size: .82rem;
  color: #166534;
  line-height: 1.5;
}
.booking-cancellation-notice i {
  color: #16a34a;
  font-size: 1rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.booking-form-submit {
  width: 100%;
  padding: 1rem;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color: var(--white);
  border: none;
  border-radius: 12px;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  font-family: var(--accent);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.booking-form-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(155,80,35,.4);
}

.booking-price-calculator {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 2px solid #dee2e6;
  border-radius: 12px;
  padding: 1.2rem;
  margin-bottom: 1.5rem;
}
.booking-price-calculator h4 {
  font-family: var(--heading);
  font-size: 1rem;
  color: var(--green);
  margin-bottom: .8rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.booking-price-calculator h4 i { color: var(--gold); }
.booking-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .4rem 0;
  font-size: .9rem;
  color: var(--charcoal);
}
.booking-price-row span:last-child { font-weight: 600; }
.booking-price-divider {
  border: none;
  border-top: 1px dashed #dee2e6;
  margin: .6rem 0;
}
.booking-price-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .6rem 0 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--green);
}
.booking-price-note {
  font-size: .75rem;
  color: var(--gray);
  margin-top: .4rem;
  font-style: italic;
}

.booking-form-group input[type="number"] {
  -moz-appearance: textfield;
}
.booking-form-group input[type="number"]::-webkit-outer-spin-button,
.booking-form-group input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.booking-form-trip-name {
  display: inline-block;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: .4rem .8rem;
  font-size: .85rem;
  color: #166534;
  font-weight: 600;
  margin-bottom: 1rem;
}

@media(max-width:768px){
  .inquiry-grid{grid-template-columns:1fr}
  .booking-form-row{grid-template-columns:1fr}
  .booking-modal{max-width:100%;border-radius:16px}
  .booking-modal-header{border-radius:16px 16px 0 0;padding:1.5rem}
}

/* ============================================================
   SEARCH RESULTS PAGE
   ============================================================ */

/* Search Hero */
.search-hero {
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  padding: calc(var(--nav-h) + 30px) 0 40px;
  color: var(--white);
}
.search-hero h1 {
  font-family: var(--heading);
  font-size: clamp(26px, 3vw, 38px);
  color: var(--white);
  margin-bottom: 10px;
}
.search-hero p { opacity: 0.85; font-size: 16px; max-width: 600px; }
.search-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.search-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,0.15); backdrop-filter: blur(6px);
  padding: 6px 14px; border-radius: 20px; font-size: 12px;
  font-family: var(--accent); font-weight: 500;
}
.search-chip strong { color: var(--gold-light); font-weight: 600; }

/* Search Refine Bar */
.search-refine {
  background: var(--white);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding: 14px 0;
  position: sticky; top: var(--nav-h); z-index: 50;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.search-filter-bar {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: end;
}
.search-filter-field {
  flex: 1; min-width: 160px; position: relative;
}
.search-filter-field > span {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: #999; margin-bottom: 5px;
}
.search-filter-field > span i,
.search-filter-field > span .material-symbols-outlined { font-size: 12px; color: var(--gold); }
.search-filter-field input,
.search-filter-field select {
  width: 100%; padding: 10px 14px; font-family: var(--body); font-size: 13px;
  color: var(--charcoal); background: var(--ivory); border: 1.5px solid transparent;
  border-radius: 6px; cursor: pointer; appearance: none; transition: all 0.2s;
}
.search-filter-field input:focus,
.search-filter-field select:focus { outline: none; border-color: var(--gold); }
.search-filter-bar .btn { white-space: nowrap; height: 40px; padding: 0 24px; }

/* Search Results Section */
.search-section { padding: 50px 0; }
.search-section--alt { background: var(--ivory); }
.search-section-head { margin-bottom: 32px; }
.search-section-head h2 {
  font-family: var(--heading); font-size: 26px; color: var(--green); margin-bottom: 6px;
}
.search-section-head p { color: var(--gray); font-size: 15px; }
.search-eyebrow {
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold); margin-bottom: 8px;
}

/* Search Result Cards Grid */
.search-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px;
}

/* Search Result Card */
.search-card {
  background: var(--white); border-radius: 14px; overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06); border: 1px solid rgba(0,0,0,0.04);
  transition: all 0.35s ease; display: flex; flex-direction: column;
}
.search-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.12); transform: translateY(-4px);
}
.search-card-media {
  position: relative; height: 220px; overflow: hidden;
}
.search-card-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s ease;
}
.search-card:hover .search-card-media img { transform: scale(1.06); }
.search-card-badge {
  position: absolute; top: 14px; left: 14px;
  background: var(--green); color: var(--white);
  font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  padding: 5px 12px; border-radius: 20px;
}
.search-card-duration {
  position: absolute; top: 14px; right: 14px;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(6px);
  color: var(--green); font-family: var(--accent); font-size: 11px; font-weight: 700;
  padding: 5px 12px; border-radius: 20px;
  display: flex; align-items: center; gap: 4px;
}
.search-card-content { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.search-card-match {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  color: var(--green); background: #e8f5e9; border-radius: 4px;
  padding: 3px 8px; margin-bottom: 10px; width: fit-content;
}
.search-card-content h3 {
  font-family: var(--heading); font-size: 18px; color: var(--charcoal);
  margin-bottom: 10px; line-height: 1.3;
}
.search-card-content h3 a { color: inherit; text-decoration: none; transition: color 0.2s; }
.search-card-content h3 a:hover { color: var(--gold); }
.search-card-meta {
  display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px;
  font-size: 12px; color: var(--gray);
}
.search-card-meta span {
  display: flex; align-items: center; gap: 4px;
}
.search-card-meta i { color: var(--gold); font-size: 13px; }
.search-card-desc {
  font-size: 13px; color: var(--gray); line-height: 1.6;
  margin-bottom: 18px; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.search-card-price {
  display: flex; align-items: baseline; gap: 6px; margin-bottom: 16px;
}
.search-card-price .price-label {
  font-family: var(--accent); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gray-light);
}
.search-card-price .price-value {
  font-family: var(--heading); font-size: 22px; font-weight: 700; color: var(--green);
}
.search-card-actions { display: flex; gap: 10px; margin-top: auto; }
.search-card-actions .btn { flex: 1; text-align: center; font-size: 12px; padding: 10px 14px; }
.search-card-actions .btn-outline {
  border: 1.5px solid var(--green); color: var(--green); background: transparent;
}
.search-card-actions .btn-outline:hover { background: var(--green); color: var(--white); }

/* No Results */
.search-no-results {
  text-align: center; padding: 60px 20px;
}
.search-no-results i { font-size: 48px; color: var(--gold); opacity: 0.4; margin-bottom: 16px; }
.search-no-results h3 { font-family: var(--heading); font-size: 22px; color: var(--charcoal); margin-bottom: 8px; }
.search-no-results p { color: var(--gray); font-size: 15px; margin-bottom: 24px; }
.search-no-results strong { color: var(--green); }
.search-no-results-suggestions {
  background: var(--ivory); border-radius: 10px; padding: 20px 28px;
  margin: 0 auto 24px; max-width: 460px; text-align: left;
}
.search-no-results-suggestions p { margin-bottom: 10px; font-weight: 600; color: var(--charcoal); font-size: 14px; }
.search-no-results-suggestions ul { list-style: none; padding: 0; margin: 0; }
.search-no-results-suggestions li {
  padding: 5px 0; font-size: 13px; color: var(--gray);
  padding-left: 18px; position: relative;
}
.search-no-results-suggestions li::before {
  content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
  position: absolute; left: 0; color: var(--gold); font-size: 11px; top: 7px;
}

/* Search Planner CTA */
.search-planner {
  background: linear-gradient(135deg, var(--green) 0%, var(--green-light) 100%);
  padding: 50px 0; color: var(--white);
}
.search-planner h2 { font-family: var(--heading); font-size: 26px; color: var(--white); margin-bottom: 10px; }
.search-planner p { opacity: 0.85; font-size: 15px; max-width: 560px; margin-bottom: 24px; }
.search-planner-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.search-planner-actions .btn {
  padding: 12px 28px; font-size: 13px; border-radius: 6px;
}
.search-planner-actions .btn-white { background: var(--white); color: var(--green); }
.search-planner-actions .btn-white:hover { background: var(--ivory); }
.search-planner-actions .btn-outline-white {
  border: 1.5px solid rgba(255,255,255,0.4); color: var(--white); background: transparent;
}
.search-planner-actions .btn-outline-white:hover { background: rgba(255,255,255,0.1); }

/* Search Responsive */
@media (max-width: 1024px) {
  .search-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
  .search-filter-bar { gap: 10px; }
}
@media (max-width: 768px) {
  .search-hero { padding: calc(var(--nav-h) + 20px) 0 30px; }
  .search-refine { padding: 12px 0; }
  .search-filter-bar { flex-direction: column; }
  .search-filter-field { min-width: 100%; }
  .search-grid { grid-template-columns: 1fr; }
  .search-card-media { height: 200px; }
  .search-planner-actions { flex-direction: column; }
  .search-planner-actions .btn { width: 100%; }
}

/* ============================================================
   INDIVIDUAL DESTINATION PAGES (destinations/*.php)
   ============================================================ */

/* ── Park Hero (Premium) ── */
.park-hero {
  position: relative; min-height: 75vh;
  display: flex; align-items: flex-end;
  overflow: hidden; background: #110C07;
}
.park-hero-bg { position: absolute; inset: 0; }
.park-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.05);
  animation: parkHeroZoom 20s ease-in-out infinite alternate;
}
@keyframes parkHeroZoom {
  0% { transform: scale(1.05); }
  100% { transform: scale(1.12); }
}
.park-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(17,12,7,0.25) 0%, rgba(17,12,7,0.05) 30%, rgba(17,12,7,0.5) 65%, rgba(17,12,7,0.96) 100%),
    linear-gradient(to right, rgba(17,12,7,0.85) 0%, rgba(17,12,7,0.4) 50%, transparent 100%);
}
.park-hero-content {
  position: relative; z-index: 2; width: 100%;
  padding: 0 clamp(16px,4vw,40px) 64px;
  max-width: var(--container); margin: 0 auto;
  animation: parkHeroFadeUp 1s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes parkHeroFadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: translateY(0); }
}
.park-hero-badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2.5px; color: var(--gold);
  background: rgba(155,80,35,0.12); border: 1px solid rgba(155,80,35,0.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.park-hero-title {
  font-family: var(--heading); font-size: clamp(34px,5vw,60px);
  font-weight: 700; color: #fff; line-height: 1.06;
  margin-bottom: 18px; max-width: 700px;
  text-shadow: 0 2px 30px rgba(0,0,0,0.1);
}
.park-hero-title span { color: var(--gold); font-style: italic; }
.park-hero-text {
  font-size: clamp(14px,1.4vw,17px); color: rgba(255,255,255,0.6);
  max-width: 620px; line-height: 1.75; margin-bottom: 32px; font-weight: 300;
}
.park-hero-stats {
  display: inline-flex; gap: 0;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.park-hero-stat {
  padding: 20px 28px; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
}
.park-hero-stat:hover { background: rgba(255,255,255,0.04); }
.park-hero-stat:last-child { border-right: none; }
.park-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 20px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
  margin-bottom: 4px;
}
.park-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 9px;
  font-weight: 500; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,0.4);
}

/* ── Park Section ── */
.park-section {
  padding: 64px 0;
}
.park-section:nth-child(even) {
  background: var(--ivory);
}
.park-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.park-section-header h2 {
  font-family: var(--heading);
  font-size: clamp(24px, 3vw, 36px);
  color: var(--green);
  margin-bottom: 12px;
}
.park-section-header p {
  font-size: 16px;
  color: var(--gray);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ── Park Grid (feature cards) ── */
.park-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.park-card {
  background: var(--white);
  border-radius: 14px;
  padding: 36px 28px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.04);
  transition: all 0.35s ease;
}
.park-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.1);
}
.park-card i {
  font-size: 32px;
  color: var(--gold);
  margin-bottom: 16px;
  display: block;
}
.park-card h3 {
  font-family: var(--heading);
  font-size: 20px;
  color: var(--green);
  margin-bottom: 10px;
}
.park-card p {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.6;
}

/* ── Park Content (article body) ── */
.park-content {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.park-content h2 {
  font-family: var(--heading);
  font-size: 26px;
  color: var(--green);
  margin: 40px 0 16px;
  padding-top: 16px;
  border-top: 1px solid var(--ivory-dark);
}
.park-content h2:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}
.park-content p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--charcoal);
  margin-bottom: 18px;
}
.park-content ul {
  margin: 16px 0 24px;
  padding-left: 0;
}
.park-content ul li {
  position: relative;
  padding: 10px 0 10px 28px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--charcoal);
  border-bottom: 1px solid var(--ivory-dark);
}
.park-content ul li:last-child {
  border-bottom: none;
}
.park-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 8px;
  height: 8px;
  background: var(--gold);
  border-radius: 50%;
}

/* ── Highlight Box (tip callout) ── */
.highlight-box {
  background: linear-gradient(135deg, #f0fdf4, #e8f5e9);
  border-left: 4px solid var(--gold);
  border-radius: 0 12px 12px 0;
  padding: 28px 32px;
  margin: 32px 0;
}
.highlight-box h3 {
  font-family: var(--heading);
  font-size: 18px;
  color: var(--green);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.highlight-box h3::before {
  content: '\f0eb';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: var(--gold);
}
.highlight-box p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--charcoal);
  margin: 0;
}

/* ── Related Destinations ── */
.park-related {
  padding: 64px 0;
  background: var(--ivory);
}
.park-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.park-related-card {
  display: block;
  background: var(--white);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.04);
  transition: all 0.35s ease;
}
.park-related-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.12);
}
.park-related-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.park-related-card:hover img {
  transform: scale(1.05);
}
.park-related-card h3 {
  font-family: var(--heading);
  font-size: 18px;
  color: var(--green);
  margin: 20px 20px 8px;
}
.park-related-card p {
  font-size: 13px;
  color: var(--gray);
  line-height: 1.6;
  margin: 0 20px 20px;
}

/* ── Park Responsive ── */
@media (max-width: 1024px) {
  .park-grid { grid-template-columns: repeat(2, 1fr); }
  .park-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .park-hero { min-height: 60vh; }
  .park-hero-content { padding: 40px clamp(16px,4vw,40px) 40px; }
  .park-hero-stats { flex-wrap: wrap; }
  .park-hero-stat { padding: 14px 20px; flex: 1; min-width: 100px; text-align: center; }
  .park-hero-stat-num { font-size: 18px; }
  .park-hero-stat-label { font-size: 8px; letter-spacing: 1px; }
  .park-grid { grid-template-columns: 1fr; }
  .park-related-grid { grid-template-columns: 1fr; }
  .park-section { padding: 48px 0; }
  .highlight-box { padding: 20px 24px; }
}

/* ============================================
   BLOG POST PAGE — Individual Article Styles
   ============================================ */

/* ── Blog Post Hero ── */
.blog-post-hero {
  position: relative;
  height: 65vh;
  min-height: 420px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.blog-post-hero-bg {
  position: absolute;
  inset: 0;
}
.blog-post-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-post-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,18,11,0.92) 0%, rgba(26,18,11,0.5) 40%, rgba(26,18,11,0.15) 100%);
}
.blog-post-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3rem 2rem 3.5rem;
}
.blog-post-hero-content .container {
  max-width: 800px;
}
.blog-post-badge {
  display: inline-block;
  background: rgba(212,168,83,0.2);
  border: 1px solid rgba(212,168,83,0.4);
  color: #A86028;
  padding: 0.35rem 1rem;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.blog-post-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 1rem;
}
.blog-post-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  color: rgba(255,255,255,0.6);
  font-size: 0.85rem;
}
.blog-post-hero-meta i {
  margin-right: 0.3rem;
  color: #A86028;
}

/* ── Blog Post Content ── */
.blog-post-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 3.5rem 2rem 4rem;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #334155;
}
.blog-post-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  color: #1A120B;
  margin: 2.5rem 0 1rem;
  line-height: 1.3;
}
.blog-post-content h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  color: #1A120B;
  margin: 2rem 0 0.8rem;
  line-height: 1.35;
}
.blog-post-content p {
  margin-bottom: 1.2rem;
}
.blog-post-content ul,
.blog-post-content ol {
  margin: 1rem 0 1.5rem 1.5rem;
  padding: 0;
}
.blog-post-content li {
  margin-bottom: 0.6rem;
  padding-left: 0.3rem;
}
.blog-post-content strong {
  color: #1A120B;
  font-weight: 600;
}
.blog-post-content blockquote {
  margin: 2.5rem 0;
  padding: 2rem 2.5rem;
  background: linear-gradient(135deg, #f0fdf4, #f8fafc);
  border-left: 4px solid #A86028;
  border-radius: 0 12px 12px 0;
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-style: italic;
  color: #1A120B;
  line-height: 1.7;
}
.blog-post-content img {
  width: 100%;
  border-radius: 12px;
  margin: 2rem 0;
}

/* ── Blog Post Author ── */
.blog-post-author {
  max-width: 760px;
  margin: 0 auto 4rem;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, #f8f9fc, #f0f4f8);
  border-radius: 16px;
  border: 1px solid rgba(10,59,46,0.08);
  position: relative;
  overflow: hidden;
}
.blog-post-author::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #C4984A, #0A3B2E);
  border-radius: 4px 0 0 4px;
}
.blog-post-author img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #C4984A;
  box-shadow: 0 4px 16px rgba(196,152,74,0.2);
}
.blog-post-author-name {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 700;
  color: #0A3B2E;
  margin-bottom: 6px;
}
.blog-post-author-role {
  font-size: 14px;
  color: #64748b;
  line-height: 1.6;
}

/* ── Blog Post Related ── */
.blog-post-related {
  padding: 4rem 0;
  background: #f8fafc;
}
.blog-post-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.blog-post-related-card {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.04);
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  transition: all 0.3s ease;
}
.blog-post-related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}
.blog-post-related-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.blog-post-related-card:hover img {
  transform: scale(1.05);
}
.blog-post-related-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: #1A120B;
  padding: 1rem 1.2rem 0.4rem;
  line-height: 1.35;
  margin: 0;
}
.blog-post-related-card p {
  font-size: 0.8rem;
  color: #64748b;
  padding: 0 1.2rem 1.2rem;
  line-height: 1.6;
  margin: 0;
}

/* ── Blog Post Responsive ── */
@media (max-width: 1024px) {
  .blog-post-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .blog-post-hero {
    height: 55vh;
    min-height: 350px;
  }
  .blog-post-hero-title {
    font-size: clamp(1.6rem, 5vw, 2.4rem);
  }
  .blog-post-hero-meta {
    gap: 0.8rem;
    font-size: 0.78rem;
  }
  .blog-post-content {
    padding: 2rem 1.2rem 3rem;
    font-size: 1rem;
  }
  .blog-post-content h2 {
    font-size: 1.35rem;
  }
  .blog-post-content blockquote {
    padding: 1.5rem;
    font-size: 1rem;
  }
  .blog-post-author {
    flex-direction: column;
    text-align: center;
    padding: 1.5rem;
  }
  .blog-post-related-grid {
    grid-template-columns: 1fr;
  }
  .blog-post-related-card img {
    height: 200px;
  }
}

/* ============================================
   ABOUT PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero ── */
.ab-hero {
  position: relative; min-height: 520px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.ab-hero-bg { position: absolute; inset: 0; }
.ab-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.ab-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.ab-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.ab-hero-text { max-width: 600px; }
.ab-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.ab-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.ab-hero-text h1 span { color: var(--gold); }
.ab-hero-text p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.ab-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ab-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.ab-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
}
.ab-hero-stat:nth-child(2n) { border-right: none; }
.ab-hero-stat:nth-child(n+3) { border-bottom: none; }
.ab-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.ab-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Sections ── */
.ab-section { padding: 80px 0; }
.ab-section--alt { background: var(--ivory); }
.ab-section--green { background: var(--green); }
.ab-section-head { text-align: center; margin-bottom: 48px; }
.ab-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.ab-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.ab-section-head--light h2 { color: var(--white); }
.ab-section-head--light p { color: rgba(255,255,255,.65); }
.ab-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.ab-label--gold { color: var(--gold); }

/* ── Grid 2-col ── */
.ab-grid { display: grid; gap: 48px; align-items: center; }
.ab-grid--2 { grid-template-columns: 1fr 1fr; }
.ab-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.ab-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.ab-text-block blockquote {
  border-left: 3px solid var(--gold); padding: 16px 20px; margin: 24px 0;
  background: var(--ivory); border-radius: 0 8px 8px 0;
  font-style: italic; color: var(--charcoal); font-size: 15px; line-height: 1.8;
}
.ab-text-block blockquote cite {
  display: block; font-style: normal; font-weight: 600; color: var(--green);
  margin-top: 8px; font-size: 13px;
}
.ab-image-block { border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.ab-image-block img { width: 100%; height: 420px; object-fit: cover; display: block; }

/* ── Timeline ── */
.ab-timeline { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ab-timeline-item {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; position: relative; transition: all .3s;
}
.ab-timeline-item:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); border-color: var(--gold); }
.ab-timeline-icon {
  width: 48px; height: 48px; background: var(--green); color: var(--white);
  border-radius: 12px; display: flex; align-items: center; justify-content: center;
  font-size: 18px; margin-bottom: 16px;
}
.ab-timeline-year {
  font-family: var(--accent); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--gold); margin-bottom: 4px; display: block;
}
.ab-timeline-content h3 { font-size: 18px; color: var(--charcoal); margin-bottom: 8px; }
.ab-timeline-content p { font-size: 13px; color: var(--gray); line-height: 1.7; margin-bottom: 12px; }
.ab-timeline-place {
  font-family: var(--accent); font-size: 12px; color: var(--green); font-weight: 600;
  display: flex; align-items: center; gap: 6px;
}

/* ── Values Grid ── */
.ab-values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ab-value-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: 28px 24px; transition: all .3s;
}
.ab-value-card:hover { background: rgba(255,255,255,.1); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.ab-value-icon {
  width: 44px; height: 44px; background: rgba(155,80,35,.15); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 18px; margin-bottom: 14px;
}
.ab-value-card h3 { font-size: 17px; color: var(--white); margin-bottom: 8px; }
.ab-value-card p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.7; }

/* ── Promise Grid ── */
.ab-promise-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ab-promise-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; position: relative; transition: all .3s;
}
.ab-promise-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.ab-promise-num {
  font-family: var(--heading); font-size: 48px; font-weight: 700;
  color: rgba(26,18,11,.06); position: absolute; top: 16px; right: 20px; line-height: 1;
}
.ab-promise-card h3 { font-size: 18px; color: var(--charcoal); margin-bottom: 10px; }
.ab-promise-card p { font-size: 14px; color: var(--gray); line-height: 1.7; }

/* ── Fleet Stats ── */
.ab-fleet-stats { display: flex; gap: 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.ab-fleet-stat { text-align: left; }
.ab-fleet-stat-num { display: block; font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); }
.ab-fleet-stat-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }

/* ── Stats Grid ── */
.ab-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.ab-stat-card { text-align: center; }
.ab-stat-num {
  font-family: var(--heading); font-size: clamp(36px,4vw,52px);
  font-weight: 700; color: var(--gold); line-height: 1;
}
.ab-stat-plus {
  font-family: var(--heading); font-size: clamp(24px,3vw,36px);
  font-weight: 700; color: var(--gold); line-height: 1;
}
.ab-stat-label {
  display: block; font-size: 14px; color: rgba(255,255,255,.55);
  margin-top: 8px; letter-spacing: .5px;
}

/* ── Reviews Grid ── */
.ab-reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ab-review-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 28px; display: flex; flex-direction: column; transition: all .3s;
}
.ab-review-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.ab-review-stars { color: #f59e0b; font-size: 14px; margin-bottom: 12px; }
.ab-review-stars i { margin-right: 2px; }
.ab-review-card blockquote {
  font-size: 14px; color: var(--gray); line-height: 1.8; font-style: italic;
  flex: 1; margin-bottom: 16px; border-left: 3px solid var(--gold); padding-left: 16px;
}
.ab-review-author { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--ivory-dark); padding-top: 14px; }
.ab-review-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ivory-dark); }
.ab-review-name { font-weight: 600; font-size: 14px; color: var(--charcoal); }
.ab-review-location { font-size: 12px; color: var(--gray-light); }

/* ── CTA ── */
.ab-cta {
  position: relative; background: var(--green-dark); overflow: hidden; text-align: center; padding: 100px 0;
}
.ab-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.ab-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.ab-cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.ab-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.ab-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.ab-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ab-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .ab-hero-text { max-width: 100%; }
  .ab-hero-actions { justify-content: center; }
  .ab-grid--2 { grid-template-columns: 1fr; }
  .ab-timeline { grid-template-columns: 1fr 1fr; }
  .ab-values-grid { grid-template-columns: 1fr 1fr; }
  .ab-promise-grid { grid-template-columns: 1fr 1fr; }
  .ab-stats-grid { grid-template-columns: 1fr 1fr; }
  .ab-reviews-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .ab-hero { min-height: 420px; }
  .ab-hero-content { padding: 80px 0 60px; }
  .ab-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .ab-hero-stat { padding: 16px 20px; }
  .ab-section { padding: 60px 0; }
  .ab-image-block img { height: 300px; }
  .ab-timeline { grid-template-columns: 1fr; }
  .ab-values-grid { grid-template-columns: 1fr; }
  .ab-promise-grid { grid-template-columns: 1fr; }
  .ab-stats-grid { grid-template-columns: 1fr 1fr; }
  .ab-reviews-grid { grid-template-columns: 1fr; }
  .ab-fleet-stats { flex-direction: column; gap: 16px; }
}

/* ============================================
   DAY TRIPS PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero (Premium) ── */
.dt-hero {
  position: relative; min-height: 520px; display: flex; align-items: center;
  overflow: hidden; background: #110C07;
}
.dt-hero-bg { position: absolute; inset: 0; }
.dt-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.05);
  animation: dtLandingZoom 20s ease-in-out infinite alternate;
}
@keyframes dtLandingZoom {
  0% { transform: scale(1.05); }
  100% { transform: scale(1.12); }
}
.dt-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(17,12,7,0.92) 0%, rgba(26,18,11,0.85) 50%, rgba(17,12,7,0.72) 100%);
}
.dt-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.dt-hero-text { max-width: 580px; }
.dt-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,0.12); border: 1px solid rgba(155,80,35,0.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.dt-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: 16px;
}
.dt-hero-text h1 span { color: var(--gold); }
.dt-hero-text p { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.7; margin-bottom: 28px; }
.dt-hero-search {
  display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px; padding: 14px 20px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: all 0.3s;
}
.dt-hero-search:focus-within { border-color: var(--gold); background: rgba(255,255,255,0.12); }
.dt-hero-search i { color: var(--gold); font-size: 16px; }
.dt-hero-search input {
  flex: 1; background: none; border: none; outline: none;
  color: #fff; font-family: var(--body); font-size: 15px;
}
.dt-hero-search input::placeholder { color: rgba(255,255,255,0.4); }
.dt-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.dt-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  border-right: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
}
.dt-hero-stat:hover { background: rgba(255,255,255,0.04); }
.dt-hero-stat:nth-child(2n) { border-right: none; }
.dt-hero-stat:nth-child(n+3) { border-bottom: none; }
.dt-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.dt-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,0.4); margin-top: 4px;
}

/* ── Sections ── */
.dt-section { padding: 80px 0; }
.dt-section--alt { background: var(--ivory); }
.dt-section--green { background: var(--green); }
.dt-section-head { text-align: center; margin-bottom: 48px; }
.dt-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.dt-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.dt-section-head--light h2 { color: var(--white); }
.dt-section-head--light p { color: rgba(255,255,255,.65); }
.dt-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.dt-label--gold { color: var(--gold); }

/* ── Grid 2-col ── */
.dt-grid { display: grid; gap: 48px; align-items: center; }
.dt-grid--2 { grid-template-columns: 1fr 1fr; }
.dt-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.dt-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.dt-text-stats { display: flex; gap: 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.dt-text-stat-num { display: block; font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); }
.dt-text-stat-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }
.dt-image-block { border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.dt-image-block img { width: 100%; height: 420px; object-fit: cover; display: block; }

/* ── Types Grid ── */
.dt-types-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.dt-type-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 28px 24px; text-align: center; transition: all .3s;
}
.dt-type-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); border-color: transparent; }
.dt-type-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.dt-type-card:hover .dt-type-icon { background: var(--green); color: var(--white); }
.dt-type-card h3 { font-size: 16px; margin-bottom: 8px; }
.dt-type-card p { color: var(--gray); font-size: 13px; line-height: 1.7; margin-bottom: 14px; }
.dt-type-tag {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,.08); padding: 4px 10px; border-radius: 4px;
}

/* ── Moments ── */
.dt-moments-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; text-align: left; }
.dt-moment-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 28px 24px; transition: all .3s;
}
.dt-moment-card:hover { background: rgba(255,255,255,.07); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.dt-moment-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); opacity: .3; margin-bottom: 10px; line-height: 1; }
.dt-moment-card h3 { font-size: 16px; color: var(--white); margin-bottom: 8px; }
.dt-moment-card p { font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.7; }

/* ── Trust ── */
.dt-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.dt-trust-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 24px; text-align: center; transition: all .3s;
}
.dt-trust-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.dt-trust-card > i { font-size: 2rem; color: var(--gold); margin-bottom: 16px; display: block; }
.dt-trust-card h3 { font-size: 17px; margin-bottom: 8px; }
.dt-trust-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ── Stats ── */
.dt-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.dt-stat-card { text-align: center; }
.dt-stat-num { font-family: var(--heading); font-size: clamp(36px,4vw,52px); font-weight: 700; color: var(--gold); line-height: 1; }
.dt-stat-plus { font-family: var(--heading); font-size: clamp(24px,3vw,36px); font-weight: 700; color: var(--gold); }
.dt-stat-label { display: block; font-size: 14px; color: rgba(255,255,255,.55); margin-top: 8px; }

/* ── Safety ── */
.dt-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.dt-safety-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; transition: all .3s;
}
.dt-safety-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.dt-safety-icon {
  display: inline-flex; width: 48px; height: 48px; background: var(--ivory);
  border-radius: 10px; align-items: center; justify-content: center;
  font-size: 1.15rem; color: var(--gold); margin-bottom: 18px; transition: all .3s;
}
.dt-safety-card:hover .dt-safety-icon { background: var(--green); color: var(--white); }
.dt-safety-card h3 { font-size: 17px; margin-bottom: 8px; }
.dt-safety-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ── CTA ── */
.dt-cta {
  position: relative; background: var(--green-dark); overflow: hidden;
  text-align: center; padding: 100px 0;
}
.dt-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.dt-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.dt-cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.dt-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.dt-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.dt-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .dt-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .dt-hero-text { max-width: 100%; }
  .dt-hero-search { max-width: 500px; width: 100%; }
  .dt-grid--2 { grid-template-columns: 1fr; }
  .dt-types-grid { grid-template-columns: repeat(2,1fr); }
  .dt-moments-grid { grid-template-columns: 1fr 1fr; }
  .dt-trust-grid { grid-template-columns: 1fr 1fr; }
  .dt-stats-grid { grid-template-columns: 1fr 1fr; }
  .dt-safety-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .dt-hero { min-height: 420px; }
  .dt-hero-content { padding: 80px 0 60px; }
  .dt-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .dt-hero-stat { padding: 16px 20px; }
  .dt-section { padding: 60px 0; }
  .dt-image-block img { height: 300px; }
  .dt-text-stats { flex-direction: column; gap: 16px; }
  .dt-types-grid { grid-template-columns: 1fr; }
  .dt-moments-grid { grid-template-columns: 1fr; }
  .dt-trust-grid { grid-template-columns: 1fr; }
  .dt-stats-grid { grid-template-columns: 1fr 1fr; }
  .dt-safety-grid { grid-template-columns: 1fr; }
}

/* ============================================
   CONTACT PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero ── */
.ct-hero {
  position: relative; min-height: 480px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.ct-hero-bg { position: absolute; inset: 0; }
.ct-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.ct-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.ct-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.ct-hero-text { max-width: 580px; }
.ct-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.ct-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.ct-hero-text h1 span { color: var(--gold); }
.ct-hero-text p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.ct-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ct-hero-actions .btn-outline { border-color: rgba(255,255,255,.3); color: var(--white); }
.ct-hero-actions .btn-outline:hover { background: #25D366; border-color: #25D366; }
.ct-hero-stats {
  display: flex; flex-direction: column; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.ct-hero-stat {
  padding: 20px 32px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ct-hero-stat:last-child { border-bottom: none; }
.ct-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.ct-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Sections ── */
.ct-section { padding: 80px 0; }
.ct-section--alt { background: var(--ivory); }
.ct-section--green { background: var(--green); }
.ct-section-head { text-align: center; margin-bottom: 48px; }
.ct-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.ct-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.ct-section-head--light h2 { color: var(--white); }
.ct-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.ct-label--gold { color: var(--gold); }

/* ── Info Grid ── */
.ct-info-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.ct-info-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 28px 24px; text-align: center; text-decoration: none;
  transition: all .3s; cursor: pointer;
}
.ct-info-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); border-color: var(--gold); }
.ct-info-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.ct-info-card:hover .ct-info-icon { background: var(--green); color: var(--white); }
.ct-info-card h3 { font-size: 16px; color: var(--charcoal); margin-bottom: 4px; }
.ct-info-card p { font-size: 14px; color: var(--gray); margin-bottom: 12px; line-height: 1.5; }
.ct-info-action {
  font-family: var(--accent); font-size: 12px; font-weight: 600;
  color: var(--green); display: inline-flex; align-items: center; gap: 6px;
}
.ct-info-card:hover .ct-info-action { color: var(--gold); gap: 10px; }
.ct-info-card--whatsapp:hover { border-color: #25D366; }
.ct-info-card--whatsapp:hover .ct-info-icon { background: #25D366; color: var(--white); }

/* ── Grid 2-col ── */
.ct-grid { display: grid; gap: 48px; align-items: start; }
.ct-grid--2 { grid-template-columns: 1fr 1fr; }
.ct-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.ct-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }

/* ── Form Features ── */
.ct-form-features { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.ct-feature {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 16px; background: var(--white); border-radius: 10px;
  border: 1px solid var(--ivory-dark); transition: all .3s;
}
.ct-feature:hover { border-color: var(--gold); }
.ct-feature i {
  width: 40px; height: 40px; background: rgba(155,80,35,.1); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 14px; flex-shrink: 0;
}
.ct-feature strong { display: block; font-size: 14px; color: var(--charcoal); margin-bottom: 2px; }
.ct-feature span { font-size: 12px; color: var(--gray); }

/* ── Form Card ── */
.ct-form-card {
  background: var(--white); border-radius: 16px; padding: 36px;
  box-shadow: 0 12px 40px rgba(0,0,0,.06); border: 1px solid var(--ivory-dark);
}
.ct-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-form-group { margin-bottom: 14px; }
.ct-form-group label {
  display: block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: .5px;
  color: var(--charcoal); margin-bottom: 5px;
}
.ct-form-group label span { color: #dc2626; }
.ct-form-group input,
.ct-form-group select,
.ct-form-group textarea {
  width: 100%; padding: 12px 14px; border: 1.5px solid #e5e7eb;
  border-radius: 8px; font-family: var(--body); font-size: 14px;
  color: var(--charcoal); background: #fafafa; transition: all .2s;
}
.ct-form-group input:focus,
.ct-form-group select:focus,
.ct-form-group textarea:focus {
  outline: none; border-color: var(--green); background: var(--white);
  box-shadow: 0 0 0 3px rgba(26,18,11,.08);
}
.ct-form-group textarea { resize: vertical; min-height: 100px; }
.ct-submit-btn {
  width: 100%; padding: 14px; background: var(--green); color: var(--white);
  border: none; border-radius: 10px; font-family: var(--accent); font-size: 14px;
  font-weight: 700; cursor: pointer; transition: all .3s;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  text-transform: uppercase; letter-spacing: .5px;
}
.ct-submit-btn:hover { background: var(--green-light); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26,18,11,.25); }
.ct-form-note { text-align: center; font-size: 11px; color: #bbb; margin-top: 12px; }
.ct-form-note i { margin-right: 4px; color: var(--gold); }

/* ── Why Us ── */
.ct-why-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.ct-why-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: 28px 24px; transition: all .3s;
}
.ct-why-card:hover { background: rgba(255,255,255,.1); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.ct-why-icon {
  width: 44px; height: 44px; background: rgba(155,80,35,.15); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 18px; margin-bottom: 14px;
}
.ct-why-card h3 { font-size: 17px; color: var(--white); margin-bottom: 8px; }
.ct-why-card p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.7; }

/* ── Office Hours ── */
.ct-hours { margin-top: 24px; }
.ct-hour-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 0; border-bottom: 1px solid var(--ivory-dark);
}
.ct-hour-row:last-child { border-bottom: none; }
.ct-hour-row span { font-weight: 600; color: var(--charcoal); font-size: 14px; }
.ct-hour-val { color: var(--green); }
.ct-hour-val--gold { color: var(--gold-dark); }
.ct-hour-val--green { color: #25D366; }
.ct-image-block { border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.ct-image-block img { width: 100%; height: 380px; object-fit: cover; display: block; }

/* ── Quick Links ── */
.ct-links-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ct-link-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 28px 24px; text-decoration: none; position: relative;
  transition: all .3s; overflow: hidden;
}
.ct-link-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); border-color: var(--gold); }
.ct-link-icon {
  width: 48px; height: 48px; background: var(--ivory); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 20px; margin-bottom: 16px; transition: all .3s;
}
.ct-link-card:hover .ct-link-icon { background: var(--green); color: var(--white); }
.ct-link-card h3 { font-size: 17px; color: var(--charcoal); margin-bottom: 6px; }
.ct-link-card p { font-size: 13px; color: var(--gray); line-height: 1.6; }
.ct-link-arrow {
  position: absolute; top: 24px; right: 24px; color: var(--ivory-dark);
  font-size: 16px; transition: all .3s;
}
.ct-link-card:hover .ct-link-arrow { color: var(--gold); transform: translateX(4px); }

/* ── CTA ── */
.ct-cta {
  position: relative; background: var(--green-dark); overflow: hidden;
  text-align: center; padding: 100px 0;
}
.ct-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.ct-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.ct-cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.ct-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.ct-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.ct-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ct-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .ct-hero-text { max-width: 100%; }
  .ct-hero-actions { justify-content: center; }
  .ct-info-grid { grid-template-columns: 1fr 1fr; }
  .ct-grid--2 { grid-template-columns: 1fr; }
  .ct-links-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .ct-hero { min-height: 420px; }
  .ct-hero-content { padding: 80px 0 60px; }
  .ct-hero-stats { flex-direction: row; width: 100%; }
  .ct-hero-stat { padding: 14px 20px; flex: 1; }
  .ct-section { padding: 60px 0; }
  .ct-info-grid { grid-template-columns: 1fr 1fr; }
  .ct-form-row { grid-template-columns: 1fr; }
  .ct-form-card { padding: 24px; }
  .ct-why-grid { grid-template-columns: 1fr; }
  .ct-image-block img { height: 280px; }
  .ct-links-grid { grid-template-columns: 1fr; }
}

/* ============================================
   KILIMANJARO PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero ── */
.kl-hero {
  position: relative; min-height: 520px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.kl-hero-bg { position: absolute; inset: 0; }
.kl-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.kl-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.kl-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.kl-hero-text { max-width: 580px; }
.kl-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.kl-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.kl-hero-text h1 span { color: var(--gold); }
.kl-hero-text p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.kl-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.kl-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.kl-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
}
.kl-hero-stat:nth-child(2n) { border-right: none; }
.kl-hero-stat:nth-child(n+3) { border-bottom: none; }
.kl-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.kl-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Sections ── */
.kl-section { padding: 80px 0; }
.kl-section--alt { background: var(--ivory); }
.kl-section--green { background: var(--green); }
.kl-section--group { background: var(--green); }
.kl-section-head { text-align: center; margin-bottom: 48px; }
.kl-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.kl-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.kl-section-head--light h2 { color: var(--white); }
.kl-section-head--light p { color: rgba(255,255,255,.65); }
.kl-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.kl-label--gold { color: var(--gold); }

/* ── Grid 2-col ── */
.kl-grid { display: grid; gap: 48px; align-items: center; }
.kl-grid--2 { grid-template-columns: 1fr 1fr; }
.kl-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.kl-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.kl-text-stats { display: flex; gap: 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.kl-text-stat-num { display: block; font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); }
.kl-text-stat-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }
.kl-image-block { border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.kl-image-block img { width: 100%; height: 420px; object-fit: cover; display: block; }

/* ── Cones ── */
.kl-cones { text-align: center; margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--ivory-dark); }
.kl-cones h3 { font-size: 24px; margin-bottom: 8px; }
.kl-cones > p { color: var(--gray); max-width: 600px; margin: 0 auto 36px; font-size: 15px; }
.kl-cones-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kl-cone-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; text-align: center; transition: all .3s;
}
.kl-cone-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kl-cone-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.kl-cone-card:hover .kl-cone-icon { background: var(--green); color: var(--white); }
.kl-cone-card h4 { font-size: 20px; margin-bottom: 10px; }
.kl-cone-card p { color: var(--gray); font-size: 14px; line-height: 1.8; margin-bottom: 14px; }
.kl-cone-elev { font-family: var(--accent); font-size: 13px; font-weight: 600; color: var(--gold); }

/* ── Climate ── */
.kl-climate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.kl-climate-card {
  background: var(--white); border-radius: 12px; padding: 32px 28px;
  border-left: 3px solid var(--zone-color, var(--gold)); transition: all .3s;
}
.kl-climate-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kl-climate-range { font-family: var(--accent); font-size: 11px; font-weight: 600; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; }
.kl-climate-card h3 { font-size: 20px; margin-bottom: 10px; }
.kl-climate-card p { color: var(--gray); font-size: 14px; line-height: 1.8; margin-bottom: 14px; }
.kl-climate-tag { display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--gold); background: rgba(155,80,35,.08); padding: 4px 10px; border-radius: 4px; }

/* ── Moments ── */
.kl-moments-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; text-align: left; }
.kl-moment-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 28px 24px; transition: all .3s;
}
.kl-moment-card:hover { background: rgba(255,255,255,.07); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.kl-moment-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); opacity: .3; margin-bottom: 10px; line-height: 1; }
.kl-moment-card h3 { font-size: 16px; color: var(--white); margin-bottom: 8px; }
.kl-moment-card p { font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.7; }

/* ── Stats ── */
.kl-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.kl-stat-card { text-align: center; }
.kl-stat-num { font-family: var(--heading); font-size: clamp(36px,4vw,52px); font-weight: 700; color: var(--gold); line-height: 1; }
.kl-stat-plus { font-family: var(--heading); font-size: clamp(24px,3vw,36px); font-weight: 700; color: var(--gold); }
.kl-stat-label { display: block; font-size: 14px; color: rgba(255,255,255,.55); margin-top: 8px; }

/* ── Safety ── */
.kl-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.kl-safety-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; transition: all .3s;
}
.kl-safety-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kl-safety-icon {
  display: inline-flex; width: 48px; height: 48px; background: var(--ivory);
  border-radius: 10px; align-items: center; justify-content: center;
  font-size: 1.15rem; color: var(--gold); margin-bottom: 18px; transition: all .3s;
}
.kl-safety-card:hover .kl-safety-icon { background: var(--green); color: var(--white); }
.kl-safety-card h3 { font-size: 17px; margin-bottom: 8px; }
.kl-safety-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ── Prep ── */
.kl-prep-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kl-prep-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 36px 28px; transition: all .3s;
}
.kl-prep-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,.06); }
.kl-prep-icon {
  display: inline-flex; width: 52px; height: 52px; background: var(--ivory);
  border-radius: 12px; align-items: center; justify-content: center;
  font-size: 1.2rem; color: var(--gold); margin-bottom: 18px; transition: all .3s;
}
.kl-prep-card:hover .kl-prep-icon { background: var(--green); color: var(--white); }
.kl-prep-card h3 { font-size: 20px; margin-bottom: 10px; }
.kl-prep-card > p { color: var(--gray); font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.kl-prep-card ul { list-style: none; margin-bottom: 0; }
.kl-prep-card li { padding: 7px 0; font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 10px; line-height: 1.5; }
.kl-prep-card li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px; color: var(--gold); }

/* ── Includes ── */
.kl-includes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.kl-include-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 40px 32px; transition: all .3s; }
.kl-include-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kl-include-card > i { margin-bottom: 16px; display: block; font-size: 24px; }
.kl-include-card h3 { font-size: 20px; margin-bottom: 20px; }
.kl-include-card > i.fa-check-circle { color: #27ae60; }
.kl-include-excluded > i.fa-times-circle { color: #e74c3c; }
.kl-include-card ul { list-style: none; }
.kl-include-card li { padding: 10px 0; font-size: 14px; color: var(--gray); border-bottom: 1px solid var(--ivory-dark); display: flex; align-items: center; gap: 10px; }
.kl-include-card li:last-child { border-bottom: none; }
.kl-include-card li i { margin-right: 0; font-size: 13px; }

/* ── SEO Content ── */
.kl-seo-content { max-width: 800px; margin: 0 auto; }
.kl-seo-content h2 { font-family: var(--heading); font-size: 28px; color: var(--charcoal); margin-bottom: 16px; }
.kl-seo-content h3 { font-family: var(--heading); font-size: 20px; color: var(--charcoal); margin: 28px 0 12px; }
.kl-seo-content p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.kl-seo-content strong { color: var(--charcoal); }

/* ── CTA ── */
.kl-cta {
  position: relative; background: var(--green-dark); overflow: hidden;
  text-align: center; padding: 100px 0;
}
.kl-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.kl-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.kl-cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.kl-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.kl-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.kl-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .kl-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .kl-hero-text { max-width: 100%; }
  .kl-hero-actions { justify-content: center; }
  .kl-grid--2 { grid-template-columns: 1fr; }
  .kl-cones-grid { grid-template-columns: 1fr 1fr; }
  .kl-climate-grid { grid-template-columns: 1fr 1fr; }
  .kl-moments-grid { grid-template-columns: 1fr 1fr; }
  .kl-stats-grid { grid-template-columns: 1fr 1fr; }
  .kl-safety-grid { grid-template-columns: 1fr 1fr; }
  .kl-prep-grid { grid-template-columns: 1fr 1fr; }
  .kl-includes-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .kl-hero { min-height: 420px; }
  .kl-hero-content { padding: 80px 0 60px; }
  .kl-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .kl-hero-stat { padding: 16px 20px; }
  .kl-section { padding: 60px 0; }
  .kl-image-block img { height: 300px; }
  .kl-cones-grid { grid-template-columns: 1fr; }
  .kl-climate-grid { grid-template-columns: 1fr; }
  .kl-moments-grid { grid-template-columns: 1fr; }
  .kl-stats-grid { grid-template-columns: 1fr 1fr; }
  .kl-safety-grid { grid-template-columns: 1fr; }
  .kl-prep-grid { grid-template-columns: 1fr; }
}

/* ============================================
   KILIMANJARO GROUP DEPARTURES PAGE
   ============================================ */

/* ── Hero ── */
.kg-hero {
  position: relative; min-height: 480px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.kg-hero-bg { position: absolute; inset: 0; }
.kg-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.kg-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.kg-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.kg-hero-text { max-width: 580px; }
.kg-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.kg-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.kg-hero-text h1 span { color: var(--gold); }
.kg-hero-text p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.kg-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.kg-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
}
.kg-hero-stat:nth-child(2n) { border-right: none; }
.kg-hero-stat:nth-child(n+3) { border-bottom: none; }
.kg-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.kg-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Sections ── */
.kg-section { padding: 80px 0; }
.kg-section--alt { background: var(--ivory); }
.kg-section--green { background: var(--green); }
.kg-section-head { text-align: center; margin-bottom: 48px; }
.kg-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.kg-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.kg-section-head--light h2 { color: var(--white); }
.kg-section-head--light p { color: rgba(255,255,255,.65); }
.kg-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.kg-label--gold { color: var(--gold); }

/* ── Why Group ── */
.kg-why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.kg-why-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 28px 24px; text-align: center; transition: all .3s;
}
.kg-why-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kg-why-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.kg-why-card:hover .kg-why-icon { background: var(--green); color: var(--white); }
.kg-why-card h4 { font-size: 17px; margin-bottom: 8px; }
.kg-why-card p { color: var(--gray); font-size: 13px; line-height: 1.7; }

/* ── Steps ── */
.kg-steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kg-step-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; position: relative; transition: all .3s;
}
.kg-step-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kg-step-num {
  font-family: var(--heading); font-size: 48px; font-weight: 700;
  color: rgba(26,18,11,.06); position: absolute; top: 16px; right: 20px; line-height: 1;
}
.kg-step-card h3 { font-size: 18px; color: var(--charcoal); margin-bottom: 10px; }
.kg-step-card p { font-size: 14px; color: var(--gray); line-height: 1.7; }

/* ── Month Groups ── */
.kg-month { margin-bottom: 40px; }
.kg-month-title {
  font-family: var(--heading); font-size: 24px; color: var(--gold);
  margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid var(--gold);
}
.kg-table-wrap { overflow-x: auto; }

/* ── Seasons ── */
.kg-seasons-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.kg-season-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px;
  padding: 32px 28px; text-align: center; transition: all .3s;
}
.kg-season-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.kg-season-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.kg-season-card:hover .kg-season-icon { background: var(--green); color: var(--white); }
.kg-season-card h3 { font-size: 20px; margin-bottom: 4px; }
.kg-season-tag {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: var(--gold);
  background: rgba(155,80,35,.08); padding: 3px 10px; border-radius: 4px; margin-bottom: 12px;
}
.kg-season-card p { font-size: 14px; color: var(--gray); line-height: 1.7; }

/* ── Includes ── */
.kg-includes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.kg-include-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 36px 28px; }
.kg-include-card > i { margin-bottom: 16px; display: block; font-size: 24px; }
.kg-include-card h3 { font-size: 20px; margin-bottom: 20px; }
.kg-include-card > i.fa-check-circle { color: #27ae60; }
.kg-include-excluded > i.fa-times-circle { color: #e74c3c; }
.kg-include-card ul { list-style: none; }
.kg-include-card li { padding: 10px 0; font-size: 14px; color: var(--gray); border-bottom: 1px solid var(--ivory-dark); display: flex; align-items: center; gap: 10px; }
.kg-include-card li:last-child { border-bottom: none; }
.kg-include-card li i { font-size: 13px; }

/* ── CTA ── */
.kg-cta {
  position: relative; background: var(--green-dark); overflow: hidden;
  text-align: center; padding: 100px 0;
}
.kg-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.kg-cta-content { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.kg-cta-badge { display: inline-block; font-family: var(--accent); font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-bottom: 16px; }
.kg-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.kg-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.kg-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .kg-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .kg-hero-text { max-width: 100%; }
  .kg-why-grid { grid-template-columns: 1fr 1fr; }
  .kg-steps-grid { grid-template-columns: 1fr 1fr; }
  .kg-seasons-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .kg-hero { min-height: 420px; }
  .kg-hero-content { padding: 80px 0 60px; }
  .kg-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .kg-hero-stat { padding: 16px 20px; }
  .kg-section { padding: 60px 0; }
  .kg-why-grid { grid-template-columns: 1fr; }
  .kg-steps-grid { grid-template-columns: 1fr; }
  .kg-seasons-grid { grid-template-columns: 1fr; }
  .kg-includes-grid { grid-template-columns: 1fr; }
}

/* ============================================
   ROUTE DETAIL MODAL
   ============================================ */

.route-modal-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.7); z-index: 10000;
  align-items: center; justify-content: center;
  padding: 24px; backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.route-modal-overlay.active { display: flex; }

.route-modal {
  background: var(--white); border-radius: 20px; width: 100%; max-width: 720px;
  max-height: 88vh; overflow-y: auto; position: relative;
  box-shadow: 0 30px 80px rgba(0,0,0,.4); animation: routeModalIn .35s ease;
}
@keyframes routeModalIn {
  from { opacity: 0; transform: translateY(30px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.route-modal-close {
  position: absolute; top: 16px; right: 16px; width: 40px; height: 40px;
  background: rgba(255,255,255,.2); backdrop-filter: blur(8px); border: none;
  border-radius: 50%; color: var(--white); font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 10; transition: all .2s;
}
.route-modal-close:hover { background: rgba(255,255,255,.4); transform: scale(1.1); }

.route-modal-hero {
  position: relative; height: 300px; overflow: hidden; border-radius: 20px 20px 0 0;
}
.route-modal-hero img { width: 100%; height: 100%; object-fit: cover; }
.route-modal-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.3) 50%, transparent 100%);
}
.route-modal-hero-content {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 28px;
}
.route-modal-badge {
  display: inline-block; font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--white);
  background: var(--gold); padding: 5px 14px; border-radius: 4px; margin-bottom: 12px;
}
.route-modal-hero-content h2 {
  font-family: var(--heading); font-size: 28px; color: var(--white); margin-bottom: 12px;
}
.route-modal-meta {
  display: flex; gap: 20px; flex-wrap: wrap;
}
.route-modal-meta span {
  font-size: 13px; color: rgba(255,255,255,.85); display: flex; align-items: center; gap: 6px;
}
.route-modal-meta i { color: var(--gold); font-size: 14px; }

.route-modal-body { padding: 28px 32px 32px; }

.route-modal-stats {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 12px;
  margin-bottom: 28px;
}
.route-modal-stat {
  text-align: center; padding: 16px 8px;
  background: var(--ivory); border-radius: 10px;
}
.route-modal-stat i { display: block; color: var(--gold); font-size: 18px; margin-bottom: 8px; }
.route-modal-stat span { display: block; font-family: var(--heading); font-size: 15px; font-weight: 700; color: var(--charcoal); margin-bottom: 2px; }
.route-modal-stat small { font-size: 10px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }

.route-modal-section { margin-bottom: 24px; }
.route-modal-section h3 {
  font-family: var(--accent); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: var(--green);
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
  padding-bottom: 10px; border-bottom: 1px solid var(--ivory-dark);
}
.route-modal-section h3 i { color: var(--gold); font-size: 14px; }
.route-modal-section p { font-size: 14px; color: var(--gray); line-height: 1.8; }
.route-modal-section ul { list-style: none; padding: 0; margin: 0; }
.route-modal-section li {
  padding: 8px 0; font-size: 13px; color: var(--gray); line-height: 1.6;
  display: flex; align-items: flex-start; gap: 10px;
  border-bottom: 1px solid var(--ivory-dark);
}
.route-modal-section li:last-child { border-bottom: none; }
.route-modal-section li::before { content: '✓'; color: var(--gold); font-weight: 700; font-size: 12px; margin-top: 1px; flex-shrink: 0; }

.route-modal-actions {
  display: flex; gap: 12px; margin-top: 28px; padding-top: 24px;
  border-top: 1px solid var(--ivory-dark);
}
.route-modal-actions .btn { flex: 1; justify-content: center; padding: 14px 20px; }

.route-modal::-webkit-scrollbar { width: 6px; }
.route-modal::-webkit-scrollbar-track { background: transparent; }
.route-modal::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
.route-modal::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

@media (max-width: 768px) {
  .route-modal-overlay { padding: 12px; }
  .route-modal { max-width: 100%; border-radius: 16px; max-height: 92vh; }
  .route-modal-hero { height: 220px; border-radius: 16px 16px 0 0; }
  .route-modal-hero-content { padding: 20px; }
  .route-modal-hero-content h2 { font-size: 22px; }
  .route-modal-body { padding: 20px; }
  .route-modal-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .route-modal-stat { padding: 12px 6px; }
  .route-modal-actions { flex-direction: column; }
  .route-modal-actions .btn { width: 100%; }
}

/* ============================================
   TANZANIA SAFARI PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero ── */
.sf-hero {
  position: relative; min-height: 520px; display: flex; align-items: center;
  overflow: hidden; background: var(--green-dark);
}
.sf-hero-bg { position: absolute; inset: 0; }
.sf-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.sf-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(26,18,11,.92) 0%, rgba(26,18,11,.85) 50%, rgba(26,18,11,.7) 100%);
}
.sf-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.sf-hero-text { max-width: 580px; }
.sf-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,.12); border: 1px solid rgba(155,80,35,.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.sf-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.sf-hero-text h1 span { color: var(--gold); }
.sf-hero-text p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.sf-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.sf-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
}
.sf-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
}
.sf-hero-stat:nth-child(2n) { border-right: none; }
.sf-hero-stat:nth-child(n+3) { border-bottom: none; }
.sf-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.sf-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,.45); margin-top: 4px;
}

/* ── Sections ── */
.sf-section { padding: 80px 0; }
.sf-section--alt { background: var(--ivory); }
.sf-section--green { background: var(--green); }
.sf-section--green-dark { background: var(--green-dark); }
.sf-section--group { background: var(--green); }
.sf-section-head { text-align: center; margin-bottom: 48px; }
.sf-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.sf-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.sf-section-head--light h2 { color: var(--white); }
.sf-section-head--light p { color: rgba(255,255,255,.65); }
.sf-label {
  display: inline-block; font-family: var(--accent); font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.sf-label--gold { color: var(--gold); }

/* ── Grid 2-col ── */
.sf-grid { display: grid; gap: 48px; align-items: center; }
.sf-grid--2 { grid-template-columns: 1fr 1fr; }
.sf-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.sf-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.sf-text-block--light h2 { color: var(--white); }
.sf-text-block--light p { color: rgba(255,255,255,.7); }
.sf-text-stats { display: flex; gap: 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.sf-text-stat-num { display: block; font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); }
.sf-text-stat-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }

/* ── Image Stack ── */
.sf-image-stack { position: relative; min-height: 420px; }
.sf-img-main { position: absolute; top: 0; left: 0; width: 75%; height: 340px; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); object-fit: cover; }
.sf-img-top { position: absolute; top: 20px; right: 0; width: 42%; height: 200px; border-radius: 12px; overflow: hidden; z-index: 2; box-shadow: 0 8px 30px rgba(0,0,0,.12); object-fit: cover; }
.sf-img-bot { position: absolute; bottom: 0; left: 18%; width: 38%; height: 160px; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,.12); object-fit: cover; }

/* ── Parks ── */
.sf-parks-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.sf-park-card { background: var(--white); border-radius: 12px; overflow: hidden; transition: all .4s; }
.sf-park-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,.08); }
.sf-park-img { height: 200px; overflow: hidden; }
.sf-park-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sf-park-card:hover .sf-park-img img { transform: scale(1.06); }
.sf-park-body { padding: 24px; }
.sf-park-body h3 { font-size: 18px; margin-bottom: 8px; }
.sf-park-body p { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 12px; }
.sf-park-body ul { list-style: none; padding: 0; }
.sf-park-body li { font-size: 12px; color: var(--gray); padding: 3px 0; display: flex; align-items: center; gap: 8px; }
.sf-park-body li::before { content: '◆'; color: var(--gold); font-size: 8px; }

/* ── Big Five ── */
.sf-bigfive-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.sf-bigfive-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; padding: 24px; transition: all .3s;
}
.sf-bigfive-card:hover { background: rgba(255,255,255,.1); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.sf-bigfive-icon {
  width: 40px; height: 40px; background: rgba(155,80,35,.15); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 16px; margin-bottom: 12px;
}
.sf-bigfive-card h4 { font-size: 16px; color: var(--white); margin-bottom: 6px; }
.sf-bigfive-card p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.6; }

/* ── Moments ── */
.sf-moments-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.sf-moment-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 28px 24px; transition: all .3s;
}
.sf-moment-card:hover { background: rgba(255,255,255,.07); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.sf-moment-num { display: block; font-family: var(--heading); font-size: 36px; font-weight: 700; color: var(--gold); opacity: .3; margin-bottom: 10px; line-height: 1; }
.sf-moment-icon { width: 44px; height: 44px; background: rgba(155,80,35,.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 18px; margin-bottom: 14px; }
.sf-moment-card h3 { font-size: 16px; color: var(--white); margin-bottom: 8px; }
.sf-moment-card p { font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.7; }

/* ── Styles ── */
.sf-styles-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.sf-style-card {
  background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px;
  padding: 28px 24px; text-align: center; transition: all .3s;
}
.sf-style-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.sf-style-icon {
  width: 52px; height: 52px; background: var(--ivory); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px; font-size: 1.2rem; color: var(--gold); transition: all .3s;
}
.sf-style-card:hover .sf-style-icon { background: var(--green); color: var(--white); }
.sf-style-card h3 { font-size: 16px; margin-bottom: 8px; }
.sf-style-card p { color: var(--gray); font-size: 13px; line-height: 1.7; }

/* ── Accommodation ── */
.sf-accom-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.sf-accom-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; overflow: hidden; transition: all .3s; }
.sf-accom-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,.06); transform: translateY(-3px); }
.sf-accom-label { font-family: var(--accent); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--white); padding: 10px 20px; text-align: center; }
.sf-accom-card:nth-child(1) .sf-accom-label { background: #1A120B; }
.sf-accom-card:nth-child(2) .sf-accom-label { background: var(--green); }
.sf-accom-card:nth-child(3) .sf-accom-label { background: #C17C45; }
.sf-accom-card:nth-child(4) .sf-accom-label { background: #C17C45; }
.sf-accom-body { padding: 24px; }
.sf-accom-body h3 { font-size: 16px; margin-bottom: 10px; }
.sf-accom-body p { font-size: 13px; color: var(--gray); line-height: 1.6; margin-bottom: 14px; }
.sf-accom-body ul { list-style: none; padding: 0; }
.sf-accom-body li { font-size: 13px; color: var(--gray); padding: 3px 0; display: flex; align-items: center; gap: 8px; }
.sf-accom-body li::before { content: '→'; color: var(--gold); font-size: 13px; font-weight: 600; }

/* ── Stats ── */
.sf-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.sf-stat-card { text-align: center; }
.sf-stat-num { font-family: var(--heading); font-size: clamp(36px,4vw,52px); font-weight: 700; color: var(--gold); line-height: 1; }
.sf-stat-plus { font-family: var(--heading); font-size: clamp(24px,3vw,36px); font-weight: 700; color: var(--gold); }
.sf-stat-label { display: block; font-size: 14px; color: rgba(255,255,255,.55); margin-top: 8px; }

/* ── Safety ── */
.sf-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.sf-safety-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px; padding: 32px 28px; transition: all .3s; }
.sf-safety-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.sf-safety-icon { display: inline-flex; width: 48px; height: 48px; background: var(--ivory); border-radius: 10px; align-items: center; justify-content: center; font-size: 1.15rem; color: var(--gold); margin-bottom: 18px; transition: all .3s; }
.sf-safety-card:hover .sf-safety-icon { background: var(--green); color: var(--white); }
.sf-safety-card h3 { font-size: 17px; margin-bottom: 8px; }
.sf-safety-card p { color: var(--gray); font-size: 13px; line-height: 1.8; }

/* ── Prep ── */
.sf-prep-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.sf-prep-card { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 14px; padding: 36px 28px; transition: all .3s; }
.sf-prep-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,.06); }
.sf-prep-icon { display: inline-flex; width: 52px; height: 52px; background: var(--ivory); border-radius: 12px; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--gold); margin-bottom: 18px; transition: all .3s; }
.sf-prep-card:hover .sf-prep-icon { background: var(--green); color: var(--white); }
.sf-prep-card h3 { font-size: 20px; margin-bottom: 10px; }
.sf-prep-card ul { list-style: none; margin-bottom: 0; flex: 1; }
.sf-prep-card li { padding: 7px 0; font-size: 13px; color: var(--gray); display: flex; align-items: center; gap: 10px; line-height: 1.5; border-bottom: 1px solid var(--ivory-dark); }
.sf-prep-card li:last-child { border-bottom: none; }
.sf-prep-card li::before { content: '✓'; color: var(--gold); font-weight: 700; font-size: 11px; }

/* ── CTA ── */
.sf-cta { padding: 80px 0; }
.sf-cta-card { background: linear-gradient(135deg, var(--green) 0%, #2C1D12 100%); border-radius: 20px; padding: 60px; text-align: center; }
.sf-cta-card h2 { color: var(--white); margin-bottom: 12px; }
.sf-cta-card > p { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.65); max-width: 600px; margin: 0 auto 32px; }
.sf-cta-options { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 680px; margin: 0 auto; }
.sf-cta-option { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 28px 24px; text-align: center; }
.sf-cta-option h3 { color: var(--white); font-size: 18px; margin-bottom: 6px; }
.sf-cta-option p { font-size: 13px; margin-bottom: 16px; color: rgba(255,255,255,.5); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .sf-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .sf-hero-text { max-width: 100%; }
  .sf-hero-actions { justify-content: center; }
  .sf-grid--2 { grid-template-columns: 1fr; }
  .sf-image-stack { min-height: 300px; }
  .sf-parks-grid { grid-template-columns: 1fr 1fr; }
  .sf-bigfive-grid { grid-template-columns: 1fr 1fr; }
  .sf-moments-grid { grid-template-columns: 1fr 1fr; }
  .sf-styles-grid { grid-template-columns: 1fr 1fr; }
  .sf-accom-grid { grid-template-columns: 1fr 1fr; }
  .sf-stats-grid { grid-template-columns: 1fr 1fr; }
  .sf-safety-grid { grid-template-columns: 1fr 1fr; }
  .sf-prep-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .sf-hero { min-height: 420px; }
  .sf-hero-content { padding: 80px 0 60px; }
  .sf-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .sf-hero-stat { padding: 16px 20px; }
  .sf-section { padding: 60px 0; }
  .sf-image-stack { min-height: 220px; }
  .sf-img-main { height: 180px; width: 70%; }
  .sf-img-top { height: 120px; width: 45%; }
  .sf-img-bot { height: 100px; width: 40%; left: 12%; }
  .sf-text-stats { flex-direction: column; gap: 16px; }
  .sf-parks-grid { grid-template-columns: 1fr; }
  .sf-bigfive-grid { grid-template-columns: 1fr; }
  .sf-moments-grid { grid-template-columns: 1fr; }
  .sf-styles-grid { grid-template-columns: 1fr; }
  .sf-accom-grid { grid-template-columns: 1fr; }
  .sf-stats-grid { grid-template-columns: 1fr 1fr; }
  .sf-safety-grid { grid-template-columns: 1fr; }
  .sf-prep-grid { grid-template-columns: 1fr; }
  .sf-cta-card { padding: 40px 24px; }
  .sf-cta-options { grid-template-columns: 1fr; }
}

/* ============================================
   DESTINATIONS PAGE — REDESIGNED 2026
   ============================================ */

/* ── Hero (Premium) ── */
.dn-hero {
  position: relative; min-height: 480px; display: flex; align-items: center;
  overflow: hidden; background: #110C07;
}
.dn-hero-bg { position: absolute; inset: 0; }
.dn-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.05);
  animation: dnHeroZoom 20s ease-in-out infinite alternate;
}
@keyframes dnHeroZoom {
  0% { transform: scale(1.05); }
  100% { transform: scale(1.12); }
}
.dn-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(17,12,7,0.92) 0%, rgba(26,18,11,0.85) 50%, rgba(17,12,7,0.72) 100%);
}
.dn-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 120px 0 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 48px;
}
.dn-hero-text { max-width: 580px; }
.dn-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px; color: var(--gold);
  background: rgba(155,80,35,0.12); border: 1px solid rgba(155,80,35,0.25);
  padding: 6px 16px; border-radius: 20px; margin-bottom: 20px;
}
.dn-hero-text h1 {
  font-family: var(--heading); font-size: clamp(32px,4vw,50px);
  font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: 16px;
}
.dn-hero-text h1 span { color: var(--gold); }
.dn-hero-text p { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.7; margin-bottom: 28px; }
.dn-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 14px;
  overflow: hidden; flex-shrink: 0;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.dn-hero-stat {
  padding: 24px 28px; text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  border-right: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
}
.dn-hero-stat:hover { background: rgba(255,255,255,0.04); }
.dn-hero-stat:nth-child(2n) { border-right: none; }
.dn-hero-stat:nth-child(n+3) { border-bottom: none; }
.dn-hero-stat-num {
  display: block; font-family: var(--heading); font-size: 28px;
  font-weight: 700; color: var(--gold); line-height: 1.1;
}
.dn-hero-stat-label {
  display: block; font-family: var(--accent); font-size: 10px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px;
  color: rgba(255,255,255,0.4); margin-top: 4px;
}

/* ── Sections ── */
.dn-section { padding: 80px 0; }
.dn-section--alt { background: var(--ivory); }
.dn-section--green { background: var(--green); }
.dn-section-head { text-align: center; margin-bottom: 48px; }
.dn-section-head h2 {
  font-family: var(--heading); font-size: clamp(26px,3vw,38px);
  color: var(--charcoal); margin-bottom: 8px;
}
.dn-section-head p { font-size: 15px; color: var(--gray); max-width: 600px; margin: 0 auto; line-height: 1.7; }
.dn-section-head--light h2 { color: var(--white); }
.dn-section-head--light p { color: rgba(255,255,255,.65); }
.dn-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--accent); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px;
  color: var(--gold); margin-bottom: 8px;
}
.dn-label--gold { color: var(--gold); }

/* ── Grid 2-col ── */
.dn-grid { display: grid; gap: 48px; align-items: center; }
.dn-grid--2 { grid-template-columns: 1fr 1fr; }
.dn-text-block h2 {
  font-family: var(--heading); font-size: clamp(24px,2.5vw,32px);
  color: var(--charcoal); margin-bottom: 16px;
}
.dn-text-block p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 14px; }
.dn-text-stats { display: flex; gap: 32px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ivory-dark); }
.dn-text-stat-num { display: block; font-family: var(--heading); font-size: 24px; font-weight: 700; color: var(--green); }
.dn-text-stat-label { font-size: 11px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 1px; font-family: var(--accent); }

/* ── Image Stack ── */
.dn-image-stack { position: relative; min-height: 380px; }
.dn-img-main { position: absolute; top: 0; left: 0; width: 75%; height: 320px; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,.1); object-fit: cover; }
.dn-img-accent { position: absolute; bottom: 0; right: 0; width: 50%; height: 180px; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,.12); object-fit: cover; border: 4px solid var(--white); }

/* ── Circuit Desc ── */
.dn-circuit-desc { max-width: 800px; margin: 0 auto 40px; font-size: 15px; color: var(--gray); line-height: 1.8; text-align: center; }

/* ── Parks Grid ── */
.dn-parks-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.dn-park-card { background: var(--white); border-radius: 14px; overflow: hidden; transition: all .4s; border: 1px solid rgba(0,0,0,.04); }
.dn-park-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,.1); }
.dn-park-image { position: relative; height: 220px; overflow: hidden; }
.dn-park-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.dn-park-card:hover .dn-park-image img { transform: scale(1.06); }
.dn-park-badge { position: absolute; top: 14px; left: 14px; background: var(--gold); color: var(--white); padding: 4px 12px; border-radius: 4px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.dn-park-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.dn-park-location { font-size: 12px; color: var(--gray-light); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.dn-park-location i { color: var(--gold); }
.dn-park-body h3 { font-family: var(--heading); font-size: 18px; margin-bottom: 8px; line-height: 1.3; }
.dn-park-body h3 a { color: inherit; text-decoration: none; transition: color .2s; }
.dn-park-body h3 a:hover { color: var(--gold); }
.dn-park-body p { font-size: 13px; color: var(--gray); line-height: 1.65; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dn-park-highlights { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.dn-park-highlight { background: #f0fdf4; color: #166534; padding: 4px 10px; border-radius: 4px; font-size: 11px; font-weight: 500; }
.dn-park-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--ivory-dark); margin-top: auto; }
.dn-park-link { font-family: var(--accent); font-size: 12px; font-weight: 600; color: var(--green); text-decoration: none; display: flex; align-items: center; gap: 6px; transition: all .2s; }
.dn-park-link:hover { color: var(--gold); gap: 10px; }
.dn-park-size { font-size: 11px; color: var(--gray-light); display: flex; align-items: center; gap: 4px; }
.dn-park-size i { font-size: 10px; }

/* ── Glance Grid ── */
.dn-glance-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.dn-glance-item { background: var(--white); border: 1px solid var(--ivory-dark); border-radius: 12px; padding: 20px; text-align: center; transition: all .3s; }
.dn-glance-item:hover { border-color: var(--gold); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.04); }
.dn-glance-item i { font-size: 24px; color: var(--gold); margin-bottom: 8px; display: block; }
.dn-glance-item h4 { font-family: var(--heading); font-size: 16px; color: var(--charcoal); margin-bottom: 2px; }
.dn-glance-item span { font-size: 12px; color: var(--gray); }

/* ── Explore Grid ── */
.dn-explore-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.dn-explore-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: 28px 24px; text-decoration: none;
  transition: all .3s; text-align: center;
}
.dn-explore-card:hover { background: rgba(255,255,255,.1); border-color: rgba(155,80,35,.3); transform: translateY(-3px); }
.dn-explore-card i { font-size: 24px; color: var(--gold); margin-bottom: 12px; display: block; }
.dn-explore-card h3 { font-size: 17px; color: var(--white); margin-bottom: 6px; }
.dn-explore-card p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.6; }

/* ── CTA ── */
.dn-cta {
  position: relative; background: var(--green-dark); overflow: hidden;
  text-align: center; padding: 100px 0;
}
.dn-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1920&q=60');
  background-size: cover; background-position: center; opacity: .06; mix-blend-mode: overlay;
}
.dn-cta > .container { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.dn-cta h2 { font-size: clamp(26px,3.5vw,42px); color: var(--white); margin-bottom: 12px; }
.dn-cta p { font-size: 16px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 28px; }
.dn-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .dn-hero-content { flex-direction: column; text-align: center; align-items: center; }
  .dn-hero-text { max-width: 100%; }
  .dn-grid--2 { grid-template-columns: 1fr; }
  .dn-image-stack { min-height: 280px; }
  .dn-parks-grid { grid-template-columns: 1fr 1fr; }
  .dn-glance-grid { grid-template-columns: repeat(3,1fr); }
  .dn-explore-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .dn-hero { min-height: 420px; }
  .dn-hero-content { padding: 80px 0 60px; }
  .dn-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; }
  .dn-hero-stat { padding: 16px 20px; }
  .dn-section { padding: 60px 0; }
  .dn-image-stack { min-height: 200px; }
  .dn-img-main { height: 180px; width: 70%; }
  .dn-img-accent { height: 120px; width: 50%; }
  .dn-text-stats { flex-direction: column; gap: 16px; }
  .dn-parks-grid { grid-template-columns: 1fr; }
  .dn-glance-grid { grid-template-columns: 1fr 1fr; }
  .dn-explore-grid { grid-template-columns: 1fr; }
}

/* ============================================
   PACKAGE GALLERY GRID — Super Premium
   ============================================ */

.pkg-gallery { margin: 48px 0; }
.pkg-gallery-head { margin-bottom: 28px; }
.pkg-gallery-head h2 { font-family: var(--heading); font-size: 26px; color: var(--charcoal); margin-bottom: 6px; letter-spacing: -0.2px; }
.pkg-gallery-head p { font-size: 14.5px; color: var(--gray); }

.pkg-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 14px;
  border-radius: 20px;
  overflow: hidden;
}

.pkg-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  cursor: pointer;
}

.pkg-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}

.pkg-gallery-item::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.2) 100%);
  opacity: 0; transition: opacity 0.4s;
}

.pkg-gallery-item:hover img {
  transform: scale(1.06);
}
.pkg-gallery-item:hover::after { opacity: 1; }

.pkg-gallery-main {
  grid-row: 1 / -1;
}

.pkg-gallery-empty {
  background: var(--ivory);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-light);
}
.pkg-gallery-empty i { font-size: 32px; }

.pkg-gallery-viewall {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 14px 28px;
  background: var(--white);
  border: 1px solid rgba(155,80,35,0.1);
  border-radius: 28px;
  font-size: 14px;
  font-weight: 600;
  color: var(--charcoal);
  cursor: pointer;
  transition: all 0.3s;
}
.pkg-gallery-viewall:hover {
  border-color: var(--gold);
  color: var(--gold);
  box-shadow: 0 4px 16px rgba(155,80,35,0.1);
}
.pkg-gallery-viewall i { font-size: 16px; }

/* Lightbox — Super Premium */
.pkg-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.94);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(8px);
}

.pkg-lightbox.active { display: flex; }

.pkg-lightbox-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  backdrop-filter: blur(10px);
}

.pkg-lightbox-close:hover {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.3);
  transform: rotate(90deg);
}

.pkg-lightbox-img {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 16px;
  object-fit: contain;
  box-shadow: 0 20px 80px rgba(0,0,0,0.4);
}

.pkg-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  backdrop-filter: blur(10px);
}

.pkg-lightbox-nav:hover {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.3);
}
.pkg-lightbox-prev { left: 24px; }
.pkg-lightbox-next { right: 24px; }

.pkg-lightbox-counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  font-family: var(--accent);
  letter-spacing: 2px;
}

@media (max-width: 768px) {
  .pkg-gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    height: auto;
  }
  .pkg-gallery-item:first-child { grid-row: auto; }
  .pkg-gallery-item { height: 220px; }
}

/* ============================================
   DEPARTURE CARDS — Premium Redesign 2026
   ============================================ */

/* Filter Bar */
.kg-filter-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 28px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(155,80,35,0.16);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,250,244,0.98), rgba(247,235,222,0.94));
}
.kg-filter-field { display: grid; gap: 6px; min-width: 0; }
.kg-filter-field label {
  font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--gray);
}
.kg-filter-field select {
  min-height: 44px; padding: 0 14px;
  border: 1px solid rgba(155,80,35,0.2); border-radius: 12px;
  background: rgba(255,253,249,0.95);
  font-family: var(--body); font-size: 14px; color: var(--charcoal);
  cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;
  appearance: auto;
}
.kg-filter-field select:focus {
  border-color: rgba(155,80,35,0.5);
  box-shadow: 0 0 0 3px rgba(155,80,35,0.1);
  outline: none;
}
.kg-filter-actions {
  display: flex; gap: 16px; align-items: center; justify-content: space-between;
}
.kg-filter-actions span { font-size: 13px; color: var(--gray-light); font-family: var(--accent); }
.kg-filter-actions button {
  min-height: 44px; padding: 0 20px;
  border: 1px solid rgba(155,80,35,0.28); border-radius: 999px;
  background: rgba(255,248,239,0.62); color: var(--gold);
  font-family: var(--accent); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  cursor: pointer; transition: all 0.2s;
}
.kg-filter-actions button:hover {
  border-color: var(--gold); background: rgba(155,80,35,0.08);
}

/* Departure List Container */
.kg-departure-list {
  display: grid; grid-template-columns: 1fr; gap: 16px;
}

/* Departure Card — Horizontal 3-Column Layout */
.kg-card {
  display: grid;
  grid-template-columns: minmax(200px, 1.1fr) minmax(320px, 1.6fr) minmax(180px, 0.7fr);
  gap: clamp(16px, 2vw, 24px);
  align-items: center;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(155,80,35,0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,250,243,0.98), rgba(247,234,219,0.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 16px 42px rgba(50,31,14,0.08);
  transition: border-color 0.35s, transform 0.35s, box-shadow 0.35s;
}
.kg-card:hover {
  border-color: rgba(155,80,35,0.28);
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 24px 56px rgba(50,31,14,0.14);
}

/* Card Main — Route Badge + Title + Description */
.kg-card-main { min-width: 0; }
.kg-card-kicker {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px;
}
.kg-route-pill {
  display: inline-flex; align-items: center; min-height: 26px;
  padding: 6px 12px; border-radius: 999px;
  border: 1px solid rgba(155,80,35,0.16);
  background: rgba(155,80,35,0.08);
  color: var(--gold);
  font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.2px;
}
.kg-status-badge {
  display: inline-flex; align-items: center; min-height: 26px;
  padding: 6px 12px; border-radius: 999px;
  border: 1px solid rgba(36,22,13,0.12);
  background: rgba(36,22,13,0.06);
  color: var(--green);
  font-family: var(--accent); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
}
.kg-status-badge.status-guaranteed {
  background: rgba(39,174,96,0.1); color: #1a7a42; border-color: rgba(39,174,96,0.2);
}
.kg-status-badge.status-almost-full {
  background: rgba(196,152,74,0.12); color: var(--gold-dark); border-color: rgba(196,152,74,0.2);
}
.kg-status-badge.status-full {
  background: rgba(231,76,60,0.1); color: #c0392b; border-color: rgba(231,76,60,0.2);
}
.kg-card-main h3 {
  font-family: var(--heading); font-size: clamp(1.3rem, 1.8vw, 1.6rem);
  font-weight: 600; color: var(--charcoal); margin-bottom: 6px; line-height: 1.2;
}
.kg-card-main p {
  font-size: 13px; color: var(--gray); line-height: 1.5; margin: 0;
}

/* Fact Grid — 4 Column Info Cards */
.kg-facts {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px; margin: 0;
}
.kg-fact {
  display: grid; gap: 4px; align-content: start;
  min-height: 74px; padding: 10px 12px;
  border: 1px solid rgba(155,80,35,0.12);
  border-radius: 13px;
  background: rgba(255,248,239,0.62);
  transition: border-color 0.2s;
}
.kg-fact:hover { border-color: rgba(155,80,35,0.25); }
.kg-fact dt {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--accent); font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.2px; color: var(--gray);
}
.kg-fact dt i { font-size: 11px; color: var(--gold); width: 16px; text-align: center; }
.kg-fact dd {
  font-family: var(--body); font-size: 14px; font-weight: 700;
  color: var(--charcoal); margin: 0;
}

/* Card Side — Price + Action Buttons */
.kg-card-side { display: grid; gap: 10px; min-width: 0; }
.kg-price {
  padding: 14px; text-align: center;
  border: 1px solid rgba(155,80,35,0.16);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,248,239,0.98), rgba(245,233,220,0.92));
}
.kg-price span {
  display: block; font-size: 10px; color: var(--gray-light);
  text-transform: uppercase; letter-spacing: 1px;
}
.kg-price strong {
  display: block; font-family: var(--heading); font-size: clamp(1.1rem, 1.3vw, 1.4rem);
  font-weight: 700; color: var(--gold); margin: 4px 0;
}
.kg-price small { display: block; font-size: 11px; color: var(--gray-light); }
.kg-actions { display: grid; gap: 8px; }
.kg-join-btn {
  display: flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 1rem;
  border: 1px solid var(--green); border-radius: 999px;
  background: var(--green); color: var(--white);
  font-family: var(--accent); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  cursor: pointer; transition: all 0.3s;
  box-shadow: 0 12px 26px rgba(26,18,11,0.2);
}
.kg-join-btn:hover {
  background: var(--green-dark); transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(26,18,11,0.3);
}
.kg-inquire-btn {
  display: flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 1rem;
  border: 1px solid rgba(155,80,35,0.3); border-radius: 999px;
  background: rgba(255,248,239,0.52); color: var(--gold);
  font-family: var(--accent); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  text-decoration: none; transition: all 0.3s;
}
.kg-inquire-btn:hover {
  border-color: var(--gold); background: rgba(155,80,35,0.08);
  transform: translateY(-1px);
}

/* Empty State */
.kg-empty {
  text-align: center; padding: 60px 24px;
  border: 1px solid rgba(155,80,35,0.14);
  border-radius: 20px;
  background: linear-gradient(180deg, #fffaf3, #f7eadb);
}
.kg-empty i { font-size: 48px; color: var(--gold); margin-bottom: 16px; opacity: 0.5; }
.kg-empty h3 {
  font-family: var(--heading); font-size: 24px; color: var(--charcoal); margin-bottom: 8px;
}
.kg-empty p { color: var(--gray); font-size: 15px; }

/* ---- Responsive: ≤1180px ---- */
@media (max-width: 1180px) {
  .kg-card { grid-template-columns: 1fr 1fr; }
  .kg-card-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
}

/* ---- Responsive: ≤860px ---- */
@media (max-width: 860px) {
  .kg-card { grid-template-columns: 1fr; }
  .kg-card-side { grid-template-columns: 1fr; }
  .kg-facts { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Responsive: ≤680px ---- */
@media (max-width: 680px) {
  .kg-filter-bar { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .kg-filter-actions { flex-direction: column; align-items: stretch; }
  .kg-filter-actions button { width: 100%; }
  .kg-card { padding: 16px; border-radius: 16px; }
  .kg-card-main h3 { font-size: 1.1rem; }
  .kg-card-main p { display: none; }
  .kg-facts { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .kg-fact { min-height: 64px; padding: 8px 10px; }
  .kg-fact dd { font-size: 13px; }
  .kg-actions { flex-direction: column; }
  .kg-join-btn, .kg-inquire-btn { width: 100%; }
}
