/* body styles removed - layout provides navbar and structure */



/* container-a */

.container-a {
	display: flex;
	align-items: center;
}

.container-cs-icon-colour {
	flex-shrink: 0;
}

.container-text1 {
	text-align: left;
}
/* end container-a*/




/* container-b */

.container-b {
	display: flex;
	flex-direction: column;
	gap: 16px;
	--min-font-size: 18; --max-font-size: 36; font-size: var(--interpolate);
	line-height: 1.111;
}

.container-b h2 {
	text-align: center;
}

.container-text2 {
	color: #475569;
	--min-font-size: 15; --max-font-size: 16; font-size: var(--interpolate);
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: center;
}
/* end container-b*/




/* overlay */

.overlay {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	background-color: #f1f5f9;
	padding: 10px 12px;
	border-radius: 12px;
	flex-shrink: 0;
}

.overlay-container {
	height: 28px;
	width: 24px;
}
/* end overlay*/




/* item-a */

.item-a {
	display: flex;
	align-items: center;
	gap: 8px;
}

.item-container1 {
	width: 14px; height: 20px;
	flex-shrink: 0;
}

.item-text1 {
	color: #1e293b;
	font-size: 14px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.429;
	letter-spacing: 0px;
	text-align: left;
}
/* end item-a*/


/* main content wrapper: same max-width and padding as homepage .container */
.group2 {
	container: group2 / inline-size;
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-padding-sm);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background-color: #fff;
}

@media (min-width: 768px) {
	.group2 {
		padding-inline: var(--container-padding-md);
	}
}

@media (min-width: 1024px) {
	.group2 {
		padding-inline: var(--container-padding-lg);
	}
}

/* main: same as reporting-page (hero full-bleed; .group2 below is max-width column) */
main#main-content.solutions-page {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
	/* global main#main-content uses flex + large gap; only hero + .group2 here */
	gap: 0;
}

/* hero is first child of main, not inside padded .group2 */
.solutions-page > section.hero-gradient .hero__container {
	padding-inline: var(--container-padding-sm);
}

@media (min-width: 768px) {
	.solutions-page > section.hero-gradient .hero__container {
		padding-inline: var(--container-padding-md);
	}
}

@media (min-width: 1024px) {
	.solutions-page > section.hero-gradient .hero__container {
		padding-inline: var(--container-padding-lg);
	}
}

.group-header {
	container: group-header / inline-size;
	position: relative; z-index: 3;
	backdrop-filter: blur(6px);
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--item-spacing-180-1);
	align-self: center;
	background-color: var(--white-80);
	padding: 0 var(--container-padding-md);
	border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}

.container1 {
	margin: -2px 0 -2px 47px;
}

.container1 .container-cs-icon-colour {
	width: 68px;
}

.container1 .container-text1 {
	margin-left: -6px;
}

.group-nav {
	display: flex;
	align-items: flex-start;
	gap: var(--line-height-32);
}

.group-text-component1 {
	text-align: left;
}

.group-text-component2 {
	text-align: left;
}

.group-text-component3 {
	text-align: left;
}

.group-text-component4 {
	text-align: left;
}

.group-text-component5 {
	text-align: left;
}

.group-container1 {
	display: flex;
	align-items: flex-start;
	gap: var(--item-spacing-12-01);
}

.group-btn-component1 {
	min-height: 36px;
	justify-content: center;
	color: var(--log-cabin);
	text-align: center;
}

.group-btn-component2 {
	min-height: 36px;
	justify-content: center;
	color: var(--gray-nurse);
	text-align: center;
}

.group-section1 {
	container: group-section1 / inline-size;
	margin-top: 128px;
	max-width: 1280px;
	align-items: center;
	gap: 34px;
	align-self: center;
	color: #0f172a;
	--min-font-size: 24; --max-font-size: 60; font-size: var(--interpolate);
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1;
	padding-bottom: 13px;
}

.group-btn-overlay {
	justify-content: center;
	text-transform: uppercase;
	text-align: center;
}

.group-title {
	width: 100%;
	max-width: 640px;
}

.group-text-container1 {
	width: 100%;
	max-width: 640px;
	text-align: center;
}

.group-container2 {
	margin-top: 29px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: var(--font-size-16);
	align-self: stretch;
	padding: 0 var(--container-padding-md);
}



/* btn-component-a */

.btn-component-a {
	width: 246px;
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--item-spacing-xs);
	flex-shrink: 0;
	text-align: unset;
	background-color: #fff;
	padding: 0 10px;
	border: var(--stroke-weight-1) solid #e5e7eb;
	border-radius: 8px;
}

.btn-component-icon1 {
	width: 20px; height: 24px;
	flex-shrink: 0;
}

.btn-component-label1 {
	color: var(--log-cabin);
	text-align: center;
}
/* end btn-component-a*/


.group-btn-component3 {
	min-height: 48px;
	justify-content: center;
	color: var(--gray-nurse);
	text-align: center;
}

.group-section2 {
	container: group-section2 / inline-size;
	position: relative; z-index: 2;
	margin-top: 50px;
	margin-inline: 0;
	display: flex;
	flex-direction: column;
	gap: 48px;
	color: #1e293b;
	font-family: var(--font-display);
	font-weight: 700;
	background-color: var(--color-white-solid);
	padding: 80px 0 0;
}



/* component */

