/* ════════════════════════════════════════════════════
   Matrix Safaris Design System  v1.0.0
   Brand: Terracotta #cb9277 · Charcoal #474747
   Typography: Playfair Display / Inter / Montserrat
════════════════════════════════════════════════════ */

/* ── CSS VARIABLES ──────────────────────────────── */
:root {
  --forest:    #1a1a1a;
  --dark:      #474747;
  --gold:      #cb9277;
  --gold-lt:   #d9a990;
  --gold-pale: #f5e0d6;
  --cream:     #F7F3EC;
  --sand:      #E8DECE;
  --stone:     #C8BFB2;
  --text:      #2C2A22;
  --muted:     #6B6456;
  --white:     #FFFFFF;
  --serif:     'Playfair Display', Georgia, serif;
  --sans:      'Inter', system-ui, sans-serif;
  --mono:      'Montserrat', sans-serif;
  --max:       1200px;
  --ease:      0.3s cubic-bezier(0.4,0,0.2,1);
  --radius:    6px;
  --radius-lg: 12px;
  --shadow:    0 4px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 12px 48px rgba(0,0,0,0.18);
}

/* ── RESET ──────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--sans); color: var(--text); background: var(--cream); line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--gold); text-decoration: none; transition: color var(--ease); }
a:hover { color: var(--gold-lt); }
ul { list-style: none; }

/* ── TOPBAR ─────────────────────────────────────── */
.ms-topbar {
  background: var(--forest);
  color: var(--stone);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .55rem 0;
  position: relative;
  z-index: 200;
}
.ms-topbar-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.ms-topbar-contact, .ms-topbar-links {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  flex-wrap: wrap;
}
.ms-topbar a { color: var(--stone); }
.ms-topbar a:hover { color: var(--gold); }

/* ── NAVIGATION ─────────────────────────────────── */
.ms-nav {
  background: var(--forest);
  border-bottom: 1px solid rgba(255,255,255,.07);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: box-shadow var(--ease);
}
.ms-nav.ms-nav--scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.35); }
.ms-nav-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 68px;
}
.ms-nav-logo {
  display: flex;
  flex-direction: column;
  color: var(--white) !important;
  text-decoration: none;
  flex-shrink: 0;
  margin-right: auto;
  line-height: 1.15;
}
.ms-nav-logo-name {
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--white);
}
.ms-nav-logo-sub {
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-lt);
}
.ms-nav-links {
  display: flex;
  align-items: center;
  gap: .1rem;
  flex-wrap: wrap;
}
/* WordPress menu reset */
.ms-nav-links .ms-nav-menu-list,
.ms-nav-links ul { display: flex; align-items: center; gap: .1rem; flex-wrap: wrap; list-style: none; }
.ms-nav-links li { position: relative; }
.ms-nav-link, .ms-nav-links a {
  color: rgba(255,255,255,.78) !important;
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: .4rem .65rem;
  border-radius: var(--radius);
  transition: color var(--ease), background var(--ease);
  white-space: nowrap;
  text-decoration: none !important;
}
.ms-nav-link:hover, .ms-nav-links a:hover,
.ms-nav-link--active { color: var(--gold) !important; }
.ms-nav-cta {
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  background: var(--gold);
  color: var(--white) !important;
  padding: .5rem 1.1rem;
  border-radius: var(--radius);
  flex-shrink: 0;
  transition: background var(--ease), transform var(--ease);
  text-decoration: none !important;
}
.ms-nav-cta:hover { background: var(--gold-lt); transform: translateY(-1px); color: var(--white) !important; }

/* ── HERO BASE ──────────────────────────────────── */
.ms-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--dark) center/cover no-repeat;
  color: var(--white);
}
.ms-hero--medium { min-height: 58vh; }
.ms-hero--short  { min-height: 44vh; }
.ms-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(26,26,26,.25) 0%,
    rgba(26,26,26,.55) 60%,
    rgba(26,26,26,.88) 100%
  );
  z-index: 1;
}
.ms-hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--max);
  margin: 0 auto;
  padding: 4rem 2rem;
  width: 100%;
}
.ms-hero-eyebrow {
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: .9rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.ms-hero-eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--gold); }
.ms-hero-title {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.12;
  margin-bottom: 1.2rem;
  max-width: 780px;
  text-shadow: 0 2px 16px rgba(0,0,0,.4);
}
.ms-hero-subtitle {
  font-size: 1.1rem;
  color: rgba(255,255,255,.85);
  max-width: 580px;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.ms-hero-stats {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.ms-hero-stat { text-align: center; }
.ms-hero-stat-val {
  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  display: block;
}
.ms-hero-stat-lbl {
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-top: .3rem;
}
/* Blog post meta */
.ms-post-meta {
  display: flex;
  gap: 1.4rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}
.ms-post-meta-item {
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  gap: .4rem;
}
.ms-post-cat {
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--gold);
  color: var(--white);
  padding: .22rem .7rem;
  border-radius: var(--radius);
}

/* ── BREADCRUMB ─────────────────────────────────── */
.ms-breadcrumb {
  background: var(--sand);
  border-bottom: 1px solid var(--stone);
  padding: .7rem 0;
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--muted);
}
.ms-breadcrumb-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.ms-breadcrumb a { color: var(--muted); }
.ms-breadcrumb a:hover { color: var(--gold); }
.ms-breadcrumb-sep { color: var(--stone); }
.ms-breadcrumb-current { color: var(--gold); }

/* ── PAGE LAYOUT ────────────────────────────────── */
.ms-page {
  max-width: var(--max);
  margin: 0 auto;
  padding: 3.5rem 2rem;
}
.ms-two-col {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 3rem;
  align-items: start;
}
.ms-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.ms-sidebar--sticky > * { position: sticky; top: 90px; }

