/* Home section 14 — Final CTA / get-a-quote banner (Figma node 1:8079) */

.cta-quote {
	background: var( --color-bg-light );
	padding: 40px 20px;
}

.cta-quote__card {
	position: relative;
	overflow: hidden;
	background: var( --color-navy );
	border-radius: 40px;
	padding: 56px 50px;
}

/* Decorative "endless constellation" texture: the Figma source tiles many
   overlapping vector groups purely for visual noise on the navy card. That
   is approximated here with a soft two-tone radial-gradient wash instead of
   reproducing dozens of tiny decorative vectors. */
.cta-quote__pattern {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient( circle at 15% 20%, rgba( 255, 255, 255, 0.06 ) 0, transparent 45% ),
		radial-gradient( circle at 85% 80%, rgba( 7, 46, 175, 0.35 ) 0, transparent 55% );
	pointer-events: none;
}

.cta-quote__row,
body .cta-quote__row {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
}

.cta-quote__pitch,
body .cta-quote__pitch {
	flex: 1 0 0;
	min-width: 0;
	max-width: 470px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-top: 10px;
}

.cta-quote__title {
	font-weight: 700;
	font-size: 32px;
	line-height: 1.2;
	color: var( --color-white );
}

.cta-quote__text p {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: rgba( 255, 255, 255, 0.75 );
}

.cta-quote__discuss-btn {
	align-self: flex-start;
	margin-top: 10px;
}

.cta-quote__form-panel,
body .cta-quote__form-panel {
	flex: 1 0 0;
	min-width: 0;
	max-width: 541px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cta-quote__form-title {
	font-weight: 700;
	font-size: 22px;
	line-height: normal;
	color: var( --color-white );
}

.cta-quote__form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cta-quote__form-row {
	display: flex;
	gap: 20px;
}

.cta-quote__field {
	position: relative;
	flex: 1 0 0;
	min-width: 0;
	background: var( --color-white );
	border-radius: 16px;
	padding: 8px 18px 9px;
}

.cta-quote__field label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var( --color-navy );
	margin-bottom: 1px;
}

.cta-quote__field input,
.cta-quote__field select {
	display: block;
	width: 100%;
	border: 0;
	padding: 0;
	font-family: var( --font-base );
	font-size: 13px;
	color: var( --color-navy );
	background: transparent;
	appearance: none;
}

.cta-quote__field input::placeholder {
	color: var( --color-text-muted );
}

.cta-quote__field input:focus,
.cta-quote__field select:focus {
	outline: none;
}

.cta-quote__field--select select {
	padding-right: 22px;
	cursor: pointer;
}

.cta-quote__select-icon {
	position: absolute;
	right: 18px;
	bottom: 12px;
	width: 10px;
	height: 6px;
	background: var( --color-navy );
	-webkit-mask: url( '../../images/header/chevron-down.svg' ) center / contain no-repeat;
	mask: url( '../../images/header/chevron-down.svg' ) center / contain no-repeat;
	pointer-events: none;
}

.cta-quote__submit-btn {
	width: 100%;
	background: var( --color-orange );
	color: var( --color-white );
	margin-top: 4px;
}

.cta-quote__badges {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
	list-style: none;
	padding: 0;
}

.cta-quote__badges li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 500;
	color: rgba( 255, 255, 255, 0.75 );
}

.cta-quote__badge-sep {
	color: var( --color-orange );
	font-size: 12px;
}

.cta-quote__badge-icon {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	color: var( --color-orange );
}

.cta-quote__badge-icon svg,
.cta-quote__badge-icon {
	display: inline-block;
}

.cta-quote__badge-icon--lock {
	background: currentColor;
	-webkit-mask: url( '../../images/section-14-cta-quote/icon-lock.svg' ) center / contain no-repeat;
	mask: url( '../../images/section-14-cta-quote/icon-lock.svg' ) center / contain no-repeat;
}

.cta-quote__badge-icon--bolt {
	background: currentColor;
	-webkit-mask: url( '../../images/section-14-cta-quote/icon-bolt.svg' ) center / contain no-repeat;
	mask: url( '../../images/section-14-cta-quote/icon-bolt.svg' ) center / contain no-repeat;
}

.cta-quote__badge-icon--handshake {
	background: currentColor;
	-webkit-mask: url( '../../images/section-14-cta-quote/icon-handshake.svg' ) center / contain no-repeat;
	mask: url( '../../images/section-14-cta-quote/icon-handshake.svg' ) center / contain no-repeat;
}

@media ( max-width: 900px ) {
	.cta-quote__row {
		flex-direction: column;
		gap: 40px;
	}

	.cta-quote__pitch,
	.cta-quote__form-panel {
		max-width: 100%;
	}
}

@media ( max-width: 640px ) {
	.cta-quote__card {
		padding: 32px 24px;
		border-radius: 24px;
	}

	.cta-quote__title {
		font-size: 26px;
	}

	.cta-quote__form-row {
		flex-direction: column;
		gap: 14px;
	}

	.cta-quote__badges {
		gap: 6px;
	}
}
