/*
Theme Name: Explore Trekking
Theme URI: https://exploretrekking.com/
Author: Explore Trekking in Nepal
Description: Guided treks and adventure tours across Nepal — Everest, Annapurna, Manaslu, and beyond. Custom theme with a manageable Trek listing.
Version: 1.0
Text Domain: explore-trekking
*/

:root{
  --night:#1C231E;
  --night-2:#2A3327;
  --cream:#FFF3C8;
  --paper:#EFE9DB;
  --amber:#E2903F;
  --amber-soft:#F0B77A;
  --rust:#B5482F;
  --pine:#37493D;
  --stone:#8C8577;
  --ink:#1C231E;
  --line: rgba(28,35,30,0.14);
  --line-dark: rgba(255,243,200,0.16);
  --maxw: 1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Archivo', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block; max-width:100%;}
a{color:inherit;}

h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  font-weight:450;
  line-height:1.02;
  margin:0;
  letter-spacing:-0.01em;
}

.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--amber);
}

.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 32px;
}

:focus-visible{
  outline:2px solid var(--amber);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ---------- NAV ---------- */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0;
  transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
nav.solid{
  background:rgba(22,35,47,0.92);
  backdrop-filter:blur(8px);
  padding:14px 0;
  box-shadow:0 1px 0 var(--line-dark);
}
nav .wrap{
  display:flex; align-items:center;
}
.brand{
  font-family:'Space Mono', monospace;
  font-size:18px;
  letter-spacing:0.08em;
  color:var(--cream);
  display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  text-decoration:none;
  min-width:0;
}
.brand-row{ display:flex; align-items:center; gap:10px; }
.brand .mark{ width:16px; height:16px; }
.navlinks{ display:flex; gap:34px; list-style:none; margin:0; padding:0; }
.navlinks a{
  position:relative;
  font-family:'Archivo', sans-serif; font-weight:600;
  font-size:12.5px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--cream); opacity:0.78;
  text-decoration:none; transition:opacity .2s ease, color .25s ease;
  padding-bottom:4px;
}
.navlinks a::after{
  content:'';
  position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--amber-soft);
  transition:width .3s ease;
}
.navlinks a:hover{ opacity:1; color:var(--amber-soft); }
.navlinks a:hover::after{ width:100%; }
.nav-cta{
  font-family:'Archivo', sans-serif; font-weight:700; font-size:13px; letter-spacing:0.02em;
  color:var(--night); background:var(--amber); padding:9px 18px; border-radius:2px;
  text-decoration:none; white-space:nowrap; margin-left:34px;
}
.nav-right{ display:flex; align-items:center; margin-left:auto; }
.hamburger{
  display:none; flex-direction:column; justify-content:center; align-items:center;
  width:32px; height:32px; background:none; border:none; cursor:pointer; padding:0;
  margin-left:auto; flex-shrink:0;
}
.hamburger span{
  display:block !important; width:22px; height:2px; min-height:2px;
  background-color:#FFF3C8 !important;
  border-radius:1px;
  margin-bottom:5px;
  transition:transform .25s ease, opacity .25s ease;
}
.hamburger span:last-child{ margin-bottom:0; }
/* Both nav states (solid and transparent) use the same bar color,
   set directly on .hamburger span above */
nav.nav-open .hamburger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
nav.nav-open .hamburger span:nth-child(2){ opacity:0; }
nav.nav-open .hamburger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100vh;
  background:linear-gradient(180deg, #23374A 0%, #1C2E3E 38%, var(--night) 100%);
  overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.hero-sky-glow{
  position:absolute; inset:0;
  background:
    radial-gradient(62% 58% at 12% 9%, rgba(240,183,122,0.62), rgba(226,144,63,0.38) 38%, rgba(181,72,47,0.18) 58%, transparent 80%),
    radial-gradient(85% 46% at 22% 68%, rgba(226,144,63,0.3), transparent 75%),
    linear-gradient(180deg, transparent 55%, rgba(16,25,34,0.55) 82%, rgba(16,25,34,0.85) 100%);
  pointer-events:none;
}
.flagline{
  position:absolute; top:86px; left:0; right:0; height:60px;
  display:flex; z-index:2; opacity:0.85;
}
.hero-content{
  position:relative; z-index:10;
  padding:clamp(120px, 16vh, 210px) 32px 40px;
  max-width:var(--maxw);
  margin:0 auto;
  width:100%;
}
.hero-eyebrow{ color:var(--amber-soft); margin-bottom:16px; }
.hero h1{
  color:var(--cream);
  font-family:'Archivo',sans-serif;
  font-size:clamp(32px, 5.2vw, 68px);
  max-width:16ch;
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.05;
}
.hero h1 em{ font-style:normal; color:var(--amber-soft); font-weight:900; }
.hero-sub{
  color:rgba(246,242,233,0.72);
  font-size:17px; line-height:1.6;
  max-width:44ch;
  margin:20px 0 32px;
}

/* Restructured hero: eyebrow right-aligned, everything else centered */
.hero-content-v2{ text-align:center; }
.hero-eyebrow-row{ display:flex; justify-content:flex-end; margin-bottom:44px; }
.hero-content-v2 .hero-eyebrow{ margin-bottom:0; }
.hero-content-v2 h1{ max-width:none; margin:0 auto; }
.hero-content-v2 .hero-sub{ margin-left:auto; margin-right:auto; }

.btn.hero-cta-rounded{
  display:inline-flex; border-radius:30px; margin-bottom:40px;
  font-family:'Archivo', sans-serif; font-weight:700;
}

.hero-search-wrap-v2{ max-width:520px; margin:0 auto; }
.hero-search-wrap-v2 .hero-search-form{ position:relative; flex:none; min-width:0; max-width:none; width:100%; }
.hero-search-wrap-v2 .hero-search-input{
  width:100%; padding:18px 60px 18px 22px; border-radius:8px; border:1.5px solid rgba(255,243,200,0.25);
  background:rgba(255,243,200,0.08); color:var(--cream); font-family:'Archivo',sans-serif; font-size:15px;
  backdrop-filter:blur(6px); box-sizing:border-box;
}
.hero-search-wrap-v2 .hero-search-input::placeholder{ color:rgba(255,243,200,0.5); }
.hero-search-wrap-v2 .hero-search-input:focus{ outline:none; border-color:var(--amber); background:rgba(255,243,200,0.12); }
.hero-search-wrap-v2 .hero-search-submit{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:6px; border:none; background:var(--amber); color:var(--night);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}

@media (max-width:700px){
  .hero-eyebrow-row{ justify-content:center; margin-bottom:30px; }
}
.hero-ctas{ display:flex; gap:16px; margin-bottom:0; flex-wrap:wrap; }
.hero-ctas .btn{
  font-family:'Archivo', sans-serif;
  font-weight:700;
  letter-spacing:0.01em;
}
.btn{
  font-family:'Space Mono', monospace; font-size:13px; letter-spacing:0.05em;
  padding:14px 26px; border-radius:2px; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.btn-primary{ background:var(--amber); color:var(--night); border:1px solid var(--amber); }
.btn-primary:hover{ transform:translateY(-2px); background:var(--amber-soft); }
.btn-ghost{ background:transparent; color:var(--cream); border:1px solid var(--line-dark); }
.btn-ghost:hover{ border-color:var(--cream); transform:translateY(-2px); }

.hero-mountains{ position:relative; width:100%; z-index:3; }
.hero-mountains svg{ width:100%; height:auto; display:block; }
.hero.has-photo .hero-mountains{ display:none; }
.hero.has-photo .hero-sky-glow{ opacity:0.55; }
.hero-stats{
  position:relative; z-index:6;
  max-width:var(--maxw); margin:0 auto; width:100%;
  padding:0 32px 46px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  border-top:1px solid var(--line-dark);
  padding-top:26px;
}
.hstat b{ display:block; font-family:'Fraunces',serif; font-size:26px; color:var(--cream); font-weight:450;}
.hstat span{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.08em; color:rgba(246,242,233,0.55); text-transform:uppercase; }

.scroll-cue{
  position:absolute; bottom:130px; right:32px; z-index:6;
  writing-mode:vertical-rl;
  font-family:'Space Mono', monospace; font-size:11px; letter-spacing:0.14em;
  color:rgba(246,242,233,0.5); display:flex; align-items:center; gap:10px;
}
.scroll-cue::after{ content:''; width:1px; height:46px; background:rgba(246,242,233,0.4); }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in-view{ opacity:1; transform:translateY(0); }

/* ---------- INTRO / MANIFESTO ---------- */
.manifesto{
  padding:150px 0 120px;
}
.manifesto .wrap{ display:grid; grid-template-columns:1fr 1.6fr; gap:60px; align-items:start; }
.manifesto .eyebrow{ color:var(--rust); }
.manifesto blockquote{
  margin:16px 0 0;
  font-size:clamp(26px,3.2vw,40px);
  font-style:italic;
  font-weight:400;
  line-height:1.28;
  color:var(--ink);
}
.manifesto .support{
  padding-top:8px;
  font-size:15px; line-height:1.75; color:var(--stone); max-width:46ch;
}
.manifesto .support strong{ color:var(--ink); font-weight:600; }

/* ---------- SECTION HEADS ---------- */
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap;}
.section-head h2{ font-size:clamp(30px,3.4vw,46px); margin-top:10px; max-width:14ch; }
.section-head p{ max-width:38ch; font-size:14.5px; line-height:1.65; color:var(--stone); padding-bottom:6px; }

/* ---------- TREKS ---------- */
.treks{ padding:40px 0 130px; background:var(--cream); }
.trek-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); border:1px solid var(--line);}
.trek-card{
  background:var(--cream);
  padding:40px;
  position:relative;
  transition:background .35s ease;
  text-decoration:none;
  display:block;
  color:inherit;
}
.trek-card:hover{ background:var(--paper); }
.trek-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:26px;}
.trek-region{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--stone); }
.trek-diff{
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  padding:5px 10px; border:1px solid var(--line); border-radius:20px; color:var(--pine);
}
.trek-card h3{ font-size:28px; margin-bottom:10px; font-weight:450; }
.trek-desc{ font-size:14px; line-height:1.65; color:var(--stone); max-width:44ch; margin-bottom:28px; }

.elev-wrap{ margin-bottom:24px; }
.elev-wrap svg{ width:100%; height:90px; overflow:visible; }
.elev-line{
  fill:none; stroke:var(--rust); stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1);
}
.in-view .elev-line{ stroke-dashoffset:0; }
.elev-fill{ fill:url(#elevGradient); opacity:0; transition:opacity 1s ease .5s; }
.in-view .elev-fill{ opacity:0.5; }

.trek-meta{ display:flex; gap:28px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:20px; }
.trek-meta div{ display:flex; flex-direction:column; gap:4px; }
.trek-meta b{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; }
.trek-meta span{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--stone); }

/* ---------- WHY / SIGNATURE BAND ---------- */
.why{
  background:var(--night);
  color:var(--cream);
  padding:120px 0;
  position:relative;
  overflow:hidden;
}
.why::before{
  content:'';
  position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(246,242,233,0.055) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:0.5;
}
.why .wrap{ position:relative; }
.why .section-head h2{ color:var(--cream); }
.why .section-head p{ color:rgba(246,242,233,0.6); }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:10px;}
.why-card{ background:var(--night); padding:38px 32px; }
.why-num{ font-family:'Space Mono',monospace; color:var(--amber); font-size:12px; margin-bottom:22px; letter-spacing:0.1em; }
.why-card h3{ font-size:21px; font-weight:450; margin-bottom:12px; color:var(--cream); max-width:20ch; }
.why-card p{ font-size:14px; line-height:1.7; color:rgba(246,242,233,0.62); margin:0; }

/* ---------- PROCESS TIMELINE ---------- */
.process{ padding:130px 0; background:var(--paper); }
.steps{ margin-top:20px; border-top:1px solid var(--line); }
.step{
  display:grid; grid-template-columns:80px 1fr 1.3fr; gap:32px; align-items:center;
  padding:30px 0; border-bottom:1px solid var(--line);
}
.step-num{ font-family:'Space Mono',monospace; font-size:14px; color:var(--rust); }
.step h3{ font-size:21px; font-weight:450; }
.step p{ font-size:14px; line-height:1.7; color:var(--stone); margin:0; max-width:52ch; }

/* ---------- TESTIMONIALS ---------- */
.stories{ padding:120px 0 140px; }
.stories-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:20px;}
.story{ border-top:2px solid var(--ink); padding-top:22px; }
.story p.quote{ font-family:'Fraunces',serif; font-style:italic; font-size:19px; line-height:1.5; margin:0 0 22px; }
.story .who{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.04em; color:var(--stone); }
.story .who b{ color:var(--ink); font-style:normal; }

/* ---------- FOOTER / CTA ---------- */
footer#site-footer{
  background:linear-gradient(180deg, #6B7A5E 0%, #47563F 25%, #29331F 55%, #1C231E 100%);
  color:var(--cream);
  padding:110px 0 40px;
  position:relative;
  overflow:hidden;
}
.topo{ position:absolute; inset:0; opacity:0.35; pointer-events:none; }
.footer-cta{ position:relative; text-align:center; padding-bottom:100px; border-bottom:1px solid var(--line-dark); }
.footer-cta h2{ color:var(--cream); font-size:clamp(32px,5vw,58px); max-width:16ch; margin:18px auto 8px; }
.footer-cta-sub{
  color:rgba(255,243,200,0.65); font-size:15px; margin:0 auto 34px; max-width:44ch;
}
.footer-cta-form{ max-width:720px; margin:0 auto; }
.footer-cta-row{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:10px; margin-bottom:20px;
}
.footer-cta-row input,
.footer-cta-row select{
  width:100%; background:transparent; border:1px solid var(--line-dark);
  padding:14px 12px; color:var(--cream); font-family:'Archivo',sans-serif; font-size:13.5px;
  border-radius:2px;
}
.footer-cta-row select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23F6F2E9' stroke-width='1.5' fill='none' fill-rule='evenodd'/></svg>");
  background-repeat:no-repeat; background-position:right 10px center; padding-right:26px;
}
.footer-cta-row select option,
.footer-cta-row select optgroup{ color:var(--night); }
.footer-cta-row input::placeholder{ color:rgba(255,243,200,0.45); }
.footer-cta button{
  background:var(--amber); border:1px solid var(--amber); color:var(--night);
  font-family:'Space Mono',monospace; font-size:13px; font-weight:700; padding:14px 32px; border-radius:2px; cursor:pointer;
}

@media (max-width:900px){
  .footer-cta-row{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .footer-cta-row{ grid-template-columns:1fr; }
}
.footer-bottom{
  position:relative;
  padding-top:50px;
  display:grid; grid-template-columns:minmax(220px, 1.4fr) repeat(auto-fit, minmax(140px, 1fr)); gap:40px;
}
.footer-brand{ font-family:'Space Mono',monospace; font-size:16px; letter-spacing:0.06em; margin-bottom:14px; }
.footer-bottom p.small{ font-size:13px; line-height:1.7; color:rgba(246,242,233,0.5); max-width:32ch; }
.footer-col h4{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--amber); margin-bottom:16px; }
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.footer-col a{ text-decoration:none; font-size:14px; color:rgba(246,242,233,0.72); }
.footer-col a:hover{ color:var(--cream); }
.footer-legal{
  display:flex; justify-content:space-between; margin-top:80px; padding-top:24px; border-top:1px solid var(--line-dark);
  font-family:'Space Mono',monospace; font-size:11px; color:rgba(246,242,233,0.4); flex-wrap:wrap; gap:10px;
  width:100%; box-sizing:border-box; max-width:100%;
}

