@keyframes fadeInTop {
  0% {
    translate: 0 -100%
  }

  to {
    translate: 0 0
  }
}

@keyframes fadeOutTop {
  0% {
    translate: 0 0
  }

  to {
    translate: 0 -200%
  }
}

@keyframes showIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes showOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes pulse {
  0% {
    opacity: 0
  }

  80%,
  to {
    opacity: 1
  }
}

.map-wrapper {
  position: relative;
  min-height: 268px;
  width: 100%;
  background: center/cover no-repeat;
  overflow: hidden
}

.map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.loader {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(204, 10, 10, .4);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none
}

.loader.is-active {
  opacity: 1
}

.loader:after {
  content: "";
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border: solid 8px #fff;
  border-left-color: transparent;
  border-radius: 50%;
  animation: rotation .7s linear infinite
}

@keyframes rotation {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(359deg)
  }
}

[data-spoller-title] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  transition: all .4s
}

[data-spoller-title]:after {
  content: "";
  flex: 0 0 17px;
  width: 17px;
  height: 9px;
  mask: url("data:image/svg+xml,%3Csvg width='17' height='9' viewBox='0 0 17 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.281 1.28104L8.78104 8.78104C8.71139 8.85077 8.62867 8.90609 8.53762 8.94384C8.44657 8.98158 8.34898 9.00101 8.25042 9.00101C8.15186 9.00101 8.05426 8.98158 7.96321 8.94384C7.87216 8.90609 7.78945 8.85077 7.71979 8.78104L0.219792 1.28104C0.0790615 1.14031 0 0.94944 0 0.750417C0 0.551394 0.0790615 0.360522 0.219792 0.219792C0.360523 0.0790612 0.551394 0 0.750417 0C0.94944 0 1.14031 0.0790612 1.28104 0.219792L8.25042 7.1901L15.2198 0.219792C15.2895 0.150109 15.3722 0.0948337 15.4632 0.0571218C15.5543 0.0194098 15.6519 0 15.7504 0C15.849 0 15.9465 0.0194098 16.0376 0.0571218C16.1286 0.0948337 16.2114 0.150109 16.281 0.219792C16.3507 0.289474 16.406 0.3722 16.4437 0.463245C16.4814 0.554289 16.5008 0.651871 16.5008 0.750417C16.5008 0.848963 16.4814 0.946545 16.4437 1.03759C16.406 1.12863 16.3507 1.21136 16.281 1.28104Z' fill='%231A1B1D' /%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='17' height='9' viewBox='0 0 17 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.281 1.28104L8.78104 8.78104C8.71139 8.85077 8.62867 8.90609 8.53762 8.94384C8.44657 8.98158 8.34898 9.00101 8.25042 9.00101C8.15186 9.00101 8.05426 8.98158 7.96321 8.94384C7.87216 8.90609 7.78945 8.85077 7.71979 8.78104L0.219792 1.28104C0.0790615 1.14031 0 0.94944 0 0.750417C0 0.551394 0.0790615 0.360522 0.219792 0.219792C0.360523 0.0790612 0.551394 0 0.750417 0C0.94944 0 1.14031 0.0790612 1.28104 0.219792L8.25042 7.1901L15.2198 0.219792C15.2895 0.150109 15.3722 0.0948337 15.4632 0.0571218C15.5543 0.0194098 15.6519 0 15.7504 0C15.849 0 15.9465 0.0194098 16.0376 0.0571218C16.1286 0.0948337 16.2114 0.150109 16.281 0.219792C16.3507 0.289474 16.406 0.3722 16.4437 0.463245C16.4814 0.554289 16.5008 0.651871 16.5008 0.750417C16.5008 0.848963 16.4814 0.946545 16.4437 1.03759C16.406 1.12863 16.3507 1.21136 16.281 1.28104Z' fill='%231A1B1D' /%3E%3C/svg%3E") center/contain no-repeat;
  background: #1a1b1d;
  transition: all .4s
}

[data-spoller-title].active:after {
  rotate: -180deg
}

[data-spoller-title][disabled]:after {
  display: none
}

.slider {
  position: relative
}

.slider:has(.hover-translate) .swiper {
  padding-block: 12px;
  margin-block: -12px
}

.swiper {
  transition: all .4s
}

.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 8px;
  width: 100%;
  margin-top: 8px
}

.swiper-pagination-bullet {
  width: 16px;
  height: 4px;
  border-radius: 100px;
  background: #ccc;
  cursor: pointer;
  transition: all .4s
}

.swiper-pagination-bullet-active {
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%);
  width: 32px
}

.swiper-pagination-bullet-active:only-child {
  display: none
}

.swiper-pagination-lock {
  display: none
}

.swiper-button-lock {
  display: none
}

.swiper-wrapper {
  display: grid;
  grid-auto-flow: column;
  justify-content: start
}

.swiper-slide {
  display: grid;
  grid-template-columns: 100%
}

.swiper-scrollbar {
  width: 100%;
  height: 4px;
  margin-top: 12px;
  background: #f4f5f7;
  cursor: pointer;
  overflow: hidden
}

.swiper-scrollbar-drag {
  background: #cc0a0a
}

html:not(.loaded) .swiper {
  opacity: 0
}

@keyframes fadeInTop {
  0% {
    translate: 0 -100%
  }

  to {
    translate: 0 0
  }
}

@keyframes fadeOutTop {
  0% {
    translate: 0 0
  }

  to {
    translate: 0 -200%
  }
}

@keyframes showIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes showOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes pulse {
  0% {
    opacity: 0
  }

  80%,
  to {
    opacity: 1
  }
}

body {
  line-height: 1.5
}

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

.section__top-center {
  justify-items: center;
  text-align: center
}

.section_gray {
  background: #f4f5f7
}

.title {
  font-weight: 700;
  line-height: 1.2
}

