/**
 * Single Service.
 *
 * @package DrSanhithaPurushotham
 */


/* ==================================================
   ROOT
================================================== */

.single-service-page {
	--ss-navy: #08213e;
	--ss-text: #44536a;
	--ss-muted: #718095;

	--ss-teal: #008f98;
	--ss-teal-dark: #007b84;
	--ss-teal-soft: #eaf5f5;

	--ss-gold: #c9943b;
	--ss-gold-dark: #aa7625;
	--ss-gold-soft: #e5c17f;

	--ss-cream: #fdf8f1;
	--ss-white: #ffffff;

	--ss-heading:
		"Cormorant Garamond",
		Georgia,
		"Times New Roman",
		serif;

	--ss-body:
		"Montserrat",
		Arial,
		Helvetica,
		sans-serif;

	--ss-ease:
		cubic-bezier(0.22, 1, 0.36, 1);

	position: relative;

	width: 100%;

	padding:
		22px
		0
		34px;

	background: #ffffff;

	color:
		var(--ss-text);
}


.single-service-page *,
.single-service-page *::before,
.single-service-page *::after {
	box-sizing: border-box;
}


/* ==================================================
   CONTAINER
================================================== */

.single-service-page__container {
	width:
		min(
			calc(100% - 80px),
			1360px
		);

	margin-inline: auto;
}


/* ==================================================
   HERO
================================================== */

.service-hero {
	position: relative;

	display: grid;

	width: 100%;

	height: 370px;

	grid-template-columns:
		minmax(0, 64%)
		minmax(0, 36%);

	overflow: hidden;

	border:
		1px solid
		rgba(201, 148, 59, 0.09);

	border-radius:
		36px
		36px
		0
		0;

	background:
		linear-gradient(
			105deg,
			#fffdfa 0%,
			#fdf8f1 65%,
			#f5ede4 100%
		);
}


/* ==================================================
   HERO LEFT
================================================== */

.service-hero__content {
	position: relative;

	z-index: 10;

	display: grid;

	min-width: 0;

	padding:
		61px
		26px
		42px
		72px;

	grid-template-columns:
		88px
		minmax(0, 1fr);

	column-gap: 34px;

	align-items: start;
}


/* ==================================================
   HERO ICON
================================================== */

.service-hero__featured {
	position: relative;

	display: flex;

	width: 88px;

	padding-top: 3px;

	justify-content: center;
}


.service-hero__featured-icon {
	display: block;

	width: 72px;

	height: 72px;

	color:
		var(--ss-teal);
}


.service-hero__featured-arc {
	position: absolute;

	top: 79px;

	left: 50%;

	width: 62px;

	height: 24px;

	border-bottom:
		2px solid
		var(--ss-gold);

	border-radius:
		0
		0
		50%
		50%;

	transform:
		translateX(-50%);
}


/* ==================================================
   HERO COPY
================================================== */

.service-hero__copy {
	position: relative;

	z-index: 12;

	min-width: 0;

	padding-right: 34px;
}


/* ==================================================
   HERO TITLE
================================================== */

.service-hero__title {
	width: 100%;

	max-width: 615px;

	margin: 0;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size: 50px !important;

	font-weight: 700;

	line-height: 0.91;

	letter-spacing: -1.5px;

	text-wrap: balance;
}


/* ==================================================
   HERO DIVIDER
================================================== */

.service-hero__divider {
	display: flex;

	width:
		min(
			100%,
			535px
		);

	margin:
		27px
		0
		21px;

	align-items: center;

	gap: 9px;

	color:
		var(--ss-gold);
}


.service-hero__divider span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		linear-gradient(
			to right,
			transparent,
			rgba(201, 148, 59, 0.77)
		);
}


.service-hero__divider span:last-child {
	background:
		linear-gradient(
			to left,
			transparent,
			rgba(201, 148, 59, 0.77)
		);
}


.service-hero__divider svg {
	display: block;

	width: 38px;

	height: 25px;

	flex:
		0 0 38px;
}


/* ==================================================
   HERO INTRO
================================================== */

.service-hero__intro {
	width: 100%;

	max-width: 570px;

	margin: 0;

	color:
		var(--ss-teal-dark);

	font-family:
		var(--ss-body);

	font-size:
		clamp(
			15px,
			1.17vw,
			18px
		);

	font-style: italic;

	font-weight: 600;

	line-height: 1.76;

	letter-spacing: 0.15px;

	text-transform: uppercase;
}


