/* Kings Equestrian - modern depth & motion layer (CSS only, GPU-friendly) */
:root {
	--ke-ease: cubic-bezier(.22, .8, .24, 1);
	--ke-dur: 600ms;
	--ke-radius: 14px;
	--ke-shadow: 0 10px 30px rgba(20, 20, 30, .10);
	--ke-shadow-hover: 0 24px 50px rgba(20, 20, 30, .22);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* Scroll reveal: only active when JS has marked the page (no flash without JS) */
html.ke-js .ke-reveal {
	opacity: 0;
	transform: translate3d(0, 28px, 0) rotateX(6deg);
	transform-origin: 50% 100%;
	transition: opacity var(--ke-dur) var(--ke-ease), transform var(--ke-dur) var(--ke-ease);
	transition-delay: var(--ke-delay, 0ms);
}
html.ke-js .ke-reveal.ke-in {
	opacity: 1;
	transform: none;
}

/* 3D tilt cards */
.ke-tilt-wrap { perspective: 900px; }
.ke-tilt {
	border-radius: var(--ke-radius);
	box-shadow: var(--ke-shadow);
	transform-style: preserve-3d;
	transition: transform 350ms var(--ke-ease), box-shadow 350ms var(--ke-ease);
	will-change: transform;
	backface-visibility: hidden;
}
.ke-tilt:hover { box-shadow: var(--ke-shadow-hover); }
.ke-tilt img { transition: transform 700ms var(--ke-ease); }
.ke-tilt:hover img { transform: scale(1.05); }

/* Buttons: lift and depth */
.elementor-button, .thim-button, .button, .wp-block-button__link, .lp-button {
	transition: transform 250ms var(--ke-ease), box-shadow 250ms var(--ke-ease);
}
.elementor-button:hover, .thim-button:hover, .button:hover, .wp-block-button__link:hover, .lp-button:hover {
	transform: translate3d(0, -3px, 0);
	box-shadow: 0 12px 24px rgba(20, 20, 30, .20);
}

/* Media corners and depth */
.elementor-widget-image img { border-radius: var(--ke-radius); }

/* Accessibility and low-power devices: no motion */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	html.ke-js .ke-reveal { opacity: 1; transform: none; transition: none; }
	.ke-tilt, .ke-tilt img, .elementor-button, .thim-button, .button { transition: none; }
	.ke-tilt:hover img { transform: none; }
}
@media (hover: none) {
	.ke-tilt { will-change: auto; }
}

/* Hide images still pointing at the retired staging server (files no longer exist there) */
img[src*="asta.work"],
img[srcset*="asta.work"],
img[data-src*="asta.work"] {
	display: none !important;
}
