/* Reset and Base Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--color-text-primary: #0D2B46;
	--color-text-secondary: #1a1a1a;
	--color-text-muted: #525252;
	--color-text-light: #d4d4d4;
	--color-text-on-dark: #a3a3a3;
	--color-text-disclaimer: #525252;

	--color-bg-primary: #ffffff;
	--color-bg-secondary: #fafafa;
	--color-bg-tertiary: #f5f5f5;
	--color-bg-input: #ffffff;
	--color-bg-dark: #282d35;
	--color-bg-dark-secondary: #2c313b;

	--color-brand-primary: #3C81E1;
	/* New Blue */
	--color-brand-primary-hover: #2c6dcc;
	/* Darker Blue */
	--color-brand-teal: #00A896;
	--color-brand-teal-light: #f1fbfa;
	/* New teal */
	--color-brand-gray: #CBD9E7;
	/* New teal */
	--color-brand-secondary: #F0F4F8;
	/* Lighter blue for backgrounds */
	--brand-gradient: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-primary) 55%, var(--color-brand-teal) 100%);

	--color-success: #16a34a;
	--color-success-hover: #15803d;
	--color-success-light-bg: #dcfce7;
	--color-success-light-text: #166534;

	--color-info-bg: #dbeafe;
	--color-info-border: #93c5fd;
	--color-info-text: #1e40af;

	--color-border-primary: #e5e5e5;
	--color-border-secondary: #d4d4d4;
	--color-border-dark: #3e434f;
	/* New Gray */

	--color-shadow-primary-focus: rgba(60, 129, 225, 0.5);
	--color-shadow-primary-hover: rgba(60, 129, 225, 0.3);
	--color-shadow-success-hover: rgba(22, 163, 74, 0.3);
	--color-shadow-focus: rgba(37, 99, 235, 0.1);
	--color-shadow-light: rgba(0, 0, 0, 0.08);
	--color-shadow-lighter: rgba(0, 0, 0, 0.04);
	--color-shadow-dark: rgba(0, 0, 0, 0.2);

	--spacing-unit: 8px;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Work Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
	line-height: 1.7;
	color: var(--color-text-secondary);
	background-color: var(--color-bg-primary);
	font-weight: 400;
	letter-spacing: -0.01em;
}

.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 4rem);
}

.hidden {
	display: none !important;
}

a {
	color: inherit;
	text-decoration: none;
}

/* Typography - Larger, Bolder */
h1 {
	font-size: clamp(3rem, 8vw, 6rem);
	font-weight: 800;
	line-height: 1.05;
	color: var(--color-text-primary);
	letter-spacing: -0.03em;
	margin-bottom: 2rem;
}

h2 {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--color-text-primary);
	letter-spacing: -0.025em;
	margin-bottom: 1.5rem;
}

h3 {
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-text-primary);
	letter-spacing: -0.02em;
}

p {
	font-size: clamp(1.125rem, 2vw, 1.25rem);
	line-height: 1.8;
	color: var(--color-text-muted);

}

/* Buttons - Bold Shapes */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 2.5rem;
	font-size: 1.35rem;
	font-weight: 700;
	text-decoration: none;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	position: relative;
	letter-spacing: -0.01em;
	line-height: 1.4;
}

.btn:focus {
	box-shadow: 0 0 0 4px var(--color-shadow-primary-focus);
}

.btn-primary {
	background-color: var(--color-brand-primary);
	color: var(--color-bg-primary);
	box-shadow: 0 4px 16px var(--color-shadow-primary-hover);
}

.btn-primary:hover {
	background-color: var(--color-brand-primary-hover);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px var(--color-shadow-primary-hover);
}


/* Brand teal button */
.btn-teal {
	background-color: var(--color-brand-teal);
	color: var(--color-bg-primary);
	box-shadow: 0 4px 16px rgba(142, 56, 240, 0.18);
}

.btn-teal:hover {
	transform: translateY(-2px);
	filter: brightness(0.93);
	box-shadow: 0 8px 24px rgba(142, 56, 240, 0.25);
}

