/* HTML Theme Studio animation library — lightweight, transform/opacity first. */
@keyframes h2el-fade-up{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}
@keyframes h2el-fade-down{from{opacity:0;transform:translate3d(0,-28px,0)}to{opacity:1;transform:none}}
@keyframes h2el-fade-left{from{opacity:0;transform:translate3d(28px,0,0)}to{opacity:1;transform:none}}
@keyframes h2el-fade-right{from{opacity:0;transform:translate3d(-28px,0,0)}to{opacity:1;transform:none}}
@keyframes h2el-fade-scale{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes h2el-scale-up{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@keyframes h2el-scale-down{from{opacity:0;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}
@keyframes h2el-zoom-soft{from{opacity:0;transform:scale(.72)}60%{opacity:1;transform:scale(1.025)}to{transform:scale(1)}}
@keyframes h2el-zoom-spring{0%{opacity:0;transform:scale(.62)}55%{opacity:1;transform:scale(1.08)}75%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes h2el-slide-up-soft{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes h2el-slide-down-soft{from{opacity:0;transform:translateY(-48px)}to{opacity:1;transform:none}}
@keyframes h2el-slide-left-soft{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
@keyframes h2el-slide-right-soft{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes h2el-blur-in{from{opacity:0;filter:blur(16px);transform:scale(.98)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes h2el-blur-up{from{opacity:0;filter:blur(12px);transform:translateY(22px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes h2el-rotate-in{from{opacity:0;transform:rotate(-8deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes h2el-rotate-pop{0%{opacity:0;transform:rotate(-14deg) scale(.7)}70%{opacity:1;transform:rotate(2deg) scale(1.04)}100%{transform:none}}
@keyframes h2el-flip-x{from{opacity:0;transform:perspective(800px) rotateX(-55deg);transform-origin:center top}to{opacity:1;transform:perspective(800px) rotateX(0)}}
@keyframes h2el-flip-y{from{opacity:0;transform:perspective(800px) rotateY(-55deg);transform-origin:left center}to{opacity:1;transform:perspective(800px) rotateY(0)}}
@keyframes h2el-skew-in{from{opacity:0;transform:translateX(-24px) skewX(-9deg)}to{opacity:1;transform:none}}
@keyframes h2el-reveal-up{from{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes h2el-reveal-left{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes h2el-float-in{0%{opacity:0;transform:translateY(34px)}70%{opacity:1;transform:translateY(-5px)}100%{transform:none}}
@keyframes h2el-drift-in{from{opacity:0;transform:translate3d(-30px,18px,0) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes h2el-bounce-soft{0%{opacity:0;transform:translateY(38px)}60%{opacity:1;transform:translateY(-8px)}80%{transform:translateY(3px)}100%{transform:none}}
@keyframes h2el-bounce-in{0%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1.12)}72%{transform:scale(.95)}86%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes h2el-elastic-in{0%{opacity:0;transform:scaleX(.6) scaleY(1.25)}55%{opacity:1;transform:scaleX(1.08) scaleY(.94)}75%{transform:scaleX(.98) scaleY(1.02)}100%{transform:none}}
@keyframes h2el-swing-in{0%{opacity:0;transform:rotate(8deg) translateY(-16px);transform-origin:top center}55%{opacity:1;transform:rotate(-3deg)}75%{transform:rotate(1.5deg)}100%{transform:none}}
@keyframes h2el-pulse-in{0%{opacity:0;transform:scale(.88)}50%{opacity:1;transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes h2el-glow-in{0%{opacity:0;filter:brightness(.8);box-shadow:0 0 0 rgba(61,89,255,0)}55%{opacity:1;filter:brightness(1.08);box-shadow:0 0 32px rgba(61,89,255,.28)}100%{filter:none;box-shadow:inherit}}
@keyframes h2el-tilt-in{from{opacity:0;transform:perspective(900px) rotateX(10deg) rotateY(-10deg) translateY(18px)}to{opacity:1;transform:none}}
@keyframes h2el-focus-in{from{opacity:0;filter:blur(7px) saturate(.6);transform:scale(1.04)}to{opacity:1;filter:none;transform:none}}
@keyframes h2el-clip-up{from{clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);opacity:.25}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}
@keyframes h2el-clip-left{from{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:.25}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}
@keyframes h2el-perspective-in{from{opacity:0;transform:perspective(1000px) translateZ(-120px) rotateX(9deg)}to{opacity:1;transform:none}}
@keyframes h2el-magnetic-in{0%{opacity:0;transform:translate(-18px,22px) scale(.9)}45%{opacity:1;transform:translate(5px,-5px) scale(1.03)}70%{transform:translate(-2px,2px) scale(.99)}100%{transform:none}}
@keyframes h2el-shimmer-in{0%{opacity:0;filter:brightness(.75)}35%{opacity:1;filter:brightness(1.3)}100%{filter:none}}

@keyframes h2el-hover-lift{to{transform:translateY(-7px)}}
@keyframes h2el-hover-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes h2el-hover-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes h2el-hover-glow{0%,100%{filter:brightness(1);box-shadow:inherit}50%{filter:brightness(1.08);box-shadow:0 10px 32px rgba(61,89,255,.3)}}
@keyframes h2el-hover-tilt{0%,100%{transform:rotate(0)}50%{transform:rotate(2.2deg) scale(1.015)}}
@keyframes h2el-hover-wobble{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px) rotate(-1deg)}40%{transform:translateX(4px) rotate(1deg)}60%{transform:translateX(-2px)}80%{transform:translateX(1px)}}
@keyframes h2el-hover-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@keyframes h2el-hover-bounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-8px)}65%{transform:translateY(-3px)}}
@keyframes h2el-hover-rotate{to{transform:rotate(4deg)}}
@keyframes h2el-hover-scale{to{transform:scale(1.055)}}
@keyframes h2el-hover-skew{to{transform:skewX(-2deg) scale(1.02)}}
@keyframes h2el-hover-focus{0%,100%{filter:none}50%{filter:contrast(1.08) saturate(1.15)}}
@keyframes h2el-hover-shimmer{0%{filter:brightness(1)}45%{filter:brightness(1.25)}100%{filter:brightness(1)}}
@keyframes h2el-hover-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media (prefers-reduced-motion: reduce){[data-h2el-eid]{animation-duration:.001ms!important;animation-iteration-count:1!important}}
