.insurance-page { background: #fff; overflow: hidden; }
.insurance-hero { background: linear-gradient(90deg, rgba(190, 39, 104, .75), rgba(213, 63, 125, .66)), url('assets/hero-wellness.png') center 48% / cover no-repeat; }
.insurance-hero-shade { min-height: 345px; display: grid; place-items: center; padding: 50px 20px; color: #fff; text-align: center; }
.insurance-hero h1 { margin: 0 0 10px; color: #fff; font-size: clamp(2.15rem, 4vw, 3.6rem); line-height: 1.05; }
.insurance-hero p { margin: 0; color: #fff; font-weight: 700; font-size: .9rem; }
.insurance-hero p a { color: inherit; text-decoration: none; }
.insurance-hero p span { margin: 0 4px; }

.insurance-intro { position: relative; max-width: 900px; padding: 105px 30px 38px; text-align: center; }
.insurance-section-icon { position: absolute; z-index: 0; top: 30px; left: 50%; width: 116px; height: 116px; object-fit: contain; opacity: .1; transform: translateX(-50%); }
.insurance-intro > *:not(.insurance-section-icon) { position: relative; z-index: 1; }
.insurance-intro .eyebrow, .insurance-note .eyebrow { margin: 0 0 8px; color: #d83376; font-weight: 800; font-size: .73rem; letter-spacing: .13em; text-transform: uppercase; }
.insurance-intro h2, .insurance-note h2 { margin: 0; color: #213a54; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.12; }
.insurance-intro h2 { padding: 0; }
.insurance-intro h2::before { display: none; }
.insurance-intro h2::after, .insurance-note h2::after { display: block; width: 112px; height: 3px; margin: 22px auto 24px; background: linear-gradient(90deg, #e53278 0 28%, transparent 28% 37%, #e53278 37% 86%, transparent 86% 95%, #e53278 95%); content: ''; }
.insurance-intro > p:last-child { max-width: 720px; margin: 0 auto; color: #647a95; font-size: 1rem; line-height: 1.75; }

.insurance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1040px; padding: 34px 30px 108px; }
.insurance-card { display: flex; min-height: 174px; flex-direction: column; justify-content: center; padding: 24px; border: 1.5px solid #e24a82; border-radius: 16px; background: #fff; box-shadow: 0 9px 24px rgba(47, 24, 39, .035); text-align: center; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background-color .35s ease; }
.insurance-card:hover { border-color: #c92f70; background: #fffafd; box-shadow: 0 20px 34px rgba(198, 42, 106, .16); transform: translateY(-8px); }
.insurance-logo-area { display: grid; min-height: 118px; place-items: center; }
.insurance-logo-area img { display: block; width: min(100%, 245px); max-height: 92px; object-fit: contain; transition: transform .35s ease; }
.insurance-card:hover .insurance-logo-area img { transform: scale(1.055); }
.insurance-wordmark { max-width: 100%; color: #253b54; font-size: clamp(1.45rem, 2.15vw, 2.1rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.05; transition: transform .35s ease, color .35s ease; }
.insurance-card:nth-child(3n+2) .insurance-wordmark { color: #285793; }
.insurance-card:nth-child(3n) .insurance-wordmark { color: #a3477d; }
.insurance-card h3 { min-height: 2.5em; margin: 20px 0 0; color: #101318; font-size: .92rem; font-weight: 800; line-height: 1.28; text-transform: uppercase; }

.insurance-note { padding: 75px 24px; background: linear-gradient(135deg, #c72d6d, #df3c83); color: #fff; text-align: center; }
.insurance-note .wrap { max-width: 760px; }
.insurance-note .eyebrow { color: #fff; }
.insurance-note h2 { color: #fff; }
.insurance-note h2::after { background: rgba(255,255,255,.9); }
.insurance-note p { margin: 0 auto 28px; color: #fff; font-size: 1.03rem; line-height: 1.7; }
.insurance-cta { display: inline-flex; align-items: center; gap: 10px; padding: 14px 23px; border-radius: 999px; background: #fff; color: #cf3474; font-size: .9rem; font-weight: 800; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.insurance-cta:hover { box-shadow: 0 10px 25px rgba(46, 14, 27, .22); color: #b92363; transform: translateY(-3px); }

@media (max-width: 760px) {
  .insurance-hero-shade { min-height: 270px; }
  .insurance-intro { padding-top: 86px; }
  .insurance-section-icon { top: 26px; width: 116px; height: 116px; }
  .insurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 24px 16px 70px; }
  .insurance-card { min-height: 150px; padding: 21px 13px 18px; }
  .insurance-logo-area { min-height: 92px; }
  .insurance-logo-area img { max-height: 70px; }
  .insurance-wordmark { font-size: 1.25rem; }
  .insurance-card h3 { font-size: .7rem; }
}
@media (max-width: 420px) {
  .insurance-grid { grid-template-columns: 1fr; }
  .insurance-card { min-height: 190px; }
}