.component {
	margin-top: 41px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	align-self: center;
	color: #475569;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.component:hover {
	color: #3d6652;
}

.component-container {
	width: 24px;
	height: 28px;
	flex-shrink: 0;
}

.component-text {
	text-align: center;
}
/* end component*/


.group-container3 {
	display: flex;
	align-items: stretch;
	gap: 32px;
	font-size: 20px;
	line-height: 1.4;
}



/* card-component */

.card-component {
	position: relative;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	margin-top: 16px;
	width: 100%;
	min-height: 460px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	flex-grow: 1;
	text-align: left;
	background-color: #fff;
	padding: 32px;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.card-component:hover {
	box-shadow: 0 4px 12px rgba(61, 102, 82, 0.15);
	border-color: #3d6652;
	transform: scale(1.02);
	z-index: 1;
}

.card-component-text-heading {
	margin-top: 12px;
}

.card-component-text-container {
	color: #475569;
	font-size: 14px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.429;
	letter-spacing: 0px;
	text-align: left;
	min-height: 0;
	margin: 0;
	margin-top: 20px;
}

.card-component-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.card-component-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border: 2px solid rgba(148, 163, 184, 0.5);
	border-radius: 8px;
	background-color: #fff;
	color: #94a3b8;
	font-size: 16px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.card-component:hover .card-component-btn {
	border-color: #3d6652;
}

.card-component-btn:hover {
	background-color: #3d6652;
	color: #fff;
}
/* end card-component*/


.card-component1 .card-component-list {
	margin: 0;
	margin-top: auto;
}

.card-back {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	flex-grow: 1;
	text-align: left;
	background-color: #fff;
	padding: 32px;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.card-back:hover {
	box-shadow: 0 4px 12px rgba(61, 102, 82, 0.15);
	border-color: #3d6652;
}

.card-back-text-heading {
	margin-right: 2px; margin-top: 12px;
}

.card-back-text-container {
	color: #475569;
	text-align: left;
}

.card-back .card-component-list {
	margin-top: 12px;
}

.card-back-btn-component {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 21px;
	padding: 12px 24px;
	border: 2px solid #3d6652;
	border-radius: 8px;
	background-color: #fff;
	color: #3d6652;
	font-size: 16px;
	font-family: var(--font-family-font-1);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.card-back-btn-component:hover {
	background-color: #3d6652;
	color: #fff;
}

.card-component2 .card-component-list {
	margin: 0;
	margin-top: auto;
}

.card-component-diy .card-component-list {
	margin: 0;
	margin-top: auto;
}

.group-section3 {
	position: relative;
	margin-top: 180px;
	margin-inline: 0;
	display: flex;
	align-items: stretch;
	gap: 48px;
	font-family: var(--font-sans);
	font-weight: 400;
	background-color: #547061;
	padding: 64px var(--container-padding-sm);
	border-radius: 32px;
	overflow: hidden;
}

/* accepted items: two columns (rules | eyebrow + what we accept); grid full width below */
.group-section3.group-section3--accepted-layout {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.accepted-items-stack {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	flex: 1 1 auto;
	min-width: 0;
}

/* left: two-line heading; right: eyebrow + title stacked (spans both heading rows) */
.accepted-items-two-blocks {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: clamp(1.5rem, 4vw, 2.75rem);
	row-gap: 0.5rem;
	align-items: start;
	width: 100%;
}

.accepted-items-right-column {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	align-self: start;
	min-width: 0;
	padding-top: 20px;
}

/* h2 does not generate a box; spans slot into the grid for row alignment */
.accepted-items-h2-grid {
	display: contents;
	margin: 0;
}

.accepted-items-heading__clear,
.accepted-items-heading__surprises {
	display: block;
	margin: 0;
	min-width: 0;
}

.accepted-items-grid-eyebrow {
	margin: 0;
}

.accepted-items-heading__clear {
	grid-column: 1;
	grid-row: 1;
}

.accepted-items-heading__surprises {
	grid-column: 1;
	grid-row: 2;
}

.accepted-items-grid-title {
	margin: 0;
}

.accepted-items-grid-body-left {
	grid-column: 1;
	grid-row: 3;
	margin: 0;
	margin-top: 0.5rem;
}

.accepted-items-grid-body-right {
	grid-column: 2;
	grid-row: 3;
	margin: 0;
	margin-top: 0.5rem;
}

@media screen and (max-width: 767px) {
	.accepted-items-two-blocks {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
		row-gap: unset;
	}

	.accepted-items-h2-grid {
		display: flex;
		flex-direction: column;
		gap: 0.35em;
	}

	.accepted-items-heading__clear,
	.accepted-items-heading__surprises,
	.accepted-items-right-column,
	.accepted-items-grid-eyebrow,
	.accepted-items-grid-title,
	.accepted-items-grid-body-left,
	.accepted-items-grid-body-right {
		grid-column: unset;
		grid-row: unset;
		align-self: stretch;
		margin-top: 0;
	}

	.accepted-items-grid-body-left,
	.accepted-items-grid-body-right {
		margin-top: 0;
	}
}

.group-circle {
	position: absolute; z-index: 1; top: 246px; right: -96px; 
	filter: blur(40px);
	width: calc(100% - 0px); height: 384px;
	max-width: 384px;
	background-color: rgba(242, 194, 129, 0.06);
	border-radius: 50%;
}

.group-container4 {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex-grow: 1;
	text-align: left;
}

.group-subtitle1 {
	color: var(--white);
	font-size: 48px;
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1;
	text-align: left;
}

.group-text-container2 {
	color: var(--white-80);
	font-size: 16px;
	line-height: 1.625;
}

.group-container5 {
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 16px;
	row-gap: 0;
}



/* btn-component-b */

.btn-component-b {
	min-height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	background-color: var(--color-accent);
	padding: 0 24px;
	border-radius: 8px;
	transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-component-b.btn-component2,
.btn-component-b.card-calculator-btn {
	background-color: var(--white, #fff);
	border: 2px solid #3d6652;
}

.btn-component-b.btn-component2:hover,
.btn-component-b.card-calculator-btn:hover {
	background-color: #3d6652;
	border-color: #3d6652;
	filter: none;
}

.btn-component-icon2 {
	width: 24px; height: 28px;
	flex-shrink: 0;
}

/* green text/icon to match card-component-btn (svg fill is #3d6652) */
.btn-component2 .btn-component-icon2,
.card-calculator-btn .btn-component-icon2 {
	filter: none;
}

.btn-component2:hover .btn-component-icon2,
.card-calculator-btn:hover .btn-component-icon2 {
	filter: brightness(0) invert(1);
}

.btn-component-label2 {
	color: #3d6652;
	text-align: center;
	margin: 0;
}

.card-calculator-btn .btn-component-label2 {
	color: #3d6652;
}

.btn-component2 .btn-component-label2,
.group-section3 .btn-component2 .btn-component-label2 {
	color: #3d6652;
}

.btn-component2:hover .btn-component-label2,
.card-calculator-btn:hover .btn-component-label2,
.group-section3 .btn-component2:hover .btn-component-label2 {
	color: var(--color-text-on-dark, #f0f4f1);
}
/* end btn-component-b*/


.group-btn-component4 {
	min-height: 50px;
	margin-top: 14px;
	justify-content: center;
	color: var(--white);
	text-align: center;
}

.group-container6 {
	container: group-container6 / inline-size;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex-grow: 1;
}

/* accepted items: panel title above the grid (replaces duplicate CTAs in left column) */
.accepted-items-panel-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
	margin: 0;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	max-width: 100%;
}

.accepted-items-panel-head__eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(252, 250, 242, 0.62);
	font-family: var(--font-sans);
}

.accepted-items-panel-head__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.625rem);
	font-weight: 800;
	line-height: 1.15;
	color: #fcfaf2;
	font-family: var(--font-display);
	letter-spacing: -0.02em;
}

.accepted-items-panel-head__summary {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
	font-family: var(--font-sans);
	font-weight: 400;
	max-width: 44ch;
}

/* accepted items: 6 columns x 2 rows; rule line separates copy row from grid */
.accepted-items-stack > .accepted-items-grid {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: 24px;
	margin-top: 0;
}

.accepted-items-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	align-content: start;
	align-self: stretch;
	margin-top: 0;
}

.accepted-items-stack .accepted-items-grid .card-over {
	min-height: 96px;
	padding: 10px 8px;
	gap: 10px;
}

.accepted-items-stack .accepted-items-grid .card-over-text {
	font-size: 13px;
	line-height: 1.35;
}

@media screen and (max-width: 1100px) {
	.accepted-items-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: minmax(96px, auto);
	}
}

@media screen and (max-width: 767px) {
	.accepted-items-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: minmax(92px, auto);
		gap: 10px;
	}
}

