:root{--ink:#1d2c29;--forest:#173c35;--cream:#f5f0e7;--paper:#fbfaf6;--coral:#c96f5a;--gold:#a88650;--line:rgba(29,44,41,.16);--serif:'Italiana',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.3)}.brand{display:flex;align-items:center}.brand-logo{display:block;width:240px;height:auto}.footer-logo{width:280px}.site-header nav{display:flex;gap:34px;font-size:13px}.button{border:0;background:var(--coral);color:white;text-transform:uppercase;letter-spacing:.14em;font-size:11px;padding:17px 25px;transition:.25s}.button:hover{background:#ad5948;transform:translateY(-2px)}.button-small{padding:13px 18px}.hero{height:92vh;min-height:680px;position:relative;background:url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=2200&q=88') center/cover;color:white;display:flex;align-items:center;padding:100px 9vw 50px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,29,26,.7),rgba(13,29,26,.08) 70%),linear-gradient(0deg,rgba(13,29,26,.35),transparent 50%)}.hero-content{position:relative;max-width:800px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:600}.hero h1{font-family:var(--serif);font-size:clamp(62px,8vw,118px);font-weight:400;line-height:.9;margin:28px 0}.hero h1 em,.intro h2 em,.service-copy h2 em{font-weight:400;color:#e6b3a4}.hero-copy{max-width:570px;font-size:18px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.text-link{font-size:13px;border-bottom:1px solid white;padding:10px 0}.hero-note{position:absolute;right:5vw;bottom:45px;display:flex;gap:14px;font-size:11px;line-height:1.5}.hero-note span{color:#e6b3a4}.hero-note p{margin:0}.intro,.journeys{padding:120px 8vw}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:start}.intro h2,.section-heading h2,.closing h2{font-family:var(--serif);font-size:clamp(45px,5vw,76px);font-weight:400;line-height:1.06;margin:15px 0}.intro-grid>div p{font-size:18px;line-height:1.8}.intro-grid .fineprint{font-size:14px;color:#68726f;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.1fr .7fr;gap:15vw;align-items:end}.section-heading>p{line-height:1.8;color:#66706e}.filters{display:flex;gap:10px;margin:45px 0 25px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;padding:10px 17px;border-radius:30px;color:var(--ink)}.filter.active,.filter:hover{background:var(--forest);color:white}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{min-width:0}.card-image{height:390px;background-size:cover;background-position:center;position:relative;overflow:hidden}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%)}.card-image span{position:absolute;z-index:1;left:20px;bottom:18px;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.card h3{font-family:var(--serif);font-size:29px;font-weight:400;margin:18px 0 8px}.card-meta{font-size:12px;color:#747d7a}.card button{background:none;border:0;padding:14px 0;border-bottom:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.card:hover .card-image{transform:translateY(-3px);transition:.3s}.service-band{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white}.service-photo{min-height:700px;background:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=85') center/cover}.service-copy{padding:90px 9vw}.service-copy h2{font:400 clamp(45px,5vw,72px)/1.08 var(--serif)}.service-copy ol{list-style:none;padding:10px 0 30px}.service-copy li{display:flex;gap:25px;border-top:1px solid rgba(255,255,255,.2);padding:22px 0}.service-copy li>span{font-size:11px;color:#e6b3a4}.service-copy h3{font:400 22px var(--serif);margin:0 0 6px}.service-copy li p{margin:0;color:#c4ceca;font-size:13px}.closing{text-align:center;padding:130px 20px;background:var(--cream)}footer{padding:55px 6vw;background:#112b27;color:white;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end}footer>p{color:#bfcac6}footer>div{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;display:flex;justify-content:space-between;color:#aebbb6;font-size:11px}.modal{border:0;padding:0;max-width:none}.modal::backdrop{background:rgba(11,24,21,.72);backdrop-filter:blur(5px)}.modal-close{position:absolute;right:22px;top:18px;border:0;background:none;font-size:30px;z-index:2;color:inherit}.trip-modal{width:min(930px,92vw);background:var(--paper)}.trip-detail-grid{display:grid;grid-template-columns:1fr 1fr}.trip-visual{min-height:620px;background-size:cover;background-position:center}.trip-content{padding:60px 50px}.trip-content h2,.form-heading h2,.success-modal h2{font:400 46px/1.05 var(--serif);margin:15px 0}.trip-content>p{line-height:1.7;color:#65706d}.itinerary{margin:30px 0}.itinerary div{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:15px;font-size:13px}.itinerary span{color:var(--coral)}.inquiry-modal{width:min(880px,94vw);max-height:92vh;padding:55px 60px;background:var(--paper)}.form-heading{max-width:650px}.form-heading>p:last-child{color:#64706d;line-height:1.6}.inquiry-modal form{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:35px}.inquiry-modal label{font-size:12px;font-weight:600;display:grid;gap:8px}.inquiry-modal input,.inquiry-modal select,.inquiry-modal textarea{border:1px solid var(--line);background:white;padding:13px;width:100%;border-radius:0;color:var(--ink)}.inquiry-modal input:focus,.inquiry-modal select:focus,.inquiry-modal textarea:focus{outline:2px solid rgba(201,111,90,.35);border-color:var(--coral)}.full{grid-column:1/-1}.privacy-note{font-size:11px;color:#7c8582;margin:0}.success-modal{width:min(510px,90vw);padding:60px;text-align:center;background:var(--paper)}.success-icon{width:50px;height:50px;border-radius:50%;background:var(--forest);color:white;display:grid;place-items:center;margin:auto}.success-modal p{color:#68726f}.success-modal .button{margin-top:20px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:72px}.site-header nav{display:none}.hero{padding-left:7vw;min-height:640px}.hero-note{display:none}.intro,.journeys{padding:80px 6vw}.intro-grid,.section-heading,.service-band{grid-template-columns:1fr}.journey-grid{grid-template-columns:repeat(2,1fr)}.service-photo{min-height:480px}.trip-detail-grid{grid-template-columns:1fr}.trip-visual{min-height:330px}.trip-content{padding:40px 30px}.inquiry-modal{padding:50px 25px}}
@media(max-width:560px){.site-header .button{display:none}.site-header .brand-logo{width:230px}.hero{height:88vh}.hero h1{font-size:58px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.intro-grid{gap:25px}.journey-grid{grid-template-columns:1fr}.card-image{height:420px}.inquiry-modal form{grid-template-columns:1fr}.full{grid-column:auto}.form-heading h2,.trip-content h2{font-size:38px}.inquiry-modal{width:100%;max-height:100vh}.service-copy{padding:70px 8vw}footer{grid-template-columns:1fr}footer .footer-logo{width:270px}footer>div{flex-direction:column;gap:10px}}

/* Contact footer */
.site-footer{display:block;padding:72px 6vw 30px}
.site-footer .footer-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:42px}
.site-footer .footer-intro p{margin:0;color:#bfcac6;font:400 22px/1.5 var(--serif);text-align:right}
.site-footer .footer-contact{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:5vw;border-top:1px solid rgba(255,255,255,.2);padding:36px 0 46px}
.site-footer .contact-item{min-width:0}
.site-footer .contact-label{margin:0 0 14px;color:#d7a799;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.site-footer .contact-label-secondary{margin-top:24px}
.site-footer .contact-link,.site-footer address{color:#eef2ef;font-size:14px;line-height:1.75;font-style:normal}
.site-footer .contact-link{display:inline-block;border-bottom:1px solid rgba(238,242,239,.45);padding-bottom:3px;transition:.2s}
.site-footer .contact-link:hover{color:#e6b3a4;border-color:#e6b3a4}
.site-footer .footer-bottom{grid-column:auto;border-top:1px solid rgba(255,255,255,.2);padding-top:24px;display:flex;justify-content:space-between;color:#8fa09a;font-size:11px}
@media(max-width:850px){.site-footer .footer-contact{grid-template-columns:1fr 1fr}.site-footer .footer-contact .contact-item:first-child{grid-column:1/-1}}
@media(max-width:560px){.site-footer{padding:58px 7vw 28px}.site-footer .footer-intro{align-items:flex-start;flex-direction:column;gap:22px;padding-bottom:32px}.site-footer .footer-logo{width:250px}.site-footer .footer-intro p{text-align:left;font-size:20px}.site-footer .footer-contact{grid-template-columns:1fr;gap:28px;padding:32px 0 38px}.site-footer .footer-contact .contact-item:first-child{grid-column:auto}.site-footer .footer-bottom{flex-direction:column;gap:9px}}

/* Fixed journey preview: only the day-by-day list scrolls. */
.trip-modal {
  width: min(1080px, calc(100vw - 32px));
  height: min(800px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  background: var(--paper);
  overflow: hidden;
}
.trip-modal #trip-detail,
.trip-detail-grid {
  height: 100%;
  min-height: 0;
}
.trip-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.trip-visual {
  min-height: 0;
  background-size: cover;
  background-position: center;
}
.trip-content {
  min-height: 0;
  padding: 48px 50px 36px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.trip-content h2 {
  margin: 12px 0;
}
.trip-intro > p:last-child {
  line-height: 1.6;
  color: #65706d;
  margin: 0;
}
.itinerary-wrap {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  margin-top: 23px;
}
.itinerary-label {
  margin: 0;
  padding-bottom: 9px;
  text-transform: uppercase;
  letter-spacing: .17em;
  font-size: 10px;
  font-weight: 600;
  color: #65706d;
}
.itinerary {
  min-height: 0;
  margin: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 12px;
  border-bottom: 1px solid var(--line);
}
.itinerary:focus {
  outline: 2px solid rgba(201,111,90,.25);
  outline-offset: 2px;
}
.itinerary div {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
}
.itinerary div p {
  margin: 0;
}
.itinerary::-webkit-scrollbar {
  width: 6px;
}
.itinerary::-webkit-scrollbar-track {
  background: rgba(29,44,41,.05);
}
.itinerary::-webkit-scrollbar-thumb {
  background: rgba(29,44,41,.3);
  border-radius: 6px;
}
.trip-action {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  align-items: center;
  padding-top: 19px;
}
.trip-price {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 8px;
  align-items: end;
  color: var(--forest);
}
.trip-price span:first-child {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  color: var(--coral);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.trip-price strong {
  font: 400 30px/1 var(--serif);
}
.trip-price strong small {
  margin-right: 1px;
  font-size: .58em;
}
.trip-price span:last-child {
  padding-bottom: 3px;
  color: #69736f;
  font-size: 10px;
}
.price-note {
  margin: 0;
  color: #7a8380;
  font-size: 9px;
  line-height: 1.45;
}
.trip-action .button {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 14px;
}

@media(max-width:850px) {
  .trip-modal {
    width: min(680px, calc(100vw - 24px));
    height: calc(100dvh - 24px);
    max-height: calc(100dvh - 24px);
  }
  .trip-detail-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 190px minmax(0, 1fr);
  }
  .trip-visual {
    min-height: 0;
  }
  .trip-content {
    padding: 28px 30px 24px;
  }
  .trip-content h2 {
    font-size: 38px;
  }
  .trip-intro > p:last-child {
    font-size: 14px;
  }
  .itinerary-wrap {
    margin-top: 17px;
  }
}

@media(max-width:560px) {
  .trip-modal {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
  }
  .trip-detail-grid {
    grid-template-rows: 140px minmax(0, 1fr);
  }
  .trip-content {
    padding: 22px 20px 18px;
  }
  .trip-content h2 {
    margin: 8px 0;
    font-size: 32px;
  }
  .trip-intro .eyebrow {
    margin: 0;
  }
  .trip-intro > p:last-child {
    font-size: 12px;
    line-height: 1.45;
  }
  .itinerary-wrap {
    margin-top: 12px;
  }
  .itinerary-label {
    padding-bottom: 7px;
  }
  .itinerary div {
    grid-template-columns: 52px 1fr;
    padding: 10px 0;
    font-size: 12px;
  }
  .trip-action {
    column-gap: 10px;
    padding-top: 12px;
  }
  .trip-price strong {
    font-size: 26px;
  }
  .price-note {
    font-size: 8px;
  }
  .trip-action .button {
    margin-top: 10px;
    padding: 14px 18px;
  }
  .trip-modal .modal-close {
    right: 12px;
    top: 8px;
    color: white;
    text-shadow: 0 1px 5px rgba(0,0,0,.45);
  }
}
