/* Homepage Animator Pro — Frontend Styles */
.hpa-hero,.hpa-particle-section,.hpa-parallax-section,.hpa-counters,.hpa-scroll-reveal-wrapper,.hpa-typewriter-wrap{box-sizing:border-box;}
.hpa-hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#0f172a 100%);}
.hpa-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.45);z-index:1;pointer-events:none;}
.hpa-hero__particles{position:absolute;inset:0;z-index:2;pointer-events:none;}
.hpa-hero__particles canvas{position:absolute;inset:0;}
.hpa-hero__content{position:relative;z-index:10;text-align:center;max-width:860px;padding:40px 24px;width:100%;}
.hpa-hero__pre-headline{font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#a3c8ff;margin:0 0 20px;opacity:0;}
.hpa-hero__headline{font-size:clamp(2rem,5vw,4rem);font-weight:800;line-height:1.15;color:#fff;margin:0 0 24px;opacity:0;}
.hpa-hero__sub-headline{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:400;color:rgba(255,255,255,0.8);line-height:1.7;max-width:600px;margin:0 auto 36px;opacity:0;}
.hpa-hero__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;}
.hpa-hero__scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);text-align:center;z-index:10;opacity:0;color:rgba(255,255,255,0.6);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}
.hpa-scroll-mouse{display:block;width:26px;height:40px;border:2px solid rgba(255,255,255,0.5);border-radius:20px;margin:0 auto 8px;position:relative;}
.hpa-scroll-wheel{display:block;width:4px;height:8px;background:rgba(255,255,255,0.7);border-radius:2px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:hpa-scroll-wheel 1.8s ease-in-out infinite;}
@keyframes hpa-scroll-wheel{0%{opacity:1;transform:translateX(-50%) translateY(0);}100%{opacity:0;transform:translateX(-50%) translateY(14px);}}
.hpa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:50px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s ease;border:2px solid transparent;white-space:nowrap;}
.hpa-btn--primary{background-color:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 4px 24px rgba(79,70,229,0.4);}
.hpa-btn--primary:hover{background-color:#4338ca;border-color:#4338ca;transform:translateY(-2px);box-shadow:0 8px 30px rgba(79,70,229,0.5);color:#fff;text-decoration:none;}
.hpa-btn--secondary{background:transparent;color:rgba(255,255,255,0.8);border-color:rgba(255,255,255,0.5);}
.hpa-btn--secondary:hover{background:rgba(255,255,255,0.1);color:#fff;border-color:#fff;transform:translateY(-2px);text-decoration:none;}
.hpa-animate-el{opacity:0;}
.hpa-animate-el.hpa-animated{opacity:1;}
.hpa-typewriter-wrap{display:block;text-align:center;}
.hpa-typewriter-text{margin:0;line-height:1.3;}
.hpa-typewriter-prefix,.hpa-typewriter-suffix{color:#1e293b;}
.hpa-typewriter-typed{color:#4f46e5;font-weight:inherit;}
.typed-cursor{color:#4f46e5;font-weight:300;animation:hpa-cursor-blink 0.7s step-end infinite;}
@keyframes hpa-cursor-blink{50%{opacity:0;}}
.hpa-particle-section{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%);}
.hpa-particle-canvas{position:absolute;inset:0;z-index:1;}
.hpa-particle-canvas canvas{position:absolute;inset:0;}
.hpa-particle-section__content{position:relative;z-index:10;text-align:center;max-width:700px;padding:40px 24px;}
.hpa-particle-section__title{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:#fff;margin:0 0 20px;}
.hpa-particle-section__desc{font-size:1.1rem;color:rgba(255,255,255,0.75);line-height:1.7;margin:0;}
.hpa-parallax-section{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hpa-parallax-bg{position:absolute;inset:-40% 0;background-size:cover;background-position:center;will-change:transform;}
.hpa-parallax-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.5);z-index:1;}
.hpa-parallax-section__content{position:relative;z-index:10;text-align:center;max-width:700px;padding:60px 24px;}
.hpa-parallax-section__title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:#fff;margin:0 0 20px;}
.hpa-parallax-section__subtitle{font-size:1.15rem;color:rgba(255,255,255,0.8);line-height:1.7;margin:0 0 32px;}
.hpa-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;padding:20px 0;}
.hpa-counters--flex{display:flex;flex-wrap:wrap;justify-content:center;}
.hpa-counter-item{background:#fff;border-radius:16px;padding:32px 20px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,0.08);transition:transform 0.3s ease,box-shadow 0.3s ease;}
.hpa-counter-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.12);}
.hpa-counter-icon{font-size:2.5rem!important;display:block;margin-bottom:12px;}
.hpa-counter-number{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1;margin-bottom:10px;font-variant-numeric:tabular-nums;}
.hpa-counter-label{font-size:14px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:1.5px;}
.hpa-scroll-reveal-wrapper{opacity:0;transition:none;}
.hpa-scroll-reveal-wrapper.hpa-revealed{opacity:1;}
.hpa-scroll-reveal-box{padding:30px;border-radius:12px;}
.hpa-reveal-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 12px;}
.hpa-reveal-desc{font-size:1rem;color:#64748b;line-height:1.7;margin:0;}
.hpa-reveal-image{width:100%;height:auto;border-radius:8px;display:block;}
.hpa-reveal-icon{font-size:3rem!important;display:block;margin-bottom:16px;}
@media(max-width:768px){.hpa-hero__content{padding:32px 16px;}.hpa-hero__buttons{flex-direction:column;align-items:center;}.hpa-btn{width:100%;max-width:280px;}.hpa-counters{grid-template-columns:repeat(2,1fr);}.hpa-parallax-section__content{padding:40px 16px;}}
@media(max-width:480px){.hpa-counters{grid-template-columns:1fr 1fr;gap:16px;}.hpa-counter-item{padding:20px 12px;}}
@media(prefers-reduced-motion:reduce){.hpa-animate-el,.hpa-scroll-reveal-wrapper,.hpa-scroll-wheel{animation:none!important;transition:none!important;opacity:1!important;}}