/*
Theme Name: Autoservice Volgograd
Theme URI: https://example.com/
Author: Your Name
Author URI: https://example.com/
Description: Тема WordPress для сайта автосервиса в Волгограде
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: autoservice
*/


.carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.has-dots{margin-bottom:calc(0.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}html.with-fancybox{scroll-behavior:auto}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;z-index:1050;outline:none;transform-origin:top left;--carousel-button-width: 48px;--carousel-button-height: 48px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{outline:none}body:not(.is-using-mouse) .fancybox__container :focus{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94))}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:48px;--carousel-button-height:48px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(0.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;outline:0;overflow:auto;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__content :focus:not(.carousel__button.is-close){outline:thin dotted;box-shadow:none}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-40px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__content{flex-direction:row;flex-wrap:wrap}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-width:2px;border-style:solid;border-color:#fff;opacity:0;transition:opacity .15s ease;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100%/(var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, hsla(0deg, 0%, 0%, 0) 0%, hsla(0deg, 0%, 0%, 0.006) 8.1%, hsla(0deg, 0%, 0%, 0.021) 15.5%, hsla(0deg, 0%, 0%, 0.046) 22.5%, hsla(0deg, 0%, 0%, 0.077) 29%, hsla(0deg, 0%, 0%, 0.114) 35.3%, hsla(0deg, 0%, 0%, 0.155) 41.2%, hsla(0deg, 0%, 0%, 0.198) 47.1%, hsla(0deg, 0%, 0%, 0.242) 52.9%, hsla(0deg, 0%, 0%, 0.285) 58.8%, hsla(0deg, 0%, 0%, 0.326) 64.7%, hsla(0deg, 0%, 0%, 0.363) 71%, hsla(0deg, 0%, 0%, 0.394) 77.5%, hsla(0deg, 0%, 0%, 0.419) 84.5%, hsla(0deg, 0%, 0%, 0.434) 91.9%, hsla(0deg, 0%, 0%, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block}

:root {
  --font-main: "Exo 2", Arial, sans-serif;
  --color-white: #ffffff;
  --color-black: #050505;
  --color-dark: #101010;
  --color-dark-2: #171717;
  --color-dark-3: #242424;
  --color-text: #1b1b1b;
  --color-muted: #5f5f5f;
  --color-light: #f3f3f3;
  --color-light-2: #e9e9e9;
  --color-border: rgba(0, 0, 0, .12);
  --color-red: #e30613;
  --color-red-dark: #b9000a;
  --color-red-soft: rgba(227, 6, 19, .08);
  --shadow-card: 0 14px 34px rgba(0, 0, 0, .1);
  --shadow-card-strong: 0 20px 50px rgba(0, 0, 0, .16);
  --shadow-red: 0 12px 26px rgba(227, 6, 19, .28);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --container: 1240px;
  --header-height: 96px;
  --transition: .25s ease;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--color-text);
  background: var(--color-white);
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.42;
  overflow-x: hidden;
}

body.is-lock {
  overflow: hidden;
}

img, svg, iframe {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea {
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
}

p, h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
}

.container {
  width: min(100% - 32px, var(--container));
  margin: 0 auto;
}

.section {
  padding: 84px 0;
}

.section--soft {
  background:
    linear-gradient(135deg, rgba(0, 0, 0, .035), transparent 42%),
    var(--color-light);
}

.section-dark, .card-dark {
  color: var(--color-white);
  background: var(--color-dark);
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 38px;
}

.section-head__content {
  max-width: 760px;
}

.section-head__side {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  max-width: 620px;
}

.section-title {
  margin: 0;
  color: var(--color-dark);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.section-dark .section-title, .card-dark .section-title {
  color: var(--color-white);
}

.section-text {
  margin: 0;
  max-width: 520px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.5;
}

.section-dark .section-text, .card-dark .section-text {
  color: rgba(255, 255, 255, .72);
}

.label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--color-red);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.label::before {
  content: "";
  width: 42px;
  height: 3px;
  background: var(--color-red);
}

.label--light {
  color: #ff2630;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 24px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
  transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn:hover {
  transform: translateY(-2px);
}

.btn--red {
  color: var(--color-white);
  background: linear-gradient(135deg, var(--color-red), var(--color-red-dark));
  box-shadow: var(--shadow-red);
}

.btn--white {
  color: var(--color-dark);
  background: var(--color-white);
}

.btn--dark {
  color: var(--color-white);
  background: var(--color-dark);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: var(--header-height);
  background: rgba(255, 255, 255, .96);
  border-bottom: 3px solid var(--color-red);
  backdrop-filter: blur(14px);
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 28px;
  min-height: var(--header-height);
}

.logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.logo img {
  width: 255px;
  max-height: 76px;
  object-fit: contain;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.main-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px;
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  transition: color var(--transition), background var(--transition);
}

.main-nav__link::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 5px;
  height: 2px;
  background: var(--color-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);
}

.main-nav__link:hover, .main-nav__link.is-active {
  color: var(--color-red);
}

.main-nav__link:hover::after, .main-nav__link.is-active::after {
  transform: scaleX(1);
}

.site-header__contacts {
  display: flex;
  align-items: center;
  gap: 14px;
}

.site-header__phone {
  color: var(--color-dark);
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.burger {
  position: relative;
  display: none;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  background: var(--color-dark);
}

.burger span, .burger::before, .burger::after {
  content: "";
  position: absolute;
  left: 12px;
  width: 24px;
  height: 2px;
  background: var(--color-white);
  transition: top var(--transition), transform var(--transition), opacity var(--transition);
}

.burger span {
  top: 23px;
}

.burger::before {
  top: 15px;
}

.burger::after {
  top: 31px;
}

.burger.is-active span {
  opacity: 0;
}

.burger.is-active::before {
  top: 23px;
  transform: rotate(45deg);
}

.burger.is-active::after {
  top: 23px;
  transform: rotate(-45deg);
}

.hero {
  position: relative;
  overflow: hidden;
  /*padding: 82px 0 92px;*/
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .18), transparent 34%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top.webp) no-repeat center/cover;
padding: 82px 0 92px;
}


.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  /*
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
*/
background-image: linear-gradient(rgb(0 0 0) 1px, #0000008c 1px), linear-gradient(90deg, rgb(0 0 0) 1px, #00000099 1px);
  background-size: 54px 54px;
  opacity: .8;
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  right: -70px;
  top: 0;
  width: 42%;
  height: 100%;
  background: var(--color-red);
  clip-path: polygon(28% 0, 100% 0, 72% 100%, 0 100%);
  opacity: .18;
  pointer-events: none;
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 54px;
  align-items: center;
}

.hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.hero__text {
  max-width: 660px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 20px;
  line-height: 1.45;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 44px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-left: 4px solid var(--color-red);
}

.hero-stat {
  padding: 22px;
  background: rgba(255, 255, 255, .06);
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.hero-stat:last-child {
  border-right: 0;
}

.hero-stat strong {
  display: block;
  color: var(--color-white);
  font-size: 27px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-stat span {
  display: block;
  margin-top: 9px;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}

.hero-panel {
  position: relative;
  min-height: 430px;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 42%),
    #121212;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
  overflow: hidden;
}

.hero-panel::before {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 240px;
  height: 240px;
  border: 32px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.hero-panel__line {
  width: 100%;
  height: 6px;
  margin-bottom: 64px;
  background: linear-gradient(90deg, var(--color-red), var(--color-white), transparent);
}

.hero-panel__title {
  color: var(--color-white);
  font-size: 96px;
  line-height: .9;
  font-weight: 800;
}

.hero-panel__text {
  max-width: 260px;
  margin-top: 18px;
  color: rgba(255, 255, 255, .72);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  text-transform: uppercase;
}

.hero-panel__bottom {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: var(--color-white);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
}

.services-slider__viewport {
  overflow: hidden;
  margin: -16px;
  padding: 16px;
}

.services-slider__track {
  display: flex;
  gap: 22px;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.slider-nav {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

.slider-nav__btn {
  width: 52px;
  height: 52px;
  border: 1px solid var(--color-dark);
  border-radius: var(--radius-sm);
  color: var(--color-white);
  background: var(--color-dark);
  font-size: 34px;
  line-height: 1;
  transition: background var(--transition), border-color var(--transition), opacity var(--transition);
}

.slider-nav__btn span{
display: block;
bottom: 4.5px;
position: relative;
}


.slider-nav__btn:hover {
  background: var(--color-red);
  border-color: var(--color-red);
}

.slider-nav__btn:disabled {
  cursor: default;
  opacity: .4;
}

.service-card {
  flex: 0 0 calc((100% - 66px) / 4);
  display: flex;
  flex-direction: column;
  min-height: 335px;
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  /*box-shadow: var(--shadow-card);*/
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-strong);
}

.service-card__image {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 45%),
    #1b1b1b;
  overflow: hidden;
}

.service-card__image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--color-red);
}

.service-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.service-card__title {
  margin: 0;
  color: var(--color-dark);
  font-size: 18px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.service-card__text {
  margin: 13px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.45;
}

.service-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 22px;
}

.service-card__price {
  color: var(--color-red);
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.service-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border: 1px solid var(--color-dark);
  color: var(--color-dark);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.service-card__link:hover {
  color: var(--color-white);
  background: var(--color-red);
  border-color: var(--color-red);
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.feature-card {
  padding: 28px;
  border-left: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.feature-card__number {
  color: var(--color-red);
  font-size: 14px;
  font-weight: 800;
}

.feature-card__title {
  margin: 18px 0 0;
  color: var(--color-dark);
  font-size: 21px;
  line-height: 1.12;
  font-weight: 800;
  text-transform: uppercase;
}

.feature-card__text {
  margin: 12px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.45;
}

.prices-layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(340px, .42fr);
  gap: 28px;
  align-items: stretch;
}

.price-list {
  display: grid;
  gap: 10px;
}

.price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 66px;
  padding: 16px 20px;
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-red);
  background: var(--color-white);
}

.price-row span {
  color: var(--color-dark);
  font-size: 16px;
  font-weight: 700;
}

.price-row strong {
  color: var(--color-red);
  font-size: 17px;
  font-weight: 800;
  white-space: nowrap;
}

.price-cta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 34px;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.price-cta__title {
  margin: 0;
  color: var(--color-white);
  font-size: 32px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
}

.price-cta__text {
  margin: 18px 0 28px;
  color: rgba(255, 255, 255, .72);
  line-height: 1.45;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  counter-reset: step;
}

.step-card {
  position: relative;
  min-height: 220px;
  padding: 26px;
  color: var(--color-white);
  background: var(--color-dark);
  border-bottom: 4px solid var(--color-red);
  overflow: hidden;
}

.step-card::before {
  counter-increment: step;
  content: "0" counter(step);
  position: absolute;
  right: 16px;
  top: 12px;
  color: rgba(255, 255, 255, .08);
  font-size: 70px;
  line-height: 1;
  font-weight: 800;
}

.step-card h3 {
  position: relative;
  margin: 0;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 800;
  text-transform: uppercase;
}

.step-card p {
  position: relative;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  line-height: 1.45;
}

.gallery-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr .9fr;
  grid-auto-rows: 230px;
  gap: 16px;
}

.gallery-item {
  position: relative;
  display: block;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .2), transparent 44%),
    #151515;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.gallery-item:first-child {
  grid-row: span 2;
}

.gallery-item::after {
  content: attr(data-title);
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  color: var(--color-white);
  font-size: 18px;
  line-height: 1.18;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-item span {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--color-white);
  background: var(--color-red);
  font-size: 24px;
}

.iframe-box {
border: 1px solid var(--color-border);
border-bottom: 4px solid var(--color-red);
background: var(--color-light);
box-shadow: var(--shadow-card);
overflow: hidden;
padding: 20px 10px;
}


.iframe-box__frame {
width: 100%;
height: 520px;
border: 0;
max-width: 760px;
margin: 0 auto;
background: none;
border-radius: 0;
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-item {
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-red);
  background: var(--color-white);
  overflow: hidden;
}

.faq-item__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 24px;
  color: var(--color-dark);
  background: transparent;
  text-align: left;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.faq-item__question i {
  position: relative;
  width: 24px;
  height: 24px;
  background: var(--color-red);
  flex: 0 0 auto;
}

.faq-item__question i::before, .faq-item__question i::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 11px;
  width: 10px;
  height: 2px;
  background: var(--color-white);
  transition: transform var(--transition);
}

.faq-item__question i::after {
  transform: rotate(90deg);
}

.faq-item.is-open .faq-item__question i::after {
  transform: rotate(0deg);
}

.faq-item__answer {
  display: none;
  padding: 0 24px 22px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.45;
}

.faq-item.is-open .faq-item__answer {
  display: block;
}

.callback-section {
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .2), transparent 36%),
    var(--color-dark);
}

.callback-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(400px, .55fr);
  gap: 48px;
  align-items: center;
}

