@media(max-width:1100px){.primary-nav{position:fixed;right:0;top:0;height:100vh;width:min(390px,90vw);background:#fff;flex-direction:column;align-items:stretch;padding:70px 28px 30px;transform:translateX(105%);transition:transform .2s;box-shadow:var(--shadow);overflow:auto}.primary-nav.open{transform:none}.primary-nav>a:not(.btn){padding:12px 0}.menu-toggle,.nav-close{display:flex;align-items:center;gap:8px}.nav-close{position:absolute;right:20px;top:18px}.quick-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.section{padding:64px 0}.card-grid{grid-template-columns:repeat(2,1fr)}.detail-grid,.feature-split,.split{grid-template-columns:1fr}.booking-card{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:620px}.mobile-book-bar{display:flex;position:fixed;z-index:900;left:12px;right:12px;bottom:12px;padding:10px 12px;background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.2);align-items:center;justify-content:space-between}.back-top{bottom:86px}}
@media(max-width:580px){.container{width:min(100% - 28px,var(--container))}.hero-content{padding-bottom:45px}.hero-search{border-radius:18px;align-items:stretch}.hero-search .btn{padding-inline:15px}.quick-grid{grid-template-columns:repeat(2,1fr);margin-top:20px}.card-grid,.district-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.section-head{align-items:start;flex-direction:column}.district-card{min-height:300px}.footer-bottom{flex-direction:column}.footer-bottom a{margin:0 16px 0 0}.search-panel{padding:52px 20px 24px}.search-box{border-radius:14px;flex-wrap:wrap}.search-box .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
html,body{overflow-x:hidden}
@media(max-width:1100px){.menu-toggle,.nav-close{display:flex!important}.menu-toggle{position:relative;z-index:2}}
@media(max-width:580px){.brand img{width:170px}.hero-content{min-width:0;width:100%}.hero h1{font-size:2.55rem;overflow-wrap:anywhere}.hero p{font-size:1rem}.hero-search{width:100%;max-width:100%}.hero-search input{width:0}}
