/* Homepage services: scoped independently of the legacy service tabs. */
.ew-services {
  padding: 104px 0 72px;
  background: #ffffff;
  color: #171717;
  scroll-margin-top: 110px;
}
.ew-services *, .ew-services *::before, .ew-services *::after { box-sizing: border-box; }
.ew-services-header { max-width: 860px; margin: 0 auto 52px; text-align: center; }
.ew-services-label { display: inline-flex; align-items: center; gap: 12px; color: #0089ff; font-size: 16px; font-weight: 700; letter-spacing: .12em; margin-bottom: 22px; }
.ew-services-label > span, .ew-services-label::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: #0089ff; }
.ew-services h2 { font-size: clamp(30px, 3.3vw, 46px); font-weight: 800; line-height: 1.22; letter-spacing: -1.6px; color: #171717; margin: 0 0 22px; }
.ew-services h2 span { color: #0089ff; text-decoration: underline; text-decoration-color: #e0efff; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.ew-services-header > p { max-width: 800px; margin: 0 auto; color: #555555; font-size: 18px; line-height: 1.75; }
.ew-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ew-service-card { position: relative; display: flex; flex-direction: column; padding: 30px 26px 26px; border: 1px solid #e8edf5; border-radius: 18px; background: #f8faff; box-shadow: 0 4px 20px rgba(0, 137, 255, .06); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.ew-service-card:hover, .ew-service-card:focus-within { transform: translateY(-5px); border-color: #0089ff; box-shadow: 0 16px 36px rgba(0, 137, 255, .13); }
.ew-service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.ew-service-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border: 1px solid #0089ff; background: #0089ff; color: #fff; border-radius: 15px; box-shadow: 0 6px 16px rgba(0, 137, 255, .18); }
.ew-service-number { font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: 1px; color: #0072d6; }
.ew-services .ew-service-card h3 { font-size: 21px; font-weight: 600; letter-spacing: -.4px; line-height: 1.45; color: #171717; margin: 0 0 13px; }
.ew-services .ew-service-card p { font-size: 16px; line-height: 1.75; color: #555555; margin: 0 0 26px; }
.ew-service-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; min-height: 44px; border-top: 1px solid #e9eef4; color: #0072d6; font-size: 15px; font-weight: 500; text-decoration: none; }
.ew-service-link:hover { color: #004f98; }
.ew-service-link svg { flex-shrink: 0; transition: transform .22s ease; }
.ew-service-link:hover svg { transform: translate(2px, -2px); }
.ew-service-featured { grid-column: span 2; padding: 32px; background: #f0f7ff; border-color: #cce5ff; }
.ew-service-featured .ew-service-top { margin-bottom: 22px; }
.ew-service-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 1.6px; color: #0072d6; margin-bottom: 10px; }
.ew-services .ew-service-featured h3 { font-size: 27px; }
.ew-services .ew-service-featured p { max-width: 540px; font-size: 16px; }
.ew-service-featured .ew-service-link { font-size: 16px; }
.ew-services-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding: 24px 0 0; border-top: 1px solid #dee7ef; }
.ew-services-footer p { color: #555555; font-size: 16px; margin: 0; line-height: 1.8; }
.ew-services-footer strong { color: #171717; font-weight: 500; }
.ew-services-footer a { display: inline-flex; align-items: center; gap: 20px; flex-shrink: 0; color: #0072d6; font-size: 16px; font-weight: 600; text-decoration: none; }
.ew-services-footer a span { font-size: 22px; }
.ew-services a:focus-visible { outline: 3px solid #0089ff; outline-offset: 6px; border-radius: 3px; }
@media (max-width: 1399px) {
  .ew-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ew-service-featured { grid-column: auto; }
}
@media (max-width: 767px) {
  .ew-services { padding: 64px 0 46px; }
  .ew-services-header { margin-bottom: 32px; }
  .ew-services h2 { letter-spacing: -.9px; }
  .ew-services-break { display: none; }
  .ew-services-header > p { font-size: 16px; }
  .ew-services-grid { gap: 16px; }
  .ew-service-card, .ew-service-featured { padding: 24px; }
  .ew-services .ew-service-featured h3 { font-size: 23px; }
  .ew-services-footer { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 575px) {
  .ew-services-grid { grid-template-columns: minmax(0, 1fr); }
  .ew-services > .container { padding-left: 20px; padding-right: 20px; }
  .ew-services .ew-service-card p { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ew-service-card, .ew-service-link svg { transition: none; }
  .ew-service-card:hover, .ew-service-card:focus-within, .ew-service-link:hover svg { transform: none; }
}
