@charset "utf-8";
/* ============================================================
   PASANG ADVENTURES — Shared stylesheet
   "Ethical Treks, Unforgettable Journeys."

   Structure
   1. Brand fonts (Google Fonts)
   2. DESIGN TOKENS  ← EDIT THESE to re-skin the whole site
   3. Base / reset
   4. Layout primitives (container, section, grid, eyebrow)
   5. Components (buttons, badges, cards, trek cards, forms, stats…)
   6. Site chrome (header, nav, footer)
   7. Page sections (hero, timeline, comparison, FAQ, filter, etc.)
   8. Responsive + accessibility
   ============================================================ */

/* 1 ── Brand fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Quicksand:wght@400;500;600;700&family=Mulish:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* 2 ── DESIGN TOKENS ───────────────────────────────────────── *
   These CSS variables drive every colour, font, space and radius
   on the site. Swap the values below for your own brand and the
   whole site updates. Nothing else needs touching.                */
:root {
  /* —— Colour: Olive / Moss (primary brand) —— */
  --olive-50:#f3f3ec; --olive-100:#e9e9d9; --olive-200:#d6d6bb; --olive-300:#bcbc97;
  --olive-400:#a3a37a; --olive-500:#87885a; --olive-600:#6d6730; --olive-700:#595427;
  --olive-800:#45411f; --olive-900:#322f17;

  /* —— Colour: Amber (accent / wayfinding) —— */
  --amber-50:#fdf6e6; --amber-100:#fbe9c2; --amber-200:#f8d588; --amber-300:#f7c456;
  --amber-400:#f6b02e; --amber-500:#f59e0b; --amber-600:#c97d06; --amber-700:#9a5f08;

  /* —— Colour: Garnet (prayer-flag red / alerts) —— */
  --garnet-50:#f8eaea; --garnet-100:#efcccb; --garnet-300:#c66867;
  --garnet-500:#9a3132; --garnet-600:#7f1c1d; --garnet-700:#5f1314;

  /* —— Colour: Slate (deep-altitude blue) —— */
  --slate-50:#eaeef4; --slate-100:#cdd6e3; --slate-300:#8497b3; --slate-500:#46618a;
  --slate-600:#34507a; --slate-700:#2b4264; --slate-900:#1a2940;

  /* —— Colour: Stone (warm neutrals) —— */
  --stone-0:#ffffff; --stone-50:#faf9f7; --stone-100:#f5f5f4; --stone-200:#e9e7e3;
  --stone-300:#d4d1cc; --stone-400:#b7b2aa; --stone-500:#8c867c; --stone-600:#645f57;
  --stone-700:#45413b; --stone-800:#2a2723; --stone-900:#1a1815;

  /* —— Semantic colour aliases —— */
  --brand:var(--olive-500); --brand-deep:var(--olive-600); --brand-strong:var(--olive-700);
  --brand-soft:var(--olive-100); --brand-tint:var(--olive-50);
  --accent:var(--amber-500); --accent-deep:var(--amber-600); --accent-soft:var(--amber-100);

  --bg:var(--stone-50); --bg-sunken:var(--stone-100); --surface:var(--stone-0);
  --surface-inverse:var(--stone-900); --surface-brand:var(--olive-600);

  --text-strong:var(--stone-900); --text-body:var(--stone-700); --text-muted:var(--stone-500);
  --text-faint:var(--stone-400); --text-inverse:var(--stone-50); --text-brand:var(--olive-600);
  --text-on-brand:var(--stone-50); --text-accent:var(--amber-700);

  --border:var(--stone-200); --border-strong:var(--stone-300); --border-brand:var(--olive-300);
  --ring:color-mix(in oklab, var(--olive-500) 55%, transparent);

  --success:var(--olive-600); --warning:var(--amber-500); --danger:var(--garnet-600); --info:var(--slate-700);

  /* —— Typography —— */
  --font-display:'Oswald','Arial Narrow',sans-serif;
  --font-accent:'Quicksand','Trebuchet MS',sans-serif;
  --font-body:'Mulish',system-ui,-apple-system,'Segoe UI',sans-serif;

  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --text-2xs:0.6875rem; --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem;
  --text-md:1.125rem; --text-lg:1.375rem; --text-xl:1.75rem; --text-2xl:2.25rem;
  --text-3xl:2.875rem; --text-4xl:3.75rem; --text-5xl:4.75rem;

  --leading-tight:1.05; --leading-snug:1.2; --leading-normal:1.5; --leading-relaxed:1.7;
  --tracking-display:0.01em; --tracking-eyebrow:0.22em; --tracking-wide:0.04em;

  /* —— Spacing (4px grid) —— */
  --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.5rem;
  --space-6:2rem; --space-7:2.5rem; --space-8:3rem; --space-9:4rem; --space-10:5rem;
  --space-11:6.5rem; --space-12:8rem;

  /* —— Radius (soft, trail-worn) —— */
  --radius-xs:3px; --radius-sm:6px; --radius-md:10px; --radius-lg:16px;
  --radius-xl:24px; --radius-2xl:32px; --radius-pill:999px; --radius-card:var(--radius-lg);

  /* —— Shadows (warm, low, olive-tinted) —— */
  --shadow-xs:0 1px 2px rgba(50,47,23,.06);
  --shadow-sm:0 2px 6px rgba(50,47,23,.08);
  --shadow-md:0 6px 18px rgba(50,47,23,.10);
  --shadow-lg:0 16px 40px rgba(50,47,23,.14);
  --shadow-xl:0 28px 64px rgba(50,47,23,.18);

  /* —— Layout & motion —— */
  --container:1200px; --container-wide:1360px; --container-prose:680px; --header-height:76px;
  --ease-out:cubic-bezier(.22,1,.36,1); --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms;
}