/* ── ARTICLE TYPOGRAPHY ─────────────────────────── */
.ms-article { line-height: 1.8; }
.ms-article h1 {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 1.2rem;
  line-height: 1.2;
}
.ms-article h2 {
  font-family: var(--serif);
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 700;
  color: var(--dark);
  margin: 2.5rem 0 .9rem;
  padding-top: .5rem;
  border-top: 2px solid var(--gold-pale);
  line-height: 1.25;
}
.ms-article h3 {
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--dark);
  margin: 1.8rem 0 .6rem;
}
.ms-article p { margin-bottom: 1.2rem; font-size: 1rem; color: var(--text); }
.ms-article ul, .ms-article ol { padding-left: 1.5rem; margin-bottom: 1.2rem; }
.ms-article li { margin-bottom: .4rem; }
.ms-article blockquote, .ms-pullquote {
  border-left: 3px solid var(--gold);
  background: var(--gold-pale);
  padding: 1.4rem 1.6rem;
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: 2rem 0;
  font-family: var(--serif);
  font-size: 1.15rem;
  font-style: italic;
  color: var(--dark);
  line-height: 1.5;
}
.ms-article img { border-radius: var(--radius-lg); margin: 2rem 0; width: 100%; object-fit: cover; }
.ms-article-img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  background: var(--sand) center/cover no-repeat;
  margin: 2rem 0;
}
.ms-article-img-caption {
  font-family: var(--mono);
  font-size: .7rem;
  color: var(--muted);
  letter-spacing: .04em;
  margin-top: -.5rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

/* ── CARDS — SIDEBAR ────────────────────────────── */
.ms-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--sand);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.ms-card-head {
  background: var(--dark);
  color: var(--white);
  padding: 1rem 1.4rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--mono);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ms-card-head h3 { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-family: var(--mono); }
.ms-card-head span { color: var(--gold); }
.ms-card-body { padding: 1.4rem; }
/* Quick Info card */
.ms-info-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: .7rem 0;
  border-bottom: 1px solid var(--sand);
  font-size: .88rem;
  gap: .5rem;
}
.ms-info-row:last-child { border-bottom: none; }
.ms-info-label { color: var(--muted); font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; flex-shrink: 0; }
.ms-info-value { font-weight: 600; color: var(--dark); text-align: right; }
.ms-info-tag {
  display: inline-block;
  background: var(--gold-pale);
  color: var(--gold);
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .15rem .5rem;
  border-radius: 3px;
}
/* WhatsApp card */
.ms-wa-card {
  background: #1a2e1a;
  border-radius: var(--radius-lg);
  padding: 1.4rem;
  text-align: center;
  color: rgba(255,255,255,.85);
  font-size: .9rem;
}
.ms-wa-btn {
  display: block;
  margin-top: .9rem;
  background: #25D366;
  color: var(--white) !important;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .75rem 1rem;
  border-radius: var(--radius);
  transition: background var(--ease);
}
.ms-wa-btn:hover { background: #1dbb59; }

/* ── FORM ───────────────────────────────────────── */
.ms-form { display: flex; flex-direction: column; gap: .9rem; }
.ms-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.ms-field { display: flex; flex-direction: column; gap: .3rem; }
.ms-label { font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dark); }
.ms-label span { color: var(--gold); }
.ms-input, .ms-textarea {
  width: 100%;
  padding: .65rem .85rem;
  border: 1.5px solid var(--sand);
  border-radius: var(--radius);
  font-family: var(--sans);
  font-size: .88rem;
  color: var(--text);
  background: var(--cream);
  transition: border-color var(--ease), box-shadow var(--ease);
  outline: none;
}
.ms-input:focus, .ms-textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(203,146,119,.15); }
.ms-textarea { resize: vertical; min-height: 80px; }
.ms-submit {
  width: 100%;
  padding: .85rem;
  background: var(--gold);
  color: var(--white);
  border: none;
  border-radius: var(--radius);
  font-family: var(--mono);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--ease), transform var(--ease);
}
.ms-submit:hover { background: var(--gold-lt); transform: translateY(-1px); }

/* ── TOC (Table of Contents) ────────────────────── */
.ms-toc {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--sand);
  overflow: hidden;
}
.ms-toc-head {
  background: var(--gold-pale);
  border-bottom: 1px solid var(--sand);
  padding: .9rem 1.2rem;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dark);
}
.ms-toc-list { padding: .9rem 1.2rem; display: flex; flex-direction: column; gap: .15rem; }
.ms-toc-item a {
  color: var(--muted);
  font-size: .85rem;
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .25rem 0;
  transition: color var(--ease);
}
.ms-toc-item a::before { content: '→'; color: var(--gold); font-size: .75rem; flex-shrink: 0; margin-top: .1rem; }
.ms-toc-item a:hover { color: var(--gold); }
.ms-toc-item--sub a { padding-left: 1rem; font-size: .8rem; }

/* ── PACKAGES SECTION ───────────────────────────── */
.ms-packages {
  background: var(--forest);
  padding: 5rem 0;
}
.ms-packages-inner { max-width: var(--max); margin: 0 auto; padding: 0 2rem; }
.ms-section-label {
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: .8rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.ms-section-label::before { content: ''; display: block; width: 28px; height: 1px; background: var(--gold); }
.ms-section-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
  line-height: 1.15;
}
.ms-section-title--dark { color: var(--dark); }
.ms-section-subtitle { color: rgba(255,255,255,.72); max-width: 560px; margin-bottom: 3rem; font-size: .95rem; }
.ms-section-subtitle--dark { color: var(--muted); }
.ms-pkg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.ms-pkg-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(203,146,119,.2);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--ease), border-color var(--ease);
}
.ms-pkg-card:hover { transform: translateY(-4px); border-color: var(--gold); }
.ms-pkg-img {
  width: 100%;
  height: 200px;
  background: var(--dark) center/cover no-repeat;
  object-fit: cover;
}
.ms-pkg-body { padding: 1.5rem; }
.ms-pkg-days {
  font-family: var(--mono);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: .4rem;
}
.ms-pkg-title { font-family: var(--serif); font-size: 1.15rem; font-weight: 700; color: var(--white); margin-bottom: .6rem; line-height: 1.3; }
.ms-pkg-title--dark { color: var(--dark); }
.ms-pkg-desc { font-size: .85rem; color: rgba(255,255,255,.68); margin-bottom: 1.2rem; line-height: 1.6; }
.ms-pkg-desc--dark { color: var(--muted); }
.ms-pkg-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ms-pkg-from { font-family: var(--mono); font-size: .65rem; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .06em; }
.ms-pkg-price { font-family: var(--serif); font-size: 1.3rem; font-weight: 700; color: var(--gold); }
.ms-pkg-btn {
  font-family: var(--mono);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: var(--gold);
  color: var(--white) !important;
  padding: .5rem .9rem;
  border-radius: var(--radius);
  transition: background var(--ease);
  text-decoration: none !important;
}
.ms-pkg-btn:hover { background: var(--gold-lt); color: var(--white) !important; }

