/* Hero entrance: hidden on first paint; .seky-anim-in reveals (animations.js) */
@media (prefers-reduced-motion: no-preference) {
	.hero-row .uagb-ifb-title-wrap,
	.hero-row p.uagb-ifb-desc,
	.hero-row .wp-block-uagb-buttons {
		opacity: 0;
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.hero-row .uagb-ifb-title-wrap,
	.hero-row p.uagb-ifb-desc {
		filter: blur(12px);
		transform: translate3d(0, 1.5rem, 0);
	}

	.hero-row .wp-block-uagb-buttons {
		filter: blur(12px);
		transform: translate3d(-1.5rem, 0, 0);
	}

	.hero-row .uagb-ifb-title-wrap.seky-anim-in,
	.hero-row p.uagb-ifb-desc.seky-anim-in,
	.hero-row .wp-block-uagb-buttons.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/*
	 * Stat box title: per-letter blur + slide-up reveal; stagger applied inline
	 * via --seky-letter-delay from animations.js.
	 */
	/* Words wrap as units; letters inside a word can't break mid-word. */
	.stat-box h2.uagb-ifb-title .seky-word {
		display: inline-block;
		white-space: nowrap;
	}

	.stat-box h2.uagb-ifb-title .seky-letter {
		display: inline-block;
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(0, 0.5rem, 0);
		transition:
			opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.5s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--seky-letter-delay, 0ms);
	}

	.stat-box h2.uagb-ifb-title.seky-anim-in .seky-letter {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/* Section heading: blur + fade + slide up on viewport entry. */
	h2.uagb-heading-text {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(0, 1.5rem, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	h2.uagb-heading-text.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/*
	 * Promo row columns: blur + fade + slide up; stagger per column applied
	 * inline via --seky-col-delay from animations.js.
	 */
	.promo-inner-row
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(0, 1.5rem, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--seky-col-delay, 0ms);
	}

	.promo-inner-row
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/*
	 * Promo banner: UAG heading + shortcode content (.seky-promo-content) each
	 * animate on viewport entry. !important on hidden + revealed states to win
	 * against style2.css / custom.js (sova-anim-in) which also targets
	 * h2.uagb-heading-text with overlapping hidden/reveal rules.
	 */
	.promo_banner .wp-block-uagb-advanced-heading h2.uagb-heading-text,
	.promo_banner .seky-promo-content h2,
	.promo_banner .seky-promo-content p {
		opacity: 0 !important;
		filter: blur(12px) !important;
		transform: translate3d(0, 1.5rem, 0) !important;
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) !important;
	}

	.promo_banner .wp-block-uagb-advanced-heading h2.uagb-heading-text.seky-anim-in,
	.promo_banner .seky-promo-content h2.seky-anim-in,
	.promo_banner .seky-promo-content p.seky-anim-in {
		opacity: 1 !important;
		filter: blur(0) !important;
		transform: translate3d(0, 0, 0) !important;
	}

	/*
	 * Essential info row: direct child containers slide in from the right;
	 * stagger via --seky-essential-delay from animations.js.
	 */
	.essential_info .content > .wp-block-uagb-container {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(1.5rem, 0, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--seky-essential-delay, 0ms);
	}

	.essential_info .content > .wp-block-uagb-container.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/* How-we-work info box: blur + fade + slide down (enters from above). */
	.howwework .wp-block-uagb-info-box {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(0, -1.5rem, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.howwework .wp-block-uagb-info-box.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/* Green text row paragraph (+ #seky_akciok info-box desc): blur + fade + slide up on viewport entry. */
	.greentxtrow p,
	div#seky_akciok p.uagb-ifb-desc {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(0, 1.5rem, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.greentxtrow p.seky-anim-in,
	div#seky_akciok p.uagb-ifb-desc.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/*
	 * Green text row list items: blur + fade + slide in from the right; stagger
	 * per item applied inline via --seky-item-delay from animations.js.
	 */
	.greentxtrow ul li {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(1.5rem, 0, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--seky-item-delay, 0ms);
	}

	.greentxtrow ul li.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/* FAQ row image: blur + fade + slide in from the left. */
	.faqrow img {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(-1.5rem, 0, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.faqrow img.seky-anim-in {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}

	/* Action box: blur + fade in on scroll (no slide). */
	.action-box {
		opacity: 0;
		filter: blur(12px);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			filter 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.action-box.seky-anim-in {
		opacity: 1;
		filter: blur(0);
	}
}
