/* ===========================================================
   Cotiviti — Solutions Hero module
   Montserrat + Cotiviti brand palette. Square corners except
   the hero shell (rounded per new Solutions page design).
   =========================================================== */

.cv-hero {
  --cv-deep-purple: #31006F;
  --cv-violet: #9579D3;
  --cv-light-violet: #C2BFE0;
  --cv-pink: #EC008C;
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  box-sizing: border-box;
      margin-inline: auto;
    max-width: 1240px;
    padding-inline: 24px;
  margin-top:60px;
}
.cv-hero *,
.cv-hero *::before,
.cv-hero *::after { box-sizing: border-box; }

.cv-hero__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 76px 72px;
  border-radius: 28px;
  overflow: hidden;
  background:
   radial-gradient(820px 460px at 12% -10%, rgba(149, 121, 211, .38), transparent 60%), radial-gradient(640px 420px at 96% 116%, rgba(236, 0, 140, .24), transparent 62%), linear-gradient(118deg, #14002e, #23004e 45%, #31006f);
margin-bottom:inherit;
}

.cv-hero__text {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.cv-hero__eyebrow {
 
    color: #c9bcee;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    margin-bottom: 16px;
    text-transform: uppercase;
}


.cv-hero__heading {
 color: #fff;
    font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 800;
    letter-spacing: -.032em;
    line-height: 1.06;
  margin-top: -10px;
}
}

.cv-hero__body {
color: #ffffffd9;
    margin-top: -30px;
    max-width: 54ch;
}
.cv-hero__body p {
  color: #ffffffd9;
    font-size: 17.5px;
  font-weight:300;
    line-height: 1.7;
    margin-top: 18px;
  }
.cv-hero__body p:last-child { margin-bottom: 0; }
.cv-hero__body a { color: #ffffff; text-decoration: underline; }

.cv-hero__cta-wrap { margin-top: 4px; }

.cv-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 17px 40px;
  border-radius: 999px;
  background: linear-gradient(90deg, #EC008C 0%, #B0389E 55%, #9579D3 100%);
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  transition: filter 220ms cubic-bezier(.2,0,.2,1), transform 120ms ease;
}
.cv-hero__cta:hover { filter: brightness(1.06); }
.cv-hero__cta:active { transform: translateY(1px); }
.section, section {margin-bottom:inherit;}
.cv-hero__media {
  flex: 0 0 auto;
  width: 380px;
  height: 380px;
  border-radius: 26px;
  overflow: hidden;
  background: #0a0a1c;
  box-shadow: 0 18px 50px rgba(0,0,0,0.45);
}
.cv-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 1200px) {.cv-hero{margin-top: 8.5rem;}
/* ---- Tablet ---- */
@media (max-width: 980px) {
  .cv-hero__inner { flex-direction: column; align-items: flex-start; gap: 40px; padding: 56px 48px; }
  .cv-hero__heading { font-size: 56px; }
  .cv-hero__media { width: 100%; max-width: 420px; height: auto; aspect-ratio: 1 / 1; align-self: center; }
}

/* ---- Mobile ---- */
@media (max-width: 600px) {
  .cv-hero__inner { padding: 40px 26px; border-radius: 20px; }
  .cv-hero__heading { font-size: 42px; }
  .cv-hero__body { font-size: 18px; }
  .cv-hero__cta { width: 100%; }
}
