:root{
  --brand-primary:#102d2b;
  --brand-primary-soft:#2c3e35;
  --brand-accent:#b4532a;
  --brand-accent-hover:#8f3b1f;
  --brand-copper:#9e4525;
  --brand-gold:#d8ad68;
  --brand-signature:#963f24;
  --brand-text:#172c2a;
  --brand-muted:#4a5568;
  --brand-bg:#f7f6f1;
  --brand-bg-warm:#f5f2eb;
  --brand-border:#d8ded8;
  --brand-easy:#2e7d32;
  --brand-challenging:#d97706;
  --brand-strenuous:#c62828;
}

html{color-scheme:light}
body{
  background:var(--brand-bg-warm);
  color:var(--brand-text);
  font-family:"Source Sans 3","Segoe UI",Arial,sans-serif!important;
  font-size:18px;
  line-height:1.7;
  text-rendering:optimizeLegibility;
  font-weight:400;
}
header,footer{background:var(--brand-primary)!important}
h1,h2,h3,h4,h5,h6{
  font-family:"Montserrat","Segoe UI",Arial,sans-serif!important;
  color:inherit;
  letter-spacing:-.025em;
  text-transform:none!important;
}
h1{font-weight:700!important;line-height:1.08;letter-spacing:-.035em}
h2{font-weight:700!important;line-height:1.15}
h3,h4,h5,h6{font-weight:700!important;line-height:1.22}
p,li,dd,dt{line-height:1.7}
.hero p,.pagehero p{line-height:1.55}
.content p,.itinerary-tab-copy p{color:var(--brand-text);max-width:75ch}
.muted,.card p,.route-grid p,.landmark-card p{color:var(--brand-muted)!important}
.dark,.dark h1,.dark h2,.dark h3,.dark h4,.dark p,.dark li,.dark .muted{
  color:#f7faf8!important;
}
.dark .muted{color:#d6e1dc!important}
.trust-stat,.trust-stat h1,.trust-stat h2,.trust-stat h3,.trust-stat p,.trust-stat li{
  color:#f7faf8!important;
}
.trust-stat p{color:#d6e1dc!important}
.eyebrow,.number,.package-kicker{
  color:var(--brand-copper)!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
}
:where(.hero,.pagehero,.dark,.trust-stat,footer,.trip-at-a-glance,.train-summary,.editorial-cta) .eyebrow{
  color:var(--brand-gold)!important;
}
.number{
  font-size:13px!important;
  letter-spacing:.09em!important;
}
strong,b{font-weight:600}
.card a,.nav a,.menu summary{font-weight:600!important}
.button,
button[type="submit"],
input[type="submit"]{
  background:var(--brand-accent)!important;
  border-color:var(--brand-accent)!important;
  color:#fff!important;
  font-weight:600!important;
  letter-spacing:.01em;
}
.button:hover,.button:focus,
button[type="submit"]:hover,button[type="submit"]:focus,
input[type="submit"]:hover,input[type="submit"]:focus{
  background:var(--brand-accent-hover)!important;
  border-color:var(--brand-accent-hover)!important;
}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid #f0a33a;
  outline-offset:3px;
}
.card,.note,.package-price-card,.landmark-card,.destination-card{
  border-color:var(--brand-border)!important;
}
.card.signature-camping-card{
  background:var(--brand-signature)!important;
  border-color:var(--brand-gold)!important;
  box-shadow:0 8px 24px #963f2430!important;
}
.card.signature-camping-card:before{background:var(--brand-gold)!important}
.card.signature-camping-card .signature-label{
  background:#f3d493!important;
  color:#632d1e!important;
  font-weight:600!important;
}
.card.signature-camping-card .number{color:#f3d493!important}
.card.signature-camping-card h3,.card.signature-camping-card p,.card.signature-camping-card a{color:#fff!important}
.dark,.trust-stat{background:var(--brand-primary-soft)!important}
.cta{background:#e8ece7!important}
.itinerary-tab{
  font-family:"Inter","Source Sans 3","Segoe UI",Arial,sans-serif!important;
  font-weight:700!important;
  color:var(--brand-primary)!important;
}
.itinerary-tab:hover{border-color:var(--brand-accent)!important}
.itinerary-tab[aria-selected="true"]{
  background:var(--brand-accent)!important;
  border-color:var(--brand-accent)!important;
  color:#fff!important;
}
.itinerary-tab-panel{
  background:var(--brand-bg)!important;
  border-left-color:var(--brand-accent)!important;
}
.itinerary-tab-panel h3{color:var(--brand-primary)!important}
.itinerary-day-subtitle{
  color:#8a5c18!important;
  font-family:"Source Sans 3","Segoe UI",Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.005em;
}
.itinerary-panel-fact{
  font-family:"Source Sans 3","Segoe UI",Arial,sans-serif!important;
  background:#f1f4f1!important;
  border-color:#d4dcd6!important;
  color:var(--brand-muted)!important;
}
.itinerary-panel-fact strong{color:var(--brand-primary)!important}
.itinerary-panel-fact.fact-hiking{border-color:#b9d4bf!important;background:#edf6ef!important}
.itinerary-panel-fact.fact-distance{border-color:#cbd3dc!important;background:#f1f4f7!important}
.itinerary-panel-fact.fact-stay{border-color:#e4cfaa!important;background:#faf4e8!important}
.itinerary-panel-fact.difficulty-easy{border-color:#9ec5a5!important;color:var(--brand-easy)!important;background:#edf7ef!important}
.itinerary-panel-fact.difficulty-challenging{border-color:#e4b36d!important;color:var(--brand-challenging)!important;background:#fff6e8!important}
.itinerary-panel-fact.difficulty-strenuous{border-color:#dfa2a2!important;color:var(--brand-strenuous)!important;background:#fff0f0!important}
.trek-pricing{background:#f7f4ec!important;border-top-color:var(--brand-accent)!important}
.package-price-card.platinum{border-color:var(--brand-accent)!important}
.package-price-card a,.package-comparison-link,.card a{color:#9a4c1e!important}
.gw-chat-launcher,.gw-chat-whatsapp{
  background:var(--brand-accent)!important;
  border-color:var(--brand-accent)!important;
  color:#fff!important;
}
.gw-chat-launcher:hover,.gw-chat-launcher:focus,.gw-chat-whatsapp:hover,.gw-chat-whatsapp:focus{
  background:var(--brand-accent-hover)!important;
  border-color:var(--brand-accent-hover)!important;
}
.itinerary-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:8px 0 24px;
}
.itinerary-heading-row h2{margin:0!important}
.itinerary-heading-code{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  padding:9px 14px;
  background:#fff4e6;
  border:1px solid #e6b36e;
  border-left:4px solid var(--brand-accent);
  border-radius:4px;
  color:var(--brand-primary);
  box-shadow:0 3px 12px #162c2712;
}
.itinerary-heading-code span{
  color:#89562a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.itinerary-heading-code strong{
  color:var(--brand-accent-hover);
  font-size:22px;
  line-height:1;
  letter-spacing:.04em;
}
@media(max-width:760px){
  body{font-size:17px;line-height:1.68}
  h1{letter-spacing:-.03em}
  .hero p,.pagehero p{line-height:1.55}
  .itinerary-heading-row{align-items:flex-start;flex-direction:column;gap:13px}
}
