.ozg-wrapper{

    position:relative;

    overflow:hidden;

    min-height:760px;

    display:flex;

    justify-content:center;

    align-items:center;

    background-size:cover;

    background-position:center;

}

.ozg-stage{

    position:relative;

    width:752px;

    height:526px;

}

.ozg-card{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    pointer-events:none;

    transition:
        transform .9s cubic-bezier(.2,.8,.2,1),
        opacity .9s;

    transform:
        translateY(30px)
        rotate(-4deg)
        scale(.95);

}

.ozg-card.active{

    opacity:1;

    pointer-events:auto;

    transform:
        translateY(0)
        rotate(0deg)
        scale(1);

    z-index:5;

}

.ozg-card img{

    width:100%;
    max-width:640px;
}
/*==========================
ANIMATIONS
==========================*/

.ozg-card{

    transform:
        translateY(60px)
        rotate(var(--rotate,-2deg))
        scale(.92);

}

.ozg-card.enter{

    opacity:1;

    z-index:8;

    animation:oz-enter .7s ease forwards;

}

.ozg-card.leave{

    opacity:1;

    z-index:10;

    animation:oz-leave .7s ease forwards;

}

@keyframes oz-enter{

    from{

        opacity:0;

        transform:
            translateX(120px)
            rotate(8deg)
            scale(.9);

    }

    to{

        opacity:1;

        transform:
            translateX(0)
            rotate(0deg)
            scale(1);

    }

}

@keyframes oz-leave{

    from{

        opacity:1;

        transform:
            translateX(0)
            rotate(0deg)
            scale(1);

    }

    to{

        opacity:0;

        transform:
            translateX(-140px)
            rotate(-10deg)
            scale(.88);

    }

}

/*==========================
DOTS
==========================*/

.ozg-dots{

    position:absolute;

    left:50%;

    bottom:20px;

    transform:translateX(-50%);

    display:flex;

    gap:10px;

    z-index:20;

}

.ozg-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#fff;

    opacity:.35;

    cursor:pointer;

    transition:.3s;

}

.ozg-dot.active{

    opacity:1;

    transform:scale(1.35);

}

/*==========================
ARROWS
==========================*/

.ozg-prev,
.ozg-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(8px);

    color:#fff;

    font-size:24px;

    cursor:pointer;

    z-index:30;

}

.ozg-prev{

    left:25px;

}

.ozg-next{

    right:25px;

}

.ozg-prev:hover,
.ozg-next:hover{

    background:rgba(255,255,255,.35);

}

/*==========================
RESPONSIVE (MOBILE)
==========================*/

@media (max-width: 768px){

    .ozg-wrapper{

        min-height:unset;

        padding:30px 12px;

    }

    .ozg-stage{

        width:100%;

        max-width:480px;

        height:auto;

        aspect-ratio:752 / 526;

    }

    .ozg-card img{

        max-width:100%;

        padding:8px;

    }

    .ozg-prev,
    .ozg-next{

        width:34px;

        height:34px;

        font-size:16px;

    }

    .ozg-prev{

        left:6px;

    }

    .ozg-next{

        right:6px;

    }

    .ozg-dots{

        bottom:8px;

    }

}

@media (max-width: 380px){

    .ozg-wrapper{

        padding:20px 8px;

    }

    .ozg-stage{

        max-width:100%;

    }

}