.btn-teal:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(142, 56, 240, 0.16);
}

/* Brand gray button */
.btn-gray {
	background-color: var(--color-brand-gray);
	color: var(--color-bg-primary);
	box-shadow: 0 4px 16px rgba(183, 183, 200, 0.18);
}

.btn-gray:hover {
	transform: translateY(-2px);
	filter: brightness(0.95);
	box-shadow: 0 8px 24px rgba(183, 183, 200, 0.25);
}

.btn-gray:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(183, 183, 200, 0.16);
}

.btn-success {
	background-color: var(--color-success);
	color: var(--color-bg-primary);
	box-shadow: 0 4px 16px rgba(22, 163, 74, 0.2);
}

.btn-success:hover {
	background-color: var(--color-success-hover);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(22, 163, 74, 0.3);
}

.btn-outline {
	background-color: transparent;
	color: var(--color-brand-primary);
	border: 3px solid var(--color-brand-primary);
}

.btn-outline:hover {
	background-color: var(--color-brand-secondary);
	transform: translateY(-2px);
}

.btn-lg {
	padding-block: clamp(1rem, 1.5rem + 0.5vw, 1.5rem);
	padding-inline: clamp(2rem, 3rem + 1vw, 3rem);
}

.btn-full {
	width: 100%;
}

/* Cards - Bold Shapes with More Whitespace */
.card {
	background: var(--color-bg-primary);
	border-radius: 24px;
	padding: clamp(2rem, 5vw, 4rem);
	box-shadow: 0 2px 16px var(--color-shadow-lighter);
	border: 2px solid var(--color-bg-tertiary);
}

/* Header - More Space */
.header {
	background: var(--color-bg-primary);
	border-bottom: 2px solid var(--color-border-primary);
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, 0.9);
}

.header-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5.5rem;
}

.logo {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-decoration: none;
}

.logo-icon {
	width: auto;
	height: 5rem;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logo-icon span {
	color: var(--color-bg-primary);
	font-size: 1.25rem;
	font-weight: 800;
}

.logo-text {
	display: flex;
	flex-direction: column;
}

.logo-main {
	font-size: 1.25rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--color-text-primary);
	letter-spacing: -0.02em;
}

.logo-main-light {
	color: #ffffff;
}

.logo-sub {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-brand-primary);
	letter-spacing: 2px;
}

.logo-sub-light {
	color: var(--color-text-light);
}

.nav-desktop {
	display: none;
	gap: 2rem;
}

.nav-link {
	color: var(--color-text-muted);
	text-decoration: none;
	padding: 0.75rem 0;
	border-bottom: 3px solid transparent;
	transition: all 0.3s ease;
	font-size: clamp(1rem, 0.75rem + 0.8vw, 1.2rem);
	font-weight: 600;
	letter-spacing: -0.01em;
}
.mobile-nav-content .nav-link {
	font-size: clamp(1.25rem, 1rem + 0.8vw, 1.45rem);
	padding: 0;
	text-transform: uppercase;
	margin: 0 auto
}

.nav-link:hover {
	color: var(--color-brand-primary);
	border-bottom-color: var(--color-brand-primary);
}

.header-cta {
	display: none;
	align-items: center;
	gap: 1.5rem;
}

.phone-number {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--color-brand-gray);
	font-weight: 700;
	font-size: 1.125rem;
}
.phone-number:hover {
	color: var(--color-brand-primary);
}
.phone-icon {
	width: 1.5rem;
	height: 1.25rem;
}

.mobile-menu-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
	border: none;
	background: none;
	border-radius: 12px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.mobile-menu-btn:hover {
	background-color: var(--color-bg-tertiary);
}

.mobile-menu-btn svg {
	width: 1.75rem;
	height: 1.75rem;
	color: var(--color-border-dark);
}

.nav-mobile {
	border-top: 2px solid var(--color-border-primary);
	padding: 2rem 0;
}

