.desiole-services-page {
	--services-green: #173426;
	--services-green-dark: #0d1c15;
	--services-orange: #d97d35;
	--services-cream: #f7f5ef;
	--services-sand: #eee9df;
	--services-line: #d8d7d0;
	background: var(--services-cream);
	color: #20231f;
}

.desiole-services-view {
	--header-height: 118px;
}

.desiole-services-view .desiole-site-header.is-sticky .desiole-header-main {
	position: relative !important;
	top: auto !important;
	box-shadow: none;
	animation: none;
}

.desiole-services-view .desiole-floating-actions,
.desiole-services-view #ast-scroll-top {
	display: none !important;
}

.desiole-services-hero {
	display: grid;
	min-height: 610px;
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
	background: var(--services-green);
	color: #fff;
}

.desiole-services-hero__content {
	display: flex;
	max-width: 660px;
	flex-direction: column;
	justify-content: center;
	margin-left: max(34px, calc((100vw - 1140px) / 2));
	padding: 1.8rem 0 1.6rem;
}

.desiole-services-eyebrow {
	margin-bottom: .7rem;
	color: var(--services-orange);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.desiole-services-hero h1 {
	max-width: 620px;
	margin-bottom: 1rem;
	color: #fff;
	font-size: clamp(3.25rem, 4.8vw, 5.2rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.desiole-services-hero__content > p:not(.desiole-services-eyebrow) {
	max-width: 570px;
	margin-bottom: 2rem;
	color: #e1e7e2;
	font-size: 1.08rem;
	line-height: 1.62;
}

.desiole-services-hero__content > .desiole-button {
	align-self: flex-start;
	min-height: 56px;
	min-width: 226px;
	padding-inline: 1.55rem;
}

.desiole-services-hero__media {
	min-width: 0;
	overflow: hidden;
}

.desiole-services-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 74% center;
}

.desiole-services-hero__assurances {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.3rem 0 0;
	padding: 0;
	list-style: none;
}

.desiole-services-hero__assurances li {
	display: grid;
	gap: .6rem;
	align-content: start;
	color: #fff;
	font-size: .72rem;
	font-weight: 720;
	line-height: 1.25;
}

.desiole-services-hero__assurances .desiole-home-icon {
	width: 30px;
	height: 30px;
	filter: brightness(0) saturate(100%) invert(59%) sepia(56%) saturate(857%) hue-rotate(339deg) brightness(93%) contrast(84%);
}

.desiole-services-index {
	border-bottom: 1px solid var(--services-line);
	background: #fff;
}

.desiole-services-index > div {
	display: grid;
	grid-template-columns: 270px 1fr;
	align-items: stretch;
}

.desiole-services-index > div > p {
	align-self: center;
	max-width: 180px;
	margin: 0;
	font-size: .9rem;
	font-weight: 820;
	line-height: 1.2;
	text-transform: uppercase;
}

.desiole-services-index ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 1.75rem 0;
	list-style: none;
}

.desiole-services-index li {
	border-left: 1px solid var(--services-line);
}

.desiole-services-index a {
	display: grid;
	min-height: 112px;
	grid-template-columns: auto 1fr;
	grid-template-rows: 1fr auto;
	gap: .25rem .85rem;
	align-items: start;
	padding: 1rem 1.2rem;
	color: #171b18;
	text-decoration: none;
}

.desiole-services-index a > span {
	color: #9c7049;
	font-weight: 800;
}

.desiole-services-index a > strong {
	font-size: .9rem;
	line-height: 1.25;
}

.desiole-services-index .desiole-home-icon {
	width: 20px;
	height: 20px;
	grid-column: 1 / -1;
	justify-self: center;
	color: var(--services-orange);
	filter: brightness(0) saturate(100%) invert(58%) sepia(61%) saturate(797%) hue-rotate(339deg) brightness(89%) contrast(87%);
	transform: rotate(90deg);
}

.desiole-services-chapters {
	background: var(--services-cream);
}

.desiole-service-chapter {
	display: grid;
	max-width: 1440px;
	min-height: 326px;
	grid-template-columns: 32% 23% 45%;
	margin-inline: auto;
	border-bottom: 1px solid var(--services-line);
	scroll-margin-top: 90px;
}

.desiole-service-chapter:nth-child(even) {
	background: var(--services-sand);
}

.desiole-service-chapter__media {
	min-height: 326px;
	overflow: hidden;
}

.desiole-service-chapter__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.desiole-service-chapter__intro {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2.2rem clamp(1.6rem, 3vw, 3.5rem);
	border-right: 1px solid var(--services-line);
}

.desiole-service-chapter__number {
	margin-bottom: .5rem;
	color: var(--services-orange);
	font-size: clamp(3rem, 4.4vw, 5.1rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
}

.desiole-service-chapter h2 {
	margin-bottom: 1rem;
	color: var(--services-green);
	font-size: clamp(2rem, 2.7vw, 3.05rem);
	line-height: 1.02;
}

.desiole-service-chapter__intro > p:not(.desiole-service-chapter__number) {
	margin-bottom: 1.25rem;
	color: #5f655f;
	font-size: .9rem;
	line-height: 1.55;
}

.desiole-service-chapter__intro > a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	align-self: flex-start;
	color: var(--services-orange);
	font-size: .78rem;
	font-weight: 800;
	text-decoration: none;
}

.desiole-service-chapter__details {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	align-items: stretch;
}

.desiole-service-chapter__details > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2.15rem clamp(1.4rem, 2.7vw, 3rem);
}