@media screen and (max-width: 480px) {
	.accepted-items-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: minmax(88px, auto);
	}
}

/* accepted items: grid cards appear in sequence on scroll */

.accepted-items-stack .card-over {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.group-section3.accepted-items--in-view .accepted-items-stack .card-over.card-over--in-view {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.accepted-items-stack .card-over,
	.accepted-items-stack .card-over.card-over--in-view {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* row */

.row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}



/* card-over */

.card-over {
	backdrop-filter: blur(2px);
	width: 100%;
	min-height: 126px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
	background-color: rgba(255, 255, 255, 0.05);
	padding: 0 23px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.card-over:hover {
	background-color: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.2);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.card-over-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
	transform-origin: center center;
}

.card-over:hover .card-over-icon-wrap {
	transform: scale(1.12);
}

.card-over-margin {
	margin-top: 0;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	display: block;
}

.card-over-text {
	align-self: stretch;
	color: var(--white);
	font-size: 16px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: center;
}
/* end card-over*/

/* end row*/


.group-section4 {
	margin-top: 168px;
	margin-inline: 0;
	display: flex;
	align-items: stretch;
	gap: 64px;
	background-color: #fff;
	padding: 0 var(--container-padding-sm) 80px;
}

.group-container7 {
	flex: 1 1 0;
	min-width: 0;
	padding-top: 100px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	font-family: var(--font-sans);
	font-weight: 700;
	text-align: left;
}

.group-text-container3 {
	color: #3d6652;
	font-size: 12px;
	text-transform: uppercase;
	line-height: 1.333;
	letter-spacing: 1.2px;
}

.group-subtitle2 {
	color: #1e293b;
	font-size: 36px;
	font-family: var(--font-display);
	line-height: 1.111;
	text-align: left;
}

.group-text-container4 {
	margin-top: 8px;
	text-align: left;
}

.group-container8 {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: #475569;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}



/* container-c */

.container-c {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.container-btn-overlay {
	justify-content: center;
	flex-shrink: 0;
	padding-left: 4px;
	padding-right: 4px;
	color: #3d6652;
	font-size: 16px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: center;
}

.container-text3 {
	text-align: left;
}

#process-steps .container-text3 {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

#process-steps.is-in-view .container-text3 {
	opacity: 1;
	transform: translateY(0);
}

#process-steps .container-c:nth-child(1) .container-text3 { transition-delay: 0.1s; }
#process-steps .container-c:nth-child(2) .container-text3 { transition-delay: 0.2s; }
#process-steps .container-c:nth-child(3) .container-text3 { transition-delay: 0.3s; }
/* end container-c*/


.card {
	box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
	flex: 1 1 0;
	min-width: 0;
	display: grid;
	align-items: flex-start;
	gap: 32px;
	background-color: var(--white);
	margin-top: 71px;
	margin-left: -26px;
	margin-right: -26px;
	padding: 40px;
	border: 1px solid #f1f5f9;
	border-radius: 24px;
	overflow: hidden;
}

.card-text-heading {
	color: #1e293b;
	font-size: 20px;
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.card-text-description {
	color: var(--color-text-muted-alt);
	font-size: var(--text-base);
	line-height: 1.5;
	margin: 0;
}

.card-calculator-btn {
	align-self: flex-start;
	text-decoration: none;
}

/* financial impact: calculator card matches left column height; cta pins to bottom */
/* side-by-side: margin-top shifts the whole bordered box so its top aligns with .group-subtitle2 */
.group-section4 > .card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-self: stretch;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	padding: 40px;
	min-height: 0;
	flex: 1 1 0;
	box-sizing: border-box;
}

@media (min-width: 1280px) {
	.group-section4 > .card {
		/* drop the whole card so its top edge lines up with "Turn returned PPE into future savings." */
		margin-top: 150px;
	}
}

.group-section4 > .card .card-text-heading {
	flex-shrink: 0;
}

.group-section4 > .card .card-text-description {
	flex: 0 1 auto;
}

.group-section4 > .card .card-calculator-btn {
	margin-top: auto;
	align-self: stretch;
	width: 100%;
	justify-content: center;
	box-sizing: border-box;
}

.card-container1 {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.card-container2 {
	container: card-container2 / inline-size;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 4px;
}

.card-container3 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.card-text-label {
	color: #475569;
	text-align: left;
}

.card-text-container1 {
	color: #3d6652;
	text-align: left;
}

.card-input {
	display: flex;
	flex-direction: column;
	background-color: #e2e8f0;
	border-radius: 8px;
}

.card-container4 {
	margin: -4px 0;
	height: 16px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-shrink: 0;
}

.card-bg {
	container: card-bg / inline-size;
	display: flex;
	flex-direction: column;
	gap: 8px;
	background-color: #f8fafc;
	padding: 24px 23px;
	border: 1px dashed #cbd5e1;
	border-radius: 16px;
}

.card-text-container2 {
	color: #64748b;
	text-align: center;
}

.card-container5 {
	margin: 0 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #3d6652;
	font-size: 48px;
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1;
	padding: 0 13px;
}

.card-subtitle {
	text-align: center;
}

.card-text-container3 {
	color: #94a3b8;
	text-align: center;
}

.card-text-container4 {
	margin-top: 8px;
	color: #94a3b8;
	font-size: 10px;
	font-family: var(--font-sans);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.5;
	letter-spacing: -0.5px;
}

.card-btn-component {
	margin-top: 4px;
	justify-content: center;
	color: var(--white);
	text-align: center;
}

.group-section5 {
	container: group-section5 / inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-width: 0;
	margin-top: 168px;
	max-width: 1280px;
	gap: 64px;
	align-self: center;
	font-weight: 700;
}



/* btn-component-c */

.btn-component-c {
	margin: 0 437px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: unset;
	text-decoration: none;
	background-color: #f1f5f9;
	padding: 14px 24px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	width: auto;
	min-width: 0;
}

.btn-component-icon3 {
	width: 24px; height: 28px;
	flex-shrink: 0;
}

.btn-component-label3 {
	color: #1e293b;
	text-align: center;
	white-space: nowrap;
	margin: 0;
}
/* end btn-component-c*/


.container7 {
	color: #1e293b;
	font-family: var(--font-display);
	font-style: normal;
}

.group-container9 {
	width: 100%;
	max-width: 1024px;
	min-width: 0;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 32px;
	align-self: center;
}

.card-bg-plus-border {
	width: 100%;
	min-height: 423px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex-grow: 1;
	text-align: left;
	background-color: var(--white);
	padding: 40px;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
}

.card-bg-plus-border-text-heading {
	color: #1e293b;
	font-size: 24px;
	font-family: var(--font-display);
	font-style: normal;
	line-height: 1.333;
}

.card-bg-plus-border-text-container {
	color: #64748b;
	text-align: left;
}

.card-bg-plus-border-list {
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}



/* item-b */

.item-b {
	display: flex;
	align-items: flex-start;
	gap: 13px;
}

.item-container2 {
	width: 24px; height: 28px;
	flex-shrink: 0;
}

.item-text2 {
	margin-top: 1px;
	color: #475569;
	font-size: 14px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.429;
	letter-spacing: 0px;
	text-align: left;
}
/* end item-b*/


.item5 .item-text2 {
	margin-top: 2px;
}

.card-bg-plus-border-text {
	margin-top: 14px;
	color: #3d6652;
	font-size: 14px;
	font-family: var(--font-sans);
	font-style: italic;
	line-height: 1.429;
	padding-top: 24px;
	border-top: 1px solid #f1f5f9;
}

.group-bg {
	position: relative;
	width: 100%;
	min-height: 423px;
	flex-grow: 1;
	color: #1e293b;
	font-size: 24px;
	font-family: var(--font-display);
	font-style: normal;
	line-height: 1.333;
	text-align: left;
	background-color: var(--white);
	padding: 40px;
	border: 1px solid #3d6652;
	border-radius: 24px;
	overflow: visible;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.group-bg .group-overlay-plus {
	opacity: 0.12;
}

.group-bg .group-container10 > p:first-of-type {
	color: #1e293b;
}

.group-bg:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 28px rgba(61, 102, 82, 0.12);
}

.group-btn-bg {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-accent);
	color: #3d6652;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.5px;
	padding: 3px 8px;
	border-radius: 6px;
	text-align: center;
	z-index: 2;
}

.group-overlay-plus {
	position: absolute; top: 2px; right: -1px; 
	filter: blur(32px);
	width: 113px; height: 420px;
}

.group-container10 {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.group-text-container5 {
	color: #94a3b8;
	text-align: center;
}

.group-bg .group-text-container5 {
	color: #64748b;
	text-align: left;
}

.group-bg .item-text3 {
	color: #475569;
}

.group-list1 {
	container: group-list1 / inline-size;
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}



/* item-c */

.item-c {
	display: flex;
	align-items: flex-start;
	gap: 13px;
}

.item-container3 {
	width: 24px; height: 28px;
	flex-shrink: 0;
}

.item-text3 {
	margin-top: 1px;
	color: #cbd5e1;
	font-size: 14px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.429;
	letter-spacing: 0px;
	text-align: left;
}
/* end item-c*/


.item11 {
	gap: 12px;
}

/* full-bleed background; section breaks out to viewport edges, centered */
.group-section6 {
	container: group-section6 / inline-size;
	position: relative;
	margin-top: 108px;
	width: 100vw;
	max-width: 100vw;
	left: calc((100% - 100vw) / 2);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	background-color: var(--color-bg-pilot);
	padding: 96px var(--container-padding-sm);
}

.group-section6::before {
	display: none;
}

@media (min-width: 768px) {
	.group-section6 {
		padding-inline: var(--container-padding-md);
	}
}

@media (min-width: 1024px) {
	.group-section6 {
		padding-inline: var(--container-padding-lg);
	}
}

.group-subtitle3 {
	align-self: stretch;
	color: #375948;
	--min-font-size: 21; --max-font-size: 48; font-size: var(--interpolate);
	font-family: var(--font-display);
	font-style: normal;
	font-weight: 800;
	line-height: 1;
	text-align: center;
}

.group-text-container6 {
	width: 100%;
	max-width: 768px;
	text-align: center;
}

.group-section6-quote {
	margin: 0;
	padding: 2rem 2.25rem;
	width: 100%;
	max-width: 720px;
	text-align: center;
	border-left: none;
	background: #fff;
	border: 1px solid rgba(30, 41, 59, 0.08);
	border-radius: 20px;
	box-shadow: 0 12px 40px -12px rgba(15, 23, 42, 0.12);
}
.group-section6-quote-text {
	margin: 0 0 16px;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
	color: var(--color-text);
	font-style: italic;
}
.group-section6-quote-cite {
	display: block;
	font-size: 14px;
	font-weight: 600;
	font-style: normal;
	color: var(--color-text-muted-alt);
}
.group-section6-supporting {
	width: 100%;
	max-width: 960px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem 2rem;
	text-align: left;
}

@media (min-width: 768px) {
	.group-section6-supporting {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem 2.5rem;
		align-items: start;
	}
}

.group-section6-supporting .group-text-container6 {
	max-width: none;
	text-align: left;
	margin: 0;
}

.group-back {
	width: 100%;
	max-width: 960px;
	box-shadow: 0px 8px 10px -6px rgba(0, 0, 0, 0.1),0px 20px 25px -5px rgba(0, 0, 0, 0.1);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	background-color: var(--white);
	padding: 24px 40px 32px 40px;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.group-back:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.12), 0 24px 40px -12px rgba(0, 0, 0, 0.1);
}



/* column: equal-width cards, content centered */

.column {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding: 30px 16px 0;
	text-align: center;
	border-left: 1px solid #f1f5f9;
}

.column:first-child {
	border-left: none;
}

.column-container {
	width: 24px;
	height: 28px;
	flex-shrink: 0;
}

.column-text-heading {
	margin: 0;
	color: #1e293b;
	font-size: 16px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: center;
}

.column-text-container {
	margin: 0;
	color: #64748b;
	font-size: 12px;
	font-family: var(--font-family-font-1);
	font-style: normal;
	font-weight: 400;
	line-height: 1.333;
	letter-spacing: 0px;
	text-align: center;
}
/* end column*/

.group-container11 {
	margin: 32px 32px 0 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	align-self: stretch;
	color: #64748b;
	font-size: 14px;
	font-family: var(--font-sans);
	font-style: italic;
	font-weight: 400;
	line-height: 1.429;
}

.group-btn-component5 {
	justify-content: center;
	text-align: center;
}

.group-text-container7 {
	align-self: stretch;
	text-align: center;
}

.group-footer {
	container: group-footer / inline-size;
	margin-inline: 0;
	display: flex;
	flex-direction: column;
	gap: var(--item-spacing-xl);
	background-color: var(--white);
	padding: 64px 0 26px 0;
	border-top: 1px solid var(--athens-gray);
}

.group-container12 {
	display: flex;
	align-items: flex-start;
	gap: var(--line-height-32);
}

.group-container13 {
	container: group-header / inline-size;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--font-size-16);
	flex-grow: 1;
}

.container9 {
	align-self: stretch;
}

.container9 .container-cs-icon-colour {
	width: 50px;
}

.container9 .container-text1 {
	margin-left: -4px;
}

.group-text-container8 {
	width: 100%;
	max-width: 320px;
	text-align: left;
}

.btn-indigenous-badge {
	margin-top: 8px;
	display: flex;
	align-items: center;
	gap: var(--item-spacing-xs);
	text-align: unset;
	background-color: var(--p-text-green);
	padding: 6px 12px;
	border: var(--stroke-weight-1) solid var(--button-green);
	border-radius: 9999px;
}

.btn-indigenous-badge-icon {
	width: 14px; height: 20px;
	flex-shrink: 0;
}

.btn-indigenous-badge-label {
	color: var(--oxford-blue);
	text-align: left;
}

.group-container14 {
	width: 218px;
	display: flex;
	flex-direction: column;
	gap: var(--font-size-16);
	flex-shrink: 0;
}

.group-text-heading2 {
	color: var(--log-cabin);
	text-align: left;
}

.group-list2 {
	display: flex;
	flex-direction: column;
	gap: var(--font-size-12);
}

.group-text-item1 {
	text-align: left;
}

.group-text-item2 {
	text-align: left;
}

.group-text-item3 {
	text-align: left;
}

.group-text-item4 {
	text-align: left;
}

.group-container15 {
	width: 218px;
	display: flex;
	flex-direction: column;
	gap: var(--font-size-16);
	flex-shrink: 0;
}

.group-text-heading3 {
	color: var(--log-cabin);
	text-align: left;
}

.group-list3 {
	display: flex;
	flex-direction: column;
	gap: var(--font-size-12);
}

.group-text-item5 {
	text-align: left;
}

.group-text-item6 {
	text-align: left;
}

.group-text-component6 {
	text-align: left;
}

.group-item {
	height: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-shrink: 0;
}

.group-container16 {
	width: 218px;
	display: flex;
	flex-direction: column;
	gap: var(--font-size-16);
	flex-shrink: 0;
}

.group-text-heading4 {
	color: var(--log-cabin);
	text-align: left;
}

.group-list4 {
	display: flex;
	flex-direction: column;
	gap: var(--font-size-12);
}

.group-text-item7 {
	text-align: left;
}

.group-text-item8 {
	text-align: left;
}

.group-text-item9 {
	text-align: left;
}

.group-horizontal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--item-spacing-891-81);
	padding-top: 32px;
	padding-right: 1px;
	border-top: var(--stroke-weight-1) solid var(--athens-gray);
}

