/* ==========================================================================
   GO2WILD AFRICA — Editorial Safari Journal Design System
   No framework. Custom grid, custom everything.
   ========================================================================== */

:root{
  --ink:#101210;
  --ink-soft:#181b16;
  --canvas:#f6f2e8;
  --canvas-dim:#ece5d4;
  --paper:#fbf8f1;
  --gold:#dba53c;
  --gold-soft:#f0d49a;
  --rust:#b5502f;
  --green:#26362a;
  --green-soft:#3c5240;
  --line: rgba(246,242,232,0.16);
  --line-dark: rgba(16,18,16,0.12);
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --container: 1240px;
  --radius: 2px;
}

*,*::before,*::after{box-sizing:border-box;}
svg{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;flex:none;}
.brand .mark svg, .divider-icon svg, .dossier-badge svg{width:100%;height:100%;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--canvas);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-0.01em;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 28px;}
.container-wide{max-width:1440px;margin:0 auto;padding:0 28px;}
::selection{background:var(--gold);color:var(--ink);}

/* ---------- utility ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);
  text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;
  color:var(--rust);margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--rust);display:inline-block;}
.on-dark .eyebrow{color:var(--gold);}
.on-dark .eyebrow::before{background:var(--gold);}
.section{padding:110px 0;}
.section-tight{padding:70px 0;}
.on-dark{background:var(--ink);color:var(--canvas);}
.on-green{background:var(--green);color:var(--canvas);}
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.serif{font-family:var(--font-display);}
.num-tag{font-family:var(--font-display);font-size:.85rem;color:var(--rust);}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border:1px solid var(--ink);border-radius:var(--radius);
  font-family:var(--font-body);font-weight:600;font-size:.85rem;letter-spacing:.03em;
  text-transform:uppercase;background:transparent;color:var(--ink);
  cursor:pointer;transition:all .3s ease;white-space:nowrap;
}
.btn:hover{background:var(--ink);color:var(--canvas);}
.btn-solid{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn-solid:hover{background:transparent;color:var(--gold);border-color:var(--gold);}
.btn-line-light{border-color:var(--canvas);color:var(--canvas);}
.btn-line-light:hover{background:var(--canvas);color:var(--ink);}
.btn-sm{padding:10px 20px;font-size:.75rem;}
.btn svg{width:16px;height:16px;transition:transform .25s ease;}
.btn:hover svg{transform:translateX(4px);}

/* ---------- topbar ---------- */
.topbar{
  background:var(--ink);color:var(--canvas-dim);font-size:.78rem;
  border-bottom:1px solid var(--line);
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;}
.topbar a{opacity:.85;}
.topbar a:hover{opacity:1;color:var(--gold);}
.topbar-links{display:flex;gap:22px;}
.topbar-links span, .topbar-links a{display:inline-flex;align-items:center;gap:6px;}
@media (max-width:900px){ .topbar{display:none;} }

/* ---------- nav ---------- */
.site-nav{
  position:sticky;top:0;z-index:200;
  background:var(--paper);border-bottom:1px solid var(--line-dark);
  transition:box-shadow .35s ease, padding .3s ease;
  padding:16px 0;
}
.site-nav.is-scrolled{box-shadow:0 8px 30px rgba(16,18,16,.1);padding:10px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-inner .brand{margin-right:56px;}
@media (max-width:1280px){.nav-inner .brand{margin-right:28px;}}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);}
.logo-chip{display:inline-flex;align-items:center;line-height:0;flex:none;}
.logo-chip img{height:48px;width:60px;object-fit:contain;display:block;}
.logo-chip-lg img{height:58px;width:72px;}