/* 3 ── Base / reset ────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0; font-family:var(--font-body); font-size:var(--text-base);
  line-height:var(--leading-normal); color:var(--text-body); background:var(--bg);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5{
  font-family:var(--font-display); font-weight:var(--fw-semibold);
  line-height:var(--leading-tight); letter-spacing:var(--tracking-display);
  color:var(--text-strong); margin:0 0 .5em; text-transform:uppercase;
}
h1{font-size:var(--text-4xl);} h2{font-size:var(--text-3xl);} h3{font-size:var(--text-2xl);}
h4{font-size:var(--text-xl);} h5{font-size:var(--text-lg);}
p{margin:0 0 1em; text-wrap:pretty;}
a{color:var(--text-brand); text-decoration:none;}
a:hover{text-decoration:underline;}
small{font-size:var(--text-sm);}
strong,b{font-weight:var(--fw-bold);}
img{max-width:100%; display:block;}
ul,ol{margin:0; padding:0;}
::selection{background:var(--amber-200); color:var(--stone-900);}

:focus-visible{outline:3px solid var(--ring); outline-offset:2px; border-radius:var(--radius-xs);}

/* Skip link */
.skip-link{
  position:absolute; left:-9999px; top:8px; z-index:200;
  background:var(--olive-700); color:#fff; padding:10px 16px; border-radius:var(--radius-sm);
  font-family:var(--font-accent); font-weight:var(--fw-semibold);
}
.skip-link:focus{left:8px;}

/* 4 ── Layout primitives ───────────────────────────────────── */
.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--space-5);}
.container--wide{max-width:var(--container-wide);}
.container--prose{max-width:var(--container-prose);}

.section{padding-block:var(--space-9);}
.section--lg{padding-block:var(--space-11);}
.section--sunken{background:var(--bg-sunken);}
.section--tint{background:var(--brand-tint);}

.eyebrow{
  display:inline-block; font-family:var(--font-accent); font-weight:var(--fw-semibold);
  font-size:var(--text-xs); letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase; color:var(--text-accent); margin:0 0 var(--space-3);
}
.eyebrow--light{color:var(--amber-300);}

.section-head{max-width:720px; margin:0 0 var(--space-7);}
.section-head--center{margin-inline:auto; text-align:center;}
.section-head h2{font-size:var(--text-3xl); margin:0 0 var(--space-3);}
.section-head p{font-size:var(--text-md); color:var(--text-muted); margin:0;}

.lede{font-size:var(--text-md); color:var(--text-body);}
.grid{display:grid; gap:var(--space-5);}
.cluster{display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center;}

/* 5 ── Components ──────────────────────────────────────────── */
/* Buttons */
.pa-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--font-accent); font-weight:var(--fw-semibold);
  letter-spacing:.02em; line-height:1; white-space:nowrap;
  border:1.5px solid transparent; border-radius:var(--radius-sm);
  cursor:pointer; text-decoration:none; font-size:var(--text-sm); padding:11px 20px;
  transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out),
             color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out),
             box-shadow var(--dur-fast) var(--ease-out);
}
.pa-btn:hover{text-decoration:none;}
.pa-btn:active{transform:translateY(1px);}
.pa-btn--sm{font-size:var(--text-xs); padding:8px 14px;}
.pa-btn--lg{font-size:var(--text-md); padding:15px 28px;}
.pa-btn--primary{background:var(--olive-600); color:var(--text-on-brand);}
.pa-btn--primary:hover{background:var(--olive-700);}
.pa-btn--accent{background:var(--amber-500); color:var(--stone-900);}
.pa-btn--accent:hover{background:var(--amber-600); color:var(--stone-50);}
.pa-btn--secondary{background:transparent; color:var(--olive-700); border-color:var(--olive-300);}
.pa-btn--secondary:hover{background:var(--olive-50); border-color:var(--olive-500);}
.pa-btn--inverse{background:var(--stone-50); color:var(--olive-700);}
.pa-btn--inverse:hover{background:#fff;}
.pa-btn--ghost-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.5);}
.pa-btn--ghost-light:hover{background:rgba(255,255,255,.12); border-color:#fff;}
.pa-btn--block{display:flex; width:100%;}
.pa-btn svg{width:1.15em; height:1.15em; flex:none;}

/* Badge */
.pa-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-accent); font-weight:var(--fw-semibold);
  font-size:var(--text-xs); line-height:1; padding:5px 10px;
  border-radius:var(--radius-pill); white-space:nowrap;
}
.pa-badge--neutral{background:var(--stone-200); color:var(--stone-700);}
.pa-badge--brand{background:var(--olive-100); color:var(--olive-700);}
.pa-badge--accent{background:var(--amber-100); color:var(--amber-700);}
.pa-badge--success{background:var(--olive-50); color:var(--olive-700);}
.pa-badge--info{background:var(--slate-50); color:var(--slate-700);}
.pa-badge--solid{background:var(--olive-600); color:#fff;}
.pa-badge__dot{width:7px; height:7px; border-radius:999px; background:currentColor;}

/* Card */
.pa-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-card); box-shadow:var(--shadow-sm); overflow:hidden;
}
.pa-card--raised{box-shadow:var(--shadow-md); border-color:transparent;}
.pa-card--flat{box-shadow:none;}
.pa-card__body{padding:var(--space-5);}

/* Stat */
.pa-stat{display:flex; flex-direction:column; gap:4px;}
.pa-stat__value{font-family:var(--font-display); font-weight:600; font-size:var(--text-3xl); color:var(--text-strong); line-height:1;}
.pa-stat__label{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted);}

/* Rating (static stars) */
.pa-rating{display:inline-flex; align-items:center; gap:2px; color:var(--amber-500);}
.pa-rating svg{width:16px; height:16px;}
.pa-rating__num{font-size:var(--text-sm); color:var(--text-muted); margin-left:6px; font-family:var(--font-body);}

/* Avatar */
.pa-avatar{
  display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
  overflow:hidden; flex:none; background:var(--olive-100); color:var(--olive-700);
  font-family:var(--font-display); font-weight:600; text-transform:uppercase; border:2px solid var(--surface);
}
.pa-avatar--md{width:44px; height:44px; font-size:16px;}
.pa-avatar--lg{width:64px; height:64px; font-size:22px;}

