.contact-cards {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 12rem;
    padding: 0 53rem;
}

.contact-cards:not(:first-child) {
    margin-top: 12rem;
}

.contact-card {
    width: 100%;
    min-height: 278rem;
    background-color: var(--color-gray-100);
    border-radius: var(--border-radius-lg);
    padding: 24rem;
}

.contact-card__icon {
    width: 32rem;
    height: 32rem;
    -o-object-fit: contain;
       object-fit: contain;
    margin-left: auto;
    margin-right: auto;
}

.contact-card__title {
    font-weight: 700;
    font-size: 24rem;
    text-align: center;
    color: var(--color-dark);
}

.contact-card__title:not(:first-child) {
    margin-top: 16rem;
}

.contact-card__text {
    min-height: 63rem;
    text-align: center;
}

.contact-card__text:not(:first-child) {
    margin-top: 16rem;
}

.contact-card__contact {
    display: block;
    font-weight: 700;
    color: var(--color-primary);
    text-align: center;
}

.contact-card__contact:not(:first-child) {
    margin-top: 16rem;
}

a.contact-card__contact {
    -webkit-transition: color var(--global-transition-duration);
    transition: color var(--global-transition-duration);
}

@media screen and (min-width: 768px) {
    .contact-cards {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        padding: 0;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .contact-cards {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
        gap: 26rem;
    }

    .contact-cards:not(:first-child) {
        margin-top: 32rem;
    }
}

@media (hover: hover) {
    a.contact-card__contact:hover {
        color: var(--color-primary-light);
    }
}
