/* Services uses the existing terrace header and option-card structure. */
body .services-options .terraces-page__option-grid {
	grid-template-columns: repeat(2, minmax(0, calc((100% - 2 * clamp(1.5rem, 2vw, 2.5rem)) / 3)));
	justify-content: center;
}

body .services-options .terraces-page__option-image {
	position: relative;
	isolation: isolate;
}

body .services-detail .terraces-page__hero-media {
	position: relative;
	isolation: isolate;
	background: #e4e3df;
	height: calc(clamp(300px, 47vw, 620px) + 2px);
}

body .services-detail .terraces-page__hero-media::before {
	position: absolute;
	inset: -16px;
	z-index: 0;
	background: var(--service-image) center / cover no-repeat;
	filter: blur(14px);
	opacity: .45;
	content: '';
}

body .services-options .terraces-page__option-image::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--service-image) center 58% / cover no-repeat;
	content: '';
}

body .services-detail .terraces-page__hero-media::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--service-image) center / contain no-repeat;
	content: '';
}

body .services-detail__body {
	max-width: 1000px;
}

body .services-detail__body h2 {
	margin: 0 0 1.6rem;
	font-size: clamp(2.4rem, 3vw, 3.4rem);
}

body .services-detail__body p,
body .services-detail__body li,
body .services-detail__body td {
	font-size: 1.6rem;
	line-height: 1.75;
}

body .services-detail__body p,
body .services-detail__body ul,
body .services-detail__body table {
	max-width: 820px;
}

body .services-detail__body .services-detail__section {
	margin: 0 0 clamp(3.5rem, 5vw, 5rem);
}

body .services-detail__body .services-detail__section:last-child {
	margin-bottom: 0;
}

body .services-detail__body li + li {
	margin-top: .5rem;
}

body .services-detail__body table {
	width: 100%;
	border-collapse: collapse;
}

body .services-detail__body td {
	padding: 1rem 1.5rem 1rem 0;
	border-bottom: 1px solid #d9d7d0;
}

body .services-detail__body td:last-child {
	color: #d85e12;
	font-weight: 700;
}

body .services-detail__body .services-detail__notice {
	max-width: 820px;
	padding: clamp(2rem, 3vw, 3rem);
	border-left: 4px solid #f47721;
	background: #f1f0ec;
}

@media (max-width: 991.98px) {
	body .services-options .terraces-page__option-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	body .services-options .terraces-page__option-grid {
		grid-template-columns: 1fr;
	}
	body .services-detail .terraces-page__hero-media {
		height: 262px;
	}
}
