/* Keep the shared page backgrounds clean: no stray thumbnail-sized image tiles. */

/* Homepage service cards use the image as the complete visual surface. */
html body .featured-properties__item-cover,
html body .featured-properties__item,
html body .featured-properties__item-info {
  position: relative !important;
  height: 520px !important;
  min-height: 520px !important;
  overflow: hidden !important;
}

html body .featured-properties__item-info {
  display: block !important;
  color: #fff !important;
}

html body .featured-properties__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

html body .featured-properties__img::after {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  content: "" !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, .04) 30%, rgba(0, 0, 0, .84) 100%) !important;
  pointer-events: none !important;
}

html body .featured-properties__img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

html body .featured-properties__text {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  display: block !important;
  padding: 76px 28px 28px !important;
  color: #fff !important;
  text-align: left !important;
}

html body .featured-properties__text h4,
html body .featured-properties__text p {
  position: relative !important;
  z-index: 1 !important;
  color: #fff !important;
}

html body .featured-properties__text h4 {
  margin: 0 0 8px !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.08 !important;
}

html body .featured-properties__text p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

html body .featured-properties__item-info:hover .featured-properties__img img,
html body .featured-properties__item-info:focus-visible .featured-properties__img img {
  transform: scale(1.05) !important;
  filter: brightness(.82) !important;
}

/* The secondary homepage service cards should use the same full-bleed behavior. */
html body .featured-team__holder {
  position: relative !important;
  display: block !important;
  height: 440px !important;
  min-height: 440px !important;
  overflow: hidden !important;
}

html body .featured-team__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

html body .featured-team__img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

html body .featured-team__hover {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  padding: 28px !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, .02) 25%, rgba(0, 0, 0, .86) 100%) !important;
  opacity: 1 !important;
  transform: none !important;
}

html body .featured-team__holder:hover .featured-team__img img,
html body .featured-team__holder:focus-visible .featured-team__img img {
  transform: scale(1.05) !important;
  filter: brightness(.82) !important;
}

html body .featured-team__hover h3,
html body .featured-team__hover p {
  color: #fff !important;
}

/* The neighborhood grid had an empty sixth slot in the donor markup. */
html body .featured-neighborhoods-grid .item:empty {
  display: none !important;
}

@media (max-width: 760px) {
  html body .featured-properties__item-cover,
  html body .featured-properties__item,
  html body .featured-properties__item-info {
    height: 390px !important;
    min-height: 390px !important;
  }

  html body .featured-team__holder {
    height: 350px !important;
    min-height: 350px !important;
  }

  html body .featured-properties__text {
    padding: 64px 20px 20px !important;
  }
}

/* Keep carousel controls legible, compact, and consistent with the theme. */
html body .featured-properties-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

html body .featured-properties-header .slick-links-nav {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .featured-properties-header .slick-links-nav .feature {
  display: inline-block !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: opacity .2s ease, transform .2s ease !important;
}

html body .featured-properties-header .slick-links-nav .feature:not(.slick-disabled):hover {
  opacity: .72 !important;
  transform: translateY(-1px) !important;
}

html body .featured-properties-header .slick-links-nav .feature.slick-disabled {
  cursor: default !important;
  opacity: .38 !important;
}

/* Give the footer a useful, readable information hierarchy. */
html body footer#global-footer {
  background: #272727 !important;
}

html body footer#global-footer .footer {
  padding-top: 72px !important;
  padding-bottom: 28px !important;
}

html body footer#global-footer .rr-footer-description {
  max-width: 620px !important;
  margin: 14px 0 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

html body footer#global-footer .rr-footer-ia {
  max-width: 1440px !important;
  margin: 28px auto 0 !important;
  padding: 22px 15px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .22) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

html body footer#global-footer .rr-footer-ia a {
  color: rgba(255, 255, 255, .88) !important;
  transition: color .2s ease, opacity .2s ease !important;
}

html body footer#global-footer .rr-footer-ia a:hover {
  color: #fff !important;
  opacity: .72 !important;
}

@media (max-width: 760px) {
  html body .featured-properties-header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  html body footer#global-footer .footer {
    padding-top: 48px !important;
  }

  html body footer#global-footer .rr-footer-description {
    font-size: 14px !important;
  }

  html body footer#global-footer .rr-footer-ia {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}
