/* Shared responsive fixes. Desktop hero and project galleries retain their original styles. */
@media(max-width:1100px){
 .site-header,.site-header.is-scrolled{height:90px;gap:18px}
 .desktop-nav{display:none}.menu-toggle{display:flex;min-width:44px;min-height:44px}
 .header-actions{gap:14px}
 .site-header .kb-mobile-link{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;line-height:1.2;box-shadow:none;background:transparent;border:1px solid #ffffff66;border-radius:4px;white-space:nowrap}
 .menu-open .kb-mobile-link{visibility:visible}
 .mobile-menu,.inner-page .mobile-menu{top:90px;max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
 .inner-page .site-header.is-scrolled+nav+main{padding-top:90px}
}
@media(max-width:700px){
 html{scroll-padding-top:126px}
 .site-header,.site-header.is-scrolled{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;grid-template-rows:58px 40px;align-items:center;gap:4px 8px;height:118px;padding:8px 16px}
 .site-header .brand{grid-column:1;grid-row:1;width:88px;max-width:100%}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:55px;object-fit:contain}
 .site-header .header-actions{display:contents}.site-header .header-phones{grid-column:2;grid-row:1;gap:5px}
 .site-header .header-phones .phone{font-size:14px;letter-spacing:-.025em;line-height:1.25;min-height:24px;white-space:nowrap}
 .site-header .header-cta{display:none}.site-header .menu-toggle{grid-column:3;grid-row:1;width:44px;min-height:44px}
 .site-header .kb-mobile-link{grid-column:1/-1;grid-row:2;justify-self:stretch;min-height:36px;padding:7px 14px;font-size:14px;border-color:#ffffff42;background:#ffffff0b}
 .mobile-menu,.inner-page .mobile-menu{top:118px;max-height:calc(100dvh - 118px);padding-bottom:24px}
 .mobile-menu a{min-height:48px;font-size:25px;line-height:1.3}
 .inner-page .site-header.is-scrolled+nav+main{padding-top:118px}
 .home .hero-content{padding-top:170px}
 .mobile-bottom{padding-bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)}
 .mobile-bottom a,.mobile-bottom button{min-width:0;min-height:48px}.mobile-bottom button{line-height:1.25}
 .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.footer-phones{max-width:100%}
 .contact-phones .contact-phone,.footer-phones .footer-phone{font-size:clamp(23px,7vw,29px)}
 .house-card,.brief-form,.brief-summary,.project-spec,.project-description{min-width:0}
 .lead-form input,.style-select select,.catalog-filters input,.catalog-filters select{font-size:16px}
 .project-spec .project-start-price{font-size:clamp(20px,6vw,25px)}
 .house-card .card-start-price{font-size:clamp(21px,6vw,25px)}
 .lead-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
 .seo-prose table{max-width:100%}
}
@media(max-width:360px){.site-header,.site-header.is-scrolled{padding-inline:12px;gap:4px 6px}.site-header .brand{width:80px}.site-header .header-phones .phone{font-size:13px}.mobile-bottom{padding-inline:8px}.mobile-bottom button svg{display:none}}
@media print{.kb-mobile-link{display:none!important}}
