.nv-home-faq {
	position: relative;
	padding: clamp(92px, 10vw, 132px) clamp(18px, 3vw, 34px) !important;
	background: linear-gradient(180deg, #f8f6f1 0%, #ffffff 100%);
	overflow: hidden;
}

.nv-home-faq > .e-con-inner,
.nv-home-faq__shell {
	width: min(1320px, 100%);
	margin-inline: auto;
	padding-inline: clamp(6px, 1.4vw, 16px);
	box-sizing: border-box;
	display: grid;
	gap: clamp(34px, 4vw, 52px) !important;
}

.nv-home-faq__header {
	max-width: 760px;
	display: grid;
	gap: 14px;
	min-width: 0;
	width: 100%;
}

.nv-home-faq__eyebrow {
	display: inline-flex;
	width: fit-content;
	margin: 0;
	padding-left: 18px;
	position: relative;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #5b6678;
}

.nv-home-faq__eyebrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, #dc2e33, #f5bd02);
	transform: translateY(-50%);
}

.nv-home-faq__title {
	margin: 0;
	color: #101321;
	font-family: "Inter Tight", "Nunito", sans-serif;
	font-size: clamp(2.6rem, 4.6vw, 4.8rem);
	line-height: 0.96;
	letter-spacing: -0.05em;
	overflow-wrap: anywhere;
}

.nv-home-faq__lead {
	margin: 0;
	max-width: 58ch;
	color: #5b6678;
	font-size: 1rem;
	line-height: 1.78;
}

.nv-home-faq__group {
	display: grid;
	grid-template-columns: minmax(220px, 0.46fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 56px);
	padding-top: clamp(26px, 3vw, 34px);
	border-top: 1px solid rgba(16, 19, 33, 0.1);
	min-width: 0;
	width: 100%;
}

.nv-home-faq__group-title {
	margin: 0;
	color: #101321;
	font-family: "Inter Tight", "Nunito", sans-serif;
	font-size: clamp(2.2rem, 3.8vw, 3.8rem);
	line-height: 0.94;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.nv-home-faq__items {
	display: grid;
	min-width: 0;
	width: 100%;
}

.nv-home-faq__item {
	border-bottom: 1px solid rgba(16, 19, 33, 0.12);
}

.nv-home-faq__question {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 22px 0;
	border: 0;
	background: transparent;
	color: #101321;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
	cursor: pointer;
}

.nv-home-faq__question > .e-con-inner,
.nv-home-faq__question > .elementor-widget,
.nv-home-faq__question > .elementor-widget-text-editor,
.nv-home-faq__question > .elementor-widget-container {
	display: block;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
}

.nv-home-faq__question p {
	margin: 0;
}

.nv-home-faq__question-text {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.nv-home-faq__icon {
	position: relative;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 3px;
	color: rgba(16, 19, 33, 0.7);
	pointer-events: none;
}

.nv-home-faq__icon::before,
.nv-home-faq__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform 220ms ease, opacity 220ms ease;
}

.nv-home-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.nv-home-faq__item.is-open .nv-home-faq__icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg) scaleX(0.6);
}

.nv-home-faq__answer {
	padding: 0;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	pointer-events: none;
	transition:
		max-height 320ms ease,
		opacity 240ms ease,
		padding-bottom 240ms ease;
}

.nv-home-faq__item.is-open .nv-home-faq__answer {
	opacity: 1;
	pointer-events: auto;
	padding-bottom: 20px;
}

.nv-home-faq__answer-copy {
	margin: 0;
	max-width: 58ch;
	color: #5b6678;
	font-size: 0.98rem;
	line-height: 1.74;
}

.nv-home-prefooter {
	--nv-prefooter-image: url("../images/cropped-image-couple-holding-hands-wedding-ceremony-1536x1024.jpg");
	padding: clamp(86px, 9vw, 124px) clamp(18px, 3vw, 34px) !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8f6f1 100%);
}

.nv-home-prefooter > .e-con-inner,
.nv-home-prefooter__shell {
	display: block;
	width: min(1320px, 100%);
	margin-inline: auto;
}

