/* 공용 스크롤 등장 애니메이션 모음 — 모든 페이지 + 편집 대시보드에서 공유 */
/* AOS(assets/aos.js)가 엔진 역할(스크롤 감지, aos-animate 클래스 토글, 새로고침)을 하고,
   여기서는 각 효과의 실제 비주얼(시작 상태 -> aos-animate 상태)만 정의한다. */

[data-aos="fade-up"] { opacity: 0; transform: translateY(20px); filter: blur(3px); transition: all 0.7s cubic-bezier(0.16,1,0.3,1); }
[data-aos="fade-up"].aos-animate { opacity: 1; transform: translateY(0); filter: blur(0); }

[data-aos="emphasis"] { display: inline-block; opacity: 0; transform: translateY(8px); transition: all 0.6s cubic-bezier(0.16,1,0.3,1); }
[data-aos="emphasis"].aos-animate { opacity: 1; transform: translateY(0); }

[data-aos="slide-in-left"] { opacity: 0; transform: translateX(-28px); transition: all 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="slide-in-left"].aos-animate { opacity: 1; transform: translateX(0); }
[data-aos="slide-in-right"] { opacity: 0; transform: translateX(28px); transition: all 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="slide-in-right"].aos-animate { opacity: 1; transform: translateX(0); }

[data-aos="fade-down"] { opacity: 0; transform: translateY(-24px); filter: blur(3px); transition: all 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="fade-down"].aos-animate { opacity: 1; transform: translateY(0); filter: blur(0); }

[data-aos="fade-in"] { opacity: 0; transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="fade-in"].aos-animate { opacity: 1; }

[data-aos="zoom-in"] { opacity: 0; transform: scale(0.9); transition: all 0.7s cubic-bezier(0.16,1,0.3,1); }
[data-aos="zoom-in"].aos-animate { opacity: 1; transform: scale(1); }

[data-aos="zoom-out"] { opacity: 0; transform: scale(1.08); transition: all 0.7s cubic-bezier(0.16,1,0.3,1); }
[data-aos="zoom-out"].aos-animate { opacity: 1; transform: scale(1); }

[data-aos="pop"] { opacity: 0; transform: scale(0.7); transition: all 0.6s cubic-bezier(0.34,1.56,0.64,1); }
[data-aos="pop"].aos-animate { opacity: 1; transform: scale(1); }

[data-aos="rotate-in"] { opacity: 0; transform: rotate(-4deg) translateY(16px); transition: all 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="rotate-in"].aos-animate { opacity: 1; transform: rotate(0) translateY(0); }

[data-aos="blur-in"] { opacity: 0; filter: blur(8px); transition: all 0.8s cubic-bezier(0.16,1,0.3,1); }
[data-aos="blur-in"].aos-animate { opacity: 1; filter: blur(0); }

[data-aos="rise-fast"] { opacity: 0; transform: translateY(12px); transition: all 0.4s cubic-bezier(0.16,1,0.3,1); }
[data-aos="rise-fast"].aos-animate { opacity: 1; transform: translateY(0); }

/* AOS 기본 지연 클래스는 50ms 단위라, 기존에 쓰던 80/160/240/320ms 값을 그대로 쓰기 위해 보강 */
[data-aos][data-aos-delay="80"].aos-animate { transition-delay: 80ms; }
[data-aos][data-aos-delay="160"].aos-animate { transition-delay: 160ms; }
[data-aos][data-aos-delay="240"].aos-animate { transition-delay: 240ms; }
[data-aos][data-aos-delay="320"].aos-animate { transition-delay: 320ms; }
[data-aos="emphasis"][data-aos-delay="400"].aos-animate { transition-delay: 400ms; }
