header {
  background: linear-gradient(180deg, #000, transparent);
}

header h1 a {
  display: block;
}

header .logo-center {
  opacity: 0;
}

header .right .language .language-trigger {
  color: #f9f1e6;
}

header .right .contact {
  background-color: #0b3311;
  border-color: #0b3311;
}

header .right .contact:hover {
  background-color: #f8f0e6;
  color: #333;
  border-color: #333;
}

header .right .menu::before,
header .right .menu::after,
header .right .menu span {
  border-bottom-color: #f8f0e6;
}

.video-container {
  position: relative;
  min-height: 100vh;
  background: transparent;
  overflow: hidden;
  background: #0b3311;
}

.video-container .video-wrap {
  inset: 0px;
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: absolute;
}

.video-container .video-wrap video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.video-container .video-controls {
  inset: 0px;
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: absolute;
}

.video-container .video-controls .text-area {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  max-width: 700px;
}

.video-container .video-controls .text-area .title {
  font-size: 3vw;
  line-height: 1;
  text-transform: uppercase;
  font-family: var(--font-serif);
}

.video-container .video-controls .text-area .desc {
  margin-top: 1vw;
  font-size: 1vw;
  line-height: 1.5;
}

.video-container .video-controls .scroll {
  position: absolute;
  left: 50%;
  bottom: 2.34375vw;
  font-size: 0.9375vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05625vw;
  text-transform: uppercase;
  transform: translateX(-50%);
  cursor: pointer;
  color: #faf1e6;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.video-container .video-controls .scroll .line {
  width: 2.34375vw;
  height: 5.78125vw;
  margin: 0px auto 0.78125vw;
  position: relative;
}

@keyframes animatedLine {
  0% {
    top: 0px;
    bottom: 100%;
  }

  5% {
    top: 0px;
    bottom: 100%;
  }

  25% {
    top: 0px;
    bottom: 0px;
  }

  55% {
    top: 0px;
    bottom: 0px;
  }

  70% {
    top: 100%;
    bottom: 0px;
  }

  100% {
    top: 100%;
    bottom: 0px;
  }
}

.video-container .video-controls .scroll .line::before {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 50%;
  content: '';
  width: 0.078125vw;
  background: #faf1e6;
  transform: translateX(-50%);
  animation: 6.5s ease-out 0.5s infinite normal none running animatedLine;
}

.after-hero-anchor {
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.section {
  padding: 0px;
  height: 44.06vw;
}

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

.architecture {
  display: flex;
  position: relative;
}

.architecture .left {
  width: 60vw;
  flex-shrink: 0;
}

.architecture .left img {
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
}

.architecture h1 {
  margin: 0px 0px 1.8125vw;
  font-size: 1.09375vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.065625vw;
  text-transform: uppercase;
  font-family: var(--font-display);
}

.architecture .content {
  padding-top: 1vw;
  width: 34.25vw;
  margin-left: 2vw;
}

.architecture .title {
  margin: 0px 0px 1.5125vw;
  font-family: var(--font-serif);
  font-size: 2.65625vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.053125vw;
  text-transform: uppercase;
}

.architecture .content .left {
  margin-right: 11.35416vw;
}

.architecture .content .desc {
  margin: 0px auto;
  font-size: 1.09375vw;
  line-height: 1.57;
}

.entry {
  padding: 0px 1.875vw;
}

.entry img {
  width: 100%;
}

.team {
  display: flex;
  flex-direction: row-reverse;
  padding: 11.09375vw 1.875vw 11.9531vw;
  position: relative;
}

.team .left {
  width: 70vw;
  flex-shrink: 0;
}

.team .left img {
  width: 100%;
  aspect-ratio: 10 / 5.5;
  object-fit: cover;
}

.team h1 {
  margin: 0px 0px 1.8125vw;
  font-size: 1.09375vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.065625vw;
  text-transform: uppercase;
  font-family: var(--font-display);
}

.team .content {
  padding-top: 1vw;
  width: 24.25vw;
  margin-right: 3vw;
}

.team .title {
  margin: 0px 0px 1.5125vw;
  font-family: var(--font-serif);
  font-size: 2.65625vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.053125vw;
  text-transform: uppercase;
}

.team .content {
  width: 100%;
}

.team .content .left {
  margin-right: 11.35416vw;
}

.team .content .desc {
  margin: 0px auto;
  font-size: 1.09375vw;
  line-height: 1.57;
}

.lobby {
  margin: 0px 0px 11.9531vw;
  padding: 0px 1.875vw;
}

.lobby img {
  width: 100%;
}

@media (max-width: 767px) {
  /* --mobile-hero-* vars are measured at runtime in index.js */

  body.index-page.mobile-hero-layout-ready header:not(.home-fixed):not(.open) {
    top: var(--mobile-hero-header-top);
    transition: none;
  }

  body.index-page.mobile-hero-layout-ready .video-container {
    min-height: var(--mobile-hero-video-h);
    height: var(--mobile-hero-video-h);
  }

  body.index-page.mobile-hero-layout-ready .slogan {
    margin-top: var(--mobile-hero-header-h);
  }

  header:not(.open) .right .menu::before,
  header:not(.open) .right .menu::after,
  header:not(.open) .right .menu span {
    border-bottom-color: #faf1e6;
  }

  header {
    transition: none;
  }

  .video-container .video-wrap video {
    object-position: 32% center;
  }

  header .right .contact {
    border-color: #faf1e6;
  }


  .video-container .video-controls .scroll {
    bottom: 7.63359vw;
    font-size: 3.05344vw;
    letter-spacing: 0.183206vw;
  }

  .video-container .video-controls .scroll .line {
    width: 7.63359vw;
    height: 18.8295vw;
    margin: 0px auto 2.54453vw;
  }

  .video-container .video-controls .scroll .line::before {
    width: 0.254453vw;
  }

  .video-container .video-controls .text-area {
    width: 100%;
    padding: 0 2.08vw;
  }

  .video-container .video-controls .text-area .title {
    font-size: 8.275vw;
  }

  .video-container .video-controls .text-area .desc {
    margin-top: 6vw;
    font-size: 3.3vw;
  }

  body.index-page .video-container {
    margin-bottom: 0;
  }

  .section {
    height: 87.7863vw;
  }

  .section.fadeIn,
  .section.fadeIn.visible {
    transform: none;
    opacity: 1;
    transition: none;
  }
}