/* ── GALLERY ────────────────────────────────────── */
.ms-gallery { display: grid; gap: 1rem; margin: 2.5rem 0; }
.ms-gallery--2 { grid-template-columns: repeat(2, 1fr); }
.ms-gallery--3 { grid-template-columns: repeat(3, 1fr); }
.ms-gallery--masonry {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
}
.ms-gallery-cell {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--sand) center/cover no-repeat;
  cursor: zoom-in;
  transition: transform var(--ease), box-shadow var(--ease);
}
.ms-gallery-cell:hover { transform: scale(1.02); box-shadow: var(--shadow-lg); }
.ms-gallery-cell--tall { grid-row: span 2; }
.ms-gallery-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-gallery--3 .ms-gallery-cell { height: 220px; }
.ms-gallery--masonry .ms-gallery-cell:not(.ms-gallery-cell--tall) { height: 185px; }
.ms-gallery--masonry .ms-gallery-cell--tall { height: 380px; }

/* ── SEASON / TABLE ─────────────────────────────── */
.ms-table-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--sand); margin: 1.5rem 0; }
.ms-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ms-table th {
  background: var(--dark);
  color: var(--white);
  padding: .75rem 1rem;
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
}
.ms-table td {
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--sand);
  vertical-align: top;
  color: var(--text);
}
.ms-table tr:last-child td { border-bottom: none; }
.ms-table tr:hover td { background: var(--cream); }
.ms-table .ms-good { color: #2e7d32; font-weight: 600; }
.ms-table .ms-ok   { color: #e65100; font-weight: 600; }
.ms-table .ms-bad  { color: #616161; }

/* Season pills */
.ms-season-dry  { background: #fff3e0; border: 1px solid #fb8c00; color: #e65100; border-radius: 3px; padding: .15rem .5rem; font-size: .7rem; font-weight: 700; display: inline-block; }
.ms-season-green{ background: #e8f5e9; border: 1px solid #66bb6a; color: #2e7d32; border-radius: 3px; padding: .15rem .5rem; font-size: .7rem; font-weight: 700; display: inline-block; }
.ms-season-rain { background: #e3f2fd; border: 1px solid #42a5f5; color: #1565c0; border-radius: 3px; padding: .15rem .5rem; font-size: .7rem; font-weight: 700; display: inline-block; }

/* ── ATTRACTION / DESTINATION CARDS ─────────────── */
.ms-attr-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin: 2rem 0; }
.ms-attr-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--sand);
  box-shadow: var(--shadow);
  transition: transform var(--ease), box-shadow var(--ease);
}
.ms-attr-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.ms-attr-img {
  width: 100%;
  height: 200px;
  background: var(--sand) center/cover no-repeat;
  object-fit: cover;
}
.ms-attr-body { padding: 1.2rem; }
.ms-attr-tag {
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .4rem;
}
.ms-attr-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 700; color: var(--dark); margin-bottom: .4rem; }
.ms-attr-desc { font-size: .85rem; color: var(--muted); line-height: 1.5; }

/* ── CTA BANNER ─────────────────────────────────── */
.ms-cta {
  background: var(--dark);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.ms-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(203,146,119,.15) 0%, transparent 60%);
  pointer-events: none;
}
.ms-cta-inner { max-width: 700px; margin: 0 auto; padding: 0 2rem; position: relative; z-index: 1; }
.ms-cta-label {
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: 1rem;
}
.ms-cta h2 {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
  line-height: 1.15;
}
.ms-cta p { color: rgba(255,255,255,.72); margin-bottom: 2rem; font-size: .95rem; }
.ms-cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.ms-btn {
  display: inline-block;
  padding: .85rem 2rem;
  border-radius: var(--radius);
  font-family: var(--mono);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: all var(--ease);
  text-decoration: none !important;
  cursor: pointer;
  border: none;
}
.ms-btn--gold { background: var(--gold); color: var(--white) !important; }
.ms-btn--gold:hover { background: var(--gold-lt); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(203,146,119,.35); color: var(--white) !important; }
.ms-btn--outline { background: transparent; color: var(--white) !important; border: 1.5px solid rgba(255,255,255,.4); }
.ms-btn--outline:hover { border-color: var(--gold); color: var(--gold) !important; }

/* ── AUTHOR BIO (blog) ──────────────────────────── */
.ms-author {
  background: var(--white);
  border: 1px solid var(--sand);
  border-radius: var(--radius-lg);
  padding: 2rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  margin: 3rem 0;
}
.ms-author-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--sand) center/cover no-repeat;
  flex-shrink: 0;
  border: 3px solid var(--gold-pale);
}
.ms-author-name { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--dark); margin-bottom: .25rem; }
.ms-author-role { font-family: var(--mono); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
.ms-author-bio { font-size: .88rem; color: var(--muted); line-height: 1.6; }

/* ── RELATED ARTICLES ───────────────────────────── */
.ms-related { margin: 3rem 0; }
.ms-related-title { font-family: var(--serif); font-size: 1.5rem; font-weight: 700; color: var(--dark); margin-bottom: 1.5rem; }
.ms-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.ms-related-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--sand);
  box-shadow: var(--shadow);
  transition: transform var(--ease), box-shadow var(--ease);
}
.ms-related-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.ms-related-img {
  width: 100%;
  height: 160px;
  background: var(--sand) center/cover no-repeat;
  object-fit: cover;
  display: block;
}
.ms-related-body { padding: 1.1rem; }
.ms-related-cat { font-family: var(--mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: .4rem; }
.ms-related-name { font-family: var(--serif); font-size: 1rem; font-weight: 700; color: var(--dark); line-height: 1.3; margin-bottom: .4rem; }
.ms-related-name a { color: inherit !important; }
.ms-related-name a:hover { color: var(--gold) !important; }
.ms-related-date { font-family: var(--mono); font-size: .65rem; color: var(--muted); }
/* Sidebar thumbnails */
.ms-thumb-list { display: flex; flex-direction: column; gap: .9rem; }
.ms-thumb-item { display: flex; gap: .9rem; align-items: flex-start; }
.ms-thumb-img { width: 60px; height: 60px; flex-shrink: 0; border-radius: var(--radius); background: var(--sand) center/cover no-repeat; object-fit: cover; }
.ms-thumb-info .ms-thumb-cat { font-family: var(--mono); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.ms-thumb-info .ms-thumb-title { font-size: .82rem; font-weight: 600; color: var(--dark); line-height: 1.35; }
.ms-thumb-info .ms-thumb-title a { color: inherit !important; }
.ms-thumb-info .ms-thumb-title a:hover { color: var(--gold) !important; }

/* ── MINI CTA CARD ──────────────────────────────── */
.ms-mini-cta {
  background: var(--dark);
  border-radius: var(--radius-lg);
  padding: 1.8rem;
  text-align: center;
  color: var(--white);
}
.ms-mini-cta h3 { font-family: var(--serif); font-size: 1.15rem; font-weight: 700; margin-bottom: .5rem; color: var(--white); }
.ms-mini-cta p { font-size: .85rem; color: rgba(255,255,255,.7); margin-bottom: 1.2rem; }
.ms-mini-cta-btn {
  display: block;
  background: var(--gold);
  color: var(--white) !important;
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .75rem 1rem;
  border-radius: var(--radius);
  transition: background var(--ease);
  text-decoration: none !important;
}
.ms-mini-cta-btn:hover { background: var(--gold-lt); color: var(--white) !important; }

/* ── FOOTER ─────────────────────────────────────── */
.ms-footer {
  background: var(--forest);
  padding: 5rem 0 0;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
}
.ms-footer-grid {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 4rem;
}
.ms-footer-logo {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
}
.ms-footer-brand p { color: rgba(255,255,255,.6); line-height: 1.7; margin-bottom: 1.2rem; font-size: .88rem; }
.ms-footer-contact {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: .5rem;
  font-size: .85rem;
  color: rgba(255,255,255,.65);
}
.ms-footer-contact a { color: rgba(255,255,255,.65); }
.ms-footer-contact a:hover { color: var(--gold); }
.ms-footer-col-title {
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin-bottom: 1.2rem;
}
.ms-footer-links { display: flex; flex-direction: column; gap: .45rem; }
.ms-footer-links li a { color: rgba(255,255,255,.6); font-size: .88rem; transition: color var(--ease); }
.ms-footer-links li a:hover { color: var(--gold); }
.ms-footer-bar {
  border-top: 1px solid rgba(255,255,255,.1);
  max-width: var(--max);
  margin: 0 auto;
  padding: 1.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: .68rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .04em;
}
.ms-footer-bar-links { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.ms-footer-bar-links a { color: rgba(255,255,255,.4); }
.ms-footer-bar-links a:hover { color: var(--gold); }

/* ── RESPONSIVE ─────────────────────────────────── */
@media (max-width: 1024px) {
  .ms-two-col { grid-template-columns: 1fr 300px; gap: 2rem; }
  .ms-pkg-grid { grid-template-columns: repeat(2, 1fr); }
  .ms-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .ms-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .ms-topbar-inner { flex-direction: column; gap: .4rem; }
  .ms-nav-links { display: none; } /* mobile: handled by JS toggle or theme mobile menu */
  .ms-two-col { grid-template-columns: 1fr; }
  .ms-sidebar { order: -1; } /* sidebar above content on mobile */
  .ms-pkg-grid { grid-template-columns: 1fr; }
  .ms-attr-grid { grid-template-columns: 1fr; }
  .ms-gallery--3 { grid-template-columns: repeat(2, 1fr); }
  .ms-gallery--masonry { grid-template-columns: repeat(2, 1fr); }
  .ms-related-grid { grid-template-columns: 1fr; }
  .ms-footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ms-author { flex-direction: column; }
  .ms-form-row { grid-template-columns: 1fr; }
  .ms-page { padding: 2rem 1.25rem; }
  .ms-packages { padding: 3rem 0; }
  .ms-cta { padding: 3rem 0; }
  .ms-hero { min-height: 70vh; }
  .ms-hero--medium { min-height: 50vh; }
}
@media (max-width: 480px) {
  .ms-gallery--3 { grid-template-columns: 1fr; }
  .ms-gallery--masonry { grid-template-columns: 1fr; }
  .ms-nav-cta { display: none; }
}

/* ── UTILITY ────────────────────────────────────── */
.ms-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ms-text-center { text-align: center; }
.ms-mt-0 { margin-top: 0; }
.ms-mb-0 { margin-bottom: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }

/* ── INCLUDES / EXCLUDES GRID (Zanzibar + Trekking templates) ──── */
.ms-inc-exc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.ms-inc-card, .ms-exc-card {
  border-radius: 8px;
  overflow: hidden;
}
.ms-inc-head, .ms-exc-head {
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .7rem 1rem;
}
.ms-inc-head {
  background: #e8f5e9;
  color: #2e7d32;
}
.ms-exc-head {
  background: #fce4ec;
  color: #c62828;
}
.ms-inc-list, .ms-exc-list {
  list-style: none;
  margin: 0;
  padding: .75rem 1rem;
  background: var(--cream);
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.ms-inc-list li, .ms-exc-list li {
  font-size: .88rem;
  color: var(--dark);
  line-height: 1.5;
  padding-left: 1.1rem;
  position: relative;
}
.ms-inc-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #2e7d32;
  font-size: .8rem;
}
.ms-exc-list li::before {
  content: '✗';
  position: absolute;
  left: 0;
  color: #c62828;
  font-size: .8rem;
}

/* ── ZANZIBAR ITINERARY TIMELINE ───────────────── */
.ms-itin-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 1.5rem 0;
}
.ms-itin-day {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 1rem;
  padding-bottom: 1.75rem;
}
.ms-itin-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ms-itin-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gold);
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--gold);
  flex-shrink: 0;
  margin-top: 3px;
}
.ms-itin-line {
  flex: 1;
  width: 2px;
  background: var(--gold-pale);
  margin-top: 4px;
}
.ms-itin-content { padding-top: 0; }
.ms-itin-title {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: .4rem;
}
.ms-itin-desc {
  font-size: .9rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ── SECTION SPACING (generic helper) ──────────── */
.ms-section { margin-bottom: 2.5rem; }
.ms-prose p { margin-bottom: 1rem; line-height: 1.8; }

/* ── RESPONSIVE: inc/exc grid ───────────────────── */
@media (max-width: 640px) {
  .ms-inc-exc-grid { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════
   BLOG POST TEMPLATE — mockup CSS (single-blog.php)
   Added: June.28
   ═══════════════════════════════════════════════════════════════ */

/* ── BLOG HERO ─────────────────────────────────────────────────── */
.blog-hero {
  position: relative;
  min-height: 68vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 5rem 0;
}
.blog-hero-bg {
  position: absolute;
  inset: 0;
  background: var(--forest) center/cover no-repeat;
  /* URL injected via wp_head — bypasses Smush lazy-load */
}
.blog-hero-orb1 {
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(203,146,119,.15) 0%, transparent 65%);
  top: -150px; right: -100px;
  filter: blur(70px);
  pointer-events: none;
}
.blog-hero-orb2 {
  position: absolute;
  width: 350px; height: 350px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(203,146,119,.1) 0%, transparent 70%);
  bottom: 60px; left: 40%;
  filter: blur(60px);
  pointer-events: none;
}
.blog-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(20,20,20,.88) 0%, rgba(20,20,20,.4) 60%, transparent 100%);
}
.blog-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
}

