/* Card Image Zoom Transition */
.resource-card-full img {
    /* 1. Hardware acceleration & rendering fixes */
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    /* Promotes layer to GPU */

    /* 2. Transition */
    transition: transform var(--transition);
}

.resource-card-full:hover img {
    /* Uses scale3d to maintain 3D rendering context & prevent sub-pixel jitter */
    transform: scale3d(1.05, 1.05, 1);
}

/* Card Overlay Smooth Fade */
.resource-card-full .card-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
    opacity: 0.67;
    will-change: opacity;
    transition: opacity var(--transition);
    z-index: 1;
}

.resource-card-full:hover .card-overlay {
    opacity: 1;
}

.resource-card-full:hover .text-link:not(.no-anim) svg {
    transform: translateX(0.25rem);
}

.resource-card-full:hover a {
    color: inherit;
}