/* Larger type and roomier controls for comfortable reading at every size. */
html{font-size:18px;scroll-padding-top:110px}
:root{--muted:#465443;--copy:1.111rem;--secondary:1rem;--label:.9rem}
body{font-size:var(--copy);line-height:1.75}
.eyebrow,.hero .eyebrow,.section-top .eyebrow,.booking .eyebrow,.faq .eyebrow{font-size:var(--label);line-height:1.65;letter-spacing:.8px}
.tiny,.mini-label{font-size:var(--label);line-height:1.65;letter-spacing:.6px}
.button,.hero-bottom .button,.gallery-footer .button{font-size:var(--copy);line-height:1.5;min-height:60px;padding:17px 24px;gap:24px}
.button>span{font-size:28px}
.site-header{height:auto;min-height:100px;gap:24px}
.site-header nav{font-size:1rem;gap:28px}
.button.small{font-size:1rem;min-height:56px;padding:14px 18px;gap:18px}
.hero{height:auto;min-height:800px;max-height:none}
.hero-inner{height:auto;min-height:inherit;gap:40px;padding-bottom:115px}
.hero-title-row{gap:35px}
.hero-bottom{max-width:none;gap:35px}
.hero-bottom p{font-size:1.222rem;line-height:1.7}
.hero-caption,.hero-caption span:last-child{font-size:var(--label);line-height:1.6;letter-spacing:.5px}
.hero-caption{gap:12px 30px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.date-ticket{width:220px;flex-shrink:0}
.date-ticket>span{font-size:var(--label);line-height:1.6;letter-spacing:.4px}
.date-ticket strong{font-size:40px}
.date-ticket>b{font-size:var(--secondary)}
.trip-strip{grid-template-columns:1fr 1fr 1.5fr 1.7fr}
.trip-strip>div,.trip-strip>a{gap:16px;padding:30px 22px;min-width:0}
.trip-strip span{font-size:var(--label);line-height:1.6;letter-spacing:0}
.trip-strip strong{font-size:58px}
.trip-strip>a{padding-right:55px}
.trip-strip>a strong{font-size:46px;line-height:1.2}
.trip-strip small{font-size:var(--label)}
.trip-strip .strip-arrow{right:18px;font-size:32px}
.intro-copy p,.intro-copy p+p{font-size:var(--copy);line-height:1.8;color:var(--ink)}
.intro-grid{gap:7%;align-items:start}
.text-link{font-size:var(--secondary);line-height:1.65;gap:18px;padding-bottom:10px}
.destination-grid .destination figcaption{left:22px;right:20px;bottom:22px;gap:10px}
.destination-grid .destination figcaption span{font-size:var(--label);line-height:1.6;letter-spacing:.5px}
.destination-grid .destination figcaption strong{font-size:42px}
.photo-note{font-size:var(--secondary);line-height:1.8;max-width:1100px;margin-top:22px}
.route-heading p{font-size:1.333rem;line-height:1.6}
.route-heading p.muted{font-size:var(--copy);line-height:1.75;margin-top:22px;color:var(--muted)}
.route-heading>div{max-width:550px;padding-right:0}
.route-line span{font-size:28px}
.itinerary-layout{grid-template-columns:270px minmax(0,1fr);gap:4%}
.itinerary-aside{top:120px}
.stage-filters button{font-size:var(--secondary);min-height:60px;line-height:1.6;padding:15px 14px;gap:12px}
.stage-filters button span{font-size:var(--label)}
.aside-note{font-size:var(--secondary);line-height:1.8}
.stage-preview figcaption{font-size:var(--label);line-height:1.7;letter-spacing:0}
.itinerary-status{font-size:var(--secondary);line-height:1.7;letter-spacing:0}
.days{gap:26px}
.day summary{grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr) 56px;gap:22px;padding-right:18px;min-height:300px}
.day-media{display:grid;grid-template-rows:minmax(240px,1fr) auto;min-height:0;height:100%;background:#e0e5d8}
.day-media img{position:static;inset:auto;width:100%;height:100%;min-height:0;object-fit:cover}
.day-image-caption{position:static;display:block;padding:12px 16px;background:var(--ink);font-size:var(--label);line-height:1.65;letter-spacing:.2px}
.day-heading{gap:14px;padding:26px 0}
.day-date{gap:10px 14px}
.day-date strong{font-size:var(--label);line-height:1.6;padding:5px 10px;letter-spacing:.5px}
.day-date small{font-size:var(--label);line-height:1.6;letter-spacing:0;white-space:normal}
.day-highlight{font-size:34px;line-height:1.25;letter-spacing:0}
.day-route{font-size:var(--secondary);line-height:1.7;color:#34492d}
.day-preview{font-size:var(--secondary);line-height:1.75;color:var(--muted)}
.day-more{font-size:var(--label);line-height:1.65;letter-spacing:.4px}
.day-toggle{height:48px;width:48px;font-size:30px}
.day-body{font-size:var(--copy);line-height:1.8;padding:28px}
.day-body .condition{font-size:var(--secondary);line-height:1.8;padding-top:14px}
.day-body .optional{padding:18px 20px;margin-top:22px}
.day-body .optional b{font-size:var(--label);line-height:1.7;letter-spacing:.4px;margin-bottom:12px}
.optional ul{padding-left:24px}
.optional li+li{margin-top:9px}
.day-extra{gap:22px;margin-top:26px}
.day-extra figcaption{font-size:var(--secondary);line-height:1.8}
.image-credit{font-size:var(--label);line-height:1.8;margin-top:22px}
.inclusions-heading{gap:40px}
.inclusions-heading>p{font-size:var(--copy);line-height:1.8;color:var(--muted)}
.inclusions h3{font-size:30px;line-height:1.4;gap:16px}
.inclusions h3>span{width:44px;height:44px;flex-shrink:0}
.inclusions li{font-size:var(--copy);line-height:1.8;padding:20px 0 20px 30px}
.included li:before,.not-included li:before{font-size:24px;line-height:1.5}
.inclusion-note{font-size:var(--copy);line-height:1.8;padding:28px}
.inclusion-note p{font-size:var(--secondary);line-height:1.8;color:var(--muted)}
.travelers-heading{display:block}
.travelers-heading>p{font-size:var(--copy);line-height:1.8;max-width:800px;margin-top:24px}
.traveler-gallery figcaption{font-size:var(--secondary);line-height:1.75;margin-top:14px}
.photo-expand{width:44px;height:44px;font-size:28px}
.gallery-footer{gap:32px;align-items:flex-start}
.gallery-footer>p{font-size:var(--secondary);line-height:1.8;max-width:700px}
.booking-dates{font-size:var(--secondary);line-height:1.8;letter-spacing:.5px}
.booking-memory figcaption{font-size:var(--secondary);line-height:1.8}
.booking-memory figcaption span{font-size:var(--label);line-height:1.8;display:block;margin:7px 0 0;color:#c9d4be}
.booking-right>.mini-label{font-size:var(--secondary);line-height:1.7;color:#e0e8d8}
.price{font-size:clamp(68px,6.3vw,94px)}
.price>span{font-size:var(--secondary)}
.occupancy{font-size:var(--copy);line-height:1.8;color:#e1e8d9}
.deposit{padding:25px 0}
.deposit>span{font-size:var(--label);line-height:1.7;letter-spacing:.5px;color:#d7e2ca}
.deposit>strong{font-size:44px;line-height:1.5}
.deposit small{font-size:var(--secondary);line-height:1.8;margin-left:8px;letter-spacing:0}
.deposit p{font-size:var(--secondary);line-height:1.8;color:#d7e2ca;max-width:none;margin-top:15px}
.contact-note{font-size:var(--secondary);line-height:1.8;color:#d7e2ca;margin-top:20px}
.faq{grid-template-columns:.7fr 1.3fr;gap:7%}
.faq summary{font-size:1.222rem;font-weight:600;line-height:1.65;min-height:88px;padding:25px 0;gap:20px}
.faq summary>span{display:grid;place-items:center;font-size:30px;min-width:48px;min-height:48px;background:#e5eada}
.faq details>p{font-size:var(--copy);line-height:1.85;color:#34452f;padding-bottom:30px}
.viewer-toolbar{position:sticky;top:0;z-index:3;background:#101a14;gap:20px}
.viewer-toolbar>span{font-size:var(--label);line-height:1.6;letter-spacing:.6px}
.viewer-close{font-size:var(--secondary);line-height:1.6;min-height:56px;gap:14px;padding:8px}
.viewer-close>span{font-size:34px}
.viewer-prev,.viewer-next{width:56px;height:56px;font-size:30px}
.viewer-stage{padding-left:80px;padding-right:80px}
.viewer-stage img{height:min(54dvh,600px)}
.viewer-caption h3{font-size:30px;line-height:1.4}
.viewer-caption>div>p{font-size:var(--secondary);line-height:1.75;color:#d1ddc6;margin-top:12px}
.viewer-count{font-size:var(--secondary);line-height:1.7;letter-spacing:0}
.footer>p{font-size:30px;line-height:1.5}
.footer>a:last-of-type{font-size:var(--copy);line-height:1.7}
.footer-bottom{font-size:var(--label);line-height:1.8;flex-wrap:wrap;color:#c8d4bd;gap:20px 30px}
.mobile-cta{min-height:84px;padding:14px 6% calc(14px + env(safe-area-inset-bottom));gap:16px;font-size:var(--label);line-height:1.6;letter-spacing:0}
.mobile-cta>span:last-child{font-size:var(--secondary);white-space:nowrap}

@media(max-width:1150px){
  .site-header nav{display:none}
  .trip-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-strip>div,.trip-strip>a{border-bottom:1px solid #cbd2be}
  .intro-grid,.inclusions-heading{display:grid;grid-template-columns:1fr;gap:30px}
  .intro-copy{max-width:850px}
  .route-heading{align-items:flex-start;gap:35px}
  .route-heading>div{max-width:50%}
  .itinerary-layout{grid-template-columns:240px minmax(0,1fr);gap:30px}
  .day summary{grid-template-columns:minmax(0,1fr) 68px;padding:0;gap:0;min-height:0}
  .day-media{grid-column:1/-1;height:auto;grid-template-rows:auto auto}
  .day-media img{height:270px;object-fit:cover}
  .day-heading{padding:26px 10px 26px 26px}
  .day-toggle{justify-self:center;margin:0}
  .day-extra{grid-template-columns:1fr;gap:15px}
  .day-extra img{max-height:none}
  .faq{grid-template-columns:1fr;gap:30px}
  .gallery-footer{flex-direction:column;gap:25px}
  .gallery-footer>p{max-width:none}
  .booking{gap:6%}
  .deposit small{display:block;margin-left:0}
}

@media(max-width:800px){
  .section{padding:65px 6%}
  .hero-inner{padding-top:35px}
  .hero-title-row{flex-direction:column;align-items:flex-start;gap:30px}
  .hero h1{font-size:clamp(68px,12.2vw,104px);letter-spacing:-2px;line-height:1.08;padding-bottom:0}
  .date-ticket{position:static;width:260px;max-width:100%;margin:0;transform:none;padding:16px 18px}
  .date-ticket>span{padding-bottom:10px}
  .date-ticket strong{font-size:34px;line-height:1.3}
  .date-ticket strong br{display:block}
  .date-ticket i{font-size:24px}
  .date-ticket>b{font-size:var(--secondary);letter-spacing:2px;margin-top:10px;padding-top:8px}
  .hero-bottom{flex-direction:column;align-items:flex-start;gap:25px}
  .hero-caption{position:relative;background:#14231a;padding:18px 6%}
  .hero-inner{padding-bottom:35px}
  .hero{min-height:0}
  .hero-bottom p{font-size:var(--copy)}
  .itinerary-layout{display:block}
  .itinerary-aside{position:static}
  .itinerary-aside>.mini-label{display:block;margin-bottom:14px}
  .stage-filters{display:flex;gap:12px;overflow-x:auto;scrollbar-width:thin;margin-top:0;margin-bottom:24px;padding-bottom:12px}
  .stage-filters button{white-space:nowrap;flex-shrink:0;background:#dde3d2;padding:14px 18px;min-height:60px}
  .stage-filters button span,.aside-note,.stage-preview{display:none}
  .route-heading{display:grid;gap:25px}
  .route-heading>div{max-width:none}
  .route-line{overflow-x:auto;justify-content:flex-start;gap:24px}
  .route-line span{font-size:26px}
  .inclusions-grid{grid-template-columns:1fr;gap:40px}
  .booking{grid-template-columns:1fr;gap:45px}
  .booking-right{padding-top:30px;border-top:1px solid #495440}
  .booking h2{font-size:clamp(46px,7vw,64px)}
  .booking-memory{max-width:none}
  .travelers-heading>p br,.inclusions-heading>p br{display:none}
  .viewer-caption{gap:15px}
  .footer{grid-template-columns:1fr;gap:25px}
  .footer>p{text-align:left}
  .footer>a:last-of-type{justify-self:start}
  .footer-bottom{display:flex}
}

@media(max-width:700px){.footer{padding-bottom:145px}}

@media(max-width:600px){
  html{scroll-padding-top:100px}
  .site-header{min-height:90px;padding:14px 5%;gap:12px}
  .brand img{width:110px;height:auto}
  .site-header .button.small{font-size:var(--label);line-height:1.5;gap:8px;padding:12px;min-height:56px}
  .site-header .button.small span{font-size:24px}
  .section{padding:55px 6%}
  .section-top{margin-bottom:28px;gap:16px}
  .section-top .tiny{display:none}
  .hero-inner{padding:30px 6% 35px;gap:30px}
  .hero h1{font-size:clamp(60px,14.3vw,86px)}
  .hero-caption,.hero-caption span:last-child{font-size:var(--label);line-height:1.7;letter-spacing:0}
  .hero-caption{gap:10px}
  .hero-bottom{display:flex;gap:24px}
  .hero-bottom .button{font-size:var(--copy);padding:16px 20px;gap:20px;min-height:60px}
  .trip-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-strip>div,.trip-strip>a{padding:24px 16px;gap:12px;min-height:130px}
  .trip-strip>div:not(.flight){flex-direction:column;text-align:center}
  .trip-strip strong{font-size:50px}
  .trip-strip span{font-size:var(--label);line-height:1.65}
  .trip-strip .flight,.trip-strip>a{grid-column:1/-1;justify-content:flex-start;padding-left:24px}
  .trip-strip .flight{gap:24px}
  .trip-strip .plane{font-size:52px}
  .trip-strip>a{padding-right:60px}
  .trip-strip>a strong{font-size:50px}
  .trip-strip small{font-size:var(--secondary)}
  .trip-strip .strip-arrow{font-size:36px;right:24px}
  .intro-copy p,.intro-copy p+p{font-size:var(--copy);line-height:1.8}
  .text-link{font-size:var(--secondary)}
  .destination-grid{grid-template-columns:1fr;gap:18px}
  .destination-grid .destination,.destination-grid .destination.tall,.destination-grid .destination:first-child,.destination-grid .destination:nth-child(n+4){grid-column:1/-1;height:300px}
  .destination-grid .destination figcaption span{font-size:var(--label);line-height:1.6}
  .destination-grid .destination figcaption strong{font-size:40px}
  .photo-note{font-size:var(--secondary);line-height:1.8}
  .route-heading p{font-size:1.222rem}
  .route-heading p.muted{font-size:var(--copy);line-height:1.8}
  .itinerary-status{font-size:var(--secondary);line-height:1.7}
  .day summary{grid-template-columns:minmax(0,1fr) 66px}
  .day-media{aspect-ratio:auto;display:grid;height:auto}
  .day-media img{height:230px;aspect-ratio:auto}
  .day-image-caption{font-size:var(--label);line-height:1.65;padding:12px 16px}
  .day-heading{padding:24px 8px 24px 20px;gap:14px}
  .day-date strong,.day-date small{font-size:var(--label);line-height:1.6}
  .day-highlight{font-size:32px;line-height:1.3}
  .day-route,.day-preview{font-size:var(--secondary);line-height:1.75}
  .day-more{font-size:var(--label);letter-spacing:.2px}
  .day-toggle{width:48px;height:48px;font-size:30px;margin:0;right:auto}
  .day-body{font-size:var(--copy);line-height:1.85;padding:22px 20px}
  .day-body .condition{font-size:var(--secondary);line-height:1.8}
  .day-body .optional{padding:18px 16px}
  .day-body .optional b{font-size:var(--label);line-height:1.7}
  .day-extra figcaption{font-size:var(--secondary);line-height:1.8}
  .image-credit{font-size:var(--label);line-height:1.8;overflow-wrap:anywhere}
  .inclusions-heading>p,.inclusions li{font-size:var(--copy);line-height:1.8}
  .inclusions h3{font-size:28px;gap:12px}
  .inclusion-note{font-size:var(--copy);padding:24px}
  .inclusion-note p{font-size:var(--secondary);line-height:1.8}
  .travelers-heading>p{font-size:var(--copy);line-height:1.8}
  .traveler-gallery{grid-template-columns:1fr;gap:28px}
  .traveler-gallery figcaption{font-size:var(--secondary);line-height:1.7}
  .photo-expand{width:44px;height:44px;font-size:28px}
  .gallery-footer>p{font-size:var(--secondary);line-height:1.8}
  .gallery-footer .button{font-size:var(--copy);min-height:60px}
  .booking{padding:55px 6%}
  .booking-dates{font-size:var(--secondary);line-height:1.8}
  .booking-memory figcaption{font-size:var(--secondary)}
  .booking-memory figcaption span{font-size:var(--label);line-height:1.8}
  .price{font-size:68px;line-height:1.4;white-space:normal}
  .price>span{font-size:var(--secondary);white-space:nowrap}
  .occupancy{font-size:var(--copy);line-height:1.8}
  .deposit>span{font-size:var(--label);line-height:1.7}
  .deposit>strong{font-size:44px}
  .deposit small{font-size:var(--secondary);display:block;margin-left:0}
  .deposit p,.contact-note{font-size:var(--secondary);line-height:1.8}
  .faq summary{font-size:1.222rem;line-height:1.65;padding:24px 0;gap:12px;min-height:88px}
  .faq summary>span{min-width:44px;min-height:48px;font-size:28px}
  .faq details>p{font-size:var(--copy);line-height:1.85;padding-bottom:28px}
  .viewer-toolbar{gap:10px;padding:10px 12px}
  .viewer-toolbar>span{font-size:var(--label);line-height:1.5;letter-spacing:0;max-width:55%}
  .viewer-close{font-size:var(--secondary);min-height:56px;gap:8px;padding:6px}
  .viewer-close>span{font-size:34px}
  .viewer-stage{padding:10px 10px 78px}
  .viewer-stage img{height:44dvh}
  .viewer-prev,.viewer-next{width:56px;height:56px;font-size:30px;bottom:10px}
  .viewer-prev{left:calc(50% - 66px)}
  .viewer-next{right:calc(50% - 66px)}
  .viewer-caption{padding:20px 16px;gap:12px;flex-wrap:wrap}
  .viewer-caption h3{font-size:28px;line-height:1.4}
  .viewer-caption>div>p{font-size:var(--secondary);line-height:1.8}
  .viewer-count{font-size:var(--secondary);line-height:1.6}
  .footer{padding-bottom:145px}
  .footer>a:last-of-type{font-size:var(--copy)}
  .footer-bottom{display:grid;font-size:var(--label);line-height:1.8;gap:14px}
  .mobile-cta{min-height:84px;padding:14px 6% calc(14px + env(safe-area-inset-bottom));gap:16px;font-size:var(--label);line-height:1.6;letter-spacing:0}
  .mobile-cta>span:first-child{min-width:0}
  .mobile-cta>span:first-child b{display:block;font-size:var(--secondary)}
  .mobile-cta>span:last-child{font-size:var(--secondary);white-space:nowrap}
}