.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{
  color:#4a4d43;font-size:.83rem;font-weight:500;padding:10px 15px;
  text-transform:uppercase;letter-spacing:.04em;position:relative;
}
.nav-links a::after{content:"";position:absolute;left:15px;right:15px;bottom:6px;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.nav-links a:hover, .nav-links a.active{color:var(--ink);}
.nav-links a:hover::after, .nav-links a.active::after{transform:scaleX(1);}

.nav-right{display:flex;align-items:center;gap:18px;}
.lang-switch{position:relative;}
.lang-btn{display:flex;align-items:center;gap:6px;color:#4a4d43;font-size:.8rem;background:none;border:1px solid var(--line-dark);padding:8px 12px;border-radius:20px;cursor:pointer;}
.lang-btn:hover{border-color:var(--rust);color:var(--ink);}
.lang-menu{
  position:absolute;right:0;top:calc(100% + 10px);background:var(--paper);border:1px solid var(--line-dark);
  border-radius:8px;min-width:170px;padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all .2s ease;box-shadow:0 20px 40px rgba(16,18,16,.15);
}
.lang-switch:hover .lang-menu, .lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-menu a{display:flex;gap:8px;padding:8px 10px;font-size:.82rem;border-radius:5px;color:#4a4d43;text-transform:none;letter-spacing:0;}
.lang-menu a:hover{background:rgba(16,18,16,.06);color:var(--ink);}
.lang-menu a::after{display:none;}
.lang-menu a.active{color:var(--rust);}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:var(--ink);display:block;}
.nav-phone{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#4a4d43;white-space:nowrap;}
@media (max-width:1300px){.nav-phone{display:none;}}

@media (max-width:1080px){
  .nav-links{position:fixed;top:0;right:0;height:100vh;width:min(340px,84vw);background:var(--paper);
    flex-direction:column;align-items:flex-start;padding:100px 32px 32px;gap:4px;
    transform:translateX(100%);transition:transform .35s ease;box-shadow:-20px 0 60px rgba(16,18,16,.25);}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{width:100%;padding:14px 0;border-bottom:1px solid var(--line-dark);}
  .nav-toggle{display:flex;}
  .nav-cta{display:none;}
}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:90vh;display:flex;align-items:flex-end;
  background:var(--ink);color:var(--canvas);overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(16,18,16,.96) 0%, rgba(16,18,16,.55) 45%, rgba(16,18,16,.35) 100%);}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:90px;}
.hero-kicker{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--gold);margin-bottom:22px;}
.hero-kicker::before{content:"";width:44px;height:1px;background:var(--gold);}
.hero h1{font-size:clamp(2.6rem,6vw,5.4rem);max-width:16ch;color:var(--paper);}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero-sub{max-width:44ch;font-size:1.08rem;color:var(--canvas-dim);margin-top:20px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px;}
.hero-meta-row{display:flex;gap:50px;margin-top:70px;flex-wrap:wrap;}
.hero-meta-row .hm-num{font-family:var(--font-display);font-size:2rem;color:var(--gold);}
.hero-meta-row .hm-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--canvas-dim);margin-top:2px;}
.scroll-cue{position:absolute;right:28px;bottom:36px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--canvas-dim);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;}
.scroll-cue .stick{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:stick 1.8s ease-in-out infinite;}
@keyframes stick{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* simpler inner-page hero */
.page-hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;background:var(--ink);color:var(--canvas);padding-top:60px;overflow:hidden;}
.page-hero .hero-bg img{opacity:.42;}
.page-hero-inner{position:relative;z-index:2;padding-bottom:56px;}
.breadcrumb{display:flex;gap:8px;font-size:.78rem;color:var(--canvas-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:22ch;color:var(--paper);}
.page-hero p{max-width:52ch;color:var(--canvas-dim);margin-top:14px;font-size:1.02rem;}

/* ---------- marquee / trust ticker ---------- */
.marquee-strip{background:var(--gold);color:var(--ink);overflow:hidden;padding:14px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 32s linear infinite;width:max-content;}
.marquee-track span{font-family:var(--font-display);font-style:italic;font-size:1rem;padding:0 28px;display:flex;align-items:center;gap:28px;}
.marquee-track span::after{content:"✦";font-style:normal;opacity:.6;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- stat strip ---------- */
.stat-strip{background:var(--ink);color:var(--canvas);}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat-cell{padding:56px 30px;text-align:center;border-left:1px solid var(--line);}
.stat-cell:first-child{border-left:0;}
.stat-num{font-family:var(--font-display);font-size:2.6rem;color:var(--gold);}
.stat-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--canvas-dim);margin-top:6px;}
@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr);}.stat-cell:nth-child(3){border-left:0;}}

