/* Hero Title Character Animation Styles */
.slide-title .char,
.slide-title .char-space {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    /* 초기에는 transition 비활성화 */
    transition: none;
}

.slide-title .char-space {
    width: 0.3em;
}

/* 슬라이드 콘텐츠 요소들 초기 상태 */
.slide-subtitle,
.slide-description,
.slide-cta {
    opacity: 0;
    transform: translateY(20px);
    transition: none;
}

/* 애니메이션이 활성화된 상태에서만 transition 적용 */
.hero-section.loaded .slide-title .char,
.hero-section.loaded .slide-title .char-space,
.hero-section.loaded .slide-subtitle,
.hero-section.loaded .slide-description,
.hero-section.loaded .slide-cta {
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), 
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 활성 슬라이드의 애니메이션된 요소들만 보이기 */
.swiper-slide-active .slide-title .char.animate,
.swiper-slide-active .slide-title .char-space.animate,
.swiper-slide-active .slide-subtitle.animate,
.swiper-slide-active .slide-description.animate,
.swiper-slide-active .slide-cta.animate {
    opacity: 1;
    transform: translateY(0);
}

/* 비활성 슬라이드의 모든 요소들 초기화 */
.swiper-slide:not(.swiper-slide-active) .slide-title .char,
.swiper-slide:not(.swiper-slide-active) .slide-title .char-space,
.swiper-slide:not(.swiper-slide-active) .slide-subtitle,
.swiper-slide:not(.swiper-slide-active) .slide-description,
.swiper-slide:not(.swiper-slide-active) .slide-cta {
    opacity: 0;
    transform: translateY(20px);
    transition-delay: 0s !important;
}

/* 페이지 로딩 완료 전까지는 애니메이션 비활성화 */
.hero-section:not(.loaded) .slide-title .char,
.hero-section:not(.loaded) .slide-title .char-space,
.hero-section:not(.loaded) .slide-subtitle,
.hero-section:not(.loaded) .slide-description,
.hero-section:not(.loaded) .slide-cta {
    transition: none;
} 