@layer base,component,mod;
@layer base {
  :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: translateZ(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);
    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-slide,
  .swiper-3d .swiper-cube-shadow {
    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 {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    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 {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    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-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: #00000026;
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000);
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000);
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000);
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000);
  }
  .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:not(.swiper-watch-progress) .swiper-lazy-preloader,
  .swiper-watch-progress .swiper-slide-visible .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(0);
    }
    to {
      transform: rotate(360deg);
    }
  }
}
:root {
  --spacing: 100px;
  --font-primary:
    "HelveticaNeueCyr", sans-serif, -apple-system, blinkmacsystemfont, roboto,
    ubuntu, "Droid Sans", "Helvetica Neue", arial, sans-serif,
    "Apple Color Emoji";
  --font-secondary:
    "PlayfairDisplay", sans-serif, -apple-system, blinkmacsystemfont, roboto,
    ubuntu, "Droid Sans", "Helvetica Neue", arial, sans-serif,
    "Apple Color Emoji";
}
:root {
  --color-primary: #1e2628;
  --color-primary--rgb: 30, 38, 40;
  --color-alt: #ec7945;
  --color-alt--rgb: 236, 121, 69;
  --color-alt-hover: #e26127;
  --color-alt-hover--rgb: 226, 97, 39;
  --color-gry: #454c4f;
  --color-gry--rgb: 69, 76, 79;
  --color-blck: #121313;
  --color-blck--rgb: 18, 19, 19;
  --color-gry-dark: #999690;
  --color-gry-dark--rgb: 153, 150, 144;
  --color-gry-whte: #ba9;
  --color-gry-whte--rgb: 187, 170, 153;
  --color-gld: #ac9f86;
  --color-gld--rgb: 172, 159, 134;
  --color-whte: #fff;
  --color-whte--rgb: 255, 255, 255;
  --color-whte-two: #f6f3ed;
  --color-whte-two--rgb: 246, 243, 237;
  --color-bg: #f6f3ed;
  --color-bg--rgb: 246, 243, 237;
  --color-bg-secondary: #1e2628;
  --color-bg-secondary--rgb: 30, 38, 40;
  --color-success: #25d366;
  --color-success--rgb: 37, 211, 102;
  --color-error: #f00;
  --color-error--rgb: 255, 0, 0;
  --font-size-default: 14px;
  --index-1: 100;
  --index-2: 200;
  --index-3: 1200;
  --index-4: 1300;
}
@layer base {
  * {
    margin: 0;
    padding: 0;
    border: 0;
  }
  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }
  *:before,
  *:after {
    display: inline-block;
  }
  html,
  body {
    min-width: 360px;
    height: 100%;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    scrollbar-gutter: stable;
  }
  body {
    color: var(--color-primary);
    font-size: var(--font-size-default);
    font-family: var(--font-primary);
    line-height: 1;
    background: var(--color-bg);
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  ::-webkit-scrollbar {
    width: 6px;
    height: 5px;
  }
  ::-webkit-scrollbar-track {
    background: var(--color-scroll-bg);
  }
  ::-webkit-scrollbar-thumb {
    background: var(--color-alt);
    border-radius: 10px;
  }
  ::selection {
    color: var(--color-whte);
    background: var(--color-alt);
  }
  input,
  button,
  textarea {
    font-size: inherit;
    font-family: var(--font-primary);
    line-height: inherit;
  }
  button {
    color: inherit;
    font-family: var(--font-primary);
    background-color: transparent;
    outline: 0;
    cursor: pointer;
  }
  div[class*="__text"] p:only-of-type,
  div[class*="__text"] p:last-of-type,
  div[class*="__details"] p:only-of-type,
  div[class*="__details"] p:last-of-type,
  div[class*="__note"] p:only-of-type,
  div[class*="__note"] p:last-of-type {
    margin: 0;
  }
  [class*="image"] img {
    width: 100%;
    object-fit: cover;
    object-position: center;
  }
  a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
  }
  ul li {
    list-style: none;
  }
  img {
    vertical-align: top;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: inherit;
    font-size: inherit;
  }
  address,
  cite {
    font-style: normal;
  }
  fieldset,
  dl,
  dd {
    margin: 0;
    padding: 0;
  }
  fieldset {
    border: none;
  }
}
.lock body {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
}

body:after {
  position: fixed;
  top: 0;
  left: 0;
  z-index: calc(var(--index-3) - 1);
  width: 100%;
  height: 100%;
  background: rgba(var(--color-whte--rgb), 0.01);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.8s ease 0s;
  content: "";
  pointer-events: none;
}
[data-popup].popup-open {
  pointer-events: none;
}
.popup-show body:after {
  opacity: 1;
}
@layer component {
  .popup {
    position: fixed;
    inset: 0;
    padding: 30px 10px;
    visibility: hidden;
    transition: visibility 0.8s ease 0s;
    pointer-events: none;
  }
  .popup_show {
    z-index: calc(var(--index-3) + 1);
    overflow: auto;
    visibility: visible;
    pointer-events: auto;
  }
  .popup_show .popup__content {
    transform: scale(1);
    visibility: visible;
  }
  .popup__wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
  }
  .popup__content {
    width: 100%;
    max-width: 900px;
    padding: 20px;
    background-color: #eee;
    border-radius: 20px;
    transform: scale(0);
    visibility: hidden;
    transition: transform 0.3s ease 0s;
  }
  .lock .popup__content {
    visibility: visible;
  }
}
.popup--gallery {
  padding: 0;
}
.popup--gallery .popup__content {
  padding: 0;
  max-width: 100%;
  background: transparent;
}
.popup--gallery .popup__wrapper {
  align-items: flex-start;
  justify-content: flex-start;
}
.popup--gallery .plan__container {
  max-width: 100%;
  padding: 0;
}
.popup--gallery .plan__slide-img {
  height: 100dvh;
  width: 100%;
  aspect-ratio: none;
}
.popup--gallery .plan__main {
  border-radius: 0;
}
.popup--gallery .plan__body .plan__container {
  max-width: 1640px;
  padding: 0px var(--pad);
}
.popup--video .popup__content {
  position: relative;
  padding: 0;
  background: transparent;
  border-radius: 24px;
  overflow: hidden;
}
.popup--video .popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  z-index: 2;
}
.popup--video .popup-video {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.popup--video .popup-video video,
.popup--video .popup-video iframe,
.popup--video .popup-video object,
.popup--video .popup-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.form__callback {
  display: flex;
}
.form__callback-input {
  position: relative;
  width: 100%;
}
.form__callback-input .input {
  height: 48px;
  padding: 16px 24px;
  font-size: 18px;
  line-height: 100%;
  border-radius: 16px 0 0 16px;
}
.form__callback-input .input::placeholder {
  font-size: 18px;
  line-height: 100%;
}
.form__callback-btn {
  white-space: nowrap;
  border-radius: 0 16px 16px 0;
  min-width: 126px;
}
.form__search {
  max-width: 1004px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.form__search-inner {
  padding: 12px 12px 12px 16px;
  border-radius: 16px;
  background: var(--color-whte);
  justify-content: space-between;
  display: flex;
  align-items: center;
  gap: 30px;
}
.form__search-info {
  display: flex;
  gap: 16px;
  width: 100%;
}
.form__search-select {
  padding-right: 16px;
  border-right: 1px solid #d0c6bc;
}
.form__search-input {
  width: 100%;
}
.form__search-input .input {
  height: 32px;
  padding: 0;
  width: 100%;
  border-radius: 0;
  border: none !important;
}
.form__search-submit {
  display: flex;
  gap: 5px;
}
.form__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px 30px;
}
.form__bottom .form__btn {
  min-width: 210px;
}
.form__items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
.form__error {
  color: var(--color-error);
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
}
.form__title {
  color: var(--color-whte);
}
.form__mail {
  display: flex;
  gap: 8px;
}
.form__input {
  width: 100%;
  position: relative;
}
.form__submit {
  min-height: 48px;
  min-width: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.form__submit:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
input[type="number"] {
  -webkit-appearance: textfield;
  appearance: textfield;
}
.input {
  display: block;
  width: 100%;
  padding: 20px 24px;
  border: 1px solid var(--color-whte);
  background: var(--color-whte);
  border-radius: 16px;
  height: 48px;
  font-size: 16px;
  line-height: 100%;
  transition: all 0.3s ease-in 0s;
  cursor: pointer;
}
.input._form-focus {
  border: 1px solid var(--color-alt);
}
.input._form-error {
  border: 1px solid var(--color-error);
}
.input::placeholder {
  font-size: 16px;
  line-height: 100%;
  color: var(--color-gry-dark);
}
.input[placeholder]:not([data-placeholder-nohiden])::placeholder {
  transition: opacity 0.3s;
}
.input[placeholder]:not([data-placeholder-nohiden]):focus::placeholder {
  opacity: 0;
}
textarea.input {
  padding: 0;
  resize: none;
}
@layer component {
  .select {
    position: relative;
    min-width: 0;
  }
  .select__body {
    position: relative;
  }
  .select__title {
    width: 100%;
    color: inherit;
    text-align: left;
    background: var(--color-gry-whte);
    border-radius: 10px;
    cursor: pointer;
  }
  .select__value {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    height: 32px;
    padding: 4px 10px;
  }
  .select__value > * {
    flex: 1 1 auto;
  }
  .select__value:after {
    display: flex;
    flex: 0 0 24px;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    transition: all 0.3s ease 0s;
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
  }
  ._select-open .select__value:after {
    transform: rotate(-180deg);
  }
  .select__value._select-pseudo-label:before {
    content: attr(data-pseudo-label);
  }
  .select__content {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 16px;
    line-height: 100%;
    color: var(--color-whte);
  }
  .select__text {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .select__input {
    width: 100%;
    height: 100%;
    background-color: transparent;
  }
  .select__options {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 100%;
    padding: 12px 20px;
    color: #000;
    background-color: var(--color-whte);
    border-radius: 8px;
    min-width: 193px;
  }
  .select__scroll {
    max-height: 200px;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  .select__option {
    width: 100%;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font-size: 16px;
    line-height: 100%;
    color: #485256;
    transition: all 0.3s ease-in 0s;
    padding: 12px 0;
  }
  .select__option:not(:last-child) {
    border-bottom: 1px solid #e4dccc;
  }
  .select__option._select-selected {
    background-color: var(--color-alt);
  }
  .select__row {
    display: inline-flex;
    align-items: center;
  }
  .select--show-top .select__options {
    top: auto;
    bottom: calc(100% - 1px);
    padding: 5px 0 10px;
    border: 1px solid var(--color-bg);
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
  }
  ._select-tag {
    cursor: pointer;
  }
}
.checkbox {
  position: relative;
}
.checkbox._form-error .form__error {
  display: none;
}
.checkbox._form-error .checkbox__label:before {
  border: 1px solid var(--color-error);
}
.checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.checkbox__input:checked + .checkbox__label:before {
  background: var(--color-alt);
  border: 1px solid var(--color-alt);
}
.checkbox__input:checked + .checkbox__label:after {
  opacity: 1;
}
.checkbox__label {
  position: relative;
  display: inline-flex;
  gap: 10px;
  cursor: pointer;
  padding-left: 28px;
}
.checkbox__label:before {
  flex: 0 0 16px;
  align-self: flex-start;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(var(--color-whte--rgb), 0.5);
  border-radius: 4px;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transition: all 0.3s ease-in 0s;
}
.checkbox__label:after {
  content: "";
  mask: url(/img/icons/45.svg) center center/contain no-repeat;
  -webkit-mask: url(/img/icons/45.svg) center center/contain no-repeat;
  width: 13px;
  height: 13px;
  background: var(--color-whte);
  position: absolute;
  top: 1px;
  left: 1px;
  transition: all 0.3s ease-in 0s;
  opacity: 0;
}
.checkbox__text {
  align-self: center;
  color: rgba(var(--color-whte--rgb), 0.5);
  display: inline;
}
.checkbox__text a {
  display: inline;
  color: var(--color-alt);
  transition: all 0.3s ease-in 0s;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.pagination__arrow {
  --size: 60px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in 0s;
}
.pagination__arrow:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: #939ca1;
  --size: 24px;
  width: var(--size);
  height: var(--size);
  transition: all 0.3s ease-in 0s;
}
.pagination__arrow._disabled {
  opacity: 0;
  pointer-events: none;
}
.pagination__list {
  display: flex;
  gap: 2px;
}
.pagination__item {
  --size: 60px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  font-size: 16px;
  line-height: 100%;
  color: #939ca1;
  transition: all 0.3s ease-in 0s;
}
.pagination__item.active {
  color: #121313;
  background: #ede8df;
}
@layer component {
  .spollers__item {
    padding: 16px 0;
    border-top: 1px solid rgba(var(--color-blck--rgb), 0.1);
  }
  .spollers__item:first-child {
    padding-top: 0;
    border-top: none;
  }
  .spollers__item:last-child {
    border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.1);
  }
  .spollers__title {
    position: relative;
    width: 100%;
    text-align: left;
    list-style: none;
    outline: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    font-family: var(--font-secondary);
    font-weight: 500;
    line-height: 120%;
  }
  .spollers__title span {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    position: relative;
    border-radius: 50%;
    background: var(--color-whte);
  }
  .spollers__title span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 2px;
    background: var(--color-primary);
    transition: all 0.3s ease-in 0s;
  }
  .spollers__title span:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 16px;
    background: var(--color-primary);
    transition: all 0.3s ease-in 0s;
  }
  .spollers__title::marker,
  .spollers__title::-webkit-details-marker {
    display: none;
  }
  ._spoiler-init .spollers__title {
    cursor: pointer;
  }
  ._spoiler-init .spollers__title:before,
  ._spoiler-init .spollers__title:after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 2px;
    background-color: currentColor;
    transition: transform 0.5s ease-in 0s;
    content: "";
  }
  ._spoiler-init .spollers__title:before {
    transform: translate(-75%, -50%) rotate(40deg);
  }
  ._spoiler-init .spollers__title:after {
    transform: translateY(-50%) rotate(-40deg);
  }
  .spollers__title._spoller-active span:after {
    content: "";
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .spollers__description {
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .spollers__img.spollers__img--mobile {
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 1/1;
    margin-top: 16px;
  }
  .spollers__img.spollers__img--mobile img,
  .spollers__img.spollers__img--mobile picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
}
.header {
  position: fixed;
  top: 5px;
  left: 0;
  width: 100%;
  z-index: calc(var(--index-3) + 1);
}
.header._scroll .header__inner {
  background: var(--color-whte);
}
.header._scroll .menu__logo img,
.header._scroll .menu__logo picture {
  filter: brightness(1) invert(0);
}
.header._scroll .menu__btn span,
.header._scroll .menu__btn:before,
.header._scroll .menu__btn:after {
  background-color: var(--color-primary);
}
.header._scroll .menu__item {
  color: var(--color-primary);
}
.header._scroll .menu__item:after {
  content: "";
  background: var(--color-primary);
}
.header._scroll .menu__item._active {
  color: var(--color-alt);
}
.header._scroll .menu__item._active:after {
  content: "";
  background: var(--color-alt);
}
.header._scroll .menu__phone {
  color: var(--color-primary);
}
.header._scroll .menu__favorites:before {
  content: "";
  background: var(--color-primary);
}
.header.header--two .header__inner {
  background: var(--color-whte);
}
.header.header--two .menu__logo img,
.header.header--two .menu__logo picture {
  filter: brightness(1) invert(0);
}
.header.header--two .menu__btn span,
.header.header--two .menu__btn:before,
.header.header--two .menu__btn:after {
  background-color: var(--color-primary);
}
.header.header--two .menu__item {
  color: var(--color-primary);
}
.header.header--two .menu__item:after {
  content: "";
  background: var(--color-primary);
}
.header.header--two .menu__item._active {
  color: var(--color-alt);
}
.header.header--two .menu__item._active:after {
  content: "";
  background: var(--color-alt);
}
.header.header--two .menu__phone {
  color: var(--color-primary);
}
.header.header--two .menu__favorites:before {
  content: "";
  background: var(--color-primary);
}
.header._active .header__inner {
  background: var(--color-whte);
}
.header._active .menu__logo img,
.header._active .menu__logo picture {
  filter: brightness(1) invert(0);
}
.header._active .menu__item {
  color: var(--color-primary);
}
.header._active .menu__item:after {
  content: "";
  background: var(--color-primary);
}
.header._active .menu__item._active {
  color: var(--color-alt);
}
.header._active .menu__item._active:after {
  content: "";
  background: var(--color-alt);
}
.header._active .menu__phone {
  color: var(--color-primary);
}
.header._active .menu__favorites:before {
  content: "";
  background: var(--color-primary);
}
.header__inner {
  border-radius: 20px;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: rgba(var(--color-whte--rgb), 0.1);
  padding: 18px 24px 0;
  transition: all 0.3s ease-in 0s;
  overflow: hidden;
}
.menu__constructor {
  display: flex;
  align-items: center;
  gap: 63px;
}
.menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 18px;
}
.menu__logo {
  width: 98.4px;
  height: 40.2px;
  flex: 0 0 98.4px;
}
.menu__logo img,
.menu__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease-in 0s;
}
.menu__items {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}
.menu__item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 550;
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.menu__item:after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
  transition: all 0.3s ease-in 0s;
}
.menu__item.menu__item--mobile._active:after {
  content: "";
  transform: rotate(0);
}
.menu__item._active:after {
  content: "";
  transform: rotate(180deg);
}
.menu__info {
  display: flex;
  align-items: center;
  gap: 30px;
}
.menu__phone {
  font-weight: 550;
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
  white-space: nowrap;
}
.menu__favorites {
  position: relative;
}
.menu__favorites:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.menu__favorites span {
  --size: 8px;
  width: var(--size);
  height: var(--size);
  background: var(--color-alt);
  display: flex;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: -5px;
  transition: all 0.3s ease-in 0s;
}
.menu__link {
  display: flex;
  align-items: center;
  gap: 10px;
}
.menu__link:before {
  content: "";
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
}
.block-menu {
  overflow: auto;
  max-height: calc(100dvh - 148px);
}
.block-menu::-webkit-scrollbar {
  display: none;
}
.block-menu__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding-bottom: 12px;
  padding-top: 10px;
}
.block-menu__back {
  font-weight: 550;
  display: flex;
  align-items: center;
  gap: 4px;
}
.block-menu__back:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-primary);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
}
.block-menu__content {
  display: flex;
  flex-direction: column;
  gap: 23px;
}
.block-menu__row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
.block-menu__row.block-menu__row--two {
  grid-template-columns: 1fr;
}
.block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
  grid-template-columns: repeat(2, 1fr);
}
.block-menu__row.block-menu__row--three {
  grid-template-columns: repeat(1, 1fr);
}
.block-menu__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.block-menu__column.block-menu__column--big .block-menu__items {
  grid-template-columns: repeat(2, 1fr) !important;
}
.block-menu__category {
  font-family: var(--font-secondary);
}
.block-menu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;
}
.block-menu__item {
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.3s ease-in 0s;
}
.block-menu__img {
  border-radius: 16px;
  overflow: hidden;
  --size: 48px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}
