.service-page-hero {
  padding: clamp(8.5rem, 15vw, 11rem) 0 clamp(4.5rem, 8vw, 7rem);
  background: linear-gradient(135deg, #0c2638, #173f58);
  color: #fff;
}

.service-page-hero .shell,
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.breadcrumbs {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, .75);
  font-size: .88rem;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li + li::before { content: "/"; margin-right: .6rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }

.service-page-hero h1 {
  max-width: 12ch;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: .98;
}

.service-page-hero .hero-copy {
  max-width: 700px;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1.08rem, 2vw, 1.3rem);
  line-height: 1.7;
}

.service-page-summary {
  border: 1px solid rgba(255,255,255,.24);
  padding: 1.6rem;
  background: rgba(255,255,255,.08);
}

.service-page-summary strong { display: block; margin-bottom: .8rem; color: #d8bd78; }
.service-page-summary p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.65; }

.content-main { display: grid; gap: 3.5rem; }
.content-main section { max-width: 760px; }
.content-main h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; }
.content-main h3 { margin: 2rem 0 .7rem; font-size: 1.35rem; }
.content-main p,
.content-main li { color: #42535d; line-height: 1.78; }
.content-main ul { display: grid; gap: .75rem; padding-left: 1.3rem; }

.content-aside {
  position: sticky;
  top: 7rem;
  display: grid;
  gap: 1rem;
  border: 1px solid #d9e1e5;
  padding: 1.7rem;
  background: #f3f6f7;
}

.content-aside h2 { margin: 0; font-size: 1.5rem; }
.content-aside p { margin: 0; color: #42535d; line-height: 1.65; }
.related-links { display: grid; gap: .8rem; margin-top: .5rem; }
.related-links a { color: #0c5d84; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

.service-cta { padding: clamp(4rem, 8vw, 6rem) 0; background: #0c2638; color: #fff; }
.service-cta h2 { max-width: 18ch; margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); }
.service-cta p { max-width: 650px; color: rgba(255,255,255,.78); line-height: 1.7; }

@media (max-width: 760px) {
  .service-page-hero .shell,
  .content-grid { grid-template-columns: 1fr; }
  .content-aside { position: static; }
}
