/*
Theme Name: Solar Exit Colorado Child
Theme URI: https://solarexitcolorado.com/
Description: Divi child theme for Solar Exit Colorado.
Author: Solar Exit Colorado
Author URI: https://solarexitcolorado.com/
Template: Divi
Version: 1.2.0
Text Domain: solar-exit-colorado-child
*/

/* =========================================================
   TABLE OF CONTENTS

   01. Design Tokens
   02. Base and Typography
   03. Layout Utilities
   04. Buttons and Actions
   05. Custom List Reset
   06. Shared Hero Components
   07. Form Cards and Forminator
   08. Trust Statistics
   09. Shared Cards
   10. Homeowner Problem Cards
   11. Process Steps
   12. Reviews
   13. Split Content and Feature Panels
   14. FAQs
   15. Final CTA
   16. Interior Page Hero and Proof Panel
   17. Contract Review Components
   18. Payment Problems Components
   19. Global Footer
   20. Protection and Guarantee Features
   21. Thank-You Page
   22. Core Responsive Rules
   23. About Page Statistics
   24. Contact Page Options
   25. FAQ Category Cards
   26. Colorado Solar Resources
   27. Resources Hub and Blog Feed
   28. Global Blog Post Template
   29. Blog Post Quick-Help Strip
   30. Blog Category Archive Template
========================================================= */


/* =========================================================
   01. DESIGN TOKENS
========================================================= */

:root {
	--cse-navy: #10263f;
	--cse-navy-dark: #091a2c;
	--cse-rust: #a34822;
	--cse-rust-dark: #823718;
	--cse-gold: #ffc515;
	--cse-gold-dark: #c88700;
	--cse-charcoal: #202a33;
	--cse-slate: #5e6975;
	--cse-cream: #f7f3ec;
	--cse-soft-gray: #edf1f4;
	--cse-border: #d8e0e6;
	--cse-white: #ffffff;
	--cse-shadow-sm: 0 8px 24px rgba(16, 38, 63, 0.10);
	--cse-shadow-lg: 0 18px 50px rgba(16, 38, 63, 0.16);
	--cse-radius-sm: 6px;
	--cse-radius: 10px;
	--cse-radius-lg: 16px;
	--cse-container: 1180px;
}


/* =========================================================
   02. BASE AND TYPOGRAPHY
========================================================= */

.cse-page,
.cse-page *,
.cse-site-footer,
.cse-site-footer *,
.cse-resources-blog,
.cse-resources-blog *,
.cse-post-hero,
.cse-post-hero *,
.cse-post-featured-section,
.cse-post-featured-section *,
.cse-post-quick-help-section,
.cse-post-quick-help-section *,
.cse-post-main-section,
.cse-post-main-section *,
.cse-post-cta-section,
.cse-post-cta-section *,
.cse-post-related-section,
.cse-post-related-section *,
.cse-category-hero,
.cse-category-hero *,
.cse-category-nav-section,
.cse-category-nav-section *,
.cse-category-closing,
.cse-category-closing * {
	box-sizing: border-box;
}

.cse-page {
	background: var(--cse-white);
	color: var(--cse-charcoal);
	font-family: Inter, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	overflow: hidden;
}

.cse-page h1,
.cse-page h2,
.cse-page h3,
.cse-page h4,
.cse-page h5,
.cse-page h6 {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 20px;
	padding: 0;
}

.cse-page h1 {
	font-size: clamp(40px, 4.3vw, 64px);
	letter-spacing: -1.5px;
}

.cse-page h2 {
	font-size: clamp(34px, 3.2vw, 48px);
	letter-spacing: -0.75px;
}

.cse-page h3 {
	font-size: clamp(23px, 2vw, 30px);
}

.cse-page h4 {
	font-size: 21px;
}

.cse-page p {
	margin: 0 0 20px;
	padding: 0;
}

.cse-page a {
	color: var(--cse-rust);
	text-decoration: none;
	transition: color 180ms ease;
}

.cse-page a:hover {
	color: var(--cse-rust-dark);
}

