/* Services only: compact introduction and image-led, readable service cards. */
main#main.services-page > section.page-head {
  min-height: 0;
  padding: 30px 0 24px !important;
}
main.services-page .page-head .wrap { gap: 14px; }
main.services-page .page-head h1 { max-width: 980px; }
main.services-page .page-head .services-lead { max-width: 720px; }
main#main.services-page > section.section-block { padding: 12px 0 48px !important; }
main.services-page .service-catalog { gap: 24px; }
main.services-page .service-tile { min-width: 0; }
main.services-page .service-tile a {
  grid-template-rows: auto 1fr;
  isolation: isolate;
  overflow: hidden;
}
main.services-page .service-tile figure {
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
main.services-page .service-tile img { width: 100%; height: 100%; object-fit: cover; }
main.services-page .service-tile .tile-copy {
  position: relative;
  z-index: 2;
  padding: 20px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
main.services-page .service-tile .tile-copy :is(h3,p) { margin: 0; }
main.services-page .service-tile .inline-arrow { margin-top: auto; padding-top: 6px; }
main.services-page .service-tile a:focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 4px; }
@media (max-width: 600px) {
  main#main.services-page > section.page-head { padding: 22px 0 20px !important; }
  main.services-page .page-head h1 { font-size: clamp(1.85rem, 7.7vw, 2.4rem); line-height: 1.08; }
  main.services-page .page-head .wrap { gap: 12px; }
  main.services-page .service-catalog { gap: 20px; }
  main.services-page .service-tile .tile-copy { padding: 18px; }
}
