/* The clean film and live captions use the landing page hero treatment. */
.hero.floor-plans-video-hero {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  border-bottom: 0;
  background: #111;
  box-shadow: none;
}

.floor-plans-video-hero .hero-media {
  position: relative;
  overflow: hidden;
  box-sizing: content-box;
  aspect-ratio: 30 / 13;
  padding-bottom: 86px;
}

.floor-plans-hero-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  background: #111;
}

.floor-plans-video-hero .hero-captions {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(8, 12, 11, .28), transparent 62%);
}

.floor-plans-video-hero .hero-caption {
  position: absolute;
  left: clamp(24px, 5.4vw, 104px);
  right: clamp(24px, 5vw, 96px);
  bottom: clamp(70px, 8.6vw, 164px);
  opacity: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .48));
}

.floor-plans-video-hero .hero-caption:first-child {
  opacity: 1;
}

.floor-plans-video-hero .hero-caption-label {
  display: block;
  margin-bottom: 22px;
  color: #dbe5b5;
  font: 600 clamp(12px, 1.1vw, 16px)/1.35 RockHero, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .95), 0 0 2px rgba(0, 0, 0, .8);
}

.floor-plans-page .floor-plans-video-hero .hero-caption-title {
  max-width: 1600px;
  margin: 0;
  color: #f4f5f2;
  font-family: SCRDSans, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(52px, 6vw, 92px);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.044em;
  text-transform: none;
  white-space: normal;
}

.floor-plans-video-hero .hero-caption-title span {
  display: block;
}

.floor-plans-hero-title {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px !important;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.floor-plans-video-fallback {
  margin: 0;
  padding: 16px;
  color: #fff;
}

@media (max-width: 900px) {
  .floor-plans-video-hero .hero-media {
    height: clamp(490px, 70vw, 630px);
    aspect-ratio: auto;
  }

  .floor-plans-hero-video {
    object-fit: cover;
    object-position: 54% center;
  }

  .floor-plans-video-hero .hero-captions {
    background: linear-gradient(0deg, rgba(8, 12, 11, .66), rgba(8, 12, 11, .08) 76%, transparent);
  }

  .floor-plans-video-hero .hero-caption {
    left: 24px;
    right: 24px;
    bottom: clamp(52px, 7vw, 90px);
  }

  .floor-plans-video-hero .hero-caption-label {
    margin-bottom: 16px;
    font-size: 12px;
  }

  .floor-plans-page .floor-plans-video-hero .hero-caption-title {
    font-size: clamp(44px, 11.5vw, 66px);
    line-height: .99;
  }
}

@media (max-width: 600px) {
  .floor-plans-video-hero .hero-media {
    height: clamp(480px, 125vw, 580px);
  }

  .hero.floor-plans-video-hero {
    height: auto;
    min-height: 0;
    padding: 0;
  }

}