.mobile-nav-content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mobile-nav-footer {
	padding-top: 1rem;
	border-top: 2px solid var(--color-border-primary);
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	align-content: flex-start;
	align-items: center;
	gap: 1rem;
}
.mobile-nav-footer .phone-number {
	font-size: clamp(1.25rem, 1rem + 0.8vw, 1.45rem);
}
.mobile-nav-footer .phone-icon {
	width: 1.75rem;
	height: 1.5rem;
}
.mobile-nav-footer .btn-full {
	width: auto;
}
/* Message Banner */
.message-banner {
	padding: 2rem 0;
	text-align: center;
}

.message-banner.success {
	background-color: var(--color-success-light-bg);
	color: var(--color-success-light-text);
	border-bottom: 2px solid #bbf7d0;
}

/* Hero Section - Massive Whitespace */
.hero {
	background: var(--brand-gradient);
	padding: clamp(6rem, 12vw, 12rem) 0 clamp(8rem, 15vw, 15rem);
}

.hero-content {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	align-items: center;
}

.hero-text {
	space-y: 3rem;
}

.hero h1 {
	margin-bottom: 2.5rem;
}

.hero-subtitle {
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	color: var(--color-text-light);
	margin-bottom: 3rem;
	line-height: 1.6;
	max-width: 60ch;
}

.hero-actions {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 3rem;
}

.hero-stats {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.stat {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 1.125rem;
	color: var(--color-text-light);
	font-weight: 600;
}

.stat-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.hero-image {
	border-radius: 32px;
	overflow: hidden;
	box-shadow: 0 32px 64px -12px var(--color-shadow-dark);
	height: 32rem;
}

.hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Modern hero (Option A) */
.hero-modern {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
}

.hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: center;
}

.hero-left h1 {
	font-size: clamp(2.25rem, 6vw, 3.5rem);
	color: var(--color-text-primary);
	margin-bottom: 1rem;
}

.hero-lead {
	font-size: 1.125rem;
	color: var(--color-text-muted);
	margin-bottom: 1.75rem;
	max-width: 56ch;
}

.hero-ctas {
	display: flex;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.hero-ctas .btn-outline {
	border: 2px solid var(--color-border-primary);
	color: var(--color-text-primary);
	background: transparent;
}

.hero-trust {
	font-size: clamp(1.25rem, 3vw, 1rem);
	color: rgba(255, 255, 255, 0.9);
	display: flex;
	gap: 0.5rem;
	align-items: center;
	margin-top: 0.5rem;
	justify-content: center;
}

.hero-media {
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 32px 64px -12px rgba(0, 0, 0, 0.18);
	position: relative;
	height: 26rem;
}

.hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.03);
	transition: transform 0.8s cubic-bezier(.2, .8, .2, 1);
}

.hero-modern:hover .hero-media img {
	transform: scale(1.0);
}

@media (min-width: 900px) {
	.hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: clamp(3rem, 6vw, 6rem);
		align-items: center;
	}
	.hero-media {
		height: 32rem;
	}
}

/* Image-backed overlay hero */
.hero-overlay {
	position: relative;
	min-height: 56rem;
	display: flex;
	align-items: center;
	color: var(--color-bg-primary);
}

.hero-overlay .hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	filter: brightness(0.55) saturate(0.95);
	z-index: 0;
}

.hero-overlay-inner {
	position: relative;
	z-index: 2;
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.hero-overlay-content {
	max-width: 68ch;
	margin: 0 auto;
	text-align: center;
}

.hero-overlay-content h1 {
	font-size: clamp(2.5rem, 6vw, 6rem);
	line-height: 1.02;
	margin-bottom: 1rem;
	color: var(--color-bg-primary);
}

.hero-overlay .hero-lead {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 1.5rem;
	font-size: clamp(1.5rem, 3.5vw, 1.75rem);
	line-height: 1.3;
}

.hero-overlay .hero-ctas {
	display: flex;
	gap: 1rem;
	justify-content: center;
	margin-top: 0.5rem;
}

@media (min-width: 900px) {
	.hero-overlay {
		min-height: 44rem;
	}
	.hero-overlay-content {
		max-width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-left: 0;
	}
	.hero-overlay-inner {
		display: flex;
		align-items: center;
		padding: clamp(4rem, 8vw, 6rem) 0;
	}
}
@media screen and (max-width: 767px) {
	.hero-overlay .hero-ctas {
		flex-direction: column;
		padding-left: 1.2rem;
		padding-right: 1.2rem;
	}
}
/* Quote Form Section - More Space */
.quote-form-section {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--brand-gradient);
}