/* ==================================================
   HERO RIGHT
================================================== */

.service-hero__visual {
	position: relative;

	z-index: 3;

	min-width: 0;

	height: 100%;

	overflow: hidden;

	background: #d8e0dc;
}


/* ==================================================
   FEATURED IMAGE = BANNER IMAGE
================================================== */

.service-hero__banner-image {
	position: absolute;

	inset: 0;

	z-index: 1;

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	object-position: 50% 50%;
}


.service-hero__banner-placeholder {
	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			135deg,
			#f0ebe3,
			#dbe5e2
		);
}


/* ==================================================
   HERO CURVES
================================================== */

.service-hero__curve {
	position: absolute;

	top: -19%;

	z-index: 5;

	height: 139%;

	pointer-events: none;
}


.service-hero__curve--cream {
	left: -102px;

	width: 154px;

	border-radius:
		100%
		0
		0
		100%;

	background:
		var(--ss-cream);

	box-shadow:
		7px
		0
		28px
		rgba(255, 255, 255, 0.22);
}


.service-hero__curve--outer {
	left: -91px;

	width: 142px;

	border-left:
		2px solid
		var(--ss-gold);

	border-radius:
		100%
		0
		0
		100%;
}


.service-hero__curve--inner {
	left: -78px;

	width: 126px;

	border-left:
		1px solid
		rgba(201, 148, 59, 0.72);

	border-radius:
		100%
		0
		0
		100%;
}


/* ==================================================
   MAIN CONTENT + SIDEBAR
================================================== */

.service-body-layout {
	display: grid;

	width: 100%;

	margin-top: 52px;

	grid-template-columns:
		minmax(0, 1fr)
		320px;

	column-gap: 44px;

	align-items: start;
}


/* ==================================================
   MAIN COLUMN
================================================== */

.service-main-column {
	width: 100%;

	min-width: 0;
}


/* ==================================================
   CONTENT
================================================== */

.service-content {
	width: 100%;

	margin: 0;

	padding: 0;
}


.service-content__inner {
	width: 100%;

	max-width: none;

	margin: 0;

	color:
		var(--ss-text);

	font-family:
		var(--ss-body);

	font-size: 16px;

	font-weight: 400;

	line-height: 1.78;
}


.service-content__inner > *:first-child {
	margin-top: 0;
}


/* ==================================================
   CONTENT H2
================================================== */

.service-content__inner h2 {
	position: relative;

	margin:
		44px
		0
		18px;

	padding-bottom: 14px;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size:
		clamp(
			28px,
			2.65vw,
			28px
		);

	font-weight: 700;

	line-height: 1.08;

	letter-spacing: -0.25px;
}


.service-content__inner h2:first-child {
	margin-top: 0;
}


.service-content__inner h2::after {
	position: absolute;

	left: 0;

	bottom: 0;

	width: 62px;

	height: 2px;

	background:
		linear-gradient(
			to right,
			var(--ss-gold),
			rgba(201, 148, 59, 0.08)
		);

	content: "";
}


/* ==================================================
   CONTENT H3
================================================== */

.service-content__inner h3 {
	margin:
		31px
		0
		12px;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size:
		clamp(
			23px,
			2vw,
			29px
		);

	font-weight: 700;

	line-height: 1.18;
}


/* ==================================================
   CONTENT H4
================================================== */

.service-content__inner h4 {
	margin:
		24px
		0
		10px;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-body);

	font-size: 17px;

	font-weight: 700;

	line-height: 1.4;
}


/* ==================================================
   CONTENT PARAGRAPHS
================================================== */

.service-content__inner p {
	margin:
		0
		0
		17px;
}


/* ==================================================
   CONTENT STRONG
================================================== */

.service-content__inner strong {
	color:
		#243c56;

	font-weight: 650;
}


/* ==================================================
   CONTENT LINKS
================================================== */

.service-content__inner a {
	color:
		var(--ss-teal-dark);

	font-weight: 600;

	text-decoration: underline;

	text-decoration-color:
		rgba(0, 123, 132, 0.38);

	text-underline-offset: 3px;
}


.service-content__inner a:hover {
	color:
		var(--ss-gold-dark);
}


/* ==================================================
   LISTS
================================================== */

.service-content__inner ul,
.service-content__inner ol {
	margin:
		10px
		0
		23px;

	padding-left: 25px;
}


.service-content__inner li {
	margin-bottom: 9px;

	padding-left: 3px;
}