/* ── BREADCRUMB (inside hero) ──────────────────────────────────── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--mono);
  font-size: .67rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.breadcrumb a {
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color var(--ease);
}
.breadcrumb a:hover { color: var(--gold-lt); }
.breadcrumb .sep { color: rgba(255,255,255,.25); }
.breadcrumb .current { color: var(--gold-lt); }

/* ── POST CATEGORY BADGE ────────────────────────────────────────── */
.post-category {
  display: inline-flex;
  align-items: center;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-lt);
  border: 1px solid rgba(217,169,144,.3);
  padding: .25rem .85rem;
  border-radius: 100px;
  background: rgba(203,146,119,.12);
  margin-bottom: 1rem;
  backdrop-filter: blur(4px);
}

/* ── BLOG HERO HEADING ─────────────────────────────────────────── */
.blog-hero h1 {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 4.5vw, 3.4rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: .9rem;
}

/* ── POST EXCERPT ───────────────────────────────────────────────── */
.post-excerpt {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
  margin-bottom: 1.5rem;
  max-width: 600px;
}

/* ── POST META ──────────────────────────────────────────────────── */
.post-meta {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.meta-author {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.meta-author .author-avatar {
  width: 36px; height: 36px;
  background: linear-gradient(135deg, var(--gold), #9a6040);
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.meta-author .author-name {
  display: block;
  font-weight: 600;
  font-size: .82rem;
  color: var(--white);
}
.meta-author .author-title {
  display: block;
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .08em;
  color: rgba(255,255,255,.45);
}
.meta-sep {
  width: 1px; height: 28px;
  background: rgba(255,255,255,.2);
}
.meta-item {
  font-family: var(--mono);
  font-size: .64rem;
  letter-spacing: .08em;
  color: rgba(255,255,255,.5);
}

/* ── BLOG CONTAINER (two-column layout) ─────────────────────────── */
.blog-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 2rem;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 4rem;
  align-items: start;
}

/* ── POST BODY (article) ────────────────────────────────────────── */
.post-body {
  min-width: 0;
}
.post-body p {
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--text);
  margin-bottom: 1.35rem;
}
.post-body h2 {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--forest);
  margin: 2.5rem 0 .85rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sand);
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.post-body h2::before {
  content: '';
  display: block;
  width: 40px; height: 2px;
  background: var(--gold);
}
.post-body h3 {
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--dark);
  margin: 1.75rem 0 .65rem;
}
.post-body h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin: 1.25rem 0 .5rem;
}
.post-body ul, .post-body ol {
  margin: 0 0 1.35rem 0;
  padding-left: 0;
  list-style: none;
}
.post-body ul li {
  padding: .3rem 0 .3rem 1.6rem;
  position: relative;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--text);
}
.post-body ul li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 600;
}
.post-body ol {
  counter-reset: ol-cnt;
}
.post-body ol li {
  padding: .3rem 0 .3rem 1.8rem;
  position: relative;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--text);
  counter-increment: ol-cnt;
}
.post-body ol li::before {
  content: counter(ol-cnt) '.';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
  font-family: var(--mono);
  font-size: .8rem;
}
.post-body a {
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.post-body a:hover { color: var(--gold); }
.post-body img {
  max-width: 100%;
  border-radius: 12px;
  margin: 1.5rem 0;
}
.post-body blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.5rem;
  border-left: 3px solid var(--gold);
  background: var(--cream);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--dark);
}
.post-body figure { margin: 1.75rem 0; }
.post-body figcaption {
  font-size: .8rem;
  color: var(--muted);
  text-align: center;
  margin-top: .4rem;
  font-style: italic;
}