.block-menu__img img,
.block-menu__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}
.block-menu__name {
  transition: all 0.3s ease-in 0s;
}
.block-menu__info {
  padding-top: 23px;
  border-top: 1px solid rgba(var(--color-primary--rgb), 0.2);
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.block-menu__title {
  font-family: var(--font-secondary);
}
.block-menu__blocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 5px;
}
.block-menu__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.block-menu__list a {
  transition: all 0.3s ease-in 0s;
}
.block-menu__all {
  color: var(--color-alt);
  display: flex;
  align-items: center;
  gap: 0px;
  margin-top: -5px;
}
.block-menu__all:after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-alt);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  margin-top: -2px;
  transition: all 0.3s ease-in 0s;
}
.offer-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.offer-block.offer-block--two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.offer-block__column {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: var(--bg);
  padding: 20px;
  min-height: 193px;
  display: flex;
  flex-direction: column;
}
.offer-block__info {
  display: flex;
  flex-direction: column;
  gap: 30px;
  color: var(--color-whte);
  position: relative;
  z-index: 3;
  height: 100%;
}
.offer-block__title {
  font-family: var(--font-secondary);
}
.offer-block__text {
  margin-top: auto;
}
.offer-block__decor {
  position: absolute;
  width: 325px;
  height: 299px;
  top: 9px;
  right: 11px;
  z-index: 2;
}
.offer-block__decor img,
.offer-block__decor picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.offer-block__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.offer-block__img img,
.offer-block__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}
.offer-block__socials {
  display: flex;
  gap: 8px;
}
.offer-block__social {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg);
  border-radius: 8px;
  width: 100%;
}
.offer-block__social:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 19px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.icon-menu {
  position: relative;
  z-index: 5;
  display: block;
  width: 24px;
  height: 24px;
}
.icon-menu span,
.icon-menu:before,
.icon-menu:after {
  content: "";
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.icon-menu:before {
  top: 4px;
}
.icon-menu:after {
  bottom: 4px;
}
.icon-menu span {
  top: calc(50% - 1px);
}
.menu-open .icon-menu span {
  width: 0;
}
.menu-open .icon-menu:before {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}
.menu-open .icon-menu:after {
  bottom: calc(50% - 1px);
  transform: rotate(45deg);
}
.mobile-header {
  position: relative;
}
.mobile-header__inner,
.mobile-header__list {
  display: flex;
  flex-direction: column;
}
.mobile-header__item:not(:last-child) .mobile-header__link {
  border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.2);
}
.mobile-header__link {
  padding: 16px 0 15px;
  width: 100%;
  font-weight: 550;
}
body:has(header._active):after {
  content: "";
  opacity: 1;
}
body:has(header._active) .icon-menu span,
body:has(header._active) .icon-menu:before,
body:has(header._active) .icon-menu:after {
  content: "";
  background-color: var(--color-primary);
}
.footer {
  padding: 40px 0 16px;
  background: var(--color-bg-secondary);
}
.footer__container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 30px;
}
.footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
.top-footer {
  padding-bottom: 31px;
  border-bottom: 1px solid rgba(var(--color-whte--rgb), 0.2);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.top-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
.top-footer__logo {
  width: 141.95px;
  height: 57.832px;
}
.top-footer__logo img,
.top-footer__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.top-footer__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.top-footer__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.top-footer__category {
  color: #939ca1;
  font-family: var(--font-secondary);
}
.top-footer__value {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.content-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.content-footer__row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
.content-footer__row.content-footer__row--big {
  grid-template-columns: repeat(1, 1fr);
}
.content-footer__row.content-footer__row--big .content-footer__column {
  max-width: 100%;
}
.content-footer__row:not(:last-child) {
  padding-bottom: 31px;
  border-bottom: 1px solid rgba(var(--color-whte--rgb), 0.2);
}
.content-footer__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.content-footer__title {
  color: #939ca1;
  font-family: var(--font-secondary);
}
.content-footer__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px 24px;
}
.content-footer__item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.content-footer__img {
  border-radius: 16px;
  overflow: hidden;
  --size: 48px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}
.content-footer__img img,
.content-footer__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.3s ease-in 0s;
}
.content-footer__text {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.content-footer__blocks {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 9px;
}
.content-footer__block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.content-footer__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.content-footer__link {
  color: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.content-footer__link.content-footer__link--all {
  display: flex;
  align-items: center;
  color: var(--color-alt);
}
.content-footer__link.content-footer__link--all:after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-alt);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.info-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.info-footer__row {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.info-footer__column {
  position: relative;
  height: 100%;
}
.info-footer__info {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
  min-height: 192px;
  padding: 20px;
  height: 100%;
}
.info-footer__title {
  color: var(--color-whte);
  font-family: var(--font-secondary);
  font-weight: 500;
}
.info-footer__link {
  color: var(--color-whte);
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-footer__link:after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.info-footer__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.info-footer__img img,
.info-footer__img picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in 0s;
}
.info-footer__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 30px;
  background: rgba(var(--color-whte--rgb), 0.15);
  padding: 24px;
}
.bottom-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 46px;
}
.bottom-footer__links {
  display: flex;
  gap: 8px;
}
.bottom-footer__link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: var(--bg);
  padding: 10px;
  min-height: 40px;
}
.bottom-footer__link:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 19px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.bottom-footer__info {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  color: #939ca1;
}
.bottom-footer__page {
  transition: all 0.3s ease-in 0s;
}
.bottom-footer__company {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bottom-footer__studio {
  line-height: 140%;
}
.bottom-footer__logo {
  width: 49px;
  height: 20px;
  transform: translateY(-2px);
}
.bottom-footer__logo img,
.bottom-footer__logo picture {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
@layer component {
  .btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    max-width: max-content;
    padding: 13px;
    border-radius: 16px;
    background: var(--color-alt);
    color: var(--color-whte);
    transition: all 0.3s ease-in 0s;
  }
}
@layer mod {
  .btn--two {
    background: #fff3;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .btn--whte {
    background: var(--color-whte);
    color: var(--color-primary);
  }
  .btn--border {
    background: transparent;
    border: 1px solid var(--color-whte);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .btn--three {
    background: var(--color-success);
  }
}
.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}
@supports (overflow: clip) {
  .wrapper {
    overflow: clip;
  }
}
.wrapper > main {
  flex: 1 1 auto;
}
.wrapper > * {
  min-width: 0;
}
.swiper-arrows .swiper-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  --size: 44px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  border-radius: 16px;
  background: #ffffff26;
  -webkit-backdrop-filter: blur(3.5px);
  backdrop-filter: blur(3.5px);
}
.swiper-arrows .swiper-arrow:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-whte);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  transition: all 0.3s ease-in 0s;
}
.swiper-arrows .swiper-arrow.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.section {
  margin-bottom: 40px;
}
.page--top {
  padding-top: 117px;
}
@layer base {
  [class*="__container"],
  .container {
    --pad: 16px;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--pad);
  }
}
@layer component {
  .text-70 {
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    font-family: var(--font-secondary);
  }
  .text-64 {
    font-size: 30px;
    font-style: normal;
    line-height: 120%;
  }
  .text-30 {
    font-size: 20px;
    line-height: 120%;
  }
  .text-40 {
    font-size: 24px;
    font-weight: 600;
    line-height: 130%;
    font-family: var(--font-secondary);
  }
  .text-12 {
    font-size: 12px;
    line-height: 120%;
  }
  .text-20,
  .text-16 {
    font-size: 14px;
    line-height: 140%;
  }
  .text-18 {
    font-size: 16px;
    line-height: 100%;
  }
}
@layer component {
  .intro {
    margin-bottom: 40px;
  }
  .intro__slide {
    position: relative;
    min-height: 631px;
    padding: 213px 0;
  }
  .intro__container {
    position: relative;
    z-index: 2;
  }
  .intro__content {
    max-width: 853px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .intro__info {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .intro__title {
    color: var(--color-whte);
  }
  .intro__text {
    color: var(--color-whte-two);
  }
  .intro__links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    max-width: 449px;
  }
  .intro__link {
    max-width: 100%;
  }
  .intro__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .intro__img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1e26281a;
  }
  .intro__img img,
  .intro__img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .intro__pagging {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 40px;
    background: #ffffff26;
    margin: 0 auto;
  }
  .intro__pagging .swiper-pagination-bullet {
    --size: 6px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    background: rgba(var(--color-whte--rgb), 0.5);
    cursor: pointer;
    transition: all 0.3s ease-in 0s;
    outline: none;
  }
  .intro__pagging .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-whte);
  }
  .intro__navigation {
    position: absolute;
    align-items: center;
    z-index: 2;
    bottom: 16px;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  .intro__arrows {
    display: flex;
    gap: 10px;
  }
  .intro__arrow {
    transition: all 0.3s ease-in 0s;
  }
}
@layer component {
  .agency {
    margin-bottom: 40px;
  }
  .agency__container {
    position: relative;
  }
  .agency__decor {
    position: absolute;
    top: -23px;
    left: 49%;
    transform: translate(-50%);
    z-index: -1;
    width: 443px;
    height: 336px;
  }
  .agency__decor img,
  .agency__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .agency__top {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 38px;
  }
  .agency__title {
    text-align: center;
    margin-bottom: 8px;
  }
  .agency__row {
    display: flex;
    gap: 10px;
  }
  .agency__row {
    --size-img: 6.25vw;
  }
  .agency__column {
    grid-column-start: span 2;
    border-radius: 30px;
    overflow: hidden;
    transition: all 0.1s ease-in 0s;
    flex: 1 1 50%;
    position: relative;
    transform-style: preserve-3d;
  }
  .agency__column:hover .agency__body-items {
    height: auto;
    width: auto;
  }
  .agency__column:hover .agency__body-close:before {
    content: "";
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .agency__info {
    padding: 24px;
    display: flex;
    flex-direction: column;
    transition: all 0.1s ease-in 0s;
  }
  .agency__info-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 30px;
    flex: 1 1 auto;
  }
  .agency__info-title {
    color: var(--color-whte);
  }
  .agency__info-btn {
    margin-top: auto;
    margin-left: auto;
  }
  .agency__info-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    will-change: width, height;
    transform: translateZ(0);
  }
  .agency__info-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(280deg, #0c0c0b00 53.38%, #0c0c0b 99.63%);
  }
  .agency__info-img img,
  .agency__info-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .agency__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    width: 100%;
    height: 100%;
  }
  .agency__body-content {
    display: flex;
    flex-direction: column;
    gap: 41px;
  }
  .agency__body-top {
    display: flex;
    gap: 10px;
    justify-content: space-between;
  }
  .agency__body-top .agency__body-btn {
    background: #f8f8f8;
    pointer-events: all;
  }
  .agency__body-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .agency__body-item {
    position: relative;
    display: flex;
    gap: 4px;
  }
  .agency__body-text {
    font-size: 16px;
    line-height: 100%;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid rgba(30, 38, 40, 0.15);
    transition: all 0.3s ease-in 0s;
  }
  .agency__body-value {
    font-size: 12px;
    line-height: 100%;
    color: var(--color-alt);
  }
  .agency__body-close {
    margin-left: auto;
    margin-top: auto;
    background: #f0f0f0 !important;
  }
  .btn-close {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: var(--color-whte);
    position: relative;
    pointer-events: none;
  }
  .btn-close:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 12px;
    background: #374957;
    transition: all 0.3s ease-in 0s;
  }
  .btn-close:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 2px;
    background: #374957;
    transition: all 0.3s ease-in 0s;
  }
}
.tags-block {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.tags-block__item {
  display: flex;
  gap: 4px;
}
.tags-block__item:after {
  content: "";
  width: 1px;
  height: 32px;
  background: #d0c6bc;
  transform: rotate(15deg);
  margin-left: 11px;
}
.tags-block__item:last-child:after {
  content: "";
  display: none;
}
.tags-block__info {
  padding: 0.31vw 0.83vw;
  background: var(--color-whte);
  border-radius: 8px;
  color: var(--color-gry);
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 100%;
  transition: all 0.3s ease-in 0s;
}
.tags-block__info:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-gry);
  --size: 12px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.tags-block__value {
  color: var(--color-alt);
  line-height: 100%;
}
@layer component {
  .about__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .about__column {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    background: var(--bg);
    padding: 30px;
  }
  .about__column.about__column--big {
    grid-row-start: span 2;
  }
  .about__column-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 2;
    position: relative;
  }
  .about__column-title,
  .about__column-text {
    color: var(--color-whte);
  }
  .about__column-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .about__column-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(280deg, #0c0c0b00 53.38%, #0c0c0b 99.63%);
  }
  .about__column-img img,
  .about__column-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .about__column-logo img,
  .about__column-logo picture {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .about__column-decor {
    position: absolute;
  }
  .about__column-decor img,
  .about__column-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .about__column-decor.about__column-decor--one {
    right: -19px;
    top: -10px;
    width: 155.47px;
    height: 155.47px;
  }
  .about__column-decor.about__column-decor--two {
    width: 297px;
    height: 169px;
  }
  .about__column-decor.about__column-decor--three {
    width: 289px;
    height: 182px;
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
  }
}
@layer component {
  .immovables__inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    position: relative;
  }
  .immovables__info {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .immovables__info-img {
    border-radius: 30px;
    overflow: hidden;
    aspect-ratio: 343/230;
  }
  .immovables__info-img img,
  .immovables__info-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .immovables__info-link {
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
    gap: 30px;
    font-weight: 550;
    padding: 12px 20px;
  }
  .immovables__info-link span {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    background: var(--color-whte);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .immovables__info-link span:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-alt);
    --size: 24px;
    width: var(--size);
    height: var(--size);
  }
  .immovables__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .immovables__content-title {
    font-family: var(--font-secondary);
  }
  .immovables__content-description {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
}
@layer component {
  .village__container {
    max-width: 1920px;
  }
  .village__inner {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    padding: 24px;
  }
  .village__content {
    position: relative;
    z-index: 2;
    border-radius: 30px;
    overflow: hidden;
    padding: 16px;
    background: rgba(var(--color-whte--rgb), 0.15);
    -webkit-backdrop-filter: blur(40px);
    backdrop-filter: blur(40px);
  }
  .village__content-info {
    display: flex;
    gap: 16px;
    position: relative;
    z-index: 2;
  }
  .village__content-img {
    border-radius: 10px;
    overflow: hidden;
    width: 260px;
    height: 390px;
    flex: 0 0 260px;
  }
  .village__content-img img,
  .village__content-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .village__content-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 450px;
  }
  .village__content-title {
    color: var(--color-whte);
  }
  .village__content-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .village__content-text {
    color: var(--color-whte);
  }
  .village__content-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .village__content-link {
    max-width: 100%;
    width: 100%;
  }
  .village__content-decor {
    width: 668px;
    height: 614px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  .village__content-decor img,
  .village__content-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .village__decor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .village__decor img,
  .village__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
}
@layer component {
  .blog__title {
    max-width: 1000px;
    width: 100%;
    margin-bottom: 20px;
  }
  .blog__title a {
    background: var(--color-alt);
    color: var(--color-whte);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    padding: 2px 14px 12px;
    line-height: 0px;
  }
  .blog__title a span {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    background: var(--color-whte);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(5px);
  }
  .blog__title a span:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-alt);
    --size: 16px;
    width: var(--size);
    height: var(--size);
  }
  .blog__slide {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .blog__slide-top {
    position: relative;
  }
  .blog__slide-img {
    aspect-ratio: 1/1;
    border-radius: 30px;
    overflow: hidden;
  }
  .blog__slide-img img,
  .blog__slide-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .blog__slide-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    --size: 64px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: rgba(var(--color-whte--rgb), 0.15);
    transition: all 0.3s ease-in 0s;
  }
  .blog__slide-icon:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 20px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .blog__slide-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  .blog__slide-title {
    font-weight: 500;
    font-family: var(--font-secondary);
    transition: all 0.3s ease-in 0s;
  }
  .blog__slide-text {
    color: #515151;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 314px;
    width: 100%;
    margin: 0 auto;
  }
  .blog__slide-link {
    margin-bottom: 10px;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
    padding: 12px 20px;
  }
  .blog__slide-link span {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    background: var(--color-whte);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .blog__slide-link span:after {
    content: "";
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-alt);
  }
}
@layer component {
  .platform {
    max-width: 1802px;
    background: var(--color-bg-secondary);
    margin: 0 auto;
    overflow: hidden;
    padding: 40px 0;
  }
  .platform__inner {
    position: relative;
  }
  .platform__info {
    position: relative;
    z-index: 2;
  }
  .platform__top {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px 30px;
    margin-bottom: 20px;
  }
  .platform__title {
    color: var(--color-whte);
  }
  .platform__text {
    color: var(--color-whte);
    max-width: 492px;
  }
  .platform__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 10px;
  }
  .platform__column {
    border-radius: 24px;
    overflow: hidden;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    background: rgba(var(--color-whte--rgb), 0.1);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-height: 166px;
    transition: all 0.3s ease-in 0s;
  }
  .platform__column-img {
    height: 48px;
    display: flex;
    align-items: center;
  }
  .platform__column-img img,
  .platform__column-img picture {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .platform__column-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
  }
  .platform__column-name {
    color: var(--color-whte);
  }
  .platform__column-arrow {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-whte);
    border-radius: 50%;
    transition: all 0.3s ease-in 0s;
  }
  .platform__column-arrow:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-primary);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .platform__decor {
    width: 1310px;
    height: 1310px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .platform__decor img,
  .platform__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
}
@layer component {
  .offer__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    min-width: 0;
    position: relative;
  }
  .offer__callback {
    background: var(--color-whte);
    padding: 24px;
    border-radius: 40px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .offer__callback-inner {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .offer__callback-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .offer__callback-title {
    font-weight: 600;
  }
  .offer__callback-bottom {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .offer__callback-person {
    display: flex;
    gap: 24px;
    align-items: center;
  }
  .offer__callback-img {
    --size: 80px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    overflow: hidden;
  }
  .offer__callback-img img,
  .offer__callback-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .offer__callback-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .offer__callback-name {
    font-weight: 500;
    font-family: var(--font-secondary);
  }
  .offer__callback-link {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    border-radius: 50px;
  }
  .offer__callback-link:after {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 20px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
  }
  .offer__callback-decor {
    position: absolute;
    top: 47px;
    left: 8.5px;
    width: 339px;
    height: 238px;
  }
  .offer__callback-decor img,
  .offer__callback-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .offer__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
  }
  .offer__showmore {
    max-width: 100%;
    font-weight: 550;
  }
  .offer__slider {
    min-width: 0;
    max-width: 100%;
  }
}
@layer component {
  .card-product {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--color-whte);
    border-radius: 30px;
    overflow: hidden;
  }
  .card-product__top {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
  }
  .card-product__slider {
    min-width: 0;
    max-width: 100%;
  }
  .card-product__img {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    aspect-ratio: 357/200;
  }
  .card-product__img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 60%;
    width: 100%;
    background: linear-gradient(180deg, #0006, #0000);
    pointer-events: none;
  }
  .card-product__img img,
  .card-product__img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .card-product__pagging {
    position: absolute;
    bottom: 10px;
    left: 20px;
    z-index: 2;
    width: calc(100% - 40px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
  .card-product__pagging .swiper-pagination-bullet {
    transition: all 0.3s ease-in 0s;
    --size: 6px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    background: rgba(var(--color-whte--rgb), 0.6);
    cursor: pointer;
  }
  .card-product__pagging
    .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-whte);
  }
  .card-product__content {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    width: calc(100% - 32px);
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  .card-product__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }
  .card-product__tag {
    border-radius: 50px;
    padding: 8px 16px;
    -webkit-backdrop-filter: blur(27px);
    backdrop-filter: blur(27px);
    background: rgba(var(--color-whte--rgb), 0.1);
  }
  .card-product__tag:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 16px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
  }
  .card-product__favorites {
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    transition: all 0.3s ease-in 0s;
    margin-top: 4px;
  }
  .card-product__favorites._active {
    background: var(--color-alt);
  }
  .card-product__inner {
    padding: 0 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 auto;
  }
  .card-product__info {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .card-product__company {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
  .card-product__company:has(.card-product__name) {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-product__name {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    max-width: max-content;
    margin-left: auto;
  }
  .card-product__logo {
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--bg);
    width: 19px;
    height: 13px;
    flex: 0 0 19px;
  }
  .card-product__designation {
    line-height: 140%;
    padding-top: 4px;
  }
  .card-product__title {
    font-weight: 500;
    color: var(--color-gld);
    line-height: 120%;
    font-family: var(--font-secondary);
  }
  .card-product__text {
    color: #515151;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .card-product__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .card-product__item {
    color: var(--color-gld);
  }
  .card-product__bottom {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 16px;
    border-top: 1px solid #e4dccc;
    margin-top: auto;
  }
  .card-product__row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
  .card-product__column {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }
  .card-product__icon {
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-gld);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    margin: 0 auto;
  }
  .card-product__prices {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .card-product__price {
    padding: 7px 14px;
    background: #ede8df;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 30px;
  }
  .card-product__total {
    white-space: nowrap;
  }
  .card-product__id {
    color: var(--color-alt);
    align-self: center;
  }
}
@layer component {
  .catalog__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .catalog__row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 8px;
  }
  .catalog__row.catalog__row--two .card-product,
  .catalog__row.catalog__row--two .card-product__top,
  .catalog__row.catalog__row--two .card-product__img {
    border-radius: 16px;
  }
  .catalog__row.catalog__row--two .card-product {
    gap: 16px;
  }
  .catalog__row.catalog__row--two .card-product__info {
    gap: 8px;
  }
  .catalog__row.catalog__row--two .card-product__img {
    aspect-ratio: 486/324;
  }
  .catalog__row.catalog__row--two .card-product__inner {
    padding: 0 16px 16px;
  }
  .catalog__row.catalog__row--two .card-product__text {
    -webkit-line-clamp: 1;
  }
  .catalog__pagination {
    margin-top: 14px;
  }
}
.form-constructor {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form-constructor__items {
  display: grid;
  grid-template-columns: 1fr 210px 150px 210px 150px 150px 150px 150px;
  gap: 2px;
}
.form-constructor__items.form-constructor__items--two {
  grid-template-columns: 1fr 216px 216px 221px 141px 182px 154px;
}
.form-constructor__item {
  position: relative;
}
.form-constructor__input .input {
  height: 60px;
  border-radius: 0;
  padding: 16px 60px 16px 16px;
}
.form-constructor__input._active .form-constructor__reset {
  opacity: 1;
  pointer-events: all;
}
.form-constructor__reset {
  top: 18px;
  right: 16px;
  position: absolute;
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-blck);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
  opacity: 0;
  pointer-events: none;
}
.form-constructor__select .select__title {
  background: var(--color-whte);
  border-radius: 0;
}
.form-constructor__select .select__options {
  width: 100%;
}
.form-constructor__select .select__value {
  height: 60px;
  padding: 18px 16px;
  justify-content: space-between;
}
.form-constructor__select .select__value:before {
  color: var(--color-gry-dark);
}
.form-constructor__select .select__value:after {
  content: "";
  background: var(--color-gld);
}
.form-constructor__select .select__content {
  color: var(--color-primary);
}
.form-constructor__select .select__content.select-group {
  color: var(--color-gry-dark);
}
.form-constructor__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px 30px;
  margin-top: 14px;
}
.form-constructor__sort .select__options {
  width: 100%;
}
.form-constructor__sort .select__value {
  padding: 0;
  max-width: max-content;
  gap: 10px;
  align-items: center;
}
.form-constructor__sort .select__value:before {
  color: #939ca1;
  font-size: 16px;
}
.form-constructor__sort .select__value:after {
  background: #515151;
}
.form-constructor__sort .select__content {
  color: #515151;
}
.form-constructor__sort .select__title {
  background: transparent;
}
.form-constructor__inner {
  display: flex;
  gap: 30px;
  align-items: center;
}
.form-constructor__found {
  color: #515151;
}
.form-constructor__found span {
  color: var(--color-alt);
}
.form-constructor__currencies {
  display: flex;
  gap: 2px;
}
.form-constructor__checkbox
  .checkbox__input:checked
  + .checkbox__label
  .checkbox__text {
  background: #dfd4be;
  color: #515151;
}
.form-constructor__checkbox .checkbox__text {
  color: var(--color-gry-dark);
  transition: all 0.3s ease-in 0s;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: #ede8df;
}
.form-constructor__checkbox .checkbox__label {
  padding-left: 0;
}
.form-constructor__checkbox .checkbox__label:before {
  content: "";
  display: none;
}
.form-constructor__checkbox .checkbox__label:after {
  content: "";
  display: none;
}
.form-constructor__map {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 30px;
  transition: all 0.3s ease-in 0s;
  border-radius: 50px;
  background: #ede8df;
  white-space: nowrap;
}
.form-constructor__map:after {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-gld);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  transition: all 0.3s ease-in 0s;
}
.mobile-form {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100dvh;
  z-index: calc(var(--index-3) + 1);
  background: var(--color-whte);
  transition: all 0.3s ease-in 0s;
  overflow: auto;
}
.mobile-form::-webkit-scrollbar {
  display: none;
}
.mobile-form__inner {
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mobile-form__inner .form-constructor__items {
  grid-template-columns: repeat(1, 1fr);
}
.mobile-form__inner .form-constructor__items .form-constructor__item {
  border-bottom: 1px solid #e4dccc;
}
.mobile-form__inner .form-constructor__items .select__value {
  padding: 18px 16px;
}
.mobile-form__inner .form-constructor__items .select__option {
  padding-right: 16px;
  padding-left: 16px;
}
.mobile-form__inner .form-constructor__items .select__options {
  position: static;
}
.mobile-form__inner .form-constructor__currencies {
  margin-top: 16px;
  margin-bottom: 16px;
}
.mobile-form__inner .form-constructor__currency {
  width: 100%;
}
.mobile-form__inner .form-constructor__currency .checkbox__text {
  width: 100%;
  display: flex;
  transition: all 0.3s ease-in 0s;
}
.mobile-form__inner .form-constructor__currency .checkbox__label {
  width: 100%;
}
.mobile-form__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 16px;
  background: var(--color-whte);
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0 -16px;
}
.mobile-form__title {
  font-family: var(--font-secondary);
  font-weight: 500;
  line-height: 120%;
  font-size: 20px;
}
.mobile-form__bottom {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 2;
  background: var(--color-whte);
  margin: auto -16px 0;
  padding: 16px;
}
.mobile-form__submit {
  width: 100%;
  max-width: 100%;
  font-size: 18px;
  line-height: 100%;
  padding: 16px;
}
.mobile-form__close {
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-primary);
}
.hidden-form__inner {
  display: flex;
  gap: 4px;
}
.hidden-form__inner .form-constructor__item {
  flex: 1 1 auto;
}
.hidden-form__inner .form-constructor__item .input {
  border-radius: 8px;
}
.hidden-form__bottom {
  display: flex;
  gap: 4px;
}
.hidden-form__bottom .form-constructor__map {
  border-radius: 8px;
  background: var(--color-whte);
  padding: 18px 16px;
  gap: 16px;
  font-size: 16px;
  flex-direction: row-reverse;
}
.hidden-form__bottom .form-constructor__map:after {
  content: "";
  background: var(--color-gld);
}
.hidden-form__filter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 16px;
  background: var(--color-whte);
  border-radius: 8px;
}
.hidden-form__filter:before {
  content: "";
  mask: var(--icon) center center/contain no-repeat;
  -webkit-mask: var(--icon) center center/contain no-repeat;
  background: var(--color-gld);
  --size: 24px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}
