/* Responsive stability + accessible motion, 2026-11-02 */
:root{--touch-min:44px} html{scroll-padding-top:90px} body{overflow-x:clip} img,video,svg{max-width:100%} p,h1,h2,h3,h4{overflow-wrap:break-word} input,textarea,select{max-width:100%;min-width:0} button,a,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #27899a;outline-offset:3px} .priority-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.priority-enhanced .priority-reveal{opacity:0;transform:translateY(14px);transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .65s ease}.priority-enhanced .priority-reveal.priority-visible{opacity:1;transform:none}}
@media (max-width:900px){input,select,textarea{font-size:max(16px,1rem)} .priority-mobile-full{width:100%!important} .priority-mobile-stack{display:flex!important;flex-direction:column!important} .priority-mobile-stack>*{min-width:0!important} }
@media (max-width:480px){h1{overflow-wrap:normal;word-break:normal;hyphens:auto} .hero-actions,.page-hero .hero-actions{flex-wrap:wrap!important} .hero-actions a,.hero-actions button{min-width:0} .container,.wrap,.wide{max-width:calc(100% - 28px)} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} .priority-reveal{transition:none!important;animation:none!important}}
@media(max-width:900px){#mobile-menu.open{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}#mobile-menu.open a{min-height:44px;display:flex;align-items:center}}@media(max-width:600px){.hero h1,.page-hero h1{font-size:clamp(2.5rem,11vw,4.6rem);line-height:1.09}.hero img{object-fit:cover}.hero .btn,.page-hero .btn{max-width:100%}.form-grid,.booking-layout{grid-template-columns:minmax(0,1fr)!important}.topbar{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.hero img{animation:priority-image 1.2s ease both}@keyframes priority-image{from{opacity:.6;filter:saturate(.75)}to{opacity:1;filter:saturate(1)}}}