.service-content__inner ul li::marker {
	color:
		var(--ss-teal);
}


.service-content__inner ol li::marker {
	color:
		var(--ss-gold-dark);

	font-weight: 700;
}


/* ==================================================
   CONTENT IMAGES
================================================== */

.service-content__inner img {
	display: block;

	max-width: 100%;

	height: auto;

	margin:
		30px
		auto;

	border-radius: 16px;
}


.service-content__inner figure {
	margin:
		30px
		0;
}


.service-content__inner figure img {
	margin: 0;
}


.service-content__inner figcaption {
	margin-top: 8px;

	color:
		var(--ss-muted);

	font-size: 12px;

	line-height: 1.5;
}


/* ==================================================
   BLOCKQUOTE
================================================== */

.service-content__inner blockquote {
	margin:
		28px
		0;

	padding:
		20px
		26px;

	border-left:
		3px solid
		var(--ss-gold);

	border-radius:
		0
		12px
		12px
		0;

	background:
		#fdf9f3;

	color:
		var(--ss-text);

	font-family:
		var(--ss-heading);

	font-size: 20px;

	font-style: italic;

	line-height: 1.55;
}


.service-content__inner blockquote p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   TABLES
================================================== */

.service-content__inner .wp-block-table {
	width: 100%;

	margin:
		28px
		0;

	overflow-x: auto;

	-webkit-overflow-scrolling: touch;
}


.service-content__inner table {
	width: 100%;

	border-collapse: collapse;

	border:
		1px solid
		rgba(8, 33, 62, 0.10);

	font-size: 14px;
}


.service-content__inner th,
.service-content__inner td {
	padding:
		12px
		14px;

	border:
		1px solid
		rgba(8, 33, 62, 0.10);

	text-align: left;

	vertical-align: top;
}


.service-content__inner th {
	background:
		#f8f4ed;

	color:
		var(--ss-navy);

	font-weight: 700;
}


/* ==================================================
   SEPARATOR
================================================== */

.service-content__inner hr,
.service-content__inner .wp-block-separator {
	height: 1px;

	margin:
		38px
		0;

	border: 0;

	background:
		linear-gradient(
			to right,
			transparent,
			rgba(201, 148, 59, 0.45),
			transparent
		);
}


/* ==================================================
   SIDEBAR
================================================== */

.service-sidebar {
	width: 100%;

	min-width: 0;
}


.service-sidebar__box {
	position: sticky;

	top: 105px;

	width: 100%;

	overflow: hidden;

	border:
		1px solid
		rgba(201, 148, 59, 0.23);

	border-radius: 20px;

	background:
		linear-gradient(
			145deg,
			#fffdfa,
			#faf5ed
		);

	box-shadow:
		0
		12px
		30px
		rgba(20, 38, 53, 0.055);
}


/* ==================================================
   SIDEBAR HEADER
================================================== */

.service-sidebar__header {
	padding:
		25px
		23px
		21px;

	border-bottom:
		1px solid
		rgba(201, 148, 59, 0.18);
}


.service-sidebar__eyebrow {
	display: block;

	margin-bottom: 5px;

	color:
		var(--ss-teal);

	font-family:
		var(--ss-body);

	font-size: 10px;

	font-weight: 700;

	letter-spacing: 2px;

	text-transform: uppercase;
}


.service-sidebar__header h2 {
	margin: 0;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size: 30px;

	font-weight: 700;

	line-height: 1.05;
}


/* ==================================================
   SIDEBAR DIVIDER
================================================== */

.service-sidebar__divider {
	display: flex;

	width: 110px;

	margin-top: 15px;

	align-items: center;

	gap: 6px;
}


.service-sidebar__divider span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		rgba(201, 148, 59, 0.62);
}


.service-sidebar__divider i {
	display: block;

	width: 6px;

	height: 6px;

	background:
		var(--ss-gold);

	transform:
		rotate(45deg);
}


/* ==================================================
   SIDEBAR SERVICES
================================================== */

.service-sidebar__services ul {
	margin: 0;

	padding: 7px 0;

	list-style: none;
}


.service-sidebar__services li {
	margin: 0;

	padding: 0;
}


.service-sidebar__services li + li {
	border-top:
		1px solid
		rgba(8, 33, 62, 0.065);
}


