/*
 * Utah landing page.
 *
 * Breakpoints: mobile < 600, tab-port 600–1023 (large phone layout),
 * tab-land 1024–1279 (small desktop layout), desktop >= 1280.
 * Fluid values interpolate the Figma mobile (393) and desktop (1440) frames.
 */

@font-face {
	font-family: "Mostin";
	src: url("/wp-content/uploads/2022/06/mostinbold-ov5oo-webfont.woff2") format("woff2"), url("/wp-content/uploads/2022/06/mostinbold-ov5oo-webfont.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Segoe UI";
	src: url("/wp-content/uploads/2022/06/SegoeUI.woff2") format("woff2"), url("/wp-content/uploads/2022/06/SegoeUI.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Segoe UI";
	src: url("/wp-content/uploads/2022/06/SegoeUI-Bold.woff2") format("woff2"), url("/wp-content/uploads/2022/06/SegoeUI-Bold.woff") format("woff");
	font-weight: 600 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Segoe UI";
	src: url("/wp-content/uploads/2022/06/SegoeUI-BoldItalic.woff2") format("woff2"), url("/wp-content/uploads/2022/06/SegoeUI-BoldItalic.woff") format("woff");
	font-weight: 600 700;
	font-style: italic;
	font-display: swap;
}

.lp {
	--lp-green: #78be20;
	--lp-green-dark: #539008;
	--lp-deep-green: #2c5234;
	--lp-soft-black: #2e2e30;
	--lp-light-grey: #f5f5f5;
	--lp-white: #fff;
	--lp-black: #000;

	--lp-font-display: "Mostin", "Bebas Neue", "Arial Narrow", sans-serif;
	--lp-font-body: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;

	--lp-fs-hero: clamp(60px, 55.5px + 1.146vw, 72px);
	--lp-fs-h2: clamp(48px, 43.5px + 1.146vw, 60px);
	--lp-fs-h3: clamp(24px, 21px + 0.764vw, 32px);
	--lp-fs-h3-lg: clamp(28px, 25px + 0.764vw, 36px);
	--lp-fs-h4: clamp(20px, 18.5px + 0.382vw, 24px);
	--lp-fs-sub: clamp(18px, 17.25px + 0.191vw, 20px);
	--lp-fs-body: clamp(15px, 14.62px + 0.096vw, 16px);
	--lp-fs-body-lg: clamp(15px, 13.87px + 0.287vw, 18px);
	--lp-fs-card-body: clamp(16px, 15.25px + 0.191vw, 18px);
	--lp-fs-form-title: clamp(24px, 22.5px + 0.382vw, 28px);
	--lp-fs-step-body: clamp(16px, 14.5px + 0.382vw, 20px);

	--lp-gutter: clamp(12px, -23.28px + 8.978vw, 106px);
	--lp-content: 1228px;
	--lp-section-y: clamp(60px, 48.74px + 2.865vw, 90px);
	--lp-stack-lg: clamp(48px, 39.74px + 2.101vw, 70px);
	--lp-card-pad: clamp(20px, 15.5px + 1.146vw, 32px);
	--lp-card-pad-lg: clamp(20px, 14px + 1.528vw, 36px);
	--lp-cta-pad: clamp(20px, 5px + 3.82vw, 60px);
	--lp-icon: clamp(30px, 23.24px + 1.719vw, 48px);
	--lp-radius: 20px;

	--lp-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--lp-dur: 400ms;

	font-family: var(--lp-font-body);
	color: var(--lp-black);
	background: var(--lp-white);
	overflow-x: clip;
}

.lp *,
.lp *::before,
.lp *::after {
	box-sizing: border-box;
}

.lp :where(h1, h2, h3, p, ol, figure) {
	margin: 0;
}

.lp img {
	max-width: 100%;
	display: block;
}

.lp [hidden] {
	display: none !important;
}

.lp-container {
	width: 100%;
	max-width: calc(var(--lp-content) + 2 * var(--lp-gutter));
	margin-inline: auto;
	padding-inline: var(--lp-gutter);
}

.lp-section {
	position: relative;
	padding-block: var(--lp-section-y);
}

.lp-dark {
	color: var(--lp-white);
}

.lp-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Type */

.lp :is(h1, h2, h3, h4, h5, h6) {
	margin: 0;
	color: inherit;
	font-family: var(--lp-font-body);
	font-weight: 700;
	text-transform: none;
	letter-spacing: normal;
}

.lp :is(h1, h2, h3, h4) .lp-em {
	color: var(--lp-green);
}


.lp .lp-h1,
.lp .lp-h2 {
	font-family: var(--lp-font-display);
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0;
}

.lp-h1 {
	font-size: var(--lp-fs-hero);
}

.lp-h2 {
	font-size: var(--lp-fs-h2);
}

.lp-h1 > span,
.lp-h2 > span {
	display: block;
}

.lp-em {
	color: var(--lp-green);
}

.lp-h3,
.lp-h3-lg,
.lp-h4,
.lp-acc__title {
	font-weight: 700;
	line-height: 1.4;
}

.lp-h3-lg {
	font-size: var(--lp-fs-h3-lg);
}

.lp-h4 {
	font-size: var(--lp-fs-h4);
}

.lp-sub {
	font-size: var(--lp-fs-sub);
	font-weight: 700;
	line-height: 1.55;
}

.lp-body {
	font-size: var(--lp-fs-body);
	line-height: 1.55;
}

.lp-body p + p {
	margin-top: 12px;
}

.lp-card-body {
	font-size: var(--lp-fs-card-body);
	line-height: 1.55;
}

.lp-dark .lp-sub,
.lp-dark .lp-body {
	text-shadow: 0 2px 32.8px rgba(0, 0, 0, 0.1);
}

/* Buttons */

.lp .lp-btn {
	--lp-btn-hover-text: var(--lp-deep-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 57px;
	padding: 18px clamp(16px, 6.98px + 2.292vw, 40px);
	border: 2px solid transparent;
	border-radius: 100px;
	background: linear-gradient(90deg, var(--lp-green) 0%, var(--lp-green-dark) 100%) padding-box;
	color: var(--lp-white);
	font-family: var(--lp-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 21.75px;
	letter-spacing: 2px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--lp-dur) var(--lp-ease), color var(--lp-dur) var(--lp-ease), border-color var(--lp-dur) var(--lp-ease), background-image var(--lp-dur) var(--lp-ease);
}

.lp .lp-dark .lp-btn {
	--lp-btn-hover-text: var(--lp-white);
	filter: drop-shadow(0 4px 2px rgba(147, 209, 112, 0.05));
}

.lp .lp-btn:hover,
.lp .lp-btn:focus-visible {
	background: transparent;
	border-color: var(--lp-green);
	color: var(--lp-btn-hover-text);
	text-decoration: none;
}

.lp .lp-btn:focus-visible,
.lp :where(button, a, input, select, textarea):focus-visible {
	outline: 3px solid var(--lp-green);
	outline-offset: 3px;
}

.lp .lp-btn--outline-light,
.lp .lp-btn--outline-dark {
	background: transparent;
}

.lp .lp-btn--outline-light {
	border-color: var(--lp-white);
	color: var(--lp-white);
	box-shadow: 0 4px 4px rgba(147, 209, 112, 0.05);
}

.lp .lp-btn--outline-dark {
	border-color: var(--lp-deep-green);
	color: var(--lp-black);
	filter: none;
}

.lp .lp-btn--outline-light:hover,
.lp .lp-btn--outline-light:focus-visible {
	border-color: var(--lp-green);
	color: var(--lp-white);
}

.lp .lp-btn--outline-dark:hover,
.lp .lp-btn--outline-dark:focus-visible {
	border-color: var(--lp-green);
	color: var(--lp-deep-green);
}

.lp-btn-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.lp .lp-circle-btn {
	display: inline-flex;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	cursor: pointer;
	transition: transform var(--lp-dur) var(--lp-ease);
}

.lp .lp-circle-btn:hover {
	transform: scale(1.08);
}

/*
 * Glow: the Figma "special gradient" (a blurred two-lobe #93D170 shape) rebuilt as two
 * radial gradients. The layer drifts across its card while each lobe swells and shifts on
 * its own cycle, so the shape keeps changing. Only transforms animate, so it stays on the
 * compositor. The card needs position, isolation and overflow: hidden.
 * Per card: --lp-glow-x/y (shape center), --lp-glow-size (large lobe width),
 * --lp-glow-aspect (lobe width / height), --lp-glow-alpha, --lp-glow-play,
 * --lp-glow-speed (cycle length multiplier).
 */

.lp-glow {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	transition: opacity var(--lp-dur) var(--lp-ease);
	animation: lp-glow-drift calc(23s * var(--lp-glow-speed, 1)) ease-in-out infinite;
}

.lp-glow::before,
.lp-glow::after {
	content: "";
	position: absolute;
	aspect-ratio: var(--lp-glow-aspect, 1);
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(147, 209, 112, var(--lp-glow-alpha, 0.85)), rgba(147, 209, 112, calc(var(--lp-glow-alpha, 0.85) * 0.5)) 40%, rgba(147, 209, 112, calc(var(--lp-glow-alpha, 0.85) * 0.15)) 70%, rgba(147, 209, 112, 0));
	translate: -50% -50%;
	will-change: transform;
	animation: lp-glow-a calc(13s * var(--lp-glow-speed, 1)) ease-in-out infinite;
}

.lp-glow::before {
	top: calc(var(--lp-glow-y, 50%) - var(--lp-glow-size, 400px) * 0.2 / var(--lp-glow-aspect, 1));
	left: calc(var(--lp-glow-x, 50%) - var(--lp-glow-size, 400px) * 0.22);
	width: calc(var(--lp-glow-size, 400px) * 0.68);
}

.lp-glow::after {
	top: calc(var(--lp-glow-y, 50%) + var(--lp-glow-size, 400px) * 0.1 / var(--lp-glow-aspect, 1));
	left: calc(var(--lp-glow-x, 50%) + var(--lp-glow-size, 400px) * 0.1);
	width: var(--lp-glow-size, 400px);
	animation-name: lp-glow-b;
	animation-duration: calc(17s * var(--lp-glow-speed, 1));
}

.lp-glow,
.lp-glow::before,
.lp-glow::after {
	animation-play-state: var(--lp-glow-play, running);
}

@keyframes lp-glow-drift {
	25% {
		transform: translate(-8%, 6%);
	}

	50% {
		transform: translate(-14%, -6%);
	}

	75% {
		transform: translate(4%, -10%);
	}
}

@keyframes lp-glow-a {
	33% {
		transform: translate(16%, 10%) scale(1.15);
	}

	66% {
		transform: translate(-10%, 16%) scale(0.85);
	}
}

@keyframes lp-glow-b {
	40% {
		transform: translate(-12%, -8%) scale(0.9);
	}

	70% {
		transform: translate(8%, -14%) scale(1.12);
	}
}

/* Split heading rows */

.lp-split {
	display: flex;
	flex-direction: column;
	gap: 36px;
	margin-bottom: var(--lp-stack-lg);
}

.lp-split__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 36px;
}

.lp .lp-split__aside .lp-btn {
	width: 100%;
}

/* Hero */

.lp-hero {
	position: relative;
	padding-block: clamp(60px, 43.48px + 4.202vw, 104px) clamp(60px, 52.49px + 1.91vw, 80px);
	isolation: isolate;
}

.lp-hero__bg,
.lp-pros__bg,
.lp-local__bg,
.lp-faq__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
}