.callback-info__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.callback-info__text {
  max-width: 560px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 18px;
  line-height: 1.45;
}

.contact-mini {
  display: grid;
  gap: 10px;
  margin-top: 30px;
}

.contact-mini a, .contact-mini span {
  color: var(--color-white);
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
}

.form-card {
  padding: 32px;
  color: var(--color-dark);
  background: var(--color-white);
  border-bottom: 5px solid var(--color-red);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .26);
}

.form-card--modal {
  box-shadow: none;
}

.form-card__title {
  margin: 0 0 22px;
  color: var(--color-dark);
  font-size: 28px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
}

.form-grid {
  display: grid;
  gap: 12px;
}

.field {
  display: block;
}

.field input, .field textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, .14);
  outline: none;
  background: var(--color-light);
  color: var(--color-dark);
  padding: 16px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.field textarea {
min-height: 110px;
max-height: 110px;
resize: vertical;
}

.field input:focus, .field textarea:focus {
  border-color: var(--color-red);
  background: var(--color-white);
  box-shadow: 0 0 0 3px rgba(227, 6, 19, .1);
}


span .wpcf7-not-valid {
border: 1px solid #f00822 !important;
}
span.not-valid input {
border: 1px solid #f00822!important;
}

.wpcf7-not-valid-tip, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
display: none;
}


.wpcf7 form.sent .wpcf7-response-output{
border: none;
position: fixed;
top: 0;
right: 0;
left: 0;
bottom: 0;
z-index: 1000;
background: var(--color-light);
color: var(--color-text);
text-align: center;
margin: 0;
padding: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 25px;
}

.wpcf7 form.failed .wpcf7-response-output{
border: none;
position: fixed;
top: 0;
right: 0;
left: 0;
bottom: 0;
z-index: 1000;
background: rgba(244,67,54,0.9);
color: #fff;
text-align: center;
margin: 0;
padding: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 25px;
}


.policy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.35;
}

.policy input {
width: 18px;
height: 18px;
margin-top: 0;
accent-color: var(--color-red);
flex: 0 0 auto;
margin: 0;
}

.policy a {
  color: var(--color-red);
  font-weight: 800;
}

.policy.is-error {
  color: var(--color-red);
}

.form-card .btn {
  width: 100%;
  margin-top: 4px;
}

.contacts-grid {
  display: grid;
  grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
  gap: 26px;
}

.contacts-card {
  padding: 32px;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 42%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.contacts-card__title {
  margin: 0 0 24px;
  color: var(--color-white);
  font-size: 30px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
}

.contact-row {
  display: grid;
  gap: 6px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.contact-row span {
  color: rgba(255, 255, 255, .52);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-row strong, .contact-row a {
  color: var(--color-white);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

.contacts-card .btn {
  margin-top: 20px;
}

.mobile-bottom-panel{display:none}

.map-box {
  min-height: 460px;
  background: var(--color-light);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.map-box iframe {
  width: 100%;
  height: 100%;
  min-height: 460px;
  border: 0;
}

.site-footer {
  padding: 42px 0 30px;
  color: rgba(255, 255, 255, .72);
  background: var(--color-dark);
  border-top: 5px solid var(--color-red);
}

.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 18px;
}

.footer-nav a {
  color: rgba(255, 255, 255, .74);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition);
}

.footer-nav a:hover {
  color: var(--color-white);
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  font-size: 14px;
}

.site-footer__bottom a {
  color: rgba(255, 255, 255, .78);
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition);
}

.modal.is-open {
  opacity: 1;
  visibility: visible;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 5, 5, .78);
}

.modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 500px);
  max-height: calc(100vh - 40px);
  background: var(--color-white);
  overflow-y: auto;
  transform: translateY(18px) scale(.98);
  transition: transform var(--transition);
}

.modal.is-open .modal__dialog {
  transform: translateY(0) scale(1);
}

.modal__close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 3;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: 28px;
  line-height: 1;
  transition: background var(--transition);
}

.modal__close span{
display: block;
line-height: 100%;
position: relative;
bottom: 3px;
}

.modal__close:hover {
  background: var(--color-red);
}

.fancybox__container {
  --fancybox-bg: rgba(5, 5, 5, .92);
  z-index: 3000;
}

.page-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .2), transparent 36%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.page-hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top_one.webp) no-repeat center/cover;
padding: 46px 0 86px;
}


.page-hero::before {
content: "";
position: absolute;
inset: 0;
background-image: linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 65%) 1px, #0000005e 1px);
background-size: 54px 54px;
pointer-events: none;
}

.page-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 50px;
  align-items: center;
}

.page-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.page-hero__text {
  max-width: 740px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.service-promo {
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
  background: rgba(255, 255, 255, .06);
}

.service-promo span {
  display: block;
  color: rgba(255, 255, 255, .62);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.service-promo strong {
  display: block;
  margin-top: 10px;
  color: var(--color-white);
  font-size: 62px;
  line-height: 100%;
  font-weight: 800;
}

.service-promo p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .7);
  line-height: 1.45;
}

.direction-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.direction-card {
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.direction-card__image {
  display: block;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 45%),
    #151515;
  overflow: hidden;
}

.direction-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.direction-card__body {
  padding: 24px;
}

.direction-card__body h3 {
  margin: 0;
  color: var(--color-dark);
  font-size: 23px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.direction-card__body p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.45;
}

.direction-card__body a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--color-red);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.service-price-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.service-price-nav {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: grid;
  gap: 0;
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.service-price-nav__title {
  padding: 18px 20px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
}

.service-price-nav a {
  padding: 15px 20px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition);
}

.service-price-nav a:last-child {
  border-bottom: 0;
}

.service-price-nav a:hover {
  color: var(--color-red);
  background: var(--color-red-soft);
}

.service-price-content {
  display: grid;
  gap: 24px;
}

.service-group {
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.service-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  background: var(--color-dark);
}

.service-group__head h3 {
  margin: 0;
  color: var(--color-white);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
}

.service-group__head span {
  color: var(--color-red);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.service-table {
  display: grid;
}

.service-table__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  gap: 18px;
  align-items: center;
  min-height: 58px;
  padding: 15px 24px;
  border-bottom: 1px solid var(--color-border);
}

.service-table__row:last-child {
  border-bottom: 0;
}

.service-table__row span {
  color: var(--color-dark);
  font-size: 16px;
  line-height: 1.28;
  font-weight: 700;
}

.service-table__row strong {
  color: var(--color-red);
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.warning-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.warning-box__content {
  max-width: 760px;
}

.warning-box h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.warning-box p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

.breadcrumbs {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, .58);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
}