/* Pullquote */
.pullquote {
  margin: 2rem 0;
  padding: 1.75rem 2rem;
  background: var(--cream);
  border-radius: 16px;
  border-left: 4px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.2rem;
  font-style: italic;
  color: var(--forest);
  line-height: 1.7;
}

/* Highlight box */
.highlight-box {
  margin: 2rem 0;
  padding: 1.25rem 1.5rem;
  background: rgba(203,146,119,.08);
  border: 1px solid rgba(203,146,119,.25);
  border-radius: 12px;
}

/* Post tags */
.post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--sand);
}
.post-tag {
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--sand);
  padding: .3rem .8rem;
  border-radius: 100px;
  transition: var(--ease);
  text-decoration: none;
}
.post-tag:hover {
  color: var(--gold);
  border-color: rgba(203,146,119,.4);
}

/* ── AUTHOR BIO ─────────────────────────────────────────────────── */
.author-bio {
  background: var(--white);
  border: 1px solid var(--sand);
  border-radius: 16px;
  padding: 1.75rem;
  display: flex;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.bio-avatar {
  width: 64px; height: 64px;
  background: linear-gradient(135deg, var(--gold), #9a6040);
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.bio-avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 50%;
  margin: 0;
}
.bio-content { flex: 1; min-width: 0; }
.bio-content h3 {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--dark);
  margin: 0 0 .2rem;
}
.bio-role {
  display: block;
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .65rem;
}
.bio-content p {
  font-size: .88rem;
  line-height: 1.7;
  color: var(--muted);
  margin: 0;
}

/* ── BLOG SIDEBAR ───────────────────────────────────────────────── */
.blog-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Sidebar card */
.sb-card {
  background: var(--white);
  border: 1px solid var(--sand);
  border-radius: 14px;
  overflow: hidden;
}
.sb-head {
  background: var(--forest);
  padding: .9rem 1.25rem;
}
.sb-head h3 {
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-lt);
  margin: 0;
}
.sb-body { padding: 1.25rem; }