/* ---------- dossier / about split ---------- */
.dossier{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.dossier-media{position:relative;}
.dossier-media img{width:100%;border-radius:2px;}
.dossier-media .img-a{aspect-ratio:4/5;object-fit:cover;}
.dossier-media .img-b{position:absolute;width:52%;bottom:-42px;left:-42px;aspect-ratio:1/1;object-fit:cover;border:8px solid var(--canvas);box-shadow:0 24px 50px rgba(0,0,0,.18);}
.dossier-badge{position:absolute;top:-24px;right:-24px;background:var(--rust);color:var(--canvas);width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--font-display);box-shadow:0 14px 30px rgba(0,0,0,.25);}
.dossier-badge .n{font-size:1.9rem;line-height:1;}
.dossier-badge .t{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-body);}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:28px;}
.check-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;}
.check-list svg{flex:none;width:18px;height:18px;color:var(--rust);margin-top:3px;}
@media (max-width:920px){.dossier{grid-template-columns:1fr;gap:90px 0;} .check-list{grid-template-columns:1fr;}}

/* ---------- feature row ---------- */
.feature-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);}
.feature-cell{padding:44px 26px 44px 0;border-right:1px solid var(--line-dark);position:relative;}
.feature-cell:last-child{border-right:0;}
.feature-cell .fn{font-family:var(--font-display);color:var(--rust);font-size:.85rem;margin-bottom:14px;display:block;}
.feature-cell h4{font-size:1.15rem;}
.feature-cell p{color:#3d4038;font-size:.92rem;margin-bottom:0;}
@media (max-width:920px){.feature-row{grid-template-columns:1fr 1fr;} .feature-cell{border-right:none;border-bottom:1px solid var(--line-dark);padding:30px 20px;}}
@media (max-width:600px){.feature-row{grid-template-columns:1fr;}}

/* ---------- section headers ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);max-width:16ch;}
.section-head .shd-sub{max-width:40ch;color:#4a4d43;}
.on-dark .section-head .shd-sub{color:var(--canvas-dim);}
.section-head-center{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:56px;}
.section-head-center .eyebrow{margin:0 0 18px;}
.section-head-center h2{font-size:clamp(1.8rem,3.4vw,2.7rem);max-width:26ch;}
.section-head-center .shd-sub{max-width:56ch;color:#4a4d43;margin:14px auto 0;}
.on-dark .section-head-center .shd-sub{color:var(--canvas-dim);}

/* ---------- horizontal scroll safari index ---------- */
.hscroll{display:flex;gap:24px;overflow-x:auto;padding:6px 0 30px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.hscroll::-webkit-scrollbar{height:5px;}
.hscroll::-webkit-scrollbar-thumb{background:var(--line-dark);border-radius:10px;}
.safari-card{scroll-snap-align:start;flex:0 0 340px;background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.safari-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(16,18,16,.14);}
.safari-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.safari-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.safari-card:hover .safari-media img{transform:scale(1.06);}
.safari-tag{position:absolute;top:16px;left:16px;background:var(--ink);color:var(--gold);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;border-radius:20px;}
.safari-price{position:absolute;bottom:0;right:0;background:var(--gold);color:var(--ink);padding:10px 18px;font-family:var(--font-display);font-size:1.1rem;border-top-left-radius:6px;}
.safari-price small{display:block;font-family:var(--font-body);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.safari-body{padding:24px;}
.safari-meta{display:flex;gap:14px;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--rust);margin-bottom:10px;flex-wrap:wrap;}
.safari-meta span{display:flex;align-items:center;gap:5px;}
.safari-body h3{font-size:1.2rem;margin-bottom:8px;}
.safari-body p{font-size:.9rem;color:#4a4d43;margin-bottom:16px;}
.safari-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-dark);padding-top:14px;}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);}
.link-arrow svg{width:14px;height:14px;transition:transform .25s ease;}
.safari-card:hover .link-arrow svg{transform:translateX(5px);}