.quote-form-container {
	max-width: 75rem;
	margin: 0 auto;
}

.quote-form-header {
	text-align: center;
	margin-bottom: 3rem;
}

.quote-form-header h2 {
	margin-bottom: 1.5rem;
}

.quote-form-header p {
	color: var(--color-text-muted);
	font-size: 1.25rem;
}

.quote-form {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

/* Form Styles - Larger, Bolder */
.form-group {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.form-group.acceptance-group {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border-top: 2px solid var(--color-bg-tertiary);
	padding-top: 2rem;
}

.form-row {
	display: grid;
	gap: 2rem;
}

.form-label {
	font-size: clamp(1rem, -0.25rem + 4vw, 1.35rem);
	font-weight: 700;
	color: var(--color-text-primary);
	letter-spacing: -0.01em;
}

input,
textarea {
	width: 100%;
	padding: 1.25rem;
	border: 2px solid var(--color-border-secondary);
	border-radius: 16px;
	font-size: 1.125rem;
	transition: all 0.3s ease;
	background-color: var(--color-bg-input);
	font-weight: 500;
}

input:focus,
textarea:focus {
	outline: none;
	border-color: var(--color-brand-primary);
	box-shadow: 0 0 0 4px var(--color-shadow-focus);
	background-color: var(--color-bg-primary);
}

textarea {
	resize: vertical;
	min-height: 160px;
}

.form-disclaimer {
	font-size: 0.875rem;
	color: var(--color-text-muted);
	text-align: center;
	margin-top: 1.5rem;
}

/* Section Styles - Generous Spacing */
.section-header {
	text-align: center;
	margin-bottom: clamp(4rem, 8vw, 6rem);
	max-width: 56rem;
	margin-left: auto;
	margin-right: auto;
}

.section-header h2 {
	margin-bottom: 1.5rem;
}

.section-header p {
	font-size: 1.25rem;
	color: var(--color-text-muted);
	margin: 0 auto;
}

.section-cta {
	text-align: center;
	margin-top: clamp(4rem, 8vw, 6rem);
}

/* Why Choose Us */
.why-choose-us {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-secondary);
}

.features-grid {
	display: grid;
	gap: 2rem;
}

.feature-card {
	background: var(--color-bg-primary);
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 24px;
	text-align: center;
	box-shadow: 0 4px 24px var(--color-shadow-lighter);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 2px solid transparent;
	position: relative;
}

.feature-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 48px var(--color-shadow-light);
	border-color: var(--color-brand-primary);
}

.feature-card .feature-icon {
	width: 5.5rem;
	height: 5.5rem;
	color: var(--color-success);
	flex-shrink: 0;
	position: absolute;
	z-index: 1;
	opacity: 0.1;
	right: 20px;
	bottom: 20px;
}

.feature-card .feature-icon svg {
	width: 5.5rem;
	height: 5.5rem;
	color: var(--color-brand-gray);
}

.feature-card h3 {
	margin-bottom: 1rem;
}

/* How It Works */
.how-it-works {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-primary);
}

.steps-grid {
	display: grid;
	gap: 3rem;
	max-width: 72rem;
	margin: 0 auto;
}

.step {
	text-align: center;
}

.step-icon {
	position: relative;
	width: 8rem;
	height: 8rem;
	background: var(--color-brand-teal-light);
	border-radius: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem;
}

.step-icon svg {
	width: 4rem;
	height: 4rem;
	color: var(--color-brand-primary);
}