.lp-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%), rgba(0, 0, 0, 0.75);
}

.lp-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.lp-hero__copy {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.lp-hero__logo {
	align-self: flex-start;
	width: auto;
	height: clamp(55px, 47.49px + 1.91vw, 75px);
	margin-bottom: 4px;
}

.lp-hero .lp-body {
	font-size: var(--lp-fs-body);
}

/* Background videos (hero, pros) fade in over their cover image once frames are playing. */
.lp-bg-video {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 800ms var(--lp-ease);
}

.lp-bg-video.is-playing {
	opacity: 1;
}

/* Financing callout: frosted glass with a border whose dark segment circles the box */

@property --lp-ring-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

.lp-callout {
	position: relative;
	padding: 24px 20px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.4);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
	text-align: center;
	text-shadow: 0 2px 32.8px rgba(0, 0, 0, 0.1);
}

.lp-callout::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 3px;
	border-radius: inherit;
	background: conic-gradient(from var(--lp-ring-angle), var(--lp-green) 0turn, var(--lp-green) 0.5turn, var(--lp-deep-green) 0.75turn, var(--lp-green) 1turn);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	pointer-events: none;
	animation: lp-ring 6s linear infinite;
}

@keyframes lp-ring {
	to {
		--lp-ring-angle: 360deg;
	}
}