/* ---------- SINGLE TREK PAGE ---------- */
.trek-hero{
  background:linear-gradient(180deg, #23374A 0%, var(--night) 100%);
  padding:170px 0 80px;
  color:var(--cream);
}
.trek-hero .trek-region{ color:var(--amber-soft); }
.trek-hero h1{ color:var(--cream); font-size:clamp(34px,5vw,64px); margin:14px 0; }
.trek-single-body{ padding:80px 0; }
.trek-single-body .wrap{ max-width:800px; }
.trek-single-body h2,.trek-single-body h3{ margin-top:1.4em; }
.trek-single-body p{ line-height:1.75; color:var(--ink); }
.trek-back{ display:inline-block; margin:100px 0 0; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.06em; color:var(--rust); text-decoration:none; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .hamburger{ display:flex; }
  .nav-right{
    display:none;
    position:fixed; top:64px; left:0; right:0; z-index:99;
    flex-direction:column; align-items:stretch;
    background:var(--night);
    padding:8px 24px 28px;
    box-shadow:0 12px 24px rgba(0,0,0,0.28);
    max-height:calc(100vh - 64px);
    overflow-y:auto;
  }
  nav.nav-open .nav-right{ display:flex; }
  .navlinks{ flex-direction:column; gap:0; width:100%; }
  .navlinks a{ display:block; width:100%; padding:16px 0; border-bottom:1px solid var(--line-dark); }
  .navlinks a::after{ display:none; }
  .navlinks a:active,
  .navlinks a.tapped{ background:var(--amber); color:var(--night); opacity:1; }
  .nav-cta{ margin:20px 0 0; text-align:center; justify-content:center; display:flex; }
  .hero-stats{ grid-template-columns:repeat(2,1fr); row-gap:26px; }
  .manifesto .wrap{ grid-template-columns:1fr; gap:26px; }
  .trek-grid{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr; }
  .step{ grid-template-columns:50px 1fr; }
  .step > p{ grid-column:1 / -1; padding-left:0; }
  .stories-grid{ grid-template-columns:1fr; gap:36px; }
  .footer-bottom{ grid-template-columns:1fr 1fr; }
  .scroll-cue{ display:none; }
}
@media (max-width:560px){
  .wrap{ padding:0 20px; }
  .hero-content{ padding:0 20px; }
  .hero-stats{ padding:0 20px 40px; grid-template-columns:1fr 1fr; }
  .footer-bottom{ grid-template-columns:1fr; }
  .footer-legal{ flex-direction:column; }
}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{
  padding:130px 0 0;
  background:var(--cream);
}
.breadcrumb-row{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.breadcrumb-links{
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:0.05em;
  color:var(--stone); display:flex; align-items:center; gap:8px;
}
.breadcrumb a{ color:var(--stone); text-decoration:none; }
.breadcrumb a:hover{ color:var(--rust); }
.breadcrumb span.sep{ color:var(--line); }

.breadcrumb-search-form{ position:relative; width:220px; flex-shrink:0; }
.breadcrumb-search-input{
  width:100%; padding:8px 36px 8px 14px; border-radius:20px; border:1px solid var(--line);
  background:var(--paper); font-family:'Archivo',sans-serif; font-size:13px; color:var(--ink);
  box-sizing:border-box;
}
.breadcrumb-search-input::placeholder{ color:var(--stone); }
.breadcrumb-search-input:focus{ outline:none; border-color:var(--rust); }
.breadcrumb-search-form button{
  position:absolute; right:4px; top:50%; transform:translateY(-50%); width:26px; height:26px;
  border-radius:50%; border:none; background:var(--ink); color:var(--cream); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

@media (max-width:600px){
  .breadcrumb-search-form{ width:100%; }
}
.breadcrumb span.current{ color:var(--ink); }

/* ---------- CONTACT PAGE ---------- */
.contact-hero{
  padding:26px 0 60px;
  background:var(--cream);
}
.contact-hero .eyebrow{ color:var(--rust); }
.contact-hero h1{ color:var(--ink); font-size:clamp(30px,4vw,46px); margin:12px 0 0; max-width:16ch; }
.contact-hero p,
.contact-hero .contact-intro{ color:var(--stone); font-size:15px; line-height:1.65; max-width:52ch; margin:16px 0 0; }

.contact-body{ padding:20px 0 130px; background:var(--cream); }

.form-alert{
  padding:16px 20px; border-radius:2px; font-size:14px; margin-bottom:36px;
  font-family:'Archivo',sans-serif;
}
.form-alert-success{ background:rgba(55,73,61,0.1); border:1px solid var(--pine); color:var(--pine); }
.form-alert-error{ background:rgba(181,72,47,0.08); border:1px solid var(--rust); color:var(--rust); }

.contact-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:70px; align-items:start; }

.contact-form-card{ background:var(--paper); border:1px solid var(--line); padding:44px; border-radius:4px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group{ margin-bottom:22px; }
.form-group label{
  display:block; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--stone); margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%; background:var(--cream); border:1px solid var(--line); border-radius:2px;
  padding:13px 14px; font-family:'Archivo',sans-serif; font-size:14.5px; color:var(--ink);
  transition:border-color .2s ease;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none; border-color:var(--amber);
}
.form-group textarea{ resize:vertical; min-height:120px; }
.form-group select{ appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%238C8577' stroke-width='1.5' fill='none' fill-rule='evenodd'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
.form-submit{
  font-family:'Space Mono', monospace; font-size:13px; letter-spacing:0.05em;
  padding:15px 30px; border-radius:2px; border:1px solid var(--amber);
  background:var(--amber); color:var(--night); cursor:pointer;
  transition:transform .25s ease, background .25s ease;
}
.form-submit:hover{ transform:translateY(-2px); background:var(--amber-soft); }
.form-note{ font-size:12.5px; color:var(--stone); margin-top:14px; line-height:1.6; }

.contact-info-card{ border-top:2px solid var(--ink); padding-top:26px; margin-bottom:44px; }
.contact-info-card h3{ font-size:20px; font-weight:450; margin-bottom:16px; }
.contact-info-row{ display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.contact-info-row svg{ flex-shrink:0; margin-top:3px; }
.contact-info-row div b{ display:block; font-size:14px; margin-bottom:2px; }
.contact-info-row div span{ font-size:13.5px; color:var(--stone); line-height:1.5; }
.contact-info-row a{ text-decoration:none; color:inherit; }
.contact-hours{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; color:var(--stone); text-transform:uppercase; }

@media (max-width:900px){
  .contact-grid{ grid-template-columns:1fr; gap:50px; }
  .form-row{ grid-template-columns:1fr; }
}

/* ---------- THANK YOU PAGE ---------- */
.ty-body{ padding:60px 0 140px; background:var(--cream); }
.ty-card{ max-width:640px; margin:0 auto; text-align:center; padding-top:40px; }
.ty-icon{
  width:64px; height:64px; border-radius:50%; background:var(--pine);
  display:flex; align-items:center; justify-content:center; margin:0 auto 28px;
}
.ty-card .eyebrow{ color:var(--rust); justify-content:center; display:flex; }
.ty-card h1{ font-size:clamp(30px,4.2vw,48px); margin:14px 0 18px; color:var(--ink); }
.ty-card p.lead,
.ty-card .lead p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:46ch; margin:0 auto; }

.ty-next{
  margin:64px auto 0; max-width:720px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.ty-next-item{ background:var(--paper); padding:30px 24px; text-align:left; }
.ty-next-item span.num{ font-family:'Space Mono',monospace; font-size:12px; color:var(--rust); letter-spacing:0.08em; }
.ty-next-item h4{ font-size:16px; font-weight:450; margin:12px 0 8px; }
.ty-next-item p{ font-size:13px; line-height:1.6; color:var(--stone); margin:0; }

.ty-ctas{ display:flex; gap:16px; justify-content:center; margin-top:52px; flex-wrap:wrap; }
.ty-ctas .btn{
  font-family:'Space Mono', monospace; font-size:13px; letter-spacing:0.05em;
  padding:14px 26px; border-radius:2px; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.ty-ctas .btn:hover{ transform:translateY(-2px); }

@media (max-width:700px){
  .ty-next{ grid-template-columns:1fr; }
}

/* ---------- ABOUT PAGE ---------- */
.about-hero{ padding:26px 0 70px; background:var(--cream); }
.about-hero .eyebrow{ color:var(--rust); }
.about-hero h1{ color:var(--ink); font-size:clamp(32px,4.6vw,54px); margin:12px 0 0; max-width:18ch; }
.about-hero p{ color:var(--stone); font-size:16px; line-height:1.7; max-width:56ch; margin:18px 0 0; }

.about-story{ padding:20px 0 110px; background:var(--cream); }
.about-story .wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
.about-photo{
  aspect-ratio:4/5; background:linear-gradient(135deg,#2a3f52,#16232F); border-radius:4px;
  display:flex; align-items:center; justify-content:center; color:rgba(246,242,233,0.35);
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.08em; text-align:center; padding:20px;
}
.about-copy p{ font-size:15px; line-height:1.8; color:var(--ink); margin:0 0 20px; }
.about-copy p:last-child{ margin-bottom:0; }
.about-copy .lead{ font-family:'Fraunces',serif; font-style:italic; font-size:22px; line-height:1.5; color:var(--ink); font-weight:400; }

.about-stats{ background:var(--night); color:var(--cream); padding:80px 0; }
.about-stats .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.about-stat b{ display:block; font-family:'Fraunces',serif; font-size:38px; font-weight:450; color:var(--amber-soft); }
.about-stat span{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(246,242,233,0.6); }

.team-section{ padding:120px 0; background:var(--cream); }
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px; }
.team-card{ text-align:left; }
.team-photo{
  aspect-ratio:1; background:linear-gradient(135deg,#3a4f42,#1E3040); border-radius:4px; margin-bottom:18px;
  display:flex; align-items:center; justify-content:center; color:rgba(246,242,233,0.3);
  font-family:'Space Mono',monospace; font-size:11px;
}
.team-card h3{ font-size:19px; font-weight:450; margin-bottom:4px; }
.team-card .role{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--rust); margin-bottom:10px; }
.team-card p{ font-size:13.5px; line-height:1.65; color:var(--stone); margin:0; }

.about-values{ background:var(--paper); padding:110px 0; }
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:10px; }
.value-card{ background:var(--paper); padding:36px 30px; }
.value-card .why-num{ color:var(--rust); }
.value-card h3{ font-size:19px; font-weight:450; margin:16px 0 10px; }
.value-card p{ font-size:13.5px; line-height:1.65; color:var(--stone); margin:0; }

@media (max-width:900px){
  .about-story .wrap{ grid-template-columns:1fr; }
  .about-stats .wrap{ grid-template-columns:repeat(2,1fr); row-gap:36px; }
  .team-grid{ grid-template-columns:1fr; }
  .values-grid{ grid-template-columns:1fr; }
}

/* ---------- ALL TOURS PAGE ---------- */
.tours-body{ padding:20px 0 130px; background:var(--cream); }
.tour-category{ margin-bottom:90px; }
.tour-category:last-child{ margin-bottom:0; }
.tour-category-head{ margin-bottom:36px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.tour-category-head h2{ font-size:clamp(24px,3vw,34px); margin-bottom:8px; }
.tour-category-head p{ font-size:14.5px; color:var(--stone); max-width:60ch; margin:0; }
.tour-grid{ margin-top:0; }
.tour-empty{ color:var(--stone); font-size:14px; padding:20px 0; }

/* ---------- TRIP CUSTOMIZER WIZARD ---------- */
.wizard-body{ padding:20px 0 140px; background:var(--cream); }
.wizard{ max-width:840px; margin:0 auto; }

.wizard-progress{
  display:flex; justify-content:space-between; margin-bottom:56px; gap:8px; flex-wrap:wrap;
}
.wizard-step-dot{
  flex:1; text-align:center; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.04em;
  color:var(--stone); cursor:pointer; padding-bottom:14px; border-bottom:3px solid var(--line);
  text-transform:uppercase;
}
.wizard-step-dot span{
  display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
  background:var(--paper); border:1px solid var(--line); color:var(--stone); margin:0 auto 8px;
  font-size:12px;
}
.wizard-step-dot.active{ color:var(--ink); border-bottom-color:var(--amber); }
.wizard-step-dot.active span{ background:var(--amber); border-color:var(--amber); color:var(--night); }
.wizard-step-dot.done{ color:var(--ink); border-bottom-color:var(--pine); cursor:pointer; }
.wizard-step-dot.done span{ background:var(--pine); border-color:var(--pine); color:var(--cream); }

.wizard-panel{ display:none; }
.wizard-panel.active{ display:block; }
.wizard-panel h2{ font-size:clamp(22px,2.6vw,30px); margin-bottom:28px; }

.trip-type-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.trip-type-card{
  text-align:left; border:1.5px solid transparent; border-radius:4px;
  padding:24px; cursor:pointer; font-family:'Archivo',sans-serif; transition:border-color .2s ease, transform .2s ease;
}
.trip-type-card h4{ font-family:'Fraunces',serif; font-size:19px; font-weight:450; margin:0 0 8px; }
.trip-type-card p{ font-size:13.5px; line-height:1.6; margin:0; opacity:0.75; }
.trip-type-card:hover{ transform:translateY(-3px); }
.trip-type-card.selected{ border-color:var(--ink); }

.trip-type-card.trip-color-sand{ background:#E5CB90; color:#5a3d1c; }
.trip-type-card.trip-color-mint{ background:#AEDDD8; color:#1f6e64; }
.trip-type-card.trip-color-blue{ background:#B5CDD4; color:#2c5763; }
.trip-type-card.trip-color-gold{ background:#F5D8BC; color:#7a4517; }
.trip-type-card.trip-color-terracotta{ background:#E9C8C1; color:#6b382b; }
.trip-type-card.trip-color-olive{ background:#C3C68A; color:#454920; }
.trip-type-card.trip-color-sand p,
.trip-type-card.trip-color-mint p,
.trip-type-card.trip-color-blue p,
.trip-type-card.trip-color-gold p,
.trip-type-card.trip-color-terracotta p,
.trip-type-card.trip-color-olive p{ color:inherit; }

.trek-choice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.trip-card.trek-selectable{
  cursor:pointer; border:3px solid transparent; text-align:left; font-family:inherit;
  padding:0; width:100%;
}
.trip-card.trek-selectable:hover{ transform:translateY(-4px); }
.trip-card.trek-selectable.selected{ border-color:var(--amber); }
.trip-card-select-indicator{
  font-family:'Archivo',sans-serif; font-weight:700; font-size:12.5px; color:var(--stone);
  margin-top:8px; text-align:center;
}
.trip-card.trek-selectable.selected .trip-card-select-indicator{ color:var(--amber); }

.stepper{ display:flex; align-items:center; gap:16px; }
.stepper-btn{
  width:38px; height:38px; border-radius:2px; border:1px solid var(--line); background:var(--cream);
  font-size:18px; cursor:pointer; color:var(--ink);
}
.stepper-btn:hover{ border-color:var(--amber); }
#stepper-value{ font-family:'Fraunces',serif; font-size:22px; min-width:24px; text-align:center; }

.addon-list{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); }
.addon-item{ background:var(--paper); padding:16px 18px; }
.addon-item-label{ display:flex; align-items:center; gap:14px; cursor:pointer; }
.addon-item .addon-name{ flex:1; font-size:14.5px; }
.addon-item .addon-price{ font-family:'Space Mono',monospace; font-size:15px; font-weight:700; color:var(--rust); }

.trip-price-display{
  display:flex; align-items:baseline; gap:10px; background:var(--night); border-radius:6px;
  padding:16px 20px; margin-top:24px;
}
.trip-price-display span{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(246,242,233,0.55); }
.trip-price-display b{ font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:var(--amber-soft); }
.trip-price-display .trip-price-unit{ text-transform:none; letter-spacing:0.02em; }
.addon-qty-row{
  display:flex; align-items:center; gap:10px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line);
}
.addon-qty-row label{ font-family:'Space Mono',monospace; font-size:11px; color:var(--stone); letter-spacing:0.02em; }
.addon-qty-auto-note{ font-family:'Space Mono',monospace; font-size:11px; color:var(--stone); letter-spacing:0.02em; }
.addon-qty-auto-note b{ color:var(--ink); font-weight:700; }
.addon-qty-input{
  width:60px; padding:6px 8px; border:1px solid var(--line); border-radius:2px; background:var(--cream);
  font-family:'Archivo',sans-serif; font-size:13px; color:var(--ink);
}

.wizard-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:36px; }
.wizard-back{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.05em; color:var(--stone);
  background:none; border:none; cursor:pointer; padding:12px 0;
}
.wizard-back:hover{ color:var(--rust); }
.wizard-next.form-submit:disabled{ opacity:0.4; cursor:not-allowed; transform:none; }

.review-summary{ border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.review-row{ display:flex; justify-content:space-between; gap:20px; padding:16px 22px; border-bottom:1px solid var(--line); background:var(--paper); font-size:14px; }
.review-row:last-child{ border-bottom:none; }
.review-row span{ color:var(--stone); }
.review-row b{ text-align:right; }
.review-total{ background:var(--night); color:var(--cream); }
.review-total span{ color:rgba(246,242,233,0.6); }
.review-total b{ color:var(--amber-soft); font-family:'Fraunces',serif; font-size:20px; }

@media (max-width:700px){
  .trip-type-grid,
  .trek-choice-grid{ grid-template-columns:1fr; }
  .wizard-progress{ display:none; }
}

/* ---------- TRIP TYPE CARD COLORS ---------- */
/* Adventure Trek — sand */
.trek-card.trip-color-sand{ background:#E5CB90; }
.trek-card.trip-color-sand:hover{ background:#DEC183; }
.trek-card.trip-color-sand .trek-region{ color:#8a5a2b; }
.trek-card.trip-color-sand .trek-diff{ border-color:rgba(138,90,43,0.35); color:#8a5a2b; }
.trek-card.trip-color-sand .trek-meta{ border-top-color:rgba(138,90,43,0.2); }

/* Soft Trek — mint/teal */
.trek-card.trip-color-mint{ background:#AEDDD8; }
.trek-card.trip-color-mint:hover{ background:#9DD2CC; }
.trek-card.trip-color-mint .trek-region{ color:#1f6e64; }
.trek-card.trip-color-mint .trek-diff{ border-color:rgba(31,110,100,0.35); color:#1f6e64; }
.trek-card.trip-color-mint .trek-meta{ border-top-color:rgba(31,110,100,0.2); }

/* Day Hike — blue-teal */
.trek-card.trip-color-blue{ background:#B5CDD4; }
.trek-card.trip-color-blue:hover{ background:#A4C2CA; }
.trek-card.trip-color-blue .trek-region{ color:#2c5763; }
.trek-card.trip-color-blue .trek-diff{ border-color:rgba(44,87,99,0.35); color:#2c5763; }
.trek-card.trip-color-blue .trek-meta{ border-top-color:rgba(44,87,99,0.2); }

/* Photography Trek — soft gold / golden-hour */
.trek-card.trip-color-gold{ background:#F5D8BC; }
.trek-card.trip-color-gold:hover{ background:#F0CBA5; }
.trek-card.trip-color-gold .trek-region{ color:#9a5a1f; }
.trek-card.trip-color-gold .trek-diff{ border-color:rgba(154,90,31,0.35); color:#9a5a1f; }
.trek-card.trip-color-gold .trek-meta{ border-top-color:rgba(154,90,31,0.2); }

/* Culture & Village Stay — dusty terracotta */
.trek-card.trip-color-terracotta{ background:#E9C8C1; }
.trek-card.trip-color-terracotta:hover{ background:#E1B7AE; }
.trek-card.trip-color-terracotta .trek-region{ color:#8a4a3a; }
.trek-card.trip-color-terracotta .trek-diff{ border-color:rgba(138,74,58,0.35); color:#8a4a3a; }
.trek-card.trip-color-terracotta .trek-meta{ border-top-color:rgba(138,74,58,0.2); }

/* Nature, Wildlife & Bird Watching — olive green */
.trek-card.trip-color-olive{ background:#C3C68A; }
.trek-card.trip-color-olive:hover{ background:#B7BB77; }
.trek-card.trip-color-olive .trek-region{ color:#5c6023; }
.trek-card.trip-color-olive .trek-diff{ border-color:rgba(92,96,35,0.35); color:#5c6023; }
.trek-card.trip-color-olive .trek-meta{ border-top-color:rgba(92,96,35,0.2); }

/* ---------- FEATURED TRIPS (below hero) ---------- */
.featured-trips{ padding:70px 0 40px; background:var(--cream); }
.featured-trips-cta{ text-align:center; margin-top:40px; }

/* ---------- TRIP CARD (photo-forward layout, used in Featured Trips) ---------- */
.trip-card{
  border-radius:10px; overflow:hidden;
  box-shadow:0 1px 3px rgba(28,35,30,0.1);
  transition:transform .3s ease, box-shadow .3s ease;
  text-decoration:none; color:var(--ink); display:flex; flex-direction:column;
  height:100%; align-self:stretch; min-height:0;
}
.trip-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(28,35,30,0.2);
}
.trip-card-image{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.trip-card-ph{
  position:absolute; inset:0; width:100%; height:100%;
  transition:transform .5s ease;
}
.trip-card:hover .trip-card-ph{ transform:scale(1.06); }
.trip-card-image::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(28,35,30,0) 55%, rgba(28,35,30,0.4) 100%);
}
.trip-card-badge{
  position:absolute; top:14px; left:14px; z-index:2; color:#FFF3C8;
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase;
  padding:6px 12px; border-radius:20px; backdrop-filter:blur(4px);
}
.trip-card-price{
  position:absolute; bottom:14px; right:14px; z-index:2;
  font-family:'Fraunces',serif; font-weight:600; font-size:15px;
  padding:7px 14px; border-radius:6px; color:#FFF3C8;
}
.trip-card-price span{
  display:block; font-family:'Space Mono',monospace; font-weight:400; font-size:9px; letter-spacing:0.04em;
  text-transform:uppercase; opacity:0.85; margin-top:1px;
}
.trip-card-body{ padding:22px 22px 24px; flex:1; display:flex; flex-direction:column; min-height:0; }
.trip-card-region{
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:8px;
}
.trip-card-body h3{ font-size:21px; font-weight:450; margin:0 0 10px; color:var(--ink); }
.trip-card-body p{ font-size:13.5px; line-height:1.6; color:#4a4436; margin:0 0 18px; }
.trip-card-body > p:not(.trip-card-region){ flex:1; min-height:0; }
.trip-card-facts{ display:flex; gap:16px; padding-top:16px; border-top:1px solid; margin-bottom:16px; }
.trip-card-facts div{ display:flex; align-items:center; gap:6px; font-size:12px; color:#4a4436; }
.trip-card-facts svg{ flex-shrink:0; }
.trip-card-cta{
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:13.5px;
}
.trip-card-cta svg{ transition:transform .25s ease; }
.trip-card:hover .trip-card-cta svg{ transform:translateX(4px); }

.trip-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch; }

/* Category color variants — background gradient (placeholder for real photos), badge, price, and text accents */
.trip-card.trip-color-sand .trip-card-ph{ background:linear-gradient(135deg,#8a5a2b,#1C231E); }
.trip-card.trip-color-sand .trip-card-body{ background:#E5CB90; }
.trip-card.trip-color-sand .trip-card-badge{ background:rgba(69,131,147,0.92); }
.trip-card.trip-color-sand .trip-card-price{ background:#34A99D; }
.trip-card.trip-color-sand .trip-card-region,
.trip-card.trip-color-sand .trip-card-cta{ color:#8a5a2b; }
.trip-card.trip-color-sand .trip-card-cta svg path{ stroke:#8a5a2b; }
.trip-card.trip-color-sand .trip-card-facts{ border-top-color:rgba(138,90,43,0.25); }

.trip-card.trip-color-mint .trip-card-ph{ background:linear-gradient(135deg,#34A99D,#1C231E); }
.trip-card.trip-color-mint .trip-card-body{ background:#AEDDD8; }
.trip-card.trip-color-mint .trip-card-badge{ background:rgba(31,110,100,0.9); }
.trip-card.trip-color-mint .trip-card-price{ background:#458393; }
.trip-card.trip-color-mint .trip-card-region,
.trip-card.trip-color-mint .trip-card-cta{ color:#1f6e64; }
.trip-card.trip-color-mint .trip-card-cta svg path{ stroke:#1f6e64; }
.trip-card.trip-color-mint .trip-card-facts{ border-top-color:rgba(31,110,100,0.25); }

.trip-card.trip-color-blue .trip-card-ph{ background:linear-gradient(135deg,#E5CB90,#458393); }
.trip-card.trip-color-blue .trip-card-body{ background:#B5CDD4; }
.trip-card.trip-color-blue .trip-card-badge{ background:rgba(44,87,99,0.9); }
.trip-card.trip-color-blue .trip-card-price{ background:#34A99D; }
.trip-card.trip-color-blue .trip-card-region,
.trip-card.trip-color-blue .trip-card-cta{ color:#2c5763; }
.trip-card.trip-color-blue .trip-card-cta svg path{ stroke:#2c5763; }
.trip-card.trip-color-blue .trip-card-facts{ border-top-color:rgba(44,87,99,0.25); }

.trip-card.trip-color-gold .trip-card-ph{ background:linear-gradient(135deg,#E2903F,#1C231E); }
.trip-card.trip-color-gold .trip-card-body{ background:#F5D8BC; }
.trip-card.trip-color-gold .trip-card-badge{ background:rgba(154,90,31,0.9); }
.trip-card.trip-color-gold .trip-card-price{ background:#E2903F; }
.trip-card.trip-color-gold .trip-card-region,
.trip-card.trip-color-gold .trip-card-cta{ color:#9a5a1f; }
.trip-card.trip-color-gold .trip-card-cta svg path{ stroke:#9a5a1f; }
.trip-card.trip-color-gold .trip-card-facts{ border-top-color:rgba(154,90,31,0.25); }

.trip-card.trip-color-terracotta .trip-card-ph{ background:linear-gradient(135deg,#B5482F,#1C231E); }
.trip-card.trip-color-terracotta .trip-card-body{ background:#E9C8C1; }
.trip-card.trip-color-terracotta .trip-card-badge{ background:rgba(138,74,58,0.9); }
.trip-card.trip-color-terracotta .trip-card-price{ background:#B5482F; }
.trip-card.trip-color-terracotta .trip-card-region,
.trip-card.trip-color-terracotta .trip-card-cta{ color:#8a4a3a; }
.trip-card.trip-color-terracotta .trip-card-cta svg path{ stroke:#8a4a3a; }
.trip-card.trip-color-terracotta .trip-card-facts{ border-top-color:rgba(138,74,58,0.25); }

.trip-card.trip-color-olive .trip-card-ph{ background:linear-gradient(135deg,#6B7233,#1C231E); }
.trip-card.trip-color-olive .trip-card-body{ background:#C3C68A; }
.trip-card.trip-color-olive .trip-card-badge{ background:rgba(92,96,35,0.9); }
.trip-card.trip-color-olive .trip-card-price{ background:#6B7233; }
.trip-card.trip-color-olive .trip-card-region,
.trip-card.trip-color-olive .trip-card-cta{ color:#5c6023; }
.trip-card.trip-color-olive .trip-card-cta svg path{ stroke:#5c6023; }
.trip-card.trip-color-olive .trip-card-facts{ border-top-color:rgba(92,96,35,0.25); }

@media (max-width:900px){
  .trip-card-grid{ grid-template-columns:1fr; }
}

/* ---------- TRIP TYPES STRIP (full-bleed, below hero) ---------- */
.trip-types-strip{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  width:100%;
}
.trip-type-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; text-align:center; padding:26px 14px;
  text-decoration:none; color:var(--ink);
  min-height:120px;
  transition:filter .2s ease, transform .2s ease;
  position:relative;
}
.trip-type-tile:hover{ filter:brightness(0.94); }
.trip-type-tile-name{
  font-family:'Fraunces',serif; font-weight:450; font-size:15.5px; line-height:1.3; max-width:14ch;
}
.trip-type-tile-count{
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  opacity:0.7;
}

.trip-type-tile.trip-color-sand{ background:#E5CB90; color:#5a3d1c; }
.trip-type-tile.trip-color-mint{ background:#AEDDD8; color:#1f6e64; }
.trip-type-tile.trip-color-blue{ background:#B5CDD4; color:#2c5763; }
.trip-type-tile.trip-color-gold{ background:#F5D8BC; color:#7a4517; }
.trip-type-tile.trip-color-terracotta{ background:#E9C8C1; color:#6b382b; }
.trip-type-tile.trip-color-olive{ background:#C3C68A; color:#454920; }

@media (max-width:900px){
  .trip-types-strip{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:560px){
  .trip-types-strip{ grid-template-columns:repeat(2, 1fr); }
  .trip-type-tile{ padding:20px 10px; min-height:100px; }
}

/* ---------- REGIONS MAP SECTION ---------- */
.regions-section{ padding:110px 0 0; background:var(--cream); }
.regions-head{ margin-bottom:0; }
.regions-head .eyebrow{ display:block; margin-bottom:10px; }
.regions-head h2{ line-height:1.2; margin:0 0 14px; }
.regions-head p{ max-width:56ch; margin:0; color:var(--stone); font-size:15px; line-height:1.65; }

.nepal-map-wrap-full{ width:100%; margin:48px 0; position:relative; }
.nepal-map-wrap-full svg{ width:100%; height:auto; display:block; }

.map-legend{ display:flex; gap:24px; margin:22px 0 60px; font-family:'Space Mono',monospace; font-size:11px; color:var(--stone); flex-wrap:wrap; }
.map-legend span{ display:inline-flex; align-items:center; gap:6px; }
.map-legend i{ width:9px; height:9px; border-radius:50%; display:inline-block; }

.region-pin{ cursor:pointer; }
.region-pin circle.pin-dot{ transition:r .2s ease; }
.region-pin:hover circle.pin-dot,
.region-pin.active circle.pin-dot{ r:10; }
.region-pin circle.pin-ring{ fill:none; stroke-width:2; opacity:0; transition:opacity .2s ease; }
.region-pin:hover circle.pin-ring,
.region-pin.active circle.pin-ring{ opacity:1; }
.region-pin text{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.01em;
  fill:var(--ink); text-anchor:middle; opacity:0.85;
}
.region-pin.active text{ opacity:1; font-weight:700; }

.region-detail-card{
  background:var(--paper); border-radius:10px; padding:32px; min-height:220px;
  display:flex; flex-direction:column; justify-content:center;
  border-left:6px solid var(--rust);
  transition:border-color .3s ease;
}
.region-detail-card .eyebrow{ color:var(--rust); margin-bottom:10px; }
.region-detail-card h3{ font-size:24px; font-weight:450; margin:0 0 12px; line-height:1.2; }
.region-detail-card p{ font-size:14px; line-height:1.7; color:var(--stone); margin:0 0 20px; }
.region-detail-card .region-meta{ display:flex; gap:20px; margin-bottom:0; }
.region-detail-card .region-meta div{ font-family:'Space Mono',monospace; font-size:11px; color:var(--stone); }
.region-detail-card .region-meta b{ display:block; font-family:'Fraunces',serif; font-size:20px; color:var(--ink); font-weight:600; }
.region-detail-cta{
  display:inline-flex; align-items:center; gap:8px; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:13.5px; color:var(--ink); text-decoration:none; align-self:flex-start;
}

/* ---------- BRAND TAGLINE (stacked below logo/name, from Site Identity > Tagline) ---------- */
.brand-tagline{
  font-family:'Space Mono', monospace;
  font-size:12.5px;
  letter-spacing:0.02em;
  text-transform:none;
  font-weight:400;
  color:var(--cream);
  opacity:0.6;
  margin-left:26px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

/* ---------- MAP INSTRUCTION (above the regions map) ---------- */
.map-instruction{
  text-align:center;
  font-family:'Space Mono', monospace;
  font-size:12.5px;
  letter-spacing:0.03em;
  color:var(--stone);
  margin:0;
}
.map-instruction strong{
  color:var(--rust);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:700;
}

/* ---------- REGIONS CARD STRIP (The Routes — nine regions, scrollable) ---------- */
.regions-strip-wrap{ position:relative; padding:10px 0 0; margin-top:44px; }
.regions-strip{
  display:flex; gap:20px; overflow-x:auto; padding:4px 4px 20px;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:thin; scrollbar-color:var(--rust) transparent;
}
.regions-strip::-webkit-scrollbar{ height:7px; }
.regions-strip::-webkit-scrollbar-track{ background:var(--line); border-radius:10px; }
.regions-strip::-webkit-scrollbar-thumb{ background:var(--rust); border-radius:10px; }

.region-card{
  flex:0 0 260px; scroll-snap-align:start;
  border-radius:10px; overflow:hidden;
  box-shadow:0 1px 3px rgba(28,35,30,0.1);
  transition:transform .3s ease, box-shadow .3s ease;
  text-decoration:none; color:var(--ink); display:flex; flex-direction:column;
}
.region-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(28,35,30,0.2); }

.region-card-image{ position:relative; aspect-ratio:4/3.4; overflow:hidden; }
.region-card-ph{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.region-card:hover .region-card-ph{ transform:scale(1.06); }
.region-card-image::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(28,35,30,0) 55%, rgba(28,35,30,0.4) 100%);
}
.region-card-badge{
  position:absolute; top:12px; left:12px; z-index:2; color:rgba(255,243,200,0.7);
  font-family:'Space Mono',monospace; font-size:8.5px; letter-spacing:0.05em; text-transform:uppercase;
  padding:4px 9px; border-radius:20px; background:rgba(28,35,30,0.45); backdrop-filter:blur(3px);
}
.region-card-peak{
  position:absolute; bottom:12px; right:12px; z-index:2;
  font-family:'Fraunces',serif; font-weight:600; font-size:13px;
  padding:6px 12px; border-radius:6px; color:#FFF3C8; background:rgba(28,35,30,0.75);
}
.region-card-body{ padding:18px; flex:1; display:flex; flex-direction:column; }
.region-card-body h3{ font-size:24px; font-weight:600; margin:0 0 10px; letter-spacing:-0.01em; }
.region-card-body p{ font-size:12.5px; line-height:1.55; color:#4a4436; margin:0 0 14px; flex:1; }
.region-card-cta{
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:12.5px;
}
.region-card-cta svg{ transition:transform .25s ease; }
.region-card:hover .region-card-cta svg{ transform:translateX(4px); }

/* Visible scroll arrows */
.strip-arrow{
  position:absolute; top:38%; z-index:5;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:var(--night); color:var(--cream);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(28,35,30,0.3);
  transition:background .2s ease, transform .2s ease;
}
.strip-arrow:hover{ background:var(--rust); transform:translateY(-2px); }
.strip-arrow-left{ left:-8px; }
.strip-arrow-right{ right:-8px; }

/* Scroll progress bar */
.strip-progress-track{
  height:3px; background:var(--line); border-radius:10px; margin-top:6px; overflow:hidden;
}
.strip-progress-thumb{
  height:100%; width:20%; background:var(--rust); border-radius:10px;
  transition:transform .15s ease, width .15s ease;
}

@media (max-width:700px){
  .strip-arrow{ display:none; }
  .region-card{ flex-basis:220px; }
}

/* ---------- QUICK FACTS (single trek page) ---------- */
.quick-facts-section{ background:var(--cream); padding:60px 0 0; }
.quick-facts-card{
  background:var(--paper); border-radius:8px; padding:40px 44px;
}
.quick-facts-card .eyebrow{ color:var(--rust); margin-bottom:28px; display:block; }
.quick-facts-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:30px 60px;
}
.quick-fact{ display:flex; align-items:flex-start; gap:14px; }
.quick-fact svg{ flex-shrink:0; margin-top:2px; }
.quick-fact div span{
  display:block; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.04em;
  color:var(--stone); margin-bottom:4px;
}
.quick-fact div b{ font-size:16px; font-weight:700; color:var(--ink); line-height:1.4; }

@media (max-width:700px){
  .quick-facts-card{ padding:30px 24px; }
  .quick-facts-grid{ grid-template-columns:1fr; gap:22px; }
}

/* ================================================================
   SINGLE TREK PAGE — composite design
   ================================================================ */

/* Hero */
.tk-hero{ background:var(--cream); padding:150px 0 0; }
.tk-hero-top{ display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:36px; border-bottom:1px solid var(--ink); }
.tk-hero-idx{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; color:var(--stone); text-transform:uppercase; margin:0; }
.tk-hero-idx b{ color:var(--ink); }
.tk-hero h1{
  font-size:clamp(40px,6.5vw,96px); line-height:0.96; margin:20px 0 0; color:var(--ink); letter-spacing:-0.02em;
}
.tk-hero-sub{ display:flex; justify-content:space-between; align-items:flex-end; padding:22px 0 46px; flex-wrap:wrap; gap:20px; }
.tk-hero-sub p{ font-size:16px; color:var(--stone); max-width:52ch; margin:0; line-height:1.7; }
.tk-hero-price{ text-align:right; font-family:'Space Mono',monospace; flex-shrink:0; }
.tk-hero-price b{ display:block; font-family:'Fraunces',serif; font-size:32px; color:var(--ink); font-weight:600; }
.tk-hero-price span{ font-size:10px; letter-spacing:0.1em; color:var(--stone); text-transform:uppercase; }

/* Spec grid */
.tk-specs{ border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); margin-bottom:60px; }
.tk-specs-grid{ display:grid; grid-template-columns:repeat(6,1fr); }
.tk-spec{ padding:24px 18px; border-right:1px solid var(--line); }
.tk-spec:last-child{ border-right:none; }
.tk-spec span{ display:block; font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--stone); margin-bottom:10px; }
.tk-spec b{ font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:var(--ink); line-height:1.2; }

/* Featured image */
.tk-feature-image{
  width:100%; aspect-ratio:16/8; border-radius:8px; margin-bottom:60px; background-size:cover; background-position:center;
}
.tk-feature-placeholder{ background:linear-gradient(135deg,#458393,#1C231E); }

/* Route map — winding trail with topographic texture */
.tk-daymap-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin-bottom:16px; }
.tk-route-map{
  background:var(--cream); border:1px solid var(--line); border-radius:8px; padding:20px;
  margin-bottom:60px;
}
.tk-route-map svg{ width:100%; height:auto; display:block; }
.tk-route-marker{ cursor:default; }

/* Content flow — elevation card floated right, text wraps around it */
.tk-content-flow{ overflow:hidden; margin-bottom:20px; }
.tk-sidebar-stack{
  float:right; margin:0 0 30px 40px; width:100%; max-width:380px;
}
.tk-elev-card{
  width:100%;
  background:var(--paper); border:1.5px dotted var(--stone); border-radius:6px; padding:28px;
  margin-top:24px;
}
.tk-elev-tag{
  display:flex; align-items:center; gap:10px;
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--rust);
  margin-bottom:18px;
}
.tk-elev-tag::before,
.tk-elev-tag::after{ content:''; flex:1; height:0; border-top:1.5px dotted var(--rust); }
.tk-elev-card h3{ font-size:19px; font-weight:450; margin:0 0 18px; }
.tk-elev-card svg{ width:100%; height:auto; display:block; margin-bottom:20px; }
.tk-facts-list{ display:flex; flex-direction:column; gap:0; margin-bottom:6px; }
.tk-fact-row{
  display:flex; justify-content:space-between; align-items:baseline; padding:11px 0;
  border-bottom:1.5px dotted var(--line);
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--stone);
}
.tk-fact-row:last-child{ border-bottom:none; }
.tk-fact-row b{ font-family:'Archivo',sans-serif; font-size:14px; font-weight:700; color:var(--ink); text-transform:none; letter-spacing:0; }
.tk-elev-price{ text-align:center; padding:22px 0 20px; border-top:1.5px dotted var(--stone); margin-top:6px; }
.tk-elev-price b{ display:block; font-family:'Fraunces',serif; font-size:32px; color:var(--rust); font-weight:600; }
.tk-elev-price span{ font-family:'Space Mono',monospace; font-size:10px; color:var(--stone); text-transform:uppercase; letter-spacing:0.06em; }
.tk-elev-cta{
  display:block; text-align:center; width:100%; background:var(--night); color:var(--cream);
  font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; padding:15px; border-radius:6px; text-decoration:none;
}

.tk-overview p:first-of-type::first-letter{
  font-family:'Fraunces',serif; font-size:64px; float:left; line-height:0.8; padding:8px 10px 0 0; color:var(--rust); font-weight:600;
}
.tk-overview p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }

/* Highlights */
.tk-section-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin:50px 0 24px; clear:both; }
.tk-highlights{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:20px; }
.tk-highlight{ display:flex; gap:12px; align-items:flex-start; background:var(--paper); border-radius:8px; padding:16px 18px; }
.tk-highlight svg{ flex-shrink:0; margin-top:2px; }
.tk-highlight span{ font-size:13.5px; line-height:1.5; color:var(--ink); }

/* End banner */
.tk-end-banner{
  background:var(--night); color:var(--cream); border-radius:10px; padding:36px 40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin:70px 0 40px; clear:both;
}
.tk-end-banner .tk-info{ display:flex; gap:30px; flex-wrap:wrap; }
.tk-end-banner .tk-info div{ font-family:'Space Mono',monospace; font-size:10.5px; color:rgba(246,242,233,0.6); }
.tk-end-banner .tk-info b{ display:block; font-family:'Fraunces',serif; font-size:20px; color:var(--cream); font-weight:600; }
.tk-end-banner a{
  background:var(--amber); color:var(--night); font-family:'Archivo',sans-serif; font-weight:700;
  font-size:14px; padding:14px 30px; border-radius:4px; text-decoration:none; white-space:nowrap;
}

@media (max-width:900px){
  .tk-specs-grid{ grid-template-columns:repeat(3,1fr); }
  .tk-spec:nth-child(3n){ border-right:none; }
  .tk-sidebar-stack{ float:none; max-width:100%; margin:0 0 30px; }
  .tk-highlights{ grid-template-columns:1fr; }
  .tk-end-banner{ flex-direction:column; align-items:flex-start; }
}

/* ---------- SELECTED TREK CONFIRMATION CARD (Trip Customizer, Step 3) ---------- */
.selected-trek-card{
  display:flex; align-items:center; gap:16px;
  background:#E5CB90; border:1px solid rgba(28,35,30,0.15); border-radius:8px;
  padding:18px 20px; margin-bottom:32px;
}
.selected-trek-check{
  flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--pine);
  display:flex; align-items:center; justify-content:center;
}
.selected-trek-info{ flex:1; }
.selected-trek-info span{
  display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--pine); margin-bottom:3px;
}
.selected-trek-info b{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--ink); }
.selected-trek-change{
  flex-shrink:0; background:none; border:1px solid var(--ink); border-radius:20px; cursor:pointer;
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.04em; color:var(--ink);
  padding:8px 16px; transition:background .2s ease, color .2s ease;
}
.selected-trek-change:hover{ background:var(--ink); color:var(--cream); }

@media (max-width:560px){
  .selected-trek-card{ flex-wrap:wrap; }
  .selected-trek-change{ width:100%; text-align:center; }
}

/* ---------- INLINE FIELD ERRORS (Trip Customizer) ---------- */
.form-group input.field-invalid,
.form-group select.field-invalid{
  border-color:var(--rust) !important;
  background:rgba(181,72,47,0.05);
}
.field-error-msg{
  display:block; color:var(--rust); font-size:11.5px; font-family:'Space Mono',monospace;
  margin-top:6px; letter-spacing:0.02em;
}

@media (max-width:900px){
  .brand-tagline{ font-size:9.5px; }
}

/* ---------- TESTIMONIALS SECTION ---------- */
.testimonials{ padding:110px 0 40px; background:var(--cream); }
.testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:20px; align-items:start; }

.testimonial-note{
  background:var(--paper); border-radius:6px; padding:14px 14px 18px; box-shadow:0 4px 14px rgba(28,35,30,0.1);
  transform:rotate(-1.5deg); transition:transform .25s ease;
}
.testimonial-note:nth-child(even){ transform:rotate(1.5deg); }
.testimonial-note:hover{ transform:rotate(0deg); }
.testimonial-note img{ width:100%; height:auto; display:block; border-radius:2px; margin-bottom:12px; }
.testimonial-note-caption{ text-align:center; }
.testimonial-note-caption b{ display:block; font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--ink); }
.testimonial-note-caption span{ display:block; font-family:'Space Mono',monospace; font-size:10.5px; color:var(--stone); margin-top:2px; }

@media (max-width:900px){
  .testimonials-grid{ grid-template-columns:1fr; gap:36px; }
}

/* ---------- BLOG FEED (Stories section) ---------- */
.blog-feed-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:20px; }
.blog-feed-card{ text-decoration:none; color:inherit; display:block; }
.blog-feed-image{
  aspect-ratio:4/3; border-radius:6px; background-size:cover; background-position:center; margin-bottom:18px;
}
.blog-feed-placeholder{ background:linear-gradient(135deg,#458393,#1C231E); }
.blog-feed-date{
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--rust); margin:0 0 8px;
}
.blog-feed-body h3{ font-size:19px; font-weight:450; margin:0 0 10px; line-height:1.3; }
.blog-feed-body p{ font-size:13.5px; line-height:1.6; color:var(--stone); margin:0; }

@media (max-width:900px){
  .blog-feed-grid{ grid-template-columns:1fr; gap:36px; }
}

/* ---------- ABOUT PAGE — Concept 2: Portrait Wall + Journey Timeline ---------- */
.ab2-hero{ background:var(--night); padding:120px 0 90px; text-align:center; position:relative; overflow:hidden; }
.ab2-breadcrumb{
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:0.05em;
  color:rgba(255,243,200,0.45); display:flex; align-items:center; justify-content:flex-start; gap:8px;
  margin-bottom:30px; text-align:left;
}
.ab2-breadcrumb a{ color:rgba(255,243,200,0.45); text-decoration:none; }
.ab2-breadcrumb a:hover{ color:var(--amber-soft); }
.ab2-breadcrumb span.sep{ color:rgba(255,243,200,0.25); }
.ab2-breadcrumb span.current{ color:rgba(255,243,200,0.75); }
.ab2-hero .eyebrow{ color:var(--amber-soft); }
.ab2-hero h1{ color:var(--cream); font-size:clamp(34px,5vw,58px); max-width:18ch; margin:16px auto 26px; }
.ab2-quote{ font-family:'Fraunces',serif; font-style:italic; font-size:22px; line-height:1.6; color:rgba(255,243,200,0.85); max-width:56ch; margin:0 auto; }

.ab2-body{ background:var(--cream); padding:0 0 100px; }

.ab2-specs{ border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); margin:0 0 70px; }
.ab2-specs-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.ab2-spec{ padding:24px 18px; border-right:1px solid var(--line); text-align:center; }
.ab2-spec:last-child{ border-right:none; }
.ab2-spec span{ display:block; font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--stone); margin-bottom:10px; }
.ab2-spec b{ font-family:'Fraunces',serif; font-size:24px; font-weight:600; color:var(--rust); line-height:1.2; }

.ab2-story{ max-width:760px; margin:0 auto 90px; }
.ab2-story p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }

.ab2-team-label{ text-align:center; margin-bottom:40px; }
.ab2-team-label .eyebrow{ display:block; }
.ab2-team-label h2{ font-size:clamp(26px,3.2vw,36px); margin:10px 0 0; }

.ab2-portrait-wall{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-bottom:90px; align-items:start; }
.ab2-portrait{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.ab2-portrait-photo{
  width:170px; height:170px; border-radius:50%; margin:0 auto 20px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; transition:transform .3s ease;
}
.ab2-portrait:hover .ab2-portrait-photo{ transform:scale(1.05); }
.ab2-portrait-photo.c1{ background:radial-gradient(circle at 35% 30%, #E5CB90, #8a5a2b); }
.ab2-portrait-photo.c2{ background:radial-gradient(circle at 35% 30%, #AEDDD8, #1f6e64); }
.ab2-portrait-photo.c3{ background:radial-gradient(circle at 35% 30%, #B5CDD4, #2c5763); }
.ab2-portrait h4{ font-size:19px; font-weight:450; margin:0 0 6px; min-height:1.3em; display:flex; align-items:center; }
.ab2-portrait .role{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--rust);
  margin:0 0 12px; min-height:2.6em; display:flex; align-items:center; justify-content:center; line-height:1.3;
}
.ab2-portrait p:last-child{ font-size:13px; line-height:1.6; color:var(--stone); max-width:26ch; margin:0 auto; }
.ab2-portrait p{ font-size:13px; line-height:1.6; color:var(--stone); max-width:26ch; margin:0 auto; }

.ab2-journey-label{ text-align:center; margin-bottom:50px; }
.ab2-journey-label .eyebrow{ display:block; }
.ab2-journey-label h2{ font-size:clamp(26px,3.2vw,36px); margin:10px 0 0; }

.ab2-timeline{ position:relative; padding:0 20px; margin-bottom:20px; }
.ab2-timeline-track{ display:flex; justify-content:space-between; align-items:flex-start; position:relative; }
.ab2-timeline-track::before{ content:''; position:absolute; top:17px; left:0; right:0; height:2px; background:repeating-linear-gradient(90deg, var(--rust) 0 6px, transparent 6px 12px); }
.ab2-tl-point{ display:flex; flex-direction:column; align-items:center; gap:12px; position:relative; text-align:center; width:150px; }
.ab2-tl-dot{
  width:36px; height:36px; border-radius:50%; background:var(--paper); border:2px solid var(--rust);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:12px; color:var(--rust); z-index:2;
}
.ab2-tl-point b{ font-family:'Fraunces',serif; font-size:15px; }
.ab2-tl-point span{ font-size:12px; color:var(--stone); line-height:1.5; }

@media (max-width:900px){
  .ab2-specs-grid{ grid-template-columns:repeat(2,1fr); }
  .ab2-portrait-wall{ grid-template-columns:1fr; }
  .ab2-timeline-track{ flex-direction:column; gap:30px; align-items:flex-start; }
  .ab2-timeline-track::before{ display:none; }
  .ab2-tl-point{ flex-direction:row; text-align:left; width:100%; }
}

/* ---------- ALL TOURS PAGE (redesigned) ---------- */
.at-breadcrumb-narrow{ padding:130px 0 0; background:var(--cream); }
.at-breadcrumb-narrow .narrow-wrap{
  max-width:1240px; margin:0 auto; padding:0 32px;
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:0.05em;
  color:var(--stone); display:flex; align-items:center; gap:8px;
}
.at-breadcrumb-narrow a{ color:var(--stone); text-decoration:none; }
.at-breadcrumb-narrow a:hover{ color:var(--rust); }
.at-breadcrumb-narrow span.sep{ color:var(--line); }
.at-breadcrumb-narrow span.current{ color:var(--ink); }

.at-map-section{ background:var(--cream); padding:40px 0 0; }
.at-map-full{ width:100%; margin:0; }
.at-map-full svg{ width:100%; height:auto; display:block; }
.at-map-legend{ display:flex; gap:24px; padding:16px 32px 0; font-family:'Space Mono',monospace; font-size:11px; color:var(--stone); flex-wrap:wrap; }
.at-map-legend span{ display:inline-flex; align-items:center; gap:6px; }
.at-map-legend i{ width:9px; height:9px; border-radius:50%; display:inline-block; }

.region-pin-link{ cursor:pointer; }
.region-pin-link circle.pin-dot{ transition:r .2s ease; }
.region-pin-link:hover circle.pin-dot{ r:10; }
.region-pin-link circle.pin-ring{ fill:none; stroke-width:2; opacity:0; transition:opacity .2s ease; }
.region-pin-link:hover circle.pin-ring{ opacity:1; }
.region-pin-link text{ font-family:'Space Mono',monospace; font-size:11px; fill:var(--ink); text-anchor:middle; opacity:0.85; }

.at-hero{ background:var(--cream); padding:70px 0 0; }
.at-hero-top{ display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:36px; border-bottom:1px solid var(--ink); }
.at-hero-idx{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; color:var(--stone); text-transform:uppercase; margin:0; }
.at-hero h1{ font-size:clamp(40px,6vw,84px); line-height:0.96; margin:20px 0 20px; color:var(--ink); letter-spacing:-0.02em; }
.at-hero p{ font-size:16px; color:var(--stone); max-width:56ch; margin:0 0 40px; line-height:1.7; }

.at-filters{ display:flex; gap:10px; flex-wrap:wrap; padding-bottom:50px; }
.at-filter{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.04em; text-transform:uppercase;
  padding:10px 18px; border-radius:20px; border:1.5px solid var(--ink); background:transparent; color:var(--ink);
  cursor:pointer; transition:background .2s ease, color .2s ease;
}
.at-filter.active{ background:var(--ink); color:var(--cream); }
.at-filter:hover:not(.active){ background:var(--paper); }

/* Color-coded filter pills, matching each Trip Type's established color */
.at-filter.at-filter-sand{ border-color:#8a5a2b; color:#8a5a2b; }
.at-filter.at-filter-sand:hover:not(.active){ background:#E5CB90; }
.at-filter.at-filter-sand.active{ background:#E5CB90; color:#8a5a2b; border-color:#8a5a2b; }

.at-filter.at-filter-mint{ border-color:#1f6e64; color:#1f6e64; }
.at-filter.at-filter-mint:hover:not(.active){ background:#AEDDD8; }
.at-filter.at-filter-mint.active{ background:#AEDDD8; color:#1f6e64; border-color:#1f6e64; }

.at-filter.at-filter-blue{ border-color:#2c5763; color:#2c5763; }
.at-filter.at-filter-blue:hover:not(.active){ background:#B5CDD4; }
.at-filter.at-filter-blue.active{ background:#B5CDD4; color:#2c5763; border-color:#2c5763; }

.at-filter.at-filter-gold{ border-color:#9a5a1f; color:#9a5a1f; }
.at-filter.at-filter-gold:hover:not(.active){ background:#F5D8BC; }
.at-filter.at-filter-gold.active{ background:#F5D8BC; color:#9a5a1f; border-color:#9a5a1f; }

.at-filter.at-filter-terracotta{ border-color:#8a4a3a; color:#8a4a3a; }
.at-filter.at-filter-terracotta:hover:not(.active){ background:#E9C8C1; }
.at-filter.at-filter-terracotta.active{ background:#E9C8C1; color:#8a4a3a; border-color:#8a4a3a; }

.at-filter.at-filter-olive{ border-color:#5c6023; color:#5c6023; }
.at-filter.at-filter-olive:hover:not(.active){ background:#C3C68A; }
.at-filter.at-filter-olive.active{ background:#C3C68A; color:#5c6023; border-color:#5c6023; }

.at-body{ padding:0 0 100px; }

@media (max-width:700px){
  .at-hero-top{ flex-direction:column; gap:6px; }
}

/* ---------- THANK YOU PAGE v2 ---------- */
.ty2-hero{
  position:relative; overflow:hidden; text-align:center;
  background:linear-gradient(180deg, #FFF3C8 0%, #F5E6B8 100%);
  padding:150px 0 100px;
}
.ty2-topo{ position:absolute; inset:0; opacity:0.12; pointer-events:none; }
.ty2-hero-inner{ position:relative; z-index:2; max-width:640px; margin:0 auto; }

.ty2-badge{
  width:88px; height:88px; border-radius:50%; margin:0 auto 32px;
  background:var(--pine); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 8px rgba(55,73,61,0.1), 0 0 0 16px rgba(55,73,61,0.05);
  position:relative;
}
.ty2-badge svg{ position:relative; z-index:2; }

.ty2-hero-inner .eyebrow{ color:var(--rust); }
.ty2-hero-inner h1{ font-size:clamp(32px,4.6vw,52px); margin:16px 0 20px; color:var(--ink); }
.ty2-hero-inner .lead,
.ty2-hero-inner p.lead{ font-size:16.5px; line-height:1.75; color:var(--stone); max-width:48ch; margin:0 auto; }
.ty2-signoff{
  margin-top:28px; font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--rust);
}

.ty2-next-section{ background:var(--cream); padding:80px 0; }
.ty2-next-label{ text-align:center; margin-bottom:44px; }
.ty2-next-label p.eyebrow{ color:var(--rust); }
.ty2-next-label h2{ font-size:clamp(24px,3vw,32px); margin:10px 0 0; }

.ty2-next-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:900px; margin:0 auto; }
.ty2-next-card{
  background:var(--paper); border:1.5px dotted var(--stone); border-radius:8px; padding:28px 24px; text-align:center; position:relative;
}
.ty2-next-num{
  width:34px; height:34px; border-radius:50%; background:var(--cream); border:2px solid var(--rust);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  font-family:'Fraunces',serif; font-weight:600; font-size:13px; color:var(--rust);
}
.ty2-next-card h4{ font-size:16px; font-weight:450; margin:0 0 10px; }
.ty2-next-card p{ font-size:13px; line-height:1.6; color:var(--stone); margin:0; }

.ty2-ctas{ display:flex; gap:16px; justify-content:center; margin-top:56px; flex-wrap:wrap; }
.ty2-ctas a{
  font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; padding:14px 28px; border-radius:6px; text-decoration:none;
  transition:transform .25s ease;
}
.ty2-ctas a:hover{ transform:translateY(-2px); }
.ty2-cta-primary{ background:var(--amber); color:var(--night); }
.ty2-cta-secondary{ background:transparent; color:var(--ink); border:1.5px solid var(--ink); }

@media (max-width:700px){
  .ty2-next-grid{ grid-template-columns:1fr; }
}

/* ---------- FOOTER PILL CLOUD (Browse By Trip Type / Region) ---------- */
.fp-section{ padding:50px 0 40px; border-bottom:1px solid var(--line-dark); margin-top:60px; }
.fp-group{ margin-bottom:26px; }
.fp-group:last-child{ margin-bottom:0; }
.fp-group-label{
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,243,200,0.45); margin-bottom:14px;
}
.fp-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.fp-pill{
  font-family:'Archivo',sans-serif; font-size:13px; font-weight:600; text-decoration:none;
  padding:8px 16px; border-radius:20px; transition:transform .2s ease, background .2s ease, color .2s ease;
  border:1.5px solid transparent;
  background:var(--pill-bg);
  color:var(--phex);
  border-color:var(--pill-border);
}
.fp-pill:hover{
  background:var(--phex);
  color:var(--night);
  border-color:var(--phex);
  transform:translateY(-2px);
}

/* ---------- ROUTE MAP + MAGNIFIER + LIGHTBOX ---------- */
.tk-route-map-card{
  background:var(--paper); border:1.5px dotted var(--stone); border-radius:6px; padding:20px;
  width:100%;
}
.tk-route-map-frame{
  position:relative; cursor:zoom-in; border-radius:4px; overflow:hidden; margin-top:14px;
}
.tk-route-map-frame img{ width:100%; height:auto; display:block; transition:transform .3s ease; }
.tk-route-map-frame:hover img{ transform:scale(1.03); }
.tk-route-map-zoom{
  position:absolute; bottom:10px; right:10px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,243,200,0.9); display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(28,35,30,0.25);
}

.tk-route-map-lightbox{
  position:fixed; inset:0; z-index:999; background:rgba(28,35,30,0.92);
  display:none; align-items:center; justify-content:center; padding:40px;
}
.tk-route-map-lightbox.active{ display:flex; }
.tk-route-map-lightbox img{
  max-width:100%; max-height:100%; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.tk-route-map-close{
  position:absolute; top:24px; right:32px; background:none; border:none; color:var(--cream);
  font-size:36px; line-height:1; cursor:pointer;
}

@media (max-width:900px){
  .tk-route-map-card{ max-width:100%; }
}
/* ---------- "SEE ALL TRIPS" BUTTON — 6-color gradient fill ---------- */
.featured-see-all-btn{
  background:linear-gradient(90deg,
    #E5CB90 0%, #E5CB90 16.66%,
    #AEDDD8 16.66%, #AEDDD8 33.33%,
    #B5CDD4 33.33%, #B5CDD4 50%,
    #F5D8BC 50%, #F5D8BC 66.66%,
    #E9C8C1 66.66%, #E9C8C1 83.33%,
    #C3C68A 83.33%, #C3C68A 100%
  );
  background-size:100% 100%;
  border:1.5px solid var(--ink);
  border-radius:12px;
  color:var(--ink);
  font-weight:700;
  font-size:16px;
  padding:20px 44px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.featured-see-all-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(28,35,30,0.18);
}

/* ---------- REGIONS CATALOG PAGE ---------- */
.rp-hero{ background:var(--cream); padding:130px 0 0; }
.rp-hero-top{ display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:36px; border-bottom:1px solid var(--ink); }
.rp-hero-idx{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; color:var(--stone); text-transform:uppercase; margin:0; }
.rp-hero h1{ font-size:clamp(38px,5.5vw,74px); line-height:0.98; margin:20px 0 20px; color:var(--ink); letter-spacing:-0.02em; }
.rp-hero p{ font-size:16px; color:var(--stone); max-width:60ch; margin:0 0 50px; line-height:1.7; }

.rp-map-section{ background:var(--cream); padding:0 0 60px; }
.rp-map-full{ width:100%; }
.rp-map-full svg{ width:100%; height:auto; display:block; }

.rp-body{ padding:70px 0 120px; background:var(--cream); }
.rp-section-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin-bottom:24px; }
.rp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:70px; }

.rp-card{
  border-radius:8px; padding:24px; text-decoration:none; color:#1C231E; position:relative; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease; min-height:200px; display:flex; flex-direction:column; justify-content:space-between;
}
.rp-card:hover{ transform:translateY(-5px); box-shadow:0 16px 30px rgba(28,35,30,0.15); }
.rp-card-count{ font-family:'Space Mono',monospace; font-size:9px; letter-spacing:0.05em; opacity:0.65; margin-bottom:10px; }
.rp-card h3{ font-size:32px; font-weight:500; margin:0 0 10px; line-height:1.1; }
.rp-card p{ font-size:13px; line-height:1.55; opacity:0.8; margin:0 0 18px; }
.rp-card-cta{ display:flex; align-items:center; gap:6px; font-family:'Archivo',sans-serif; font-weight:700; font-size:13px; }
.rp-card-cta svg{ transition:transform .25s ease; }
.rp-card:hover .rp-card-cta svg{ transform:translateX(4px); }

@media (max-width:900px){
  .rp-grid{ grid-template-columns:1fr; }
}

/* ---------- EXPERIENCE SINGLE PAGE ---------- */
.exp-hero{ background:var(--cream); padding:130px 0 50px; }
.exp-hero .eyebrow{ color:var(--rust); }
.exp-hero h1{ font-size:clamp(34px,5vw,58px); margin:14px 0 18px; color:var(--ink); max-width:20ch; }
.exp-hero-desc{ font-size:16px; line-height:1.7; color:var(--stone); max-width:60ch; margin:0; }

.exp-feature-image{ width:100%; aspect-ratio:21/9; background-size:cover; background-position:center; }

.exp-body{ padding:60px 0 100px; background:var(--cream); }

.exp-facts-row{
  display:flex; gap:0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink);
  margin-bottom:50px;
}
.exp-fact{ flex:1; padding:22px 20px; border-right:1px solid var(--line); }
.exp-fact:last-child{ border-right:none; }
.exp-fact span{ display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--stone); margin-bottom:8px; }
.exp-fact b{ font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--ink); }

.exp-route-map-card{
  background:var(--paper); border:1.5px dotted var(--stone); border-radius:6px; padding:20px;
  margin-bottom:50px; max-width:500px;
}
.exp-route-map-tag{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin-bottom:14px; }
.exp-route-map-frame{ position:relative; cursor:zoom-in; border-radius:4px; overflow:hidden; }
.exp-route-map-frame img{ width:100%; height:auto; display:block; transition:transform .3s ease; }
.exp-route-map-frame:hover img{ transform:scale(1.03); }
.exp-route-map-zoom{
  position:absolute; bottom:10px; right:10px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,243,200,0.9); display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(28,35,30,0.25);
}
.exp-route-map-lightbox{
  position:fixed; inset:0; z-index:999; background:rgba(28,35,30,0.92);
  display:none; align-items:center; justify-content:center; padding:40px;
}
.exp-route-map-lightbox.active{ display:flex; }
.exp-route-map-lightbox img{ max-width:100%; max-height:100%; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.exp-route-map-close{ position:absolute; top:24px; right:32px; background:none; border:none; color:var(--cream); font-size:36px; line-height:1; cursor:pointer; }

.exp-content{ max-width:760px; margin-bottom:50px; }
.exp-content p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }

.exp-section-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin:0 0 24px; }
.exp-highlights{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:60px; }
.exp-highlight{ display:flex; gap:12px; align-items:flex-start; background:var(--paper); border-radius:8px; padding:16px 18px; }
.exp-highlight svg{ flex-shrink:0; margin-top:2px; }
.exp-highlight span{ font-size:13.5px; line-height:1.5; color:var(--ink); }

.exp-end-banner{
  background:var(--night); color:var(--cream); border-radius:10px; padding:36px 40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px;
}
.exp-end-banner .exp-info{ display:flex; gap:30px; flex-wrap:wrap; }
.exp-end-banner .exp-info div{ font-family:'Space Mono',monospace; font-size:10.5px; color:rgba(246,242,233,0.6); }
.exp-end-banner .exp-info b{ display:block; font-family:'Fraunces',serif; font-size:20px; color:var(--cream); font-weight:600; }
.exp-end-banner a{
  background:var(--amber); color:var(--night); font-family:'Archivo',sans-serif; font-weight:700;
  font-size:14px; padding:14px 30px; border-radius:4px; text-decoration:none; white-space:nowrap;
}

@media (max-width:700px){
  .exp-facts-row{ flex-direction:column; }
  .exp-fact{ border-right:none; border-bottom:1px solid var(--line); }
  .exp-highlights{ grid-template-columns:1fr; }
}

/* ---------- EXPERIENCES LISTING PAGE ---------- */
.exp-list-hero{ background:var(--cream); padding:130px 0 50px; text-align:center; }
.exp-list-hero .eyebrow{ color:var(--rust); }
.exp-list-hero h1{ font-size:clamp(34px,5vw,58px); margin:14px 0 18px; color:var(--ink); }
.exp-list-hero p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:60ch; margin:0 auto 36px; }

.exp-list-filters{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.exp-list-filter{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.04em; text-transform:uppercase;
  padding:10px 18px; border-radius:20px; border:1.5px solid var(--ink); background:transparent; color:var(--ink);
  cursor:pointer; transition:background .2s ease, color .2s ease;
}
.exp-list-filter.active{ background:var(--ink); color:var(--cream); }
.exp-list-filter:hover:not(.active){ background:var(--paper); }

.exp-list-body{ padding:60px 0 100px; background:var(--cream); }
.exp-list-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

.exp-card{
  border-radius:10px; overflow:hidden; box-shadow:0 1px 3px rgba(28,35,30,0.1);
  transition:transform .3s ease, box-shadow .3s ease; text-decoration:none; color:var(--ink);
  display:flex; flex-direction:column; background:var(--paper); height:100%;
}
.exp-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(28,35,30,0.2); }
.exp-card-image{ position:relative; aspect-ratio:4/3; }
.exp-card-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.exp-card-ph{ width:100%; height:100%; background:linear-gradient(135deg,#B8A78E,#1C231E); }
.exp-card-badge{
  position:absolute; top:14px; left:14px; background:rgba(255,243,200,0.92); color:var(--ink);
  font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.04em; text-transform:uppercase;
  padding:6px 12px; border-radius:20px;
}
.exp-card-price{
  position:absolute; bottom:14px; right:14px; background:var(--night); color:var(--cream);
  font-family:'Fraunces',serif; font-weight:600; font-size:15px; padding:6px 14px; border-radius:4px;
}
.exp-card-price span{ display:block; font-family:'Space Mono',monospace; font-size:8.5px; text-transform:uppercase; opacity:0.7; font-weight:400; }
.exp-card-body{ padding:22px; flex:1; display:flex; flex-direction:column; min-height:0; }
.exp-card-location{ font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--rust); margin:0 0 8px; }
.exp-card-body h3{ font-size:19px; font-weight:450; margin:0 0 10px; }
.exp-card-body > p{ font-size:13.5px; line-height:1.6; color:#4a4436; margin:0 0 18px; flex:1; min-height:0; }
.exp-card-facts{ display:flex; gap:16px; margin-bottom:16px; font-family:'Space Mono',monospace; font-size:11.5px; color:var(--stone); }
.exp-card-facts div{ display:flex; align-items:center; gap:5px; }
.exp-card-cta{ display:flex; align-items:center; gap:6px; font-family:'Archivo',sans-serif; font-weight:700; font-size:13px; color:var(--ink); }
.exp-card-cta svg{ transition:transform .25s ease; }
.exp-card:hover .exp-card-cta svg{ transform:translateX(4px); }

@media (max-width:900px){
  .exp-list-grid{ grid-template-columns:1fr; }
}

/* ---------- LUXURY TRIPS PAGE ---------- */
.lux-hero{ background:linear-gradient(160deg,#2A3327 0%,#1C231E 100%); padding:150px 0 90px; position:relative; overflow:hidden; }
.lux-hero::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(226,144,63,0.08) 1px, transparent 1px); background-size:26px 26px; }
.lux-hero-inner{ position:relative; z-index:2; text-align:center; max-width:700px; margin:0 auto; }
.lux-hero .eyebrow{ color:var(--amber-soft); letter-spacing:0.2em; }
.lux-hero h1{ color:var(--cream); font-size:clamp(38px,5.5vw,64px); margin:20px 0 20px; }
.lux-hero p{ color:rgba(255,243,200,0.7); font-size:16.5px; line-height:1.75; margin:0; }
.lux-divider{ width:60px; height:2px; background:var(--amber); margin:30px auto; }

.lux-body{ background:var(--cream); padding:80px 0 100px; }
.lux-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.lux-card{ background:linear-gradient(160deg,#2A3327,#1C231E); border-radius:12px; overflow:hidden; text-decoration:none; color:var(--cream); border:1px solid rgba(226,144,63,0.25); transition:transform .3s ease; display:block; }
.lux-card:hover{ transform:translateY(-6px); }
.lux-card-ph{ aspect-ratio:4/3; background:linear-gradient(135deg,#8a5a2b,#1C231E); }
.lux-card-body{ padding:24px; }
.lux-card-body span{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--amber-soft); }
.lux-card-body h3{ font-size:20px; font-weight:450; margin:10px 0 12px; color:var(--cream); }
.lux-card-body p{ font-size:13px; line-height:1.6; color:rgba(255,243,200,0.65); margin:0 0 18px; }
.lux-card-price{ font-family:'Fraunces',serif; font-size:20px; font-weight:600; color:var(--amber-soft); }

@media (max-width:900px){ .lux-grid{ grid-template-columns:1fr; } }

/* ---------- PILGRIMAGE TOURS PAGE ---------- */
.pil-hero{ background:#E9C8C1; padding:150px 0 90px; text-align:center; position:relative; overflow:hidden; }
.pil-hero::before{ content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%); width:500px; height:500px; border-radius:50%; border:1px solid rgba(107,56,43,0.15); }
.pil-hero::after{ content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:380px; height:380px; border-radius:50%; border:1px solid rgba(107,56,43,0.12); }
.pil-hero-inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; }
.pil-hero .eyebrow{ color:#6b382b; letter-spacing:0.16em; }
.pil-hero h1{ color:#3d2117; font-size:clamp(36px,5.2vw,58px); margin:18px 0 20px; font-style:italic; font-weight:400; }
.pil-hero p{ color:#6b382b; font-size:16px; line-height:1.75; margin:0; opacity:0.85; }

.pil-body{ background:var(--cream); padding:80px 0 100px; }
.pil-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.pil-card{ background:var(--paper); border-radius:12px; overflow:hidden; text-decoration:none; color:var(--ink); border:1.5px dotted #b58a7d; transition:transform .3s ease; display:block; }
.pil-card:hover{ transform:translateY(-5px); }
.pil-card-ph{ aspect-ratio:4/3; background:linear-gradient(135deg,#B5482F,#1C231E); }
.pil-card-body{ padding:22px; text-align:center; }
.pil-card-body span{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:#8a4a3a; }
.pil-card-body h3{ font-size:19px; font-weight:450; margin:10px 0 10px; color:var(--ink); }
.pil-card-body p{ font-size:13px; line-height:1.6; color:var(--stone); margin:0 0 16px; }
.pil-card-price{ font-family:'Fraunces',serif; font-style:italic; font-size:17px; color:#8a4a3a; }

@media (max-width:900px){ .pil-grid{ grid-template-columns:1fr; } }

/* ---------- HERITAGE WALK PAGE ---------- */
.her-hero{ background:#F5D8BC; padding:150px 0 40px; position:relative; overflow:hidden; }
.her-hero-inner{ position:relative; z-index:2; max-width:700px; }
.her-stamp{ display:inline-flex; align-items:center; gap:8px; background:var(--night); color:var(--cream); padding:8px 18px; border-radius:30px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; transform:rotate(-2deg); margin-bottom:20px; }
.her-hero h1{ font-size:clamp(36px,5.5vw,62px); color:#1C231E; margin:0 0 18px; }
.her-hero p{ font-size:16px; line-height:1.7; color:#4a3d2e; max-width:58ch; margin:0; }

.her-strip{ display:flex; margin-top:50px; }
.her-strip div{ flex:1; padding:22px; text-align:center; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; }
.her-strip div:nth-child(1){ background:#E5CB90; color:#5a3d1c; }
.her-strip div:nth-child(2){ background:#AEDDD8; color:#1f6e64; }
.her-strip div:nth-child(3){ background:#B5CDD4; color:#2c5763; }
.her-strip div:nth-child(4){ background:#C3C68A; color:#454920; }

.her-body{ background:var(--cream); padding:80px 0 100px; }
.her-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.her-card{ border-radius:14px; overflow:hidden; text-decoration:none; color:#1C231E; transition:transform .3s ease; display:block; }
.her-card:hover{ transform:translateY(-6px) rotate(-1deg); }
.her-card-ph{ aspect-ratio:4/3; background:linear-gradient(135deg,#458393,#1C231E); }
.her-card-body{ padding:20px; }
.her-card:nth-child(1) .her-card-body{ background:#E5CB90; }
.her-card:nth-child(2) .her-card-body{ background:#AEDDD8; }
.her-card:nth-child(3) .her-card-body{ background:#B5CDD4; }
.her-card:nth-child(4) .her-card-body{ background:#F5D8BC; }
.her-card:nth-child(5) .her-card-body{ background:#E9C8C1; }
.her-card:nth-child(6) .her-card-body{ background:#C3C68A; }
.her-card-body span{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.7; }
.her-card-body h3{ font-size:19px; font-weight:450; margin:10px 0 10px; color:#1C231E; }
.her-card-body p{ font-size:13px; line-height:1.6; opacity:0.8; margin:0 0 16px; color:#1C231E; }
.her-card-price{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; }

@media (max-width:900px){
  .her-grid{ grid-template-columns:1fr; }
  .her-strip{ flex-direction:column; }
}

/* ---------- FEATURED EXPERIENCES PAGE ---------- */
.fexp-hero{ background:var(--cream); padding:130px 0 50px; text-align:center; }
.fexp-hero .eyebrow{ color:var(--rust); }
.fexp-hero h1{ font-size:clamp(34px,5vw,58px); margin:14px 0 18px; color:var(--ink); }
.fexp-hero p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:60ch; margin:0 auto; }

.fexp-body{ padding:60px 0 100px; background:var(--cream); }
.fexp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

@media (max-width:900px){ .fexp-grid{ grid-template-columns:1fr; } }

/* ---------- SINGLE EXPERIENCE PAGE — type-aware visual identity ---------- */
.exps-breadcrumb{ padding:130px 0 0; font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:0.05em; }
.exps-breadcrumb.exps-lux{ background:#1C231E; color:rgba(255,243,200,0.45); }
.exps-breadcrumb.exps-lux a{ color:rgba(255,243,200,0.45); }
.exps-breadcrumb.exps-lux span.current{ color:rgba(255,243,200,0.75); }
.exps-breadcrumb.exps-pil{ background:#E9C8C1; color:#6b382b; }
.exps-breadcrumb.exps-pil a{ color:#6b382b; }
.exps-breadcrumb.exps-her{ background:#F5D8BC; color:#4a3d2e; }
.exps-breadcrumb.exps-her a{ color:#4a3d2e; }
.exps-breadcrumb a{ text-decoration:none; }
.exps-breadcrumb span.sep{ margin:0 8px; opacity:0.5; }

/* Hero variants */
.exps-hero{ padding:24px 0 70px; }
.exps-hero-inner{ max-width:760px; }
.exps-lux-hero{ background:linear-gradient(160deg,#2A3327 0%,#1C231E 100%); text-align:center; }
.exps-lux-hero .exps-hero-inner{ margin:0 auto; }
.exps-lux-hero .eyebrow{ color:var(--amber-soft); letter-spacing:0.2em; }
.exps-lux-hero h1{ color:var(--cream); font-size:clamp(36px,5.5vw,60px); margin:20px 0 0; }
.exps-lux-hero .exps-hero-desc{ color:rgba(255,243,200,0.7); font-size:16.5px; line-height:1.75; max-width:60ch; margin:20px auto 0; }

.exps-pil-hero{ background:#E9C8C1; text-align:center; position:relative; overflow:hidden; }
.exps-pil-hero .exps-hero-inner{ margin:0 auto; position:relative; z-index:2; }
.exps-pil-hero .eyebrow{ color:#6b382b; letter-spacing:0.16em; }
.exps-pil-hero h1{ color:#3d2117; font-size:clamp(34px,5.2vw,54px); margin:18px 0 0; font-style:italic; font-weight:400; }
.exps-pil-hero .exps-hero-desc{ color:#6b382b; font-size:16px; line-height:1.75; margin:20px auto 0; opacity:0.85; max-width:58ch; }

.exps-her-hero{ background:#F5D8BC; }
.exps-stamp{ display:inline-flex; align-items:center; gap:8px; background:var(--night); color:var(--cream); padding:8px 18px; border-radius:30px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; transform:rotate(-2deg); margin-bottom:20px; }
.exps-her-hero h1{ font-size:clamp(34px,5.5vw,58px); color:#1C231E; margin:0; }
.exps-her-hero .exps-hero-desc{ font-size:16px; line-height:1.7; color:#4a3d2e; max-width:58ch; margin:18px 0 0; }

.exps-feature-image{ width:100%; aspect-ratio:21/9; background-size:cover; background-position:center; }

/* Facts row (lux + pilgrimage use this; heritage uses its own strip below) */
.exps-facts-row{ display:flex; margin:40px 0 50px; border-radius:12px; overflow:hidden; }
.exps-fact{ flex:1; padding:22px 20px; text-align:center; }
.exps-fact span{ display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:8px; opacity:0.75; }
.exps-fact b{ font-family:'Fraunces',serif; font-size:24px; font-weight:600; }

.exps-lux-facts .exps-fact:nth-child(1){ background:#E5CB90; color:#5a3d1c; }
.exps-lux-facts .exps-fact:nth-child(2){ background:#E9C8C1; color:#6b382b; }
.exps-lux-facts .exps-fact:nth-child(3){ background:#B5CDD4; color:#2c5763; }

.exps-pil-facts{ background:none; margin-top:20px; }
.exps-pil-facts .exps-fact{ border-right:1px dotted #b58a7d; }
.exps-pil-facts .exps-fact:last-child{ border-right:none; }
.exps-pil-facts .exps-fact span{ color:#8a4a3a; }
.exps-pil-facts .exps-fact b{ color:var(--ink); }

.exps-body{ padding:0 0 100px; background:var(--cream); }

.exps-content-grid{ display:grid; grid-template-columns:1fr 360px; gap:50px; align-items:start; margin-bottom:60px; }
.exps-content p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }
.exps-content p:first-of-type::first-letter{
  font-family:'Fraunces',serif; font-size:54px; float:left; line-height:0.8; padding:6px 10px 0 0; color:var(--rust); font-weight:600;
}

.exps-side-card{ border-radius:12px; padding:24px; }
.exps-lux-side{ background:linear-gradient(160deg,#2A3327,#1C231E); border:1px solid rgba(226,144,63,0.3); }
.exps-lux-side .exps-side-tag{ color:var(--amber-soft); }
.exps-pil-side{ background:var(--paper); border:1.5px dotted #b58a7d; }
.exps-pil-side .exps-side-tag{ color:#8a4a3a; }
.exps-her-side{ background:#F5D8BC; }
.exps-her-side .exps-side-tag{ color:#7a4517; }

.exps-side-tag{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:16px; }
.exps-route-map-frame{ position:relative; cursor:zoom-in; border-radius:8px; overflow:hidden; margin-bottom:18px; }
.exps-route-map-frame img{ width:100%; height:auto; display:block; transition:transform .3s ease; }
.exps-route-map-frame:hover img{ transform:scale(1.04); }
.exps-route-map-zoom{
  position:absolute; bottom:10px; right:10px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,243,200,0.9); display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(28,35,30,0.25);
}

.exps-side-cta{ display:block; text-align:center; width:100%; font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; padding:16px; border-radius:8px; text-decoration:none; }
.exps-lux-cta{ background:var(--amber); color:var(--night); }
.exps-pil-cta{ background:var(--night); color:var(--cream); }
.exps-her-cta{ background:var(--night); color:var(--cream); }

.exps-section-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin:0 0 24px; }
.exps-highlights{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:60px; }
.exps-highlight{ display:flex; gap:12px; align-items:flex-start; border-radius:10px; padding:18px 20px; }
.exps-highlight span{ font-size:14px; line-height:1.55; }

.exps-lux-highlights .exps-highlight{ background:linear-gradient(160deg,#2A3327,#1C231E); color:var(--cream); border:1px solid rgba(226,144,63,0.2); }
.exps-lux-highlights .exps-highlight svg{ flex-shrink:0; margin-top:2px; stroke:var(--amber-soft); }
.exps-pil-highlights .exps-highlight{ background:var(--paper); border:1.5px dotted #b58a7d; color:var(--ink); }
.exps-pil-highlights .exps-highlight svg{ flex-shrink:0; margin-top:2px; stroke:#8a4a3a; }
.exps-her-highlights .exps-highlight{ color:#1C231E; font-weight:500; }

.exps-cta-band{ border-radius:14px; padding:50px 40px; text-align:center; }
.exps-cta-band h2{ font-size:clamp(24px,3vw,32px); margin:0 0 10px; }
.exps-cta-band p{ margin:0 0 28px; }
.exps-cta-band a{ display:inline-block; font-family:'Archivo',sans-serif; font-weight:700; font-size:15px; padding:16px 36px; border-radius:8px; text-decoration:none; }

.exps-lux-cta-band{ background:linear-gradient(135deg,#E5CB90,#B5482F); }
.exps-lux-cta-band h2, .exps-lux-cta-band p{ color:#1C231E; }
.exps-lux-cta-band p{ opacity:0.75; }
.exps-lux-cta-band a{ background:var(--night); color:var(--cream); }

.exps-pil-cta-band{ background:#E9C8C1; }
.exps-pil-cta-band h2{ color:#3d2117; }
.exps-pil-cta-band p{ color:#6b382b; }
.exps-pil-cta-band a{ background:#8a4a3a; color:var(--cream); }

.exps-her-cta-band{ background:var(--night); }
.exps-her-cta-band h2{ color:var(--cream); }
.exps-her-cta-band p{ color:rgba(246,242,233,0.65); }
.exps-her-cta-band a{ background:var(--amber); color:var(--night); }

.exps-route-map-lightbox{
  position:fixed; inset:0; z-index:999; background:rgba(28,35,30,0.94);
  display:none; align-items:center; justify-content:center; padding:40px;
}
.exps-route-map-lightbox.active{ display:flex; }
.exps-route-map-lightbox img{ max-width:100%; max-height:100%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.exps-route-map-close{ position:absolute; top:24px; right:32px; background:none; border:none; color:var(--cream); font-size:36px; line-height:1; cursor:pointer; }

@media (max-width:900px){
  .exps-facts-row{ flex-direction:column; }
  .exps-content-grid{ grid-template-columns:1fr; }
  .exps-highlights{ grid-template-columns:1fr; }
}

/* ---------- REGION PAGE FEATURED IMAGE ---------- */
.region-feature-image{
  width:100%; aspect-ratio:21/7; background-size:cover; background-position:center;
  margin-top:20px;
}

/* ---------- REGION PAGE — Connected rich content + theming ---------- */
.region-rich-content{ padding:60px 0; }
.region-rich-content-inner{ max-width:800px; }
.region-rich-content-inner p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }
.region-rich-content-inner h2,
.region-rich-content-inner h3{ margin-top:1.4em; margin-bottom:0.6em; }
.region-rich-content-inner img{ border-radius:8px; margin:20px 0; }

.region-trips-label{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:24px;
}

/* ---------- REGION PAGE — Photo hero with overlaid title (replaces flat image+text stack) ---------- */
.region-hero-photo{
  position:relative; min-height:60vh; background-size:cover; background-position:center;
  display:flex; align-items:flex-end; overflow:hidden;
}
.region-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,35,30,0.05) 0%, rgba(28,35,30,0.55) 65%, rgba(28,35,30,0.85) 100%);
}
.region-hero-photo-inner{ position:relative; z-index:2; padding-bottom:50px; }
.region-hero-photo-inner .eyebrow{ font-weight:700; }
.region-hero-photo-inner h1{ color:var(--cream); font-size:clamp(36px,5.5vw,64px); margin:14px 0 16px; }
.region-hero-photo-inner p{ color:rgba(255,243,200,0.85); font-size:16px; line-height:1.7; max-width:60ch; margin:0; }
.region-hero-accent{ position:absolute; bottom:0; left:0; right:0; height:6px; z-index:3; }

@media (max-width:700px){
  .region-hero-photo{ min-height:50vh; }
}

/* ---------- REGION PAGE — Concept B: Bold Color Wash + Horizontal Cards ---------- */
.rgb-wash{ padding:50px 0; }
.rgb-wash-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.rgb-wash-inner h2{ font-size:clamp(22px,2.8vw,30px); margin:0; font-weight:450; max-width:24ch; }
.rgb-wash-inner p{ font-size:14px; max-width:52ch; margin:0; opacity:0.8; }

.rgb-body{ background:var(--cream); padding:60px 0 100px; }
.rgb-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.rgb-card{ display:flex; gap:20px; background:var(--paper); border-radius:12px; padding:20px; text-decoration:none; color:var(--ink); transition:transform .25s ease, box-shadow .25s ease; }
.rgb-card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(28,35,30,0.12); }
.rgb-card-ph{ width:140px; height:140px; border-radius:10px; flex-shrink:0; background-size:cover; background-position:center; }
.rgb-card-body{ display:flex; flex-direction:column; min-width:0; }
.rgb-card-badge{
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--rust); margin:0 0 6px;
}
.rgb-card-body h3{ font-size:19px; font-weight:450; margin:0 0 8px; }
.rgb-card-body p{ font-size:13px; color:var(--stone); margin:0 0 14px; line-height:1.5; }
.rgb-card-facts{ display:flex; gap:14px; font-family:'Space Mono',monospace; font-size:11.5px; color:var(--stone); margin-bottom:8px; }
.rgb-card-price{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--rust); }

@media (max-width:900px){
  .rgb-grid{ grid-template-columns:1fr; }
  .rgb-card{ flex-direction:column; }
  .rgb-card-ph{ width:100%; height:180px; }
}

/* ---------- REGION PAGE v3 — Merged carousel hero + locator map ---------- */
.rgc-carousel{ position:relative; width:100%; aspect-ratio:21/9; overflow:hidden; }
.rgc-carousel-track{ display:flex; width:100%; height:100%; transition:transform .5s ease; }
.rgc-carousel-slide{ flex:0 0 100%; height:100%; background-size:cover; background-position:center; }
.rgc-carousel-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(28,35,30,0.15) 0%, rgba(28,35,30,0.65) 75%, rgba(28,35,30,0.85) 100%);
}
.rgc-carousel-content{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:130px 0 40px; }
.rgc-breadcrumb{
  font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:0.05em;
  color:rgba(255,243,200,0.55); display:flex; align-items:center; gap:8px; margin-bottom:20px;
}
.rgc-breadcrumb a{ color:rgba(255,243,200,0.55); text-decoration:none; }
.rgc-breadcrumb span.current{ color:rgba(255,243,200,0.85); }
.rgc-breadcrumb-light{ color:var(--stone); margin-bottom:20px; }
.rgc-breadcrumb-light a{ color:var(--stone); }
.rgc-breadcrumb-light span.current{ color:var(--ink); }
.rgc-carousel-content .eyebrow{ color:var(--amber-soft); }
.rgc-carousel-content h1{ color:var(--cream); font-size:clamp(34px,5.5vw,58px); margin:12px 0 0; }
.rgc-carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(28,35,30,0.6); color:var(--cream); display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(4px); font-size:20px; transition:background .2s ease;
}
.rgc-carousel-arrow:hover{ background:rgba(28,35,30,0.85); }
.rgc-carousel-arrow.prev{ left:20px; }
.rgc-carousel-arrow.next{ right:20px; }
.rgc-carousel-dots{ position:absolute; bottom:16px; right:20px; z-index:3; display:flex; gap:8px; }
.rgc-carousel-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,243,200,0.5); cursor:pointer; border:none; padding:0; }
.rgc-carousel-dot.active{ background:var(--cream); width:22px; border-radius:5px; }

.rgc-wash{ padding:50px 0; }
.rgc-wash-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.rgc-wash-inner h2{ font-size:clamp(22px,2.8vw,30px); margin:0; font-weight:450; max-width:24ch; }
.rgc-wash-inner p{ font-size:14px; max-width:52ch; margin:0; opacity:0.8; }

.rgc-body{ background:var(--cream); padding:20px 0 80px; }
.rgc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.rgc-card{ display:flex; gap:20px; background:var(--paper); border-radius:12px; padding:20px; text-decoration:none; color:var(--ink); transition:transform .25s ease, box-shadow .25s ease; }
.rgc-card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(28,35,30,0.12); }
.rgc-card-ph{ width:140px; height:140px; border-radius:10px; flex-shrink:0; background-size:cover; background-position:center; }
.rgc-card-body{ display:flex; flex-direction:column; min-width:0; }
.rgc-card-badge{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--rust); margin:0 0 6px; }
.rgc-card-body h3{ font-size:19px; font-weight:450; margin:0 0 8px; }
.rgc-card-body p{ font-size:13px; color:var(--stone); margin:0 0 14px; line-height:1.5; }
.rgc-card-facts{ display:flex; gap:14px; font-family:'Space Mono',monospace; font-size:11.5px; color:var(--stone); margin-bottom:8px; }
.rgc-card-price{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--rust); }

.rgc-locator-section{ background:var(--cream); padding:20px 0 70px; }
.rgc-locator-label{ text-align:center; margin-bottom:30px; }
.rgc-locator-label p{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin:0; }
.rgc-locator-map{ max-width:700px; margin:0 auto; }
.rgc-locator-map svg{ width:100%; height:auto; display:block; }

.rgc-rich-content{ background:var(--paper); padding:70px 0; }
.rgc-rich-content-label{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); margin-bottom:24px; }
.rgc-rich-content-inner{ max-width:800px; }
.rgc-rich-content-inner p{ font-size:16px; line-height:1.85; color:var(--ink); margin:0 0 20px; }
.rgc-rich-content-inner img{ border-radius:8px; margin:20px 0; }
.rgc-rich-content-inner h2,
.rgc-rich-content-inner h3{ margin-top:1.4em; margin-bottom:0.6em; }

@media (max-width:900px){
  .rgc-grid{ grid-template-columns:1fr; }
  .rgc-carousel{ aspect-ratio:4/3; }
}

/* ---------- FOOTER FACEBOOK BADGE ---------- */
.footer-fb-badge{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:30px;
  background:rgba(255,243,200,0.08); border:1px solid rgba(255,243,200,0.2);
  text-decoration:none; color:var(--cream); font-family:'Archivo',sans-serif; font-weight:600; font-size:13px;
  margin-top:20px; transition:background .2s ease, border-color .2s ease;
}
.footer-fb-badge:hover{ background:rgba(255,243,200,0.15); border-color:var(--amber); }
.footer-fb-badge svg{ fill:var(--amber-soft); flex-shrink:0; }
.footer-fb-badge b{
  font-family:'Space Mono',monospace; font-weight:400; font-size:11px; color:rgba(255,243,200,0.55);
  padding-left:8px; border-left:1px solid rgba(255,243,200,0.25);
}

/* ---------- FAQ ACCORDION (Trek + Experience pages) ---------- */
.tk-faq-list{ display:flex; flex-direction:column; margin-bottom:60px; max-width:800px; }
.tk-faq-item{ border-bottom:1px solid var(--line); }
.tk-faq-question{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
  background:none; border:none; text-align:left; cursor:pointer; padding:20px 0;
  font-family:'Fraunces',serif; font-size:17px; font-weight:450; color:var(--ink);
}
.tk-faq-chevron{ flex-shrink:0; transition:transform .25s ease; color:var(--rust); }
.tk-faq-item.open .tk-faq-chevron{ transform:rotate(180deg); }
.tk-faq-answer{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.tk-faq-item.open .tk-faq-answer{ max-height:300px; }
.tk-faq-answer p{ font-size:14.5px; line-height:1.7; color:var(--stone); margin:0 0 20px; padding-right:36px; }

/* ---------- TESTIMONIAL STAR RATING ---------- */
.testimonial-stars{ color:var(--amber); font-size:15px; letter-spacing:2px; margin:0 0 10px; }
.testimonial-note-caption .testimonial-stars{ font-size:12px; letter-spacing:1px; margin-top:4px; }

/* ---------- TESTIMONIALS PAGE (all testimonials, not just featured) ---------- */
.tp-hero{ background:var(--cream); padding:130px 0 50px; text-align:center; }
.tp-hero h1{ font-size:clamp(34px,5vw,58px); margin:14px 0 18px; color:var(--ink); }
.tp-hero p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:60ch; margin:0 auto; }
.tp-body{ background:var(--cream); padding:20px 0 100px; }

/* ---------- "SEE ALL TESTIMONIALS" LINK — quiet, understated ---------- */
.testimonials-see-all-link{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Space Mono',monospace; font-size:13px; letter-spacing:0.03em;
  color:var(--stone); text-decoration:none; border-bottom:1px solid var(--line);
  padding-bottom:3px; transition:color .2s ease, border-color .2s ease;
}
.testimonials-see-all-link:hover{ color:var(--rust); border-color:var(--rust); }

/* ---------- SITEMAP PAGE (classic style) ---------- */
.sitemap-hero{ background:var(--cream); padding:130px 0 40px; }
.sitemap-hero h1{ font-size:clamp(30px,4.5vw,48px); margin:12px 0 0; color:var(--ink); }
.sitemap-body{ background:var(--cream); padding:20px 0 100px; }
.sitemap-columns{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px; }
.sitemap-column h3{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--rust); margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--ink);
}
.sitemap-column ul{ list-style:none; margin:0; padding:0; }
.sitemap-column li{ margin-bottom:10px; }
.sitemap-column a{
  font-size:14px; color:var(--ink); text-decoration:none; line-height:1.5;
  border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease;
}
.sitemap-column a:hover{ color:var(--rust); border-color:var(--rust); }

@media (max-width:900px){
  .sitemap-columns{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .sitemap-columns{ grid-template-columns:1fr; }
}

/* ---------- SITEMAP HIERARCHICAL TREE VIEW ---------- */
.sitemap-tree-section{ background:var(--paper); padding:70px 0 100px; }
.sitemap-tree-label{
  font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--rust); margin:0 0 30px;
}
.sitemap-tree, .sitemap-tree ul{ list-style:none; margin:0; padding:0; }
.sitemap-tree ul{ margin-left:22px; padding-left:18px; border-left:1px dashed var(--line); margin-top:8px; margin-bottom:4px; }
.sitemap-tree li{ margin-bottom:8px; position:relative; }
.sitemap-tree li::before{
  content:''; position:absolute; left:-18px; top:12px; width:14px; height:1px; background:var(--line);
}
.sitemap-tree > li::before{ display:none; }
.sitemap-tree > li > a{ font-family:'Fraunces',serif; font-size:17px; font-weight:600; }
.sitemap-tree a{
  font-size:13.5px; color:var(--ink); text-decoration:none; line-height:1.6;
  border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease;
}
.sitemap-tree a:hover{ color:var(--rust); border-color:var(--rust); }

@media (max-width:700px){
  .sitemap-tree ul{ margin-left:14px; padding-left:12px; }
}

/* ---------- HERO SEARCH FIELD (inline with primary button) ---------- */
.hero-search-form{ position:relative; flex:1; min-width:280px; max-width:380px; }
.hero-search-input{
  width:100%; height:100%; padding:0 56px 0 20px; border-radius:8px; border:1.5px solid rgba(255,243,200,0.25);
  background:rgba(255,243,200,0.08); color:var(--cream); font-family:'Archivo',sans-serif; font-size:15px;
  backdrop-filter:blur(6px); box-sizing:border-box; min-height:52px;
}
.hero-search-input::placeholder{ color:rgba(255,243,200,0.5); }
.hero-search-input:focus{ outline:none; border-color:var(--amber); background:rgba(255,243,200,0.12); }
.hero-search-submit{
  position:absolute; right:5px; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:6px; border:none; background:var(--amber); color:var(--night);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}

@media (max-width:600px){
  .hero-search-form{ min-width:100%; max-width:100%; }
}

/* ---------- SEARCH RESULTS PAGE ---------- */
.sr-hero{ background:var(--cream); padding:130px 0 40px; }
.sr-hero p.eyebrow{ color:var(--rust); }
.sr-hero h1{ font-size:clamp(24px,3.6vw,38px); margin:14px 0 24px; color:var(--ink); }
.sr-search-again{ position:relative; max-width:460px; }
.sr-search-again input{
  width:100%; padding:14px 50px 14px 18px; border-radius:8px; border:1.5px solid var(--ink);
  font-family:'Archivo',sans-serif; font-size:14px; background:var(--paper);
}
.sr-search-again input:focus{ outline:none; }
.sr-search-again button{
  position:absolute; right:5px; top:50%; transform:translateY(-50%); width:36px; height:36px;
  border-radius:5px; border:none; background:var(--ink); color:var(--cream); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

.sr-shortcuts{ background:var(--paper); padding:20px 0; }
.sr-shortcuts .wrap{ display:flex; gap:14px; flex-wrap:wrap; }
.sr-shortcut{
  display:flex; flex-direction:column; gap:2px; padding:10px 18px; border-radius:8px;
  background:var(--cream); text-decoration:none; border:1px solid var(--line);
  transition:border-color .2s ease, transform .2s ease;
}
.sr-shortcut:hover{ border-color:var(--rust); transform:translateY(-2px); }
.sr-shortcut span{ font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--stone); }
.sr-shortcut b{ font-family:'Fraunces',serif; font-size:15px; color:var(--ink); font-weight:600; }

.sr-body{ background:var(--cream); padding:50px 0 100px; }
.sr-type-section{ margin-bottom:60px; }
.sr-type-label{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--rust); margin:0 0 24px; padding-bottom:16px; border-bottom:1px solid var(--ink);
  display:flex; justify-content:space-between;
}
.sr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sr-post-list{ display:flex; flex-direction:column; }
.sr-post-item{ display:block; padding:18px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); }
.sr-post-item h4{ font-size:16px; font-weight:450; margin:0 0 6px; }
.sr-post-item p{ font-size:13px; color:var(--stone); margin:0; }

.sr-no-results{ text-align:center; padding:60px 0; }
.sr-no-results h2{ font-size:24px; margin-bottom:12px; }
.sr-no-results p{ color:var(--stone); }

@media (max-width:900px){
  .sr-grid{ grid-template-columns:1fr; }
}

/* ---------- "DID YOU MEAN" SEARCH SUGGESTION ---------- */
.sr-suggestion{ font-size:16px; margin:14px 0; }
.sr-suggestion a{ color:var(--rust); font-weight:700; text-decoration:underline; }
.sr-suggestion a:hover{ color:var(--ink); }

/* ---------- LIVE SEARCH AUTOCOMPLETE DROPDOWN ---------- */
.et-search-wrap{ position:relative; flex:1; }
.et-search-suggestions{
  display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:50;
  background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden;
  box-shadow:0 12px 30px rgba(28,35,30,0.18);
}
.et-search-suggestions.active{ display:block; }
.et-search-suggestion{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 16px; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line);
}
.et-search-suggestion:last-child{ border-bottom:none; }
.et-search-suggestion:hover,
.et-search-suggestion.active{ background:var(--cream); }
.et-search-suggestion-type{
  font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--rust); flex-shrink:0;
}
.et-search-suggestion-label{ font-size:14px; text-align:right; }

/* Dark-background variant, used inside the hero */
.hero-search-form .et-search-suggestions{
  background:#2A3327; border-color:rgba(255,243,200,0.15);
}
.hero-search-form .et-search-suggestion{ color:var(--cream); border-bottom-color:rgba(255,243,200,0.1); }
.hero-search-form .et-search-suggestion:hover,
.hero-search-form .et-search-suggestion.active{ background:rgba(255,243,200,0.08); }

/* ---------- SEARCH RESULT KEYWORD HIGHLIGHTING ---------- */
.sr-highlight{ background:rgba(226,144,63,0.3); color:var(--ink); border-radius:2px; padding:0 2px; font-weight:700; }

/* ---------- SEARCH — MOBILE OPTIMIZATION ---------- */
@media (max-width:600px){
  /* Ensure every search input has a comfortable touch target (44px is
     the standard minimum recommended tap-target size) */
  .hero-search-input,
  .breadcrumb-search-input,
  .sr-search-again input{ min-height:46px; font-size:16px; } /* 16px prevents iOS auto-zoom on focus */

  .hero-search-form{ min-width:100%; max-width:100%; }
  .hero-search-submit{ width:44px; height:44px; }

  .breadcrumb-row{ flex-direction:column; align-items:stretch; }
  .breadcrumb-search-form{ width:100%; }

  .sr-search-again{ max-width:100%; }

  /* Keep the autocomplete dropdown within the viewport on narrow screens */
  .et-search-suggestions{ left:0; right:0; max-height:60vh; overflow-y:auto; }
  .et-search-suggestion{ padding:14px 16px; } /* larger tap target on touch devices */

  .sr-shortcuts .wrap{ flex-direction:column; }
  .sr-shortcut{ width:100%; box-sizing:border-box; }
}

/* ---------- FEEDBACK PAGE ---------- */
.fb-hero{ background:var(--cream); padding:130px 0 50px; }
.fb-hero h1{ font-size:clamp(32px,5vw,52px); margin:14px 0 18px; color:var(--ink); }
.fb-hero p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:60ch; margin:0; }

.fb-body{ background:var(--cream); padding:20px 0 100px; }
.fb-form{ max-width:640px; }

.fb-honeypot{ position:absolute; left:-9999px; opacity:0; }

.fb-error-banner{
  background:#F5D8BC; border:1px solid #B5482F; color:#7a4517; padding:16px 20px;
  border-radius:6px; margin-bottom:30px; font-size:14px;
}

.fb-type-group{ margin-bottom:26px; }
.fb-type-group > label{
  display:block; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--stone); margin-bottom:12px;
}
.fb-type-options{ display:flex; gap:10px; flex-wrap:wrap; }
.fb-type-option{
  position:relative; cursor:pointer;
}
.fb-type-option input{ position:absolute; opacity:0; }
.fb-type-option span{
  display:inline-block; padding:10px 18px; border-radius:20px; border:1.5px solid var(--ink);
  font-family:'Archivo',sans-serif; font-size:13px; font-weight:600; transition:background .2s ease, color .2s ease;
}
.fb-type-option input:checked + span{ background:var(--ink); color:var(--cream); }
.fb-type-option:hover span{ background:var(--paper); }
.fb-type-option input:checked + span:hover{ background:var(--ink); }

@media (max-width:600px){
  .fb-type-options{ flex-direction:column; }
  .fb-type-option span{ display:block; text-align:center; }
}

/* ---------- FOOTER FEEDBACK LINK (right-aligned, in normal footer flow) ---------- */
.footer-legal-text{ display:flex; gap:20px; flex-wrap:wrap; }
.footer-feedback-link{
  font-family:'Space Mono',monospace; font-size:11px; color:rgba(246,242,233,0.5);
  text-decoration:none; border-bottom:1px solid rgba(246,242,233,0.25); padding-bottom:2px;
  transition:color .2s ease, border-color .2s ease;
}
.footer-feedback-link:hover{ color:var(--amber-soft); border-color:var(--amber-soft); }

/* ---------- 404 PAGE ---------- */
.err404-hero{ background:var(--cream); padding:150px 0 60px; text-align:center; }
.err404-illustration{ max-width:400px; margin:0 auto 20px; }
.err404-illustration svg{ width:100%; height:auto; display:block; }
.err404-hero h1{ font-size:clamp(32px,5vw,54px); margin:14px 0 18px; color:var(--ink); }
.err404-hero > .wrap > p{ font-size:16px; line-height:1.7; color:var(--stone); max-width:56ch; margin:0 auto 36px; }

.err404-search-form{ position:relative; max-width:460px; margin:0 auto; display:flex; align-items:center; }
.err404-search-form .et-search-input{
  width:100%; padding:14px 50px 14px 18px; border-radius:8px; border:1.5px solid var(--ink);
  font-family:'Archivo',sans-serif; font-size:15px; background:var(--paper); box-sizing:border-box; min-height:48px;
}
.err404-search-form button{
  position:absolute; right:5px; top:50%; transform:translateY(-50%); width:38px; height:38px;
  border-radius:6px; border:none; background:var(--ink); color:var(--cream); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

.err404-quick-links{ display:flex; gap:24px; justify-content:center; flex-wrap:wrap; margin-top:34px; }
.err404-quick-links a{
  font-family:'Space Mono',monospace; font-size:12.5px; letter-spacing:0.04em; color:var(--stone);
  text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:2px;
  transition:color .2s ease, border-color .2s ease;
}
.err404-quick-links a:hover{ color:var(--rust); border-color:var(--rust); }

.err404-body{ background:var(--cream); padding:20px 0 100px; }
.err404-section-label{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--rust); margin:0 0 24px; padding-bottom:16px; border-bottom:1px solid var(--ink); text-align:center;
}

@media (max-width:700px){
  .err404-quick-links{ gap:16px; }
}

/* ---------- SMALL PHONE FIXES — iPhone 6/7/8 (375px) and iPhone 5/SE (320px) ---------- */
@media (max-width:380px){
  /* Reduce edge padding so more usable width remains on very narrow screens */
  .wrap{ padding:0 18px; }

  /* Hero — tighten everything down a notch further than the general mobile rules */
  .hero-content{ padding-top:150px; padding-left:18px; padding-right:18px; }
  .hero-eyebrow-row p{ font-size:10px; }
  .hero h1{ font-size:clamp(28px, 8vw, 40px); max-width:100%; }
  .hero-sub{ font-size:14px; line-height:1.55; }
  .btn.hero-cta-rounded{ padding:12px 22px; }
  .hero-search-wrap-v2{ max-width:100%; }
  .hero-search-wrap-v2 .hero-search-input{ font-size:14px; padding:14px 50px 14px 16px; }
  .hero-search-wrap-v2 .hero-search-submit{ width:38px; height:38px; }

  /* Stats — drop from 2x2 to a single column so numbers and long labels
     ("Days Set Aside To Acclimatize") never feel cramped or wrap awkwardly */
  .hero-stats{ grid-template-columns:1fr; gap:18px; padding-left:18px; padding-right:18px; }
  .hstat{ text-align:left; }

  /* Nav brand — shrink further so the tagline never gets clipped on 320px screens */
  .brand-row{ font-size:15px; min-width:0; }
  .brand-text-inner{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
  .brand-tagline{ font-size:8.5px; }

  /* Breadcrumb search — avoid it competing for space with "Home / Page" text */
  .breadcrumb-row{ gap:12px; }
  .breadcrumb-links{ font-size:10.5px; }

  /* Trip-type tiles and trek cards — reduce padding so text has room to breathe */
  .trip-type-tile{ padding:20px 14px; }
  .trip-card-body{ padding:16px; }

  /* Footer pill cloud (Browse By Region / Trip Type) — these get genuinely
     cramped at 320-375px with 12+ pills wrapping tightly together */
  .fp-section{ padding:36px 0 30px; }
  .fp-group{ margin-bottom:30px; }
  .fp-group-label{ margin-bottom:16px; }
  .fp-pills{ gap:10px 8px; }
  .fp-pill{ font-size:12px; padding:9px 14px; }

  /* Prevent any residual horizontal overflow from long unbroken words/URLs */
  body{ overflow-x:hidden; }
}