.title span {
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.title_center {
  text-align: center
}

.title_active {
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.title-2 {
  font-weight: 600
}

.title-3 {
  font-weight: 600;
  line-height: 1.33333
}

.title-4 {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.33333
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 183px;
  padding: .6875em 1em;
  background: #cc0a0a;
  border: 1px solid #cc0a0a;
  border-radius: 8px;
  color: #fff;
  white-space: nowrap;
  font-weight: 700
}

.button:focus-visible {
  background: color-mix(in srgb, black 12%, #cc0a0a)
}

.button svg {
  max-width: 1em;
  max-height: 1em;
  stroke: currentColor;
  fill: currentColor;
  transition: none
}

.button_border {
  background: 0 0;
  color: #cc0a0a
}

.button_border.button_dark {
  border-color: #1a1b1d;
  color: #1a1b1d
}

.button_border.button_dark:focus-visible {
  background: #1a1b1d;
  border-color: #1a1b1d;
  color: #fff
}

.button_border.button_blue {
  border: 1px solid #2154b2;
  background: 0 0;
  color: #2154b2
}

.button_border.button_blue:focus-visible {
  background: #2054b2;
  border-color: #2054b2;
  color: #fff
}

.button_white {
  border-color: #fff;
  background: #fff;
  color: #2054b2
}

.button_white:focus-visible {
  border-color: color-mix(in srgb, black 4%, #fff);
  background: color-mix(in srgb, black 4%, #fff)
}

.button_blue {
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%);
  border: 0
}

.button_blue svg {
  transition: all .4s
}

.button_blue:focus-visible {
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%)
}

.button_blue:focus-visible svg {
  translate: 4px 0
}

.tel {
  font-weight: 600
}

.blue-text {
  color: #2054b2
}

.iti__arrow {
  display: none
}

input[type=tel] {
  padding-left: 40px !important
}

.iti__country-list {
  color: #1a1b1d
}

.iti__flag-container {
  background: 0 0 !important
}

.iti__selected-flag {
  background: 0 0 !important
}

.form__text {
  margin-top: 12px;
  color: #757575;
  font-size: 14px
}

.input,
.textarea {
  width: 100%;
  padding-inline: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font: inherit
}

.input:user-invalid,
.textarea:user-invalid {
  color: #f03;
  border-color: #f03
}

.input:user-invalid::placeholder,
.textarea:user-invalid::placeholder {
  color: #f03
}

.input::placeholder,
.textarea::placeholder {
  color: #757575
}

.input_white,
.textarea_white {
  background: #fff;
  color: #1a1b1d
}

.input_white::placeholder,
.textarea_white::placeholder {
  color: rgba(26, 27, 29, .8)
}

.input {
  height: 48px
}

.textarea {
  padding-block: 12px
}

.submit {
  margin-top: 8px
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 11;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: rgba(0, 0, 0, .7);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px)
}

.modal_open .modal__content {
  animation: modal-open .4s ease forwards
}

.modal_close .modal__content {
  animation: modal-close .4s ease forwards
}

.modal__dialog {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer
}

.modal__content {
  position: relative;
  width: min(100%, 400px);
  max-height: 90vh;
  padding-right: 9px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  border-radius: 8px;
  text-align: center;
  cursor: default;
  transition: all .4s
}

@supports (-moz-appearance:none) {
  .modal__content {
    scrollbar-color: #f41515 #f4f5f7;
    scrollbar-width: thin
  }
}

.modal__content::-webkit-scrollbar {
  width: 4px
}

.modal__content::-webkit-scrollbar-track-piece {
  background-color: #f4f5f7;
  border-radius: 4px
}

.modal__content::-webkit-scrollbar-thumb {
  background-color: #f41515;
  border-radius: 4px
}

@keyframes modal-open {
  0% {
    opacity: 0;
    translate: 0 -24px
  }

  to {
    opacity: 1;
    translate: 0 0
  }
}

@keyframes modal-close {
  0% {
    opacity: 1;
    translate: 0 0
  }

  to {
    opacity: 0;
    translate: 0 -24px
  }
}

.modal__title {
  line-height: 1.2
}

.modal__form form {
  display: grid;
  justify-content: center;
  grid-template-columns: 100%
}

.modal__form .form__fields {
  gap: 12px
}

.modal__close {
  position: absolute;
  z-index: 4;
  display: flex;
  cursor: pointer;
  transition: all .4s
}

.modal__close svg {
  width: 20px;
  height: 20px;
  fill: #f4f5f7
}

.modal__close svg:focus-visible {
  fill: #cc0a0a
}

.modal-thank .modal__content {
  display: grid;
  min-width: 280px;
  justify-items: center;
  background: #fff;
  color: #1a1b1d
}

.modal-thank .modal__title,
.modal-thank .modal__subtitle {
  margin: 0
}

.header {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  padding-block: 12px;
  will-change: transform
}

.header__top {
  display: flex;
  align-items: center
}

.header__top-wrapper {
  display: flex;
  align-items: center
}

.header-main__content {
  background: #dde4f2
}

.header-main__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 20px
}

.header-main__left {
  display: grid;
  gap: 20px;
  align-content: start
}

.header-main__subtitle {
  max-width: 490px;
  color: #728392
}

.header-main__img {
  max-height: 100%;
  object-position: top
}

.header-main__tags {
  display: flex;
  flex-wrap: wrap
}

.header-main__tags li {
  display: flex;
  align-items: center;
  background: #fff
}

.header-main__tags .header-main__tag-link {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  flex: 1;
  min-height: 0;
  gap: inherit
}

.header-main__tags li:after {
  content: "";
  width: .9375em;
  height: .9375em;
  mask: url("data:image/svg+xml,%3Csvg width='15' height='13' viewBox='0 0 15 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.8172 6.69254L9.19219 12.3175C9.07491 12.4348 8.91585 12.5007 8.75 12.5007C8.58415 12.5007 8.42509 12.4348 8.30781 12.3175C8.19054 12.2003 8.12465 12.0412 8.12465 11.8753C8.12465 11.7095 8.19054 11.5504 8.30781 11.4332L12.8664 6.87535H0.625C0.45924 6.87535 0.300269 6.8095 0.183058 6.69229C0.0658481 6.57508 0 6.41611 0 6.25035C0 6.08459 0.0658481 5.92562 0.183058 5.80841C0.300269 5.6912 0.45924 5.62535 0.625 5.62535H12.8664L8.30781 1.06753C8.19054 0.95026 8.12465 0.7912 8.12465 0.625347C8.12465 0.459495 8.19054 0.300435 8.30781 0.18316C8.42509 0.0658846 8.58415 0 8.75 0C8.91585 0 9.07491 0.0658846 9.19219 0.18316L14.8172 5.80816C14.8753 5.86621 14.9214 5.93514 14.9529 6.01101C14.9843 6.08688 15.0005 6.16821 15.0005 6.25035C15.0005 6.33248 14.9843 6.41381 14.9529 6.48969C14.9214 6.56556 14.8753 6.63449 14.8172 6.69254Z' fill='%231A1B1D' /%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='15' height='13' viewBox='0 0 15 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.8172 6.69254L9.19219 12.3175C9.07491 12.4348 8.91585 12.5007 8.75 12.5007C8.58415 12.5007 8.42509 12.4348 8.30781 12.3175C8.19054 12.2003 8.12465 12.0412 8.12465 11.8753C8.12465 11.7095 8.19054 11.5504 8.30781 11.4332L12.8664 6.87535H0.625C0.45924 6.87535 0.300269 6.8095 0.183058 6.69229C0.0658481 6.57508 0 6.41611 0 6.25035C0 6.08459 0.0658481 5.92562 0.183058 5.80841C0.300269 5.6912 0.45924 5.62535 0.625 5.62535H12.8664L8.30781 1.06753C8.19054 0.95026 8.12465 0.7912 8.12465 0.625347C8.12465 0.459495 8.19054 0.300435 8.30781 0.18316C8.42509 0.0658846 8.58415 0 8.75 0C8.91585 0 9.07491 0.0658846 9.19219 0.18316L14.8172 5.80816C14.8753 5.86621 14.9214 5.93514 14.9529 6.01101C14.9843 6.08688 15.0005 6.16821 15.0005 6.25035C15.0005 6.33248 14.9843 6.41381 14.9529 6.48969C14.9214 6.56556 14.8753 6.63449 14.8172 6.69254Z' fill='%231A1B1D' /%3E%3C/svg%3E") center/contain no-repeat;
  background: currentColor
}

.header-main-single .header-main__wrapper {
  margin-bottom: 0
}

.header-main-single .header-main__content {
  padding-bottom: 0
}

.header-main-single .header-main__subtitle {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(114, 131, 146, .2)
}

.header-main-single .header-main__left {
  max-width: 540px;
  padding-block: 40px
}

.header-main-single .header-main__tags {
  padding-right: 0
}

.footer {
  padding-block: 40px 20px;
  background: #f4f5f7
}

.footer__wrapper {
  display: grid
}

.footer__row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  align-items: start;
  gap: 20px;
  border-bottom: 1px solid #ccc
}

