.elementor-48984 .elementor-element.elementor-element-0047e36{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* Make Elementor's inner-section row flex */
.panel-row > .elementor-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

/* Reset Elementor column sizing so flex can work */
.panel-row > .elementor-container > .panel.elementor-column {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Make the column wrappers stretch and allow the image to fill */
.panel-row > .elementor-container > .panel.elementor-column > .elementor-column-wrap,
.panel-row > .elementor-container > .panel.elementor-column > .elementor-widget-wrap {
  height: 100% !important;
}

/* Smooth animation */
.panel-row > .elementor-container > .panel.elementor-column {
  transition: flex 500ms ease, opacity 500ms ease;
}

/* De-emphasize non-hovered panels */
.panel-row:hover > .elementor-container > .panel.elementor-column {
  opacity: 0.65;
}

/* Hovered panel gets more space */
.panel-row:hover > .elementor-container > .panel.elementor-column:hover {
  flex: 2.2 1 0 !important; /* try 1.8 to 3.0 */
  opacity: 1;
}


html {
  scroll-behavior: smooth;
}

.back-to-top-wrap .btn-back-to-top {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #003c30;
  border-color: #003c30;
  box-shadow: 0 8px 24px rgba(0, 60, 48, 0.28);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.back-to-top-wrap .btn-back-to-top .houzez-icon {
  font-size: 20px;
}

.back-to-top-wrap .btn-back-to-top:hover,
.back-to-top-wrap .btn-back-to-top:focus-visible {
  transform: translateY(-3px);
  background: #005344;
  border-color: #005344;
  box-shadow: 0 12px 28px rgba(0, 60, 48, 0.36);
}

/* Stonecliff homepage header: align with the video copy */
@media (min-width: 1025px) {
  .sc-sleek-header {
    height: 110px !important;
  }

  .sc-sleek-header .sc-container {
    width: 100% !important;
    max-width: 1680px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sc-sleek-header .sc-main-logo {
    width: 265px !important;
    height: auto !important;
  }

  .sc-sleek-header .sc-nav a {
    font-size: 16px !important;
    letter-spacing: 0.09em !important;
  }

  .sc-sleek-header .sc-menu {
    gap: 42px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .sc-sleek-header .sc-container {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .sc-sleek-header .sc-main-logo {
    width: 225px !important;
    height: auto !important;
  }

  .sc-sleek-header .sc-nav a {
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
  .sc-sleek-header .sc-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .sc-sleek-header .sc-main-logo {
    width: 190px !important;
    height: auto !important;
  }
}


/* Optically center the View Our Listings arrow */
.elementor-element-6dba087 .elementor-button::after {
  transform: translateY(-58%) !important;
}

/* Services introduction: wider, cleaner desktop composition */
@media (min-width: 1025px) {
  .capabilities-intro {
    width: calc(100% - 40px) !important;
    max-width: 1540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .capabilities-intro .services-heading {
    width: 100% !important;
    max-width: none !important;
    font-size: 52px !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
  }

  .capabilities-intro .services-intro {
    width: 100% !important;
    max-width: 1320px !important;
    font-size: 20px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 1024px) {
  .capabilities-intro {
    width: calc(100% - 48px) !important;
    max-width: 900px !important;
  }

  .capabilities-intro .services-heading {
    white-space: normal !important;
  }

  .capabilities-intro .services-intro {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }
}

/* Four-up services card row */
@media (min-width: 1200px) {
  .surmount-service-grid {
    width: calc(100% - 40px) !important;
    max-width: 1680px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  .surmount-service-grid .service-label {
    display: none !important;
  }

  .surmount-service-grid .service-media {
    height: 235px !important;
  }

  .surmount-service-grid .service-body {
    min-height: 255px !important;
    padding: 26px 25px 28px !important;
  }

  .surmount-service-grid .service-card h3 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin-bottom: 16px !important;
  }

  .surmount-service-grid .service-card p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .surmount-service-grid .service-link {
    margin-top: auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .surmount-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1200px) {
  .stonecliff-service-rows .surmount-service-grid .service-card .service-media {
    height: 235px !important;
  }

  .stonecliff-service-rows .surmount-service-grid .service-card .service-body {
    min-height: 255px !important;
    padding: 26px 25px 28px !important;
  }

  .stonecliff-service-rows .surmount-service-grid .service-card h3 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin-bottom: 16px !important;
  }

  .stonecliff-service-rows .surmount-service-grid .service-card .service-body p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
}

/* Final larger homepage header scale */
@media (min-width: 1025px) {
  .sc-sleek-header {
    height: 120px !important;
  }

  .sc-sleek-header .sc-container {
    max-width: 1680px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sc-sleek-header .sc-main-logo {
    width: 300px !important;
    height: auto !important;
  }

  .sc-sleek-header .sc-nav a {
    font-size: 18px !important;
    letter-spacing: 0.09em !important;
  }

  .sc-sleek-header .sc-menu {
    gap: 48px !important;
  }
}

/* Clear, clickable buyer/owner contact panels */
.contextual-conversion {
  width: calc(100% - 40px) !important;
  max-width: 1320px !important;
  margin: 34px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.contextual-conversion > a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  grid-template-rows: auto auto !important;
  column-gap: 22px !important;
  row-gap: 8px !important;
  align-items: center !important;
  min-height: 132px !important;
  padding: 26px 28px !important;
  background: #f3f0e9 !important;
  border: 1px solid rgba(133, 104, 58, 0.38) !important;
  color: #003c30 !important;
  text-decoration: none !important;
  transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease !important;
}

.contextual-conversion > a span {
  grid-column: 1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #85683a !important;
}

.contextual-conversion > a strong {
  grid-column: 1 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.contextual-conversion > a b {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #85683a !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 400 !important;
}

.contextual-conversion > a:hover {
  transform: translateY(-4px) !important;
  background: #fff !important;
  border-color: #85683a !important;
}

@media (max-width: 767px) {
  .contextual-conversion {
    width: calc(100% - 36px) !important;
    grid-template-columns: 1fr !important;
  }
}

/* Sticky header: transparent on video, Stonecliff green below it */
.sc-sleek-header.sc-transparent-mode {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9998 !important;
  background-color: transparent !important;
  animation: scStickyHeaderBackground linear both !important;
  animation-timeline: scroll(root) !important;
  animation-range: 82vh 100vh !important;
  transition: background-color 260ms ease, box-shadow 260ms ease !important;
}

@keyframes scStickyHeaderBackground {
  from {
    background-color: rgba(0, 60, 48, 0);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
  to {
    background-color: rgba(0, 60, 48, 0.97);
    box-shadow: 0 10px 30px rgba(0, 35, 27, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sc-sleek-header.sc-transparent-mode {
    transition: none !important;
  }
}/* End custom CSS */