/* Form card */

.lp-form-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: clamp(20px, 14px + 1.528vw, 36px);
	border-radius: 30px;
	background: var(--lp-deep-green);
	overflow: hidden;
	isolation: isolate;
	scroll-margin-top: 24px;
}

/* Still until hovered, then it drifts; it holds wherever it was when the pointer leaves. */
.lp-glow--form {
	--lp-glow-x: 88%;
	--lp-glow-y: 58%;
	--lp-glow-size: clamp(300px, 28vw, 420px);
	--lp-glow-speed: 0.45;
	--lp-glow-play: paused;
}

@media (hover: hover) {
	.lp-form-card:hover .lp-glow--form {
		--lp-glow-play: running;
	}
}

.lp-form-card__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.lp-form-card__title {
	font-size: var(--lp-fs-form-title);
	font-weight: 700;
	line-height: 28.8px;
}

.lp-form-card__sub {
	max-width: 339px;
	font-size: var(--lp-fs-body);
	line-height: 1.55;
}

#lp-form .gform_wrapper.gravity-theme {
	margin: 0;
	color: var(--lp-white);
}

#lp-form .gform_wrapper.gravity-theme .gform_fields {
	grid-column-gap: 12px;
	grid-row-gap: 12px;
}

#lp-form .gform_wrapper.gravity-theme .gfield {
	position: relative;
}

#lp-form .gform_wrapper.gravity-theme .gfield_label {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 1;
	margin: 0;
	padding: 0;
	color: var(--lp-white);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.55;
	pointer-events: none;
	transform-origin: left top;
	transition: transform 200ms var(--lp-ease), color 200ms var(--lp-ease);
}

#lp-form .gform_wrapper.gravity-theme .gfield_required {
	margin-left: 0;
	color: inherit;
	font-size: inherit;
}

#lp-form .gfield.is-active .gfield_label,
#lp-form .gfield.is-filled .gfield_label {
	color: var(--lp-green);
	transform: translateY(-11px) scale(0.78);
}

#lp-form .gform_wrapper.gravity-theme .ginput_container input,
#lp-form .gform_wrapper.gravity-theme .ginput_container select,
#lp-form .gform_wrapper.gravity-theme .ginput_container textarea {
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 24px 16px 6px;
	border: 2px solid var(--lp-green);
	border-radius: 6px;
	background-color: var(--lp-black);
	color: var(--lp-white);
	font-family: var(--lp-font-body);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color 200ms var(--lp-ease), box-shadow 200ms var(--lp-ease);
}

#lp-form .gform_wrapper.gravity-theme .ginput_container textarea {
	height: 100px;
	min-height: 100px;
	resize: vertical;
}

#lp-form .gform_wrapper.gravity-theme .ginput_container select {
	appearance: none;
	padding-right: 48px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'%3E%3Cpath d='M0 1.36364L1.43999 0L9 7.25454L16.56 0L18 1.36364L8.99998 10L0 1.36364Z' fill='%2378BE20'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 18px 10px;
}

#lp-form .gform_wrapper.gravity-theme .ginput_container select option {
	background: var(--lp-black);
	color: var(--lp-white);
}

#lp-form .gform_wrapper.gravity-theme .ginput_container :is(input, select, textarea):focus {
	border-color: var(--lp-white);
	box-shadow: 0 0 0 4px rgba(120, 190, 32, 0.35);
	outline: none;
}

#lp-form .gform_wrapper.gravity-theme .gfield_error :is(input, select, textarea) {
	border-color: #ff8a80;
}

#lp-form .gform_wrapper.gravity-theme .validation_message,
#lp-form .gform_wrapper.gravity-theme .gform_validation_errors {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: #ffcdc8;
	font-size: 13px;
}

#lp-form .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	color: #ffcdc8;
	font-size: 14px;
}

#lp-form .gform_wrapper.gravity-theme .gform_required_legend {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

#lp-form .gform_wrapper.gravity-theme .gform_footer {
	margin: 32px 0 0;
	padding: 0;
}

