/* Site-wide layout corrections for image-led cards and conversion bands. */
.rmw-site img,
.rmw-page-main img,
.rmw-main img {
  display: block;
}

.rmw-family-card {
  height: 360px !important;
  min-height: 0 !important;
  align-items: stretch !important;
}

.rmw-family-card-large {
  height: clamp(420px, 29vw, 500px) !important;
}

.rmw-family-card-text {
  height: 290px !important;
}

.rmw-family-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: 50% 40% !important;
}

.rmw-family-copy {
  min-height: 0 !important;
  height: auto !important;
  justify-content: center !important;
}

.rmw-family-link {
  margin-top: 18px !important;
}

.rmw-quote-band {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: clamp(58px, 5.5vw, 78px) 0 !important;
}

.rmw-quote-grid {
  grid-template-columns: minmax(0, 1fr) minmax(270px, 330px) !important;
  gap: clamp(38px, 5vw, 76px) !important;
}

.rmw-quote-title {
  max-width: 800px !important;
  font-size: clamp(38px, 3.8vw, 58px) !important;
  line-height: 1.04 !important;
}

.rmw-quote-actions {
  width: 100% !important;
  max-width: 330px !important;
  justify-self: end !important;
}

.rmw-button-lime,
.rmw-quote-phone {
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 12px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.rmw-quote-phone {
  border: 1px solid rgba(255, 255, 255, .34) !important;
}

.rmw-quote-band + .rmw-footer,
.rmw-shell-footer .rmw-footer,
.rmw-grid-shell .rmw-footer {
  margin-top: 0 !important;
}

.rmw-mobile-menu-toggle {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
  .rmw-roof-master {
    min-width: 0 !important;
    width: 62px !important;
    height: 62px !important;
    padding: 5px !important;
    gap: 0 !important;
  }

  .rmw-roof-master-avatar {
    width: 50px !important;
    height: 50px !important;
  }

  .rmw-roof-master-copy,
  .rmw-whatsapp-float span {
    display: none !important;
  }

  .rmw-whatsapp-float {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
}

@media screen and (max-width: 991px) {
  .rmw-family-card,
  .rmw-family-card-large {
    height: 410px !important;
  }

  .rmw-family-card-text {
    height: 280px !important;
  }

  .rmw-quote-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .rmw-quote-actions {
    max-width: none !important;
    justify-self: stretch !important;
    flex-direction: row !important;
  }

  .rmw-quote-actions > * {
    flex: 1 1 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .rmw-header {
    overflow: visible !important;
  }

  .rmw-header-inner {
    position: relative !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    row-gap: 12px !important;
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }

  .rmw-brand {
    min-width: 0 !important;
  }

  .rmw-mobile-menu-toggle {
    grid-column: 2 !important;
    min-width: 76px;
    min-height: 42px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(18, 37, 28, .2);
    border-radius: 999px;
    background: #fffdf8;
    color: #12251c;
    font: 800 11px/1 Manrope, Arial, sans-serif;
  }

  .rmw-mobile-menu-icon {
    width: 15px;
    display: grid;
    gap: 4px;
  }

  .rmw-mobile-menu-icon i {
    width: 100%;
    height: 1.5px;
    display: block;
    background: currentColor;
    transition: transform .18s ease;
  }

  .rmw-mobile-menu-open .rmw-mobile-menu-icon i:first-child {
    transform: translateY(2.75px) rotate(45deg);
  }

  .rmw-mobile-menu-open .rmw-mobile-menu-icon i:last-child {
    transform: translateY(-2.75px) rotate(-45deg);
  }

  .rmw-header .rmw-nav {
    position: absolute !important;
    z-index: 120 !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 150px) !important;
    padding: 8px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow: auto !important;
    border: 1px solid rgba(18, 37, 28, .13) !important;
    border-radius: 16px !important;
    background: #fffdf8 !important;
    box-shadow: 0 24px 70px rgba(7, 21, 15, .2) !important;
  }

  .rmw-header.rmw-mobile-menu-open .rmw-nav {
    display: flex !important;
  }

  .rmw-header .rmw-nav-link,
  .rmw-header .rmw-knowledge-menu {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .rmw-header .rmw-nav-link {
    min-height: 46px !important;
    padding: 13px 12px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  .rmw-header .rmw-nav-link:hover,
  .rmw-header .rmw-nav-link:focus-visible,
  .rmw-header .rmw-nav-current {
    background: #eef5e8 !important;
  }

  .rmw-header .rmw-knowledge-menu {
    display: grid !important;
    grid-template-columns: 1fr 46px !important;
    align-items: center !important;
  }

  .rmw-header .rmw-knowledge-toggle {
    width: 46px !important;
    height: 46px !important;
  }

  .rmw-header-cta {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .rmw-family-card,
  .rmw-family-card-large,
  .rmw-family-card-text {
    height: auto !important;
  }

  .rmw-family-image {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  .rmw-family-copy {
    justify-content: flex-start !important;
  }

  .rmw-quote-band {
    padding: 48px 0 !important;
  }

  .rmw-quote-title {
    font-size: clamp(34px, 10.5vw, 44px) !important;
  }

  .rmw-quote-actions {
    flex-direction: column !important;
  }
}
