/* ===== Homepage unified section headings =====
   Keeps all homepage section titles/descriptions aligned with the Projects section style. */

.home-section-heading,
.why-us-final-section .home-section-heading,
.service .home-section-heading,
.project .home-section-heading {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto 42px !important;
  padding: 6px 0 0 !important;
  font-family: "Cairo", sans-serif !important;
}

.home-section-heading h2,
.why-us-final-section .home-section-heading h2,
.service .home-section-heading h2,
.project .home-section-heading h2 {
  position: relative !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 12px 14px !important;
  font-family: "Cairo", sans-serif !important;
  font-size: clamp(1.95rem, 3vw, 2.6rem) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #18324b !important;
  text-align: center !important;
  text-wrap: balance;
}

.home-section-heading h2::before,
.why-us-final-section .home-section-heading h2::before,
.service .home-section-heading h2::before,
.project .home-section-heading h2::before {
  content: "" !important;
  position: absolute !important;
  top: -6px !important;
  right: 4px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background: radial-gradient(circle at center, rgba(15,109,193,.10) 0%, rgba(15,109,193,0) 72%) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

.home-section-heading h2::after,
.why-us-final-section .home-section-heading h2::after,
.service .home-section-heading h2::after,
.project .home-section-heading h2::after {
  content: "" !important;
  position: absolute !important;
  right: 50% !important;
  bottom: 0 !important;
  width: 94px !important;
  height: 4px !important;
  max-width: 70% !important;
  border-radius: 999px !important;
  background: linear-gradient(270deg, #0f6dc1 0%, #5a8fc5 100%) !important;
  box-shadow: 0 8px 18px rgba(15,109,193,.12) !important;
  transform: translateX(50%) !important;
  pointer-events: none !important;
}

.home-section-heading h3,
.why-us-final-section .home-section-heading h3,
.service .home-section-heading h3,
.project .home-section-heading h3 {
  max-width: 720px !important;
  margin: 14px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-family: "Cairo", sans-serif !important;
  font-size: 1.03rem !important;
  line-height: 1.95 !important;
  font-weight: 600 !important;
  color: #607186 !important;
  text-align: center !important;
}

/* Keep spacing before the card grids visually identical across homepage sections. */
.why-us-final-section .about-grid,
.service .service-carousel,
.project .project-grid {
  margin-top: 0 !important;
}

@media (max-width: 767.98px) {
  .home-section-heading,
  .why-us-final-section .home-section-heading,
  .service .home-section-heading,
  .project .home-section-heading {
    margin-bottom: 32px !important;
    padding-top: 4px !important;
  }

  .home-section-heading h2,
  .why-us-final-section .home-section-heading h2,
  .service .home-section-heading h2,
  .project .home-section-heading h2 {
    font-size: clamp(1.75rem, 7vw, 2.15rem) !important;
    padding: 0 10px 13px !important;
  }

  .home-section-heading h2::before,
  .why-us-final-section .home-section-heading h2::before,
  .service .home-section-heading h2::before,
  .project .home-section-heading h2::before {
    width: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
  }

  .home-section-heading h2::after,
  .why-us-final-section .home-section-heading h2::after,
  .service .home-section-heading h2::after,
  .project .home-section-heading h2::after {
    width: 82px !important;
  }

  .home-section-heading h3,
  .why-us-final-section .home-section-heading h3,
  .service .home-section-heading h3,
  .project .home-section-heading h3 {
    max-width: 92% !important;
    font-size: .96rem !important;
    line-height: 1.85 !important;
  }
}
