/**
 * Front page motion accents (AutoNano). Paired with autonano-home-motion.js.
 * Scoped to Elementor static front page body class.
 */

@keyframes autonano-hero-scan {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}
	8% {
		opacity: 0.45;
	}
	92% {
		opacity: 0.45;
	}
	100% {
		transform: translateY(100vh);
		opacity: 0;
	}
}

@keyframes autonano-hero-pulse {
	0%,
	100% {
		opacity: 0.35;
	}
	50% {
		opacity: 0.55;
	}
}

@keyframes autonano-border-flow {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 200% 50%;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body.elementor-page .elementor-element-318e1466 {
		position: relative;
		overflow: hidden;
	}

	/* Subtle moving scan highlight on hero */
	body.elementor-page .elementor-element-318e1466::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -40%;
		height: 35%;
		pointer-events: none;
		background: linear-gradient(
			180deg,
			transparent,
			rgba(0, 255, 200, 0.07),
			transparent
		);
		animation: autonano-hero-scan 11s ease-in-out infinite;
		z-index: 2;
	}

	/* Fine grid shimmer over hero */
	body.elementor-page .elementor-element-318e1466::after {
		content: "";
		position: absolute;
		inset: 0;
		pointer-events: none;
		background-image: linear-gradient(
				rgba(120, 220, 255, 0.04) 1px,
				transparent 1px
			),
			linear-gradient(
				90deg,
				rgba(120, 220, 255, 0.035) 1px,
				transparent 1px
			);
		background-size: 48px 48px;
		animation: autonano-hero-pulse 6s ease-in-out infinite;
		z-index: 1;
	}

	/* Scroll-reveal: containers */
	body.elementor-page .autonano-mv-section {
		opacity: 0;
		transform: translate3d(0, 32px, 0);
		transition:
			opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
		will-change: opacity, transform;
	}

	body.elementor-page .autonano-mv-section.autonano-mv-in {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	/* Primary CTAs: soft tech glow */
	body.elementor-page .elementor-button:hover,
	body.elementor-page .elementor-button:focus-visible {
		box-shadow:
			0 0 0 1px rgba(0, 255, 200, 0.25),
			0 0 24px rgba(0, 180, 255, 0.18);
		transition: box-shadow 0.35s ease, transform 0.35s ease;
	}

	body.elementor-page .elementor-button {
		transition: box-shadow 0.35s ease, transform 0.35s ease;
	}

	/* Icon boxes: lift on hover */
	body.elementor-page .elementor-widget-icon-box {
		transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	}

	body.elementor-page .elementor-widget-icon-box:hover {
		transform: translateY(-4px);
	}

	/* Gradient border shimmer on bordered stat cards (secondary grid section) */
	body.elementor-page .elementor-element-6cd472af {
		position: relative;
		background-clip: padding-box;
	}

	body.elementor-page .elementor-element-6cd472af::before {
		content: "";
		position: absolute;
		inset: -1px;
		border-radius: inherit;
		padding: 1px;
		background: linear-gradient(
			120deg,
			rgba(255, 140, 0, 0.35),
			rgba(0, 180, 255, 0.35),
			rgba(255, 140, 0, 0.35)
		);
		background-size: 200% 200%;
		animation: autonano-border-flow 10s linear infinite;
		-webkit-mask:
			linear-gradient(#fff 0 0) content-box,
			linear-gradient(#fff 0 0);
		mask:
			linear-gradient(#fff 0 0) content-box,
			linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask-composite: exclude;
		pointer-events: none;
		z-index: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.elementor-page .elementor-element-318e1466::before,
	body.elementor-page .elementor-element-318e1466::after {
		animation: none !important;
		display: none;
	}

	body.elementor-page .autonano-mv-section {
		opacity: 1 !important;
		transform: none !important;
	}
}