/* TOC list */
.toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.toc-list li { margin: 0; }
.toc-list li a {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .5rem 0;
  border-bottom: 1px solid var(--sand);
  font-size: .82rem;
  color: var(--muted);
  text-decoration: none;
  transition: color var(--ease);
  line-height: 1.4;
}
.toc-list li:last-child a { border-bottom: none; }
.toc-list li a:hover { color: var(--forest); }
.toc-list li a .dot {
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Related posts (sidebar) */
.related-post {
  display: flex;
  gap: .85rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--sand);
  align-items: flex-start;
}
.related-post:last-child { border-bottom: none; }
.rp-img {
  width: 52px; height: 52px;
  border-radius: 8px;
  flex-shrink: 0;
  background: var(--sand) center/cover no-repeat;
}
.rp-title {
  font-size: .82rem;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.35;
  margin-bottom: .2rem;
}
.rp-title a { color: var(--dark); text-decoration: none; }
.rp-title a:hover { color: var(--forest); }
.rp-date {
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .06em;
  color: var(--muted);
}

/* Sidebar CTA */
.cta-sidebar {
  background: linear-gradient(145deg, var(--forest) 0%, #2a2a2a 100%);
  border-radius: 14px;
  padding: 1.4rem;
  border: 1px solid rgba(203,146,119,.18);
  text-align: center;
}
.cta-sidebar p {
  color: rgba(255,255,255,.75);
  font-size: .84rem;
  margin: 0 0 1rem;
  line-height: 1.65;
}
.cs-btn {
  display: block;
  background: var(--gold);
  color: var(--forest);
  font-family: var(--mono);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .8rem;
  border-radius: 8px;
  transition: var(--ease);
  text-align: center;
  margin-bottom: .5rem;
  text-decoration: none;
}
.cs-btn:hover { background: var(--gold-lt); transform: translateY(-1px); }
.cs-wa {
  display: block;
  color: rgba(255,255,255,.6);
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  padding: .45rem;
  transition: var(--ease);
  text-decoration: none;
}
.cs-wa:hover { color: var(--gold-lt); }

/* ── RELATED POSTS SECTION (below article) ─────────────────────── */
.related-section {
  background: var(--white);
  border-top: 1px solid var(--sand);
  padding: 4.5rem 0;
}
.related-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
.related-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.related-header h2 {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--forest);
  margin: 0;
}
.see-all {
  font-family: var(--mono);
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  transition: var(--ease);
}
.see-all:hover { color: var(--forest); }

/* Post grid */
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.post-card {
  border: 1px solid var(--sand);
  border-radius: 14px;
  overflow: hidden;
  background: var(--white);
  transition: box-shadow var(--ease), transform var(--ease);
}
.post-card:hover {
  box-shadow: 0 8px 32px rgba(20,20,20,.1);
  transform: translateY(-2px);
}
.pc-img {
  height: 200px;
  background: var(--sand) center/cover no-repeat;
}
.pc-body { padding: 1.25rem; }
.pc-cat {
  font-family: var(--mono);
  font-size: .58rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: .45rem;
}
.pc-title {
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.35;
  margin: 0 0 .6rem;
}
.pc-title a { color: var(--dark); text-decoration: none; }
.pc-title a:hover { color: var(--forest); }
.pc-excerpt {
  font-size: .85rem;
  line-height: 1.65;
  color: var(--muted);
  margin: 0 0 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pc-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .06em;
  color: var(--muted);
  border-top: 1px solid var(--sand);
  padding-top: .75rem;
}
.pc-read {
  color: var(--gold);
  text-decoration: none;
  font-weight: 700;
  transition: var(--ease);
}
.pc-read:hover { color: var(--forest); }

/* ── BOTTOM CTA SECTION ─────────────────────────────────────────── */
.cta-section {
  background: linear-gradient(135deg, #cb9277 0%, #9a6040 50%, #6a3a20 100%);
  padding: 5.5rem 2rem;
  text-align: center;
}
.cta-content {
  max-width: 620px;
  margin: 0 auto;
}
.cta-content h2 {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 600;
  color: var(--white);
  margin: .5rem 0 1rem;
  line-height: 1.25;
}
.cta-content p {
  color: rgba(255,255,255,.8);
  font-size: .95rem;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.cta-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* Shared button styles */
.btn-white, .btn-border-white {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .85rem 2rem;
  border-radius: 5px;
  text-decoration: none;
  transition: var(--ease);
}
.btn-white {
  background: var(--white);
  color: var(--forest);
}
.btn-white:hover { background: var(--cream); transform: translateY(-2px); }
.btn-border-white {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.45);
}
.btn-border-white:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-2px);
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .blog-container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .blog-sidebar { position: static; }
  .post-grid { grid-template-columns: 1fr 1fr; }
  .blog-hero { min-height: 55vh; }
}
@media (max-width: 640px) {
  .blog-hero { min-height: 70vw; padding: 3rem 0; }
  .blog-hero-content { padding: 0 1.25rem; }
  .blog-hero h1 { font-size: 1.6rem; }
  .blog-container { padding: 2.5rem 1.25rem; }
  .post-grid { grid-template-columns: 1fr; }
  .related-inner { padding: 0 1.25rem; }
  .related-section { padding: 3rem 0; }
  .cta-section { padding: 3.5rem 1.25rem; }
  .author-bio { flex-direction: column; }
  .post-meta { gap: .75rem; }
  .meta-sep { display: none; }
}


/* =============================================================
   TRAVEL GUIDE PAGE  (page-travel-guide.php)
   Class names match travel-guide-page-June.28.html mockup
   ============================================================= */

