:root {
	--bwfv2-maroon: #870012;
	--bwfv2-maroon-dark: #5e000b;
	--bwfv2-ink: #232b37;
	--bwfv2-muted: #596372;
	--bwfv2-line: #d9d0c5;
	--bwfv2-soft: #f7f5f2;
	--bwfv2-beige: #f1eadf;
	--bwfv2-white: #fff;
	--bwfv2-shadow: 0 8px 18px rgba(35,31,26,.075);
}

body.bwfv2-financing-template .site-content,
body.bwfv2-financing-template .ast-container,
body.bwfv2-financing-template .entry-content,
body.bwfv2-financing-template article,
body.bwfv2-financing-template .elementor-page {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.bwfv2-financing-template .site-content .ast-container {
	max-width: none !important;
}

.bwfv2-page {
	background: #fff;
	color: var(--bwfv2-ink);
	font-family: inherit;
}

.bwfv2-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--bwfv2-page-width, 1000px);
	width: min(calc(100% - 40px), var(--bwfv2-page-width, 1000px));
}

.bwfv2-kicker {
	color: var(--bwfv2-maroon);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .16em;
	line-height: 1.25;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.bwfv2-kicker--light {
	color: #fff;
	opacity: .86;
}

.bwfv2-page-head {
	border-top: 1px solid #eee;
	padding: 42px 0 22px;
}

.bwfv2-page-head h1 {
	color: var(--bwfv2-ink);
	font-size: clamp(34px, 4.2vw, 50px);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: 1.03;
	margin: 0;
	max-width: 850px;
}

.bwfv2-page-head p {
	color: var(--bwfv2-muted);
	font-size: 17px;
	line-height: 1.55;
	margin: 16px 0 0;
	max-width: 760px;
}

.bwfv2-hero-image-section {
	padding: 0 0 24px;
}

.bwfv2-hero-image {
	border: 2px solid var(--bwfv2-line);
	box-shadow: var(--bwfv2-shadow);
	margin: 0;
	overflow: hidden;
}

.bwfv2-hero-image img {
	display: block;
	height: clamp(320px, 42vw, 520px);
	object-fit: cover;
	width: 100%;
}

.bwfv2-process {
	padding: 20px 0 36px;
}

.bwfv2-section-title {
	margin-bottom: 18px;
}

.bwfv2-section-title h2,
.bwfv2-bring-card h2,
.bwfv2-cta h2 {
	color: var(--bwfv2-ink);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: 1.06;
	margin: 0;
}

.bwfv2-section-title p {
	color: var(--bwfv2-muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 10px 0 0;
	max-width: 720px;
}

.bwfv2-steps {
	border: 2px solid var(--bwfv2-line);
	box-shadow: var(--bwfv2-shadow);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bwfv2-step-row {
	align-items: start;
	background: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: 80px minmax(170px, .36fr) minmax(0, 1fr);
	padding: 20px 24px;
}

.bwfv2-step-row + .bwfv2-step-row {
	border-top: 1px solid var(--bwfv2-line);
}

.bwfv2-step-number {
	align-items: center;
	background: var(--bwfv2-soft);
	border: 1px solid var(--bwfv2-line);
	color: var(--bwfv2-maroon);
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	height: 38px;
	justify-content: center;
	letter-spacing: .12em;
	width: 52px;
}

.bwfv2-step-row h3 {
	color: var(--bwfv2-ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.15;
	margin: 4px 0 0;
}

.bwfv2-step-row p {
	color: var(--bwfv2-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.bwfv2-bring {
	background: var(--bwfv2-soft);
	border-bottom: 1px solid #e8e0d6;
	border-top: 1px solid #e8e0d6;
	padding: 40px 0;
}

.bwfv2-bring-card {
	background: #fff;
	border: 2px solid var(--bwfv2-line);
	box-shadow: var(--bwfv2-shadow);
	padding: 26px;
}

.bwfv2-bring-card > p:not(.bwfv2-kicker) {
	color: var(--bwfv2-muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 10px 0 0;
	max-width: 720px;
}

.bwfv2-checklist {
	display: grid;
	gap: 0 32px;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}

.bwfv2-checklist li {
	border-top: 1px solid var(--bwfv2-line);
	color: var(--bwfv2-ink);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	padding: 13px 0 13px 28px;
	position: relative;
}

.bwfv2-checklist li::before {
	color: var(--bwfv2-maroon);
	content: '✓';
	font-weight: 900;
	left: 0;
	position: absolute;
}

.bwfv2-cta {
	background: var(--bwfv2-maroon);
	color: #fff;
	padding: 34px 0;
}

.bwfv2-cta-inner {
	align-items: center;
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.bwfv2-cta h2 {
	color: #fff;
}

.bwfv2-cta p {
	color: rgba(255,255,255,.88);
	font-size: 15px;
	line-height: 1.55;
	margin: 12px 0 0;
	max-width: 680px;
}

.bwfv2-btn {
	align-items: center;
	border: 2px solid var(--bwfv2-maroon);
	box-shadow: 0 2px 0 rgba(69, 0, 8, .20);
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	padding: 13px 22px;
	text-align: center;
	text-decoration: none !important;
	transition: transform .34s ease, box-shadow .34s ease, background-color .34s ease, color .34s ease, border-color .34s ease;
}

.bwfv2-btn:hover,
.bwfv2-btn:focus-visible {
	box-shadow: 0 4px 0 rgba(69, 0, 8, .22);
	transform: translateY(-1px);
}

.bwfv2-btn--light {
	background: #fff;
	border-color: #fff;
	color: var(--bwfv2-maroon) !important;
}

@media (max-width: 900px) {
	.bwfv2-cta-inner {
		grid-template-columns: 1fr;
	}
	.bwfv2-step-row {
		grid-template-columns: 64px minmax(140px, .42fr) minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.bwfv2-wrap {
		width: min(calc(100% - 32px), var(--bwfv2-page-width, 1000px));
	}
	.bwfv2-page-head {
		padding: 32px 0 18px;
	}
	.bwfv2-page-head h1 {
		font-size: clamp(32px, 10vw, 42px);
	}
	.bwfv2-page-head p {
		font-size: 16px;
	}
	.bwfv2-hero-image-section {
		padding-bottom: 20px;
	}
	.bwfv2-hero-image img {
		height: 260px;
	}
	.bwfv2-process {
		padding: 14px 0 30px;
	}
	.bwfv2-section-title h2,
	.bwfv2-bring-card h2,
	.bwfv2-cta h2 {
		font-size: 28px;
	}
	.bwfv2-step-row {
		gap: 10px 14px;
		grid-template-columns: 54px minmax(0, 1fr);
		padding: 18px;
	}
	.bwfv2-step-row p {
		grid-column: 1 / -1;
		padding-left: 0;
	}
	.bwfv2-bring {
		padding: 30px 0;
	}
	.bwfv2-bring-card {
		padding: 22px;
	}
	.bwfv2-checklist {
		grid-template-columns: 1fr;
	}
	.bwfv2-cta {
		padding: 32px 0 calc(34px + env(safe-area-inset-bottom, 0px));
	}
	.bwfv2-btn {
		width: 100%;
	}
}

/* V36: final footer normalization for V2 prototype pages.
   Hide leftover Elementor/Astra footer legal/social pieces and render one clean row. */
body.bw2-v2-prototype-page .bw2-v2-footer-off,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-element-40e04e8,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-element-30a853,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-widget-social-icons,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-social-icons-wrapper,
body.bw2-v2-prototype-page #colophon .elementor-element-40e04e8,
body.bw2-v2-prototype-page #colophon .elementor-element-30a853,
body.bw2-v2-prototype-page #colophon .elementor-widget-social-icons,
body.bw2-v2-prototype-page #colophon .elementor-social-icons-wrapper,
body.bw2-v2-prototype-page #ast-scroll-top,
body.bw2-v2-prototype-page .ast-scroll-to-top-right,
body.bw2-v2-prototype-page .ast-scroll-to-top-left,
body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-footer-mobile-inline-row,
body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-legal-row,
body.bw2-v2-prototype-page #colophon .bw2-footer-mobile-inline-row,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-legal-row {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	max-height: 0 !important;
	max-width: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	visibility: hidden !important;
	width: 0 !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
	background: #fff !important;
	box-sizing: border-box !important;
	clear: both !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 48px !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	visibility: visible !important;
	width: 100% !important;
	z-index: 1 !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
	align-items: center !important;
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
	gap: 18px !important;
	line-height: 1.2 !important;
	margin: 0 auto !important;
	max-width: 1000px !important;
	min-height: 48px !important;
	padding: 12px 24px 14px !important;
	width: 100% !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
	color: #2f3a4a !important;
	display: block !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	grid-column: 2 !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	text-align: center !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
	align-items: center !important;
	background: #3f5f9f !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #fff !important;
	display: inline-flex !important;
	grid-column: 3 !important;
	height: 22px !important;
	justify-content: center !important;
	justify-self: end !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 22px !important;
	min-width: 22px !important;
	padding: 0 !important;
	text-decoration: none !important;
	visibility: visible !important;
	width: 22px !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social svg {
	display: block !important;
	height: 13px !important;
	line-height: 1 !important;
	margin: 0 !important;
	max-height: 13px !important;
	max-width: 13px !important;
	padding: 0 !important;
	width: 13px !important;
}

@media (max-width: 720px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
		min-height: 46px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		display: flex !important;
		gap: 14px !important;
		justify-content: space-between !important;
		max-width: 100% !important;
		min-height: 46px !important;
		padding: 12px 24px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		flex: 1 1 auto !important;
		font-size: 12px !important;
		grid-column: auto !important;
		line-height: 1.25 !important;
		text-align: left !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
		flex: 0 0 24px !important;
		grid-column: auto !important;
		height: 24px !important;
		min-height: 24px !important;
		min-width: 24px !important;
		width: 24px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social svg,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social svg,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social svg {
		height: 14px !important;
		max-height: 14px !important;
		max-width: 14px !important;
		width: 14px !important;
	}
}

@media (max-width: 380px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		font-size: 11px !important;
	}
}

/* V37: final footer alignment pass.
   Mobile already reads well; desktop needed the copyright to align to the same content rail
   as FAQ/content instead of sitting centered under the map. */
body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
	background: #fff !important;
	min-height: 62px !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
	align-items: center !important;
	display: flex !important;
	gap: 18px !important;
	justify-content: space-between !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--bw2-wrap) !important;
	min-height: 62px !important;
	padding: 16px 0 18px !important;
	width: min(calc(100% - 40px), var(--bw2-wrap)) !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
	color: #2f3a4a !important;
	flex: 1 1 auto !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	grid-column: auto !important;
	line-height: 1.3 !important;
	max-width: none !important;
	overflow: visible !important;
	text-align: left !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
	flex: 0 0 24px !important;
	grid-column: auto !important;
	height: 24px !important;
	min-height: 24px !important;
	min-width: 24px !important;
	width: 24px !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social svg {
	height: 14px !important;
	max-height: 14px !important;
	max-width: 14px !important;
	width: 14px !important;
}

@media (max-width: 720px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
		min-height: 74px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		gap: 14px !important;
		max-width: 100% !important;
		min-height: 74px !important;
		padding: 20px 24px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
		width: 100% !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		font-size: 12px !important;
		line-height: 1.3 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 380px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		font-size: 11px !important;
	}
}

/* V37: footer scale/alignment tuning.
   Desktop now lines up with the 1000px FAQ/content column instead of centering the copyright.
   Mobile keeps the compact one-row footer with safe padding above the sticky CTA bar. */
body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
	background: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 58px !important;
	padding: 0 !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
	align-items: center !important;
	display: flex !important;
	gap: 20px !important;
	justify-content: space-between !important;
	line-height: 1.25 !important;
	margin: 0 auto !important;
	max-width: 1000px !important;
	min-height: 58px !important;
	padding: 16px 0 18px !important;
	width: min(calc(100% - 40px), 1000px) !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
	color: #2f3a4a !important;
	display: block !important;
	flex: 1 1 auto !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	grid-column: auto !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	text-align: left !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
	flex: 0 0 24px !important;
	grid-column: auto !important;
	height: 24px !important;
	min-height: 24px !important;
	min-width: 24px !important;
	width: 24px !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social svg,
body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social svg {
	height: 14px !important;
	max-height: 14px !important;
	max-width: 14px !important;
	width: 14px !important;
}

@media (max-width: 720px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-row,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-row {
		min-height: 64px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		gap: 18px !important;
		max-width: none !important;
		min-height: 64px !important;
		padding: 17px 26px calc(17px + env(safe-area-inset-bottom, 0px)) !important;
		width: 100% !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		font-size: 12px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
		flex-basis: 24px !important;
		height: 24px !important;
		min-height: 24px !important;
		min-width: 24px !important;
		width: 24px !important;
	}
}

@media (max-width: 380px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-inner,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-inner {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-copyright,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-copyright {
		font-size: 11.5px !important;
	}
}

/* V38: footer map recovery + mobile Facebook sizing.
   Keep the Elementor/Google map visible on V2 prototype pages while still replacing
   the messy legal/social footer row with one clean final row. */
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-widget-google_maps,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-widget-google_maps .elementor-widget-container,
body.bw2-v2-prototype-page footer.elementor-location-footer .elementor-widget-google_maps iframe,
body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="maps.google"],
body.bw2-v2-prototype-page #colophon .elementor-widget-google_maps,
body.bw2-v2-prototype-page #colophon .elementor-widget-google_maps .elementor-widget-container,
body.bw2-v2-prototype-page #colophon .elementor-widget-google_maps iframe,
body.bw2-v2-prototype-page #colophon iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page #colophon iframe[src*="maps.google"],
body.bw2-v2-prototype-page footer .elementor-widget-google_maps,
body.bw2-v2-prototype-page footer .elementor-widget-google_maps .elementor-widget-container,
body.bw2-v2-prototype-page footer .elementor-widget-google_maps iframe,
body.bw2-v2-prototype-page footer iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page footer iframe[src*="maps.google"] {
	display: block !important;
	height: auto !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	opacity: 1 !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	visibility: visible !important;
	width: 100% !important;
}

body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="maps.google"],
body.bw2-v2-prototype-page #colophon iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page #colophon iframe[src*="maps.google"],
body.bw2-v2-prototype-page footer iframe[src*="google.com/maps"],
body.bw2-v2-prototype-page footer iframe[src*="maps.google"] {
	height: clamp(280px, 34vw, 390px) !important;
	min-height: 280px !important;
}

@media (max-width: 720px) {
	body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="google.com/maps"],
	body.bw2-v2-prototype-page footer.elementor-location-footer iframe[src*="maps.google"],
	body.bw2-v2-prototype-page #colophon iframe[src*="google.com/maps"],
	body.bw2-v2-prototype-page #colophon iframe[src*="maps.google"],
	body.bw2-v2-prototype-page footer iframe[src*="google.com/maps"],
	body.bw2-v2-prototype-page footer iframe[src*="maps.google"] {
		height: 360px !important;
		min-height: 360px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social {
		flex-basis: 23px !important;
		height: 23px !important;
		min-height: 23px !important;
		min-width: 23px !important;
		width: 23px !important;
	}

	body.bw2-v2-prototype-page footer.elementor-location-footer .bw2-v2-footer-final-social svg,
	body.bw2-v2-prototype-page #colophon .bw2-v2-footer-final-social svg,
	body.bw2-v2-prototype-page footer .bw2-v2-footer-final-social svg {
		height: 13px !important;
		max-height: 13px !important;
		max-width: 13px !important;
		width: 13px !important;
	}
}


/* V72: header-safe centering + Vehicle V2 card rhythm.
   Do NOT hard-reset the global Astra .ast-container, because that breaks the header. */
body.bwfv2-financing-template {
	--bwfv2-gap: 18px;
}

body.bwfv2-financing-template .bwfv2-wrap {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--bwfv2-page-width, 1000px) !important;
	width: min(calc(100% - 40px), var(--bwfv2-page-width, 1000px)) !important;
}

body.bwfv2-financing-template .bwfv2-page-head {
	padding-top: 38px !important;
	padding-bottom: var(--bwfv2-gap) !important;
}

body.bwfv2-financing-template .bwfv2-hero-image-section,
body.bwfv2-financing-template .bwfv2-process,
body.bwfv2-financing-template .bwfv2-bring {
	padding-top: 0 !important;
	padding-bottom: var(--bwfv2-gap) !important;
}

/* Remove unnecessary background switching. Checklist becomes a normal content-width card. */
body.bwfv2-financing-template .bwfv2-bring {
	background: #fff !important;
	border: 0 !important;
}

body.bwfv2-financing-template .bwfv2-bring-card,
body.bwfv2-financing-template .bwfv2-steps,
body.bwfv2-financing-template .bwfv2-hero-image {
	border: 2px solid var(--bwfv2-line) !important;
	box-shadow: var(--bwfv2-shadow) !important;
}

body.bwfv2-financing-template .bwfv2-section-title {
	margin-bottom: 14px !important;
}

/* CTA is a content-width red card, not a full-bleed red band. */
body.bwfv2-financing-template .bwfv2-cta {
	background: #fff !important;
	margin: 0 !important;
	padding: 0 0 52px !important;
}

body.bwfv2-financing-template .bwfv2-cta-inner {
	background: var(--bwfv2-maroon) !important;	
	border: 2px solid var(--bwfv2-maroon-dark) !important;
	box-shadow: var(--bwfv2-shadow) !important;
	box-sizing: border-box !important;
	color: #fff !important;
	padding: 30px 32px !important;
}

body.bwfv2-financing-template footer.elementor-location-footer,
body.bwfv2-financing-template #colophon {
	margin-top: 0 !important;
}

@media (max-width: 640px) {
	body.bwfv2-financing-template .bwfv2-wrap,
	body.bwfv2-financing-template .bwfv2-cta-inner {
		width: min(calc(100% - 32px), var(--bwfv2-page-width, 1000px)) !important;
	}
	body.bwfv2-financing-template .bwfv2-page-head {
		padding-top: 32px !important;
		padding-bottom: var(--bwfv2-gap) !important;
	}
	body.bwfv2-financing-template .bwfv2-cta {
		padding-bottom: 42px !important;
	}
	body.bwfv2-financing-template .bwfv2-cta-inner {
		padding: 26px 22px !important;
	}
}

/* V73: final content-rail centering without touching the header.
   This targets only Astra's main site-content container, not header/footer .ast-container. */
body.bwfv2-financing-template .site-content > .ast-container {
	box-sizing: border-box !important;
	display: block !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1040px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	width: 100% !important;
}

body.bwfv2-financing-template .site-content > .ast-container::before,
body.bwfv2-financing-template .site-content > .ast-container::after {
	content: none !important;
	display: none !important;
}

body.bwfv2-financing-template .site-content .bwfv2-page {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--bwfv2-page-width, 1000px) !important;
	width: 100% !important;
}

body.bwfv2-financing-template .site-content .bwfv2-wrap,
body.bwfv2-financing-template .site-content .bwfv2-cta-inner {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--bwfv2-page-width, 1000px) !important;
	width: 100% !important;
}

@media (max-width: 640px) {
	body.bwfv2-financing-template .site-content > .ast-container {
		max-width: 100% !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.bwfv2-financing-template .site-content .bwfv2-wrap,
	body.bwfv2-financing-template .site-content .bwfv2-cta-inner {
		width: 100% !important;
	}
}

/* V95: final finance centering/typography cleanup. */
body.bwfv2-financing-template {
  --bwfv2-page-width: 1140px;
}

@media (min-width: 901px) {
  body.bwfv2-financing-template .bwfv2-wrap,
  body.bwfv2-financing-template .bwfv2-cta-inner {
    box-sizing: border-box !important;
    max-width: 1140px !important;
    width: min(calc(100vw - 40px), 1140px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

body.bwfv2-financing-template .bwfv2-page-head {
  padding-top: 42px !important;
}

body.bwfv2-financing-template .bwfv2-page-head .bwfv2-kicker,
body.bwfv2-financing-template .bwfv2-kicker {
  color: var(--bwfv2-maroon) !important;
  font-weight: 800 !important;
}

body.bwfv2-financing-template .bwfv2-page-head h1 {
  font-size: clamp(31px, 3.6vw, 43px) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
}


/* V98: Financing V2 final desktop/laptop rhythm polish.
   Match the calmer V2 page system: 1100px rail, softer type, and tighter top rhythm. */
body.bwfv2-financing-template {
  --bwfv2-page-width: 1100px !important;
}

@media (min-width: 901px) {
  body.bwfv2-financing-template .site-content > .ast-container {
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1140px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
  }

  body.bwfv2-financing-template .bwfv2-page,
  body.bwfv2-financing-template .bwfv2-wrap,
  body.bwfv2-financing-template .bwfv2-cta-inner {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1100px !important;
    width: min(calc(100vw - 40px), 1100px) !important;
  }
}

body.bwfv2-financing-template .bwfv2-page-head {
  border-top: 0 !important;
  padding-top: 34px !important;
  padding-bottom: 20px !important;
}

body.bwfv2-financing-template .bwfv2-kicker,
body.bwfv2-financing-template .bwfv2-page-head .bwfv2-kicker {
  color: var(--bwfv2-maroon) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
}

body.bwfv2-financing-template .bwfv2-page-head h1 {
  color: var(--bwfv2-ink) !important;
  font-size: clamp(31px, 3.1vw, 42px) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
  max-width: 780px !important;
}

body.bwfv2-financing-template .bwfv2-page-head p {
  color: var(--bwfv2-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.58 !important;
  margin-top: 12px !important;
  max-width: 720px !important;
}

body.bwfv2-financing-template .bwfv2-section-title h2,
body.bwfv2-financing-template .bwfv2-bring-card h2,
body.bwfv2-financing-template .bwfv2-cta h2 {
  font-size: clamp(25px, 2.4vw, 32px) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
}

body.bwfv2-financing-template .bwfv2-section-title p,
body.bwfv2-financing-template .bwfv2-bring-card > p:not(.bwfv2-kicker),
body.bwfv2-financing-template .bwfv2-cta p,
body.bwfv2-financing-template .bwfv2-step-row p {
  font-size: 14.5px !important;
  line-height: 1.58 !important;
}

body.bwfv2-financing-template .bwfv2-step-row h3 {
  font-size: 16px !important;
  font-weight: 800 !important;
}

body.bwfv2-financing-template .bwfv2-process {
  padding-top: 18px !important;
}

body.bwfv2-financing-template .bwfv2-bring {
  padding-top: 22px !important;
}

@media (max-width: 900px) {
  body.bwfv2-financing-template .bwfv2-page,
  body.bwfv2-financing-template .bwfv2-wrap,
  body.bwfv2-financing-template .bwfv2-cta-inner {
    max-width: 100% !important;
    width: min(calc(100% - 32px), 1100px) !important;
  }
}


#content > div > main > section.bwfv2-page-head > div > p.bwfv2-kicker {
	margin-top: 0 !important;
}


/* V107: section-level mobile gutters with full-bleed CTA card.
   Main no longer owns the side gutter, because that traps the CTA card inside it.
   Each normal content section gets 14px left/right, while the CTA section stays edge-to-edge. */
@media (max-width: 640px) {
  html body.bwfv2-financing-template #content,
  html body.bwfv2-financing-template .site-content,
  html body.bwfv2-financing-template .site-content > .ast-container,
  html body.bwfv2-financing-template #content > .ast-container,
  html body.bwfv2-financing-template #content > div,
  html body.bwfv2-financing-template #content > div > main,
  html body.bwfv2-financing-template .site-content > .ast-container > main,
  html body.bwfv2-financing-template main.site-main,
  html body.bwfv2-financing-template main.bwfv2-page,
  html body.bwfv2-financing-template .bwfv2-page {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template #content > div > main > section.bwfv2-page-head,
  html body.bwfv2-financing-template #content > div > main > section.bwfv2-hero-image-section,
  html body.bwfv2-financing-template #content > div > main > section.bwfv2-process,
  html body.bwfv2-financing-template #content > div > main > section.bwfv2-bring,
  html body.bwfv2-financing-template main.bwfv2-page > section.bwfv2-page-head,
  html body.bwfv2-financing-template main.bwfv2-page > section.bwfv2-hero-image-section,
  html body.bwfv2-financing-template main.bwfv2-page > section.bwfv2-process,
  html body.bwfv2-financing-template main.bwfv2-page > section.bwfv2-bring {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template .bwfv2-page-head > .bwfv2-wrap,
  html body.bwfv2-financing-template .bwfv2-hero-image-section > .bwfv2-wrap,
  html body.bwfv2-financing-template .bwfv2-process > .bwfv2-wrap,
  html body.bwfv2-financing-template .bwfv2-bring > .bwfv2-wrap,
  html body.bwfv2-financing-template .bwfv2-steps,
  html body.bwfv2-financing-template .bwfv2-hero-image {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template .bwfv2-bring-card {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding: 22px !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template .bwfv2-cta {
    background: #fff !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template .bwfv2-cta > .bwfv2-wrap,
  html body.bwfv2-financing-template .bwfv2-cta .bwfv2-cta-inner,
  html body.bwfv2-financing-template .bwfv2-cta-inner {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  html body.bwfv2-financing-template .bwfv2-page-head {
    padding-top: 32px !important;
    padding-bottom: var(--bwfv2-gap) !important;
  }

  html body.bwfv2-financing-template .bwfv2-hero-image-section,
  html body.bwfv2-financing-template .bwfv2-process,
  html body.bwfv2-financing-template .bwfv2-bring {
    padding-bottom: var(--bwfv2-gap) !important;
  }

  html body.bwfv2-financing-template .bwfv2-cta {
    padding-bottom: 42px !important;
  }

  html body.bwfv2-financing-template .bwfv2-cta-inner {
    padding: 26px 22px !important;
  }
}