.cases-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.cases-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cases-card__main-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.cases-card__box-img {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/4;
}

.cases-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: translateZ(0) scale(1);
    transform-origin: 50% 50%;
    transition: transform .6s ease-in-out;
    -webkit-transition: transform .6s ease-in-out;
    -moz-transition: transform .6s ease-in-out;
    -ms-transition: transform .6s ease-in-out;
    -o-transition: transform .6s ease-in-out;
}



/* Страница кейса */
.case-intro {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.case-intro__specs {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
    margin-bottom: 15px;
}

.case-intro__box-prev {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.case-intro__prev-img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    object-position: center;
}

.case-intro__info-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.case-gallery__columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}

.case-gallery__column {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.case-gallery__box-img {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.case-gallery__box-img_w {
    aspect-ratio: 16/10;
}

.case-gallery__box-img_h {
    padding-bottom: calc(125% + 5px);
}

.case-gallery__img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    background-color: var(--white-bg);
}

.case-intro__box-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

@media (hover:hover) {
    .cases-card:hover .cases-card__img {
        transform: translateZ(0) scale(1.06);
    }

    .gallery__photo:hover>.gallery__box-img>a>.gallery__img {
        scale: 1.04;
    }

}

@media (min-width:768px) {
    .cases-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width:1024px) {
    .case-intro__info-columns {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
}

@media (min-width:1200px) {
    .cases-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}