/* One editorial layout for all three services. Global header/footer remain unchanged. */
.service-detail-page {
  max-width: 1920px;
  margin-inline: auto;
  color: var(--teal);
  background: var(--soft-white);
  font-size: 16px;
  line-height: 1.45;
}
.service-detail-main {margin-inline: auto; }
.service-detail-main h1, .service-detail-main h2, .service-detail-main h3 { color: var(--deep-teal); }
.service-detail-main h2 { font-size: clamp(32px, 3.3vw, 44px); line-height: 1.08; letter-spacing: -.035em; }

/* Back link and hero share the composition; the image touches its top/right edges. */
.service-detail-hero { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(610px, 52.5vw, 710px); }
.service-detail-hero-inner { position: relative; z-index: 3; }
.service-detail-back { padding-top: 27px; font-size: 13px; }
.service-detail-back a { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; }
.service-detail-back a:hover { color: var(--deep-teal); }
.service-detail-hero-copy { width: 46%; padding: 42px 0 92px; }
.service-detail-hero-copy h1 { margin: 19px 0 20px; font-size: clamp(51px, 5.75vw, 79px); line-height: .98; letter-spacing: -.045em; }
.service-detail-subtitle { max-width: 525px; margin-bottom: 24px; color: var(--deep-teal); font-size: clamp(17px, 1.65vw, 22px); line-height: 1.3; }
.service-detail-description { max-width: 465px; font-size: clamp(15px, 1.32vw, 18px); line-height: 1.48; }
.service-detail-hero-copy .button { margin-top: 29px; min-width: 205px; }
.service-detail-hero-media {
  position: absolute;
  z-index: 2;
  inset: 0 0 0 50%;
  overflow: hidden;
  border-radius: 46% 0 0 16% / 22% 0 0 43%;
}
.service-detail-hero-media img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 72% center; }
.service-detail-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 -1px;
  height: 165px;
  background: var(--mist-blue);
  --service-detail-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 150' preserveAspectRatio='none'%3E%3Cpath d='M0 127C146 159 242 130 380 65C509 4 578 13 718 58C827 94 920 130 1000 144V150H0Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask: var(--service-detail-wave) center / 100% 100% no-repeat;
  mask: var(--service-detail-wave) center / 100% 100% no-repeat;
  pointer-events: none;
}

/* Five quiet, line-art inclusions, not cards. */
.service-detail-included { padding-block: 42px 52px; }
.service-detail-included ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 36px 0 0; padding: 0; list-style: none; }
.service-detail-included li { display: flex; flex-direction: column; align-items: center; gap: 15px; padding: 0 16px; text-align: center; font-size: 14px; line-height: 1.35; }
.service-detail-included li + li { border-left: 1px solid rgb(33 75 83 / .12); }
.service-detail-icon { width: 44px; height: 44px; flex-shrink: 0; color: var(--teal); }

/* Investment stays unboxed; only the small 'Perfect for' list has a tinted ground. */
.service-detail-investment { display: grid; grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); gap: 56px; align-items: start; padding-block: 18px 47px; }
.service-detail-investment-copy h2 { margin-bottom: 26px; }
.service-detail-price-type { margin: -9px 0 7px; font-size: 13px; }
.service-detail-price-label { font-size: 14px; }
.service-detail-price-value { margin-top: 2px; color: var(--deep-teal); font-family: var(--font-serif); font-size: clamp(48px, 4.55vw, 64px); line-height: 1.03; font-weight: 400; letter-spacing: -.035em; }
.service-detail-investment-note { max-width: 495px; margin-top: 23px; font-size: 15px; line-height: 1.5; }
.service-detail-secondary { margin-top: 21px; font-size: 13px; line-height: 1.5; }
.service-detail-secondary-title { display: block; color: var(--deep-teal); font-weight: 500; }
.service-detail-secondary-price { font-weight: 500; }
.service-detail-perfect { padding: 29px 35px 31px; background: #F4F0E9; }
.service-detail-perfect h3 { margin-bottom: 19px; font-size: 30px; line-height: 1; letter-spacing: -.025em; }
.service-detail-perfect ul { margin: 0; padding: 0; list-style: none; }
.service-detail-perfect li { display: flex; align-items: baseline; gap: 12px; margin-top: 9px; font-size: 16px; }
.service-detail-perfect li > span[aria-hidden] { font-size: 14px; }

/* Supplied desktop/mobile composition and its baked-in coral note. */
.service-detail-responsive { position: relative; margin: 0; overflow: hidden; }
.service-detail-responsive img { width: 100%; aspect-ratio: 2.08; object-fit: cover; object-position: center 46%; }
.service-detail-responsive::after {
  content: "";
  position: absolute;
  inset: auto -1px -1px;
  height: 37px;
  background: var(--soft-white);
  --service-photo-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 50' preserveAspectRatio='none'%3E%3Cpath d='M0 22C170-3 330 30 520 40C730 55 881 44 1000 16V50H0Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask: var(--service-photo-wave) center / 100% 100% no-repeat;
  mask: var(--service-photo-wave) center / 100% 100% no-repeat;
  pointer-events: none;
}
.service-detail-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-block: 59px 95px; }
.service-detail-final-cta h2 { font-size: clamp(30px, 3vw, 40px); }
.service-detail-final-cta p { max-width: 730px; margin-top: 12px; font-size: 16px; }
.service-detail-final-cta .button { flex-shrink: 0; min-width: 210px; }

