@import "base/reset.css";

@import "base/colors.css";

@import "base/grid.css";

@import "base/fonts.css";

@import "components/header.css";

@import "components/menu.css";

@import "components/footer.css";

@import "components/form.css";

/* Базовые стили для плавного скролла */

html,
body {
  overflow: hidden;

  width: 100%;

  height: 100%;

  margin: 0;

  padding: 0;
}

#smooth-wrapper {
  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  overflow: hidden;

  width: 100%;

  height: 100%;
}

#smooth-content {
  will-change: transform;

  position: relative;
}

/* Восстанавливаем нормальное поведение для контента */

#smooth-content > * {
  transform: translateZ(0);

  backface-visibility: hidden;

  perspective: 1000px;
}

.btn-up:active {
  transform: translateY(0);
}

/* Оптимизация производительности */

.menu,
.parallax-image,
.advantages__bg,
.carousel-item,
.palace__image,
.palace__text,
.parallax-details {
  will-change: transform, opacity;
}

.parallax-image {
  position: absolute;

  top: 25%;

  left: 30%;

  object-fit: cover;

  z-index: 2;

  transform: translateY(0);

  transition: transform 0.1s ease-out;
}

.parallax-details {
  position: absolute;

  /* bottom: 14%; */

  bottom: -80vh;

  /* left: 33%; */

  /* left: 28%; */

  object-fit: cover;

  z-index: 2;

  transform: translateY(0);

  transition: transform 0.3 ease-out;

  /* max-width: 800px; */

  /* max-width: 700px; */

  width: 100%;

  display: grid;

  justify-items: center;
}

.parallax-details img {
  max-width: clamp(260px, 41.67vw, 800px);

  height: auto;

  /* Важно для сохранения пропорций */

  width: 100%;

  /* Для адаптивности внутри контейнера */
}

.parallax-details-mobile-footer,
.parallax-details-mobile-gallery {
  display: none;
}

#banner {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/фоновое_изображение_112.webp");

  height: 100vh;

  width: 100%;

  background-size: cover;

  background-position: center center;
}

#parallax-custom {
  position: relative;

  height: 100%;
}

#first {
  position: relative;

  height: 100vh;

  display: flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

  background-color: var(--color-primary-light-gray);
}

#second {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/3%20%D0%B1%D0%BB%D0%BE%D0%BA_%D1%84%D0%BE%D1%82%D0%BE.webp");

  height: 100vh;

  width: 100%;

  background-size: cover;

  background-position: center center;
}

#advantages {
  background: var(--color-primary-green);

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  height: 100vh;

  width: 100%;

  display: grid;

  justify-content: center;

  align-items: center;

  overflow: hidden;

  transition: background-image 0.3s ease;

  position: relative;
}

#location {
  height: 100vh;

  width: 100%;

  padding: 170px 0 0 0;

  display: grid;

  justify-content: center;

  align-items: center;

  overflow: hidden;

  position: relative;

  background-color: var(--color-primary-gray);
}

#palace-bg {
  padding: 150px 0;

  height: min-content;

  position: relative;

  display: grid;

  width: 100%;
}

#palace-bg::before {
  content: "";

  position: absolute;

  top: 0;

  background-color: var(--color-primary-gray);

  height: 150px;

  width: 100%;
}

#palace-bg::after {
  content: "";

  position: absolute;

  bottom: 0;

  background-color: var(--color-primary-light-gray);

  height: 150px;

  width: 100%;
}

#palace {
  background: var(--color-primary-green);

  padding: 170px 0;

  position: relative;

  width: 100%;

  box-sizing: border-box;
}

#lobby {
  background-color: var(--color-primary-light-gray);
}

#infrastructure {
  position: relative;

  background-color: var(--color-primary-gray);

  padding: 128.58px 0 90px 0;
}

#infrastructure::after {
  content: "";

  position: absolute;

  left: 0;

  width: 100%;

  height: 250px;

  background-repeat: no-repeat;

  background-size: auto 100%;

  pointer-events: none;

  z-index: 1;

  bottom: -125px;

  background-image: url("data:image/svg+xml,%3Csvg width='262' height='257' viewBox='0 0 262 257' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M261.666 128.224L261.675 128.194H261.651L261.499 127.786C251.871 128.038 135.231 128.878 130.838 0C126.444 128.883 9.80482 128.038 0.176876 127.786L0.0239259 128.189H0L0.00957035 128.219L0 128.249H0.0239259L0.176876 128.657C9.80482 128.405 126.444 127.565 130.838 256.443C135.231 127.56 251.871 128.405 261.499 128.657L261.651 128.254H261.675L261.666 128.224Z' fill='%23E9E9E9'/%3E%3C/svg%3E");

  background-position: bottom center;

  transform: scaleY(-1);
}

/* #finishing {

	position: relative;

	height: 100vh;

} */

#palace::before,
#palace::after {
  content: "";

  position: absolute;

  left: 0;

  width: 100%;

  height: 250px;

  background-repeat: no-repeat;

  background-size: auto 100%;

  pointer-events: none;

  z-index: 1;
}

#palace::before {
  top: -125px;

  background-image: url("data:image/svg+xml,%3Csvg width='262' height='257' viewBox='0 0 262 257' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M261.666 128.224L261.675 128.194H261.651L261.499 127.786C251.871 128.038 135.231 128.878 130.838 0C126.444 128.883 9.80482 128.038 0.176876 127.786L0.0239259 128.189H0L0.00957035 128.219L0 128.249H0.0239259L0.176876 128.657C9.80482 128.405 126.444 127.565 130.838 256.443C135.231 127.56 251.871 128.405 261.499 128.657L261.651 128.254H261.675L261.666 128.224Z' fill='%2374C5A5'/%3E%3C/svg%3E");

  background-position: top center;
}

#palace::after {
  bottom: -125px;

  background-image: url("data:image/svg+xml,%3Csvg width='262' height='257' viewBox='0 0 262 257' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M261.666 128.224L261.675 128.194H261.651L261.499 127.786C251.871 128.038 135.231 128.878 130.838 0C126.444 128.883 9.80482 128.038 0.176876 127.786L0.0239259 128.189H0L0.00957035 128.219L0 128.249H0.0239259L0.176876 128.657C9.80482 128.405 126.444 127.565 130.838 256.443C135.231 127.56 251.871 128.405 261.499 128.657L261.651 128.254H261.675L261.666 128.224Z' fill='%2374C5A5'/%3E%3C/svg%3E");

  background-position: bottom center;

  transform: scaleY(-1);
}

.text__block {
  display: flex;

  flex-direction: column;

  gap: 200px;

  align-items: center;

  justify-content: center;

  z-index: 10;

  position: relative;
}

.text__block h1 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--color-primary-dark-gray);
}

.text__block p {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 28px;

  line-height: 154%;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  text-align: center;

  color: var(--color-primary-black);

  width: 60%;
}

.text__block a {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-decoration: underline;

  text-decoration-skip-ink: none;

  color: var(--color-primary-black);

  transition: all 0.3s;

  z-index: 1000;
}

