
/* ---------- Services accordion (replaces the old modal popup) ---------- */
.service-card {
  /* button reset: keep the exact visual look .service-card already had */
  font: inherit;
  color: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}
.service-card:hover { transform: translateY(-4px); transition: transform 0.25s ease, border-color 0.25s ease; }
.service-card[aria-expanded="true"] {
  border-color: #d11317;
}
.service-card[aria-expanded="true"] .service-card__count svg {
  transform: rotate(90deg);
}

.service-card__panel {
  grid-column: 1 / -1;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.service-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.service-list__row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e2e4e8;
  border-radius: 10px;
  cursor: pointer;
  font: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.service-list__row:hover,
.service-list__row[aria-expanded="true"] {
  border-color: #d11317;
  background: rgba(209, 19, 23, 0.03);
}
.service-list__name {
  flex: 1;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  line-height: 1.4;
}
.service-list__price {
  flex-shrink: 0;
  font-size: 16px;
  font-weight: 700;
  color: #d11317;
  white-space: nowrap;
}
.service-list__arrow {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  fill: #d11317;
  transition: transform 0.25s ease;
}
.service-list__row[aria-expanded="true"] .service-list__arrow {
  transform: rotate(90deg);
}
.service-list__desc {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.service-list__desc-inner {
  padding: 4px 18px 18px;
  font-size: 15px;
  line-height: 1.6;
  color: #555;
}
.service-list__desc-inner p { margin: 0 0 10px; }
.service-list__desc-inner p:last-child { margin-bottom: 0; }
.service-list__desc-inner ul,
.service-list__desc-inner ol { margin: 0 0 10px; padding-left: 20px; }
.service-list__desc-inner li { margin-bottom: 4px; }
.service-list__desc-inner strong { color: #111; }

/* Brands Carousel */
.home-slider-brands { position: relative; overflow: hidden; }
.home-slider-brands__wrapper {
  display: flex;
  gap: 16px;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.brands-item {
  flex: 0 0 calc(100% / 6 - 14px);
  min-width: 0;
}
@media (max-width: 1100px) {
  .brands-item { flex-basis: calc(100% / 4 - 12px); }
}
@media (max-width: 768px) {
  .brands-item { flex-basis: calc(100% / 3 - 10px); }
}
@media (max-width: 480px) {
  .brands-item { flex-basis: calc(50% - 8px); }
}

@font-face {
  font-family: 'GolosText';
  src: url('../fonts/GolosText/GolosText-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GolosText';
  src: url('../fonts/GolosText/GolosText-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GolosText';
  src: url('../fonts/GolosText/GolosText-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GolosText';
  src: url('../fonts/GolosText/GolosText-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* --- унаследовано с живого сайта, реально используется (шапка/меню/футер) --- */
html{-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:32rem;margin:0}
*,:active,:focus,:hover{outline:none!important}
a{color:initial;text-decoration:none;-webkit-text-decoration-skip:objects;background:transparent}
a,a:active,a:focus,a:hover{text-decoration:none}
*,:after,:before{box-sizing:border-box}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none!important}
b,strong{font-weight:500}
ul{margin:0;padding:0;list-style-type:none}
mark{color:cl("white")}
small{font-size:80%}
sub{bottom:-.25em}
sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}
sup{top:-.5em}
img{vertical-align:middle;border:0}
svg:not(:root){overflow:hidden}
figure{margin:1em 4rem}
hr{box-sizing:content-box;height:0;margin-top:2rem;margin-bottom:2rem;border:0;border-top:.1rem solid #eee}
textarea{resize:none}
pre,textarea{overflow:auto}
code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace}
button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit;line-height:inherit}
optgroup{font-weight:500}
button{overflow:visible}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}
[role=button]{cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
button::-moz-focus-inner{padding:0;border:0}
input{line-height:normal;background-color:transparent;border-radius:0;box-shadow:none}
input::-moz-focus-inner{padding:0;border:0}
input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
input[type=search]{box-sizing:content-box}
input::-webkit-search-cancel-button,input::-webkit-search-decoration{webkit-appearance:none}
fieldset{margin:0 .2rem;padding:.35em .625em .75em;border:.1rem solid silver}
legend{padding:0;border:0}
table{border-collapse:collapse;border-spacing:0}
td,th{padding:0}
input::-webkit-input-placeholder{color:#535358}
input:-moz-placeholder,input::-moz-placeholder{color:#535358}
input:-ms-input-placeholder{color:#535358}
input:focus::-webkit-input-placeholder{opacity:0}
input:focus:-moz-placeholder,input:focus::-moz-placeholder{opacity:0}
input:focus:-ms-input-placeholder{opacity:0}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
:root{--color-primary:var(--color-red);--color-text:var(--color-onyx);--color-border:var(--color-darkgray);--color-icon:var(--color-slategray);--color-primary-text:var(--color-white);--color-shadow:var(--color-shadow);--color-purple:#7367f0;--color-red:#d11317;--color-black:#000;--color-light-black:#020505;--color-onyx:#111;--color-dark:#121212;--color-dark2:#333;--color-darkgray:#3e3e3e;--color-gray:#757575;--color-gray-darken:#424242;--color-slategray:#748786;--color-grey:#bdbdbd;--color-grey2:#e0e0e0;--color-greylighten:#eee;--color-white:#fff;--color-whitesmoke:#f3f3f3;--color-mintsmoke:#f5f5f5;--color-lightblue:#f5f7ff;--color-lightblue2:#fcfdfd;--color-shadow:rgba(198,205,195,0.2);color-scheme:only light}
html{font-size:62.5%;scroll-behavior:smooth}
body{position:relative;color:var(--color-text);font-size:1.6rem;font-family:GolosText,sans-serif;line-height:1.3;direction:ltr;background:var(--color-whitesmoke);-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;-osx-font-smoothing:grayscale}
a{cursor:pointer;transition:opacity .3s ease}
.article-content,.container,.page--promo__container,.page--services__list{width:100%;padding-right:1.5rem;padding-left:1.5rem;max-width:166rem;margin:0 auto}
::-webkit-scrollbar{width:1rem;height:1rem;background-color:var(--color-whitesmoke)}
::-webkit-scrollbar-thumb{background-color:var(--color-grey2)}
::selection{background:hsla(0,0%,87.8%,.5)}
::-moz-selection{background:hsla(0,0%,87.8%,.5)}
::-webkit-selection{background:hsla(0,0%,87.8%,.5)}
@-webkit-keyframes scale-2{0%{transform:scale(0);opacity:0}50%{transform:scale(.7);opacity:1}to{transform:scale(1);opacity:0}}
@keyframes scale-2{0%{transform:scale(0);opacity:0}50%{transform:scale(.7);opacity:1}to{transform:scale(1);opacity:0}}
.btn{position:relative;display:inline-grid;place-content:center;max-width:100%;height:5.2rem;padding:0 4.5rem;overflow:hidden;color:var(--color-primary-text);font-weight:500;font-size:1.6rem;line-height:1.5;letter-spacing:-.01em;white-space:nowrap;text-align:center;background-color:var(--color-primary);border:none;border-radius:1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .3s ease,background-color .3s ease,border-color .3s ease}
.btn-o{border:.1rem solid var(--color-primary);background:transparent;color:var(--color-primary)}
.h1,h1{font-size:calc(1.665rem + 2.59375vw)}
.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5{margin-top:0;margin-bottom:.5rem;color:var(--color-text);font-weight:500;line-height:1.1}
.h1,h1{margin-bottom:4.5rem}
p{margin:0 0 .57em}
:root{--swiper-theme-color:#007aff}
.main-header{position:sticky;top:0;z-index:995;background:var(--color-text)}
.main-header.subpage .main-header-search{box-shadow:none}
.main-header__content{display:grid;grid-template-areas:"logo . toolbar phone menu";grid-template-rows:5rem;grid-template-columns:auto 1fr auto auto;align-items:center;color:var(--color-text);letter-spacing:-.01em}
.main-header a{color:currentColor}
.main-header svg{display:block}
.main-header__toolbar{display:flex;grid-area:toolbar;align-items:center;height:100%}
.main-header__logo{position:absolute;z-index:10;display:grid;align-items:center;grid-area:logo;margin:0}
.main-header__logo img{width:17.7rem;height:auto}
.main-header__logo--desktop{display:none}
.main-header__logo--mobile{height:100%;display:flex;align-items:center}
.main-header__phone{display:flex;align-items:center;justify-content:center;grid-area:phone;height:100%;font-weight:500;font-size:1.7rem}
.main-header__phone svg{width:2rem;height:2rem;fill:var(--color-white)}
.main-header__phone span{display:none}
.main-header-menu{display:grid;grid-area:menu;align-items:center;justify-content:center;height:100%;padding:0 2rem;background-color:var(--color-text);border-left:.1rem solid hsla(0,0%,100%,.1)}
.main-header-menu__list{position:absolute;top:100%;left:0;display:flex;flex-direction:column;width:100vw;height:calc(100vh - 5rem);padding:1.5rem;overflow:auto;-webkit-overflow-scrolling:touch;color:var(--color-grey2);background:var(--color-text);transform:translateX(-100%);visibility:hidden;transition:transform .3s ease}
.main-header-menu__list.active{transform:translateY(0);visibility:visible}
.main-header-menu__list .btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:42rem;min-height:5.2rem;margin:1.5rem auto 0}
.main-header-menu__item{order:2}
.main-header-menu__item.mobile-order,.main-header-menu__item:first-child{order:1}
.main-header-menu__link{display:block;padding:1.25rem;font-weight:500;font-size:1.6rem}
.main-header-submenu .main-header-menu__item{margin-left:0}
.main-header__burger{position:relative;display:inline-block;width:1.75rem;height:1rem;cursor:pointer;transition:all .4s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.main-header__burger-line{position:relative;width:1.75rem;height:.2rem;background:#f5f5f5;border-radius:50rem;transition:all .4s ease}
.main-header__burger-line:first-child{top:0}
.main-header__burger-line:nth-child(2){top:.3rem}
.main-header__burger-line:nth-child(3){top:.6rem}
.main-header__burger.active .main-header__burger-line:first-child{top:.6rem;transform:rotate(45deg)}
.main-header__burger.active .main-header__burger-line:nth-child(2){opacity:0}
.main-header__burger.active .main-header__burger-line:nth-child(3){top:.2rem;transform:rotate(-45deg)}
.main-header--light .header-toolbar-item__text,.main-header--light .main-header-menu__link,.main-header--light .main-header__phone{color:var(--color-black)}
.main-header--light .main-header-menu{border-right:none}
.main-header--light .main-header__burger-line{background:var(--color-dark)}
.main-header--light .main-header__phone svg{fill:var(--color-dark)}
.main-header--light .main-header-menu,.main-header--light .main-header__address,.main-header--light .main-header__phone,.main-header--light .main-header__toolbar{border-left:.1rem solid rgba(0,0,0,.2)}
.header-toolbar{display:flex;justify-content:space-between;width:100%}
.header-toolbar__part{display:flex;align-items:center;width:-webkit-max-content;width:-moz-max-content;width:max-content}
.header-toolbar__part--right{display:none}
.header-toolbar__part--right .header-toolbar-item{margin-right:2rem}
.header-toolbar__part--right .header-toolbar-item--email{margin-right:4.5rem}
.header-toolbar-item{display:none}
.header-toolbar-item:last-child{margin-right:0}
.header-toolbar-item--address{display:flex}
.header-toolbar-item--address svg{display:block;width:2rem;height:2rem;fill:var(--color-white)}
.header-toolbar-item__text{display:none}
.main-footer{position:relative;color:var(--color-white);background:var(--color-dark)}
.main-footer a{color:currentColor}
.messengers-list__link img,.mob-menu{width:100%}
.mob-menu{position:fixed;bottom:0;z-index:992;display:flex;justify-content:space-between;padding:1.5rem 1.9rem;background:#fff;border-top-left-radius:1.1rem;border-top-right-radius:1.1rem;box-shadow:0 .4rem 6.2rem rgba(0,0,0,.08)}
.mob-menu-item{flex-direction:column;min-width:6rem}
.mob-menu-icon,.mob-menu-item{display:flex;align-items:center}
.mob-menu-icon{margin-bottom:.5rem;justify-content:center}
.mob-menu-icon svg{width:2.2rem;height:2.2rem;fill:var(--color-primary)}
.mob-menu-text{color:var(--color-gray);font-weight:500;font-size:1rem;line-height:120%}
.mob-phones{position:fixed;left:1.5rem;right:1.5rem;bottom:8rem;z-index:992;transform:translateY(5rem);opacity:0;pointer-events:none;transition:all .5s cubic-bezier(.34,1.56,.64,1)}
.mob-phones.is-show{transform:translateY(0);opacity:1;pointer-events:auto}
.mob-phones-item{display:flex;align-items:center;justify-content:center;height:5.2rem;color:var(--color-primary);font-weight:500;font-size:1.6rem;line-height:1.5;background:var(--color-white);border-radius:1rem;box-shadow:0 1.5rem 2.5rem rgba(116,135,134,.15)}
.mob-phones-item:not(:last-child){margin:0 0 1rem}
.mob-phones-item.phones-close{color:var(--color-black)}
.mob-phones-item svg{display:block;height:2rem;width:2rem;margin-right:1rem;fill:var(--color-primary)}
.mob-backdrop{display:none}
.mob-backdrop.is-show{position:fixed;top:0;right:0;bottom:0;left:0;z-index:991;display:block;background:rgba(0,0,0,.6)}
@-webkit-keyframes showAsidePopup{0%{opacity:0}to{opacity:1}}
@keyframes showAsidePopup{0%{opacity:0}to{opacity:1}}
@-webkit-keyframes showAsideWindow{0%{opacity:0}to{opacity:1}}
@keyframes showAsideWindow{0%{opacity:0}to{opacity:1}}
@-webkit-keyframes leaveAsidePopup{0%{opacity:1}to{opacity:0}}
@keyframes leaveAsidePopup{0%{opacity:1}to{opacity:0}}
@-webkit-keyframes leaveAsideWindow{0%{opacity:1}to{opacity:0}}
@keyframes leaveAsideWindow{0%{opacity:1}to{opacity:0}}
@-webkit-keyframes showAsideWindowMobile{0%{transform:translateY(3rem);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes showAsideWindowMobile{0%{transform:translateY(3rem);opacity:0}to{transform:translateY(0);opacity:1}}
@-webkit-keyframes leaveAsideWindowMobile{0%{transform:translateY(0);opacity:1}to{transform:translateY(3rem);opacity:0}}
@keyframes leaveAsideWindowMobile{0%{transform:translateY(0);opacity:1}to{transform:translateY(3rem);opacity:0}}
.breadcrumbs{margin:1.5rem 0}
.breadcrumbs__list{margin:0;padding:0;list-style:none}
.float-links.is-show .float-close{transform:rotate(0deg)}
.float-links .float-close{transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:rotate(90deg)}
.float-links--left .float-links-item{display:none}
.float-links--left .float-links-item.is-show{display:block;pointer-events:all;-webkit-animation-name:slidein;animation-name:slidein;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-timing-function:cubic-bezier(.34,1.56,.64,1);animation-timing-function:cubic-bezier(.34,1.56,.64,1)}
.float-links-item{display:block;width:6.3rem;height:6.3rem;transition:.3s ease-in-out}
.float-links-item:not(:first-child){margin-top:1.3rem}
.float-links-item img{width:100%;height:100%}
.float-close{display:flex;justify-content:center;align-items:center;width:6.3rem;height:6.3rem;background:#fff;border-radius:50%;box-shadow:0 .4rem 6.2rem rgba(0,0,0,.08)}
.float-close img{width:1.3rem;height:1.3rem}
@-webkit-keyframes slidein{0%{transform:translateY(5rem) rotate(90deg);opacity:0}to{transform:translateY(0) rotate(0deg);opacity:1}}
@keyframes slidein{0%{transform:translateY(5rem) rotate(90deg);opacity:0}to{transform:translateY(0) rotate(0deg);opacity:1}}
.home-slider-brands{position:relative;--nav-size:16rem;--padding-slider:0.5rem}
.home-slider-brands.initialized .home-slider-brands__loading{display:none}
.home-slider-brands.initialized .home-slider-brands__swiper{opacity:1}
.home-slider-brands .swiper-container{padding-bottom:1rem;margin-bottom:-1rem}
.home-slider-brands .swiper-container:before{position:absolute;top:0;right:0;bottom:0;z-index:2;width:8rem;background:linear-gradient(90deg,transparent,var(--color-whitesmoke));content:"";pointer-events:none}
.home-slider-brands .swiper-slide{position:relative;display:flex;align-items:center;justify-content:center;max-width:12rem;height:8rem;overflow:hidden;background-color:var(--color-white);border-radius:1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 1px 0 0 rgba(0,0,0,.05)}
.home-slider-brands .swiper-slide img{max-width:100%;opacity:1;-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray;transition:all .2s}
.home-slider-brands .swiper-slide:hover img{opacity:.5;filter:none}
.home-slider-brands .swiper-slide.page--home__brands--all{display:flex;align-items:center;justify-content:center;background-color:transparent;border:.1rem solid var(--color-primary);font-size:1.6rem;font-weight:500}
.home-slider-brands .swiper-slide.page--home__brands--all a{color:var(--color-primary)}
.home-slider-brands .swiper-nav{display:none}
.service-card{margin-bottom:.4rem;background-color:var(--color-white);border-radius:1rem;padding:1.55rem 2rem;transition:all .3s ease;cursor:pointer;box-shadow:0 .1rem 0 0 rgba(0,0,0,.05)}
.service-card__icon{display:none}
.service-card__icon path,.service-card__icon rect{fill:var(--color-primary)}
.service-card__name{display:flex;align-items:center;justify-content:space-between;font-size:1.6rem;line-height:1.3;font-weight:500;color:var(--color-text)}
.service-card__name svg{width:2rem;height:2rem;fill:var(--color-grey)}
.service-card__count{display:none}
@-webkit-keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
.map-card .btn{width:100%;margin:2rem 0 1.5rem}
.page--home{overflow-x:hidden}
.page--home__subtitle{display:flex;align-content:center;justify-content:space-between;padding:4rem 0 2rem}
.page--home__subtitle .h2{margin:0}
.page--home__subtitle a{display:none;color:var(--color-primary);font-size:2.4rem;line-height:3rem;font-weight:500}
.page--home__subtitle a svg{fill:var(--color-primary);width:2.4rem;height:2.4rem}
.page--home__subtitle svg{width:3.3rem;height:1.2rem;margin-left:1.5rem;fill:var(--color-dark)}
.page--home__services{display:grid;grid-template-columns:1fr;gap:.2rem}
.hero{color:var(--color-white);max-width:166rem;margin:0 auto}
.hero__inner{position:relative;display:grid;gap:22rem;padding:4rem 1.5rem;background:url('../img/hero.jpg') no-repeat 100% 100%,var(--color-light-black);background-size:contain}
}.hero__inner:before{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;background-image:linear-gradient(180deg,#000,#000,rgba(0,0,0,.4) 8%,rgba(244,250,255,0) 59%);content:""}@media (min-width:48rem){.hero__inner:before{display:none}
}.hero__inner .desktop{display:none}@media (min-width:62rem){.hero__inner .desktop{display:block}
}.hero__inner .mobile{display:block}@media (min-width:62rem){.hero__inner .mobile{display:none}
}.hero__content{z-index:1}@media (min-width:48rem){.hero__content{max-width:67rem}
}@media (min-width:48rem){.hero__btn{max-width:26.6rem}
}.hero__btn .btn{width:100%}.hero__title{color:currentColor;margin-bottom:4rem}@media (max-width:47.98rem){.hero__title{margin:0 0 2rem;font-size:3.2rem;line-height:1.1}
}.hero__desc{font-weight:400;font-size:1.5rem;line-height:1.6;letter-spacing:-.01em;color:var(--color-grey2)}@media (min-width:48rem){.hero__desc{max-width:44rem}
}@media (min-width:62rem){.hero__desc{max-width:60rem}
}@media (min-width:62rem){.main-search{display:flex;align-items:center;justify-content:space-between;gap:2rem}
}@media (min-width:36rem) and (max-width:47.98rem){.promo-card__name{font-size:2.6rem}
}@media (min-width:48rem) and (min-width:1440px){.promo-card__date,.promo-card__text{font-size:1.8rem}
}@media (max-width:47.98rem){.advantages-home__left{padding-inline:1.5rem}
}@media (min-width:62rem){.advantages-home__desc{margin-top:4rem}
}@media (min-width:90rem){.advantages-home-list__item{max-width:100%;padding:4rem 3rem}
}@media (max-width:47.98rem){.advantages-home-list__item:not(:last-child){margin-right:.8rem}
}@media (min-width:90rem){.advantages-home-list__name{margin-top:4rem}
}@media (min-width:48rem){.contacts .page-heading{display:none}
}[class*=ymaps-2-1][class*=-ground-pane]{filter:grayscale(1)}.article-content{margin-right:auto;margin-left:auto;color:var(--color-gray);font-size:1.8rem;line-height:1.4}.article-content img{max-width:100%}.main-header-search.active{position:relative;grid-column:1/-1;height:5rem;box-shadow:0 .1rem 0 rgba(0,0,0,.05);border-radius:1rem;background-color:var(--color-white);width:100%;z-index:100}@media (min-width:62rem){.main-header-search.active{display:flex;align-items:center;justify-content:center}
}@media (min-width:62rem){.search-header{display:flex;align-items:center;justify-content:space-between;gap:2rem}
}.maintenance__row .btn[disabled]{opacity:.75}.maintenance__footer{display:flex;flex-direction:column;margin:0 0 1rem}@media (min-width:48rem){.maintenance__footer{display:grid;grid-gap:1rem;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;margin:0 0 2.5rem}
}.maintenance__footer .btn{order:1;margin-top:1rem}@media (min-width:48rem){.maintenance__footer .btn{order:0;margin-top:0}
}.maintenance__footer .btn:disabled{background:#cdcdcd}.maintenance__text{margin:2rem 0 1rem;font-weight:500;font-size:1.4rem;color:var(--color-slategray)}@media (min-width:48rem){.maintenance__text{margin:.8rem 0 0}
}@media (min-width:75rem){.page--service__inner{grid-template-columns:var(--width-menu) minmax(0,1fr)}
}.page--service .breadcrumbs{margin:0 -1.5rem;padding:1.5rem;background:var(--color-white)}@media (min-width:48rem){.page--service .breadcrumbs{margin:0;padding:1.5rem 0 4.5rem;background:transparent}
}.page--service .h1,.page--service .page-subheading,.page--service h1{margin:0 -1.5rem;padding:0 1.5rem 3.5rem;background:var(--color-white)}@media (min-width:48rem){.page--service .h1,.page--service .page-subheading,.page--service h1{margin:0;padding:0 0 4.5rem;background:transparent}
}@media (min-width:62rem){.page--service .promos-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}@media (min-width:48rem){.service-block--form .service-block__content{margin:0;padding:3.5rem 2rem 3rem;background:var(--color-white);border-radius:1rem}
}@media (min-width:48rem){.service-block--form .form__field--btn{grid-row:1;grid-column:3;padding-top:2.8rem}
}@media (min-width:48rem){.service-block--form .form__field--text{grid-column-start:1;grid-column-end:4}
}@media (min-width:48rem){.service-block--form .form__field--upload{grid-column-start:1;grid-column-end:3}
}@media (min-width:48rem){.service-block--form .form--with-upload .form__field--text{grid-column:3}
}@media (min-width:48rem){.service-block--form .form--with-locations .form__field--text{grid-row:initial;grid-column-start:2;grid-column-end:4;max-width:35rem;padding-top:.8rem}
}@media (min-width:48rem){.service-block--form .form--with-locations .form__field--btn{grid-row:initial;grid-column:1;padding-top:0}
}@media (min-width:36rem){.service-block__dots-item.v-popper--shown .service-block__dots-item-inner{border-color:var(--color-primary)}
}@media (min-width:90rem){.contacts-list{grid-template-columns:repeat(3,1fr)}
}@media (min-width:90rem){.advantages-list{grid-template-columns:repeat(3,1fr)}
}@media (min-width:48rem){.advantages-list--four{grid-template-columns:repeat(4,auto)}
}@media (min-width:90rem){.advantages-list--four{grid-template-columns:repeat(4,1fr)}
}@media (min-width:62rem){.brand-list{grid-template-columns:repeat(3,1fr)}
}@media (min-width:75rem){.brand-list{grid-template-columns:repeat(5,1fr)}
}@media (min-width:90rem){.brand-list{grid-template-columns:repeat(7,1fr)}
}@media (min-width:48rem){.price-item:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.05);opacity:.7}
}@media (min-width:62rem){.promos-types .promos-types__item:not(:last-child){margin-right:10rem}
}@media (min-width:48rem){.promos-list{grid-gap:2rem}
}@media (min-width:90rem){.promos-list{grid-template-columns:repeat(3,minmax(41rem,1fr))}
}@media (min-width:62rem){.promo-type__icon{width:13rem;height:13rem;margin-bottom:1.3rem;border-radius:1rem}
}@media (min-width:62rem){.promo-type__count{top:1.4rem;left:1.9rem;font-size:1.4rem}
}@media (min-width:62rem){.promo-item__special--all{display:none}
}@media (min-width:90rem){.promo-item-tags{max-width:25vw}
}.page--promo{background:var(--color-white)}@media (min-width:48rem){.page--promo{background:var(--color-whitesmoke)}
}.page--promo .page-heading .h1{margin:0 0 1.5rem}.page--promo__cover{position:relative;margin-bottom:15rem;padding-bottom:40%;overflow:hidden;border-radius:1rem}.page--promo__cover img{position:absolute;display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.page--promo__feedback{margin-bottom:1.5rem}@media (min-width:36rem){.page--promo__feedback{margin-bottom:4rem}
}.page--promo__content{margin-bottom:2.8rem;color:var(--color-gray);line-height:1.4}@media (min-width:48rem){.page--promo__content{font-size:1.8rem}
}@media (max-width:47.98rem){.page--promo__content .btn{width:100%}
}.page--promo__content ul{margin-top:1em;margin-bottom:1em}.page--promo__content ul li{position:relative;margin-bottom:1rem;padding-left:2rem}.page--promo__content ul li:before{position:absolute;top:.4em;left:0;display:block;width:.7rem;height:.7rem;background:var(--color-primary);border-radius:50%;content:""}.page--promo__content ul li p{margin-bottom:0}.page--promo__content mark{color:inherit;background:none}.page--promo__content img{width:100%}.page-promo-title span{display:block;color:var(--color-primary)}.page-tag{display:inline-block;padding:.8rem 1.3rem;color:var(--color-white);font-weight:500;font-size:1.8rem;line-height:1.33;background:var(--color-slategray);border-radius:10rem;font-size:calc(1.305rem + .34375vw)}@media (min-width:1440px){.page-tag{font-size:1.8rem}
}@media (min-width:36rem){.page-tag{padding:.8rem 1.9rem}
}@media (min-width:62rem){.contacts-block{grid-template-columns:3.4rem 1fr;padding:5.2rem 2rem}
}@media (min-width:90rem){.contacts-block{height:21.7rem;padding:5.2rem 5.4rem}
}@media (min-width:62rem){.contacts-block__icon svg{width:3.4rem;height:3.4rem}
}@media (min-width:90rem){.reviews-list{grid-template-columns:repeat(3,1fr)}
}@media (min-width:75rem){.page-error__title{grid-column:1;max-width:57rem}
}@media (min-width:75rem){.page-error__bg{grid-column:2;grid-row:1/6;max-width:100%;min-height:58rem}
}@media (min-width:62rem){.page-error__description{max-width:40rem}
}@media (min-width:75rem){.page-error__description{grid-column:1;grid-row:2;max-width:45rem}
}@media (min-width:90rem){.page-error__description{grid-column:1;grid-row:2;max-width:50rem}
}.page-error .btn{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;color:var(--color-white)}@media (min-width:48rem){.page-error .btn{max-width:42rem;margin:0 auto}
}@media (min-width:75rem){.page-error .btn{grid-column:1;grid-row:3;max-width:20.8rem;margin:0}
}.page-error .btn svg{width:2rem;height:2rem;fill:#fff;transform:rotate(180deg)}.page--single-brand .breadcrumbs{margin:0 -1.5rem;padding:1.5rem;background:var(--color-white)}@media (min-width:48rem){.page--single-brand .breadcrumbs{margin:0;padding:1.5rem 0 4.5rem;background:transparent}
}.page--single-brand .h1,.page--single-brand .text-intro,.page--single-brand h1{margin:0 -1.5rem;padding:0 1.5rem 3.5rem;background:var(--color-white)}@media (min-width:48rem){.page--single-brand .h1,.page--single-brand .text-intro,.page--single-brand h1{margin:0;padding:0 0 4.5rem;background:transparent}
}@media (min-width:48rem){.page--single-brand .text-intro{padding:0 0 5rem}
}@media (min-width:62rem){.brands-list{grid-template-columns:repeat(3,1fr);gap:2rem}
}@media (min-width:75rem){.brands-list{grid-template-columns:repeat(4,1fr)}
}.page--blog .page-heading .h1{margin:0 0 1.5rem}.page--blog .page--promo__cover{margin:0 0 2.5rem}@media (min-width:48rem){.page--blog .page--promo__cover{margin:0 0 5rem}
}.page--blog .page--promo__content{margin:0 0 6rem}@media (min-width:75rem){.single-brand{display:grid;grid-template-columns:33rem minmax(0,1fr);gap:6rem;margin-bottom:12rem}
}@media (max-width:74.98rem){.page--team__cards{grid-template-columns:repeat(3,1fr)}
}@media (max-width:61.98rem){.page--team__cards{grid-template-columns:repeat(2,1fr);margin-bottom:4rem}
}@media (max-width:35.98rem){.page--team__cards{grid-template-columns:1fr}
}@media (min-width:62rem){.page--team .vacancies-slider{display:none}
}@media (min-width:62rem){.page--vacancy__content{grid-column:2;grid-row:1}
}@media (min-width:90rem){.bonus-hero{padding:3rem 8rem}
}@media (max-width:61.98rem){.bonus-hero__inner{padding:0 2rem}
}.bonus-hero .btn{margin:4rem 0 0;background:var(--color-white);color:#343b45;width:32rem}@media (max-width:61.98rem){.bonus-hero .btn{width:100%}
}@keyframes shimmer{to{transform:translateX(100%)}
}@keyframes barberpole{to{background-position:100% 100%}
}@media (min-width:48rem){.upload-file__list{grid-row:1}
}@media (min-width:48rem){.upload-file__button:hover svg path{stroke:var(--color-primary-text)}
}@media (min-width:62rem){.upload-file__item-name{width:30rem}
}@media (min-width:90rem){.upload-file__item-name{width:40rem}}
@media (min-width:62rem){a:hover{opacity:.7}}
@media (min-width:48rem){.article-content,.container,.page--promo__container,.page--services__list{padding-right:5rem;padding-left:5rem}}
@media (min-width:62rem){.btn:hover{color:#fff;background-color:#e8151a}}
@media (min-width:62rem){.btn-o:hover{opacity:1}}
@media (min-width:1440px){.h1,h1{font-size:5.4rem}}
@media (max-width:47.98rem){.h1,h1{margin-bottom:3.5rem;font-size:2.6rem;line-height:3.2rem}}
@media (min-width:48rem){.main-header.subpage,.main-header.subpage .main-header-menu{background-color:#fff}.main-header.subpage .header-toolbar__button{background-color:#f5f5f5}}
@media (min-width:62rem){.main-header.subpage .main-header-menu__list{background-color:#fff}}
@media (min-width:62rem){.main-header__content{position:relative;grid-template-areas:"toolbar toolbar toolbar toolbar toolbar" "logo menu menu phone search";grid-template-rows:5rem 8rem;grid-template-columns:auto 1fr repeat(2,20rem)}}
@media (min-width:75rem){.main-header__content{grid-template-columns:auto 1fr repeat(2,24.5rem)}}
@media (max-width:61.98rem){.main-header__content.container,.main-header__content.page--services__list{padding:0 3.5rem 0 5rem}}
@media (max-width:47.98rem){.main-header__content.container,.main-header__content.page--services__list{padding:0 0 0 1.5rem}}
@media (min-width:48rem){.main-header{background:#f5f5f5}}
@media (min-width:62rem){.main-header__toolbar{padding-right:0;padding-left:0;border-bottom:.1rem solid rgba(18,18,18,.1)}}
@media (min-width:48rem){.main-header__logo{position:relative;top:auto;margin-left:0}}
@media (min-width:75rem){.main-header__logo img{width:26rem}}
@media (min-width:90rem){.main-header__logo img{width:30rem}}
@media (min-width:100rem){.main-header__logo img{width:45rem}}
@media (min-width:48rem){.main-header__logo--desktop{display:block}}
@media (min-width:48rem){.main-header__logo--mobile{display:none}}
@media (min-width:48rem){.main-header__phone svg{fill:var(--color-primary)}}
@media (min-width:62rem){.main-header__phone span{display:block;margin-left:1rem}}
@media (min-width:48rem){.main-header-menu{background-color:#f5f5f5;border:none}}
@media (min-width:62rem){.main-header-menu{padding:0;border-right:.1rem solid hsla(0,0%,100%,.1);background-color:#f5f5f5}}
@media (min-width:62rem){.main-header-menu__list{color:var(--color-text);position:relative;top:inherit;flex-direction:row;width:inherit;height:auto;padding:0;overflow:inherit;color:inherit;background:inherit;transform:inherit;visibility:visible;transition:unset;background:#f5f5f5}}
@media (min-width:62rem){.main-header-menu__list .btn{display:none}}
@media (min-width:62rem){.main-header-menu__item.mobile-order,.main-header-menu__item:first-child{order:2}}
@media (min-width:62rem){.main-header-menu__item+.main-header-menu__item{margin-left:0}}
@media (min-width:90rem){.main-header-menu__item+.main-header-menu__item{margin-left:3rem}}
@media (min-width:100rem){.main-header-menu__item+.main-header-menu__item{margin-left:3.5rem}}
@media (min-width:62rem){.main-header-menu__link{padding:1rem;font-size:1.4rem}}
@media (min-width:75rem){.main-header-menu__link{font-size:1.6rem}}
@media (min-width:62rem){.main-header__burger{display:none}}
@media (min-width:48rem){.main-header__burger-line{background:var(--color-text)}}
@media (max-width:61.98rem){.main-header__address,.main-header__phone,.main-header__toolbar{padding:0 2rem;border-left:.1rem solid hsla(0,0%,100%,.1)}}
@media (min-width:62rem){.main-header--light .main-header__toolbar{border-bottom:.1rem solid rgba(0,0,0,.2)}}
@media (min-width:48rem){.main-header--light .main-header__phone svg{fill:var(--color-primary)}}
@media (min-width:62rem){.main-header--light .main-header-menu{border-left:0}}
@media (min-width:62rem){.header-toolbar__part--right{display:flex;justify-content:flex-end}}
@media (min-width:62rem){.header-toolbar-item{display:flex;align-items:center;margin-right:4.5rem}}
@media (min-width:48rem){.header-toolbar-item--address svg{display:none}}
@media (min-width:48rem){.header-toolbar-item__text{display:block;margin-left:1rem;color:var(--color-text);font-weight:500;font-size:1.6rem}}
@media (min-width:48rem){.mob-menu{display:none}}
@media (min-width:48rem){.mob-phones{display:none}}
@media (min-width:48rem){.mob-backdrop.is-show{display:none}}
@media (min-width:48rem){.breadcrumbs{margin:1.5rem 0 4.5rem}}
@media (min-width:48rem){.float-links .float-close{display:none}}
@media (max-width:47.98rem){.float-links-item:not(:first-child){margin-top:.8rem}}
@media (max-width:47.98rem){.home-slider-brands.container,.home-slider-brands.page--services__list{padding-right:0}}
@media (min-width:62rem){.home-slider-brands .swiper-container{margin-top:-2rem;margin-bottom:-2rem;padding-top:2rem;padding-bottom:2rem}}
@media (min-width:48rem){.home-slider-brands .swiper-slide{max-width:15rem;height:12rem}}
@media (min-width:62rem){.home-slider-brands .swiper-slide img{transform:scale(1.5)}}
@media (min-width:48rem){.home-slider-brands .swiper-slide:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.05)}}
@media (max-width:47.98rem){.home-slider-brands .swiper-slide.page--home__brands--all{margin-right:1.5rem}}
@media (min-width:62rem){.home-slider-brands .swiper-nav{position:absolute;top:0;bottom:0;z-index:2;display:grid;place-content:center;width:var(--nav-size);height:100%;background:var(--color-white);cursor:pointer;border-radius:1rem;transition:opacity .3s ease}.home-slider-brands .swiper-nav:hover{opacity:.65}.home-slider-brands .swiper-nav--prev{left:0;transform:rotate(-180deg)}.home-slider-brands .swiper-nav--next{right:0}.home-slider-brands .swiper-nav svg{width:3.3rem;height:1.14rem;fill:var(--color-dark)}.home-slider-brands .swiper-nav.swiper-button-disabled{opacity:.5!important}}
@media (max-width:47.98rem){.service-slider-brands.container,.service-slider-brands.page--services__list{padding-right:0}}
@media (max-width:47.98rem){.slider-partners.container,.slider-partners.page--services__list{padding-right:0}}
@media (min-width:48rem){.service-card{display:flex;flex-direction:column;margin-bottom:0;padding:4rem}.service-card:hover{box-shadow:0 1.2rem 2.6rem rgba(0,0,0,.1)}}
@media (min-width:48rem){.service-card__icon{display:block;width:4.8rem;height:4.8rem}.service-card__icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}}
@media (min-width:48rem){.service-card__name{margin-top:1.5rem;font-size:2.2rem;line-height:1.2}}
@media (min-width:48rem){.service-card__name svg{display:none}}
@media (min-width:48rem){.service-card__count{display:flex;align-items:center;justify-content:space-between;color:var(--color-grey);margin-top:auto}.service-card__count svg{width:2rem;height:2rem;fill:var(--color-grey)}}
@media (min-width:48rem){.map-card .btn{margin:auto 0 0}}
@media (min-width:48rem){.map .container,.map .page--services__list{position:absolute;top:0;left:0;right:0;bottom:0;max-width:166rem;pointer-events:none}}
@media (min-width:48rem){.page--home__subtitle{padding:6.5rem 0 4rem}}
@media (min-width:62rem){.page--home__subtitle a{display:flex;align-items:center}}
@media (min-width:62rem){.page--home__subtitle--services{display:none}}
@media (min-width:48rem){.page--home__services{grid-template-columns:repeat(3,1fr);gap:2rem}}
@media (min-width:75rem){.page--home__services{grid-template-columns:repeat(4,1fr)}}
@media (min-width:100rem){.page--home__services{grid-template-columns:repeat(5,1fr)}}
@media (min-width:48rem){.page--home__services>*{min-height:27rem}}
@media (min-width:62rem){.hero{padding-left:5rem;padding-right:5rem}}
.the-select{position:relative}.the-select__field{position:relative;width:100%;height:5.2rem;padding:1.7rem 1.6rem;color:var(--color-onyx);font-weight:400;background-color:var(--color-white);border:.1rem solid rgba(116,135,134,.3);border-radius:1rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.the-select__field.is-active .the-select__value{color:var(--color-black)}.the-select__value{padding-right:1rem;color:var(--color-gray);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem}.the-select__icon{position:absolute;top:1.4rem;right:1rem;width:2rem;height:2rem;transition:.2s ease-in-out}.the-select__icon svg{width:100%}.the-select__drop{position:absolute;top:100%;right:0;left:0;z-index:99;max-height:30rem;margin-top:.8rem;overflow:auto;background-color:var(--color-white);border:.1rem solid var(--color-grey);border-radius:1rem;box-shadow:0 1px 0 rgba(0,0,0,.05)}@media screen and (min-width:1000px){.the-select__drop{max-height:20vh}}.the-select__list{overflow:auto;height:100%}.the-select__list::-webkit-scrollbar{width:.4rem;background-color:#f9f9f9}.the-select__list::-webkit-scrollbar-thumb{background-color:hsla(0,0%,69.8%,.2)}.the-select__list::-webkit-scrollbar-track{width:0;height:0;background-color:transparent}.the-select__item{padding:1.6rem 2.5rem;color:var(--color-gray);font-weight:400;cursor:pointer;font-size:1.4rem}.the-select__item:hover{color:#7367f0;background-color:#f5f7f7}.the-select__item.is-active{color:var(--color-black)}.the-select.is-opened .the-select__icon{transform:rotate(180deg)}.the-select.is-opened .the-select__field{border-color:var(--color-grey);border-radius:1rem;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}
.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}


/* Robust Hero Image Override */
.hero__inner {
  position: relative;
  background: linear-gradient(90deg, #000000 0%, #000000 30%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0) 100%),
              url('../img/hero.jpg') no-repeat right center / cover !important;
  background-color: #020505 !important;
  min-height: 480px;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 5rem 6rem !important;
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 991px) {
  .hero__inner {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0.9) 100%),
                url('../img/hero.jpg') no-repeat center center / cover !important;
    padding: 3.5rem 2rem !important;
    min-height: 400px;
  }
}


/* ===================================================
   COMPREHENSIVE POLISH & BUG FIXES
   =================================================== */

body {
  font-family: 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: #f5f5f5;
  color: #222;
  margin: 0;
  padding: 0;
}

/* Header */
.main-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.header-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #eeeeee;
  font-size: 13px;
  color: #666;
}
.header-toolbar a { color: #555; text-decoration: none; }
.header-toolbar a:hover { color: #d11317; }
.header-toolbar-item--phone strong { font-size: 15px; color: #111; }

/* Hero */
.page--home__hero {
  padding: 24px 0 0;
}
.hero__inner {
  position: relative;
  background: linear-gradient(90deg, #000000 0%, #000000 28%, rgba(0, 0, 0, 0.7) 45%, rgba(0, 0, 0, 0.15) 70%, rgba(0, 0, 0, 0) 100%),
              url('../img/hero.jpg') no-repeat right center / cover, #020505 !important;
  min-height: 480px;
  border-radius: 16px;
  padding: 4rem 5rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.25);
  overflow: hidden;
}
.hero__title {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  max-width: 620px;
  margin: 0 0 1.25rem !important;
}
.hero__desc {
  font-size: 1.125rem !important;
  color: #d0d0d0 !important;
  max-width: 580px;
  line-height: 1.5 !important;
  margin-bottom: 2rem;
}
.hero__btn .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d11317;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.hero__btn .btn:hover {
  background: #b50f13;
  transform: translateY(-2px);
}

/* Services */
.page--home__subtitle {
  margin: 50px 0 24px;
}
.page--home__subtitle h2 {
  font-size: 2rem;
  font-weight: 800;
  color: #111;
  margin: 0;
}
.page--home__services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1024px) {
  .page--home__services { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .page--home__services { grid-template-columns: 1fr; }
  .hero__inner { padding: 2.5rem 1.5rem !important; min-height: 380px; }
  .hero__title { font-size: 1.75rem !important; }
}

.service-card {
  background: #ffffff;
  border: 1px solid #e2e4e8;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 180px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
  border-color: #d11317;
}
.service-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
}
.service-card__name {
  font-size: 18px;
  font-weight: 700;
  color: #111;
  line-height: 1.35;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.service-card__name svg {
  width: 18px;
  height: 18px;
  fill: #d11317;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.service-card:hover .service-card__name svg {
  transform: translateX(4px);
}
.service-card__count {
  font-size: 13px;
  color: #777;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.service-card__count svg {
  width: 14px;
  height: 14px;
  fill: #999;
}

/* Brands */
.home-slider-brands {
  margin-top: 10px;
  padding-bottom: 20px;
}
.brands-card {
  background: #ffffff;
  border: 1px solid #e2e4e8;
  border-radius: 10px;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 90px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.brands-card:hover {
  border-color: #d11317;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.brands-card__logo {
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.brands-card__logo img {
  max-height: 38px;
  max-width: 90px;
  object-fit: contain;
}
.brands-card__name {
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

/* About Section */
.page--home__about {
  margin-top: 60px;
  padding: 40px 0;
}
/* Composition per the spec (slide 5): lead line, intro, bullet list, and
   below them a dark panel holding the three credential cards. */
.about-text {
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  margin-top: 24px;
}
.about-text p {
  color: #333;
  margin: 0 0 16px;
}
.about-text__lead {
  font-size: 18px;
}
.about-text__brand {
  color: #d11317;
}
.about-text__intro {
  margin-bottom: 12px !important;
}
.about-text__list {
  list-style: disc;
  padding-left: 24px;
  margin: 0;
  color: #333;
}
.about-text__list li {
  margin-bottom: 8px;
}
.about-text__list li:last-child {
  margin-bottom: 0;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 20px;
}
@media (max-width: 900px) {
  .advantages-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.advantage-card {
  background: #ffffff;
  border: 1px solid #e2e4e8;
  border-radius: 12px;
  padding: 28px 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.advantage-card__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
}
.advantage-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.advantage-card h3 {
  color: #111113;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 14px;
}
.advantage-card p {
  color: #666666;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* Main Footer */
.main-footer {
  background: #111113 !important;
  color: #fff !important;
  padding: 60px 0 30px;
  margin-top: 80px;
}
.main-footer a {
  color: #bbb;
  text-decoration: none;
  transition: color 0.2s ease;
}
.main-footer a:hover {
  color: #d11317;
}
.main-footer__main {
  display: grid;
  grid-template-columns: 1.2fr 0.7fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #252528;
}
@media (max-width: 991px) {
  .main-footer__main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .main-footer__main { grid-template-columns: 1fr; }
}
.main-footer__info-block_title {
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
}
.main-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 24px;
  font-size: 13px;
  color: #666;
}


/* ===================================================
   LAYOUT & ALIGNMENT PERFECTION
   =================================================== */

.container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* Header Polish */
.main-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff !important;
  z-index: 10000;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid #eaeaea;
}
.main-header__content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
.main-header__toolbar {
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.header-toolbar {
  max-width: 1320px;
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #666;
}
.header-toolbar__part {
  display: flex;
  align-items: center;
  gap: 24px;
}
.header-toolbar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #555;
  text-decoration: none;
}
.header-toolbar-item svg {
  width: 16px;
  height: 16px;
  fill: #d11317;
}
.main-header__logo img {
  height: 38px;
  width: auto;
  display: block;
}
.main-header__logo--mobile img {
  height: 20px;
  width: auto;
}
.main-header-menu__list {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.main-header-menu__link {
  color: #222 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.main-header-menu__link:hover {
  color: #d11317 !important;
}
.main-header__phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #111 !important;
  text-decoration: none !important;
}
.main-header__phone svg {
  width: 18px !important;
  height: 18px !important;
  fill: #d11317 !important;
}

/* Footer Fix */
.main-footer {
  background: #111113 !important;
  color: #ffffff !important;
  padding: 60px 0 24px !important;
  margin-top: 80px !important;
}
.main-footer__grid {
  display: grid !important;
  grid-template-columns: 1.4fr 0.8fr 1.2fr 1.2fr !important;
  gap: 40px !important;
  align-items: start !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid #242428 !important;
}
@media (max-width: 1024px) {
  .main-footer__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .main-footer__grid { grid-template-columns: 1fr !important; }
  .header-toolbar { display: none !important; }
}
.main-footer__col-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 20px !important;
}
.main-footer__links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.main-footer__links a {
  color: #999999 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  transition: color 0.2s ease !important;
}
.main-footer__links a:hover {
  color: #d11317 !important;
}
.main-footer__contacts-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  font-size: 14px !important;
  color: #cccccc !important;
}
.main-footer__contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.main-footer__contact-item svg {
  width: 18px !important;
  height: 18px !important;
  fill: #d11317 !important;
  flex-shrink: 0 !important;
}
.main-footer__contact-item a {
  color: #ffffff !important;
  text-decoration: none !important;
}
.main-footer__requisites-box {
  font-size: 13px !important;
  color: #888888 !important;
  line-height: 1.7 !important;
}
.main-footer__requisites-box strong {
  color: #dddddd !important;
  display: block !important;
  margin-bottom: 4px !important;
  font-size: 14px !important;
}


/* Header Ultimate Clean Fix */
.main-header {
  position: relative !important;
  width: 100% !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
  border-bottom: 1px solid #e8e8e8 !important;
}
.main-header__toolbar {
  background: #f8f8f8 !important;
  border-bottom: 1px solid #eeeeee !important;
  padding: 6px 0 !important;
}
.header-toolbar {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.main-header__content {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 16px 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.main-header-menu__list {
  display: flex !important;
  gap: 28px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Exact Header Grid Clean Rules */
.main-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border-bottom: 1px solid #eeeeee;
}
/* Single-row header per the spec: logo — address — phone, nothing else. */
.main-header__content {
  display: grid !important;
  grid-template-areas: "logo toolbar phone" !important;
  grid-template-columns: auto 1fr auto !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  column-gap: 32px;
}
.main-header__toolbar {
  grid-area: toolbar !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}
.header-toolbar {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  font-size: 13px !important;
}
.header-toolbar__part {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}
.main-header__logo {
  grid-area: logo !important;
  padding: 12px 0 !important;
}
.main-header__phone {
  grid-area: phone !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  padding-left: 20px !important;
}
.main-header__phone svg {
  width: 18px !important;
  height: 18px !important;
  fill: #d11317 !important;
}
@media (max-width: 991px) {
  .main-header__toolbar { display: none !important; }
  .main-header__content {
    grid-template-areas: "logo phone" !important;
    grid-template-columns: 1fr auto !important;
    padding: 10px 16px !important;
    column-gap: 12px;
  }
  /* Keep the number itself visible, not just the handset icon — the logo
     shrinks to make room for it. */
  .main-header__phone span {
    display: block !important;
    margin-left: 0 !important;
  }
  .main-header__phone {
    font-size: 14px !important;
    padding-left: 0 !important;
  }
  .main-header__logo img { width: 180px !important; }
}
@media (max-width: 360px) {
  .main-header__logo img { width: 150px !important; }
  .main-header__phone { font-size: 13px !important; }
}


/* ===================================================
   HERO TEXT & SPACING EXACT MATCH
   =================================================== */

.hero__inner {
  position: relative !important;
  /* hero-wide.jpg is hero.jpg composited onto a 1980x570 canvas (built by
     tools/make-hero-wide.py): the car sits at full height on the right and
     feathers into its own ambient colour on the left. `cover` on the source
     photo cropped the car as soon as the banner got shorter than 550/954;
     this keeps the whole vehicle in frame at a 380px-tall banner. */
  background: linear-gradient(90deg, #000000 0%, #000000 30%, rgba(0, 0, 0, 0.7) 46%, rgba(0, 0, 0, 0.15) 70%, rgba(0, 0, 0, 0) 100%),
              url('../img/hero-wide.jpg') no-repeat right center / cover, #020505 !important;
  min-height: 380px !important;
  border-radius: 16px !important;
  padding: 50px 60px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  /* Too narrow for the wide crop — the portrait-ish original reads better
     until the client supplies the dedicated vertical hero crop. */
  .hero__inner {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.82) 52%, rgba(0, 0, 0, 0.2) 100%),
                url('../img/hero.jpg') no-repeat right center / cover, #020505 !important;
    min-height: 340px !important;
    padding: 36px 24px !important;
    justify-content: flex-start !important;
  }
}
.hero__content {
  max-width: 520px !important;
}
.hero__title {
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  color: #ffffff !important;
  margin: 0 0 20px !important;
  letter-spacing: -0.01em !important;
}
.hero__desc {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #c8c8c8 !important;
  max-width: 460px !important;
  margin: 0 !important;
}
.hero__btn {
  margin-top: 36px !important;
}
.hero__btn .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #d11317 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 13px 26px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  width: auto !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}
.hero__btn .btn:hover {
  background: #b50f13 !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .hero__title {
    font-size: 26px !important;
  }
}

/* ===================================================
   READABILITY + SECTION RHYTHM FIXES
   (vendor CSS hides the services heading at desktop
   assuming a search bar this build doesn't have;
   section gaps were set with mismatched one-off inline
   values; several labels/prices/descriptions were sized
   in "rem" written for a 16px root while this page runs
   a 62.5% root, rendering as low as 8.75px)
   =================================================== */

/* Every section heading looks and sits the same: centred inside the 1320px
   container. (`margin: 0` used to be here and killed .container's
   `margin: 0 auto`, so on screens wider than the container the heading
   drifted left of the content it labels.) The theme also hid the services
   heading outright above 992px, hence display/!important. */
.page--home__subtitle {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.page--home__subtitle h2 {
  margin: 0 !important;
  font-size: 22px !important;
  text-align: center !important;
}

/* One gap between major blocks, one smaller gap between a heading and the
   content it introduces — the same two values everywhere on the page. */
.page--home__subtitle--services,
#brands,
#about,
.main-footer {
  margin-top: 48px !important;
}
@media (min-width: 768px) {
  .page--home__subtitle--services,
  #brands,
  #about,
  .main-footer {
    margin-top: 72px !important;
  }
}
.page--home__services,
.home-slider-brands.container,
.about-text {
  margin-top: 20px !important;
}

/* Readable text sizes */
.hero__desc { font-size: 16px !important; }
.service-card__count { font-size: 14px !important; }
.header-toolbar,
.header-toolbar-item__text { font-size: 14px !important; }
.main-header-menu__link { font-size: 16px !important; }
.about-text { font-size: 16px !important; }
.advantage-card p { font-size: 14px !important; }
.main-footer__bottom { font-size: 14px !important; }

/* Slimmed-down footer: brand/copyright + contacts in one row,
   legal requisites + policy link in a second, quieter row. */
.main-footer__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #242428;
}
.main-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.main-footer__brand strong {
  color: #ffffff;
  font-size: 16px;
}
.main-footer__brand span {
  color: #888888;
  font-size: 13px;
}
.main-footer__row .main-footer__contact-item span {
  color: #cccccc;
  font-size: 15px;
}
.main-footer__bottom {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  padding-top: 20px;
  color: #777777;
}
.main-footer__requisites {
  color: #777777;
}
.main-footer__policy-link {
  color: #999999;
  text-decoration: underline;
}
.main-footer__policy-link:hover {
  color: #d11317;
}

/* The section margins carry the whole vertical rhythm — drop the theme's
   own padding so it doesn't add a second, inconsistent gap. */
.page--home__about {
  padding: 0 !important;
}
.home-slider-brands.container {
  padding-bottom: 0 !important;
}

/* Service cards on mobile: the inherited theme hid the category icon and kept
   a second arrow next to the title, while our fixed min-height left a big
   empty gap in the middle of every card. Same composition as desktop instead. */
@media (max-width: 767px) {
  .service-card {
    min-height: 0;
  }
  .service-card__icon {
    display: block !important;
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
  }
  .service-card__name {
    margin-top: 0;
  }
  .service-card__name svg {
    display: none;
  }
}

/* Policy page: light readable card (the page sits on the light theme of the
   rest of the site — a dark panel here was unreadable). */
.policy-card {
  background: #ffffff;
  border: 1px solid #e2e4e8;
  border-radius: 16px;
  padding: 40px 48px;
  color: #333333;
  font-size: 15px;
  line-height: 1.7;
}
.policy-card .container {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.policy-card h1 {
  color: #111113;
  font-size: 28px;
  line-height: 1.25;
  margin: 0 0 24px;
}
/* The markup nests a second .page--promo__content inside the card, and that
   class carries its own grey colour/size — reset it so the card's own
   typography wins for everything below it. */
.policy-card .page--promo__content {
  color: #333333;
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}
.policy-card p {
  color: #333333;
  margin: 0 0 12px;
}
.policy-card strong {
  color: #111113;
}
.policy-card table {
  font-size: 14px;
  border-color: #dcdfe4 !important;
}
.policy-card th,
.policy-card td {
  border: 1px solid #dcdfe4;
  padding: 10px 12px;
  vertical-align: top;
  text-align: left;
}
.policy-card th {
  background: #f5f6f8;
  color: #111113;
  font-weight: 600;
}
@media (max-width: 767px) {
  .policy-card {
    padding: 24px 18px;
  }
  .policy-card h1 {
    font-size: 22px;
  }
}

/* Brands carousel: the arrows get their own gutter on either side of the
   track, so they never sit on top of the first/last brand card. The section
   keeps overflow:hidden, hence the gutter is padding on the section itself
   rather than negative offsets outside it. */
.home-slider-brands.container {
  padding-left: 60px !important;
  padding-right: 60px !important;
}
.home-slider-brands__container {
  overflow: hidden;
}
.home-slider-brands__navigation {
  position: absolute;
  top: 50%;
  left: 6px;
  right: 6px;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  margin: 0;
  pointer-events: none;
  z-index: 5;
}
.brands-nav-btn {
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  pointer-events: auto;
}
@media (max-width: 767px) {
  .home-slider-brands.container {
    padding-left: 44px !important;
    padding-right: 44px !important;
  }
  .home-slider-brands__navigation {
    left: 2px;
    right: 2px;
  }
  .brands-nav-btn {
    width: 36px;
    height: 36px;
  }
  .brands-nav-btn svg {
    width: 16px;
    height: 16px;
  }
}