._filter .mobile-form {
  left: 0;
}
._filter .header {
  pointer-events: none;
}
._filter .header__inner {
  opacity: 0;
  pointer-events: none;
}
@layer component {
  .breadcrumb {
    margin-bottom: 20px;
  }
  .breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }
  .breadcrumb__item {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-size: 14px;
    line-height: 140%;
    pointer-events: none;
    color: #515151;
  }
  .breadcrumb__item:after {
    content: "/";
    color: var(--color-gld);
  }
  .breadcrumb__item a {
    transition: all 0.3s ease-in 0s;
    color: var(--color-gld);
    pointer-events: all;
  }
  .breadcrumb__item.breadcrumb__item--active:after {
    display: none;
  }
}
@layer component {
  .advantages__blocks {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .advantages__block {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .advantages__items {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
  .advantages__item {
    display: flex;
    flex-direction: column;
    gap: 0px;
    width: 100%;
  }
}
.text-block {
  font-size: 14px;
  line-height: 140%;
  color: #515151;
}
.text-block h2,
.text-block h3,
.text-block h4,
.text-block h5,
.text-block h6 {
  font-size: 30px;
  font-weight: 600;
  line-height: 120%;
  font-family: var(--font-secondary);
  color: var(--color-primary);
}
.text-block p {
  line-height: 143%;
}
.text-block ul {
  display: flex;
  flex-direction: column;
  gap: 0px;
}
.text-block ul li:before {
  content: "";
  --size: 6px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  border-radius: 50%;
  background: #515151;
  margin-right: 2px;
  transform: translateY(-3px);
}
@layer component {
  .realty {
    margin-bottom: 80px;
  }
  .realty__top {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
  }
  .realty__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .realty__info {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
    position: relative;
  }
  .realty__info-img {
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 24px;
  }
  .realty__info-img img,
  .realty__info-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .content-realty__inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .content-realty__img {
    border-radius: 20px;
    overflow: hidden;
  }
  .content-realty__img img,
  .content-realty__img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .content-realty__blocks {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .content-realty__block {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .content-realty__block:not(:last-child) {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.1);
  }
  .content-realty__row {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .content-realty__column {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .content-realty__subtitle {
    font-weight: 500;
    font-family: var(--font-secondary);
  }
  .content-realty__items {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .content-realty__item {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .content-realty__name {
    font-family: var(--font-secondary);
  }
  .content-realty__value {
    line-height: 140%;
  }
}
.tag-block {
  font-size: 20px;
  line-height: 130%;
  text-transform: uppercase;
  color: var(--color-gld);
}
@layer component {
  .hero {
    position: relative;
  }
  .hero.hero--two .hero__info {
    max-width: 608px;
  }
  .hero__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .hero__column {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .hero__column-title {
    font-family: var(--font-secondary);
    font-weight: 500;
    font-variant-numeric: lining-nums proportional-nums;
    color: var(--color-whte);
    line-height: 120%;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(var(--color-whte--rgb), 0.2);
  }
  .hero__column-text {
    line-height: 140%;
    color: var(--color-whte);
  }
  .hero__inner {
    position: relative;
    z-index: 2;
    gap: 26px;
    min-height: 631px;
    padding: 32px 0;
  }
  .hero__info {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .hero__info-title {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--color-whte);
    font-variant-numeric: lining-nums proportional-nums;
  }
  .hero__info-text {
    color: rgba(var(--color-whte--rgb), 0.8);
    line-height: 142%;
  }
  .hero__content {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .hero__content-text {
    color: var(--color-whte);
  }
  .hero__content-links {
    display: flex;
    gap: 16px;
  }
  .hero__content-link {
    max-width: 100%;
  }
  .hero__decor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .hero__decor:before {
    content: "";
    background: linear-gradient(180deg, #12131300, #121313cc);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80%;
  }
  .hero__decor img,
  .hero__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
}
@layer component {
  .installation__inner {
    position: relative;
    padding: 40px 0;
  }
  .installation__body {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  .installation__content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 300px;
  }
  .installation__images {
    display: flex;
    gap: 15px;
    max-width: 873px;
    height: auto;
    width: 100%;
  }
  .installation__image {
    border-radius: 12px;
    overflow: hidden;
  }
  .installation__image img,
  .installation__image picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .installation__image.installation__image--one {
    margin-top: 70px;
    aspect-ratio: 379/502;
  }
  .installation__image.installation__image--two {
    margin-bottom: 35px;
    aspect-ratio: 464/607;
  }
  .installation__decor {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 853px;
  }
  .installation__decor img,
  .installation__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}
@layer component {
  .locations {
    max-width: 1802px;
    background: var(--color-whte);
    margin: 0 auto;
    overflow: hidden;
    padding: 40px 0;
    position: relative;
  }
  .locations__decor {
    position: absolute;
    top: -5.05vw;
    left: -3.13vw;
    width: 49.06vw;
    height: 34.48vw;
  }
  .locations__decor img,
  .locations__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .locations__inner {
    display: flex;
    gap: 1.51vw;
    min-width: 0;
    position: relative;
  }
  .locations__info {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    z-index: 2;
  }
  .locations__navigation {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
  }
  .locations__arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    --size: 44px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 16px;
    background: #ede8df;
    transition: all 0.3s ease-in 0s;
  }
  .locations__arrow.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
  .locations__arrow:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-primary);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .locations__pagging {
    font-size: 16px;
    line-height: 100%;
  }
  .locations__pagging.swiper-pagination-lock {
    opacity: 0;
    pointer-events: none;
  }
  .locations__content {
    min-width: 0;
    position: relative;
    z-index: 2;
  }
  .locations__slider {
    padding-right: 16px;
  }
  .locations__slide {
    max-width: 320px;
    width: 100%;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    height: auto;
  }
  .locations__slide-inner {
    position: relative;
    z-index: 2;
    min-height: 300px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    height: 100%;
  }
  .locations__slide-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .locations__slide-title {
    color: var(--color-whte);
    font-weight: 500;
    font-family: var(--font-secondary);
  }
  .locations__slide-text {
    color: var(--color-whte);
  }
  .locations__slide-link {
    min-width: 211px;
  }
  .locations__slide-decor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .locations__slide-decor:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(280deg, #0c0c0b00 53.38%, #0c0c0b 99.63%);
  }
  .locations__slide-decor img,
  .locations__slide-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
}
@layer component {
  .house__inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .house__row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .house__column {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
  }
  .house__column-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-height: 300px;
    padding: 24px;
    height: 100%;
  }
  .house__column-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1 1 auto;
  }
  .house__column-title {
    color: var(--color-whte);
    font-family: var(--font-secondary);
    font-weight: 500;
  }
  .house__column-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .house__column-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-whte);
  }
  .house__column-item:before {
    content: "";
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    background: var(--color-alt);
  }
  .house__column-item:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 16px;
    width: var(--size);
    height: var(--size);
  }
  .house__column-link {
    min-width: 211px;
  }
  .house__column-decor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .house__column-decor:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(272deg, #0c0c0b00 44.65%, #0c0c0b 99.9%);
  }
  .house__column-decor img,
  .house__column-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .house__callback {
    background: var(--color-alt);
    border-radius: 24px;
    padding: 24px;
  }
  .house__callback-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }
  .house__callback-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .house__callback-title,
  .house__callback-text {
    color: var(--color-whte);
  }
  .house__callback-personal {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
    gap: 16px;
  }
  .house__callback-worker {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .house__callback-img {
    --size: 60px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    overflow: hidden;
  }
  .house__callback-img img,
  .house__callback-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .house__callback-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .house__callback-name {
    color: var(--color-whte);
    font-family: var(--font-secondary);
  }
  .house__callback-value {
    color: var(--color-whte);
  }
  .house__callback-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    border-radius: 50px;
  }
  .house__callback-btn:after {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-primary);
    --size: 20px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
    flex: 0 0 var(--size);
  }
}
@layer component {
  .assortment__container {
    max-width: 1920px;
  }
  .assortment__inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .assortment__info {
    padding: 15px;
    border-radius: 24px;
    background: var(--color-whte);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 2;
  }
  .assortment__content {
    max-width: 606px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .assortment__content-title {
    font-weight: 600;
  }
  .assortment__content-link {
    margin: 0 auto;
  }
  .assortment__decor {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 46px);
    height: calc(100% - 46px);
    max-width: 840px;
    max-height: 590px;
    pointer-events: none;
  }
  .assortment__decor img,
  .assortment__decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .assortment__img {
    border-radius: 24px;
    overflow: hidden;
    height: 100%;
  }
  .assortment__img img,
  .assortment__img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
}
@layer component {
  .make__inner {
    max-width: 1520px;
    border-radius: 20px;
    background: #ede8df;
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .make__title {
    align-self: center;
    font-family: var(--font-secondary);
    font-weight: 600;
  }
  .make__form {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
}
.make__form .checkbox__text {
  color: var(--color-gry-dark);
}
@layer component {
  .plan__container {
    max-width: 1920px;
  }
  .plan__link {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    color: rgba(var(--color-whte--rgb), 0.8);
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 140%;
    outline: none;
  }
  .plan__link:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 16px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
  }
  .plan__inner {
    position: relative;
  }
  .plan__main {
    border-radius: 10px;
    overflow: hidden;
  }
  .plan__slide-img {
    position: relative;
    aspect-ratio: 1800/890;
  }
  .plan__slide-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #1e262800, #1e262880);
  }
  .plan__slide-img img,
  .plan__slide-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .plan__slider {
    margin-left: auto;
    min-width: 0;
  }
  .plan__body {
    position: absolute;
    bottom: 12px;
    left: 0;
    width: 100%;
    z-index: 2;
  }
  .plan__body .plan__container {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    max-width: 1640px;
    overflow: hidden;
  }
  .plan__thumb {
    position: relative;
    width: 44px;
    cursor: pointer;
  }
  .plan__thumb._active .plan__thumb-img:before {
    content: "";
    opacity: 1 !important;
  }
  .plan__thumb:has(.plan__thumb-slider) {
    width: 57px !important;
  }
  .plan__thumb:has(.plan__thumb-slider) .plan__thumb-slider {
    width: 44px !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    margin-right: 0 !important;
  }
  .plan__thumb-slider {
    height: 100%;
    overflow: visible;
    min-width: 0;
  }
  .plan__thumb-slide {
    width: 44px !important;
  }
  .plan__thumb-slide.swiper-slide-active {
    opacity: 1;
  }
  .plan__thumb-slide._active .plan__thumb-img:before {
    content: "";
    opacity: 1;
  }
  .plan__thumb-img {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    --size: 44px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    position: relative;
  }
  .plan__thumb-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-whte);
    border-radius: 10px;
    opacity: 0;
    transition: all 0.3s ease-in 0s;
  }
  .plan__thumb-img img,
  .plan__thumb-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
    transition: all 0.3s ease-in 0s;
  }
  .plan__navigation {
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .plan__content {
    display: flex;
    flex-direction: column;
    gap: 0px;
    min-width: 0;
    max-width: 100%;
  }
  .plan__pagination {
    font-size: 16px;
    line-height: 140%;
    color: var(--color-alt);
    font-variant-numeric: lining-nums proportional-nums;
  }
  .plan__description {
    min-width: 0;
    max-width: 100%;
  }
  .plan__description-slide.swiper-slide-active .plan__description-text {
    opacity: 1;
  }
  .plan__description-text {
    color: var(--color-whte);
    transition: all 0.3s ease-in 0s;
    opacity: 0;
  }
  .plan__arrows {
    display: flex;
    gap: 10px;
  }
  .plan__arrow {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(var(--color-whte--rgb), 0.15);
    -webkit-backdrop-filter: blur(3.5px);
    backdrop-filter: blur(3.5px);
    border-radius: 8px;
    transition: all 0.3s ease-in 0s;
  }
  .plan__arrow:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .plan__arrow.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
}
@layer component {
  .promo__inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    justify-content: space-between;
  }
  .promo__info {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .promo__title {
    font-family: var(--font-secondary);
    font-weight: 600;
    line-height: 129%;
  }
  .promo__description {
    display: flex;
    flex-direction: column;
    gap: 17px;
  }
  .promo__text {
    line-height: 130%;
  }
  .promo__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
  }
  .promo__slider {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .promo__slide {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: var(--color-whte);
    border-radius: 24px;
    gap: 20px;
    min-height: 166px;
  }
  .promo__slide-title {
    color: var(--color-gld);
    font-family: var(--font-secondary);
    font-weight: 600;
    line-height: 130%;
    font-variant-numeric: lining-nums proportional-nums;
  }
  .promo__slide-text {
    margin-top: auto;
  }
  .promo__row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
  .promo__column {
    padding: 24px;
    background: var(--bg);
    border-radius: 30px;
    position: relative;
    overflow: hidden;
    min-height: 278px;
  }
  .promo__column-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
  }
  .promo__column-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .promo__column-title {
    font-weight: 500;
    font-family: var(--font-secondary);
    color: var(--color);
  }
  .promo__column-title.text-40 {
    font-weight: 600;
  }
  .promo__column-text {
    line-height: 140%;
    color: var(--color);
  }
  .promo__column-banks {
    display: flex;
    flex-wrap: wrap;
    margin-top: auto;
  }
  .promo__column-bank {
    position: relative;
    --size: 50px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
  }
  .promo__column-bank:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    border-radius: 50%;
    border: 3px solid var(--color-whte);
  }
  .promo__column-bank img,
  .promo__column-bank picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    border-radius: 50%;
    overflow: hidden;
  }
  .promo__column-bank:not(:first-child) {
    margin-left: -5px;
  }
  .promo__column-decor {
    position: absolute;
  }
  .promo__column-decor.promo__column-decor--one {
    width: 423px;
    height: 253px;
    top: 14px;
    right: -96px;
  }
  .promo__column-decor.promo__column-decor--two {
    width: 202px;
    height: 265px;
    top: -2px;
    right: -13px;
  }
  .promo__column-decor img,
  .promo__column-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .promo__column-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: auto;
  }
  .promo__column-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .promo__column-subtitle {
    padding: 5px 8px;
    background: var(--bg);
    color: var(--color);
    max-width: max-content;
    border-radius: 8px;
    font-family: var(--font-secondary);
    font-weight: 500;
    font-variant-numeric: lining-nums proportional-nums;
    line-height: 120%;
  }
  .promo__column-subtext {
    color: var(--color);
    line-height: 140%;
  }
}
@layer component {
  .appreciate__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
    max-width: 100%;
  }
  .appreciate__top {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    align-items: flex-end;
    gap: 16px;
  }
  .appreciate__slider {
    min-width: 0;
    max-width: 100%;
    overflow: visible;
  }
  .appreciate__slide {
    max-width: 320px;
    width: 100%;
    height: auto;
    padding: 16px;
    border-radius: 16px;
    background: var(--color-whte);
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .appreciate__slide-img {
    aspect-ratio: 16/9;
  }
  .appreciate__slide-img img,
  .appreciate__slide-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
  }
  .appreciate__slide-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px 12px;
    padding: 16px;
    border-radius: 16px;
    background: var(--color-whte-two);
  }
  .appreciate__slide-content {
    display: flex;
    gap: 12px;
    align-items: center;
  }
  .appreciate__slide-avatar {
    --size: 50px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    overflow: hidden;
    border-radius: 50%;
  }
  .appreciate__slide-avatar img,
  .appreciate__slide-avatar picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .appreciate__slide-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .appreciate__slide-title {
    font-family: var(--font-secondary);
    font-weight: 500;
    line-height: 120%;
    font-variant-numeric: lining-nums proportional-nums;
  }
  .appreciate__slide-items {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
  }
  .appreciate__slide-item {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
    color: var(--color-blck);
    line-height: 140%;
  }
  .appreciate__slide-item:after {
    content: "";
    --size: 2px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    background: var(--color-blck);
  }
  .appreciate__slide-item:last-child:after {
    content: "";
    display: none;
  }
  .appreciate__arrows {
    display: flex;
    gap: 10px;
    z-index: 2;
  }
  .appreciate__arrow {
    --size: 44px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    background: #e4dccc;
    transition: all 0.3s ease-in 0s;
  }
  .appreciate__arrow:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-blck);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .appreciate__arrow.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
  .constructor-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .constructor-form__items {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  .constructor-form__item {
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .constructor-form__item:after {
    content: "";
    height: 32px;
    width: 1px;
    transform: rotate(15deg);
    background: #d0c6bc;
  }
  .constructor-form__item:last-child:after {
    content: "";
    display: none;
  }
  .constructor-form__checkbox .checkbox__text {
    color: var(--color-gry);
    line-height: 100%;
    padding: 16px 24px;
    border-radius: 8px;
    background: var(--color-whte);
    transition: all 0.3s ease-in 0s;
    white-space: nowrap;
  }
  .constructor-form__checkbox .checkbox__label:before {
    content: "";
    display: none;
  }
  .constructor-form__checkbox .checkbox__label:after {
    content: "";
    display: none;
  }
}
.constructor-form__checkbox
  .checkbox__input:checked
  + .checkbox__label
  .checkbox__text {
  background: #dfd4be;
}
.constructor-form__checkbox .checkbox__text {
  color: var(--color-gry);
  line-height: 100%;
  padding: 14px 24px;
  border-radius: 8px;
  background: var(--color-whte);
  transition: all 0.3s ease-in 0s;
}
.constructor-form__checkbox .checkbox__label {
  padding-left: 0;
}
.constructor-form__checkbox .checkbox__label:before {
  content: "";
  display: none;
}
.constructor-form__checkbox .checkbox__label:after {
  content: "";
  display: none;
}
.constructor-form__select .select__title {
  background: var(--color-whte);
  border-radius: 8px;
}
.constructor-form__select .select__options {
  width: 100%;
}
.constructor-form__select .select__value {
  padding: 10px 20px;
  height: 44px;
  align-items: center;
  gap: 12px;
}
.constructor-form__select .select__value:before {
  content: "";
  mask: var(--decor) center center/contain no-repeat;
  -webkit-mask: var(--decor) center center/contain no-repeat;
  background: #485256;
  --size: 16px;
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
}
.constructor-form__select .select__value:after {
  content: "";
  background: #485256;
}
.constructor-form__select .select__content {
  color: #485256;
}
@layer component {
  .infrastructure__top {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 40px;
  }
  .infrastructure__slide {
    display: flex;
    align-items: flex-start;
    gap: 1.67vw;
  }
  .infrastructure__slide-img {
    border-radius: 24px;
    overflow: hidden;
  }
  .infrastructure__slide-img img,
  .infrastructure__slide-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    aspect-ratio: 320/387;
  }
  .infrastructure__slide-info {
    max-width: 313px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }
  .infrastructure__slide-title {
    font-family: var(--font-secondary);
    font-weight: 500;
    font-variant-numeric: lining-nums proportional-nums;
    color: var(--color-gld);
  }
  .infrastructure__slide-text {
    font-size: 14px;
  }
}
@layer component {
  .material__inner {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
    position: relative;
  }
  .material__info {
    padding: 24px;
    border-radius: 24px;
    background: var(--color-whte);
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: max-content;
  }
  .material__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .material__item {
    border-radius: 16px;
    background: var(--color-whte-two);
    padding: 16px 17px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }
  .material__item-content {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .material__item-img {
    --size: 50px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    overflow: hidden;
  }
  .material__item-img img,
  .material__item-img picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .material__item-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .material__item-title {
    font-family: var(--font-secondary);
  }
  .material__item-icon {
    background: var(--color-whte);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    --size: 44px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .material__item-icon:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-blck);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .material__callback {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    height: max-content;
    padding: 24px;
    background: var(--color-whte);
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .material__callback-decor {
    position: absolute;
    bottom: -87px;
    right: -39px;
    width: 512px;
    height: 360px;
  }
  .material__callback-decor img,
  .material__callback-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .material__callback-title {
    position: relative;
    z-index: 2;
  }
  .material__callback-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    z-index: 2;
  }
  .material__callback-content {
    display: flex;
    gap: 24px;
  }
  .material__callback-avatar {
    --size: 80px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    border-radius: 50%;
    overflow: hidden;
  }
  .material__callback-avatar img,
  .material__callback-avatar picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
  }
  .material__callback-info {
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .material__callback-name {
    font-family: var(--font-secondary);
    font-weight: 500;
  }
  .material__callback-btn {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 50px;
  }
  .material__callback-btn:after {
    content: "";
    background: var(--color-whte);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
  }
}
@layer component {
  .environment__container {
    max-width: 1920px;
  }
  .environment__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .environment__body {
    pointer-events: none;
  }
  .environment__body .environment__container {
    max-width: 1640px;
  }
  .environment__body {
    position: relative;
    z-index: 2;
  }
  .environment__content {
    border-radius: 24px;
    background: var(--color-whte);
    position: relative;
    overflow: hidden;
    padding: 24px;
    pointer-events: all;
  }
  .environment__content-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .environment__content-text {
    line-height: 143%;
  }
  .environment__content-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .environment__content-subtitle {
    font-family: var(--font-secondary);
  }
  .environment__content-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
  .environment__content-item {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .environment__content-icon {
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: var(--color-primary);
    margin-top: -3px;
  }
  .environment__content-icon:after {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    --size: 16px;
    width: var(--size);
    height: var(--size);
  }
  .environment__content-value {
    color: #515151;
  }
  .environment__content-decor {
    position: absolute;
    bottom: 47px;
    right: -35px;
    width: 552px;
    height: 387px;
  }
  .environment__content-decor img,
  .environment__content-decor picture {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .environment__map {
    border-radius: 24px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.environment__content-form .form__callback-input .input {
  border: 1px solid #e6e6e6;
}
.environment__content-form .form__callback-input._form-error .input {
  border: 1px solid var(--color-error);
}
.environment__content-form .form__callback-btn {
  min-width: 99px;
}
@layer component {
  .similar__top {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
  }
  .similar__slide {
    width: 100%;
    max-width: 320px;
  }
  .similar__slide .card-product__text {
    -webkit-line-clamp: 1;
  }
  .similar__slide .card-product__img {
    aspect-ratio: 157/105;
  }
  .similar__arrows {
    display: flex;
    gap: 10px;
  }
  .similar__arrow {
    --size: 44px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    background: #e4dccc;
    transition: all 0.3s ease-in 0s;
  }
  .similar__arrow:before {
    content: "";
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-blck);
    --size: 24px;
    width: var(--size);
    height: var(--size);
    transition: all 0.3s ease-in 0s;
  }
  .similar__arrow.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
}
@layer component {
  .loaded .preloader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .loaded .fade-scale {
    transform: scale(1.5);
  }
  .loaded .fade-scale._watcher-view {
    animation: slide-top04 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }
  @keyframes slide-top02 {
    0% {
      transform: translateY(80px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes gradient {
    0% {
      transform: rotate(0) scale(1);
    }
    50% {
      transform: rotate(-90deg) scale(0.8);
    }
    to {
      transform: rotate(0) scale(1);
    }
  }
  @keyframes slide-top04 {
    0% {
      transform: scale(1.5);
    }
    to {
      transform: scale(1);
    }
  }
  @keyframes slide-top03 {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
}
.outer {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.inner {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
  box-sizing: content-box;
  position: relative;
}
@media only screen and (min-width: 479.98px) {
  @layer component {
    .installation__link {
      min-width: 277px;
    }
  }
}
@media only screen and (min-width: 620px) {
  .form__items {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
    grid-template-columns: repeat(3, 1fr);
  }
  .block-menu__column.block-menu__column--big .block-menu__items {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .block-menu__items,
  .block-menu__blocks,
  .top-footer__items {
    grid-template-columns: repeat(3, 1fr);
  }
  .tags-block {
    justify-content: center;
  }
  @layer component {
    .about__row {
      grid-template-columns: 52.19vw 1fr;
    }
  }
  @layer component {
    .immovables__info-img {
      aspect-ratio: 2/1;
    }
  }
  @layer component {
    .catalog__row {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
    }
  }
  .form-constructor__tags {
    justify-content: flex-start;
  }
  @layer component {
    .house__row {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .house__callback-personal {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .assortment__inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}
@media only screen and (min-width: 767.98px) {
  @layer component {
    .spollers__img.spollers__img--mobile {
      aspect-ratio: 2/1;
    }
  }
  .content-footer__row {
    grid-template-columns: repeat(2, 1fr);
  }
  .content-footer__blocks {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .bottom-footer__info {
    gap: 30px;
  }
  .bottom-footer__company {
    padding-right: 22px;
    gap: 18px;
  }
  @layer base {
    [class*="__container"],
    .container {
      --pad: 30px;
    }
  }
  @layer component {
    .platform__row {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @layer component {
    .catalog__row {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .locations__slider {
      padding-right: 30px;
    }
  }
  @layer component {
    .promo__row {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}
@media only screen and (min-width: 991.98px) {
  @layer component {
    .popup__content {
      max-width: 46.88vw;
      border-radius: 1.04vw;
    }
  }
  .popup--gallery .plan__body .plan__container {
    max-width: 85.42vw;
  }
  .popup--video .popup__close {
    top: 24px;
    right: 24px;
  }
  .form__callback-input .input {
    height: 2.6vw;
    border-radius: 0.83vw 0px 0px 0.83vw;
    font-size: 0.94vw;
    padding: 0.83vw 1.25vw;
  }
  .form__callback-input .input::placeholder {
    font-size: 0.94vw;
  }
  .form__callback-btn {
    min-width: 10.83vw;
    border-radius: 0px 0.83vw 0.83vw 0px;
  }
  .form__search {
    max-width: 52.29vw;
    gap: 0.52vw;
  }
  .form__search-inner {
    padding: 0.83vw 0.83vw 0.83vw 1.25vw;
    border-radius: 0.83vw;
  }
  .form__search-select {
    padding-right: 0.83vw;
    border-right: 0.05vw solid #d0c6bc;
  }
  .form__search-input .input {
    height: 1.67vw;
  }
  .form__search-submit {
    padding: 0.89vw;
    min-width: 9.84vw;
    gap: 0.26vw;
  }
  .form__bottom {
    gap: 1.04vw 1.56vw;
  }
  .form__bottom .form__btn {
    min-width: 10.94vw;
  }
  .form__items {
    gap: 0.83vw;
  }
  .form__error {
    top: calc(100% + 0.21vw);
    font-size: 0.73vw;
  }
  .form__mail {
    gap: 0.42vw;
  }
  .form__submit {
    min-height: 2.92vw;
    min-width: 4.17vw;
  }
  .form__submit:before {
    --size: 1.25vw;
  }
  .input {
    height: 2.92vw;
    padding: 1.04vw 1.25vw;
    border-radius: 0.83vw;
  }
  .input {
    font-size: 0.83vw;
  }
  .input::placeholder {
    font-size: 0.83vw;
  }
  @layer component {
    .select__value {
      gap: 0.52vw;
      height: 1.67vw;
      padding: 0.21vw 0.52vw;
    }
  }
  @layer component {
    .select__value:after {
      flex: 0 0 1.25vw;
    }
  }
  @layer component {
    .select__content {
      font-size: 0.83vw;
    }
  }
  @layer component {
    .select__options {
      min-width: 10.05vw;
      border-radius: 0.42vw;
      top: calc(100% + 0.42vw);
      padding: 0.63vw 1.04vw;
    }
  }
  @layer component {
    .select__scroll {
      max-height: 10.42vw;
    }
  }
  @layer component {
    .select__option {
      padding: 0.63vw 0px;
      font-size: 0.83vw;
    }
  }
  @layer component {
    .select__option:not(:last-child) {
      border-bottom: 0.05vw solid #e4dccc;
    }
  }
  .checkbox__label {
    padding-left: 1.46vw;
  }
  .checkbox__label:before {
    width: 0.83vw;
    height: 0.83vw;
    flex: 0 0 0.83vw;
    border-radius: 0.21vw;
  }
  .checkbox__label:after {
    top: 0.05vw;
    left: 0.05vw;
    width: 0.68vw;
    height: 0.68vw;
  }
  .pagination {
    gap: 0.1vw;
  }
  .pagination__arrow {
    --size: 3.13vw;
  }
  .pagination__arrow:before {
    --size: 1.25vw;
  }
  .pagination__list {
    gap: 0.1vw;
  }
  .pagination__item {
    --size: 3.13vw;
    border-radius: 0.42vw;
    font-size: 0.83vw;
  }
  @layer component {
    .spollers__item {
      padding: 1.25vw 0px;
    }
  }
  @layer component {
    .spollers__title {
      gap: 1.56vw;
    }
  }
  @layer component {
    .spollers__title span {
      --size: 2.81vw;
    }
  }
  @layer component {
    .spollers__title span:before {
      width: 1.25vw;
    }
  }
  @layer component {
    .spollers__title span:after {
      height: 1.25vw;
    }
  }
  @layer component {
    .spollers__description {
      padding-top: 1.25vw;
      gap: 0.83vw;
    }
  }
  @layer component {
    .spollers__img.spollers__img--mobile {
      display: none;
    }
  }
  .header {
    top: 1.25vw;
  }
  .header__inner {
    padding: 0.94vw 1.25vw 0px;
    border-radius: 1.04vw;
  }
  .menu__constructor {
    gap: 3.28vw;
  }
  .menu__top {
    padding-bottom: 0.94vw;
  }
  .menu__logo {
    width: 6.96vw;
    height: 2.84vw;
    flex: 0 0 6.96vw;
  }
  .menu__items {
    min-width: 28.49vw;
    gap: 2.08vw;
  }
  .menu__item:after {
    --size: 1.25vw;
    gap: 0.31vw;
  }
  .menu__info {
    gap: 1.56vw;
  }
  .menu__favorites:before {
    --size: 1.25vw;
  }
  .menu__favorites span {
    --size: 0.42vw;
    right: -0.26vw;
  }
  .menu__link {
    padding: 0.52vw 1.25vw;
    border-radius: 2.6vw;
    gap: 0.52vw;
  }
  .menu__link:before {
    --size: 1.25vw;
  }
  .menu__blocks {
    position: relative;
  }
  .block-menu {
    max-height: calc(100dvh - 7.71vw);
  }
  .block-menu__inner {
    grid-template-columns: 1fr 22.86vw;
    padding-top: 1.67vw;
    border-top: 0.05vw solid rgba(var(--color-primary--rgb), 0.2);
    padding-bottom: 1.25vw;
    gap: 1.25vw;
  }
  .block-menu__inner.block-menu__inner--two {
    grid-template-columns: 29.27vw 1fr;
  }
  .block-menu__inner.block-menu__inner--two .block-menu__offer {
    margin-top: auto;
  }
  .block-menu__back {
    display: none;
  }
  .block-menu__content {
    gap: 1.67vw;
  }
  .block-menu__row {
    gap: 1.25vw;
  }
  .block-menu__row {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__row.block-menu__row--two {
    grid-template-columns: 17.71vw 1fr;
  }
  .block-menu__row.block-menu__row--two .block-menu__column .block-menu__items {
    grid-template-columns: repeat(1, 1fr);
  }
  .block-menu__column {
    gap: 1.67vw;
  }
  .block-menu__items {
    gap: 1.25vw;
  }
  .block-menu__items {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-menu__item {
    gap: 0.83vw;
  }
  .block-menu__img {
    --size: 3.33vw;
    border-radius: 0.83vw;
  }
  .block-menu__info {
    padding-top: 1.61vw;
    gap: 1.67vw;
  }
  .block-menu__blocks {
    gap: 24px;
  }
  .block-menu__blocks {
    grid-template-columns: repeat(4, 1fr);
  }
  .block-menu__list {
    gap: 1.25vw;
  }
  .block-menu__all {
    margin-top: -0.26vw;
  }
  .block-menu__all:after {
    --size: 1.25vw;
    margin-top: -0.1vw;
  }
  .offer-block {
    gap: 0.83vw;
  }
  .offer-block__column {
    min-height: 12.86vw;
    padding: 1.56vw;
    border-radius: 1.04vw;
  }
  .offer-block__decor {
    width: 16.93vw;
    height: 15.57vw;
    top: 0.47vw;
    right: 0.57vw;
  }
  .offer-block__socials {
    gap: 0.42vw;
  }
  .offer-block__social {
    padding: 0.52vw;
    border-radius: 0.42vw;
  }
  .offer-block__social:before {
    --size: 0.99vw;
  }
  .icon-menu {
    display: none;
  }
  .footer {
    padding: 2.08vw 0px;
  }
  .footer__inner {
    grid-template-columns: 1fr 25.05vw;
  }
  .top-footer {
    border-bottom: 0.05vw solid rgba(var(--color-whte--rgb), 0.2);
  }
  .top-footer__inner {
    grid-template-columns: 18.65vw 1fr;
    gap: 1.56vw;
  }
  .top-footer__logo {
    width: 10.87vw;
    height: 4.43vw;
  }
  .top-footer__items {
    gap: 1.56vw;
  }
  .top-footer__item {
    gap: 0.52vw;
  }
  .content-footer__inner {
    gap: 1.67vw;
  }
  .content-footer__row {
    gap: 1.56vw;
  }
  .content-footer__row:not(:last-child) {
    padding-bottom: 1.61vw;
    border-bottom: 0.05vw solid rgba(var(--color-whte--rgb), 0.2);
  }
  .content-footer__column {
    gap: 1.67vw;
  }
  .content-footer__items {
    gap: 1.25vw 1.25vw;
  }
  .content-footer__item {
    gap: 0.83vw;
  }
  .content-footer__img {
    --size: 3.33vw;
    border-radius: 0.83vw;
  }
  .content-footer__blocks {
    gap: 1.25vw;
  }
  .content-footer__block {
    gap: 0.63vw;
  }
  .content-footer__list {
    gap: 1.25vw;
  }
  .content-footer__link.content-footer__link--all:after {
    --size: 1.25vw;
  }
  .info-footer__inner,
  .info-footer__row {
    gap: 1.56vw;
  }
  .info-footer__info {
    min-height: 14.11vw;
    padding: 1.56vw;
  }
  .info-footer__title br {
    display: none;
  }
  .info-footer__link {
    gap: 0.42vw;
  }
  .info-footer__link:after {
    --size: 1.25vw;
  }
  .info-footer__img {
    border-radius: 1.04vw;
  }
  .info-footer__form {
    padding: 1.67vw;
    gap: 1.25vw;
  }
  .bottom-footer__links {
    gap: 0.42vw;
  }
  .bottom-footer__link {
    min-height: 2.08vw;
    padding: 0.52vw;
    border-radius: 0.42vw;
  }
  .bottom-footer__link:before {
    --size: 0.99vw;
  }
  .bottom-footer__company {
    padding-right: 1.15vw;
    gap: 0.94vw;
  }
  @layer component {
    .btn {
      padding: 0.83vw;
      border-radius: 0.83vw;
    }
  }
  .swiper-arrows .swiper-arrow {
    --size: 2.29vw;
    border-radius: 0.83vw;
  }
  .swiper-arrows .swiper-arrow:before {
    --size: 1.25vw;
  }
  .section {
    margin-bottom: 5.21vw;
  }
  .page--top {
    padding-top: calc(var(--header) + 3.28vw);
  }
  @layer base {
    [class*="__container"],
    .container {
      max-width: 85.42vw;
      --pad: 60px;
    }
  }
  @layer component {
    .text-70 {
      font-size: 3.65vw;
    }
  }
  @layer component {
    .text-64 {
      font-size: 3.33vw;
    }
  }
  @layer component {
    .text-30 {
      font-size: 1.56vw;
    }
  }
  @layer component {
    .text-40 {
      font-size: 2.08vw;
    }
  }
  @layer component {
    .text-12 {
      font-size: 0.63vw;
    }
  }
  @layer component {
    .text-20 {
      font-size: 1.04vw;
      line-height: 130%;
    }
  }
  @layer component {
    .text-16 {
      font-size: 0.83vw;
    }
  }
  @layer component {
    .text-14 {
      font-size: 0.73vw;
    }
  }
  @layer component {
    .text-18 {
      font-size: 0.94vw;
    }
  }
  @layer component {
    .intro {
      margin-bottom: 5.21vw;
    }
  }
  @layer component {
    .intro__slide {
      min-height: 41.67vw;
      padding: 12.29vw 0px;
    }
  }
  @layer component {
    .intro__content {
      gap: 2.5vw;
      max-width: 44.43vw;
    }
  }
  @layer component {
    .intro__info {
      gap: 1.25vw;
    }
  }
  @layer component {
    .intro__links {
      gap: 1.25vw;
      max-width: 23.39vw;
    }
  }
  @layer component {
    .intro__pagging {
      padding: 0.42vw 0.83vw;
      border-radius: 2.08vw;
      gap: 0.42vw;
    }
  }
  @layer component {
    .intro__pagging .swiper-pagination-bullet {
      --size: 0.31vw;
    }
  }
  @layer component {
    .intro__navigation {
      bottom: 2.03vw;
    }
  }
  @layer component {
    .intro__arrows {
      gap: 0.52vw;
    }
  }
  @layer component {
    .agency {
      margin-bottom: 5.21vw;
    }
  }
  @layer component {
    .agency__decor {
      width: 58.49vw;
      height: 44.27vw;
      top: -12.71vw;
    }
  }
  @layer component {
    .agency__top {
      margin-bottom: 5.21vw;
      gap: 1.25vw;
    }
  }
  @layer component {
    .agency__title {
      margin-bottom: 1.15vw;
    }
  }
  @layer component {
    .agency__row {
      gap: 1.56vw;
    }
  }
  @layer component {
    .agency__row:has(.agency__column:hover) .agency__info-btn {
      background: #f0f0f0;
    }
    .agency__row:has(.agency__column:hover)
      .agency__column:not(:hover)
      .agency__info-title {
      color: var(--color-primary);
    }
    .agency__row:has(.agency__column:hover)
      .agency__column:not(:hover)
      .agency__body-items {
      height: 0;
      width: 0;
      opacity: 0;
    }
    .agency__row:has(.agency__column:hover)
      .agency__column:not(:hover)
      .agency__info-img {
      border-radius: 1.04vw;
      width: var(--size-img) !important;
      height: var(--size-img) !important;
      top: auto;
      left: 2.08vw;
      bottom: 2.08vw;
      transition: all 0.1s ease-in 0s;
    }
    .agency__row:has(.agency__column:hover)
      .agency__column:not(:hover)
      .agency__info-btn {
      margin-left: auto;
    }
  }
  @layer component {
    .agency__column {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .agency__column {
      background: var(--color-whte);
    }
  }
  @layer component {
    .agency__column:hover .agency__body-content {
      width: calc(100% - 18.59vw);
      transition: all 0.1s ease-in 0.1s;
    }
  }
  @layer component {
    .agency__column:hover {
      flex: 0 0 calc(100% - 21.72vw);
    }
    .agency__column:hover .agency__body {
      opacity: 1;
    }
    .agency__column:hover .agency__info-content {
      opacity: 0;
      pointer-events: none;
    }
    .agency__column:hover .agency__info {
      width: 18.59vw;
    }
  }
  @layer component {
    .agency__info {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2;
      padding: 2.08vw;
    }
  }
  @layer component {
    .agency__info-img {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .agency__body {
      padding: 2.08vw;
      gap: 0.31vw;
      opacity: 0;
      transition: all 0.1s ease-in 0s;
    }
  }
  @layer component {
    .agency__body-content {
      width: 34.64vw;
      margin-left: auto;
      gap: 2.14vw;
    }
  }
  @layer component {
    .agency__body-top .agency__body-btn {
      display: none;
    }
  }
  @layer component {
    .agency__body-item {
      gap: 0.21vw;
    }
  }
  @layer component {
    .agency__body-text {
      font-size: 0.83vw;
      padding: 0.63vw 0.78vw;
      border-radius: 0.42vw;
      border: 0.05vw solid rgba(30, 38, 40, 0.15);
    }
  }
  @layer component {
    .agency__body-value {
      font-size: 0.63vw;
    }
  }
  .tags-block {
    gap: 0.73vw;
  }
  .tags-block__item {
    gap: 0.21vw;
  }
  .tags-block__item:after {
    width: 0.05vw;
    height: 1.67vw;
    margin-left: 0.57vw;
  }
  .tags-block__info {
    border-radius: 0.42vw;
    gap: 0.31vw;
  }
  .tags-block__info:before {
    --size: 0.83vw;
  }
  @layer component {
    .about__column {
      padding: 1.56vw;
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .about__column-info {
      gap: 0.83vw;
    }
  }
  @layer component {
    .immovables__inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .immovables__info {
      position: sticky;
      top: 0;
      left: 0;
      height: max-content;
      gap: 1.56vw;
    }
  }
  @layer component {
    .immovables__info-title {
      line-height: 130%;
      margin-bottom: 0.99vw;
    }
  }
  @layer component {
    .immovables__info-img {
      aspect-ratio: 730/452;
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .immovables__info-link {
      padding: 1.2vw 1.88vw;
    }
  }
  @layer component {
    .immovables__info-link span {
      --size: 1.67vw;
    }
  }
  @layer component {
    .immovables__info-link span:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .immovables__content {
      gap: 1.67vw;
    }
  }
  @layer component {
    .immovables__content-title {
      line-height: 120%;
    }
  }
  @layer component {
    .immovables__content-description {
      gap: 0.73vw;
    }
  }
  @layer component {
    .village__container {
      max-width: 100vw;
    }
  }
  @layer component {
    .village__inner {
      padding: 1.56vw;
    }
  }
  @layer component {
    .village__content {
      padding: 1.56vw;
    }
  }
  @layer component {
    .village__content-img {
      width: 13.54vw;
      height: 20.31vw;
      flex: 0 0 13.54vw;
      border-radius: 0.52vw;
    }
  }
  @layer component {
    .village__content-content {
      gap: 1.67vw;
      max-width: 23.44vw;
    }
  }
  @layer component {
    .village__content-body {
      border-top: 0.05vw solid rgba(var(--color-whte--rgb), 0.3);
      padding-top: 1.61vw;
      gap: 1.67vw;
    }
  }
  @layer component {
    .village__content-links {
      gap: 1.25vw;
    }
  }
  @layer component {
    .village__content-decor {
      width: 34.79vw;
      height: 31.98vw;
    }
  }
  @layer component {
    .blog__title {
      margin-bottom: 3.13vw;
      max-width: 52.08vw;
    }
  }
  @layer component {
    .blog__title a {
      gap: 0.52vw;
      padding: 0.1vw 0.73vw 0.63vw;
      border-radius: 0.42vw;
    }
  }
  @layer component {
    .blog__title a span {
      transform: translateY(0.26vw);
      --size: 2.08vw;
    }
  }
  @layer component {
    .blog__title a span:before {
      --size: 0.83vw;
    }
  }
  @layer component {
    .blog__slide {
      gap: 1.04vw;
    }
  }
  @layer component {
    .blog__slide-img {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .blog__slide-icon {
      --size: 5.21vw;
    }
  }
  @layer component {
    .blog__slide-icon:before {
      --size: 1.04vw;
    }
  }
  @layer component {
    .blog__slide-info {
      gap: 0.63vw;
    }
  }
  @layer component {
    .blog__slide-link {
      padding: 1.2vw 1.88vw;
      margin-bottom: 0.52vw;
      gap: 1.56vw;
    }
  }
  @layer component {
    .blog__slide-link span {
      --size: 1.67vw;
    }
  }
  @layer component {
    .blog__slide-link span:after {
      --size: 1.25vw;
    }
  }
  @layer component {
    .platform {
      padding: 7.29vw 0px;
      max-width: 93.85vw;
      border-radius: 3.13vw;
    }
  }
  @layer component {
    .platform__top {
      margin-bottom: 3.13vw;
      gap: 1.04vw 1.56vw;
    }
  }
  @layer component {
    .platform__top {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .platform__text {
      max-width: 25.63vw;
    }
  }
  @layer component {
    .platform__row {
      gap: 1.56vw;
    }
  }
  @layer component {
    .platform__column {
      border-radius: 1.56vw;
      padding: 1.25vw;
      min-height: 11.46vw;
      gap: 1.56vw;
    }
  }
  @layer component {
    .platform__column-img {
      height: 2.5vw;
    }
  }
  @layer component {
    .platform__column-bottom {
      gap: 0.94vw;
    }
  }
  @layer component {
    .platform__column-arrow {
      --size: 2.29vw;
    }
  }
  @layer component {
    .platform__column-arrow:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .platform__decor {
      width: 68.23vw;
      height: 68.23vw;
    }
  }
  @layer component {
    .offer__inner {
      grid-template-columns: 18.59vw 1fr;
      gap: 1.61vw;
    }
  }
  @layer component {
    .offer__callback {
      min-height: 26.46vw;
      position: sticky;
      height: max-content;
      padding: 1.25vw;
      border-radius: 2.08vw;
      top: calc(1.61vw + var(--header) + 1.25vw);
    }
  }
  @layer component {
    .offer__callback-inner {
      gap: 1.56vw;
    }
  }
  @layer component {
    .offer__callback-info {
      gap: 1.04vw;
    }
  }
  @layer component {
    .offer__callback-bottom {
      gap: 0.83vw;
    }
  }
  @layer component {
    .offer__callback-person {
      gap: 1.25vw;
    }
  }
  @layer component {
    .offer__callback-img {
      --size: 4.17vw;
    }
  }
  @layer component {
    .offer__callback-content {
      gap: 0.42vw;
    }
  }
  @layer component {
    .offer__callback-link {
      gap: 0.52vw;
      border-radius: 2.6vw;
    }
  }
  @layer component {
    .offer__callback-link:after {
      --size: 1.04vw;
    }
  }
  @layer component {
    .offer__callback-decor {
      top: 2.45vw;
      left: 0.44vw;
      width: 17.66vw;
      height: 12.4vw;
    }
  }
  @layer component {
    .offer__content {
      gap: 1.61vw;
    }
  }
  @layer component {
    .offer__swiper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.83vw;
    }
  }
  @layer component {
    .card-product {
      gap: 0.63vw;
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .card-product__top {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .card-product__img {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .card-product__pagging {
      bottom: 0.52vw;
      left: 1.04vw;
      width: calc(100% - 2.08vw);
      gap: 0.26vw;
    }
  }
  @layer component {
    .card-product__pagging .swiper-pagination-bullet {
      --size: 0.31vw;
    }
  }
  @layer component {
    .card-product__content {
      width: calc(100% - 2.08vw);
      top: 1.04vw;
      left: 1.04vw;
    }
  }
  @layer component {
    .card-product__tags {
      gap: 0.21vw;
    }
  }
  @layer component {
    .card-product__tag {
      border-radius: 2.6vw;
      padding: 0.42vw 0.83vw;
    }
  }
  @layer component {
    .card-product__tag:before {
      --size: 0.83vw;
    }
  }
  @layer component {
    .card-product__favorites {
      margin-top: 0.21vw;
      --size: 1.25vw;
    }
  }
  @layer component {
    .card-product__inner {
      padding: 0px 1.04vw 1.04vw;
      gap: 0.83vw;
    }
  }
  @layer component {
    .card-product__info {
      gap: 0.42vw;
    }
  }
  @layer component {
    .card-product__name {
      gap: 0.42vw;
    }
  }
  @layer component {
    .card-product__logo {
      width: 0.99vw;
      height: 0.68vw;
      flex: 0 0 0.99vw;
    }
  }
  @layer component {
    .card-product__designation {
      padding-top: 0.21vw;
    }
  }
  @layer component {
    .card-product__list {
      gap: 0.52vw;
    }
  }
  @layer component {
    .card-product__bottom {
      gap: 0.83vw;
      padding-top: 0.83vw;
      border-top: 0.05vw solid #e4dccc;
    }
  }
  @layer component {
    .card-product__column {
      gap: 0.21vw;
    }
  }
  @layer component {
    .card-product__icon {
      --size: 1.25vw;
    }
  }
  @layer component {
    .card-product__price {
      gap: 0.52vw 1.56vw;
      border-radius: 0.42vw;
      padding: 0.36vw 0.73vw;
    }
  }
  @layer component {
    .catalog__inner {
      gap: 2.08vw;
    }
  }
  @layer component {
    .catalog__title {
      line-height: 130%;
    }
  }
  @layer component {
    .catalog__row {
      grid-template-columns: repeat(4, 1fr);
      gap: 1.56vw;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two {
      grid-template-columns: repeat(3, 1fr);
      gap: 1.56vw;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two .card-product,
    .catalog__row.catalog__row--two .card-product__top,
    .catalog__row.catalog__row--two .card-product__img {
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two .card-product {
      gap: 1.25vw;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two .card-product__info {
      gap: 0.83vw;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two .card-product__inner {
      padding: 0px 1.25vw 1.25vw;
    }
  }
  @layer component {
    .catalog__card .card-product__info {
      gap: 6px;
    }
  }
  @layer component {
    .catalog__card .card-product__list {
      gap: 2px;
    }
  }
  @layer component {
    .catalog__pagination {
      margin-top: 20px;
    }
  }
  .form-constructor {
    gap: 0.83vw;
  }
  .form-constructor__items {
    grid-template-columns: 1fr 10.94vw 7.81vw 10.94vw 7.81vw 7.81vw 7.81vw 7.81vw;
    gap: 0.1vw;
  }
  .form-constructor__items.form-constructor__items--two {
    grid-template-columns: 1fr 11.25vw 11.25vw 11.51vw 7.34vw 9.48vw 8.02vw;
  }
  .form-constructor__input .input {
    padding: 0.83vw 3.13vw 0.83vw 0.83vw;
    height: 3.13vw;
  }
  .form-constructor__select .select__value {
    height: 3.13vw;
    padding: 0.94vw 0.83vw;
  }
  .form-constructor__bottom {
    margin-top: 0.73vw;
  }
  .form-constructor__sort .select__value {
    gap: 0.52vw;
  }
  .form-constructor__sort .select__value:before {
    font-size: 0.83vw;
  }
  .form-constructor__inner {
    gap: 1.56vw;
  }
  .form-constructor__currencies {
    gap: 0.1vw;
  }
  .form-constructor__checkbox .checkbox__text {
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    --size: 3.13vw;
    border-radius: 0.42vw;
  }
  .form-constructor__map {
    border-radius: 2.6vw;
    padding: 0.94vw 1.56vw;
    gap: 0.52vw;
  }
  .form-constructor__map:after {
    --size: 1.25vw;
  }
  .hidden-form {
    display: none;
  }
  @layer component {
    .breadcrumb {
      margin-bottom: 2.08vw;
    }
  }
  @layer component {
    .breadcrumb__list {
      gap: 0.21vw;
    }
  }
  @layer component {
    .breadcrumb__item {
      font-size: 0.73vw;
      gap: 0.21vw;
    }
  }
  @layer component {
    .advantages__blocks {
      gap: 4.17vw;
    }
  }
  @layer component {
    .advantages__block {
      gap: 40px;
    }
  }
  @layer component {
    .advantages__items {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.56vw;
    }
  }
  @layer component {
    .advantages__item {
      max-width: 32.08vw;
      gap: 0.73vw;
    }
  }
  .text-block {
    font-size: 0.83vw;
  }
  .text-block h2,
  .text-block h3,
  .text-block h4,
  .text-block h5,
  .text-block h6 {
    font-size: 2.08vw;
    line-height: 130%;
  }
  .text-block p {
    line-height: 140%;
  }
  .text-block ul {
    gap: 0.83vw;
  }
  .text-block ul li:before {
    margin-right: 0.1vw;
    transform: translateY(-0.16vw);
    --size: 0.31vw;
  }
  @layer component {
    .realty {
      margin-bottom: 4.17vw;
    }
  }
  @layer component {
    .realty__top {
      margin-bottom: 2.08vw;
    }
  }
  @layer component {
    .realty__inner {
      gap: 4.17vw;
    }
  }
  @layer component {
    .realty__info {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.56vw;
    }
  }
  @layer component {
    .realty__info-content {
      height: max-content;
      position: sticky;
      top: 31px;
      left: 0;
    }
  }
  @layer component {
    .content-realty__inner {
      grid-template-columns: repeat(2, 1fr);
      gap: 2.08vw;
    }
  }
  @layer component {
    .content-realty__img {
      border-radius: 1.04vw;
    }
  }
  @layer component {
    .content-realty__blocks {
      gap: 1.56vw;
    }
  }
  @layer component {
    .content-realty__block {
      gap: 1.25vw;
    }
  }
  @layer component {
    .content-realty__block:not(:last-child) {
      padding-bottom: 1.56vw;
    }
  }
  @layer component {
    .content-realty__row {
      gap: 0.83vw;
    }
  }
  @layer component {
    .content-realty__column {
      gap: 0.83vw;
    }
  }
  @layer component {
    .content-realty__items {
      gap: 0.83vw;
    }
  }
  @layer component {
    .content-realty__item {
      gap: 0.26vw;
    }
  }
  .tag-block {
    font-size: 1.04vw;
  }
  @layer component {
    .hero.hero--two .hero__inner {
      padding-bottom: 2.6vw;
    }
  }
  @layer component {
    .hero.hero--two .hero__inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .hero.hero--two .hero__info {
      max-width: 31.67vw;
    }
  }
  @layer component {
    .hero__row {
      gap: 1.51vw;
    }
  }
  @layer component {
    .hero__column {
      gap: 0.31vw;
    }
  }
  @layer component {
    .hero__column-title {
      padding-bottom: 0.26vw;
    }
  }
  @layer component {
    .hero__inner {
      grid-template-columns: 52.19vw 1fr;
      display: grid;
      align-items: flex-end;
      gap: 1.35vw;
    }
  }
  @layer component {
    .hero__inner {
      min-height: 46.88vw;
      padding: 5vw 0px;
    }
  }
  @layer component {
    .hero__info {
      gap: 1.25vw;
    }
  }
  @layer component {
    .hero__info-text {
      line-height: 130%;
    }
  }
  @layer component {
    .hero__content {
      gap: 2.19vw;
    }
  }
  @layer component {
    .hero__content-links {
      max-width: 16.04vw;
      flex-direction: column;
      gap: 0.83vw;
    }
  }
  @layer component {
    .installation__inner {
      padding: 7.29vw 0px;
    }
  }
  @layer component {
    .installation__content {
      max-width: 27.29vw;
      margin-top: 8.85vw;
      gap: 1.56vw;
    }
  }
  @layer component {
    .installation__images {
      max-width: 45.47vw;
      justify-content: flex-end;
      gap: 1.56vw;
    }
  }
  @layer component {
    .installation__image {
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .installation__image.installation__image--one {
      margin-top: 8.85vw;
    }
  }
  @layer component {
    .installation__image.installation__image--two {
      margin-bottom: 3.39vw;
    }
  }
  @layer component {
    .installation__decor {
      width: 58.7vw;
      height: 44.43vw;
      left: 1.82vw;
    }
  }
  @layer component {
    .locations {
      border-radius: 3.13vw;
      max-width: 93.85vw;
    }
  }
  @layer component {
    .locations {
      padding: 7.29vw 0px;
    }
  }
  @layer component {
    .locations__info {
      flex: 0 0 18.7vw;
    }
  }
  @layer component {
    .locations__navigation {
      gap: 0.83vw;
    }
  }
  @layer component {
    .locations__arrow {
      --size: 2.29vw;
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .locations__arrow:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .locations__pagging {
      font-size: 0.83vw;
    }
  }
  @layer component {
    .locations__content {
      margin-right: -120px;
      width: calc(100% + 120px);
    }
  }
  @layer component {
    .locations__slider {
      padding-right: 3.13vw;
    }
  }
  @layer component {
    .locations__slide {
      max-width: 38.8vw;
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .locations__slide-inner {
      min-height: 25.89vw;
      padding: 2.08vw;
    }
  }
  @layer component {
    .locations__slide-info {
      gap: 0.42vw;
    }
  }
  @layer component {
    .locations__slide-link {
      min-width: 10.99vw;
    }
  }
  @layer component {
    .house__inner {
      gap: 1.56vw;
    }
  }
  @layer component {
    .house__row {
      gap: 1.56vw;
    }
  }
  @layer component {
    .house__column {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .house__column-inner {
      min-height: 25.89vw;
      padding: 2.08vw;
      gap: 1.56vw;
    }
  }
  @layer component {
    .house__column-info {
      gap: 2.08vw;
    }
  }
  @layer component {
    .house__column-list {
      gap: 0.42vw;
    }
  }
  @layer component {
    .house__column-item {
      gap: 0.42vw;
    }
  }
  @layer component {
    .house__column-item:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .house__column-item:after {
      --size: 0.83vw;
      left: 0.21vw;
    }
  }
  @layer component {
    .house__column-link {
      min-width: 10.99vw;
    }
  }
  @layer component {
    .house__callback {
      padding: 2.08vw;
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .house__callback-info {
      gap: 0.83vw;
    }
  }
  @layer component {
    .house__callback-personal {
      grid-template-columns: repeat(2, 18.07vw);
      gap: 0.83vw;
    }
  }
  @layer component {
    .house__callback-worker {
      gap: 1.25vw;
    }
  }
  @layer component {
    .house__callback-img {
      --size: 4.17vw;
    }
  }
  @layer component {
    .house__callback-content {
      gap: 0.42vw;
    }
  }
  @layer component {
    .house__callback-btn {
      padding: 0.78vw;
      border-radius: 2.6vw;
      gap: 0.52vw;
    }
  }
  @layer component {
    .house__callback-btn:after {
      --size: 1.04vw;
    }
  }
  @layer component {
    .assortment__container {
      max-width: 100vw;
    }
  }
  @layer component {
    .assortment__inner {
      gap: 1.56vw;
    }
  }
  @layer component {
    .assortment__info {
      border-radius: 3.13vw;
      padding: 1.56vw;
    }
  }
  @layer component {
    .assortment__content {
      gap: 1.56vw;
      max-width: 31.56vw;
    }
  }
  @layer component {
    .assortment__content-link {
      min-width: 15.31vw;
    }
  }
  @layer component {
    .assortment__decor {
      width: calc(100% - 2.4vw);
      height: calc(100% - 2.4vw);
      max-width: 43.75vw;
      max-height: 30.73vw;
    }
  }
  @layer component {
    .assortment__img {
      border-radius: 3.13vw;
    }
  }
  @layer component {
    .make__inner {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.04vw;
      border-radius: 1.04vw;
    }
  }
  @layer component {
    .make__inner {
      padding: 3.13vw 2.6vw;
      gap: 1.82vw;
      max-width: 79.17vw;
      margin: 0 auto;
    }
  }
  @layer component {
    .make__form {
      gap: 1.04vw;
    }
  }
  .make__form .form__input .input {
    height: 3.13vw;
    border-radius: 0.42vw;
    padding: 1.09vw 0.83vw;
  }
  @layer component {
    .plan__container {
      max-width: 100vw;
    }
  }
  @layer component {
    .plan__link {
      top: 2.08vw;
      right: 2.6vw;
      gap: 0.42vw;
    }
  }
  @layer component {
    .plan__link:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .plan__main {
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .plan__slider {
      flex: 0 0 42.97vw;
    }
  }
  @layer component {
    .plan__body {
      bottom: 2.08vw;
    }
  }
  @layer component {
    .plan__body .plan__container {
      max-width: 85.42vw;
    }
  }
  @layer component {
    .plan__thumb {
      width: 4.58vw;
    }
  }
  @layer component {
    .plan__thumb:has(.plan__thumb-slider) {
      width: 5.99vw !important;
    }
  }
  @layer component {
    .plan__thumb:has(.plan__thumb-slider) .plan__thumb-slider {
      width: 4.58vw !important;
    }
  }
  @layer component {
    .plan__thumb-slide {
      width: 4.58vw !important;
    }
  }
  @layer component {
    .plan__thumb-img {
      --size: 4.58vw;
      border-radius: 1.04vw;
    }
  }
  @layer component {
    .plan__thumb-img:before {
      border-radius: 1.04vw;
    }
  }
  @layer component {
    .plan__navigation {
      gap: 1.15vw;
    }
  }
  @layer component {
    .plan__pagination {
      font-size: 0.83vw;
    }
  }
  @layer component {
    .plan__arrows {
      gap: 0.52vw;
    }
  }
  @layer component {
    .plan__arrow {
      --size: 2.29vw;
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .plan__arrow:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .promo__inner {
      gap: 1.72vw;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .promo__info {
      gap: 1.56vw;
    }
  }
  @layer component {
    .promo__title {
      max-width: 35.57vw;
      line-height: 130%;
    }
  }
  @layer component {
    .promo__description {
      max-width: 32.03vw;
      gap: 1.04vw;
    }
  }
  @layer component {
    .promo__form {
      max-width: 25.36vw;
    }
  }
  @layer component {
    .promo__content {
      max-width: 38.75vw;
      margin-left: auto;
    }
  }
  @layer component {
    .promo__swiper {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.56vw;
    }
  }
  @layer component {
    .promo__slide {
      padding: 0.83vw;
      min-height: 8.65vw;
      gap: 1.04vw;
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .promo__row {
      gap: 1.56vw;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .promo__column {
      min-height: 14.48vw;
      border-radius: 1.56vw;
      padding: 1.25vw;
    }
  }
  @layer component {
    .promo__column-inner {
      gap: 0.83vw;
    }
  }
  @layer component {
    .promo__column-info {
      gap: 0.83vw;
    }
  }
  @layer component {
    .promo__column-bank {
      --size: 2.6vw;
    }
  }
  @layer component {
    .promo__column-bank:before {
      width: calc(100% + 0.31vw);
      height: calc(100% + 0.31vw);
      border: 0.16vw solid var(--color-whte);
    }
  }
  @layer component {
    .promo__column-decor.promo__column-decor--one {
      width: 22.03vw;
      height: 13.18vw;
      top: 0.73vw;
      right: -5vw;
    }
  }
  @layer component {
    .promo__column-decor.promo__column-decor--two {
      width: 10.52vw;
      height: 13.8vw;
      top: -0.1vw;
      right: -0.68vw;
    }
  }
  @layer component {
    .promo__column-items {
      gap: 0.73vw;
    }
  }
  @layer component {
    .promo__column-item {
      gap: 0.52vw;
    }
  }
  @layer component {
    .promo__column-subtitle {
      border-radius: 0.42vw;
      padding: 0.26vw 0.42vw;
    }
  }
  @layer component {
    .appreciate__inner {
      gap: 2.08vw;
    }
  }
  @layer component {
    .appreciate__top {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @layer component {
    .appreciate__top {
      gap: 1.56vw;
    }
  }
  @layer component {
    .appreciate__form {
      width: calc(100% - 7.81vw);
    }
  }
  @layer component {
    .appreciate__slide {
      max-width: 38.8vw;
      padding: 0.83vw;
      gap: 0.83vw;
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .appreciate__slide-bottom {
      border-radius: 0.83vw;
      padding: 0.83vw;
      gap: 0.73vw 0.63vw;
    }
  }
  @layer component {
    .appreciate__slide-content {
      gap: 0.63vw;
    }
  }
  @layer component {
    .appreciate__slide-avatar {
      --size: 2.6vw;
    }
  }
  @layer component {
    .appreciate__slide-info {
      gap: 0.31vw;
    }
  }
  @layer component {
    .appreciate__slide-items {
      gap: 0.47vw;
    }
  }
  @layer component {
    .appreciate__slide-item {
      gap: 0.47vw;
    }
  }
  @layer component {
    .appreciate__slide-item:after {
      --size: 0.1vw;
    }
  }
  @layer component {
    .appreciate__slide-btn {
      min-width: 11.56vw;
    }
  }
  @layer component {
    .appreciate__arrows {
      position: absolute;
      top: -4.38vw;
      right: 0;
      gap: 0.52vw;
    }
  }
  @layer component {
    .appreciate__arrow {
      --size: 2.29vw;
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .appreciate__arrow:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .constructor-form__items {
      gap: 0.78vw;
    }
  }
  @layer component {
    .constructor-form__item {
      gap: 0.78vw;
    }
  }
  @layer component {
    .constructor-form__item:after {
      height: 1.67vw;
      width: 0.05vw;
    }
  }
  @layer component {
    .constructor-form__checkbox .checkbox__text {
      padding: 0.83vw 1.25vw;
      border-radius: 0.42vw;
    }
  }
  .constructor-form__checkbox .checkbox__text {
    padding: 0.73vw 1.25vw;
    border-radius: 0.42vw;
  }
  .constructor-form__select {
    min-width: 18.65vw;
  }
  .constructor-form__select .select__title {
    border-radius: 0.42vw;
  }
  .constructor-form__select .select__value {
    padding: 0.52vw 1.04vw;
    height: 2.29vw;
    gap: 0.63vw;
  }
  .constructor-form__select .select__value:before {
    --size: 0.83vw;
  }
  @layer component {
    .infrastructure__top {
      grid-template-columns: repeat(2, 1fr);
      margin-bottom: 2.08vw;
    }
  }
  @layer component {
    .infrastructure__top {
      gap: 1.56vw;
    }
  }
  @layer component {
    .infrastructure__text {
      margin-bottom: 0.83vw;
    }
  }
  @layer component {
    .infrastructure__swiper {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0px 1.56vw;
    }
  }
  @layer component {
    .infrastructure__slide:nth-child(2n) {
      padding-top: 12.6vw;
    }
  }
  @layer component {
    .infrastructure__slide-img {
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .infrastructure__slide-img img,
    .infrastructure__slide-img picture {
      aspect-ratio: 401/485;
    }
  }
  @layer component {
    .infrastructure__slide-info {
      gap: 0.83vw;
      max-width: 16.3vw;
    }
  }
  @layer component {
    .infrastructure__slide-title {
      line-height: 120%;
    }
  }
  @layer component {
    .infrastructure__slide-text {
      line-height: 143%;
    }
  }
  @layer component {
    .material__inner {
      grid-template-columns: 1fr 24.95vw;
    }
  }
  @layer component {
    .material__inner {
      gap: 1.56vw;
    }
  }
  @layer component {
    .material__info {
      padding: 2.08vw;
      gap: 2.19vw;
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .material__items {
      gap: 0.42vw;
    }
  }
  @layer component {
    .material__item {
      padding: 0.83vw;
      gap: 0.63vw;
      border-radius: 0.83vw;
    }
  }
  @layer component {
    .material__item-content {
      gap: 0.63vw;
    }
  }
  @layer component {
    .material__item-img {
      --size: 2.6vw;
    }
  }
  @layer component {
    .material__item-info {
      gap: 0.31vw;
    }
  }
  @layer component {
    .material__item-title {
      line-height: 120%;
    }
  }
  @layer component {
    .material__item-text {
      line-height: 140%;
    }
  }
  @layer component {
    .material__item-icon {
      --size: 2.29vw;
    }
  }
  @layer component {
    .material__item-icon:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .material__callback {
      position: sticky;
      top: calc(1.61vw + var(--header) + 1.25vw);
    }
  }
  @layer component {
    .material__callback {
      padding: 2.08vw;
      gap: 0.94vw;
      border-radius: 1.56vw;
    }
  }
  @layer component {
    .material__callback-decor {
      bottom: -4.53vw;
      right: -2.03vw;
      width: 26.67vw;
      height: 18.75vw;
    }
  }
  @layer component {
    .material__callback-inner {
      gap: 0.83vw;
    }
  }
  @layer component {
    .material__callback-content {
      gap: 1.25vw;
    }
  }
  @layer component {
    .material__callback-avatar {
      --size: 4.17vw;
    }
  }
  @layer component {
    .material__callback-info {
      gap: 0.42vw;
    }
  }
  @layer component {
    .material__callback-btn {
      padding: 0.73vw;
      border-radius: 2.6vw;
      gap: 0.52vw;
    }
  }
  @layer component {
    .material__callback-btn:after {
      --size: 1.25vw;
    }
  }
  @layer component {
    .environment__container {
      max-width: 100vw;
    }
  }
  @layer component {
    .environment__inner {
      padding: 7.29vw 0px;
    }
  }
  @layer component {
    .environment__body .environment__container {
      max-width: 85.42vw;
    }
  }
  @layer component {
    .environment__content {
      max-width: 25.36vw;
      padding: 2.08vw;
      border-radius: 1.25vw;
    }
  }
  @layer component {
    .environment__content-inner {
      gap: 1.56vw;
    }
  }
  @layer component {
    .environment__content-text {
      line-height: 138%;
    }
  }
  @layer component {
    .environment__content-content {
      gap: 1.25vw;
    }
  }
  @layer component {
    .environment__content-list {
      gap: 0.68vw;
    }
  }
  @layer component {
    .environment__content-icon {
      margin-top: -0.05vw;
      --size: 1.25vw;
    }
  }
  @layer component {
    .environment__content-icon:after {
      --size: 0.83vw;
    }
  }
  @layer component {
    .environment__content-value {
      line-height: 140%;
    }
  }
  @layer component {
    .environment__content-decor {
      bottom: 2.45vw;
      right: -1.82vw;
      width: 28.75vw;
      height: 20.16vw;
    }
  }
  @layer component {
    .environment__map {
      border-radius: 1.25vw;
    }
  }
  .environment__content-form .form__callback-input .input {
    padding: 0.83vw 1.25vw;
  }
  .environment__content-form .form__callback-btn {
    min-width: 9.64vw;
  }
  @layer component {
    .similar__top {
      margin-bottom: 2.08vw;
    }
  }
  @layer component {
    .similar__slide {
      max-width: 25.36vw;
    }
  }
  @layer component {
    .similar__slide .card-product__img {
      aspect-ratio: 3/2;
    }
  }
  @layer component {
    .similar__arrows {
      gap: 0.52vw;
    }
  }
  @layer component {
    .similar__arrow {
      border-radius: 0.83vw;
      --size: 2.29vw;
    }
  }
  @layer component {
    .similar__arrow:before {
      --size: 1.25vw;
    }
  }
  @layer component {
    .loaded .fade-up {
      transform: translateY(80px);
      opacity: 0;
    }
    .loaded .fade-up._watcher-view {
      animation: slide-top02 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    }
  }
  @layer component {
    .loaded .fade-opacity {
      opacity: 0;
    }
    .loaded .fade-opacity._watcher-view {
      animation: slide-top03 1s linear both;
    }
  }
  .outer {
    height: 100dvh;
  }
  .inner {
    overflow-y: scroll;
  }
  html:has(.header._active) .inner {
    overflow: hidden;
  }
  html:has(.header._active) body {
    margin-right: 6px;
  }
  html._filter .inner {
    overflow: hidden;
  }
  html._filter body {
    margin-right: 6px;
  }
}
@media only screen and (max-width: 991.98px) and (min-width: 991.98px) {
  .form__search-select .select__value {
    width: 2.29vw;
  }
}
@media (min-width: 991.98px) {
  ._mac .header,
  ._safari .header {
    width: calc(100% - 6px);
  }
}
@media only screen and (min-width: 991.98px) and (min-width: 991.98px) {
  html:has(.header._active) .header {
    width: calc(100% - 6px);
  }
  html._filter .header {
    width: calc(100% - 6px);
  }
}
@media only screen and (min-width: 1119.98px) {
  @layer component {
    .blog__slider .blog__swiper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.61vw;
    }
  }
  @layer component {
    .platform__row {
      grid-template-columns: repeat(4, 1fr);
    }
  }
}
@media only screen and (min-width: 1365.98px) {
  .footer {
    padding: 7.29vw 0px 2.08vw;
  }
  .footer__container {
    gap: 3.13vw;
  }
  .top-footer {
    padding-bottom: 3.13vw;
  }
  .content-footer__column {
    max-width: 20.42vw;
  }
  @layer component {
    .agency__body-items {
      gap: 0.83vw;
    }
  }
  @layer component {
    .btn-close {
      --size: 2.81vw;
    }
  }
  @layer component {
    .btn-close:before {
      height: 1.25vw;
    }
  }
  @layer component {
    .btn-close:after {
      width: 1.25vw;
    }
  }
  @layer component {
    .about__row {
      gap: 1.56vw;
    }
  }
  @layer component {
    .about__column {
      padding: 2.08vw;
    }
  }
  @layer component {
    .about__column:has(.about__column-decor--one) {
      padding-right: 4.69vw;
    }
  }
  @layer component {
    .about__column:has(.about__column-decor--two) {
      padding-bottom: 21.15vw;
    }
  }
  @layer component {
    .about__column:has(.about__column-decor--three) {
      padding-right: 4.69vw;
    }
  }
  @layer component {
    .about__column-decor.about__column-decor--one {
      right: -0.99vw;
      top: 0.52vw;
      width: 8.1vw;
      height: 8.1vw;
    }
  }
  @layer component {
    .about__column-decor.about__column-decor--two {
      bottom: 0.73vw;
      width: 34.11vw;
      height: 19.43vw;
      left: -1.3vw;
    }
  }
  @layer component {
    .about__column-decor.about__column-decor--three {
      width: 18.57vw;
      height: 11.67vw;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
  @layer component {
    .immovables__inner {
      gap: 3.13vw;
    }
  }
  @layer component {
    .village__inner {
      padding: 3.13vw;
    }
  }
  @layer component {
    .village__content {
      padding: 4.17vw;
    }
  }
  @layer component {
    .village__content-info {
      gap: 2.5vw;
    }
  }
  @layer component {
    .platform__row {
      grid-template-columns: repeat(6, 1fr);
    }
  }
  @layer component {
    .promo__content {
      gap: 1.56vw;
    }
  }
}
@media only screen and (min-width: 1535.98px) {
  @layer component {
    .offer__swiper {
      gap: 1.61vw;
    }
  }
  @layer component {
    .card-product__row {
      gap: 22px;
    }
  }
  .mobile-form {
    display: none;
  }
  @layer component {
    .locations__content {
      margin-right: -7.29vw;
      width: calc(100% + 7.29vw);
    }
  }
}
@media (max-width: 991.98px) {
  :root {
    --spacing: 80px;
  }
}
@media (max-width: 767.98px) {
  :root {
    --spacing: 60px;
  }
}
@media only screen and (max-width: 991.98px) {
  .popup--gallery .plan__slider {
    width: 100%;
  }
  .form__callback-input .input {
    font-size: 16px;
    line-height: 100%;
  }
  .form__callback-input .input::placeholder {
    font-size: 16px;
    line-height: 100%;
  }
  .form__search-select .select__content {
    display: none;
  }
  .form__search-select .select__value {
    width: 44px;
  }
  .form__title {
    font-size: 18px;
    line-height: 130%;
  }
  .pagination__arrow,
  .pagination__item {
    --size: 48px;
  }
  .header._scroll .menu__phone,
  .header.header--two .menu__phone,
  .header._active .menu__phone {
    background: var(--color-primary);
  }
  .header__container {
    padding: 0 5px;
  }
  .menu__items {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0px;
  }
  .menu__item.menu__item--mobile {
    display: none;
  }
  .menu__item {
    padding: 16px 0 15px;
    color: var(--color-primary);
    border-bottom: 1px solid rgba(var(--color-blck--rgb), 0.2);
    width: 100%;
    justify-content: space-between;
    font-size: 18px;
  }
  .menu__item:after {
    content: "";
    background: var(--color-primary);
    transform: rotate(-90deg);
  }
  .menu__phone span {
    display: none;
  }
  .menu__phone {
    --size: 24px;
    width: var(--size);
    height: var(--size);
    flex: 0 0 var(--size);
    mask: var(--icon) center center/contain no-repeat;
    -webkit-mask: var(--icon) center center/contain no-repeat;
    background: var(--color-whte);
    transition: all 0.3s ease-in 0s;
  }
  .menu__link {
    margin-top: 16px;
    font-size: 18px;
    padding: 10px;
  }
  .block-menu {
    position: absolute;
    top: 0;
    background: var(--color-whte);
    width: 100%;
    z-index: 7;
    height: 100%;
  }
  .block-menu__row.block-menu__row--three .block-menu__items {
    grid-template-columns: repeat(4, 1fr);
  }
  .block-menu__item,
  .block-menu__name,
  .block-menu__all {
    font-size: 14px;
  }
  .offer-block__text {
    font-size: 14px;
    line-height: 140%;
  }
  .offer-block__decor {
    width: 228px;
    height: 210px;
    top: -11px;
    right: -8px;
  }
  .mobile-header {
    max-height: calc(100dvh - 148px);
    overflow: auto;
    padding-bottom: 11px;
  }
  .mobile-header::-webkit-scrollbar {
    display: none;
  }
  .mobile-header:has(.block-menu._active) {
    overflow: hidden;
  }
  .top-footer__category {
    font-size: 18px;
    line-height: 120%;
  }
  .content-footer__title {
    font-size: 18px;
  }
  .content-footer__text,
  .content-footer__link {
    font-size: 14px;
    line-height: 140%;
  }
  .info-footer__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .info-footer__link {
    font-size: 16px;
  }
  @layer component {
    .intro__arrows {
      display: none;
    }
  }
  @layer component {
    .agency__column._active {
      transform: rotateY(180deg);
    }
    .agency__column._active .agency__body {
      position: static;
      opacity: 1;
      transform: rotateY(180deg);
    }
    .agency__column._active .agency__info {
      transform: rotateY(0);
      position: absolute;
      opacity: 0;
    }
  }
  @layer component {
    .agency__info {
      position: relative;
      cursor: pointer;
    }
  }
  @layer component {
    .agency__info-content {
      gap: 40px;
    }
  }
  @layer component {
    .agency__body {
      position: absolute;
      transform: rotateY(180deg);
      background: var(--color-whte);
      top: 0;
      left: 0;
      opacity: 0;
    }
  }
  @layer component {
    .agency__body-btn:before {
      content: "";
      transform: translate(-50%, -50%) rotate(45deg);
    }
    .agency__body-btn:after {
      content: "";
      transform: translate(-50%, -50%) rotate(45deg);
    }
  }
  @layer component {
    .agency__body-close {
      display: none;
    }
  }
  .tags-block {
    gap: 8px;
  }
  .tags-block__item:after {
    display: none;
  }
  .tags-block__info {
    font-size: 12px;
    line-height: 140%;
    padding: 6px 10px;
  }
  @layer component {
    .about__column-text {
      font-size: 16px;
      line-height: 140%;
    }
  }
  @layer component {
    .about__column-text.text-16 {
      font-size: 14px;
      line-height: 140%;
    }
  }
  @layer component {
    .immovables__content-subtitle {
      font-size: 18px;
      line-height: 130%;
    }
  }
  @layer component {
    .immovables__content-description {
      line-height: 143%;
      gap: 15px;
    }
  }
  @layer component {
    .village__content-img {
      display: none;
    }
  }
  @layer component {
    .village__content-title {
      font-size: 20px;
      line-height: 120%;
    }
  }
  @layer component {
    .village__content-text {
      font-size: 12px;
      line-height: 142%;
    }
  }
  @layer component {
    .blog__title a {
      padding: 0 8px 5px;
      line-height: 130% !important;
      gap: 7px;
    }
  }
  @layer component {
    .blog__title a span {
      --size: 24px;
      margin-top: 5px;
      transform: translate(0);
    }
  }
  @layer component {
    .blog__title a span:before {
      --size: 10px;
    }
  }
  @layer component {
    .platform__text {
      font-size: 18px;
      line-height: 130%;
    }
  }
  @layer component {
    .platform__column-name {
      display: none;
    }
  }
  @layer component {
    .offer__callback-person {
      display: none;
    }
  }
  @layer component {
    .offer__callback-link {
      font-size: 18px;
      line-height: 100%;
    }
  }
  @layer component {
    .offer__callback-decor {
      width: 356px;
      height: 250px;
      top: 14px;
      left: 3px;
    }
  }
  @layer component {
    .offer__card {
      max-width: 308px;
      width: 100%;
    }
  }
  @layer component {
    .offer__showmore {
      font-size: 16px;
    }
  }
  @layer component {
    .offer__slider {
      overflow: visible;
    }
  }
  @layer component {
    .card-product {
      gap: 20px;
    }
  }
  @layer component {
    .card-product__title {
      font-size: 18px;
    }
  }
  @layer component {
    .card-product__list {
      gap: 3px;
    }
  }
  @layer component {
    .card-product__total {
      font-size: 18px;
    }
  }
  @layer component {
    .card-product__id {
      font-size: 16px;
    }
  }
  @layer component {
    .catalog__row.catalog__row--two .card-product__title {
      font-size: 20px;
    }
  }
  .form-constructor__tags {
    overflow: auto;
    flex-wrap: nowrap;
    gap: 10px;
    margin: 0 -16px;
    padding: 0 16px;
  }
  .form-constructor__tags::-webkit-scrollbar {
    display: none;
  }
  .form-constructor__tags .tags-block__item:after {
    content: "";
    display: flex;
  }
  .form-constructor__tags .tags-block__item:last-child:after {
    content: "";
    display: none;
  }
  .form-constructor__tags .tags-block__info {
    font-size: 14px;
    white-space: nowrap;
    line-height: 100%;
  }
  .form-constructor__found,
  .hidden-form__bottom .form-constructor__map,
  .hidden-form__filter {
    font-size: 16px;
  }
  .text-block ul li:before {
    --size: 5px;
    transform: translate(1px, -3px);
  }
  @layer component {
    .realty__info-img {
      display: none;
    }
  }
  @layer component {
    .content-realty__img {
      aspect-ratio: 2/1;
    }
  }
  @layer component {
    .content-realty__title {
      font-size: 30px;
      line-height: 120%;
    }
  }
  @layer component {
    .content-realty__text {
      line-height: 143%;
    }
  }
  @layer component {
    .content-realty__subtext {
      line-height: 143%;
    }
  }
  @layer component {
    .content-realty__items {
      gap: 8px;
    }
  }
  @layer component {
    .content-realty__item {
      gap: 8px;
    }
  }
  @layer component {
    .content-realty__name {
      font-size: 18px;
    }
  }
  .tag-block {
    font-size: 16px;
  }
  @layer component {
    .hero.hero--two .hero__inner {
      gap: 32px;
    }
  }
  @layer component {
    .hero__inner {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      gap: 16px;
    }
  }
  @layer component {
    .installation__decor {
      display: none;
    }
  }
  @layer component {
    .locations__inner {
      flex-direction: column;
      gap: 20px;
    }
  }
  @layer component {
    .locations__navigation {
      display: none;
    }
  }
  @layer component {
    .locations__slider {
      overflow: visible;
    }
  }
  @layer component {
    .house__callback-name {
      font-size: 18px;
    }
  }
  @layer component {
    .plan__link span {
      display: none;
    }
  }
  @layer component {
    .plan__slider {
      overflow: visible;
      margin-top: 18px;
    }
  }
  @layer component {
    .plan__body .plan__container {
      flex-direction: column;
      padding: 0 12px;
    }
  }
  @layer component {
    .plan__navigation {
      flex-direction: row;
      align-items: flex-end;
    }
  }
  @layer component {
    .plan__pagination {
      font-size: 12px;
      line-height: 100%;
    }
  }
  @layer component {
    .plan__description-text {
      font-size: 20px;
      font-weight: 500;
      line-height: 120%;
    }
  }
  @layer component {
    .promo__text {
      font-size: 18px;
      line-height: 130%;
    }
  }
  @layer component {
    .promo__slider {
      overflow: visible;
    }
  }
  @layer component {
    .promo__slide {
      max-width: 320px;
      width: 100%;
      height: auto;
    }
  }
  @layer component {
    .promo__slide-title {
      font-size: 40px;
    }
  }
  @layer component {
    .promo__slide-text {
      font-size: 16px;
    }
  }
  @layer component {
    .promo__column-title.text-30 {
      font-size: 30px;
    }
  }
  @layer component {
    .promo__column-decor.promo__column-decor--one {
      width: 355px;
      height: 212px;
      right: -14px;
    }
  }
  @layer component {
    .promo__column-decor.promo__column-decor--two {
      right: -27px;
      width: 202px;
      height: 265px;
    }
  }
  @layer component {
    .promo__column-items {
      gap: 17px;
    }
  }
  @layer component {
    .promo__column-subtitle {
      font-size: 20px;
    }
  }
  @layer component {
    .promo__column-subtext {
      font-size: 16px;
    }
  }
  @layer component {
    .appreciate__top-text {
      font-size: 16px;
      line-height: 138%;
    }
  }
  @layer component {
    .appreciate__slide-bottom {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  @layer component {
    .appreciate__slide-title {
      font-size: 18px;
    }
  }
  @layer component {
    .appreciate__slide-btn {
      width: 100%;
      max-width: 100%;
      font-size: 16px;
      padding: 16px;
    }
  }
  @layer component {
    .appreciate__arrows {
      justify-content: center;
      margin-top: 12px;
    }
  }
  @layer component {
    .constructor-form__items {
      flex-wrap: nowrap;
      overflow: auto;
      margin: 0 -16px;
      padding: 0 16px;
    }
    .constructor-form__items::-webkit-scrollbar {
      display: none;
    }
  }
  @layer component {
    .constructor-form__checkbox .checkbox__text {
      font-size: 16px;
    }
  }
  @layer component {
    .constructor-form__select {
      width: 100%;
    }
  }
  @layer component {
    .infrastructure__text {
      line-height: 142%;
    }
  }
  @layer component {
    .infrastructure__slider {
      overflow: visible;
    }
  }
  @layer component {
    .infrastructure__slide {
      flex-direction: column;
      max-width: 320px;
      width: 100%;
      height: auto;
      gap: 16px;
    }
  }
  @layer component {
    .infrastructure__slide-title {
      font-size: 20px;
      line-height: 120%;
    }
  }
  @layer component {
    .infrastructure__slide-title br {
      display: none;
    }
  }
  @layer component {
    .infrastructure__slide-text {
      font-size: 14px;
      line-height: 143%;
    }
  }
  @layer component {
    .material__item-title {
      font-size: 18px;
      line-height: 120%;
    }
  }
  @layer component {
    .material__item-text {
      line-height: 140%;
    }
  }
  @layer component {
    .material__callback-decor {
      width: 397px;
      height: 279px;
      bottom: -7px;
      right: -8px;
      z-index: -1;
    }
  }
  @layer component {
    .material__callback-name {
      font-size: 20px;
      line-height: 120%;
    }
  }
  @layer component {
    .material__callback-value {
      font-size: 16px;
      line-height: 140%;
    }
  }
  @layer component {
    .environment__body .environment__container {
      padding: 0;
    }
  }
  @layer component {
    .environment__content-subtitle {
      font-size: 18px;
    }
  }
  @layer component {
    .environment__content-decor {
      width: 368px;
      height: 258px;
      right: -19px;
      bottom: 43px;
    }
  }
  @layer component {
    .environment__map {
      position: static;
      height: 473px;
      width: 100%;
    }
  }
  @layer component {
    .similar__arrows {
      display: none;
    }
  }
}
@media only screen and (max-width: 620px) {
  .form__search-submit {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    padding: 13px;
    font-size: 16px;
  }
  .form__bottom {
    flex-direction: column;
    gap: 8px 30px;
  }
  .form__bottom .form__btn {
    max-width: 100%;
    width: 100%;
  }
  .top-footer__item.top-footer__item--big {
    grid-column-start: span 2;
  }
  .top-footer__value br {
    display: none;
  }
  @layer component {
    .agency__title br {
      display: none;
    }
  }
  @layer component {
    .agency__row {
      flex-direction: column;
    }
  }
  @layer component {
    .about__column-logo {
      width: 164px;
      height: 27.068px;
    }
  }
  @layer component {
    .catalog__title br {
      display: none;
    }
  }
  .form-constructor__bottom {
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  @layer component {
    .breadcrumb__item {
      font-size: 12px;
      line-height: 100%;
    }
  }
  @layer component {
    .installation__body {
      flex-direction: column;
    }
  }
  @layer component {
    .assortment__img {
      aspect-ratio: 2/1;
    }
  }
  @layer component {
    .plan__slide-img {
      aspect-ratio: 343/196;
    }
  }
}
@media (any-hover: hover) {
  .input:hover {
    border: 1px solid var(--color-alt);
  }
  @layer component {
    .select__option:hover {
      color: var(--color-alt);
    }
  }
  .checkbox__text a:hover {
    color: var(--color-whte);
  }
  .pagination__arrow:hover:before {
    content: "";
    background: #121313;
  }
  .pagination__item:hover {
    color: #121313;
  }
  .header._scroll .menu__item:hover {
    color: var(--color-alt);
  }
  .header._scroll .menu__item:hover:after {
    content: "";
    background: var(--color-alt);
  }
  .header._scroll .menu__phone:hover {
    color: var(--color-alt);
  }
  .header._scroll .menu__favorites:hover:before {
    content: "";
    background: var(--color-alt);
  }
  .header._scroll .menu__favorites:hover span {
    background: var(--color-alt-hover);
  }
  .header.header--two .menu__item:hover {
    color: var(--color-alt);
  }
  .header.header--two .menu__item:hover:after {
    content: "";
    background: var(--color-alt);
  }
  .header.header--two .menu__phone:hover {
    color: var(--color-alt);
  }
  .header.header--two .menu__favorites:hover:before {
    content: "";
    background: var(--color-alt);
  }
  .header.header--two .menu__favorites:hover span {
    background: var(--color-alt-hover);
  }
  .menu__item:hover {
    color: var(--color-alt);
  }
  .menu__item:hover:after {
    content: "";
    background: var(--color-alt);
  }
  .menu__phone:hover {
    color: var(--color-alt);
  }
  .menu__favorites:hover:before {
    content: "";
    background: var(--color-alt);
  }
  .menu__favorites:hover span {
    background: var(--color-whte);
  }
  .block-menu__item:hover .block-menu__img img,
  .block-menu__item:hover .block-menu__img picture {
    transform: scale(1.1);
  }
  .block-menu__item:hover .block-menu__name,
  .block-menu__list a:hover,
  .block-menu__all:hover {
    color: var(--color-alt);
  }
  .block-menu__all:hover:after {
    content: "";
    transform: translate(5px);
  }
  .offer-block__column:hover .offer-block__img img,
  .offer-block__column:hover .offer-block__img picture {
    transform: scale(1.1);
  }
  .offer-block__social:hover:before {
    content: "";
    transform: scale(1.1);
  }
  .top-footer__item a:hover {
    color: var(--color-alt);
  }
  .content-footer__item:hover .content-footer__img img,
  .content-footer__item:hover .content-footer__img picture {
    transform: scale(1.1);
  }
  .content-footer__item:hover .content-footer__text {
    color: var(--color-alt);
  }
  .content-footer__link.content-footer__link--all:hover:after {
    content: "";
    transform: translate(5px);
  }
  .content-footer__link:hover {
    color: var(--color-alt);
  }
  .info-footer__column:hover .info-footer__img img,
  .info-footer__column:hover .info-footer__img picture {
    transform: scale(1.1);
  }
  .info-footer__column:hover .info-footer__link:after {
    content: "";
    transform: translate(5px);
  }
  .bottom-footer__link:hover:before {
    content: "";
    transform: scale(1.1);
  }
  .bottom-footer__page:hover {
    color: var(--color-alt);
  }
  @layer component {
    .btn:hover {
      background: var(--color-alt-hover);
    }
  }
  @layer mod {
    .btn--two:hover {
      background: #fff6;
    }
  }
  @layer mod {
    .btn--whte:hover {
      background: var(--color-alt);
      color: var(--color-whte);
    }
  }
  @layer mod {
    .btn--border:hover {
      background: rgba(var(--color-whte--rgb), 0.5);
      color: var(--color-primary);
    }
  }
  @layer mod {
    .btn--three:hover {
      background: var(--color-alt);
    }
  }
  .swiper-arrows .swiper-arrow:hover {
    background: #fff6;
  }
  @layer component {
    .intro__pagging .swiper-pagination-bullet:hover {
      background: var(--color-whte);
    }
  }
  @layer component {
    .agency__body-text:hover {
      border: 1px solid var(--color-alt);
      color: var(--color-whte);
      background: var(--color-alt);
    }
  }
  .tags-block__info:hover {
    background: var(--color-alt);
    color: var(--color-whte);
  }
  .tags-block__info:hover:before {
    content: "";
    background: var(--color-whte);
  }
  @layer component {
    .blog__slide:hover .blog__slide-title {
      color: var(--color-alt);
    }
    .blog__slide:hover .blog__slide-icon {
      background: rgba(var(--color-whte--rgb), 0.4);
    }
  }
  @layer component {
    .blog__slide-icon:hover {
      background: rgba(var(--color-whte--rgb), 0.4);
    }
  }
  @layer component {
    .platform__column:hover {
      background: rgba(var(--color-whte--rgb), 0.4);
    }
  }
  @layer component {
    .card-product__pagging .swiper-pagination-bullet:hover {
      background: var(--color-whte);
    }
  }
  @layer component {
    .card-product__favorites:hover {
      background: var(--color-alt);
    }
  }
  .form-constructor__reset:hover {
    background: var(--color-alt);
  }
  .form-constructor__checkbox .checkbox__text:hover {
    background: #dfd4be;
    color: #515151;
  }
  .form-constructor__map:hover {
    background: #dfd4be;
  }
  .form-constructor__map:hover:after {
    content: "";
    background: #515151;
  }
  @layer component {
    .breadcrumb__item a:hover {
      color: var(--color-alt);
    }
  }
  @layer component {
    .locations__arrow:hover {
      background: var(--color-alt);
    }
    .locations__arrow:hover:before {
      content: "";
      background: var(--color-whte);
    }
  }
  .house__callback-btn:hover {
    background: var(--color-success);
    color: var(--color-whte);
  }
  .house__callback-btn:hover:after {
    content: "";
    background: var(--color-whte);
  }
  @layer component {
    .plan__thumb:hover .plan__thumb-img img,
    .plan__thumb:hover .plan__thumb-img picture {
      transform: scale(1.1);
    }
  }
  @layer component {
    .plan__arrow:hover {
      background: rgba(var(--color-whte--rgb), 0.4);
    }
  }
  @layer component {
    .appreciate__arrow:hover {
      background: var(--color-alt);
    }
    .appreciate__arrow:hover:before {
      content: "";
      background: var(--color-whte);
    }
  }
  .constructor-form__checkbox .checkbox__text:hover {
    background: #dfd4be;
  }
  @layer component {
    .material__item:hover .material__item-icon {
      background: var(--color-alt);
    }
    .material__item:hover .material__item-icon:before {
      content: "";
      background: var(--color-whte);
    }
  }
  @layer component {
    .similar__arrow:hover {
      background: var(--color-alt);
    }
    .similar__arrow:hover:before {
      content: "";
      background: var(--color-whte);
    }
  }
}
@media only screen and (max-width: 991.98px) and (any-hover: hover) {
  .menu__phone:hover {
    background: var(--color-alt);
  }
}
@media only screen and (max-width: 1365.98px) {
  .menu__link {
    max-width: 100%;
    width: 100%;
  }
  .block-menu__back,
  .mobile-header__link {
    font-size: 18px;
  }
  @layer component {
    .about__column:has(.about__column-img) {
      min-height: 306px;
    }
  }
  @layer component {
    .about__column-decor.about__column-decor--two {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
  }
  @layer component {
    .village__content-decor {
      display: none;
    }
  }
  @layer component {
    .locations__decor {
      display: none;
    }
  }
}
@media (any-hover: none) {
  .icon-menu {
    cursor: default;
  }
}
@media only screen and (max-width: 991.98px) and (max-width: 991.98px) {
  .mobile-header {
    margin: 0 -14px;
  }
  .form-constructor__tags .tags-block__item:after {
    height: 26px;
    margin-left: 9px;
  }
  .form-constructor__tags .tags-block__info {
    padding: 7px 12px;
  }
}
@media only screen and (max-width: 767.98px) {
  .top-footer__value {
    font-size: 16px;
    line-height: 140%;
  }
  .bottom-footer__page {
    width: 100%;
    text-align: center;
  }
  .hidden-form__inner {
    flex-direction: column;
  }
  .hidden-form__filter {
    width: 100%;
  }
  @layer component {
    .installation__content {
      max-width: 100%;
    }
  }
  @layer component {
    .house__callback-inner {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  @layer component {
    .house__callback-personal {
      max-width: 100%;
      width: 100%;
    }
  }
}
@media only screen and (max-width: 991.98px) and (max-width: 767.98px) {
  .info-footer__inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (max-width: 1119.98px) {
  @layer component {
    .blog__slider {
      overflow: visible;
    }
  }
  @layer component {
    .blog__slide {
      max-width: 400px;
      width: 100%;
    }
  }
  @layer component {
    .blog__slide-link {
      max-width: max-content;
      margin: 25px auto 0;
    }
  }
}
@media only screen and (max-width: 1119.98px) and (max-width: 991.98px) {
  @layer component {
    .blog__slide {
      max-width: 320px;
    }
  }
}
@media only screen and (max-width: 1119.98px) and (max-width: 479.98px) {
  @layer component {
    .blog__slide-link {
      max-width: 100%;
      font-weight: 550;
    }
  }
}
@media only screen and (max-width: 991.98px) and (max-width: 620px) {
  @layer component {
    .content-realty__img {
      aspect-ratio: 343/467;
    }
  }
}
@media only screen and (max-width: 479.98px) {
  @layer component {
    .hero__content {
      width: 100%;
    }
  }
  @layer component {
    .hero__content-links {
      flex-direction: column;
      max-width: 100%;
      width: 100%;
      gap: 8px;
    }
  }
}
@media only screen and (max-width: 1535.98px) {
  @layer component {
    .similar__slider {
      overflow: visible;
    }
  }
}
