/* Service content and ordering come from the Wagtail page tree. */
.cd-services-page .cd-lead p:last-child { margin-bottom:0; }
.cd-service-intro { margin-bottom:48px; }
.cd-service-intro .cd-eyebrow { color:var(--home-purple); margin-bottom:16px; }
.cd-service-intro h2 { margin-bottom:0; }
.cd-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.cd-service-grid > li { min-width:0; margin:0; display:flex; }
.cd-service-tile { display:flex; flex-direction:column; width:100%; padding:28px; border:1px solid #dedbe3; color:var(--home-ink); text-decoration:none; background:#fff; transition:background-color .2s,border-color .2s; }
.cd-service-tile-top { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; margin-bottom:28px; }
.cd-service-tile-top img { width:56px; height:56px; object-fit:contain; }
.cd-service-arrow { display:grid; place-items:center; width:36px; height:36px; margin-left:auto; flex-shrink:0; border-radius:50%; background:#f1edf5; color:var(--home-purple); font-size:22px; line-height:1; }
.cd-services-page .cd-service-tile h3 { font-size:24px; line-height:1.25; margin:0 0 12px; overflow-wrap:anywhere; }
.cd-service-tile p { margin:0; font-size:15px; line-height:1.65; color:#505763; }
.cd-service-tile:hover, .cd-service-tile:focus-visible { background:#f8f5fa; border-color:var(--home-purple); color:var(--home-purple); }
.cd-service-tile:hover .cd-service-arrow, .cd-service-tile:focus-visible .cd-service-arrow { background:var(--home-lime); }
@media(max-width:991px) { .cd-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) {
  .cd-service-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .cd-service-intro { margin-bottom:32px; }
  .cd-service-tile { padding:24px; }
  .cd-service-tile-top { margin-bottom:20px; }
  .cd-services-page .cd-service-tile h3 { font-size:23px; }
}