.group-text-container9 {
	text-align: left;
}

.group-container17 {
	width: 56px; height: 20px;
	gap: var(--font-size-16);
	flex-shrink: 0;
}



/** breakpoints (margin / paddings) **/

@media screen and (max-width: 1280px) {
	/* group2 handles horizontal padding; section overrides for nested elements */
	.group-header {
		padding-inline: var(--container-padding-sm);
	}
	.group-container2 {
		padding-inline: 0;
	}
	.card-component {
		padding-inline: var(--container-padding-sm);
	}
	.card-back {
		padding-inline: var(--container-padding-sm);
	}
	.card-back-text-heading {
		margin-inline: 0;
	}
	.card-back-text-container {
		margin-inline: 0;
	}
	.list {
		margin-inline: 0;
	}
	.item3 {
		margin-inline: 0;
	}
	.card-back-btn-component {
		margin-inline: 0;
	}
	.group-section3 {
		padding-inline: var(--container-padding-lg);
		margin-inline: 0;
	}
	.group-section4 {
		padding-inline: var(--container-padding-lg);
	}
	.card {
		padding-inline: var(--container-padding-sm);
	}
	.card-bg {
		padding-inline: var(--container-padding-sm);
	}
	.card-container5 {
		padding-inline: 0;
	}
	.btn-component-c {
		margin-inline: 0;
	}
	.card-bg-plus-border {
		padding-inline: var(--container-padding-lg);
	}
	.group-bg {
		padding-inline: var(--container-padding-lg);
	}
	.group-back {
		padding-inline: var(--container-padding-lg);
	}
	.vertical-border1 .column-text-container {
		margin-inline: 0;
	}
	.vertical-border2 .column-text-container {
		margin-inline: 0;
	}
	.group-container11 {
		margin-inline: 0;
	}
	.group-footer {
		padding-inline: var(--container-padding-lg);
	}
}

