/* Texpromo Motion — capa visual de la portada */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

/* Barra de progreso de lectura */
.tx-progress {
	position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 99999;
	background: linear-gradient(90deg, #111 0%, #b9f35a 100%);
	transform-origin: 0 50%; transform: scaleX(0); pointer-events: none;
}

/* Titulares: palabras que suben desde una máscara */
.tx-word { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .06em; margin-bottom: -.06em; }
.tx-word > span { display: inline-block; will-change: transform; }

/* Imágenes con revelado y parallax interno */
.tx-reveal { overflow: hidden; }
.tx-reveal img { will-change: transform; }

/* Banners: zoom suave al pasar el mouse */
.elementor-widget-haru-banner .haru-banner img { transition: transform 1.1s cubic-bezier(.19, 1, .22, 1); }
.elementor-widget-haru-banner:hover .haru-banner img { transform: scale(1.06); }

/* Botones magnéticos */
.tx-magnetic { display: inline-flex; will-change: transform; }

/* Cursor punto + anillo (solo con mouse) */
.tx-cursor, .tx-cursor-ring { position: fixed; top: 0; left: 0; pointer-events: none; z-index: 100000; border-radius: 50%; }
.tx-cursor { width: 8px; height: 8px; margin: -4px 0 0 -4px; background: #111; }
.tx-cursor-ring {
	width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 1.5px solid rgba(17, 17, 17, .35);
	transition: width .35s, height .35s, margin .35s, background-color .35s, border-color .35s;
}
.tx-cursor-ring.is-hover { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(185, 243, 90, .35); border-color: transparent; }

@media (hover: none), (pointer: coarse) {
	.tx-cursor, .tx-cursor-ring { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tx-progress, .tx-cursor, .tx-cursor-ring { display: none; }
	.elementor-widget-haru-banner:hover .haru-banner img { transform: none; }
}