#lp-form .gform_wrapper.gravity-theme .gform_footer .gform_button {
	width: 100%;
	min-height: 57px;
	margin: 0;
	padding: 18px clamp(16px, 6.98px + 2.292vw, 40px);
	white-space: nowrap;
	border: 2px solid transparent;
	border-radius: 100px;
	background: linear-gradient(90deg, var(--lp-green) 0%, var(--lp-green-dark) 100%) padding-box;
	color: var(--lp-white);
	font-family: var(--lp-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 21.75px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	filter: drop-shadow(0 4px 2px rgba(147, 209, 112, 0.05));
	transition: background var(--lp-dur) var(--lp-ease), border-color var(--lp-dur) var(--lp-ease);
}

#lp-form .gform_wrapper.gravity-theme .gform_footer .gform_button:hover,
#lp-form .gform_wrapper.gravity-theme .gform_footer .gform_button:focus-visible {
	background: transparent;
	border-color: var(--lp-green);
}

#lp-form .gform_wrapper.gravity-theme .gform_ajax_spinner {
	margin-left: 12px;
}

/* Accordion cards (feature list + FAQ) */

.lp-accordion {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.lp-acc {
	position: relative;
	border-radius: var(--lp-radius);
	background: var(--lp-light-grey);
	color: var(--lp-black);
	overflow: hidden;
	isolation: isolate;
	transition: background-color var(--lp-dur) var(--lp-ease), color var(--lp-dur) var(--lp-ease);
}

.lp-acc::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	transition: opacity var(--lp-dur) var(--lp-ease);
}

.lp-accordion--feature .lp-acc::before {
	background: linear-gradient(rgba(44, 82, 52, 0.85), rgba(44, 82, 52, 0.85)), url("../img/lp/card-texture-1600.webp") center 62% / cover no-repeat;
}

.lp-accordion--faq .lp-acc::before {
	background: var(--lp-black);
}

.lp-acc.is-open {
	color: var(--lp-white);
}

.lp-acc.is-open::before {
	opacity: 1;
}

/* Open-state stroke, drawn on top so it doesn't change the card's size. */
.lp-acc::after {
	content: "";
	position: absolute;
	inset: 0;
	border: var(--lp-acc-stroke, 4px) solid var(--lp-green);
	border-radius: inherit;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--lp-dur) var(--lp-ease);
}

.lp-accordion--faq {
	--lp-acc-stroke: 1px;
}

.lp-acc.is-open::after {
	opacity: 1;
}

/* FAQ: a single circle that pulses in place instead of the drifting two-lobe shape. */
.lp-glow--faq {
	--lp-glow-x: 74%;
	--lp-glow-y: 72%;
	--lp-glow-size: clamp(260px, 26vw, 380px);
	--lp-glow-alpha: 0.7;
	--lp-glow-play: paused;
	opacity: 0;
	animation: none;
}

.lp-glow--faq::before {
	content: none;
}

.lp-glow--faq::after {
	top: var(--lp-glow-y);
	left: var(--lp-glow-x);
	animation: lp-glow-pulse 4s ease-in-out infinite;
	animation-play-state: var(--lp-glow-play, running);
}

.lp-acc.is-open .lp-glow--faq {
	--lp-glow-play: running;
	opacity: 1;
}

@keyframes lp-glow-pulse {
	50% {
		opacity: 0.55;
		transform: scale(1.18);
	}
}

.lp-acc__heading {
	font-size: inherit;
}

.lp .lp-acc__trigger {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: var(--lp-card-pad);
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.lp-acc__title {
	font-size: var(--lp-fs-h3);
}

.lp-arrow {
	flex: none;
	width: var(--lp-icon);
	height: var(--lp-icon);
	transform: scaleY(-1);
	transition: transform var(--lp-dur) var(--lp-ease);
}

.lp-arrow__bg {
	fill: var(--lp-light-grey);
	transition: fill var(--lp-dur) var(--lp-ease);
}

.lp-arrow__path {
	fill: var(--lp-black);
	stroke: var(--lp-black);
	transition: fill var(--lp-dur) var(--lp-ease), stroke var(--lp-dur) var(--lp-ease);
}

.lp-acc.is-open .lp-arrow {
	transform: none;
}

.lp-accordion--feature .lp-acc.is-open .lp-arrow__bg {
	fill: var(--lp-green);
}

.lp-accordion--feature .lp-acc.is-open .lp-arrow__path {
	fill: var(--lp-deep-green);
	stroke: var(--lp-deep-green);
}

.lp-accordion--faq .lp-acc.is-open .lp-arrow__bg {
	fill: var(--lp-green);
}

.lp-acc__panel {
	display: grid;
	grid-template-rows: minmax(0, 0fr);
	transition: grid-template-rows var(--lp-dur) var(--lp-ease);
}

.lp-acc.is-open .lp-acc__panel {
	grid-template-rows: minmax(0, 1fr);
}

.lp-acc__inner {
	min-height: 0;
	overflow: hidden;
}

.lp-acc__inner p {
	max-width: 622px;
	padding: 0 var(--lp-card-pad) var(--lp-card-pad);
	font-size: var(--lp-fs-body-lg);
	line-height: 1.55;
}

.lp-accordion--faq .lp-acc__inner p {
	font-size: var(--lp-fs-body);
}

/* Intro */

.lp-intro__body {
	color: var(--lp-soft-black);
}

/* Trusted by the pros: frosted card over a background video */

.lp-pros {
	border-radius: clamp(25px, 6.23px + 4.776vw, 75px) clamp(25px, 6.23px + 4.776vw, 75px) 0 0;
	background: var(--lp-deep-green);
	overflow: hidden;
	isolation: isolate;
}

.lp-pros__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}

