/**
 * Entrance animations — text rise + image reveal (ArkForce demo polish).
 * Loaded after main.css / home.css.
 * Default: fully visible. Motion only arms under html.is-motion-ready.
 */

@keyframes w-text-rise {
	from {
		opacity: 0;
		transform: translate3d(0, 1.15rem, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes w-img-reveal {
	from {
		opacity: 0;
		transform: scale(1.06);
		clip-path: inset(8% 8% 8% 8%);
	}
	to {
		opacity: 1;
		transform: scale(1);
		clip-path: inset(0 0 0 0);
	}
}

@keyframes w-hero-media-in {
	from {
		opacity: 0.35;
		transform: scale(1.08);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes w-hero-text-in {
	from {
		opacity: 0;
		transform: translate3d(0, 1.4rem, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* Section shell — always visible */
[data-reveal-section] {
	opacity: 1;
	transform: none;
}

/* Default visible — only hide after JS arms motion */
[data-reveal]:not([data-reveal-section]),
[data-reveal-section] .w-reveal-text,
[data-reveal-section] .w-reveal-media {
	opacity: 1;
	transform: none;
	filter: none;
}

/* NUCLEAR: never hide content — motion JS is no-op; keep opacity 1 always */
html.is-motion-ready:not(.is-motion-safe) [data-reveal]:not([data-reveal-section]):not(.is-inview) {
	opacity: 1;
	transform: none;
}

html.is-motion-ready:not(.is-motion-safe) [data-reveal].is-inview:not([data-reveal-section]) {
	opacity: 1;
	transform: none;
}

/* Text stagger inside revealed sections — no blur */
html.is-motion-ready:not(.is-motion-safe) [data-reveal-section] .w-reveal-text:not(.is-revealed) {
	opacity: 1;
	transform: none;
}

html.is-motion-ready:not(.is-motion-safe) [data-reveal-section].is-inview .w-reveal-text:not(.is-revealed) {
	animation: none;
}

[data-reveal-section].is-inview .w-reveal-text.is-revealed,
[data-reveal-section].is-inview .w-reveal-media.is-revealed {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	clip-path: none !important;
	animation: none !important;
}

/* Image / media reveal */
html.is-motion-ready:not(.is-motion-safe) [data-reveal-section] .w-reveal-media:not(.is-revealed) {
	opacity: 1;
	transform: none;
	clip-path: none;
}

html.is-motion-ready:not(.is-motion-safe) [data-reveal-section].is-inview .w-reveal-media:not(.is-revealed) {
	animation: none;
}

/* Failsafe: never leave content stuck invisible */
html.is-motion-safe [data-reveal],
html.is-motion-safe [data-reveal-section],
html.is-motion-safe .w-reveal-text,
html.is-motion-safe .w-reveal-media,
html.is-motion-safe .woerland-hero__slide .woerland-hero__content > *,
html.is-motion-safe .woerland-page-hero__content > * {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	clip-path: none !important;
	animation: none !important;
}

[data-reveal-section].is-inview .w-reveal-media img {
	/* When figure/picture is the media root, keep img itself still */
	transform: none;
}

/* Product cards — slight extra stagger via existing grid */
.woerland-products.is-inview .woerland-product-card.w-reveal-text {
	animation-duration: 0.9s;
}

/* NUCLEAR: hero/page entrance animations disabled — keep visible */
html.is-motion-ready:not(.is-motion-safe) .woerland-hero__slide.is-hero-anim.is-active .woerland-hero__media img,
html.is-motion-ready:not(.is-motion-safe) .woerland-hero__slide.is-hero-anim.is-active .woerland-hero__media picture,
html.is-motion-ready:not(.is-motion-safe) .woerland-page-hero.is-hero-anim .woerland-page-hero__media img {
	animation: none;
}

html.is-motion-ready:not(.is-motion-safe) .woerland-hero__slide.is-hero-anim.is-active .woerland-hero__content > *,
html.is-motion-ready:not(.is-motion-safe) .woerland-page-hero.is-hero-anim .woerland-page-hero__content > * {
	opacity: 1;
	animation: none;
}

html.is-motion-ready:not(.is-motion-safe) .woerland-model-row[data-reveal-section].is-inview .woerland-model-row__media {
	animation: none;
}

/* Reduced motion */
body.is-reduced-motion .w-reveal-text,
body.is-reduced-motion .w-reveal-media,
body.is-reduced-motion .woerland-hero__slide.is-hero-anim.is-active .woerland-hero__media img,
body.is-reduced-motion .woerland-hero__slide.is-hero-anim.is-active .woerland-hero__content > *,
body.is-reduced-motion .woerland-page-hero.is-hero-anim .woerland-page-hero__media img,
body.is-reduced-motion .woerland-page-hero.is-hero-anim .woerland-page-hero__content > * {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	clip-path: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.w-reveal-text,
	.w-reveal-media,
	[data-reveal],
	[data-reveal-section],
	.woerland-hero__slide .woerland-hero__content > *,
	.woerland-hero__slide .woerland-hero__media img,
	.woerland-page-hero__content > * {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		clip-path: none !important;
	}
}

/* Floating assist chrome must never be reveal-hidden */
.woerland-assist,
.woerland-assist .woerland-assist__btn--chat {
	opacity: 1;
}
