.service-page {
  --service-blue: #1c3bc7;
  --service-navy: #142554;
  background: #f3f3ec;
  font-family: 'Inter Tight', system-ui, sans-serif;
}
.service-header, .service-footer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding-block: 16px;
}
.service-header { border-bottom: 1px solid #bac3ae; }
.service-header a, .service-footer a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .25em;
}
.service-header .service-brand { font-size: 1.35rem; letter-spacing: -.04em; text-decoration: none; }
.service-hero { padding-block: clamp(36px, 6vw, 104px); }
.service-route {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 18px;
  margin-bottom: clamp(25px, 4vw, 54px);
  color: var(--service-blue);
}
.service-route span { font-size: .875rem; font-variant-numeric: tabular-nums; }
.service-route .service-name { font-size: 1.25rem; font-weight: 650; line-height: 1.2; }
.service-page .service-promise {
  max-width: 16ch;
  font-size: clamp(2.75rem, 7.2vw, 7rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
  animation: service-enter .65s var(--ease) both;
}
@keyframes service-enter { from { opacity: .4; transform: translateY(10px); } }
@media (max-width: 0px) { .service-page .service-promise { animation: none; } }
.service-summary { max-width: 50ch; font-size: clamp(1.125rem, 1.8vw, 1.5rem); margin-block: 24px; }
.service-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 4px;
  background: var(--service-blue);
  color: #fff;
  font-size: .9375rem;
  font-weight: 600;
}
.service-button:hover { background: #162d96; }
.service-button span { font-size: 1.15em; transition: transform .25s var(--ease); }
.service-button:hover span { transform: translate(2px,-2px); }
.service-scope-band { background: var(--service-navy); color: #fffef8; }
.service-delivery, .service-next {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(26px, 8vw, 130px);
  padding-block: clamp(48px, 8vw, 110px);
}
.service-page h2 {
  font-size: clamp(2rem, 4.25vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.03;
  text-wrap: balance;
}
.service-page p { text-wrap: pretty; }
.service-delivery p, .service-next p { max-width: 55ch; margin-top: 12px; }
.service-delivery p { color: #d7e0ff; }
.service-page :is(.service-scope-title, .service-next nav h2) {
  font-size: 1.125rem;
  letter-spacing: -.015em;
  margin-bottom: 14px;
}
.service-delivery ol, .service-next ul { margin: 0; padding: 0; list-style: none; }
.service-delivery li { border-top: 1px solid #7685aa; padding-block: 18px; }
.service-delivery li h3 { font-size: clamp(1.375rem, 2.4vw, 2rem); line-height: 1.14; font-weight: 600; }
.service-delivery li p { margin-top: 7px; }
.service-next .service-button { margin-top: 20px; }
.service-next li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
  border-top: 1px solid #bac3ae;
  color: var(--service-blue);
}
.service-next li a:hover { text-decoration: underline; text-underline-offset: .25em; }
.service-footer { background: #e6eadc; }
@media (max-width: 680px) {
  .service-delivery, .service-next { grid-template-columns: 1fr; }
}

.service-reference, .service-questions {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(26px, 8vw, 130px);
  padding-block: clamp(48px, 7vw, 94px);
  border-bottom: 1px solid #bac3ae;
}
.service-reference h2, .service-questions h2 {
  font-size: clamp(1.875rem, 3.6vw, 3.5rem);
  text-wrap: balance;
}
.service-reference p { max-width: 53ch; margin-top: 12px; }
.service-reference a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: 10px;
  color: var(--service-blue);
  text-decoration: underline;
  text-underline-offset: .23em;
}
.service-reference ul { padding: 0; margin: 0; list-style: none; }
.service-reference li { padding-block: 18px 22px; border-top: 1px solid #bac3ae; }
.service-reference li h3 {
  color: var(--service-blue);
  font-size: clamp(1.625rem, 3vw, 2.75rem);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.service-reference li p { margin-top: 7px; }
.service-example-label { font-weight: 600; }

.service-questions details { border-top: 1px solid #bac3ae; }
.service-questions details:last-child { border-bottom: 1px solid #bac3ae; }
.service-questions summary {
  min-height: 48px;
  padding-block: 14px;
  font-weight: 600;
  cursor: pointer;
}
.service-questions summary::marker { color: var(--service-blue); }
.service-questions details p { max-width: 58ch; padding: 0 0 18px 17px; }

@media (max-width: 680px) {
  .service-reference, .service-questions { grid-template-columns: 1fr; }
}