/* grid variant of safari cards (for listing pages) */
.safari-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:980px){.safari-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.safari-grid{grid-template-columns:1fr;}}
.safari-grid .safari-card{flex:none;width:auto;}

/* ---------- destination index list ---------- */
.dest-index{border-top:1px solid var(--line-dark);}
.dest-row{
  display:grid;grid-template-columns:70px 1fr 200px 40px;align-items:center;gap:24px;
  padding:30px 0;border-bottom:1px solid var(--line-dark);position:relative;transition:padding-left .3s ease;
}
.dest-row:hover{padding-left:14px;}
.dest-row .drn{font-family:var(--font-display);color:var(--rust);font-size:1.1rem;}
.dest-row h3{font-size:1.5rem;margin:0;}
.dest-row .dr-tag{font-size:.78rem;color:#5a5d52;text-transform:uppercase;letter-spacing:.06em;}
.dest-row .dr-thumb{width:100%;height:70px;border-radius:2px;overflow:hidden;opacity:0;transform:scale(.9);transition:all .3s ease;}
.dest-row:hover .dr-thumb{opacity:1;transform:scale(1);}
.dest-row .dr-thumb img{width:100%;height:100%;object-fit:cover;}
.dest-row .dr-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;transition:all .3s ease;}
.dest-row:hover .dr-arrow{background:var(--ink);border-color:var(--ink);}
.dest-row:hover .dr-arrow svg{stroke:var(--gold);}
.dest-row .dr-arrow svg{width:15px;height:15px;transition:transform .3s ease;}
.dest-row:hover .dr-arrow svg{transform:rotate(45deg);}
@media (max-width:760px){.dest-row{grid-template-columns:40px 1fr 30px;} .dr-thumb{display:none;}}

/* destination grid cards (used on destination detail related + gallery-ish contexts) */
.dest-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:980px){.dest-card-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dest-card-grid{grid-template-columns:1fr;}}
.dest-card{position:relative;aspect-ratio:3/4;border-radius:2px;overflow:hidden;display:block;}
.dest-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.dest-card:hover img{transform:scale(1.08);}
.dest-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,18,16,.85),transparent 55%);}
.dest-card-body{position:absolute;left:0;right:0;bottom:0;padding:20px;z-index:2;color:var(--canvas);}
.dest-card-body h4{font-size:1.15rem;margin-bottom:4px;}
.dest-card-body span{font-size:.76rem;color:var(--gold-soft);text-transform:uppercase;letter-spacing:.06em;}

/* ---------- process steps ---------- */
.step-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:step;}
.step-cell{padding:0 28px 0 0;position:relative;}
.step-cell .sn{font-family:var(--font-display);font-size:3rem;color:var(--gold-soft);-webkit-text-stroke:1px var(--rust);color:transparent;display:block;margin-bottom:14px;}
.step-cell h4{font-size:1.1rem;}
.step-cell p{font-size:.9rem;color:var(--canvas-dim);}
@media (max-width:920px){.step-list{grid-template-columns:1fr 1fr;gap:36px;}}
@media (max-width:560px){.step-list{grid-template-columns:1fr;}}

/* ---------- testimonial ---------- */
.testi-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;}
.testi-quote{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,2rem);font-style:italic;line-height:1.4;}
.testi-stars{color:var(--gold);margin-bottom:18px;letter-spacing:3px;}
.testi-author{display:flex;align-items:center;gap:14px;margin-top:26px;}
.testi-author img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.testi-author .n{font-weight:600;}
.testi-author .t{font-size:.82rem;color:var(--canvas-dim);}
.testi-nav{display:flex;gap:10px;margin-top:30px;}
.testi-dot{width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;border:0;}
.testi-dot.active{background:var(--gold);}
@media (max-width:860px){.testi-wrap{grid-template-columns:1fr;}}

