/* Final responsive rules, including dynamic planner and overlay states. */
html{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{width:100%;max-width:100%;margin:0;overflow-x:clip;overscroll-behavior-x:none}
@supports(overflow:clip){html{overflow-x:clip}}
#main,#header,#footer,.hero-copy,.hero-visual,.booking-layout>*,.field-row>*,.option-grid>*,.footer-content>*,.location-grid>*{min-width:0;max-width:100%}
.summary-row>span{min-width:0}.summary-row>span:last-child{max-width:65%;overflow-wrap:anywhere;text-align:right}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field select{width:100%;text-overflow:ellipsis}.legal a,.footer-content a{overflow-wrap:anywhere}
@media(max-width:767px){
 body{touch-action:pan-y pinch-zoom}.wrap{max-width:calc(100% - 40px)}
 .header-inner{max-width:calc(100% - 32px)}.header-right{flex-shrink:1}.logo{flex-shrink:0}.desktop-nav{max-width:100%;max-height:calc(100dvh - 128px);overflow-y:auto;overscroll-behavior:contain}
 .booking-layout,.field-row,.location-grid{grid-template-columns:minmax(0,1fr)}.option-grid{grid-template-columns:minmax(0,1fr)}.option[data-brand] .brand-name{white-space:normal}.booking-actions>*{max-width:100%}.booking-actions .button{white-space:normal}.summary-row{gap:12px}
 .chat-panel{right:max(12px,env(safe-area-inset-right));width:min(350px,calc(100% - 24px));max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain}.chat-launch{right:max(16px,env(safe-area-inset-right))}.chat-topics{flex-wrap:wrap}
 #mobile-nav{width:100%;left:0;right:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .accessory-scene{height:auto!important}.accessory-scene .scene-pin{position:relative;display:block;height:auto;min-height:0;overflow:clip;padding:68px 20px}.accessory-rail{display:flex;flex-direction:column;align-items:stretch;gap:24px;width:100%;max-width:430px;margin:auto;padding:0;transform:none!important}.rail-intro{width:100%;min-width:0;flex:none;padding:0 0 12px}.rail-card{width:100%;max-width:100%;min-width:0;height:440px;max-height:none;flex:none}.rail-card>img{width:100%;height:100%;object-fit:cover}.rail-card>div{max-width:100%}.rail-card strong,.rail-intro h2{overflow-wrap:break-word}
}
@media(max-width:374px){.header-right>.button{display:none}.rail-card{height:390px}.inline-actions{flex-wrap:wrap}}

.legal p,.legal a{overflow-wrap:anywhere}.legal h1{font-size:clamp(2.8rem,9vw,5.5rem)}