/* Form fields */
.pa-field{display:flex; flex-direction:column; gap:6px;}
.pa-field__label{font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm); color:var(--text-strong);}
.pa-field__req{color:var(--garnet-600); margin-left:2px;}
.pa-field__hint{font-size:var(--text-xs); color:var(--text-muted); margin:0;}
.pa-input,.pa-select,.pa-textarea{
  width:100%; font-family:var(--font-body); font-size:var(--text-base);
  color:var(--text-strong); background:var(--surface);
  border:1.5px solid var(--border-strong); border-radius:var(--radius-sm);
  padding:11px 14px; transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.pa-input::placeholder,.pa-textarea::placeholder{color:var(--text-faint);}
.pa-input:hover,.pa-select:hover,.pa-textarea:hover{border-color:var(--olive-400);}
.pa-input:focus,.pa-select:focus,.pa-textarea:focus{outline:none; border-color:var(--olive-500); box-shadow:0 0 0 3px var(--ring);}
.pa-textarea{resize:vertical; min-height:128px; line-height:1.5;}
.pa-select{
  appearance:none; cursor:pointer; padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c867c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center;
}
.pa-choice{display:inline-flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:var(--text-base); color:var(--text-body);}
.pa-choice input{position:absolute; opacity:0; width:0; height:0;}
.pa-choice__box{
  flex:none; width:20px; height:20px; margin-top:2px; border:1.5px solid var(--border-strong);
  background:var(--surface); border-radius:var(--radius-xs);
  display:flex; align-items:center; justify-content:center; color:transparent;
  transition:all var(--dur-fast) var(--ease-out);
}
.pa-choice:hover .pa-choice__box{border-color:var(--olive-500);}
.pa-choice input:checked + .pa-choice__box{background:var(--olive-600); border-color:var(--olive-600); color:#fff;}
.pa-choice input:focus-visible + .pa-choice__box{box-shadow:0 0 0 3px var(--ring);}
.pa-choice__box svg{width:14px; height:14px;}

/* 6 ── Site chrome ─────────────────────────────────────────── */
.site-header{
  position:sticky; top:0; z-index:100; height:var(--header-height);
  background:color-mix(in oklab, var(--stone-50) 88%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--border);
}
.site-header__inner{
  height:var(--header-height); display:flex; align-items:center; justify-content:space-between;
  gap:var(--space-5);
}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand__mark{width:38px; height:38px; flex:none; color:var(--olive-600);}
.brand__name{
  font-family:var(--font-display); font-weight:600; font-size:var(--text-lg);
  letter-spacing:.04em; text-transform:uppercase; color:var(--olive-700); line-height:1;
}
.brand__name span{display:block; font-family:var(--font-accent); font-weight:500; font-size:9px; letter-spacing:.18em; color:var(--text-muted);}

/* Nav (no-JS: checkbox disclosure on mobile, inline on desktop) */
.nav{position:relative; display:flex; align-items:center;}
.nav__checkbox{position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none;}
.nav__burger{
  display:none; align-items:center; justify-content:center;
  width:44px; height:44px; border:1.5px solid var(--border-strong); border-radius:var(--radius-sm);
  cursor:pointer; color:var(--olive-700); background:var(--surface);
}
.nav__burger svg{width:22px; height:22px;}
.nav__close{display:none;}
.nav__checkbox:checked ~ .nav__burger .nav__open{display:none;}
.nav__checkbox:checked ~ .nav__burger .nav__close{display:block;}
.nav__checkbox:focus-visible ~ .nav__burger{box-shadow:0 0 0 3px var(--ring); border-color:var(--olive-500);}
.nav__menu{display:flex; align-items:center; gap:var(--space-2);}
.nav__link{
  font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm);
  color:var(--text-body); padding:9px 14px; border-radius:var(--radius-sm); letter-spacing:.01em;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.nav__link:hover{background:var(--olive-50); color:var(--olive-700); text-decoration:none;}
.nav__link[aria-current="page"]{color:var(--olive-700); background:var(--olive-50);}
.nav__cta{margin-left:var(--space-2);}

/* Footer */
.site-footer{background:var(--olive-900); color:var(--stone-300);}
.site-footer a{color:var(--stone-200);}
.site-footer a:hover{color:#fff;}
.footer-top{display:grid; gap:var(--space-7); padding-block:var(--space-9); grid-template-columns:1.4fr 1fr 1fr 1.2fr;}
.footer-brand__logo{height:88px; width:auto; margin:0 0 var(--space-4); }
.footer-brand p{color:var(--stone-400); max-width:34ch;}
.footer-col h4{font-size:var(--text-md); color:#fff; margin:0 0 var(--space-4); letter-spacing:.06em;}
.footer-col ul{list-style:none; display:flex; flex-direction:column; gap:var(--space-3);}
.footer-col li{font-size:var(--text-sm);}
.footer-contact{display:flex; flex-direction:column; gap:var(--space-3); font-size:var(--text-sm); font-style:normal;}
.footer-contact a{display:inline-flex; gap:9px; align-items:center;}
.footer-contact svg{width:17px; height:17px; color:var(--amber-400); flex:none;}
.social{display:flex; gap:var(--space-2); margin-top:var(--space-5);}
.social a{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:var(--radius-pill); border:1.5px solid rgba(255,255,255,.18); color:var(--stone-200);
  transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.social a:hover{background:var(--amber-500); border-color:var(--amber-500); color:var(--stone-900);}
.social svg{width:19px; height:19px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); padding-block:var(--space-5);
  display:flex; flex-wrap:wrap; gap:var(--space-4); justify-content:space-between; align-items:center;
  font-size:var(--text-xs); color:var(--stone-400);
}
.footer-bottom__links{display:flex; gap:var(--space-5); flex-wrap:wrap;}

/* 7 ── Page sections ───────────────────────────────────────── */
/* Hero (shared base) */
.hero{position:relative; color:#fff; isolation:isolate; overflow:hidden;}
.hero__bg{position:absolute; inset:0; z-index:-2;}
.hero__bg img{width:100%; height:100%; object-fit:cover;}
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(26,24,21,.62) 0%, rgba(26,24,21,.30) 38%, rgba(26,24,21,.72) 100%);
}
.hero--home{min-height:min(86vh, 760px); display:flex; align-items:flex-end;}
.hero--home .hero__inner{padding-block:var(--space-10) var(--space-11);}
.hero__inner{max-width:760px;}
.hero h1{color:#fff; font-size:var(--text-5xl); letter-spacing:.005em; margin:0 0 var(--space-4); text-shadow:0 2px 18px rgba(0,0,0,.35);}
.hero p{font-size:var(--text-md); color:rgba(255,255,255,.92); max-width:56ch; margin:0 0 var(--space-6);}
.hero .cluster{gap:var(--space-3);}
.hero__meta{display:flex; flex-wrap:wrap; gap:var(--space-6); margin-top:var(--space-8); padding-top:var(--space-6); border-top:1px solid rgba(255,255,255,.22);}
.hero__meta .pa-stat__value{color:#fff;}
.hero__meta .pa-stat__label{color:rgba(255,255,255,.75);}

/* Page hero (compact, for inner pages) */
.pagehero{position:relative; color:#fff; isolation:isolate; overflow:hidden; display:flex; align-items:center; min-height:clamp(320px, 44vh, 460px);}
.pagehero__bg{position:absolute; inset:0; z-index:-2;}
.pagehero__bg img{width:100%; height:100%; object-fit:cover;}
.pagehero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(26,24,21,.55), rgba(26,24,21,.68));}
.pagehero__inner{padding-block:var(--space-9); max-width:720px;}
.pagehero h1{color:#fff; font-size:var(--text-4xl); margin:0 0 var(--space-3);}
.pagehero p{font-size:var(--text-md); color:rgba(255,255,255,.92); margin:0; max-width:54ch;}
.breadcrumb{display:flex; gap:8px; align-items:center; font-family:var(--font-accent); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.8); margin:0 0 var(--space-4);}
.breadcrumb a{color:rgba(255,255,255,.8);}
.breadcrumb a:hover{color:#fff;}

/* Trust strip (olive band) */
.trust-strip{background:var(--olive-600); color:var(--stone-50);}
.trust-strip__row{display:flex; flex-wrap:wrap; gap:var(--space-6); padding-block:var(--space-5); justify-content:space-between;}
.trust-item{display:flex; align-items:center; gap:10px; font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm);}
.trust-item svg{width:22px; height:22px; color:var(--amber-300); flex:none;}

/* Trek cards grid */
.trek-grid{display:grid; gap:var(--space-5); grid-template-columns:repeat(auto-fill, minmax(300px,1fr));}
.trekcard{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);}
.trekcard:hover,.trekcard:focus-within{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.trekcard__media{position:relative; aspect-ratio:4/3; background:var(--stone-200); overflow:hidden;}
.trekcard__media img{width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out);}
.trekcard:hover .trekcard__media img{transform:scale(1.04);}
.trekcard__tagrow{position:absolute; left:12px; top:12px; display:flex; gap:6px;}
.trekcard__body{padding:var(--space-4) var(--space-5) var(--space-5); display:flex; flex-direction:column; gap:8px; flex:1;}
.trekcard__region{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--text-accent);}
.trekcard__title{font-family:var(--font-display); font-weight:600; font-size:var(--text-lg); color:var(--text-strong); line-height:1.1; text-transform:uppercase; margin:0;}
.trekcard__title a{color:inherit;}
.trekcard__title a:hover{color:var(--olive-700); text-decoration:none;}
.trekcard__desc{font-size:var(--text-sm); color:var(--text-muted); margin:0;}
.trekcard__meta{display:flex; flex-wrap:wrap; gap:14px; font-size:var(--text-sm); color:var(--text-muted); margin-top:auto;}
.trekcard__metaitem{display:inline-flex; align-items:center; gap:6px;}
.trekcard__metaitem svg{width:16px; height:16px; color:var(--olive-500);}
.trekcard__foot{display:flex; align-items:baseline; justify-content:space-between; border-top:1px solid var(--border); padding-top:14px; margin-top:6px;}
.trekcard__price b{font-family:var(--font-display); font-size:var(--text-xl); color:var(--text-strong); display:block; line-height:1;}
.trekcard__price span{font-size:var(--text-xs); color:var(--text-muted);}
.trekcard__cta{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; padding:11px 16px; border-radius:var(--radius-sm); border:1.5px solid var(--olive-300); color:var(--olive-700); font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm); letter-spacing:.01em; transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);}
.trekcard__cta:hover{background:var(--olive-600); border-color:var(--olive-600); color:#fff; text-decoration:none;}
.trekcard__cta svg{width:16px; height:16px; transition:transform var(--dur-base) var(--ease-out);}
.trekcard:hover .trekcard__cta svg,.trekcard__cta:hover svg{transform:translateX(3px);}

/* Feature split (image + copy) */
.split{display:grid; gap:var(--space-8); align-items:center; grid-template-columns:1fr 1fr;}
.split--rev .split__media{order:2;}
.split__media{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:4/3;}
.split__media img{width:100%; height:100%; object-fit:cover;}
.split__media--tall{aspect-ratio:3/4;}
.feature-list{list-style:none; display:flex; flex-direction:column; gap:var(--space-4); margin:var(--space-5) 0 0;}
.feature-list li{display:flex; gap:14px; align-items:flex-start;}
.feature-list__icon{flex:none; width:40px; height:40px; border-radius:var(--radius-md); background:var(--olive-50); color:var(--olive-700); display:flex; align-items:center; justify-content:center;}
.feature-list__icon svg{width:21px; height:21px;}
.feature-list h4{margin:0 0 4px; font-size:var(--text-md); text-transform:none;}
.feature-list p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}

