html {
	scroll-behavior: smooth;
}

body.cmt-animate-prep .cmt-reveal {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	transition:
		opacity 720ms ease,
		transform 720ms cubic-bezier(.2, .75, .24, 1),
		border-color 300ms ease,
		box-shadow 300ms ease,
		background 300ms ease;
	transition-delay: var(--cmt-delay, 0ms);
	will-change: opacity, transform;
}

body.cmt-animate-prep .cmt-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body.cmt-animate-prep .cmt-reveal[data-cmt-motion="fade-left"] {
	transform: translate3d(-34px, 0, 0);
}

body.cmt-animate-prep .cmt-reveal[data-cmt-motion="fade-right"] {
	transform: translate3d(34px, 0, 0);
}

body.cmt-animate-prep .cmt-reveal[data-cmt-motion="zoom"] {
	transform: translate3d(0, 22px, 0) scale(.96);
}

body.cmt-animate-prep .cmt-reveal.is-visible[data-cmt-motion] {
	transform: translate3d(0, 0, 0) scale(1);
}

.service-card,
.step-card,
.why-stat-card,
.industry-card,
.industry-builder-card,
.testimonial-card,
.contact-info-card,
.contact-office-card,
.blog-card,
.service-feature-card,
.service-choice-card,
.service-partner-logo,
.service-why-card {
	transition:
		transform 300ms ease,
		border-color 300ms ease,
		box-shadow 300ms ease,
		background 300ms ease;
}

.service-card:hover,
.step-card:hover,
.why-stat-card:hover,
.industry-builder-card:hover,
.testimonial-card:hover,
.contact-info-card:hover,
.contact-office-card:hover,
.blog-card:hover,
.service-feature-card:hover,
.service-choice-card:hover,
.service-partner-logo:hover,
.service-why-card:hover {
	transform: translateY(-8px);
}

.hero-badge,
.site-header,
.whatsapp-float {
	animation: cmt-soft-pop 700ms ease both;
}

.hero-section__visual,
.contact-hero-card,
.service-hero-visual {
	animation: cmt-float-in 900ms cubic-bezier(.2, .75, .24, 1) both;
}

.hero-button--primary,
.home-cta-btn-primary,
.contact-submit {
	position: relative;
	overflow: hidden;
}

.hero-button--primary:after,
.home-cta-btn-primary:after,
.contact-submit:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.32) 45%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 650ms ease;
}

.hero-button--primary:hover:after,
.home-cta-btn-primary:hover:after,
.contact-submit:hover:after {
	transform: translateX(120%);
}

@keyframes cmt-soft-pop {
	from {
		opacity: 0;
		transform: translateY(-10px) scale(.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes cmt-float-in {
	from {
		opacity: 0;
		transform: translate3d(0, 28px, 0) scale(.98);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	body.cmt-animate-prep .cmt-reveal,
	.hero-badge,
	.site-header,
	.whatsapp-float,
	.hero-section__visual,
	.contact-hero-card,
	.service-hero-visual {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
