/* Scoped layouts for the service overview, pricing groups and enquiry guidance. */
.service-overview .service-grid,
.service-overview .support-columns,
.service-overview .pricing-grid.buy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
.service-overview .service-card,
.service-overview .support-columns > article,
.service-overview .price-card { min-width: 0; }
.service-overview .support-columns > article {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--navy-900);
}
.service-overview p { max-width: 72ch; }
.service-overview .pricing-family + .pricing-family { padding-top: 0; }
.service-overview .pricing-family h2 { margin-bottom: 1.2rem; }
.service-overview .price-card strong { display: block; }
.service-overview .price-card .button { margin-top: 1rem; }
.service-overview .pricing-family .price-card { height: auto; }
.enquiry-next-steps .next-step-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.enquiry-next-steps .next-step-strip > article { min-width: 0; }
.enquiry-next-steps .next-step-strip h3 { font-size: 1.12rem; line-height: 1.4; }
.consistency-footer nav { display: flex; flex-wrap: wrap; gap: .65rem 1.3rem; }
.consistency-footer > span { max-width: 86ch; }
.service-overview :focus-visible,
.enquiry-next-steps :focus-visible,
.consistency-footer :focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
@media (max-width: 1000px) {
  .enquiry-next-steps .next-step-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .service-overview .service-grid,
  .service-overview .support-columns,
  .service-overview .pricing-grid.buy-grid,
  .enquiry-next-steps .next-step-strip { grid-template-columns: minmax(0, 1fr); }
  .service-overview .button-row { align-items: stretch; }
  .service-overview .button { white-space: normal; text-align: center; }
}