/* Hero — editorial (shorter) */
.hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;padding-bottom:3.5rem;overflow:hidden}
.guide-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.guide-hero-bg .hero-bg-orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(203,146,119,.18) 0%,transparent 65%);top:-100px;right:100px;filter:blur(70px)}
.hero-category{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-lt);display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}
.hero-category::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.hero-meta{display:flex;align-items:center;gap:1.5rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.hero-meta span{display:flex;align-items:center;gap:.35rem}

/* Travel guide page container */
.page-container{max-width:var(--max);margin:0 auto;padding:4rem 2rem;display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start}

/* Article body */
.article .lead{font-size:1.12rem;line-height:1.82;color:var(--dark);margin-bottom:2rem;border-left:3px solid var(--gold);padding-left:1.25rem}
.article p{color:var(--text);margin-bottom:1.2rem;font-size:1rem;line-height:1.8}
.article h2{font-family:var(--serif);font-size:1.8rem;font-weight:600;color:var(--forest);margin-bottom:1.25rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--sand);position:relative}
.article h2::before{content:'';position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--gold)}
.article h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--dark);margin-bottom:.6rem;margin-top:1.75rem}
.eyebrow{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.4rem}

/* Travel guide sidebar */
.guide-sidebar{position:sticky;top:88px;display:flex;flex-direction:column;gap:1.25rem}
.toc-card{background:var(--white);border:1px solid var(--sand);border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm)}
.toc-head{background:var(--forest);padding:.9rem 1.25rem;display:flex;align-items:center;gap:.5rem}
.toc-head h3{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);font-weight:600}
.toc-body{padding:1.25rem}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:0}
.toc-list li a{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--sand);font-size:.84rem;color:var(--muted);transition:var(--ease)}
.toc-list li:last-child a{border-bottom:none}
.toc-list li a:hover{color:var(--gold);padding-left:4px}
.toc-list li a .num{font-family:var(--mono);font-size:.62rem;color:var(--gold);font-weight:700;flex-shrink:0;width:22px}
.related-card{background:var(--white);border:1px solid var(--sand);border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm)}
.related-head{background:var(--forest);padding:.9rem 1.25rem}
.related-head h3{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);font-weight:600}
.related-body{padding:1.1rem}
.related-link{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--sand);transition:var(--ease)}
.related-link:last-child{border-bottom:none}
.related-link:hover{padding-left:4px}
.related-dot{width:28px;height:28px;background:var(--cream);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}
.related-link-text{font-size:.84rem;color:var(--dark);font-weight:500;line-height:1.35}
.related-link-sub{font-size:.72rem;color:var(--muted)}
.cta-mini{background:linear-gradient(145deg,var(--forest) 0%,#2a2a2a 100%);border-radius:14px;padding:1.4rem;border:1px solid rgba(203,146,119,.18);text-align:center}
.cta-mini p{color:rgba(255,255,255,.75);font-size:.84rem;margin-bottom:1rem;line-height:1.65}
.cta-mini-btn{display:block;background:var(--gold);color:var(--forest);font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.8rem;border-radius:8px;transition:var(--ease);text-align:center;margin-bottom:.5rem}
.cta-mini-btn:hover{background:var(--gold-lt);transform:translateY(-1px)}
.wa-mini{display:block;color:rgba(255,255,255,.65);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.5rem;transition:var(--ease)}
.wa-mini:hover{color:var(--gold-lt)}

/* Travel guide CTA section */
.cta-section{background:linear-gradient(135deg,#cb9277 0%,#9a6040 50%,#6a3a20 100%);padding:5rem 2rem;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E") repeat}
.cta-content{position:relative;z-index:1;max-width:620px;margin:0 auto}
.cta-section h2{font-family:var(--serif);font-size:2.6rem;color:var(--white);margin-bottom:.9rem;line-height:1.15}
.cta-section p{color:rgba(255,255,255,.82);font-size:1.05rem;margin-bottom:2rem;line-height:1.7}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-white{background:var(--white);color:var(--forest);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2rem;border-radius:5px;transition:var(--ease);display:inline-flex;align-items:center;gap:.5rem}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.btn-border-white{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.5);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2rem;border-radius:5px;transition:var(--ease);display:inline-flex;align-items:center;gap:.5rem}
.btn-border-white:hover{border-color:var(--white);background:rgba(255,255,255,.1)}


/* =============================================================
   SAFARI EXPERIENCE PAGE  (page-safari-experience.php)
   Class names match safari-experience-page-June.28.html mockup
   ============================================================= */

/* Hero — full-height */
.exp-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding-bottom:5rem;overflow:hidden}
.exp-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-bg-orb1{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(203,146,119,.2) 0%,transparent 70%);top:-150px;right:50px;filter:blur(60px)}
.hero-bg-orb2{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(203,146,119,.15) 0%,transparent 70%);bottom:50px;left:100px;filter:blur(80px)}
.hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
.hero-badge{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lt);border:1px solid rgba(217,169,144,.35);padding:.28rem .85rem;border-radius:100px;background:rgba(203,146,119,.12);backdrop-filter:blur(4px)}
.hero-title{font-family:var(--serif);font-size:clamp(3.2rem,7.5vw,6.8rem);font-weight:700;color:var(--white);line-height:1.02;letter-spacing:-.02em;margin-bottom:1.1rem;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero-subtitle{font-size:1.1rem;font-weight:300;font-style:italic;color:rgba(255,255,255,.78);max-width:520px;margin-bottom:2.5rem;letter-spacing:.02em;line-height:1.7}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.scroll-hint{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.scroll-hint-line{width:1px;height:36px;background:linear-gradient(to bottom,var(--gold),transparent);animation:pulse 2.5s ease infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 2rem;border-radius:5px;transition:var(--ease);cursor:pointer;border:none;white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--forest)}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(203,146,119,.45)}
.btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.45)}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn-ghost{background:transparent;color:var(--gold);border:1.5px solid rgba(203,146,119,.45);font-size:.68rem}
.btn-ghost:hover{background:var(--gold);color:var(--forest)}

/* Page layout */
.page-wrap{max-width:var(--max);margin:0 auto;padding:4rem 2rem;display:grid;grid-template-columns:1fr 360px;gap:3.5rem;align-items:start}

/* Article — section headings for experience pages */
.section-heading{font-family:var(--serif);font-size:1.85rem;font-weight:600;color:var(--forest);margin-bottom:1.5rem;margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--sand);position:relative}
.section-heading::before{content:'';position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--gold)}
.section-eyebrow{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.4rem}