.step-number {
	position: absolute;
	top: -0.75rem;
	right: -0.75rem;
	width: 2.5rem;
	height: 2.5rem;
	background: var(--color-brand-teal);
	color: var(--color-bg-primary);
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1rem;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.step h3 {
	margin-bottom: 1rem;
}

/* Coverage Options */
.coverage-options {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-secondary);
}

.coverage-grid {
	display: grid;
	gap: 2rem;
}

.coverage-card {
	background: var(--color-bg-primary);
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 24px;
	box-shadow: 0 4px 24px var(--color-shadow-lighter);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 2px solid transparent;
}

.coverage-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 48px var(--color-shadow-light);
	border-color: var(--color-brand-primary);
}

.coverage-icon {
	width: 4rem;
	height: 4rem;
	background: var(--color-brand-secondary);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.coverage-icon svg {
	width: 2.5rem;
	height: 2.5rem;
	color: var(--color-brand-primary);
}

.coverage-card h3 {
	margin-bottom: 1rem;
}

/* CTA Banner */
.cta-banner {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--brand-gradient);
	color: var(--color-bg-primary);
}

.cta-content {
	text-align: center;
	max-width: 56rem;
	margin: 0 auto;
}

.cta-content h2 {
	color: var(--color-bg-primary);
	margin-bottom: 2rem;
}

/* Expert Support */
.expert-support {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-primary);
}

.expert-content {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	align-items: center;
}

.expert-text h2 {
	margin-bottom: 2rem;
}

.expert-text p {
	font-size: 1.25rem;
	margin-bottom: 2rem;
}

.expert-features {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.expert-features .feature {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.125rem;
}

.expert-features .feature-icon {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--color-success);
	flex-shrink: 0;
}

.expert-image {
	border-radius: 32px;
	overflow: hidden;
	box-shadow: 0 32px 64px -12px rgba(0, 0, 0, 0.15);
	height: 48rem;
	aspect-ratio: 1 / 1;
	max-height: 100%;
	max-width: 100%;
}

.expert-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* FAQ Section */
.faq-section {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-primary);
}

.faq-container {
	max-width: 56rem;
	margin: 0 auto;
}

