html{scroll-behavior:smooth}body{overflow-wrap:break-word}a:focus-visible,button:focus-visible{outline:3px solid #eb7165;outline-offset:5px}[hidden]{display:none!important}.contact__data a{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


body{font-family:"Noyh Slim",Arial,sans-serif;line-height:1.5}
.container{max-width:100%;min-width:0}
.col{min-width:0}
.main-header__banner{pointer-events:none}
.main-header>.container:not(.main-header__content){display:flex;align-items:center;justify-content:space-between;gap:24px}
.main-header__logo{flex:0 1 280px;margin:0;float:none}
.main-header__logo img{display:block;width:100%;height:auto}
.main-menu{float:none}
.main-menu__list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 22px}
.main-menu__item{margin:0;font-size:22px;line-height:1.3}
.main-menu__item a{display:inline-flex;align-items:center;min-height:44px}
.main-header__content>.row{width:calc(100% + 50px);min-width:0}
.main-header__content h1{line-height:1.25}
.section__content h1,.section__content h2,.section__content h3{line-height:1.2}
.section--contact .section__content h3{margin-bottom:24px}
.section--contact .contact__data{margin-bottom:32px}




.contact-map{display:block;width:100%;height:450px;border:0;border-radius:8px;margin-top:24px}
.booking-dialog{width:min(860px,calc(100% - 32px));max-width:100%;max-height:calc(100dvh - 32px);padding:28px;border:0;border-radius:12px;color:#214798;overflow:auto;overscroll-behavior:contain}
.booking-dialog::backdrop{background:rgb(20 35 60 / 65%)}
.booking-dialog__header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.booking-dialog__header h2{margin:0;font-size:30px}
.booking-close{flex:none;min-height:44px;padding:8px 12px;color:#214798;font-size:18px;border:1px solid #214798;border-radius:4px}
.booking-help,.booking-status{font-size:18px;line-height:1.5}
.booking-help{margin:24px 0 0}
body.booking-open{overflow:hidden}
@media(max-width:992px){
 .main-header{padding-top:24px;min-height:auto;text-align:center}
 .main-header>.container:not(.main-header__content){display:block;padding-right:80px;text-align:left}
 .main-header__logo{display:block;width:210px;max-width:100%;position:relative;z-index:3;margin:0}
 .main-header__menu-button{display:flex;align-items:center;justify-content:center;top:24px;right:20px;width:48px;height:48px;z-index:5;background:#fff;border-radius:4px}
 .main-menu{position:absolute;top:-24px;left:0;right:0;float:none;text-align:center;display:none;background:#fff;padding:145px 20px 20px;box-shadow:0 8px 12px rgb(33 71 152 / 15%);opacity:1;visibility:visible;z-index:4;transition:none}
 .main-menu.is-active{display:block;z-index:4}
 .main-menu__list{display:block}
 .main-menu__item{display:block;width:100%;margin:0;border-bottom:1px solid #dce3f2}
 .main-menu__item a{display:block;width:100%;padding:14px;line-height:1.4}
 .main-header__banner{position:relative;order:1;height:260px;margin-top:16px}
 .main-header__banner img{position:static;width:100%;height:100%;object-fit:contain;object-position:center}
 .main-header__content{order:2;display:block;text-align:center;padding:0 25px}
 .main-header__content h1{font-size:28px;margin:24px 0}
 .main-header__content .link{margin-bottom:32px}
 .section--contact .contact__data{margin-bottom:40px}
 .section--about .section__content{min-height:0}
 .section--about .section__col p{line-height:1.5}
 .contact-map{height:360px}
}
@media(max-width:480px){
 .main-header__logo{width:180px}
 .main-header__banner{height:190px}
 .main-header__content h1{font-size:24px}
 .section{padding-top:40px}
 .section__content h1{font-size:34px}
 .section__content h2{font-size:28px}
 .section__content h3{font-size:24px}
 .promo{padding:36px 0}
 .promo h1{font-size:32px;line-height:1.2}
 .promo__button{font-size:22px;min-height:48px}
 
 .offer-list__content{padding-left:0}
 .contact-map{height:300px}
 .booking-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:16px}
 .booking-dialog__header h2{font-size:26px}
}

.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:start}
.contact-location{min-width:0}
.contact-location h2{font-size:32px;margin-bottom:20px}
.contact-location .contact-map{margin-top:0}
@media(max-width:992px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:24px}.section--contact .contact__data{margin-bottom:0}}