.footer__item {
  display: grid;
  justify-items: start;
  font-size: 14px;
  line-height: 1.42857
}

.footer__item-small {
  gap: 16px
}

.footer__item-title {
  color: #728392
}

.footer__item ul {
  column-gap: 20px
}

.footer__item ul:has(>:nth-child(7)) {
  columns: 2 auto
}

.footer__item ul li {
  break-inside: avoid
}

.footer__item ul a:focus-visible {
  color: #cc0a0a
}

.footer__menu {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 26px 16px;
  border-top: 1px solid #eaf1f6;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .03em
}

.footer__menu a:focus-visible {
  color: #cc0a0a
}

.footer__menu li:has(.sub-menu) {
  flex: 1 0 265px
}

.footer__menu ul {
  margin-top: 20px;
  display: grid;
  gap: 12px;
  font-size: 14px;
  line-height: 1.71429
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.footer__social-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0
}

.footer__social-item img {
  transition: all .4s
}

.footer__social-item:focus-visible img {
  scale: 1.1
}

.footer__button {
  min-width: 240px;
  flex-grow: 1
}

.footer__bottom {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: start;
  gap: 20px;
  border-bottom: 1px solid #ccc
}

.footer__links {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1.42857;
  text-align: center;
  color: #50b3ff;
  text-wrap: balance
}

@keyframes fadeInTop {
  0% {
    translate: 0 -100%
  }

  to {
    translate: 0 0
  }
}

@keyframes fadeOutTop {
  0% {
    translate: 0 0
  }

  to {
    translate: 0 -200%
  }
}

@keyframes showIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes showOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes pulse {
  0% {
    opacity: 0
  }

  80%,
  to {
    opacity: 1
  }
}

.container {
  position: relative;
  margin-inline: auto;
  max-width: max(100%, 430px);
  padding-inline: 16px
}

.container-left,
.container-right {
  position: relative;
  width: 100vw;
  max-width: calc(100vw - (100vw - 430px)/2);
  padding: 0
}

.container-right {
  margin-left: auto;
  margin-right: 0;
  padding-left: 12px
}

.container-left {
  margin-right: auto;
  margin-left: 0;
  padding-right: 12px
}

:root {
  --active: #cc0a0a;
  --text: #1a1b1d
}

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

a,
button,
input,
textarea {
  -webkit-tap-highlight-color: transparent
}

a:focus,
button:focus,
input:focus,
textarea:focus {
  outline: 0
}

html {
  display: flex;
  flex-direction: column;
  min-height: 100%
}

html:not(.loaded) [data-da*=header__mobile],
html:not(.loaded) ._dynamic_adapt_,
html:not(.loaded) .sub-menu-wrapper {
  position: absolute;
  opacity: 0
}

html:not(.loaded) .header {
  opacity: 0
}

html:not(.loaded) [data-lines] {
  opacity: 0
}

html.safari {
  -webkit-text-size-adjust: 100%
}

html.safari input,
html.safari textarea {
  font-size: 16px !important
}

html.safari input {
  -webkit-appearance: none;
  appearance: none
}

@supports not (-webkit-hyphens:none) {
  body {
    padding-right: 0 !important
  }
}

body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  margin: 0;
  font-family: "Inter";
  color: #1a1b1d;
  -webkit-tap-highlight-color: transparent;
  overflow-x: clip
}

body.no-scroll {
  overflow-y: hidden
}

.wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow-x: clip
}

.main {
  flex: 1
}

html,
body,
.header__mobile {
  scrollbar-gutter: stable
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd,
figure,
fieldset,
iframe {
  margin: 0;
  padding: 0
}

button,
a {
  cursor: pointer;
  color: inherit
}

button:focus-visible,
a:focus-visible {
  outline: 3px solid #cc0a0a;
  outline-offset: 8px;
  border-radius: 20px;
  z-index: 20
}

li {
  padding: 0;
  color: inherit;
  list-style: none
}

button {
  padding: 0;
  border: 0;
  background: 0 0
}

a {
  text-decoration: none
}

strong,
a,
button,
li {
  font: inherit
}

input,
textarea {
  border: 0;
  background: 0 0;
  text-decoration: none;
  color: inherit;
  font-family: "Inter";
  -webkit-appearance: none;
  appearance: none
}

input::placeholder,
textarea::placeholder {
  font: inherit;
  color: inherit
}

input:focus-visible,
textarea:focus-visible,
[role=combobox]:focus-visible {
  outline: 1px solid #cc0a0a
}

textarea {
  resize: none;
  max-height: 100%;
  padding-right: 9px;
  overflow-y: auto;
  overflow-x: hidden
}

@supports (-moz-appearance:none) {
  textarea {
    scrollbar-color: #f41515 #f4f5f7;
    scrollbar-width: thin
  }
}

textarea::-webkit-scrollbar {
  width: 4px
}

textarea::-webkit-scrollbar-track-piece {
  background-color: #f4f5f7;
  border-radius: 4px
}

textarea::-webkit-scrollbar-thumb {
  background-color: #f41515;
  border-radius: 4px
}

@supports (-webkit-hyphens:none) {
  input {
    -webkit-appearance: none;
    appearance: none;
    font-size: 16px !important
  }
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=submit],
input[type=button] {
  cursor: pointer
}

img {
  max-width: 100%;
  object-fit: contain
}

picture {
  display: flex;
  justify-content: center
}

picture img {
  height: 100%
}

svg {
  max-height: 100%;
  transition: all .4s
}

sup {
  font-size: .5em
}

[data-digits-counter] {
  display: inline-block;
  white-space: nowrap
}

[data-lines] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden
}

[data-lines].active {
  -webkit-line-clamp: unset;
  overflow: visible
}

.form__fields {
  display: grid
}

.logo {
  display: flex
}

.button,
.submit,
.menu li,
a,
.tel {
  transition: color .3s, background .3s, opacity .3s
}

.menu li {
  position: relative;
  z-index: 2
}

.menu-item:not(.menu-item-has-children) .menu-item-arrow {
  display: none
}

.link-button {
  display: inline-flex;
  justify-content: center;
  align-items: center
}

.hover-translate {
  transition: translate .4s
}

.hover-translate:focus-visible {
  translate: 0 -3px
}

.hover-scale {
  transition: all .4s
}

.hover-scale [class*=-img] {
  overflow: hidden
}

.hover-scale [class*=-img] img {
  transition: .4s ease-in
}

.hover-scale:focus-visible [class*=-img] img {
  scale: 1.02
}

.hover-icon img,
.hover-icon svg {
  transition: all .4s
}

.hover-icon:focus-visible img,
.hover-icon:focus-visible svg {
  scale: 1.08
}

.underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: color .3s, text-decoration-color .3s
}

.underline:focus-visible {
  text-decoration-color: transparent
}

