.cs-content {
	text-align: left;
}

/* ── Masthead ───────────────────────────────────────────────── */
.cs-masthead {
	padding: 44px 52px 0;
	border-bottom: 3px solid #f59d19;
	margin-bottom: 0;
}

.cs-kicker {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #f59d19;
	margin-bottom: 10px;
}

.cs-masthead h1 {
	font-size: clamp(28px, 3.5vw, 44px) !important;
	font-weight: 900 !important;
	color: #0f2b55 !important;
	line-height: 1.2 !important;
	margin: 0 0 28px !important;
}

/* ── Article body — must stay display:block so floats work ──── */
.cs-article {
	display: block;
	padding: 36px 52px 48px;
	color: #1e2d40;
	font-size: 16px;
	line-height: 1.85;
}

/* Clearfix */
.cs-article::after {
	content: '';
	display: table;
	clear: both;
}

.cs-article p {
	margin: 0 0 16px;
	color: #2c3d52;
}

/* Section headings */
.cs-article h2 {
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #2d6bb5 !important;
	margin: 32px 0 10px !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid #dde8f8 !important;
}

.cs-article h2:first-of-type {
	margin-top: 0 !important;
}

/* ── Subtitle callout — floats RIGHT ────────────────────────── */
.cs-callout-subtitle {
	float: right;
	width: 38%;
	margin: 0 0 1.8rem 2.2rem;
	background: #0f2b55;
	border-radius: 14px;
	padding: 20px 22px 22px 20px;
	border-left: 5px solid #f59d19;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.20);
	overflow: visible;
	/* Flex row so chevrons and text sit top-aligned side by side */
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.cs-callout-subtitle .cs-chevrons {
	/* Negative margin-left pulls the SVG left AND reduces the flex
		space it occupies, keeping the text visually close.
		SVG is 52px wide (half = 26px). Content starts 25px from the
		outer edge (5px border + 20px padding). Border centre is at 2.5px.
		To centre the SVG on the border: -(25 - 2.5 + 26) = -48.5px ≈ -49px */
	flex-shrink: 0;
	margin-left: -49px;
	line-height: 0;
	margin-top: 2px;
}

.cs-callout-subtitle .cs-subtitle-text {
	font-size: 17px;
	font-weight: 600;
	font-style: italic;
	color: #ffffff;
	line-height: 1.55;
	margin: 0;
}

/* ── Quote callout — floats LEFT ────────────────────────────── */
.cs-callout-quote {
	float: left;
	width: 36%;
	margin: 0 2.2rem 1.8rem 0;
	background: #fffbf0;
	border-radius: 14px;
	padding: 20px 24px 22px;
	border-top: 5px solid #f59d19;
	box-shadow: 0 6px 20px rgba(245, 157, 25, 0.13);
}

/* Intro label above the quote */
.cs-quote-intro {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: #7a5810;
	margin: 0 0 14px;
	line-height: 1.5;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(245, 157, 25, 0.3);
}

/* Decorative opening quote mark on the quote text itself */
.cs-quote-text::before {
	content: '\201C';
	display: block;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 52px;
	line-height: 0.75;
	color: #f59d19;
	opacity: 0.55;
	margin-bottom: 6px;
	font-style: normal;
}

.cs-quote-text {
	font-size: 16px;
	font-style: italic;
	color: #2c3d52;
	line-height: 1.75;
	margin: 0 0 14px;
}

.cs-quote-attribution {
	font-size: 12px;
	font-weight: 700;
	color: #0f2b55;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin: 0;
}

.cs-quote-attribution::before {
	content: '— ';
	color: #f59d19;
}

/* ── Divider between float zone and Impact/Outcome ──────────── */
.cs-section-divider {
	clear: both;
	border: none;
	border-top: 2px solid #eef2f8;
	margin: 2rem 0;
}

/* ── Impact list ─────────────────────────────────────────────── */
.cs-impact-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.1rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px 24px;
}

.cs-impact-list li {
	position: relative;
	padding-left: 20px;
	color: #2c3d52;
	line-height: 1.6;
	font-size: 16px;
}

.cs-impact-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f59d19;
}

/* ── Back button row ─────────────────────────────────────────── */
.cs-back-row {
	padding: 0 52px 48px;
	text-align: center;
}

.cs-back-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 28px;
	background: linear-gradient(180deg, #f59d19 0%, #d68100 100%);
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.20);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cs-back-btn:hover {
	transform: scale(1.04);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}

.cs-back-btn svg {
	transform: rotate(180deg);
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 660px) {
	.cs-masthead {
		padding: 32px 24px 0;
	}

	.cs-article {
		padding: 28px 24px 36px;
	}

	/* Callouts go full-width and stack inline */
	.cs-callout-subtitle,
	.cs-callout-quote {
		float: none;
		width: 100%;
		margin: 0 0 1.6rem 0;
	}

	.cs-callout-quote {
		margin-top: 0.4rem;
	}

	.cs-impact-list {
		grid-template-columns: 1fr;
	}

	.cs-back-row {
		padding: 0 24px 36px;
	}
}