@media screen and (max-width: 576px) {
	/* group2 padding-inline handles outer spacing; section overrides for nested layout */
	.group-section3 {
		padding-inline: var(--container-padding-sm);
		margin-inline: 0;
	}
	.group-section4 {
		padding-inline: var(--container-padding-sm);
	}
	.card-bg-plus-border {
		padding-inline: var(--container-padding-sm);
	}
	.group-bg {
		padding-inline: var(--container-padding-sm);
	}
	.group-back {
		padding-inline: var(--container-padding-sm);
	}
	.group-footer {
		padding-inline: var(--container-padding-sm);
	}
}



/* container queries (flex rows) */

@container group-header (width < 236px) {
	.container-a {
		margin-left: 0;
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}
	.container-a > * {
		margin-left: unset !important;
		text-align: center;
	}
}

@container group2 (width < 1338px) {
	.group-header {
		flex-direction: column;
		align-items: center;
		gap: 14px;
		padding: 8px 12px;
	}
	.group2 > * {
		margin-left: 0; margin-right: 0;
	}
	.group-header > * {
		margin-left: unset !important; margin-top: unset !important;
		text-align: center;
	}
}

@container group-header (width < 436px) {
	.group-nav {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}
	.group-nav > * {
		text-align: center;
	}
}

@container group-header (width < 256px) {
	.group-container1 {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}
	.group-container1 > * {
		text-align: center;
	}
}

