.section-contact-cards.section-alternate {
    background-color: transparent;
    background-image: linear-gradient(135deg, var(--color-background-alternate) 0%, var(--color-border) 100%);
}

.section-contact-cards.section-alternate:has(.contact-columns) {
    background-color: var(--color-background-alternate);
    background-image: none;
}

.solution-content .section-contact-cards.section-alternate {
    background-color: var(--color-background-standard);
    background-image: none;
}

.section-contact-card .contact-wrapper {
    align-items: flex-start;
    gap: 0.5rem;
}

.section-contact-cards .section-icon {
    margin: 0 0 0.5rem 0;
    width: 100%;
}

.section-contact-cards .section-icon-top svg {
    height: 4rem;
    width: auto;
}

.section-contact-cards .contact-cards-standard > div:nth-child(2) {
    display: none;
}

.section-contact-cards .contact-items {
    margin-top: 1.5rem;
}

.section-contact-cards .contact-items a {
    background-color: var(--color-background-standard);
    border: 3px solid var(--color-link-normal);
    border-radius: 100vw;
    display: block;
    margin-bottom: 0.75rem;
    max-width: 20rem;
    padding: 0.5rem 1rem;
    text-decoration: none;
    transform-origin: center;
}

.section-contact-cards .contact-items a:is(:hover,:focus,:active) {
    box-shadow: 0 0 2rem rgba(255,255,255,0.5);
    transform: scale3d(1.05,1.05,1);
}

.section-contact-cards .contact-items a:last-child {
    margin-bottom: 0;
}

.section-contact-cards .contact-items a > .flex-box {
    align-items: center;
    gap: 0.75rem;
}

.section-contact-cards .contact-items a > .flex-box span {
    display: block;
}

.section-contact-cards .contact-items a > .flex-box > span:first-of-type, 
.section-contact-cards .contact-items a > .flex-box > span:first-of-type > img {
    width: 2rem;
}

.section-contact-cards .contact-items a > .flex-box > span:last-of-type {
    overflow: hidden;
    overflow-wrap: break-word;
    width: calc(100% - 2.75rem);
}

.section-contact-cards .contact-items .email-small-text > .flex-box > span:last-of-type {
    font-size: var(--font-size-small);
}

.section-contact-cards .contact-items a > .flex-box > span:last-of-type > span:first-of-type {
    color: var(--color-foreground);
    font-size: var(--font-size-smaller);
    font-weight: var(--font-weight-semibold);
    letter-spacing: calc(2 * var(--tracking-basis));
    text-transform: uppercase;
}

.section-contact-cards .contact-reps-grid {
    display: grid;
    gap: 1.5rem;
}

.section-contact-cards .contact-reps-grid h3 {
    margin-bottom: 0.25rem;
}

.section-contact-cards .contact-reps-grid h3 + p {
    font-size: var(--font-size-smaller);
    font-weight: var(--font-weight-semibold);
    letter-spacing: calc(2 * var(--tracking-basis));
    text-transform: uppercase;
}

.section-contact-cards:is(.section-standard,.section-alternate) .contact-columns > div {
    background-color: transparent;
    border-width: 0;
}

.section-contact-cards .contact-columns .column-icon {
    width: 100%;
}

.section-contact-cards .contact-columns .column-icon > img {
    border-width: 0;
    display: block;
    height: 3rem;
    margin: 0 0 0.5rem 0;
}

.section-contact-cards .contact-columns .contact-item:not(:last-of-type) {
    margin-bottom: 0.75rem;
}

 .section-contact-cards .contact-columns .contact-item .subhead {
    margin-bottom: 0.125rem;
}


@media (min-width: 48rem) { /* 768 px */
    .section-contact-cards .contact-wrapper:has(.section-icon-left) {
        align-items: flex-start;
        gap: 1.5rem;
    }
    
    .section-contact-cards .contact-wrapper:has(.section-icon-left) .section-icon-left, 
    .section-contact-cards .contact-wrapper:has(.section-icon-left) .section-icon-left svg {
        width: 3rem;
    }
    
    .section-contact-cards .contact-wrapper:has(.section-icon-left) .section-icon-left svg {
        display: block;
        height: unset;
        margin-top: 0.25rem;
    }
    
    .section-contact-cards .contact-wrapper:has(.section-icon-left) .section-icon-left + div {
        flex: 1;
    }

    .section-contact-cards:has(.contact-cards-standard) {
        padding: 0;
    }
    
    .section-contact-cards .contact-cards-standard {
        align-items: flex-end;
        gap: 3rem;
    }

    .section-contact-cards .contact-cards-standard > div:first-child {
        align-self: center;
        flex: 1;
        padding: 3rem 0;
    }

    .solution-content .section-contact-cards .contact-cards-standard > div:first-child {
        padding: 0;
    }

    .section-contact-cards .contact-cards-standard > div:nth-child(2) {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        max-width: 25rem;
        padding-top: 2rem;
        width: 50%;
    }

    .section-contact-cards .contact-cards-standard > div:nth-child(2) img {
        aspect-ratio: 400 / 435;
        border-width: 0;
        display: block;
        max-width: 25rem;
        object-fit: cover;
        object-position: center;
    }

    .solution-content .section-contact-cards .contact-cards-standard > div:nth-child(2) { 
        display: none;
    }
}

@media (min-width: 50rem) { /* 800 px */
    .section-contact-cards .contact-reps-grid {
        gap: 3rem;
        grid-template-columns: repeat(2,1fr);
    }
}

@media (min-width: 75rem) { /* 1200 px */
    .section-contact-cards .contact-cards-standard .contact-items {
        display: grid;
        gap: 1.5rem;
        grid-template-columns: repeat(2,1fr);
    }

    .section-contact-cards .contact-cards-standard .contact-items a {
        margin-bottom: 0;
    }

    .section-contact-cards .contact-cards-standard > div:nth-child(2) {
        max-width: 16rem;
    }

    .section-contact-cards .contact-reps-grid {
        grid-template-columns: repeat(3,1fr);
    }
}


