.esg-vision .esg-vision__card {
    position: relative;
    overflow: hidden;
    background: var(--color-primary-500);
}

.esg-vision .esg-vision__media,
.esg-vision .esg-vision__overlay {
    opacity: 0;
    transition: opacity 0.45s ease-in-out;
    will-change: opacity;
}

.esg-vision .esg-vision__card:hover .esg-vision__media,
.esg-vision .esg-vision__card:hover .esg-vision__overlay {
    opacity: 1;
}

.esg-vision .esg-vision__title {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    transition: top 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), text-align 0.3s ease, letter-spacing 0.45s ease;
    letter-spacing: 0.01em;
}

.esg-vision .esg-vision__card:hover .esg-vision__title {
    top: calc(100% - 20px);
    transform: translateY(-100%);
    text-align: center;
    letter-spacing: 0.02em;
}