/* Homepage service overview. Shares the site's typography and quiet ruled grid. */
html .home-services { border-top: 1px solid var(--line); background: var(--bg); }
.home-services__head { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 64px; margin-bottom: 34px; }
html .home-services__head h2 { margin: 0; }
html .home-services__head p { max-width: 510px; margin: 0 0 3px; font-size: 16px; line-height: 1.7; color: var(--text-soft); }
.home-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.home-service { min-width: 0; display: flex; flex-direction: column; padding: 28px 27px 29px; color: var(--text); background: #242d33; text-decoration: none; transition: background .2s ease; }
.home-service--primary { background: #2b3841; box-shadow: inset 0 2px #9bb0bf; }
.home-service__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.home-service__arrow { flex-shrink: 0; font-size: 20px; line-height: 1; color: #acbecb; }
html .home-service h3 { margin: 0; font-size: 21px; font-weight: 400; line-height: 1.3; letter-spacing: -.015em; text-wrap: balance; }
html .home-service p { margin: 0; max-width: 42ch; color: var(--text-soft); font-size: 14px; line-height: 1.65; }
.home-service:hover { background: #303d46; }
.home-service:hover h3, .home-service:hover .home-service__arrow { color: #eef4f8; }
html .home-service:focus-visible { position: relative; z-index: 1; outline: 2px solid #c4d5e1 !important; outline-offset: -3px !important; background: #303d46; }
.home-services__foot { display: flex; align-items: baseline; justify-content: space-between; gap: 20px 36px; margin-top: 23px; }
html .home-services__foot p { margin: 0; color: var(--text-muted); font-size: 13px; line-height: 1.6; }
.home-services__foot a { display: inline-flex; align-items: center; gap: 28px; flex-shrink: 0; padding-block: 8px; font-size: 14px; color: var(--text); text-decoration: none; }
.home-services__foot a:hover { color: #eef4f8; }
@media (max-width: 1050px) {
    .home-services__head { gap: 36px; }
    .home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .home-services__head { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-bottom: 26px; }
    html .home-services__head p { font-size: 14px; line-height: 1.65; }
    .home-services__grid { grid-template-columns: minmax(0, 1fr); }
    .home-service { padding: 19px 19px 21px; }
    .home-service__heading { margin-bottom: 10px; gap: 12px; }
    html .home-service h3 { font-size: 20px; text-wrap: initial; }
    html .home-service p { max-width: none; font-size: 14px; line-height: 1.6; }
    .home-services__foot { flex-direction: column; gap: 9px; margin-top: 18px; }
    .home-services__foot a { justify-content: space-between; width: 100%; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .home-service { transition: none; } }