.service-sidebar__services a {
	display: flex;

	min-height: 58px;

	padding:
		11px
		18px;

	align-items: center;

	gap: 12px;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-body);

	font-size: 13px;

	font-weight: 600;

	line-height: 1.4;

	text-decoration: none;

	transition:
		background-color 220ms ease,
		color 220ms ease,
		padding-left 220ms ease;
}


.service-sidebar__service-icon {
	display: flex;

	width: 28px;

	height: 28px;

	flex:
		0 0 28px;

	align-items: center;

	justify-content: center;

	border:
		1px solid
		rgba(201, 148, 59, 0.58);

	border-radius: 50%;

	color:
		var(--ss-gold-dark);

	transition:
		background-color 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}


.service-sidebar__service-icon svg {
	display: block;

	width: 13px;

	height: 13px;
}


.service-sidebar__service-title {
	display: block;

	min-width: 0;
}


@media (hover: hover) and (pointer: fine) {

	.service-sidebar__services a:hover {
		padding-left: 22px;

		background:
			rgba(0, 143, 152, 0.045);

		color:
			var(--ss-teal-dark);
	}


	.service-sidebar__services a:hover
	.service-sidebar__service-icon {
		background:
			var(--ss-teal);

		color: #ffffff;

		transform:
			translateX(2px);
	}
}


/* ==================================================
   SIDEBAR APPOINTMENT
================================================== */

.service-sidebar__appointment {
	padding:
		22px
		22px
		24px;

	border-top:
		1px solid
		rgba(201, 148, 59, 0.25);

	background:
		linear-gradient(
			145deg,
			#092744,
			#061d35
		);

	color: #ffffff;
}


.service-sidebar__appointment-icon {
	display: flex;

	width: 42px;

	height: 42px;

	margin-bottom: 14px;

	align-items: center;

	justify-content: center;

	border:
		1px solid
		rgba(226, 180, 93, 0.72);

	border-radius: 50%;

	color:
		#e2b45d;
}


.service-sidebar__appointment-icon svg {
	width: 24px;

	height: 24px;
}


.service-sidebar__appointment strong {
	display: block;

	margin-bottom: 6px;

	color: #ffffff;

	font-family:
		var(--ss-heading);

	font-size: 21px;

	font-weight: 700;

	line-height: 1.15;
}


.service-sidebar__appointment p {
	margin:
		0
		0
		16px;

	color:
		rgba(255, 255, 255, 0.76);

	font-family:
		var(--ss-body);

	font-size: 12px;

	line-height: 1.6;
}


.service-sidebar__appointment-button {
	display: flex;

	width: 100%;

	min-height: 46px;

	padding:
		9px
		15px;

	align-items: center;

	justify-content: center;

	border:
		1px solid
		var(--ss-gold);

	border-radius: 8px;

	background:
		var(--ss-gold);

	color:
		#071f38;

	font-family:
		var(--ss-body);

	font-size: 12px;

	font-weight: 700;

	cursor: pointer;

	transition:
		background-color 220ms ease,
		color 220ms ease,
		transform 220ms ease;
}


.service-sidebar__appointment-button:hover {
	background: #ffffff;

	color:
		var(--ss-navy);

	transform:
		translateY(-1px);
}


/* ==================================================
   FAQ
================================================== */

.service-faq {
	width: 100%;

	margin:
		50px
		0
		25px;

	padding:
		33px
		34px
		35px;

	border:
		1px solid
		rgba(201, 148, 59, 0.17);

	border-radius: 20px;

	background:
		linear-gradient(
			145deg,
			#fffdfa,
			#fbf7f0
		);
}


/* ==================================================
   FAQ HEADER
================================================== */

.service-faq__header {
	margin-bottom: 25px;

	text-align: center;
}


.service-faq__eyebrow {
	margin:
		0
		0
		7px;

	color:
		var(--ss-teal);

	font-family:
		var(--ss-body);

	font-size: 11px;

	font-weight: 700;

	line-height: 1.2;

	letter-spacing: 2px;

	text-transform: uppercase;
}


.service-faq__header h2 {
	margin: 0;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size:
		clamp(
			31px,
			3vw,
			40px
		);

	font-weight: 700;

	line-height: 1;
}


/* ==================================================
   FAQ ORNAMENT
================================================== */

.service-faq__ornament {
	display: flex;

	width: 155px;

	margin:
		16px
		auto
		0;

	align-items: center;

	gap: 7px;
}


.service-faq__ornament span {
	display: block;

	height: 1px;

	flex: 1;

	background:
		rgba(201, 148, 59, 0.50);
}


