/* Permanent white services section on the main homepages. */
.home-services-band {
  --muted: #596575;
  --blue: #245bb9;
  background: #fff;
  color: #142236;
}
.home-services {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
  gap: 100px;
  padding-top: 108px;
  padding-bottom: 108px;
}
.home-services-heading .eyebrow { color: var(--blue); margin-bottom: 24px; }
.home-services-heading h2 { font-size: clamp(34px, 3.3vw, 48px); line-height: 1.12; letter-spacing: -.045em; margin-bottom: 25px; }
.home-services-heading > p:not(.eyebrow) { font-size: 14px; line-height: 1.85; max-width: 360px; }
.home-services-all { display: inline-flex; align-items: center; gap: 28px; margin-top: 22px; padding-bottom: 9px; border-bottom: 1px solid #aebccc; color: #245bb9; font-size: 12px; font-weight: 600; }
.home-services-all:hover { border-color: #245bb9; }
.home-service-list { border-top: 1px solid #bdc8d5; }
.home-service-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 40px; align-items: start; gap: 22px; padding: 28px 0; border-bottom: 1px solid #dce2e9; transition: background .2s; }
.home-service-number { font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .05em; padding-top: 6px; color: #245bb9; }
.home-service-copy h3 { font-size: 25px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; margin: 0 0 10px; }
.home-service-copy p { font-size: 12px; line-height: 1.8; margin: 0; max-width: 390px; }
.home-service-arrow { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #dce2e9; border-radius: 50%; color: #245bb9; font-size: 21px; transition: color .2s, background .2s, border-color .2s; }
.home-service-row:hover { background: #f7f9fc; }
.home-service-row:hover .home-service-arrow, .home-service-row:focus-visible .home-service-arrow { background: #245bb9; color: #fff; border-color: #245bb9; }
.home-service-row:focus-visible, .home-services-all:focus-visible { outline: 2px solid #245bb9; outline-offset: 5px; }
@media (max-width: 1180px) {
  .home-services { gap: 50px; }
}
@media (max-width: 900px) {
  .home-services { grid-template-columns: 1fr; gap: 40px; padding-top: 72px; padding-bottom: 72px; }
  .home-services-heading { max-width: 560px; }
  .home-services-heading > p:not(.eyebrow) { max-width: none; }
  .home-services-all { margin-top: 12px; }
  .home-service-copy p { max-width: 500px; }
}
@media (max-width: 480px) {
  .home-services { padding-top: 60px; padding-bottom: 60px; gap: 32px; }
  .home-service-row { grid-template-columns: 22px minmax(0, 1fr) 32px; gap: 12px; padding: 24px 0; }
  .home-service-copy h3 { font-size: 22px; overflow-wrap: anywhere; }
  .home-service-arrow { width: 32px; height: 32px; font-size: 18px; }
}