@container group-section1 (width < 471px) {
	.group-container2 {
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}
	.group-container2 > * {
		text-align: center;
	}
}

@container group-section2 (width < 1215px) {
	.group-container3 {
		flex-direction: column;
		align-items: center;
		gap: 62px;
	}
	.group-container3 > * {
		margin-top: unset !important;
		text-align: center;
	}
	.group-container3 .overlay1 {
		align-self: center;
	}
	.group-container3 > .card-component1 {
		width: 100%;
	}
	.group-container3 > .card-component1 > * {
		text-align: unset;
	}
	.group-container3 .overlay2 {
		align-self: center;
	}
	.group-container3 > .card-component-diy {
		width: 100%;
	}
	.group-container3 > .card-component-diy > * {
		text-align: unset;
	}
	.group-container3 .overlay {
		align-self: center;
	}
	.group-container3 > .card-component2 {
		width: 100%;
	}
	.group-container3 > .card-component2 > * {
		text-align: unset;
	}
}

@container group2 (width < 1919px) {
	.group-section3 {
		flex-direction: column;
		align-items: stretch;
		gap: 43px;
	}
	.group-section3 > * {
		text-align: center;
	}
	.group-section3 > .group-container4 {
		width: 100%;
	}
	.group-section3 > .group-container6 {
		width: 100%;
	}
	.group-section3.group-section3--accepted-layout > .accepted-items-stack {
		width: 100%;
		text-align: left;
	}
	.group-section3.group-section3--accepted-layout .accepted-items-two-blocks,
	.group-section3.group-section3--accepted-layout .accepted-items-heading {
		text-align: left;
	}
}