/* ---------- gallery masonry-ish ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;grid-auto-rows:170px;}
.gal-grid a{position:relative;overflow:hidden;border-radius:2px;grid-row:span 1;}
.gal-grid a.tall{grid-row:span 2;}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gal-grid a:hover img{transform:scale(1.08);}
.gal-zoom{position:absolute;inset:0;background:rgba(16,18,16,.3);opacity:0;display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .3s ease;}
.gal-grid a:hover .gal-zoom{opacity:1;}
@media (max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr);}}
.gal-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.gal-filter{padding:9px 18px;border:1px solid var(--line-dark);border-radius:20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:transparent;}
.gal-filter.active,.gal-filter:hover{background:var(--ink);color:var(--gold);border-color:var(--ink);}

/* ---------- CTA banner ---------- */
.cta-band{position:relative;border-radius:2px;overflow:hidden;padding:100px 40px;text-align:center;color:var(--canvas);}
.cta-band .hero-bg img{opacity:.4;}
.cta-band-inner{position:relative;z-index:2;max-width:640px;margin:0 auto;}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,3rem);color:var(--paper);}
.cta-band p{color:var(--canvas-dim);}
.cta-band .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:30px;}

/* ---------- detail page (itinerary layout) ---------- */
.detail-layout{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start;}
.detail-toc{position:sticky;top:120px;border-left:2px solid var(--line-dark);padding-left:22px;}
.detail-toc .tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--rust);margin-bottom:14px;display:block;}
.detail-toc a{display:block;padding:8px 0;font-size:.88rem;color:#4a4d43;border-left:2px solid transparent;margin-left:-24px;padding-left:22px;}
.detail-toc a:hover, .detail-toc a.active{color:var(--ink);border-left-color:var(--rust);font-weight:600;}
.detail-fact{margin-top:30px;padding-top:24px;border-top:1px solid var(--line-dark);}
.detail-fact dl{display:grid;grid-template-columns:1fr auto;gap:10px 12px;font-size:.86rem;}
.detail-fact dt{color:#6b6e62;}
.detail-fact dd{margin:0;font-weight:600;text-align:right;}
.detail-price-box{margin-top:26px;background:var(--ink);color:var(--canvas);padding:24px;border-radius:2px;}
.detail-price-box .amt{font-family:var(--font-display);font-size:2.1rem;color:var(--gold);}
.detail-price-box .amt small{font-family:var(--font-body);font-size:.7rem;color:var(--canvas-dim);text-transform:uppercase;}
.detail-price-box .btn{width:100%;justify-content:center;margin-top:16px;}

.itinerary-day{display:grid;grid-template-columns:88px 1fr;gap:24px;padding:32px 0;border-bottom:1px solid var(--line-dark);}
.itinerary-day .day-num{font-family:var(--font-display);color:var(--rust);}
.itinerary-day .day-num span{display:block;font-family:var(--font-body);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#8a8d7f;margin-top:4px;}
.itinerary-day h4{font-size:1.2rem;}
.itinerary-day p{color:#43463c;}
.meta-pills{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 30px;}
.meta-pill{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line-dark);padding:10px 16px;border-radius:20px;font-size:.82rem;}
.meta-pill svg{width:16px;height:16px;color:var(--rust);}
.incl-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px;}
.incl-col h5{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--rust);margin-bottom:14px;}
.incl-col li{display:flex;gap:10px;padding:8px 0;font-size:.92rem;align-items:flex-start;}
.incl-col svg{width:16px;height:16px;flex:none;margin-top:3px;}
@media (max-width:920px){.detail-layout{grid-template-columns:1fr;} .detail-toc{position:static;border-left:0;padding-left:0;} .incl-grid{grid-template-columns:1fr;}}

/* ---------- trip planner ---------- */
.planner-card{background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;padding:48px;}
@media (max-width:700px){.planner-card{padding:28px 22px;}}
.response-banner{display:flex;gap:16px;align-items:flex-start;background:var(--ink);color:var(--canvas);padding:20px 24px;border-radius:2px;margin-bottom:40px;}
.response-banner svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:2px;}
.response-banner strong{color:var(--paper);}
.response-banner p{margin:4px 0 0;font-size:.88rem;color:var(--canvas-dim);}
.form-section-label{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;color:var(--rust);margin:36px 0 18px;}
.form-section-label:first-of-type{margin-top:0;}
.form-section-label svg{width:18px;height:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-row.cols-3{grid-template-columns:1fr 1fr 1fr;}
@media (max-width:700px){.form-row,.form-row.cols-3{grid-template-columns:1fr;}}

.path-toggle{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:700px){.path-toggle{grid-template-columns:1fr;}}
.path-option{position:relative;display:block;border:1px solid var(--line-dark);border-radius:2px;padding:24px;cursor:pointer;transition:all .2s ease;}
.path-option input{position:absolute;opacity:0;}
.path-option.is-active{border-color:var(--rust);background:var(--paper);box-shadow:0 8px 24px rgba(16,18,16,.08);}
.path-option .path-check{position:absolute;top:18px;right:18px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;color:transparent;}
.path-option.is-active .path-check{background:var(--rust);border-color:var(--rust);color:var(--canvas);}
.path-option .path-check svg{width:13px;height:13px;}
.path-option h4{font-size:1.05rem;margin-bottom:6px;}
.path-option p{font-size:.85rem;color:#5a5d52;margin:0;}

.dest-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media (max-width:860px){.dest-check-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dest-check-grid{grid-template-columns:1fr;}}
.dest-check{position:relative;}
.dest-check input{position:absolute;opacity:0;}
.dest-check label{display:flex;align-items:center;gap:10px;border:1px solid var(--line-dark);border-radius:2px;padding:12px 16px;cursor:pointer;font-size:.9rem;transition:all .2s ease;}
.dest-check input:checked + label{border-color:var(--rust);background:var(--paper);color:var(--ink);font-weight:600;}
.dest-check .emoji{font-size:1.1rem;}

.duration-pills{display:flex;flex-wrap:wrap;gap:10px;}
.duration-pills input{position:absolute;opacity:0;}
.duration-pills label{display:inline-block;border:1px solid var(--line-dark);border-radius:20px;padding:10px 20px;font-size:.85rem;cursor:pointer;transition:all .2s ease;}
.duration-pills input:checked + label{background:var(--ink);color:var(--gold);border-color:var(--ink);}

.choice-pills{display:flex;gap:10px;}
.choice-pills input{position:absolute;opacity:0;}
.choice-pills label{border:1px solid var(--line-dark);border-radius:20px;padding:10px 22px;font-size:.85rem;cursor:pointer;transition:all .2s ease;}
.choice-pills input:checked + label{background:var(--rust);color:var(--canvas);border-color:var(--rust);}

.planner-path-panel{display:none;}
.planner-path-panel.is-visible{display:block;}
.planner-submit-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px;}
.btn-whatsapp{background:#25D366;border-color:#25D366;color:#fff;}
.btn-whatsapp:hover{background:transparent;color:#25D366;}
.privacy-note{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#6b6e62;margin-top:18px;}
.privacy-note svg{width:15px;height:15px;color:var(--rust);}

.planner-thankyou{display:none;text-align:center;padding:70px 30px;background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;}
.planner-thankyou.is-visible{display:block;}
.planner-card.is-hidden{display:none;}
.planner-thankyou .icon{width:70px;height:70px;border-radius:50%;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:28px;}
.planner-thankyou .icon svg{width:30px;height:30px;}

.is-invalid{border-color:var(--rust) !important;background:rgba(181,80,47,.06) !important;}

/* ---------- destination / simple detail page ---------- */
.dest-detail-layout{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start;}
@media (max-width:960px){.dest-detail-layout{grid-template-columns:1fr;}}
.detail-hero-img{width:100%;border-radius:2px;margin:24px 0;aspect-ratio:16/10;object-fit:cover;}
.dest-main h3{font-size:1.25rem;margin-top:34px;}
.dest-main p{color:#3d4038;}
.quick-facts-card{background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;padding:30px;position:sticky;top:120px;}
.quick-facts-card h5{font-family:var(--font-display);font-size:1.15rem;margin-bottom:16px;}
.qf-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-dark);font-size:.88rem;}
.qf-row:last-of-type{border-bottom:0;}
.qf-row span{color:#6b6e62;}
.qf-row strong{text-align:right;font-weight:600;}
.quick-facts-card .btn{width:100%;justify-content:center;margin-top:10px;}
.related-card{background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;padding:24px;margin-top:24px;}
.related-card h5{font-family:var(--font-display);font-size:1.05rem;margin-bottom:14px;}
.related-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-dark);}
.related-item:last-child{border-bottom:0;}
.related-item img{width:56px;height:56px;object-fit:cover;border-radius:2px;flex:none;}
.related-item .ri-text{display:flex;flex-direction:column;gap:2px;}
.related-item .ri-name{font-size:.88rem;font-weight:600;color:var(--ink);}
.related-item .ri-tag{font-size:.74rem;color:#8a8d7f;}

/* ---------- contact ---------- */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
.contact-info-card{background:var(--ink);color:var(--canvas);padding:44px;border-radius:2px;}
.contact-info-card h3{color:var(--paper);}
.cinfo-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.cinfo-row:last-of-type{border-bottom:0;}
.cinfo-row svg{width:20px;height:20px;color:var(--gold);flex:none;margin-top:2px;}
.cinfo-row .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--canvas-dim);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:#4a4d43;}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line-dark);background:var(--paper);padding:14px 16px;
  font-family:var(--font-body);font-size:.95rem;border-radius:2px;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rust);}