.text__block a:hover {
  transition: all 0.3s;

  color: #717273;
}

.advantages__info {
  display: flex;

  flex-direction: column;

  gap: 90px;

  align-items: center;
}

.advantages__info h2 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--color-primary-light-green);

  transition: all 0.3s;
}

.advantages__info a {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-decoration: underline;

  text-decoration-skip-ink: none;

  transition: all 0.3s;

  color: var(--color-primary);
}

.advantages__info a:hover {
  transition: all 0.3s;

  color: #bffbe3;
}

.advantages__list {
  display: flex;

  flex-direction: column;

  align-items: center;
}

.advantages__item {
  display: flex;

  gap: 11.5px;

  cursor: pointer;
}

.advantages__item p {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 70px;

  line-height: 150%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  text-align: center;

  color: var(--color-primary);

  transition: all 0.3s;
}

.advantages__number {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 32px;

  line-height: 150%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: var(--color-primary-light-green);

  padding-top: 13px;

  transition: all 0.3s;
}

.advantages__bg {
  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  opacity: 0;

  visibility: hidden;

  transition: opacity 0.3s ease, visibility 0.3s ease;

  z-index: 1;

  will-change: opacity, visibility, transform;

  transform: translateZ(0);

  backface-visibility: hidden;

  perspective: 1000px;
}

.advantages__bg--default {
  background: var(--color-primary-green);

  opacity: 1;

  visibility: visible;
}

.advantages__bg.active {
  opacity: 1;

  visibility: visible;
}

.advantages__info {
  position: relative;

  z-index: 2;
}

.advantages__bg--individual {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/фон_(1)_537.webp");
}

.advantages__bg--lake {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/фон_(2)_454.webp");
}

.advantages__bg--lobby {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/фон_(3)_729.webp");
}

.advantages__bg--construction {
  background-image: url("https://cdn.rcgit.ru/kamerger/image/фон_(4)_535.webp");
}

#location .container,
.row,
.col {
  height: 100%;
}

.location__block {
  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: space-between;

  height: 100%;
}

.location__block h2 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-primary-dark-gray);
}

.location__block p {
  font-family: "Kudry Sans Headline";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  font-size: 22px;
  line-height: 168%;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-primary-black);
  width: 70%;
}

.carousel-item {
  flex-shrink: 0;
}

.carousel-item {
  position: relative;
  z-index: var(--zIndex, 1);
  width: var(--width);
  height: var(--height);
  user-select: none;
  transform-origin: 50% 50%;
  pointer-events: all;
  transform: translate3d(var(--x, 0), 0, 0);
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  will-change: transform;
  mix-blend-mode: multiply;
  margin: 0;
}

.carousel-box {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  will-change: transform;
}

.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  /* transition: transform 0.3s ease; */
}

/* .cursor {

	position: fixed;

	z-index: 10;

	top: 0;

	left: 0;

	--size: 40px;

	width: var(--size);

	height: var(--size);

	border-radius: 50%;

	border: 1px solid rgba(255, 255, 255, 0.2);

	margin: calc(var(--size) * -0.5) 0 0 calc(var(--size) * -0.5);

	transition: transform 0.85s cubic-bezier(0, 0.02, 0, 1);

	display: none;

	pointer-events: none;

}



.cursor2 {

	--size: 2px;

	transition-duration: 0.7s;

} */

/* .cursor {

			display: block;

			position: fixed;

			z-index: 1000;

			top: 0;

			left: 0;

			--size: 40px;

			width: var(--size);

			height: var(--size);

			border-radius: 50%;

			border: 1px solid rgba(255, 255, 255, 0.2);

			margin: calc(var(--size) * -0.5) 0 0 calc(var(--size) * -0.5);

			transition: transform 0.3s ease;

			pointer-events: none;

		}



		.cursor2 {

			--size: 2px;

			transition-duration: 0.2s;

		} */

@media (pointer: fine) {
  .cursor {
    display: block;
  }
}

@media (max-width: 768px) {
  .carousel {
    height: 40vh !important;
    margin: 50px 0 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1 !important;
    touch-action: pan-y !important;
    cursor: grab !important;
    pointer-events: auto !important;
  }

  .carousel-wrapper {
    height: 40vh !important;
    margin: 50px 0 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transition: none !important;
    transform: none !important;
    will-change: transform !important;
    transform: translate3d(var(--wrapper-translate, 0px), 0, 0) !important;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1) !important;
  }

  .carousel-item {
    position: absolute !important;
    top: 0 !important;
    width: 60% !important;
    height: 100% !important;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1),
      opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1) !important;
    will-change: transform, opacity !important;
    mix-blend-mode: normal !important;
    margin: 0 !important;
    transform-origin: center center !important;
    left: 0 !important;
    right: 0 !important;
  }

  /* Центральный элемент - увеличен и полностью видим */

  .carousel-item.active {
    transform: translateX(0%) scale(1.1) !important;
    opacity: 1;
    z-index: 10 !important;
    left: 0;
    right: 0;
    margin: 0 auto !important;
  }

  /* Правый элемент - смещен вправо и уменьшен */

  .carousel-item.next {
    transform: translateX(80%) scale(0.9) !important;
    z-index: 5 !important;
  }

  /* Левый элемент - смещен влево и уменьшен */

  .carousel-item.prev {
    transform: translateX(-60%) scale(0.9) !important;
    z-index: 5 !important;
  }

  /* Далекие элементы - скрыты или едва видны */

  .carousel-item.far-prev,
  .carousel-item.far-next {
    opacity: 0.1 !important;
    transform: translateX(calc(var(--offset) * 120%)) scale(0.8) !important;
  }

  /* Скрытые элементы */

  .carousel-item.hidden {
    opacity: 0;
    pointer-events: none;
  }

  .carousel-box {
    width: 100%;
    height: 100%;
  }

  .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Индикаторы для мобильной версии */

  .carousel-indicators {
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    z-index: 20;
  }

  .carousel-indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: background 0.3s ease;
  }

  .carousel-indicator.active {
    background: rgba(0, 0, 0, 0.8);

    transform: scale(1.2);
  }

  #location .container,
  .row,
  .col {
    height: 100%;

    margin-right: 0;

    margin-left: 0;

    padding-right: 0;

    padding-left: 0;
  }
}

.palace__header {
  display: grid;
}

.palace__header h2 {
  color: var(--color-primary-light-green);

  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-size: 15px;

  font-display: swap;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;
}

.palace__header h3 {
  font-family: "Kudry Sans Display";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 120px;

  line-height: 100%;

  text-transform: uppercase;

  text-align: center;

  color: var(--color-primary);
}

.palace__header {
  display: flex;

  flex-direction: column;

  gap: 80px;

  align-items: center;
}

.palace__btn {
  position: relative;

  display: grid;

  margin-left: 15%;

  width: fit-content;
}

.palace__btn a {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 32px;

  color: var(--color-primary);

  text-decoration: none;

  text-transform: uppercase;

  letter-spacing: 1px;

  z-index: 10;

  transition: all 0.3s ease;
}