.breadcrumbs .sep{margin:0 8px}


.breadcrumbs a {
  color: rgba(255, 255, 255, .78);
  transition: color var(--transition);
}

.breadcrumbs a:hover {
  color: var(--color-white);
}



.service-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.service-hero .bg{
padding: 46px 0 84px;
background: url(/wp-content/uploads/2026/06/banner_top.webp) no-repeat center/cover;
}


.service-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.service-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 54px;
  align-items: center;
}

.service-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.service-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.service-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.service-hero__media {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 45%),
    #151515;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
  overflow: hidden;
}

.service-hero__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(227, 6, 19, .18), transparent 44%);
  z-index: 1;
  pointer-events: none;
}

.service-hero__media img {
  width: 100%;
  height: 430px;
  object-fit: cover;
}

.service-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 42px;
  align-items: start;
}

.service-about__lead {
  max-width: 820px;
  margin-top: 20px;
}

.service-check-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 30px;
}

.service-check-list__item {
  position: relative;
  padding: 17px 18px 17px 48px;
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-red);
  background: var(--color-white);
  color: var(--color-dark);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  box-shadow: var(--shadow-card);
}

.service-check-list__item::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 20px;
  width: 14px;
  height: 8px;
  border-left: 3px solid var(--color-red);
  border-bottom: 3px solid var(--color-red);
  transform: rotate(-45deg);
}

.service-side-card {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  padding: 28px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
  box-shadow: var(--shadow-card-strong);
}

.service-side-card__title {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.service-side-card__price {
  margin-top: 12px;
  color: var(--color-white);
  font-size: 45px;
  line-height: 100%;
  font-weight: 800;
}

.service-side-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .68);
  line-height: 1.45;
}

.service-side-card__phone {
  display: block;
  margin: 22px 0;
  color: var(--color-white);
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}

.single-price-table {
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.single-price-table__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 18px;
  align-items: center;
  min-height: 62px;
  padding: 16px 24px;
  border-bottom: 1px solid var(--color-border);
}

.single-price-table__row:last-child {
  border-bottom: 0;
}

.single-price-table__row span {
  color: var(--color-dark);
  font-size: 16px;
  line-height: 1.28;
  font-weight: 700;
}

.single-price-table__row strong {
  color: var(--color-red);
  font-size: 18px;
  line-height: 1;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.service-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.service-process-card {
  min-height: 210px;
  padding: 26px;
  color: var(--color-white);
  background: var(--color-dark);
  border-bottom: 4px solid var(--color-red);
  box-shadow: var(--shadow-card);
}

.service-process-card span {
  display: block;
  color: var(--color-red);
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
}

.service-process-card h3 {
  margin: 24px 0 0;
  color: var(--color-white);
  font-size: 22px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.service-process-card p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 15px;
  line-height: 1.45;
}

.service-seo {
display: flex;
flex-direction: column;
gap: 38px;
padding: 34px;
border: 1px solid var(--color-border);
border-bottom: 5px solid var(--color-red);
background: var(--color-white);
box-shadow: var(--shadow-card);
}

.service-seo__head h2 {
  margin: 0;
  color: var(--color-dark);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.service-seo__content {
  color: var(--color-text);
  font-size: 17px;
  line-height: 1.55;
}

.service-seo__content p {
  margin: 0 0 18px;
}

.service-seo__content h3,.service-seo__content h2 {
  margin: 28px 0 14px;
  color: var(--color-dark);
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
}

.service-seo__content ul {
  display: grid;
  gap: 9px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.service-seo__content li {
  position: relative;
  padding-left: 24px;
}

.service-seo__content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 12px;
  height: 3px;
  background: var(--color-red);
}

.related-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.related-service-card {
  display: grid;
  gap: 24px;
  min-height: 150px;
  padding: 24px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 4px solid var(--color-red);
  transition: transform var(--transition), background var(--transition);
}

.related-service-card:hover {
  transform: translateY(-4px);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .38), transparent 44%),
    var(--color-dark);
}

.related-service-card span {
  color: var(--color-red);
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
}

.related-service-card strong {
  color: var(--color-white);
  font-size: 22px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.price-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.price-hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top_two.webp) no-repeat center/cover;
padding: 46px 0 84px;
}


.price-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.price-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 50px;
  align-items: center;
}

.price-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.price-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.price-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.price-hero-card {
  padding: 30px;
  color: var(--color-white);
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
}

.price-hero-card span {
  display: block;
  color: rgba(255, 255, 255, .64);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.price-hero-card strong {
  display: block;
  margin-top: 12px;
  color: var(--color-white);
  font-size: 54px;
  line-height: 100%;
  font-weight: 800;
}

.price-hero-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 16px;
  line-height: 1.45;
}

.price-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.price-category-card {
  display: grid;
  gap: 28px;
  min-height: 170px;
  padding: 24px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 4px solid var(--color-red);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition), background var(--transition);
}

.price-category-card:hover {
  transform: translateY(-4px);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .38), transparent 44%),
    var(--color-dark);
}

.price-category-card span {
  color: var(--color-red);
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
}

.price-category-card strong {
  color: var(--color-white);
  font-size: 23px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.price-page-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.price-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: grid;
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.price-sidebar__title {
  padding: 18px 20px;
  color: var(--color-white);
  background: var(--color-dark);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.price-sidebar a {
  padding: 15px 20px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition);
}

.price-sidebar a:last-child {
  border-bottom: 0;
}

.price-sidebar a:hover {
  color: var(--color-red);
  background: var(--color-red-soft);
}

.price-page-content {
  display: grid;
  gap: 24px;
}

.price-group {
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.price-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  background: var(--color-dark);
}

.price-group__head h3 {
  margin: 0;
  color: var(--color-white);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
}

.price-group__head span {
  color: var(--color-red);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.price-table {
  display: grid;
}

.price-table__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  gap: 18px;
  align-items: center;
  min-height: 58px;
  padding: 15px 24px;
  border-bottom: 1px solid var(--color-border);
}

.price-table__row:last-child {
  border-bottom: 0;
}

.price-table__row span {
  color: var(--color-dark);
  font-size: 16px;
  line-height: 1.28;
  font-weight: 700;
}

.price-table__row strong {
  color: var(--color-red);
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.price-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.price-note__content {
  max-width: 780px;
}

.price-note h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.price-note p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

.btn_b{
position:relative;
}

.wpcf7-spinner{
position: absolute;
right: 10px;
bottom: 14px;
margin: 0;
}

.wpcf7-list-item{
margin: 0;
display: block;
}

.wpcf7-list-item label{
display: flex;
align-items: center;
gap: 10px;
}



.gallery-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.gallery-hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top_two.webp) no-repeat center/cover;
padding: 46px 0 84px;
}