.hover-underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: color .3s, text-decoration-color .3s;
  text-decoration-color: transparent
}

.hover-underline:focus-visible {
  text-decoration-color: currentColor
}

[hidden] {
  display: none !important
}

[data-scrolling] * {
  -webkit-user-select: none;
  user-select: none
}

.flex {
  display: flex
}

.flex-wrap {
  flex-wrap: wrap
}

.col,
.grid {
  display: grid;
  grid-template-columns: 100%;
  justify-items: start
}

.justify-center {
  justify-content: center;
  justify-items: center
}

.justify-end {
  justify-content: end
}

.justify-start {
  justify-items: start
}

.justify-between {
  width: 100%;
  justify-content: space-between
}

.align-center {
  align-items: center
}

.align-start {
  align-items: start;
  align-content: start
}

.align-end {
  align-items: end;
  align-content: end
}

.hidd {
  display: block;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .4s ease, opacity .4s ease
}

.hidd.show {
  max-height: 500px;
  opacity: 1
}

.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  overflow: hidden
}

.callback {
  position: relative;
  background: #2054b2
}

.callback_dark {
  background: linear-gradient(180deg, #111f48 0, #2d4476 51.92%, #466496 100%)
}

.callback__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .1;
  pointer-events: none
}

.callback__wrapper {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 100%;
  justify-items: center;
  align-content: start;
  max-width: 580px;
  margin-inline: auto;
  background: #fff;
  border-radius: 20px
}

.callback__icon {
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #cc0a0a;
  border-radius: 50%;
  border: 2px solid #fff
}

.callback__icon svg {
  width: 50%;
  height: 50%;
  color: #fff;
  fill: #fff
}

.callback__icon svg path {
  fill: #fff !important
}

.callback__title {
  text-align: center
}

.callback__subtitle {
  font-size: 14px;
  color: #728392;
  text-align: center
}

.consultation__wrapper {
  position: relative;
  z-index: 1;
  border-radius: 40px;
  box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2);
  background: #2054b2;
  overflow: hidden
}

.consultation__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .4;
  pointer-events: none
}

.consultation__content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center
}

.consultation__text {
  text-align: center;
  color: #fff
}

.portal__content {
  position: relative;
  padding-block: 20px;
  border-radius: 40px;
  box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2);
  overflow: hidden
}

.portal__wrapper {
  display: grid;
  grid-template-columns: 39.22% 1fr;
  align-items: center
}

.portal__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none
}

.portal__img {
  width: 100%;
  object-fit: cover
}

.portal__right {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 40px;
  color: #fff
}

.portal__button {
  min-width: 300px;
  font-weight: 400
}

.begin__content {
  position: relative;
  padding-block: 40px;
  border-radius: 40px;
  box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2)
}

.begin__wrapper {
  display: grid;
  grid-template-columns: 100%;
  justify-items: center;
  max-width: 780px;
  margin-inline: auto;
  color: #fff
}

.begin__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 40px;
  pointer-events: none
}

.begin__img {
  width: 100%;
  object-fit: cover
}

.begin__title {
  text-align: center
}

.begin__subtitle {
  max-width: 480px;
  margin-bottom: 24px;
  text-align: center;
  color: #dde4f2
}

.begin__form .form__fields {
  grid-template-columns: repeat(2, 1fr)
}

.begin__form .form__text {
  color: #ccc
}

.begin__form .submit {
  margin-top: 0
}

.check__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px
}

.check__item {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  border: 1px solid #ccc;
  border-radius: 12px
}

.check__item-top {
  display: flex;
  align-items: center
}

.check__item-icon {
  flex-shrink: 0
}

.check__item-tags {
  display: flex;
  flex-wrap: wrap
}

.check__item-tags li {
  padding: 4px 12px;
  border-radius: 20px;
  background: #f4f5f7
}

.check__item-title span {
  color: #2054b2
}

.check__item-text {
  color: #728392
}

.check__item-button {
  width: 100%;
  font-weight: 400
}

.contact__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: start
}

.contact__left {
  display: grid
}

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

.contact__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start
}

.contact__item-icon {
  mask: var(--icon) center/max(50%, 16px) no-repeat;
  -webkit-mask: var(--icon) center/max(50%, 16px) no-repeat;
  background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%)
}

.contact__tel:focus-visible {
  color: #2054b2
}

.contact__buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 8px
}

.contact__button {
  border-radius: 8px
}

.contact__map {
  border-radius: 12px;
  border: 1px solid #f0f2f8
}

.faq__wrapper {
  display: grid;
  max-width: 580px;
  margin-inline: auto
}

.faq__item {
  padding-bottom: 24px;
  border-bottom: 1px solid #f4f5f7
}

.faq__item-title {
  padding-block: 8px;
  font-weight: 700
}

.faq__item-text {
  padding-top: 16px
}

.features__wrapper {
  display: grid;
  gap: var(--gap);
  --gap: 20px;
  --min-columns-width: 180px;
  --max-columns: 4;
  grid-template-columns: repeat(auto-fill, minmax(clamp(var(--min-columns-width), 30vw, 100%/var(--max-columns) - var(--gap)/var(--max-columns)*(var(--max-columns) - 1)), 1fr))
}

.features__item {
  display: grid;
  grid-template: auto 1fr/100%;
  justify-items: center;
  align-items: start;
  padding: 20px;
  gap: 20px;
  border: 1px solid #ccc;
  border-radius: 12px;
  text-align: center;
  transition: all .4s
}

.features__item:focus-visible {
  box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2)
}

.features__item_text-left {
  text-align: left
}

.features__item_text-left .features__item-title {
  width: 100%
}

.features__item-img {
  width: 100%;
  height: auto;
  object-fit: cover
}

.features__item-title {
  width: calc(100% + 24px)
}

.features__item-button {
  width: 100%
}

.features__link {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  color: #50b3ff;
  text-underline-offset: 2px
}

.info__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(max(40%, 400px), 1fr));
  gap: 20px
}

.info__item {
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid #ccc
}

.info__item:nth-child(4n+1),
.info__item:nth-child(4n+4) {
  background: #f4f5f7
}

.info__item-top {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-bottom: 32px
}

.info__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, .44);
  background: #fff
}

.info__item-icon img,
.info__item-icon svg {
  max-width: 55%;
  max-height: 55%
}

.info__item-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: .25em .5em .25em .75em;
  margin-left: -4px;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, .44);
  background: #fff
}

.info__item-link {
  border-radius: 20px
}

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

.price__item {
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2);
  background: #fff
}

.price__item-top {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(114, 131, 146, .2);
  font-weight: 600;
  line-height: 1.3
}

.price__item-top svg {
  width: 24px;
  height: 24px;
  fill: #cc0a0a
}

.price__item-table:not(:last-child) {
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(114, 131, 146, .2)
}

.price__item-table-title {
  margin-bottom: 16px;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.33333;
  color: #728392;
  text-transform: uppercase
}

.price__item-table .table {
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden
}

.price__item-table table {
  width: 100%;
  border-collapse: collapse
}

.price__item-table tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: .75em
}

.price__item-table tr:nth-child(odd) {
  background: #dde4f2
}

.price__item-table th {
  text-align: left;
  font-weight: 400
}