/* Feature grid */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.5rem 0 2.5rem}
.feature-card{background:var(--white);border:1px solid var(--sand);border-radius:12px;padding:1.4rem 1.5rem;transition:var(--ease)}
.feature-card:hover{border-color:rgba(203,146,119,.4);box-shadow:var(--sh-sm);transform:translateY(-2px)}
.feature-icon{font-size:1.6rem;margin-bottom:.65rem;display:block}
.feature-card h3{font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--dark);margin-bottom:.4rem;line-height:1.3}
.feature-card p{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0}

/* Destination list */
.dest-list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0 2.5rem}
.dest-card{background:var(--white);border:1px solid var(--sand);border-radius:12px;padding:1.4rem 1.75rem;display:flex;gap:1.25rem;align-items:flex-start;transition:var(--ease)}
.dest-card:hover{border-color:rgba(203,146,119,.4);box-shadow:var(--sh-sm)}
.dest-num{font-family:var(--serif);font-size:2.5rem;font-weight:700;color:var(--sand);line-height:1;flex-shrink:0;width:44px}
.dest-card h3{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--dark);margin-bottom:.35rem}
.dest-card p{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0}
.dest-tag{display:inline-block;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(203,146,119,.3);border-radius:100px;padding:.18rem .6rem;margin-bottom:.4rem}

/* Add-ons grid */
.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin:1.5rem 0 2.5rem}
.addon-item{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;background:var(--white);border:1px solid var(--sand);border-radius:10px;font-size:.9rem;font-weight:500;color:var(--dark);transition:var(--ease)}
.addon-item:hover{border-color:rgba(203,146,119,.4);color:var(--gold)}
.addon-item .em{font-size:1.3rem}

/* Tips list */
.tips-list{list-style:none;margin:1.5rem 0 2.5rem;display:flex;flex-direction:column;gap:.7rem}
.tips-list li{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;background:var(--white);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;font-size:.95rem;line-height:1.65;color:var(--text)}
.tips-list li::before{content:'→';color:var(--gold);flex-shrink:0;margin-top:1px}

/* Pull quote */
.pullquote{background:var(--forest);color:var(--white);padding:2.5rem;border-radius:14px;margin:2.5rem 0;position:relative;overflow:hidden}
.pullquote::before{content:'\201C';position:absolute;top:-2rem;left:1.25rem;font-family:var(--serif);font-size:9rem;color:var(--gold);opacity:.2;line-height:1}
.pullquote p{font-family:var(--serif);font-size:1.25rem;font-style:italic;line-height:1.7;color:rgba(255,255,255,.92);position:relative;z-index:1;margin:0}
.pullquote-attr{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lt);display:block;margin-top:1rem;position:relative;z-index:1}

/* Gallery */
.gallery-section{margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--sand);position:relative}
.gallery-section::before{content:'';position:absolute;top:-1px;left:0;width:48px;height:2px;background:var(--gold)}
.gallery-label{font-family:var(--serif);font-size:1.85rem;font-weight:600;color:var(--forest);margin-bottom:1.5rem}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:200px 200px;gap:.7rem;border-radius:14px;overflow:hidden}
.gallery-item{border-radius:8px;overflow:hidden;position:relative;background-size:cover;background-position:center}
.gallery-item--large{grid-column:span 2;grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1rem .75rem;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 100%);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* Experience sidebar */
.exp-sidebar{position:sticky;top:88px;display:flex;flex-direction:column;gap:1.4rem}
.s-card{background:var(--white);border:1px solid var(--sand);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm)}
.s-card-head{background:var(--forest);padding:1rem 1.4rem;display:flex;align-items:center;gap:.6rem}
.s-card-head h3{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);font-weight:600}
.s-card-body{padding:1.4rem}
.info-row{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--sand)}
.info-row:last-child{border-bottom:none}
.info-dot{width:32px;height:32px;background:var(--cream);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.info-lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block}
.info-val{font-weight:600;font-size:.88rem;color:var(--dark);display:block}

/* WhatsApp card */
.wa-card{background:linear-gradient(145deg,var(--forest) 0%,#2a2a2a 100%);border-radius:16px;padding:1.4rem;border:1px solid rgba(203,146,119,.18);text-align:center}
.wa-card p{color:rgba(255,255,255,.75);font-size:.85rem;margin-bottom:1rem;line-height:1.65}
.wa-btns{display:flex;flex-direction:column;gap:.5rem}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#25D366;color:var(--white);font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.75rem;border-radius:8px;transition:var(--ease)}
.wa-btn:hover{background:#1CB055;transform:translateY(-1px)}
.enq-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--gold-lt);font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.75rem;border-radius:8px;border:1.5px solid var(--gold);transition:var(--ease)}
.enq-btn:hover{background:var(--gold);color:var(--forest)}

/* Related safari packages (dark bg) */
.packages-section{background:var(--forest);padding:5rem 0}
.section-center{text-align:center;margin-bottom:2.5rem;max-width:var(--max);margin-left:auto;margin-right:auto;padding:0 2rem}
.section-center .eyebrow{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);display:block;margin-bottom:.5rem}
.section-center h2{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--white);margin-bottom:.6rem;line-height:1.15}
.section-center p{color:rgba(255,255,255,.55);font-size:1rem;max-width:480px;margin:0 auto}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;max-width:var(--max);margin:0 auto;padding:0 2rem}
.pkg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden;transition:var(--ease)}
.pkg-card:hover{border-color:rgba(203,146,119,.4);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.35)}
.pkg-img{height:190px;background-size:cover;background-position:center}
.pkg-body{padding:1.4rem}
.pkg-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-lt);display:block;margin-bottom:.4rem}
.pkg-card h3{font-family:var(--serif);font-size:1.12rem;color:var(--white);margin-bottom:.4rem;line-height:1.3}
.pkg-card p{font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:1rem}
.pkg-meta{display:flex;gap:1.2rem;margin-bottom:1.1rem}
.pkg-meta-i{font-size:.72rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.3rem}
.pkg-footer{display:flex;align-items:center;justify-content:space-between}
.pkg-price{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--gold-lt)}
.pkg-price-lbl{font-size:.6rem;font-family:var(--mono);color:rgba(255,255,255,.35);display:block}