.palace__btn svg {
  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  pointer-events: none;

  transition: all 0.3s ease;
}

.palace__btn:hover a {
  color: var(--color-primary-green);

  transition: all 0.3s ease;
}

.palace__btn:hover svg path {
  fill: var(--color-primary);

  stroke: #ffffff;

  transition: all 0.3s ease;
}

.palace__btn:active svg {
  transform: translate(-50%, -50%) scale(0.98);
}

.palace__block {
  display: flex;

  flex-direction: column;

  gap: 83px;

  align-items: center;
}

.palace__image {
  position: relative;

  width: fit-content;
}

.palace__image:nth-child(1)::before {
  content: "01";

  font-family: "CalligraphRuss";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  line-height: normal;

  font-size: 96px;

  text-transform: capitalize;

  position: absolute;

  z-index: 1;

  top: 9px;

  right: -20px;

  color: var(--color-primary);
}

.palace__image:nth-child(2)::before {
  content: "02";

  font-family: "CalligraphRuss";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  line-height: normal;

  font-size: 96px;

  text-transform: capitalize;

  position: absolute;

  z-index: 1;

  top: 0;

  left: -20px;

  color: var(--color-primary);
}

.line-2 .palace__image::before {
  content: "03";

  font-family: "CalligraphRuss";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  line-height: normal;

  font-size: 96px;

  text-transform: capitalize;

  position: absolute;

  z-index: 1;

  top: -15px;

  left: 0;

  color: var(--color-primary);
}

.line-3 .palace__image::before {
  content: "04";

  font-family: "CalligraphRuss";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  line-height: normal;

  font-size: 96px;

  text-transform: capitalize;

  position: absolute;

  z-index: 1;

  top: 90%;

  right: -40px;

  color: var(--color-primary);
}

.line-2 {
  margin-top: 62.9px;
}

.line-2 .palace__image img {
  margin-left: 50px;
}

.palace__text {
  display: flex;

  flex-direction: column;

  gap: 23px;

  margin-bottom: 92.87px;
}

.palace__text p {
  font-family: "Euclid Circular A";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  /* font-size: 22px; */
  font-size: clamp(14px, 1vw, 22px);
  line-height: 145%;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.line-1 {
  margin-top: 46.59px;
}

.col-3 .palace__image {
  float: inline-end;
}

.line-3 {
  margin-top: 10px;
}

.parallax-image-small-first {
  position: absolute;
  top: -25%;
  left: 28px;
  object-fit: cover;
  z-index: 2;
  transform: translateY(0);
  transition: transform 0.1s ease-out;
  transform: rotate(283deg);
}

.parallax-image-small-second {
  position: absolute;
  top: -35%;
  left: 98px;
  object-fit: cover;
  z-index: 2;
  /* transform: translateY(0); */
  transition: transform 0.1s ease-out;
}

.parallax-image-small-third {
  position: absolute;
  top: -20%;
  left: 28px;
  object-fit: cover;
  z-index: 2;
  transform: translateY(0);
  transition: transform 0.1s ease-out;
}

.palace__detals {
  display: flex;
  flex-direction: column;
  gap: 78.24px;
  /* margin-top: 120px; */
}

.palace__rez {
  font-family: "Euclid Circular A";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  font-size: 15px;
  line-height: 200%;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: var(--color-primary);
  transition: 0.3s;
}

.palace__rez:hover {
  color: #bffbe3;
  transition: 0.3s;
}

.pin-spacer {
  background-color: var(--color-primary-light-gray);
}

.line-3 .col-4 {
  align-content: center;
}

.lobby__title {
  display: flex;
  flex-direction: column;
  gap: 36.7px;
  align-items: center;
  z-index: 2;
  position: relative;
}

.lobby__title h2 {
  font-family: "Euclid Circular A";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  font-size: 15px;
  line-height: 200%;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-primary-dark-gray);
  padding-top: 90px;
}

.lobby-info {
  display: flex;
  justify-content: space-between;
  position: absolute;

  top: 50%;

  width: 80%;
}

.lobby-info__first p {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 22px;

  line-height: 150%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: var(--color-primary-black);

  opacity: 0.5;
}

.lobby-info__second {
  max-width: 291px;

  display: flex;

  flex-direction: column;

  gap: 42.35px;
}

.lobby-info__first {
  max-width: 330px;
}

.lobby__title h3 {
  font-family: "Kudry Sans Display";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 120px;

  line-height: 100%;

  text-transform: uppercase;

  text-align: center;

  color: var(--color-primary-black);
}

.lobby-container {
  position: relative;

  height: 100vh;

  display: flex;

  flex-direction: column;

  align-items: center;
}

.lobby-image {
  width: 100%;

  height: 100vh;

  overflow: hidden;
}

.lobby-image__wrapper {
  /* position: relative; */

  width: 100%;

  height: 100%;
}

.lobby-image__overlay {
  position: absolute;

  top: 50%;

  left: 50%;

  width: 724px;

  /* Начальная ширина как у изображения */

  height: 430px;

  /* Начальная высота как у изображения */

  background: rgba(0, 0, 0, 0);

  z-index: 4;

  pointer-events: none;

  transform: translate(-50%, -50%);

  /* Центрирование */
}

.lobby-info__second p .lobby-image img {
  width: 100%;

  height: 100vh;

  object-fit: cover;

  will-change: width, height, transform;

  position: relative;

  z-index: 1;
}

.lobby-info__second p {
  font-family: "Euclid Circular A";

  font-style: normal;

  font-display: swap;

  font-weight: 500;

  font-size: 16px;

  line-height: 150%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(0, 0, 0, 0.7);
}

.lobby-info__second a {
  font-family: "Euclid Circular A";

  font-style: normal;

  font-display: swap;

  font-weight: 500;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-decoration: underline;

  text-decoration-skip-ink: none;

  color: #000;

  transition: 0.3s;
}

.lobby-info__second a:hover {
  transition: 0.3s;

  color: #717273;
}

.lobby-content {
  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  z-index: 20;

  text-align: center;

  opacity: 0;

  visibility: hidden;

  z-index: 5;
}

.text-content {
  display: flex;

  flex-direction: column;

  gap: 107.68px;
}

.text-content a {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-decoration: underline;

  text-decoration-skip-ink: none;

  color: var(--color-primary);

  transition: 0.3s;
}

.text-content a:hover {
  transition: 0.3s;

  color: #bfbfbf;
}

.text-content p {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-align: center;

  color: rgba(255, 255, 255, 0.85);

  max-width: 530px;
}

.infrastructure__block {
  display: flex;

  flex-direction: column;

  gap: 34.42px;

  align-items: center;
}

.infrastructure__block-title h2 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--color-primary-black);
}

.infrastructure__block-info p {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 22px;

  line-height: 168%;

  letter-spacing: 0.07em;

  text-transform: uppercase;

  text-align: center;

  color: var(--color-primary-black);
}

/* Стили для карусели инфраструктуры */

