@charset "UTF-8";
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("fonts/CormorantGaramond-Regular.eot");
  src: local("Cormorant Garamond Regular"), local("CormorantGaramond-Regular"), url("fonts/CormorantGaramond-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/CormorantGaramond-Regular.woff2") format("woff2"), url("fonts/CormorantGaramond-Regular.woff") format("woff"), url("fonts/CormorantGaramond-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("fonts/CormorantGaramond-Medium.eot");
  src: local("Cormorant Garamond Medium"), local("CormorantGaramond-Medium"), url("fonts/CormorantGaramond-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/CormorantGaramond-Medium.woff2") format("woff2"), url("fonts/CormorantGaramond-Medium.woff") format("woff"), url("fonts/CormorantGaramond-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }
@font-face {
  font-family: 'Cormorant Garamond';
  src: url("fonts/CormorantGaramond-Bold.eot");
  src: local("Cormorant Garamond Bold"), local("CormorantGaramond-Bold"), url("fonts/CormorantGaramond-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/CormorantGaramond-Bold.woff2") format("woff2"), url("fonts/CormorantGaramond-Bold.woff") format("woff"), url("fonts/CormorantGaramond-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }
@font-face {
  font-family: 'Snell Roundhand';
  src: url("fonts/Snell Roundhand.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
:root {
  font-size: 30px; }

ul, li {
  margin: 0;
  padding: 0;
  display: block; }

a {
  transition: .3s all;
  outline: none;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }
  a.mobile-link {
    display: none; }

button {
  transition: .6s all;
  border: none;
  outline: none;
  background: none;
  padding: 0; }

h1, h2, h3, h4, h5, p {
  margin: 0; }

input {
  outline: none;
  border-radius: 0; }
  input.error {
    color: red !important;
    border-color: red !important; }

html {
  scroll-behavior: auto !important;
  scrollbar-gutter: stable; }

body {
  font-family: 'Cormorant Garamond', serif;
  background: #FFFAED;
  font-variant-numeric: lining-nums; }

::-webkit-scrollbar {
  width: 10px;
  height: 0.5rem;
  background: #FFFAED;
  display: none; }

::-webkit-scrollbar-thumb {
  background: #3A3330;
  border-radius: .5rem; }

.lazy {
  opacity: 0; }

.disabled {
  pointer-events: none; }

.sections-wrapper {
  position: relative; }

.sections-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  overflow: hidden; }

.section {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  overflow: hidden; }
  .section-slide {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    will-change: clip-path;
    clip-path: inset(100% 0% 0% 0%);
    background: #FFFAED;
    z-index: 1; }
  .section-double {
    display: flex; }
    .section-double__left, .section-double__right {
      width: 50%;
      text-align: center;
      flex-direction: column;
      display: flex;
      justify-content: center;
      align-items: center;
      will-change: clip-path;
      background: #FFFAED; }
    .section-double__left {
      left: 0%;
      clip-path: inset(100% 0% 0% 0%); }
    .section-double__right {
      left: 50%;
      clip-path: inset(0% 0% 100% 0%); }
    .section-double__img {
      height: 100%;
      width: 100%; }
      .section-double__img img, .section-double__img video {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .section-double__mob {
      display: none; }
    .section-double__top {
      width: 100%;
      height: 50%;
      clip-path: inset(0% 0% 100% 0%); }
    .section-double__bot {
      width: 100%;
      height: calc(50% + 1px);
      clip-path: inset(100% 0% 0% 0%);
      top: calc(50% - 1px); }
  .section-title {
    font-size: 2.6rem;
    text-transform: uppercase;
    line-height: 1; }
  .section-text {
    font-size: 1.3rem;
    letter-spacing: -0.02em;
    line-height: 1.1; }
  .section-btn .btn {
    width: 12rem; }

.btn {
  font-size: 1.1rem;
  height: 2.6rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: .6s all;
  cursor: pointer;
  user-select: none;
  border: 1px solid #3A3330;
  color: #3A3330;
  position: relative;
  z-index: 1;
  border-radius: 2rem;
  overflow: hidden; }
  .btn::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #3A3330;
    z-index: -1;
    transition: .3s all ease-in-out;
    border-radius: 2rem;
    transform: translateY(100%); }
  .btn:hover {
    color: #FFFAED; }
    .btn:hover::after {
      transform: translateY(0); }

.form {
  width: 100%; }
  .form input {
    display: block;
    width: 100%;
    margin-bottom: 2rem;
    border: none;
    border-bottom: 1px solid #D9D9D9;
    color: #3A3330;
    padding: 1rem 0;
    background: transparent; }
    .form input::placeholder {
      color: rgba(58, 51, 48, 0.7); }
    .form input:focus, .form input:hover {
      border-color: #3A3330; }
  .form .btn {
    padding: 0 2rem; }

.layer {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
  background: #FFFAED;
  margin-left: -100vw; }
  .layer__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10rem; }
    .layer__logo img {
      width: 100%;
      display: block; }
  .layer.active {
    animation: goLayer 1.3s ease-in-out forwards; }

.go__top {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: .6s all;
  cursor: pointer;
  user-select: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #384327;
  position: fixed;
  right: 2rem;
  bottom: 4rem;
  border: 1px solid #FFE5BF;
  z-index: 4; }
  .go__top img {
    width: 100%; }
  .go__top:hover {
    background: #BB6835; }
  .go__top.start {
    opacity: 0;
    visibility: hidden; }

.gotodesk {
  display: none; }

@keyframes loadRotate {
  0% {
    transform: rotate(0deg);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  50% {
    transform: rotate(180deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  100% {
    transform: rotate(360deg); } }
@keyframes heightLine {
  0% {
    height: 0%;
    transform: translateY(0);
    opacity: 0; }
  10% {
    opacity: 1; }
  40% {
    height: 100%;
    transform: translateY(0);
    opacity: 1; }
  70% {
    height: 0%;
    transform: translateY(4rem);
    opacity: 1; }
  100% {
    height: 0%;
    transform: translateY(4rem);
    opacity: 0; } }
@keyframes run {
  0% {
    transform: translateX(-20rem); }
  100% {
    transform: translateX(196vw); } }
@keyframes fly-cycle {
  100% {
    background-position: 0 -900px; } }
@keyframes fly-right-one {
  0% {
    transform: scale(0) translate(100vw); }
  10% {
    transform: translateX(2vh) translateY(80vw) scale(0.5); }
  20% {
    transform: translateX(0vh) translateY(60vw) scale(0.6); }
  30% {
    transform: translateX(4vh) translateY(40vw) scale(0.7); }
  40% {
    transform: translateX(2vh) translateY(20vw) scale(0.7); }
  50% {
    transform: translateX(0vh) translateY(0vw) scale(0.7); }
  60% {
    transform: translateX(0vh) translateY(-20vw) scale(0.7); }
  100% {
    transform: translateX(0vh) translateY(-40vw) scale(0.7); } }
@keyframes goLayer {
  0% {
    margin-left: -100vw; }
  35% {
    margin-left: 0; }
  80% {
    margin-left: 0; }
  100% {
    margin-left: 100vw; } }
@keyframes lds-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes svgPulse {
  0% {
    opacity: 0; }
  50% {
    opacity: .5; }
  100% {
    opacity: 0; } }
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  overflow: hidden; }
  .preloader-blocks {
    height: 100%; }
    .preloader-blocks div {
      width: 100%;
      height: 50%;
      background: #FFFAED;
      transition: 2.5s all ease-in-out;
      transition-delay: 1.1s; }
  .preloader-line {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -100%;
    height: 1px;
    width: 100%;
    transition: 1s all ease-in-out;
    transition-delay: .5s;
    background: #000; }
  .preloader-main {
    width: 10rem;
    height: 10rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center; }
  .preloader__circle {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    animation: loadRotate 1s infinite; }
    .preloader__circle svg {
      width: 100%;
      height: 100%; }
  .preloader__logo {
    width: 5.5rem; }
    .preloader__logo img {
      width: 100%;
      display: block; }
  .preloader.active .preloader-line {
    left: 100%; }
  .preloader.active .preloader-blocks div:first-child {
    transform: translateY(-100%); }
  .preloader.active .preloader-blocks div:last-child {
    transform: translateY(100%); }

.feedback {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 8;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  display: none; }
  .feedback-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 2rem;
    border-bottom: 0.65rem solid #3A3330;
    background: #FFFAED;
    color: #3A3330;
    width: 22rem;
    border-radius: 1.5rem; }
  .feedback__close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -3.5rem;
    width: 2.5rem;
    border-radius: 50%;
    height: 2.5rem;
    color: #fff;
    background: #3A3330;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    z-index: 3;
    border: 1px solid #fff; }
    .feedback__close:hover {
      background: #fff;
      color: #3A3330; }
    .feedback__close svg {
      width: .5rem;
      height: .5rem; }
  .feedback__title {
    margin-bottom: .5rem;
    font-size: 1.8rem;
    text-align: center;
    font-weight: 400;
    text-transform: uppercase; }
  .feedback__text {
    line-height: 1;
    text-align: center; }
  .feedback-form {
    margin: 1rem 0 0.8rem; }
    .feedback-form input {
      margin-bottom: 1rem; }
    .feedback-form .btn {
      width: 100%;
      margin-top: 0.5rem; }
  .feedback__agree {
    font-size: 0.8rem;
    text-align: center;
    max-width: 13rem;
    margin: 0 auto;
    line-height: 1; }
  .feedback-done, .feedback-expire {
    display: none; }
    .feedback-done .feedback__text, .feedback-expire .feedback__text {
      margin-bottom: 1rem;
      padding: 0 1rem; }
  .feedback__img {
    margin: 3.5rem 0 2.5rem;
    text-align: center; }
    .feedback__img img {
      display: inline-block;
      width: 8rem; }

.menu {
  background: #FFFAED;
  width: 100%;
  height: 100%;
  z-index: 6;
  position: fixed;
  left: 0;
  top: 0;
  transition: .8s all ease-in-out;
  overflow: hidden;
  transform: translateX(-110%);
  transition-delay: .5s; }
  .menu.active {
    transform: translateX(0);
    transition-delay: 0s; }
    .menu.active .menu-wrap {
      opacity: 1;
      visibility: visible;
      transition-delay: .8s; }
  .menu-wrap {
    width: 100vw;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    opacity: 0;
    visibility: hidden;
    transition: .6s all ease-in-out;
    transition-delay: 0s; }
  .menu-main {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    width: 100%; }
  .menu-list {
    text-align: center;
    font-size: 3rem;
    width: 25%; }
    .menu-list a {
      color: #3A3330;
      transition: .5s ease-in-out; }
      .menu-list a.noactive {
        color: #A7A7A7; }
  .menu-sublist {
    width: calc(25% - 5rem);
    margin-left: 5rem;
    font-size: 1.8rem; }
    .menu-sublist a {
      color: #3A3330; }
      .menu-sublist a:hover {
        color: #BB6835; }
  .menu-images {
    width: 15rem;
    position: relative;
    height: calc(100vh - 18rem); }
    .menu-images::after {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      height: 100%;
      width: 1px;
      content: '';
      background: #4F4F4F; }
    .menu-images img {
      width: 15rem;
      height: 18rem;
      transition: .6s all;
      opacity: 0;
      visibility: hidden;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1; }
      .menu-images img.active {
        opacity: 1;
        visibility: visible; }
  .menu-mob {
    display: none; }
  .menu__logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3rem; }
    .menu__logo img {
      width: 14rem; }

.header {
  padding: 2rem;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #FFFAED;
  font-family: sans-serif;
  font-size: 0.9rem;
  transition: .6s all;
  text-transform: uppercase; }
  .header-wrap {
    display: flex;
    align-items: center;
    gap: 2rem; }
  .header__link {
    color: #FFFAED;
    font-size: .85rem; }
    .header__link:hover {
      color: #A7A7A7; }
  .header__logo {
    transition: .6s all;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .header__logo img, .header__logo svg {
      width: 100%;
      display: block;
      height: auto; }
    .header__logo-lion {
      width: 5.5rem;
      opacity: 0;
      visibility: hidden; }
    .header__logo-tenet {
      width: 8rem;
      opacity: 0;
      visibility: hidden; }
    .header__logo-main {
      width: 14rem; }
  .header__menu, .header__tel {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    width: 2.5rem;
    height: 2.5rem;
    background: #FFFAED;
    color: #3A3330;
    border-radius: 50%; }
    .header__menu svg, .header__tel svg {
      width: 1rem; }
    .header__menu:hover, .header__tel:hover {
      background: #A7A7A7; }
  .header__menu svg {
    overflow: visible;
    height: auto; }
    .header__menu svg line {
      transition: .6s all; }
  .header-lang {
    position: relative;
    color: #FFFAED; }
    .header-lang:hover .header-lang__dropdown {
      opacity: 1;
      visibility: visible;
      transform: none; }
    .header-lang__btn {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      padding-bottom: .6rem;
      margin-bottom: -.6rem;
      cursor: default; }
      .header-lang__btn svg {
        width: .6rem; }
    .header-lang__dropdown {
      position: absolute;
      top: 100%;
      left: -.75rem;
      background: #FFFAED;
      padding: .75rem;
      margin-top: .5rem;
      width: 3rem;
      box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
      opacity: 0;
      visibility: hidden;
      transition: .2s all;
      transform: translateY(-0.5rem); }
      .header-lang__dropdown ul li {
        margin-bottom: .5rem; }
        .header-lang__dropdown ul li:last-child {
          margin-bottom: 0; }
        .header-lang__dropdown ul li a {
          color: #3A3330; }
          .header-lang__dropdown ul li a:hover {
            color: #A7A7A7; }
  .header.header-dark {
    color: #3A3330; }
    .header.header-dark .header__menu, .header.header-dark .header__tel {
      background: #3A3330;
      color: #FFFAED; }
      .header.header-dark .header__menu:hover, .header.header-dark .header__tel:hover {
        background: #A7A7A7; }
    .header.header-dark .header__link {
      color: #3A3330; }
      .header.header-dark .header__link:hover {
        color: #A7A7A7; }
    .header.header-dark .header-lang__btn {
      color: #3A3330; }
  .header.header-without {
    color: #3A3330; }
    .header.header-without .header__logo-lion, .header.header-without .header__logo-main, .header.header-without .header__logo-tenet {
      opacity: 0;
      visibility: hidden; }
    .header.header-without .header__menu, .header.header-without .header__tel {
      background: #3A3330;
      color: #FFFAED; }
      .header.header-without .header__menu:hover, .header.header-without .header__tel:hover {
        background: #A7A7A7; }
    .header.header-without .header__link {
      color: #3A3330; }
      .header.header-without .header__link:hover {
        color: #A7A7A7; }
    .header.header-without .header-lang__btn {
      color: #3A3330; }
  .header.header-tenet .header__logo-lion, .header.header-tenet .header__logo-main {
    opacity: 0;
    visibility: hidden; }
  .header.header-tenet .header__logo-tenet {
    opacity: 1;
    visibility: visible; }
  .header.header-last .header__logo-lion, .header.header-last .header__logo-main, .header.header-last .header__logo-tenet {
    opacity: 0;
    visibility: hidden; }
  .header.header-menu {
    color: #3A3330; }
    .header.header-menu .header__menu, .header.header-menu .header__tel {
      background: #ECE6D3;
      color: #3A3330; }
      .header.header-menu .header__menu:hover, .header.header-menu .header__tel:hover {
        background: #A7A7A7;
        color: #FFFAED; }
    .header.header-menu .header__menu svg line:nth-child(1) {
      transform: rotate(45deg) translateY(0.3rem);
      transform-origin: center; }
    .header.header-menu .header__menu svg line:nth-child(2) {
      opacity: 0; }
    .header.header-menu .header__menu svg line:nth-child(3) {
      transform: rotate(-45deg) translateY(-0.3rem);
      transform-origin: center; }
    .header.header-menu .header__link {
      color: #3A3330; }
      .header.header-menu .header__link:hover {
        color: #A7A7A7; }
    .header.header-menu .header-lang__btn {
      color: #3A3330; }
    .header.header-menu .header__logo-lion {
      opacity: 1;
      visibility: visible; }
    .header.header-menu .header__logo-main, .header.header-menu .header__logo-tenet {
      opacity: 0;
      visibility: hidden; }
  .header.header-start {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%); }
  .header.header-genplan {
    pointer-events: none;
    padding: 1.5rem 2rem; }
    .header.header-genplan .header-wrap {
      pointer-events: auto; }
    .header.header-genplan .header__menu {
      pointer-events: none; }
  .header.header-floor {
    padding: 1.5rem 2rem; }
    .header.header-floor .header__menu {
      pointer-events: none; }

.main {
  z-index: 8 !important; }
  .main__img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: -1; }
    .main__img img {
      width: 100%;
      display: block;
      height: 206vw;
      transition: 3s all ease-in-out; }
  .main-content {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    text-align: center;
    z-index: 1; }
  .main-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -3.2rem;
    transition: 1s all ease-in-out; }
  .main-logo {
    margin-bottom: 1rem; }
    .main-logo__ico {
      width: 15rem;
      margin: 0 auto 1.6rem; }
    .main-logo__text {
      width: 31rem; }
    .main-logo img {
      width: 100%;
      display: block; }
  .main__title {
    font-weight: 500;
    font-family: "Snell Roundhand", cursive;
    color: #FFFAED;
    letter-spacing: 0.01em;
    font-size: 3.5rem;
    transition: .8s all ease-in-out; }
    .main__title img {
      width: 9rem;
      display: inline-block;
      margin-top: 1.5rem; }
  .main-info {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    transition: .8s all ease-in-out;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500; }
    .main-info div {
      margin-top: 0.7rem;
      display: flex;
      justify-content: center;
      height: 4rem; }
      .main-info div p {
        background: #fff;
        width: 1px;
        height: 0%;
        animation: heightLine 2s ease-in-out infinite; }
    .main-info.hide {
      opacity: 0;
      visibility: hidden; }
  .main__cloud {
    position: absolute;
    z-index: 0;
    width: 100%;
    top: calc(100vh - 25vw);
    left: 0;
    transition: 3s all ease-in-out; }
    .main__cloud img {
      width: 100%;
      display: block; }
  .main__subtitle {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2rem;
    line-height: 0.8;
    font-size: 6rem;
    color: #FFFAED;
    font-weight: 500;
    text-align: center;
    z-index: 2;
    transition: .8s all ease-in-out;
    opacity: 0;
    margin-bottom: -5rem;
    visibility: hidden;
    transition-delay: 1s; }
    .main__subtitle.active {
      opacity: 1;
      visibility: visible;
      margin: 0; }
  .main.start .main__title {
    opacity: 0;
    visibility: hidden;
    transform: translateY(3rem); }
  .main.start .main-info {
    opacity: 0;
    visibility: hidden;
    margin-top: 3rem; }
  .main.active .main-wrap {
    opacity: 0;
    visibility: hidden; }
  .main.active .main__cloud {
    transform: translateY(-100vw); }
  .main.active .main__img img {
    transform: translateY(calc(100svh - 206vw)); }
  .main.zIndex {
    z-index: 1 !important; }

.about-content {
  width: 100%;
  height: 100%;
  padding-top: 10vh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
  z-index: 1; }
.about__img {
  width: 40rem;
  margin-bottom: 4rem; }
  .about__img img {
    width: 100%;
    display: block; }
.about__title {
  font-weight: 400;
  line-height: 0.9;
  font-size: 4rem;
  text-transform: uppercase;
  max-width: 65rem;
  margin-bottom: 2rem; }
.about__text {
  font-size: 1.8rem;
  line-height: 1;
  max-width: 45rem; }

.blocks .section-slide {
  background: #FFF4D7; }
.blocks-list {
  display: flex;
  height: 100%; }
.blocks-slider {
  display: none; }
.blocks-item {
  height: 100%;
  background: #FFF4D7;
  width: 33.3333%;
  flex-shrink: 0; }
  .blocks-item.red .blocks-item__top {
    background: #41191E; }
  .blocks-item.green .blocks-item__top {
    background: #2C3019; }
  .blocks-item.blue .blocks-item__top {
    background: #001835; }
  .blocks-item.orange .blocks-item__top {
    background: #BB6835; }
  .blocks-item.brown .blocks-item__top {
    background: #BFAE83; }
  .blocks-item.yellow .blocks-item__top {
    background: #D3AE53; }
  .blocks-item.water .blocks-item__top {
    background: #141D3B; }
  .blocks-item.water .blocks-item__title {
    color: #BFCEFF; }
  .blocks-item.shadow .blocks-item__top {
    background: #BF9F72; }
  .blocks-item.shadow .blocks-item__title {
    color: #FFE5BF; }
  .blocks-item.garden .blocks-item__top {
    background: #2C3019; }
  .blocks-item.garden .blocks-item__title {
    color: #879C24; }
  .blocks-item.golf .blocks-item__top {
    background: #2C3019; }
  .blocks-item.tennis .blocks-item__top {
    background: #494867; }
  .blocks-item.arena .blocks-item__top {
    background: #D2B076; }
  .blocks-item__top {
    padding-top: 7.5rem;
    height: 19rem;
    text-align: center;
    color: #C4AD63; }
  .blocks-item__title {
    max-width: 25rem;
    margin: 0 auto;
    line-height: 0.9;
    font-size: 3.5rem;
    text-transform: uppercase; }
  .blocks-item__number {
    display: flex;
    justify-content: center;
    gap: 1rem;
    color: #fff;
    font-weight: 500;
    font-size: 3rem;
    margin-bottom: 4rem; }
    .blocks-item__number img {
      width: 3rem; }
  .blocks-item__bot {
    display: flex;
    flex-direction: column;
    padding: 3rem 3rem 7rem;
    justify-content: flex-end;
    height: calc(100% - 19rem);
    font-size: 1.3rem; }
    .blocks-item__bot p {
      margin-bottom: 1.3rem;
      line-height: 1.3; }
      .blocks-item__bot p:last-child {
        margin-bottom: 0; }
  .blocks-item__text {
    text-align: center; }
.blocks__img {
  width: 33.3333%;
  flex-shrink: 0;
  overflow: hidden; }
  .blocks__img img, .blocks__img video {
    max-width: none;
    width: calc(100% + 2px);
    height: 100%;
    object-fit: cover; }
.blocks-1 .blocks-item__text {
  min-height: 12rem; }

.comfort .section-slide {
  padding-top: 20vh; }
.comfort__bg {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1; }
  .comfort__bg img {
    height: 120%;
    width: 100%;
    object-fit: cover;
    transition: 1.2s all ease-in-out; }
.comfort__text {
  max-width: 50rem;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 0 auto; }

.location .section-double__left {
  background: #384327;
  color: #fff;
  padding-top: 3rem; }
.location .section-title {
  max-width: 30rem; }
.location .section-text {
  max-width: 30rem; }
.location__line {
  height: 33vh;
  width: 1px;
  background: #fff;
  margin: 2rem 0; }
.location .section-double__right, .location .section-double__mob {
  position: relative; }
.location__btn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 4rem;
  width: 7rem;
  height: 7rem;
  padding: 0.55rem;
  border-radius: 50%;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 500; }
  .location__btn::after {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    content: '';
    z-index: -1;
    background: url(../img/icons/location.svg) center center no-repeat;
    background-size: contain;
    transition: 1s all ease-in-out; }
  .location__btn img {
    width: 1.5rem; }
  .location__btn div {
    border: .1rem solid #fff;
    background: #384327;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 1rem;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    gap: .4rem; }
  .location__btn:hover::after {
    transform: rotate(180deg); }

.villa .section-double__right {
  padding: 0 4rem; }
.villa .section-text {
  margin: 2rem 0; }
.villa__img {
  width: 17rem;
  margin-bottom: 3rem; }
  .villa__img img {
    width: 100%;
    display: block; }

.park__img {
  width: 27rem;
  margin-bottom: 4rem; }
  .park__img img {
    width: 100%;
    display: block; }
.park .section-title {
  margin-bottom: 4rem; }
.park .section-text {
  margin-bottom: 3rem;
  max-width: 28rem; }

.childhood .section-title {
  margin-bottom: 3rem;
  max-width: 19rem;
  text-align: center; }
.childhood__line {
  height: 35vh;
  width: 1px;
  background: #3A3330;
  margin-bottom: 2rem; }
.childhood .section-text {
  max-width: 25rem; }

.sport .section-title {
  margin-bottom: 3rem;
  max-width: 19rem;
  text-align: center;
  margin-top: 3rem; }
.sport__line {
  height: 30vh;
  width: 1px;
  background: #3A3330;
  margin-bottom: 2rem; }
.sport .section-text {
  max-width: 30rem;
  margin-bottom: 3rem; }

.side-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100svh;
  z-index: 10;
  background: #FFF4D7;
  clip-path: inset(0% 0% 0% 100%);
  display: none;
  will-change: clip-path; }
  .side-overlay#side-villa .side-slide .blocks-item__title {
    color: #FFFFFF;
    font-size: 2.8rem; }
  .side-overlay#side-sport .side-slide .blocks-item__title {
    font-size: 3rem;
    color: #FFFAED; }
.side-close {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 4rem;
  background: #FFF4D7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  text-align: center;
  padding: 1rem 0;
  cursor: pointer;
  user-select: none;
  transition: .6s all;
  z-index: 5;
  font-size: 0.75rem; }
  .side-close:hover {
    background: #d5bf76; }
  .side-close__img {
    width: 1.5rem; }
    .side-close__img img {
      width: 100%;
      display: block; }
.side-scroll-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
  touch-action: none; }
.side-wrapper {
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
  width: max-content; }
.side-slide {
  width: 125vw;
  height: 100%;
  flex-shrink: 0; }
  .side-slide__wrap {
    width: 100%;
    display: flex;
    height: 100%; }
  .side-slide .blocks-item {
    width: 24%; }
    .side-slide .blocks-item__number {
      margin-bottom: 2rem; }
    .side-slide .blocks-item__top {
      height: 17rem;
      padding-top: 0;
      display: flex;
      justify-content: center;
      align-items: center; }
    .side-slide .blocks-item__bot {
      height: calc(100% - 17rem);
      padding: 0 3rem;
      text-align: center;
      justify-content: space-evenly; }
    .side-slide .blocks-item__text {
      font-size: 1.2rem;
      line-height: 1; }
    .side-slide .blocks-item__img {
      width: 20rem;
      margin: 0 auto; }
      .side-slide .blocks-item__img img {
        width: 100%;
        display: block; }
  .side-slide__img {
    width: 76%;
    overflow: hidden; }
    .side-slide__img img {
      width: 120%;
      margin-left: -20%;
      max-width: none;
      height: 100%;
      display: block;
      object-fit: cover; }

.guzar-main {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  padding-bottom: 5rem; }
.guzar__bg {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1; }
  .guzar__bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
.guzar__title {
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 400; }
.guzar__text {
  max-width: 45rem;
  font-size: 1.9rem;
  letter-spacing: -0.02em;
  line-height: 1; }

.unity-main {
  width: 100%;
  height: 100%;
  display: flex; }
.unity-wrap {
  width: 50%;
  background: #907B60;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 6rem;
  text-align: center; }
.unity .section-title {
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: .9; }
.unity__line {
  margin: 3rem 0;
  width: 1px;
  background: #fff;
  height: 30vh; }
.unity__text {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  line-height: 1; }
  .unity__text span {
    font-weight: 700; }
.unity__img {
  width: 50%;
  height: 100%;
  overflow: hidden; }
  .unity__img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }

.privacy-main {
  width: 100%;
  height: 100%;
  position: relative;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  padding-top: 20vh; }
.privacy__bg {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1; }
  .privacy__bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
.privacy__text {
  max-width: 43rem;
  font-size: 2rem;
  letter-spacing: -0.02em;
  line-height: 1; }
  .privacy__text span {
    font-weight: 700; }

.arc .section-slide {
  background: #fff; }
  .arc .section-slide__right {
    padding: 3rem; }
.arc .section-title {
  max-width: 20rem; }
.arc .section-text {
  max-width: 30rem; }
  .arc .section-text p {
    margin-bottom: 1.5rem; }
    .arc .section-text p:last-child {
      margin-bottom: 0; }
.arc__img {
  width: 6rem;
  margin: 5rem 0; }

.tenet.section-double {
  flex-direction: column; }
.tenet .section-double__top {
  background: #E7E4E2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 7rem 2rem 3rem; }
.tenet__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  text-transform: uppercase;
  letter-spacing: -0.06em;
  font-size: 1.8rem;
  color: #000; }
  .tenet__title span {
    flex-grow: 1;
    height: 1px;
    background: #5D5D5D; }
.tenet-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 6rem; }
.tenet__logo {
  height: 6rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); }
  .tenet__logo img {
    height: 100%;
    display: block; }
.tenet__link {
  font-size: 0.9rem;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
  color: #000; }
  .tenet__link:hover {
    border-color: transparent; }
.tenet__img {
  width: 100%;
  height: 100%;
  overflow: hidden; }
  .tenet__img img {
    width: 100%;
    height: 100svh;
    object-fit: cover;
    margin-top: calc(-50svh + 1px); }

.exclusive-main {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  padding-top: 2rem; }
.exclusive__bg {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1; }
  .exclusive__bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
.exclusive__title {
  text-transform: uppercase;
  font-size: 3.3rem;
  font-weight: 400;
  max-width: 30rem;
  letter-spacing: -0.06em;
  margin: 0 auto 1rem;
  line-height: 1; }
.exclusive__text {
  max-width: 35rem;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0 auto 4rem; }
  .exclusive__text span {
    font-weight: 700; }
  .exclusive__text p {
    margin-bottom: 1.2rem; }
.exclusive__btn {
  background: #fff;
  padding: 0 1.5rem; }

.consult .section-slide__right {
  padding: 5rem; }
.consult .section-title {
  max-width: 35rem;
  margin-bottom: 1.5rem; }
.consult .section-text {
  max-width: 35rem;
  margin-bottom: 4rem; }
.consult-form {
  max-width: 31rem; }

.genplan {
  overflow: hidden;
  max-width: 100vw;
  max-height: 100svh;
  position: relative; }
  .genplan-container {
    transition: 1s all;
    transform-origin: center center; }
  .genplan-wrap {
    width: 196vw;
    height: 79vw;
    will-change: transform; }
  .genplan__img {
    width: 100%;
    height: 100%;
    position: relative; }
    .genplan__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      user-select: none; }
    .genplan__img svg {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      z-index: 2; }
      .genplan__img svg path {
        opacity: 0;
        transition: .1s all;
        animation: svgPulse 2s infinite linear;
        cursor: pointer; }
        .genplan__img svg path:hover {
          opacity: 1;
          animation: none; }
  .genplan .clouds {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none; }
    .genplan .clouds img {
      left: 0;
      width: 30rem;
      position: absolute;
      animation: run 95s linear infinite;
      transform: translateX(-20rem); }
    .genplan .clouds .cloud1 {
      bottom: 30%;
      width: 50rem;
      animation-delay: -30s; }
    .genplan .clouds .cloud2 {
      bottom: 70%;
      animation-delay: 20s;
      width: 40rem;
      animation: run 95s linear infinite;
      animation-delay: -40s; }
    .genplan .clouds .cloud3 {
      bottom: 45%;
      animation: run 95s linear infinite;
      animation-delay: -35s; }
    .genplan .clouds .cloud4 {
      bottom: 85%;
      animation: run 95s linear infinite; }
    .genplan .clouds .cloud5 {
      bottom: 70%;
      animation-delay: -32s;
      animation-duration: 90s; }
    .genplan .clouds .cloud6 {
      bottom: 10%;
      animation-delay: -15s;
      animation-duration: 90s;
      width: 45rem; }
    .genplan .clouds .cloud7 {
      bottom: 85%;
      animation: run 95s linear infinite;
      animation-delay: 0; }
  .genplan .birds {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 6;
    pointer-events: none; }
    .genplan .birds-two {
      transform: rotate(45deg) translateX(-10rem); }
      .genplan .birds-two .bird-container--one {
        animation-duration: 25s;
        animation-delay: 0; }
      .genplan .birds-two .bird-container--two {
        animation-duration: 29s;
        animation-delay: 7s; }
    .genplan .birds img {
      max-width: none; }
    .genplan .birds .bird {
      background-image: url(../img/genplan/bird-flight.png);
      background-size: auto;
      width: 92px;
      height: 45px;
      will-change: background-position;
      filter: invert(100%);
      animation-name: fly-cycle;
      animation-timing-function: steps(20);
      animation-iteration-count: infinite; }
    .genplan .birds .bird--one {
      animation-duration: 2s;
      animation-delay: -0.5s; }
    .genplan .birds .bird--two {
      animation-duration: 1.8s;
      animation-delay: 5s; }
    .genplan .birds .bird-container {
      position: absolute;
      top: 20%;
      transform: scale(0) translateY(120vw);
      will-change: transform;
      animation-name: fly-right-one;
      animation-timing-function: linear;
      animation-iteration-count: infinite; }
    .genplan .birds .bird-container--one {
      left: 25%;
      animation-duration: 30s;
      animation-delay: 0; }
    .genplan .birds .bird-container--two {
      left: 45%;
      animation-duration: 32s;
      animation-delay: 15s; }
  .genplan-info {
    position: fixed;
    left: 0;
    top: 0;
    width: 10rem;
    height: 8.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    top: 10rem;
    height: 10rem;
    background: #FFFAED;
    text-transform: uppercase;
    font-size: 0.9rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    margin-top: -10rem;
    font-weight: 500; }
    .genplan-info.active {
      opacity: 1;
      visibility: visible; }
    .genplan-info__number {
      padding-bottom: 0.9rem;
      margin-bottom: 0.9rem;
      border-bottom: 1px solid #3A3330;
      font-size: 3rem;
      line-height: 0.9;
      font-weight: 400; }
  .genplan-end {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99;
    height: 100%;
    display: none; }
    .genplan-end__layer {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      transition: .6s all;
      background: #fff;
      opacity: 0;
      transition-delay: 2s; }
      .genplan-end__layer.active {
        opacity: 1; }
    .genplan-end__clouds {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center; }
      .genplan-end__clouds img {
        height: 100%;
        display: block;
        transition: 2.2s all ease-in-out; }
        .genplan-end__clouds img:nth-child(1) {
          transform: translateX(-80vh); }
        .genplan-end__clouds img:nth-child(2) {
          transform: translateX(80vh); }
      .genplan-end__clouds.active img:nth-child(1) {
        transform: translateX(65vh); }
      .genplan-end__clouds.active img:nth-child(2) {
        transform: translateX(-65vh); }

.choose {
  height: 100svh;
  position: relative; }
  .choose-loading {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 4;
    background: #fff; }
    .choose-loading__load {
      display: inline-block;
      position: relative;
      width: 5rem;
      height: 5rem;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2; }
      .choose-loading__load div {
        display: block;
        position: absolute;
        width: 4rem;
        height: 4rem;
        margin: .4rem;
        border: 0.4rem solid #3A3330;
        border-radius: 50%;
        animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: #3A3330 transparent transparent transparent; }
        .choose-loading__load div:nth-child(1) {
          animation-delay: -0.45s; }
        .choose-loading__load div:nth-child(1) {
          animation-delay: -0.3s; }
        .choose-loading__load div:nth-child(1) {
          animation-delay: -0.15s; }
  .choose__back {
    position: absolute;
    left: 2rem;
    top: 5rem;
    z-index: 3;
    height: 2rem;
    width: 8rem;
    color: #fff;
    border-radius: 2rem;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    .choose__back:hover {
      background: #3A3330; }
  .choose-map {
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    position: absolute;
    bottom: 0;
    right: 0;
    padding: .5rem 1rem;
    z-index: 3; }
    .choose-map__img {
      height: 10rem;
      position: relative; }
      .choose-map__img img {
        height: 100%;
        display: block; }
      .choose-map__img svg {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute; }
        .choose-map__img svg path {
          opacity: .5;
          transition: .6s all; }
          .choose-map__img svg path:hover {
            opacity: 1; }
      .choose-map__img a.active {
        pointer-events: none; }
        .choose-map__img a.active path {
          opacity: 1; }
  .choose-main {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 2; }
    .choose-main__img {
      height: 100%;
      width: 100%;
      position: relative; }
      .choose-main__img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .choose-main__img svg {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0; }
        .choose-main__img svg path {
          opacity: 0;
          transition: .1s all;
          animation: svgPulse 2s infinite linear; }
          .choose-main__img svg path:hover {
            opacity: 1;
            animation: none; }
  .choose-info {
    position: fixed;
    left: 0;
    top: 0;
    background: #FFFAED;
    text-transform: uppercase;
    font-size: 0.9rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 3;
    pointer-events: none;
    transform: translateY(-50%);
    text-align: center; }
    .choose-info.active {
      opacity: 1;
      visibility: visible; }

.block-info {
  padding: 1.5rem;
  width: 21.2rem;
  font-size: 0.8rem;
  font-weight: 500; }
  .block-info__number {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: .7rem;
    text-transform: uppercase;
    font-size: 1.1rem;
    gap: 1rem;
    color: #000; }
    .block-info__number p {
      flex-grow: 1;
      height: 1px;
      background: #000; }
  .block-info__square {
    margin-bottom: 1.5rem; }
    .block-info__square div {
      font-size: 3rem;
      text-transform: lowercase;
      color: #000;
      line-height: 0.95;
      letter-spacing: -0.02em; }
  .block-info__wrap {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1.5rem; }
  .block-info__line {
    width: 1px;
    background: #000;
    flex-shrink: 0; }
  .block-info__item {
    width: 50%; }
    .block-info__item div {
      letter-spacing: -0.02em;
      text-transform: lowercase;
      color: #000;
      line-height: 0.9;
      font-size: 1.95rem;
      margin-bottom: 0.5rem; }
    .block-info__item p {
      font-size: 0.6rem; }
  .block-info__hex {
    margin-bottom: 0.2rem; }
    .block-info__hex div {
      display: inline-flex;
      width: 1.1rem;
      height: 1.1rem;
      border: 1px solid #000;
      border-radius: 50%;
      margin-bottom: 0.3rem;
      padding: 0.15rem; }
      .block-info__hex div span {
        width: 100%;
        height: 100%;
        border-radius: 50%; }
    .block-info__hex p {
      font-size: 0.6rem; }

.house-info {
  left: 5rem;
  top: 25rem;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 18.85rem; }
  .house-info__number {
    padding: 0 0.5rem 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #000;
    color: #000;
    font-size: 2.6rem;
    font-weight: 500; }
  .house-info__square {
    font-size: 1rem; }
    .house-info__square div {
      text-transform: lowercase;
      font-size: 2.6rem;
      font-weight: 500; }

.floor {
  padding-top: 5rem;
  background: #fff;
  height: 100vh;
  overflow: hidden; }
  .floor .choose__back {
    background: #3A3330; }
    .floor .choose__back:hover {
      background: #A7A7A7; }
  .floor-wrap {
    display: flex;
    padding: 0 2rem;
    gap: 5rem; }
  .floor-left {
    width: 31.75%;
    padding-top: 4rem; }
  .floor .block-info {
    margin-bottom: 1.5rem; }
  .floor__name {
    font-size: 1.85rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 1rem; }
    .floor__name span {
      text-transform: uppercase; }
  .floor-info {
    position: relative; }
    .floor-info::before, .floor-info::after {
      content: '';
      width: 100%;
      height: 2rem;
      position: absolute;
      left: 0;
      z-index: 1;
      pointer-events: none; }
    .floor-info::before {
      top: 0;
      background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%); }
    .floor-info::after {
      bottom: 0;
      background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%); }
    .floor-info__img {
      max-height: calc(100vh - 17rem);
      overflow: auto;
      padding: 1.3rem 0; }
      .floor-info__img::-webkit-scrollbar {
        width: 2px;
        height: 2px;
        background: #F2F2F2;
        display: block; }
      .floor-info__img::-webkit-scrollbar-thumb {
        background: #BB8061;
        border-radius: 0; }
  .floor-center {
    width: 36.5%; }
  .floor-main {
    margin-bottom: 1.5rem;
    height: calc(100vh - 10rem);
    position: relative; }
    .floor-main:hover .floor__zoom {
      opacity: 1; }
  .floor__gallery {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute; }
  .floor__img {
    width: 100%;
    height: 100%; }
    .floor__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain; }
  .floor__zoom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    width: 2.25rem;
    transition: .6s all;
    opacity: 0; }
    .floor__zoom img {
      width: 100%; }
  .floor__links {
    display: flex;
    justify-content: center;
    gap: .8rem; }
    .floor__links .btn {
      height: 2rem;
      padding: 0 0.65rem;
      min-width: 8rem; }
      .floor__links .btn.active {
        background: #3A3330;
        color: #fff;
        pointer-events: none; }
  .floor-right {
    width: 31.75%;
    padding: 4rem 2rem 0rem 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between; }
  .floor-villa {
    text-transform: uppercase;
    font-size: 0.8rem;
    text-align: center;
    min-width: 20rem;
    margin: 0 auto 2.5rem; }
  .floor-map {
    margin-bottom: 4rem; }
    .floor-map__title {
      font-weight: 500;
      font-size: 1.1rem;
      letter-spacing: -0.02em;
      margin-bottom: 0.5rem; }
    .floor-map .choose-map {
      position: static;
      padding: 0; }
      .floor-map .choose-map__img {
        display: inline-block; }
  .floor-pdf {
    text-align: center; }
    .floor-pdf .btn {
      height: 2rem;
      padding: 0 0.75rem; }

.footer.section-double {
  flex-direction: column; }
.footer .section-double__top {
  clip-path: inset(100% 0% 0% 0%);
  background: #384327;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  padding: 5rem 2rem 1.5rem; }
.footer .section-double__bot {
  clip-path: inset(0% 0% 100% 0%); }
.footer__logo {
  width: 16rem; }
  .footer__logo img {
    width: 100%;
    display: block; }
.footer .tenet__title {
  color: #FFE5BF;
  width: 100%; }
  .footer .tenet__title span {
    background: #FFE5BF; }
.footer-main {
  padding: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  width: 100%;
  height: 100%;
  letter-spacing: -0.02em; }
.footer-left, .footer-right {
  width: 50%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 1rem; }
.footer-line {
  width: 1px;
  flex-shrink: 0;
  background: #D9D9D9; }
.footer__tel {
  color: #3A3330;
  line-height: 1;
  font-size: 2.2rem;
  text-transform: uppercase; }
  .footer__tel:hover {
    color: #BB6835; }
.footer__address {
  text-transform: uppercase;
  max-width: 22rem;
  margin-top: 1rem;
  font-size: 1.3rem; }
.footer-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem; }
  .footer-wrap-mob {
    display: none; }
.footer-worktime {
  font-size: 1.1rem;
  line-height: 1; }
.footer-social {
  display: flex;
  gap: .6rem; }
  .footer-social li {
    display: inline-flex; }
  .footer-social a {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #2C3019; }
    .footer-social a img {
      width: 100%; }
    .footer-social a:hover {
      background: #BB6835; }
.footer-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5rem; }
.footer-map {
  width: 100%;
  position: relative;
  height: 16rem; }
  .footer-map #footerMap {
    width: 100%;
    height: 100%; }
  .footer-map__btns {
    bottom: 0.75rem;
    position: absolute;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0.75rem; }
  .footer-map .btn {
    padding: 0 2.5rem;
    background: #384327;
    color: #FFFAED; }
    .footer-map .btn::after {
      background: #FFFAED; }
    .footer-map .btn:hover {
      color: #384327; }
.footer-copy {
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .footer-copy a {
    color: #3A3330; }
    .footer-copy a:hover {
      color: #BB6835; }

@media (max-width: 2800.98px) {
  :root {
    font-size: 26px; } }
@media (max-width: 2600.98px) {
  :root {
    font-size: 24px; }

  ::-webkit-scrollbar {
    width: 6px; } }
@media (max-width: 2300.98px) {
  :root {
    font-size: 22px; } }
@media (max-width: 2100.98px) {
  :root {
    font-size: 20px; } }
@media (max-width: 1800.98px) {
  :root {
    font-size: 19px; } }
@media (max-width: 1700.98px) {
  :root {
    font-size: 18px; } }
@media (max-width: 1600.98px) {
  :root {
    font-size: 17px; } }
@media (max-width: 1500.98px) {
  :root {
    font-size: 16px; } }
@media (max-width: 1400.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 1300.98px) {
  :root {
    font-size: 14px; } }
@media (max-width: 1200.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 1100.98px) {
  :root {
    font-size: 12px; } }
@media (max-width: 1000.98px) {
  :root {
    font-size: 11px; } }
@media (max-width: 900.98px) {
  :root {
    font-size: 10px; } }
@media (max-width: 767.98px), (max-width: 1080px) and (orientation: portrait) {
  :root {
    font-size: 17px; }

  .container {
    padding: 0 4rem; }

  .gotodesk {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
    background: url(../img/genplan/gotodesk.jpg) center center no-repeat;
    background-size: cover;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    text-align: center;
    padding: 0 2rem; }

  html,
  body {
    width: 100%;
    height: 100svh;
    margin: 0;
    padding: 0; }
    html.lock-scroll,
    body.lock-scroll {
      overflow: hidden !important;
      touch-action: none !important;
      -webkit-overflow-scrolling: none; }

  a.desktop-link {
    display: none; }
  a.mobile-link {
    display: inline; }

  .go_top {
    right: 1rem; }

  .sections-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    overflow: hidden;
    will-change: transform; }

  .section-double {
    flex-direction: column; }
    .section-double__left, .section-double__right {
      width: 100%;
      justify-content: flex-end; }
    .section-double__right {
      left: 0; }
    .section-double__mob {
      height: 40%;
      display: block;
      overflow: hidden;
      width: 100%;
      margin-top: 3rem; }

  .menu-images {
    display: none; }
  .menu-wrap {
    padding: 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 5rem; }
  .menu-main {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem; }
  .menu-list {
    text-align: left;
    width: 100%; }
  .menu-sublist {
    width: 100%;
    margin-left: 0; }
  .menu-mob {
    display: block;
    font-size: 1.5rem;
    font-weight: 500; }
    .menu-mob a {
      color: #3A3330; }
    .menu-mob__lang {
      display: flex;
      gap: 1rem;
      margin-top: 1rem; }
  .menu__logo {
    left: 1.5rem;
    transform: none; }

  .header {
    padding: 1.5rem; }
    .header__link, .header-lang {
      display: none !important; }

  .main__cloud {
    top: 45vh; }

  .about__text, .about__title {
    padding: 0 1rem; }

  .blocks-slider {
    display: block;
    pointer-events: none;
    margin-bottom: 2rem;
    position: relative; }
    .blocks-slider__item {
      height: 40rem; }
      .blocks-slider__item img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    .blocks-slider__title {
      color: #41191E;
      font-size: 2.4rem;
      font-weight: 500;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      top: 2rem; }
    .blocks-slider .owl-dots {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 1rem;
      width: calc(100% - 4rem);
      gap: .6rem;
      display: flex; }
      .blocks-slider .owl-dots .owl-dot {
        height: 3px;
        flex-grow: 1;
        background: rgba(255, 255, 255, 0.3);
        display: flex; }
        .blocks-slider .owl-dots .owl-dot span {
          height: 100%;
          width: 0%;
          background: #fff; }
        .blocks-slider .owl-dots .owl-dot.active span {
          width: 100%;
          transition: 5s all; }
  .blocks-item {
    width: 100%; }
    .blocks-item__bot {
      height: auto;
      padding: 0; }
  .blocks-1 .blocks-item {
    background: transparent;
    color: #fff;
    padding: 8rem 1.5rem 3rem;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute; }
    .blocks-1 .blocks-item:last-child {
      background: url(../img/blocks/1-bg.jpg) center center no-repeat;
      background-size: cover; }
    .blocks-1 .blocks-item__top {
      background: transparent !important;
      color: #fff;
      padding: 0;
      height: auto; }
    .blocks-1 .blocks-item__number {
      display: none; }
    .blocks-1 .blocks-item__title {
      font-size: 2.4rem; }
    .blocks-1 .blocks-item__text {
      min-height: 0; }
  .blocks-1 .blocks__img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: -1; }
    .blocks-1 .blocks__img::after {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      content: '';
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 40%), linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 40%); }
  .blocks-2 .blocks__img {
    display: none; }
  .blocks-2 .blocks-item {
    color: #fff;
    background: #41191E;
    padding: 6rem 1.5rem 3rem; }
    .blocks-2 .blocks-item__top {
      display: none; }

  .comfort__text {
    padding: 0 1rem; }

  .location .section-double__right {
    display: none; }
  .location__line {
    height: 15vh; }
  .location__btn {
    transform: none;
    bottom: 1rem;
    left: 1rem;
    width: 5rem;
    height: 5rem;
    padding: 0.3rem;
    font-size: 0.6rem;
    border: 1px dashed #3A3330; }
    .location__btn::after {
      content: none; }
    .location__btn img {
      width: 1.2rem; }
    .location__btn div {
      padding-top: .5rem;
      gap: .3rem; }

  .villa .section-double__left, .childhood .section-double__left {
    display: none; }
  .villa .section-double__right, .childhood .section-double__right {
    top: 0;
    height: 100%;
    padding: 3rem; }

  .park .section-double__left, .sport .section-double__left {
    height: 100%;
    padding: 3rem;
    top: 0; }
  .park .section-double__right, .sport .section-double__right {
    display: none; }

  .park .section-title, .park .section-text, .park__img {
    margin-bottom: 1rem; }

  .side-overlay {
    touch-action: pan-y !important; }
  .side-scroll-container {
    overflow-y: scroll;
    touch-action: auto;
    touch-action: pan-y !important;
    padding-bottom: 5rem; }
  .side-close {
    bottom: 0;
    top: auto;
    width: 100%;
    height: 5rem;
    flex-direction: row-reverse;
    padding: 0 1.5rem; }
  .side-wrapper {
    flex-direction: column;
    height: auto;
    width: 100%; }
  .side-slide {
    width: 100vw;
    height: auto;
    position: relative; }
    .side-slide__wrap {
      height: auto;
      flex-direction: column-reverse; }
    .side-slide .blocks-item {
      width: 100%;
      position: relative;
      z-index: 2; }
      .side-slide .blocks-item__bot {
        height: auto;
        padding: 3rem; }
    .side-slide__img {
      width: 100%;
      position: sticky;
      top: 0;
      height: 100svh;
      z-index: -1; }
      .side-slide__img img {
        transform: none;
        width: 100%;
        height: 100svh;
        margin-left: 0;
        will-change: height;
        transform-origin: bottom center;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1; }

  .guzar__title {
    font-size: 5rem; }
  .guzar__text {
    font-size: 1.6rem; }

  .unity-main {
    flex-direction: column; }
  .unity-wrap {
    height: 60%;
    padding: 3rem;
    width: 100%; }
  .unity__line {
    margin: 2rem 0;
    height: 15vh; }
  .unity__img {
    width: 100%;
    height: 40%; }

  .arc .section-slide-up::after {
    content: none; }
  .arc__img {
    margin: 1.5rem 0; }

  .tenet__logo {
    height: 4.5rem; }

  .genplan, .choose, .floor {
    display: none; }

  .footer .section-double__top {
    height: 35%; }
  .footer .section-double__bot {
    top: calc(35% - 1px);
    height: calc(65% + 1px); }
  .footer-wrap {
    display: none; }
    .footer-wrap-mob {
      display: flex; }
  .footer-main {
    flex-direction: column;
    justify-content: flex-start;
    position: relative; }
  .footer-left {
    width: 100%;
    padding-right: 3rem; }
  .footer-flex {
    flex-grow: 1; }
  .footer-map {
    height: 100%; }
  .footer-right {
    flex-grow: 1;
    gap: 2rem;
    width: 100%; }
  .footer-line {
    width: 100%;
    height: 1px; } }
@media (max-width: 767.98px) {
  :root {
    font-size: 16px; }

  .footer__logo,
  .tenet__title,
  .footer-main {
    will-change: transform, opacity;
    -webkit-backface-visibility: hidden;
    /* Убирает мерцание в Safari */ }

  .go__top {
    right: .5rem;
    bottom: 1rem; }

  .section-title {
    font-size: 1.5rem; }
  .section-text {
    font-size: 1rem; }
  .section-btn a {
    height: 2.5rem;
    font-size: 1rem;
    width: 11rem; }
  .section-double__mob {
    height: 35%;
    margin-left: -1rem;
    width: calc(100% + 2rem);
    align-self: flex-start; }

  .form input {
    margin-bottom: 1.5rem; }

  .feedback-content {
    width: calc(100% - 2rem);
    padding: 2rem 1rem; }

  .menu-wrap {
    padding: 1rem;
    gap: 4rem; }
  .menu-main {
    gap: 1.5rem; }
  .menu-list {
    font-size: 2rem; }
  .menu-sublist {
    font-size: 1.2rem; }
  .menu-mob {
    font-size: 1.4rem; }
    .menu-mob__lang {
      margin-top: 0.75rem; }
  .menu__logo {
    left: 1rem;
    width: 10rem;
    bottom: 1.5rem; }

  .header {
    padding: 1rem; }
    .header__menu, .header__tel {
      width: 2.2rem;
      height: 2.2rem; }
    .header__logo-lion {
      width: 4rem; }
    .header__logo-main {
      width: 10rem; }
    .header__logo-tenet {
      width: 6rem; }
    .header.header-menu .header__menu svg line:nth-child(1) {
      transform: rotate(45deg) translateY(0.35rem); }
    .header.header-menu .header__menu svg line:nth-child(3) {
      transform: rotate(-45deg) translateY(-0.35rem); }

  .main__img img {
    height: 536vw; }
  .main-wrap {
    margin-top: -2rem; }
  .main__cloud {
    top: calc(100svh - 25vw); }
  .main-logo__ico {
    width: 47vw;
    margin-bottom: 4vw; }
  .main-logo__text {
    width: calc(100vw - 2rem); }
  .main__title {
    font-size: 2.5rem; }
  .main__subtitle {
    font-size: 14vw; }
  .main.active .main__cloud {
    transform: translateY(-250vw); }
  .main.active .main__img img {
    transform: translateY(calc(100svh - 536vw)); }

  .about__img {
    width: 100%;
    margin-bottom: 3rem; }
  .about__title {
    font-size: 8vw; }
  .about__text {
    font-size: 1.5rem; }

  .blocks-slider__item {
    height: 22rem; }
    .blocks-slider__item img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .blocks-slider__title {
    font-size: 1.8rem;
    top: 1rem;
    right: 1.5rem;
    width: 100%;
    transform: none;
    left: 0;
    text-align: center; }
  .blocks-slider .owl-dots {
    width: calc(100% - 2rem); }
  .blocks-item__text {
    font-size: 1rem; }
  .blocks-1 .blocks-item {
    padding: 6rem 1rem 4rem; }
    .blocks-1 .blocks-item__title {
      font-size: 1.9rem; }
  .blocks-2 .blocks-item {
    padding: 5rem 1rem 1.5rem; }

  .comfort .section-slide {
    padding-top: 15svh; }
  .comfort__text {
    font-size: 1.4rem; }

  .location .section-double__left {
    padding: 2.5rem 1rem 0; }
  .location .section-double__mob {
    height: 40%;
    margin-top: 2.5rem; }
  .location__line {
    margin: 1.75rem 0; }
  .location__btn {
    bottom: 2rem; }

  .villa .section-double__right, .childhood .section-double__right {
    padding: 2.5rem 1rem 0; }

  .park .section-double__left, .sport .section-double__left {
    padding: 2.5rem 1rem 0; }

  .villa__img {
    margin-bottom: 1rem;
    width: 14rem; }
  .villa .section-text {
    margin: 1rem 0 1.5rem; }

  .park__img {
    width: 80vw; }

  .childhood .section-title {
    margin-bottom: 1.5rem; }
  .childhood__line {
    margin-bottom: 1.5rem;
    height: 20svh; }

  .sport .section-title {
    margin: 0 0 1.5rem; }
  .sport__line {
    margin-bottom: 1.5rem;
    height: 20svh; }
  .sport .section-text {
    margin-bottom: 1.5rem; }

  .side-overlay#side-villa .side-slide .blocks-item__title {
    font-size: 2rem; }
  .side-overlay#side-sport .side-slide .blocks-item__title {
    font-size: 2.2rem; }
  .side-close {
    height: 4rem;
    padding: 0 1rem;
    font-size: 0.9rem; }
    .side-close__img {
      width: 1rem; }
      .side-close__img img {
        width: 100%;
        display: block; }
  .side-scroll-container {
    padding-bottom: 4rem; }
  .side-slide .blocks-item__number {
    margin-bottom: 1.5rem; }
  .side-slide .blocks-item__top {
    height: 13rem;
    padding: 0 2rem; }
  .side-slide .blocks-item__title {
    font-size: 2.2rem; }
  .side-slide .blocks-item__bot {
    height: calc(100% - 15rem);
    padding: 1.5rem 1rem;
    gap: 1.5rem; }
  .side-slide .blocks-item__text {
    font-size: 1rem; }
  .side-slide .blocks-item__img {
    width: 14rem; }

  .guzar__title {
    font-size: 4rem; }
  .guzar__text {
    font-size: 1.3rem;
    padding: 0 1rem; }

  .unity-wrap {
    padding: 2.5rem 1rem 1.5rem; }
  .unity__title {
    font-size: 1.8rem; }
  .unity__text {
    font-size: 1rem; }
  .unity__line {
    margin: 1.5rem 0; }
  .unity__img img {
    object-position: bottom center; }

  .privacy__text {
    font-size: 1.4rem;
    padding: 0 1rem; }
  .privacy-main {
    padding-top: 15svh; }

  .arc .section-double__right {
    padding: 1.5rem 1rem 0; }
  .arc .section-title {
    font-size: 1.8rem; }
  .arc__img {
    width: 5rem; }
  .arc .section-double__img img {
    object-position: left -25vw; }

  .tenet .section-double__top {
    padding: 10svh 1rem 2rem; }
  .tenet__title {
    font-size: 1.5rem; }
  .tenet-main {
    height: auto;
    flex-wrap: wrap; }
  .tenet__logo {
    position: static;
    transform: none;
    margin-bottom: 10svh;
    width: 100%;
    text-align: center; }
    .tenet__logo img {
      height: 4.5rem;
      display: inline-block; }

  .exclusive__title {
    font-size: 2rem;
    letter-spacing: -0.06em; }
  .exclusive__text {
    font-size: 1.1rem;
    padding: 0 1rem; }
    .exclusive__text p {
      margin-bottom: 1rem; }

  .consult .section-double__right {
    padding-top: 1rem; }
  .consult .section-double__mob {
    margin-top: 2.5rem; }
  .consult .section-title {
    padding: 0 1rem; }
  .consult .section-text {
    padding: 0 1rem;
    margin-bottom: 2rem; }
  .consult-form {
    padding: 0 1rem; }
  .consult .section-double__img img {
    object-position: left -30vw; }

  .footer .section-double__top {
    padding: 3rem 1rem 1.5rem; }
  .footer__logo {
    width: 12rem; }
  .footer-main {
    padding: 1.5rem 1rem 1rem;
    gap: 1rem; }
  .footer__tel {
    font-size: 1.5rem; }
  .footer__address {
    margin-top: .8rem;
    font-size: 1.1rem; }
  .footer-wrap {
    gap: 1rem; }
  .footer-worktime {
    font-size: 1rem; }
  .footer-social {
    gap: .5rem; }
  .footer-map__btns {
    bottom: 0.5rem;
    padding: 0 0.5rem; }
  .footer-map .btn {
    padding: 0 1.5rem; }
  .footer-right {
    gap: 1rem; }
  .footer-copy {
    font-size: 1rem;
    flex-direction: column;
    gap: .5rem;
    align-items: flex-start; } }
@media (max-width: 400px) {
  .main-wrap {
    margin-top: -1.5rem; } }
@media (max-width: 389.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 375.98px) {
  :root {
    font-size: 14px; } }
@media (max-width: 345.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 330.98px) {
  :root {
    font-size: 12px; } }
@media (max-width: 320.98px) {
  :root {
    font-size: 11px; } }
@media (max-width: 300.98px) {
  :root {
    font-size: 10px; } }
@media (max-width: 1000px) and (orientation: landscape) {
  :root {
    font-size: 8.5px; } }
@media (max-width: 700px) and (orientation: landscape) {
  :root {
    font-size: 8px; } }

/*# sourceMappingURL=main.css.map */