@media (min-width: 768px) and (max-width: 991px) {
  .service-detail-hero { min-height: 590px; }
  .service-detail-hero-copy { width: 48%; padding-top: 33px; padding-bottom: 85px; }
  .service-detail-hero-copy h1 { font-size: clamp(45px, 6vw, 57px); }
  .service-detail-subtitle { font-size: 17px; }
  .service-detail-break { display: none; }
  .service-detail-description { font-size: 14px; }
  .service-detail-hero-media { left: 51%; }
  .service-detail-hero-media img { object-position: 28% center; }
  .service-detail-hero::after { height: 115px; }
  .service-detail-included li { padding-inline: 9px; font-size: 12px; }
  .service-detail-investment { gap: 30px; }
  .service-detail-perfect { padding: 26px; }
  .service-detail-perfect li { font-size: 14px; }
  .service-detail-final-cta { gap: 25px; }
  .service-detail-final-cta h2 { font-size: 31px; }
  .service-detail-final-cta .button { min-width: 175px; }
}
@media (max-width: 767px) {
  .service-detail-hero { display: flex; flex-direction: column; min-height: 0; }
  .service-detail-back { padding-top: 22px; font-size: 12px; }
  .service-detail-hero-copy { width: 100%; padding: 31px 0 39px; }
  .service-detail-hero-copy h1 { margin-block: 16px 20px; font-size: clamp(47px, 10vw, 66px); }
  .service-detail-subtitle { font-size: 18px; max-width: 530px; }
  .service-detail-description { font-size: 15px; max-width: 530px; }
  .service-detail-break { display: none; }
  .service-detail-hero-copy .button { margin-top: 24px; min-width: 190px; }
  .service-detail-hero-media { position: relative; inset: auto; width: calc(100% - 20px); align-self: flex-end; aspect-ratio: 1.15; border-radius: 39% 0 0 10% / 34% 0 0 25%; }
  .service-detail-hero-media img { object-position: center; }
  .service-detail-hero::after { height: 105px; }
  .service-detail-included { padding-block: 33px 36px; }
  .service-detail-included ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 0; margin-top: 29px; }
  .service-detail-included li { gap: 12px; font-size: 12px; padding-inline: 10px; }
  .service-detail-included li:nth-child(4) { border-left: 0; }
  .service-detail-icon { width: 36px; height: 36px; }
  .service-detail-investment { grid-template-columns: minmax(0, 1fr); gap: 29px; padding-block: 17px 37px; }
  .service-detail-investment-copy h2 { margin-bottom: 23px; }
  .service-detail-price-value { font-size: 53px; }
  .service-detail-investment-note { font-size: 14px; }
  .service-detail-perfect { padding: 26px; }
  .service-detail-perfect h3 { font-size: 29px; }
  .service-detail-perfect li { font-size: 15px; }
  .service-detail-responsive img { aspect-ratio: 1.6; object-position: center; }
  .service-detail-responsive::after { height: 20px; }
  .service-detail-final-cta { flex-direction: column; align-items: flex-start; gap: 25px; padding-block: 33px 85px; }
  .service-detail-final-cta h2 { max-width: 470px; font-size: 33px; }
  .service-detail-final-cta p { font-size: 15px; }
}
@media (max-width: 390px) {
  .service-detail-hero-copy h1 { font-size: 45px; }
  .service-detail-included ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-detail-included li:nth-child(4) { border-left: 1px solid rgb(33 75 83 / .12); }
  .service-detail-included li:nth-child(odd) { border-left: 0; }
}
