.area {
    background-color: transparent;
    position: relative;
}

.carousel {
    z-index: 1;
}

.area, .circles {
    width: 100%;
    height: 100%;
}

.circles {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #fff7fa 0%,
        #f7dde5 52%,
        #e8b6c3 100%
    );
}

.circles li {
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 24px rgba(184, 116, 138, 0.10);
    animation: animate 25s linear infinite;
    bottom: -150px;
}

/* Variasi warna agar lebih hidup tapi tetap lembut */
.circles li:nth-child(3n) {
    background: rgba(217, 154, 170, 0.24);
}

.circles li:nth-child(4n) {
    background: rgba(184, 116, 138, 0.16);
}

.circles li:nth-child(5n) {
    background: rgba(255, 244, 247, 0.38);
}

.circles li:first-child {
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}

.circles li:nth-child(2) {
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3) {
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4) {
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5) {
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6) {
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}

.circles li:nth-child(7) {
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}

.circles li:nth-child(8) {
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 10s;
    animation-duration: 45s;
}

.circles li:nth-child(9) {
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10) {
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}

@keyframes animate {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 0.95;
        border-radius: 18%;
    }
    100% {
        transform: translateY(-1000px) rotate(2turn);
        opacity: 0;
        border-radius: 50%;
    }
}