.ds-services,
.ds-services * {
	box-sizing: border-box;
}

.ds-services {
	background: #f9f7f4;
	color: #1a1a1a;
	font-size: 16px;
	line-height: 1.7;
}

.ds-services h1,
.ds-services h2,
.ds-services h3,
.ds-title,
.ds-card__title,
.ds-card__title a,
.ds-shortcode__title,
.ds-hero__title {
	font-family: "Noto Serif", Georgia, serif !important;
	font-weight: 700 !important;
	letter-spacing: 0;
	text-transform: none;
}

.ds-wrap {
	width: min(980px, calc(100% - 2.5rem));
	margin: 0 auto;
}

.ds-services a:focus-visible {
	outline: 2px solid #3d5c48;
	outline-offset: 3px;
}

.ds-hero {
	position: relative;
	background: #3d5c48;
	color: #fff;
	padding: 4.5rem 0 6rem;
	overflow: hidden;
}

.ds-hero--plain {
	min-height: 180px;
	background:
		radial-gradient(circle at 15% 20%, rgba(160, 186, 171, 0.45), transparent 42%),
		#3d5c48;
}

.ds-hero__img {
	display: block;
	width: 100%;
	height: 420px !important;
	object-fit: cover;
}

.ds-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(26, 26, 26, 0.25), transparent 45%);
}

.ds-hero__kicker {
	margin: 0 0 0.4rem;
}

.ds-hero__kicker a {
	color: rgba(255, 255, 255, 0.86) !important;
	text-decoration: none !important;
	font-weight: 700;
}

.ds-hero__title {
	color: #fff !important;
	font-size: clamp(2.2rem, 5vw, 3.4rem) !important;
	line-height: 1.12 !important;
	margin: 0 0 0.8rem !important;
}

.ds-hero__lead,
.ds-hero__lead p {
	max-width: 640px;
	margin: 0;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 1.15rem !important;
	font-style: italic;
}

.ds-hero__wave {
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 80px;
	line-height: 0;
}

.ds-hero__wave svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ds-services--single .ds-hero {
	padding: 0;
}

.ds-archive {
	position: relative;
	z-index: 1;
	padding-bottom: 4.5rem;
}

.ds-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: -2.1rem;
	margin-bottom: 1.4rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #e5dfd8;
	border-radius: 14px;
}

.ds-filters a {
	display: inline-block;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	color: #3d5c48 !important;
	background: transparent !important;
	text-decoration: none !important;
	font-weight: 700;
}

.ds-filters a.is-active,
.ds-filters a:hover {
	background: #3d5c48 !important;
	color: #fff !important;
}

.ds-list,
.ds-grid {
	display: grid;
	gap: 1.4rem;
}

.ds-list {
	grid-template-columns: 1fr;
}

.ds-grid,
.ds-services--cols-3 .ds-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-services--cols-2 .ds-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-services--cols-1 .ds-grid {
	grid-template-columns: minmax(0, 1fr);
}

.ds-services--shortcode {
	background: transparent;
}

.ds-shortcode__title {
	color: #3d5c48 !important;
	font-size: 2rem !important;
	margin: 0 0 1rem !important;
}

.ds-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid #e5dfd8;
	border-top: 4px solid #3d5c48;
	border-radius: 14px;
	overflow: hidden;
}

.ds-services--archive .ds-card,
.ds-related .ds-card {
	flex-direction: row;
}

.ds-card__media {
	position: relative;
	display: block;
	min-height: 180px;
	background:
		radial-gradient(circle at 15% 20%, rgba(160, 186, 171, 0.45), transparent 42%),
		#3d5c48;
	text-decoration: none !important;
}

.ds-services--archive .ds-card__media,
.ds-related .ds-card__media {
	flex: 0 0 280px;
}

.ds-card__img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 180px;
	object-fit: cover;
}

.ds-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.15rem 1.25rem 1.25rem;
}

.ds-meta,
.ds-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.8rem;
	margin: 0;
	color: #5e675f;
	font-size: 0.92rem;
}

.ds-meta__cat,
.ds-pill {
	color: #3d5c48 !important;
	font-weight: 700;
}

.ds-card__title {
	margin: 0 !important;
	font-size: 1.55rem !important;
	line-height: 1.25 !important;
}

.ds-card__title a {
	color: #1a1a1a !important;
	text-decoration: none !important;
}

.ds-card__title a:hover {
	color: #3d5c48 !important;
}

.ds-card__summary,
.ds-lead {
	margin: 0;
	color: #3a3a3a;
}

.ds-card__more {
	margin: 0.4rem 0 0;
}

.ds-card__more a,
.ds-pill {
	color: #3d5c48 !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ds-card__more a:hover,
.ds-pill:hover {
	text-decoration: underline !important;
}

.ds-sheet {
	position: relative;
	z-index: 1;
	margin-top: -72px;
	padding: 1.5rem 1.5rem 2rem;
	background: #fff;
	border: 1px solid #e5dfd8;
	border-radius: 18px;
}

.ds-back {
	margin: 0 0 1rem;
}

.ds-back__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.85rem;
	border: 1px solid #e5dfd8;
	border-radius: 999px;
	background: #fff !important;
	color: #3d5c48 !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ds-back__link:hover,
.ds-back__link:focus {
	background: #3d5c48 !important;
	color: #fff !important;
}

.ds-title {
	margin: 0.35rem 0 0.5rem !important;
	color: #1a1a1a !important;
	font-size: clamp(2rem, 4vw, 2.8rem) !important;
	line-height: 1.15 !important;
}

.ds-lead {
	margin-top: 0.8rem;
	font-size: 1.15rem;
}

.ds-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
}

.ds-pill {
	display: inline-block;
	padding: 0.15rem 0.65rem;
	border-radius: 999px;
	background: #edf4f0;
}

.ds-prose {
	margin-top: 1.4rem;
	font-size: 1.05rem;
}

.ds-prose p,
.ds-prose ul,
.ds-prose ol {
	margin: 0 0 1rem;
}

.ds-prose a {
	color: #3d5c48 !important;
}

.ds-article__action {
	margin: 1.5rem 0 0;
}

.ds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.2rem;
	border-radius: 8px;
	background: #3d5c48 !important;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ds-btn:hover,
.ds-btn:focus {
	background: #2e4636 !important;
	color: #fff !important;
}

.ds-related {
	margin: 2.5rem 0 3rem;
}

.ds-related h2 {
	margin: 0 0 1rem !important;
	color: #3d5c48 !important;
}

.ds-empty {
	padding: 2rem;
	background: #fff;
	border: 1px solid #e5dfd8;
	border-radius: 14px;
	text-align: center;
}

.ds-services .navigation.pagination {
	margin-top: 1.6rem;
}

.ds-services .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.ds-services .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: #fff;
	color: #3d5c48 !important;
	text-decoration: none !important;
	font-weight: 700;
}

.ds-services .page-numbers.current,
.ds-services .page-numbers:hover {
	background: #3d5c48;
	color: #fff !important;
}

@media (max-width: 860px) {
	.ds-services--archive .ds-card,
	.ds-related .ds-card,
	.ds-services--cols-2 .ds-grid,
	.ds-services--cols-3 .ds-grid {
		flex-direction: column;
		grid-template-columns: 1fr;
	}

	.ds-services--archive .ds-card__media,
	.ds-related .ds-card__media {
		flex-basis: auto;
	}

	.ds-hero__img {
		height: 240px !important;
	}

	.ds-sheet {
		margin-top: -48px;
		padding: 1.15rem 1rem 1.5rem;
	}
}
