/* Final presentation: complete hero image and uncropped, rotating property galleries. */
.hero {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #e8f1ed !important;
}

.hero-media {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  background: #e8f1ed !important;
  transform: none !important;
}

.hero-media::before,
.hero-media::after,
.hero-overlay,
.hero-depth-canvas,
.hero-birds,
.hero-4d-aura,
.hero-editorial-light,
.hero-grain,
.hero-luxury-lines,
.hero-premium-notes,
.hero-kinetic,
.hero .eyebrow,
.hero-copy,
.hero-actions,
.hero .booking-panel {
  display: none !important;
}

.hero-photo {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

.hero-content {
  position: absolute !important;
  z-index: 3 !important;
  top: clamp(66px, 7.5vw, 112px) !important;
  left: clamp(18px, 4vw, 68px) !important;
  width: min(72vw, 620px) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  align-content: initial !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.hero-brand-lockup {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.hero-brand-lockup::before,
.hero-brand-lockup::after,
.hero-brand-lockup p {
  display: none !important;
}

.hero .hero-brand-lockup h1 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.15rem, 2.15vw, 2.35rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-shadow: 0 2px 14px rgba(13, 35, 28, 0.62) !important;
}

.hero .hero-brand-lockup h1 span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

.house-gallery .gallery-showcase {
  display: block !important;
  width: min(100%, 920px) !important;
  margin: 0 auto clamp(22px, 4vw, 42px) !important;
}

.house-gallery .gallery-copy {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 clamp(18px, 3vw, 36px) !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.gallery-photo-grid {
  position: relative !important;
  display: block !important;
  width: min(calc(100% - 32px), 1320px) !important;
  height: min(78vh, 760px) !important;
  min-height: 420px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  scroll-snap-type: none !important;
  background: #e8f1ed !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: 0 20px 60px rgba(31, 61, 50, 0.12) !important;
}

.gallery-photo-grid::before,
.gallery-photo-grid::after {
  display: none !important;
}

.gallery-photo {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(3%) scale(0.995) !important;
  transition: opacity 900ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1), visibility 900ms !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: zoom-in !important;
}

.gallery-photo::before,
.gallery-photo::after,
.gallery-photo figcaption,
.gallery-photo span {
  display: none !important;
}

.gallery-photo.is-current {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) scale(1) !important;
}

.gallery-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  background: transparent !important;
}

.gallery-reel-controls {
  width: min(calc(100% - 32px), 620px) !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.gallery-reel-controls button {
  background: #fff !important;
  color: #23483a !important;
  border: 1px solid rgba(35, 72, 58, 0.22) !important;
  box-shadow: 0 7px 20px rgba(31, 61, 50, 0.08) !important;
}

.gallery-reel-progress {
  background: rgba(35, 72, 58, 0.13) !important;
}

.gallery-reel-progress::after,
.gallery-reel-progress span {
  background: #3f755f !important;
}

@media (max-width: 700px) {
  .hero-content {
    top: 58px !important;
    left: 14px !important;
    width: 82vw !important;
  }

  .hero .hero-brand-lockup h1 {
    font-size: clamp(0.84rem, 3.8vw, 1.18rem) !important;
  }

  .gallery-photo-grid {
    width: calc(100% - 20px) !important;
    height: 68vh !important;
    min-height: 300px !important;
    max-height: 620px !important;
  }

  .gallery-reel-controls {
    width: calc(100% - 24px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-photo {
    transition-duration: 1ms !important;
  }
}