/* Stats band (slate) */
.stats-band{background:var(--slate-700); color:#fff;}
.stats-band__grid{display:grid; gap:var(--space-7); grid-template-columns:repeat(4,1fr); padding-block:var(--space-9);}
.stats-band .pa-stat__value{color:#fff; font-size:var(--text-4xl);}
.stats-band .pa-stat__label{color:rgba(255,255,255,.72);}
.stats-band__note{display:flex; align-items:center; gap:10px; margin-top:var(--space-7); color:rgba(255,255,255,.72); font-size:var(--text-sm);}
.stats-band__note svg{width:18px; height:18px; color:var(--amber-300);}

/* Process timeline (UNIQUE section) */
.timeline{display:grid; gap:var(--space-6); grid-template-columns:repeat(4,1fr); counter-reset:step; position:relative;}
.timeline__step{position:relative; padding-top:var(--space-7);}
.timeline__step::before{
  counter-increment:step; content:counter(step,decimal-leading-zero);
  position:absolute; top:0; left:0; font-family:var(--font-display); font-weight:600;
  font-size:var(--text-xl); color:var(--olive-600);
  width:52px; height:52px; border-radius:var(--radius-pill); background:var(--olive-50);
  display:flex; align-items:center; justify-content:center; z-index:1;
}
.timeline__step::after{content:""; position:absolute; top:26px; left:52px; right:-12px; height:2px; background:repeating-linear-gradient(90deg, var(--olive-300) 0 7px, transparent 7px 14px);}
.timeline__step:last-child::after{display:none;}
.timeline__step h4{margin:var(--space-3) 0 var(--space-2); font-size:var(--text-lg); text-transform:none;}
.timeline__step p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}

/* Comparison table (UNIQUE section) */
.compare{overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); background:var(--surface);}
.compare table{width:100%; border-collapse:collapse; min-width:560px;}
.compare caption{text-align:left; padding:0 0 var(--space-3); color:var(--text-muted); font-size:var(--text-sm); caption-side:top;}
.compare th,.compare td{padding:18px 22px; text-align:left; border-bottom:1px solid var(--border); vertical-align:middle;}
.compare thead th{font-family:var(--font-display); text-transform:uppercase; font-size:var(--text-base); letter-spacing:.02em; color:var(--text-strong); background:var(--stone-100);}
.compare thead th.is-us{background:var(--olive-600); color:#fff;}
.compare tbody th{font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm); color:var(--text-strong);}
.compare td{font-size:var(--text-sm); color:var(--text-body);}
.compare td.is-us{background:var(--olive-50); color:var(--olive-800); font-weight:var(--fw-semibold);}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:none;}
.compare .ic{display:inline-flex; align-items:center; gap:8px;}
.compare .ic svg{width:18px; height:18px; flex:none;}
.compare .ic--yes svg{color:var(--olive-600);}
.compare .ic--no svg{color:var(--garnet-500);}

