:root{color-scheme:light;--paper:#f9f5ee;--ink:#272b24;--muted:#5a5b50;--rust:#9a412e;--green:#29362c;--line:#ded6c8;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}
h1,h2,h3,p{margin:0}a{color:inherit}img{display:block;width:100%;height:auto}section[id]{scroll-margin-top:18px}
a:focus-visible,summary:focus-visible{outline:3px solid #cf7152;outline-offset:5px}
.skip{position:absolute;left:1rem;top:-8rem;z-index:5;background:white;padding:12px}.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:13px max(5vw,20px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:700 22px/1.1 var(--serif);white-space:nowrap}
.brand small{display:block;margin-top:5px;letter-spacing:.17em;font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.17em}
.seal{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--rust);color:var(--rust);font-size:23px}
nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:14px;font-weight:650}nav a:hover,.quiet:hover{text-decoration:underline;text-underline-offset:5px}
.nav-button{border:1px solid var(--rust);color:var(--rust);padding:9px 14px}
.hero{min-height:clamp(530px,64vw,700px);position:relative;isolation:isolate;display:flex;align-items:center;padding:68px max(7.6vw,22px) 82px;color:#fff9ee;background:#41443a}
.hero-photo,.hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-photo{object-fit:cover;object-position:50% 47%}.hero::after{content:"";background:linear-gradient(90deg,rgba(21,27,22,.91),rgba(21,27,22,.77) 31%,rgba(21,27,22,.28) 68%,rgba(21,27,22,.12)),linear-gradient(0deg,#151b167a,transparent 28%)}
.hero-copy{max-width:735px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.2em}.eyebrow span,.location span{display:inline-block;width:7px;height:7px;background:#e59174;vertical-align:2px;margin:0 9px;border-radius:50%}
h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(49px,7.05vw,106px);line-height:.98;letter-spacing:-.06em;margin:22px 0 24px}h1 em{color:#ffdfbc;font-weight:400}
.hero-copy>p:not(.eyebrow){font-size:clamp(16px,1.7vw,19px);max-width:510px;color:#fff5e9;text-wrap:pretty}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 19px;background:#a74834;color:white;text-decoration:none;font-size:14px;font-weight:750;min-height:49px}.button:hover{background:#853623}.quiet{font-weight:650;font-size:14px;text-decoration:none}.quiet span{margin-left:5px}
.location{position:absolute;right:max(5vw,20px);bottom:23px;font-size:10px;font-weight:750;letter-spacing:.15em}.location span{width:5px;height:5px}
.wrap{width:min(84.8%,1230px);margin-inline:auto}.highlights{padding:78px 0 84px}.rust{color:var(--rust)}.section-head{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;align-items:end;margin-bottom:30px}.section-head h2,.booking h2{font-size:clamp(36px,5.15vw,70px);line-height:1.02;letter-spacing:-.052em;margin-top:10px}.section-head>p{max-width:360px;color:var(--muted)}

.booking{background:var(--green);color:#fff7e9}.booking-inner{padding:58px 0;display:flex;gap:24px;align-items:center;justify-content:space-between}.booking .eyebrow{color:#ffccad}.booking p:last-child{margin-top:14px}.booking .button{background:#f6debf;color:#282c24;flex-shrink:0}.booking .button:hover{background:#fff0dc}
.footer{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:start;padding:28px 0;color:var(--muted);font-size:13px}.footer summary{cursor:pointer}.footer ul{max-width:380px;padding-left:16px}
@media(max-width:780px){nav{gap:13px}.header{min-height:70px}.wrap{width:calc(100% - 44px)}.hero-photo{object-position:61% center}}
@media(max-width:590px){nav>a:not(.nav-button){display:none}.nav-button{font-size:12px;padding:8px}.brand{font-size:17px;gap:8px}.seal{width:32px;height:32px;font-size:19px}.brand small{font-size:7px}.hero{min-height:570px}.hero::after{background:linear-gradient(90deg,#151b22dd,#151b2270),linear-gradient(0deg,#151b22a0,transparent 30%)}.hero h1{font-size:clamp(44px,11vw,65px)}.highlights{padding:48px 0}.section-head{grid-template-columns:1fr}.booking-inner{align-items:flex-start;flex-direction:column;padding:44px 0}.footer{grid-template-columns:1fr auto}.footer details{grid-column:1/-1;grid-row:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.itinerary{display:grid;gap:12px;list-style:none;margin:14px 0;padding:0}
.itinerary-endpoint{display:flex;gap:17px;align-items:flex-start;background:#efe8dc;padding:17px 22px;border-left:3px solid var(--rust)}
.itinerary-endpoint h3{font-size:24px;line-height:1.15;margin-top:4px}
.itinerary-endpoint p:last-child:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:5px}
.endpoint-dot{width:11px;height:11px;border:2px solid var(--rust);border-radius:50%;margin-top:3px;flex-shrink:0}
.stop-details{border:1px solid var(--line);background:#fffbf4}
.stop-details summary{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:24px;align-items:center;padding:12px;cursor:pointer;list-style:none}
.stop-details summary::-webkit-details-marker{display:none}
.stop-details summary:hover{background:#f2ebde}
.stop-thumb{height:97px;object-fit:cover}
.stop-label h3{font-size:clamp(24px,3.4vw,37px);line-height:1.05;margin:4px 0 6px}
.stop-label>p:last-child{font-size:14px;color:var(--muted)}
.stop-toggle{padding:0 12px;color:var(--rust);font-size:13px;font-weight:750;white-space:nowrap}
.stop-toggle::after{content:"＋";margin-left:10px}
.stop-details[open] .stop-toggle::after{content:"−"}
.close-label,.stop-details[open] .open-label{display:none}
.stop-details[open] .close-label{display:inline}
.stop-body{padding:20px 24px 24px;border-top:1px solid var(--line)}
.stop-body h4{font:400 25px/1.15 var(--serif);margin:0 0 7px}
.stop-body>p{color:var(--muted);max-width:650px}
.stop-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.stop-gallery figure{margin:0}
.stop-gallery img{aspect-ratio:4/3;object-fit:cover}
.stop-gallery figcaption{color:var(--muted);font-size:13px;margin-top:6px}
@media(max-width:660px){.stop-details summary{grid-template-columns:83px minmax(0,1fr);gap:4px 12px}.stop-thumb{grid-row:span 2;height:100%;min-height:86px}.stop-toggle{grid-column:2;padding:0;justify-self:start;font-size:12px}.stop-body{padding:16px}.stop-label>p:last-child{font-size:12px}}
@media(max-width:420px){.stop-gallery{grid-template-columns:1fr}}

.experience-section {
  background: #efe8dc;
  border-bottom: 1px solid var(--line);
  padding: clamp(40px, 6vw, 92px) 0;
}
.experience-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 92px);
  align-items: center;
}
.experience-image {
  position: relative;
  margin: 0;
  background: var(--green);
}
.experience-image img {
  aspect-ratio: 5 / 6;
  object-fit: cover;
}
.experience-image figcaption {
  padding: 12px 18px;
  color: #fff5e9;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .16em;
}
.experience-image figcaption span {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 8px 1px 0;
  border-radius: 50%;
  background: #e59174;
}
.experience-copy h2 {
  margin: 10px 0 15px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -.045em;
}
.experience-copy > p:not(.eyebrow), .tour-benefits p { color: var(--muted); }
.tour-benefits { list-style: none; margin: 23px 0 0; padding: 0; }
.tour-benefits li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid #d6cbbb;
}
.tour-benefits li > span {
  color: var(--rust);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  padding-top: 5px;
}
.tour-benefits h3 { font-size: clamp(21px, 2.3vw, 28px); line-height: 1.12; }
.tour-benefits p { margin-top: 5px; font-size: 14px; }
@media(max-width: 700px) {
  .experience-layout { grid-template-columns: 1fr; }
  .experience-copy { grid-row: 1; }
  .experience-image img { aspect-ratio: 5 / 3; object-position: center 60%; }
}