.cse-kicker {
	color: var(--cse-rust);
	display: block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.cse-kicker--gold {
	color: var(--cse-gold);
}

.cse-lead {
	color: var(--cse-charcoal);
	font-size: 20px;
	line-height: 1.65;
}


/* =========================================================
   03. LAYOUT UTILITIES
========================================================= */

.cse-container,
.cse-footer-container {
	margin: 0 auto;
	max-width: var(--cse-container);
	width: calc(100% - 48px);
}

.cse-section {
	padding: 96px 0;
	position: relative;
}

.cse-section--cream {
	background: var(--cse-cream);
}

.cse-section--soft {
	background: var(--cse-soft-gray);
}

.cse-section--navy {
	background: var(--cse-navy);
	color: var(--cse-white);
}

.cse-section--navy h2,
.cse-section--navy h3,
.cse-section--navy p {
	color: var(--cse-white);
}

.cse-section-heading {
	margin: 0 auto 52px;
	max-width: 760px;
	text-align: center;
}

.cse-section-heading p {
	color: var(--cse-slate);
	font-size: 19px;
}


/* =========================================================
   04. BUTTONS AND ACTIONS
========================================================= */

.cse-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.cse-btn {
	align-items: center;
	border: 2px solid transparent;
	border-radius: 5px;
	display: inline-flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.2px;
	line-height: 1.2;
	min-height: 54px;
	padding: 15px 26px;
	text-align: center;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.cse-btn:hover {
	transform: translateY(-2px);
}

.cse-btn--primary {
	background: var(--cse-rust);
	color: var(--cse-white) !important;
}

.cse-btn--primary:hover {
	background: var(--cse-rust-dark);
	color: var(--cse-white) !important;
}

.cse-btn--outline {
	background: transparent;
	border-color: var(--cse-navy);
	color: var(--cse-navy) !important;
}

.cse-btn--outline:hover {
	background: var(--cse-navy);
	color: var(--cse-white) !important;
}

.cse-btn--light {
	background: var(--cse-white);
	color: var(--cse-navy) !important;
}

.cse-btn--light:hover {
	background: var(--cse-cream);
	color: var(--cse-navy) !important;
}


/* =========================================================
   05. CUSTOM LIST RESET
========================================================= */

.cse-page ul.cse-check-list,
.cse-page ul.cse-proof-list,
.cse-page ul.cse-problem-list,
.cse-page ul.cse-review-issue-grid,
.cse-page ul.cse-document-list,
.cse-page ul.cse-payment-evidence-list,
.cse-page ul.cse-comparison-list,
.cse-page .cse-feature-panel ul,
.cse-site-footer ul {
	list-style: none !important;
	padding-left: 0 !important;
}

.cse-page ul.cse-check-list > li,
.cse-page ul.cse-proof-list > li,
.cse-page ul.cse-problem-list > li,
.cse-page ul.cse-review-issue-grid > li,
.cse-page ul.cse-document-list > li,
.cse-page ul.cse-payment-evidence-list > li,
.cse-page ul.cse-comparison-list > li,
.cse-page .cse-feature-panel ul > li,
.cse-site-footer ul > li {
	list-style: none !important;
}

.cse-page ul.cse-check-list > li::marker,
.cse-page ul.cse-proof-list > li::marker,
.cse-page ul.cse-problem-list > li::marker,
.cse-page ul.cse-review-issue-grid > li::marker,
.cse-page ul.cse-document-list > li::marker,
.cse-page ul.cse-payment-evidence-list > li::marker,
.cse-page ul.cse-comparison-list > li::marker,
.cse-page .cse-feature-panel ul > li::marker,
.cse-site-footer ul > li::marker {
	content: "" !important;
	font-size: 0 !important;
}


/* =========================================================
   06. SHARED HERO COMPONENTS
========================================================= */

.cse-hero {
	background:
		radial-gradient(
			circle at 10% 30%,
			rgba(255, 197, 21, 0.12),
			transparent 28%
		),
		linear-gradient(
			135deg,
			#fbf8f2 0%,
			var(--cse-cream) 100%
		);
	padding: 88px 0 96px;
	position: relative;
}

.cse-hero::before,
.cse-page-hero::before {
	background:
		linear-gradient(
			90deg,
			rgba(16, 38, 63, 0.03) 1px,
			transparent 1px
		),
		linear-gradient(
			rgba(16, 38, 63, 0.03) 1px,
			transparent 1px
		);
	background-size: 34px 34px;
	content: "";
	inset: 0;
	opacity: 0.55;
	pointer-events: none;
	position: absolute;
}

.cse-hero__grid {
	align-items: center;
	display: grid;
	gap: 72px;
	grid-template-columns:
		minmax(0, 1.05fr)
		minmax(440px, 0.95fr);
	position: relative;
	z-index: 1;
}

.cse-hero__copy {
	max-width: 650px;
}

.cse-hero__copy h1 {
	margin-bottom: 24px;
}

.cse-home .cse-hero__grid {
	align-items: start;
}

.cse-home .cse-hero__copy {
	padding-top: 44px;
}

.cse-check-list {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.cse-check-list li {
	color: var(--cse-navy);
	font-weight: 600;
	margin: 10px 0;
	padding-left: 31px;
	position: relative;
}

.cse-check-list li::before {
	align-items: center;
	background: rgba(163, 72, 34, 0.12);
	border-radius: 50%;
	color: var(--cse-rust);
	content: "✓";
	display: flex;
	font-size: 13px;
	font-weight: 800;
	height: 22px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 4px;
	width: 22px;
}

.cse-contact-strip {
	align-items: center;
	border-left: 4px solid var(--cse-gold);
	display: flex;
	gap: 15px;
	margin-top: 34px;
	padding: 6px 0 6px 18px;
}

.cse-contact-strip__icon {
	align-items: center;
	background: var(--cse-navy);
	border-radius: 50%;
	color: var(--cse-gold);
	display: flex;
	flex: 0 0 46px;
	font-size: 20px;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.cse-contact-strip p {
	font-size: 15px;
	line-height: 1.45;
	margin: 0;
}

.cse-contact-strip strong {
	color: var(--cse-navy);
	display: block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px;
}


/* =========================================================
   07. FORM CARDS AND FORMINATOR
========================================================= */

.cse-form-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius-lg);
	box-shadow: var(--cse-shadow-lg);
	overflow: hidden;
	padding: 38px;
	position: relative;
}

.cse-form-card::before {
	background: linear-gradient(
		90deg,
		var(--cse-gold),
		#f3a713
	);
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.cse-form-card__head {
	margin-bottom: 24px;
}

.cse-form-card__head h2 {
	font-size: 30px;
	margin-bottom: 10px;
}

.cse-form-card__head p {
	color: var(--cse-slate);
	font-size: 16px;
	line-height: 1.55;
	margin-bottom: 0;
}

.cse-form-note {
	color: var(--cse-slate);
	font-size: 12px;
	line-height: 1.45;
	margin: 15px 0 0 !important;
	text-align: center;
}

.cse-form-card .forminator-ui.forminator-custom-form {
	margin: 0 !important;
}

.cse-form-card .forminator-row {
	margin-bottom: 16px !important;
}

.cse-form-card .forminator-col {
	padding-left: 7px !important;
	padding-right: 7px !important;
}

.cse-form-card .forminator-label {
	color: var(--cse-navy) !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	margin-bottom: 6px !important;
}

.cse-form-card .forminator-required {
	color: var(--cse-rust) !important;
}

.cse-form-card .forminator-input,
.cse-form-card .forminator-textarea,
.cse-form-card .forminator-select,
.cse-form-card .forminator-select2-selection,
.cse-form-card .forminator-radio-label,
.cse-form-card .forminator-checkbox-label {
	font-family: Inter, Arial, sans-serif !important;
}

.cse-form-card .forminator-input,
.cse-form-card .forminator-textarea,
.cse-form-card .forminator-select,
.cse-form-card .forminator-select2-selection {
	background: #f9fbfc !important;
	border: 1px solid #c9d3da !important;
	border-radius: 5px !important;
	color: var(--cse-charcoal) !important;
	font-size: 15px !important;
	min-height: 48px !important;
	padding: 11px 13px !important;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease !important;
}

.cse-form-card .forminator-input:focus,
.cse-form-card .forminator-textarea:focus,
.cse-form-card .forminator-select:focus {
	background: var(--cse-white) !important;
	border-color: var(--cse-rust) !important;
	box-shadow: 0 0 0 3px rgba(163, 72, 34, 0.12) !important;
}

.cse-form-card .forminator-pagination-steps {
	margin-bottom: 25px !important;
}

.cse-form-card .forminator-step-label {
	color: var(--cse-slate) !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
}

.cse-form-card .forminator-step-dot {
	background: #8c969e !important;
}

.cse-form-card .forminator-step.forminator-current .forminator-step-dot,
.cse-form-card .forminator-step.forminator-active .forminator-step-dot {
	background: var(--cse-rust) !important;
}

.cse-form-card .forminator-button-next,
.cse-form-card .forminator-button-submit {
	background: var(--cse-rust) !important;
	border: 0 !important;
	border-radius: 5px !important;
	color: var(--cse-white) !important;
	font-family: Montserrat, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	min-height: 50px !important;
	padding: 13px 22px !important;
	width: 100% !important;
}

.cse-form-card .forminator-button-next:hover,
.cse-form-card .forminator-button-submit:hover {
	background: var(--cse-rust-dark) !important;
	color: var(--cse-white) !important;
}

.cse-form-card .forminator-button-back {
	background: var(--cse-soft-gray) !important;
	border: 0 !important;
	border-radius: 5px !important;
	color: var(--cse-navy) !important;
	font-family: Montserrat, Arial, sans-serif !important;
	font-weight: 700 !important;
	min-height: 50px !important;
	padding: 13px 22px !important;
}

.cse-form-expedite {
	border-top: 1px solid var(--cse-border);
	color: var(--cse-slate);
	font-size: 14px;
	line-height: 1.55;
	margin: 22px 0 0 !important;
	padding-top: 18px;
	text-align: center;
}

.cse-form-expedite strong {
	color: var(--cse-navy);
	display: block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 15px;
	margin-bottom: 4px;
}

.cse-form-expedite a {
	color: var(--cse-rust);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cse-form-expedite a:hover {
	color: var(--cse-rust-dark);
}

.cse-form-section__grid {
	align-items: center;
	display: grid;
	gap: 70px;
	grid-template-columns:
		minmax(0, 0.82fr)
		minmax(430px, 1.18fr);
}

.cse-form-section__copy {
	max-width: 560px;
}

.cse-form-section__copy h2 {
	margin-bottom: 23px;
}

.cse-form-section__copy .cse-contact-strip {
	margin-top: 32px;
}

@media (min-width: 768px) {
	.cse-form-card .forminator-row {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.cse-form-card .forminator-col-6 {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		width: 50% !important;
	}

	.cse-form-card .forminator-col-12 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	.cse-form-card .forminator-col-6,
	.cse-form-card .forminator-col-12 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}


/* =========================================================
   08. TRUST STATISTICS
========================================================= */

.cse-stats {
	background: #181818;
	border-bottom: 1px solid #303030;
	border-top: 1px solid #303030;
	padding: 42px 0;
}

.cse-stats__heading {
	color: #9da2a7;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 28px;
	text-align: center;
	text-transform: uppercase;
}

.cse-stats__grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(4, 1fr);
	text-align: center;
}

.cse-stat strong {
	color: var(--cse-gold);
	display: block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.1;
	margin-bottom: 7px;
}

.cse-stat span {
	color: #a9adb1;
	font-size: 15px;
}


/* =========================================================
   09. SHARED CARDS
========================================================= */

.cse-card-grid {
	align-items: stretch;
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
}

.cse-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	box-shadow: var(--cse-shadow-sm);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.cse-card:hover {
	border-color: rgba(163, 72, 34, 0.55);
	box-shadow: 0 14px 34px rgba(16, 38, 63, 0.13);
	transform: translateY(-4px);
}

.cse-card__icon {
	align-items: center;
	background: rgba(163, 72, 34, 0.11);
	border-radius: 50%;
	color: var(--cse-rust);
	display: flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	margin-bottom: 20px;
	width: 48px;
}

.cse-card h3 {
	font-size: 22px;
	margin-bottom: 12px;
	min-height: 2.5em;
}

.cse-card p {
	color: var(--cse-slate);
	font-size: 16px;
	margin: 0;
}


/* =========================================================
   10. HOMEOWNER PROBLEM CARDS
========================================================= */

.cse-problem-grid {
	align-items: stretch;
}

.cse-problem-card {
	padding: 28px;
}

.cse-problem-card__header {
	align-items: flex-start;
	display: flex;
	gap: 13px;
	min-height: 62px;
}

.cse-problem-card__icon {
	align-items: center;
	border: 2px solid var(--cse-gold);
	border-radius: 50%;
	color: var(--cse-rust);
	display: inline-flex;
	flex: 0 0 22px;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	height: 22px;
	justify-content: center;
	line-height: 1;
	margin-top: 2px;
	width: 22px;
}

.cse-problem-card h3 {
	font-size: 18px;
	line-height: 1.3;
	margin: 0;
	min-height: 0;
}

.cse-page ul.cse-problem-list {
	margin: 15px 0 0 35px !important;
	padding: 0 !important;
}

.cse-page ul.cse-problem-list > li {
	color: var(--cse-slate);
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 8px !important;
	padding: 0 0 0 15px !important;
	position: relative;
}

.cse-page ul.cse-problem-list > li:last-child {
	margin-bottom: 0 !important;
}

.cse-page ul.cse-problem-list > li::before {
	background: var(--cse-gold-dark);
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	top: 0.72em;
	transform: translateY(-50%);
	width: 5px;
}


/* =========================================================
   11. PROCESS STEPS
========================================================= */

.cse-process {
	counter-reset: cse-step;
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}

.cse-process__item {
	counter-increment: cse-step;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-top: 76px;
	position: relative;
}

.cse-process__item::before {
	align-items: center;
	background: var(--cse-gold);
	border: 8px solid rgba(255, 197, 21, 0.22);
	border-radius: 50%;
	color: var(--cse-navy);
	content: counter(cse-step);
	display: flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 20px;
	font-weight: 800;
	height: 58px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	width: 58px;
}

.cse-process__item h3 {
	font-size: 23px;
	min-height: 2.5em;
}

.cse-process__item p {
	color: var(--cse-slate);
	font-size: 16px;
	margin-top: 0;
}


/* =========================================================
   12. REVIEWS
========================================================= */

.cse-review-grid {
	align-items: stretch;
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
}

.cse-review-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	box-shadow: var(--cse-shadow-sm);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
}

.cse-review-stars {
	color: var(--cse-gold-dark);
	font-size: 19px;
	letter-spacing: 2px;
	margin-bottom: 17px;
}

.cse-review-card blockquote {
	color: var(--cse-charcoal);
	font-size: 17px;
	font-style: normal;
	line-height: 1.7;
	margin: 0 0 24px;
	padding: 0;
}

.cse-review-person {
	margin-top: auto;
}

.cse-review-person strong {
	color: var(--cse-navy);
	display: block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 15px;
}

.cse-review-person span {
	color: var(--cse-slate);
	font-size: 14px;
}


/* =========================================================
   13. SPLIT CONTENT AND FEATURE PANELS
========================================================= */

.cse-split {
	align-items: center;
	display: grid;
	gap: 70px;
	grid-template-columns: 1fr 1fr;
}

.cse-feature-panel {
	background: var(--cse-navy);
	border-radius: var(--cse-radius-lg);
	box-shadow: var(--cse-shadow-lg);
	color: var(--cse-white);
	padding: 44px;
	position: relative;
}

.cse-feature-panel h3 {
	color: var(--cse-white);
}

.cse-feature-panel ul {
	margin: 26px 0 0;
	padding: 0;
}

.cse-feature-panel li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	padding: 13px 0 13px 28px;
	position: relative;
}

.cse-feature-panel li:last-child {
	border-bottom: 0;
}

.cse-feature-panel li::before {
	color: var(--cse-gold);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
}


/* =========================================================
   14. FAQS
========================================================= */

.cse-faq {
	margin: 0 auto;
	max-width: 900px;
}

.cse-faq details {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius-sm);
	margin-bottom: 14px;
	overflow: hidden;
}

.cse-faq summary {
	color: var(--cse-navy);
	cursor: pointer;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	list-style: none;
	padding: 22px 58px 22px 24px;
	position: relative;
}

.cse-faq summary::-webkit-details-marker {
	display: none;
}

.cse-faq summary::after {
	color: var(--cse-rust);
	content: "+";
	font-size: 27px;
	position: absolute;
	right: 24px;
	top: 15px;
}

.cse-faq details[open] summary::after {
	content: "−";
}

.cse-faq__answer {
	border-top: 1px solid var(--cse-border);
	color: var(--cse-slate);
	font-size: 16px;
	padding: 20px 24px 24px;
}


/* =========================================================
   15. FINAL CTA
========================================================= */

.cse-final-cta {
	background:
		linear-gradient(
			rgba(16, 38, 63, 0.96),
			rgba(16, 38, 63, 0.96)
		),
		radial-gradient(
			circle at top right,
			var(--cse-rust),
			transparent 45%
		);
	color: var(--cse-white);
	padding: 78px 0;
	text-align: center;
}

.cse-final-cta h2 {
	color: var(--cse-white);
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}

.cse-final-cta p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 19px;
	margin-left: auto;
	margin-right: auto;
	max-width: 680px;
}


