@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: 13%;

  /* 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://storage.yandexcloud.net/rcgit/kamerger/image/фоновое изображение(2).png");

  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://storage.yandexcloud.net/rcgit/kamerger/image/3%20%D0%B1%D0%BB%D0%BE%D0%BA_%D1%84%D0%BE%D1%82%D0%BE.png");

  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://storage.yandexcloud.net/rcgit/kamerger/image/%D1%84%D0%BE%D0%BD%20(1).png");

}



.advantages__bg--lake {

  background-image: url("https://storage.yandexcloud.net/rcgit/kamerger/image/%D1%84%D0%BE%D0%BD%20(2).png");

}



.advantages__bg--lobby {

  background-image: url("https://storage.yandexcloud.net/rcgit/kamerger/image/%D1%84%D0%BE%D0%BD%20(3).png");

}



.advantages__bg--construction {

  background-image: url("https://storage.yandexcloud.net/rcgit/kamerger/image/%D1%84%D0%BE%D0%BD%20(4).png");

}



#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: 60%;

}



.carousel {

  position: relative;

  z-index: 1;

  width: 100%;

  height: 60vh;

  margin: 100px 0;

  display: flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

  touch-action: pan-y;

  cursor: grab;

  pointer-events: auto;

}



.carousel-wrapper {

  display: flex;

  align-items: center;

  justify-content: center;

  will-change: transform;

  /* padding: 0 5vw;  */

  transform: translate3d(var(--wrapper-translate, 0px), 0, 0);



  /* вот это даст плавность движению wrapper */

  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);

}



.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;

    margin: 50px 0;

    overflow: hidden;

    position: relative;

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

  }



  .carousel-wrapper {

    height: 40vh;

    margin: 50px 0;

    overflow: hidden;

    position: relative;

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    transition: none;

    transform: none !important;

  }



  .carousel-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: center center;

    left: 0;

    right: 0;

  }



  /* Центральный элемент - увеличен и полностью видим */

  .carousel-item.active {

    transform: translateX(0%) scale(1.1);

    opacity: 1;

    z-index: 10;

    left: 0;

    right: 0;

    margin: 0 auto !important;

  }



  /* Правый элемент - смещен вправо и уменьшен */

  .carousel-item.next {

    transform: translateX(80%) scale(0.9);

    z-index: 5;

  }



  /* Левый элемент - смещен влево и уменьшен */

  .carousel-item.prev {

    transform: translateX(-60%) scale(0.9);

    z-index: 5;

  }



  /* Далекие элементы - скрыты или едва видны */

  .carousel-item.far-prev,

  .carousel-item.far-next {

    opacity: 0.1;

    transform: translateX(calc(var(--offset) * 120%)) scale(0.8);

  }



  /* Скрытые элементы */

  .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;

  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://storage.yandexcloud.net/rcgit/kamerger/image/otdelka.png")

    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://storage.yandexcloud.net/rcgit/kamerger/image/finishing-slide-image-1.png")

    center/cover no-repeat;

  width: 50vw;

  height: 100vh;

}



.finishing-slide-image-2 {

  background: url("https://storage.yandexcloud.net/rcgit/kamerger/image/finishing-slide-image-2.png")

    center/cover no-repeat;

  width: 50vw;

  height: 100vh;

}



.finishing-slide-image-3 {

  background: url("https://storage.yandexcloud.net/rcgit/kamerger/image/finishing-slide-image-3.png")

    center/cover no-repeat;

  width: 50vw;

  height: 100vh;

}



.finishing-slide-image-four {

  background: url("https://storage.yandexcloud.net/rcgit/kamerger/image/finishing-slide-image-5.png")

    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.png")

    center/cover no-repeat;

  overflow-y: auto;

}



/* rezidentsii */



#rezidentsii-banner {

  height: 50vh;

  background-image: url("https://storage.yandexcloud.net/rcgit/kamerger/image/banner-rezidentsii.png");

  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;

  padding-bottom: 50px;

}



/* #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, 42vw, 800px);

}



#aparts-info {

  background: #74c5a5;

  height: 100vh;

  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: none;

}



@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) {

  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://storage.yandexcloud.net/rcgit/kamerger/image/back-mp-image(2).png");

  }



  #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://storage.yandexcloud.net/rcgit/kamerger/image/second-mobile.png");

    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 {

    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://storage.yandexcloud.net/rcgit/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://storage.yandexcloud.net/rcgit/kamerger/image/otdelka-mobile-first.png");

    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://storage.yandexcloud.net/rcgit/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://storage.yandexcloud.net/rcgit/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://storage.yandexcloud.net/rcgit/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://storage.yandexcloud.net/rcgit/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;

  }

}