.price__item-table td {
  flex: 0 0 max-content;
  text-align: right;
  font-weight: 700
}

.price__item_big {
  grid-row: span 2
}

@media (min-width:576px) {
  .container {
    width: 520px;
    max-width: none;
    padding: 0
  }

  .container-left,
  .container-right {
    width: calc(520px + (100vw - 520px)/2);
    max-width: none
  }

  .container-right {
    padding-right: 20px;
    padding-left: 0
  }

  .container-left {
    padding-right: 0;
    padding-left: 20px
  }

  .show-xs {
    display: none
  }

  .show-xs.swiper-pagination,
  .show-xs.swiper-navigation {
    display: none
  }

  .price__item-table-main tr:nth-child(even) td {
    background: #2054b2
  }

  .price__item-table-main td {
    padding: 4px 12px;
    display: inline-flex;
    justify-content: center;
    border-radius: 20px;
    background: #cc0a0a;
    color: #fff
  }
}

@media (min-width:768px) {
  .container {
    width: 720px
  }

  .container-left,
  .container-right {
    width: calc(720px + (100vw - 720px)/2)
  }

  .show-sm {
    display: none
  }

  .show-sm.swiper-pagination,
  .show-sm.swiper-navigation {
    display: none
  }

  .features__wrapper {
    grid-auto-flow: row
  }
}

@media (min-width:992px) {
  .header-main__left {
    max-width: 530px;
    padding-block: round(clamp(min(55px, 24px), 16.4757281553px + 2.0064724919vw, max(55px, 24px)), 1px)
  }

  .header-main__tags {
    padding-right: 20px
  }

  .header-main-single .header-main__img {
    object-position: center
  }

  .container {
    width: 940px
  }

  .container-left,
  .container-right {
    width: calc(940px + (100vw - 940px)/2)
  }

  .show-md {
    display: none
  }

  .show-md.swiper-pagination,
  .show-md.swiper-navigation {
    display: none
  }
}

@media (min-width:992px) and (min-width:1301px) {
  .header-main-single .header-main__img {
    max-width: 436px
  }
}

@media (min-width:1200px) {
  .show-lg {
    display: none
  }

  .show-lg.swiper-pagination,
  .show-lg.swiper-navigation {
    display: none
  }
}

@media (min-width:1301px) {
  .main {
    padding-bottom: 40px
  }

  .section {
    padding-block: 40px
  }

  .section-bottom {
    padding-bottom: 40px
  }

  .section-top {
    padding-top: 40px
  }

  .section-small {
    padding-block: 26.6666666667px
  }

  .section-small-top {
    padding-top: 26.6666666667px
  }

  .section-small-bottom {
    padding-bottom: 26.6666666667px
  }

  .section-big {
    padding-block: 80px
  }

  .section-big-bottom {
    padding-bottom: 80px
  }

  .section-offset {
    margin-block: 40px
  }

  .section-offset+.section-offset {
    margin-top: -40px
  }

  .section-offset-top {
    margin-top: 40px
  }

  .section-offset-bottom {
    margin-bottom: 40px
  }

  .section__top {
    margin-bottom: 40px
  }

  .title {
    font-size: 36px
  }

  .title-2 {
    font-size: 28px
  }

  .title-3 {
    font-size: 24px
  }

  .form__fields {
    gap: 16px
  }

  .textarea {
    height: 100px
  }

  .modal__content {
    padding-block: 32px
  }

  .modal__content {
    padding-inline: 32px
  }

  .modal__title {
    margin-bottom: 16px
  }

  .modal__title {
    font-size: 28px
  }

  .modal__close {
    right: 16px
  }

  .modal__close {
    top: 16px
  }

  .modal-thank .modal__content {
    gap: 20px
  }

  .modal-thank img {
    width: 100px
  }

  .modal-thank img {
    height: 100px
  }

  .header-main__content {
    padding-bottom: 32px
  }

  .header-main__content {
    padding-left: 50px
  }

  .header-main__content {
    border-radius: 20px
  }

  .header-main__wrapper {
    gap: 20px
  }

  .header-main__subtitle {
    font-size: 18px
  }

  .header-main__img {
    max-width: 580px
  }

  .header-main__tags {
    row-gap: 12px
  }

  .header-main__tags {
    column-gap: 20px
  }

  .header-main__tags li {
    padding-block: 8px
  }

  .header-main__tags li {
    padding-inline: 20px
  }

  .header-main__tags li {
    gap: 10px
  }

  .header-main__tags li {
    min-height: 40px
  }

  .header-main__tags li {
    border-radius: 20px
  }

  .header-main__tags li {
    font-size: 16px
  }

  .header-main-single .header-main__wrapper {
    padding-right: 100px
  }

  .header-main-single .header-main__tags {
    gap: 8px
  }

  .footer__wrapper {
    gap: 40px
  }

  .footer__row {
    padding-bottom: 40px
  }

  .footer__item {
    gap: 24px
  }

  .footer__item ul li:not(:last-child) {
    margin-bottom: 12px
  }

  .footer__menu {
    padding-top: 20px
  }

  .footer__bottom {
    padding-bottom: 40px
  }

  .container {
    width: 1180px
  }

  .container-left,
  .container-right {
    width: calc(1180px + (100vw - 1180px)/2)
  }

  .flex {
    gap: 16px
  }

  .grid {
    gap: 16px
  }

  .show-xl {
    display: none
  }

  .show-xl.swiper-pagination,
  .show-xl.swiper-navigation {
    display: none
  }

  .callback {
    padding-top: 120px
  }

  .callback {
    padding-bottom: 80px
  }

  .callback__wrapper {
    padding-block: 60px
  }

  .callback__wrapper {
    padding-inline: 40px
  }

  .callback__icon {
    width: 80px
  }

  .callback__icon {
    height: 80px
  }

  .callback__title {
    margin-bottom: 4px
  }

  .callback__title {
    font-size: 24px
  }

  .callback__subtitle {
    margin-bottom: 32px
  }

  .consultation__wrapper {
    padding-block: 40px
  }

  .consultation__wrapper {
    padding-inline: 60px
  }

  .consultation__content {
    gap: 40px
  }

  .consultation__text {
    font-size: 18px
  }

  .consultation__logo {
    width: 340px
  }

  .consultation__logo {
    height: 72px
  }

  .portal__content {
    padding-inline: 80px
  }

  .portal__wrapper {
    gap: 100px
  }

  .begin__content {
    padding-inline: 80px
  }

  .begin__title {
    margin-bottom: 8px
  }

  .check__item {
    padding-block: 32px
  }

  .check__item {
    padding-inline: 32px
  }

  .check__item-top {
    gap: 20px
  }

  .check__item-top {
    margin-bottom: 28px
  }

  .check__item-tags {
    gap: 8px
  }

  .check__item-tags {
    margin-bottom: 20px
  }

  .check__item-text {
    margin-bottom: 40px
  }

  .check__item-text {
    font-size: 16px
  }

  .contact__left {
    gap: 40px
  }

  .contact__item {
    gap: 12px
  }

  .contact__item-icon {
    width: 24px
  }

  .contact__item-icon {
    height: 24px
  }

  .contact__buttons {
    column-gap: 20px
  }

  .faq {
    padding-block: 80px
  }

  .faq__wrapper {
    gap: 24px
  }

  .features__item-img {
    min-height: 240px
  }

  .info__item {
    padding-block: 32px
  }

  .info__item {
    padding-inline: 14px
  }

  .info__item {
    border-radius: 20px
  }

  .info__item-title {
    min-height: 48px
  }

  .info__item-title {
    border-radius: 20px
  }

  .info__item-text {
    margin-bottom: 24px
  }

  .price__wrapper {
    gap: 20px
  }

  .price__item-top {
    gap: 16px
  }

  .price__item-top {
    font-size: 24px
  }

  .price__item-table tr {
    min-height: 56px
  }
}