/* Testimonial grid (UNIQUE section) */
.testi-grid{display:grid; gap:var(--space-5); grid-template-columns:repeat(3,1fr);}
.testi{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); margin:0; transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);}
.testi:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.testi__media{position:relative; aspect-ratio:16/9; background:var(--stone-200); overflow:hidden;}
.testi__media img{width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out);}
.testi:hover .testi__media img{transform:scale(1.05);}
.testi__media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,24,21,0) 45%, rgba(26,24,21,.55));}
.testi__region{position:absolute; left:14px; bottom:14px; z-index:1;}
.testi__body{padding:var(--space-5) var(--space-6) var(--space-6); display:flex; flex-direction:column; gap:var(--space-4); flex:1;}
.testi__stars{align-self:flex-start;}
.testi__quote{font-size:var(--text-md); color:var(--text-strong); line-height:1.55; margin:0;}
.testi__person{display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:var(--space-4); border-top:1px solid var(--border);}
.testi__avatar{width:46px; height:46px; border-radius:999px; object-fit:cover; flex:none; border:2px solid var(--surface); box-shadow:var(--shadow-xs); background:var(--olive-100);}
.testi__person b{display:block; font-family:var(--font-accent); font-weight:600; color:var(--text-strong); font-size:var(--text-sm);}
.testi__person span{font-size:var(--text-xs); color:var(--text-muted);}
.testi__verified{margin-left:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:5px; font-family:var(--font-accent); font-weight:600; font-size:var(--text-2xs); letter-spacing:.04em; background:var(--olive-50); padding:5px 9px; border-radius:var(--radius-pill);}
.testi__person .testi__verified{color:var(--olive-700);}
.testi__verified svg{width:14px; height:14px;}
.testi-aggregate{display:inline-flex; align-items:center; gap:10px; margin:var(--space-4) 0 0; font-size:var(--text-sm); color:var(--text-muted); flex-wrap:wrap; justify-content:center;}
.testi-aggregate .pa-rating svg{width:18px; height:18px;}
.testi-aggregate strong{color:var(--text-strong); font-family:var(--font-display); font-size:var(--text-md);}

/* Value cards */
.value-grid{display:grid; gap:var(--space-5); grid-template-columns:repeat(3,1fr);}
.value-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); padding:var(--space-6); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:var(--space-3);}
.value-card__icon{width:48px; height:48px; border-radius:var(--radius-md); background:var(--amber-100); color:var(--amber-700); display:flex; align-items:center; justify-content:center;}
.value-card__icon svg{width:24px; height:24px;}
.value-card h3{font-size:var(--text-lg); margin:0; text-transform:none;}
.value-card p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}