.nv-home-prefooter__card {
	position: relative;
	min-height: clamp(420px, 52vw, 560px);
	padding: clamp(44px, 6vw, 76px);
	border-radius: 34px;
	overflow: hidden;
	background-image:
		linear-gradient(180deg, rgba(19, 11, 8, 0.2) 0%, rgba(19, 11, 8, 0.56) 100%),
		radial-gradient(circle at 16% 18%, rgba(245, 189, 2, 0.32), transparent 24%),
		radial-gradient(circle at 84% 20%, rgba(220, 46, 51, 0.26), transparent 28%),
		var(--nv-prefooter-image);
	background-position: center;
	background-size: cover;
	box-shadow: 0 34px 72px rgba(16, 19, 33, 0.14);
	display: grid;
	align-content: center;
	justify-items: center;
	text-align: center;
}

.nv-home-prefooter__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(39, 19, 10, 0.08) 0%, rgba(39, 19, 10, 0.38) 100%);
	pointer-events: none;
}

.nv-home-prefooter__copy {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: 0;
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.nv-home-prefooter__eyebrow {
	margin: 0;
	color: rgba(255, 248, 229, 0.8);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.nv-home-prefooter__title {
	margin: 18px 0 0;
	color: #fffaf2;
	font-family: "Inter Tight", "Nunito", sans-serif;
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: 0.95;
	letter-spacing: -0.06em;
	text-wrap: balance;
}

.nv-home-prefooter__lead {
	margin: 18px 0 0;
	max-width: 44ch;
	color: rgba(255, 248, 229, 0.88);
	font-size: 1.02rem;
	line-height: 1.82;
}

.nv-home-prefooter__copy .nv-home-hero__cta {
	margin-top: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.nv-home-prefooter__copy .nv-home-hero__cta .elementor-button-wrapper {
	display: flex;
	justify-content: center;
}

.nv-home-prefooter__copy .nv-home-hero__cta .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 16px 32px;
	border: 1px solid rgba(255, 248, 229, 0.22);
	border-radius: 999px;
	background: linear-gradient(135deg, #ffbf14 0%, #ffd94e 28%, #ff7b22 100%) !important;
	color: #11131a !important;
	font: 800 1rem/1 "Nunito", sans-serif;
	letter-spacing: 0.02em;
	text-decoration: none;
	outline: none;
	text-shadow: none;
	box-shadow: 0 22px 54px rgba(255, 191, 20, 0.2);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		filter 180ms ease;
}

.nv-home-prefooter__copy .nv-home-hero__cta .elementor-button:hover,
.nv-home-prefooter__copy .nv-home-hero__cta .elementor-button:focus-visible {
	color: #11131a !important;
	filter: saturate(1.05);
	transform: translateY(-2px);
	box-shadow: 0 30px 62px rgba(255, 191, 20, 0.26);
}

.nv-home-prefooter__copy .nv-home-hero__cta .elementor-button .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

@media (max-width: 1024px) {
	.nv-home-faq__group {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.nv-home-faq {
		padding: 78px 18px !important;
	}

	.nv-home-prefooter {
		padding: 72px 18px !important;
	}

	.nv-home-faq__question {
		font-size: 0.98rem;
	}

	.nv-home-prefooter__card {
		min-height: 520px;
		padding: 28px 22px 132px;
	}
}

@media (max-width: 560px) {
	.nv-home-faq > .e-con-inner,
	.nv-home-faq__shell,
	.nv-home-faq__header,
	.nv-home-faq__group,
	.nv-home-faq__items {
		max-width: 100%;
		min-width: 0;
	}

	.nv-home-faq__group-title {
		font-size: clamp(2rem, 11vw, 2.85rem);
	}

	.nv-home-prefooter__title,
	.nv-home-faq__title {
		font-size: clamp(2.2rem, 10vw, 3rem);
	}

	.nv-home-prefooter__card {
		border-radius: 26px;
	}
}