.gallery-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.gallery-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 50px;
  align-items: center;
}

.gallery-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.gallery-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.gallery-hero-card {
  padding: 30px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
}

.gallery-hero-card span {
  display: block;
  color: rgba(255, 255, 255, .64);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-hero-card strong {
  display: block;
  margin-top: 12px;
  color: var(--color-white);
  font-size: 54px;
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-hero-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 16px;
  line-height: 1.45;
}

.gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}

.gallery-filter__btn {
  min-height: 44px;
  padding: 12px 18px;
  border: 1px solid var(--color-border);
  color: var(--color-dark);
  background: var(--color-white);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.gallery-filter__btn:hover, .gallery-filter__btn.is-active {
  color: var(--color-white);
  background: var(--color-red);
  border-color: var(--color-red);
}

.gallery-page-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.gallery-page-item {
  position: relative;
  display: block;
  min-height: 240px;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .2), transparent 44%),
    #151515;
  border-bottom: 4px solid var(--color-red);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition);
}

.gallery-page-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-strong);
}

.gallery-page-item.is-hidden {
  display: none;
}

.gallery-page-item:nth-child(1), .gallery-page-item:nth-child(8) {
  grid-column: span 2;
  grid-row: span 2;
}

.gallery-page-item img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  opacity: .82;
  transition: opacity var(--transition), transform var(--transition);
}

.gallery-page-item:hover img {
  opacity: 1;
  transform: scale(1.04);
}

.gallery-page-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(0, 0, 0, .74), transparent 58%);
  pointer-events: none;
}

.gallery-page-item span {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  color: var(--color-white);
  font-size: 18px;
  line-height: 1.15;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-info-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.gallery-info-box__content {
  max-width: 780px;
}

.gallery-info-box h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-info-box p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

.contacts-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.contacts-hero .bg{
padding: 46px 0 84px;
background: url(/wp-content/uploads/2026/06/banner_top_two.webp) no-repeat center/cover;
}


.contacts-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.contacts-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 50px;
  align-items: center;
}

.contacts-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.contacts-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.contacts-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.contacts-hero-card {
  padding: 30px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
}

.contacts-hero-card span {
  display: block;
  color: rgba(255, 255, 255, .64);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.contacts-hero-card a {
  display: block;
  margin-top: 12px;
  color: var(--color-white);
  font-size: 32px;
  line-height: 1;
  font-weight: 800;
}

.contacts-hero-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 16px;
  line-height: 1.45;
}

.contacts-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 42px;
  align-items: start;
}

.contacts-main-info {
  max-width: 760px;
}

.contact-info-list {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.contact-info-item {
  padding: 20px 22px;
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.contact-info-item span {
  display: block;
  margin-bottom: 8px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-info-item strong, .contact-info-item a {
  color: var(--color-dark);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
}

.contacts-main-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.contacts-form {
  position: sticky;
  top: calc(var(--header-height) + 24px);
}

.contacts-map-layout {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
}

.contacts-map-card {
  padding: 30px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
  box-shadow: var(--shadow-card);
}

.contacts-map-card h3 {
  margin: 0;
  color: var(--color-white);
  font-size: 22px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.contacts-map-card p, .contacts-map-card a {
  display: block;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
}

.contacts-map-card a {
  color: var(--color-white);
  font-size: 21px;
  font-weight: 800;
}

.contacts-map-card__line {
  height: 1px;
  margin: 24px 0;
  background: rgba(255, 255, 255, .14);
}

.contacts-map-card .btn {
  width: 100%;
  margin-top: 26px;
}

.contacts-map-box {
  min-height: 520px;
  background: var(--color-light);
  border-bottom: 5px solid var(--color-red);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.contacts-map-box iframe {
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
}

.contacts-route-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.contacts-route-box__content {
  max-width: 780px;
}

.contacts-route-box h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.contacts-route-box p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

.contacts-route-box__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: 0 0 auto;
}

.blog-hero {
  position: relative;
  overflow: hidden;
  padding: 46px 0 78px;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.blog-hero__content {
  position: relative;
  z-index: 1;
  max-width: 880px;
}

.blog-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-bottom: 4px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.blog-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .2), transparent 44%),
    #151515;
  overflow: hidden;
}

.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition), opacity var(--transition);
}

.blog-card:hover .blog-card__image img {
  transform: scale(1.04);
  opacity: .9;
}

.blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.blog-card__date {
  display: block;
  margin-bottom: 14px;
  color: var(--color-red);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-card__title {
  margin: 0;
  color: var(--color-dark);
  font-size: 23px;
  line-height: 1.12;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-card__title a {
  transition: color var(--transition);
}

.blog-card__title a:hover {
  color: var(--color-red);
}

.blog-card__text {
  margin: 14px 0 10px;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.45;
}

.blog-card__link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 38px;
  margin-top: auto;
  padding: 10px 14px;
  border: 1px solid var(--color-dark);
  color: var(--color-dark);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.blog-card__link:hover {
  color: var(--color-white);
  background: var(--color-red);
  border-color: var(--color-red);
}

.site-footer .menu_f{
display: flex;
gap: 10px;
flex-wrap: wrap;
}


.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
}

.pagination__link {
  min-width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  color: var(--color-dark);
  background: var(--color-white);
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.pagination__link:hover, .pagination__link.is-active {
  color: var(--color-white);
  background: var(--color-red);
  border-color: var(--color-red);
}

.pagination__link--next {
  min-width: 92px;
}

.article-hero {
  position: relative;
  overflow: hidden;
  padding: 46px 0 78px;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.article-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.article-hero__content {
  position: relative;
  z-index: 1;
  max-width: 940px;
}

.article-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(38px, 5vw, 70px);
  line-height: .98;
  font-weight: 800;
  text-transform: uppercase;
}

.article-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
  color: rgba(255, 255, 255, .65);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
}

.article-meta span, .article-meta time {
  position: relative;
}

.article-meta span:not(:last-child)::after, .article-meta time::after {
  content: "";
  position: absolute;
  right: -11px;
  top: 50%;
  width: 4px;
  height: 4px;
  background: var(--color-red);
  transform: translateY(-50%);
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 42px;
  align-items: start;
}

.article-main-image {
  margin-bottom: 34px;
  border-bottom: 5px solid var(--color-red);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .2), transparent 44%),
    #151515;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.article-main-image img {
  width: 100%;
  height: 440px;
  object-fit: cover;
}