.service-faq__ornament i {
	display: block;

	width: 7px;

	height: 7px;

	border:
		1px solid
		var(--ss-gold);

	background: #fffdfa;

	transform:
		rotate(45deg);
}


/* ==================================================
   FAQ LIST
================================================== */

.service-faq__list {
	display: grid;

	gap: 10px;
}


.service-faq__item {
	overflow: hidden;

	border:
		1px solid
		rgba(201, 148, 59, 0.23);

	border-radius: 12px;

	background: #ffffff;
}


/* ==================================================
   FAQ QUESTION
================================================== */

.service-faq__question {
	display: flex;

	width: 100%;

	min-height: 64px;

	padding:
		15px
		18px;

	align-items: center;

	justify-content: space-between;

	gap: 18px;

	border: 0;

	background: transparent;

	color:
		var(--ss-navy);

	font-family:
		var(--ss-heading);

	font-size: 18px;

	font-weight: 700;

	line-height: 1.3;

	text-align: left;

	cursor: pointer;
}


.service-faq__question-text {
	display: block;

	flex: 1;
}


/* ==================================================
   FAQ PLUS
================================================== */

.service-faq__icon {
	position: relative;

	display: flex;

	width: 30px;

	height: 30px;

	flex:
		0 0 30px;

	align-items: center;

	justify-content: center;

	border:
		1px solid
		var(--ss-gold);

	border-radius: 50%;

	transition:
		background-color 250ms ease,
		transform 250ms ease;
}


.service-faq__icon span {
	position: absolute;

	width: 12px;

	height: 1.5px;

	border-radius: 5px;

	background:
		var(--ss-gold-dark);
}


.service-faq__icon span:last-child {
	transform:
		rotate(90deg);
}


.service-faq__question[aria-expanded="true"]
.service-faq__icon {
	background:
		var(--ss-gold);

	transform:
		rotate(45deg);
}


.service-faq__question[aria-expanded="true"]
.service-faq__icon span {
	background: #ffffff;
}


/* ==================================================
   FAQ ANSWER
================================================== */

.service-faq__answer[hidden] {
	display: none;
}


.service-faq__answer {
	padding:
		0
		18px
		18px;

	color:
		var(--ss-text);

	font-family:
		var(--ss-body);

	font-size: 14px;

	line-height: 1.7;
}


.service-faq__answer-inner {
	padding-top: 2px;
}


.service-faq__answer p {
	margin:
		0
		0
		11px;
}


.service-faq__answer p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   EXISTING CTA
================================================== */

.service-cta {
	position: relative;

	display: grid;

	width: 100%;

	min-height: 110px;

	margin-top: 17px;

	padding:
		12px
		42px;

	grid-template-columns:
		1fr
		1px
		1fr;

	align-items: center;

	border:
		2px solid
		var(--ss-gold);

	border-radius:
		27px;

	background:
		linear-gradient(
			135deg,
			#082440,
			#061d35
		);

	box-shadow:
		inset
		0
		0
		0
		6px
		#082440,

		inset
		0
		0
		0
		7px
		rgba(201, 148, 59, 0.62);
}


.service-cta::before {
	position: absolute;

	top: -8px;

	left: 50%;

	width: 17px;

	height: 17px;

	border:
		2px solid
		var(--ss-gold);

	background:
		#082440;

	content: "";

	transform:
		translateX(-50%)
		rotate(45deg);
}


.service-cta__item {
	position: relative;

	z-index: 3;

	display: flex;

	min-height: 72px;

	align-items: center;

	justify-content: center;

	gap: 20px;

	color:
		#fffaf3;

	font-family:
		var(--ss-heading);

	font-size:
		clamp(
			22px,
			1.8vw,
			28px
		);

	font-style: italic;

	text-decoration: none;

	transition:
		color 300ms ease,
		transform 350ms var(--ss-ease);
}


.service-cta__item svg {
	display: block;

	width: 44px;

	height: 44px;

	flex:
		0 0 44px;

	color:
		#e2b45d;
}


.service-cta__separator {
	display: block;

	width: 1px;

	height: 58px;

	background:
		rgba(255, 255, 255, 0.22);
}


@media (hover: hover) and (pointer: fine) {

	.service-cta__item:hover {
		color:
			#e6ba64;

		transform:
			translateY(-2px);
	}
}


/* ==================================================
   LAPTOP
================================================== */