.lp-pros__card {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding: var(--lp-cta-pad);
	border-radius: 30px;
	background: rgba(0, 0, 0, 0.7);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.lp-pros__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.lp-pros__content .lp-body {
	margin-top: 36px;
}

.lp .lp-pros__content .lp-btn {
	width: 100%;
	margin-top: 48px;
}

.lp-pros__media {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	min-height: 280px;
	padding: 36px;
	border: 3px solid var(--lp-green);
	border-radius: var(--lp-radius);
	background: var(--lp-black);
	overflow: hidden;
	isolation: isolate;
}

.lp-pros__photo {
	position: absolute;
	inset: 0;
	z-index: -2;
	object-position: 100% 50%;
}

.lp-pros__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 40%, rgba(0, 0, 0, 0) 85%);
}

.lp-pros__logos {
	width: min(268px, 80%);
	height: auto;
}

/* Category carousel */

.lp-uses {
	background: var(--lp-black);
}

.lp-uses__intro {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.lp-uses__intro .lp-body {
	max-width: 482px;
}

.lp-uses__nav {
	--lp-tab-pad: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-inline: calc(var(--lp-tab-pad) * -1);
}

.lp .lp-uses__tab {
	position: relative;
	padding: 4px var(--lp-tab-pad);
	border: 0;
	border-radius: 100px;
	background: none;
	color: var(--lp-soft-black);
	font-family: var(--lp-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 1px;
	cursor: pointer;
	transition: color var(--lp-dur) var(--lp-ease), background-color var(--lp-dur) var(--lp-ease);
}

.lp .lp-uses__tab + .lp-uses__tab::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -5px;
	width: 2px;
	height: 1.25em;
	background: var(--lp-soft-black);
	transform: translateY(-50%);
}

.lp .lp-uses__tab[aria-selected="true"],
.lp .lp-uses__tab:hover {
	color: var(--lp-white);
}

.lp-uses__stage {
	--lp-slide: 1;
	--lp-index: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-inline: var(--lp-gutter);
	max-width: calc(var(--lp-content) + 2 * var(--lp-gutter));
	margin-inline: auto;
	touch-action: pan-y;
}

.lp-uses__cards {
	display: grid;
}

.lp-uses__card {
	position: relative;
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 32px;
	padding: var(--lp-card-pad-lg);
	border: 3px solid var(--lp-green);
	border-radius: var(--lp-radius);
	background: var(--lp-deep-green);
	overflow: hidden;
	isolation: isolate;
	animation: lp-fade var(--lp-dur) var(--lp-ease);
}

.lp-glow--uses {
	--lp-glow-x: 74%;
	--lp-glow-y: 82%;
	--lp-glow-size: clamp(260px, 26vw, 380px);
}

.lp .lp-uses__card .lp-btn {
	align-self: stretch;
	margin-top: 16px;
}

.lp-uses__viewport {
	position: relative;
	overflow: hidden;
	border-radius: var(--lp-radius);
}

.lp-uses__track {
	display: flex;
	gap: 16px;
	transform: translateX(calc(var(--lp-index) * -1 * (100% + 16px)));
	transition: transform 600ms var(--lp-ease);
}

.lp-uses__image {
	flex: 0 0 100%;
	height: 320px;
	border-radius: var(--lp-radius);
	overflow: hidden;
}

.lp .lp-uses__next {
	display: none;
}

.lp-progress {
	display: flex;
	gap: 8px;
	margin-top: 48px;
}

.lp-progress__bar {
	flex: 1;
	height: 4px;
	background: var(--lp-soft-black);
	transition: background-color var(--lp-dur) var(--lp-ease);
}

.lp-progress__bar.is-active {
	background: var(--lp-green);
}

@keyframes lp-fade {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* Installed across Utah */

.lp-local {
	isolation: isolate;
}

.lp-local__bg img {
	object-position: 50% 73%;
}

.lp-local__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	/* Fades in from the section above and out to the black gallery below. */
	background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 33.964%, rgba(0, 0, 0, 0) 60%, #000 100%), rgba(0, 0, 0, 0.6);
}

.lp-local__inner {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.lp-local__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 36px;
}

.lp-local__sub {
	font-size: 18px;
}

.lp-local__cta {
	width: 100%;
	margin-top: 12px;
}

.lp-local__cards {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lp-outline-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	padding: var(--lp-card-pad-lg);
	border: 3px solid var(--lp-green);
	border-radius: var(--lp-radius);
	background: var(--lp-deep-green);
}

.lp-outline-card .lp-card-body {
	font-size: clamp(16px, 15.25px + 0.191vw, 18px);
}

/* Gallery */

.lp-gallery {
	background: var(--lp-black);
	scroll-margin-top: 0;
}

.lp-gallery__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 36px;
	max-width: 539px;
	margin: 0 auto var(--lp-stack-lg);
	text-align: center;
}

.lp-toggle {
	display: flex;
	gap: 7px;
	width: 100%;
	max-width: max-content;
	border-radius: 100px;
	background: var(--lp-soft-black);
}

.lp .lp-toggle__btn {
	flex: 1;
	padding: 14px clamp(24px, 19.5px + 1.146vw, 40px);
	border: 4px solid var(--lp-soft-black);
	border-radius: 100px;
	background: var(--lp-soft-black);
	color: var(--lp-white);
	font-family: var(--lp-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 21.75px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--lp-dur) var(--lp-ease), color var(--lp-dur) var(--lp-ease);
}

