@font-face {
  font-family: "ITP Font Awesome Solid";
  src: url("assets/fonts/fa-solid-900.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

/* High-contrast hero actions, scoped to individual service pages only. */
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:first-child {
  background: #233c54 !important;
  border: 1px solid #233c54 !important;
  color: #fff !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.outline-btn--light {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: #233c54 !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.detail-call {
  background: rgba(35, 60, 84, .18) !important;
  border: 1px solid #fff !important;
  color: #fff !important;
  box-shadow: none;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:first-child:hover {
  background: #162b3e !important;
  border-color: #162b3e !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.outline-btn--light:hover {
  background: #edf2f6 !important;
  border-color: #edf2f6 !important;
  color: #233c54 !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.detail-call:hover {
  background: #fff !important;
  color: #233c54 !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

/* Hero is section 1; restart the three-background cycle immediately below it.
 * Only direct service-page sections participate, never cards or other pages. */
.service-detail.service-detail-refresh > section:not(.detail-hero) {
  background: #fff !important;
}
.service-detail.service-detail-refresh > section:nth-of-type(3n):not(.detail-hero) {
  background: #fff8fa !important;
}
.service-detail.service-detail-refresh > section:nth-of-type(3n + 1):not(.detail-hero) {
  background: #fff8fa url('assets/provider-pattern.png') center / 1600px 919px repeat !important;
  background-blend-mode: multiply;
}

/* Direct Answer section, following the supplied heading / icon row / answer panel reference. */
.service-detail.service-detail-refresh > .detail-answer {
  text-align: left;
}
.service-detail.service-detail-refresh > .detail-answer > .outline-wrap {
  display: block;
  width: min(1120px, calc(100% - 64px));
  max-width: none;
  text-align: left;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__heading h2 {
  max-width: 900px;
  margin: 7px 0 18px;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__heading h2::after {
  margin: 14px 0 0 !important;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 18px;
  padding: 0;
  list-style: none;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__highlights li {
  display: flex;
  min-height: 84px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fcecf3;
  color: #7d3153;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__highlight-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff 0%, #fff5f9 100%);
  box-shadow: 0 5px 13px rgba(177, 55, 108, .12), inset 0 0 0 1px rgba(193, 55, 111, .06);
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon {
  display: inline-block;
  font-family: "ITP Font Awesome Solid";
  font-size: 19px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(145deg, #233c54 8%, #c1376f 88%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--clipboard::before { content: "\f46d"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--chart::before { content: "\f201"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--heart::before { content: "\f004"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--venus::before { content: "\f221"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--ribbon::before { content: "\f4d6"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--pulse::before { content: "\f21e"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--pills::before { content: "\f484"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--calendar::before { content: "\f274"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--medical::before { content: "\f0fa"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--virus::before { content: "\f7a9"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--bandage::before { content: "\f462"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--video::before { content: "\f03d"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--vial::before { content: "\f492"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--baby::before { content: "\f77c"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--doctor::before { content: "\f0f0"; }
.service-detail.service-detail-refresh > .detail-answer .detail-answer__icon--virus {
  font-size: 17px;
}
/* Highlight the primary service-area city while keeping the remaining chips neutral. */
.service-detail.service-detail-refresh .service-area .service-city-chips span:first-child {
  border-color: #c1376f;
  background: #c1376f;
  color: #fff;
}
.service-detail.service-detail-refresh > .service-area--map > .outline-wrap {
  width: min(1240px, calc(100% - 64px));
  max-width: none;
}
.service-detail.service-detail-refresh .service-area__intro {
  max-width: 900px;
  margin: 0 auto 28px;
  text-align: center;
}
.service-detail.service-detail-refresh .service-area__intro h2 {
  margin: 8px 0 14px;
}
.service-detail.service-detail-refresh .service-area__intro > p:not(.outline-kicker) {
  max-width: 850px;
  margin: 0 auto 8px;
  color: #5d718b;
}
.service-detail.service-detail-refresh .service-area__layout {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: 18px;
  align-items: stretch;
}
.service-detail.service-detail-refresh .service-area__details {
  display: flex;
  min-height: 450px;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(26px, 3vw, 42px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: linear-gradient(150deg, #294965, #1f374f);
  box-shadow: 0 18px 38px rgba(35,60,84,.14);
  color: #fff;
}
.service-detail.service-detail-refresh .service-area__pin {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 17px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.1);
}
.service-detail.service-detail-refresh .service-area__pin svg {
  width: 23px;
  height: 23px;
  stroke: #ff8ab5;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.service-detail.service-detail-refresh .service-area__label {
  margin: 0 0 8px;
  color: #ffb5d0;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.service-detail.service-detail-refresh .service-area__details h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.18rem, 1.65vw, 1.5rem);
  line-height: 1.35;
}
.service-detail.service-detail-refresh .service-area__address {
  margin: 5px 0 0;
  color: rgba(255,255,255,.84);
  line-height: 1.6;
}
.service-detail.service-detail-refresh .service-area__divider {
  width: 100%;
  height: 1px;
  margin: 22px 0;
  background: rgba(255,255,255,.2);
}
.service-detail.service-detail-refresh .service-area__details .service-city-chips {
  gap: 8px;
  margin: 5px 0 22px;
}
.service-detail.service-detail-refresh .service-area__details .service-city-chips span {
  padding: 7px 11px;
  border-color: rgba(255,255,255,.42);
  background: transparent;
  color: #fff;
  font-size: .78rem;
}
.service-detail.service-detail-refresh .service-area__details .service-city-chips span:first-child {
  border-color: #c1376f;
  background: #c1376f;
  color: #fff;
}
.service-detail.service-detail-refresh .service-area__directions {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding: 0 20px;
  border-radius: 999px;
  background: #c1376f;
  box-shadow: 0 9px 20px rgba(193,55,111,.2);
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.service-detail.service-detail-refresh .service-area__directions:hover {
  transform: translateY(-2px);
  background: #a92e60;
}
.service-detail.service-detail-refresh .service-area__directions:focus-visible {
  outline: 3px solid #ffb5d0;
  outline-offset: 3px;
}
.service-detail.service-detail-refresh .service-area__map {
  min-height: 450px;
  overflow: hidden;
  border: 1px solid #d7e3ec;
  border-radius: 20px;
  background: #eaf0f1;
  box-shadow: 0 15px 32px rgba(35,60,84,.11);
}
.service-detail.service-detail-refresh .service-area__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 450px;
  border: 0 !important;
}
@media (max-width: 800px) {
  .service-detail.service-detail-refresh > .service-area--map > .outline-wrap {
    width: min(100% - 40px, 680px);
  }
  .service-detail.service-detail-refresh .service-area__layout {
    grid-template-columns: 1fr;
  }
  .service-detail.service-detail-refresh .service-area__details {
    min-height: auto;
  }
  .service-detail.service-detail-refresh .service-area__map,
  .service-detail.service-detail-refresh .service-area__map iframe {
    min-height: 360px;
  }
}
@media (max-width: 520px) {
  .service-detail.service-detail-refresh > .service-area--map > .outline-wrap {
    width: min(100% - 28px, 680px);
  }
  .service-detail.service-detail-refresh .service-area__details {
    padding: 24px 20px;
  }
  .service-detail.service-detail-refresh .service-area__map,
  .service-detail.service-detail-refresh .service-area__map iframe {
    min-height: 300px;
  }
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__copy {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px 24px 17px;
  border: 1px solid #f0dce5;
  border-left: 3px solid #c1376f;
  border-radius: 0 16px 16px 0;
  background: #fff;
  box-shadow: 0 10px 24px rgba(35,60,84,.055);
  text-align: left;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__copy p {
  max-width: none;
  margin: 0;
  color: #526e8d;
  font-size: 1rem;
  line-height: 1.7;
  text-align: left;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__copy p + p {
  margin-top: 13px;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__review {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid #f0e6eb;
  color: #65768a;
  font-size: .86rem;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__review > span:first-child {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 50%;
  background: #fcecf3;
  color: #b4386d;
  font-size: .76rem;
  font-weight: 800;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__review strong {
  color: #233c54;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  margin-top: 17px;
  padding: 0 22px;
  border-radius: 999px;
  background: #c1376f;
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.service-detail.service-detail-refresh > .detail-answer .detail-answer__cta:hover {
  transform: translateY(-2px);
  background: #a92e60;
}
@media (max-width: 760px) {
  .service-detail.service-detail-refresh > .detail-answer > .outline-wrap {
    width: min(100% - 40px, 680px);
  }
  .service-detail.service-detail-refresh > .detail-answer .detail-answer__highlights {
    gap: 10px;
  }
}
@media (max-width: 520px) {
  .service-detail.service-detail-refresh > .detail-answer > .outline-wrap {
    width: min(100% - 28px, 680px);
  }
  .service-detail.service-detail-refresh > .detail-answer .detail-answer__highlights {
    gap: 7px;
  }
  .service-detail.service-detail-refresh > .detail-answer .detail-answer__highlights li {
    min-height: 76px;
    padding: 10px 5px;
    font-size: .72rem;
  }
  .service-detail.service-detail-refresh > .detail-answer .detail-answer__copy {
    padding: 18px 17px 15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-detail.service-detail-refresh > .detail-answer .detail-answer__cta {
    transition: none;
  }
}
/* Replace the previous scattered accents and physician-only pattern. */
.service-detail.service-detail-refresh > section:not(.detail-hero) > .service-flower-decor,
.service-detail.service-detail-refresh > .service-provider--featured::before {
  display: none !important;
}
/* Center section-level titles and intro copy across the individual service pages. */
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) > .outline-wrap > :is(.outline-kicker, h2),
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .detail-answer__heading,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .acute-continuity-heading,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .telemedicine-continuity-heading,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .well-woman-continuity-heading,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-provider-feature-copy {
  text-align: center;
}
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) > .outline-wrap > h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .detail-answer__heading h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .acute-continuity-heading h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .telemedicine-continuity-heading h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .well-woman-continuity-heading h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-provider-feature-copy h2 {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) > .outline-wrap > h2::after,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .detail-answer__heading h2::after {
  margin-right: auto !important;
  margin-left: auto !important;
}
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) > .outline-wrap > p:not(.outline-kicker),
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .detail-answer__copy > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-feature > .outline-wrap > :is(.well-woman-timeline-note, .well-woman-options-intro, .well-woman-options-closing, .family-fit-intro, .family-fit-closing, .family-referral-intro, .family-referral-closing, .telemedicine-options-intro),
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .acute-continuity-content > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .telemedicine-continuity-content > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .well-woman-continuity-content > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-provider-feature-copy > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .telemedicine-options-callout > p,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-end-related-services > p {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-end-related-services > h2,
.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) .service-end-related-reading > h3 {
  text-align: center;
}
/* Two-column informed-care treatment, limited to chronic and preventive pages. */
.service-detail.service-detail-refresh.service-detail--chronic-illness-management > .detail-continuity--split,
.service-detail.service-detail-refresh.service-detail--women-preventive-care-mckinney-tx > .detail-continuity--split {
  padding: 76px 0;
  background: #fff8fa !important;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap {
  display: grid;
  width: min(1220px, calc(100% - 68px));
  max-width: none;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: clamp(32px, 4vw, 52px);
  align-items: center;
  padding: 0;
  border: 0;
  text-align: left;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > .outline-kicker,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > .outline-kicker {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  margin: 0 0 8px;
  text-align: left;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > h2,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > h2 {
  grid-column: 1;
  grid-row: 2;
  justify-self: stretch;
  max-width: 700px;
  margin: 0;
  color: #233c54;
  font-size: clamp(2.2rem, 3.6vw, 3.35rem);
  line-height: 1.08;
  text-align: left;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > h2::after,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > h2::after {
  margin: 20px auto 0;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > p:not(.outline-kicker),
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > p:not(.outline-kicker) {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  min-height: 185px;
  align-items: center;
  max-width: none;
  margin: 0;
  padding: 28px 32px;
  border-left: 3px solid #e88db2;
  background: #fff;
  box-shadow: 0 10px 28px rgba(35,60,84,.045);
  color: #526e8d;
  font-size: 1rem;
  line-height: 1.72;
  text-align: left;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > .outline-kicker,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > .outline-kicker,
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > h2,
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > h2,
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > p:not(.outline-kicker),
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > p:not(.outline-kicker) {
  text-align: left !important;
}
.service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > p:not(.outline-kicker),
.service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > p:not(.outline-kicker) {
  width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
@media (max-width: 1040px) {
  .service-detail--chronic-illness-management .detail-continuity--split,
  .service-detail--women-preventive-care-mckinney-tx .detail-continuity--split {
    padding: 58px 0;
  }
  .service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap,
  .service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap {
    width: min(100% - 40px, 760px);
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    row-gap: 0;
  }
  .service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > .outline-kicker,
  .service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > .outline-kicker {
    grid-column: 1;
    grid-row: 1;
  }
  .service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > h2,
  .service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > h2 {
    grid-column: 1;
    grid-row: 2;
  }
  .service-detail--chronic-illness-management .detail-continuity--split > .outline-wrap > p:not(.outline-kicker),
  .service-detail--women-preventive-care-mckinney-tx .detail-continuity--split > .outline-wrap > p:not(.outline-kicker) {
    grid-column: 1;
    grid-row: 3;
    min-height: 0;
    margin-top: 24px;
    padding: 23px 22px;
  }
}
/* CTA bands now use the light section palette, retaining the site buttons. */
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) {
  color: #233c54;
}
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) h2 {
  color: #233c54 !important;
}
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) p {
  color: #bf2f6c !important;
}
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) a {
  border-color: #bf2f6c;
  color: #bf2f6c;
  background: #fff;
}
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) a:first-child {
  color: #fff;
  background: #cf3575;
}
.service-detail.service-detail-refresh > :is(.service-cta-band, .service-end-cta, .service-final-cta) a:hover {
  color: #fff;
  background: #b82761;
  border-color: #b82761;
}

/* The final booking strip intentionally matches the homepage reference. */
.service-detail.service-detail-refresh > section.service-footer-booking {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  border-top: 1px solid #efd4e0;
  background: #fff5f8 !important;
}
.service-footer-booking::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 7%;
  bottom: -12px;
  width: 65px;
  height: 90px;
  background: url('assets/flower-mark.png') center / contain no-repeat;
  opacity: .14;
  pointer-events: none;
}
.service-footer-booking .service-footer-booking__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  width: min(1180px,calc(100% - 72px));
  align-items: center;
  gap: 42px;
  margin: 0 auto;
  padding: 25px 0;
}
.service-detail .service-footer-booking p {
  margin: 0 0 5px;
  color: #c1376f;
  font-family: Rubik,sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.service-detail .service-footer-booking h2 {
  max-width: none;
  margin: 0;
  color: #233c54;
  font-family: Poppins,Rubik,sans-serif;
  font-size: clamp(1.35rem,2.3vw,1.85rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.1;
  text-align: left;
}
.service-detail .service-footer-booking h2::after { display: none; }
.service-footer-booking__actions { display: flex; align-items: center; gap: 17px; }
.service-footer-booking__actions a {
  font-family: Rubik,sans-serif;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
}
.service-footer-booking__actions a:first-child {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 18px;
  border-radius: 999px;
  background: #c1376f;
  color: #fff;
  box-shadow: 0 8px 17px rgba(193,55,111,.17);
  transition: background-color .2s ease,transform .2s ease;
}
.service-footer-booking__actions a:last-child {
  padding-bottom: 3px;
  border-bottom: 1px solid #c1376f;
  color: #233c54;
}
.service-footer-booking__actions a:first-child:hover { background: #aa2f61; transform: translateY(-2px); }
.service-footer-booking__actions a:last-child:hover { color: #c1376f; }

/* A coordinated, content-sized action group for all six service heroes. */
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 190px !important;
  max-width: 100% !important;
  min-height: 52px !important;
  height: auto !important;
  justify-content: center !important;
  padding: 0 19px !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 999px !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:first-child {
  border-color: #fff !important;
  background: #fff !important;
  color: #b52f69 !important;
  box-shadow: 0 9px 22px rgba(28,25,39,.17) !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.outline-btn--light,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.detail-call {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:hover,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:focus-visible {
  transform: translateY(-2px);
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:first-child:hover,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a:first-child:focus-visible {
  border-color: #fff !important;
  background: #fff3f7 !important;
  color: #972451 !important;
}
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.outline-btn--light:hover,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.detail-call:hover,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.outline-btn--light:focus-visible,
.service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a.detail-call:focus-visible {
  border-color: #fff !important;
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
@media (max-width: 720px) {
  .service-detail.service-detail-refresh .detail-hero .detail-hero-actions {
    gap: 10px !important;
  }
  .service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: min(185px, 100%) !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    font-size: .78rem !important;
    white-space: normal !important;
  }
}
@media (max-width: 430px) {
  .service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a {
    flex-basis: 100% !important;
    min-width: 0 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-detail.service-detail-refresh .detail-hero .detail-hero-actions > a {
    transition: none !important;
  }
}
@media(max-width:800px) {
  .service-footer-booking .service-footer-booking__inner { grid-template-columns: 1fr; width: min(100% - 32px,600px); gap: 19px; padding: 27px 0; text-align: center; }
  .service-detail .service-footer-booking h2 { text-align: center; }
  .service-footer-booking__actions { justify-content: center; flex-wrap: wrap; gap: 12px; }
  .service-footer-booking__actions a:first-child { flex: 1; }
}
@media(prefers-reduced-motion:reduce) { .service-footer-booking__actions a { transition: none; } }

/* Accepted-plan marquee and Insurance page link on service pricing sections. */
.service-detail.service-detail-refresh .service-insurance-marquee-block {
  margin-top: 38px;
}
.service-detail.service-detail-refresh .service-insurance-marquee-heading {
  display: flex;
  width: min(100%, 1100px);
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto 12px;
}
.service-detail.service-detail-refresh .service-insurance-marquee-heading > p {
  margin: 0;
  color: #233c54;
  font-size: .94rem;
  font-weight: 800;
}
.service-detail.service-detail-refresh .service-insurance-marquee-heading > a {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid #c1376f;
  border-radius: 999px;
  background: #c1376f;
  box-shadow: 0 7px 16px rgba(193,55,111,.16);
  color: #fff;
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.service-detail.service-detail-refresh .service-insurance-marquee-heading > a:hover {
  transform: translateY(-2px);
  border-color: #a92e60;
  background: #a92e60;
}
.service-detail.service-detail-refresh .service-insurance-marquee-heading > a:focus-visible {
  outline: 3px solid rgba(193,55,111,.3);
  outline-offset: 3px;
}
.service-detail.service-detail-refresh .service-insurance-marquee {
  width: 100%;
  min-height: 92px;
  overflow: hidden;
  isolation: isolate;
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.service-detail.service-detail-refresh .service-insurance-marquee__track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: max-content !important;
  animation: itp-service-insurer-marquee 96s linear infinite;
  will-change: transform;
}
.service-detail.service-detail-refresh .service-insurance-marquee__logos {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(34px, 5vw, 70px) !important;
  width: max-content !important;
  min-width: max-content !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 0 clamp(22px, 4vw, 58px) !important;
}
.service-detail.service-detail-refresh .service-insurance-marquee__logos img {
  display: block !important;
  width: 166px !important;
  height: 68px !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
}
.service-detail.service-detail-refresh .service-insurance-marquee:hover .service-insurance-marquee__track,
.service-detail.service-detail-refresh .service-insurance-marquee:focus-within .service-insurance-marquee__track {
  animation-play-state: paused;
}
@keyframes itp-service-insurer-marquee {
  to { transform: translateX(-50%); }
}
@media (max-width: 520px) {
  .service-detail.service-detail-refresh .service-insurance-marquee-heading {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .service-detail.service-detail-refresh .service-insurance-marquee__logos {
    gap: 30px !important;
    min-height: 76px !important;
    padding: 0 20px !important;
  }
  .service-detail.service-detail-refresh .service-insurance-marquee__logos img {
    width: 122px !important;
    height: 50px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-detail.service-detail-refresh .service-insurance-marquee {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .service-detail.service-detail-refresh .service-insurance-marquee__track {
    animation: none !important;
  }
  .service-detail.service-detail-refresh .service-insurance-marquee__logos[aria-hidden="true"] {
    display: none !important;
  }
  .service-detail.service-detail-refresh .service-insurance-marquee-heading > a {
    transition: none;
  }
}

/* Service-page CTAs: full-bleed premium bands with page-specific copy. */
.service-detail.service-detail-refresh > section.service-cta-band,
.service-detail.service-detail-refresh > section.service-footer-booking {
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(112deg, #1b334a 0%, #263f56 58%, #713451 100%) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.service-detail.service-detail-refresh > section.service-cta-band::before,
.service-detail.service-detail-refresh > section.service-footer-booking::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 410px;
  height: 410px;
  right: -105px;
  top: -270px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(255,255,255,.035), 0 0 0 66px rgba(255,255,255,.025), 0 0 0 108px rgba(255,255,255,.018);
  pointer-events: none;
}
.service-detail.service-detail-refresh > section.service-cta-band .outline-wrap,
.service-detail.service-detail-refresh > section.service-footer-booking .service-footer-booking__inner {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(28px, 5vw, 78px) !important;
  width: min(1380px, calc(100% - 80px)) !important;
  max-width: 1380px !important;
  min-height: 176px;
  margin: 0 auto !important;
  padding: 34px 0 !important;
  text-align: left !important;
}
.service-detail.service-detail-refresh .service-cta-band__copy,
.service-detail.service-detail-refresh .service-footer-booking__inner > div:first-child {
  min-width: 0;
  max-width: 830px;
}
.service-detail.service-detail-refresh .service-cta-band__copy > p,
.service-detail.service-detail-refresh .service-footer-booking__inner > div:first-child > p {
  margin: 0 0 7px !important;
  color: #ffb9d2 !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1.4 !important;
  text-transform: uppercase;
}
.service-detail.service-detail-refresh .service-cta-band__copy > h2,
.service-detail.service-detail-refresh .service-footer-booking__inner h2 {
  margin: 0 0 9px !important;
  color: #fff !important;
  font-size: clamp(2rem, 3.4vw, 3.1rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
}
.service-detail.service-detail-refresh .service-cta-band__copy > span,
.service-detail.service-detail-refresh .service-footer-booking__description {
  display: block;
  max-width: 760px;
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}
.service-detail.service-detail-refresh .service-cta-band__actions,
.service-detail.service-detail-refresh .service-footer-booking__actions {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end !important;
  align-items: center;
  gap: 12px !important;
  margin: 0 !important;
}
.service-detail.service-detail-refresh .service-cta-band__actions a,
.service-detail.service-detail-refresh .service-footer-booking__actions a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 58px;
  margin: 0 !important;
  padding: 14px 24px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.service-detail.service-detail-refresh .service-cta-band__actions a:first-child,
.service-detail.service-detail-refresh .service-footer-booking__actions a:first-child {
  border-color: transparent !important;
  background: linear-gradient(135deg, #dc4384, #bd2f6d) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(7,18,30,.22);
}
.service-detail.service-detail-refresh .service-cta-band__actions a:last-child,
.service-detail.service-detail-refresh .service-footer-booking__actions a:last-child {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}
.service-detail.service-detail-refresh .service-cta-band__actions a:hover,
.service-detail.service-detail-refresh .service-footer-booking__actions a:hover {
  transform: translateY(-2px);
  background: #fff !important;
  color: #20384f !important;
  box-shadow: 0 15px 30px rgba(7,18,30,.23);
}
.service-detail.service-detail-refresh .service-footer-booking::after {
  opacity: .11;
  filter: brightness(0) invert(1);
}
.service-detail.service-detail-refresh .service-cta-band__actions a:focus-visible,
.service-detail.service-detail-refresh .service-footer-booking__actions a:focus-visible {
  outline: 3px solid #ffd2e2;
  outline-offset: 4px;
}
@media (max-width: 900px) {
  .service-detail.service-detail-refresh > section.service-cta-band .outline-wrap,
  .service-detail.service-detail-refresh > section.service-footer-booking .service-footer-booking__inner {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    width: calc(100% - 48px) !important;
    min-height: 0;
    padding: 34px 0 !important;
  }
  .service-detail.service-detail-refresh .service-cta-band__actions,
  .service-detail.service-detail-refresh .service-footer-booking__actions {
    justify-content: flex-start !important;
  }
}
@media (max-width: 520px) {
  .service-detail.service-detail-refresh > section.service-cta-band .outline-wrap,
  .service-detail.service-detail-refresh > section.service-footer-booking .service-footer-booking__inner {
    width: calc(100% - 36px) !important;
    padding: 30px 0 !important;
  }
  .service-detail.service-detail-refresh .service-cta-band__copy > h2,
  .service-detail.service-detail-refresh .service-footer-booking__inner h2 {
    font-size: 2rem !important;
  }
  .service-detail.service-detail-refresh .service-cta-band__actions,
  .service-detail.service-detail-refresh .service-footer-booking__actions {
    display: grid !important;
    grid-template-columns: 1fr;
  }
  .service-detail.service-detail-refresh .service-cta-band__actions a,
  .service-detail.service-detail-refresh .service-footer-booking__actions a {
    width: 100%;
    white-space: normal;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-detail.service-detail-refresh .service-cta-band__actions a,
  .service-detail.service-detail-refresh .service-footer-booking__actions a { transition: none; }
}
/* Explicitly replace the older floral CTA backdrop (including its background image). */
body .service-detail.service-detail-refresh > section.service-cta-band,
body .service-detail.service-detail-refresh > section.service-footer-booking {
  background-color: #20394f !important;
  background-image: linear-gradient(112deg, #1b334a 0%, #263f56 58%, #713451 100%) !important;
}

/* Clean solid CTA treatment: remove the floral backdrop and all decorative overlays. */
body .service-detail.service-detail-refresh > section.service-cta-band,
body .service-detail.service-detail-refresh > section.service-footer-booking {
  background: #233c54 !important;
  background-image: none !important;
  border-top: 3px solid #cf3575 !important;
}
body .service-detail.service-detail-refresh > section.service-cta-band::before,
body .service-detail.service-detail-refresh > section.service-cta-band::after,
body .service-detail.service-detail-refresh > section.service-footer-booking::before,
body .service-detail.service-detail-refresh > section.service-footer-booking::after,
body .service-detail.service-detail-refresh > section.service-cta-band > .service-flower-decor,
body .service-detail.service-detail-refresh > section.service-footer-booking > .service-flower-decor {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}
body .service-detail.service-detail-refresh section.service-cta-band,
body .service-detail.service-detail-refresh section.service-footer-booking {
  background-color: #233c54 !important;
  background-image: none !important;
}
body .service-detail.service-detail-refresh section.service-cta-band .service-flower-decor,
body .service-detail.service-detail-refresh section.service-footer-booking .service-flower-decor {
  display: none !important;
  visibility: hidden !important;
}

/* Final, cache-busted high-contrast CTA palette for all service pages. */
body .service-detail.service-detail-refresh section.service-cta-band,
body .service-detail.service-detail-refresh section.service-footer-booking {
  background-color: #233c54 !important;
  background-image: none !important;
  color: #fff !important;
}
body .service-detail.service-detail-refresh section.service-cta-band *,
body .service-detail.service-detail-refresh section.service-footer-booking * {
  background-image: none !important;
}
body .service-detail.service-detail-refresh section.service-cta-band .service-cta-band__copy > p,
body .service-detail.service-detail-refresh section.service-footer-booking p {
  color: #ffb6d0 !important;
}
body .service-detail.service-detail-refresh section.service-cta-band .service-cta-band__copy > h2,
body .service-detail.service-detail-refresh section.service-cta-band .service-cta-band__copy > span,
body .service-detail.service-detail-refresh section.service-footer-booking h2,
body .service-detail.service-detail-refresh section.service-footer-booking .service-footer-booking__description {
  color: #fff !important;
}
body .service-detail.service-detail-refresh section.service-cta-band .service-flower-decor,
body .service-detail.service-detail-refresh section.service-footer-booking .service-flower-decor {
  display: none !important;
}
body main.service-detail section#service-mid-cta,
body main.service-detail section#service-footer-cta {
  background: #233c54 !important;
  background-color: #233c54 !important;
  background-image: none !important;
  color: #fff !important;
}
body main.service-detail section#service-mid-cta::before,
body main.service-detail section#service-mid-cta::after,
body main.service-detail section#service-footer-cta::before,
body main.service-detail section#service-footer-cta::after {
  content: none !important;
  display: none !important;
}
body main.service-detail section#service-mid-cta > *,
body main.service-detail section#service-footer-cta > * {
  background-image: none !important;
}

/* Slightly tighten section heights on service pages, leaving CTA bands unchanged. */
body main.service-detail.service-detail-refresh > .detail-hero {
  min-height: 480px !important;
}
body main.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
@media (max-width: 800px) {
  body main.service-detail.service-detail-refresh > .detail-hero {
    min-height: 520px !important;
  }
  body main.service-detail.service-detail-refresh > .outline-section:not(.detail-hero) {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}

/* Center the Related Care title lockup consistently on every individual service page. */
body main.service-detail.service-detail-refresh > .service-end-related .service-end-related-services > .outline-kicker {
  display: table !important;
  margin: 0 auto 10px !important;
  text-align: center !important;
}
body main.service-detail.service-detail-refresh > .service-end-related .service-end-related-services > h2 {
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}
body main.service-detail.service-detail-refresh > .service-end-related .service-end-related-services > h2::after {
  margin-right: auto !important;
  margin-left: auto !important;
}
body main.service-detail.service-detail-refresh > .service-end-related .service-end-related-services > p:not(.outline-kicker) {
  max-width: 460px !important;
  margin: 18px auto 0 !important;
  text-align: center !important;
}
