/* Homepage Exceptional Service Features — soft light redesign + one row */
.elementor-7 .elementor-element-ce02e91 {
  background: #F3F7FB !important;
  background-image: none !important;
  background-color: #F3F7FB !important;
}

.elementor-7 .vs-home-service-col { text-align: center; }
.elementor-7 .vs-home-service-col .elementor-icon-box-wrapper,
.elementor-7 .vs-home-service-icon .elementor-icon-box-wrapper {
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.elementor-7 .vs-home-service-col .elementor-icon,
.elementor-7 .vs-home-service-icon .elementor-icon {
  width: 88px !important; height: 88px !important;
  display: flex !important; align-items: center; justify-content: center;
  margin: 0 auto 14px !important;
  border: 2px solid #0B2545 !important; border-radius: 50% !important;
  background: #FFFFFF !important; box-sizing: border-box !important;
  box-shadow: 0 6px 18px rgba(11, 37, 69, 0.08) !important;
}
.elementor-7 .vs-home-service-col .elementor-icon i,
.elementor-7 .vs-home-service-col .elementor-icon svg,
.elementor-7 .vs-home-service-icon .elementor-icon i,
.elementor-7 .vs-home-service-icon .elementor-icon svg {
  width: 36px !important; height: 36px !important; font-size: 36px !important;
  color: #0B2545 !important; fill: #0B2545 !important; line-height: 1 !important;
}
.elementor-7 .vs-home-service-col .elementor-icon-box-title,
.elementor-7 .vs-home-service-col .elementor-icon-box-title a,
.elementor-7 .vs-home-service-icon .elementor-icon-box-title,
.elementor-7 .vs-home-service-icon .elementor-icon-box-title a {
  color: #0B2545 !important; text-align: center !important;
}
.elementor-7 .vs-home-service-col .elementor-icon-box-description,
.elementor-7 .vs-home-service-icon .elementor-icon-box-description {
  color: #4A5D73 !important; text-align: center !important;
  max-width: 200px; margin-left: auto; margin-right: auto;
}

/* Section headings on soft bg — main title navy, SERVICES eyebrow stays red */
.elementor-7 .elementor-element-ce02e91 .elementor-element-cf28fd8 .elementor-heading-title {
  color: #0B2545 !important;
}
.elementor-7 .elementor-element-ce02e91 .elementor-element-6c05dec .elementor-heading-title {
  color: #C52643 !important;
}

.elementor-7 .wpr-testimonial-date { display: none !important; }

/*
 * Force homepage 5 services in ONE desktop row.
 * Beats Elementor post-7.css e-grid (repeat(3)) via higher specificity + !important.
 */
@media (min-width: 1025px) {
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484.e-con,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484.e-grid,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484.e-flex {
    --display: flex !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 8px 10px !important;
    --gap: 8px 10px !important;
    --row-gap: 8px !important;
    --column-gap: 10px !important;
    --e-con-grid-template-columns: none !important;
    --grid-template-columns: none !important;
    grid-template-columns: none !important;
    grid-auto-flow: row !important;
  }
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .e-con,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .elementor-element,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .vs-home-service-col {
    width: 19% !important;
    max-width: 19% !important;
    flex: 1 1 19% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 1024px) {
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 {
    flex-wrap: wrap !important;
  }
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .e-con,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .vs-home-service-col {
    width: 48% !important;
    max-width: 48% !important;
    flex: 1 1 48% !important;
  }
}
@media (max-width: 767px) {
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .e-con,
  .elementor.elementor-7 .elementor-element.elementor-element-1e98484 > .vs-home-service-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* Service page benefits row (unchanged layout helper) */
.vs-benefits-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  align-items: stretch !important;
}
@media (max-width: 767px) {
  .vs-benefits-row { flex-wrap: wrap !important; }
}

/* Exceptional Service Features — hover motion */
.elementor-7 .vs-home-service-col,
.elementor-7 .vs-home-service-icon {
  transition: transform 0.35s ease, filter 0.35s ease;
  will-change: transform;
}
.elementor-7 .vs-home-service-col .elementor-icon,
.elementor-7 .vs-home-service-icon .elementor-icon {
  transition: transform 0.35s ease, border-color 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease !important;
}
.elementor-7 .vs-home-service-col .elementor-icon i,
.elementor-7 .vs-home-service-col .elementor-icon svg,
.elementor-7 .vs-home-service-icon .elementor-icon i,
.elementor-7 .vs-home-service-icon .elementor-icon svg {
  transition: color 0.35s ease, fill 0.35s ease, transform 0.35s ease !important;
}
.elementor-7 .vs-home-service-col .elementor-icon-box-title,
.elementor-7 .vs-home-service-col .elementor-icon-box-title a,
.elementor-7 .vs-home-service-icon .elementor-icon-box-title,
.elementor-7 .vs-home-service-icon .elementor-icon-box-title a,
.elementor-7 .vs-home-service-col .elementor-icon-box-description {
  transition: color 0.35s ease, transform 0.35s ease;
}

.elementor-7 .vs-home-service-col:hover,
.elementor-7 .vs-home-service-icon:hover {
  transform: translateY(-8px);
}
.elementor-7 .vs-home-service-col:hover .elementor-icon,
.elementor-7 .vs-home-service-icon:hover .elementor-icon {
  transform: scale(1.08) !important;
  border-color: #C52643 !important;
  background: #C52643 !important;
  box-shadow: 0 10px 24px rgba(197, 38, 67, 0.28) !important;
}
.elementor-7 .vs-home-service-col:hover .elementor-icon i,
.elementor-7 .vs-home-service-col:hover .elementor-icon svg,
.elementor-7 .vs-home-service-icon:hover .elementor-icon i,
.elementor-7 .vs-home-service-icon:hover .elementor-icon svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}
.elementor-7 .vs-home-service-col:hover .elementor-icon-box-title,
.elementor-7 .vs-home-service-col:hover .elementor-icon-box-title a,
.elementor-7 .vs-home-service-icon:hover .elementor-icon-box-title,
.elementor-7 .vs-home-service-icon:hover .elementor-icon-box-title a {
  color: #C52643 !important;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-7 .vs-home-service-col,
  .elementor-7 .vs-home-service-icon,
  .elementor-7 .vs-home-service-col .elementor-icon,
  .elementor-7 .vs-home-service-icon .elementor-icon,
  .elementor-7 .vs-home-service-col .elementor-icon i,
  .elementor-7 .vs-home-service-col .elementor-icon svg,
  .elementor-7 .vs-home-service-icon .elementor-icon i,
  .elementor-7 .vs-home-service-icon .elementor-icon svg,
  .elementor-7 .vs-home-service-col .elementor-icon-box-title,
  .elementor-7 .vs-home-service-col .elementor-icon-box-title a,
  .elementor-7 .vs-home-service-col .elementor-icon-box-description {
    transition: none !important;
  }
  .elementor-7 .vs-home-service-col:hover,
  .elementor-7 .vs-home-service-icon:hover {
    transform: none;
  }
  .elementor-7 .vs-home-service-col:hover .elementor-icon,
  .elementor-7 .vs-home-service-icon:hover .elementor-icon {
    transform: none !important;
  }
}

