.page-transition{position:fixed;inset:0;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));z-index:9999;transform:scaleX(0);transform-origin:left;pointer-events:none}.page-transition.active{animation:pageTransition .6s ease-in-out}@keyframes pageTransition{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}50.1%{transform-origin:right}to{transform:scaleX(0);transform-origin:right}}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn:hover:before{width:300px;height:300px}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.floating{animation:floating 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 5px var(--primary-color),0 0 10px var(--primary-color)}50%{box-shadow:0 0 20px var(--primary-color),0 0 30px var(--primary-color)}}.glow{animation:glow 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake:hover{animation:shake .5s ease}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounceIn .8s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .6s ease-out forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fade-in-scale{animation:fadeInScale .5s ease-out forwards}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}.rotate-in{animation:rotateIn .6s ease-out forwards}.icon-spin:hover i{animation:spin .5s ease}.icon-bounce:hover i{animation:bounceIcon .5s ease}@keyframes bounceIcon{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.card-hover{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.card-hover:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px #00000026}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animated{background-size:200% 200%;animation:gradientShift 5s ease infinite}@keyframes textShine{0%{background-position:-100% 0}to{background-position:200% 0}}.text-shine{background:linear-gradient(90deg,var(--text-color),var(--primary-color),var(--text-color));background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textShine 3s linear infinite}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.3) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity 1s}.ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.stat-number{transition:all .3s ease}.stat-card:hover .stat-number{transform:scale(1.1);color:var(--primary-color)}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-icon{transition:all .3s ease}.news-card{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.news-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #ee4d2d33}.news-card:hover .news-category{transform:scale(1.1)}.news-category{transition:transform .3s ease}.teacher-card{transition:all .4s ease}.teacher-card:hover{transform:translateY(-10px) rotateY(5deg);box-shadow:0 20px 40px #00000026}.feature-card,.program-card{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.feature-card:hover .feature-icon,.program-card:hover .program-icon{transform:scale(1.15) rotate(10deg);box-shadow:0 10px 30px #ee4d2d4d}.feature-icon,.program-icon{transition:all .4s ease}.nav-link{position:relative;overflow:hidden}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--primary-color);transition:all .3s ease;transform:translate(-50%)}.nav-link:hover:after,.nav-item.active .nav-link:after{width:80%}.footer-links a{position:relative}.footer-links a:before{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--primary-color);transition:width .3s ease}.footer-links a:hover:before{width:100%}.social-icons a,.footer-social a{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.social-icons a:hover,.footer-social a:hover{transform:translateY(-5px) scale(1.1)}.gallery-item{transition:all .4s ease}.gallery-item:hover{z-index:10}.gallery-item:hover:before{content:"";position:absolute;inset:-5px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));z-index:-1;border-radius:var(--radius-2xl);animation:glow 1.5s ease-in-out infinite}.testimonial-card{transition:all .4s ease}.testimonial-card:hover{transform:scale(1.02);box-shadow:0 15px 40px #0000001a}.testimonial-card:hover .testimonial-quote{transform:scale(1.2) rotate(-10deg)}.testimonial-quote{transition:all .3s ease}.icon-wiggle:hover i{animation:wiggle .4s ease}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-color) 25%,var(--border-color) 50%,var(--surface-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}.typewriter{overflow:hidden;border-right:3px solid var(--primary-color);white-space:nowrap;animation:typing 3.5s steps(40,end),blink .75s step-end infinite}.particles{position:absolute;width:100%;height:100%;overflow:hidden}.particle{position:absolute;width:10px;height:10px;background:#ffffff1a;border-radius:50%;animation:particleFloat 15s infinite}@keyframes particleFloat{0%,to{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}.back-to-top{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.back-to-top:hover{transform:translateY(-8px) scale(1.1);box-shadow:0 10px 30px #ee4d2d66}.back-to-top:hover i{animation:bounceIcon .5s ease infinite}.theme-btn{transition:all .3s ease}.theme-btn:hover{transform:rotate(180deg) scale(1.1);box-shadow:0 5px 20px #ee4d2d4d}.theme-option{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.theme-option:hover{transform:scale(1.1)}.theme-option:hover .theme-color{animation:pulse .5s ease infinite}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:translate(-20px)}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-btn span{transition:all .3s ease}.ticker-track{animation:ticker 20s linear infinite}.ticker-track:hover{animation-play-state:paused}.hero-content h1{animation:slideUp .8s ease-out .2s both}.hero-content p{animation:slideUp .8s ease-out .4s both}.hero-buttons{animation:slideUp .8s ease-out .6s both}.hero-badge{animation:bounceIn .8s ease-out both}