.infrastructure-slider {
  position: relative;

  width: 100%;

  /* height: 500px; */

  margin: 92px 0;

  overflow: hidden;
}

.slider-wrapper {
  display: flex;

  will-change: transform;

  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  margin-left: 20px;
}

.slider-item {
  flex: 0 0 auto;

  min-width: fit-content;

  margin-right: 20px;

  opacity: 1;

  transition: transform 0.5s ease;

  position: relative;

  user-select: none;
}

.slider-item:last-child {
  margin-right: 0;
}

.slider-image {
  width: 100%;

  /* height: 65%; */

  overflow: hidden;

  position: relative;
}

.slider-image img {
  object-fit: cover;

  transition: transform 0.6s ease;

  pointer-events: none;
}

.slider-content {
  padding: 21.15px 0;

  /* height: 35%; */

  display: flex;

  flex-direction: column;

  gap: 14px;
}

.slider-content h3 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 160%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: #000;
}

.slider-content p {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #717273;
}

#finishing {
  position: relative;

  height: 100vh;

  width: 100%;

  overflow: hidden;
}

.finishing-container {
  position: relative;

  height: 100%;

  width: 100%;
}

.finishing-slide {
  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 3;
}

.finishing-slide.active {
  transform: translateY(0);

  z-index: 2;
}

/* Остальные стили остаются без изменений */

.finishing-slide-1 {
  background: url("https://cdn.rcgit.ru/kamerger/image/individualnaya-otdelka-render.webp")
    center/cover no-repeat;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: center;

  color: white;

  z-index: 1;
}

.finishing-slide-1-content {
  max-width: 1135px;

  display: flex;

  flex-direction: column;

  gap: 31px;

  align-items: center;
}

.finishing-slide-1 h2 {
  font-family: "Kudry Sans Display";

  font-weight: 300;

  /* font-size: 120px; */

  font-size: clamp(40px, 6.25vw, 120px);

  line-height: 108%;

  text-transform: uppercase;

  text-align: center;

  color: #fff;
}

.finishing-slide-1 p {
  font-family: "Kudry Sans Headline";

  font-weight: 300;

  font-size: 22px;

  line-height: 145%;

  letter-spacing: 0.07em;

  text-transform: uppercase;

  text-align: center;

  color: #fff;

  max-width: 620px;
}

.finishing-slide-split {
  display: flex;
}

.finishing-slide-images-wrapper {
  position: relative;

  width: 50%;

  height: 100%;

  overflow: hidden;

  z-index: 3;
}

.finishing-slide-image {
  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  /* transform: translateY(100%); */

  z-index: 3;
}

/* .finishing-slide-image.active {

	transform: translateY(0);

	z-index: 4;

} */

.finishing-slide-image-1 {
  background: url("https://cdn.rcgit.ru/kamerger/image/finishing-slide-image-1_363.webp")
    center/cover no-repeat;

  width: 50vw;

  height: 100vh;
}

.finishing-slide-image-2 {
  background: url("https://cdn.rcgit.ru/kamerger/image/finishing-slide-image-2.webp")
    center/cover no-repeat;

  width: 50vw;

  height: 100vh;
}

.finishing-slide-image-3 {
  background: url("https://cdn.rcgit.ru/kamerger/image/finishing-slide-image-3.webp")
    center/cover no-repeat;

  width: 50vw;

  height: 100vh;
}

.finishing-slide-image-four {
  background: url("https://cdn.rcgit.ru/kamerger/image/finishing-slide-image-5_825.webp")
    center/cover no-repeat;

  width: 50vw;

  height: 100vh;
}

.finishing-slide-content {
  width: 50vw;

  height: 100vh;

  display: flex;

  flex-direction: column;

  /* gap: 70px; */

  gap: 50px;

  justify-content: flex-end;

  /* padding: 127px 155px 127px 207px; */

  padding: 100px 130px 100px 180px;

  background: #ececec;
}

.finishing-slide-content h3 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: rgba(47, 47, 47, 0.58);

  margin-bottom: 15px;
}

.finishing-slide-content p {
  font-family: "Euclid Circular A";

  font-weight: 400;

  /* font-size: 22px; */

  font-size: 20px;

  line-height: 145%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: rgba(47, 47, 47, 0.58);
}

.finishing-slide-content a {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-decoration: underline;

  text-decoration-skip-ink: none;

  color: #000;

  transition: 0.3s;
}

.finishing-slide-content a:hover {
  color: #717273;

  transition: 0.3s;
}

.finishing-slide-7 {
  background: url("https://storage.yandexcloud.net/rcgit/kamerger/image/finishing-slide-image-4.webp")
    center/cover no-repeat;

  overflow-y: auto;
}

/* rezidentsii */

#rezidentsii-banner {
  height: 50vh;

  background-image: url("https://cdn.rcgit.ru/kamerger/image/banner-rezidentsii_920.webp");

  background-repeat: no-repeat;

  background-size: cover;

  display: flex;

  align-items: flex-end;

  padding-bottom: 90px;
}

.rezidentsii-banner__block {
  display: flex;

  flex-direction: column;

  gap: 20px;
}

.breadcrumbs {
  display: flex;

  gap: 3px;
}

.breadcrumbs__item a {
  font-family: "Euclid Circular A";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.8);
}

.breadcrumbs__item span {
  font-family: "Euclid Circular A";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.8);
}

.rezidentsii-banner__title h1 {
  font-family: "Kudry Sans Display";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 96px;

  line-height: 100%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #fff;
}

#catalog {
  margin-bottom: 50px;
}

.catalog__header {
  display: flex;

  justify-content: space-between;

  padding: 48px 0 40px 0;

  flex-wrap: wrap;
}

.catalog-count {
  display: flex;

  gap: 5px;
}

.catalog-count span {
  font-family: "Euclid Circular A";

  font-weight: 600;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #1e1e1e;
}

.favorite-btn {
  display: flex;

  gap: 55px;

  width: 165px;

  justify-content: space-between;
}

.favorite-btn__text {
  font-family: "Euclid Circular A";

  font-weight: 600;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #1e1e1e;
}

.catalog__products {
  display: flex;

  flex-direction: column;

  gap: 50px;
}

.second-mobile__text {
  display: none;
}

.product-card {
  border-top: 1px solid #000;

  padding-top: 60px;

  display: flex;

  justify-content: space-between;
}

.product-card__image {
  display: flex;

  gap: 90px;
}

.product-card__number {
  font-family: "Kudry Sans Display";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 86px;

  line-height: 50%;

  letter-spacing: 0.03em;

  color: #717273;

  position: relative;

  top: 15px;

  min-width: 87px;
}

.product-card__image img {
  max-width: 140px;
}

.product-card__description {
  display: flex;

  flex-direction: column;

  gap: 6px;
}

.product-card__content {
  display: flex;

  width: 60%;

  justify-content: space-between;
}

.product-card__description-info {
  font-family: "Euclid Circular A";

  font-weight: 600;

  font-style: normal;

  font-display: swap;

  font-size: 16px;

  line-height: 125%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #1e1e1e;
}

