/* Central responsive layer — content-driven breakpoints, touch and safe-area support. */
:root{--page-gutter:clamp(16px,4vw,34px);--content-max:1320px;--touch:44px}
html{font-size:100%;scroll-padding-top:90px}body{font-size:1rem;overflow-wrap:break-word}
body.menu-open,body.modal-open{overflow:hidden;touch-action:none}
main,.section,.nav-wrap,.footer-grid,.copy,.tour-detail-layout,.tour-feature-strip{min-width:0}
img,svg,video,iframe,canvas{max-width:100%}
input,select,textarea,button{font-size:1rem;max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #e3ac4b;outline-offset:3px}
.container{width:min(calc(100% - 2*var(--page-gutter)),var(--content-max));margin-inline:auto}
.section{width:min(100%,var(--content-max));padding-inline:var(--page-gutter);padding-block:clamp(44px,7vw,72px)}
.section h1,.section h2,.section h3,.page-hero h1,.hero h1{overflow-wrap:anywhere;text-wrap:balance}
.nav-close,.nav-backdrop{display:none}
.btn,.search-btn,.detail-pill,.slider-arrow,.hamb,.call-button{min-height:var(--touch)}
.brand{flex:0 0 auto}.topbar .brand img{width:clamp(110px,13vw,168px);height:auto}
.tour-grid,.dest-grid,.news-grid,.benefits,.footer-grid{min-width:0}.tour-card,.dest-card,.news-grid>a,.benefits>div{min-width:0}
.tour-card a{height:100%;display:flex;flex-direction:column}.card-body{flex:1}.card-image{aspect-ratio:4/3;height:auto}
.dest-card{aspect-ratio:7/5;height:auto;min-height:150px}
.news-grid a{align-items:stretch}.news-grid a>b{min-width:0;overflow-wrap:anywhere}
.newsletter{left:auto;transform:none;width:min(calc(100% - 2*var(--page-gutter)),1320px);margin-inline:auto;margin-bottom:-30px}
.newsletter form{min-width:0;flex:1;max-width:620px}
.filter-bar>*{min-width:0}.filter-bar select{font-size:1rem}
.detail-img{height:auto;aspect-ratio:4/3}
.tour-lightbox{padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.wa-float{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
@media(hover:hover) and (pointer:fine){.tour-card:hover{transform:translateY(-6px)}.tour-gallery button:hover img{transform:scale(1.03)}}

/* Drawer starts when the desktop navigation no longer fits naturally. */
@media(max-width:1100px){
 .topbar{position:absolute}.nav-wrap{padding-inline:var(--page-gutter)}.hamb{display:grid;place-items:center;width:var(--touch);height:var(--touch);margin-left:auto;z-index:53}
 .topbar nav{display:flex;position:fixed;z-index:52;inset:0 0 0 auto;width:min(88vw,380px);height:100dvh;padding:max(92px,calc(70px + env(safe-area-inset-top))) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 24px;background:#071827;flex-direction:column;align-items:stretch;gap:2px;overflow-y:auto;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility .25s}
 .topbar.open nav{display:flex;transform:translateX(0);visibility:visible}.topbar nav a{font-size:1rem;padding:13px 8px;border-bottom:1px solid #ffffff14}
 .nav-close{position:fixed;z-index:54;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));width:var(--touch);height:var(--touch);border:0;border-radius:50%;background:#ffffff14;color:#fff;font-size:30px}
 .topbar.open .nav-close{display:grid;place-items:center}.nav-backdrop{position:fixed;z-index:39;inset:0;width:100%;height:100%;border:0;background:#071827a8}.nav-backdrop.visible{display:block}
 .tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 html{scroll-padding-top:76px}.topbar{height:72px;padding-top:env(safe-area-inset-top)}.nav-wrap{height:72px}.topbar .brand img{width:128px;height:44px}.nav-actions{display:none}
 .hero{height:clamp(560px,88svh,650px)}.hero-brand-logo{top:84px;width:min(220px,58vw)}.hero-content{padding:175px var(--page-gutter) 75px}.hero h1{font-size:clamp(2.15rem,10vw,3rem)}.hero h1 em{font-size:clamp(1.9rem,8.5vw,2.7rem)}.hero p{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{justify-content:center;width:100%}.slider-arrow{top:auto;bottom:35px}.dots{bottom:51px}
 .tour-search{width:calc(100% - 2*var(--page-gutter));margin:-24px auto 0;padding:0 14px 16px;border-radius:18px}.search-tabs{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;height:auto;margin-inline:-14px}.search-tabs button{flex:0 0 112px;min-height:var(--touch);scroll-snap-align:start}.search-fields{grid-template-columns:1fr;padding-top:14px}.search-fields label,.search-btn{width:100%}
 .tour-grid,.news-grid,.proof,.detail-layout{grid-template-columns:1fr}.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.benefits>div{padding:12px 6px;border:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .newsletter{display:grid;gap:16px;padding:22px;margin-bottom:-20px}.newsletter form{display:grid;gap:9px;width:100%}.newsletter input,.newsletter button{width:100%;min-height:var(--touch);border-radius:9px}.footer{padding:55px var(--page-gutter) 0}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-grid>div:first-child{grid-column:1/-1}.copy{display:grid;gap:8px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .page-hero{padding:115px var(--page-gutter) 55px}.page-hero h1{font-size:clamp(2rem,9vw,2.75rem)}
 .filter-bar{grid-template-columns:1fr}.filter-bar .btn{width:100%;text-align:center}
 .tour-detail-layout{width:calc(100% - 2*var(--page-gutter));margin-block:28px 55px}.tour-detail-hero__content{min-width:0}.tour-feature-strip{width:calc(100% - 2*var(--page-gutter))}.tour-booking{padding-bottom:max(25px,env(safe-area-inset-bottom))}
 .tour-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}.tour-gallery button,.tour-gallery button:first-child{flex:0 0 86%;height:230px;grid:unset;scroll-snap-align:center}
}
@media(max-width:479px){
 .dest-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.benefits{grid-template-columns:1fr 1fr}.tour-feature-strip{grid-template-columns:1fr}.tour-card .card-body{min-height:0}.stats{grid-template-columns:1fr 1fr}.stats b{font-size:1.35rem}.inclusion-grid{grid-template-columns:1fr}
}
@media(max-width:359px){:root{--page-gutter:12px}.hero-content{padding-inline:18px}.hero h1{font-size:2rem}.hero h1 em{font-size:1.8rem}.benefits{grid-template-columns:1fr}.tour-gallery button,.tour-gallery button:first-child{flex-basis:94%}}
@media(max-height:520px) and (orientation:landscape){.topbar nav{padding-top:70px}.hero{height:520px}.hero-brand-logo{display:none}.hero-content{padding-top:100px}.tour-lightbox img{max-height:75vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
