:root{
  --cream:#F6F1E4;     /* parchment — refined warm ivory for content sections */
  --dark:#1E1B16;      /* ink — near-black charcoal, body text + dark bands */
  --sunset:#B9862E;    /* brass — primary accent */
  --sunset-deep:#8A6321; /* deep brass — hover/secondary */
  --clay:#A6522C;      /* clay — signature accent: horizon line, dividers, hover underlines */
  --moss:#333F30;      /* deep safari green — alternate dark band */
  --ivory-chip:#F1E6C8;
  --line:#DED2B4;      /* hairline rule on parchment */
  --max:1300px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',Arial,sans-serif;background:var(--cream);color:var(--dark);line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;line-height:1.15;font-weight:500;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
img{max-width:100%;display:block;}

/* Buttons */
.btn{display:inline-block;padding:14px 32px;border-radius:1px;font-weight:600;letter-spacing:.6px;font-size:13px;text-transform:uppercase;transition:.25s;}
.btn-gold{background:var(--clay);color:#fff;}
.btn-gold:hover{background:var(--dark);}
.btn-outline-gold{border:1px solid var(--clay);color:var(--clay);}
.btn-outline-gold:hover{background:var(--clay);color:#fff;}
.btn-sm{padding:8px 18px;font-size:11px;}

.eyebrow,.hero-eyebrow{display:block;color:var(--clay);font-weight:600;letter-spacing:2.5px;text-transform:uppercase;font-size:12px;margin-bottom:10px;font-family:'Inter',sans-serif;}
.section{padding:96px 0;}
.section h2{font-size:38px;margin-bottom:28px;}
.lead{font-size:20px;line-height:1.7;}

/* Dark band variant — editorial contrast section (safari-dusk register) */
.band-dark{background:var(--dark);color:var(--ivory-chip);}
.band-dark .eyebrow,.band-dark .hero-eyebrow{color:var(--sunset);}
.band-dark h2,.band-dark h3{color:#fff;}
.band-moss{background:var(--moss);color:var(--ivory-chip);}
.band-moss .eyebrow{color:var(--ivory-chip);}
.band-moss h2,.band-moss h3{color:#fff;}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:.3s;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;}
.brand .logo{height:56px;width:auto;}
.brand .logo-scrolled{display:none;}
.site-header.scrolled{background:var(--cream);box-shadow:0 2px 10px rgba(0,0,0,.08);}
.site-header.scrolled .brand .logo-default{display:none;}
.site-header.scrolled .brand .logo-scrolled{display:block;}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav a{font-weight:600;font-size:15px;color:#fff;}
.site-header.scrolled .main-nav a{color:var(--dark);}
.main-nav a.nav-cta{background:var(--clay);color:#fff !important;padding:10px 22px;border-radius:1px;}
.nav-mega-wrap{position:relative;}
.mega-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:1000px;max-width:90vw;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.15);border-radius:6px;padding:24px;display:none;}
.nav-mega-wrap:hover .mega-menu{display:block;}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.mega-item{display:flex;flex-direction:column;gap:4px;color:var(--dark) !important;padding:12px;border-radius:6px;}
.mega-item:hover{background:var(--cream);}
.mega-icon{font-size:24px;}
.mega-name{font-weight:700;}
.mega-tag{font-size:12px;color:#8a7a63;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;z-index:1100;}
.hamburger span{width:26px;height:2px;background:#fff;}
.site-header.scrolled .hamburger span{background:var(--dark);}

/* Mobile popup */
.mobile-popup{position:fixed;inset:0;background:var(--dark);z-index:2000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;}
body.mobile-menu-open .mobile-popup{display:flex;}
body.mobile-menu-open .site-header{display:none;}
.mobile-nav a{color:#fff;font-size:22px;font-weight:600;}
.mobile-close{position:absolute;top:24px;right:24px;background:none;border:0;color:#fff;font-size:28px;cursor:pointer;}

/* WhatsApp float */
.whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25D366;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:0 4px 14px rgba(0,0,0,.25);}

/* Hero */
.hero,.page-hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(30,27,22,.5),rgba(30,27,22,.8)),url('img/hero-safari.jpg') center/cover;color:#fff;}
.page-hero{background-image:linear-gradient(180deg,rgba(30,27,22,.5),rgba(30,27,22,.8)),url('img/page-hero-default.jpg');background-size:cover;background-position:center;}
.td-hero{background-image:linear-gradient(180deg,rgba(30,27,22,.5),rgba(30,27,22,.85)),var(--hero-img,url('img/page-hero-default.jpg'));}
.page-hero-short{height:40vh;min-height:280px;}
.hero-content h1{font-size:64px;font-weight:400;color:#fff;margin:8px 0 20px;}
.page-hero .hero-content h1{font-size:46px;}
.hero-sub{font-size:19px;font-family:'Inter',sans-serif;max-width:560px;margin-bottom:28px;color:var(--ivory-chip);line-height:1.7;}
.hero-mark{position:absolute;inset:0;background:url('img/logo-watermark.png') center/300px no-repeat;opacity:.06;pointer-events:none;}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:#fff;letter-spacing:3px;font-size:11px;text-transform:uppercase;font-family:'Inter',sans-serif;opacity:.8;}
.td-facts-row{display:flex;gap:16px;color:var(--ivory-chip);font-weight:600;font-family:'Inter',sans-serif;}

/* Signature: horizon line — a thin brass/clay line that draws in on load, like dawn breaking over the plain */
.horizon-line{position:absolute;left:8%;right:8%;bottom:22%;height:1px;background:linear-gradient(90deg,transparent,var(--sunset) 15%,var(--clay) 50%,var(--sunset) 85%,transparent);transform:scaleX(0);transform-origin:center;animation:horizon-draw 1.6s cubic-bezier(.22,.9,.3,1) .3s forwards;pointer-events:none;}
.horizon-sun{position:absolute;top:-5px;left:50%;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:var(--sunset);box-shadow:0 0 18px 4px rgba(185,134,46,.55);opacity:0;animation:horizon-sun-rise 1.4s ease-out 1.1s forwards;}
@keyframes horizon-draw{to{transform:scaleX(1);}}
@keyframes horizon-sun-rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.horizon-line{animation:none;transform:scaleX(1);}.horizon-sun{animation:none;opacity:1;}}

/* Homepage split hero (text+CTA left, photo right) — distinct from the full-bleed .page-hero used elsewhere */
.hero-split{position:relative;background:var(--dark);padding:64px 0 40px;overflow:hidden;}
.hero-split-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:2;}
.hero-badge{display:inline-block;background:rgba(185,134,46,.15);color:var(--sunset);border:1px solid rgba(185,134,46,.3);padding:6px 14px;font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:20px;}
.hero-split-text h1{color:#fff;font-size:48px;font-weight:400;line-height:1.15;margin-bottom:18px;}
.hero-split-text h1 em{font-style:italic;color:var(--sunset);}
.hero-split-text .hero-sub{color:var(--ivory-chip);font-family:'Inter',sans-serif;font-size:16.5px;max-width:480px;margin-bottom:28px;}
.hero-cta-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:32px;}
.hero-text-link{color:#fff;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;}
.hero-text-link:hover{border-color:var(--sunset);color:var(--sunset);}
.hero-mini-stats{display:flex;gap:28px;flex-wrap:wrap;}
.hero-mini-stats span{font-family:'Inter',sans-serif;font-size:13px;color:#c9beac;}
.hero-mini-stats strong{color:var(--sunset);font-family:'Fraunces',Georgia,serif;font-weight:600;}
.hero-split-img{height:460px;background-size:cover;background-position:center;border-radius:2px;}
.hero-split .horizon-line{bottom:8px;left:24px;right:24px;}
.hero-split .scroll-cue{position:relative;text-align:center;margin-top:20px;color:#8a7a63;}
@media (max-width:900px){
  .hero-split-inner{grid-template-columns:1fr;gap:32px;}
  .hero-split-text h1{font-size:36px;}
  .hero-split-img{height:280px;order:-1;}
}

/* Cards — editorial: hairline border, minimal shadow, brass rule reveals on hover */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.trip-card,.dest-card,.journal-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:.3s;position:relative;}
.trip-card:hover,.dest-card:hover,.journal-card:hover{border-color:var(--clay);box-shadow:0 14px 30px rgba(30,27,22,.1);}
.trip-card-img,.dest-card-img,.journal-card-img{height:210px;background-size:cover;background-position:center;position:relative;}
.trip-card:hover .trip-card-img,.dest-card:hover .dest-card-img,.journal-card:hover .journal-card-img{filter:saturate(1.08);}

/* Ticket-stub duration badge — a safari-permit motif: perforated edge + notch */
.trip-duration{position:absolute;top:14px;left:14px;background:var(--dark);color:var(--ivory-chip);font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;padding:5px 12px 5px 10px;border-radius:1px;}
.trip-duration:before{content:'';position:absolute;left:-4px;top:50%;width:8px;height:8px;background:var(--cream);border-radius:50%;transform:translateY(-50%);}

.trip-card-body,.dest-card h3,.journal-card h3{padding:20px 20px 6px;font-size:19px;font-weight:500;}
.trip-card-body p,.dest-card p,.journal-card p{padding:0 20px 20px;color:#6b5a45;font-size:14px;font-family:'Inter',sans-serif;}
.trip-type-tag{font-size:10px;font-weight:700;color:var(--clay);text-transform:uppercase;letter-spacing:1.5px;font-family:'Inter',sans-serif;}
.trip-rating{padding:0 20px 20px;color:var(--sunset-deep);font-size:13px;font-family:'Inter',sans-serif;}
.section-cta{text-align:center;margin-top:36px;}

/* Why sections */
.why-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:center;}
.why-badges{display:flex;flex-direction:column;gap:16px;}
.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;background:rgba(255,255,255,.12);}
.reasons-grid.three{grid-template-columns:repeat(2,1fr);}
.reason-card{background:var(--dark);padding:32px 28px;border-top:2px solid var(--sunset);}
.reason-card h3{color:var(--ivory-chip);margin-bottom:10px;font-size:20px;}
.reason-card p{color:#c9beac;font-family:'Inter',sans-serif;font-size:14.5px;}

/* Split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.split-img{height:380px;background-size:cover;background-position:center;border-radius:1px;}
.team-spotlight .split-img{height:440px;}

/* Reviews */
.reviews-slider{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;}
.review-slide{min-width:100%;scroll-snap-align:start;background:#fff;border:1px solid var(--line);padding:40px;}
.review-quote{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:22px;font-weight:400;margin-bottom:16px;line-height:1.5;}
.review-author{font-weight:600;color:var(--clay);font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.5px;}

/* Affiliates */
.affiliates-row{display:flex;gap:40px;align-items:center;justify-content:center;flex-wrap:wrap;opacity:.7;}
.affiliates-row img{height:40px;}

/* Contact */
.contact-form{display:flex;flex-direction:column;gap:16px;background:#fff;border:1px solid var(--line);padding:32px;}
.contact-form label{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-family:'Inter',sans-serif;display:flex;flex-direction:column;gap:8px;}
.contact-form input,.contact-form textarea{border:1px solid var(--line);border-radius:1px;padding:11px 14px;font-family:'Inter',sans-serif;font-size:15px;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--clay);outline-offset:1px;}
.form-success{background:#e7f6ea;color:#256b35;padding:16px;border-radius:1px;font-family:'Inter',sans-serif;}

/* Prose */
.prose{max-width:760px;margin:0 auto;font-size:17px;}
.prose p{margin-bottom:16px;}

/* Tour detail */
.td-designer{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.td-designer img{width:48px;height:48px;border-radius:50%;object-fit:cover;}
.td-designer span{display:block;font-size:13px;color:#8a7a63;}
.td-carousel{display:flex;overflow-x:auto;gap:12px;margin-top:20px;scroll-snap-type:x mandatory;}
.td-carousel-slide{min-width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:8px;scroll-snap-align:start;}
.td-carousel-slide.ar-3-2{aspect-ratio:3/2;}
.td-carousel-slide.ar-16-9{aspect-ratio:16/9;}
.summary-table{width:100%;border-collapse:collapse;}
.summary-table td,.summary-table th{border-bottom:1px solid #e3d7c0;padding:10px 8px;text-align:left;}
.td-highlights ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.td-highlights li:before{content:'✦ ';color:var(--sunset);}
.experience-block{margin-top:16px;padding-left:16px;border-left:2px solid var(--sunset);}

/* Itinerary accordion (Altezza-style layout: sticky map + visit list, day accordions) */
.itin-heading{margin-bottom:24px;}
.itin-grid{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start;}
.itin-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px;}
.sticky-map{height:220px;border-radius:8px;overflow:hidden;background:#eee;}
.itin-visit-list{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 4px 16px rgba(0,0,0,.05);}
.itin-visit-list h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--sunset-deep);margin-bottom:8px;}
.itin-visit-list ul{list-style:none;}
.itin-visit-list li{padding:4px 0;font-size:14px;}
.itin-visit-list li:before{content:'📍 ';}

.itin-days{display:flex;flex-direction:column;gap:12px;}
.itin-day{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);overflow:hidden;}
.itin-day-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:none;border:0;cursor:pointer;text-align:left;font-size:15px;font-family:inherit;color:var(--dark);}
.itin-day-label strong{font-family:'Fraunces',Georgia,serif;font-weight:600;}
.itin-chevron{transition:.2s;color:var(--sunset-deep);}
.itin-day-header[aria-expanded="true"] .itin-chevron{transform:rotate(180deg);}
.itin-day-body{padding:0 20px 20px;}
.itin-day-body[hidden]{display:none;}
.itin-day-carousel{margin-bottom:16px;}
.itin-transfer-meta{color:#8a7a63;font-style:italic;margin-bottom:6px;}
.itin-day-transfer .itin-day-header{color:#6b5a45;}
.itin-stay-strip{margin-top:16px;padding-top:16px;border-top:1px solid #e3d7c0;}
.itin-stay-meta{display:block;font-size:12px;font-weight:700;color:var(--sunset-deep);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
.itin-stay-card{display:flex;align-items:center;gap:12px;background:var(--cream);border-radius:6px;padding:8px;}
.itin-stay-card-img{width:80px;height:60px;border-radius:4px;background-size:cover;background-position:center;flex-shrink:0;}
.itin-stay-card span{font-weight:600;font-size:14px;}

@media (max-width:900px){
  .itin-grid{grid-template-columns:1fr;}
  .itin-side{position:static;}
}
.inclusions-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.inclusions-grid ul{list-style:none;}
.inclusions-grid li{padding:6px 0;}
.sticky-bottom-bar{position:fixed;bottom:0;left:0;right:0;background:var(--dark);color:#fff;padding:14px 0;transform:translateY(100%);transition:.3s;z-index:800;}
.sticky-bottom-bar.visible{transform:translateY(0);}
.sticky-bar-inner{display:flex;justify-content:space-between;align-items:center;}

@media (max-width:900px){
  .main-nav{display:none;}
  .hamburger{display:flex;}
  .card-grid,.reasons-grid,.why-grid,.split,.inclusions-grid,.td-highlights ul{grid-template-columns:1fr;}
  .hero-content h1{font-size:36px;}
}

/* Footer — newsletter bar / ready-to-plan strip / columns / bottom bar */
.footer-newsletter{background:var(--dark);color:var(--ivory-chip);padding:28px 0;}
.footer-newsletter-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.footer-newsletter-inner p{font-family:'Inter',sans-serif;font-size:14px;color:#c9beac;}
.newsletter-form{display:flex;gap:10px;}
.newsletter-form input{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;padding:10px 14px;border-radius:1px;font-family:'Inter',sans-serif;min-width:240px;}
.newsletter-form input::placeholder{color:#a89a80;}

.footer-ready{background:var(--cream);border-bottom:1px solid var(--line);padding:32px 0;}
.footer-ready-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;align-items:center;}
.footer-ready-text h4{font-size:20px;margin-bottom:6px;}
.footer-ready-text p{font-family:'Inter',sans-serif;font-size:14px;color:#6b5a45;}
.footer-ready-item{display:flex;align-items:center;gap:12px;font-family:'Inter',sans-serif;font-size:13px;color:#6b5a45;}
.footer-ready-icon{width:40px;height:40px;border-radius:50%;background:var(--clay);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.footer-ready-item strong{color:var(--dark);font-size:14px;}

.site-footer{background:var(--dark);color:#c9beac;padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;}
.footer-col h4{color:#fff;font-size:15px;font-family:'Inter',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;}
.footer-col a{display:block;color:#c9beac;font-family:'Inter',sans-serif;font-size:14px;padding:4px 0;}
.footer-col a:hover{color:var(--sunset);}
.footer-quote{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:18px;color:#fff;margin-bottom:12px;}
.footer-brand p{font-family:'Inter',sans-serif;font-size:14px;line-height:1.7;margin-bottom:16px;}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;padding:0;}
.footer-contact-line{font-family:'Inter',sans-serif;font-size:14px;margin-bottom:14px;}
.footer-contact-line span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8a7a63;margin-bottom:3px;}
.footer-contact-line a{display:inline;padding:0;color:#c9beac;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-family:'Inter',sans-serif;font-size:13px;color:#8a7a63;}
.footer-legal a{padding:0;color:#8a7a63;}

@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-ready-inner{grid-template-columns:1fr;text-align:left;}
  .footer-newsletter-inner{flex-direction:column;align-items:flex-start;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
}
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr;}
}

/* Tabbed package browser */
.trip-tabs{display:flex;gap:8px;margin:28px 0 32px;flex-wrap:wrap;}
.trip-tab{background:none;border:1px solid var(--line);padding:10px 20px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;letter-spacing:.3px;color:var(--dark);cursor:pointer;border-radius:1px;transition:.2s;}
.trip-tab.active,.trip-tab:hover{background:var(--dark);color:#fff;border-color:var(--dark);}
.trip-tab-panel{display:none;}
.trip-tab-panel.active{display:block;}
.empty-note{font-family:'Inter',sans-serif;color:#8a7a63;grid-column:1/-1;}

/* Safaris for Every Dream — horizontal carousel of categories */
.scroll-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
.scroll-carousel::-webkit-scrollbar{display:none;}
.scroll-card{position:relative;min-width:240px;height:280px;flex-shrink:0;background-size:cover;background-position:center;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff;}
.scroll-card-name{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:500;}
.scroll-card-discover{font-family:'Inter',sans-serif;font-size:12px;color:var(--sunset);margin-top:4px;opacity:0;transform:translateY(4px);transition:.25s;}
.scroll-card:hover .scroll-card-discover{opacity:1;transform:translateY(0);}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.carousel-dots .dot{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;border:0;padding:0;}
.carousel-dots .dot.active{background:var(--clay);}

/* Why-choose icon grid */
.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;background:rgba(255,255,255,.12);}
.icon-card{background:var(--dark);padding:32px 28px;}
.icon-card-glyph{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:rgba(185,134,46,.15);color:var(--sunset);font-size:18px;margin-bottom:16px;}
.icon-card h3{color:var(--ivory-chip);margin-bottom:8px;font-size:19px;}
.icon-card p{color:#c9beac;font-family:'Inter',sans-serif;font-size:14px;}

/* How It Works — process steps */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px;}
.process-step{background:#fff;border:1px solid var(--line);padding:28px 22px;position:relative;}
.process-step-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--clay);font-size:16px;margin-bottom:14px;}
.process-step h4{font-size:17px;margin-bottom:8px;}
.process-step p{font-family:'Inter',sans-serif;font-size:13.5px;color:#6b5a45;}
.process-step:not(:last-child):after{content:'→';position:absolute;top:50%;right:-16px;transform:translateY(-50%);color:var(--clay);font-size:16px;display:none;}
@media (min-width:901px){.process-step:not(:last-child):after{display:block;}}

/* FAQ accordion */
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;}
.faq-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:none;border:0;color:#fff;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;cursor:pointer;text-align:left;}
.faq-question .itin-chevron{color:var(--sunset);}
.faq-question[aria-expanded="true"] .itin-chevron{transform:rotate(180deg);}
.faq-answer{padding:0 20px 18px;font-family:'Inter',sans-serif;font-size:14px;color:#c9beac;line-height:1.6;}
.faq-answer[hidden]{display:none;}

@media (max-width:900px){
  .icon-grid,.process-steps,.faq-list{grid-template-columns:1fr;}
}

/* Stats strip under hero */
.stats-strip{background:var(--cream);border-bottom:1px solid var(--line);padding:28px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.stat-item{text-align:center;border-left:1px solid var(--line);}
.stat-item:first-child{border-left:0;}
.stat-num{display:block;font-family:'Fraunces',Georgia,serif;font-size:28px;color:var(--clay);}
.stat-label{font-family:'Inter',sans-serif;font-size:12px;color:var(--muted,#6b5a45);text-transform:uppercase;letter-spacing:.5px;}
@media (max-width:900px){.stats-grid{grid-template-columns:1fr 1fr;}.stat-item{border-left:0;}}

/* Section header row (title left, note/CTA right) */
.section-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px;flex-wrap:wrap;}
.section-head-note{font-family:'Inter',sans-serif;font-size:14px;color:#6b5a45;max-width:340px;}
.section-footnote{font-family:'Inter',sans-serif;font-size:12.5px;color:#8a7a63;margin-top:16px;text-align:center;}
.band-cream{background:#F0E6D2;}
.band-cream .section{padding:0;}

/* Reveal-more grid pattern (used for tabbed packages + beach packages) */
.reveal-extra[hidden]{display:none;}
.reveal-more-btn{margin-top:4px;}

/* Kilimanjaro split section */
.kili-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start;padding:80px 0;}
.kili-text h2{font-size:34px;margin:10px 0 16px;}
.kili-text h2 em{color:var(--clay);font-style:italic;}
.kili-text p{font-family:'Inter',sans-serif;color:#6b5a45;margin-bottom:24px;}
.kili-facts{list-style:none;display:flex;flex-direction:column;gap:10px;}
.kili-facts li{background:#fff;border:1px solid var(--line);padding:12px 16px;font-family:'Inter',sans-serif;font-size:13.5px;}
.kili-facts li span{display:block;font-weight:700;color:var(--clay);font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;}
.kili-routes.card-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
@media (max-width:900px){.kili-grid{grid-template-columns:1fr;}.kili-routes.card-grid{grid-template-columns:1fr 1fr;}}

/* Plain FAQ, 2-column variant for homepage */
.faq-plain-band{background:var(--cream);padding:80px 0;}
.faq-plain-list.faq-plain-list-2col{grid-template-columns:1fr 1fr;display:grid;column-gap:40px;max-width:none;}
.faq-plain-list-2col .faq-plain-item{grid-column:auto;}
@media (max-width:900px){.faq-plain-list.faq-plain-list-2col{grid-template-columns:1fr;}}

/* Blog filter tabs */
.blog-filter-tabs{display:flex;gap:8px;margin:20px 0 28px;flex-wrap:wrap;}
.blog-filter-tab{background:none;border:1px solid var(--line);padding:8px 18px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;border-radius:20px;cursor:pointer;color:var(--dark);}
.blog-filter-tab.active,.blog-filter-tab:hover{background:var(--clay);color:#fff;border-color:var(--clay);}

/* Destination feature layout */
.dest-feature-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;}
.dest-feature-grid.dest-feature-grid-solo{grid-template-columns:1fr;max-width:760px;margin:0 auto;}
.dest-prose{max-width:none;}
.dest-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.dest-gallery-carousel .td-carousel-slide{border-radius:1px;}
.dest-map-card{background:#fff;border:1px solid var(--line);padding:16px;}
.dest-map-label{display:block;font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--clay);font-weight:700;margin-bottom:12px;}
.dest-map{height:260px;border-radius:1px;}
@media (max-width:900px){
  .dest-feature-grid{grid-template-columns:1fr;}
  .dest-sidebar{position:static;}
}

/* Quick Snapshot band */
.snapshot-band{background:var(--cream);border-bottom:1px solid var(--line);padding:22px 0;}
.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.snapshot-item{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--clay);padding-left:14px;}
.snapshot-label{font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--clay);}
.snapshot-value{font-family:'Fraunces',Georgia,serif;font-size:16px;font-weight:500;}
@media (max-width:900px){.snapshot-grid{grid-template-columns:1fr 1fr;}}

/* Table of Contents (auto-generated from <h2> sections) */
.dest-toc{background:#fff;border:1px solid var(--line);padding:20px 24px;margin-bottom:32px;}
.dest-toc-label{font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--clay);font-weight:700;}
.dest-toc ul{list-style:none;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;}
.dest-toc a{font-family:'Inter',sans-serif;font-size:14px;color:var(--dark);border-bottom:1px solid transparent;}
.dest-toc a:hover{border-color:var(--clay);}
.dest-prose h2{font-size:28px;margin-top:44px;margin-bottom:16px;scroll-margin-top:100px;}
.dest-prose h3{font-size:20px;margin-top:24px;margin-bottom:10px;}
.dest-prose p{margin-bottom:14px;}

/* Practical Planning */
.dest-planning{margin-top:40px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:100px;}
.dest-planning h2{font-size:26px;margin-bottom:20px;}
.dest-planning-block{margin-bottom:20px;}
.dest-planning-block h3{font-size:17px;color:var(--clay);margin-bottom:8px;}

/* Single-column FAQ variant (used on destination pages) */
.faq-list-single{grid-template-columns:1fr;}

/* Internal links to other destinations */
.dest-more-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px;}
.dest-more-link{font-family:'Fraunces',Georgia,serif;font-size:17px;border-bottom:1px solid var(--line);padding-bottom:2px;}
.dest-more-link:hover{border-color:var(--clay);color:var(--clay);}

/* Trust card (Reply / Pricing / Coverage) */
.dest-trust-card{background:#fff;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:14px;}
.dest-trust-item{font-family:'Inter',sans-serif;font-size:13px;color:#6b5a45;line-height:1.6;}
.dest-trust-item span{display:block;font-weight:700;color:var(--dark);font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}

/* Seasonal Guide — month-by-month card grid */
.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:28px;background:rgba(30,27,22,.08);}
.season-card{background:var(--dark);color:var(--ivory-chip);padding:22px 20px;display:flex;flex-direction:column;gap:6px;min-height:180px;}
.season-period{font-family:'Fraunces',Georgia,serif;font-size:19px;color:#fff;}
.season-region{font-family:'Inter',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--sunset);}
.season-card p{font-family:'Inter',sans-serif;font-size:13.5px;color:#c9beac;line-height:1.55;flex:1;margin-top:4px;}
.season-tag{align-self:flex-start;font-family:'Inter',sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--dark);background:var(--sunset);padding:3px 9px;border-radius:1px;}
@media (max-width:900px){.season-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.season-grid{grid-template-columns:1fr;}}

/* Plain FAQ list ("Common Questions" style) — individual bordered white cards */
.dest-faq-plain{background:var(--cream);}
.faq-plain-list{max-width:800px;margin-top:24px;display:flex;flex-direction:column;gap:10px;}
.faq-plain-item{background:#fff;border:1px solid var(--line);border-radius:2px;}
.faq-question-plain{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:none;border:0;font-family:'Fraunces',Georgia,serif;font-size:16px;color:var(--dark);cursor:pointer;text-align:left;}
.faq-plus{font-family:'Inter',sans-serif;font-size:18px;color:var(--clay);transition:.2s;font-weight:300;flex-shrink:0;margin-left:12px;}
.faq-question-plain[aria-expanded="true"] .faq-plus{transform:rotate(45deg);}
.faq-plain-item .faq-answer{padding:0 20px 18px;font-family:'Inter',sans-serif;font-size:14px;color:#6b5a45;line-height:1.6;}

/* Filterable tour list (duration tabs + richer cards with highlights + price) */
.duration-tabs{display:flex;gap:8px;margin:24px 0 28px;flex-wrap:wrap;}
.duration-tab{background:none;border:1px solid var(--line);padding:9px 18px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--dark);cursor:pointer;border-radius:1px;}
.duration-tab.active,.duration-tab:hover{background:var(--dark);color:#fff;border-color:var(--dark);}
.tour-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.tour-list-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s;}
.tour-list-card:hover{border-color:var(--clay);box-shadow:0 14px 30px rgba(30,27,22,.1);}
.tour-list-img{height:200px;background-size:cover;background-position:center;position:relative;}
.tour-list-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.tour-list-body h3{font-size:19px;margin-bottom:10px;}
.tour-list-highlights{list-style:none;font-family:'Inter',sans-serif;font-size:13px;color:#6b5a45;margin-bottom:16px;flex:1;}
.tour-list-highlights li{padding:3px 0;}
.tour-list-highlights li:before{content:'— ';color:var(--clay);}
.tour-list-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);}
.tour-list-price{font-family:'Fraunces',Georgia,serif;font-size:17px;}
.tour-list-price small{font-family:'Inter',sans-serif;font-size:11px;color:#8a7a63;font-weight:400;}
@media (max-width:900px){.tour-list-grid{grid-template-columns:1fr;}}

/* Lodges section */
.tier-tabs{display:flex;gap:8px;margin:24px 0 28px;flex-wrap:wrap;}
.tier-tab{background:none;border:1px solid rgba(255,255,255,.2);padding:9px 18px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--ivory-chip);cursor:pointer;border-radius:1px;}
.tier-tab.active,.tier-tab:hover{background:var(--sunset);color:var(--dark);border-color:var(--sunset);}
.lodge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lodge-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);}
.lodge-card-img{height:180px;background-size:cover;background-position:center;position:relative;}
.lodge-tier-tag{position:absolute;top:12px;left:12px;background:var(--sunset);color:var(--dark);font-family:'Inter',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;}
.lodge-card-body{padding:18px 20px;}
.lodge-card-body h3{color:#fff;font-size:17px;margin-bottom:6px;}
.lodge-card-body p{font-family:'Inter',sans-serif;font-size:13px;color:#c9beac;margin-bottom:10px;}
.lodge-price{font-family:'Fraunces',Georgia,serif;font-size:15px;color:var(--sunset);}
.lodge-price small{font-family:'Inter',sans-serif;font-size:11px;color:#8a7a63;}
@media (max-width:900px){.lodge-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.lodge-grid{grid-template-columns:1fr;}}

/* Closing CTA band (Contact + WhatsApp) */
.closing-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.closing-cta-inner h2{color:#fff;margin:6px 0 10px;}
.closing-cta-inner h2 em{color:var(--sunset);font-style:italic;}
.closing-cta-inner p{font-family:'Inter',sans-serif;color:#c9beac;max-width:420px;}
.closing-cta-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.btn-outline-light{border:1px solid rgba(255,255,255,.4);color:#fff;}
.btn-outline-light:hover{background:#fff;color:var(--dark);}