.desiole-service-chapter__details > div + div {
	border-left: 1px solid var(--services-line);
}

.desiole-service-chapter__details h3 {
	margin-bottom: 1.8rem;
	color: var(--services-orange);
	font-size: .78rem;
	font-weight: 820;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.desiole-service-chapter__details > div:last-child h3 {
	color: #3f6953;
}

.desiole-service-inputs,
.desiole-service-outputs {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.desiole-service-inputs li,
.desiole-service-outputs li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: .7rem;
	align-items: start;
	font-size: .82rem;
	line-height: 1.35;
}

.desiole-service-inputs .desiole-home-icon {
	width: 20px;
	height: 20px;
	filter: brightness(0) saturate(100%) invert(33%) sepia(9%) saturate(502%) hue-rotate(91deg) brightness(92%) contrast(88%);
}

.desiole-service-outputs .desiole-icon {
	width: 18px;
	height: 18px;
	color: #638873;
}

.desiole-services-workflow {
	background: var(--services-green);
	color: #fff;
	padding-block: 1.55rem 1.75rem;
	text-align: center;
}

.desiole-services-workflow__heading h2 {
	margin-bottom: .35rem;
	color: #fff;
	font-size: 1.65rem;
	text-transform: uppercase;
	letter-spacing: -.015em;
}

.desiole-services-workflow__heading p {
	margin-bottom: 1.6rem;
	color: #d7e0da;
	font-size: .88rem;
}

.desiole-services-workflow ol {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.desiole-services-workflow li {
	position: relative;
	display: grid;
	justify-items: center;
	padding-inline: 2rem;
}

.desiole-services-workflow__arrow {
	position: absolute;
	top: 28px;
	right: -12px;
	display: block;
	width: 24px;
	height: 24px;
}

.desiole-services-workflow__arrow .desiole-home-icon {
	width: 24px;
	height: 24px;
	opacity: .68;
}

.desiole-services-workflow li > span {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin-bottom: 1rem;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 50%;
}

.desiole-services-workflow .desiole-home-icon {
	width: 30px;
	height: 30px;
	filter: brightness(0) invert(1);
}

.desiole-services-workflow strong {
	margin-bottom: .45rem;
	font-size: .9rem;
}

.desiole-services-workflow li p {
	max-width: 180px;
	margin: 0;
	color: #d1dbd4;
	font-size: .72rem;
	line-height: 1.45;
}

.desiole-services-faq {
	background: #fff;
	padding-block: 1.25rem;
}

.desiole-services-faq > div {
	display: grid;
	grid-template-columns: 34% 66%;
	align-items: start;
}

.desiole-services-faq__intro {
	padding: 1rem 3rem 1rem 0;
}

.desiole-services-faq__intro > p {
	margin-bottom: 1rem;
	color: var(--services-orange);
	font-size: .76rem;
	font-weight: 800;
	text-transform: uppercase;
}

.desiole-services-faq__intro h2 {
	margin-bottom: .5rem;
	color: var(--services-green);
	font-size: clamp(2.1rem, 3vw, 3.25rem);
}

.desiole-services-faq__intro span {
	color: #69706b;
	font-size: .9rem;
}

.desiole-services-faq .desiole-faq__item button {
	min-height: 50px;
	padding-block: .55rem;
	font-size: .84rem;
}

.desiole-services-faq .desiole-faq__item button span {
	border: 0;
}

.desiole-services-faq .desiole-faq__item button span .desiole-home-icon {
	width: 20px;
	height: 20px;
	filter: brightness(0) saturate(100%) invert(39%) sepia(7%) saturate(457%) hue-rotate(91deg) brightness(95%) contrast(88%);
	transform: rotate(90deg);
}

.desiole-services-faq .desiole-faq__item button[aria-expanded="true"] span {
	transform: none;
}

.desiole-services-faq .desiole-faq__item button[aria-expanded="true"] span .desiole-home-icon {
	transform: rotate(-90deg);
}

.desiole-services-view .desiole-footer-cta__inner {
	min-height: 136px;
	padding-block: 1.25rem;
}

.desiole-services-faq > .desiole-container,
.desiole-services-view .desiole-footer-cta .desiole-container,
.desiole-services-view .desiole-site-footer .desiole-container {
	width: min(calc(100% - 136px), var(--container-content));
}

.desiole-services-view .desiole-footer-cta h2 {
	font-size: clamp(1.75rem, 2.4vw, 2.3rem);
}

.desiole-services-view .desiole-footer-grid {
	padding-block: 1.5rem;
}

.desiole-services-view .desiole-footer-grid li {
	margin-bottom: .4rem;
	font-size: .76rem;
}

.desiole-services-view .desiole-footer-brand > p {
	margin-block: .9rem;
}

.desiole-services-view .desiole-footer-bottom {
	min-height: 55px;
}

@media (max-width: 1100px) {
	.desiole-services-view {
		--header-height: 72px;
	}

	.desiole-services-hero {
		grid-template-columns: 1fr 1fr;
	}

	.desiole-services-hero__content {
		padding-right: 2rem;
	}

	.desiole-services-hero__assurances {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 2.5rem;
	}

	.desiole-services-index > div {
		grid-template-columns: 190px 1fr;
	}

	.desiole-service-chapter {
		grid-template-columns: 34% 28% 38%;
	}

	.desiole-service-chapter__details {
		grid-template-columns: 1fr;
	}

	.desiole-service-chapter__details > div {
		padding-block: 1.65rem;
	}

	.desiole-service-chapter__details > div + div {
		border-top: 1px solid var(--services-line);
		border-left: 0;
	}

	.desiole-service-chapter__details h3 {
		margin-bottom: 1rem;
	}

	.desiole-service-inputs,
	.desiole-service-outputs {
		gap: .65rem;
	}
}

@media (max-width: 767px) {
	.desiole-services-hero {
		display: flex;
		min-height: auto;
		flex-direction: column-reverse;
	}

	.desiole-services-hero__media {
		height: 360px;
	}

	.desiole-services-hero__content {
		max-width: none;
		margin-left: 0;
		padding: 3.25rem 1rem 3.5rem;
	}

	.desiole-services-faq > .desiole-container,
	.desiole-services-view .desiole-footer-cta .desiole-container,
	.desiole-services-view .desiole-site-footer .desiole-container {
		width: min(calc(100% - 32px), var(--container-content));
	}

	.desiole-services-hero h1 {
		font-size: clamp(2.7rem, 13vw, 4rem);
	}

	.desiole-services-hero__assurances {
		grid-template-columns: repeat(2, 1fr);
	}

	.desiole-services-index {
		overflow-x: auto;
	}

	.desiole-services-index > div {
		display: block;
		width: 760px;
		padding-left: 16px;
	}

	.desiole-services-index > div > p {
		max-width: none;
		padding-top: 1.5rem;
	}

	.desiole-services-index ol {
		padding-block: 1rem 1.5rem;
	}

	.desiole-service-chapter {
		display: block;
	}

	.desiole-service-chapter__media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.desiole-service-chapter__intro {
		padding: 2.5rem 1rem 2rem;
		border-right: 0;
	}

	.desiole-service-chapter__details {
		grid-template-columns: 1fr 1fr;
		padding-inline: 1rem;
	}

	.desiole-service-chapter__details > div {
		padding: 1.75rem 1rem 2.5rem 0;
	}

	.desiole-service-chapter__details > div + div {
		border-top: 0;
		border-left: 1px solid var(--services-line);
		padding-right: 0;
		padding-left: 1rem;
	}

	.desiole-services-workflow {
		text-align: left;
	}

	.desiole-services-workflow ol {
		grid-template-columns: 1fr;
	}

	.desiole-services-workflow li {
		grid-template-columns: 56px 1fr;
		justify-items: start;
		gap: 0 1rem;
		padding: 1rem 0;
		border-top: 1px solid rgba(255, 255, 255, .18);
	}

	.desiole-services-workflow__arrow {
		display: none;
	}

	.desiole-services-workflow li > span {
		width: 52px;
		height: 52px;
		grid-row: 1 / 3;
		margin: 0;
	}

	.desiole-services-workflow strong {
		align-self: end;
	}

	.desiole-services-workflow li p {
		align-self: start;
	}

	.desiole-services-faq {
		padding-block: 3.5rem;
	}

	.desiole-services-faq > div {
		display: block;
	}

	.desiole-services-faq__intro {
		padding: 0 0 2rem;
	}
}

@media (max-width: 480px) {
	.desiole-service-chapter__details {
		grid-template-columns: 1fr;
	}

	.desiole-service-chapter__details > div,
	.desiole-service-chapter__details > div + div {
		border-left: 0;
		padding: 1.5rem 0;
	}

	.desiole-service-chapter__details > div + div {
		border-top: 1px solid var(--services-line);
	}
}
