.internal-hero {
  width: 100%;
  height: 25vw;
  min-height: 400px;
  position: relative;
}
@media screen and (max-width: 992px) {
  .internal-hero {
    min-height: 500px;
  }
}
.internal-hero .content {
  position: relative;
  z-index: 1;
}
.internal-hero .banner-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15vw;
  min-height: 300px;
}

/* Default (white gradient → dark text) */
.internal-hero .content {
  position: relative;
  z-index: 1;
  color: #000; /* dark text */
}

/* Purple gradient → force white text */
.internal-hero.purple .content,
.internal-hero.purple .content h1 {
  color: #fff;
}

/* White gradient */
.internal-hero .banner-gradient.white {
  background: linear-gradient(
    0deg,
    white 50%,
    rgba(255, 255, 255, 0.7) 75%,
    rgba(255, 255, 255, 0) 100%
  );
}

/* Purple gradient */

/* Full purple overlay */
.internal-hero .banner-gradient.purple {
/*   background: #25173A;   /* solid dark purple */
/*   top: 0; */
/*   bottom: 0; */
/*   height: 100%;          /* cover entire hero */ */
/*   min-height: 100%;      /* ensure full coverage */ */ */
}
@media screen and (max-width: 992px) {
  .internal-hero .banner-gradient {
    min-height: 450px;
  }
}

.quote.gray {
  background: #F5F6F6;
  padding: 30px 0;
}

.text-gray-heading {
  color: #462C6B; /* deep purple */
}

.text-black {
  color: #000;
}

.internal-banner {
  width: 100%;
  position: relative;
}
.internal-banner .container {
  padding: 5% 15px;
}
.internal-banner .content {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  padding: 2rem 3rem;
  position: relative;
  z-index: 1;
}

.banner-gradient {
  padding: calc(8px + 1.5625vw) 0;
  width: 100%;
  position: relative;
  color: #fff;
}

.services-hero {
  position: relative;
  width: 100%;
  min-height: clamp(480px, 32vw, 700px);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: #fff;
}

.services-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(195,33,74,0.45) 0%, rgba(195,33,74,0.15) 50%, rgba(195,33,74,0) 80%),
    radial-gradient(120% 120% at 0% 100%, rgba(70,44,107,0.6) 0%, rgba(70,44,107,0.2) 55%, rgba(70,44,107,0) 85%),
    linear-gradient(0deg, rgba(0,0,0,0.2), rgba(0,0,0,0.2));
  pointer-events: none;
}

.services-hero .container { position: relative; z-index: 1; }

.services-hero__content h1 {
  color: #fff;
  margin-bottom: 0.75rem;
}

.services-hero__content p { color: #fff; }

.services-hero__art {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(12px, 2vw, 24px);
}

.services-hero__svg {
  width: 100%;
  height: auto;
  display: block;
  /* Optional gentle entrance */
  opacity: 0;
  transform: translateY(8px);
  animation: svg-in 600ms ease-out forwards;
}

@keyframes svg-in {
  to { opacity: 1; transform: none; }
}

/* Stack on small screens */
@media (max-width: 991.98px) {
  .services-hero {
    min-height: 560px;
    text-align: left;
  }
  .services-hero__art { margin-top: 1.5rem; }
}