.product-card__description-osobnyak {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(30, 30, 30, 0.6);

  max-width: 130px;
}

.product-card__price {
  display: flex;

  /* gap: 55px; */

  width: 165px;

  justify-content: space-between;
}

.product-card__price span {
  font-family: "Euclid Circular A";

  font-weight: 600;

  font-style: normal;

  font-display: swap;

  font-size: 16px;

  line-height: 125%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: #000;
}

.product-card__advantage {
  max-width: 151px;
}

.product-card__advantage p {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(30, 30, 30, 0.6);
}

.product-card__description-info {
  max-width: 175px;
}

.product-card__button {
  height: fit-content;
}

.btn-up {
  display: flex;

  gap: 49px;

  align-items: center;

  justify-content: flex-end;

  margin-bottom: 50px;
}

.btn-up span {
  font-family: "Euclid Circular A";

  font-weight: 600;

  font-style: normal;

  font-display: swap;

  font-size: 14px;

  line-height: 143%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  color: rgba(30, 30, 30, 0.6);
}

#aparts {
  height: 100vh;

  background-color: #f8f8f8;

  display: flex;

  /* align-items: flex-end; */

  align-items: center;

  /* padding-bottom: 50px; */

  padding: 80px 0 50px 0;
}

/* #aparts .container .row {

	justify-content: center;

} */

#aparts .container .row .col {
  justify-items: center;
}

#aparts .container .row .col img {
  /* max-height: 800px; */

  /* max-height: clamp(400px, 50vw, 800px); */

  max-height: clamp(400px, 80vh, 1000px);

  height: 100%;
}

#aparts-info {
  background: #74c5a5;

  height: 100vh;

  position: relative;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.aparts-info__block {
  display: flex;

  flex-direction: column;

  gap: 55px;

  height: min-content;

  align-items: center;
}

.aparts-info__title h1 {
  font-family: "Euclid Circular A";

  font-weight: 500;

  font-style: normal;

  font-display: swap;

  font-size: 15px;

  line-height: 200%;

  letter-spacing: 0.05em;

  text-transform: uppercase;

  text-align: center;

  color: #fff;
}

.aparts-info__description {
  font-family: "Euclid Circular A";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  font-size: 35px;

  line-height: 123%;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  text-align: center;

  color: #fff;
}

.aparts-info__line {
  max-width: 352px;

  height: 1px;

  background-color: #bfe4d6;

  width: 100%;
}

.aparts-info__price {
  display: flex;

  flex-direction: column;

  gap: 10px;
}

.aparts-info__price span {
  font-family: "Euclid Circular A";

  font-weight: normal;

  font-style: normal;

  font-display: swap;

  font-size: 35px;

  /* line-height: 485%; */

  letter-spacing: 0.03em;

  text-transform: lowercase;

  color: #fff;
}

.aparts-info__price p {
  font-family: "Euclid Circular A";

  font-weight: 300;

  font-style: normal;

  font-display: swap;

  font-size: 24px;

  /* line-height: 500%; */

  letter-spacing: 0.03em;

  text-transform: lowercase;

  text-align: center;

  color: #bfe4d6;
}

.product-card__header-mobile {
  display: none;
}

.product-card__button {
  display: block;
}

.product-card__price .product-card__advantage {
  display: none;
}

.product-card__description .product-card__number {
  display: none;
}

.aparts-mobile-info {
  display: none;
}

#gallery {
  position: relative;

  width: 100vw;

  height: 100vh;

  overflow: hidden;
}

.gallery-container {
  display: flex;

  width: 100%;

  height: 100%;

  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gallery-item {
  flex: 0 0 100vw;

  height: 100vh;

  display: flex;

  align-items: center;

  justify-content: center;
}

.gallery-item img {
  width: 100%;

  height: 100%;

  object-fit: cover;
}

.cursor-gallery {
  position: absolute;

  width: 100px;

  height: 100px;

  border-radius: 100%;

  background: rgba(0, 0, 0, 0);

  backdrop-filter: blur(10px);

  /* border: 1px solid rgba(255, 255, 255, 0.2); */

  display: flex;

  align-items: center;

  justify-content: center;

  pointer-events: none;

  z-index: 1000;

  opacity: 0;

  transition: opacity 0.3s ease, transform 0.2s ease;

  transform-origin: center;
}

.cursor-gallery.visible {
  opacity: 1;
}

.cursor-gallery.left {
  transform: rotate(180deg);
}

.cursor-gallery.right {
  transform: rotate(0deg);
}

.cursor-gallery::before {
  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  border-radius: 100%;
}

.cursor-gallery .arrow {
  position: relative;

  z-index: 2;
}

.cursor-preview {
  position: absolute;

  top: 50%;

  left: 50%;

  width: 50%;

  height: 50%;

  transform: translate(-50%, -50%) scale(2);

  border-radius: 4px;

  overflow: hidden;

  opacity: 0;

  transition: opacity 0.3s ease;

  pointer-events: none;
}

.cursor-preview img {
  width: 100%;

  height: 100%;

  object-fit: cover;
}

.cursor-gallery:hover .cursor-preview {
  opacity: 1;
}

#palace-bg-mobile {
  display: none;
}

#finishing-mobile {
  display: none;
}

.lobby-info__second-mobile {
  display: none;
}

#infrastructure-mobile {
  display: grid;
  display: none;
}

#partners {
  height: 100vh;
  background: #74c5a5;
  display: grid;
  align-items: center;
  justify-content: center;
  padding: 170px 0 0 0;
}

.partners__header {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
  margin-bottom: 100px;
}

.partners__header-sub-title p {
  font-family: "Euclid Circular A";
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #bfe4d6;
}

.partners__header-title h2 {
  font-family: "Kudry Sans Display";
  font-weight: 300;
  font-style: normal;
  font-size: 120px;
  line-height: 108%;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}

.partners__list {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: end;
  align-items: center;
}

.partners__row {
  display: flex;
  gap: 90px;
}

.partners__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.partners__item-name p {
  font-family: "Euclid Circular A";
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #bfe4d6;
}

.partners-line {
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  margin: 40px 0;
}

.footer__partners {
  display: none;
}

.partners__prev {
  /* top: 24px !important; */
  width: 20px !important;
  height: 20px !important;
}

.partners__next {
  /* top: 24px !important; */
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 760px) {
  .partners__header {
    gap: 20px;
    margin-bottom: 30px;
  }

  .partners__header-sub-title p {
    font-size: 14px;
  }

  .partners__header-title h2 {
    font-size: 40px;
  }

  .partners__item {
    gap: 10px;
  }

  .partners__list {
    display: none;
  }

  .partners__item-name p {
    font-size: 12px;
  }

  .footer__partners {
    display: block;
  }

  .partners-line {
    min-width: 180px;
    margin: 60px auto;
    width: 60%;
  }

  footer {
    height: 150vh !important;
  }

  .parallax-details-mobile-footer {
    bottom: 10% !important;
  }
}

@media (max-width: 1440px) {
  .location__block p {
    width: 60vw;
  }
}

