/* Responsive repairs shared by every public page. */
img,video{max-width:100%}textarea,input,select{min-width:0}
.wrap>*:where(div,article,form),.split>*,.location-grid>*,.guide-layout>*,.tour>*,.corporate-layout>*,.destination-grid>*,.table-grid>*,.salon-content>*{min-width:0}
h1,h2,h3,.title{overflow-wrap:break-word}
.button,.salon-button{text-align:center;white-space:normal;height:auto}
@media(max-width:1250px){
.dedicated-header .family-nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 16px;padding:8px 20px;min-height:0}
.dedicated-header .family-nav nav{grid-column:1/-1;grid-row:2;display:flex;min-width:0;width:100%;overflow-x:auto;justify-content:flex-start;gap:22px;padding:3px 0 8px;overscroll-behavior-x:contain}
.dedicated-header .family-nav nav a{flex:none;font-size:17px;min-height:44px;display:flex;align-items:center;padding:7px 0}
.dedicated-header .family-brand{margin:0;min-width:0}.dedicated-header .dedicated-full-logo{width:205px;max-width:100%}
.dedicated-header .family-languages{margin:0}.dedicated-header .family-languages button{min-height:44px;min-width:38px;font-size:14px;padding:6px}
.hero .hero-inner{padding-top:170px}.guide-hero{padding-top:175px}
.hero .hero-inner h1{white-space:normal;text-wrap:balance;max-width:100%}
.dedicated-header~main section[id]{scroll-margin-top:160px}
}
@media(max-width:900px){
.dedicated-team-heading{flex-wrap:wrap}.corporate-head{grid-template-columns:minmax(0,1fr);gap:24px}
.corporate-layout{grid-template-columns:minmax(0,1fr)}.corporate-photo{position:static}
.hero .hero-trust .trust-grid{grid-template-columns:minmax(0,1fr)}
.hero .hero-trust .trust-badge{min-width:0}.hero .hero-trust .distinction-copy{min-width:0}
}
@media(max-width:700px){
.wrap{width:calc(100% - 32px)}
.dedicated-header .family-nav{grid-template-columns:minmax(0,1fr) auto;padding:8px 16px 0;gap:4px 10px}
.dedicated-header .family-choose{display:none}
.dedicated-header .dedicated-full-logo{width:min(46vw,190px)}
.dedicated-header .family-nav nav{gap:20px;padding-bottom:5px}
.hero .hero-inner{width:calc(100% - 32px);padding:155px 0 32px}
.hero .hero-inner h1{font-size:clamp(2.25rem,9.5vw,3.25rem);line-height:1.08;letter-spacing:-.02em}
.hero .lead{font-size:1rem;line-height:1.6;margin-top:22px}
.hero .actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px}
.hero .actions .button{font-size:.9375rem;min-height:50px;padding:12px 16px}
.hero .hero-trust{margin-top:28px}.hero .hero-trust .trust-badge{padding:14px;min-height:82px;gap:14px}
.hero .hero-trust .distinction-title{font-size:.875rem}
.hero .hero-trust .trust-badge small[data-i18n="airbnbBadgeReviews"],.hero .hero-trust .trust-badge .booking-score{font-size:1.25rem}
.hero .proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.hero .proof>div{padding:0;border:0}.hero .proof span{font-size:.75rem;line-height:1.5;letter-spacing:.04em}
.title,.dedicated-people-text .title,.corporate-head .title,.tour-copy .title{font-size:clamp(2.125rem,9vw,3rem);line-height:1.1}
section:not(.hero):not(.booking){padding:56px 0}
.booking form,.booking-inner,.split,.location-grid,.guide-layout,.tour{grid-template-columns:minmax(0,1fr)}
.benefits-grid,.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.amenities-grid b{font-size:1.375rem;line-height:1.2}.amenities-grid p{font-size:.875rem}
.tour-media{min-height:290px}.tour-copy{padding:24px 18px}.tour-steps{max-height:none}
.gallery-grid,.gallery-grid.expanded{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px;overflow:visible}
.gallery-grid button,.gallery-grid button:first-child,.gallery-grid button:nth-child(6){min-width:0;width:100%;height:100%;scroll-snap-align:none;grid-column:auto;grid-row:auto}
.gallery-grid button:first-child{grid-column:1/-1;grid-row:span 2}.gallery-grid button:nth-child(n+9){display:none}.gallery-grid.expanded button{display:block}
.gallery-grid span{font-size:.75rem;line-height:1.4}
#reviews .review-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:start}
#reviews .review-arrow{width:44px;height:44px;margin-top:14px}#reviews .review-viewport{grid-template-columns:minmax(0,1fr)}
#reviews .review-card{padding:20px 14px}#reviews .review-card p{font-size:1rem;line-height:1.6}
#reviews .review-source{white-space:normal;font-size:.875rem}#reviews .review-footer{margin:18px 0 0;font-size:.875rem}.review-source-links{flex-wrap:wrap}
.review-platform{flex-wrap:wrap}.review-attribution{min-width:0}
.dedicated-people .dedicated-team{width:calc(100% - 32px)}
.corporate-close>div{display:grid;gap:18px}.corporate-secondary{white-space:normal}
.inquiry-row,.inquiry-phone-row{grid-template-columns:minmax(0,1fr)}.inquiry-form .button{justify-self:stretch}
#book .nid-calendar-panel{padding:16px 10px;max-width:100%}
.map-card iframe{height:360px}.map-badge{right:12px;left:12px;bottom:12px;padding:12px}.map-badge strong{font-size:1.25rem}.map-route{white-space:normal}
.lightbox{padding:70px 16px}.lightbox img{max-height:calc(100dvh - 170px)}.lightbox .prev,.lightbox .next{top:auto;bottom:45px}
.guide-hero{min-height:0;padding:165px 0 55px}.guide-hero h1{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.08}
.guide-preface-grid,.festival-layout,.destination-grid,.table-grid,.itinerary-grid{grid-template-columns:minmax(0,1fr)}
.destination-card .card-copy,.table-card,.itinerary-card{padding:24px 20px}
.salon-nav{flex-wrap:wrap}.salon-nav nav{display:flex;order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;padding:4px 0;gap:20px}.salon-nav nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center;font-size:.875rem}
.salon-hero h1,.salon-hub-hero h1{font-size:clamp(2.5rem,10vw,3.5rem);max-width:100%;line-height:1.08}
.salon-content{padding:40px 16px;gap:32px}.salon-aside{padding:25px 20px}.salon-tip{padding:20px}.quarter-table{max-width:100%}
.salon-actions .salon-button{width:100%}.salon-hub-note .salon-button{white-space:normal}
footer{padding-bottom:105px}.dedicated-mobile-book{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 90px);min-height:48px;display:flex;align-items:center}
.dedicated-contact{right:auto;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:50px;height:50px}
.nid-consent{bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(100dvh - 32px);overflow:auto;padding:16px}
.nid-consent-actions{display:grid;grid-template-columns:1fr 1fr}.nid-consent-actions a{grid-column:1/-1}.nid-consent-actions button{min-height:44px;padding:10px;font-size:.875rem}
}
@media(max-width:360px){.dedicated-header .family-nav{padding-inline:12px;gap:4px 6px}.dedicated-header .dedicated-full-logo{width:44vw}.dedicated-header .family-languages{gap:2px}.dedicated-header .family-languages button{min-width:34px}.amenities-grid,.benefits-grid{grid-template-columns:minmax(0,1fr)}#reviews .review-carousel{grid-template-columns:44px 44px;justify-content:center}#reviews .review-viewport{grid-column:1/-1;grid-row:1}#reviews .review-arrow{grid-row:2;margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