/* =========================================================
   16. INTERIOR PAGE HERO AND PROOF PANEL
========================================================= */

.cse-page-hero {
	background:
		radial-gradient(
			circle at 8% 25%,
			rgba(255, 197, 21, 0.13),
			transparent 30%
		),
		linear-gradient(
			135deg,
			#fbf8f2 0%,
			var(--cse-cream) 100%
		);
	padding: 92px 0 98px;
	position: relative;
}

.cse-page-hero__grid {
	align-items: center;
	display: grid;
	gap: 72px;
	grid-template-columns:
		minmax(0, 1.05fr)
		minmax(360px, 0.78fr);
	position: relative;
	z-index: 1;
}

.cse-page-hero__copy {
	max-width: 690px;
}

.cse-page-hero__copy h1 {
	margin-bottom: 25px;
}

.cse-page-hero__copy .cse-lead {
	margin-bottom: 0;
}

.cse-proof-panel {
	background: var(--cse-navy);
	border-radius: var(--cse-radius-lg);
	box-shadow: var(--cse-shadow-lg);
	color: var(--cse-white);
	overflow: hidden;
	padding: 40px;
	position: relative;
}

.cse-proof-panel::before {
	background: linear-gradient(
		90deg,
		var(--cse-gold),
		#f2a915
	);
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.cse-proof-panel h2 {
	color: var(--cse-white);
	font-size: clamp(28px, 2.5vw, 38px);
	margin-bottom: 18px;
}

.cse-proof-panel p {
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
}

.cse-proof-list {
	margin: 26px 0 30px;
	padding: 0;
}

.cse-proof-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	font-weight: 600;
	padding: 13px 0 13px 30px;
	position: relative;
}

.cse-proof-list li:last-child {
	border-bottom: 0;
}

.cse-proof-list li::before {
	color: var(--cse-gold);
	content: "✓";
	font-size: 16px;
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 13px;
}


/* =========================================================
   17. CONTRACT REVIEW COMPONENTS
========================================================= */

.cse-contract-grid {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, 1fr);
}

.cse-contract-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	box-shadow: var(--cse-shadow-sm);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.cse-contract-card:hover {
	border-color: rgba(163, 72, 34, 0.55);
	box-shadow: 0 14px 34px rgba(16, 38, 63, 0.13);
	transform: translateY(-4px);
}

.cse-contract-card__label {
	color: var(--cse-rust);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.45;
	margin-bottom: 14px;
	min-height: 2.9em;
	text-transform: uppercase;
}

.cse-contract-card h3 {
	font-size: 21px;
	line-height: 1.25;
	margin-bottom: 13px;
	min-height: 2.5em;
}

.cse-contract-card p {
	color: var(--cse-slate);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.cse-review-issue-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, 1fr);
	margin: 30px 0 0;
	padding: 0;
}

.cse-review-issue-grid li {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 6px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	font-weight: 600;
	padding: 15px 16px 15px 42px;
	position: relative;
}

.cse-review-issue-grid li::before {
	color: var(--cse-gold);
	content: "✓";
	font-size: 16px;
	font-weight: 800;
	left: 17px;
	position: absolute;
	top: 14px;
}

.cse-document-grid {
	align-items: stretch;
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(2, 1fr);
}

.cse-document-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	box-shadow: var(--cse-shadow-sm);
	height: 100%;
	padding: 32px;
}

.cse-document-card h3 {
	font-size: 23px;
	margin-bottom: 19px;
	min-height: 2.5em;
}

.cse-page ul.cse-document-list,
.cse-page ul.cse-payment-evidence-list {
	margin: 0 !important;
	padding: 0 !important;
}

.cse-page ul.cse-document-list > li,
.cse-page ul.cse-payment-evidence-list > li {
	border-bottom: 1px solid var(--cse-border);
	color: var(--cse-charcoal);
	font-size: 16px;
	margin: 0 !important;
	padding: 11px 0 11px 30px !important;
	position: relative;
}

.cse-page ul.cse-document-list > li:last-child,
.cse-page ul.cse-payment-evidence-list > li:last-child {
	border-bottom: 0;
}

.cse-page ul.cse-document-list > li::before,
.cse-page ul.cse-payment-evidence-list > li::before {
	color: var(--cse-rust);
	content: "✓";
	font-size: 16px;
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 11px;
}


/* =========================================================
   18. PAYMENT PROBLEMS COMPONENTS
========================================================= */

.cse-payment-grid {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, 1fr);
}

