/* Keep the document root out of an accidental scroll container. That
 * container prevented the estimate copy from honoring position: sticky. */
html,
body {
	overflow-x: visible !important;
}

.wp-site-blocks,
.jta-page {
	overflow-x: clip;
}

/* Default to visible content if the motion script is delayed or unavailable. */
html:not(.jta-motion-repaired) .jta-reveal {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}

html.jta-motion-repaired .jta-reveal {
	filter: blur(4px);
	transform: translate3d(0, 26px, 0);
	transition:
		opacity 620ms cubic-bezier(.16, 1, .3, 1),
		transform 620ms cubic-bezier(.16, 1, .3, 1),
		filter 520ms cubic-bezier(.16, 1, .3, 1);
}

html.jta-motion-repaired .jta-reveal.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translate3d(0, 0, 0);
}

.jta-hero-lottie {
	filter: drop-shadow(0 14px 32px rgba(7, 9, 13, .32));
}

.jta-hero-lottie.is-lottie-fallback {
	display: block;
	min-height: 220px;
}

.jta-hero-lottie.is-lottie-fallback svg {
	display: none;
}

.jta-hero-lottie.is-lottie-fallback::before,
.jta-hero-lottie.is-lottie-fallback::after {
	content: "";
	position: absolute;
	inset: 22%;
	border: 2px solid rgba(52, 127, 196, .8);
	transform: rotate(45deg);
	animation: jta-blueprint-fallback 4.8s cubic-bezier(.4, 0, .2, 1) infinite;
}

.jta-hero-lottie.is-lottie-fallback::after {
	inset: 34%;
	border-color: rgba(247, 249, 252, .58);
	animation-delay: -1.2s;
}

@media (min-width: 761px) {
	.jta-estimate-copy {
		align-self: start;
		isolation: isolate;
	}

	.jta-estimate-copy::before,
	.jta-estimate-copy::after {
		content: "";
		position: absolute;
		top: .4rem;
		left: -1.5rem;
		width: 2px;
		height: calc(100% - .8rem);
		border-radius: 999px;
		transform-origin: top;
		pointer-events: none;
	}

	.jta-estimate-copy::before {
		background: rgba(223, 234, 245, .16);
	}

	.jta-estimate-copy::after {
		background: linear-gradient(180deg, #347fc4 0%, #c74842 100%);
		box-shadow: 0 10px 28px rgba(52, 127, 196, .2);
		transform: scaleY(var(--jta-estimate-progress, 0));
		transition: transform 120ms cubic-bezier(.2, 0, 0, 1);
	}
}

@keyframes jta-blueprint-fallback {
	0%, 100% { opacity: .22; transform: rotate(38deg) scale(.82); }
	45% { opacity: .78; transform: rotate(45deg) scale(1); }
	70% { opacity: .52; transform: rotate(50deg) scale(.94); }
}

@media (prefers-reduced-motion: reduce) {
	html.jta-motion-repaired .jta-reveal,
	html.jta-motion-repaired .jta-reveal.is-visible {
		opacity: 1;
		filter: none;
		transform: none;
		transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
	}

	.jta-estimate-copy::after {
		transition: none;
	}

	.jta-hero-lottie.is-lottie-fallback::before,
	.jta-hero-lottie.is-lottie-fallback::after {
		animation: none;
		opacity: .45;
		transform: rotate(45deg);
	}
}

