/* Four homepage services form a balanced two-by-two grid. */
.services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 620px) {
  .services .service-grid { grid-template-columns: 1fr; }
}

/* Keep former service bookmarks pointing to the relevant therapy category. */
.services-list .service-detail { position: relative; scroll-margin-top: 112px; }
.services-list .service-anchor {
  position: absolute;
  top: 0;
  left: 0;
  scroll-margin-top: 112px;
}

/* Plain, readable support lists below the four therapy categories. */
.service-support { padding: 0 0 20px; background: var(--cream, #f4f0e8); }
.service-support-panel {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 5vw, 64px);
  padding: 36px;
  border: 1px solid #d3e4ed;
  border-radius: 22px;
  background: #fff;
  scroll-margin-top: 112px;
}
.service-support-panel + .service-support-panel { margin-top: 24px; }
.service-support h2 { margin: 0; font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.12; }
.service-support-intro p { margin-top: 18px; color: #526270; line-height: 1.65; }
.service-support-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-content: start;
}
.service-support-list li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid #e5edf2;
  color: #1b2b38;
  font-size: 1rem;
  line-height: 1.5;
}
.service-support-list li::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #285878;
  transform: translateY(-2px);
}
@media (max-width: 900px) {
  .service-support-panel { grid-template-columns: 1fr; gap: 24px; padding: 28px; }
}
@media (max-width: 620px) {
  .service-support-panel { padding: 24px; border-radius: 18px; }
  .service-support-list { grid-template-columns: 1fr; }
}