@media screen and (max-width: 1200px) {

	.service-body-layout {
		grid-template-columns:
			minmax(0, 1fr)
			285px;

		column-gap: 32px;
	}


	.service-hero {
		grid-template-columns:
			minmax(0, 62%)
			minmax(0, 38%);
	}


	.service-hero__content {
		padding-left: 54px;

		grid-template-columns:
			80px
			minmax(0, 1fr);

		column-gap: 27px;
	}


	.service-hero__featured {
		width: 80px;
	}


	.service-hero__copy {
		padding-right: 20px;
	}


	.service-hero__intro {
		font-size: 14px;
	}
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 950px) {

	.single-service-page__container {
		width:
			calc(100% - 48px);
	}


	.service-hero {
		height: auto;

		grid-template-columns: 1fr;
	}


	.service-hero__content {
		min-height: 410px;

		padding:
			50px
			42px;

		grid-template-columns:
			80px
			minmax(0, 1fr);
	}


	.service-hero__visual {
		height: 430px;
	}


	.service-hero__curve {
		display: none;
	}


	.service-body-layout {
		display: block;

		margin-top: 44px;
	}


	.service-sidebar {
		margin-top: 44px;
	}


	.service-sidebar__box {
		position: static;
	}


	.service-sidebar__services ul {
		display: grid;

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);
	}


	.service-sidebar__services li + li {
		border-top:
			1px solid
			rgba(8, 33, 62, 0.065);
	}
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 680px) {

	.single-service-page {
		padding-top: 15px;
	}


	.single-service-page__container {
		width:
			calc(100% - 30px);
	}


	/* Hero */

	.service-hero {
		display: flex;

		flex-direction: column;

		border-radius:
			24px
			24px
			0
			0;
	}


	.service-hero__content {
		display: block;

		min-height: 0;

		padding:
			32px
			24px;
	}


	.service-hero__featured {
		width: 70px;

		margin-bottom: 25px;
	}


	.service-hero__featured-icon {
		width: 60px;

		height: 60px;
	}


	.service-hero__featured-arc {
		top: 66px;

		width: 50px;
	}


	.service-hero__copy {
		padding-right: 0;
	}


	.service-hero__title {
		max-width: 100%;

		font-size: 42px !important;

		line-height: 0.97;
	}


	.service-hero__divider {
		margin:
			22px
			0
			17px;
	}


	.service-hero__intro {
		font-size: 14px;

		line-height: 1.65;
	}


	.service-hero__visual {
		height: 320px;
	}


	/* Body */

	.service-body-layout {
		margin-top: 36px;
	}


	.service-content__inner {
		font-size: 14px;

		line-height: 1.72;
	}


	.service-content__inner h2 {
		margin-top: 38px;

		font-size: 28px;
	}


	.service-content__inner h3 {
		margin-top: 25px;

		font-size: 23px;
	}


	.service-content__inner h4 {
		font-size: 16px;
	}


	.service-content__inner ul,
	.service-content__inner ol {
		padding-left: 20px;
	}


	.service-content__inner table {
		min-width: 600px;
	}


	/* Sidebar */

	.service-sidebar {
		margin-top: 36px;
	}


	.service-sidebar__services ul {
		grid-template-columns: 1fr;
	}


	.service-sidebar__header {
		padding:
			22px
			18px;
	}


	.service-sidebar__header h2 {
		font-size: 27px;
	}


	.service-sidebar__services a {
		min-height: 54px;

		padding:
			10px
			16px;
	}


	.service-sidebar__appointment {
		padding:
			20px
			18px;
	}


	/* FAQ */

	.service-faq {
		margin-top: 38px;

		padding:
			25px
			14px;

		border-radius: 17px;
	}


	.service-faq__header h2 {
		font-size: 33px;
	}


	.service-faq__question {
		min-height: 58px;

		padding:
			13px
			14px;

		font-size: 17px;
	}


	.service-faq__answer {
		padding:
			0
			14px
			15px;

		font-size: 13px;
	}


	/* Existing CTA */

	.service-cta {
		grid-template-columns: 1fr;

		padding: 16px;

		border-radius: 22px;
	}


	.service-cta__separator {
		width: 100%;

		height: 1px;
	}


	.service-cta__item {
		min-height: 62px;

		font-size: 22px;
	}
}


/* ==================================================
   FOCUS
================================================== */

.single-service-page a:focus-visible,
.single-service-page button:focus-visible {
	outline:
		3px solid
		rgba(0, 143, 152, 0.35);

	outline-offset: 4px;
}