

/* Start:/local/templates/main/assets/css/main/fonts.css?17884545551161*/
/* =========================================================================
   Roboto Mono
   ========================================================================= */

/* Roboto Mono Regular & All Weights (Variable: 100-700) */
@font-face {
    font-family: 'Roboto Mono';
    src: url('/local/templates/main/assets/css/main/../../fonts/Roboto_Mono/RobotoMono-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

/* Roboto Mono Italic (Variable: 100-700) */
@font-face {
    font-family: 'Roboto Mono';
    src: url('/local/templates/main/assets/css/main/../../fonts/Roboto_Mono/RobotoMono-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 700;
    font-style: italic;
    font-display: swap;
}

/* =========================================================================
   Roboto Slab
   ========================================================================= */

/* Roboto Slab Regular & All Weights (Variable: 100-900) */
@font-face {
    font-family: 'Roboto Slab';
    src: url('/local/templates/main/assets/css/main/../../fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
/* End */


/* Start:/local/templates/main/assets/css/main/normalize.css?17886261701144*/
* {
  padding: 0px;
  margin: 0px;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a,
a:link,
a:visited {
  text-decoration: none;
  color: inherit;
}

a:hover {
  text-decoration: none;
}

aside,
nav,
footer,
header,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-size: inherit;
  font-weight: inherit;
}

ul,
ul li {
  list-style: none;
}

img {
  vertical-align: top;
  outline: none;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: rgba(0, 0, 0, 0);
}

input::-ms-clear {
  display: none;
}

button,
input[type="submit"] {
  display: inline-block;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: rgba(0, 0, 0, 0);
  background: none;
  cursor: pointer;
}

input:focus,
input:active,
button:focus,
button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

/* End */


/* Start:/local/templates/main/assets/css/main/animations.css?179006019810280*/
:root {
  --anim-ease-expo: cubic-bezier(0.16,
      1,
      0.3,
      1);
  --anim-ease-spring: cubic-bezier(0.34,
      1.35,
      0.64,
      1);
  --anim-ease-smooth: cubic-bezier(0.25,
      1,
      0.5,
      1);
  --anim-duration: 0.75s;
}

.element-animation {
  opacity: 0;
  will-change: opacity, transform;
}

.slide-up {
  animation: animSlideUp var(--anim-duration) var(--anim-ease-expo) forwards;
}

.slide-up-sm {
  animation: animSlideUpSm 0.6s var(--anim-ease-expo) forwards;
}

.slide-top,
.slide-down {
  animation: animSlideDown var(--anim-duration) var(--anim-ease-expo) forwards;
}

.slide-right {
  animation: animSlideRight var(--anim-duration) var(--anim-ease-expo) forwards;
}

.slide-left {
  animation: animSlideLeft var(--anim-duration) var(--anim-ease-expo) forwards;
}

/* 2. Элегантный расфокус (кинематографичный вход для заголовков) */
.blur-in {
  animation: animBlurIn 0.8s var(--anim-ease-smooth) forwards;
}

.slide-up-blur,
.slide-top-blur {
  animation: animSlideUpBlur var(--anim-duration) var(--anim-ease-expo) forwards;
}

.slide-right-blur {
  animation: animSlideRightBlur var(--anim-duration) var(--anim-ease-expo) forwards;
}

/* 3. Масштабирование и раскрытие папок/карточек */
.fade-in {
  animation: animFadeIn 0.65s var(--anim-ease-smooth) forwards;
}

.scale-up,
.zoom-in {
  animation: animScaleUp var(--anim-duration) var(--anim-ease-expo) forwards;
}

/* Идеально для карточек услуг с вкладками папок (.services__item) */
.card-reveal {
  animation: animCardReveal 0.8s var(--anim-ease-expo) forwards;
}

/* Для бейджей, шильдиков ([ Обучение ]), тегов и кнопок (эффект штампа) */
.tag-pop,
.stamp-in {
  animation: animTagPop 0.6s var(--anim-ease-spring) forwards;
}

/* Эффект 3D-открытия папки документов */
.flip-up {
  perspective: 1000px;
  animation: animFlipUp 0.85s var(--anim-ease-expo) forwards;
}

/* Перелистывание листа бумаги (книжный разворот слева направо) */
.page-flip {
  transform-origin: left center;
  animation: animPageFlip 0.95s var(--anim-ease-expo) forwards;
}

/* Перелистывание листа справа налево */
.page-flip-right {
  transform-origin: right center;
  animation: animPageFlipRight 0.95s var(--anim-ease-expo) forwards;
}

/* Перекидной блокнот / календарь (перелистывание сверху вниз) */
.pad-flip,
.page-flip-top {
  transform-origin: top center;
  animation: animPadFlip 0.85s var(--anim-ease-expo) forwards;
}

/* Парящий лист бумаги: переворачивается в воздухе и ложится на поверхность */
.paper-drop,
.sheet-turn {
  transform-origin: center center;
  animation: animPaperDrop 1s var(--anim-ease-expo) forwards;
}

/* Для логотипов и иконок */
.logo-animation {
  animation: animLogoPop 0.75s var(--anim-ease-spring) forwards;
}

/* Отключение анимации */
.no-animation {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

@keyframes animSlideUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes animSlideUpSm {
  0% {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes animSlideDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -28px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes animSlideRight {
  0% {
    opacity: 0;
    transform: translate3d(-32px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes animSlideLeft {
  0% {
    opacity: 0;
    transform: translate3d(32px, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes animFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes animBlurIn {
  0% {
    opacity: 0;
    filter: blur(8px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes animSlideUpBlur {
  0% {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes animSlideRightBlur {
  0% {
    opacity: 0;
    transform: translate3d(-28px, 0, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes animScaleUp {
  0% {
    opacity: 0;
    transform: scale3d(0.92, 0.92, 1);
  }

  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes animCardReveal {
  0% {
    opacity: 0;
    transform: translate3d(0, 36px, 0) scale3d(0.96, 0.96, 1);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
  }
}

@keyframes animTagPop {
  0% {
    opacity: 0;
    transform: scale3d(0.82, 0.82, 1);
  }

  70% {
    transform: scale3d(1.05, 1.05, 1);
  }

  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes animFlipUp {
  0% {
    opacity: 0;
    transform: perspective(600px) rotateX(15deg) translate3d(0, 25px, 0);
  }

  100% {
    opacity: 1;
    transform: perspective(600px) rotateX(0deg) translate3d(0, 0, 0);
  }
}

@keyframes animLogoPop {
  0% {
    opacity: 0;
    transform: scale3d(0.65, 0.65, 1);
  }

  70% {
    transform: scale3d(1.08, 1.08, 1);
  }

  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes animPageFlip {
  0% {
    opacity: 0;
    transform: perspective(1400px) rotateY(-75deg) translateZ(-40px);
    filter: brightness(0.85);
  }

  60% {
    opacity: 1;
    filter: brightness(1.04);
  }

  100% {
    opacity: 1;
    transform: perspective(1400px) rotateY(0deg) translateZ(0);
    filter: brightness(1);
  }
}

@keyframes animPageFlipRight {
  0% {
    opacity: 0;
    transform: perspective(1400px) rotateY(75deg) translateZ(-40px);
    filter: brightness(0.85);
  }

  60% {
    opacity: 1;
    filter: brightness(1.04);
  }

  100% {
    opacity: 1;
    transform: perspective(1400px) rotateY(0deg) translateZ(0);
    filter: brightness(1);
  }
}

@keyframes animPadFlip {
  0% {
    opacity: 0;
    transform: perspective(1200px) rotateX(75deg) translateY(-25px);
    filter: brightness(0.88);
  }

  65% {
    opacity: 1;
    filter: brightness(1.04);
  }

  100% {
    opacity: 1;
    transform: perspective(1200px) rotateX(0deg) translateY(0);
    filter: brightness(1);
  }
}

@keyframes animPaperDrop {
  0% {
    opacity: 0;
    transform: perspective(1100px) translate3d(0, -45px, 60px) rotateX(22deg) rotateY(-18deg) rotateZ(5deg) scale(1.04);
    filter: brightness(0.92);
  }

  70% {
    filter: brightness(1.03);
  }

  100% {
    opacity: 1;
    transform: perspective(1100px) translate3d(0, 0, 0) rotateX(0) rotateY(0) rotateZ(0) scale(1);
    filter: brightness(1);
  }
}


@media (max-width: 577px) {
  :root {
    --anim-duration: 0.6s;
  }

  @keyframes animSlideUp {
    0% {
      opacity: 0;
      transform: translate3d(0, 18px, 0);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes animSlideRight {
    0% {
      opacity: 0;
      transform: translate3d(-18px, 0, 0);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes animSlideLeft {
    0% {
      opacity: 0;
      transform: translate3d(18px, 0, 0);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes animCardReveal {
    0% {
      opacity: 0;
      transform: translate3d(0, 20px, 0) scale3d(0.98, 0.98, 1);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    }
  }

  @keyframes animPageFlip {
    0% {
      opacity: 0;
      transform: perspective(800px) rotateY(-45deg);
    }

    100% {
      opacity: 1;
      transform: perspective(800px) rotateY(0deg);
    }
  }
}


.words-typer,
.js-typewriter {}

.words-typer .words-typer__word,
.js-typewriter .words-typer__word {
  display: inline-block;
  white-space: nowrap;
}

.words-typer i,
.words-typer .words-typer__char,
.js-typewriter i {
  display: inline-block;
  opacity: 0;
  font-style: normal;
  font-size: 1em;
  min-width: 0.35em;
  border-radius: 2px;
}

/* Запуск анимации символов и фона при классе animate или is-animated */
.words-typer.animate i,
.words-typer.is-animated i,
.words-typer.animate .words-typer__char,
.words-typer.is-animated .words-typer__char,
.js-typewriter.animate i {
  animation:
    typewriter 300ms forwards,
    background 1000ms forwards;
}

@keyframes typewriter {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }

  50% {
    opacity: 0.9;
    transform: scale(1.15);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes background {
  0% {
    background-color: color-mix(in srgb, var(--bg) 75%, black 25%);
  }

  100% {
    background-color: transparent;
  }
}

/* Резервные имена кейфреймов */
@keyframes wordsTypewriter {
  0% {
    opacity: 0;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.4);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes wordsTypewriterBg {
  0% {
    background-color: var(--words-typer-bg, rgba(45, 44, 52, 0.14));
  }

  100% {
    background-color: transparent;
  }
}

/* Режим пониженной динамики для доступности */
@media (prefers-reduced-motion: reduce) {

  .element-animation,
  .slide-up,
  .slide-up-sm,
  .slide-down,
  .slide-top,
  .slide-right,
  .slide-left,
  .scale-up,
  .card-reveal,
  .tag-pop,
  .flip-up,
  .page-flip,
  .page-flip-right,
  .pad-flip,
  .page-flip-top,
  .paper-drop,
  .sheet-turn {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
/* End */


/* Start:/local/templates/main/assets/libs/fancybox/fancynbox.min.css?176191598224789*/
:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:.175s ease-out both f-throwOutUp}.f-throwOutDown{animation:.175s ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0, -150px, 0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0, 150px, 0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, 0.2s) ease-out .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, 0.2s) ease-out both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, 0.2s) ease both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, 0.2s) ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, 0.2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: 0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden !important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, 0.98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, 0.1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video{overflow:hidden}.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-zooming-in .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content,.is-zooming-out .fancybox__slide:not(.is-selected) .fancybox__content{visibility:hidden}.is-animating .fancybox__content,.is-dragging .fancybox__content{filter:blur(0px);will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px 0;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, 0.6);--f-button-active-bg: rgba(0, 0, 0, 0.6);--f-button-hover-bg: rgba(0, 0, 0, 0.6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, 0.3);--f-button-active-bg: rgba(24, 24, 27, 0.5);--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity: 0.65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:.25s ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:.35s ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:.15s ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:.35s ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:100%;height:100%}.fancybox__container:not(.is-compact) .has-iframe .fancybox__content,.fancybox__container:not(.is-compact) .has-map .fancybox__content,.fancybox__container:not(.is-compact) .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.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{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 20px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2, #e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden}.f-thumbs__track{display:flex;will-change:transform}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);min-width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--left, 0)*1px);width:calc(100% - var(--width, 0)*1px);cursor:pointer}.is-modern .f-thumbs__slide{--clip-path: inset( 0 calc( (var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * 0.5 * (1 - var(--progress, 0)) ) round var(--f-thumb-border-radius, 0) );transform:translate3d(calc(var(--shift, 0) * -1px), 0, 0);transition:none;pointer-events:none}.is-modern .f-thumbs__slide>*{clip-path:var(--clip-path)}.is-modern:not(.is-using-mouse) .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.is-modern.in-touch .f-thumbs__slide{filter:none}.is-modern.is-resting .f-thumbs__slide{transition:all .33s ease}.is-modern.is-resting .f-thumbs__slide>*{transition:all .33s ease}.f-thumbs__slide__button{appearance:none;width:100%;height:100%;margin:0;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{position:absolute;overflow:hidden;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover}.f-thumbs.is-horizontal .f-thumbs__track{margin:0 auto;padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;margin:auto 0;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(0.23, 1, 0.32, 1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 20px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px !important}.is-closing .fancybox__thumbs{transition:none !important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, 0.65);--f-button-hover-bg: rgba(70, 70, 73, 0.65);--f-button-active-bg: rgba(90, 90, 93, 0.65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: 0.65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;user-select:none;pointer-events:none}
/* End */


/* Start:/local/templates/main/assets/libs/swiper/swiper-bundle.min.css?176191598218432*/
/**
 * Swiper 11.1.9
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 31, 2024
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */


/* Start:/local/templates/main/assets/css/style.css?1794556595150284*/
/* ===== css/main/styles-main.css ===== */
:root {
  /* Основные цвета (из Figma) */
  --bg: #faf6f3;
  /* фон */
  --background: #faf6f3;
  --primary: #c0e583;
  /* зеленый осн */
  --primary-hover: #d8eeb5;
  /* зеленый при наведении */
  --second-color: #dec0ff;
  /* сиреневый */
  --accent-purple: #a248a4;
  /* фиолетовый акцент */

  /*  */
  --purple-light: #efe2ff;
  --purple-dark: #8b64b9;
  /* Текстовые цвета */
  --text-main: #2d2c34;
  /* текст осн */
  --text: #585858;
  --text-secondary: #4d4d4d;
  /* пункты меню */
  --text-muted: #c3c3c3;
  /* текст 3 */
  --dark: #1c2329;
  --black: #2d2c34;

  /* Вспомогательные */
  --border: #d9d9d9;
  --gray2: #a9b5bc;
  --white: #ffffff;
  --green-dark: #80a73f;

  /* Шрифты */
  --main-font: "Roboto Mono", monospace;
  --title-font: "Roboto Slab", serif;

  --text16: clamp(14px, 13.47px + 0.13vw, 16px);
  --text18: clamp(16px, 15.47px + 0.13vw, 18px);
  --text20: clamp(18px, 17.47px + 0.13vw, 20px);
  --text22: clamp(20px, 19.47px + 0.13vw, 22px);
  --text24: clamp(22px, 21.47px + 0.13vw, 24px);
  --text32: clamp(26px, 24.42px + 0.39vw, 32px);
  --text42: clamp(28px, 24.32px + 0.92vw, 42px);
  --text70: clamp(28px, 16.95px + 2.76vw, 70px);
  --text96: clamp(64px, 56.63px + 1.84vw, 96px);

  --crumbsTitle: clamp(36px, 21.26px + 3.68vw, 96px);

  --header-height: 190px;
  --container-left: 80px;

  --margin-120: 120px;
  --margin-80: 80px;

  --rounded-sm: 4px;
  --rounded: 6px;
  --rounded-lg: 8px;
  --duration: 0.425s;
  --gap: 30px;
  --shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  --header-bg-fixed: color-mix(in srgb, var(--background) 50%, transparent 50%);
}

.tablebodytext {
  display: none;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  padding-top: var(--header-height, 190px);
  background: var(--background);
  font-family: var(--main-font), sans-serif;
}

/* Статичные (базовые стили) */
.fancybox__backdrop {
  background: rgba(5, 15, 36, 0.4);
}

.dynamic-dashed-line {
  width: 100%;
  height: 3px;
  background-color: #efe2ff;
  /* Любой цвет или var(--border-color) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: 20px 3px;
  mask-size: 20px 3px;
}

h1,
h2,
h3 {
  font-family: var(--main-font);
}

.container {
  max-width: 1710px;
  margin: 0 auto;
}

.mt-120 {
  margin-top: var(--margin-120);
}

.mb-120 {
  margin-bottom: var(--margin-120);
}

@media (max-width: 1439px) {
  :root {
    --margin-120: 100px;
  }
}

@media (max-width: 767px) {
  :root {
    --margin-120: 60px;
    --header-height: 82px;
  }
}

.mt-80 {
  margin-top: var(--margin-80);
}

@media (max-width: 767px) {
  :root {
    --margin-80: 50px;
  }
}

@media (max-width: 577px) {
  :root {
    --margin-80: 30px;
  }
}

.mb-80 {
  margin-bottom: var(--margin-80);
}

@media (max-width: 767px) {
  :root {
    --margin-80: 50px;
  }
}

@media (max-width: 577px) {
  :root {
    --margin-80: 30px;
  }
}

.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.bg-block {
  background: var(--white);
  padding: var(--margin-120) 0;
}

#bx-panel {
  display: none !important;
}

/* Иконка "Свайпа (пальца) */

.swipe-icon {
  display: none;
  width: max-content;
  margin-left: auto;
  margin-bottom: 5px;
}

.swipe-icon img {
  filter: brightness(1.75);
  display: block;

  animation: swipe 1s infinite linear alternate;
}

@media (max-width: 1700px) {
  .solutions .swipe-icon {
    display: block;
  }
}

@media (max-width: 1439px) {

  .services .swipe-icon,
  .price .swipe-icon {
    display: block;
  }
}

@media (max-width: 1199px) {

  .certificates .swipe-icon,
  .partners .swipe-icon {
    display: block;
  }
}

@media (max-width: 991px) {
  .useful .swipe-icon {
    display: block;
  }
}

@media (max-width: 767px) {

  .reviews .swipe-icon,
  .reviews-about .swipe-icon {
    display: block;
  }
}

@keyframes swipe {
  to {
    transform: translateX(-10px);
  }
}

/* end Иконка "Свайпа (пальца) */

/* клеточка */

/* Фоновая бумага в клетку (инженерная / тетрадная сетка на чистом CSS) */
.paper-bg {
  --paper-bg-color: #0c0d10;
  --paper-line-color: rgba(255, 255, 255, 0.08);
  --paper-grid-size: 18px;

  background-color: var(--paper-bg-color);
  background-image:
    /* Мягкий рассеянный свет сверху, как на макете */
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.07) 0%,
      rgba(255, 255, 255, 0) 140px),
    /* Вертикальные линии сетки */
    linear-gradient(to right, var(--paper-line-color) 1px, transparent 1px),
    /* Горизонтальные линии сетки */
    linear-gradient(to bottom, var(--paper-line-color) 1px, transparent 1px);
  background-size:
    100% 100%,
    var(--paper-grid-size) var(--paper-grid-size),
    var(--paper-grid-size) var(--paper-grid-size);
  background-position:
    0 0,
    0 0,
    0 0;

  display: flex;
  gap: 20px;
  padding-left: 40px;
}

/* Светлая вариация (для белых карточек-листов в клетку) */
.paper-bg-light {
  --paper-bg-color: var(--white, #ffffff);
  --paper-line-color: rgba(45, 44, 52, 0.04);
  background-image:
    linear-gradient(to right, var(--paper-line-color) 1px, transparent 1px),
    linear-gradient(to bottom, var(--paper-line-color) 1px, transparent 1px);
  background-size:
    var(--paper-grid-size) var(--paper-grid-size),
    var(--paper-grid-size) var(--paper-grid-size);
}

.paper-bg-noflex {
  display: block;
}

.paper-bg__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 60px;
}

.paper-bg__holes {
  display: grid;
  gap: 20px;
}

.paper-bg__holes span {
  display: block;
  width: 20px;
  height: 20px;
  background: var(--bg);
  box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
}

/* клеточка */

/* ТЕКСТ */

.text16 {
  font-size: var(--text16);
  line-height: 100%;
}

.text18 {
  font-size: var(--text18);
  line-height: 100%;
}

.text20 {
  font-size: var(--text20);
  line-height: 100%;
}

.text22 {
  font-size: var(--text22);
  line-height: 100%;
}

.text24 {
  font-size: var(--text24);
  line-height: 100%;
}

.text32 {
  font-size: var(--text32);
  line-height: 100%;
}

.text42 {
  font-size: var(--text42);
  line-height: 100%;
}

.text70 {
  font-size: var(--text70);
  line-height: 100%;
}

.text92 {
  font-size: var(--text92);
  line-height: 100%;
}

.title-font {
  font-family: var(--title-font);
}

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

.list li {
  display: flex;
  gap: 12px;
  align-items: center;
  letter-spacing: -0.32px;
}

.list__icon {
  width: 28px;
  height: 28px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  pointer-events: none;
}

.list-dots {
  padding-left: 20px;
}

.list-dots li {
  list-style: disc;
}

.list-dots li::marker {
  font-size: 30px;
  color: var(--primary);
}

.text {
  color: var(--text);
  line-height: normal;
}

.article__text .text>p:first-of-type {
  color: var(--text);

  font-size: var(--text20);
  font-weight: 400;
}

.article__text .text p span {
  color: var(--text);

  font-weight: bold;
}

.text span {
  color: var(--purple-dark);
}

.text p {
  margin-bottom: 30px;
  color: var(--text);

  font-size: var(--text16);
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
}

.text p:has(strong) {
  margin-bottom: 16px;
}

.text>div:not([class]) {
  display: flex;
  gap: 10px;
  align-items: center;
  background: var(--bg);
  padding: 20px;
  border-radius: var(--rounded-sm);
}

.text div:not([class]) img {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}

.text div p {
  margin-bottom: 0;
}

.text h2 {
  color: var(--text-main);
  font-family: "Roboto Slab";
  font-size: calc(var(--text42) + 3px);
  font-weight: 400;
  line-height: 100%;
  /* 45px */
  margin-bottom: 30px;
  margin-top: 60px;
}

.text ul {
  padding-left: 24px;
  display: grid;
  gap: 16px;
}

.text ul li {
  vertical-align: top;
  line-height: 100%;
  position: relative;
}

.text ul li::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 1px;
  border-radius: 50%;
  background: var(--primary);
  width: 12px;
  height: 12px;
}

.text ol {
  list-style: none;
  display: grid;
  gap: 16px;
}

.text ol li {
  counter-increment: liItem;
  position: relative;
  padding-left: 46px;
  font-size: var(--text16);
}

.text ol li strong {
  font-weight: bold;
  display: block;
  margin-bottom: 6px;
  font-size: var(--text18);
}

.text ol li::before {
  content: "[" counter(liItem) "]";
  position: absolute;
  left: 0;
  top: 1px;

  color: var(--green-dark);

  /* лид текст */
  font-family: "Roboto Mono";
  font-size: var(--text20);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.text blockquote {
  border-radius: 6px;
  background: var(--bg);
  padding: 20px;
  display: inline-block;
  margin-bottom: 30px;
}

.text blockquote p {
  margin-bottom: 16px;
}

.text blockquote span {
  font-size: var(--text18);
  font-weight: bold;
}

.text-adv {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.text-adv__item {
  padding: 20px;
  background-color: var(--bg);
  border-radius: var(--rounded);
  font-size: var(--text18);
  display: grid;
  gap: 18px;
}

.text-adv__item p {
  margin-bottom: 0;
}

.text-adv__item>p:first-of-type {
  color: var(--purple-dark);

  font-size: var(--text18);
  font-weight: 500;
}

@media (max-width:577px) {
  .text>div:not([class]) {
    position: relative;
  }

  .text>div:not([class]) {
    position: relative;
    padding-top: 36px;
  }

  .text>div:not([class]) img {
    position: absolute;
    top: 0px;
    left: 15px;
    padding: 5px;
    background: var(--bg);
    width: 32px;
    height: 32px;
  }
}

/* ТЕКСТ */

.no-offsets>* {
  padding-top: 0;
  margin: 0;
}

.swiper-wrapper {
  height: auto;
}

.button {
  padding: 20px;
  text-align: center;
  border-radius: var(--rounded);
  color: var(--black);
  transition: all var(--duration);
  cursor: pointer;
  display: flex;
  font-size: var(--text18);
  gap: 6px;
  align-items: center;
  justify-content: center;
}

.button-green {
  padding: 20px 60px;
  background: var(--primary);
  color: var(--text-main);

  font-size: var(--text18);

  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

@media (hover: hover) {
  .button-green:hover {
    background: var(--primary-hover);
  }
}

.button-purple {
  padding: 20px 40px;
  background: #ceaff7;
  color: var(--text-main);
  font-size: var(--text18);
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

@media (hover: hover) {
  .button-purple:hover {
    background: var(--second-color);
  }
}

.button.button-outline {
  padding: 18px 40px;
  background: transparent;
  border: 2px solid var(--purple-dark);
  font-size: var(--text18);

  font-style: normal;
  font-weight: 500;
  color: var(--purple-dark);
  line-height: normal;
}

@media (hover: hover) {
  .button.button-outline:hover {
    border: 2px solid var(--second-color);
    background: var(--second-color);
    color: var(--black);
  }
}

.button.button-outline-green {
  border: 2px solid var(--green-dark);
  color: var(--green-dark);
}

@media (hover: hover) {
  .button.button-outline-green:hover {
    border: 2px solid var(--primary);
    background-color: var(--primary);
    color: var(--black);
  }
}

.button.button-link {
  display: flex;
  justify-content: space-between;
  color: var(--green-dark);
  gap: 20px;
  font-size: var(--text18);

  font-weight: 500;
  padding: 0;
}

.button.button-link img {
  transition: all var(--duration);
}

.button.button-link-purple {
  color: var(--purple-dark);
}

@media (hover: hover) {
  .button.button-link:hover img {
    transform: translateX(5px) scale(1.1);
  }
}

.button.button-outline.button-arrow {
  padding: 10px;
  padding-left: 40px;
  position: relative;
  padding-right: 40px;
}

.button.button-outline.button-arrow .button-inner {
  display: flex;
  align-items: center;
  gap: 10px;
}

.button.button-outline.button-arrow .button-inner .button-yandex-img {
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateX(-50px) translateY(-50%);
  transition: all var(--duration);
  opacity: 0;
}

@media (hover: hover) {
  .button.button-outline.button-arrow:hover .button-inner .button-yandex-img {
    transform: translateX(-25px) translateY(-50%);
    opacity: 1;
  }

  .button.button-outline.button-arrow:hover {
    padding-left: 20px;
    padding-right: 60px;
  }
}

/* Контейнер тега */
.tag {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding: 12px 42px;
  /* width: max-content; */
}

/* Текст внутри тега */
.tag span {
  position: relative;
  z-index: 2;
  font-size: var(--text24, 20px);
  color: #1a1a1a;
  white-space: nowrap;
  font-family: var(--title-font);
}

/* Сгенерированный SVG-мазок */
.tag-brush-svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  overflow: visible;

  /* Анимация проявления маркера слева направо */
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.55s 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Класс запуска анимации при скролле */
.tag.is-drawn .tag-brush-svg {
  clip-path: inset(0 0 0 0);
}

/* ЗАГОЛОВКИ */

.title {}

.title__heading {
  color: #2d2c34;
  font-size: var(--text70);
  font-style: normal;
  font-family: var(--title-font);
  font-weight: 400;
  display: block;
  line-height: 100%;
  /* 70px */
  position: relative;
}

.title__underline {
  position: absolute;
}

.title__heading span {
  display: block;
}

.title-span {}

.title-span mark {
  position: relative;
  background: transparent;
  display: inline-block;
  z-index: -1;
  padding: 10px 0;
  color: var(--text-main);
}

.title-span mark::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 0;
  background: url("/local/templates/main/assets/css/../img/icons/icon-around-green.png") center / contain no-repeat;
  transform: scale(1);
  opacity: 0;
  transition: all var(--duration);
  z-index: -1;
  pointer-events: none;
}

.title-span-big mark::before {
  background: url("/local/templates/main/assets/css/../img/icons/icon-around-big.svg") center / contain no-repeat;
  left: -10px;
}

.title-span mark.animated::before {
  opacity: 1;
  transform: scale(1.25);
}

.title-span-big mark.animated::before {
  opacity: 1;
  transform: scale(1.75);
}

.title-big {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  position: relative;
}

.title-big .title__underline {
  position: absolute;
  bottom: -50px;
  left: 80px;
  width: max-content;
}

.title__description {
  color: var(--text, #585858);
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.32px;
  max-width: 840px;
}

.title__description span {
  color: var(--purple-dark);
}

.title-light .title__heading {
  color: var(--background);
}

.title-center .title__heading {
  text-align: center;
}

.title-typing .title__heading span {
  display: inline;
  margin: 0 auto;
}

.title-typing .title__underline {
  left: 50%;
  transform: translateX(-50%);
  bottom: -40px;
}

/* end ЗАГОЛОВКИ */

/* Навигация слайдера */

.navigation {
  display: flex;
  justify-content: center;
  gap: 36px;
  align-items: center;
  padding: 0 20px;
  margin-top: 26px;
}



.sertificates__prev {}

@media (hover: hover) {
  .navigation__arrow:hover img {
    transform: scale(1.05);
  }
}

.navigation__arrow img {
  transition: all var(--duration);
}

.navigation__prev img {
  transform-origin: right;
}

.navigation__next img {
  transform-origin: left;

}

.swiper-pagination {
  color: var(--purple-dark, #8b64b9);
  width: auto;
  position: static;
  margin-top: 26px;

  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.32px;
  margin-top: 0;
}

.swiper-pagination::before {
  content: "[";
}

.swiper-pagination::after {
  content: "]";
}

.navigation__next {}

.navigation__arrow {
  cursor: pointer;
}

/* end Навигация слайдера */

/* Визуальный редактор */

.span-purple {
  color: var(--purple-dark);
}

.bg-white {
  background-color: var(--white);
  padding: var(--margin-80) 0;
}

/* end Визуальный редактор */

.accent-card {
  background: var(--bg);
}

/* end Статичные стили */

/* ===== css/blocks/company-info.css ===== */
.company-info {}

.company-info__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
}

.company-info__item {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 38px;

  border-radius: var(--rounded);
  background: var(--bg);
  box-shadow: var(--shadow);
}

.company-info__top {}

.company-info__name {
  color: var(--black);
  font-family: var(--title-font);
  font-size: 24px;
  line-height: 120%;
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.company-info__top .dynamic-dashed-line {
  background-color: var(--primary-hover);
  margin-bottom: 38px;
}

.company-info__text {}

.company-info__text a {
  display: block;
  margin-bottom: 12px;
}

.company-info__descr {
  color: var(--text);
}

@media (max-width: 1800px) {
  .company-info__items {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

@media (max-width: 1700px) {
  .company-info__items {
    grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
    gap: 15px;
  }

  .company-info__item {
    padding: 16px;
  }

  .company-info__text p,
  .company-info__text a {
    font-size: 18px;
  }
}

@media (max-width: 1439px) {
  .company-info__items {
    grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  }

  .company-info__item {
    padding: 16px;
  }
}

@media (max-width: 767px) {
  .company-info__items {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

@media (max-width: 577px) {
  .company-info__top .dynamic-dashed-line {
    margin-bottom: 24px;
  }
}

/* ===== css/blocks/map.css ===== */
.map {}

.map__iframe {}

.map .container {
  margin-left: var(--container-left);
  margin-right: 0;
  max-width: unset;
}

.map .title {
  margin-right: var(--container-left);
  max-width: unset;
}

.map__iframe iframe {
  width: 100%;
  height: 100%;
  border-radius: var(--rounded);
}

.map__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
  gap: 30px;
  min-height: 675px;
}

.map__info {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.map__orients {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 306px;
}

.map__orients-title {}

.map__orients-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.map__image {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 80%;
}

.map__place {
  background: var(--bg);
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 546px;
  border-radius: var(--rounded);
  box-shadow: var(--shadow);
  color: var(--text);
}

@media (max-width: 1439px) {
  .map__orients {
    max-width: unset;
  }

  .map__orients-list {
    gap: 20px;
  }

  .map__wrapper {
    grid-template-columns: repeat(auto-fill, minmax(525px, 1fr));
    min-height: 624px;
  }

  .map__image {
    width: 100%;
  }
}

@media (max-width: 1199px) {
  .map__iframe {
    min-height: 400px;
  }

  .map__info {
    min-height: 600px;
  }

  .map__image img {
    width: 75%;
    display: block;
    margin-left: auto;
  }

  .map__orients {
    max-width: 350px;
  }
}

@media (max-width: 767px) {
  .map__info {
    min-height: 500px;
  }

  .map__orients {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(5px);
    padding: 20px;
    padding-left: 0;
    border-radius: var(--rounded);
  }
}

@media (max-width: 577px) {
  .map__image img {
    width: 100%;
  }

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

  .map__place {
    padding: 12px;
  }

  .map__place p {
    font-size: 16px;
  }

  .map .title {
    overflow: visible;
  }

  .map .title-span-big mark.animated::before {
    transform: scaleY(3) scaleX(2);
    left: -10px;
  }

  .map__info {
    min-height: 600px;
  }

  .map__orients-list {
    gap: 16px;
  }
}

/* ===== css/blocks/requisites.css ===== */
.requisites .title {
  margin-bottom: 50px;
}

.requisites__wrapper {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
}

.requisites__block {
  /* display: grid; */
}

.requisites__item {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 50px;
  align-items: center;
  padding: 16px;
}

.requisites__item:nth-child(odd) {
  background: var(--bg);
  border-radius: var(--rounded-sm);
}

.requisites__name {
  color: var(--text);
}

.requisites__value {
  color: var(--black);
  font-size: var(--text20);
}

@media (max-width: 1439px) {
  .requisites__wrapper {
    grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
    gap: 16px;
  }
}

@media (max-width: 1199px) {
  .requisites__wrapper {
    gap: 0px;
  }

  .requisites__block:nth-child(2) .requisites__item:nth-child(odd) {
    background: var(--bg);
    border-radius: var(--rounded-sm);
  }

  .requisites__block:nth-child(2) .requisites__item:nth-child(even) {
    background: var(--white);
    border-radius: var(--rounded-sm);
  }
}

@media (max-width: 577px) {
  .requisites__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }

  .requisites__item {
    grid-template-columns: repeat(1, 1fr);
    text-align: center;
    padding: 20px 0;
    gap: 0;
  }

  .requisites__name {
    padding-bottom: 8px;
    margin-bottom: 8px;
  }

  .requisites__item:nth-child(odd) {
    box-shadow: var(--shadow);
  }

  .requisites__block:nth-child(2) .requisites__item:nth-child(odd) {
    box-shadow: none;
  }

  .requisites__block:nth-child(2) .requisites__item:nth-child(even) {
    box-shadow: var(--shadow);
  }
}

/* header */

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  width: 100%;
  width: 100%;
  padding-top: 10px;
  transition: var(--duration);
  background: var(--background);
}

.header__mobile {
  display: none;
}

.header.dop-fixed {
  transform: translateY(-110%);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  background: var(--header-bg-fixed);
  backdrop-filter: blur(5px);
}

.header.opened {
  background: var(--bg);
  backdrop-filter: blur(0px);
}



.header.fixed {
  transform: none;
}

.header__burger {
  display: none;
}

.header__top {
  display: flex;
  align-items: flex-end;
  gap: 66px;
}

.header__right {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  height: max-content;
  flex-grow: 1;
}

.header__logo {}

.header__address {}

.header__address .header__text {
  max-width: 250px;
}

.header__block {
  display: flex;
  gap: 12px;
  align-items: center;
}

.header__icon {}

.header__text {
  transition: all var(--duration);
}

.header__phones {
  display: grid;
  gap: 5px;
}

.header__phone {}

.header__email {}

@media (hover: hover) {

  .header__phones .header__text:hover,
  .header__email .header__text:hover {
    color: var(--green-dark);
  }
}

.header__yandex {
  width: 200px;
  height: 65px;
  border-radius: var(--rounded);
  border: 2px solid #d9d9d9;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.header__yandex iframe {
  width: 150px;
  height: 50px;
  border: none;
  display: block;
  transform: scale(1.307, 1.22);
  transform-origin: center center;
}

.header__bottom {
  margin-top: 20px;
}

.header__nav {
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 50px;
  padding-left: 30px;
  gap: 30px;
  border-radius: var(--rounded);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.header__nav-list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 20px;
}

.header__nav-item {
  display: flex;
  align-items: center;
  flex-grow: 1;
  justify-content: space-around;
  font-size: var(--text20);
}

@media (hover: hover) {
  .header__nav-link:hover {
    color: var(--green-dark);
  }
}

.header__nav-link {
  transition: all var(--duration);
}

.header__nav-item::after {
  content: "";
  background-color: var(--bg);
  width: 20px;
  border-radius: 50%;
  display: block;
  height: 20px;
  box-shadow: -1px 1px 1px 0 rgba(0, 0, 0, 0.1) inset;
}

.header__socials {
  flex-shrink: 0;
  display: flex;
  gap: 6px;
}

.header__social {}

.header__social svg path {
  transition: all var(--duration);
}

.header__social:hover svg path {
  fill: var(--green-dark);
}

.header__social-tg:hover svg path {
  stroke: var(--green-dark);
}

/* end header */

.services__fold {
  border-radius: 10px 10px 0 0;
  height: 40px;
  width: 150px;
  font-weight: 600;
  transition: all 0.5s;
}

.services__fold:nth-child(1) {
  background: white;
}

.services__fold:nth-child(2) {
  background: var(--primary);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
}

/* hero */

.hero {
  margin-bottom: 60px;
}

.hero .container {
  margin-left: var(--container-left);
  margin-right: 0;
  max-width: unset;
}

.hero__inner {
  display: grid;
  align-items: center;
  grid-template-columns: 1.075fr 2fr;
  gap: 92px;
}

.hero-half .hero__inner {
  grid-template-columns: 1fr 1fr;
  justify-content: center;
}

.hero-half .hero__content {
  transform: none;
}

.hero-half {
  min-height: 850px;
}

.hero-main .hero__inner {
  grid-template-columns: 1fr 2fr;
}

.hero__content {
  flex-shrink: 0;
  transform: translateY(-75px);
}

.hero__title {
  margin: 0 0 40px;
  color: var(--black);
  display: flex;
  font-family: var(--title-font);
  font-size: var(--crumbsTitle);
  align-items: baseline;
}

.hero__desc {
  margin: 0 0 35px;
  color: var(--text-secondary);
  line-height: 140%;
}

.hero__desc span {
  color: var(--green-dark);
}

.hero__desc-accent {
  color: var(--green-dark);
}

.hero__buttons {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 70px;
}

.hero__buttons .button {
  width: 100%;
  padding: 20px;
}

.hero__badge {
  display: flex;
  align-items: center;
  gap: 28px;
}

.hero__badge-icon {
  flex-shrink: 0;
  width: 250px;
}

.hero__badge-icon img {
  width: 100%;
  height: auto;
  display: block;
}

.hero__badge-text {
  color: var(--text-secondary);
  line-height: 120%;
}

.hero__badge-highlight {
  color: var(--purple-dark);
}

.hero__art {
  display: flex;
  justify-content: flex-end;
  flex-grow: 1;
  width: 100%;
  overflow: hidden;
}

.hero__art-img {
  max-width: 100%;
  width: 100%;
  display: block;
  object-fit: contain;
  transform: translateY(-50px);
}

.hero__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 40px;
}

.hero__item {
  display: grid;
  gap: 20px;
}

.hero__icon {}

.hero__text {
  color: var(--text);
}

.hero-about {
  min-height: 853px;
  margin-bottom: 0;
  overflow: clip;
  box-shadow: var(--shadow);
}

.hero-about .hero__inner {
  grid-template-columns: 870fr 945fr;
  align-items: start;
  gap: 0;
}

.hero-about .hero__content {
  padding-top: 39px;
  transform: none;
}

.hero-about .hero__title {
  font-size: var(--text70);
  line-height: 100%;
  margin-bottom: calc(40px - 0.17em);
}

.hero-about .hero__desc {
  max-width: 748px;
  margin-bottom: 60px;
  color: var(--text);
  line-height: normal;
}

.hero-about .hero__buttons {
  max-width: 697px;
  margin-bottom: 147px;
}

.hero-about .hero__buttons .button {
  min-height: 68px;
}

.hero-about .hero__items {
  max-width: 725px;
}

.hero-about .hero__icon img {
  display: block;
  width: 140px;
  height: 106px;
  object-fit: cover;
}

.hero-about .hero__text {
  line-height: 120%;
  letter-spacing: -0.32px;
}

.hero-about .hero__art-img {
  transform: none;
}

.hero__info {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
  margin-bottom: 40px;
}

.hero__info-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero__info-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.hero__info-text {
  color: var(--black);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
}

.hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hero__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 165px;
  padding: 10px;
  border-radius: 100px;
  background: var(--primary-hover);
  color: var(--black);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
  transition: background var(--duration);
}

@media (hover: hover) {
  .hero__tag:hover {
    background: var(--primary);
  }
}

.hero-blog {
  margin-bottom: 0;
  overflow: clip;
  box-shadow: var(--shadow);
}

.hero-blog .hero__inner {
  grid-template-columns: 870fr 945fr;
  align-items: start;
  gap: 0;
}

.hero-blog .hero__content {
  display: flex;
  flex-direction: column;
  min-height: 790px;
  padding: 48px 0 60px;
}

.hero-blog .hero__title {
  display: block;
  max-width: 841px;
  margin: -0.175em 0 calc(30px - 0.114em);
  font-size: var(--text70);
  line-height: 100%;
}

.hero-blog .hero__desc {
  margin-bottom: 40px;
  color: var(--text);
  line-height: normal;
}

.hero-blog .hero__desc>span {
  color: var(--text);
}

.hero-blog .hero__desc>span:not(.words-typer__word) .words-typer__word {
  color: var(--green-dark);
}

.hero-blog .hero__tags {
  margin-bottom: 60px;
}

.hero-blog .hero__buttons {
  width: 100%;
  max-width: 697px;
  margin: auto 0 0;
}

.hero-blog .hero__buttons .button {
  min-height: 68px;
}

.hero-blog .hero__art-img {
  transform: none;
  max-height: 800px;
}


.hero-title-words {
  max-width: 100%;
  display: block;
  line-height: 100%;
  font-size: var(--text70);
}

.hero-service {
  margin-bottom: 0;
  overflow: clip;
  box-shadow: var(--shadow);
}

.hero-service .hero__inner {
  grid-template-columns: minmax(0, 870fr) minmax(0, 945fr);
  align-items: start;
  gap: 0;
}

.hero-service .hero__content {
  position: relative;
  z-index: 1;
  padding-top: 49px;
}

.hero-service .hero__title {
  display: block;
  width: max-content;
  max-width: 987px;
  margin: -0.175em 0 calc(30px - 0.114em);
  font-size: var(--text70);
  line-height: 100%;
}

.hero-service .hero__desc {
  max-width: 748px;
  margin-bottom: 50px;
  color: var(--text);
  line-height: normal;
}

.hero-service .hero__buttons {
  max-width: 697px;
  margin-bottom: 153px;
}

.hero-service .hero__buttons .button {
  min-height: 68px;
}

.hero-service .hero__items {
  max-width: 726px;
}

.hero-service .hero__icon img {
  display: block;
  width: 140px;
  height: 106px;
  object-fit: cover;
}

.hero-service .hero__text {
  line-height: 120%;
  letter-spacing: -0.32px;
}

.hero-service .hero__art-img {
  transform: none;
}

/* end hero */

.hero__cursor {
  display: inline-block;
  font-family: var(--main-font);
  font-weight: 400;
  margin-left: 2px;
  color: var(--black);
  animation: heroCursorBlink 1s infinite;
}

@keyframes heroCursorBlink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

/* article */

.article {}

.article__inner {
  display: grid;
  grid-template-columns: minmax(0, 985fr) minmax(0, 550fr);
  align-items: start;
  gap: 175px;
}

.article__text {}

.contents {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 30px;
  border-radius: var(--rounded);
  background: var(--bg);
}

.contents.sticky {
  position: sticky;
  top: 50px;
  transition: top var(--duration);
}

.contents.sticky-top {
  top: calc(var(--header-height) + 30px);
}

.contents__title {
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--text20);
  font-weight: 600;
  line-height: normal;
  text-align: center;
}

.contents__list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0;
  padding: 0;
  color: var(--text);
  list-style: none;
  counter-reset: contents;
}

.contents__item {
  counter-increment: contents;
}

.contents__link {
  display: flex;
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
  transition: color var(--duration);
}

.contents__link::before {
  content: counter(contents) ".";
  flex-shrink: 0;
  min-width: 24px;
  padding-right: 4px;
}

@media (hover: hover) {
  .contents__link:hover {
    color: var(--green-dark);
  }
}

.article__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 30px;
  margin-top: 60px;
}

.article__button {
  width: 405px;
  min-height: 68px;
}

.article__question {
  color: var(--black);
  font-size: var(--text18);
  font-weight: 500;
  line-height: normal;
}

.article__rates {
  display: flex;
  gap: 20px;
}

.rate {
  display: grid;
  grid-template-areas: "count icon";
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 68px;
  padding: 0;
  border: none;
  border-radius: var(--rounded);
  background: var(--bg);
  cursor: pointer;
  transition: all var(--duration);
}

.rate__count {
  grid-area: count;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -0.28px;
  white-space: nowrap;
  transition:
    max-width var(--duration),
    margin-right var(--duration),
    opacity var(--duration);
}

.rate-like .rate__count {
  color: var(--green-dark);
}

.rate-dislike .rate__count {
  color: var(--purple-dark);
}

.rate__icon,
.rate__icon-active {
  grid-area: icon;
  display: block;
  width: 22px;
  height: 22px;
  transition:
    opacity var(--duration),
    transform var(--duration);
}

.rate__icon-active {
  opacity: 0;
}

.rate.active .rate__count {
  max-width: 5ch;
  margin-right: 6px;
  opacity: 1;
}

.rate.active .rate__icon {
  opacity: 0;
  transform: scale(0.6);
}

.rate.active .rate__icon-active {
  opacity: 1;
  animation: ratePop var(--duration);
}

@keyframes ratePop {
  0% {
    transform: scale(0.6);
  }

  50% {
    transform: scale(1.25);
  }

  100% {
    transform: scale(1);
  }
}

@media (hover: hover) {
  .rate:hover .rate__icon {
    transform: scale(0.864);
  }
}

/* end article */

/* articles */

.articles {}

.articles__title {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  margin-bottom: 60px;
}

.articles__title .title__heading {
  margin: -0.175em 0 -0.114em;
}

.articles__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  gap: 30px;
}

.articles__underline {
  top: 0.885em;
  left: -0.019em;
  width: 9.647em;
  pointer-events: none;
}

.articles__underline img {
  display: block;
  width: 100%;
  height: auto;
}

.articles__navigation {
  align-items: stretch;
  gap: 20px;
  margin-top: 0;
  padding: 0;
}

.articles__navigation .navigation__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: var(--rounded);
  background: var(--white);
}

.articles__navigation .swiper-button-disabled {
  opacity: 0.5;
  cursor: default;
}

.articles__item {
  display: flex;
  flex-direction: column;
  gap: 30px;
  height: auto;
  padding: 20px;
  border-radius: var(--rounded);
  background: var(--white);
}

.articles__top {
  display: flex;
  gap: 16px;
}

.articles__image {
  flex-shrink: 0;
  width: 164px;
  height: 238px;
}

.articles__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.articles__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

.articles__name {
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--text20);
  font-weight: 600;
  line-height: normal;
}

.articles__text {
  margin: 0;
  color: var(--text);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
}

.articles__tags {
  display: flex;
  gap: 6px;
  color: var(--black);
}

.articles__tag {
  display: flex;
  flex: 0 1 123px;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  padding: 10px;
  border-radius: 100px;
  background: var(--primary-hover);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
  transition: background var(--duration);
}

@media (hover: hover) {
  .articles__tag:hover {
    background: var(--primary);
  }
}

.articles__info {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
}

.articles__info-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.articles__info-icon {
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.articles__info-text {
  color: var(--black);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
}

.articles__button {
  width: 100%;
  min-height: 68px;
  margin-top: auto;
}

/* end articles */

/* service-text */

.service-text {}

.service-text__inner {
  display: grid;
  grid-template-columns: minmax(0, 985fr) minmax(0, 692fr);
  align-items: start;
  gap: 33px;
}

.service-text-reverse .service-text__inner {
  grid-template-columns: minmax(0, 484fr) minmax(0, 1130fr);
  gap: 97px;
}

.service-text__title .title__heading {
  margin: -0.175em 0 calc(30px - 0.114em);
}

.service-text-reverse .service-text__title .title__heading {
  margin-bottom: calc(80px - 0.114em);
}

.service-text__mark {
  position: relative;
  background: none;
  color: inherit;
}

.service-text__underline {
  top: 1.266em;
  left: 0.425em;
  width: 6.491em;
  pointer-events: none;
}

.service-text__underline img {
  display: block;
  width: 100%;
  height: auto;
}

.service-text__image img {
  display: block;
  width: 100%;
  height: auto;
}

.service-text__image.sticky {
  position: sticky;
  top: 50px;
  transition: top var(--duration);
}

.service-text__image.sticky-top {
  top: calc(var(--header-height) + 30px);
}

.service-text .text>p:first-child,
.service-text .text>p:has(+ ul),
.service-text .text>p:has(+ ol) {
  font-size: var(--text20);
  line-height: normal;
  letter-spacing: 0;
}

.service-text .text>p:has(+ ul),
.service-text .text>p:has(+ ol) {
  margin-bottom: 20px;
}

.service-text .text>ul,
.service-text .text>ol,
.service-text .text>.text-adv {
  margin-bottom: 30px;
}

.service-text .text-adv {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* end service-text */

/* service-price */

.service-price__title .title__heading {
  margin: -0.175em 0 calc(30px - 0.114em);
}

/* end service-price */

/* price-table */

.price-table__text {
  color: var(--text);

  font-size: var(--text20);
  font-weight: 400;
  line-height: normal;
  max-width: 1000px;
}

.price-table__select-wrap {
  width: 100%;
}

.price-table__select-current {
  display: none;
}

.price-table {
  position: relative;
  z-index: 2;
}

.price-table__tabs {
  width: 100%;
  display: flex;
  gap: 30px;

}

.price-table__select-wrap {
  z-index: 0;
  position: relative;
}

.price-table__tab {
  background: var(--purple-light);
  border-radius: 10px 10px 0 0;
  padding: 26px;
  width: 100%;
  text-align: center;
  font-family: var(--title-font);
  cursor: pointer;

  color: var(--purple-dark);
  font-size: 20px;
  font-weight: 600;
  line-height: normal;
  transition: all var(--duration);

}

@media (min-width:767px) {
  .price-table__tab {
    padding-bottom: 38px;
    transform: translateY(12px);
  }
}

@media (hover:hover) {
  .price-table__tab:hover {
    transform: translateY(0px);
  }
}

.price-table__tab::after {}

.price-table__tab.active {
  background: var(--bg);
  color: var(--text-main);
}

.price-table__contents {
  background: var(--bg);
  position: relative;
  z-index: 2;
}

.price-table__content {
  padding: 50px;
}

.price-table__block {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 50px;
  margin-bottom: 50px;
}

.price-table__left {}

.price-table__top {
  font-weight: bold;
}

.price-table__four {
  display: grid;
  position: relative;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  padding: 20px 0;
  gap: 70px;
}

.price-table__items {}

.price-table__item {
  position: relative;
  color: var(--text);
  letter-spacing: -0.32px;
}

.price-table__item:last-child::before {
  display: none;
}

.price-table__four::before {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  background-color: #efe5dd;
  /* Любой цвет или var(--border-color) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: 20px 3px;
  mask-size: 20px 3px;
}

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

.price-table__table {}

.price-table__two {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 50px;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.price-table__two::before {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  background-color: #efe5dd;
  /* Любой цвет или var(--border-color) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='3' viewBox='0 0 20 3' fill='none'%3E%3Cline x1='1.5' y1='1.5' x2='11.5' y2='1.5' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: 20px 3px;
  mask-size: 20px 3px;
}

.price-table__right {}

.price-table__sale {
  color: var(--green-dark);
  font-size: var(--text16);
  font-weight: 600;
  line-height: normal;

  border-radius: 54px;
  background: var(--primary-hover);
  padding: 10px;
  text-align: center;

  margin-bottom: 20px;
}

.price-table__addictions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 10px;
}

.addiction {
  padding: 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  background: var(--white);
  border-radius: var(--rounded);
}

.addiction__left {}

.addiction__icon {
  width: 100px;
  height: 100px;
}

.addiction__right {}

.addiction__name {
  color: var(--text);

  font-size: var(--text16);
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
  margin-bottom: 10px;
}

.addiction__price {
  color: var(--green-dark);
  font-size: var(--text16);
  line-height: 120%;
}

.price-table__bottom {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(550px, 1fr));
  gap: 50px;
}

.price-table__info {
  background: var(--white);
  padding: 30px;
  border-radius: var(--rounded);
}

.price-table__title {
  color: var(--purple-dark);

  /* пункты меню */
  font-family: var(--title-font);
  font-size: var(--text20);
  font-weight: 600;
  line-height: normal;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.price-table__title span {
  font-size: 14px;
  color: var(--text);
}

.price-table__right .price-table__title {
  color: var(--text-main);
}

.price-table__info .price-table__addictions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.price-table__info-flex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.price-table__info-big {
  grid-column: 1/3;
}

.price-table__info-big {
  display: grid;
  grid-template-columns: 3fr 1fr;
  align-items: flex-start;
  gap: 50px;
}

.price-table__info-big .price-table__info-block {
  display: grid;
  align-items: flex-start;
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
}

.price-table__info-big .price-table__addictions {
  height: auto;
}

.price-table__info-times {
  grid-template-columns: repeat(1, 1fr);
  gap: 0px;
}

.price-table__info-times .price-table__addictions {
  grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
}

.price-table__info-times .addiction__name {
  margin-bottom: 0;
}

.price-table__info-times .addiction__price {
  margin-bottom: 10px;
}

.price-table__info .addiction {
  background: var(--bg);
}

.price-table__info .list {
  margin-bottom: 20px;
}

.price-table__info .list li:has(p) {
  flex-wrap: wrap;
  gap: 6px 12px;
}

.price-table__info .list li p {
  font-size: 14px;
  color: var(--text);
  display: block;
  width: 100%;
}

.price-table__info .text p {
  letter-spacing: -0.28px;
  font-size: 14px;
}

.price-table__info .text img {
  margin-bottom: 20px;
}

.price-table__info>p {
  font-size: 14px;
}

.tabs-contents .tabs-content {
  display: none;
  animation: none;
}

.tabs-contents .tabs-content.active {
  animation: changeTab 0.85s forwards;
  display: grid;
}

@keyframes changeTab {
  from {
    opacity: 0;
    filter: blur(10px);
    transform: translateX(30px) skewX(-4deg);
    /* лёгкий наклон для динамики */
  }

  to {
    opacity: 1;
    filter: blur(0px);
    transform: translateX(0) skewX(0deg);
  }
}

/* end price-table */

/* ui-icon */

.ui-icon {
  position: fixed;
  top: calc(var(--header-height) + 50px);
  right: 0;
  border-radius: 10px 0 0 10px;
  background: #f5f6fa;
  padding: 20px;
  z-index: 15;
  width: 240px;

  box-shadow: 0px 0px 10px var(--gradient-back-images);
}

.ui-icon img {
  display: none;
  transition: all 0.3s;
}

.ui-icon.close img {
  display: block;
  filter: invert(1);
}

.ui-icon.close svg {
  display: none;
}

.ui-icon.close {
  width: 35px;
  padding: 0;
}

.ui-icon.close .ui-icon__close {
  padding: 13px;
}

.ui-icon.close .ui-icon__text {
  color: transparent;
  font-size: 0;
  flex-direction: column-reverse;
}

.ui-icon.close .ui-icon_button {
  display: none;
}

.ui-icon__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--black-color);
  font-size: var(--text24);
  font-weight: 500;
  transition:
    color 0.3s,
    font-size 0s;
}

.ui-icon__close {
  cursor: pointer;
}

.ui-icon_button {
  transition: all 0.3s;
  margin-top: 20px;
}

.ui-icon_button .button {
  padding: 15px;
  text-align: center;
  border-radius: 5px;
  background: var(--blue, #0078d4);
  color: white;
}

/* end ui-icon */

/* toast */

#toasts {
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 400px;
  margin: 0 auto;
  /* центрирование без transform */
  z-index: 10;
}

.toast {
  padding: 16px;
  border-radius: 5px;
  background: var(--white);
  position: relative;
  opacity: 0;
  display: flex;
  gap: 0px;
  align-items: center;
  transform: translateY(20px);
  transition:
    opacity 0.75s ease,
    transform 0.5s ease;
}

.toast--icon {
  gap: 20px;
}

.toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.toast--leaving {
  opacity: 0;
  transform: translateY(-50px) scale(0.9);
}

.toast--default {}

.toast--warning {}

.toast--success {}

.toast--success .toast__icon {
  width: 30px;
  height: 30px;
}

.toast--error {}

.toast--loading .toast__icon {
  animation: spin 2.5s infinite;
  opacity: 0.5;
}

.toast--loading .toast__icon img {}

@keyframes spin {
  from {
    transform: rotate(360deg);
  }

  to {
    transform: rotate(0deg);
  }
}

.toast--info {}

.toast__title {
  font-weight: 500;
  font-size: 14px;
}

.toast__message {
  margin-top: 5px;
  font-weight: 400;
  font-size: 14px;
}

.toast__icon {
  width: 25px;
  height: 25px;
}

/* end toast */

/* ПОЛИТИКИ */

.new-privacy {
  background: white;
  font-size: 18px;
  padding: var(--margin-80) 0;
}

.new-privacy strong {
  margin-bottom: 30px;
}

.new-privacy p {
  margin-bottom: 20px !important;
}

.new-privacy table {
  border-collapse: collapse;
  margin-bottom: 30px;
  min-width: 100%;
}

.new-privacy table td {
  padding: 15px;
  font-size: 14px;
  border: 1px solid lightgray;
}

.new-privacy ul {
  padding-left: 20px;
  margin-bottom: 20px;
}

.new-privacy ul li {
  list-style: disc;
}

.new-policy__table {
  max-width: 100%;
  overflow: auto;
}

.new-privacy a {
  text-decoration: underline;
}

@media (max-width: 991px) {
  .new-privacy table td {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .new-privacy {
    font-size: 16px;
  }
}

@media (max-width: 577px) {
  .new-privacy {
    font-size: 14px;
  }

  .new-privacy p {
    margin-bottom: 15px;
  }
}

/* ПОЛИТИКИ */

/* popup */

.popup {
  display: none;
  border-radius: 5px;
  background: var(--black);
  transition: all var(--duration);
  padding: 40px;
  color: var(--bg);
}

.fancybox__backdrop {
  background: rgba(250, 246, 243, 0.8);
  backdrop-filter: blur(3.5px);
}

.popup-call {
  max-width: 865px;
}

.popup .form__descr {
  margin: 0 auto;
  margin-bottom: 40px;
  font-size: var(--text16);
  text-align: center;
}

.popup .title {
  justify-content: center;
  text-align: center;
}

.popup .form__checkboxes {
  margin-top: 20px;
}

.popup .form__button {
  margin-top: 20px;
}

.popup .title__heading {
  color: var(--bg);
  justify-content: center;
}

.popup .title__underline {
  position: static;
  width: 75%;
  margin: 0 auto;
}

.popup .form__wrap {
  margin-top: 40px;
}

.form__wrap .button-fill {
  width: 100%;
}

.popup .form__wrapper {
  grid-template-columns: repeat(1, 1fr);
  gap: 12px;
  transition: all var(--duration);
}

.popup .form__checkbox label a {
  color: var(--black-color);
  font-weight: 400;
}

.popup .form__checkbox label {
  color: var(--bg);
}

.popup .form__textarea {
  height: 150px;
}

.popup .form__input input {
  background: var(--bg);
}

.popup .form__checkbox input[type="checkbox"]:checked+.check svg {
  stroke: var(--bg);
}

.popup .check:hover svg {
  stroke: var(--bg);
}

@media (max-width: 991px) {
  .popup {
    max-width: 90%;
    padding: 30px;
  }
}

@media (max-width: 577px) {
  .popup {
    padding: 20px;
  }

  .popup .form__input input {}

  .popup .form__wrap {
    margin-top: 30px;
  }

  .popup .form__descr {
    font-size: 16px;
  }
}

/* end popup */

/* cookies */

.popup_cookie {
  position: fixed;
  bottom: 0px;
  left: 0;
  padding: 30px 0 20px 0;

  background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), transparent);
  z-index: 10;
  display: none;
  width: 100%;
}

.window_cookie {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 1600px;
  width: 100%;
  background: var(--purple-light);
  position: relative;
  padding: 21px 40px;
  border-radius: var(--rounded);
  left: 50%;
  transform: translateX(-50%);
  animation: showCookies 0.75s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  color: var(--text);
  font-size: 16px;
  line-height: 130%;
  letter-spacing: -0.16px;
}

.window_cookie a {
  color: var(--black);

  transition: all var(--duration);
  font-size: 16px;
  line-height: 130%;
}

.window_cookie a:hover {
  color: var(--purple-dark);
}

.close_pop {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  cursor: pointer;
}

.window_cookie__btn {
  min-width: unset;
  cursor: pointer;
  min-width: 250px;
}

.window_cookie__btn.button-yellow .button-inner {
  width: 100%;
  padding-inline: 60px;
}

@keyframes showCookies {
  0% {
    transform: translateY(100px) translateX(-50%);
  }

  100% {
    transform: translateY(0) translateX(-50%);
  }
}

@media (max-width: 1800px) {
  .window_cookie {
    max-width: 1400px;
    width: 95%;
  }
}

@media (max-width: 1600px) {
  .window_cookie {
    max-width: 1400px;
    width: 80%;
  }
}

@media (max-width: 1199px) {
  .window_cookie {
    flex-direction: column;
    padding-right: 60px;
  }

  .close_pop {
    position: absolute;
    top: 10px;
    transform: translateY(0);
    right: 10px;
  }
}

@media (max-width: 991px) {
  .popup_cookie {
    padding-bottom: 0;
  }

  .window_cookie {
    flex-direction: column;
    padding-right: 60px;
    left: 0;
    transform: translateX(0);
    border-radius: 0 30px 0px 0;
  }

  @keyframes showCookies {
    0% {
      transform: translateX(-100px);
    }

    100% {
      transform: translateX(0px);
    }
  }

  .close_pop {
    position: absolute;
    top: 10px;
    transform: translateY(0);
    right: 10px;
  }
}

@media (max-width: 767px) {
  .window_cookie {
    gap: 20px;
    padding: 20px;
  }
}

@media (max-width: 577px) {
  .close_pop {
    background: var(--white);
    border-radius: 50%;
    padding: 10px;
    top: -15px;
    right: -15px;
    width: 35px;
    height: 35px;
  }

  .window_cookie p {
    font-size: 14px;
  }

  .window_cookie a {
    font-size: 14px;
  }

  .button.button-header {
    padding: 15px;
  }
}

/* cookies */

.footer-form {}

.footer-form__wrapper {
  position: relative;
  z-index: 2;
  padding: var(--margin-120);
}

.footer-form__wrapper .title__heading {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.footer-form__wrapper .title__heading {
  max-width: 900px;
  margin: 0 auto;
}

.footer-form__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
}

.form {}

.form__wrapper {
  max-width: 854px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  margin: 0 auto;
  gap: 20px;
}

.form__left,
.form__right {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.form__input {
  position: relative;
}

.form__input input,
.form__input textarea {
  border-radius: 4px;
  background: var(--background, #faf6f3);
  padding: 20px;
  width: 100%;
  color: var(--text-main);
  font-size: 16px;
  font-weight: 400;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
  resize: none;
  outline: none;
}

.form__input input::placeholder,
.form__input textarea::placeholder {
  /* color: var(--text, #585858); */
  color: transparent;
}

.form__textarea {
  flex-grow: 1;
  height: 150px;
}

.form__type {
  position: absolute;
  top: 20px;
  color: var(--text, #585858);
  left: 20px;
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease;
}

.form__type.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.form__input textarea {
  height: 100%;
}

.form__right {}

.form__checkboxes {
  display: grid;
  gap: 10px;
  margin-top: 40px;
}

.form__checkbox {}

.form__checkbox label {
  position: relative;
}

.form__checkbox label p {
  padding-left: 42px;
  color: var(--background);
  min-height: 24px;
  color: var(--text-muted, #c3c3c3);
  font-size: 14px;
  font-weight: 400;
  line-height: 120%;
  /* 16.8px */
  letter-spacing: -0.28px;
}

.form__checkbox label input {
  display: none;
}

.form__checkbox label p::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 2px;
  background: #f1f1f1;
  width: 24px;
  height: 24px;
}

.form__checkbox label p::after {
  content: "";
  background: url("/local/templates/main/assets/css/../img/icons/icon-check.svg") center / contain no-repeat;
  width: 11px;
  height: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.7);
  left: 6px;
  opacity: 0;
  transition: all var(--duration);
  display: block;
}

.form__checkbox label input:checked+p::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.form__button {
  margin-top: 40px;
}

.form__button .button {
  width: 100%;
}

@media (max-width: 1199px) {
  .footer-form__wrapper {
    padding: 30px;
  }
}

@media (max-width: 991px) {
  .form__wrapper {
    gap: 12px;
  }

  .form__checkboxes {
    margin-top: 16px;
  }
}

@media (max-width: 577px) {
  .footer-form__wrapper {
    padding: 20px;
  }

  .form__input input,
  .form__input textarea {
    padding: 12px;
  }

  .form__input {
    flex-shrink: 0;
  }

  .form__type {
    top: 12px;
    left: 12px;
  }

  .footer-form .container {
    padding: 0;
  }

  .form__type {
    font-size: 14px;
  }

  .form__button {
    margin-top: 20px;
  }
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
  margin-top: var(--margin-120);
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.footer__main {
  background: #2d2c34;
  color: #faf6f3;
  width: 100%;
  padding: 50px 0 45px;
  box-sizing: border-box;
}

.footer__main a:hover,
.footer__nav-link:hover,
.footer__phone:hover,
.footer__text:hover,
a.footer__text:hover {
  color: var(--primary);
}

.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
}

/* --- Left Column: Contacts --- */
.footer__col-contacts {
  width: 290px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.footer__logo {
  display: inline-block;
  width: 268px;
  max-width: 100%;
}

.footer__logo .logo {
  display: block;
  width: 100%;
}

.footer__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.footer__block {
  display: flex;
  gap: 12px;
  align-items: center;
}

.footer__address {
  align-items: flex-start;
}

.footer__icon {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.footer__text {
  font-family: var(--main-font);
  font-size: var(--text16);
  font-weight: 400;
  line-height: 1.25;
  color: #faf6f3;
  letter-spacing: -0.32px;
  transition: all var(--duration);
}

.hero__cursor.cursor-light {
  color: var(--background);
  display: inline-block;
}

.is-typed .hero__cursor {
  opacity: 0 !important;
  display: none;
}

a.footer__text {
  text-decoration: none;
  display: inline-block;
}

.footer__socials {
  display: flex;
  gap: 12px;
  align-items: center;
}

.footer__social {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--duration);
}

.footer__social svg {
  display: block;
  width: 44px;
  height: 34px;
}

.footer__social-vk svg {
  width: 46px;
  height: 34px;
}

.footer__social svg path {
  transition: all var(--duration);
}

.footer__social:hover svg path {
  fill: var(--primary);
}

.footer__social-tg:hover svg path {
  stroke: var(--primary);
}

.footer__col-main {
  flex: 1;
  min-width: 0;
  max-width: 970px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 43px;
  padding-top: 47px;
  box-sizing: border-box;
}

.footer__nav {
  width: 100%;
}

.footer__nav-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 12px;
}

.footer__nav-item {
  display: flex;
  align-items: center;
}

.footer__nav-link {
  font-family: var(--title-font);
  font-size: 20px;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--duration);
}

.footer__phones-wrap {
  width: 100%;
  max-width: 980px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.footer__phones {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 20px;
}

.footer__phone {
  font-family: var(--title-font);
  font-size: 50px;
  font-weight: 400;
  text-decoration: none;
  line-height: 1;
  letter-spacing: -0.5px;
  white-space: nowrap;
  transition: all var(--duration);
}

.footer__phone-divider {
  width: 1.5px;
  height: 48.5px;
  background-color: #faf6f3;
  opacity: 0.8;
  flex-shrink: 0;
}

.footer .button.button-arrow {
  width: 100%;
  border-color: var(--bg);
  color: var(--bg);
}

.footer .button.button-arrow {
  padding: 10px 20px;
}

@media (hover: hover) {

  .footer .button.button-arrow:hover,
  .footer a.button.button-arrow:hover {
    border-color: var(--bg);
    background: var(--bg);
    color: var(--black);
    gap: 0;
    padding-left: 5px;
    padding-right: 30px;
  }
}

.footer__underline {
  width: 876px;
  max-width: 95%;
  margin-top: 14px;
  pointer-events: none;
}

.footer__underline img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- Right Column: Actions & Dev --- */
.footer__col-actions {
  width: 275px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding-top: 32px;
  box-sizing: border-box;
}

.footer__btn {
  width: 100%;
  height: 69px;
  font-size: 18px;
}

.footer__yandex {
  width: 100%;
  max-width: 260px;
  height: 69px;
  box-sizing: border-box;
  background: #faf6f3;
  border-radius: var(--rounded);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 18px;
  text-decoration: none;
  transition: all var(--duration);
}

.footer__yandex:hover {
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.footer__yandex-icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}

.footer__yandex-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.footer__yandex-text {
  font-family: var(--main-font);
  font-size: 18px;
  font-weight: 500;
  color: #2d2c34 !important;
  white-space: nowrap;
}

.footer__dev {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.footer__dev-text {
  font-family: "Golos", sans-serif;
  font-size: 14px;
  color: #c3c3c3;
  line-height: 1;
}

.footer__dev-link {
  display: inline-block;
  transition: all var(--duration);
}

.footer__dev-link:hover {
  opacity: 0.8;
  transform: translateY(-1px);
}

.footer__dev-logo {
  width: 176px;
  height: 29px;
  display: block;
}

/* --- Bottom Section: Policies --- */
.footer__bottom {
  background: var(--bg);
  padding: 28px 0 36px;
  width: 100%;
  box-sizing: border-box;
}

.footer__policies {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}

.footer__policy,
.footer__policy:link,
.footer__policy:visited {
  font-family: var(--main-font);
  font-size: 14px;
  font-weight: 400;
  color: var(--text) !important;
  text-decoration: none;
  letter-spacing: -0.28px;
  line-height: 1.25;
  transition: all var(--duration);
}

.footer__policy:hover {
  color: var(--green-dark) !important;
}

.footer__policy--accent,
.footer__policy--accent:link,
.footer__policy--accent:visited {
  color: var(--green-dark) !important;
}

.footer__policy-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #585858;
  flex-shrink: 0;
  display: inline-block;
}

/* ==========================================================================
   Footer Responsive (Адаптив)
   ========================================================================== */

/* 1600px - 1440px - 1200px (Десктопы и ноутбуки) */
@media (max-width: 1599px) {
  .footer .container {
    padding: 0 24px;
  }

  .footer__inner {
    gap: 20px;
  }

  .footer__col-contacts {
    width: 240px;
    gap: 24px;
  }

  .footer__logo {
    width: 220px;
  }

  .footer__contacts {
    gap: 20px;
  }

  .footer__col-actions {
    width: 220px;
    padding-top: 16px;
    gap: 14px;
  }

  .footer__btn {
    height: 58px;
    font-size: 16px;
  }

  .footer__yandex {
    height: 58px;
    padding: 6px 12px;
  }

  .footer__yandex-text {
    font-size: 16px;
  }

  .footer__yandex-icon {
    width: 40px;
    height: 40px;
  }

  .footer__dev {
    margin-top: 24px;
    gap: 10px;
  }

  .footer__col-main {
    padding-top: 24px;
    gap: 28px;
  }

  .footer__nav-link {
    font-size: 16px;
  }

  .footer__phone {
    font-size: clamp(26px, 19.68px + 1.58vw, 50px);
  }

  .footer__phone-divider {
    height: 38px;
  }

  .footer__underline {
    max-width: 100%;
  }

  .footer__policies {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
  }

  .footer__policy {
    font-size: 13px;
  }
}

/* 1199px - 992px (Планшеты горизонтальные / нетбуки) */
@media (max-width: 1199px) {
  .footer .container {
    padding: 0 24px;
  }

  .footer__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    row-gap: 36px;
    column-gap: 30px;
    align-items: start;
  }

  .footer__col-contacts {
    grid-column: 1;
    width: auto;
    gap: 22px;
  }

  .footer__col-actions {
    grid-column: 2;
    width: 240px;
    padding-top: 0;
    align-items: flex-end;
  }

  .footer__col-main {
    grid-column: 1 / -1;
    order: 3;
    max-width: 100%;
    width: 100%;
    padding-top: 0;
    gap: 28px;
  }

  .footer__nav-list {
    justify-content: space-around;
    gap: 15px;
  }

  .footer__nav-link {
    font-size: 18px;
  }

  .footer__phones-wrap {
    max-width: 760px;
    margin: 0 auto;
  }

  .footer__phones {
    justify-content: center;
    gap: 24px;
  }

  .footer__phone {
    font-size: 34px;
  }

  .footer__phone-divider {
    height: 34px;
  }

  .footer__underline {
    max-width: 680px;
  }

  .footer__dev {
    align-items: flex-end;
    margin-top: 14px;
  }

  .footer__policies {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
  }
}

/* 991px - 768px (Планшеты вертикальные) */
@media (max-width: 991px) {
  .footer .container {
    padding: 0 20px;
  }

  .footer__inner {
    row-gap: 30px;
  }

  .footer__col-contacts {
    width: auto;
  }

  .footer__col-actions {
    width: 220px;
  }

  .footer__nav-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 20px;
  }

  .footer__nav-link {
    font-size: 17px;
  }

  .footer__phones {
    gap: 16px;
    justify-content: center;
  }

  .footer__phone {
    font-size: clamp(24px, 3.2vw, 30px);
  }

  .footer__phone-divider {
    height: 28px;
  }

  .footer__underline {
    max-width: 520px;
  }

  .footer__policies {
    text-align: center;
    gap: 8px 16px;
  }

  .footer__policy {
    font-size: 13px;
  }
}

/* 767px - 481px (Смартфоны) */
@media (max-width: 767px) {
  .footer .container {
    padding: 0 16px;
  }

  .footer__main {
    padding: 40px 0 35px;
  }

  .footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
  }

  .footer__col-contacts {
    align-items: center;
    width: 100%;
    gap: 22px;
  }

  .footer__logo {
    display: flex;
    justify-content: center;
    width: 220px;
  }

  .footer__contacts {
    align-items: center;
    gap: 16px;
  }

  .footer__address {
    justify-content: center;
    text-align: center;
  }

  .footer__address .footer__text {
    max-width: 290px;
  }

  .footer__email {
    justify-content: center;
  }

  .footer__socials {
    justify-content: center;
  }

  .footer__col-main {
    order: 2;
    width: 100%;
    gap: 26px;
    padding-top: 0;
  }

  .footer__nav-list {
    flex-direction: column;
    gap: 10px;
    align-items: center;
  }

  .footer__nav-link {
    font-size: 17px;
    padding: 4px 0;
  }

  .footer__phones-wrap {
    width: 100%;
  }

  .footer__phones {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }

  .footer__phone {
    font-size: clamp(21px, 5.8vw, 26px);
  }

  .footer__phone-divider {
    display: none;
  }

  .footer__underline {
    width: 85%;
    max-width: 320px;
    margin-top: 6px;
  }

  .footer__col-actions {
    order: 3;
    width: 100%;
    max-width: 280px;
    align-items: center;
    padding-top: 0;
    gap: 14px;
  }

  .footer__btn {
    width: 100%;
    max-width: 280px;
    height: 56px;
    font-size: 16px;
  }

  .footer__yandex {
    width: 100%;
    max-width: 280px;
    height: 56px;
  }

  .footer__dev {
    margin-top: 10px;
    align-items: center;
  }

  .footer__bottom {
    padding: 22px 0 28px;
  }

  .footer__policies {
    flex-direction: column;
    gap: 10px;
    align-items: center;
    text-align: center;
  }

  .footer__policy-dot {
    display: none;
  }

  .footer__policy {
    font-size: 12px;
    line-height: 1.35;
  }
}

/* 480px и меньше (Маленькие смартфоны) */
@media (max-width: 480px) {
  .footer .container {
    padding: 0 12px;
  }

  .footer__phone {
    font-size: clamp(19px, 5.4vw, 23px);
  }

  .footer__logo {
    width: 200px;
  }

  .footer__btn {
    height: 52px;
    font-size: 15px;
  }

  .footer__yandex {
    height: 52px;
  }

  .footer__yandex-text {
    font-size: 15px;
  }

  .footer__yandex-icon {
    width: 38px;
    height: 38px;
  }

  .footer__social svg {
    width: 40px;
    height: 30px;
  }
}

/* ===== css/main/media.css ===== */
@media (max-width: 1800px) {
  .container {
    padding: 0 40px;
  }

  .hero__inner {
    grid-template-columns: 1fr 1.75fr;
  }

  .hero-main .hero__inner {
    grid-template-columns: 1fr 1.75fr;
  }
}

@media (max-width: 1700px) {
  .title-big .title__underline img {
    transform: scale(0.75) translateX(-100px) translateY(-20px);
  }

  .title__description {
    max-width: 600px;
  }

  .header__block .header__text {
    font-size: 14px;
  }

  .header .button {
    padding: 20px;
  }

  .header__block {
    flex-direction: column;
  }

  .hero__content {
    transform: none;
  }

  .hero__inner {
    grid-template-columns: 1fr 1.25fr;
  }

  .hero-main .hero__inner {
    grid-template-columns: 1fr 1.25fr;
  }

  .articles__tags {
    flex-wrap: wrap;
  }

  .article__button {
    width: 100%;
  }

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

  .price-table__bottom {
    gap: 24px;
  }

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

  .price-table__info-times .price-table__addictions {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .price-table__tab {
    padding: 26px 16px;
  }

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

  .price-table__right {
    grid-row: 1;
  }

  .price-table__sale {
    width: max-content;
  }

  .price-table__bottom {
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  }

  .price-table__content {
    padding: 50px 30px;
  }

  .price-table__info-big {
    grid-template-columns: 2fr 1fr;
  }

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

@media (max-width: 1439px) {
  .header__nav-link {
    font-size: 16px;
  }

  .header__nav-list {
    gap: 10px;
  }

  .header__block {
    flex-direction: row;
  }

  .header__address {
    display: none;
  }

  .header__right {
    gap: 20px;
  }

  .header__logo .logo img {
    width: 200px;
  }

  .header__yandex iframe {
    transform: none;
  }

  .header__yandex {
    width: unset;
    height: unset;
  }

  .header__nav {
    padding: 20px;
    gap: 20px;
  }

  .hero__inner {
    gap: 30px;
    align-items: flex-start;
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-main .hero__inner {
    grid-template-columns: 1fr 1fr;
  }

  .hero__art {
    position: sticky;
    top: var(--header-height);
  }

  .hero__content {
    padding-top: 30px;
  }

  .hero-about .hero__inner {
    gap: 30px;
  }

  .hero-about .hero__buttons {
    margin-bottom: 80px;
  }

  .hero-blog .hero__inner {
    gap: 30px;
  }

  .hero-service .hero__inner {
    gap: 30px;
  }

  .hero-service .hero__buttons {
    margin-bottom: 80px;
  }

  .article__inner {
    gap: 60px;
  }

  .service-text-reverse .service-text__inner {
    gap: 40px;
  }

  .price-table__tabs {
    gap: 24px;
  }

  .price-table__tab {
    font-size: 16px;
  }

  .price-table__tables .price-table__table:not(.active) .price-table__top,
  .price-table__tables .price-table__table:not(.active) .price-table__items {
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
  }

  .price-table__top,
  .price-table__items {
    transition: all var(--duration);
  }

  .price-table__block {
    gap: 0;
  }

  .price-table__tables .price-table__title {
    cursor: pointer;
    padding: 20px 0;
    margin-bottom: 0;
    position: relative;
  }

  .price-table__tables .price-table__title::before {
    content: "";
    background: url("/local/templates/main/assets/css/../img/icons/icon-dropdown.png") center / contain no-repeat;
    position: absolute;
    width: 36px;
    height: 36px;
    right: 0;
    top: 50%;
    transition: transform var(--duration);
    transform: translateY(-50%) rotate(0deg);
  }

  .price-table__table.active .price-table__title::before {
    transform: translateY(-50%) rotate(180deg);
  }

  .price-table__right {
    margin-bottom: 26px;
  }
}

@media (max-width: 1199px) {
  .header__yandex {
    display: none;
  }

  .header__nav-item::after {
    display: none;
  }

  .title-big {
    flex-direction: column;
  }

  .title-big-button {
    flex-direction: row;
  }

  .hero__inner {
    display: flex;
    flex-direction: column;
  }

  .hero-main .hero__inner {
    display: flex;
    flex-direction: column;
  }

  .hero__art {
    display: none;
  }

  .hero__art img {
    transform: unset;
  }

  .hero__content {
    z-index: 2;
  }

  .hero__badge {
    justify-content: center;
  }

  .hero__badge-text {
    max-width: 400px;
  }

  .hero-about {
    min-height: unset;
    padding-bottom: 60px;
  }

  .hero-about .hero__content {
    padding-top: 30px;
  }

  .hero-about .hero__buttons {
    margin-bottom: 60px;
  }

  .hero-blog {
    min-height: unset;
    padding-bottom: 60px;
  }

  .hero-blog .hero__content {
    min-height: unset;
    padding: 30px 0 0;
  }

  .hero-blog .hero__tags {
    margin-bottom: 40px;
  }

  .hero-blog .hero__buttons {
    margin-top: 0;
  }

  .hero-service {
    min-height: unset;
    padding-bottom: 60px;
  }

  .hero-service .hero__content {
    padding-top: 30px;
  }

  .hero-service .hero__title {
    width: auto;
    max-width: none;
  }

  .hero-service .hero__buttons {
    margin-bottom: 60px;
  }

  .article__inner {
    gap: 30px;
  }

  .service-text__inner,
  .service-text-reverse .service-text__inner {
    gap: 30px;
  }

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

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

  .price-table__info-big.price-table__info .price-table__addictions {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .price-table__tabs {
    position: relative;
    z-index: 2;
    align-items: flex-end;
  }

  .price-table__tab:nth-child(even) {
    position: relative;
    z-index: -1;
    padding-bottom: 80px;
    margin-left: -25%;
  }

  .price-table__tab:nth-child(odd) {
    border: 3px solid rgba(0, 0, 0, 0.05);
    border-bottom: none;
    border-left: none;
  }

  .price-table__info .price-table__addictions {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .price-table__info-big .price-table__info-block {
    gap: 0;
  }

  .price-table__info-times .addiction:last-child {
    grid-column: 1/3;
  }
}

@media (max-width: 991px) {
  .header__nav {
    display: none;
  }

  .header__yandex {
    display: flex;
    order: -1;
    width: 200px;
    height: 64px;
  }

  .header__yandex iframe {
    transform: scale(1.307, 1.22);
  }

  .header__email {
    display: none;
  }

  .button {
    padding: 20px;
  }

  .header__block-phone .header__phones {
    display: none;
  }

  .header__block-phone .header__icon {
    background: var(--primary-hover);
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--rounded);
  }

  .header .button {
    display: none;
  }

  .header__burger {
    --burger-speed: 0.25s;
    --burger-ease: cubic-bezier(0.65, 0, 0.35, 1);
    --burger-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --burger-shift: 8px;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    width: 64px;
    height: 64px;
    background: var(--primary-hover);
    border-radius: var(--rounded);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: scale 0.2s var(--burger-ease);
  }

  @media (hover: hover) and (pointer: fine) {
    .header__burger:hover img {
      animation: burger-wiggle calc(var(--burger-speed) * 2) var(--burger-ease);
    }

    .header__burger:hover img:nth-child(2) {
      animation-delay: calc(var(--burger-speed) * 0.2);
    }

    .header__burger:hover img:nth-child(3) {
      animation-delay: calc(var(--burger-speed) * 0.4);
    }
  }

  .header__burger img {
    display: block;
    flex-shrink: 0;
    clip-path: inset(0 0 0 0);
    transition:
      rotate var(--burger-speed) var(--burger-ease),
      translate var(--burger-speed) var(--burger-ease) var(--burger-speed),
      clip-path var(--burger-speed) var(--burger-ease) var(--burger-speed);
  }

  .header__burger.active img {
    transition:
      translate var(--burger-speed) var(--burger-ease),
      clip-path var(--burger-speed) var(--burger-ease),
      rotate calc(var(--burger-speed) * 1.6) var(--burger-spring) var(--burger-speed);
  }

  .header__burger.active img:nth-child(1) {
    translate: 0 var(--burger-shift);
    rotate: 45deg;
  }

  .header__burger.active img:nth-child(2) {
    translate: 6px 0;
    clip-path: inset(0 0 0 100%);
  }

  .header__burger.active img:nth-child(3) {
    translate: 0 calc(var(--burger-shift) * -1);
    rotate: -45deg;
  }

  @keyframes burger-wiggle {

    0%,
    100% {
      transform: none;
    }

    30% {
      transform: translateX(3px) scaleX(1.08);
    }

    60% {
      transform: translateX(-2px) scaleX(0.96);
    }
  }

  .header__right {
    justify-content: flex-end;
  }

  .header__mobile-buttons .button {
    display: block;
  }

  .header__mobile-buttons .button .button-inner {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .header__mobile-buttons .button .button-inner {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .header__mobile {
    display: grid;
    opacity: 0;
    padding: 20px;
    visibility: hidden;
    position: fixed;
    left: 0;
    width: 100%;
    top: var(--header-height);
    height: calc(100vh - var(--header-height));
    transition: all var(--duration);
    transform: translateX(-125%);
    box-shadow: var(--shadow);
    overflow: auto;
  }

  .header__mobile.active {
    gap: 30px;
    background: var(--bg);
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }

  .header__mobile .header__nav-list {
    flex-direction: column;
  }

  .header__mobile .header__nav-item {
    text-align: left;
  }

  .header__mobile .header__nav-item a {
    font-size: var(--text24);
    font-family: var(--title-font);
  }

  .header__mobile .header__phones {
    display: flex;
    flex-direction: column;
  }

  .header__mobile .header__block-phone .header__icon {
    background: none;
  }

  .header__mobile .header__email {
    display: flex;
    flex-direction: row;
  }

  .header__mobile .header__address {
    display: flex;
    flex-direction: row;
  }

  .header__mobile-center {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
  }

  .header__mobile-center .header__block {
    justify-content: center;
    text-align: center;
    gap: 10px;
  }

  .header__mobile-center .header__block .header__text {
    font-size: var(--text16);
    text-align: left;
  }

  .header__mobile-center .header__socials {
    justify-content: center;
    text-align: center;
    align-items: center;
  }

  .header__mobile-buttons {
    display: flex;
    gap: 30px;
    height: max-content;
  }

  .header__mobile-buttons .button {
    width: 50%;
    text-align: center;
  }

  .header__mobile-buttons .button .button-inner {
    justify-content: center;
  }

  .header__nav-list {
    gap: 0px;
  }

  .header__mobile .header__nav-item a {
    justify-content: flex-start;
  }

  .header__mobile .header__nav-item {
    display: block;
    padding: 20px;
  }

  .hero__items {
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 20px;
  }

  .hero-half {
    min-height: unset;
  }

  .article__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .article__contents {
    order: -1;
  }

  .contents.sticky {
    position: static;
  }

  .service-text__inner,
  .service-text-reverse .service-text__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .service-text__image.sticky {
    position: static;
  }

  .service-text__image img {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
  }

  .price-table__four,
  .price-table__two {
    gap: 30px;
  }

  .price-table__wrapper {
    overflow: hidden;
  }

  .price-table__info-times .addiction:last-child {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  :root {
    --gap: 20px;
  }

  .header__phones {
    display: none;
  }

  .header__mobile-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .header__yandex {
    display: none;
  }

  .header__mobile-center .header__block .header__text {
    font-size: var(--text18);
    max-width: 300px;
  }

  .header__mobile-buttons {
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
  }

  .header__mobile-buttons .button {
    width: 75%;
  }

  .title-big-button {
    flex-direction: column;
  }

  .title-big-button .title__button {
    display: flex;
    justify-content: flex-end;
  }

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

  :root {
    --z: 1;
    --stack-y: 2px;
  }

  .header__block-phone .header__icon,
  .header__burger {
    width: 52px;
    height: 52px;
  }

  .header__mobile-center .header__block-phone .header__icon {
    width: 34px;
    height: 34px;
  }

  .container {
    padding: 0 20px;
  }

  .title-span-big {
    padding-left: 10px;
  }

  .title-span-big mark.animated::before {
    transform: scale(2);
    top: 0px;
    left: 10px;
  }

  .button.button-link {
    padding: 20px 0;
  }

  .button {
    padding: 15px;
  }

  .hero__buttons .button {
    padding: 15px;
  }

  .hero-about .hero__buttons .button {
    min-height: unset;
  }

  .hero__buttons {
    flex-wrap: wrap;
  }

  .hero__badge-icon {
    width: 200px;
  }

  .hero__title {
    justify-content: center;
  }

  .hero__desc {
    text-align: center;
  }

  .hero__buttons {
    margin-bottom: 36px;
  }

  .hero__items {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
    justify-content: center;
  }

  .hero__item {
    flex-basis: 200px;
  }

  .hero__text {
    text-align: center;
  }

  .hero__icon {
    display: flex;
    justify-content: center;
    flex-shrink: 0;
  }

  .hero__item:last-child {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-basis: 400px;
  }

  .hero__item:last-child .hero__text {
    max-width: unset;
  }

  .hero-about .hero__desc {
    margin-bottom: 36px;
  }

  .hero-about .hero__buttons {
    margin-bottom: 36px;
  }

  .hero-blog .hero__desc {
    text-align: left;
  }

  .articles__title {
    margin-bottom: 40px;
  }

  .articles__navigation {
    gap: 10px;
  }

  .articles__navigation .navigation__arrow {
    padding: 20px 12px;
  }

  .articles .title__underline {
    width: 8.647em;
    top: 1em;
  }

  .articles__image {
    height: 175 px;
  }

  .articles__navigation .navigation__arrow img {
    width: 60px;
  }

  .button.button-outline {
    padding: 15px;
    min-height: unset;
  }

  .hero-blog .hero__buttons .button {
    min-height: unset;
  }

  .hero-service .hero__title {
    text-align: center;
  }

  .hero-service .hero__desc {
    margin-bottom: 36px;
  }

  .hero-service .hero__buttons {
    margin-bottom: 36px;
  }

  .hero-service .hero__buttons .button {
    min-height: unset;
  }

  .service-text-reverse .service-text__title .title__heading {
    margin-bottom: calc(40px - 0.114em);
  }

  .price-table__tab:nth-child(even) {
    margin-left: -34%;
    padding-bottom: 90px;
  }

  .price-table__tabs {
    gap: 16px;
  }

  .price-table__tab {
    padding: 24px 12px;
  }

  .price-table__four,
  .price-table__two {
    gap: 24px;
  }

  .price-table__four p,
  .price-table__two p {
    font-size: 14px;
  }

  .price-table__info {
    padding: 16px;
  }

  .price-table__content {
    padding: 50px 24px;
  }

  .price-table__text {
    font-size: var(--text16);
  }

  .price-table__osno .price-table__four {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .price-table .list li {
    font-size: 14px;
  }

  .price-table__tables .price-table__title {
    padding-right: 60px;
  }
}

@media (max-width: 577px) {

  /* Price table tabs as dropdown on mobile */
  .price-table__select-wrap {
    position: relative;
    width: 100%;
    z-index: 20;
  }

  .price-table__select-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--purple-light);
    border-radius: var(--rounded) var(--rounded) 0 0;
    padding: 16px 20px;
    cursor: pointer;
    user-select: none;
    transition:
      background var(--duration),
      border-color var(--duration);
  }

  .price-table__select-current:hover,
  .price-table__select-current:focus-visible {
    background: #e6d3fb;
    outline: none;
  }

  .price-table__select-wrap.is-open .price-table__select-current {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }

  .price-table__select-title {
    font-family: var(--title-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--purple-dark);
    line-height: normal;
  }

  .price-table__select-arrow {
    width: 24px;
    height: 24px;
    background: url("/local/templates/main/assets/css/../img/icons/icon-dropdown.png") center / contain no-repeat;
    transition: transform var(--duration);
    flex-shrink: 0;
    transform: rotate(0deg);
  }

  .price-table__select-wrap.is-open .price-table__select-arrow {
    transform: rotate(180deg);
  }

  .price-table__tabs {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 100%;
    z-index: 100;
    display: none;
    flex-direction: column;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: var(--shadow);
    overflow: hidden;
    gap: 0;
    padding: 0;
    margin: 0;
    align-items: stretch;
  }

  .price-table__select-wrap.is-open .price-table__tabs {
    display: flex;
    animation: priceTabsDropdownFade 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  }

  @keyframes priceTabsDropdownFade {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .price-table__tabs .price-table__tab,
  .price-table__tabs .price-table__tab:nth-child(even),
  .price-table__tabs .price-table__tab:nth-child(odd) {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    margin: 0;
    border: none;
    border-bottom: 1px solid #f3eff9;
    border-radius: 0;
    font-family: var(--title-font);
    font-size: 16px;
    font-weight: 500;
    color: var(--text-main);
    background: #ffffff;
    cursor: pointer;
    position: static;
    z-index: auto;
    transition:
      background var(--duration),
      color var(--duration);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .price-table__tabs .price-table__tab:last-child {
    border-bottom: none;
  }

  .price-table__tabs .price-table__tab:hover {
    background: rgba(239, 226, 255, 0.6);
    color: var(--purple-dark);
  }

  .price-table__tabs .price-table__tab.active {
    background: var(--purple-light);
    color: var(--purple-dark);
    font-weight: 600;
  }

  .price-table__tabs .price-table__tab.active::after {
    content: url("/local/templates/main/assets/css/../img/icons/icon-list-purple.png");
    font-size: 16px;
    font-weight: 700;
    color: var(--purple-dark);
    margin-left: 10px;
    transform: scale(.9);
  }

  .price-table__contents {
    border-radius: 0 0 var(--rounded) var(--rounded);
  }

  .header__mobile .header__nav-item {
    padding: 10px;
  }

  .header__mobile-buttons .button {
    width: 100%;
  }

  .header__mobile .header__icon {
    flex-shrink: 0;
  }

  .header__mobile-center {
    justify-content: flex-start;
    justify-content: flex-start;
    flex-direction: column;
  }

  .header__mobile-center .header__block {
    justify-content: flex-start;
  }

  .header__mobile-center .header__socials {
    justify-content: flex-start;
  }

  .title-big {
    overflow: hidden;
  }

  .navigation {
    gap: 24px;
  }

  .navigation .navigation__arrow {
    max-width: 75px;
  }

  .title-typing .title__heading span {
    font-size: 24px;
  }

  .footer .button.button-arrow img {
    width: 40px;
    height: 40px;
  }

  .footer .button.button-arrow {
    padding: 5px 20px;
  }

  .footer__policy,
  .footer__policy:link,
  .footer__policy:visited {
    font-size: 12px;
  }

  .title__description {
    font-size: 14px;
  }

  .title-big-button .button {
    width: 100%;
  }

  .hero__badge {
    flex-direction: column-reverse;
    text-align: center;
  }

  .hero__item {
    flex-basis: calc(50% - 20px);
    flex-grow: 1;
  }

  .hero__item:last-child {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .hero__item:last-child .hero__text {
    max-width: unset;
  }


  .hero__text {
    font-size: 14px;
  }

  .hero__desc {
    font-size: 14px;
    text-align: left;
  }

  .hero__title {
    text-align: left;
    justify-content: flex-start;
    margin-bottom: 30px;
  }

  .hero__buttons .button {
    padding: 15px;
  }

  .hero__tag {
    min-width: 0;
    padding: 10px 20px;
  }

  .article__inner {
    gap: 30px;
  }

  .contents {
    gap: 20px;
    padding: 20px;
  }

  .article__footer {
    justify-content: center;
  }

  .article__question {
    width: 100%;
    text-align: center;
  }

  .service-text__underline {
    left: 0.25em;
  }

  .articles__title {
    margin-bottom: 30px;
    flex-wrap: wrap;
  }

  .articles__title .navigation {
    margin-left: auto;
  }

  .articles__item {
    gap: 20px;
  }

  .articles__top {
    flex-direction: column;
  }

  .articles__image {
    width: 100%;
  }

  .articles__image img {
    object-fit: contain;
  }

  .articles__tag {
    flex-basis: auto;
    padding: 10px 16px;
  }

  .button.button-outline.button-arrow {
    padding: 5px;
    padding-left: 40px;
  }

  .hero-service .hero__title {
    text-align: left;
  }

  .addiction {
    padding: 16px;
    gap: 16px;
  }

  .price-table__content {
    padding: 32px 16px;
  }

  /* Адаптив строк таблицы тарифов в 2 яруса */
  .price-table__top.price-table__four {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 12px;
    padding: 12px 0 10px;
    margin-bottom: 4px;
    text-align: left;
  }

  .price-table__top.price-table__four p:first-child {
    display: none;
  }

  .price-table .list li {
    width: 100%;
    font-size: 12px;
  }

  .price-table__info .text p {
    font-size: 12px;
  }

  .price-table__info .list li p {
    font-size: 12px;
  }

  .price-table__info .list__icon {
    width: 20px;
    height: 20px;
  }

  .price-table__top.price-table__four p {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-main);
  }

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

  .price-table__item.price-table__four {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 12px;
    padding: 14px 0;
    text-align: left;
  }

  .price-table__item.price-table__four p:first-child {
    grid-column: 1 / -1;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-main);
    line-height: 1.35;
  }

  .price-table__item.price-table__four p:not(:first-child) {
    font-size: 12px;
    font-weight: 600;
    color: var(--purple-dark);
    white-space: nowrap;
  }

  .price-table__osno .price-table__top.price-table__four,
  .price-table__osno .price-table__item.price-table__four {
    grid-template-columns: repeat(2, 1fr);
  }

  .price-table__two {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: baseline;
  }

  .price-table__two p:first-child {
    font-size: 12px;
    line-height: 1.35;
  }

  .price-table__two p:last-child {
    font-size: 13px;
    font-weight: 700;
    color: var(--purple-dark);
    white-space: nowrap;
    text-align: right;
  }

  .price-table__block {
    margin-bottom: 24px;
  }

  .price-table__tables .price-table__title::before {
    width: 24px;
    height: 24px;
  }

  .price-table__tables .price-table__title {
    font-size: 16px;
  }

  .addiction__icon {
    width: 75px;
    height: 75px;
  }

  .price-table__title {
    margin-bottom: 12px;
  }

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

  .price .title-span-big {
    margin-bottom: 36px;
  }

  .title-typing .title__underline {
    bottom: -20px;
    width: 75%;
  }
}

/* ===== css/blocks/services.css ===== */
.services {}

.services__wrapper {}

.services__items {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
}

.services__item {}

@media (hover: hover) {
  .services__item:hover .services__fold:nth-child(2) {
    transform: scaleY(1.75);
  }

  .services__item:hover .services__image img {
    transform: scale(1.05);
  }
}

.services__top {
  display: flex;
  gap: 20px;
}

.service-purple .services__fold:nth-child(2) {
  background: var(--second-color);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.services__inner {
  padding: 20px;
  border-radius: 0 8px 8px 8px;
  background: #fff;
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  position: relative;

  display: flex;
  gap: 40px;
  flex-direction: column;
}

.services__tag {}

.services__image {
  position: relative;
  height: 205px;
}

.services__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all var(--duration);
}

.services__button {}

.services__image-tag {
  position: absolute;
  bottom: 0px;
  right: 30px;
  font-size: var(--text16);
  color: var(--purple-dark);
  padding: 10px;
}

.services__image-tag::before {
  content: "";
  width: 162px;
  height: 63px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%) scale(1.15);
  background-image: url(/local/templates/main/assets/css/../img/icons/icon-around.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 1700px) {
  .services__items {
    padding-top: 30px;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  }
}

@media (max-width: 1439px) {
  .services__wrapper {
    overflow: hidden;
  }

  .services__items {
    display: flex;
    width: max-content;
    gap: 0;
  }
}

@media (max-width: 991px) {
  .services__image {
    height: 150px;
  }

  .services__inner {
    gap: 20px;
  }

  .services__items {
    padding-top: 0;
  }
}

@media (max-width: 577px) {
  .services__tag {
    margin: 0 auto;
  }
}

/* ===== css/blocks/solutions.css ===== */
.solutions {}

.solutions__swiper {}

.solutions__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px var(--gap);

}

.service-page .solutions__wrapper {
  margin-bottom: 120px;
}

.solutions__item {
  background-color: var(--white);
  padding: 30px 20px 20px 20px;
  border-radius: var(--rounded-lg);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  min-height: 480px;
  box-sizing: border-box;
}

.solution {}

.solution__name {
  text-align: center;
  font-size: var(--text22);
  font-family: var(--title-font);
  margin-bottom: 16px;
}

.solution__image {
  height: 225px;
  margin-bottom: 16px;
}

.solution__image img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.solution__button {
  margin-top: auto;
}

/* Обертка контента листа бумаги */
.paper-bg__wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

/* 3D Flip карточка решения */
.solution--flip {
  perspective: 1200px;
  background-color: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.solution__flipper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 480px;
  transform-style: preserve-3d;
  transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (hover: hover) {
  .solution--flip:hover .solution__flipper {
    transform: rotateY(180deg);
  }
}

.solution--flip.is-flipped .solution__flipper {
  transform: rotateY(180deg);
}

.solution__side {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--rounded-lg);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
}

.solution__side--front {
  transform: rotateY(0deg);
  padding: 30px 20px 20px 20px;
  z-index: 2;
}

.solution__side--back {
  transform: rotateY(180deg);
  padding: 30px 20px 20px 20px;
  flex-direction: row-reverse;
  z-index: 1;
}

.solution--flip:hover .solution__side--front,
.solution--flip.is-flipped .solution__side--front {
  pointer-events: none;
}

.solution--flip:hover .solution__side--back,
.solution--flip.is-flipped .solution__side--back {
  pointer-events: auto;
}

/* Заголовок с маркером на оборотной стороне */
.solution__side--back .solution__name.tag {
  margin: 0 auto 20px;
  padding: 8px 16px;
  /* width: max-content; */
}

.solution__side--back .solution__name.tag span {
  white-space: normal;
  display: inline-block;
  text-align: center;
  font-size: var(--text22);
  line-height: 125%;
  font-family: var(--title-font);
}

/* Анимация прорисовки маркера при перевороте */
.solution__side--back .tag-brush-svg {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.solution--flip:hover .solution__side--back .tag-brush-svg,
.solution--flip.is-flipped .solution__side--back .tag-brush-svg {
  clip-path: inset(0 0 0 0);
  transition-delay: 0.35s;
}

/* Список услуг на оборотной стороне */
.solution__list {
  list-style: none;
  padding: 0;
  margin: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 275px;
  overflow: hidden;
}

.solution__list-item {
  font-family: var(--main-font);
  font-size: 14px;
  line-height: 145%;
  color: var(--text-secondary);
}

.solution__list-item ul {
  padding-left: 20px;
  margin-top: 20px;
}

.solution__list-item ul li {
  list-style: disc;
  margin-bottom: 8px;
}

.solution__list-item ul li::marker {
  color: var(--text-secondary);
  font-size: 12px;
}

.solution__list-item span {
  color: var(--purple-dark);
  font-weight: 600;
}

.solution-last {}

.solution__text {
  text-align: center;
}

.solution__text span {
  color: var(--purple-dark);
}

@media (max-width: 1700px) {
  .solutions__wrapper {
    display: flex;
    width: max-content;
    gap: 0;
  }

  .solutions__swiper {
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .solutions__item {
    min-height: 300px;
  }
}

@media (max-width: 577px) {
  .solutions__item .paper-bg__left {
    display: none;
  }

  .solutions .title__underline {
    width: 75%;
  }
}

/* ===== css/blocks/trust.css ===== */
.trust {}

.trust__wrapper {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 75px;
}

.trust__swiper {}

.trust__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
  gap: var(--gap);
}

.trust__item {
  position: relative;
  min-height: 165px;
}

@media (hover: hover) {
  .trust__item:hover .trust__down {
    transform: translateY(-50%) translateX(-16px);
  }

  .trust__item:hover .trust__icon {
    transform: translateY(-50%) translateX(-6px);
  }
}

.trust__up {
  position: relative;
  z-index: 2;
  transition: all var(--duration);
  /* background: var(--white); */
  height: 100%;
  margin-left: 14px;
  padding: 20px;
  padding-left: 50px;
  display: flex;
  align-items: center;

  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: var(--rounded-sm);
}

.trust__up::before {
  content: "";
  background: url("/local/templates/main/assets/css/../img/blocks/trust/trust-card-bg.svg") center / cover no-repeat;
  z-index: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* --paper-bg-color: var(--white, #ffffff);
  --paper-grid-size: 18px;
  --paper-line-color: rgba(45, 44, 52, 0.04);
  content: "";
  background-color: var(--primary-hover);
  width: 69px;
  height: 69px;
  border-radius: 50%;
  transform: translateY(-50%);
  position: absolute;

  background-image:
    linear-gradient(to right, var(--paper-line-color) 1px, transparent 1px),
    linear-gradient(to bottom, var(--paper-line-color) 1px, transparent 1px);
  background-size:
    var(--paper-grid-size) var(--paper-grid-size),
    var(--paper-grid-size) var(--paper-grid-size);
  background-position-y: -4px;
  background-position-x: -1px;
  top: 50%;
  left: -30px;
  box-shadow: none;
  clip-path: polygon(30px 0%, 30px 100%, 100% 100%, 100% 0%); */
}

.trust__down {
  --paper-bg-color: var(--primary-hover);
  z-index: 1;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 90%;
  border-radius: var(--rounded-sm);
  box-shadow: -1px 1px 2px 0 rgba(0, 0, 0, 0.1);

  transition: all var(--duration);
}

.trust__text {
  color: var(--text-main);

  font-family: var(--title-font);
  font-size: var(--text24);
  font-weight: 400;
  line-height: 120%;
  /* 28.8px */
  position: relative;
  z-index: 1;
}

.trust__text span {
  color: var(--green-dark);
}

.trust__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(26px);
  left: 14px;
  z-index: 2;
  transition: all var(--duration);
}

.trust__item-purple {}

.trust__item-purple .trust__down {
  --paper-bg-color: var(--purple-light);
}

.trust__item-purple .trust__up span {
  color: var(--purple-dark);
}

.trust__page {
  position: relative;
}

.trust__image {
  user-select: none;
  -webkit-user-drag: none;
}

.trust__descr {
  position: absolute;
  bottom: 56px;
  right: 24px;
  transform: rotate(-4.5deg);
  max-width: 532px;
  padding-right: 40px;
  width: 100%;
  mix-blend-mode: multiply;
}

.trust__descr p {
  margin-bottom: 16px;
  color: var(--text);

  font-size: 16px;
  font-weight: 400;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
}

.trust__button {
  margin-top: 24px;
}

.trust__button .button-link {
  width: auto;
  display: flex;
  justify-content: flex-end;
  gap: 26px;
}

@media (max-width: 1800px) {
  .trust__descr {
    padding-right: 30px;
    right: 0px;
  }
}

@media (max-width: 1700px) {
  .trust__page {
    height: max-content;
    position: sticky;
    transition: all var(--duration);
    top: 50px;
  }

  .trust__page.sticky-top {
    top: calc(var(--header-height) + 30px);
  }

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

  .trust__wrapper {
    grid-template-columns: 1fr 1.25fr;
  }
}

@media (max-width: 1439px) {
  .trust__descr {
    max-width: 425px;
    bottom: 42px;
  }

  .trust__descr p {
    font-size: 14px;
  }

  .trust__button .button-link {
    font-size: 16px;
  }
}

@media (max-width: 1199px) {
  .trust__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }

  .trust__items {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .trust__page {
    max-width: 600px;
    margin: 0 auto;
  }

  .trust__descr {
    right: 36px;
  }
}

@media (max-width: 991px) {
  .trust__text {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .trust__image img {
    display: none;
  }

  .trust__descr {
    position: relative;
    inset: 0;
    z-index: 2;
    padding: 20px;
    background: var(--white);
    border-radius: var(--rounded);

    /* Создает stacking context для всей карточки, не изолируя фон от псевдоэлементов */
    isolation: isolate;
    transform: rotate(-6deg);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  }

  .trust__descr::before,
  .trust__descr::after {
    content: "";
    background: var(--white);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--rounded);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
  }

  /* Вторая карточка (средняя) */
  .trust__descr::before {
    z-index: -1;
    /* Легкий поворот вправо и небольшой сдвиг вниз */
    transform: rotate(-6deg) translateY(6px) scale(1);
    opacity: 0.85;
    /* По желанию: можно сделать нижние слои чуть прозрачнее */
  }

  /* Третья карточка (самая нижняя) */
  .trust__descr::after {
    z-index: -2;
    /* Легкий поворот влево (или сильнее вправо) и сдвиг еще ниже */
    transform: rotate(-6deg) translateY(12px) scale(0.95);
    opacity: 0.65;
  }
}

@media (max-width: 577px) {
  .trust__up {
    padding: 30px;
  }

  .trust__item {
    min-height: unset;
  }

  .trust__item.active .trust__down {
    transform: translateY(-50%) translateX(-16px);
  }

  .trust__item.active .trust__icon {
    transform: translateY(-50%) translateX(-6px);
  }

  .trust__descr {
    transform: rotate(0deg);
  }
}

/* ===== css/blocks/not-found.css ===== */
.not-found {
  --number-size: clamp(130px, 30vw, 380px);
  position: relative;
  display: grid;
  align-content: center;
  min-height: calc(100vh - var(--header-height));
  min-height: calc(100svh - var(--header-height));
  padding: max(60px, calc(var(--number-size) * 0.3)) 0 80px;
  overflow: hidden;
}

.not-found .container {
  width: 100%;
}

.not-found::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(45, 44, 52, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(45, 44, 52, 0.05) 1px, transparent 1px);
  background-position: center;
  background-size: 18px 18px;
  -webkit-mask: radial-gradient(ellipse 45% 50% at 50% 45%,
      #000 20%,
      transparent 100%);
  mask: radial-gradient(ellipse 45% 50% at 50% 45%, #000 20%, transparent 100%);
  pointer-events: none;
}

.not-found__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.not-found__number {
  --mx: 0;
  --my: 0;
  position: relative;
  z-index: 0;
  display: flex;
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--number-size);
  font-variant-numeric: tabular-nums;
  line-height: 0.85;
  cursor: pointer;
  user-select: none;
}

.not-found__number::after {
  content: "";
  position: absolute;
  inset: -0.16em -0.3em -0.1em -0.32em;
  z-index: -1;
  background: url("/local/templates/main/assets/css/../img/icons/icon-advantages-ellipse.svg") center / 100% 100% no-repeat;
  transform: translate(calc(var(--mx) * -14px), calc(var(--my) * -14px)) rotate(-3deg);
  will-change: transform;
  pointer-events: none;
}

.not-found__digit {
  --depth: 20;
  display: block;
  height: 0.85em;
  overflow: hidden;
  transform: translate(calc(var(--mx) * var(--depth) * 1px),
      calc(var(--my) * var(--depth) * 1px));
  will-change: transform;
}

.not-found__digit:nth-child(1) {
  --depth: 16;
  --roll-duration: 1.2s;
  --roll-delay: 0.2s;
}

.not-found__digit:nth-child(2) {
  --depth: 30;
  --roll-duration: 1.5s;
  --roll-delay: 0.3s;
}

.not-found__digit:nth-child(3) {
  --depth: 22;
  --roll-duration: 1.8s;
  --roll-delay: 0.4s;
}

.not-found__strip {
  display: flex;
  flex-direction: column;
}

.not-found__strip span {
  display: block;
  height: 0.85em;
}

.not-found__title {
  margin: max(36px, calc(var(--number-size) * 0.26)) 0 40px;
  color: var(--green-dark);
  font-size: var(--text20);
  font-weight: 400;
  line-height: 120%;
}

.not-found__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.not-found__button {
  width: 300px;
  min-height: 68px;
}

.not-found__number-roll .not-found__digit {
  animation: notFoundBlur var(--roll-duration) var(--roll-delay);
}

.not-found__number-roll .not-found__strip {
  animation: notFoundRoll var(--roll-duration) var(--roll-delay) forwards;
}

.not-found__number-roll::after {
  animation: notFoundCircle 0.8s 1.9s var(--anim-ease-smooth) both;
}

@keyframes notFoundRoll {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0.6, 0, 0.25, 1);
  }

  88% {
    transform: translateY(calc(var(--steps) * -0.85em - 0.08em));
    animation-timing-function: ease-in-out;
  }

  100% {
    transform: translateY(calc(var(--steps) * -0.85em));
  }
}

@keyframes notFoundBlur {

  0%,
  100% {
    filter: blur(0);
  }

  30%,
  65% {
    filter: blur(0.012em);
  }
}

@keyframes notFoundCircle {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

@media (max-width: 767px) {
  .not-found {
    padding-bottom: 60px;
  }

  .not-found__title {
    margin-bottom: 30px;
  }

  .not-found__buttons .not-found__button {
    min-height: 55px;
  }
}

@media (max-width: 577px) {
  .not-found__buttons {
    flex-direction: column;
    width: 100%;
  }

  .not-found__button {
    width: 100%;
  }
}

/* ===== css/blocks/expert-blog.css ===== */
.expert-blog {}

.expert-blog__wrapper {
  position: relative;
  padding: 50px;
  min-height: 250px;
  z-index: 2;
}

.expert-blog__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.expert-blog__block {
  display: flex;
  align-items: flex-end;
  gap: 50px;
}

.expert-blog__left {
  position: relative;
}

.expert-blog__title {
  color: var(--background);
  font-size: var(--text70);
  font-family: var(--title-font);
  font-weight: 400;
  line-height: 100%;
  /* 70px */
  margin-bottom: 16px;
}

.expert-blog__title span {
  font-size: 16px;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
  max-width: 540px;
  display: inline-block;
}

.expert-blog__title span mark {
  background: transparent;
  color: var(--second-color);
}

.expert-blog__arrow {
  position: absolute;
  top: 0;
  right: -150px;
  pointer-events: none;
}

.expert-blog__right {
  flex-grow: 1;
  /* padding-left: 125px; */
  max-width: 500px;
  margin-left: auto;
}

.expert-blog-mini .expert-blog__wrapper {
  min-height: 248px;
  padding: 55px 54.5px 39px 46px;
}

.expert-blog-mini .expert-blog__block {
  gap: 40px;
}

.expert-blog-mini .expert-blog__title {
  margin-bottom: 14px;
  font-family: var(--title-font);
}

.expert-blog-mini .expert-blog__title span {
  position: relative;
  top: 5px;
  max-width: 396px;
  margin-left: 39px;
  font-family: var(--main-font);
}

.expert-blog-mini .expert-blog__title span mark {
  color: var(--purple-light);
}

.expert-blog-mini .expert-blog__arrow {
  top: 28px;
  right: -293.7px;
  transform: rotate(-3.22deg);
}

.expert-blog-mini .expert-blog__right {
  max-width: 501px;
}

.expert-blog-service .expert-blog__wrapper {
  padding-left: 52px;
}

.expert-blog-service .expert-blog__block {
  gap: 32px;
}

.expert-blog-service .expert-blog__title span {
  max-width: 405px;
}

.expert-blog-service .expert-blog__arrow {
  right: -284.7px;
}

@media (max-width: 1700px) {
  .expert-blog__bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: right;
  }

  .expert-blog__right {
    padding-left: 0;
  }

  .expert-blog__arrow {
    transform: scale(0.6);
  }

  .expert-blog-mini .expert-blog__arrow {
    transform: rotate(-3.22deg) scale(0.6);
  }
}

@media (max-width: 1439px) {
  .expert-blog__wrapper {
    padding: 24px;
    min-height: 200px;
    overflow: hidden;
    border-radius: var(--rounded-lg);
  }

  .expert-blog__title span {
    margin-top: 12px;
  }

  .expert-blog-mini .expert-blog__wrapper {
    min-height: 200px;
    padding: 24px;
  }

  .expert-blog-mini .expert-blog__title span {
    top: 0;
    margin-left: 0;
  }

  .expert-blog-mini .expert-blog__arrow {
    display: none;
  }

  .expert-blog-mini .expert-blog__right {
    flex-shrink: 0;
  }
}

@media (max-width: 1199px) {
  .expert-blog__right {
    flex-shrink: 0;
  }

  .expert-blog__right .button {
    padding: 20px;
  }
}

@media (max-width: 991px) {
  .expert-blog__block {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .expert-blog__arrow {
    display: none;
  }

  .expert-blog__right {
    margin: 0 auto;
  }

  .expert-blog__right .button {
    min-width: 300px;
  }
}

@media (max-width: 767px) {
  .expert-blog__wrapper {
    padding: 30px;
    background: url('/local/templates/main/assets/css/../img/backgrounds/expert-blog-bg.svg') center / 100% 100% no-repeat;
  }

  .expert-blog__block {
    gap: 20px;
  }

  .expert-blog__bg {
    display: none;
  }

  .expert-blog-mini .expert-blog__wrapper {
    padding: 30px;
  }

  .expert-blog-mini .expert-blog__block {
    gap: 20px;
  }
}

@media (max-width: 577px) {
  .expert-blog__wrapper {
    padding: 20px;
  }

  .expert-blog__right {
    width: 100%;
  }

  .expert-blog-mini .expert-blog__wrapper {
    padding: 20px;
  }
}

/* ===== css/blocks/complex-service.css ===== */
.complex-service {
  margin-top: calc(var(--margin-120) + 38px);
  margin-bottom: 48px;
}

.complex-service__wrapper {
  display: grid;
  grid-template-columns: 1fr 550px;
  gap: 29px;
}

.complex-service__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 50px;
}

.complex-service__title .title__heading {
  margin: -0.13em 0 -0.16em;
}

.complex-service__info {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}

.complex-service__text {
  margin: 0;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.32px;
}

.complex-service__subtitle {
  margin: 0;
  color: var(--black);
  font-size: 16px;
  font-weight: 600;
  line-height: 120%;
  letter-spacing: -0.32px;
}

.complex-service__list {
  gap: 0;
}

.complex-service__list li {
  padding: 16px;
  border-radius: var(--rounded-sm);
  color: var(--black);
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.32px;
}

.complex-service__list li:nth-child(odd) {
  background: var(--bg);
}

.complex-service__button {
  width: 100%;
  max-width: 550px;
}

.complex-service__image {
  align-self: center;
}

.complex-service__image img {
  display: block;
  width: 100%;
  height: 742px;
  object-fit: contain;
}

@media (max-width: 1439px) {
  .complex-service__wrapper {
    grid-template-columns: 1fr 420px;
  }

  .complex-service__image img {
    height: 640px;
  }
}

@media (max-width: 1199px) {
  .complex-service__wrapper {
    grid-template-columns: 1fr;
  }

  .complex-service__image {
    display: none;
  }

  .complex-service__button {
    display: block;
    margin: 0 auto;
  }

  .complex-service {
    margin-top: calc(var(--margin-120) + 0px);
    margin-bottom: 48px;
  }
}

@media (max-width: 767px) {
  .complex-service__content {
    gap: 30px;
  }

  .complex-service__info {
    gap: 20px;
  }

  .complex-service__list li {
    padding: 12px;
  }
}

@media (max-width: 577px) {
  .complex-service__button {
    max-width: none;
    padding: 20px;
  }
}

/* ===== css/blocks/steps.css ===== */
.steps {}

.steps__wrapper {}

.steps__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: var(--gap);
}

.step-animation {
  counter-increment: step;
  display: flex;
}

.step {
  display: flex;
  width: 100%;
  color: var(--text-main);
  gap: 20px;
  border-radius: var(--rounded-lg);
  box-shadow: var(--shadow);
  background: var(--background);
  transition: all 0.5s;
}

@media (hover: hover) {

  .step:hover,
  .step.element-animation:hover {
    opacity: 1;
    transform: translateY(-10px);
  }
}

.step .step__number {
  color: #d0beaf;
}

.step__divider {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
  position: relative;
}

.step__divider::before,
.step__divider::after {
  content: "";
  width: 20px;
  height: 20px;
  background: var(--white);
  box-shadow: inset;
  display: block;
  border-radius: 50%;
  position: absolute;
}

.step__divider::before {
  top: -10px;
}

.step__divider::after {
  bottom: -10px;
}

.step__divider span {
  width: 4px;
  box-shadow: -1px 1px 1px 0 rgba(0, 0, 0, 0.15) inset;
  height: 8px;
  background: var(--white);
}

.step-green {
  background: var(--primary-hover);
}

.step-green .step__number {
  color: var(--green-dark);
}

.step__left {
  padding: 20px 40px;
  padding-right: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.step__name {
  font-size: var(--text24);
  font-weight: 400;
  font-family: var(--title-font);
  line-height: 120%;
  /* 28.8px */
}

.step__text {
  color: var(--text);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
}

.step__button {}

.step__button .button {
  padding: 20px;
}

.step__right {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
}

.step__number {
  transform: rotate(-90deg);
  display: flex;
  gap: 5px;
  padding-bottom: 16px;
}

.step__number::before {
  content: "[";
}

.step__number::after {
  content: "]";
}

.step__number span::before {
  content: counter(step) " ";
  transform: rotate(90deg);
}

.step-purple {
  background: var(--purple-light);
}

.step-purple .step__number {
  color: var(--purple-dark);
}

@media (max-width: 1199px) {
  .steps__items {
    padding-bottom: 100px;
  }
}

@media (max-width: 991px) {
  .step__left {
    flex-grow: 1;
  }
}

@media (max-width: 767px) {
  .steps__items {
    padding-bottom: 60px;
  }

  .steps__items {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: visible !important;
    /* Расстояние между карточками в их исходном базовом состоянии */
    gap: 24px;
    /* Запас снизу, чтобы финальная стопка немного повисела зафиксированной перед уходом */
    /* padding-bottom: var(--margin-120); */
  }

  /* Сбрасываем мешающие transform-анимации появления */
  .steps__items .step-animation {
    margin: 0;
    opacity: 1;
    animation: none !important;
    will-change: top, transform;
  }

  /* Плашка самой карточки */
  .step {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
    /* Плавный переход при получении класса перекрытия */
    transition:
      filter 0.25s ease,
      opacity 0.25s ease,
      transform 0.25s ease;
  }

  .step.step-green {
    background: #eaf5e1;
  }

  .step.step-purple {
    background: #f1eafd;
  }

  /* ========================================================
     ЭФФЕКТ ЗАКРЫТЫХ КАРТОЧЕК (когда на них наехали сверху)
     ======================================================== */
  .step-animation.is-overlap .step {
    /* Легкая тень и приглушение, чтобы фокус был на активной нижней */
    filter: brightness(0.97);
    opacity: 0.92;
  }

  .step-animation.is-overlap {
    /* Чтобы случайный клик по выглядывающей шапке не нажимал старые кнопки */
    pointer-events: none;
  }
}

/* ===== css/blocks/price.css ===== */
.price__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
  gap: 60px;
}

.price__item {
  background-color: var(--background);
  display: flex;
  padding-left: 20px;
  padding-right: 30px;
  gap: 20px;
  border-radius: var(--rounded);
  position: relative;
  box-shadow: var(--shadow);
}

.price__item .dynamic-dashed-line {
  background-color: var(--primary-hover);
}

.price__item-purple .dynamic-dashed-line {
  background-color: var(--purple-light);
}

.price__item .paper-bg__holes span {
  background: var(--white);
}

.price__item-purple {}

@media (hover: hover) {
  .price__item:hover .services__fold:nth-child(2) {
    transform: scaleX(1.25);
  }

  .price__item:hover .price__price {
    transform: scale(1.15);
  }
}

.price__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.price__top {
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.price__item-purple .price__tag {}

.price__tag {
  margin-bottom: 20px;
}

.price__price {
  padding-bottom: 40px;
  transition: all var(--duration);

  color: var(--green-dark);
  text-align: center;
  font-family: var(--title-font);
  font-size: var(--text24);
  font-weight: 400;
  line-height: 120%;
  /* 28.8px */
}

.price__item-purple .price__price {
  color: var(--purple-dark);
}

.price__middle {
  flex-grow: 1;
}

.price__list {}

.price__bottom {
  padding-bottom: 40px;
}

.price__bottom .button {
  margin-top: 40px;
  width: 100%;
}

.price__folds {
  position: absolute;
  right: -40px;
  top: 0;
  gap: 20px;
  display: flex;
  flex-direction: column;
  padding-top: 80px;
}

.price__folds .services__fold {
  width: 40px;
  height: 140px;
  border-radius: 0 10px 10px 0;
  transform-origin: 0 0;
}

.price__folds .services__fold:nth-child(1) {
  background: var(--background);
}

.price__item-purple .services__fold:nth-child(2) {
  background: var(--purple-light);
}

@media (max-width: 1700px) {
  .price__wrapper {
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  }
}

@media (max-width: 1439px) {
  .price__swiper {
    overflow: hidden;
  }

  .price__wrapper {
    display: flex;
    gap: 0;
    width: max-content;
  }
}

@media (max-width: 767px) {
  .price__item {
    flex-direction: column;
    padding: 20px;
  }

  .price__item .paper-bg__left {
    flex-direction: row;
  }

  .price__item .paper-bg__holes {
    display: flex;
    flex-direction: row;
  }

  .price__folds {
    display: none;
  }

  .price__top {
    padding-top: 0px;
  }

  .price__item {
    height: max-content;
  }
}

/* ===== css/blocks/about.css ===== */
.about {}

.about__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
  gap: var(--gap);
}

.about__reviews {}

.about__sertificates {}


.sertificates {
  background: var(--white);
  padding: 30px 26px 10px;
  border-radius: var(--rounded-lg);
}

.sertificates__swiper {
  max-height: 620px;
}

.sertificates__swiper .swiper-3d .swiper-wrapper {
  max-height: 550px;
}

.sertificates__slide {
  height: unset;

}

.sertificates__slide a {
  height: 100%;
  display: grid;
  place-items: center;
}

.sertificates__slide img {
  transition: all var(--duration);
  min-height: 300px;
  width: auto;
  /* margin: auto;*/
  display: block;
}

/* .sertificates__slide a {
  display: block;
  position: relative;
} */

.sertificates__slide a::before {
  content: "";
  background: url("/local/templates/main/assets/css/../img/icons/icon-zoom.svg");
  width: 45px;
  height: 45px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  transform: translate(10px, 10px);
  opacity: 0;
  z-index: 10;
  transition: all var(--duration);
}

.sertificates__navigation.navigation {
  margin-top: 20px;
}

@media (hover: hover) {
  .sertificates__slide:hover img {
    transform: scale(1.025);
  }

  .sertificates__slide a:hover::before {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@media (max-width: 1700px) {
  .sertificates {
    overflow: hidden;
    height: max-content;
    position: sticky;
    top: 50px;
    transition: all var(--duration);
  }

  .sertificates.sticky-top {
    top: calc(var(--header-height) + 30px);
  }

  .about__wrapper {
    grid-template-columns: 1fr 0.75fr;
  }
}

@media (max-width: 1439px) {
  .about__wrapper {
    grid-template-columns: repeat(2, 1fr);
  }

  .about .title__underline {
    bottom: -36px;
    left: -85px;
  }

  .about .title__underline img {
    transform: scale(0.6);
  }
}

@media (max-width: 1199px) {
  .about__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }

  .sertificates__slide img {
    width: 100%;
  }

  .sertificates__swiper {
    max-height: unset;
  }
}

@media (max-width: 991px) {

  .about .title__underline {
    max-width: 125%;
  }

  .sertificates__slide img {
    object-fit: contain;
    max-height: 500px;
  }
}

@media (max-width: 767px) {
  .sertificates {
    position: static;
  }

  .about .about__reviews {
    overflow: hidden;
  }

  .about .reviews__items {
    display: flex;
    width: max-content;
    gap: 0;
  }

  .about .review__animation {
    height: unset;
  }

  .about .review__item-yandex .review__inner>img {
    width: 90%;
  }

  .sertificates__slide img {
    object-fit: contain;
    max-height: 400px;
  }
}

@media (max-width: 577px) {
  .about .title__underline {
    bottom: -32px;
    left: -50px;
  }

  .sertificates {
    padding: 10px;
    padding-bottom: 20px;
  }

  .sertificates__slide img {
    object-fit: contain;
    max-height: 300px;
  }
}

/* ===== css/blocks/reviews.css ===== */
.reviews__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--gap);
  margin-bottom: ;
}

.review__animation {
  display: flex;
  height: 100%;
}

.review__item {
  padding: 22px;
  padding-right: 12px;
  border-radius: var(--rounded);
  box-shadow: var(--shadow);
  transition: all var(--duration);
}

@media (hover: hover) {
  .review__item:hover {
    transform: translateY(-10px);
  }

  .review__item-yandex:hover {
    transform: translateY(0px);
  }
}

.review__inner {
  display: flex;
  gap: 20px;
  flex-direction: column;
}

.review__rating {}

.review__name {
  color: var(--text-main, #2d2c34);

  font-family: var(--title-font);
  font-size: var(--text24);
  font-weight: 400;
  line-height: 120%;
  /* 28.8px */
}

.review__company {
  color: var(--text);

  font-size: var(--text16);

  font-weight: 400;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
}

.review__text {
  color: var(--text);
  font-size: var(--text16);
  font-weight: 400;
  line-height: 120%;
  /* 19.2px */
  letter-spacing: -0.32px;
}


.review__item-yandex .button {
  padding: 8px 20px;
}

.reviews-about .reviews__title .title__heading {
  max-width: 819px;
  margin: -0.13em 0 calc(80px - 0.16em);
}

.reviews-about .reviews__underline {
  top: 1.02em;
  left: 2.14em;
  width: 8.49em;
  pointer-events: none;
}

.reviews-about .reviews__underline img {
  display: block;
  width: 100%;
  height: 1.08em;
}

.reviews-about .reviews__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 840fr) minmax(0, 304fr) minmax(0, 558fr);
  align-items: center;
  column-gap: 4px;
}

.reviews-about .reviews__items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.reviews-about .reviews__decor img {
  display: block;
  width: 100%;
  height: 539px;
  object-fit: contain;
}

.reviews-about .reviews__widget {
  width: 100%;
  min-height: 650px;
}

.reviews-about .review__item-yandex {
  margin: 0 auto;
}

@media (max-width: 1700px) {
  .reviews-about .reviews__wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
    column-gap: 30px;
  }

  .reviews-about .reviews__decor {
    display: none;
  }

  .reviews-about .reviews__widget {
    min-height: 600px;
  }
}

@media (max-width: 1439px) {
  .review__item-yandex {
    width: 100%;
  }

  .review__inner {
    flex-grow: 1;
  }

  .review__item-yandex .review__inner>img {
    max-width: 300px;
    margin: 0 auto;
  }

  .reviews-about .reviews__wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 350px);
  }
}

@media (max-width: 1199px) {
  .reviews-about .reviews__wrapper {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }

  .reviews-about .reviews__widget {
    max-width: 558px;
    margin: 0 auto;
  }
}

@media (max-width: 991px) {
  .review__item-yandex .review__inner>img {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .reviews-about .reviews__title .title__heading {
    margin-bottom: calc(50px - 0.16em);
  }

  .reviews-about .reviews__swiper {
    overflow: hidden;
  }

  .reviews-about .reviews__items {
    display: flex;
    width: max-content;
    gap: 0;
  }

  .reviews-about .review__animation {
    height: unset;
  }
}

@media (max-width: 577px) {
  .reviews-about .reviews__title .title__heading {
    margin-bottom: calc(30px - 0.16em);
  }
}

/* ===== css/blocks/advantages.css ===== */
.advantages {
  padding-bottom: 26px;
}

.advantages__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding-top: 20px;
  margin-bottom: 71px;
}

.advantages__title {
  margin-top: 22px;
}

.advantages__underline {
  top: -0.37em;
  left: 6.02em;
  width: 7.36em;
  pointer-events: none;
  z-index: -1;
}

.advantages__underline img {
  display: block;
  width: 100%;
  height: 1.87em;
}

.advantages__buttons {
  display: flex;
  flex-shrink: 0;
  gap: 30px;
  width: 550px;
}

.advantages__button {
  flex: 1 1 0;
  gap: 12px;
  min-height: 68px;
  padding: 20px;
}

.advantages__button img {
  width: 28px;
  height: 28px;
}

.advantages__items {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 481fr) minmax(0, 500fr) minmax(0, 499fr);
  gap: 57px 115px;
}

.advantages__items::before,
.advantages__items::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: -6px;
  width: 2px;
  background: repeating-linear-gradient(to bottom,
      #f3e9e2 0 12px,
      transparent 12px 24px);
  pointer-events: none;
}

.advantages__items::before {
  left: 32.98%;
}

.advantages__items::after {
  left: 67.02%;
}

.advantages__line {
  grid-column: 1 / -1;
  height: 2px;
  background: repeating-linear-gradient(to right,
      #f3e9e2 0 12px,
      transparent 12px 24px);
}

.advantages__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.advantages__image {}

.advantages__image img {
  display: block;
  width: 100%;
  max-width: 282px;
  height: 211px;
  object-fit: contain;
  opacity: 0.7;
  transition: all var(--duration);
}

.advantages__text {
  max-width: 500px;
  margin: 0;
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--text20);
  line-height: 120%;
}

.advantages__text span {
  color: var(--green-dark);
}

.advantages-service .advantages__text span {
  color: var(--purple-dark);
}

@media (hover: hover) {
  .advantages__item:hover .advantages__image img {
    transform: scale(1.05);
    opacity: 1;
  }
}

@media (max-width: 1439px) {
  .advantages__buttons {
    gap: 20px;
    width: 480px;
  }

  .advantages__items {
    row-gap: 45px;
  }

  .advantages__image img {
    height: 180px;
  }

  .advantages__underline {
    width: 6em;
  }

  .advantages__buttons {
    flex-wrap: wrap;
  }

  .advantages__button {
    min-height: unset;
  }
}

@media (max-width: 1199px) {
  .advantages__top {
    flex-wrap: wrap;
    margin-bottom: 60px;
  }

  .advantages__buttons {
    width: 100%;
    max-width: 550px;
    margin-left: auto;
  }

  .advantages {
    margin-top: 60px;
  }

  .advantages__button {
    padding: 15px;
  }

  .advantages__button img {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 991px) {
  .advantages__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 20px;
  }

  .advantages {
    margin-top: 30px;
  }

  .advantages__items::before,
  .advantages__items::after,
  .advantages__line {
    display: none;
  }

  .advantages__image img {
    height: 160px;
  }
}

@media (max-width: 767px) {
  .advantages {
    margin-top: 60px;
  }

  .advantages__top {
    padding-top: 0;
    margin-bottom: 40px;
  }

  .advantages__title {
    margin-top: 0;
  }
}

@media (max-width: 577px) {
  .advantages__underline {
    left: 5.8em;
    width: 6.6em;
  }

  .advantages__buttons {
    flex-direction: column;
    gap: 12px;
  }

  .advantages__text {
    font-size: 14px;
  }

  .advantages__image img {
    height: 100px;
  }
}

/* ===== css/blocks/faq.css ===== */
.faq {}

.faq__wrapper {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  align-items: flex-end;
}

.faq__items {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  max-width: 800px;
}

.faq__item {
  padding: 20px;
}

@media (hover: hover) {
  .faq__item:hover .faq__icon {
    filter: brightness(0.8);
  }
}

.faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap);
  transition: all var(--duration);
  cursor: pointer;
}

.faq__left {
  display: flex;
  gap: 20px;
}

.faq__left .paper-bg__left {
  flex-shrink: 0;
}

.faq__item.active .faq__question {
  margin-bottom: 20px;
}

.faq__item.active .faq__answer .dynamic-dashed-line {
  opacity: 1;
  padding-bottom: 20px;
}

.faq__answer .dynamic-dashed-line {
  background-color: var(--primary-hover);
  transition: all var(--duration);
  opacity: 0;
}

.faq__icon {
  justify-self: flex-end;
  transition: all var(--duration);
  width: 45px;
  height: 45px;
  flex-shrink: 0;
}

.faq__icon img {
  transition: all var(--duration);
}

.faq__icon img:nth-child(1) {
  transform: translateY(14px);
}

.faq__icon img:nth-child(2) {
  transform: rotate(90deg) translateX(8px);
}

.faq__answer {
  height: 0;
  transition: all var(--duration);
  overflow: hidden;
  color: var(--text);
}

.faq__item.active .faq__icon img:nth-child(2) {
  opacity: 0;
  transform: rotate(90deg) translateX(8px) scaleX(0);
}

.faq__image {}

@media (max-width: 1199px) {
  .faq__image {
    display: none;
  }
}

@media (max-width: 767px) {
  .faq__question p {
    font-size: 18px;
  }

  .faq .paper-bg__left {
    display: none;
  }

  .faq__icon {
    width: 35px;
    height: 35px;
  }
}

@media (max-width: 577px) {
  .faq .title__underline {
    width: 90%;
    z-index: -1;
  }
}

/* ===== css/blocks/quote.css ===== */
.quote {}

.quote .container {
  display: flow-root;
}

.quote__wrapper {
  display: flex;
  flex-direction: column;
  margin: -0.13em 0 -0.16em;
  color: var(--black);
  font-family: var(--title-font);
  font-size: clamp(24px, 18.47px + 1.38vw, 45px);
  line-height: 100%;
}

.quote__text {}

.quote__text p {
  margin: 0 0 20px;
}

.quote__text p:last-child {
  margin-bottom: 0;
}

.quote__text span:not(.words-typer__word) .words-typer__word {
  color: var(--green-dark);
}

.quote__author {
  position: relative;
  align-self: flex-end;
  margin-top: -0.29em;
  font-style: normal;
}

.quote__underline {
  position: absolute;
  top: -0.6em;
  right: -0.564em;
  width: 7.71em;
  max-width: none;
  height: 2.26em;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 991px) {
  .quote__author {
    margin-top: 30px;
  }
}

@media (max-width: 577px) {
  .quote__text p {
    margin-bottom: 12px;
  }

  .quote__underline {
    right: -0.3em;
  }
}

/* ===== css/blocks/certificates.css ===== */
.certificates {}

.certificates__title {}

.certificates__title .title__heading {
  margin: -0.13em 0 calc(60px - 0.16em);
}

.certificates__swiper {}

.certificates__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}

.certificates__item {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 9px 12px;
  border-radius: var(--rounded);
  background: var(--white);
  box-shadow: var(--shadow);
}

.certificates__item-small {
  padding: 16px 24px;
}

.certificates__item::before {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  width: 45px;
  height: 45px;
  background: url("/local/templates/main/assets/css/../img/icons/icon-zoom.svg") center / contain no-repeat;
  opacity: 0;
  transform: translate(10px, 10px);
  transition: all var(--duration);
  pointer-events: none;
}

.certificates__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all var(--duration);
}

@media (hover: hover) {
  .certificates__item:hover .certificates__image {
    transform: scale(1.025);
  }

  .certificates__item:hover::before {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@media (max-width: 1199px) {
  .certificates__swiper {
    overflow: hidden;
  }

  .certificates__items {
    display: flex;
    width: max-content;
    gap: 0;
  }
}

@media (max-width: 767px) {
  .certificates__title .title__heading {
    margin-bottom: calc(40px - 0.16em);
  }

  .certificates__item::before {
    right: 10px;
    bottom: 10px;
  }
}

@media (max-width: 577px) {
  .certificates__title .title__heading {
    margin-bottom: calc(30px - 0.16em);
  }


  .certificates__items {
    max-height: 200px;
  }
}

/* ===== css/blocks/partners.css ===== */
.partners {
  margin-bottom: 30px;
}

.partners__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 80px;
}

.partners__title {
  flex: 0 1 772px;
}

.partners__underline {
  pointer-events: none;
  bottom: -50px;
}

.partners__underline img {
  display: block;
  width: 100%;
}

.partners__descr {
  flex: 0 1 591px;
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.32px;
}

.partners__descr span {
  color: var(--green-dark);
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
}

.partners__logo {
  flex-shrink: 0;
  width: 150px;
}

.partners__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.partners__swiper {}

.partners__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
}

.partners__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px 30px;
  border-radius: var(--rounded);
  background: var(--bg);
  box-shadow: var(--shadow);
}

.partners__name {
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--text24);
  line-height: 120%;
  text-align: center;
}

.partners__image {}

.partners__image img {
  display: block;
  width: 100%;
  height: 233px;
  object-fit: contain;
}

@media (max-width: 1700px) {
  .partners__underline {
    max-width: calc(100% + 25px);
  }
}

@media (max-width: 1439px) {
  .partners__image img {
    height: 140px;
  }
}

@media (max-width: 1199px) {
  .partners__image img {
    height: 180px;
  }
}

@media (max-width: 1199px) {
  .partners__top {
    flex-wrap: wrap;
    row-gap: 50px;
    margin-bottom: 60px;
  }

  .partners__title {
    flex-basis: 100%;
  }

  .partners__descr {
    flex: 1 1 400px;
  }

  .partners__swiper {
    overflow: hidden;
  }

  .partners__items {
    display: flex;
    width: max-content;
    gap: 0;
  }
}

@media (max-width: 991px) {
  .partners__image img {
    height: 150px;
  }

  .partners__underline {
    max-width: 75%;
    right: 0;
    bottom: -25px;
  }
}

@media (max-width: 767px) {
  .partners__top {
    row-gap: 40px;
    margin-bottom: 40px;
  }

  .partners__underline {
    display: none;
  }

  .partners__logo {
    display: none;
  }
}

@media (max-width: 577px) {
  .partners__top {
    row-gap: 30px;
    margin-bottom: 30px;
  }

  .partners__descr {
    flex-basis: 100%;
  }

  .partners__item {
    padding: 20px 16px;
  }

  .partners__image img {
    height: 130px;
  }
}

/* ===== css/blocks/clients.css ===== */
.clients {}

.clients__title .title__heading {
  margin: -0.13em 0 calc(80px - 0.16em);
}

.clients__swiper {}

.clients__items {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.clients__items::before,
.clients__items::after,
.clients__item::before,
.clients__item::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.clients__items::before,
.clients__item::after {
  left: 0;
  right: 0;
  height: 2px;
  background: repeating-linear-gradient(to right,
      #f3e9e2 0 12px,
      transparent 12px 24px);
}

.clients__items::after,
.clients__item::before {
  top: 0;
  bottom: 0;
  width: 2px;
  background: repeating-linear-gradient(to bottom,
      #f3e9e2 0 12px,
      transparent 12px 24px);
}

.clients__items::before {
  top: 0;
}

.clients__items::after {
  left: 0;
}

.clients__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32.5px 13.5px;
}

.clients__item::before {
  right: 0;
}

.clients__item::after {
  bottom: 0;
}

.clients__image {
  display: block;
  width: 100%;
  max-width: 258px;
  height: auto;
}

@media (max-width: 1199px) {
  .clients__items {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .clients__swiper {
    position: relative;
    overflow: hidden;
  }

  .clients__swiper::before,
  .clients__swiper::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    height: 2px;
    background: repeating-linear-gradient(to right,
        #f3e9e2 0 12px,
        transparent 12px 24px);
    pointer-events: none;
  }

  .clients__swiper::before {
    top: 0;
  }

  .clients__swiper::after {
    bottom: 0;
  }

  .clients__items {
    display: flex;
    width: max-content;
    transition-timing-function: linear;
  }

  .clients__items::before,
  .clients__items::after,
  .clients__item::after {
    display: none;
  }

  .clients__item {
    padding: 24px 12px;
  }

  .clients__swiper .element-animation {
    opacity: 1;
    animation: none;
  }
}

@media (max-width: 767px) {
  .clients__title .title__heading {
    margin-bottom: calc(50px - 0.16em);
  }
}

@media (max-width: 577px) {
  .clients__title .title__heading {
    margin-bottom: calc(30px - 0.16em);
  }
}

/* ===== css/blocks/useful.css ===== */
.useful {}

.useful__title .title__heading {
  margin: -0.13em 0 calc(80px - 0.16em);
}

.useful__underline {
  bottom: -0.24em;
  left: 0;
  width: 13.33em;
  max-width: 100%;
  pointer-events: none;
}

.useful__underline img {
  display: block;
  width: 100%;
  height: 0.229em;
}

.useful__swiper {
  overflow: hidden;
}

.useful__items {
  display: flex;
  width: max-content;
  gap: 0;
}

.useful__item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  border-radius: var(--rounded);
  background: var(--purple-light);
  box-shadow: var(--shadow);
  transition: background var(--duration);
}

@media (hover: hover) {
  .useful__item:hover {
    background: var(--white);
  }
}

.useful__head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.useful__icon {
  flex-shrink: 0;
  width: 95px;
  isolation: isolate;
}

.useful__icon img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: luminosity;
}

.useful__name {
  color: var(--black);
  font-family: var(--title-font);
  font-size: var(--text20);
  font-weight: 600;
  line-height: normal;
}

.useful__text {
  margin: 0;
  color: var(--text);
  font-size: var(--text16);
  line-height: 120%;
  letter-spacing: -0.32px;
}

.useful__button {
  min-height: 68px;
  margin-top: auto;
}

@media (max-width: 1199px) {
  .useful__items {
    display: flex;
    width: max-content;
    gap: 0;
  }
}

@media (max-width: 1199px) {
  .useful__item {
    flex-basis: 350px;
    flex-grow: 1;
  }

  .useful__item:last-child {
    max-width: 500px;
  }

  /* .useful__item:last-child {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .useful__item:last-child .useful__head {
    flex-direction: column;
  }
  .useful__item:last-child .useful__text {
    flex-grow: 1;
  }
  .useful__item:last-child .useful__button {
    margin-top: 0;
    flex-shrink: 0;
    padding: 20px 20px;
  } */
}

@media (max-width: 991px) {
  .useful__swiper {
    overflow: hidden;
  }

  .useful__items {
    display: flex;
    width: max-content;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
  }
}

@media (max-width: 767px) {
  .useful__title .title__heading {
    margin-bottom: calc(50px - 0.16em);
  }
}

@media (max-width: 577px) {
  .useful__title .title__heading {
    margin-bottom: calc(30px - 0.16em);
  }

  .useful__head {
    gap: 12px;
  }

  .useful__icon {
    width: 76px;
  }
}

/* ===== css/blocks/breadcrumbs.css ===== */
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  color: var(--text);
  font-size: 14px;
  padding-top: 30px;
  margin-bottom: 11px;
  line-height: normal;
}

.breadcrumbs__link {
  color: var(--text);
  text-decoration: none;
  transition: all var(--duration);
}

@media (hover: hover) {
  .breadcrumbs__link:hover {
    color: var(--purple-dark);
  }
}

.breadcrumbs__separator {}

.breadcrumbs__current {
  color: var(--black);
}

@media (max-width: 767px) {
  .breadcrumbs {
    padding-top: 20px;
  }
}

@media (max-width: 577px) {
  .breadcrumbs {
    gap: 6px;
    font-size: 12px;
  }
}

/* like / dislike: функциональная разметка выглядит как .rate */
.article__rates form.like_or_dislike {
  position: relative;
  display: grid;
  place-items: center;
  width: 100px;
  height: 68px;
  margin: 0;
  border-radius: var(--rounded);
  background: var(--bg);
}

.article__rates .SpF {
  display: none;
}

.article__rates form label.like,
.article__rates form label.dislike {
  display: block;
  width: 100%;
  height: 100%;
  background: url("/local/templates/main/assets/css/../img/icons/icon-like.svg") center / 22px 22px no-repeat;
  cursor: pointer;
  transition: background-size var(--duration);
}

.article__rates form label.dislike {
  background-image: url("/local/templates/main/assets/css/../img/icons/icon-dislike.svg");
}

.article__rates label svg {
  display: none;
}

.article__rates .form-success {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 6px;
  color: var(--text);
  font-size: 14px;
  line-height: 120%;
  white-space: nowrap;
}

.article__rates .form-success:empty {
  display: none;
}

@media (hover: hover) {

  .article__rates form label.like:hover,
  .article__rates form label.dislike:hover {
    background-size: 19px 19px;
  }
}

/* после голосования (.vote_like и .vote_dislike): видимостью управляет прежний JS/CSS, здесь только оформление */
:is(.vote_like, .vote_dislike) label svg {
  display: none;
}

:is(.vote_like, .vote_dislike) .name_info_golos {
  display: inline-block;
  margin: 0 10px 0 0;
  vertical-align: middle;
  color: var(--black);
  font-size: var(--text18);
  font-weight: 500;
  line-height: normal;
}

:is(.vote_like, .vote_dislike) .like_or_dislike {
  display: inline-block;
  vertical-align: middle;
}

:is(.vote_like, .vote_dislike) .like_or_dislike form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100px;
  height: 68px;
  margin: 0;
  border-radius: var(--rounded);
  background: var(--bg);
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label.like,
:is(.vote_like, .vote_dislike) .like_or_dislike form label.dislike {
  display: block;
  order: 1;
  width: 22px;
  height: 22px;
  background: url("/local/templates/main/assets/css/../img/icons/icon-like-active.svg") center / 22px 22px no-repeat;
  cursor: default;
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label.dislike {
  background-image: url("/local/templates/main/assets/css/../img/icons/icon-dislike-active.svg");
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label~div {
  color: var(--green-dark);
  font-size: 14px;
  line-height: 120%;
  letter-spacing: -0.28px;
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label.dislike~div {
  color: var(--purple-dark);
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label~div::before {
  content: "[";
}

:is(.vote_like, .vote_dislike) .like_or_dislike form label~div::after {
  content: "]";
}

.schowing {
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}


/* .container.review-page {
  padding-top: 39px;
} */

.review-page .reviews__items {
  grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
}

@media (max-width:767px) {
  .review-page .reviews__items {
    grid-template-columns: repeat(1, 1fr);
  }
}

.review-page .review__title,
.service-page .service-page__title {

  font-size: var(--text70);
  line-height: 100%;
  margin-bottom: calc(40px - 0.17em);
  margin: 40px 0 40px;
  color: var(--black);
  font-family: var(--title-font);
}

.service-page .solutions__wrapper {
  display: grid;
  width: 100%;
  gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));

}

@media (max-width:767px) {
  .service-page .solutions__wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* End */


/* Start:/local/templates/main/components/bitrix/menu/burger_menu/style.min.css?1698928957490*/
ul.left-menu{list-style:none;margin:0;padding:0;margin-bottom:8px;position:relative}ul.left-menu li{padding:10px 16px;background:#f5f5f5 url(/local/templates/main/components/bitrix/menu/burger_menu/images/left_menu_bg.gif) top repeat-x}ul.left-menu li a{font-size:100%;color:#bc262c;font-weight:bold;text-decoration:none}ul.left-menu li a:visited{color:#bc262c}ul.left-menu li a:hover{color:#bc262c}ul.left-menu li a.selected:link,ul.left-menu li a.selected:visited,ul.left-menu li a.selected:active,ul.left-menu li a.selected:hover{color:#fc8d3d}
/* End */


/* Start:/local/templates/main/components/bitrix/menu/main_top/style.min.css?1698928957490*/
ul.left-menu{list-style:none;margin:0;padding:0;margin-bottom:8px;position:relative}ul.left-menu li{padding:10px 16px;background:#f5f5f5 url(/local/templates/main/components/bitrix/menu/main_top/images/left_menu_bg.gif) top repeat-x}ul.left-menu li a{font-size:100%;color:#bc262c;font-weight:bold;text-decoration:none}ul.left-menu li a:visited{color:#bc262c}ul.left-menu li a:hover{color:#bc262c}ul.left-menu li a.selected:link,ul.left-menu li a.selected:visited,ul.left-menu li a.selected:active,ul.left-menu li a.selected:hover{color:#fc8d3d}
/* End */


/* Start:/local/templates/main/components/bitrix/breadcrumb/universal_fix/style.min.css?1657610744620*/
.bx-breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bx-breadcrumb-item{height:22px;white-space:nowrap}.bx-breadcrumb-item-angle{margin:0 10px;color:#b5bdc2;vertical-align:top;font-size:12px}.bx-breadcrumb-item-link{border-bottom:0;vertical-align:top;line-height:21px}.bx-breadcrumb-item-text{vertical-align:top;white-space:normal;font:400 13px/21px "Open Sans",Arial,"Helvetica Neue",Helvetica,sans-serif;transition:250ms linear all}
/* End */


/* Start:/local/templates/main/components/bitrix/menu/main_footer/style.min.css?1698928957490*/
ul.left-menu{list-style:none;margin:0;padding:0;margin-bottom:8px;position:relative}ul.left-menu li{padding:10px 16px;background:#f5f5f5 url(/local/templates/main/components/bitrix/menu/main_footer/images/left_menu_bg.gif) top repeat-x}ul.left-menu li a{font-size:100%;color:#bc262c;font-weight:bold;text-decoration:none}ul.left-menu li a:visited{color:#bc262c}ul.left-menu li a:hover{color:#bc262c}ul.left-menu li a.selected:link,ul.left-menu li a.selected:visited,ul.left-menu li a.selected:active,ul.left-menu li a.selected:hover{color:#fc8d3d}
/* End */
/* /local/templates/main/assets/css/main/fonts.css?17884545551161 */
/* /local/templates/main/assets/css/main/normalize.css?17886261701144 */
/* /local/templates/main/assets/css/main/animations.css?179006019810280 */
/* /local/templates/main/assets/libs/fancybox/fancynbox.min.css?176191598224789 */
/* /local/templates/main/assets/libs/swiper/swiper-bundle.min.css?176191598218432 */
/* /local/templates/main/assets/css/style.css?1794556595150284 */
/* /local/templates/main/components/bitrix/menu/burger_menu/style.min.css?1698928957490 */
/* /local/templates/main/components/bitrix/menu/main_top/style.min.css?1698928957490 */
/* /local/templates/main/components/bitrix/breadcrumb/universal_fix/style.min.css?1657610744620 */
/* /local/templates/main/components/bitrix/menu/main_footer/style.min.css?1698928957490 */