.cse-payment-card {
	background: var(--cse-white);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	box-shadow: var(--cse-shadow-sm);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.cse-payment-card:hover {
	border-color: rgba(163, 72, 34, 0.55);
	box-shadow: 0 14px 34px rgba(16, 38, 63, 0.13);
	transform: translateY(-4px);
}

.cse-payment-card__label {
	color: var(--cse-rust);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.45;
	margin-bottom: 14px;
	min-height: 2.9em;
	text-transform: uppercase;
}

.cse-payment-card h3 {
	font-size: 21px;
	line-height: 1.25;
	margin-bottom: 14px;
	min-height: 3.75em;
}

.cse-payment-card p {
	color: var(--cse-slate);
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.cse-cost-grid {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 38px;
}

.cse-cost-card {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--cse-radius);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
}

.cse-cost-card__number {
	align-items: center;
	background: var(--cse-gold);
	border-radius: 50%;
	color: var(--cse-navy);
	display: flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	margin-bottom: 20px;
	width: 44px;
}

.cse-cost-card h3 {
	color: var(--cse-white);
	font-size: 21px;
	line-height: 1.25;
	margin-bottom: 13px;
	min-height: 2.5em;
}

.cse-cost-card p {
	color: rgba(255, 255, 255, 0.75);
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.cse-cost-total {
	background: var(--cse-gold);
	border-radius: var(--cse-radius);
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 800;
	margin-top: 28px;
	padding: 22px 26px;
	text-align: center;
}

.cse-comparison {
	align-items: stretch;
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(2, 1fr);
}

.cse-comparison-card {
	border-radius: var(--cse-radius-lg);
	height: 100%;
	padding: 38px;
}

.cse-comparison-card--promise {
	background: var(--cse-cream);
	border: 1px solid #eadfce;
}

.cse-comparison-card--reality {
	background: var(--cse-navy);
	box-shadow: var(--cse-shadow-lg);
	color: var(--cse-white);
}

.cse-comparison-card h3 {
	font-size: 26px;
	margin-bottom: 22px;
}

.cse-comparison-card--reality h3 {
	color: var(--cse-white);
}

.cse-page ul.cse-comparison-list {
	margin: 0 !important;
	padding: 0 !important;
}

.cse-page ul.cse-comparison-list > li {
	border-bottom: 1px solid rgba(16, 38, 63, 0.12);
	color: var(--cse-charcoal);
	font-size: 16px;
	margin: 0 !important;
	padding: 13px 0 13px 29px !important;
	position: relative;
}

.cse-page ul.cse-comparison-list > li:last-child {
	border-bottom: 0;
}

.cse-page ul.cse-comparison-list > li::before {
	color: var(--cse-rust);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 13px;
}

.cse-page .cse-comparison-card--reality ul.cse-comparison-list > li {
	border-bottom-color: rgba(255, 255, 255, 0.16) !important;
	color: rgba(255, 255, 255, 0.88) !important;
}

.cse-page .cse-comparison-card--reality ul.cse-comparison-list > li::before {
	color: var(--cse-gold) !important;
}


/* =========================================================
   19. GLOBAL FOOTER
========================================================= */

.cse-site-footer {
	background: var(--cse-navy);
	color: var(--cse-white);
	font-family: Inter, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.65;
}

.cse-footer-main {
	padding: 72px 0 48px;
}

.cse-footer-grid {
	align-items: start;
	display: grid;
	gap: 56px;
	grid-template-columns: 1.35fr 0.8fr 0.95fr 1.1fr;
}

.cse-footer-brand {
	max-width: 330px;
}

.cse-footer-logo {
	display: block;
	height: auto;
	margin: 0 0 24px;
	max-width: 270px;
	width: 100%;
}

.cse-footer-brand p {
	color: rgba(255, 255, 255, 0.84);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}

.cse-footer-heading {
	color: var(--cse-gold);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
	padding: 0;
}

.cse-footer-links {
	margin: 0;
	padding: 0;
}

.cse-footer-links li {
	margin: 0 0 9px;
	padding: 0;
}

.cse-footer-links a {
	color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	text-decoration: none;
	transition:
		color 180ms ease,
		transform 180ms ease;
}

.cse-footer-links a:hover {
	color: var(--cse-gold);
	transform: translateX(3px);
}

.cse-footer-cta p {
	color: rgba(255, 255, 255, 0.84);
	margin: 0 0 19px;
}

.cse-footer-phone {
	color: var(--cse-white);
	display: inline-block;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 4px;
	text-decoration: none;
}

.cse-footer-phone:hover {
	color: var(--cse-gold);
}

.cse-footer-hours {
	color: rgba(255, 255, 255, 0.72);
	display: block;
	font-size: 14px;
	margin-bottom: 22px;
}

.cse-footer-button {
	align-items: center;
	background: var(--cse-white);
	border: 2px solid var(--cse-white);
	border-radius: 5px;
	color: var(--cse-navy) !important;
	display: inline-flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 50px;
	padding: 13px 22px;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.cse-footer-button:hover {
	background: var(--cse-gold);
	border-color: var(--cse-gold);
	color: var(--cse-navy) !important;
	transform: translateY(-2px);
}

.cse-footer-disclaimer {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding: 26px 0;
}

.cse-footer-disclaimer__inner {
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.055);
	border-left: 4px solid var(--cse-gold);
	border-radius: 4px;
	display: flex;
	gap: 15px;
	padding: 18px 20px;
}

.cse-footer-disclaimer__icon {
	color: var(--cse-gold);
	flex: 0 0 auto;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.35;
}

.cse-footer-disclaimer p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
}

.cse-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding: 22px 0 26px;
}

.cse-footer-bottom__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.cse-footer-copyright {
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	margin: 0;
}

.cse-footer-legal {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
}

.cse-footer-legal li {
	align-items: center;
	display: flex;
}

.cse-footer-legal li:not(:last-child)::after {
	color: rgba(255, 255, 255, 0.32);
	content: "|";
	margin: 0 9px;
}

.cse-footer-legal a {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	text-decoration: none;
}

.cse-footer-legal a:hover {
	color: var(--cse-gold);
}


/* =========================================================
   20. PROTECTION AND GUARANTEE FEATURES
========================================================= */

.cse-hero-protection {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 25px;
}

.cse-hero-protection__item {
	align-items: center;
	background: rgba(255, 197, 21, 0.12);
	border: 1px solid rgba(200, 135, 0, 0.28);
	border-radius: 999px;
	color: var(--cse-navy);
	display: inline-flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	gap: 8px;
	line-height: 1.35;
	padding: 10px 14px;
}

.cse-hero-protection__item::before {
	align-items: center;
	background: var(--cse-gold);
	border-radius: 50%;
	color: var(--cse-navy);
	content: "✓";
	display: inline-flex;
	flex: 0 0 20px;
	font-size: 12px;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	width: 20px;
}

.cse-protection {
	background:
		radial-gradient(
			circle at 10% 0%,
			rgba(255, 197, 21, 0.13),
			transparent 30%
		),
		var(--cse-navy);
	color: var(--cse-white);
	padding: 82px 0;
}

.cse-protection__heading {
	margin: 0 auto 42px;
	max-width: 780px;
	text-align: center;
}

.cse-protection__heading h2 {
	color: var(--cse-white);
}

.cse-protection__heading p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 18px;
	margin-bottom: 0;
}

.cse-protection__grid {
	align-items: stretch;
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(2, 1fr);
}

.cse-protection-card {
	background: rgba(255, 255, 255, 0.075);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--cse-radius-lg);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 36px;
}

.cse-protection-card__badge {
	align-items: center;
	background: var(--cse-gold);
	border-radius: 999px;
	color: var(--cse-navy);
	display: inline-flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	margin-bottom: 22px;
	min-height: 38px;
	padding: 8px 16px;
	width: max-content;
}

.cse-protection-card h3 {
	color: var(--cse-white);
	font-size: 27px;
	line-height: 1.2;
	margin-bottom: 15px;
	min-height: 2.4em;
}

.cse-protection-card p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.cse-protection__note {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 7px;
	color: rgba(255, 255, 255, 0.74);
	display: block;
	font-size: 13px;
	line-height: 1.55;
	margin: 26px auto 0 !important;
	max-width: 820px;
	padding: 12px 18px;
	text-align: center;
	width: fit-content;
}

.cse-protection__actions {
	justify-content: center;
	margin-top: 32px;
}


/* =========================================================
   21. THANK-YOU PAGE
========================================================= */

.cse-thank-you-hero {
	background:
		radial-gradient(
			circle at 50% 0%,
			rgba(255, 197, 21, 0.15),
			transparent 38%
		),
		var(--cse-cream);
	padding: 95px 0;
	text-align: center;
}

.cse-thank-you-hero__inner {
	margin: 0 auto;
	max-width: 850px;
}

.cse-thank-you-icon {
	align-items: center;
	background: var(--cse-gold);
	border-radius: 50%;
	color: var(--cse-navy);
	display: flex;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 38px;
	font-weight: 800;
	height: 82px;
	justify-content: center;
	margin: 0 auto 26px;
	width: 82px;
}

.cse-thank-you-hero h1 {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}

.cse-thank-you-hero .cse-lead {
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
}

.cse-thank-you-hero .cse-actions {
	justify-content: center;
}

.cse-thank-you-hours,
.cse-thank-you-phone-note {
	font-size: 14px;
	font-weight: 600;
	margin: 18px 0 0;
}

.cse-thank-you-phone-note {
	color: rgba(255, 255, 255, 0.75);
}


/* =========================================================
   22. CORE RESPONSIVE RULES
========================================================= */

@media (max-width: 1100px) {
	.cse-contract-grid,
	.cse-payment-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cse-payment-card h3 {
		min-height: 2.5em;
	}
}

@media (max-width: 980px) {
	.cse-section {
		padding: 76px 0;
	}

	.cse-hero {
		padding: 70px 0 78px;
	}

	.cse-home .cse-hero__copy {
		padding-top: 0;
	}

	.cse-hero__grid,
	.cse-page-hero__grid,
	.cse-form-section__grid,
	.cse-split {
		gap: 52px;
		grid-template-columns: 1fr;
	}

	.cse-hero__copy,
	.cse-page-hero__copy,
	.cse-form-section__copy {
		max-width: 760px;
	}

	.cse-form-card,
	.cse-proof-panel,
	.cse-form-section__grid .cse-form-card {
		margin-left: auto;
		margin-right: auto;
		max-width: 680px;
		width: 100%;
	}

	.cse-card-grid,
	.cse-review-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cse-process {
		grid-template-columns: 1fr;
	}

	.cse-process__item {
		padding-left: 82px;
		padding-top: 0;
	}

	.cse-process__item::before {
		left: 0;
		top: 2px;
	}

	.cse-process__item h3 {
		min-height: 0;
	}

	.cse-cost-grid,
	.cse-comparison {
		grid-template-columns: 1fr;
	}

	.cse-cost-card h3 {
		min-height: 0;
	}

	.cse-footer-main {
		padding: 60px 0 42px;
	}

	.cse-footer-grid {
		gap: 44px 36px;
		grid-template-columns: 1.25fr 0.75fr;
	}

	.cse-footer-brand,
	.cse-footer-cta {
		max-width: 380px;
	}
}

