/**
 * Tekton scroll motion (respects prefers-reduced-motion).
 */

@media (prefers-reduced-motion: reduce) {
	.tekton-animate,
	.tekton-animate * {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

.tekton-animate {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.tekton-animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.tekton-animate--stagger > .wp-block-columns > .wp-block-column,
.tekton-animate--stagger .tekton-services-grid-columns > .wp-block-column {
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.tekton-animate--stagger.is-visible > .wp-block-columns > .wp-block-column,
.tekton-animate--stagger.is-visible .tekton-services-grid-columns > .wp-block-column {
	opacity: 1;
	transform: translateY(0);
}

.tekton-animate--stagger.is-visible > .wp-block-columns > .wp-block-column:nth-child(1),
.tekton-animate--stagger.is-visible .tekton-services-grid-columns > .wp-block-column:nth-child(1) {
	transition-delay: 0.05s;
}
.tekton-animate--stagger.is-visible > .wp-block-columns > .wp-block-column:nth-child(2),
.tekton-animate--stagger.is-visible .tekton-services-grid-columns > .wp-block-column:nth-child(2) {
	transition-delay: 0.1s;
}
.tekton-animate--stagger.is-visible > .wp-block-columns > .wp-block-column:nth-child(3),
.tekton-animate--stagger.is-visible .tekton-services-grid-columns > .wp-block-column:nth-child(3) {
	transition-delay: 0.15s;
}
.tekton-animate--stagger.is-visible > .wp-block-columns > .wp-block-column:nth-child(4),
.tekton-animate--stagger.is-visible .tekton-services-grid-columns > .wp-block-column:nth-child(4) {
	transition-delay: 0.2s;
}

.tekton-service-card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tekton-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

body.tekton-motion-subtle .tekton-animate {
	transform: translateY(0.65rem);
}

body.tekton-motion-subtle .tekton-animate,
body.tekton-motion-subtle .tekton-animate--stagger > .wp-block-columns > .wp-block-column {
	transition-duration: 0.35s;
}

.tekton-preset-icon svg {
	width: 100%;
	height: 100%;
}

.tekton-contact-form input:focus,
.tekton-contact-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--tekton-primary, #7c3aed);
	outline-offset: 2px;
}