.article-content {
  min-width: 0;
}

.article-text {
  color: var(--color-text);
  font-size: 18px;
  line-height: 1.58;
}

.article-text p {
  margin: 0 0 20px;
}

.article-text h2 {
  margin: 42px 0 18px;
  color: var(--color-dark);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.article-text h3 {
  margin: 32px 0 16px;
  color: var(--color-dark);
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
}

.article-text ul, .article-text ol {
  display: grid;
  gap: 10px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.article-text li {
  position: relative;
  padding-left: 28px;
}

.article-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 14px;
  height: 3px;
  background: var(--color-red);
}

.article-text blockquote {
  margin: 32px 0;
  padding: 26px 28px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-left: 5px solid var(--color-red);
  font-size: 22px;
  line-height: 1.35;
  font-weight: 700;
}

.article-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: grid;
  gap: 18px;
}

.article-sidebar-card {
  padding: 26px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
  box-shadow: var(--shadow-card);
}

.article-sidebar-card h3 {
  margin: 0;
  color: var(--color-white);
  font-size: 24px;
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}

.article-sidebar-card p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 15px;
  line-height: 1.45;
}

.article-sidebar-card__phone {
  display: block;
  margin: 20px 0;
  color: var(--color-white);
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}

.article-sidebar-card .btn {
  width: 100%;
}

.article-sidebar-card--light {
  color: var(--color-dark);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-bottom: 5px solid var(--color-red);
}

.article-sidebar-card--light h3 {
  color: var(--color-dark);
  margin-bottom: 14px;
}

.article-sidebar-card--light a {
  display: block;
  padding: 12px 0;
  border-top: 1px solid var(--color-border);
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  transition: color var(--transition);
}

.article-sidebar-card--light a:hover {
  color: var(--color-red);
}

.article-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.text-page-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.text-page-hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top_two.webp) no-repeat center/cover;
padding: 46px 0 76px;
}


.text-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.text-page-hero__content {
  position: relative;
  z-index: 1;
  max-width: 900px;
}

.text-page-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(38px, 5vw, 66px);
  line-height: .98;
  font-weight: 800;
  text-transform: uppercase;
}

.text-page-hero__text {
  max-width: 760px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 18px;
  line-height: 1.45;
}

.text-page-content {
  min-width: 0;
}

.content-text {
  color: var(--color-text);
  font-size: 18px;
  line-height: 1.52;
}

.content-text > *:first-child {
  margin-top: 0;
}

.content-text > *:last-child {
  margin-bottom: 0;
}

.content-text p {
  margin: 0 0 18px;
}

.content-text h2 {
  margin: 38px 0 18px;
  color: var(--color-dark);
  font-size: 30px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.content-text h3 {
  margin: 30px 0 14px;
  color: var(--color-dark);
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
}

.content-text h4 {
  margin: 26px 0 12px;
  color: var(--color-dark);
  font-size: 21px;
  line-height: 1.15;
  font-weight: 800;
  text-transform: uppercase;
}

.content-text ul, .content-text ol {
  display: grid;
  gap: 9px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.content-text li {
  position: relative;
  padding-left: 28px;
}

.content-text ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 14px;
  height: 3px;
  background: var(--color-red);
}

.content-text ol {
  counter-reset: textList;
}

.content-text ol li {
  counter-increment: textList;
}

.content-text ol li::before {
  content: counter(textList) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-red);
  font-weight: 800;
}

.content-text a {
  color: var(--color-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.content-text blockquote {
  margin: 30px 0;
  padding: 24px 26px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-left: 5px solid var(--color-red);
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
}

.content-text table {
  width: 100%;
  margin: 28px 0;
  border-collapse: collapse;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}

.content-text th, .content-text td {
  padding: 14px 16px;
  border: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.content-text th {
  color: var(--color-white);
  background: var(--color-dark);
  font-weight: 800;
  text-transform: uppercase;
}

.content-text img {
  height: auto;
  margin: 28px 0;
  border-bottom: 5px solid var(--color-red);
}

.text-page-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.text-page-cta__content {
  max-width: 760px;
}

.text-page-cta h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.text-page-cta p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

.text-page-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: 0 0 auto;
}

.reviews-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .22), transparent 38%),
    linear-gradient(135deg, #171717 0%, #070707 100%);
}

.reviews-hero .bg{
background: url(/wp-content/uploads/2026/06/banner_top_two.webp) no-repeat center/cover;
padding: 46px 0 84px;
}


.reviews-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(0 0 0 / 44%) 1px, #0000003b 1px), linear-gradient(90deg, rgb(0 0 0 / 51%) 1px, #0000005e 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

.reviews-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 50px;
  align-items: center;
}

.reviews-hero__title {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 58px);
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-hero__text {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .74);
  font-size: 19px;
  line-height: 1.45;
}

.reviews-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.reviews-hero-card {
  padding: 30px;
  color: var(--color-white);
  background:
    linear-gradient(135deg, rgba(227, 6, 19, .22), transparent 44%),
    rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 5px solid var(--color-red);
}

.reviews-hero-card span {
  display: block;
  color: rgba(255, 255, 255, .64);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-hero-card strong {
  display: block;
  margin-top: 12px;
  color: var(--color-white);
  font-size: 54px;
  line-height: 100%;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-hero-card p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 16px;
  line-height: 1.45;
}

.reviews-widget {
  border: 1px solid var(--color-border);
  border-bottom: 5px solid var(--color-red);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.reviews-widget__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  color: var(--color-white);
  background: var(--color-dark);
}

.reviews-widget__top span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .62);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-widget__top h3 {
  margin: 0;
  color: var(--color-white);
  font-size: 26px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-widget__body {
padding: 20px 10px;
background: var(--color-light);
}

.reviews-widget__placeholder {
  text-align: center;
}

.reviews-widget__placeholder iframe{
    width: 100%;
    height: 520px;
    border: 0;
    max-width: 760px;
    margin: 0 auto;
    background: none;
    border-radius: 0;
}


.reviews-widget__placeholder strong {
  color: var(--color-dark);
  font-size: 28px;
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-widget__placeholder p {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.4;
}

.reviews-info-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px;
  color: var(--color-white);
  background:
    linear-gradient(115deg, rgba(227, 6, 19, .25), transparent 38%),
    var(--color-dark);
  border-bottom: 5px solid var(--color-red);
}

.reviews-info-box__content {
  max-width: 780px;
}

.reviews-info-box h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-info-box p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.45;
}