@container group-container6 (width < 519px) {
	.row {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}
	.row > .card-over1 {
		width: 100%;
	}
	.row > .card-over1 > * {
		text-align: unset;
	}
	.row > .card-over2 {
		width: 100%;
	}
	.row > .card-over2 > * {
		text-align: unset;
	}
}

@container group2 (width < 1919px) {
	.group-section4 {
		margin-left: 0; margin-right: 0;
		flex-direction: column;
		align-items: center;
		gap: 62px;
	}
	.group-section4 > * {
		text-align: center;
	}
	.group-section4 > .group-container7 {
		width: 100%;
		flex: 0 1 auto;
	}
	.group-section4 > .group-container7 > * {
		text-align: unset;
	}
	.group-section4 .group-subtitle2,
	.group-section4 .group-text-container4 {
		text-align: left;
	}
	.group-section4 > .card {
		width: 100%;
		flex: 0 1 auto;
	}
	.group-section4 > .card > * {
		text-align: unset;
	}
}

@container card-container2 (width < 219px) {
	.card-container3 {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}
	.card-container3 > * {
		text-align: center;
	}
}

@container card-bg (width < 187px) {
	.card-container5 {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}
	.card-container5 > * {
		text-align: center;
	}
}

@container group-section5 (width < 1023px) {
	.group-container9 {
		flex-direction: column;
		align-items: center;
		gap: 60px;
	}
	.group-section5 > * {
		margin-left: 0; margin-right: 0;
	}
	.group-container9 > * {
		text-align: center;
	}
	.group-container9 > .card-bg-plus-border {
		width: 100%;
	}
	.group-container9 > .card-bg-plus-border > * {
		text-align: unset;
	}
	.group-container9 > .group-bg {
		width: 100%;
		align-items: center;
	}
	.group-container9 > .group-bg .group-container10 {
		text-align: left;
		width: 100%;
	}
}

@container group-section6 (width < 895px) {
	.group-back {
		grid-template-columns: 1fr;
		gap: 21px;
		padding: 24px 16px 32px;
	}
	.group-section6 > * {
		margin-left: 0; margin-right: 0;
	}
	.group-back .column {
		border-left: none;
		border-top: 1px solid #f1f5f9;
		padding-top: 24px;
	}
	.group-back .column:first-child {
		border-top: none;
		padding-top: 0;
	}
}