.lp .lp-toggle__btn[aria-selected="true"] {
	background: var(--lp-white);
	color: var(--lp-green);
}

.lp-grid {
	display: grid;
	grid-template-columns: 244fr 117fr;
	gap: 8px;
}

.lp-grid__item {
	position: relative;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--lp-soft-black);
	overflow: hidden;
	cursor: zoom-in;
}

.lp-grid__item img {
	transition: transform 600ms var(--lp-ease);
}

.lp-grid__item:hover img,
.lp-grid__item:focus-visible img {
	transform: scale(1.04);
}

.lp-grid__item--1 {
	grid-column: 1 / -1;
	aspect-ratio: 369 / 265;
	border-radius: 12px;
}

.lp-grid__item--2,
.lp-grid__item--3 {
	height: clamp(175px, 45vw, 320px);
}

.lp-grid__item--4,
.lp-grid__item--5 {
	height: clamp(268px, 58vw, 420px);
	border-radius: 11px;
}

.lp-grid__item--4 {
	grid-column: 1;
}

.lp-grid__item--5 {
	grid-column: 2;
}

.lp-grid__item:nth-child(n+6) {
	display: none;
}

.lp-cta-bar {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: var(--lp-stack-lg);
	padding: clamp(20px, 15.5px + 1.146vw, 40px);
	border-radius: var(--lp-radius);
	background: var(--lp-white);
}

.lp-cta-bar__text {
	color: var(--lp-soft-black);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.55;
}

.lp-cta-bar__btn {
	width: 100%;
}

/* Lightbox */

.lp-lightbox {
	width: 100vw;
	max-width: none;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: hidden;
}

.lp-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 2vw, 24px);
}

.lp-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(12.5px);
	-webkit-backdrop-filter: blur(12.5px);
}

.lp-lightbox__figure {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(979px, 100% - 140px);
	height: min(703px, 80vh);
}

.lp-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 12.793px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	object-fit: contain;
	animation: lp-grow 350ms var(--lp-ease);
}

.lp-lightbox__prev svg {
	transform: rotate(180deg);
}

.lp .lp-lightbox__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.5);
	color: var(--lp-white);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

@keyframes lp-grow {
	from {
		opacity: 0;
		transform: scale(0.92);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* Steps */

.lp-steps {
	position: relative;
	z-index: 1;
	padding-bottom: 0;
}

.lp .lp-split--center .lp-btn {
	width: 100%;
}

.lp-steps__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 0;
	list-style: none;
}

.lp-step {
	border-radius: var(--lp-radius);
	background: var(--lp-light-grey);
	color: var(--lp-black);
	transition: background-color var(--lp-dur) var(--lp-ease), color var(--lp-dur) var(--lp-ease);
}

.lp-step.is-open {
	background: var(--lp-black);
	color: var(--lp-white);
}

.lp-step__heading {
	font-size: inherit;
}

.lp .lp-step__trigger {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	padding: 24px 20px;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.lp-step__num {
	font-family: var(--lp-font-display);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.25;
}

.lp-step__title {
	font-size: var(--lp-fs-h4);
	font-weight: 700;
	line-height: 1.4;
	transition: font-size var(--lp-dur) var(--lp-ease);
}

.lp-step.is-open .lp-step__title {
	font-size: var(--lp-fs-h3-lg);
}

.lp-step__panel {
	display: grid;
	grid-template-rows: minmax(0, 0fr);
	padding-inline: 20px;
	transition: grid-template-rows var(--lp-dur) var(--lp-ease);
}

.lp-step__panel > * {
	min-height: 0;
	overflow: hidden;
}

.lp-step.is-open .lp-step__panel {
	grid-template-rows: minmax(0, 1fr) auto;
	padding-bottom: 24px;
}

.lp .lp-step__panel .lp-btn {
	justify-self: start;
	margin-top: 24px;
}

.lp .lp-step:not(.is-open) .lp-step__panel .lp-btn {
	display: none;
}

.lp-step__body {
	font-size: var(--lp-fs-step-body);
	line-height: 1.55;
}

/* FAQ + closing CTA */

.lp-faq {
	position: relative;
	margin-top: -60px;
	padding: 300px 0 90px;
	border-radius: 25px 25px 0 0;
	background: var(--lp-deep-green);
	overflow: hidden;
	isolation: isolate;
}

.lp-faq__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}

.lp-faq__bg img {
	object-position: 30% 0;
}

.lp-faq__inner {
	display: flex;
	flex-direction: column;
	gap: 180px;
}

.lp-faq .lp-h2 > span {
	display: inline;
}

.lp-cta {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	padding: var(--lp-cta-pad);
	border-radius: 30px;
	background: rgba(44, 82, 52, 0.75);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	overflow: hidden;
	isolation: isolate;
	text-align: center;
}

/* No motion was requested here, so this one stays still. */
.lp-glow--cta {
	--lp-glow-x: 14%;
	--lp-glow-y: 82%;
	--lp-glow-size: clamp(320px, 36vw, 520px);
	--lp-glow-aspect: 1.2;
	--lp-glow-alpha: 0.75;
}

.lp-glow--cta,
.lp-glow--cta::before,
.lp-glow--cta::after {
	animation: none;
	will-change: auto;
}

.lp-cta__title,
.lp-cta__body {
	max-width: 539px;
}

.lp-cta__title {
	margin-bottom: -12px;
}

.lp-cta__title > span {
	display: inline;
}

.lp-cta__body {
	max-width: 482px;
}

.lp-cta__em {
	font-style: italic;
	font-weight: 600;
}

/* Scroll reveal: elements rise (or slide) into place as they enter the viewport */

.lp-motion [data-lp-reveal] {
	opacity: 0;
	transition: opacity 700ms var(--lp-ease) var(--lp-delay, 0ms), transform 900ms var(--lp-ease) var(--lp-delay, 0ms);
}

.lp-motion [data-lp-reveal="up"] {
	transform: translateY(40px);
}

.lp-motion [data-lp-reveal="right"] {
	transform: translateX(80px);
}

.lp-motion [data-lp-reveal="left"] {
	transform: translateX(-80px);
}

.lp-motion [data-lp-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* Hero: copy rises in, form slides in from the right, on first paint */

.lp-hero__copy > *,
.lp-form-card {
	animation: lp-rise 900ms var(--lp-ease) both;
}

.lp-hero__copy > :nth-child(2) {
	animation-delay: 100ms;
}

.lp-hero__copy > :nth-child(3) {
	animation-delay: 200ms;
}

.lp-hero__copy > :nth-child(4) {
	animation-delay: 300ms;
}

.lp-hero__copy > :nth-child(5) {
	animation-delay: 400ms;
}

.lp-form-card {
	animation-name: lp-slide-in-right;
	animation-delay: 250ms;
}

@keyframes lp-rise {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
}

@keyframes lp-slide-in-right {
	from {
		opacity: 0;
		transform: translateX(80px);
	}
}

/* Hover: fill the whole card (only where a real pointer can hover) */

.lp .lp-acc__trigger:is(:hover, :focus, :active),
.lp .lp-step__trigger:is(:hover, :focus, :active) {
	background: none;
	color: inherit;
}

@media (hover: hover) {
	.lp-acc:hover,
	.lp-step:not(.is-open):hover {
		background-color: var(--lp-green-dark);
		color: var(--lp-white);
	}

	.lp-acc:hover::before,
	.lp-acc:hover .lp-glow--faq {
		opacity: 0;
	}

	.lp .lp-acc:hover .lp-arrow__bg {
		fill: var(--lp-white);
	}

	.lp .lp-acc:hover .lp-arrow__path {
		fill: var(--lp-deep-green);
		stroke: var(--lp-deep-green);
	}
}

/* tab-port: large phone */

@media (min-width: 600px) {
	#lp-form .gform_wrapper.gravity-theme .gform_fields {
		grid-template-columns: repeat(12, 1fr);
	}

	.lp-uses__image {
		height: clamp(320px, 50vw, 480px);
	}

	.lp-btn-stack {
		align-self: flex-start;
		width: auto;
		min-width: 359px;
	}

	.lp .lp-split__aside .lp-btn,
	.lp-local__cta,
	.lp-cta-bar__btn,
	.lp .lp-uses__card .lp-btn,
	.lp .lp-pros__content .lp-btn {
		width: auto;
		align-self: flex-start;
	}

	.lp-pros__media {
		min-height: clamp(320px, 50vw, 440px);
	}

	.lp-faq .lp-h2 > span,
	.lp-cta__title > span {
		display: inline;
	}
}

@media (max-width: 599px) {
	#lp-form .gform_wrapper.gravity-theme .gform_fields .gfield {
		grid-column: 1 / -1;
	}

	.lp-uses .lp-h2 > span {
		display: inline;
	}
}