@media (max-width: 1250px) {
  #advantages {
    min-height: 100vh;
    height: auto;
  }

  .advantages__list {
    gap: 20px;
  }

  .advantages__number {
    display: none;
  }

  .advantages__item p {
    line-height: 120%;

    font-size: 60px;
  }
}

@media (max-width: 996px) {
  .palace__header h3 {
    font-size: 10vw;
  }

  .finishing-slide-content {
    padding-left: 80px;

    padding-right: 50px;
  }
}

@media (max-width: 960px) {
  .product-card {
    gap: 20px;
  }

  .product-card__image {
    gap: 10px;
  }

  .product-card__advantage p {
    font-size: 13px;
  }

  .product-card__price span {
    font-size: 14px;
  }

  .product-card__description-info {
    font-size: 15px;
  }

  .product-card__content {
    flex: 1;

    gap: 10px;
  }
}

@media screen and (min-height: 1600px) and (max-height: 2234px) {
  #aparts {
    align-items: center;
  }

  #aparts .container .row .col img {
    max-height: 1200px;
  }

  .parallax-details {
    bottom: 25%;

    left: 35%;

    max-width: 1000px;

    width: 100%;
  }

  .parallax-image {
    left: 45%;
  }
}

@media (max-width: 768px) {
  #partners {
    display: none;
  }

  html,
  body {
    overflow-y: auto;

    height: auto;
  }

  #smooth-wrapper {
    position: static;

    overflow: visible;

    height: auto;
  }

  #smooth-content {
    transform: none !important;

    height: auto;
  }

  #banner {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/back-mp-image_816.webp");
  }

  #first {
    height: 100%;

    padding: 68px 0 157px 0;
  }

  .text__block {
    gap: 30px;
  }

  .text__block h1 {
    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;
  }

  .text__block p {
    font-size: 14px;

    line-height: 150%;

    width: 100%;
  }

  .text__block a {
    font-size: 14px;

    line-height: 286%;

    letter-spacing: 0.05em;
  }

  .parallax-image {
    /* width: 640px; */

    left: -20px;

    width: 150%;

    height: 40%;
  }

  #second {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/second-mobile_689.webp");

    display: flex;

    align-items: flex-end;

    justify-content: center;
  }

  .second-mobile__text {
    /* display: flex; */

    flex-direction: column;

    gap: 7px;

    align-items: center;

    margin-bottom: 15px;

    display: none;
  }

  .second-mobile__text span {
    font-family: "Euclid Circular A";

    font-weight: 500;

    font-style: normal;

    font-display: swap;

    font-size: 13px;

    line-height: 150%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: center;

    color: #fff;
  }

  .finishing-slide-split {
    flex-direction: column;
  }

  .finishing-slide-image,
  .finishing-slide-content {
    width: 100vw;

    height: 50vh;
  }

  .finishing-slide-content {
    padding: 30px;
  }

  .finishing-slide-1 h2 {
    font-size: 32px;
  }

  .finishing-slide-content h3 {
    font-size: 28px;
  }

  .advantages__info h2 {
    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;
  }

  .advantages__info {
    gap: 30px;

    max-width: 370px;
  }

  .advantages__item p {
    font-size: 25px;

    line-height: 150%;

    letter-spacing: 0.03em;
  }

  .advantages__list {
    gap: 20px;
  }

  .advantages__number {
    display: none;
  }

  .advantages__info a {
    font-size: 14px;

    line-height: 286%;

    letter-spacing: 0.05em;
  }

  #advantages {
    min-height: 100%;

    height: 100%;

    padding: 73px 0 59px 0;
  }

  #location {
    height: 100%;

    padding: 68px 0 55px 0;
  }

  .location__block h2 {
    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;
  }

  .location__block p {
    font-size: 17px;

    line-height: 140%;

    letter-spacing: 0.07em;

    text-align: left;

    width: 100%;

    padding-right: var(--grid-margin);

    padding-left: var(--grid-margin);

    margin-right: auto;

    margin-left: auto;
  }

  #palace-bg::before {
    height: 44px;
  }

  #palace-bg {
    padding: 44px 0;
  }

  #palace::before {
    height: 90px;

    top: -45px;
  }

  #palace {
    padding: 67.45px 0 0 0;
  }

  .palace__header {
    gap: 44.09px;

    width: 100%;

    position: relative;
  }

  .palace__header h2 {
    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;
  }

  .palace__header h3 {
    font-size: 40px;

    line-height: 115%;

    text-align: left;

    width: 100%;
  }

  .palace__block {
    gap: 30px;

    align-items: flex-start;
  }

  .palace__btn {
    margin: 0;
  }

  .palace__image {
    display: none;
  }

  .line-1 .palace__text p {
    text-align: left;

    font-size: 14px;

    line-height: 147%;

    letter-spacing: 0.05em;
  }

  .line-2 .palace__text p {
    font-size: 14px;

    line-height: 147%;

    letter-spacing: 0.05em;

    text-align: center;
  }

  .palace__text {
    margin: 0;
  }

  #palace::after {
    display: none;
  }

  .mobile-full-image {
    margin-top: 30px;
  }

  .mobile-full-image img {
    width: 100%;
  }

  .line-2 {
    margin-top: 75px;
  }

  .palace-mobile__image-details {
    position: absolute;

    right: -16px;

    bottom: -45%;
  }

  .palace-mobile__image-details img {
    width: 100%;

    height: 100%;
  }

  .palace__detals {
    display: flex;

    flex-direction: row;

    align-items: flex-end;

    justify-content: space-between;
  }

  .palace__mobile-image {
    left: -16px;

    position: relative;
  }

  .palace-mobile__image-parallax {
    position: fixed;

    right: 10%;

    z-index: 2;

    pointer-events: none;

    transform: translateY(0);

    transition: transform 0.3 ease-out;
  }

  .palace__mobile-block-btn-parallax {
    display: flex;

    flex-direction: column;
  }

  .palace-mobile__image-parallax-left {
    position: fixed;

    left: 10%;

    z-index: 2;

    pointer-events: none;

    transform: translateY(0);

    transition: transform 0.3 ease-out;
  }

  .palace__mobile-block-btn-parallax .palace-mobile__image-parallax {
    position: absolute;

    top: 58%;
  }

  .line-3 {
    margin-top: 26px;
  }

  .line-1 {
    margin-top: 28px;
  }

  .line-4 {
    margin-top: 38px;
  }

  .line-4 .palace__text p {
    font-size: 14px;

    line-height: 147%;

    letter-spacing: 0.05em;

    text-align: right;
  }

  .line-4 .col {
    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 30px;
  }

  #infrastructure::after {
    display: none;
  }

  #rezidentsii-banner {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/rezidents-mobile.png");

    height: 100vh;
  }

  .rezidentsii-banner__block {
    display: none;
  }

  #catalog {
    background: #74c5a5;

    padding: 0;

    margin: 0;
  }

  .catalog__header {
    display: none;
  }

  .product-card {
    border: none;

    flex-direction: column;

    background-color: #fff;

    padding: 17px 21px 25px 24px;

    gap: 24px;
  }

  .product-card__advantage p {
    font-size: 10px;

    line-height: 110%;

    letter-spacing: 0.03em;
  }

  .product-card__number {
    font-size: 65px;

    line-height: 50%;

    letter-spacing: -0.09em;
  }

  .product-card__header-mobile {
    display: flex;

    flex-direction: row;

    justify-content: space-between;

    margin-bottom: 32px;
  }

  .product-card__image .product-card__number {
    display: none;
  }

  .catalog__products {
    gap: 15px;

    margin-top: 90px;
  }

  .product-card__image {
    justify-content: center;
  }

  .product-card__description .product-card__description-osobnyak {
    display: none;
  }

  .product-card__content {
    flex-direction: column-reverse;
  }

  .product-card__description-info {
    font-weight: 400;

    font-size: 16px;

    line-height: 125%;

    letter-spacing: 0.03em;

    color: rgba(0, 0, 0, 0.46);

    max-width: 150px;

    text-transform: lowercase;
  }

  .product-card__price span {
    font-size: 16px;

    line-height: 113%;

    letter-spacing: 0.03em;
  }

  .product-card__button {
    display: none;
  }

  .product-card__content .product-card__advantage {
    display: none;
  }

  .product-card__description {
    flex-direction: row;

    width: 100%;

    justify-content: space-between;
  }

  .product-card__price .product-card__advantage {
    display: flex;

    text-align: right;
  }

  .product-card__price {
    width: 100%;
  }

  .product-card__content {
    width: 100%;
  }

  .product-card__header-mobile .product-card__button {
    display: block;
  }

  .product-card__line-mobile {
    width: 100%;

    height: 1px;

    background-color: #e9e9e9;

    margin: 18px 0;
  }

  .product-card__description .product-card__number {
    display: block;
  }

  .up {
    display: none;
  }

  #aparts {
    background-color: #fff;

    align-items: center;

    height: 100%;

    padding: 100px 0 100px 0;
  }

  #aparts-info {
    display: none;
  }

  .aparts-mobile-info {
    display: block;
  }

  .aparts-info__price span {
    font-family: "Euclid Circular A";

    font-weight: 600;

    font-style: normal;

    font-display: swap;

    font-size: 22px;

    line-height: 125%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    color: #000;
  }

  .aparts-info__details {
    display: flex;

    justify-content: space-between;

    width: 100%;
  }

  .aparts-info__details p {
    font-family: "Euclid Circular A";

    font-weight: normal;

    font-style: normal;

    font-display: swap;

    font-size: 17px;

    line-height: 125%;

    letter-spacing: 0.03em;

    color: #989898;
  }

  .aparts-info__details span {
    font-family: "Euclid Circular A";

    font-weight: 600;

    font-style: normal;

    font-display: swap;

    font-size: 10px;

    line-height: 110%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: right;

    color: rgba(30, 30, 30, 0.6);
  }

  .parallax-details-mobile-footer,
  .parallax-details-mobile-gallery {
    display: block;
  }

  .parallax-details-mobile-footer {
    position: fixed;

    bottom: 25%;

    left: 15%;

    z-index: 2;

    pointer-events: none;

    transform: translateY(0);

    transition: transform 0.3 ease-out;

    width: 70%;
  }

  .parallax-details-mobile-gallery {
    position: fixed;

    top: 40%;

    left: 33%;

    z-index: 2;

    pointer-events: none;

    transform: translateY(0);

    transition: transform 0.3 ease-out;
  }

  .parallax-details-mobile-footer img,
  .parallax-details-mobile-gallery img {
    width: auto;

    height: auto;

    max-width: 100%;
  }

  .aparts-info__price {
    width: 100%;
  }

  #palace-bg {
    display: none;
  }

  #palace-bg-mobile {
    display: block;
  }

  .lobby__title h3 {
    font-size: 40px;

    line-height: 115%;
  }

  .lobby__title h2 {
    padding: 0;

    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;
  }

  #lobby {
    padding-top: 67.45px;
  }

  .lobby__title {
    gap: 20px;
  }

  .lobby-info__first p {
    font-family: "Euclid Circular A";

    font-weight: normal;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 150%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: center;

    color: #000;

    opacity: 1;

    position: absolute;

    top: 0;

    /* width: 100%; */

    justify-self: center;
  }

  .lobby-info__second-mobile p {
    font-family: "Euclid Circular A";

    font-weight: normal;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 150%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: center;

    color: #000;

    position: absolute;

    top: 0;

    /* width: 100%; */

    justify-self: center;

    opacity: 0;
  }

  .lobby-info__second {
    display: none;
  }

  .lobby-image__overlay {
    display: none;
  }

  .lobby-image {
    position: absolute;

    z-index: 100;

    height: 90vh;
  }

  .lobby-container {
    height: 90vh;
  }

  .lobby-image__wrapper {
    height: 100%;

    display: grid;

    align-items: end;
  }

  .lobby-image__wrapper img {
    width: 100%;

    object-fit: cover;

    height: 50% !important;

    /* height: auto!important; */
  }

  .lobby-info {
    top: 20px;

    width: 100%;

    /* display: block;

		text-align: -webkit-center;

		width: -webkit-fill-available; */

    display: flex;

    flex-direction: column;

    /* align-items: center; */

    /* right: 0; */

    position: relative;

    width: 100%;

    padding: 0 12px 0 10px;
  }

  .lobby-info__first {
    max-width: none;
  }

  #infrastructure {
    padding: 64px 0 44px 0;

    /* height: 100vh; */
  }

  .infrastructure__block-title h2 {
    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;

    color: #717273;
  }

  .infrastructure__block-info {
    display: none;
  }

  .lobby-info__second-mobile {
    display: block;
  }

  .slider-content p {
    display: none;
  }

  .slider-content h3 {
    font-family: "Kudry Sans Headline";

    font-weight: 300;

    font-style: normal;

    font-display: swap;

    font-size: 17px;

    line-height: 140%;

    letter-spacing: 0.07em;

    text-transform: uppercase;

    text-align: center;

    color: #000;
  }

  #finishing {
    display: none;
  }

  #finishing-mobile {
    display: block;
  }

  .first {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/otdelka-mobile-first_450.webp");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    height: 100vh;

    display: grid;

    align-content: space-evenly;
  }

  .finishing-mobile__item-title p {
    font-family: "Euclid Circular A";

    font-weight: 500;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 214%;

    letter-spacing: 0.05em;

    text-transform: uppercase;

    color: #fff;
  }

  .finishing-mobile__item-subtitle p {
    font-family: "Kudry Sans Display";

    font-weight: 300;

    font-style: normal;

    font-display: swap;

    font-size: 40px;

    line-height: 115%;

    text-transform: uppercase;

    text-align: center;

    color: #fff;
  }

  .finishing-mobile__item-info {
    display: flex;

    flex-direction: column;

    gap: 35px;

    align-items: center;

    display: flex;

    flex-direction: column;

    gap: 35px;

    align-items: center;

    justify-content: flex-end;

    height: auto;

    padding: 0 0 33px 0;
  }

  .finishing-mobile__item-info p {
    font-family: "Euclid Circular A";

    font-weight: normal;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 150%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: center;

    color: #fff;
  }

  .finishing-mobile__item-info a {
    font-family: "Euclid Circular A";

    font-weight: 500;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 286%;

    letter-spacing: 0.05em;

    text-transform: uppercase;

    text-decoration: underline;

    text-decoration-skip-ink: none;

    color: #fff;
  }

  .finishing-mobile__item-header {
    height: 55vh;

    gap: 135.05px;

    display: flex;

    flex-direction: column;

    align-items: center;

    padding: 80px 0 0 0;
  }

  .finishing-mobile__item {
    background: #f8f8f8;

    height: 100vh;

    display: grid;
  }

  .finishing-mobile__item:nth-child(1) .finishing-mobile__item-header {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/otdelka-mobile-1.png");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    height: 55vh;

    padding: 80px 0 0 0;
  }

  .finishing-mobile__item:nth-child(2) .finishing-mobile__item-header {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/otdelka-mobile-2.png");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    height: 55vh;

    padding: 80px 0 0 0;
  }

  .finishing-mobile__item:nth-child(3) .finishing-mobile__item-header {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/otdelka-mobile-3.png");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    height: 55vh;

    padding: 80px 0 0 0;
  }

  .finishing-mobile__item:nth-child(4) .finishing-mobile__item-header {
    background-image: url("https://cdn.rcgit.ru/kamerger/image/otdelka-mobile-4.png");

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    height: 55vh;

    padding: 80px 0 0 0;
  }

  .finishing-mobile__item:nth-child(1) .finishing-mobile__item-title p,
  .finishing-mobile__item:nth-child(2) .finishing-mobile__item-title p,
  .finishing-mobile__item:nth-child(3) .finishing-mobile__item-title p,
  .finishing-mobile__item:nth-child(4) .finishing-mobile__item-title p {
  }

  .finishing-mobile__item:nth-child(1) .finishing-mobile__item-info p,
  .finishing-mobile__item:nth-child(2) .finishing-mobile__item-info p,
  .finishing-mobile__item:nth-child(3) .finishing-mobile__item-info p,
  .finishing-mobile__item:nth-child(4) .finishing-mobile__item-info p {
    font-size: 14px;

    line-height: 140%;

    letter-spacing: 0.05em;

    text-transform: uppercase;

    text-align: center;

    color: #000;

    max-width: 300px;
  }

  .finishing-mobile__item:nth-child(1) .finishing-mobile__item-info a,
  .finishing-mobile__item:nth-child(2) .finishing-mobile__item-info a,
  .finishing-mobile__item:nth-child(3) .finishing-mobile__item-info a,
  .finishing-mobile__item:nth-child(4) .finishing-mobile__item-info a {
    font-family: "Euclid Circular A";

    font-weight: 500;

    font-style: normal;

    font-display: swap;

    font-size: 14px;

    line-height: 93%;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    text-align: center;

    color: #000;

    z-index: 10;

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 32px;
  }

  .finishing-mobile__item-info-btn svg {
    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    pointer-events: none;

    transition: all 0.3s ease;
  }

  .finishing-mobile__item-info-btn {
    position: relative;

    display: grid;

    width: fit-content;
  }

  /* anima */

  .finishing-mobile__list {
    position: relative;

    /* position: absolute; */

    width: 100%;

    height: 100vh;

    overflow: hidden;

    /* top:0; left:0; */
  }

  .finishing-mobile__item {
    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    opacity: 0;

    transition: opacity 0.5s ease;

    pointer-events: none;
  }

  .finishing-mobile__item.active {
    opacity: 1;

    pointer-events: all;
  }

  /* Индикатор */

  .finishing-mobile__indicator {
    position: absolute;

    bottom: 38%;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 10;

    opacity: 0;

    transition: opacity 0.3s ease;
  }

  .finishing-mobile__indicator.visible {
    opacity: 1;
  }

  .finishing-mobile__indicator svg {
    width: 77px;

    height: 18px;
  }

  /* Анимация для активного индикатора */

  @keyframes indicatorPulse {
    0% {
      transform: scale(1);
    }

    50% {
      transform: scale(1.1);
    }

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

  .finishing-mobile__indicator path:first-child {
    animation: indicatorPulse 2s infinite;
  }

  #infrastructure {
    display: none;
  }

  #infrastructure-mobile {
    display: flex;

    flex-direction: column;

    position: relative;

    padding: 20px 0 50px 0;

    /* height: 100vh; */

    justify-items: center;

    background: #e9e9e9;

    padding: 64px 0 74px 0;
  }

  #infrastructure-mobile .slider-wrapper {
    overflow: hidden;

    position: relative;

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: flex-start;

    margin: 0;

    height: 100%;

    min-height: 500px;
  }

  #infrastructure-mobile .slider-content {
    padding: 30px 0;

    opacity: 0;
  }

  #infrastructure-mobile .slider-item.active .slider-content {
    opacity: 1;
  }

  #infrastructure-mobile .slider-item {
    position: absolute;

    top: 0;

    width: 60% !important;

    height: 100% !important;

    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1),
      opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);

    will-change: transform, opacity;

    mix-blend-mode: normal;

    margin: 0 !important;

    transform-origin: top;

    left: 0;

    right: 0;

    flex: none;

    min-width: auto;

    opacity: 0;
  }

  #infrastructure-mobile .slider-content p {
    display: none;
  }

  #infrastructure-mobile .slider-image {
    height: 350px;

    /* width: 70%; */
  }

  #infrastructure-mobile .slider-image img {
    width: 100%;

    height: 100%;

    object-fit: cover;
  }

  #infrastructure-mobile .slider-content h3 {
    font-size: 17px;

    line-height: 140%;

    letter-spacing: 0.07em;

    color: #000;
  }

  #infrastructure-mobile .slider-item.active {
    transform: translateX(0%) scale(1.1);

    opacity: 1;

    z-index: 10;

    /* left: 0;

		right: 0; */

    margin: 0 auto !important;

    position: relative;
  }

  #infrastructure-mobile .slider-item.next {
    transform: translateX(80%) scale(0.9);

    z-index: 5;

    opacity: 1;

    /* left: 50%; */
  }

  #infrastructure-mobile .slider-item.prev {
    transform: translateX(-60%) scale(0.9);

    z-index: 5;

    opacity: 1;

    /* left: -50%; */
  }

  /* #infrastructure-mobile .slider-item.far-prev,

	#infrastructure-mobile .slider-item.far-next {

		opacity: 0.1;

		transform: translateX(calc(var(--offset) * 120%)) scale(0.8);

	} */

  #infrastructure-mobile .slider-item.hidden {
    opacity: 0;

    pointer-events: none;
  }

  #infrastructure-mobile .infrastructure-indicator {
    z-index: 21;

    display: flex;

    justify-content: center;

    position: relative;

    top: 10px;
  }
}

.desk-hide {
  display: none;
}