/* CTA band */
.cta-band{position:relative; color:#fff; isolation:isolate; overflow:hidden; text-align:center; border-radius:var(--radius-2xl);}
.cta-band__bg{position:absolute; inset:0; z-index:-2;}
.cta-band__bg img{width:100%; height:100%; object-fit:cover;}
.cta-band::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(45,66,100,.78), rgba(26,24,21,.82));}
.cta-band__inner{padding:var(--space-10) var(--space-6); max-width:640px; margin-inline:auto;}
.cta-band h2{color:#fff; font-size:var(--text-3xl); margin:0 0 var(--space-4);}
.cta-band p{color:rgba(255,255,255,.9); font-size:var(--text-md); margin:0 0 var(--space-6);}

/* FAQ accordion (UNIQUE section, pure CSS <details>) */
.faq{display:flex; flex-direction:column; gap:var(--space-3);}
.faq__item{border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); box-shadow:var(--shadow-xs); overflow:hidden;}
.faq__item[open]{box-shadow:var(--shadow-sm); border-color:var(--border-strong);}
.faq__q{
  list-style:none; cursor:pointer; padding:18px 22px; display:flex; align-items:center; gap:16px;
  font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-md); color:var(--text-strong);
}
.faq__q::-webkit-details-marker{display:none;}
.faq__q:hover{color:var(--olive-700);}
.faq__q .faq__icon{margin-left:auto; flex:none; width:24px; height:24px; color:var(--olive-600); transition:transform var(--dur-base) var(--ease-out);}
.faq__item[open] .faq__q .faq__icon{transform:rotate(45deg);}
.faq__a{padding:0 22px 20px 22px; color:var(--text-muted); font-size:var(--text-sm);}
.faq__a p{margin:0;}

