/* 기본 폰트 설정 */
body {
    font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    scroll-behavior: smooth;
}

/* [가독성 개선] 한글 단어 잘림 방지 */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    word-break: keep-all;
}

/* 커스텀 애니메이션 키프레임 */
@keyframes slideUp {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* [신규] 셔터 열림(세로) 애니메이션 키프레임 */
@keyframes shutterOpenY {
    0% {
        /* 세로 방향으로 완전히 닫힌 상태 */
        clip-path: inset(50% 0 50% 0);
        opacity: 0;
    }

    100% {
        /* 완전히 열린 상태 */
        clip-path: inset(0 0 0 0);
        opacity: 1;
    }
}

/* [신규] 후기 무한 스크롤 애니메이션 */
@keyframes marquee-y {
    0% {
        transform: translateY(0%);
    }

    100% {
        transform: translateY(-100%);
    }
}

.marquee-y-container {
    height: 16rem;
    /* 약 2개의 후기가 보이도록 높이 조절 */
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}

.marquee-y-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /* space-y-4 */
    animation: marquee-y 25s linear infinite;
}

.marquee-y-container:hover .marquee-y-content {
    animation-play-state: paused;
}

.animate-slide-up {
    animation: slideUp 0.6s ease-out forwards;
}

.animate-shutter-open-y {
    animation: shutterOpenY 0.8s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

/* 히어로 섹션 배경 스타일 (JPG 디자인 반영) */
.hero-section {
    min-height: 100vh;
    /* 비디오가 전체 화면을 채우도록 최소 높이 유지 */
}

.red-texture-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    z-index: 1;
    /* z-index를 1로 조정하여 텍스트 아래에 위치 */
    pointer-events: none;
    background-image: radial-gradient(circle at center, rgba(160, 0, 40, 0.8) 0%, rgba(0, 0, 0, 0.9) 70%);
}

.hero-content {
    z-index: 10;
}

/* 모바일 반응형 조정 */
@media (max-width: 768px) {
    .hero-content {
        padding-top: 25vh;
        padding-bottom: 25vh;
    }
}