.hero-section.faq-hero {
	background: image-set(
		url('/images/assets/hero-bg-wave.avif') type('image/avif'),
		url('/images/assets/hero-bg-wave.webp') type('image/webp'),
		url('/images/assets/hero-bg-wave.png') type('image/png')
	) center/cover no-repeat;
	padding: 6.5rem 0 5rem;
	position: relative;
	overflow: hidden;
}

.hero-section.faq-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(249, 213, 12, 0.18) 0%, transparent 60%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 100%);
	pointer-events: none;
}

.hero-section.faq-hero .container {
	position: relative;
	z-index: 1;
}

.faq-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	gap: 1.75rem;
	align-items: stretch;
	margin-bottom: 1.75rem;
}

.faq-hero-copy,
.faq-panel,
.faq-content-card {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(26, 61, 101, 0.12);
	box-shadow: 0 26px 45px rgba(26, 61, 101, 0.12);
	backdrop-filter: blur(10px);
}

.faq-hero-copy {
	border-radius: 1.75rem;
	padding: 2.6rem;
}

.faq-eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	background: rgba(240, 123, 6, 0.12);
	color: var(--color-orange);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.faq-title {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 1rem 0 1rem;
	color: var(--color-base);
}

.faq-lead {
	font-size: 1.05rem;
	line-height: 1.9;
	color: rgba(26, 61, 101, 0.76);
	max-width: 40rem;
	margin-bottom: 2rem;
}

.faq-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.faq-summary-item {
	padding: 1.1rem 1.2rem;
	border-radius: 1.1rem;
	background: rgba(26, 61, 101, 0.05);
	border: 1px solid rgba(26, 61, 101, 0.08);
}

.faq-summary-label {
	display: block;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(26, 61, 101, 0.58);
	margin-bottom: 0.4rem;
}

.faq-panel {
	border-radius: 1.5rem;
	padding: 2rem;
}

.faq-panel-header {
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid rgba(26, 61, 101, 0.1);
}

.faq-anchor-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.faq-anchor-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(26, 61, 101, 0.12);
	color: var(--color-base);
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.faq-anchor-chip:hover,
.faq-anchor-chip:focus {
	color: var(--color-base);
	border-color: rgba(240, 123, 6, 0.4);
	box-shadow: 0 14px 26px rgba(26, 61, 101, 0.1);
	transform: translateY(-1px);
}

.faq-content-card {
	border-radius: 1.75rem;
	padding: 2.2rem;
}

.faq-section-block {
	padding-bottom: 2.2rem;
	margin-bottom: 2.2rem;
	border-bottom: 1px solid rgba(26, 61, 101, 0.08);
	scroll-margin-top: 6rem;
}

.faq-section-block-last {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.faq-section-heading {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1.35rem;
}

.faq-section-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 0.9rem;
	background: linear-gradient(135deg, rgba(240, 123, 6, 0.15), rgba(249, 213, 12, 0.22));
	color: var(--color-orange);
	font-weight: 800;
}

.faq-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-base);
	margin: 0 0 0.35rem;
}

.faq-section-text {
	margin: 0;
	color: rgba(26, 61, 101, 0.68);
}

.faq-accordion {
	display: grid;
	gap: 0.9rem;
}

.faq-item {
	border: 1px solid rgba(26, 61, 101, 0.1);
	border-radius: 1.2rem;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 251, 253, 0.98));
	box-shadow: 0 12px 24px rgba(26, 61, 101, 0.05);
}

.faq-item .accordion-button {
	font-weight: 700;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--color-base);
	padding: 1.2rem 1.35rem;
	background: transparent;
	box-shadow: none;
	border-radius: 1.2rem;
}

.faq-item .accordion-button:not(.collapsed) {
	color: var(--color-base);
	background: rgba(249, 213, 12, 0.08);
}

.faq-item .accordion-button:focus {
	border-color: transparent;
	box-shadow: inset 0 0 0 2px rgba(240, 123, 6, 0.2);
}

.faq-item .accordion-button::after {
	background-size: 1rem;
}

.faq-accordion .accordion-item:first-of-type,
.faq-accordion .accordion-item:last-of-type,
.faq-accordion .accordion-item:first-of-type .accordion-button,
.faq-accordion .accordion-item:last-of-type .accordion-button,
.faq-accordion .accordion-item:first-of-type .accordion-collapse,
.faq-accordion .accordion-item:last-of-type .accordion-collapse {
	border-radius: 1.2rem;
}

.faq-accordion .accordion-item:first-of-type .accordion-button.collapsed,
.faq-accordion .accordion-item:last-of-type .accordion-button.collapsed {
	border-radius: 1.2rem;
}

.faq-accordion .accordion-item:first-of-type .accordion-button:not(.collapsed) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.faq-accordion .accordion-item:last-of-type .accordion-button:not(.collapsed) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.faq-item .accordion-body {
	padding: 0.8rem 1.35rem 1.3rem;
	color: rgba(26, 61, 101, 0.82);
	line-height: 1.9;
}

.faq-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-top: 2rem;
	padding: 1.5rem;
	border-radius: 1.4rem;
	background: linear-gradient(135deg, rgba(26, 61, 101, 0.06), rgba(249, 213, 12, 0.14));
	border: 1px solid rgba(26, 61, 101, 0.08);
}

.faq-cta-title {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
	color: var(--color-base);
}

.faq-cta-text {
	color: rgba(26, 61, 101, 0.7);
	line-height: 1.8;
}

.faq-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

@media (max-width: 991px) {
	.faq-shell {
		grid-template-columns: 1fr;
	}

	.faq-panel {
		padding: 1.6rem;
	}

	.faq-cta {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 575px) {
	.hero-section.faq-hero {
		padding: 5.75rem 0 4rem;
		background-position: center;
		background-size: 100% 100%;
	}

	.faq-hero-copy,
	.faq-panel,
	.faq-content-card {
		padding: 1.2rem;
		border-radius: 1.25rem;
	}

	.faq-title {
		font-size: 2.15rem;
	}

	.faq-lead,
	.faq-item .accordion-body {
		font-size: 0.95rem;
	}

	.faq-summary {
		grid-template-columns: 1fr;
	}

	.faq-section-heading {
		flex-direction: column;
	}

	.faq-section-kicker {
		width: 2.65rem;
		height: 2.65rem;
	}

	.faq-section-title {
		font-size: 1.3rem;
	}

	.faq-item .accordion-button {
		padding: 1rem 1rem;
		font-size: 0.98rem;
	}

	.faq-item .accordion-body {
		padding: 0.35rem 1rem 1rem;
	}

	.faq-cta-actions {
		width: 100%;
	}

	.faq-cta-actions .btn {
		width: 100%;
	}
}