@media (max-width: 767px) {
	.cse-page {
		font-size: 17px;
	}

	.cse-container,
	.cse-footer-container {
		width: calc(100% - 32px);
	}

	.cse-section {
		padding: 58px 0;
	}

	.cse-hero {
		padding: 52px 0 60px;
	}

	.cse-page-hero {
		padding: 54px 0 60px;
	}

	.cse-hero__grid {
		gap: 40px;
	}

	.cse-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cse-btn {
		width: 100%;
	}

	.cse-contact-strip {
		align-items: flex-start;
	}

	.cse-form-card {
		border-radius: 10px;
		padding: 26px 20px;
	}

	.cse-stats__grid {
		gap: 28px 18px;
		grid-template-columns: repeat(2, 1fr);
	}

	.cse-card-grid,
	.cse-review-grid,
	.cse-contract-grid,
	.cse-document-grid,
	.cse-review-issue-grid,
	.cse-payment-grid {
		grid-template-columns: 1fr;
	}

	.cse-card,
	.cse-review-card {
		padding: 25px;
	}

	.cse-card h3,
	.cse-contract-card__label,
	.cse-contract-card h3,
	.cse-document-card h3,
	.cse-payment-card__label,
	.cse-payment-card h3 {
		min-height: 0;
	}

	.cse-problem-card__header {
		min-height: 0;
	}

	.cse-page ul.cse-problem-list {
		margin-left: 35px !important;
	}

	.cse-feature-panel {
		padding: 30px 24px;
	}

	.cse-proof-panel {
		padding: 32px 24px;
	}

	.cse-document-card {
		padding: 26px 22px;
	}

	.cse-comparison-card {
		padding: 30px 24px;
	}

	.cse-final-cta {
		padding: 60px 0;
	}

	.cse-footer-main {
		padding: 50px 0 36px;
	}

	.cse-footer-grid {
		gap: 36px;
		grid-template-columns: 1fr;
	}

	.cse-footer-brand,
	.cse-footer-cta {
		max-width: none;
	}

	.cse-footer-logo {
		max-width: 245px;
	}

	.cse-footer-heading {
		margin-bottom: 14px;
	}

	.cse-footer-disclaimer__inner {
		padding: 17px;
	}

	.cse-footer-bottom__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 13px;
	}

	.cse-footer-legal {
		line-height: 1.8;
	}

	.cse-footer-legal li:not(:last-child)::after {
		margin: 0 7px;
	}

	.cse-hero-protection {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cse-hero-protection__item {
		border-radius: 7px;
		width: 100%;
	}

	.cse-protection {
		padding: 60px 0;
	}

	.cse-protection__grid {
		grid-template-columns: 1fr;
	}

	.cse-protection-card {
		padding: 28px 24px;
	}

	.cse-protection-card h3 {
		min-height: 0;
	}

	.cse-protection__note {
		width: 100%;
	}

	.cse-thank-you-hero {
		padding: 65px 0;
	}

	.cse-thank-you-icon {
		font-size: 30px;
		height: 68px;
		width: 68px;
	}
}


/* =========================================================
   23. ABOUT PAGE STATISTICS
========================================================= */

.cse-about-stats .cse-contract-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 0;
	padding: 26px 28px;
}

.cse-about-stats .cse-contract-card__label {
	margin-bottom: 14px;
	min-height: 0;
}

.cse-about-stats .cse-contract-card h3 {
	color: #142a43 !important;
	font-size: clamp(38px, 4vw, 52px);
	line-height: 1;
	margin: 0 0 14px;
	min-height: 0;
}

.cse-about-stats .cse-contract-card p {
	margin: 0;
}

@media (max-width: 980px) {
	.cse-about-stats .cse-contract-card {
		padding: 24px;
	}
}


/* =========================================================
   24. CONTACT PAGE OPTIONS
========================================================= */

.cse-contact-options .cse-contract-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: none;
	width: 100%;
}

.cse-contact-options .cse-contract-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.cse-contact-options .cse-contract-card p {
	margin-bottom: 18px;
}

.cse-contact-options .cse-contract-card > a {
	margin-top: auto;
}

