/* Shared polish for the static rank-and-rent pages. */
html, body { overflow-x: hidden !important; }
body { display: flex !important; flex-direction: column !important; }
body > header#global-navbar { order: 1 !important; flex: 0 0 auto !important; }
body > section { order: 10 !important; flex: 0 0 auto !important; }
body > .lp-container { order: 20 !important; flex: 0 0 auto !important; }
body > p { order: 30 !important; width: min(980px, calc(100% - 48px)) !important; margin: 0 auto 26px !important; color: #585859 !important; font-size: 18px !important; line-height: 1.7 !important; }
body > footer#global-footer { order: 90 !important; flex: 0 0 auto !important; width: 100% !important; }
body > .sidebar__nav, body > .rr-scrim, body > script { order: 100 !important; }

/* Keep the interior-page hero copy inside the viewport. */
#section-49c1b4a7-26bf-424d-91e1-fc082a941001 .custom-intro,
#section-4411791f-5efd-4882-b01b-1867dc1b518b .custom-intro {
  min-height: 500px !important;
  height: auto !important;
  padding: 140px 24px 90px !important;
}
#section-49c1b4a7-26bf-424d-91e1-fc082a941001 .custom-intro .container,
#section-4411791f-5efd-4882-b01b-1867dc1b518b .custom-intro .container {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
#section-49c1b4a7-26bf-424d-91e1-fc082a941001 .custom-intro__title,
#section-4411791f-5efd-4882-b01b-1867dc1b518b .custom-intro__title {
  max-width: 100% !important;
  margin: 0 auto 24px !important;
  font-size: clamp(40px, 6vw, 78px) !important;
  line-height: 1.06 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
#section-49c1b4a7-26bf-424d-91e1-fc082a941001 .custom-intro p {
  max-width: 760px !important;
  margin: 22px auto 0 !important;
  line-height: 1.55 !important;
}

/* Put the contact form before the footer and make it readable. */
body > .lp-container {
  width: 100% !important;
  padding: 72px 24px 100px !important;
  background: #f2f3f3 !important;
}
body > .lp-container form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: min(800px, 100%) !important;
  margin: 0 auto !important;
  padding: 42px !important;
  background: #fff !important;
}
body > .lp-container form .lp-input {
  width: 100% !important;
  min-height: 50px !important;
  border: 1px solid rgba(88, 88, 89, .28) !important;
  padding: 12px 15px !important;
  color: #1a1a1a !important;
}
body > .lp-container form textarea,
body > .lp-container form button { grid-column: 1 / -1 !important; }
body > .lp-container form textarea { min-height: 130px !important; resize: vertical !important; }
body > .lp-container form button {
  min-height: 54px !important;
  border: 0 !important;
  background: #585859 !important;
  color: #fff !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Give the footer one clean text block and remove image placeholders. */
footer#global-footer .footer { padding: 72px 24px 0 !important; }
footer#global-footer .images_box,
footer#global-footer .first_text_footer > .images_box { display: none !important; }
footer#global-footer .text_footer.first_text_footer {
  display: block !important;
  width: min(1100px, 100%) !important;
  margin: 0 auto 36px !important;
}
footer#global-footer .text_footer.first_text_footer .luxury-text {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}
footer#global-footer .text_footer.first_text_footer .luxury-text p {
  margin: 0 !important;
  line-height: 1.6 !important;
}
footer#global-footer .text_footer.second_text_footer { display: none !important; }
footer#global-footer .rr-footer-ia {
  width: min(1120px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 24px 0 36px !important;
}

/* Make the homepage service and location bands use complete, even rows. */
html body section[data-rr-band="services"] .featured-properties .slick-list,
html body section[data-rr-band="locations"] .featured-neighborhoods .slick-list {
  width: 100% !important;
  overflow: visible !important;
}
html body section[data-rr-band="services"] .featured-properties .slick-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 28px !important;
  width: 100% !important;
  transform: none !important;
}
html body section[data-rr-band="locations"] .featured-neighborhoods .slick-track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 28px !important;
  width: 100% !important;
  transform: none !important;
}
html body section[data-rr-band="services"] .slick-track > .slick-slide,
html body section[data-rr-band="locations"] .slick-track > .slick-slide {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body section[data-rr-band="services"] .featured-properties__item,
html body section[data-rr-band="services"] .featured-properties__item-info,
html body section[data-rr-band="locations"] .featured-neighborhoods__slide > a {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
html body section[data-rr-band="services"] .featured-properties__text,
html body section[data-rr-band="locations"] .featured-neighborhoods__title { margin-top: auto !important; }

@media (max-width: 900px) {
  html body section[data-rr-band="services"] .featured-properties .slick-track,
  html body section[data-rr-band="locations"] .featured-neighborhoods .slick-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  body > p { width: calc(100% - 36px) !important; font-size: 16px !important; }
  body > .lp-container { padding: 48px 18px 72px !important; }
  body > .lp-container form { grid-template-columns: 1fr !important; padding: 24px !important; }
  body > .lp-container form textarea,
  body > .lp-container form button { grid-column: auto !important; }
  html body section[data-rr-band="services"] .featured-properties .slick-track,
  html body section[data-rr-band="locations"] .featured-neighborhoods .slick-track {
    grid-template-columns: 1fr !important;
  }
}

/* The local static fallback does not initialize the donor carousel script. */
html body section[data-rr-band="services"] .featured-properties {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
}
html body section[data-rr-band="locations"] .featured-neighborhoods {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
}
html body section[data-rr-band="services"] .featured-properties > .featured-properties__item-cover,
html body section[data-rr-band="locations"] .featured-neighborhoods > .featured-neighborhoods__slide {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  html body section[data-rr-band="services"] .featured-properties,
  html body section[data-rr-band="locations"] .featured-neighborhoods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  html body section[data-rr-band="services"] .featured-properties,
  html body section[data-rr-band="locations"] .featured-neighborhoods {
    grid-template-columns: 1fr !important;
  }
}
