.services-cards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
}
.services-cards__card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 480px;
    overflow: hidden;
    border-radius: 12px;
    background: #f5f5f5;
    color: #262a30;
    transition: box-shadow .3s ease, color .3s ease;
}
.services-cards__image,
.services-cards__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}
.services-cards__image { object-fit: cover; object-position: center top; }
.services-cards__shade { background: rgba(18, 24, 32, .7); }
.services-cards__link {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 32px;
    box-sizing: border-box;
    color: inherit;
    text-decoration: none;
}
.services-cards__link:focus-visible { outline: 2px solid #c3252d; outline-offset: -4px; }
.services-cards__title {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    color: inherit;
}
.services-cards__description {
    font-size: 16px;
    line-height: 20px;
    overflow-wrap: anywhere;
    color: inherit;
}
.services-cards .services-cards__description p { margin: 0 0 12px; color: inherit; font-size: inherit; line-height: inherit; }
.services-cards .services-cards__description p:last-child { margin-bottom: 0; }
.services-cards__card--has-image:focus-within { color: #fff; box-shadow: 0 16px 36px rgba(18, 24, 32, .16); }
.services-cards__card--has-image:focus-within .services-cards__image,
.services-cards__card--has-image:focus-within .services-cards__shade { opacity: 1; }
@media (hover: hover) {
    .services-cards__card--has-image:hover { color: #fff; box-shadow: 0 16px 36px rgba(18, 24, 32, .16); }
    .services-cards__card--has-image:hover .services-cards__image,
    .services-cards__card--has-image:hover .services-cards__shade { opacity: 1; }
}
@media (max-width: 1100px) {
    .services-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .services-cards__link { padding: 28px; }
}
@media (max-width: 640px) {
    .services-cards__grid { grid-template-columns: 1fr; gap: 16px; }
    .services-cards__card { min-height: 420px; }
    .services-cards__link { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .services-cards__card, .services-cards__image, .services-cards__shade { transition: none; }
}

.inner-page__container.service-page .service-page__overview > .services-cards { margin-top: 32px; }
@media (max-width: 600px) {
    .inner-page__container.service-page .service-page__overview > .services-cards { margin-top: 24px; }
}