@media (max-width: 1199.98px) {

  .logo img {
    width: 220px;
  }

  .site-header__inner {
    gap: 18px;
  }

  .main-nav__link {
    padding-left: 9px;
    padding-right: 9px;
    font-size: 13px;
  }

  .site-header__phone {
    font-size: 16px;
  }

  .hero__grid {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 36px;
  }

  .service-card {
    flex-basis: calc((100% - 44px) / 3);
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .steps-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-page-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-page-item:nth-child(1), .gallery-page-item:nth-child(8) {
    grid-column: span 1;
    grid-row: span 1;
  }

}

@media (max-width: 991.98px) {

  :root {
    --header-height: 78px;
  }

  .section {
    padding: 70px 0;
  }

.site-header__inner {
grid-template-columns: auto 1fr auto;
gap: 0;
  }

  .logo img {
    width: 205px;
    max-height: 64px;
  }

  .burger {
    display: block;
    justify-self: end;
  }

  .site-header__contacts {
    display: none;
  }

  .main-nav {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--header-height);
    z-index: 999;
    gap: 0;
    padding: 14px 16px 18px;
    background: rgba(255, 255, 255, .98);
    border-bottom: 3px solid var(--color-red);
    box-shadow: 0 18px 36px rgba(0, 0, 0, .12);
    transform: translateY(-120%);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--transition), opacity var(--transition), visibility var(--transition);
width: 100%;
display: flex;
flex-direction: column;
text-align: left;
align-items: initial;
}

.main-nav a:last-child {border-bottom: 0}


  .main-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }

  .main-nav__link {
    min-height: 50px;
    padding: 14px 12px;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    font-size: 15px;
  }

  .main-nav__link::after {
    display: none;
  }

  .section-head, .section-head__side {
    align-items: flex-start;
    flex-direction: column;
  }

  .section-head__side {
    gap: 18px;
  }

  .hero__grid {
    grid-template-columns: 1fr;
  }

  .hero-panel {
    min-height: 340px;
  }

  .service-card {
    flex-basis: calc((100% - 22px) / 2);
  }

  .prices-layout, .callback-grid, .contacts-grid {
    grid-template-columns: 1fr;
  }

  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gallery-item:first-child {
    grid-row: span 1;
  }

  .page-hero__grid, .service-price-layout {
    grid-template-columns: 1fr;
  }

  .service-price-nav {
    position: static;
  }

  .direction-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .warning-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .service-hero__grid, .service-about__grid, .service-seo {
    grid-template-columns: 1fr;
  }

  .service-side-card {
    position: static;
  }

  .service-process-grid, .related-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-hero__media img {
    height: 360px;
  }

  .price-hero__grid, .price-page-layout {
    grid-template-columns: 1fr;
  }

  .price-sidebar {
    position: static;
  }

  .price-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .price-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .gallery-hero__grid {
    grid-template-columns: 1fr;
  }

  .gallery-page-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery-info-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .contacts-hero__grid, .contacts-main-grid, .contacts-map-layout {
    grid-template-columns: 1fr;
  }

  .contacts-form {
    position: static;
  }

  .contacts-route-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .article-layout {
    grid-template-columns: 1fr;
  }

  .article-sidebar {
    position: static;
    grid-template-columns: repeat(2, 1fr);
  }

  .article-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .article-main-image img {
    height: 360px;
  }

  .text-page-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .reviews-hero__grid {
    grid-template-columns: 1fr;
  }

  .reviews-widget__top, .reviews-info-box {
    align-items: flex-start;
    flex-direction: column;
  }

}