@media (max-width:920px){.contact-layout{grid-template-columns:1fr;} .form-grid{grid-template-columns:1fr;}}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--canvas-dim);padding-top:90px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:70px;border-bottom:1px solid var(--line);}
.footer-brand-word{font-family:var(--font-display);font-size:1.8rem;color:var(--paper);}
.footer-brand-word small{display:block;font-size:.6rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-top:4px;}
.footer-top p{font-size:.92rem;max-width:34ch;}
.social-row{display:flex;gap:10px;margin-top:20px;}
.social-circle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s ease;}
.social-circle:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.social-circle svg{width:16px;height:16px;}
.footer-h{color:var(--paper);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;font-family:var(--font-body);font-weight:600;}
.footer-links li{padding:7px 0;}
.footer-links a:hover{color:var(--gold);}
.footer-newsletter{display:flex;gap:0;margin-top:16px;border:1px solid var(--line);border-radius:30px;overflow:hidden;padding:4px;}
.footer-newsletter input{flex:1;background:none;border:0;padding:10px 16px;color:var(--canvas);font-family:var(--font-body);}
.footer-newsletter input:focus{outline:none;}
.footer-newsletter button{background:var(--gold);border:0;width:40px;height:40px;border-radius:50%;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.footer-newsletter svg{width:16px;height:16px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:28px 0;font-size:.8rem;flex-wrap:wrap;gap:10px;}
.footer-bottom a:hover{color:var(--gold);}
@media (max-width:980px){.footer-top{grid-template-columns:1fr 1fr;gap:40px;}}
@media (max-width:600px){.footer-top{grid-template-columns:1fr;}}

/* ---------- floating buttons ---------- */
.floating-btns{position:fixed;right:22px;bottom:22px;z-index:300;display:flex;flex-direction:column;gap:12px;}
.floating-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .25s ease;}
.floating-btn:hover{transform:translateY(-4px) scale(1.05);}
.floating-btn.whatsapp{background:#25D366;color:#fff;}
.floating-btn.back-to-top{background:var(--ink);color:var(--gold);opacity:0;pointer-events:none;transition:opacity .3s ease, transform .25s ease;}
.floating-btn.back-to-top.show{opacity:1;pointer-events:auto;}
.floating-btn svg{width:22px;height:22px;}

/* ---------- misc blocks ---------- */
.pull-quote{border-left:3px solid var(--rust);padding-left:24px;font-family:var(--font-display);font-style:italic;font-size:1.3rem;margin:34px 0;}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;}
.tag-chip{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line-dark);padding:7px 14px;border-radius:20px;color:#4a4d43;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
@media (max-width:860px){.two-col{grid-template-columns:1fr;}}
.divider-icon{display:inline-block;color:var(--rust);width:26px;height:26px;margin-bottom:14px;}
.faq-item{border-bottom:1px solid var(--line-dark);padding:22px 0;}
.faq-q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:1.02rem;}
.faq-q svg{width:18px;height:18px;transition:transform .3s ease;flex:none;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:#4a4d43;}
.faq-item.open .faq-a{max-height:400px;padding-top:14px;}

[data-reveal]{transform:translateY(20px);transition:transform .7s ease;}
[data-reveal].in{transform:translateY(0);}

/* ---------- icon cards (mission/vision/values) ---------- */
.icon-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:860px){.icon-card-grid{grid-template-columns:1fr;}}
.icon-card{background:var(--paper);border:1px solid var(--line-dark);border-radius:2px;padding:44px 34px;text-align:center;}
.icon-card .ic-circle{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:24px;}
.icon-card h3{font-size:1.3rem;}
.icon-card p{color:#4a4d43;margin-bottom:0;}

/* ---------- team grid ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:980px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr 1fr;gap:16px;}}
.team-card{text-align:center;}
.team-avatar{aspect-ratio:1/1;border-radius:50%;background:var(--green);color:var(--gold-soft);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.8rem;margin:0 auto 16px;width:100%;max-width:150px;transition:transform .3s ease;}
.team-card:hover .team-avatar{transform:translateY(-4px);}
.team-card h4{font-size:1.05rem;margin-bottom:2px;}
.team-card .role{font-size:.8rem;color:var(--rust);text-transform:uppercase;letter-spacing:.05em;}

/* ---------- health/info rows ---------- */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media (max-width:860px){.info-grid{grid-template-columns:1fr;}}
.info-item{display:flex;gap:20px;align-items:flex-start;}
.info-item .ii-icon{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none;font-size:20px;}
.info-item h4{font-size:1.1rem;}
.info-item p{color:#4a4d43;font-size:.92rem;}

/* ---------- inline mini stats ---------- */
.inline-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;text-align:center;}
.inline-stats .is-num{font-family:var(--font-display);font-size:1.7rem;color:var(--rust);}
.inline-stats .is-label{font-size:.76rem;color:#6b6e62;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}

/* ---------- simple checklist ---------- */
.simple-list h3{font-size:1.25rem;display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.simple-list h3 svg{color:var(--rust);}
.simple-list li{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line-dark);font-size:.95rem;}
.simple-list li:last-child{border-bottom:0;}
.simple-list li svg{flex:none;width:18px;height:18px;color:var(--rust);margin-top:2px;}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(10,11,9,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease;padding:40px;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:min(90vw,1100px);max-height:78vh;object-fit:contain;border-radius:2px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lightbox-caption{position:absolute;bottom:56px;left:0;right:0;text-align:center;color:var(--canvas-dim);font-size:.9rem;}
.lightbox-close{position:absolute;top:26px;right:32px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--canvas);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.lightbox-close svg{width:20px;height:20px;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--canvas);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.lightbox-nav.prev{left:24px;}
.lightbox-nav.next{right:24px;}
.lightbox-nav.prev svg{transform:rotate(180deg);}
.lightbox-close svg{transform:rotate(45deg);}
.lightbox-nav svg{width:22px;height:22px;}
@media (max-width:700px){.lightbox-nav{width:40px;height:40px;}.lightbox-nav.prev{left:8px;}.lightbox-nav.next{right:8px;}.lightbox-close{top:14px;right:14px;}}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.blog-grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1180px){.blog-grid.cols-4{grid-template-columns:repeat(3,1fr);}}
@media (max-width:860px){.blog-grid.cols-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.blog-grid.cols-4{grid-template-columns:1fr;}}
.blog-card{border:1px solid var(--line-dark);border-radius:2px;overflow:hidden;}
.blog-media{aspect-ratio:16/10;overflow:hidden;}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.blog-card:hover .blog-media img{transform:scale(1.06);}
.blog-body{padding:22px;}
.blog-date{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rust);margin-bottom:8px;display:block;}
.blog-body h3{font-size:1.15rem;}