@media (max-width: 767px) {
	.cse-contact-options .cse-contract-grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   25. FAQ CATEGORY CARDS
========================================================= */

.cse-faq-categories .cse-contract-grid {
	align-items: stretch;
}

.cse-faq-categories .cse-contract-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cse-faq-categories .cse-contract-card__label {
	min-height: 22px;
}

.cse-faq-categories .cse-contract-card h3 {
	min-height: 58px;
}

.cse-faq-categories .cse-contract-card p {
	margin-bottom: 18px;
}

.cse-faq-categories .cse-contract-card > a {
	margin-top: auto;
}

@media (max-width: 767px) {
	.cse-faq-categories .cse-contract-card__label,
	.cse-faq-categories .cse-contract-card h3 {
		min-height: 0;
	}
}


/* =========================================================
   26. COLORADO SOLAR RESOURCES
========================================================= */

.cse-resource-nav .cse-contract-grid,
.cse-resource-directory .cse-contract-grid,
.cse-federal-resources .cse-contract-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cse-resource-nav .cse-contract-card,
.cse-resource-directory .cse-contract-card,
.cse-federal-resources .cse-contract-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cse-resource-nav .cse-contract-card__label,
.cse-resource-directory .cse-contract-card__label,
.cse-federal-resources .cse-contract-card__label {
	min-height: 22px;
}

.cse-resource-nav .cse-contract-card h3,
.cse-resource-directory .cse-contract-card h3,
.cse-federal-resources .cse-contract-card h3 {
	min-height: 58px;
}

.cse-resource-nav .cse-contract-card p,
.cse-resource-directory .cse-contract-card p,
.cse-federal-resources .cse-contract-card p {
	margin-bottom: 18px;
}

.cse-resource-links {
	display: grid;
	gap: 10px;
	margin-top: auto;
}

.cse-resource-links a {
	display: inline-block;
}

@media (max-width: 980px) {
	.cse-resource-nav .cse-contract-grid,
	.cse-resource-directory .cse-contract-grid,
	.cse-federal-resources .cse-contract-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.cse-resource-nav .cse-contract-grid,
	.cse-resource-directory .cse-contract-grid,
	.cse-federal-resources .cse-contract-grid {
		grid-template-columns: 1fr;
	}

	.cse-resource-nav .cse-contract-card__label,
	.cse-resource-directory .cse-contract-card__label,
	.cse-federal-resources .cse-contract-card__label,
	.cse-resource-nav .cse-contract-card h3,
	.cse-resource-directory .cse-contract-card h3,
	.cse-federal-resources .cse-contract-card h3 {
		min-height: 0;
	}
}


/* =========================================================
   27. RESOURCES HUB AND BLOG FEED
   Set both Divi Blog Modules to Layout Style: Block.
========================================================= */

.cse-resources-topics .cse-contract-grid {
	align-items: stretch;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cse-resources-topics .cse-contract-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cse-resources-topics .cse-contract-card__label {
	min-height: 22px;
}

.cse-resources-topics .cse-contract-card h3 {
	min-height: 58px;
}

.cse-resources-topics .cse-contract-card p {
	margin-bottom: 18px;
}

.cse-resources-topics .cse-contract-card > a {
	margin-top: auto;
}

.cse-resources-feed-section {
	background: #f7f5f0;
	padding: 88px 0;
}

.cse-resources-feed-heading {
	margin: 0 auto 42px;
	max-width: 820px;
	text-align: center;
}

.cse-resources-feed-heading h2 {
	margin-bottom: 16px;
}

.cse-resources-feed-heading p {
	margin: 0 auto;
	max-width: 720px;
}


/* Resource Blog Module outer containers */

.cse-resources-blog,
.cse-resources-blog.et_pb_module,
.cse-resources-blog .et_pb_module_inner,
.cse-resources-blog .et_pb_blog_grid,
.cse-resources-blog .et_pb_blog_grid_wrapper,
.cse-resources-blog .et_pb_posts,
.cse-resources-blog .et_pb_ajax_pagination_container {
	box-sizing: border-box !important;
	float: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
}


/* Build the post grid ourselves */

.cse-resources-blog .et_pb_ajax_pagination_container {
	align-items: stretch !important;
	display: grid !important;
	gap: 28px !important;
	grid-auto-flow: row !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	justify-content: stretch !important;
	justify-items: stretch !important;
}


/* Neutralize Divi masonry and column wrappers */

.cse-resources-blog .et_pb_salvattore_content,
.cse-resources-blog .et_pb_salvattore_content .column,
.cse-resources-blog .et_pb_ajax_pagination_container > .column {
	display: contents !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: auto !important;
}


/* Force every post grid item to fill its assigned grid column */

.cse-resources-blog .et_pb_ajax_pagination_container > article,
.cse-resources-blog .et_pb_ajax_pagination_container article.et_pb_post,
.cse-resources-blog .et_pb_salvattore_content article.et_pb_post {
	align-self: stretch !important;
	box-sizing: border-box !important;
	clear: none !important;
	flex: none !important;
	float: none !important;
	grid-column: auto !important;
	justify-self: stretch !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
}


/* Post cards */

.cse-resources-blog article.et_pb_post {
	background: #ffffff !important;
	border: 1px solid rgba(20, 42, 67, 0.12) !important;
	border-radius: 8px !important;
	box-shadow: 0 12px 32px rgba(20, 42, 67, 0.08);
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	overflow: hidden !important;
	padding: 0 26px 28px !important;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.cse-resources-blog article.et_pb_post:hover {
	border-color: rgba(197, 87, 47, 0.34) !important;
	box-shadow: 0 18px 42px rgba(20, 42, 67, 0.13);
	transform: translateY(-3px);
}


/* Featured image container */

.cse-resources-blog .et_pb_image_container {
	display: block !important;
	float: none !important;
	margin: 0 -26px 24px !important;
	max-width: none !important;
	min-width: 0 !important;
	width: auto !important;
}

.cse-resources-blog .et_pb_image_container .entry-featured-image-url {
	margin: 0 !important;
	width: 100% !important;
}

.cse-resources-blog article.et_pb_post > .entry-featured-image-url {
	margin: 0 -26px 24px !important;
	width: auto !important;
}

.cse-resources-blog .entry-featured-image-url {
	aspect-ratio: 16 / 10;
	display: block !important;
	float: none !important;
	overflow: hidden;
}

.cse-resources-blog .entry-featured-image-url img {
	display: block;
	height: 100% !important;
	margin: 0 !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100% !important;
}

.cse-resources-blog article.et_pb_post:hover .entry-featured-image-url img {
	transform: scale(1.025);
}


/* Metadata */

.cse-resources-blog .post-meta {
	color: #65707d !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.07em !important;
	line-height: 1.5 !important;
	margin: 0 0 12px !important;
	text-transform: uppercase !important;
	white-space: normal !important;
}

.cse-resources-blog .post-meta a {
	color: #c5572f !important;
}


/* Titles */

.cse-resources-blog .entry-title {
	display: block !important;
	font-size: clamp(21px, 2vw, 25px) !important;
	line-height: 1.25 !important;
	margin: 0 0 14px !important;
	min-height: 63px;
	overflow-wrap: normal !important;
	white-space: normal !important;
	width: 100% !important;
	word-break: normal !important;
	word-wrap: normal !important;
}

.cse-resources-blog .entry-title a {
	color: #142a43 !important;
	display: block !important;
	hyphens: none !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
	width: 100% !important;
	word-break: normal !important;
	word-wrap: normal !important;
}

.cse-resources-blog .entry-title a:hover {
	color: #c5572f !important;
}


/* Excerpts and Read More */

.cse-resources-blog .post-content {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	width: 100% !important;
}

.cse-resources-blog .post-content-inner {
	color: #4d5965 !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin-bottom: 20px !important;
	min-width: 0 !important;
	width: 100% !important;
}

.cse-resources-blog .post-content-inner p {
	margin-bottom: 0 !important;
}

.cse-resources-blog .more-link {
	align-items: center;
	color: #c5572f !important;
	display: inline-flex !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em !important;
	margin-top: auto !important;
	width: fit-content !important;
}

.cse-resources-blog .more-link::after {
	content: " →";
	margin-left: 5px;
	transition: transform 0.2s ease;
}

.cse-resources-blog .more-link:hover::after {
	transform: translateX(3px);
}


/* Pagination */

.cse-resources-blog .pagination {
	border-top: 1px solid rgba(20, 42, 67, 0.13);
	grid-column: 1 / -1 !important;
	margin-top: 16px !important;
	padding-top: 28px !important;
	width: 100% !important;
}

.cse-resources-blog .pagination a {
	color: #142a43 !important;
	font-weight: 800 !important;
}

.cse-resources-blog .pagination a:hover {
	color: #c5572f !important;
}


/* No-results message */

.cse-resources-blog .et_pb_no_results,
.cse-resources-blog .cse-resources-empty {
	background: #ffffff;
	border: 1px solid rgba(20, 42, 67, 0.12);
	border-radius: 8px;
	grid-column: 1 / -1 !important;
	padding: 38px;
	text-align: center;
	width: 100% !important;
}


@media (max-width: 980px) {
	.cse-resources-topics .cse-contract-grid,
	.cse-resources-blog .et_pb_ajax_pagination_container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.cse-resources-blog .entry-title {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.cse-resources-feed-section {
		padding: 68px 0;
	}

	.cse-resources-topics .cse-contract-grid,
	.cse-resources-blog .et_pb_ajax_pagination_container {
		grid-template-columns: 1fr !important;
	}

	.cse-resources-topics .cse-contract-card__label,
	.cse-resources-topics .cse-contract-card h3 {
		min-height: 0;
	}

	.cse-resources-blog article.et_pb_post {
		padding: 0 22px 24px !important;
	}

	.cse-resources-blog .et_pb_image_container,
	.cse-resources-blog article.et_pb_post > .entry-featured-image-url {
		margin: 0 -22px 22px !important;
	}
}


/* =========================================================
   28. GLOBAL BLOG POST TEMPLATE
========================================================= */

.cse-post-hero {
	background: #142a43;
	padding: 70px 0 112px;
}

.cse-post-hero .cse-post-hero__inner {
	margin: 0 auto;
	max-width: 980px;
	width: 90%;
}

.cse-post-breadcrumbs {
	margin-bottom: 28px;
}

.cse-post-breadcrumbs .rank-math-breadcrumb,
.cse-post-breadcrumbs .rank-math-breadcrumb p {
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.cse-post-breadcrumbs .rank-math-breadcrumb a {
	color: rgba(255, 255, 255, 0.82) !important;
}

.cse-post-breadcrumbs .rank-math-breadcrumb a:hover {
	color: #ffffff !important;
}

.cse-post-title .entry-title {
	color: #ffffff !important;
	font-size: clamp(40px, 5.4vw, 68px);
	line-height: 1.06;
	margin: 0 0 22px;
	max-width: 960px;
}

.cse-post-title .et_pb_title_meta_container {
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.6;
	margin: 0 0 24px;
	text-transform: uppercase;
}

.cse-post-title .et_pb_title_meta_container a {
	color: #e7a27f !important;
}

.cse-post-title .et_pb_title_meta_container a:hover {
	color: #ffffff !important;
}

.cse-post-excerpt {
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
	max-width: 850px;
}

.cse-post-excerpt p {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
}


/* Force title and metadata colors over Divi defaults */

.cse-post-hero .cse-post-title h1,
.cse-post-hero .cse-post-title .entry-title,
.cse-post-hero .cse-post-title .et_pb_title_container h1,
.cse-post-hero .et_pb_post_title h1 {
	color: #ffffff !important;
}

.cse-post-hero .cse-post-title .et_pb_title_meta_container,
.cse-post-hero .cse-post-title .et_pb_title_meta_container span {
	color: rgba(255, 255, 255, 0.68) !important;
}

.cse-post-hero .cse-post-title .et_pb_title_meta_container a {
	color: #e7a27f !important;
}

.cse-post-hero .cse-post-title .et_pb_title_meta_container a:hover {
	color: #ffffff !important;
}


/* Featured image */

.cse-post-featured-section {
	background: #ffffff;
	padding: 0;
}

.cse-post-featured-row {
	margin: -68px auto 0;
	max-width: 1120px;
	position: relative;
	width: 90%;
	z-index: 2;
}

.cse-post-featured {
	border-radius: 9px;
	box-shadow: 0 20px 55px rgba(20, 42, 67, 0.18);
	overflow: hidden;
}

.cse-post-featured img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}


/* Article layout */

.cse-post-main-section {
	background: #ffffff;
	padding: 76px 0 92px;
}

.cse-post-layout {
	display: block !important;
	margin: 0 auto;
	max-width: 900px;
	width: 90%;
}

.cse-post-layout > .et_pb_column {
	margin: 0 !important;
	width: 100% !important;
}


/* Article typography */

.cse-post-content {
	color: #3f4b56;
	font-size: 18px;
	line-height: 1.82;
	width: 100%;
}

.cse-post-content p {
	margin: 0 0 1.45em;
}

.cse-post-content h2 {
	color: #142a43;
	font-size: clamp(30px, 3.3vw, 42px);
	line-height: 1.18;
	margin: 1.7em 0 0.55em;
}

.cse-post-content h3 {
	color: #142a43;
	font-size: clamp(24px, 2.5vw, 31px);
	line-height: 1.25;
	margin: 1.55em 0 0.5em;
}

.cse-post-content h4 {
	color: #142a43;
	font-size: 21px;
	line-height: 1.35;
	margin: 1.4em 0 0.45em;
}

.cse-post-content h2:first-child,
.cse-post-content h3:first-child {
	margin-top: 0;
}

.cse-post-content a {
	color: #b74e2d !important;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.cse-post-content a:hover {
	color: #142a43 !important;
}

.cse-post-content ul,
.cse-post-content ol {
	margin: 0 0 1.6em;
	padding-left: 1.4em;
}

.cse-post-content li {
	margin-bottom: 0.65em;
	padding-left: 0.25em;
}

.cse-post-content strong {
	color: #283846;
}

.cse-post-content blockquote {
	background: #f5f1e9;
	border-left: 5px solid #c5572f;
	color: #283846;
	font-size: 20px;
	line-height: 1.65;
	margin: 2em 0;
	padding: 26px 30px;
}

.cse-post-content blockquote p:last-child {
	margin-bottom: 0;
}

.cse-post-content img {
	border-radius: 7px;
	height: auto;
	margin: 10px 0 28px;
	max-width: 100%;
}

.cse-post-content figure {
	margin: 2em 0;
}

.cse-post-content figcaption {
	color: #6d7780;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 9px;
	text-align: center;
}

.cse-post-content hr {
	border: 0;
	border-top: 1px solid rgba(20, 42, 67, 0.14);
	margin: 44px 0;
}

.cse-post-content table {
	border-collapse: collapse;
	display: block;
	margin: 2em 0;
	max-width: 100%;
	overflow-x: auto;
	width: 100%;
}

.cse-post-content th,
.cse-post-content td {
	border: 1px solid rgba(20, 42, 67, 0.15);
	min-width: 150px;
	padding: 13px 15px;
	text-align: left;
	vertical-align: top;
}

.cse-post-content th {
	background: #142a43;
	color: #ffffff;
}


/* End-of-article CTA */

.cse-post-cta-section {
	background: #f5f1e9;
	padding: 78px 0;
}

.cse-post-end-cta {
	margin: 0 auto;
	max-width: 980px;
	text-align: center;
	width: 90%;
}

.cse-post-end-cta h2 {
	color: #142a43;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.15;
	margin: 10px auto 18px;
	max-width: 820px;
}

.cse-post-end-cta > p {
	margin: 0 auto;
	max-width: 760px;
}


/* Related posts */

.cse-post-related-section {
	background: #ffffff;
	padding: 82px 0;
}

.cse-post-related-inner {
	margin: 0 auto;
	max-width: 1160px;
	width: 90%;
}

.cse-post-related-heading {
	margin: 0 auto 38px;
	max-width: 780px;
	text-align: center;
}

.cse-post-related-heading h2 {
	margin: 8px 0 14px;
}

.cse-related-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cse-related-card {
	background: #ffffff;
	border: 1px solid rgba(20, 42, 67, 0.12);
	border-radius: 8px;
	box-shadow: 0 12px 34px rgba(20, 42, 67, 0.08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.cse-related-card:hover {
	border-color: rgba(197, 87, 47, 0.32);
	box-shadow: 0 18px 42px rgba(20, 42, 67, 0.13);
	transform: translateY(-3px);
}

.cse-related-card__image {
	aspect-ratio: 16 / 10;
	display: block;
	overflow: hidden;
}

.cse-related-card__image img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

.cse-related-card:hover .cse-related-card__image img {
	transform: scale(1.025);
}

.cse-related-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.cse-related-card__category {
	color: #c5572f;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.065em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.cse-related-card h3 {
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 13px;
}

.cse-related-card h3 a {
	color: #142a43 !important;
}

.cse-related-card h3 a:hover {
	color: #c5572f !important;
}

.cse-related-card p {
	color: #56616b;
	font-size: 15px;
	line-height: 1.65;
	margin-bottom: 18px;
}

.cse-related-card__link {
	color: #c5572f !important;
	font-size: 14px;
	font-weight: 800;
	margin-top: auto;
}

.cse-related-card__link::after {
	content: " →";
}


/* Blog post responsive rules */

@media (max-width: 980px) {
	.cse-post-hero {
		padding: 62px 0 100px;
	}

	.cse-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.cse-post-hero {
		padding: 50px 0 86px;
	}

	.cse-post-title .entry-title {
		font-size: 38px;
	}

	.cse-post-featured-row {
		margin-top: -42px;
		width: 92%;
	}

	.cse-post-main-section {
		padding: 62px 0 70px;
	}

	.cse-post-layout {
		width: 92%;
	}

	.cse-post-content {
		font-size: 17px;
		line-height: 1.76;
	}

	.cse-post-content blockquote {
		font-size: 18px;
		padding: 22px;
	}

	.cse-post-cta-section,
	.cse-post-related-section {
		padding: 64px 0;
	}

	.cse-related-grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   29. BLOG POST QUICK-HELP STRIP
========================================================= */

.cse-post-quick-help-section {
	background: #ffffff;
	padding: 52px 0 0;
}

.cse-post-quick-help-section .et_pb_row {
	margin: 0 auto;
	max-width: 1100px;
	width: 90%;
}

.cse-post-quick-help {
	align-items: center;
	background: #142a43;
	border-radius: 8px 8px 0 0;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 28px 32px;
}

.cse-post-quick-help__copy .cse-kicker {
	color: #e7a27f;
}

.cse-post-quick-help__copy p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	line-height: 1.65;
	margin: 7px 0 0;
	max-width: 660px;
}

.cse-post-quick-help__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.cse-post-quick-help__actions .cse-btn {
	white-space: nowrap;
}

.cse-post-resource-links {
	background: #f5f1e9;
	border: 1px solid rgba(20, 42, 67, 0.12);
	border-top: 0;
	border-radius: 0 0 8px 8px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cse-post-resource-links a {
	border-right: 1px solid rgba(20, 42, 67, 0.12);
	color: #142a43 !important;
	font-size: 13px;
	font-weight: 800;
	padding: 15px 18px;
	text-align: center;
}

.cse-post-resource-links a:last-child {
	border-right: 0;
}

.cse-post-resource-links a:hover {
	background: rgba(255, 255, 255, 0.65);
	color: #c5572f !important;
}

@media (max-width: 980px) {
	.cse-post-quick-help {
		grid-template-columns: 1fr;
	}

	.cse-post-resource-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cse-post-resource-links a:nth-child(2) {
		border-right: 0;
	}

	.cse-post-resource-links a:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(20, 42, 67, 0.12);
	}
}

@media (max-width: 767px) {
	.cse-post-quick-help-section {
		padding-top: 38px;
	}

	.cse-post-quick-help-section .et_pb_row {
		width: 92%;
	}

	.cse-post-quick-help {
		gap: 24px;
		padding: 25px 22px;
	}

	.cse-post-quick-help__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cse-post-quick-help__actions .cse-btn {
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.cse-post-resource-links {
		grid-template-columns: 1fr;
	}

	.cse-post-resource-links a {
		border-bottom: 1px solid rgba(20, 42, 67, 0.12);
		border-right: 0;
	}

	.cse-post-resource-links a:last-child {
		border-bottom: 0;
	}
}


/* =========================================================
   30. BLOG CATEGORY ARCHIVE TEMPLATE
========================================================= */

.cse-category-hero {
	background: #142a43;
	padding: 76px 0;
}

.cse-category-hero__inner {
	margin: 0 auto;
	max-width: 980px;
	text-align: center;
	width: 90%;
}

.cse-category-hero__inner .cse-kicker {
	color: #e7a27f;
}

.cse-category-title h1,
.cse-category-title .et_pb_module_heading {
	color: #ffffff !important;
	font-size: clamp(42px, 5vw, 64px);
	line-height: 1.08;
	margin: 10px auto 20px;
	max-width: 930px;
}

.cse-category-description {
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(18px, 2vw, 21px);
	line-height: 1.7;
	margin: 0 auto;
	max-width: 820px;
}

.cse-category-description p {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
}

.cse-category-hero__actions {
	margin-top: 30px;
}


/* Category navigation */

.cse-category-nav-section {
	background: #f5f1e9;
	border-bottom: 1px solid rgba(20, 42, 67, 0.1);
	padding: 34px 0;
}

.cse-category-nav-wrap {
	margin: 0 auto;
	max-width: 1160px;
	width: 90%;
}

.cse-category-nav-heading {
	color: #142a43;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin: 0 0 18px;
	text-align: center;
	text-transform: uppercase;
}

.cse-category-nav {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cse-category-nav a {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(20, 42, 67, 0.12);
	border-radius: 6px;
	color: #142a43 !important;
	display: flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1.35;
	min-height: 52px;
	padding: 12px 16px;
	text-align: center;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.cse-category-nav a:hover {
	background: #142a43;
	border-color: #142a43;
	color: #ffffff !important;
	transform: translateY(-2px);
}


/* Category feed */

.cse-category-feed .cse-resources-feed-heading {
	margin-bottom: 40px;
}

.cse-category-blog .et_pb_no_results {
	background: #ffffff;
	border: 1px solid rgba(20, 42, 67, 0.12);
	border-radius: 8px;
	grid-column: 1 / -1;
	padding: 38px;
	text-align: center;
}

.cse-category-blog .et_pb_no_results h2 {
	color: #142a43;
	font-size: 25px;
}


/* Category closing section */

.cse-category-closing {
	background: #f5f1e9;
	padding: 78px 0;
}

.cse-category-closing__inner {
	margin: 0 auto;
	max-width: 900px;
	text-align: center;
	width: 90%;
}

.cse-category-closing__inner h2 {
	color: #142a43;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.15;
	margin: 10px auto 18px;
	max-width: 800px;
}

.cse-category-closing__inner > p {
	margin: 0 auto;
	max-width: 750px;
}

@media (max-width: 980px) {
	.cse-category-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.cse-category-hero {
		padding: 58px 0;
	}

	.cse-category-hero__inner {
		width: 92%;
	}

	.cse-category-title h1,
	.cse-category-title .et_pb_module_heading {
		font-size: 40px;
	}

	.cse-category-nav-wrap {
		width: 92%;
	}

	.cse-category-nav {
		grid-template-columns: 1fr;
	}

	.cse-category-closing {
		padding: 64px 0;
	}
}

/* =========================================================
   LEGAL AND POLICY PAGES
========================================================= */

.cse-legal-page {
	background: var(--cse-white);
	color: var(--cse-charcoal);
	font-family: Inter, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.75;
}

.cse-legal-page,
.cse-legal-page * {
	box-sizing: border-box;
}

.cse-legal-hero {
	background:
		radial-gradient(
			circle at 12% 15%,
			rgba(255, 197, 21, 0.13),
			transparent 30%
		),
		linear-gradient(
			135deg,
			#fbf8f2 0%,
			var(--cse-cream) 100%
		);
	padding: 82px 0 76px;
	position: relative;
}

.cse-legal-hero::before {
	background:
		linear-gradient(
			90deg,
			rgba(16, 38, 63, 0.03) 1px,
			transparent 1px
		),
		linear-gradient(
			rgba(16, 38, 63, 0.03) 1px,
			transparent 1px
		);
	background-size: 34px 34px;
	content: "";
	inset: 0;
	opacity: 0.55;
	pointer-events: none;
	position: absolute;
}

.cse-legal-hero__inner {
	margin: 0 auto;
	max-width: 900px;
	position: relative;
	text-align: center;
	width: calc(100% - 48px);
	z-index: 1;
}

.cse-legal-hero h1 {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(42px, 5vw, 64px);
	font-weight: 700;
	letter-spacing: -1.2px;
	line-height: 1.08;
	margin: 0 0 22px;
}

.cse-legal-hero__intro {
	color: var(--cse-slate);
	font-size: 19px;
	line-height: 1.7;
	margin: 0 auto;
	max-width: 760px;
}

.cse-legal-effective {
	color: var(--cse-navy);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.055em;
	margin: 26px 0 0;
	text-transform: uppercase;
}

.cse-legal-content-section {
	background: var(--cse-white);
	padding: 78px 0 92px;
}

.cse-legal-layout {
	align-items: start;
	display: grid;
	gap: 56px;
	grid-template-columns: 260px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1120px;
	width: calc(100% - 48px);
}

.cse-legal-navigation {
	background: var(--cse-cream);
	border: 1px solid var(--cse-border);
	border-radius: var(--cse-radius);
	padding: 24px;
	position: sticky;
	top: 110px;
}

.cse-legal-navigation h2 {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 16px;
}

.cse-legal-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cse-legal-navigation li {
	border-bottom: 1px solid rgba(16, 38, 63, 0.11);
	margin: 0;
	padding: 0;
}

.cse-legal-navigation li:last-child {
	border-bottom: 0;
}

.cse-legal-navigation a {
	color: var(--cse-navy) !important;
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	padding: 10px 0;
	text-decoration: none;
}

.cse-legal-navigation a:hover {
	color: var(--cse-rust) !important;
}

.cse-legal-content {
	max-width: 760px;
	min-width: 0;
}

.cse-legal-introduction {
	background: var(--cse-soft-gray);
	border-left: 5px solid var(--cse-gold-dark);
	border-radius: 5px;
	color: var(--cse-charcoal);
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 42px;
	padding: 24px 26px;
}

.cse-legal-introduction p:last-child {
	margin-bottom: 0;
}

.cse-legal-section {
	border-bottom: 1px solid var(--cse-border);
	margin-bottom: 38px;
	padding-bottom: 38px;
	scroll-margin-top: 120px;
}

.cse-legal-section:last-of-type {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.cse-legal-section h2 {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(25px, 2.7vw, 33px);
	font-weight: 700;
	line-height: 1.22;
	margin: 0 0 18px;
}

.cse-legal-section h3 {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	margin: 28px 0 12px;
}

.cse-legal-section p {
	margin: 0 0 18px;
}

.cse-legal-section p:last-child {
	margin-bottom: 0;
}

.cse-legal-section ul {
	margin: 18px 0;
	padding-left: 22px;
}

.cse-legal-section li {
	margin-bottom: 9px;
	padding-left: 4px;
}

.cse-legal-section strong {
	color: var(--cse-navy);
}

.cse-legal-section a {
	color: var(--cse-rust) !important;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.cse-legal-section a:hover {
	color: var(--cse-navy) !important;
}

.cse-legal-notice {
	background: #fff9e8;
	border: 1px solid rgba(200, 135, 0, 0.28);
	border-radius: 7px;
	margin: 24px 0;
	padding: 20px 22px;
}

.cse-legal-notice p {
	color: #51471f;
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.cse-legal-contact {
	background: var(--cse-navy);
	border-radius: var(--cse-radius-lg);
	color: var(--cse-white);
	margin-top: 48px;
	padding: 36px;
}

.cse-legal-contact .cse-kicker {
	color: var(--cse-gold);
}

.cse-legal-contact h2 {
	color: var(--cse-white);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 29px;
	line-height: 1.2;
	margin: 0 0 14px;
}

.cse-legal-contact p {
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 22px;
}

.cse-legal-contact .cse-actions {
	margin-top: 0;
}

.cse-legal-related {
	background: var(--cse-soft-gray);
	border-top: 1px solid var(--cse-border);
	padding: 46px 0;
}

.cse-legal-related__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	justify-content: center;
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 48px);
}

.cse-legal-related__label {
	color: var(--cse-navy);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
}

.cse-legal-related a {
	color: var(--cse-rust) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cse-legal-related a:hover {
	color: var(--cse-navy) !important;
}

@media (max-width: 980px) {
	.cse-legal-layout {
		grid-template-columns: 1fr;
	}

	.cse-legal-navigation {
		position: static;
	}

	.cse-legal-navigation ul {
		display: grid;
		gap: 0 24px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cse-legal-content {
		max-width: none;
	}
}

@media (max-width: 767px) {
	.cse-legal-hero {
		padding: 58px 0 54px;
	}

	.cse-legal-hero__inner,
	.cse-legal-layout,
	.cse-legal-related__inner {
		width: calc(100% - 32px);
	}

	.cse-legal-hero h1 {
		font-size: 42px;
	}

	.cse-legal-hero__intro {
		font-size: 17px;
	}

	.cse-legal-content-section {
		padding: 58px 0 68px;
	}

	.cse-legal-navigation {
		padding: 21px;
	}

	.cse-legal-navigation ul {
		grid-template-columns: 1fr;
	}

	.cse-legal-introduction {
		padding: 21px;
	}

	.cse-legal-contact {
		padding: 29px 23px;
	}

	.cse-legal-related__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* =========================================================
   GLOBAL CUSTOM LIST BULLET RESET
   Removes Divi's native bullets from custom checklist classes
========================================================= */

ul.cse-check-list,
ul.cse-proof-list,
ul.cse-problem-list,
ul.cse-review-issue-grid,
ul.cse-document-list,
ul.cse-payment-evidence-list,
ul.cse-comparison-list,
.cse-feature-panel ul {
	list-style: none !important;
	list-style-type: none !important;
	padding-left: 0 !important;
}

ul.cse-check-list > li,
ul.cse-proof-list > li,
ul.cse-problem-list > li,
ul.cse-review-issue-grid > li,
ul.cse-document-list > li,
ul.cse-payment-evidence-list > li,
ul.cse-comparison-list > li,
.cse-feature-panel ul > li {
	list-style: none !important;
	list-style-type: none !important;
}

ul.cse-check-list > li::marker,
ul.cse-proof-list > li::marker,
ul.cse-problem-list > li::marker,
ul.cse-review-issue-grid > li::marker,
ul.cse-document-list > li::marker,
ul.cse-payment-evidence-list > li::marker,
ul.cse-comparison-list > li::marker,
.cse-feature-panel ul > li::marker {
	content: "" !important;
	font-size: 0 !important;
}

/* =========================================================
   BLOG ARTICLE TABLE OF CONTENTS
========================================================= */

.cse-article-toc {
	background: #f5f1e9;
	border: 1px solid rgba(20, 42, 67, 0.14);
	border-left: 5px solid #c5572f;
	border-radius: 7px;
	margin: 34px 0 46px;
	padding: 27px 30px;
}

.cse-article-toc h2 {
	color: #142a43;
	font-size: 23px;
	line-height: 1.3;
	margin: 0 0 17px;
}

.cse-post-content .cse-article-toc ol {
	display: grid;
	gap: 9px 32px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding-left: 1.25em;
}

.cse-post-content .cse-article-toc li {
	color: #56616b;
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
	padding-left: 3px;
}

.cse-post-content .cse-article-toc a {
	color: #142a43 !important;
	font-weight: 700;
	text-decoration: none;
}

.cse-post-content .cse-article-toc a:hover {
	color: #b74e2d !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cse-post-content h2[id],
.cse-post-content h3[id] {
	scroll-margin-top: 120px;
}

@media (max-width: 767px) {
	.cse-article-toc {
		margin: 28px 0 38px;
		padding: 23px 21px;
	}

	.cse-post-content .cse-article-toc ol {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   DIVI BLOG GRID REPAIR
   Keep Blog Modules set to Layout Style: Grid
========================================================= */

/*
 * The AJAX container holds Divi's complete grid wrapper.
 * It must not be the three-column grid itself.
 */
.cse-resources-blog .et_pb_ajax_pagination_container {
	display: block !important;
	float: none !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

/*
 * Use Divi's Salvattore wrapper as the actual grid.
 * Keeping the wrapper as a real box prevents the section
 * from collapsing around the posts.
 */
.cse-resources-blog .et_pb_salvattore_content {
	align-items: stretch !important;
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

/*
 * Each Divi column becomes one stable grid column.
 * Do not use display: contents here.
 */
.cse-resources-blog .et_pb_salvattore_content .column,
.cse-resources-blog .et_pb_ajax_pagination_container > .column {
	display: flex !important;
	flex-direction: column !important;
	gap: 28px !important;
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/*
 * Allow the cards to determine their natural height.
 * This prevents the giant empty-card problem.
 */
.cse-resources-blog .et_pb_salvattore_content article.et_pb_post,
.cse-resources-blog .et_pb_ajax_pagination_container article.et_pb_post {
	flex: 0 0 auto !important;
	height: auto !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
}

/*
 * Ensure the module and surrounding Divi containers
 * expand to contain the complete post grid.
 */
.cse-resources-blog,
.cse-resources-blog .et_pb_module_inner,
.cse-resources-blog .et_pb_blog_grid,
.cse-resources-blog .et_pb_blog_grid_wrapper,
.cse-resources-blog .et_pb_posts {
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

/* Tablet */

@media (max-width: 980px) {
	.cse-resources-blog .et_pb_salvattore_content {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Mobile */

@media (max-width: 767px) {
	.cse-resources-blog .et_pb_salvattore_content {
		grid-template-columns: 1fr !important;
	}
}