@container group-footer (width < 1215px) {
	.group-container12 {
		flex-direction: column;
		align-items: flex-start;
		gap: 21px;
	}
	.group-container12 > * {
		margin-left: unset !important; margin-right: unset !important;
	}
	.group-container12 > .group-container13 {
		width: 100%;
	}
}

@container group-footer (width < 323px) {
	.group-horizontal {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}
	.group-horizontal > * {
		text-align: center;
	}
}



/* mobile layout overrides */
@media screen and (max-width: 767px) {
	/* group-back cards: stacked on mobile, content centered */
	.group-section6 .group-back {
		grid-template-columns: 1fr;
	}

	.group-section3 .group-container4,
	.group-section3 .group-text-container2,
	.group-section3 .accepted-items-stack {
		text-align: left;
	}

	/* card-over: scroll-triggered animation (animate as each enters viewport) */
	.group-section3 .card-over {
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.4s ease-out, transform 0.4s ease-out;
	}

	.group-section3 .card-over.card-over--in-view {
		opacity: 1;
		transform: translateY(0);
	}

	.group-section3 .row > .card-over:nth-child(1) { transition-delay: 0ms; }
	.group-section3 .row > .card-over:nth-child(2) { transition-delay: 60ms; }
	.group-section3 .row.row-bottom > .card-over:nth-child(1) { transition-delay: 120ms; }
	.group-section3 .row.row-bottom > .card-over:nth-child(2) { transition-delay: 180ms; }

	@media (prefers-reduced-motion: reduce) {
		.group-section3 .card-over,
		.group-section3 .card-over.card-over--in-view {
			opacity: 1;
			transform: none;
			transition: none;
		}
	}

	.card {
		display: grid;
		align-items: center;
		justify-items: center;
	}

	.group-section4 > .card {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		padding-top: 2rem;
	}

	.card .card-text-heading,
	.card .card-text-description {
		text-align: center;
	}

	.card .card-calculator-btn {
		align-self: center;
	}

	.group-section4 > .card .card-text-heading,
	.group-section4 > .card .card-text-description {
		text-align: left;
	}

	.group-section4 > .card .card-calculator-btn {
		margin-top: auto;
		align-self: stretch;
		width: 100%;
	}
}

/* desktop layout override: fixes auto/fluid sizing for proper desktop display.
   the figma converter uses container queries and --interpolate which break
   when opening the HTML directly. at 1280px+ we force row layouts and fixed
   font sizes to match the design. */

@media screen and (min-width: 1280px) {
	/* section padding: horizontal handled by group2; vertical only */
	.group-section2 {
		padding: 80px 0 0;
	}
	.group-footer {
		padding: 64px 0 26px 0;
	}

	/* force row layout for sections that container queries stack too early */
	.group-section3 {
		flex-direction: row !important;
		align-items: stretch;
		margin-top: 180px;
		margin-inline: 0;
		padding: 64px var(--container-padding-lg);
	}
	.group-section3.group-section3--accepted-layout {
		flex-direction: column !important;
		align-items: stretch;
	}
	.group-section3 > * {
		text-align: left;
	}

	.group-section4 {
		flex-direction: row !important;
		align-items: stretch;
		margin-top: 168px;
		margin-inline: 0;
		padding: 0 var(--container-padding-lg) 80px;
	}
	.group-section4 > * {
		text-align: left;
	}

	/* fix btn-component-c: margin 0 437px pushes button off at 1280px */
	.group-section5 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	/* force reporting cards side-by-side on desktop (override container query) */
	.group-section5 .group-container9 {
		flex-direction: row !important;
		align-items: flex-start;
		gap: 32px;
	}
	.group-section5 .group-container9 > .card-bg-plus-border,
	.group-section5 .group-container9 > .group-bg {
		flex: 1 1 0;
		min-width: 0;
		width: auto;
	}
	.btn-component-c {
		margin-inline: 0;
		align-self: center;
	}

	/* fixed font sizes for desktop (replace --interpolate) */
	.container-b {
		font-size: 36px;
	}
	.container-text2 {
		font-size: 16px;
	}
	.group-text-container1 {
		font-size: 18px;
	}
	.group-subtitle3 {
		font-size: 48px;
	}
}

/* 1440px+: group2 padding handles horizontal spacing; no extra section padding */

/* service model comparison table (dropdown) */
.service-model-compare {
	margin-top: 24px;
	margin-bottom: 24px;
	border: 1px solid var(--color-border, #e5e7eb);
	border-radius: 12px;
	overflow: hidden;
}
.service-model-compare__summary {
	padding: 14px 20px;
	font-weight: 600;
	font-size: 15px;
	color: var(--color-text, #111813);
	background: var(--color-surface-alt, #f6f8f6);
	cursor: pointer;
	list-style: none;
}
.service-model-compare__summary::-webkit-details-marker { display: none; }
.service-model-compare__summary::before {
	content: "+ ";
	margin-right: 4px;
}
.service-model-compare[open] .service-model-compare__summary::before {
	content: "− ";
}
.service-model-compare__table-wrap {
	overflow-x: auto;
}
.service-model-compare__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.service-model-compare__table th,
.service-model-compare__table td {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.service-model-compare__table th {
	background: var(--color-surface, #f0f4f1);
	font-weight: 600;
	color: var(--color-text, #111813);
}
.service-model-compare__table tbody tr:last-child td {
	border-bottom: none;
}