@media (max-width:1300px) {
  .main {
    padding-bottom: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section {
    padding-block: round(clamp(min(40px, 30px), 27.572815534px + .6472491909vw, max(40px, 30px)), 1px)
  }

  .section-bottom {
    padding-bottom: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section-top {
    padding-top: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section-small {
    padding-block: round(clamp(min(26.6666666667px, 16px), 13.4110032362px + .690399137vw, max(26.6666666667px, 16px)), 1px)
  }

  .section-small-top {
    padding-top: round(clamp(min(26.6666666667px, 16px), 13.4110032362px + .690399137vw, max(26.6666666667px, 16px)), 1px)
  }

  .section-small-bottom {
    padding-bottom: round(clamp(min(26.6666666667px, 16px), 13.4110032362px + .690399137vw, max(26.6666666667px, 16px)), 1px)
  }

  .section-big {
    padding-block: round(clamp(min(80px, 40px), 30.2912621359px + 2.5889967638vw, max(80px, 40px)), 1px)
  }

  .section-big-bottom {
    padding-bottom: round(clamp(min(80px, 40px), 30.2912621359px + 2.5889967638vw, max(80px, 40px)), 1px)
  }

  .section-offset {
    margin-block: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section-offset+.section-offset {
    margin-top: round(clamp(min(-40px, -24px), -20.1165048544px + -1.0355987055vw, max(-40px, -24px)), 1px)
  }

  .section-offset-top {
    margin-top: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section-offset-bottom {
    margin-bottom: round(clamp(min(40px, 24px), 20.1165048544px + 1.0355987055vw, max(40px, 24px)), 1px)
  }

  .section__top {
    margin-bottom: round(clamp(min(40px, 32px), 30.0582524272px + .5177993528vw, max(40px, 32px)), 1px)
  }

  .title {
    font-size: round(clamp(min(36px, 32px), 31.0291262136px + .2588996764vw, max(36px, 32px)), 1px)
  }

  .title-2 {
    font-size: round(clamp(min(28px, 24px), 23.0291262136px + .2588996764vw, max(28px, 24px)), 1px)
  }

  .title-3 {
    font-size: round(clamp(min(24px, 18px), 16.5436893204px + .3883495146vw, max(24px, 18px)), 1px)
  }

  .form__fields {
    gap: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .textarea {
    height: round(clamp(min(100px, 80px), 75.145631068px + 1.2944983819vw, max(100px, 80px)), 1px)
  }

  .modal__content {
    padding-block: round(clamp(min(32px, 20px), 17.0873786408px + .7766990291vw, max(32px, 20px)), 1px)
  }

  .modal__content {
    padding-inline: round(clamp(min(32px, 16px), 12.1165048544px + 1.0355987055vw, max(32px, 16px)), 1px)
  }

  .modal__title {
    margin-bottom: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .modal__title {
    font-size: round(clamp(min(28px, 24px), 23.0291262136px + .2588996764vw, max(28px, 24px)), 1px)
  }

  .modal__close {
    right: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .modal__close {
    top: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .modal-thank .modal__content {
    gap: round(clamp(min(20px, 12px), 10.0582524272px + .5177993528vw, max(20px, 12px)), 1px)
  }

  .modal-thank img {
    width: round(clamp(min(100px, 60px), 50.2912621359px + 2.5889967638vw, max(100px, 60px)), 1px)
  }

  .modal-thank img {
    height: round(clamp(min(100px, 60px), 50.2912621359px + 2.5889967638vw, max(100px, 60px)), 1px)
  }

  .header-main__content {
    padding-bottom: round(clamp(min(32px, 40px), 41.9417475728px + -.5177993528vw, max(32px, 40px)), 1px)
  }

  .header-main__content {
    padding-left: round(clamp(min(50px, 16px), 7.7475728155px + 2.2006472492vw, max(50px, 16px)), 1px)
  }

  .header-main__content {
    border-radius: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .header-main__wrapper {
    gap: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .header-main__subtitle {
    font-size: round(clamp(min(18px, 14px), 13.0291262136px + .2588996764vw, max(18px, 14px)), 1px)
  }

  .header-main__img {
    max-width: round(clamp(min(580px, 250px), 169.9029126214px + 21.359223301vw, max(580px, 250px)), 1px)
  }

  .header-main__tags {
    row-gap: round(clamp(min(12px, 4px), 2.0582524272px + .5177993528vw, max(12px, 4px)), 1px)
  }

  .header-main__tags {
    column-gap: round(clamp(min(20px, 12px), 10.0582524272px + .5177993528vw, max(20px, 12px)), 1px)
  }

  .header-main__tags li {
    padding-block: round(clamp(min(8px, 6px), 5.5145631068px + .1294498382vw, max(8px, 6px)), 1px)
  }

  .header-main__tags li {
    padding-inline: round(clamp(min(20px, 12px), 10.0582524272px + .5177993528vw, max(20px, 12px)), 1px)
  }

  .header-main__tags li {
    gap: round(clamp(min(10px, 8px), 7.5145631068px + .1294498382vw, max(10px, 8px)), 1px)
  }

  .header-main__tags li {
    min-height: round(clamp(min(40px, 37px), 36.2718446602px + .1941747573vw, max(40px, 37px)), 1px)
  }

  .header-main__tags li {
    border-radius: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .header-main__tags li {
    font-size: round(clamp(min(16px, 14px), 13.5145631068px + .1294498382vw, max(16px, 14px)), 1px)
  }

  .header-main-single .header-main__wrapper {
    padding-right: round(clamp(min(100px, 20px), .5825242718px + 5.1779935275vw, max(100px, 20px)), 1px)
  }

  .header-main-single .header-main__tags {
    gap: round(clamp(min(8px, 4px), 3.0291262136px + .2588996764vw, max(8px, 4px)), 1px)
  }

  .footer__wrapper {
    gap: round(clamp(min(40px, 20px), 15.145631068px + 1.2944983819vw, max(40px, 20px)), 1px)
  }

  .footer__row {
    padding-bottom: round(clamp(min(40px, 20px), 15.145631068px + 1.2944983819vw, max(40px, 20px)), 1px)
  }

  .footer__item {
    gap: round(clamp(min(24px, 16px), 14.0582524272px + .5177993528vw, max(24px, 16px)), 1px)
  }

  .footer__item ul li:not(:last-child) {
    margin-bottom: round(clamp(min(12px, 8px), 7.0291262136px + .2588996764vw, max(12px, 8px)), 1px)
  }

  .footer__menu {
    padding-top: round(clamp(min(20px, 15px), 13.786407767px + .3236245955vw, max(20px, 15px)), 1px)
  }

  .footer__bottom {
    padding-bottom: round(clamp(min(40px, 20px), 15.145631068px + 1.2944983819vw, max(40px, 20px)), 1px)
  }

  .flex {
    gap: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .grid {
    gap: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .hide-xl {
    display: none
  }

  .hide-xl.swiper-pagination,
  .hide-xl.swiper-navigation {
    display: none
  }

  .callback {
    padding-top: round(clamp(min(120px, 64px), 50.4077669903px + 3.6245954693vw, max(120px, 64px)), 1px)
  }

  .callback {
    padding-bottom: round(clamp(min(80px, 84px), 84.9708737864px + -.2588996764vw, max(80px, 84px)), 1px)
  }

  .callback__wrapper {
    padding-block: round(clamp(min(60px, 32px), 25.2038834951px + 1.8122977346vw, max(60px, 32px)), 1px)
  }

  .callback__wrapper {
    padding-inline: round(clamp(min(40px, 11px), 3.9611650485px + 1.8770226537vw, max(40px, 11px)), 1px)
  }

  .callback__icon {
    width: round(clamp(min(80px, 48px), 40.2330097087px + 2.071197411vw, max(80px, 48px)), 1px)
  }

  .callback__icon {
    height: round(clamp(min(80px, 48px), 40.2330097087px + 2.071197411vw, max(80px, 48px)), 1px)
  }

  .callback__title {
    margin-bottom: round(clamp(min(4px, 8px), 8.9708737864px + -.2588996764vw, max(4px, 8px)), 1px)
  }

  .callback__title {
    font-size: round(clamp(min(24px, 20px), 19.0291262136px + .2588996764vw, max(24px, 20px)), 1px)
  }

  .callback__subtitle {
    margin-bottom: round(clamp(min(32px, 20px), 17.0873786408px + .7766990291vw, max(32px, 20px)), 1px)
  }

  .consultation__wrapper {
    padding-block: round(clamp(min(40px, 32px), 30.0582524272px + .5177993528vw, max(40px, 32px)), 1px)
  }

  .consultation__wrapper {
    padding-inline: round(clamp(min(60px, 16px), 5.3203883495px + 2.8478964401vw, max(60px, 16px)), 1px)
  }

  .consultation__content {
    gap: round(clamp(min(40px, 20px), 15.145631068px + 1.2944983819vw, max(40px, 20px)), 1px)
  }

  .consultation__text {
    font-size: round(clamp(min(18px, 16px), 15.5145631068px + .1294498382vw, max(18px, 16px)), 1px)
  }

  .consultation__logo {
    width: round(clamp(min(340px, 204px), 170.9902912621px + 8.8025889968vw, max(340px, 204px)), 1px)
  }

  .consultation__logo {
    height: round(clamp(min(72px, 43.2px), 36.2097087379px + 1.8640776699vw, max(72px, 43.2px)), 1px)
  }

  .portal__content {
    padding-inline: round(clamp(min(80px, 16px), .4660194175px + 4.142394822vw, max(80px, 16px)), 1px)
  }

  .portal__wrapper {
    gap: round(clamp(min(100px, 40px), 25.4368932039px + 3.8834951456vw, max(100px, 40px)), 1px)
  }

  .begin__content {
    padding-inline: round(clamp(min(80px, 16px), .4660194175px + 4.142394822vw, max(80px, 16px)), 1px)
  }

  .begin__title {
    margin-bottom: round(clamp(min(8px, 16px), 17.9417475728px + -.5177993528vw, max(8px, 16px)), 1px)
  }

  .check__item {
    padding-block: round(clamp(min(32px, 20px), 17.0873786408px + .7766990291vw, max(32px, 20px)), 1px)
  }

  .check__item {
    padding-inline: round(clamp(min(32px, 16px), 12.1165048544px + 1.0355987055vw, max(32px, 16px)), 1px)
  }

  .check__item-top {
    gap: round(clamp(min(20px, 12px), 10.0582524272px + .5177993528vw, max(20px, 12px)), 1px)
  }

  .check__item-top {
    margin-bottom: round(clamp(min(28px, 20px), 18.0582524272px + .5177993528vw, max(28px, 20px)), 1px)
  }

  .check__item-tags {
    gap: round(clamp(min(8px, 4px), 3.0291262136px + .2588996764vw, max(8px, 4px)), 1px)
  }

  .check__item-tags {
    margin-bottom: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .check__item-text {
    margin-bottom: round(clamp(min(40px, 32px), 30.0582524272px + .5177993528vw, max(40px, 32px)), 1px)
  }

  .check__item-text {
    font-size: round(clamp(min(16px, 14px), 13.5145631068px + .1294498382vw, max(16px, 14px)), 1px)
  }

  .contact__left {
    gap: round(clamp(min(40px, 16px), 10.1747572816px + 1.5533980583vw, max(40px, 16px)), 1px)
  }

  .contact__item {
    gap: round(clamp(min(12px, 8px), 7.0291262136px + .2588996764vw, max(12px, 8px)), 1px)
  }

  .contact__item-icon {
    width: round(clamp(min(24px, 20px), 19.0291262136px + .2588996764vw, max(24px, 20px)), 1px)
  }

  .contact__item-icon {
    height: round(clamp(min(24px, 20px), 19.0291262136px + .2588996764vw, max(24px, 20px)), 1px)
  }

  .contact__buttons {
    column-gap: round(clamp(min(20px, 12px), 10.0582524272px + .5177993528vw, max(20px, 12px)), 1px)
  }

  .faq {
    padding-block: round(clamp(min(80px, 40px), 30.2912621359px + 2.5889967638vw, max(80px, 40px)), 1px)
  }

  .faq__wrapper {
    gap: round(clamp(min(24px, 12px), 9.0873786408px + .7766990291vw, max(24px, 12px)), 1px)
  }

  .features__item-img {
    min-height: round(clamp(min(240px, 180px), 165.4368932039px + 3.8834951456vw, max(240px, 180px)), 1px)
  }

  .info__item {
    padding-block: round(clamp(min(32px, 20px), 17.0873786408px + .7766990291vw, max(32px, 20px)), 1px)
  }

  .info__item {
    padding-inline: round(clamp(min(14px, 12px), 11.5145631068px + .1294498382vw, max(14px, 12px)), 1px)
  }

  .info__item {
    border-radius: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .info__item-title {
    min-height: round(clamp(min(48px, 36px), 33.0873786408px + .7766990291vw, max(48px, 36px)), 1px)
  }

  .info__item-title {
    border-radius: round(clamp(min(20px, 16px), 15.0291262136px + .2588996764vw, max(20px, 16px)), 1px)
  }

  .info__item-text {
    margin-bottom: round(clamp(min(24px, 22px), 21.5145631068px + .1294498382vw, max(24px, 22px)), 1px)
  }

  .price__wrapper {
    gap: round(clamp(min(20px, 8px), 5.0873786408px + .7766990291vw, max(20px, 8px)), 1px)
  }

  .price__item-top {
    gap: round(clamp(min(16px, 12px), 11.0291262136px + .2588996764vw, max(16px, 12px)), 1px)
  }

  .price__item-top {
    font-size: round(clamp(min(24px, 20px), 19.0291262136px + .2588996764vw, max(24px, 20px)), 1px)
  }

  .price__item-table tr {
    min-height: round(clamp(min(56px, 48px), 46.0582524272px + .5177993528vw, max(56px, 48px)), 1px)
  }
}

@media (max-width:1199px) {
  .hide-lg {
    display: none
  }

  .hide-lg.swiper-pagination,
  .hide-lg.swiper-navigation {
    display: none
  }
}

@media (max-width:991px) {
  .header__mobile {
    position: fixed;
    right: -100vw;
    top: var(--headerFixedHeight);
    z-index: 5;
    display: grid;
    grid-template-columns: 100%;
    justify-items: start;
    align-content: start;
    gap: 20px;
    width: min(500px, 101vw);
    height: calc(100dvh - var(--headerFixedHeight));
    padding: 40px 20px 40px;
    background: #fff;
    opacity: 0;
    transition: right .3s, opacity .3s;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    pointer-events: none
  }

  @supports (-moz-appearance:none) {
    .header__mobile {
      scrollbar-color: #f41515 #f4f5f7;
      scrollbar-width: thin
    }
  }

  .header__mobile::-webkit-scrollbar {
    width: 4px
  }

  .header__mobile::-webkit-scrollbar-track-piece {
    background-color: #f4f5f7;
    border-radius: 4px
  }

  .header__mobile::-webkit-scrollbar-thumb {
    background-color: #f41515;
    border-radius: 4px
  }

  .header__mobile.active {
    right: 0;
    opacity: 1;
    pointer-events: auto
  }

  .header__nav {
    width: 100%
  }

  .header__menu {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
    width: 100%
  }

  .header-main-single .header-main__tags {
    order: 1
  }

  .header-main-single .header-main__left {
    padding-block: 0;
    margin-bottom: 0;
    border: 0
  }

  .header-main-single .header-main__subtitle {
    padding-bottom: 20px
  }

  .header-main__wrapper {
    display: contents
  }

  .header-main__content {
    display: grid;
    grid-template-columns: 100%;
    justify-items: start;
    padding-top: round(clamp(min(60px, 40px), 27.8246753247px + 3.2467532468vw, max(60px, 40px)), 1px);
    padding-inline: round(clamp(min(40px, 14px), -1.8279220779px + 4.2207792208vw, max(40px, 14px)), 1px);
    padding-bottom: 0
  }

  .header-main__left {
    order: -2;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(114, 131, 146, .2)
  }

  .header-main__title {
    margin-bottom: -8px
  }

  .header-main__tags {
    order: -1;
    margin-bottom: 20px
  }

  .header-main__img {
    max-width: 100%
  }

  .footer__row {
    grid-template-columns: 100%
  }

  .footer__bottom {
    grid-template-columns: 100%;
    justify-items: start
  }

  .hide-md {
    display: none
  }

  .hide-md.swiper-pagination,
  .hide-md.swiper-navigation {
    display: none
  }

  .check__wrapper {
    grid-template-columns: 100%
  }

  .contact__wrapper {
    grid-template-columns: 100%
  }

  .features__wrapper {
    grid-template-columns: repeat(auto-fill, minmax(max(40%, 180px), 1fr))
  }

  .price__wrapper {
    grid-template-columns: 100%
  }
}

@media (max-width:767px) {
  .footer__menu {
    display: grid;
    gap: 16px
  }

  .footer__item ul:has(>:nth-child(7)) {
    display: grid;
    columns: auto;
    grid-template-columns: 100%
  }

  .hide-sm {
    display: none
  }

  .hide-sm.swiper-pagination,
  .hide-sm.swiper-navigation {
    display: none
  }

  .consultation__content {
    justify-items: center;
    grid-template-columns: 100%
  }

  .consultation__logo {
    width: 100%;
    max-width: 311px;
    height: auto
  }

  .portal__wrapper {
    grid-template-columns: 100%;
    gap: 40px
  }

  .portal__title {
    font-size: 24px
  }

  .portal__img {
    min-height: 192px
  }

  .features__wrapper.swiper-wrapper {
    grid-template-columns: unset;
    gap: 0
  }

  .features-container {
    overflow: visible
  }

  .features__slider .swiper-slide {
    width: auto !important
  }

  .features__slider .features__item {
    width: 260px;
    height: 100%
  }

  .info__wrapper {
    grid-template-columns: 100%
  }
}

@media (max-width:575px) {
  .title {
    line-height: 1.125
  }

  .title {
    word-break: break-word
  }

  .title-2 {
    line-height: 1.3;
    font-weight: 500
  }

  .modal__dialog {
    max-width: 100%;
    padding: 0 12px;
    margin-inline: auto
  }

  .footer__button {
    width: 100%
  }

  .footer__social:has(span) {
    gap: 8px
  }

  .footer__social-item:has(span) {
    width: 100%
  }

  .hide-xs {
    display: none
  }

  .hide-xs.swiper-pagination,
  .hide-xs.swiper-navigation {
    display: none
  }

  .consultation__text {
    line-height: 1.5
  }

  .begin__form .form__fields {
    grid-template-columns: 100%
  }

  .contact__buttons {
    display: grid;
    grid-template-columns: 100%
  }
}

@media (max-width:430px) {
  .header-main__content {
    margin-inline: -12px
  }

  .portal__content {
    margin-inline: -16px
  }

  .begin__content {
    margin-inline: -16px
  }
}

@media (min-width:992px) and (max-width:1300px) {
  .header-main-single .header-main__img {
    max-width: round(clamp(min(436px, 250px), 204.854368932px + 12.0388349515vw, max(436px, 250px)), 1px)
  }
}

@media (min-width:576px) and (max-width:1199px) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance
  }
}

@media (any-hover:hover) {
  .button:hover {
    background: color-mix(in srgb, black 12%, #cc0a0a)
  }

  .button_border.button_dark:hover {
    background: #1a1b1d;
    border-color: #1a1b1d;
    color: #fff
  }

  .button_border.button_blue:hover {
    background: #2054b2;
    border-color: #2054b2;
    color: #fff
  }

  .button_white:hover {
    border-color: color-mix(in srgb, black 4%, #fff);
    background: color-mix(in srgb, black 4%, #fff)
  }

  .button_blue:hover {
    background: linear-gradient(180deg, #2154b2 0, #1a4fb0 100%)
  }

  .button_blue:hover svg {
    translate: 4px 0
  }

  .modal__close svg:hover {
    fill: #cc0a0a
  }

  .footer__item ul a:hover {
    color: #cc0a0a
  }

  .footer__menu a:hover {
    color: #cc0a0a
  }

  .footer__social-item:hover img {
    scale: 1.1
  }

  .hover-active:hover {
    color: #cc0a0a
  }

  .hover-translate:hover {
    translate: 0 -3px
  }

  .hover-scale:hover [class*=-img] img {
    scale: 1.02
  }

  .hover-icon:hover img,
  .hover-icon:hover svg {
    scale: 1.08
  }

  .underline:hover {
    text-decoration-color: transparent
  }

  .hover-underline:hover {
    text-decoration-color: currentColor
  }

  .contact__tel:hover {
    color: #2054b2
  }

  .features__item:hover {
    box-shadow: 0 0 20px 0 rgba(16, 38, 83, .2)
  }
}