.scope-section {
	background: #f5f8f2;
}

.scope-grid {
	display: flex;
	gap: 13%;
	align-items: start;
}

.scope-grid>div:first-child {
	flex: .8 1 0;
}

.scope-grid>div:last-child {
	flex: 1.1 1 0;
}

.scope-grid>div:first-child>p:not(.eyebrow) {
	max-width: 440px;
	line-height: 1.75;
}

.scope-grid .button {
	margin-top: 22px;
}

.scope-list {
	border-top: 1px solid #cbd9c7;
}

.scope-list>div {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 12px;
	border-bottom: 1px solid #cbd9c7;
	padding: 23px 0;
}

.scope-list span {
	flex: 0 0 42px;
	font: 11px "DM Mono", monospace;
	color: var(--meta-ink);
	padding-top: 4px;
}

.scope-list h3 {
	flex: 0 1 170px;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

.scope-list p {
	flex: 1 1 0;
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.approach-section {
	background: #fff;
}

.steps {
	border-top: 1px solid #cfd8cf;
}

.step {
	display: flex;
	gap: 20px;
	padding: 29px 10px 29px 0;
	border-bottom: 1px solid #cfd8cf;
	align-items: start;
}

.step-number {
	flex: 0 0 95px;
	font: 13px "DM Mono", monospace;
	color: var(--meta-ink);
}

.step h3 {
	font-size: 23px;
	font-weight: 500;
	margin: 0 0 9px;
}

.step>div {
	flex: 1 1 0;
}

.step p {
	max-width: 570px;
	font-size: 14px;
	margin: 0;
}

.step-output {
	flex: 0 0 230px;
	font: 11px "DM Mono", monospace;
	color: #6a776c;
	text-align: right;
	padding-top: 6px;
}

.cta-strip {
	background: var(--green);
	padding: 41px 0;
}

.cta-strip-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.cta-strip p {
	font-size: clamp(18px, 2.1vw, 25px);
	font-weight: 600;
	letter-spacing: -.03em;
	color: #162215;
	margin: 0;
}

.faq-section {
	background: #f4f8f1;
}

.faq-grid {
	display: flex;
	gap: 14%;
}

.faq-grid>div:first-child {
	flex: .6 1 0;
}

.faq-grid>div:last-child {
	flex: 1 1 0;
}

.faq-list {
	border-top: 1px solid #cbd6c8;
}

.faq-list details {
	border-bottom: 1px solid #cbd6c8;
	padding: 20px 0;
}

.faq-list summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: color var(--interaction-duration) ease;
}

.faq-list summary:hover {
	color: var(--green-deep);
}

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

.faq-list summary i {
	font-size: 23px;
	font-weight: 400;
	color: var(--green-deep);
	transition: transform .2s;
}

.faq-list details[open] summary i {
	transform: rotate(45deg);
}

.faq-list details p {
	margin: 14px 40px 0 0;
	font-size: 14px;
	line-height: 1.7;
}

@media(max-width:1050px) {
	.scope-grid,
	.faq-grid {
		gap: 7%;
	}

	.scope-list>div {
		column-gap: 12px;
		row-gap: 5px;
	}

	.scope-list span {
		flex-basis: 34px;
	}

	.scope-list h3 {
		flex: 1 1 calc(100% - 46px);
	}

	.scope-list p {
		flex: 0 0 calc(100% - 46px);
		margin-left: 46px;
	}
}

@media(max-width:760px) {
	.scope-grid,
	.faq-grid {
		flex-direction: column;
		gap: 38px;
	}

	.scope-list>div {
		column-gap: 12px;
		row-gap: 5px;
	}

	.scope-list span {
		flex-basis: 32px;
	}

	.scope-list h3 {
		flex-basis: calc(100% - 44px);
	}

	.scope-list p {
		flex-basis: calc(100% - 44px);
		margin-left: 44px;
	}

	.step {
		flex-wrap: wrap;
	}

	.step-number {
		flex-basis: 45px;
	}

	.step-output {
		flex: 0 0 calc(100% - 65px);
		margin-left: 65px;
		text-align: left;
		padding: 0;
	}
}

@media(max-width:500px) {
	.cta-strip-inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.scope-list>div {
		gap: 5px 12px;
	}

	.scope-list span {
		flex-basis: 28px;
	}

	.scope-list h3 {
		flex-basis: calc(100% - 40px);
	}

	.scope-list p {
		flex-basis: calc(100% - 40px);
		margin-left: 40px;
	}
}

