*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.case-study-section{
    padding:60px 0;
}

.case-container{
    max-width:1320px;
    width:100%;
    margin:auto;
    display:flex;
    gap:20px;
}
.case-progress {
    display: none;
}

.case-card{
    position:relative;
    flex:1;
    height:470px;
    overflow:hidden;
    text-decoration:none;
    display:block;
}

.case-card img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.case-card:hover img{
    transform:scale(1.08);
}

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(18,40,104,.95) 0%,
        rgba(18,40,104,.65) 35%,
        rgba(18,40,104,.20) 65%,
        rgba(18,40,104,0) 100%
    );
    z-index:1;
}

.content{
    position:absolute;
    inset:0;
    z-index:2;
    padding:16px;

    display:flex;
    flex-direction:column;
}

.tag{
    display:inline-block;
    align-self:flex-start;

    background:rgba(140,140,140,.8);

    color:#fff;

    font-size:10px;
    font-weight:600;

    letter-spacing:1px;

    padding:7px 12px;

    border-radius:2px;
}

.bottom-content{
    margin-top:auto;
}

.bottom-content h3{

    font-size:18px;

    line-height:1.25;

    color:#fff;

    font-weight:700;

    margin-bottom:10px;
}

.bottom-content p{

    color:#fff;

    font-size:14px;

    line-height:1.5;

    opacity:.95;
}

.case-card:hover .overlay{

    background:linear-gradient(
        to top,
        rgba(18,40,104,.98) 0%,
        rgba(18,40,104,.70) 40%,
        rgba(18,40,104,.20) 70%,
        rgba(18,40,104,0) 100%
    );
}

@media (max-width: 991px) {

    .case-study-section {
        padding: 30px 0 34px;
    }

    .case-container {
        max-width: none;

        flex-direction: row;

        gap: 12px;
        padding: 0 20px;

        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 20px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .case-container::-webkit-scrollbar {
        display: none;
    }


    .case-card {
        flex: 0 0 88%;

        height: 340px;

        scroll-snap-align: start;
    }

    .case-card:hover img {
        transform: none;
    }


    .content {
        padding: 18px;
    }

    .tag {
        font-size: 9px;
        padding: 6px 10px;
    }

    .bottom-content h3 {
        margin-bottom: 8px;

        font-size: 17px;
        line-height: 1.3;
    }

    .bottom-content p {
        font-size: 12.5px;
        line-height: 1.55;
    }


    /* PROGRESS */

    .case-progress {
        position: relative;

        display: block;

        height: 2px;

        margin: 20px 20px 0;

        background: #e6e6e6;
        overflow: hidden;
    }

    .case-progress-bar {
        position: absolute;
        top: 0;
        left: 0;

        height: 100%;

        background: #F58634;

        transition: transform .12s linear;
    }

}