.accordion {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.accordion-item {
	border: 2px solid var(--color-border-primary);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 2px 12px var(--color-shadow-lighter);
	transition: all 0.3s ease;
}

.accordion-item:hover {
	border-color: var(--color-brand-primary);
}

.accordion-trigger {
	width: 100%;
	padding: 1.75rem 2rem;
	background: var(--color-bg-primary);
	border: none;
	text-align: left;
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--color-text-primary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all 0.3s ease;
	letter-spacing: -0.01em;
}

.accordion-trigger:hover {
	background-color: var(--color-bg-secondary);
	color: var(--color-brand-primary);
}

.accordion-icon {
	width: 1.5rem;
	height: 1.5rem;
	transition: transform 0.3s ease;
}

.accordion-trigger.active .accordion-icon {
	transform: rotate(180deg);
}

.accordion-content {
	display: none;
	padding: 0 2rem 2rem;
	background: var(--color-bg-primary);
	font-size: 1.125rem;
}

.accordion-content.active {
	display: block;
}

.faq-cta {
	text-align: center;
	margin-top: clamp(4rem, 8vw, 6rem);
	text-align: center;
}

.faq-cta p {
	margin-bottom: 1.5rem;
	font-size: clamp(1.25rem, 0.625rem + 2vw, 1.75rem);
	font-weight: bold;
}

.faq-actions {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* Contact Section */
.contact-section {
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--color-bg-secondary);
}

.contact-container {
	max-width: 56rem;
	margin: 0 auto;
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.disclaimer-box {
	margin-top: 3rem;
	padding: 2rem;
	background: var(--color-info-bg);
	border: 2px solid var(--color-info-border);
	border-radius: 20px;
}

.disclaimer-box p {
	font-size: 1rem;
	color: var(--color-info-text);
	margin: 0;
}

/* Footer */
.footer {
	background: var(--color-bg-dark);
	color: var(--color-bg-primary);
	padding: clamp(4rem, 8vw, 6rem) 0 2rem;
}

.footer-content {
	display: grid;
	gap: 3rem;
	margin-bottom: 3rem;
	grid-template-columns: repeat(1, 1fr);
}

.footer-section h3 {
	color: var(--color-bg-primary);
	margin-bottom: 1.5rem;
	font-size: 1.25rem;
}

.footer-logo {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.footer-section p {
	color: var(--color-text-light);
	font-size: 1rem;
}

.contact-info {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.contact-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1rem;
}

.contact-icon {
	width: 1.5rem;
	height: 1.5rem;
	color: #60a5fa;
}

.footer-links {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer-links a {
	color: var(--color-text-light);
	text-decoration: none;
	transition: color 0.3s ease;
	font-size: 1rem;
}

.footer-links a:hover {
	color: var(--color-bg-primary);
}

.footer-disclaimer {
	padding-top: 3rem;
	border-top: 2px solid var(--color-border-dark);
}

.disclaimer-content {
	background: var(--color-bg-dark-secondary);
	padding: 2rem;
	border-radius: 20px;
	margin-bottom: 2rem;
}

.disclaimer-content p {
	font-size: 1rem;
	color: var(--color-text-light);
	margin: 0;
}

.disclaimer-content strong {
	color: var(--color-bg-primary);
}

.footer-copyright {
	text-align: center;
}

.footer-copyright p {
	font-size: 1rem;
	color: var(--color-text-on-dark);
	margin: 0;
}

/* Form Checkbox/Radio Groups */
.form-group .checkbox-group,
.form-group .radio-group {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	flex-direction: row;
}

.form-group .radio-group label {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-direction: row;
}

.checkbox-group input[type="checkbox"] {
	margin-top: 0.25rem;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.checkbox-label {
	font-size: clamp(0.9rem, 0.775rem + 0.4vw, 1rem);
	font-weight: 400;
	color: var(--color-text-muted);
	line-height: 1.2;
	text-align: justify;
}

.form-links {
	margin-top: 1rem;
	text-align: center;
	font-size: 0.9rem;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}

.form-links a {
	color: var(--color-brand-primary);
	text-decoration: underline;
	font-weight: 600;
}

.form-links a:hover {
	color: var(--color-brand-primary-hover);
}

/* Page Content for Privacy Policy, Terms, etc. */
.page-content {
	padding: clamp(4rem, 8vw, 6rem) 0;
	background-color: var(--color-bg-secondary);
}
.text-content h2 {
	font-size: clamp(1.5rem, 6vw, 3.5rem);
}
.text-content {
	background-color: var(--color-bg-primary);
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 24px;
	box-shadow: 0 4px 24px var(--color-shadow-lighter);
	margin: 0 auto;
}

.text-content h1,
.text-content h2,
.text-content h3 {
	margin-bottom: 1.5rem;
}

.text-content p {
	margin-bottom: 1.75rem;
}
.text-content li p {
	margin-bottom: 0;
	;
}

.text-content ul,
.text-content ol {
	margin-bottom: 1.75rem;
	padding-left: 2rem;
}


/* Responsive Design */
@media (min-width: 640px) {
	.hero-actions {
		flex-direction: row;
		align-items: center;
	}

	.hero-stats {
		flex-direction: row;
		gap: 3rem;
	}

	.form-row {
		grid-template-columns: 1fr 1fr;
	}

	.faq-actions {
		flex-direction: row;
		justify-content: center;
	}
}

@media (min-width: 768px) {
	.hero-content {
		grid-template-columns: 1fr 1fr;
	}

	.expert-content {
		grid-template-columns: 1fr 1fr;
	}

	.features-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.coverage-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.steps-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 900px) {
	.footer-content {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 1330px) {
	.nav-desktop {
		display: flex;
	}

	.header-cta {
		display: flex;
	}

	.mobile-menu-btn {
		display: none;
	}

	.coverage-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}