/* tab-land + desktop */

@media (min-width: 1024px) {
	.lp-split {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: 40px;
	}

	.lp-split--center {
		align-items: center;
	}

	.lp-split__title {
		flex: 0 1 489px;
	}

	.lp-split__aside {
		flex: 0 1 529px;
		gap: 24px;
	}

	.lp-btn-stack {
		flex: none;
	}

	/* Hero */

	.lp-hero__inner {
		flex-direction: row;
		align-items: center;
		gap: clamp(40px, 5.6vw, 80px);
	}

	.lp-hero__copy {
		flex: 1 1 0;
		min-width: 0;
		gap: 36px;
	}

	.lp-hero__logo {
		margin-bottom: 12px;
	}

	.lp-form-card {
		flex: 0 0 clamp(440px, 37vw, 534px);
	}

	/* Accordions */

	.lp .lp-acc__trigger {
		align-items: center;
	}

	/* Carousel: card + image strip that bleeds off the right edge */

	.lp-uses__head {
		align-items: flex-start;
	}

	.lp-uses__intro {
		flex: 0 1 539px;
	}

	.lp-uses__nav {
		--lp-tab-pad: 18px;
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		margin-top: -4px;
	}

	.lp .lp-uses__tab {
		padding-block: 8px;
		font-size: var(--lp-fs-h3-lg);
		line-height: 1.25;
	}

	.lp .lp-uses__tab + .lp-uses__tab::before {
		content: none;
	}

	.lp-uses__stage {
		flex-direction: row;
		max-width: none;
		margin-left: max(0px, (100% - var(--lp-content) - 2 * var(--lp-gutter)) / 2);
		padding-right: 0;
	}

	.lp-uses__cards {
		flex: 0 0 clamp(420px, 41.7vw, 600px);
	}

	.lp-uses__card {
		height: 320px;
		gap: 32px;
	}

	.lp .lp-uses__card .lp-btn {
		margin-top: 16px;
	}

	.lp-uses__viewport {
		flex: 1;
		overflow: visible;
		clip-path: inset(-40px -100vw -40px 0);
		border-radius: 0;
	}

	.lp-uses__track {
		transform: translateX(calc(var(--lp-index) * -1 * (clamp(420px, 42.2vw, 607px) + 16px)));
	}

	.lp-uses__image {
		flex: 0 0 clamp(420px, 42.2vw, 607px);
		height: 320px;
		border-radius: 14.414px;
	}

	.lp .lp-uses__next {
		display: inline-flex;
		position: absolute;
		top: 135px;
		left: calc(clamp(420px, 42.2vw, 607px) - 17px);
		z-index: 2;
	}

	.lp-progress {
		justify-content: center;
		gap: 8px;
		margin-top: 70px;
	}

	.lp-progress__bar {
		flex: 0 0 81px;
	}

	/* Pros: copy and logo box side by side, card centered in a 1000px-tall section */

	.lp-pros {
		display: flex;
		align-items: center;
		min-height: clamp(700px, 69.4vw, 1000px);
	}

	.lp-pros__card {
		flex-direction: row;
		align-items: center;
		gap: clamp(40px, 5.6vw, 80px);
	}

	.lp-pros__content {
		flex: 0 1 549px;
		min-width: 0;
	}

	.lp-pros__media {
		flex: 1 0 0;
		align-self: stretch;
		min-height: 440px;
	}

	.lp-pros__logos {
		margin-top: 42px;
	}

	/* Local */

	.lp-local {
		padding-block: 104px 80px;
	}

	.lp-local__inner {
		flex-direction: row;
		align-items: stretch;
		gap: clamp(40px, 5.6vw, 80px);
	}

	.lp-local__copy {
		flex: 1 1 0;
		justify-content: center;
		gap: 36px;
	}

	.lp-local__cta {
		margin-top: 12px;
	}

	.lp-local__cards {
		flex: 0 0 clamp(440px, 37vw, 534px);
	}

	.lp-outline-card {
		flex: 1;
	}

	/* Gallery: two rows of four, widths from the artboard */

	.lp-grid {
		grid-template-columns: repeat(24, 1fr);
		grid-auto-rows: clamp(220px, 20vw, 289px);
		gap: 13px;
	}

	.lp-grid__item,
	.lp-grid__item--1,
	.lp-grid__item--2,
	.lp-grid__item--3,
	.lp-grid__item--4,
	.lp-grid__item--5 {
		height: auto;
		aspect-ratio: auto;
		border-radius: 12px;
	}

	.lp-grid__item:nth-child(n+6) {
		display: block;
	}

	.lp-grid__item--1 {
		grid-column: 1 / span 8;
	}

	.lp-grid__item--2 {
		grid-column: span 8;
	}

	.lp-grid__item--3,
	.lp-grid__item--4 {
		grid-column: span 4;
	}

	.lp-grid__item--5 {
		grid-column: 1 / span 4;
	}

	.lp-grid__item--6,
	.lp-grid__item--8 {
		grid-column: span 8;
	}

	.lp-grid__item--7 {
		grid-column: span 4;
	}

	.lp-cta-bar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
	}

	.lp-cta-bar__text {
		flex: 1 1 auto;
		max-width: 853px;
		font-size: clamp(18px, 12.44px + 0.543vw, 20px);
	}

	.lp .lp-cta-bar__btn {
		flex: none;
		align-self: center;
	}

	/* Steps: horizontal cards; the open one widens */

	.lp-steps__list {
		flex-direction: row;
		gap: 20px;
		height: 465px;
	}

	.lp-step {
		display: flex;
		flex-direction: column;
		flex: 1 1 0;
		min-width: 0;
		padding: 60px 0;
		overflow: hidden;
		transition: flex-grow 600ms var(--lp-ease), background-color var(--lp-dur) var(--lp-ease), color var(--lp-dur) var(--lp-ease);
	}

	.lp-step.is-open {
		flex: 5.3 1 0;
		padding: 60px;
	}

	.lp-step__heading {
		flex: 1;
		min-height: 0;
	}

	.lp .lp-step__trigger {
		flex-direction: column;
		align-items: center;
		gap: 32px;
		height: 100%;
		padding: 0;
	}

	.lp .lp-step.is-open .lp-step__trigger {
		align-items: flex-start;
		height: auto;
		cursor: default;
	}

	.lp-step__title {
		font-size: 24px;
		white-space: nowrap;
		writing-mode: vertical-rl;
	}

	.lp-step.is-open .lp-step__title {
		font-size: var(--lp-fs-h3-lg);
		white-space: normal;
		writing-mode: horizontal-tb;
		animation: lp-fade var(--lp-dur) var(--lp-ease);
	}

	.lp-step__panel {
		padding: 0;
	}

	.lp-step:not(.is-open) .lp-step__panel {
		display: none;
	}

	.lp-step.is-open .lp-step__panel {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 60px;
		margin-top: 60px;
		padding: 0;
		animation: lp-fade 500ms var(--lp-ease) 150ms both;
	}

	.lp-step__panel > * {
		overflow: visible;
	}

	.lp .lp-step__panel .lp-btn {
		margin-top: 0;
	}

	/* FAQ */

	.lp-faq {
		margin-top: -131px;
		border-radius: clamp(25px, 6.23px + 4.776vw, 75px) clamp(25px, 6.23px + 4.776vw, 75px) 0 0;
	}

	.lp-acc__inner p {
		padding-top: 0;
	}

	.lp-faq .lp-h2 > span:first-child::after {
		content: "";
	}

	.lp-cta__title > span {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lp *,
	.lp *::before,
	.lp *::after {
		animation-duration: 1ms !important;
		animation-delay: 0ms !important;
		transition-duration: 1ms !important;
	}

	.lp-motion [data-lp-reveal] {
		opacity: 1;
		transform: none;
	}

	/* Looping effects stop outright; a 1ms infinite loop would flicker. */
	.lp .lp-glow,
	.lp .lp-glow::before,
	.lp .lp-glow::after,
	.lp .lp-callout::before {
		animation: none !important;
	}
}
