/* =========================================================================
   gene-wp.com — JS-driven scroll reveal (marketing site ONLY)

   The plugin itself animates with pure CSS (animation-timeline: view(),
   zero runtime JS). That is correct for generated client sites, but it does
   NOT run in Safari, Firefox, older Edge, or when the OS prefers reduced
   motion — so a chunk of visitors to this landing page would see no motion.

   Because the LP is a marketing/demo page (not plugin output), it drives the
   reveal with a tiny IntersectionObserver instead, so the demo animates in
   every browser and even when reduce-motion is on. scroll-reveal.js adds
   `gene-reveal-js` to <html> only after confirming it can run; if the script
   never runs (blocked/old), the rules below don't apply and every section is
   visible — never-break.
   ========================================================================= */

html.gene-reveal-js .gene-sd {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .7s ease-out, transform .7s ease-out;
	will-change: opacity, transform;
	/* Neutralize the plugin's view()-timeline animation if a cached
	   scroll-anim.css is still being served, so the two don't fight. */
	animation: none !important;
}
html.gene-reveal-js .gene-sd.is-revealed {
	opacity: 1;
	transform: none;
}

/* scale-in parity (LP currently only uses fade-up, but keep both in sync) */
html.gene-reveal-js .gene-sd--scale-in { transform: scale(.94); }
html.gene-reveal-js .gene-sd--scale-in.is-revealed { transform: none; }