/* Treks filter (UNIQUE: pure-CSS, no JS) */
.explorer{display:grid; gap:var(--space-7); grid-template-columns:240px 1fr; align-items:start;}
.filter-rail{position:sticky; top:calc(var(--header-height) + 16px); display:flex; flex-direction:column; gap:var(--space-6);}
.filter-group{border:none; margin:0; padding:0;}
.filter-group > legend, .filter-group h3{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin:0 0 var(--space-3); padding:0;}
.filter-opts{display:flex; flex-direction:column; gap:var(--space-1);}
.filter-opt{display:block;}
.filter-opt input{position:absolute; opacity:0; width:0; height:0;}
.filter-opt label{
  display:flex; align-items:center; gap:10px; cursor:pointer; padding:9px 12px;
  border-radius:var(--radius-sm); font-family:var(--font-accent); font-weight:var(--fw-medium);
  font-size:var(--text-sm); color:var(--text-body); border:1.5px solid transparent;
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.filter-opt label:hover{background:var(--olive-50); color:var(--olive-700);}
.filter-opt label .dot{width:10px; height:10px; border-radius:999px; border:2px solid var(--border-strong); flex:none;}
.filter-opt input:checked + label{background:var(--olive-600); color:#fff;}
.filter-opt input:checked + label .dot{border-color:#fff; background:#fff;}
.filter-opt input:focus-visible + label{box-shadow:0 0 0 3px var(--ring);}
.filter-count{font-size:var(--text-xs); color:var(--text-muted); margin-left:auto;}
.explorer__results{display:flex; flex-direction:column; gap:var(--space-5);}
.explorer__bar{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap;}
.explorer__bar p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}
.explorer .trek-grid{grid-template-columns:repeat(auto-fill, minmax(280px,1fr));}
.explorer__empty{display:none; padding:var(--space-9); text-align:center; color:var(--text-muted); border:1.5px dashed var(--border-strong); border-radius:var(--radius-lg);}

/* CSS-only filter logic via :has() — hide non-matching trek cards.
   Each region radio toggles a class; default #region-all shows all. */
.explorer:has(#region-everest:checked)   .trekcard:not([data-region="everest"]),
.explorer:has(#region-annapurna:checked) .trekcard:not([data-region="annapurna"]),
.explorer:has(#region-langtang:checked)  .trekcard:not([data-region="langtang"]),
.explorer:has(#region-manaslu:checked)   .trekcard:not([data-region="manaslu"]){display:none;}

.explorer:has(#grade-moderate:checked)    .trekcard:not([data-grade="moderate"]),
.explorer:has(#grade-challenging:checked) .trekcard:not([data-grade="challenging"]),
.explorer:has(#grade-strenuous:checked)   .trekcard:not([data-grade="strenuous"]){display:none;}

/* Show "no results" copy for the region+grade combinations that have no trek */
.explorer__empty{display:none; padding:var(--space-9); text-align:center; color:var(--text-muted); border:1.5px dashed var(--border-strong); border-radius:var(--radius-lg);}
.explorer:has(#region-everest:checked):has(#grade-moderate:checked) .explorer__empty,
.explorer:has(#region-langtang:checked):has(#grade-challenging:checked) .explorer__empty,
.explorer:has(#region-langtang:checked):has(#grade-strenuous:checked) .explorer__empty,
.explorer:has(#region-manaslu:checked):has(#grade-moderate:checked) .explorer__empty,
.explorer:has(#region-manaslu:checked):has(#grade-challenging:checked) .explorer__empty{display:block;}
/* Hide the grid entirely for those same empty combinations */
.explorer:has(#region-everest:checked):has(#grade-moderate:checked) .trek-grid,
.explorer:has(#region-langtang:checked):has(#grade-challenging:checked) .trek-grid,
.explorer:has(#region-langtang:checked):has(#grade-strenuous:checked) .trek-grid,
.explorer:has(#region-manaslu:checked):has(#grade-moderate:checked) .trek-grid,
.explorer:has(#region-manaslu:checked):has(#grade-challenging:checked) .trek-grid{display:none;}

/* Contact layout */
.contact-grid{display:grid; gap:var(--space-8); grid-template-columns:1.1fr .9fr; align-items:start;}
.contact-info{display:flex; flex-direction:column; gap:var(--space-5);}
.info-card{display:flex; gap:16px; align-items:flex-start; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); padding:var(--space-5); box-shadow:var(--shadow-xs);}
.info-card__icon{flex:none; width:44px; height:44px; border-radius:var(--radius-md); background:var(--olive-50); color:var(--olive-700); display:flex; align-items:center; justify-content:center;}
.info-card__icon svg{width:22px; height:22px;}
.info-card h4{margin:0 0 4px; font-size:var(--text-md); text-transform:none;}
.info-card p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}
.info-card a{color:var(--olive-700); font-weight:var(--fw-semibold);}
.form-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:var(--space-7); box-shadow:var(--shadow-md);}
.form-grid{display:grid; gap:var(--space-5); grid-template-columns:1fr 1fr;}
.form-grid .span-2{grid-column:1 / -1;}
.form-note{display:flex; gap:10px; align-items:flex-start; font-size:var(--text-xs); color:var(--text-muted); margin-top:var(--space-4);}
.form-note svg{width:16px; height:16px; color:var(--olive-500); flex:none; margin-top:1px;}
.fieldset{border:none; margin:0; padding:0;}
.fieldset legend{font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm); color:var(--text-strong); padding:0; margin-bottom:var(--space-3);}

/* Map / location placeholder */
.map-embed{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border); aspect-ratio:16/7;}
.map-embed img{width:100%; height:100%; object-fit:cover;}

/* Itinerary mini-list (about/treks) */
.callout{background:var(--brand-tint); border:1px solid var(--border-brand); border-radius:var(--radius-lg); padding:var(--space-6);}
.callout h3{margin:0 0 var(--space-2); font-size:var(--text-lg); text-transform:none;}
.callout p{margin:0; color:var(--text-body);}

/* Helpers */
.text-center{text-align:center;}
.mt-6{margin-top:var(--space-6);} .mt-7{margin-top:var(--space-7);} .mt-8{margin-top:var(--space-8);}
.mb-0{margin-bottom:0;}
.divider{height:1px; background:var(--border); border:none; margin:0;}

/* ── Trek detail page ──────────────────────────────────────── */
.trekhero{position:relative; color:#fff; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; min-height:clamp(420px, 58vh, 600px);}
.trekhero__bg{position:absolute; inset:0; z-index:-2;}
.trekhero__bg img{width:100%; height:100%; object-fit:cover;}
.trekhero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(26,24,21,.5) 0%, rgba(26,24,21,.22) 40%, rgba(26,24,21,.8) 100%);}
.trekhero__inner{padding-block:var(--space-7) var(--space-8); width:100%;}
.trekhero__badges{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 var(--space-4);}
.trekhero h1{color:#fff; font-size:var(--text-4xl); margin:0 0 var(--space-4); max-width:18ch; line-height:1.02; text-shadow:0 2px 18px rgba(0,0,0,.35);}
.trekhero__sub{font-size:var(--text-md); color:rgba(255,255,255,.92); max-width:60ch; margin:0;}
.trekhero__facts{display:flex; flex-wrap:wrap; gap:var(--space-6) var(--space-8); margin-top:var(--space-7); padding-top:var(--space-6); border-top:1px solid rgba(255,255,255,.24);}
.trekfact{display:flex; align-items:center; gap:11px;}
.trekfact svg{width:26px; height:26px; color:var(--amber-300); flex:none;}
.trekfact b{display:block; font-family:var(--font-display); font-weight:600; font-size:var(--text-lg); color:#fff; line-height:1.05;}
.trekfact span{font-family:var(--font-accent); font-weight:500; font-size:var(--text-2xs); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72);}

.detail-layout{display:grid; gap:var(--space-8); grid-template-columns:minmax(0,1fr) 360px; align-items:start;}
.detail-main{display:flex; flex-direction:column; gap:var(--space-9); min-width:0;}
.detail-block{scroll-margin-top:calc(var(--header-height) + 16px);}
.detail-block > .eyebrow{margin-bottom:var(--space-2);}
.detail-block h2{font-size:var(--text-2xl); margin:0 0 var(--space-4);}
.detail-block p{color:var(--text-body);}
.detail-lede{font-size:var(--text-md); color:var(--text-body);}

/* In-page section nav (anchor pills, no JS) */
.detail-nav{position:sticky; top:var(--header-height); z-index:40; background:color-mix(in oklab, var(--stone-50) 92%, transparent); backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid var(--border); margin-bottom:var(--space-8);}
.detail-nav__row{display:flex; gap:var(--space-1); overflow-x:auto; padding-block:12px; scrollbar-width:none;}
.detail-nav__row::-webkit-scrollbar{display:none;}
.detail-nav a{white-space:nowrap; font-family:var(--font-accent); font-weight:var(--fw-semibold); font-size:var(--text-sm); color:var(--text-body); padding:8px 16px; border-radius:var(--radius-pill);}
.detail-nav a:hover{background:var(--olive-50); color:var(--olive-700); text-decoration:none;}

/* Highlights */
.highlights{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3) var(--space-5); margin:0;}
.highlights li{display:flex; gap:11px; align-items:flex-start; font-size:var(--text-sm); color:var(--text-body);}
.highlights svg{width:20px; height:20px; color:var(--amber-500); flex:none; margin-top:1px;}

/* Itinerary timeline (vertical) */
.itin{list-style:none; margin:0; display:flex; flex-direction:column;}
.itin__day{position:relative; padding:0 0 var(--space-6) var(--space-9);}
.itin__day::before{content:attr(data-day); position:absolute; left:0; top:0; width:44px; height:44px; border-radius:var(--radius-pill); background:var(--olive-600); color:#fff; font-family:var(--font-display); font-weight:600; font-size:var(--text-base); display:flex; align-items:center; justify-content:center; z-index:1;}
.itin__day::after{content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:var(--olive-200);}
.itin__day:last-child{padding-bottom:0;}
.itin__day:last-child::after{display:none;}
.itin__head{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:0 0 6px; padding-top:9px;}
.itin__title{font-family:var(--font-display); font-weight:600; font-size:var(--text-md); text-transform:uppercase; letter-spacing:.01em; color:var(--text-strong); margin:0;}
.itin__alt{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); color:var(--amber-700); background:var(--amber-100); padding:3px 9px; border-radius:var(--radius-pill); white-space:nowrap;}
.itin__day p{margin:0; font-size:var(--text-sm); color:var(--text-muted);}

/* Inclusions / exclusions */
.incl-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6);}
.incl-col h3{font-size:var(--text-lg); text-transform:none; margin:0 0 var(--space-4); display:flex; align-items:center; gap:9px;}
.incl-col h3 svg{width:22px; height:22px;}
.incl-col--yes h3{color:var(--olive-700);}
.incl-col--no h3{color:var(--garnet-600);}
.incl-list{list-style:none; display:flex; flex-direction:column; gap:var(--space-3); margin:0;}
.incl-list li{display:flex; gap:11px; align-items:flex-start; font-size:var(--text-sm); color:var(--text-body);}
.incl-list svg{width:18px; height:18px; flex:none; margin-top:2px;}
.incl-col--yes .incl-list svg{color:var(--olive-600);}
.incl-col--no .incl-list svg{color:var(--garnet-500);}

/* Booking card (sticky sidebar) */
.booking{position:sticky; top:calc(var(--header-height) + 16px); display:flex; flex-direction:column; gap:var(--space-4);}
.booking-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:var(--space-6);}
.booking-card__price{display:flex; align-items:baseline; gap:8px; margin:0 0 var(--space-1);}
.booking-card__price b{font-family:var(--font-display); font-weight:600; font-size:var(--text-3xl); color:var(--text-strong); line-height:1;}
.booking-card__price span{font-size:var(--text-sm); color:var(--text-muted);}
.booking-card__from{font-size:var(--text-xs); color:var(--text-muted); margin:0 0 var(--space-4);}
.booking-card__rows{list-style:none; display:flex; flex-direction:column; gap:var(--space-1); margin:var(--space-2) 0 var(--space-5); border-top:1px solid var(--border); padding-top:var(--space-4);}
.booking-card__rows li{display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:var(--text-sm); padding:5px 0;}
.booking-card__rows .k{color:var(--text-muted); display:inline-flex; align-items:center; gap:8px;}
.booking-card__rows .k svg{width:16px; height:16px; color:var(--olive-500);}
.booking-card__rows .v{font-family:var(--font-accent); font-weight:var(--fw-semibold); color:var(--text-strong); text-align:right;}
.booking-card__avail{display:flex; align-items:center; gap:8px; font-size:var(--text-xs); color:var(--olive-700); margin:var(--space-4) 0 0; justify-content:center;}
.booking-card__avail svg{width:15px; height:15px;}
.booking-aside{background:var(--olive-50); border:1px solid var(--border-brand); border-radius:var(--radius-md); padding:var(--space-4) var(--space-5); font-size:var(--text-sm); color:var(--olive-800); display:flex; gap:11px; align-items:flex-start;}
.booking-aside svg{width:20px; height:20px; color:var(--olive-600); flex:none; margin-top:1px;}

/* Detail review row */
.detail-reviews{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5);}
.review{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); padding:var(--space-5); box-shadow:var(--shadow-xs); display:flex; flex-direction:column; gap:var(--space-3);}
.review__quote{margin:0; font-size:var(--text-base); color:var(--text-strong); line-height:1.5;}
.review__person{display:flex; align-items:center; gap:11px; margin-top:auto;}
.review__avatar{width:40px; height:40px; border-radius:999px; object-fit:cover; flex:none; background:var(--olive-100); border:2px solid var(--surface);}
.review__person b{display:block; font-family:var(--font-accent); font-weight:600; font-size:var(--text-sm); color:var(--text-strong);}
.review__person span{font-size:var(--text-xs); color:var(--text-muted);}

/* 8 ── Responsive ──────────────────────────────────────────── */
@media (max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .timeline{grid-template-columns:repeat(2,1fr);}
  .timeline__step:nth-child(2)::after{display:none;}
  .stats-band__grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:repeat(2,1fr);}
  .value-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
  .detail-layout{grid-template-columns:1fr;}
  .booking{position:static; flex-direction:column;}
  .booking-card{order:-1;}
}
@media (max-width:880px){
  :root{--text-5xl:3.25rem; --text-4xl:2.75rem; --text-3xl:2.25rem;}
  .nav__burger{display:flex;}
  .nav__menu{
    position:absolute; right:0; top:calc(100% + 12px); flex-direction:column; align-items:stretch;
    gap:4px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
    box-shadow:var(--shadow-lg); padding:var(--space-3); min-width:240px; display:none; z-index:60;
  }
  .nav__checkbox:checked ~ .nav__menu{display:flex;}
  .nav__link{padding:12px 14px;}
  .nav__cta{margin:6px 0 0;}
  .nav__cta .pa-btn{width:100%;}
  .split{grid-template-columns:1fr; gap:var(--space-6);}
  .split--rev .split__media{order:0;}
  .explorer{grid-template-columns:1fr;}
  .filter-rail{position:static; flex-direction:row; flex-wrap:wrap; gap:var(--space-5); padding:var(--space-5); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);}
  .filter-group{flex:1; min-width:180px;}
  .filter-opts{flex-direction:row; flex-wrap:wrap;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  :root{--text-5xl:2.6rem; --text-4xl:2.3rem; --text-3xl:2rem; --text-2xl:1.75rem;}
  .section{padding-block:var(--space-8);}
  .section--lg{padding-block:var(--space-9);}
  .timeline{grid-template-columns:1fr;}
  .timeline__step::after{display:none;}
  .stats-band__grid{grid-template-columns:1fr 1fr; gap:var(--space-6);}
  .testi-grid,.value-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:var(--space-6);}
  .trust-strip__row{gap:var(--space-3) var(--space-5);}
  .hero__meta{gap:var(--space-5);}
  .brand__name{font-size:var(--text-base);}
  .highlights{grid-template-columns:1fr;}
  .incl-grid{grid-template-columns:1fr;}
  .detail-reviews{grid-template-columns:1fr;}
  .trekhero__facts{gap:var(--space-5);}
}

/* 9 ── Accessibility / motion ──────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  .trekcard:hover{transform:none;}
  .trekcard:hover .trekcard__media img{transform:none;}
}
