/* FHA Ultra Pro — Animations v4.0.0 */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes slideUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes rotateIn{from{opacity:0;transform:rotate(-8deg) scale(.95)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(4deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes shimmer{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}
@keyframes drawLine{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes wobble{0%,100%{transform:none}20%{transform:rotate(-3deg) scale(1.06)}60%{transform:rotate(3deg) scale(1.06)}}
@keyframes slideInBottom{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes ripple{from{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}
@keyframes typewriter{from{width:0}to{width:100%}}
@keyframes scanline{0%{top:-10%}100%{top:110%}}

.anim-fade{animation:fadeIn 600ms var(--ease-cinema) both}
.anim-up{animation:fadeInUp 700ms var(--ease-cinema) both}
.anim-down{animation:fadeInDown 600ms var(--ease-cinema) both}
.anim-left{animation:fadeInLeft 700ms var(--ease-cinema) both}
.anim-right{animation:fadeInRight 700ms var(--ease-cinema) both}
.anim-scale{animation:scaleIn 600ms var(--ease-spring) both}
.anim-rotate{animation:rotateIn 700ms var(--ease-cinema) both}
.anim-float{animation:float 4s ease-in-out infinite}
.anim-float-slow{animation:floatSlow 6s ease-in-out infinite}
.anim-pulse{animation:pulse 2s ease-in-out infinite}
.anim-spin{animation:spin 1s linear infinite}
.anim-heartbeat{animation:heartbeat 1.3s ease-in-out infinite}
.anim-wobble{animation:wobble 1s ease-in-out}

.d100{animation-delay:100ms}.d200{animation-delay:200ms}.d300{animation-delay:300ms}
.d400{animation-delay:400ms}.d500{animation-delay:500ms}.d600{animation-delay:600ms}
.d800{animation-delay:800ms}.d1000{animation-delay:1000ms}

.stagger>*{animation-fill-mode:both}
.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:80ms}
.stagger>*:nth-child(3){animation-delay:160ms}.stagger>*:nth-child(4){animation-delay:240ms}
.stagger>*:nth-child(5){animation-delay:320ms}.stagger>*:nth-child(6){animation-delay:400ms}
.stagger>*:nth-child(7){animation-delay:480ms}.stagger>*:nth-child(8){animation-delay:560ms}

.gradient-text{background:linear-gradient(135deg,var(--c-rose) 0%,var(--c-gold) 50%,var(--c-accent) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite}
.animated-gradient{background:linear-gradient(270deg,var(--c-rose),var(--c-gold),var(--c-accent),var(--c-rose));background-size:400%;animation:gradShift 8s ease infinite}
.animated-border{position:relative}.animated-border::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(270deg,var(--c-rose),var(--c-gold),var(--c-accent),var(--c-rose));background-size:400%;animation:gradShift 4s linear infinite;z-index:-1}
.hover-lift{transition:transform var(--d2) var(--ease-spring)}.hover-lift:hover{transform:translateY(-6px)}
.hover-scale{transition:transform var(--d2) var(--ease-spring)}.hover-scale:hover{transform:scale(1.05)}
.hover-glow:hover{box-shadow:0 0 0 4px rgba(201,115,122,.22)}

/* Typed text */
.fha-typed{border-right:2px solid var(--c-rose);animation:blink .8s step-end infinite}

/* SVG animate */
.svg-draw path,.svg-draw circle,.svg-draw line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawLine 2s var(--ease-cinema) forwards}
