html, body {
    position: relative;
    height: 100%;
    margin: 0;
    padding: 0;
}
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}
.scroll-down-arrow {
    animation: bounce 2s infinite;
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-20px); }
    60% { transform: translateY(-10px); }
}
.swiper-pagination-bullet {
    background-color: white !important;
    border: 1px solid #555;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background-color: #862633 !important;
    border-color: #862633 !important;
}

/* --- 반응형 스타일 (모바일 & 세로가 짧은 데스크탑) --- */
@media (max-width: 770px), (max-height: 1100px), (max-height: 780px) {
    html, body {
        height: auto;
        overflow-x: hidden;
    }
    .swiper {
        height: auto !important;
    }
    .swiper-wrapper {
        display: block;
    }
    .swiper-slide {
        height: auto;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 80px 24px 40px;
    }
    .swiper-pagination, .scroll-down-arrow {
        display: none;
    }
}