@media (max-width: 767.98px) {
	
	
  body.is-lock .mobile-bottom-panel {
    display: none;
  }

  .footer-size {
    padding-bottom: 72px;
  }

  .mobile-bottom-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1500;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(16, 16, 16, .96);
    border-top: 3px solid var(--color-red);
    box-shadow: 0 -12px 28px rgba(0, 0, 0, .24);
  }

  .mobile-bottom-panel__phone,
  .mobile-bottom-panel__btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 10px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
  }

  .mobile-bottom-panel__phone {
    color: var(--color-dark);
    background: var(--color-white);
  }

  .mobile-bottom-panel__btn {
    color: var(--color-white);
    background: linear-gradient(135deg, var(--color-red), var(--color-red-dark));
    border: 0;
  }

	

  .container {
    width: min(100% - 24px, var(--container));
  }

  .section {
    padding: 60px 0;
  }

  .section-head {
    margin-bottom: 30px;
  }

  .hero .bg {
    padding: 54px 0 66px;
  }

  .hero__title {
    font-size: 36px;
  }

  .hero__text {
    font-size: 17px;
  }

  .hero__stats {
    grid-template-columns: 1fr;
  }

  .hero-stat {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .hero-stat:last-child {
    border-bottom: 0;
  }

  .hero__actions {
    flex-direction: column;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .service-card {
    flex-basis: 86%;
  }


.steps-grid,.features-grid{
grid-template-columns: repeat(2, 1fr);
}


  .gallery-grid {
    grid-auto-rows: 220px;
  }

  .price-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .map-box, .map-box iframe {
    min-height: 360px;
  }

  .iframe-box__frame {
    height: 420px;
  }

  .site-footer__top, .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-nav {
    justify-content: flex-start;
  }

  .page-hero .bg{
    padding: 38px 0 62px;
  }

  .page-hero__title {
    font-size: 36px;
  }

  .page-hero__text {
    font-size: 17px;
  }

  .page-hero__actions {
    flex-direction: column;
  }

  .page-hero__actions .btn {
    width: 100%;
  }

  .direction-grid {
    grid-template-columns: 1fr;
  }

  .service-group__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .service-table__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .service-table__row strong {
    text-align: left;
  }

  .warning-box {
    padding: 24px;
  }

  .breadcrumbs {
    margin-bottom: 26px;
  }

  .service-hero .bg{
    padding: 38px 0 62px;
  }

.service-hero__title {
font-size: 36px;
word-break: break-word;
}

  .service-hero__text {
    font-size: 17px;
  }

  .service-hero__actions {
    flex-direction: column;
  }

  .service-hero__actions .btn {
    width: 100%;
  }

  .service-hero__media img {
    height: 260px;
  }

  .service-check-list, .service-process-grid, .related-services-grid {
    grid-template-columns: 1fr;
  }

  .single-price-table__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .single-price-table__row strong {
    text-align: left;
  }

  .service-seo {
    padding: 24px;
  }

  .service-seo__content {
    font-size: 16px;
  }

  .price-hero .bg{
    padding: 38px 0 62px;
  }

  .price-hero__title {
    font-size: 36px;
  }

  .price-hero__text {
    font-size: 17px;
  }

  .price-hero__actions {
    flex-direction: column;
  }

  .price-hero__actions .btn {
    width: 100%;
  }

  .price-category-grid {
    grid-template-columns: 1fr;
  }

  .price-group__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .price-table__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .price-table__row strong {
    text-align: left;
  }

  .price-note {
    padding: 24px;
  }

  .gallery-hero .bg{
    padding: 38px 0 62px;
  }

  .gallery-hero__title {
    font-size: 36px;
  }

  .gallery-hero__text {
    font-size: 17px;
  }

  .gallery-hero__actions {
    flex-direction: column;
  }

  .gallery-hero__actions .btn {
    width: 100%;
  }

  .gallery-page-item, .gallery-page-item img {
    min-height: 250px;
  }

  .gallery-info-box {
    padding: 24px;
  }

  .contacts-hero .bg{
    padding: 38px 0 62px;
  }

  .contacts-hero__title {
    font-size: 36px;
  }

  .contacts-hero__text {
    font-size: 17px;
  }

  .contacts-hero__actions, .contacts-main-actions, .contacts-route-box__actions {
    flex-direction: column;
    width: 100%;
  }

  .contacts-hero__actions .btn,
  .contacts-main-actions .btn,
  .contacts-route-box__actions .btn {
    width: 100%;
  }

  .contacts-hero-card a {
    font-size: 25px;
  }

  .contacts-map-box, .contacts-map-box iframe {
    min-height: 380px;
  }

  .contacts-route-box {
    padding: 24px;
  }

  .blog-hero {
    padding: 38px 0 62px;
  }

  .blog-hero__title {
    font-size: 36px;
  }

  .blog-hero__text {
    font-size: 17px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
  }

  .pagination {
    margin-top: 30px;
  }

  .article-hero {
    padding: 38px 0 62px;
  }

  .article-hero__title {
    font-size: 34px;
  }

  .article-hero__text {
    font-size: 17px;
  }

  .article-main-image img {
    height: 260px;
  }

  .article-text {
    font-size: 16px;
    line-height: 1.52;
  }

  .article-text h2 {
    margin-top: 34px;
  }

  .article-text blockquote {
    padding: 22px;
    font-size: 18px;
  }

  .article-sidebar, .article-related-grid {
    grid-template-columns: 1fr;
  }

  .text-page-hero .bg{
    padding: 38px 0 62px;
  }

  .text-page-hero__title {
    font-size: 34px;
  }

  .text-page-hero__text {
    font-size: 17px;
  }

  .content-text {
    font-size: 16px;
line-height: 1.5;
}

.content-text h2 {
margin-top: 32px;
font-size: 26px;
word-wrap: break-word;
}

.content-text h3{
font-size: 18px;
word-wrap: break-word;
}

  .content-text blockquote {
    padding: 20px;
    font-size: 18px;
  }

  .content-text table {
    display: block;
    overflow-x: auto;
  }

  .text-page-cta {
    padding: 24px;
  }

  .text-page-cta__actions, .text-page-cta__actions .btn {
    width: 100%;
  }

  .reviews-hero .bg{
    padding: 38px 0 62px;
  }

  .reviews-hero__title {
    font-size: 36px;
  }

  .reviews-hero__text {
    font-size: 17px;
  }

  .reviews-hero__actions {
    flex-direction: column;
  }

  .reviews-hero__actions .btn, .reviews-widget__top .btn {
    width: 100%;
  }

  .reviews-widget__body {
    min-height: 460px;
    padding: 14px;
  }

  .reviews-widget__placeholder {
    min-height: 420px;
  }

  .reviews-widget__placeholder strong {
    font-size: 22px;
  }

  .reviews-info-box {
    padding: 24px;
  }

}

@media (max-width: 575.98px) {

  :root {
    --header-height: 72px;
  }

  .logo img {
    width: 170px;
    max-height: 58px;
  }

  .section {
    padding: 52px 0;
  }

.section-title,.callback-info__title,.form-card__title,.contacts-route-box h2,.reviews-info-box h2,.gallery-info-box h2,.price-note h2,.warning-box h2,.price-cta__title,.contacts-card__title,.text-page-cta h2{font-size: 25px;line-height: 115%;word-break: break-word;}

.service-process-card h3,.related-service-card strong,.contacts-map-card h3,.price-category-card strong,.price-group__head h3,.service-group__head h3,.hero-stat strong,.feature-card__title,.step-card h3,.direction-card__body h3,.service-card__title{font-size:18px;line-height: 115%;}

.site-footer .menu_f{gap: 5px;flex-direction: column;}

.service-hero__title,.contacts-hero__title,.reviews-hero__title,.gallery-hero__title,.price-hero__title,.page-hero__title,.hero__title,.text-page-hero__title,.blog-hero__title{font-size:30px;line-height: 115%;word-break: break-word;}

.service-side-card__price{font-size:35px;}

.price-category-card,.step-card{min-height: auto;}


  .hero-panel__title {
    font-size: 74px;
  }

  .hero-panel {
    min-height: 310px;
    padding: 24px;
  }

  .hero-panel__bottom {
    left: 24px;
    right: 24px;
    bottom: 24px;
  }

  .service-card {
    flex-basis: 92%;
  }

  .service-card__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .feature-card, .step-card, .form-card, .contacts-card, .price-cta {
    padding: 24px;
  }

  .faq-item__question {
    padding: 12px;
    font-size: 14px;
  }

  .faq-item__answer {
    padding: 0 18px 18px;
  }

  .modal {
    padding: 12px;
  }

.form-card__title{
max-width: 350px;
margin: 0 auto 22px;
text-align: center;
}

.modal__close{
right: 10px;
top: 10px;
width: 30px;
height: 30px;
}

.service-seo__head h2,.content-text h2{font-size: 21px;}
.service-seo__content h3, .service-seo__content h2{font-size: 18px;}
.gallery-page-item, .gallery-page-item img {min-height: 200px;max-height:200px}


}

@media (max-width: 500.98px) {
.steps-grid,.features-grid{
grid-template-columns: 1fr;
}


}

@media (max-width: 400.98px) {
.gallery-page-item, .gallery-page-item img {min-height: 150px;max-height:150px}
.gallery-grid {grid-template-columns: 1fr;}

}

@media (max-width: 374.98px) {

  .container {
    width: min(100% - 20px, var(--container));
  }

  .logo img {
    width: 150px;
  }

  .hero__title {
    font-size: 34px;
  }


}
