/* Banco.guru — animaciones de carga v1.1. Solo activas con html.bg-anim (lo añade JS si no hay reduced-motion). */
html.bg-anim{scroll-behavior:smooth}
/* Evita parpadeo del héroe antes de que el JS asigne las clases (si el JS falla, .bg-anim-fail lo muestra a los 2,5 s) */
html.bg-anim:not(.bg-anim-ready):not(.bg-anim-fail) [data-elementor-type="wp-page"]>.e-con:first-child .elementor-widget:not(.elementor-widget-spacer),
html.bg-anim:not(.bg-anim-ready):not(.bg-anim-fail) .bg-tool-wrap>.bg-tool-hero>*{opacity:0}
/* Revelado al hacer scroll */
html.bg-anim:not(.bg-anim-fail) .bg-rv{opacity:0;transform:translate3d(0,24px,0)}
html.bg-anim:not(.bg-anim-fail) .bg-rv.is-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--bgd,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--bgd,0ms)}
html.bg-anim:not(.bg-anim-fail) .bg-rv.bg-rv-s{transform:scale(.96)}
html.bg-anim:not(.bg-anim-fail) .bg-rv.bg-rv-s.is-in{transform:none}
/* Entrada del héroe */
@keyframes bgHeroUp{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
html.bg-anim .bg-hi{animation:bgHeroUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--bgd,0ms)}
/* Formas flotantes y gradiente suave en el héroe */
.bg-hero{position:relative;isolation:isolate;overflow:hidden}
.bg-shape{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(48px);opacity:.38;will-change:transform}
.bg-shape.s1{width:420px;height:420px;right:-120px;top:-140px;background:radial-gradient(circle at 30% 30%,#C9F45E,rgba(201,244,94,0) 70%);animation:bgFloatA 16s ease-in-out infinite alternate}
.bg-shape.s2{width:520px;height:520px;left:-180px;bottom:-260px;background:radial-gradient(circle at 60% 40%,#2FA39A,rgba(47,163,154,0) 70%);animation:bgFloatB 19s ease-in-out infinite alternate}
.bg-shape.s3{width:220px;height:220px;left:46%;top:18%;background:radial-gradient(circle,#8FE3C8,rgba(143,227,200,0) 70%);opacity:.22;animation:bgFloatC 13s ease-in-out infinite alternate}
.bg-hero.bg-hero-light .bg-shape{opacity:.22}
@keyframes bgFloatA{to{transform:translate3d(-70px,60px,0) scale(1.12)}}
@keyframes bgFloatB{to{transform:translate3d(90px,-50px,0) scale(1.08)}}
@keyframes bgFloatC{to{transform:translate3d(-40px,40px,0) scale(.9)}}
/* Tarjetas detectadas por JS: elevación y brillo */
.bg-card-h{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media (hover:hover){html.bg-anim .bg-card-h:hover{transform:translateY(-4px);box-shadow:0 22px 44px -16px rgba(8,39,42,.28),0 0 0 1px rgba(201,244,94,.55),0 0 28px -8px rgba(201,244,94,.45)!important}}
/* Contadores: cifras de ancho fijo para que no salte el texto */
.bg-count{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.bg-shape{display:none}.bg-hi,.bg-rv{animation:none!important;opacity:1!important;transform:none!important}}
