@import "./fonts.css";
@import "./var.css";
@import "./reset.css";
@import "./lib/swiper.min.css";
@import "./lib/fancybox.min.css";
@import "./lib/lenis.min.css";

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}

.container {
  display: grid;
  grid-template-columns: 3.33% [main-start] repeat(12, 1fr) [main-end] 3.33%;
  max-width: 1900px;
  margin-inline: auto;
  width: 100%;
}

[class*=__container]:not(.fancybox__container) {
  display: grid;
  grid-template-columns: 3.33% [main-start] repeat(12, 1fr) [main-end] 3.33%;
  max-width: 1900px;
  margin-inline: auto;
  width: 100%;
}

.container-subgrid {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}

h1 {
  font-size: var(--h1-fs);
  line-height: 1.4;
}

h2 {
  font-size: var(--h2-fs);
  line-height: 1.4;
}

.primary-text {
  color: hsl(var(--primary));
}

.swiper {
  width: 100%;
  height: clamp(18.75rem, 11.165rem + 32.3625vw, 50rem);
}

.swiper-button-next,
.swiper-button-prev {
  position: static;
  width: clamp(2rem, 0.8116rem + 5.0704vw, 5.375rem);
  height: clamp(2rem, 0.8116rem + 5.0704vw, 5.375rem);
  margin-top: 0;
  padding: clamp(0.5rem, 0.0158rem + 2.0657vw, 1.875rem);
  color: hsl(var(--secondary));
}

.swiper-button-next {
  rotate: 180deg;
}

.swiper-nav {
  position: absolute;
  bottom: 0.625rem;
  right: 1.25rem;
  display: flex;
  align-items: center;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

.hero {
  height: 100svh;
  color: hsl(var(--image-foreground));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 1) 100%), url("../assets/img/hero-bg.webp"), hsl(var(--muted-foreground));
  border-bottom-width: 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero__container {
  height: 100%;
}

.hero-text {
  padding-block: clamp(2rem, 0.9437rem + 4.507vw, 5rem);
  grid-column: main;
  display: flex;
  flex-direction: column;
  justify-content: end;
}

.hero-text__suptitle {}

.hero-text__title {
  font-weight: 700;
  text-transform: uppercase;
}

.section {
  padding-block: clamp(3.75rem, 2.4296rem + 5.6338vw, 7.5rem) clamp(0.625rem, -0.0352rem + 2.8169vw, 2.5rem);
}

.section:last-child {
  padding-bottom: clamp(3.75rem, 2.4296rem + 5.6338vw, 7.5rem);
}

.section__title {
  grid-column: main;
  text-transform: uppercase;
}

.section__info {
  grid-column: main / span 7;
}

.section--right .section__info {
  grid-column: 7 / main;
}


.section__description {
  margin-top: clamp(1rem, 0.5599rem + 1.8779vw, 2.25rem);
  font-weight: 300;
  font-size: var(--2xl-fs);
  line-height: 1.3;
}

.section__extra {
  grid-column: main / span 3;
  font-weight: 300;
  font-size: var(--lg-fs);
  text-transform: uppercase;
}

.section-details {
  margin-top: clamp(2.5rem, 1.7077rem + 3.3803vw, 4.75rem);
}

.section-details>*+* {
  margin-top: clamp(1rem, 0.868rem + 0.5634vw, 1.375rem);
}

.section-details__item {
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-bottom: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
  color: hsl(var(--muted));
  border-bottom: 1px solid hsl(var(--muted-foreground));
  font-weight: 300;
}

.section__content {
  grid-column: main;
  margin-top: clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem);
}

.genplan {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 1.0158rem + 2.0657vw, 2.875rem);
}

.genplan__item>span {
  font-size: var(--2xl-fs);
  line-height: 1.3;
  margin-bottom: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
  display: block;
}

.genplan__item>a {
  display: block;
}

.genplan__item img {
  width: 100%;
  height: 100%;
}

.details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4.75rem;
  row-gap: 1.875rem;
  list-style: none;
}

.details__item {
  padding-bottom: clamp(1rem, 0.6919rem + 1.3146vw, 1.875rem);
  border-bottom: 1.5px solid hsl(var(--foreground) / .15);
  color: hsl(var(--foreground)/ .6);
}

.details__item span {
  font-weight: 500;
  font-size: var(--xl-fs);
  line-height: 1.3;
  color: hsl(var(--foreground));
  margin-bottom: clamp(0.5rem, 0.2359rem + 1.1268vw, 1.25rem);
  display: block;
}

.footer {
  margin-top: auto;
  padding-block: clamp(0.5rem, -0.2042rem + 3.0047vw, 2.5rem) clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem);
}

.footer__wrapper {
  grid-column: main;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.25rem;
  row-gap: 0.5rem;
  color: hsl(var(--foreground) / .6);
}

.footer__license {
  flex: 1;
  color: hsl(var(--muted));
  text-decoration: underline !important;
  text-underline-offset: 0.25rem;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .section__extra {
    grid-column: main;
    margin-bottom: 1.5rem;
  }

  .section--right .section__info,
  .section__info {
    grid-column: main;
  }

  .genplan {
    grid-template-columns: 1fr;
  }

  .details {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .hero {
    height: 70svh;
  }
}