html{scroll-behavior:smooth}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}body:has(dialog[open]){overflow:hidden}.swiper-wrapper.native-slider{display:flex;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;transform:none!important}.native-slider::-webkit-scrollbar{display:none}.native-slider .swiper-slide{flex-shrink:0;scroll-snap-align:start}.main-about .swiper-slide{width:calc((100% - 32px)/3);margin-right:16px}.reviews .swiper-slide{width:calc((100% - 48px)/3);margin-right:24px}.comp-projects .swiper-slide{width:calc((100% - 48px)/4);margin-right:16px}.news-slider .swiper-slide{margin-right:24px}.accordion.open>.accordion-content{height:auto;opacity:1;visibility:visible}.accordion-trigger,.catalog-card__show-more{cursor:pointer}.reviews .expanded p{display:block!important;max-height:none!important;-webkit-line-clamp:unset!important}.form-notice{font:13px/1.5 var(--font-family,Arial);color:#74757d;margin:16px 0}.form-inp-label .placeholder.rise{transform:translateY(-12px);font-size:12px}
dialog{border:0;padding:40px;max-width:650px;width:calc(100% - 32px);max-height:85vh;overflow:auto;margin:auto;box-shadow:0 15px 70px #0004;color:var(--primary-black);font-family:var(--font-family)}dialog::backdrop{background:#262a3199}dialog.wide-dialog{max-width:1200px}dialog h2{font:700 36px/1.2 var(--second-family);margin:0 36px 24px 0}dialog p{line-height:1.6;margin:16px 0}.dialog-close{position:absolute;right:12px;top:10px;background:none;color:#878890;border:0;font-size:32px;cursor:pointer;width:36px;height:36px}dialog input:not([type=checkbox]),dialog textarea{display:block;width:100%;border:1px solid #dbdbdd;padding:14px;margin:8px 0 20px;font:inherit}dialog .accent-btn{width:100%;padding:20px 24px;margin-top:16px}dialog .consent{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:16px}dialog .consent a{color:var(--accent)}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.city-grid button{text-align:left;padding:12px;background:#f6f6f6;border:0;cursor:pointer}.city-grid button:hover{color:var(--accent)}.catalog-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.catalog-menu-grid a{display:block;padding:9px 0;font-size:14px;color:#878890}.catalog-menu-grid a:hover{color:var(--accent)}.catalog-menu-grid .menu-category-title{font:700 24px/1.25 var(--second-family);color:#262a31}.dialog-tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid #eee}.dialog-tabs button{font:700 22px var(--second-family);padding:10px 0;border:0;background:none;cursor:pointer}.dialog-tabs .selected{color:var(--accent);border-bottom:2px solid}.all-link{display:block;color:var(--accent);margin-top:30px}.lightbox{width:100%;max-height:65vh;object-fit:contain}
.inner-page{padding:32px 0 80px;min-height:55vh}.inner-page h1{font:700 56px/1.2 var(--second-family);margin:28px 0 40px}.inner-page h2{font:700 32px/1.2 var(--second-family);margin:0 0 20px}.inner-page p{font:400 17px/1.6 var(--font-family);margin-bottom:24px;max-width:850px}.breadcrumbs{font-size:14px;color:#878890}.breadcrumbs a{color:#878890}.inner-page .accent-btn{padding:20px 28px;display:inline-flex;margin-top:12px}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.link-grid a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:#f6f6f6;font:700 22px/1.3 var(--second-family)}.link-grid a:hover{color:var(--accent)}.link-grid a span{color:var(--accent)}.inner-page .main-catalog__grid{margin-bottom:24px}.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:40px}.catalog-layout aside .link-grid{grid-template-columns:1fr}.catalog-layout aside a{font-size:20px;padding:18px}.empty-catalog{padding:64px 28px;text-align:center;background:#f8f8f8;margin-top:24px}.empty-catalog p{margin:20px auto;color:#878890}.empty-catalog>span{font-size:60px;display:block;color:#ccc;margin-bottom:20px}.empty-catalog h2{margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-grid>div,.contact-grid>article{padding:32px;background:#f6f6f6}.contact-large{display:block;font:700 30px var(--second-family);margin-bottom:20px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.service-detail img{max-height:400px;object-fit:contain;width:100%}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.news-grid .swiper-slide{width:100%!important}.news-detail{max-width:700px}.news-detail img{width:100%;height:auto}
@media(max-width:900px){.catalog-menu-grid,.link-grid,.news-grid{grid-template-columns:repeat(2,1fr)}.catalog-layout{grid-template-columns:1fr}.catalog-layout aside{display:none}.inner-page h1{font-size:42px}.reviews .swiper-slide{width:70%;margin-right:16px}.comp-projects .swiper-slide{width:45%}.service-detail{gap:24px}}
@media(max-width:600px){dialog{padding:28px 20px;max-height:90vh}dialog h2{font-size:28px}.catalog-menu-grid,.link-grid,.contact-grid,.service-detail,.news-grid{grid-template-columns:1fr}.catalog-menu-grid{gap:20px}.catalog-menu-grid>div{border-bottom:1px solid #eee;padding-bottom:12px}.inner-page{padding:24px 0 40px}.inner-page h1{font-size:36px;margin:24px 0}.inner-page h2{font-size:28px}.inner-page p{font-size:16px}.contact-grid>div{padding:24px}.main-about .swiper-slide{width:85%}.reviews .swiper-slide{width:90%}.comp-projects .swiper-slide{width:78%}.city-grid{grid-template-columns:1fr 1fr}.empty-catalog{padding:40px 16px}.contact-large{font-size:25px}.catalog-menu-grid a{padding:10px 0}dialog .consent{align-items:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition:none!important}}
/* Motion follows the reference palette and respects the system preference. */
dialog[open]{animation:dialog-enter .24s ease-out}dialog[open]::backdrop{animation:backdrop-enter .24s ease-out}dialog.closing{animation:dialog-leave .18s ease-in forwards}dialog.closing::backdrop{animation:backdrop-enter .18s ease-in reverse forwards}
@keyframes dialog-enter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes dialog-leave{to{opacity:0;transform:translateY(12px)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
.accordion-content{overflow:hidden}.accordion:not(.open)>.accordion-content{height:0;opacity:0}.accordion-trigger .icon{transition:transform .28s}.accordion.open .accordion-trigger .icon{transform:rotate(45deg)}
.reveal-section{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-section.revealed{opacity:1;transform:none}
.catalog-card img{transition:transform .4s ease}.catalog-card:hover img{transform:translateY(-5px)}.accent-btn svg,.border-btn svg{transition:transform .2s}.accent-btn:hover svg,.border-btn:hover svg{transform:translateX(4px)}
button:disabled{opacity:.35;cursor:default}.native-slider{overscroll-behavior-x:contain}.ticker:hover .marquee{animation-play-state:paused}.district-active[data-district-text]{color:var(--accent)}.svg-map [data-district] path{transition:fill .25s}.svg-map .district-active path{fill:var(--accent)!important}.map-hover__grid_item{cursor:pointer;transition:color .2s}
.cookie-popup{transition:opacity .25s,transform .3s}.cookie-popup:not(.open){pointer-events:none;visibility:hidden}.cookie-settings{display:block;margin:20px auto;padding:10px 16px;border:1px solid #878890;background:transparent;color:inherit;font:inherit;cursor:pointer}.cookie-settings:hover{border-color:var(--accent);color:var(--accent)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-section{opacity:1;transform:none}}
@media(min-width:901px){footer .accordion:not(.open)>.accordion-content{height:auto;opacity:1;visibility:visible}}
/* Reference layout retained. Only surface, controls, theme and motion are refined. */
:root{--accent:#3c638e;--accent-hover:#294d76;--page:#fff;--panel:#f4f6f8;--text:#202631;--muted:#747c89;--line:#dce1e7;--primary-red:var(--accent);--common-red-hover:var(--accent-hover)}
:root[data-theme=dark]{color-scheme:dark;--page:#171c24;--panel:#202733;--text:#edf0f5;--muted:#a9b1bf;--line:#354151;--accent:#6f9bd0;--accent-hover:#5286c5;--primary-black:var(--text);--grey-grey-75:#d2d8e2;--grey-grey-50:var(--muted);--grey-grey-40:#a9b1bf;--grey-grey-25:#788594;--grey-grey-15:var(--line);--grey-grey-10:var(--line);--grey-grey-5:var(--panel);--grey-grey-3:var(--panel);--primary-light-gray:var(--panel)}
body{background:var(--page);color:var(--text);transition:background-color .3s ease,color .3s ease}.header,.header__compact,.header__top,.header__bottom,footer,dialog{background:var(--page);color:var(--text)}.header__top,.header__bottom{border-color:var(--line)}.wordmark{font:700 25px/1.1 var(--second-family);letter-spacing:.01em;color:var(--text)!important;white-space:nowrap}.header__compact-logo.wordmark{font-size:20px;display:flex!important;justify-content:center;align-items:center}.theme-toggle{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);flex-shrink:0;transition:border-color .2s,background .2s}.theme-toggle:hover{background:var(--panel);border-color:var(--accent)}.theme-toggle svg{width:20px;height:20px;animation:theme-icon-in .35s cubic-bezier(.22,1,.36,1)}.lucide-icon{width:21px;height:21px;stroke:currentColor;fill:none;vertical-align:middle}.header__top .container{position:relative}.header__top .theme-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%)}.header__location-btn{margin-right:35px;display:flex;align-items:center;gap:8px}.header__compact .theme-toggle{display:none}.header [data-icon]{display:inline-flex}.header__catalog-btn{background:var(--accent)}.header__catalog-btn:hover{background:var(--accent-hover)}.header__search{background:transparent}.header__cart-btn{background:var(--panel)}.header__contact span{color:var(--text)}
.main-hero{background-color:#303844}.main-hero__left h1{animation:hero-title-in .8s cubic-bezier(.16,1,.3,1)}.main-hero .advantages-cards__card:nth-child(1){animation:hero-title-in .7s .12s backwards}.main-hero .advantages-cards__card:nth-child(2){animation:hero-title-in .7s .22s backwards}.main-hero .advantages-cards__card:nth-child(3){animation:hero-title-in .7s .32s backwards}.main-hero .advantages-cards__card .icon{transition:transform .35s,box-shadow .35s}.main-hero .advantages-cards__card:hover .icon{transform:translateY(-4px);box-shadow:0 10px 25px #0002}.main-hero svg [fill="#FC403A"],svg [fill="#fc403a"]{fill:var(--accent)}.main-hero .accent-btn,.accent-btn{background:var(--accent)}.accent-btn:hover{background:var(--accent-hover)}.accent-btn,.border-btn,.button{transition:background .22s,color .22s,border-color .22s,box-shadow .22s}.accent-btn:hover,.button:hover{box-shadow:0 8px 24px #15283c20}.accent-btn svg,.border-btn svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}.accent-btn:hover svg,.border-btn:hover svg{transform:translateX(5px)}.go-down-btn svg{animation:scroll-cue 2.5s ease-in-out infinite}.go-down-btn:hover svg{animation-play-state:paused}.main-hero .main-hero__right{border-color:#ffffff30}
.consultation .left-side,.consultation .right-side,.faq__right,.reviews-card,.inner-page .contact-grid>div,.link-grid a,.empty-catalog{background:var(--panel)}.services-banner{background-color:var(--panel)}.main-about__stat-card,.main-about__card{background:var(--panel)}.reviews-card{border:1px solid var(--line);transition:border-color .3s,box-shadow .3s}.reviews-card:hover{border-color:var(--accent);box-shadow:0 10px 28px #14283a0a}.reviews-card__text{color:var(--text)}.main-about .swiper-slide img,.comp-projects .swiper-slide img{transition:transform .65s cubic-bezier(.22,1,.36,1)}.main-about .swiper-slide:hover img,.comp-projects .swiper-slide:hover img{transform:scale(1.025)}.swiper-slide{overflow:hidden}.native-slider{overscroll-behavior-x:contain}.swiper-wrapper.native-slider{gap:0}.accordion.open>.accordion-content{height:auto;opacity:1;visibility:visible}.accordion:not(.open)>.accordion-content{height:0;opacity:0}.accordion-content{overflow:hidden}.accordion-trigger .icon{transition:transform .3s}.accordion.open .accordion-trigger .icon{transform:rotate(45deg)}.faq__left_title{border-color:var(--line)}.map-hover__grid_item{cursor:pointer}.svg-map [data-district] path{transition:fill .45s cubic-bezier(.22,1,.36,1)}.svg-map .district-active path{fill:var(--accent)!important}.district-active[data-district-text]{color:var(--accent)}[data-theme=dark] .svg-map [data-district] path{fill:#2a3544}.ticker:hover .marquee{animation-play-state:paused}[data-theme=dark] .ticker img{filter:brightness(1.45)}
.live-form{width:100%}.live-form form,dialog form{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.live-form label,dialog form label{display:block;font:400 13px/1.5 var(--font-family);margin-bottom:20px;color:var(--text)}.live-form input:not([type=checkbox]):not([type=hidden]),.live-form textarea,dialog input:not([type=checkbox]):not([type=hidden]),dialog textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:13px 0;background:transparent;color:var(--text);border-radius:0;font:400 14px/1.5 var(--font-family);outline:none;transition:border-color .25s,box-shadow .25s}.live-form input:focus,.live-form textarea:focus,dialog input:focus,dialog textarea:focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical}.file-label{position:relative;border:1px dashed var(--line);padding:12px!important;transition:border-color .25s}.file-label:hover{border-color:var(--accent)}.file-label input{border:0!important;font-size:12px!important;padding:10px 0!important}.file-status{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.consent{display:flex!important;align-items:flex-start!important;gap:10px;font-size:12px!important}.consent input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.consent a{color:var(--accent)}.honeypot{display:none!important}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 26px;background:var(--accent);color:#fff;font:500 15px/1.3 var(--font-family);border:1px solid transparent}.button:hover{background:var(--accent-hover)}.button.secondary{background:transparent;border-color:var(--line);color:var(--text)}.live-form .button,dialog form .button{width:100%}.form-status{font:400 13px/1.5 var(--font-family);margin-top:14px;color:var(--text)}.form-status.success{color:var(--accent)}.form-status.error{color:#b16b37}button:disabled{opacity:.4;cursor:default}.live-form input[type=file]{max-width:100%}.form-panel{padding:0}.form-notice{display:none}
.cookie-popup{position:fixed;bottom:22px;left:24px;right:auto;max-width:850px;padding:20px;display:flex;align-items:center;gap:20px;background:var(--page);border:1px solid var(--line);box-shadow:0 8px 35px #0002;color:var(--text);opacity:1;transform:none;visibility:visible;pointer-events:auto;z-index:50}.cookie-popup[hidden]{display:none!important}.cookie-popup:not([hidden]){visibility:visible;pointer-events:auto;animation:cookie-in .4s cubic-bezier(.22,1,.36,1)}.cookie-popup p{font:400 14px/1.5 var(--font-family);color:var(--text)}.cookie-popup small{display:block;font-size:12px;color:var(--muted)}.cookie-popup .button{padding:12px 18px;font-size:13px}.cookie-settings{display:block;margin:20px auto;color:var(--muted);font-size:12px}.shell{max-width:1440px;padding-inline:40px;margin-inline:auto}.page-heading{padding:35px 40px;color:var(--muted)}.page-heading h1{margin-top:25px}.info-grid,.contact-info{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.info-grid p{margin-top:20px}.prose p{max-width:850px;margin:20px 0;line-height:1.7}.prose h2{margin-top:35px;font-size:30px}.text-link,.text-button{color:var(--accent);padding:0;background:none}.eyebrow{font-size:12px;color:var(--muted);display:block;margin-bottom:15px}.mobile-links{display:grid;gap:0}.mobile-links a{padding:18px 0;border-bottom:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:4px;max-width:680px;padding:36px;color:var(--text)}dialog[open]{animation:dialog-enter .32s cubic-bezier(.16,1,.3,1)}dialog::backdrop{background:#141b28a3;backdrop-filter:blur(3px);animation:backdrop-enter .25s}dialog h2{color:var(--text)}dialog .empty-catalog{padding:15px 0;text-align:left;background:none}dialog .city-grid button{background:var(--panel);color:var(--text);transition:background .2s,color .2s}dialog .city-grid button:hover{background:var(--accent);color:#fff}.dialog-close{color:var(--muted)}dialog form .consent a{color:var(--accent)}.footer__info{border-color:var(--line)}.footer__links-list a:hover{color:var(--accent)}.footer__logo.wordmark{width:auto}svg [stroke="#FC403A"],svg [stroke="#fc403a"]{stroke:var(--accent)}
@keyframes hero-title-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes theme-icon-in{from{opacity:0;transform:rotate(-70deg) scale(.7)}to{opacity:1;transform:none}}@keyframes scroll-cue{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}@keyframes cookie-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(min-width:901px){footer .accordion-content{height:auto!important;opacity:1!important;visibility:visible!important}}@media(max-width:900px){.header__compact .theme-toggle{display:inline-flex;margin:auto 10px}.header__top .theme-toggle{display:none}.header__compact .header__compact-search{display:none}.header__compact-logo.wordmark{flex:1}.header__location-btn{margin-right:0}.form-row{grid-template-columns:1fr}.shell{padding-inline:24px}.cookie-popup{right:16px;left:16px;bottom:16px;max-width:none}.header__compact-cell{border-color:var(--line)}}@media(max-width:600px){.cookie-popup{flex-wrap:wrap;padding:16px;gap:12px}.cookie-popup p{width:100%}.cookie-popup .button{flex:1;justify-content:center}.live-form label{font-size:12px}.form-row{gap:0}.shell{padding-inline:20px}.info-grid,.contact-info{grid-template-columns:1fr}.page-heading{padding:24px 20px}.wordmark{font-size:22px}.main-hero__left h1{font-size:36px}.header__compact-logo.wordmark{font-size:22px}.theme-toggle{width:34px;height:34px}dialog{padding:30px 22px}.main-about .swiper-slide{width:85%}.reviews .swiper-slide{width:90%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.skip-link{position:fixed;top:-80px;left:16px;padding:12px 20px;background:var(--page);color:var(--text);z-index:1000}.skip-link:focus{top:12px}
header svg [fill="#FC403A"],header svg [fill="#fc403a"],footer svg [fill="#FC403A"],footer svg [fill="#fc403a"]{fill:var(--accent)}
.dialog-close{display:grid;place-items:center}.file-label [data-icon]{display:inline-flex;vertical-align:middle;margin-right:5px;color:var(--accent)}.file-label .lucide-icon{width:17px;height:17px}.file-label input::file-selector-button{border:1px solid var(--line);background:var(--page);color:var(--text);padding:8px 12px;margin-right:12px;cursor:pointer}

.mobile-city{display:flex;align-items:center;gap:10px;margin-top:24px;color:var(--accent);background:none}.section{padding-block:50px}.empty-catalog{background:var(--panel)}
