/* =========================================================
   Unity Dental Implants — Core theme styles
   ========================================================= */

:root {
	--unity-teal: #0b4b47;
	--unity-teal-deep: #073a37;
	--unity-teal-soft: #789b95;
	--unity-heading-muted: #829792;
	--unity-ink: #2e4043;
	--unity-muted: #748286;
	--unity-line: #d3dfdc;
	--unity-mint: #eef4f2;
	--unity-mint-2: #f5f8f7;
	--unity-page: #fbfcfb;
	--unity-white: #ffffff;
	--unity-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
	--unity-sans: "Miranda Sans", "Helvetica Neue", Arial, sans-serif;
	--unity-radius: 28px;
	--unity-container: 1440px;
	--unity-treatment-sticky-top: 120px;
	--unity-shadow: 0 22px 60px rgba(7, 58, 55, .08);
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--unity-page);
	color: var(--unity-ink);
	font-family: var(--unity-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

button,
input,
select,
textarea {
	font: inherit;
}

.container {
	width: min(var(--unity-container), calc(100% - 56px));
	margin-inline: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.skip-link:focus {
	top: 10px;
	left: 10px;
	width: auto !important;
	height: auto !important;
	padding: 12px 16px !important;
	margin: 0 !important;
	clip: auto !important;
	overflow: visible !important;
	background: var(--unity-white);
	z-index: 99999;
}

/* Typography */

h1,
h2,
h3,
h4 {
	margin: 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-weight: 400;
	line-height: .96;
	letter-spacing: -.018em;
}

h1 {
	font-size: clamp(58px, 7vw, 108px);
}

h2 {
	font-size: clamp(48px, 5vw, 78px);
}

h3 {
	font-size: clamp(30px, 2.6vw, 44px);
}

p {
	margin-top: 0;
}

.eyebrow {
	margin: 0 0 22px;
	color: var(--unity-teal);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 58px;
	padding: 0 28px;
	border: 1px solid var(--unity-teal);
	border-radius: 999px;
	background: var(--unity-teal);
	color: var(--unity-white);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: .2s ease;
}

.button:hover,
.button:focus-visible {
	background: var(--unity-teal-deep);
	border-color: var(--unity-teal-deep);
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(7, 58, 55, .14);
}

.button--small {
	min-height: 48px;
	padding-inline: 22px;
}

.button--wide {
	width: 100%;
}


.text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--unity-teal);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.text-link::after {
	content: "→";
	transition: transform .2s ease;
}

.text-link:hover::after {
	transform: translateX(4px);
}


.heading-muted {
	color: var(--unity-heading-muted) !important;
}

/* Header */

.site-header {
	position: relative;
	z-index: 100;
	background: rgba(251, 252, 251, .96);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
}

.site-header__inner {
	width: min(var(--unity-container), calc(100% - 56px));
	min-height: 92px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.site-branding__link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-branding__wordmark {
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: 27px;
	line-height: 1;
}

.custom-logo {
	display: block;
	max-height: 62px;
	width: auto;
}

.primary-nav {
	display: flex;
	align-items: center;
	gap: 34px;
}

.primary-nav__menu {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav__menu a {
	color: var(--unity-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.primary-nav__menu a:hover {
	color: var(--unity-teal);
}

.menu-toggle {
	display: none;
	border: 0;
	background: transparent;
	color: var(--unity-teal);
	cursor: pointer;
}

/* Hero */

.home-hero {
	padding: clamp(70px, 7vw, 120px) 0;
	overflow: hidden;
}

.home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
	gap: clamp(60px, 7vw, 110px);
	align-items: center;
}

.home-hero h1 span {
	display: block;
	color: var(--unity-teal-soft);
}

.home-hero__intro {
	max-width: 660px;
	margin: 34px 0 0;
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.65;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 26px;
	margin-top: 38px;
}

.home-hero__visual {
	min-height: 640px;
}

.home-hero__image-placeholder {
	height: 100%;
	min-height: 640px;
	border-radius: 160px 20px 160px 20px;
	background:
		linear-gradient(145deg, rgba(11, 75, 71, .22), rgba(120, 155, 149, .08)),
		var(--unity-mint);
	display: grid;
	place-items: center;
	color: var(--unity-teal-soft);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Trust strip */

.trust-strip {
	border-top: 1px solid var(--unity-line);
	border-bottom: 1px solid var(--unity-line);
	background: var(--unity-white);
}

.trust-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.trust-strip__grid > div {
	padding: 28px 26px;
	border-right: 1px solid var(--unity-line);
}

.trust-strip__grid > div:first-child {
	padding-left: 0;
}

.trust-strip__grid > div:last-child {
	border-right: 0;
}

.trust-strip strong,
.trust-strip span {
	display: block;
}

.trust-strip strong {
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: 23px;
	font-weight: 400;
}

.trust-strip span {
	margin-top: 4px;
	color: var(--unity-muted);
	font-size: 13px;
}

/* Generic section */

.section {
	padding: clamp(76px, 8vw, 132px) 0;
}

.section--light {
	background: var(--unity-mint-2);
}

.section-heading {
	max-width: 820px;
	margin-bottom: 54px;
}

.section-heading p:last-child {
	max-width: 620px;
	margin: 26px 0 0;
}

.treatment-grid {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 24px;
}

.treatment-card {
	min-height: 420px;
	padding: clamp(34px, 4vw, 58px);
	border: 1px solid var(--unity-line);
	border-radius: var(--unity-radius);
	background: var(--unity-white);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.treatment-card--featured {
	background: var(--unity-teal);
	border-color: var(--unity-teal);
	color: rgba(255,255,255,.86);
}

.treatment-card--featured h3,
.treatment-card--featured .text-link {
	color: var(--unity-white);
}

.treatment-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: auto;
	border-radius: 50%;
	background: var(--unity-mint);
	color: var(--unity-teal);
	font-size: 12px;
	font-weight: 700;
}

.treatment-card--featured .treatment-card__number {
	background: rgba(255,255,255,.12);
	color: var(--unity-white);
}

.treatment-card p {
	max-width: 560px;
	margin: 22px 0 28px;
}



/* Sticky treatment showcase */

.unity-treatment-showcase {
	padding: clamp(90px, 8vw, 140px) 0;
	background: #f4f5f4;
}

.unity-treatment-showcase__inner {
	max-width: 1250px;
	display: grid;
	grid-template-columns: minmax(390px, .92fr) minmax(0, 1.08fr);
	gap: clamp(58px, 6vw, 88px);
	align-items: start;
}

.unity-treatment-showcase__intro {
	position: sticky;
	top: var(--unity-treatment-sticky-top);
	align-self: start;
	padding-top: 0;
}

.unity-treatment-showcase__title {
	max-width: 610px;
	font-size: clamp(44px, 3.8vw, 58px);
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-treatment-showcase__title span {
	display: block;
}

.unity-treatment-showcase__copy {
	max-width: 560px;
	margin: 32px 0 0;
	color: #304245;
	font-size: 16px;
	line-height: 1.7;
}

.unity-treatment-showcase__button {
	margin-top: 32px;
}

.unity-treatment-showcase__cards {
	display: grid;
	gap: 28px;
	padding-bottom: 0;
}

.unity-treatment-option {
	position: sticky;
	top: var(--unity-treatment-sticky-top);
	z-index: calc(10 + var(--unity-treatment-index));
	min-height: 390px;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr);
	overflow: hidden;
	border: 1px solid rgba(11, 75, 71, .07);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 22px 55px rgba(7, 58, 55, .07);
}

.unity-treatment-option:nth-child(2) {
	background: #fbfcfb;
}

.unity-treatment-option:nth-child(3) {
	background: #fff;
}

.unity-treatment-option__content {
	min-width: 0;
	padding: 34px 38px 38px;
	display: flex;
	flex-direction: column;
}

.unity-treatment-option__number {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--unity-mint);
	color: var(--unity-teal);
	font-family: var(--unity-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
}

.unity-treatment-option__body {
	margin-top: 46px;
}

.unity-treatment-option__body h3 {
	max-width: 360px;
	font-size: clamp(30px, 2.5vw, 38px);
	line-height: 1.05;
	letter-spacing: -.018em;
}

.unity-treatment-option__rule {
	width: 100%;
	height: 1px;
	margin: 22px 0 20px;
	background: var(--unity-line);
}

.unity-treatment-option__body p {
	max-width: 390px;
	margin: 0 0 24px;
	color: #36484b;
	font-size: 15px;
	line-height: 1.65;
}

.unity-treatment-option__visual {
	min-height: 390px;
	display: grid;
	place-items: center;
	padding: 30px;
	background:
		radial-gradient(circle at 72% 28%, rgba(255,255,255,.65), transparent 26%),
		linear-gradient(145deg, #d9e6e2 0%, #c8dbd6 100%);
	color: rgba(11, 75, 71, .58);
	font-family: var(--unity-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-align: center;
	text-transform: uppercase;
}

.unity-treatment-option:nth-child(2) .unity-treatment-option__visual {
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.62), transparent 25%),
		linear-gradient(145deg, #e7e1d7 0%, #d8e4df 100%);
}

.unity-treatment-option:nth-child(3) .unity-treatment-option__visual {
	background:
		radial-gradient(circle at 68% 24%, rgba(255,255,255,.66), transparent 26%),
		linear-gradient(145deg, #d7e5e1 0%, #e8ece7 100%);
}

@media (max-width: 1040px) {
	.unity-treatment-showcase__inner {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.unity-treatment-showcase__intro {
		position: static;
	}

	.unity-treatment-option {
		top: var(--unity-treatment-sticky-top);
	}
}

@media (max-width: 720px) {
	.unity-treatment-option__body {
		margin-top: 34px;
	}

	.unity-treatment-showcase {
		padding: 72px 0;
	}

	.unity-treatment-showcase__cards {
		gap: 20px;
		padding-bottom: 0;
	}

	.unity-treatment-option {
		position: relative;
		top: auto;
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.unity-treatment-option__content {
		min-height: 340px;
		padding: 28px 24px 30px;
	}

	.unity-treatment-option__visual {
		min-height: 280px;
	}
}



/* Implant journey */

.unity-process {
	position: relative;
	overflow: hidden;
	padding: clamp(92px, 8vw, 138px) 0;
	background: #f3eee5;
	border-top: 1px solid rgba(11, 75, 71, .05);
}

.unity-process__heading-row {
	max-width: 1250px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 48px;
	align-items: end;
}

.unity-process__intro {
	max-width: 700px;
}

.unity-process__title {
	margin-top: 18px;
	font-size: clamp(44px, 3.8vw, 58px);
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-process__title span {
	display: block;
}

.unity-process__lead {
	max-width: 620px;
	margin: 28px 0 0;
	color: #304245;
	font-size: 16px;
	line-height: 1.7;
}

.unity-process__controls {
	display: flex;
	gap: 10px;
	padding-bottom: 3px;
}

.unity-process__control {
	width: 50px;
	height: 50px;
	border: 1px solid rgba(11, 75, 71, .12);
	border-radius: 50%;
	background: #fff;
	color: var(--unity-teal);
	display: grid;
	place-items: center;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease;
}

.unity-process__control:hover,
.unity-process__control:focus-visible {
	background: var(--unity-mint);
	transform: translateY(-1px);
}

.unity-process__viewport {
	width: 100%;
	margin-top: 54px;
	padding-left: max(24px, calc((100vw - 1250px) / 2));
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
}


.unity-process__viewport::-webkit-scrollbar {
	display: none;
}

.unity-process__rail {
	display: flex;
	gap: 22px;
	width: max-content;
	max-width: none;
	padding-right: max(28px, calc((100vw - 1250px) / 2));
	scroll-snap-type: x mandatory;
}


.unity-process-card {
	flex: 0 0 clamp(300px, 28vw, 390px);
	min-height: 380px;
	padding: 32px 34px 34px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 22px 54px rgba(7, 58, 55, .06);
	display: flex;
	flex-direction: column;
	scroll-snap-align: start;
}

.unity-process-card:nth-child(2n) {
	background: linear-gradient(145deg, #e4eeeb 0%, #edf3f1 100%);
}

.unity-process-card__number {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--unity-mint);
	color: var(--unity-teal);
	font-family: var(--unity-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-process-card:nth-child(2n) .unity-process-card__number {
	background: rgba(255, 255, 255, .78);
}

.unity-process-card__content {
	margin-top: auto;
	padding-top: 58px;
}

.unity-process-card__content h3 {
	max-width: 310px;
	min-height: 74px;
	margin: 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: clamp(28px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.018em;
}


.unity-process-card__content h3 span {
	display: block;
}

.unity-process-card__rule {
	width: 100%;
	height: 1px;
	margin: 22px 0 20px;
	background: rgba(11, 75, 71, .15);
}

.unity-process-card__content p {
	margin: 0;
	color: #344649;
	font-size: 15px;
	line-height: 1.65;
}

@media (min-width: 1251px) {
	.unity-process__rail {
		/*
		 * Deliberately wider than the viewport:
		 * the next stage remains visibly cropped off-screen on the right.
		 */
		padding-right: 120px;
	}
}

@media (max-width: 980px) {
	.unity-process__heading-row {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.unity-process__controls {
		justify-content: flex-start;
	}

	.unity-process__viewport {
		padding-left: 24px;
	}

	.unity-process__rail {
		padding-right: 24px;
	}

	.unity-process-card {
		flex-basis: min(76vw, 360px);
	}
}

@media (max-width: 720px) {
	.unity-process {
		padding: 72px 0;
	}

	.unity-process__title {
		font-size: clamp(40px, 11vw, 52px);
	}

	.unity-process__lead {
		margin-top: 24px;
	}

	.unity-process__viewport {
		margin-top: 40px;
		padding-left: 20px;
	}

	.unity-process__rail {
		gap: 16px;
		padding-right: 20px;
	}

	.unity-process-card {
		flex-basis: calc(100vw - 54px);
		min-height: 340px;
		padding: 28px 26px 30px;
	}

	.unity-process-card__content {
		padding-top: 46px;
	}
}

/* Positioning statement */

.unity-positioning {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 7vw, 110px) 0;
	background: #fbfaf7;
	border-top: 1px solid rgba(11, 75, 71, .07);
	border-bottom: 1px solid rgba(11, 75, 71, .07);
}

.unity-positioning::after {
	content: "";
	position: absolute;
	right: -150px;
	top: 50%;
	width: 360px;
	height: 360px;
	border: 7px solid rgba(11, 75, 71, .055);
	border-radius: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.unity-positioning__inner {
	max-width: 1250px;
	text-align: center;
	position: relative;
	z-index: 1;
}

.unity-positioning__eyebrow {
	margin: 0 0 20px;
	color: var(--unity-teal);
}

.unity-positioning__statement {
	max-width: 980px;
	margin: 0 auto;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: clamp(38px, 3.4vw, 52px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.02em;
}

.unity-positioning__statement span {
	display: block;
}

.unity-positioning__support {
	margin: 24px auto 0;
	color: #304245;
	font-family: var(--unity-sans);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: .01em;
}


.unity-positioning__practices {
	max-width: 1040px;
	margin: 38px auto 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.unity-positioning__practice {
	font-family: var(--unity-sans);
	white-space: normal;
	text-align: center;
}



@media (max-width: 560px) {
	.unity-positioning__practices {
		grid-template-columns: 1fr;
		gap: 10px;
	}

}


@media (max-width: 720px) {
	.unity-positioning {
		padding: 62px 0;
	}

	.unity-positioning::after {
		right: -190px;
		width: 320px;
		height: 320px;
	}

	.unity-positioning__statement {
		font-size: clamp(34px, 10vw, 44px);
	}

	.unity-positioning__support {
		max-width: 330px;
	}
}

/* Homepage FAQs */

.unity-faqs {
	padding: clamp(88px, 8vw, 136px) 0;
	background: #f7f6f2;
}

.unity-faqs__inner {
	max-width: 1250px;
	display: grid;
	grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
	gap: clamp(70px, 8vw, 130px);
	align-items: start;
}

.unity-faqs__eyebrow {
	margin-bottom: 22px;
	color: var(--unity-teal);
}

.unity-faqs__title {
	max-width: 470px;
	font-size: clamp(44px, 3.8vw, 58px);
	line-height: 1.08;
	letter-spacing: -.018em;
}

.unity-faqs__title span {
	display: block;
}

.unity-faqs__title span:last-child {
	color: #829792;
}

.unity-faqs__support-card {
	position: relative;
	overflow: hidden;
	max-width: 390px;
	margin-top: 44px;
	padding: 34px 34px 32px;
	border: 1px solid rgba(11, 75, 71, .06);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(7, 58, 55, .045);
}

.unity-faqs__support-circle {
	position: absolute;
	right: -34px;
	bottom: -36px;
	width: 118px;
	height: 118px;
	border: 6px solid rgba(11, 75, 71, .12);
	border-radius: 50%;
	opacity: .55;
	pointer-events: none;
}


.unity-faqs__support-title {
	max-width: 280px;
	margin: 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: 26px;
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-faqs__support-copy {
	max-width: 290px;
	margin: 16px 0 24px;
	color: #334649;
	font-size: 14px;
	line-height: 1.65;
}

.unity-faqs__support-button {
	position: relative;
	z-index: 2;
	min-height: 50px;
}




.unity-faqs__list {
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(11, 75, 71, .16);
}

.unity-faq {
	overflow: hidden;
	border: 0;
	border-bottom: 1px solid rgba(11, 75, 71, .16);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transition: none;
}

.unity-faq.is-open {
	background: transparent;
	box-shadow: none;
	border-color: rgba(11, 75, 71, .22);
}

.unity-faq__heading {
	margin: 0;
	font-family: inherit;
}

.unity-faq__button {
		min-height: 70px;
		padding: 18px 0;
		grid-template-columns: 1fr 38px;
		gap: 16px;
	}

.unity-faq__button > span:first-child {
	font-family: var(--unity-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -.018em;
}

.unity-faq__icon {
	position: relative;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(11, 75, 71, .18);
	border-radius: 50%;
	background: rgba(255, 255, 255, .72);
	display: block;
}

.unity-faq__icon::before,
.unity-faq__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 1.5px;
	background: var(--unity-teal);
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.unity-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.unity-faq.is-open .unity-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.unity-faq__panel {
		padding: 0 0 22px;
	}

.unity-faq__panel[hidden] {
	display: none !important;
}

.unity-faq__panel p {
	max-width: 650px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
}

@media (max-width: 980px) {
	.unity-reviews__content {
		width: 100%;
		max-width: none;
		margin-left: 0;
		padding: 0;
		min-height: 400px;
	}

	.unity-reviews__quote-row {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 18px;
	}

	.unity-reviews::after {
		left: -240px;
		bottom: -310px;
		width: 620px;
		height: 620px;
	}

	.unity-faqs__inner {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.unity-faqs__support-card {
		max-width: 520px;
	}
}

@media (max-width: 720px) {
	.unity-reviews__content {
		width: 100%;
		max-width: none;
		min-height: 0;
		padding: 0;
	}

	.unity-reviews__quote-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.unity-reviews__quote-mark {
		height: 46px;
		padding-top: 0;
		font-size: 66px;
	}

	.unity-reviews::after {
		left: -210px;
		bottom: -250px;
		width: 480px;
		height: 480px;
		border-width: 6px;
	}

	.unity-faqs {
		padding: 72px 0;
	}

	.unity-faqs__title {
		font-size: clamp(40px, 11vw, 52px);
	}

	.unity-faqs__support-card {
		margin-top: 34px;
		padding: 28px 24px;
	}

	.unity-faq__button {
		min-height: 76px;
		padding: 18px 18px 18px 22px;
		grid-template-columns: 1fr 40px;
		gap: 16px;
	}

	.unity-faq__icon {
		width: 38px;
		height: 38px;
	}

	.unity-faq__panel {
		padding: 0 22px 22px;
	}
}

/* Patient reviews */

.unity-reviews {
	position: relative;
	overflow: hidden;
	padding: clamp(88px, 8vw, 136px) 0;
	background: var(--unity-teal-deep);
	color: rgba(255, 255, 255, .84);
}

.unity-reviews::after {
	content: "";
	position: absolute;
	left: -280px;
	bottom: -430px;
	width: clamp(700px, 62vw, 980px);
	height: clamp(700px, 62vw, 980px);
	border: 8px solid rgba(158, 192, 186, .075);
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

.unity-reviews__inner {
	max-width: 1250px;
	position: relative;
	z-index: 1;
}

.unity-reviews__eyebrow {
	margin: 0 0 42px;
	color: #fff;
	font-family: var(--unity-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.unity-reviews__content {
	position: relative;
	width: 100%;
	max-width: none;
	margin-left: 0;
	min-height: 430px;
	display: flex;
	flex-direction: column;
	padding: 0;
}

.unity-reviews__quote-row {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
}


.unity-reviews__quote-mark {
	color: #9ec0ba;
	font-family: var(--unity-serif);
	font-size: 72px;
	line-height: .8;
	padding-top: 8px;
}

.unity-reviews__slides {
	flex: 1;
}

.unity-review {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.unity-review[hidden] {
	display: none !important;
}

.unity-review__quote {
	width: 100%;
	max-width: none;
	margin: 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(36px, 3.35vw, 46px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.022em;
}

.unity-review__meta {
	margin-top: auto;
	padding-top: 46px;
	display: block;
}

.unity-review__name {
	margin: 0;
	color: #fff;
	font-family: var(--unity-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.unity-review__treatment {
	margin: 7px 0 0;
	color: rgba(255, 255, 255, .56);
	font-family: var(--unity-sans);
	font-size: 13px;
	line-height: 1.4;
}

.unity-reviews__footer {
	width: 100%;
	margin-top: 34px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 28px;
	align-items: center;
}

.unity-reviews__line {
	height: 1px;
	background: rgba(255, 255, 255, .16);
}

.unity-reviews__controls {
	display: flex;
	gap: 10px;
}

.unity-reviews__control {
	width: 50px;
	height: 50px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--unity-teal-deep);
	display: grid;
	place-items: center;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease;
}

.unity-reviews__control:hover,
.unity-reviews__control:focus-visible {
	background: var(--unity-mint);
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	.unity-reviews::after {
		left: -320px;
		bottom: -390px;
		width: 760px;
		height: 760px;
	}

	.unity-reviews__content {
		max-width: none;
		margin-left: 0;
		padding-left: 62px;
		min-height: 400px;
	}
}

@media (max-width: 720px) {
	.unity-reviews {
		padding: 72px 0;
	}

	.unity-reviews::after {
		left: -270px;
		bottom: -300px;
		width: 560px;
		height: 560px;
		border-width: 6px;
	}

	.unity-reviews__eyebrow {
		margin-bottom: 32px;
	}

	.unity-reviews__content {
		min-height: 0;
		padding-left: 0;
	}

	.unity-reviews__quote-mark {
		position: static;
		height: 54px;
		font-size: 74px;
	}

	.unity-review__quote {
		font-size: clamp(32px, 9vw, 43px);
	}

	.unity-review__meta {
		padding-top: 38px;
	}

	.unity-reviews__footer {
		margin-top: 28px;
	}
}

/* Consultation CTA */

.unity-consultation {
	padding: clamp(88px, 8vw, 136px) 0;
	background: #f7f6f2;
}

.unity-consultation__inner {
	max-width: 1250px;
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr);
	gap: clamp(72px, 8vw, 130px);
	align-items: stretch;
}

.unity-consultation__content {
	min-height: 650px;
	padding: 5px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.unity-consultation__eyebrow {
	margin-bottom: 24px;
	color: var(--unity-teal);
}

.unity-consultation__title {
	max-width: 660px;
	color: var(--unity-teal);
	font-size: clamp(46px, 3.9vw, 62px);
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-consultation__title span {
	display: block;
}

.unity-consultation__title span:nth-child(2),
.unity-consultation__title span:nth-child(3) {
	color: #829792;
}

.unity-consultation__intro {
	max-width: 585px;
	margin: 34px 0 0;
	color: #293b3e;
	font-size: 16px;
	line-height: 1.72;
}

.unity-consultation__lower {
	max-width: 620px;
	margin-top: 68px;

	margin-bottom: 30px;}

.unity-consultation__rule {
	width: 100%;
	height: 1px;
	margin-bottom: 31px;
	background: #ced8d5;
}

.unity-consultation__lower-title {
	margin: 0 0 8px;
	color: var(--unity-teal);
	font-family: "Libre Caslon Text", Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-consultation__lower-copy {
	max-width: 520px;
	margin: 0 0 24px;
	color: #304245;
	font-size: 14px;
	line-height: 1.65;
}

.unity-consultation__practice-link {
	margin-top: 4px;
}



.button--outline {
	background: transparent;
	color: var(--unity-teal);
}

.button--outline:hover,
.button--outline:focus-visible {
	background: var(--unity-teal);
	color: var(--unity-white);
}

.unity-consultation__card {
	align-self: stretch;
	padding: clamp(40px, 4vw, 57px) clamp(35px, 3.8vw, 55px);
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 22px 54px rgba(7, 58, 55, .06);

	padding-bottom: clamp(34px, 3.2vw, 46px);}

.unity-consultation__card-heading h3 {
	color: var(--unity-teal);
	font-size: clamp(31px, 2vw, 38px);
	line-height: 1;
	letter-spacing: -.018em;
}

.unity-consultation__card-heading p {
	margin: 17px 0 26px;
	color: #293b3e;
	font-size: 15px;
	line-height: 1.6;
}

.unity-consultation-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 17px 18px;
}

.unity-field--full {
	grid-column: 1 / -1;
}

.unity-field input,
.unity-field select,
.unity-field textarea {
	width: 100%;
	border: 1px solid rgba(11, 75, 71, .10);
	background: #f4f8f7;
	color: #26383b;
	font-family: var(--unity-sans);
	font-size: 15px;
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.unity-field input,
.unity-field select {
	min-height: 53px;
	padding: 0 24px;
	border-radius: 999px;
}

.unity-field select {
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--unity-teal) 50%),
		linear-gradient(135deg, var(--unity-teal) 50%, transparent 50%);
	background-position:
		calc(100% - 24px) 24px,
		calc(100% - 18px) 24px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 48px;
}

.unity-field textarea {
	min-height: 175px;
	padding: 18px 24px;
	border-radius: 18px;
	resize: vertical;
}

.unity-field input::placeholder,
.unity-field textarea::placeholder {
	color: #344649;
	opacity: 1;
}

.unity-field input:focus,
.unity-field select:focus,
.unity-field textarea:focus {
	border-color: rgba(11, 75, 71, .34);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(11, 75, 71, .05), 0 4px 12px rgba(7, 58, 55, .035);
}

.unity-field--button {
	padding-top: 10px;
}

.unity-form-button {
	box-shadow: 0 5px 14px rgba(7, 58, 55, .07);
}


@media (max-width: 1100px) {
	.unity-consultation__inner {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.unity-consultation__content {
		min-height: 0;
	}

	.unity-consultation__lower {
		margin-top: 46px;
		margin-bottom: 0;
	}
}

@media (max-width: 720px) {
	.unity-consultation {
		padding: 68px 0;
	}

	.unity-consultation__title {
		font-size: clamp(42px, 11.5vw, 56px);
	}

	.unity-consultation__intro {
		margin-top: 28px;
	}

	.unity-consultation__card {
		padding: 30px 20px;
		border-radius: 20px;
	}

	.unity-consultation-form {
		grid-template-columns: 1fr;
		gap: 13px;
	}

	.unity-field,
	.unity-field--full {
		grid-column: 1;
	}

	.unity-form-button {
		width: 100%;
	}
}

/* Standard content */

.content-area--narrow {
	max-width: 900px;
}

.entry-title {
	margin-bottom: 34px;
}

.entry + .entry {
	margin-top: 70px;
}

/* Footer */

.site-footer {
	padding: 64px 0;
	background: var(--unity-teal-deep);
	color: rgba(255,255,255,.74);
}

.site-footer__inner {
	width: min(var(--unity-container), calc(100% - 56px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr auto;
	gap: 40px;
	align-items: end;
}

.site-footer__name {
	margin: 0;
	color: var(--unity-white);
	font-family: var(--unity-serif);
	font-size: 30px;
}

.site-footer__tagline {
	margin: 8px 0 0;
}

.site-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu a {
	color: var(--unity-white);
	text-decoration: none;
	font-size: 14px;
}

.site-footer__legal {
	margin: 0;
	font-size: 13px;
}

/* Responsive */

@media (max-width: 1100px) {
	.primary-nav {
		position: fixed;
		inset: 92px 0 0;
		display: none;
		padding: 38px 28px;
		background: var(--unity-page);
		flex-direction: column;
		align-items: stretch;
	}

	.primary-nav.is-open {
		display: flex;
	}

	.primary-nav__menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.primary-nav__menu a {
		display: block;
		padding: 12px 0;
		font-family: var(--unity-serif);
		font-size: 28px;
	}

	.menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 12px;
	}

	.menu-toggle__icon {
		width: 26px;
		height: 18px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
	}

	.menu-toggle__icon span {
		display: block;
		height: 1px;
		background: currentColor;
	}

	.home-hero__inner,
	.unity-consultation__inner {
		grid-template-columns: 1fr;
	}

	.home-hero__visual {
		min-height: 520px;
	}

	.home-hero__image-placeholder {
		min-height: 520px;
	}

	.trust-strip__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.trust-strip__grid > div:nth-child(2) {
		border-right: 0;
	}

	.trust-strip__grid > div:nth-child(-n+2) {
		border-bottom: 1px solid var(--unity-line);
	}

	.unity-consultation__rule {
		margin-top: 46px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__legal {
		grid-column: 1 / -1;
	}
}

@media (max-width: 720px) {
	.container,
	.site-header__inner,
	.site-footer__inner {
		width: min(100% - 40px, var(--unity-container));
	}

	.site-header__inner {
		min-height: 78px;
	}

	.primary-nav {
		inset: 78px 0 0;
	}

	.site-branding__wordmark {
		font-size: 22px;
	}

	.home-hero {
		padding-top: 58px;
	}

	.home-hero__inner {
		gap: 44px;
	}

	.home-hero__visual,
	.home-hero__image-placeholder {
		min-height: 410px;
	}

	.home-hero__image-placeholder {
		border-radius: 90px 18px 90px 18px;
	}

	.trust-strip__grid {
		grid-template-columns: 1fr;
	}

	.trust-strip__grid > div,
	.trust-strip__grid > div:first-child {
		padding: 20px 0;
		border-right: 0;
		border-bottom: 1px solid var(--unity-line);
	}

	.trust-strip__grid > div:last-child {
		border-bottom: 0;
	}

	.treatment-grid {
		grid-template-columns: 1fr;
	}

	.treatment-card {
		min-height: 350px;
	}

	.unity-consultation-form {
		grid-template-columns: 1fr;
	}

	.unity-field,
	.unity-field--full {
		grid-column: 1;
	}

	.unity-consultation__card {
		padding: 30px 20px;
		border-radius: 22px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__legal {
		grid-column: 1;
	}
}


/* v0.39 visual refinements */
.home-hero {
	padding: clamp(78px, 8vw, 132px) 0 0;
}

.home-hero__copy {
	padding-bottom: 34px;
}

.home-hero__visual {
	position: relative;
	min-height: 690px;
}

.home-hero__visual-stack {
	position: relative;
	min-height: 690px;
	padding-left: clamp(0px, 3.8vw, 42px);
}

.home-hero__image-placeholder {
	position: relative;
	width: min(100%, 640px);
	margin-left: auto;
	min-height: 660px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 165px 22px 165px 22px;
	box-shadow: 0 30px 80px rgba(7, 58, 55, .12);
}

.home-hero__image-placeholder::after {
	content: "";
	position: absolute;
	inset: 16px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: inherit;
	pointer-events: none;
}

.home-hero__detail-card {
	position: absolute;
	left: 0;
	bottom: 28px;
	z-index: 2;
	width: min(360px, 74%);
	padding: 28px 28px 24px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 24px;
	background: #f4f8f7;
	box-shadow: 0 24px 58px rgba(7, 58, 55, .12);
	overflow: hidden;
}

.home-hero__detail-card::after {
	content: "";
	position: absolute;
	right: -30px;
	bottom: -36px;
	width: 112px;
	height: 112px;
	border: 6px solid rgba(11, 75, 71, .08);
	border-radius: 50%;
	pointer-events: none;
}

.home-hero__detail-eyebrow {
	margin: 0 0 14px;
	color: var(--unity-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.home-hero__detail-title {
	margin: 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: clamp(28px, 2vw, 34px);
	line-height: 1.06;
	letter-spacing: -.02em;
}

.home-hero__detail-copy {
	margin: 16px 0 0;
	color: #314447;
	font-size: 14px;
	line-height: 1.65;
}

.home-hero__detail-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.home-hero__detail-item strong,
.home-hero__detail-item span {
	display: block;
}

.home-hero__detail-item strong {
	color: var(--unity-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.home-hero__detail-item span {
	margin-top: 6px;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: 20px;
	line-height: 1.12;
	letter-spacing: -.018em;
}

.trust-strip {
	background: #fbfaf7;
}

.unity-faqs__support-card,
.unity-consultation__card {
	box-shadow: 0 22px 54px rgba(7, 58, 55, .06);
}


.unity-faq__button {
	min-height: 80px;
}

.unity-consultation__lower {
	position: relative;
	overflow: hidden;
	max-width: 560px;
	margin-top: 58px;
	margin-bottom: 30px;
	padding: 30px 32px 30px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 22px;
	background: rgba(255, 255, 255, .68);
	box-shadow: 0 18px 42px rgba(7, 58, 55, .04);
}

.unity-consultation__lower::after {
	content: "";
	position: absolute;
	right: -42px;
	bottom: -44px;
	width: 132px;
	height: 132px;
	border: 7px solid rgba(11, 75, 71, .08);
	border-radius: 50%;
	pointer-events: none;
}

.unity-consultation__rule {
	width: 54px;
	height: 3px;
	margin-bottom: 22px;
	background: rgba(11, 75, 71, .22);
	border-radius: 999px;
}

.unity-consultation__lower-copy,
.unity-faqs__support-copy {
	max-width: 420px;
}

@media (max-width: 1100px) {
	.home-hero__inner {
		grid-template-columns: 1fr;
	}

	.home-hero__visual,
	.home-hero__visual-stack {
		min-height: 0;
	}

	.home-hero__visual-stack {
		padding-left: 0;
	}

	.home-hero__image-placeholder {
		min-height: 560px;
	}

	.home-hero__detail-card {
		left: 24px;
	}
}

@media (max-width: 720px) {
	.home-hero {
		padding-top: 58px;
	}

	.home-hero__copy {
		padding-bottom: 0;
	}

	.home-hero__visual,
	.home-hero__visual-stack {
		min-height: 0;
	}

	.home-hero__image-placeholder {
		width: 100%;
		min-height: 360px;
		border-radius: 96px 18px 96px 18px;
	}

	.home-hero__detail-card {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		margin-top: 18px;
		padding: 24px 22px 20px;
	}

	.home-hero__detail-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.unity-consultation__lower {
		padding: 24px 22px 24px;
	}
}


/* v0.40 hero polish + simplified homepage */
.home-hero {
	background: #fbfaf7;
}

.home-hero__inner {
	max-width: 1250px;
}

.home-hero__copy {
	align-self: center;
	padding-bottom: 60px;
}

.home-hero .eyebrow {
	margin-bottom: 22px;
}

.home-hero h1 {
	max-width: 640px;
	font-size: clamp(58px, 5.6vw, 84px);
	line-height: 1.04;
	letter-spacing: -.025em;
}

.home-hero__intro {
	max-width: 590px;
	margin-top: 30px;
	font-size: 17px;
	line-height: 1.7;
}

.home-hero__actions {
	margin-top: 34px;
}

.home-hero__visual {
	align-self: stretch;
}

.home-hero__visual-stack {
	display: flex;
	align-items: center;
}

.home-hero__image-placeholder {
	min-height: 620px;
	background:
		radial-gradient(circle at 72% 24%, rgba(255,255,255,.56), transparent 26%),
		linear-gradient(145deg, #c9dbd6 0%, #e5eeeb 100%);
}

.home-hero__detail-card {
	width: min(380px, 76%);
	padding: 30px 30px 26px;
}

.home-hero__detail-title {
	font-size: clamp(30px, 2.15vw, 36px);
	line-height: 1.08;
}

.home-hero__treatment-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.home-hero__treatment-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 14px;
	border: 1px solid rgba(11, 75, 71, .10);
	border-radius: 999px;
	background: var(--unity-mint);
	color: var(--unity-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (max-width: 1100px) {
	.home-hero__copy {
		padding-bottom: 0;
	}

	.home-hero__visual-stack {
		display: block;
	}
}

@media (max-width: 720px) {
	.home-hero h1 {
		font-size: clamp(48px, 14vw, 66px);
	}

	.home-hero__image-placeholder {
		min-height: 380px;
	}

	.home-hero__detail-card {
		width: 100%;
	}
}


/* v0.46 — authoritative editorial FAQ accordion */
.unity-faqs__list {
	display: block;
	border-top: 1px solid rgba(11, 75, 71, .16);
}

.unity-faq {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: visible;
	border: 0;
	border-bottom: 1px solid rgba(11, 75, 71, .16);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.unity-faq.is-open {
	border-bottom-color: rgba(11, 75, 71, .24);
	background: transparent;
	box-shadow: none;
}

.unity-faq__heading {
	width: 100%;
	margin: 0;
	padding: 0;
}

.unity-faq__button {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 78px;
	margin: 0;
	padding: 20px 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: var(--unity-teal);
	font: inherit;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 40px;
	gap: 24px;
	align-items: center;
	text-align: left;
	cursor: pointer;
}

.unity-faq__button:hover,
.unity-faq__button:focus-visible {
	background: transparent;
	color: var(--unity-teal);
}

.unity-faq__button > span:first-child {
	display: block;
	min-width: 0;
	font-family: var(--unity-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -.018em;
}

.unity-faq__icon {
	position: relative;
	justify-self: end;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(11, 75, 71, .18);
	border-radius: 50%;
	background: rgba(255, 255, 255, .72);
	box-shadow: none;
}

.unity-faq__icon::before,
.unity-faq__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 1.5px;
	background: var(--unity-teal);
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.unity-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.unity-faq.is-open .unity-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.unity-faq__panel {
	padding: 0 64px 24px 0;
	color: #314447;
}

.unity-faq__panel[hidden] {
	display: none !important;
}

.unity-faq__panel p {
	max-width: 620px;
	margin: 0;
	font-family: var(--unity-sans);
	font-size: 15px;
	line-height: 1.7;
}

@media (max-width: 720px) {
	.unity-faq__button {
		min-height: 68px;
		padding: 17px 0;
		grid-template-columns: minmax(0, 1fr) 36px;
		gap: 16px;
	}

	.unity-faq__button > span:first-child {
		font-size: 19px;
	}

	.unity-faq__icon {
		width: 36px;
		height: 36px;
	}

	.unity-faq__panel {
		padding: 0 0 20px;
	}
}


/* v0.47 — FAQ spacing and simplified controls */
.unity-faq__button {
	min-height: 94px;
	padding: 28px 0;
	grid-template-columns: minmax(0, 1fr) 28px;
	gap: 30px;
}

.unity-faq__icon {
	justify-self: end;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.unity-faq__icon::before,
.unity-faq__icon::after {
	width: 16px;
	height: 1.5px;
}

.unity-faq__panel {
	padding: 0 58px 30px 0;
}

@media (max-width: 720px) {
	.unity-faq__button {
		min-height: 82px;
		padding: 23px 0;
		grid-template-columns: minmax(0, 1fr) 26px;
		gap: 18px;
	}

	.unity-faq__icon {
		width: 26px;
		height: 26px;
	}

	.unity-faq__panel {
		padding: 0 0 24px;
	}
}


/* v0.49 — patient feedback quote scale */
.unity-reviews__quote-row {
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 26px;
}

.unity-reviews__quote-mark {
	font-size: 128px;
	line-height: .62;
	padding-top: 10px;
}

.unity-review__quote {
	line-height: 1.20;
}

@media (max-width: 980px) {
	.unity-reviews__quote-row {
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 22px;
	}

	.unity-reviews__quote-mark {
		font-size: 110px;
		line-height: .64;
		padding-top: 8px;
	}
}

@media (max-width: 720px) {
	.unity-reviews__quote-row {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.unity-reviews__quote-mark {
		height: 60px;
		font-size: 92px;
		line-height: .7;
		padding-top: 0;
	}

	.unity-review__quote {
		line-height: 1.18;
	}
}


/* v0.51 — restrained process-card colour rhythm */
.unity-process-card {
	background: #fff;
}

.unity-process-card:nth-child(even) {
	background: #e7f0ed;
}

.unity-process-card:nth-child(odd) .unity-process-card__number {
	background: #edf4f2;
}

.unity-process-card:nth-child(even) .unity-process-card__number {
	background: rgba(255, 255, 255, .82);
}


/* v0.53 — unified homepage design system */
:root {
	--unity-surface-base: #fbfaf7;
	--unity-surface-cool: #f1f5f3;
	--unity-surface-warm: #f3eee5;
	--unity-section-space: clamp(92px, 7.5vw, 128px);
	--unity-section-title-size: clamp(44px, 3.8vw, 58px);
	--unity-section-title-line: 1.15;
	--unity-card-radius: 22px;
	--unity-card-border: 1px solid rgba(11, 75, 71, .08);
	--unity-card-shadow: 0 22px 54px rgba(7, 58, 55, .06);
}

/* Shared section typography */
.unity-section-title {
	font-size: var(--unity-section-title-size);
	line-height: var(--unity-section-title-line);
	letter-spacing: -.018em;
}

.unity-section-title span {
	display: block;
}

.eyebrow {
	margin-bottom: 20px;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .13em;
}

/* Shared card language */
.unity-card {
	border: var(--unity-card-border);
	border-radius: var(--unity-card-radius);
	box-shadow: var(--unity-card-shadow);
}

/* Intentional page rhythm: base → cool → warm → base → cool → dark → warm */
.home-hero {
	background: var(--unity-surface-base);
}

.unity-treatment-showcase {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
	background: var(--unity-surface-cool);
}

.unity-process {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
	background: var(--unity-surface-warm);
}

.unity-positioning {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
	background: var(--unity-surface-base);
}

.unity-faqs {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
	background: var(--unity-surface-cool);
}

.unity-reviews {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
}

.unity-consultation {
	padding-top: var(--unity-section-space);
	padding-bottom: var(--unity-section-space);
	background: var(--unity-surface-warm);
}

/* Section-title widths: same scale, different natural measure */
.unity-treatment-showcase__title {
	max-width: 620px;
}

.unity-process__title {
	max-width: 700px;
	margin-top: 0;
}

.unity-faqs__title {
	max-width: 550px;
}

.unity-consultation__title {
	max-width: 620px;
}

/* Keep FAQ heading as a deliberate two-line lockup */
.unity-faqs__title span:last-child {
	color: var(--unity-heading-muted);
}

/* Shared intro-copy rhythm */
.unity-treatment-showcase__copy,
.unity-process__lead,
.unity-consultation__intro {
	margin-top: 28px;
	font-size: 16px;
	line-height: 1.7;
	color: #304245;
}

/* Shared cards retain their own background, but not their own geometry */
.home-hero__detail-card,
.unity-faqs__support-card,
.unity-consultation__lower,
.unity-consultation__card,
.unity-treatment-option,
.unity-process-card {
	border-radius: var(--unity-card-radius);
	box-shadow: var(--unity-card-shadow);
}

/* Treatment + journey cards now feel like the same family */
.unity-treatment-option,
.unity-process-card {
	border-color: rgba(11, 75, 71, .08);
}

.unity-treatment-option__number,
.unity-process-card__number {
	width: 44px;
	height: 44px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
}

/* Positioning statement remains a feature, but follows the same vertical rhythm */
.unity-positioning__eyebrow {
	margin-bottom: 20px;
}

.unity-positioning__statement {
	font-size: clamp(40px, 3.5vw, 52px);
	line-height: 1.15;
}

.unity-positioning__support {
	margin-top: 24px;
	font-size: 15px;
	line-height: 1.65;
}

/* FAQ support card and consultation support card share scale */
.unity-faqs__support-card,
.unity-consultation__lower {
	background: rgba(255, 255, 255, .88);
}

.unity-faqs__support-title,
.unity-consultation__lower-title {
	font-size: 25px;
	line-height: 1.15;
}

/* Form card belongs to the same card system */
.unity-consultation__card {
	background: #fff;
}

.unity-consultation__card-heading h3 {
	font-size: clamp(30px, 2vw, 36px);
	line-height: 1.15;
}

/* Review controls / process controls share a visual size */
.unity-process__control,
.unity-reviews__control {
	width: 48px;
	height: 48px;
}

/* Hero remains the one deliberately larger typographic moment */
.home-hero h1 {
	max-width: 620px;
	font-size: clamp(62px, 6.2vw, 90px);
	line-height: .98;
}

.home-hero__intro {
	max-width: 610px;
	font-size: 16px;
	line-height: 1.7;
}

.home-hero__detail-card {
	border-radius: var(--unity-card-radius);
}

/* Prevent the standard system from changing the deliberately square FAQ rows */
.unity-faq {
	box-shadow: none;
	border-radius: 0;
}

@media (max-width: 720px) {
	:root {
		--unity-section-space: 72px;
		--unity-section-title-size: clamp(40px, 11vw, 52px);
	}

	.home-hero h1 {
		font-size: clamp(54px, 15vw, 72px);
	}
}


/* v0.54 — journey section cohesion */
.unity-process {
	background: var(--unity-surface-base);
	border-top: 1px solid rgba(11, 75, 71, .08);
	border-bottom: 0;
}

.unity-process__heading-row {
	position: relative;
	z-index: 1;
}

.unity-process-card {
	background: #fff;
}

.unity-process-card:nth-child(even) {
	background: #e7f0ed;
}

.unity-process-card:nth-child(odd) .unity-process-card__number {
	background: #edf4f2;
}

.unity-process-card:nth-child(even) .unity-process-card__number {
	background: rgba(255, 255, 255, .82);
}


/* v0.55 — consultation section cohesion */
.unity-consultation {
	background: var(--unity-surface-base);
}

.unity-consultation__card,
.unity-consultation__lower {
	background: #fff;
}


/* v0.56 — flatter implant journey cards */
.unity-process-card {
	box-shadow: 0 8px 22px rgba(7, 58, 55, .025);
	border-color: rgba(11, 75, 71, .09);
}


/* v0.57 — stronger patient-feedback quote device */
.unity-reviews__eyebrow {
	margin-bottom: 64px;
}

.unity-reviews__quote-row {
	grid-template-columns: 126px minmax(0, 1fr);
	gap: 30px;
}

.unity-reviews__quote-mark {
	font-size: 180px;
	line-height: .52;
	padding-top: 8px;
}

@media (max-width: 980px) {
	.unity-reviews__eyebrow {
		margin-bottom: 54px;
	}

	.unity-reviews__quote-row {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 26px;
	}

	.unity-reviews__quote-mark {
		font-size: 148px;
		line-height: .55;
	}
}

@media (max-width: 720px) {
	.unity-reviews__eyebrow {
		margin-bottom: 38px;
	}

	.unity-reviews__quote-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.unity-reviews__quote-mark {
		height: 76px;
		font-size: 118px;
		line-height: .58;
	}
}


/* v0.58 — editorial site footer */

.button--light {
	background: #fff;
	color: var(--unity-teal-deep);
}

.button--light:hover,
.button--light:focus-visible {
	background: var(--unity-mint);
	color: var(--unity-teal-deep);
}

.site-footer {
	padding: clamp(84px, 7vw, 118px) 0 0;
	background: var(--unity-teal-deep);
	color: rgba(255, 255, 255, .72);
}

.site-footer__inner {
	width: min(100% - 56px, 1250px);
	margin-inline: auto;
	display: block;
}

.site-footer__statement {
	padding-bottom: clamp(64px, 6vw, 94px);
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.site-footer__statement p {
	max-width: 1120px;
	margin: 0;
	font-family: var(--unity-serif);
	font-size: clamp(54px, 6vw, 88px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.03em;
}

.site-footer__statement span {
	display: block;
	color: #fff;
}

.site-footer__statement span:last-child {
	color: #9eb8b2;
}

.site-footer__main {
	padding: clamp(58px, 5vw, 78px) 0;
	display: grid;
	grid-template-columns: minmax(320px, .9fr) minmax(0, 1.35fr);
	gap: clamp(70px, 8vw, 130px);
	align-items: start;
}

.site-footer__cta {
	max-width: 420px;
}

.site-footer__kicker,
.site-footer__column-title {
	margin: 0;
	color: #a9bfba;
	font-family: var(--unity-sans);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.site-footer__cta h2 {
	margin: 20px 0 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(30px, 2.4vw, 38px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.site-footer__cta > p:not(.site-footer__kicker) {
	max-width: 390px;
	margin: 18px 0 28px;
	color: rgba(255, 255, 255, .72);
	font-size: 15px;
	line-height: 1.7;
}

.site-footer__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 42px;
}

.site-footer__column ul {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.site-footer__column li + li {
	margin-top: 13px;
}

.site-footer__column a,
.site-footer__legal-links a {
	color: rgba(255, 255, 255, .9);
	text-decoration: none;
	transition: color .2s ease, opacity .2s ease;
}

.site-footer__column a {
	font-size: 15px;
	line-height: 1.4;
}

.site-footer__column a:hover,
.site-footer__column a:focus-visible,
.site-footer__legal-links a:hover,
.site-footer__legal-links a:focus-visible {
	color: #fff;
}

.site-footer__bottom {
	padding: 28px 0 32px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 34px;
	align-items: end;
}

.site-footer__brand {
	min-width: 0;
}

.site-footer__name {
	margin: 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: 22px;
	line-height: 1.1;
}

.site-footer__tagline {
	margin: 7px 0 0;
	color: rgba(255, 255, 255, .52);
	font-size: 12px;
	line-height: 1.5;
}

.site-footer__legal {
	margin: 0;
	color: rgba(255, 255, 255, .52);
	font-size: 12px;
	white-space: nowrap;
}

.site-footer__legal-links {
	display: flex;
	gap: 22px;
}

.site-footer__legal-links a {
	color: rgba(255, 255, 255, .62);
	font-size: 12px;
}

@media (max-width: 980px) {
	.site-footer__main {
		grid-template-columns: 1fr;
		gap: 54px;
	}

	.site-footer__cta {
		max-width: 520px;
	}

	.site-footer__bottom {
		grid-template-columns: 1fr auto;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 720px) {
	.site-footer {
		padding-top: 72px;
	}

	.site-footer__inner {
		width: min(100% - 40px, 1250px);
	}

	.site-footer__statement {
		padding-bottom: 54px;
	}

	.site-footer__statement p {
		font-size: clamp(48px, 14vw, 66px);
	}

	.site-footer__main {
		padding: 52px 0;
	}

	.site-footer__links {
		grid-template-columns: 1fr 1fr;
		gap: 38px 28px;
	}

	.site-footer__bottom {
		grid-template-columns: 1fr;
		gap: 18px;
		align-items: start;
	}

	.site-footer__brand {
		grid-column: auto;
	}

	.site-footer__legal {
		white-space: normal;
	}

	.site-footer__legal-links {
		flex-wrap: wrap;
	}
}

@media (max-width: 520px) {
	.site-footer__links {
		grid-template-columns: 1fr;
	}
}


/* v0.59 — footer wording and navigation refinement */
.site-footer__column-title {
	color: #c2d2ce;
	font-size: 12px;
	letter-spacing: .14em;
}

.site-footer__column ul {
	margin-top: 20px;
}

.site-footer__column li + li {
	margin-top: 14px;
}

.site-footer__column a {
	color: rgba(255, 255, 255, .96);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -.005em;
}

.site-footer__column a:hover,
.site-footer__column a:focus-visible {
	color: #fff;
	opacity: .82;
}

.site-footer__tagline {
	color: rgba(255, 255, 255, .62);
}


/* v0.60 — header logo placeholder + navigation/footer tidy-up */
.site-branding__placeholder {
	width: 190px;
	height: 48px;
	padding: 0 18px;
	border: 1px dashed rgba(11, 75, 71, .34);
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(11, 75, 71, .62);
	background: rgba(255, 255, 255, .5);
	font-family: var(--unity-sans);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.site-branding .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.site-branding .custom-logo {
	max-width: 220px;
	max-height: 58px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.primary-nav__menu a {
	color: var(--unity-teal-deep);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.005em;
}

.primary-nav__menu a:hover,
.primary-nav__menu a:focus-visible {
	color: var(--unity-teal);
}

.site-footer__bottom {
	grid-template-columns: 1fr auto;
	align-items: center;
}

.site-footer__legal {
	justify-self: start;
}

.site-footer__legal-links {
	justify-self: end;
}

@media (max-width: 720px) {
	.site-branding__placeholder {
		width: 148px;
		height: 42px;
		padding-inline: 14px;
		font-size: 10px;
	}

	.site-branding .custom-logo {
		max-width: 170px;
		max-height: 48px;
	}

	.site-footer__bottom {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.site-footer__legal,
	.site-footer__legal-links {
		justify-self: start;
	}
}


/* v0.61 — meeting-led primary navigation */
.primary-nav {
	gap: 24px;
}

.primary-nav__menu {
	gap: 22px;
}

.primary-nav__menu > .menu-item {
	position: relative;
}

.primary-nav__menu > .menu-item > a {
	position: relative;
	padding: 10px 0;
	white-space: nowrap;
}

.primary-nav__menu > .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.primary-nav__menu > .menu-item-has-children > a::after {
	content: "⌄";
	position: relative;
	top: -1px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}

.primary-nav .sub-menu {
	position: absolute;
	left: -24px;
	top: calc(100% + 8px);
	z-index: 120;
	min-width: 248px;
	margin: 0;
	padding: 14px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(7, 58, 55, .10);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.primary-nav .sub-menu li + li {
	margin-top: 2px;
}

.primary-nav .sub-menu a {
	display: block;
	padding: 11px 12px;
	border-radius: 9px;
	color: var(--unity-teal-deep);
	font-family: var(--unity-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
}

.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus-visible {
	background: var(--unity-mint);
	color: var(--unity-teal-deep);
}

@media (max-width: 1220px) and (min-width: 1101px) {
	.primary-nav {
		gap: 18px;
	}

	.primary-nav__menu {
		gap: 16px;
	}

	.primary-nav__menu a {
		font-size: 14px;
	}
}

@media (max-width: 1100px) {
	.primary-nav__menu {
		width: 100%;
		gap: 0;
	}

	.primary-nav__menu > .menu-item {
		width: 100%;
		border-bottom: 1px solid rgba(11, 75, 71, .10);
	}

	.primary-nav__menu > .menu-item > a {
		width: 100%;
		padding: 15px 0;
	}

	.primary-nav__menu > .menu-item-has-children > a::after {
		margin-left: auto;
	}

	.primary-nav .sub-menu {
		position: static;
		min-width: 0;
		width: 100%;
		margin: -2px 0 12px;
		padding: 0 0 4px 20px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-nav .sub-menu a {
		padding: 8px 0;
		border-radius: 0;
		font-family: var(--unity-sans);
		font-size: 16px;
		font-weight: 500;
		color: rgba(11, 75, 71, .72);
	}

	.primary-nav .sub-menu a:hover,
	.primary-nav .sub-menu a:focus-visible {
		background: transparent;
		color: var(--unity-teal-deep);
	}
}


/* v0.62 — patient feedback quote spacing */
.unity-review__quote {
	line-height: 1.3;
}


/* =========================================================
   v0.63 — navigation polish + reusable section movement
   ========================================================= */

/* Header becomes a calm persistent navigation layer. */
.site-header {
	position: sticky;
	top: 0;
	z-index: 500;
	background: rgba(251, 250, 247, .92);
	border-bottom-color: rgba(11, 75, 71, .07);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	transition: box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}

.site-header.is-scrolled {
	background: rgba(251, 250, 247, .97);
	border-bottom-color: rgba(11, 75, 71, .10);
	box-shadow: 0 12px 34px rgba(7, 58, 55, .055);
}

.site-header__inner {
	width: min(1360px, calc(100% - 56px));
	gap: 28px;
}

.primary-nav {
	gap: 22px;
}

.primary-nav__menu {
	gap: clamp(15px, 1.45vw, 24px);
}

.primary-nav__menu > .menu-item > a {
	padding: 35px 0 34px;
	color: #153f3c;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.01em;
	background-image: linear-gradient(var(--unity-teal), var(--unity-teal));
	background-position: 0 calc(100% - 25px);
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: color .2s ease, background-size .22s ease;
}

.primary-nav__menu > .menu-item > a:hover,
.primary-nav__menu > .menu-item > a:focus-visible,
.primary-nav__menu > .current-menu-item > a,
.primary-nav__menu > .current-menu-ancestor > a {
	color: var(--unity-teal);
	background-size: 100% 1px;
}

.primary-nav__menu > .menu-item-has-children > a {
	gap: 9px;
}

.primary-nav__menu > .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease;
}

.primary-nav__menu > .menu-item-has-children:hover > a::after,
.primary-nav__menu > .menu-item-has-children:focus-within > a::after {
	transform: translateY(2px) rotate(225deg);
}

.primary-nav .sub-menu {
	left: -22px;
	top: calc(100% - 16px);
	min-width: 286px;
	padding: 12px;
	border: 1px solid rgba(11, 75, 71, .08);
	border-radius: 18px;
	box-shadow: 0 22px 50px rgba(7, 58, 55, .095);
	transform: translateY(10px);
}

.primary-nav .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -16px;
	height: 16px;
}

.primary-nav .sub-menu li + li {
	margin-top: 2px;
}

.primary-nav .sub-menu a {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-height: 48px;
	padding: 10px 12px;
	border-radius: 11px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -.005em;
}

.primary-nav .sub-menu a::before {
	color: var(--unity-heading-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .09em;
}

.primary-nav .sub-menu li:nth-child(1) > a::before { content: "01"; }
.primary-nav .sub-menu li:nth-child(2) > a::before { content: "02"; }
.primary-nav .sub-menu li:nth-child(3) > a::before { content: "03"; }

.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus-visible {
	background: #edf4f2;
}

.primary-nav > .button--small {
	min-height: 50px;
	padding-inline: 23px;
	font-size: 14px;
	white-space: nowrap;
}

/* Reusable reveal primitives. */
.unity-reveal {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	transition:
		opacity .72s cubic-bezier(.22, 1, .36, 1),
		transform .86s cubic-bezier(.22, 1, .36, 1);
	transition-delay: var(--unity-reveal-delay, 0ms);
	will-change: opacity, transform;
}

.unity-reveal--right {
	transform: translate3d(34px, 0, 0);
}

.unity-reveal--left {
	transform: translate3d(-34px, 0, 0);
}

.unity-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Tiny additional movement on interactive cards only. */
.unity-treatment-option,
.unity-process-card,
.unity-faqs__support-card,
.unity-consultation__card {
	transition-property: opacity, transform, box-shadow, border-color;
}

@media (max-width: 1220px) and (min-width: 1101px) {
	.site-header__inner {
		width: min(100% - 42px, 1360px);
	}

	.primary-nav {
		gap: 16px;
	}

	.primary-nav__menu {
		gap: 13px;
	}

	.primary-nav__menu > .menu-item > a {
		font-size: 13.5px;
	}

	.primary-nav > .button--small {
		padding-inline: 18px;
		font-size: 13px;
	}
}

@media (max-width: 1100px) {
	.site-header {
		-webkit-backdrop-filter: blur(18px);
		backdrop-filter: blur(18px);
	}

	.primary-nav {
		inset: 92px 0 0;
		gap: 26px;
		padding: 28px 28px 38px;
		background: rgba(251, 250, 247, .985);
		overflow-y: auto;
	}

	.primary-nav__menu > .menu-item > a {
		padding: 15px 0;
		font-family: var(--unity-serif);
		font-size: 27px;
		font-weight: 400;
		line-height: 1.08;
		background: none;
	}

	.primary-nav__menu > .menu-item-has-children > a::after {
		width: 9px;
		height: 9px;
		margin-left: auto;
	}

	.primary-nav .sub-menu {
		margin: -2px 0 10px;
		padding: 0 0 8px 2px;
	}

	.primary-nav .sub-menu a {
		grid-template-columns: 28px minmax(0, 1fr);
		min-height: 0;
		padding: 8px 0;
		font-family: var(--unity-sans);
		font-size: 15px;
		font-weight: 600;
	}

	.primary-nav > .button--small {
		width: 100%;
		min-height: 56px;
		margin-top: 2px;
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.unity-reveal,
	.unity-reveal--right,
	.unity-reveal--left {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.site-header,
	.primary-nav__menu > .menu-item > a,
	.primary-nav .sub-menu,
	.primary-nav__menu > .menu-item-has-children > a::after {
		transition: none !important;
	}
}


/* =========================================================
   v0.64 — cleaner premium navigation
   ========================================================= */

.site-header__inner {
	min-height: 96px;
}

.site-branding {
	flex: 0 0 auto;
}

.site-branding__placeholder {
	width: 166px;
	height: 54px;
	padding: 0 16px;
	border: 1px solid rgba(11, 75, 71, .22);
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 3px;
	background: rgba(255, 255, 255, .38);
	color: var(--unity-teal-deep);
}

.site-branding__placeholder-main {
	font-family: var(--unity-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: .95;
	letter-spacing: -.02em;
}

.site-branding__placeholder-sub {
	font-family: var(--unity-sans);
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .15em;
	opacity: .58;
}

.primary-nav {
	margin-left: auto;
	gap: 28px;
}

.primary-nav__menu {
	gap: clamp(22px, 2vw, 34px);
}

.primary-nav__menu > .menu-item > a {
	padding: 38px 0 37px;
	color: #173f3c;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -.015em;
	background-image: none;
}

.primary-nav__menu > .menu-item > a:hover,
.primary-nav__menu > .menu-item > a:focus-visible,
.primary-nav__menu > .current-menu-item > a,
.primary-nav__menu > .current-menu-ancestor > a {
	color: var(--unity-teal);
	background-size: 0;
}

.primary-nav__menu > .menu-item > a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 27px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .18s ease, transform .18s ease;
}

.primary-nav__menu > .menu-item > a:hover::before,
.primary-nav__menu > .menu-item > a:focus-visible::before,
.primary-nav__menu > .current-menu-item > a::before,
.primary-nav__menu > .current-menu-ancestor > a::before {
	opacity: .58;
	transform: translateY(0);
}

.primary-nav__menu > .menu-item-has-children > a::before {
	left: calc(50% - 5px);
}

.primary-nav .sub-menu {
	min-width: 300px;
	padding: 10px;
}

.primary-nav .sub-menu li:nth-child(4) > a::before {
	content: "£";
	font-size: 13px;
	letter-spacing: 0;
}

.primary-nav .sub-menu .sub-menu__utility {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(11, 75, 71, .09);
}

.primary-nav .sub-menu .sub-menu__utility a {
	color: var(--unity-teal);
}

.primary-nav > .button--small {
	min-height: 52px;
	padding-inline: 24px;
	font-size: 14px;
	font-weight: 600;
}

@media (max-width: 1240px) and (min-width: 1101px) {
	.site-header__inner {
		width: min(100% - 36px, 1360px);
		gap: 20px;
	}

	.site-branding__placeholder {
		width: 145px;
	}

	.primary-nav {
		gap: 18px;
	}

	.primary-nav__menu {
		gap: 18px;
	}

	.primary-nav__menu > .menu-item > a {
		font-size: 14.5px;
	}
}

@media (max-width: 1100px) {
	.site-branding__placeholder {
		width: 150px;
		height: 48px;
	}

	.primary-nav__menu > .menu-item > a::before {
		display: none;
	}

	.primary-nav .sub-menu .sub-menu__utility {
		margin-top: 6px;
		padding-top: 10px;
	}
}


/* =========================================================
   v0.65 — centred navigation + video-led hero + detail polish
   ========================================================= */

/* Truly centre the menu between the logo and the CTA. */
@media (min-width: 1101px) {
	.site-header__inner {
		width: min(1360px, calc(100% - 56px));
		min-height: 96px;
		display: grid;
		grid-template-columns: 190px minmax(0, 1fr) 190px;
		gap: 24px;
		align-items: center;
	}

	.site-branding {
		justify-self: start;
	}

	.primary-nav {
		justify-self: center;
		margin: 0;
		gap: 0;
	}

	.primary-nav__menu {
		justify-content: center;
	}

	.site-header__desktop-cta {
		justify-self: end;
		white-space: nowrap;
	}

	.site-header__mobile-cta {
		display: none;
	}
}

/* Hero becomes a cinematic intro: video first, statement underneath. */
.home-hero {
	padding: 40px 0 var(--unity-section-space);
	background: var(--unity-surface-base);
}

.home-hero__inner {
	max-width: 1250px;
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: stretch;
}

.home-hero__video {
	width: 100%;
}

.home-hero__video-placeholder {
	position: relative;
	width: 100%;
	min-height: 560px;
	aspect-ratio: 16 / 7.6;
	overflow: hidden;
	border: 1px solid rgba(11, 75, 71, .07);
	border-radius: 28px;
	background:
		radial-gradient(circle at 72% 24%, rgba(255, 255, 255, .66), transparent 27%),
		linear-gradient(135deg, #c7d9d4 0%, #e9efed 58%, #dce8e4 100%);
	box-shadow: 0 28px 70px rgba(7, 58, 55, .075);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
}

.home-hero__video-placeholder::before {
	content: "";
	position: absolute;
	left: -110px;
	bottom: -220px;
	width: 480px;
	height: 480px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 50%;
}

.home-hero__play {
	position: relative;
	z-index: 1;
	width: 82px;
	height: 82px;
	padding-left: 5px;
	border: 1px solid rgba(11, 75, 71, .14);
	border-radius: 50%;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 16px 38px rgba(7, 58, 55, .08);
	display: grid;
	place-items: center;
	color: var(--unity-teal);
	font-size: 20px;
}

.home-hero__video-label {
	position: relative;
	z-index: 1;
	color: rgba(11, 75, 71, .68);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.home-hero__copy {
	max-width: 1050px;
	margin: clamp(66px, 6vw, 88px) auto 0;
	padding: 0;
	text-align: center;
}

.home-hero .eyebrow {
	margin-bottom: 24px;
}

.home-hero h1 {
	max-width: 1050px;
	margin: 0 auto;
	font-size: clamp(64px, 6.5vw, 94px);
	line-height: 1.02;
	letter-spacing: -.028em;
}

.home-hero h1 span {
	display: block;
}

.home-hero__intro {
	max-width: 760px;
	margin: 34px auto 0;
	font-size: 18px;
	line-height: 1.72;
}

.home-hero__actions {
	justify-content: center;
	margin-top: 36px;
}

/* Give the 01 / 02 / 03 treatment titles a little more air. */
.unity-treatment-option__body h3 {
	line-height: 1.14;
}

/* Location choices: keep the 2 x 3 system, but make it feel less like six CTAs. */
.unity-positioning__practices {
	max-width: 980px;
	margin-top: 42px;
	gap: 16px;
}

.unity-positioning__practice {
	min-height: 64px;
	padding-inline: 24px;
	border-radius: 16px;
	box-shadow: none;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -.005em;
}

.unity-positioning__practice:hover,
.unity-positioning__practice:focus-visible {
	transform: none;
	box-shadow: none;
	background: var(--unity-teal-deep);
}

/* Slightly more separation between the location statement and the choices. */
.unity-positioning__support {
	margin-top: 26px;
}

@media (max-width: 1240px) and (min-width: 1101px) {
	.site-header__inner {
		grid-template-columns: 150px minmax(0, 1fr) 174px;
		gap: 18px;
	}

	.primary-nav__menu {
		gap: 17px;
	}

	.primary-nav__menu > .menu-item > a {
		font-size: 14px;
	}

	.site-header__desktop-cta {
		min-height: 50px;
		padding-inline: 18px;
		font-size: 13px;
	}
}

@media (max-width: 1100px) {
	.site-header__inner {
		display: flex;
		justify-content: space-between;
	}

	.site-header__desktop-cta {
		display: none;
	}

	.site-header__mobile-cta {
		display: inline-flex;
		width: 100%;
		min-height: 56px;
		margin-top: 4px;
	}

	.home-hero {
		padding-top: 28px;
	}

	.home-hero__video-placeholder {
		min-height: 460px;
		aspect-ratio: 16 / 8.5;
	}

	.home-hero__copy {
		margin-top: 58px;
	}
}

@media (max-width: 720px) {
	.home-hero {
		padding-top: 20px;
	}

	.home-hero__video-placeholder {
		min-height: 330px;
		aspect-ratio: 4 / 3;
		border-radius: 20px;
	}

	.home-hero__play {
		width: 68px;
		height: 68px;
		font-size: 17px;
	}

	.home-hero__copy {
		margin-top: 46px;
	}

	.home-hero h1 {
		font-size: clamp(50px, 14vw, 68px);
		line-height: 1.03;
	}

	.home-hero__intro {
		max-width: 540px;
		margin-top: 28px;
		font-size: 16px;
	}

	.home-hero__actions {
		margin-top: 30px;
	}

	.unity-positioning__practices {
		gap: 12px;
	}

	.unity-positioning__practice {
		min-height: 60px;
		border-radius: 14px;
	}
}


/* v0.66 — softer transition into Treatment Options */
.unity-treatment-showcase {
	background:
		linear-gradient(
			180deg,
			var(--unity-surface-base) 0%,
			#f4f8f6 10%,
			#edf4f2 26%,
			var(--unity-surface-cool) 52%,
			var(--unity-surface-cool) 100%
		);
}


/* v0.67 — location section refinement */
.unity-positioning__practices {
	max-width: 980px;
	gap: 14px 16px;
}

.unity-positioning__practice {
	min-height: 58px;
	padding: 0 22px;
	border: 1px solid rgba(11, 75, 71, .14);
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
	color: var(--unity-teal-deep);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
}

.unity-positioning__practice-arrow {
	flex: 0 0 auto;
	color: var(--unity-heading-muted);
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
	transition: transform .2s ease, color .2s ease;
}

.unity-positioning__practice:hover,
.unity-positioning__practice:focus-visible {
	background: #f4f8f6;
	border-color: rgba(11, 75, 71, .24);
	color: var(--unity-teal-deep);
	transform: none;
	box-shadow: none;
}

.unity-positioning__practice:hover .unity-positioning__practice-arrow,
.unity-positioning__practice:focus-visible .unity-positioning__practice-arrow {
	color: var(--unity-teal);
	transform: translateX(4px);
}

@media (max-width: 720px) {
	.unity-positioning__practice {
		min-height: 56px;
		padding-inline: 18px;
	}
}


/* =========================================================
   v0.70 — Why Unity / confidence split section
   ========================================================= */

.unity-confidence {
	padding: 0;
	background: var(--unity-surface-base);
	overflow: hidden;
}

.unity-confidence__grid {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
}

.unity-confidence__media,
.unity-confidence__content {
	position: relative;
	min-height: 760px;
}

.unity-confidence__media {
	overflow: hidden;
	background: #dce9e5;
}

.unity-confidence__image-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 68% 25%, rgba(255, 255, 255, .72), transparent 25%),
		linear-gradient(135deg, #c5d9d3 0%, #e5eeeb 52%, #b9d0ca 100%);
	color: rgba(11, 75, 71, .6);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-align: center;
	text-transform: uppercase;
}

.unity-confidence__image-placeholder::before {
	content: "";
	position: absolute;
	left: -180px;
	top: -100px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 50%;
}

.unity-confidence__media-card {
	position: absolute;
	z-index: 2;
	left: clamp(32px, 7vw, 118px);
	bottom: 0;
	width: min(430px, calc(100% - 64px));
	min-height: 340px;
	padding: 46px 48px 42px;
	background: rgba(8, 66, 62, .94);
	color: #fff;
	box-shadow: 0 24px 60px rgba(7, 58, 55, .14);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.unity-confidence__media-kicker {
	margin: 0 0 28px;
	color: #afc7c1;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.unity-confidence__media-number {
	margin: 0;
	font-family: var(--unity-serif);
	font-size: clamp(82px, 7vw, 116px);
	font-weight: 400;
	line-height: .72;
	letter-spacing: -.04em;
}

.unity-confidence__media-title {
	margin: 28px 0 0;
	font-family: var(--unity-serif);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.1;
}

.unity-confidence__media-copy {
	margin: 48px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	color: rgba(255, 255, 255, .74);
	font-size: 14px;
	line-height: 1.65;
}

.unity-confidence__content {
	display: flex;
	align-items: center;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-confidence__content::after {
	content: "";
	position: absolute;
	right: -220px;
	bottom: -250px;
	width: 540px;
	height: 540px;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 50%;
	pointer-events: none;
}

.unity-confidence__content-inner {
	position: relative;
	z-index: 1;
	width: min(100%, 700px);
	padding: clamp(76px, 7vw, 120px) clamp(54px, 7vw, 118px);
}

.unity-confidence__eyebrow {
	margin-bottom: 24px;
	color: #acc5bf;
}

.unity-confidence__title {
	max-width: 660px;
	margin: 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(48px, 4.2vw, 68px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.025em;
}

.unity-confidence__title span {
	color: #9eb8b2;
}

.unity-confidence__lead {
	max-width: 620px;
	margin: 32px 0 0;
	color: rgba(255, 255, 255, .76);
	font-size: 17px;
	line-height: 1.72;
}

.unity-confidence__reasons {
	margin-top: 54px;
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.unity-confidence__reason {
	padding: 25px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.unity-confidence__reason-number {
	padding-top: 5px;
	color: #9eb8b2;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
}

.unity-confidence__reason h3 {
	margin: 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: 25px;
	font-weight: 400;
	line-height: 1.18;
}

.unity-confidence__reason p {
	max-width: 530px;
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .65);
	font-size: 14px;
	line-height: 1.62;
}

.unity-confidence__link {
	margin-top: 32px;
	color: #fff;
}

.unity-confidence__link::after {
	color: #9eb8b2;
}

/* Ensure the location design is baked in rather than depending on old button rules. */
.unity-positioning__practice {
	text-decoration: none;
}

@media (max-width: 980px) {
	.unity-confidence__grid {
		grid-template-columns: 1fr;
	}

	.unity-confidence__media,
	.unity-confidence__content {
		min-height: 640px;
	}

	.unity-confidence__media-card {
		left: 48px;
	}

	.unity-confidence__content-inner {
		width: 100%;
		max-width: 820px;
		margin-inline: auto;
	}
}

@media (max-width: 720px) {
	.unity-confidence__media {
		min-height: 520px;
	}

	.unity-confidence__content {
		min-height: auto;
	}

	.unity-confidence__media-card {
		left: 20px;
		width: calc(100% - 40px);
		min-height: 0;
		padding: 34px 30px;
	}

	.unity-confidence__media-number {
		font-size: 76px;
	}

	.unity-confidence__media-title {
		margin-top: 22px;
		font-size: 27px;
	}

	.unity-confidence__media-copy {
		margin-top: 32px;
	}

	.unity-confidence__content-inner {
		padding: 68px 20px 74px;
	}

	.unity-confidence__title {
		font-size: clamp(46px, 13vw, 60px);
	}

	.unity-confidence__lead {
		font-size: 16px;
	}

	.unity-confidence__reasons {
		margin-top: 42px;
	}

	.unity-confidence__reason {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 12px;
	}

	.unity-confidence__reason h3 {
		font-size: 23px;
	}
}


/* v0.71 — clean dropdown: no 01 / 02 / 03 / currency prefixes */
.primary-nav .sub-menu a {
	display: block;
	grid-template-columns: none;
	gap: 0;
}

.primary-nav .sub-menu a::before,
.primary-nav .sub-menu li:nth-child(1) > a::before,
.primary-nav .sub-menu li:nth-child(2) > a::before,
.primary-nav .sub-menu li:nth-child(3) > a::before,
.primary-nav .sub-menu li:nth-child(4) > a::before {
	content: none !important;
	display: none !important;
}

@media (max-width: 1100px) {
	.primary-nav .sub-menu a {
		display: block;
		padding-left: 0;
	}
}


/* =========================================================
   v0.72 — controlled editorial heading system
   ========================================================= */

/*
 * The copy pass introduced longer, more useful wording.
 * These rules stop the browser creating accidental 3–5 line headings.
 * Each major section now has an intentional two-line lockup.
 */

.home-hero h1 {
	max-width: 980px;
	font-size: clamp(60px, 5.8vw, 84px);
	line-height: 1.01;
	letter-spacing: -.026em;
}

.home-hero h1 > span {
	display: block;
}

.home-hero h1 > span:last-child {
	color: var(--unity-heading-muted);
}

/* Treatment introduction */
.unity-treatment-showcase__title {
	max-width: 560px;
	font-size: clamp(44px, 3.25vw, 52px);
	line-height: 1.08;
}

.unity-treatment-showcase__title span {
	white-space: nowrap;
}

/* 01 / 02 / 03 card titles */
.unity-treatment-option__body h3 {
	max-width: 330px;
	font-size: clamp(30px, 2.25vw, 36px);
	line-height: 1.18;
}

.unity-treatment-option__body h3 span {
	display: block;
}

/* Implant journey */
.unity-process__intro {
	max-width: 760px;
}

.unity-process__title {
	max-width: 760px;
	font-size: clamp(44px, 3.45vw, 54px);
	line-height: 1.08;
}

.unity-process__title span {
	white-space: nowrap;
}

/* Why Unity split panel */
.unity-confidence__title {
	max-width: 590px;
	font-size: clamp(48px, 3.7vw, 60px);
	line-height: 1.04;
}

/* Locations */
.unity-positioning__statement {
	max-width: 820px;
	font-size: clamp(40px, 3.15vw, 50px);
	line-height: 1.08;
}

/* FAQs */
.unity-faqs__title {
	max-width: 440px;
	font-size: clamp(42px, 3.25vw, 52px);
	line-height: 1.08;
}

/* Consultation */
.unity-consultation__title {
	max-width: 590px;
	font-size: clamp(44px, 3.5vw, 56px);
	line-height: 1.08;
}

.unity-consultation__title span:nth-child(2) {
	color: var(--unity-heading-muted);
}

/* Old third-line colour rule is no longer needed. */
.unity-consultation__title span:nth-child(3) {
	color: inherit;
}

@media (max-width: 1100px) {
	.unity-treatment-showcase__title span,
	.unity-process__title span {
		white-space: normal;
	}
}

@media (max-width: 720px) {
	.home-hero h1 {
		max-width: 620px;
		font-size: clamp(48px, 13vw, 64px);
		line-height: 1.03;
	}

	.unity-treatment-showcase__title,
	.unity-process__title,
	.unity-faqs__title,
	.unity-consultation__title {
		font-size: clamp(38px, 10.5vw, 48px);
		line-height: 1.08;
	}

	.unity-confidence__title {
		font-size: clamp(42px, 11.5vw, 54px);
		line-height: 1.04;
	}

	.unity-positioning__statement {
		font-size: clamp(36px, 9.8vw, 44px);
		line-height: 1.08;
	}
}


/* =========================================================
   v0.73 — colour correction + depth / quote refinements
   ========================================================= */

/* Hero colour correction:
   old generic .home-hero h1 span rule was muting both lines after v0.72. */
.home-hero h1 > span:first-child {
	color: var(--unity-teal);
}

.home-hero h1 > span:last-child {
	color: var(--unity-heading-muted);
}

/* Why Unity Dental: keep the statement, reduce the overall depth. */
.unity-confidence__media,
.unity-confidence__content {
	min-height: 700px;
}

.unity-confidence__content-inner {
	padding-top: clamp(58px, 5vw, 78px);
	padding-bottom: clamp(58px, 5vw, 78px);
}

.unity-confidence__eyebrow {
	margin-bottom: 18px;
}

.unity-confidence__title {
	font-size: clamp(46px, 3.5vw, 56px);
	line-height: 1.03;
}

.unity-confidence__lead {
	margin-top: 24px;
	font-size: 16px;
	line-height: 1.66;
}

.unity-confidence__reasons {
	margin-top: 36px;
}

.unity-confidence__reason {
	padding: 18px 0;
}

.unity-confidence__reason h3 {
	font-size: 23px;
}

.unity-confidence__reason p {
	margin-top: 6px;
	font-size: 13.5px;
	line-height: 1.55;
}

.unity-confidence__link {
	margin-top: 24px;
}

.unity-confidence__media-card {
	min-height: 292px;
	padding: 36px 40px 34px;
}

.unity-confidence__media-kicker {
	margin-bottom: 22px;
}

.unity-confidence__media-number {
	font-size: clamp(76px, 6vw, 100px);
}

.unity-confidence__media-title {
	margin-top: 22px;
	font-size: 28px;
}

.unity-confidence__media-copy {
	margin-top: 34px;
	padding-top: 20px;
}

/* Longer location heading, but keep it controlled as a two-line lockup. */
.unity-positioning__statement {
	max-width: 1040px;
	font-size: clamp(42px, 3.35vw, 52px);
	line-height: 1.07;
}

/* Patient quote: retain the large quote mark, but give the words more air. */
.unity-reviews__quote-row {
	padding-right: clamp(64px, 7vw, 118px);
}

.unity-review__quote {
	max-width: 930px;
	font-size: clamp(32px, 2.85vw, 40px);
	line-height: 1.3;
}

.unity-review__meta {
	padding-top: 40px;
}

@media (max-width: 980px) {
	.unity-confidence__media,
	.unity-confidence__content {
		min-height: 610px;
	}

	.unity-reviews__quote-row {
		padding-right: 36px;
	}

	.unity-review__quote {
		max-width: 760px;
		font-size: clamp(31px, 4vw, 38px);
	}
}

@media (max-width: 720px) {
	.unity-confidence__media {
		min-height: 500px;
	}

	.unity-confidence__content {
		min-height: auto;
	}

	.unity-confidence__content-inner {
		padding-top: 62px;
		padding-bottom: 66px;
	}

	.unity-confidence__title {
		font-size: clamp(40px, 11vw, 50px);
	}

	.unity-reviews__quote-row {
		padding-right: 0;
	}

	.unity-review__quote {
		max-width: none;
		font-size: clamp(29px, 8vw, 36px);
	}
}


/* v0.74 — simplify Why Unity Dental reasons */
.unity-confidence__reason {
	padding: 28px 0;
	align-items: center;
}

.unity-confidence__reason-number {
	padding-top: 0;
}

.unity-confidence__reason h3 {
	margin: 0;
	font-size: 25px;
	line-height: 1.2;
}

.unity-confidence__reason p {
	display: none;
}

@media (max-width: 720px) {
	.unity-confidence__reason {
		padding: 24px 0;
	}

	.unity-confidence__reason h3 {
		font-size: 23px;
	}
}


/* =========================================================
   v0.75 — dropdown polish + legal footer + internal pages
   ========================================================= */

/* Treatments dropdown: more compact and less 'mega menu'. */
.primary-nav .sub-menu {
	left: -18px;
	top: calc(100% - 13px);
	min-width: 252px;
	padding: 8px;
	border-radius: 14px;
	box-shadow: 0 18px 38px rgba(7, 58, 55, .085);
}

.primary-nav .sub-menu a {
	min-height: 0;
	padding: 12px 14px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
}

.primary-nav .sub-menu li + li {
	margin-top: 0;
}

.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus-visible {
	background: #f1f6f4;
}

.primary-nav .sub-menu .sub-menu__utility {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid rgba(11, 75, 71, .09);
}

.primary-nav .sub-menu .sub-menu__utility a {
	padding-top: 12px;
	padding-bottom: 12px;
	color: var(--unity-teal-deep);
	font-weight: 600;
}

.primary-nav__menu > .menu-item-has-children:hover > a::after,
.primary-nav__menu > .menu-item-has-children:focus-within > a::after {
	transform: translateY(-2px) rotate(45deg);
}

/* Footer legal links live bottom-right and stay subtle. */
.site-footer__bottom {
	grid-template-columns: 1fr auto;
	gap: 40px;
}

.site-footer__legal-links {
	justify-self: end;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px 24px;
}

.site-footer__legal-links a {
	color: rgba(255, 255, 255, .62);
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
}

/* Simple internal page shell so imported pages are immediately usable. */
.unity-page {
	background: var(--unity-surface-base);
}

.unity-page__hero {
	padding: clamp(90px, 9vw, 145px) 0 clamp(58px, 6vw, 92px);
	background: linear-gradient(180deg, #f8faf9 0%, var(--unity-surface-base) 100%);
	border-bottom: 1px solid rgba(11, 75, 71, .07);
}

.unity-page__hero-inner {
	max-width: 1000px;
}

.unity-page__hero h1 {
	max-width: 930px;
	margin: 20px 0 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: clamp(52px, 5.2vw, 78px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.025em;
}

.unity-page__content {
	max-width: 900px;
	padding-top: clamp(62px, 6vw, 94px);
	padding-bottom: clamp(82px, 8vw, 126px);
}

.unity-page__content > *:first-child {
	margin-top: 0;
}

.unity-page__content p,
.unity-page__content li {
	font-size: 17px;
	line-height: 1.75;
}

.unity-page__content h2,
.unity-page__content h3 {
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-weight: 400;
}

.unity-page__content h2 {
	margin-top: 56px;
	font-size: clamp(36px, 3.2vw, 48px);
	line-height: 1.08;
}

.unity-page__content h3 {
	margin-top: 38px;
	font-size: 28px;
	line-height: 1.15;
}

@media (max-width: 1100px) {
	.primary-nav .sub-menu {
		min-width: 0;
		padding: 0 0 10px 18px;
		box-shadow: none;
	}

	.primary-nav .sub-menu a {
		padding: 8px 0;
		border-radius: 0;
	}

	.primary-nav .sub-menu a:hover,
	.primary-nav .sub-menu a:focus-visible {
		background: transparent;
	}

	.site-footer__legal-links {
		justify-self: start;
		justify-content: flex-start;
	}
}

@media (max-width: 720px) {
	.site-footer__bottom {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.site-footer__legal-links {
		gap: 10px 18px;
	}
}


/* =========================================================
   v0.77 — comprehensive mobile finishing pass
   ========================================================= */

/* WordPress admin bar + sticky header play nicely together. */
body.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 767px) {
	:root {
		--unity-section-space: 64px;
	}

	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}

	body {
		font-size: 16px;
	}

	.container,
	.site-header__inner,
	.site-footer__inner {
		width: min(100% - 40px, var(--unity-container));
	}

	.eyebrow {
		margin-bottom: 16px;
		font-size: 10px;
		line-height: 1.3;
		letter-spacing: .14em;
	}

	.button {
		min-height: 56px;
		padding-inline: 22px;
		font-size: 14px;
	}

	.button:hover,
	.button:focus-visible {
		transform: none;
	}

	.text-link {
		font-size: 14px;
	}

	/* -----------------------------------------------------
	   Header / mobile menu
	   ----------------------------------------------------- */
	.site-header {
		background: rgba(251, 250, 247, .98);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
	}

	.site-header__inner {
		min-height: 74px;
		gap: 14px;
	}

	.site-branding__placeholder {
		width: 132px;
		height: 42px;
		padding: 0 12px;
		gap: 2px;
	}

	.site-branding__placeholder-main {
		font-size: 18px;
	}

	.site-branding__placeholder-sub {
		font-size: 6.5px;
		letter-spacing: .13em;
	}

	.site-header__desktop-cta {
		display: none;
	}

	.menu-toggle {
		min-width: 70px;
		min-height: 44px;
		padding: 0;
		justify-content: flex-end;
		font-family: var(--unity-sans);
		font-size: 13px;
		font-weight: 600;
	}

	.menu-toggle__icon {
		width: 22px;
		height: 16px;
		gap: 5px;
	}

	.primary-nav {
		inset: 74px 0 0;
		z-index: 499;
		gap: 22px;
		padding: 22px 20px max(30px, env(safe-area-inset-bottom));
		background: rgba(251, 250, 247, .995);
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	body.admin-bar .primary-nav {
		top: 120px;
		inset-block-start: 120px;
	}

	.primary-nav__menu {
		gap: 0;
	}

	.primary-nav__menu > .menu-item {
		border-bottom-color: rgba(11, 75, 71, .09);
	}

	.primary-nav__menu > .menu-item > a {
		min-height: 56px;
		padding: 14px 0;
		display: flex;
		align-items: center;
		font-family: var(--unity-serif);
		font-size: 27px;
		font-weight: 400;
		line-height: 1.06;
		white-space: normal;
	}

	.primary-nav__menu > .menu-item-has-children > a::after {
		width: 8px;
		height: 8px;
	}

	.primary-nav .sub-menu {
		margin: -2px 0 12px;
		padding: 0 0 10px 14px;
		border-left: 1px solid rgba(11, 75, 71, .10);
	}

	.primary-nav .sub-menu a {
		min-height: 42px;
		padding: 9px 0 9px 14px;
		color: rgba(7, 58, 55, .76);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
		white-space: normal;
	}

	.primary-nav .sub-menu .sub-menu__utility {
		margin-top: 4px;
		padding-top: 4px;
	}

	.site-header__mobile-cta {
		width: 100%;
		min-height: 56px;
		margin-top: 2px;
	}

	/* -----------------------------------------------------
	   Intro / hero
	   ----------------------------------------------------- */
	.home-hero {
		padding: 18px 0 68px;
	}

	.home-hero__video-placeholder {
		min-height: 0;
		aspect-ratio: 16 / 9;
		border-radius: 18px;
		box-shadow: 0 16px 38px rgba(7, 58, 55, .06);
	}

	.home-hero__play {
		width: 60px;
		height: 60px;
		padding-left: 4px;
		font-size: 15px;
	}

	.home-hero__video-label {
		font-size: 9px;
		letter-spacing: .12em;
	}

	.home-hero__copy {
		max-width: 100%;
		margin-top: 44px;
	}

	.home-hero .eyebrow {
		margin-bottom: 18px;
	}

	.home-hero h1 {
		max-width: 560px;
		font-size: clamp(44px, 12.5vw, 56px);
		line-height: 1.035;
		letter-spacing: -.025em;
	}

	.home-hero__intro {
		max-width: 560px;
		margin-top: 24px;
		font-size: 15.5px;
		line-height: 1.68;
	}

	.home-hero__actions {
		width: 100%;
		margin-top: 28px;
		flex-direction: column;
		gap: 18px;
	}

	.home-hero__actions .button {
		width: 100%;
	}

	.home-hero__actions .text-link {
		justify-content: center;
	}

	/* -----------------------------------------------------
	   Treatments
	   ----------------------------------------------------- */
	.unity-treatment-showcase {
		padding: 64px 0 66px;
	}

	.unity-treatment-showcase__inner {
		gap: 40px;
	}

	.unity-treatment-showcase__title {
		max-width: 100%;
		font-size: clamp(38px, 10.7vw, 46px);
		line-height: 1.08;
	}

	.unity-treatment-showcase__title span {
		white-space: normal;
	}

	.unity-treatment-showcase__copy {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.66;
	}

	.unity-treatment-showcase__button {
		width: 100%;
		margin-top: 26px;
	}

	.unity-treatment-showcase__cards {
		gap: 18px;
	}

	.unity-treatment-option {
		border-radius: 18px;
		box-shadow: 0 12px 30px rgba(7, 58, 55, .045);
	}

	.unity-treatment-option__content {
		min-height: 0;
		padding: 24px 22px 26px;
	}

	.unity-treatment-option__number {
		width: 40px;
		height: 40px;
		font-size: 10px;
	}

	.unity-treatment-option__body {
		margin-top: 28px;
	}

	.unity-treatment-option__body h3 {
		max-width: 100%;
		font-size: clamp(29px, 8.5vw, 34px);
		line-height: 1.17;
	}

	.unity-treatment-option__rule {
		margin: 18px 0 17px;
	}

	.unity-treatment-option__body p {
		margin-bottom: 20px;
		font-size: 14.5px;
		line-height: 1.62;
	}

	.unity-treatment-option__visual {
		min-height: 0;
		aspect-ratio: 16 / 8.5;
		padding: 22px;
		font-size: 9px;
	}

	/* -----------------------------------------------------
	   Implant journey
	   ----------------------------------------------------- */
	.unity-process {
		padding: 64px 0 68px;
	}

	.unity-process__heading-row {
		gap: 24px;
	}

	.unity-process__title {
		max-width: 100%;
		font-size: clamp(38px, 10.7vw, 46px);
		line-height: 1.08;
	}

	.unity-process__title span {
		white-space: normal;
	}

	.unity-process__lead {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.66;
	}

	.unity-process__controls {
		gap: 8px;
	}

	.unity-process__control,
	.unity-reviews__control {
		width: 46px;
		height: 46px;
		font-size: 18px;
	}

	.unity-process__viewport {
		margin-top: 32px;
		padding-left: 20px;
		scroll-padding-left: 20px;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
	}

	.unity-process__rail {
		gap: 12px;
		padding-right: 20px;
	}

	.unity-process-card {
		flex-basis: calc(100vw - 48px);
		min-height: 326px;
		padding: 24px 22px 26px;
		border-radius: 18px;
		scroll-snap-stop: always;
	}

	.unity-process-card__number {
		width: 40px;
		height: 40px;
		font-size: 10px;
	}

	.unity-process-card__content {
		padding-top: 38px;
	}

	.unity-process-card__content h3 {
		min-height: 0;
		font-size: 29px;
		line-height: 1.1;
	}

	.unity-process-card__rule {
		margin: 18px 0 16px;
	}

	.unity-process-card__content p {
		font-size: 14px;
		line-height: 1.6;
	}

	/* -----------------------------------------------------
	   Why Unity Dental
	   ----------------------------------------------------- */
	.unity-confidence__media {
		min-height: 460px;
	}

	.unity-confidence__image-placeholder {
		font-size: 9px;
		letter-spacing: .12em;
	}

	.unity-confidence__media-card {
		left: 18px;
		bottom: 0;
		width: calc(100% - 36px);
		min-height: 0;
		padding: 26px 26px 24px;
		box-shadow: 0 16px 38px rgba(7, 58, 55, .10);
	}

	.unity-confidence__media-kicker {
		margin-bottom: 16px;
		font-size: 9px;
	}

	.unity-confidence__media-number {
		font-size: 66px;
		line-height: .75;
	}

	.unity-confidence__media-title {
		margin-top: 17px;
		font-size: 24px;
	}

	.unity-confidence__media-copy {
		margin-top: 22px;
		padding-top: 18px;
		font-size: 13px;
		line-height: 1.55;
	}

	.unity-confidence__content-inner {
		padding: 56px 20px 60px;
	}

	.unity-confidence__eyebrow {
		margin-bottom: 16px;
	}

	.unity-confidence__title {
		max-width: 100%;
		font-size: clamp(40px, 11.5vw, 48px);
		line-height: 1.035;
	}

	.unity-confidence__lead {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.64;
	}

	.unity-confidence__reasons {
		margin-top: 32px;
	}

	.unity-confidence__reason {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 12px;
		padding: 21px 0;
	}

	.unity-confidence__reason-number {
		font-size: 9px;
	}

	.unity-confidence__reason h3 {
		font-size: 21px;
		line-height: 1.2;
	}

	.unity-confidence__link {
		margin-top: 24px;
	}

	/* -----------------------------------------------------
	   Locations
	   ----------------------------------------------------- */
	.unity-positioning {
		padding: 62px 0 66px;
	}

	.unity-positioning__statement {
		max-width: 100%;
		font-size: clamp(35px, 9.8vw, 42px);
		line-height: 1.08;
	}

	.unity-positioning__support {
		max-width: 520px;
		margin-top: 20px;
		font-size: 14.5px;
		line-height: 1.62;
	}

	.unity-positioning__practices {
		margin-top: 30px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.unity-positioning__practice {
		min-height: 56px;
		padding: 0 14px;
		border-radius: 12px;
		gap: 10px;
		font-size: 14px;
		text-align: left;
	}

	.unity-positioning__practice-arrow {
		font-size: 16px;
	}

	/* -----------------------------------------------------
	   FAQs
	   ----------------------------------------------------- */
	.unity-faqs {
		padding: 64px 0 68px;
	}

	.unity-faqs__inner {
		gap: 40px;
	}

	.unity-faqs__title {
		max-width: 100%;
		font-size: clamp(38px, 10.7vw, 46px);
		line-height: 1.08;
	}

	.unity-faqs__support-card {
		max-width: none;
		margin-top: 28px;
		padding: 24px 22px;
		border-radius: 18px;
	}

	.unity-faqs__support-title {
		font-size: 23px;
	}

	.unity-faqs__support-copy {
		margin: 13px 0 20px;
		font-size: 13.5px;
		line-height: 1.6;
	}

	.unity-faqs__support-button {
		width: 100%;
	}

	.unity-faq__button {
		min-height: 68px;
		padding: 17px 0;
		grid-template-columns: minmax(0, 1fr) 36px;
		gap: 14px;
	}

	.unity-faq__button > span:first-child {
		padding-right: 4px;
		font-size: 18px;
		line-height: 1.25;
	}

	.unity-faq__icon {
		width: 36px;
		height: 36px;
	}

	.unity-faq__panel {
		padding: 0 48px 20px 0;
	}

	.unity-faq__panel p {
		font-size: 14px;
		line-height: 1.65;
	}

	/* -----------------------------------------------------
	   Patient feedback
	   ----------------------------------------------------- */
	.unity-reviews {
		padding: 66px 0 68px;
	}

	.unity-reviews__eyebrow {
		margin-bottom: 38px;
	}

	.unity-reviews__quote-row {
		gap: 10px;
		padding-right: 8px;
	}

	.unity-reviews__quote-mark {
		height: 62px;
		padding: 0;
		font-size: 96px;
		line-height: .62;
	}

	.unity-review__quote {
		max-width: none;
		font-size: clamp(29px, 8.2vw, 34px);
		line-height: 1.28;
		letter-spacing: -.018em;
	}

	.unity-review__meta {
		padding-top: 30px;
	}

	.unity-review__name {
		font-size: 10px;
	}

	.unity-review__treatment {
		font-size: 12px;
	}

	.unity-reviews__footer {
		margin-top: 28px;
		gap: 18px;
	}

	/* -----------------------------------------------------
	   Consultation / form
	   ----------------------------------------------------- */
	.unity-consultation {
		padding: 64px 0 68px;
	}

	.unity-consultation__inner {
		gap: 38px;
	}

	.unity-consultation__title {
		max-width: 100%;
		font-size: clamp(38px, 10.7vw, 46px);
		line-height: 1.08;
	}

	.unity-consultation__intro {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.66;
	}

	.unity-consultation__lower {
		max-width: none;
		margin-top: 32px;
		padding: 24px 22px;
		border-radius: 18px;
	}

	.unity-consultation__rule {
		margin-bottom: 22px;
	}

	.unity-consultation__lower-title {
		font-size: 22px;
	}

	.unity-consultation__lower-copy {
		margin-bottom: 19px;
		font-size: 13.5px;
		line-height: 1.6;
	}

	.unity-consultation__card {
		padding: 26px 18px 22px;
		border-radius: 18px;
		box-shadow: 0 12px 30px rgba(7, 58, 55, .045);
	}

	.unity-consultation__card-heading h3 {
		font-size: 29px;
		line-height: 1.08;
	}

	.unity-consultation__card-heading p {
		margin: 13px 0 22px;
		font-size: 14px;
		line-height: 1.6;
	}

	.unity-consultation-form {
		gap: 11px;
	}

	.unity-field input,
	.unity-field select,
	.unity-field textarea {
		font-size: 16px; /* prevents iOS focus zoom */
	}

	.unity-field input,
	.unity-field select {
		min-height: 56px;
		padding-left: 20px;
	}

	.unity-field select {
		background-position:
			calc(100% - 24px) 25px,
			calc(100% - 18px) 25px;
	}

	.unity-field textarea {
		min-height: 150px;
		padding: 17px 20px;
		border-radius: 16px;
	}

	.unity-field--button {
		padding-top: 5px;
	}

	.unity-form-button {
		min-height: 56px;
	}

	/* -----------------------------------------------------
	   Footer
	   ----------------------------------------------------- */
	.site-footer {
		padding-top: 64px;
	}

	.site-footer__statement {
		padding-bottom: 44px;
	}

	.site-footer__statement p {
		font-size: clamp(42px, 12vw, 52px);
		line-height: 1.02;
	}

	.site-footer__main {
		padding: 44px 0 46px;
		gap: 42px;
	}

	.site-footer__cta h2 {
		margin-top: 16px;
		font-size: 31px;
		line-height: 1.1;
	}

	.site-footer__cta > p:not(.site-footer__kicker) {
		margin: 15px 0 24px;
		font-size: 14px;
		line-height: 1.65;
	}

	.site-footer__cta .button {
		width: 100%;
	}

	.site-footer__links {
		grid-template-columns: 1fr 1fr;
		gap: 34px 24px;
	}

	.site-footer__column:last-child {
		grid-column: 1 / -1;
		padding-top: 2px;
	}

	.site-footer__column ul {
		margin-top: 16px;
	}

	.site-footer__column li + li {
		margin-top: 10px;
	}

	.site-footer__column a {
		font-size: 14px;
		line-height: 1.4;
	}

	.site-footer__column-title {
		font-size: 10px;
	}

	.site-footer__bottom {
		padding: 24px 0 max(28px, env(safe-area-inset-bottom));
		gap: 16px;
	}

	.site-footer__legal {
		font-size: 11px;
	}

	.site-footer__legal-links {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.site-footer__legal-links a {
		font-size: 11px;
		white-space: normal;
	}

	/* -----------------------------------------------------
	   Imported/internal pages
	   ----------------------------------------------------- */
	.unity-page__hero {
		padding: 62px 0 48px;
	}

	.unity-page__hero h1 {
		margin-top: 16px;
		font-size: clamp(42px, 12vw, 54px);
		line-height: 1.04;
	}

	.unity-page__content {
		padding-top: 48px;
		padding-bottom: 76px;
	}

	.unity-page__content p,
	.unity-page__content li {
		font-size: 16px;
		line-height: 1.7;
	}

	.unity-page__content h2 {
		margin-top: 44px;
		font-size: 36px;
	}

	.unity-page__content h3 {
		margin-top: 32px;
		font-size: 26px;
	}

	/* Movement remains, but is calmer and never slides sideways off a phone. */
	.unity-reveal,
	.unity-reveal--left,
	.unity-reveal--right {
		transform: translate3d(0, 18px, 0);
		transition-duration: .62s;
	}
}

@media (max-width: 420px) {
	.container,
	.site-header__inner,
	.site-footer__inner {
		width: min(100% - 32px, var(--unity-container));
	}

	.site-branding__placeholder {
		width: 124px;
	}

	.home-hero h1 {
		font-size: clamp(42px, 12.2vw, 51px);
	}

	.unity-positioning__practices {
		gap: 8px;
	}

	.unity-positioning__practice {
		min-height: 54px;
		padding-inline: 12px;
		font-size: 13px;
	}

	.unity-positioning__practice-arrow {
		font-size: 14px;
	}

	.unity-review__quote {
		font-size: clamp(28px, 8.4vw, 32px);
	}

	.site-footer__links {
		gap: 30px 18px;
	}
}

@media (max-width: 355px) {
	.site-branding__placeholder {
		width: 112px;
		padding-inline: 9px;
	}

	.menu-toggle__label {
		display: none;
	}

	.menu-toggle {
		min-width: 36px;
	}

	.unity-positioning__practices {
		grid-template-columns: 1fr;
	}

	.site-footer__links {
		grid-template-columns: 1fr;
	}

	.site-footer__column:last-child {
		grid-column: auto;
	}
}


/* =========================================================
   v0.78 — final mobile tidy-up
   ========================================================= */

@media (max-width: 767px) {
	/* Give the menu a bullet-proof closed/open state. */
	.primary-nav {
		display: none !important;
	}

	.primary-nav.is-open {
		display: flex !important;
	}

	body.menu-open {
		overflow: hidden;
		touch-action: none;
	}

	/* Slightly less dead space before the Treatments intro. */
	.unity-treatment-showcase {
		padding-top: 44px;
	}

	/* FAQ list becomes lighter and more compact. */
	.unity-faq__button > span:first-child {
		font-size: 16px;
		line-height: 1.3;
	}

	.unity-faq__button {
		min-height: 62px;
		padding-block: 14px;
	}

	.unity-faq__panel p {
		font-size: 13.5px;
		line-height: 1.62;
	}

	/*
	 * The support card competes with the accordion on a phone.
	 * Hide it rather than letting it become squeezed/partially obscured.
	 */
	.unity-faqs__support-card {
		display: none;
	}

	/* Smaller testimonial type with a little more room around it. */
	.unity-review__quote {
		font-size: clamp(25px, 7.2vw, 29px);
		line-height: 1.3;
	}

	.unity-reviews__quote-row {
		padding-right: 14px;
	}

	/* Remove secondary 'not sure' card on mobile. */
	.unity-consultation__lower {
		display: none;
	}

	/* Legal links stay on one line: Terms / Privacy / Cookie. */
	.site-footer__legal-links {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 16px;
	}

	.site-footer__legal-links a {
		font-size: 11px;
		line-height: 1.2;
		white-space: nowrap;
	}
}

@media (max-width: 355px) {
	.site-footer__legal-links {
		gap: 12px;
	}

	.site-footer__legal-links a {
		font-size: 10px;
	}
}


/* =========================================================
   v0.79 — CSS-driven mobile menu + smaller mobile headings
   ========================================================= */

.site-menu-state {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.menu-toggle__label--close {
	display: none;
}

@media (max-width: 1100px) {
	/*
	 * Menu opening no longer relies on JS.
	 * The hidden checkbox is the single source of truth.
	 */
	.primary-nav,
	.primary-nav.is-open {
		display: none !important;
	}

	.site-menu-state:checked ~ .primary-nav {
		display: flex !important;
	}

	.site-menu-state:checked ~ .menu-toggle .menu-toggle__label--open {
		display: none;
	}

	.site-menu-state:checked ~ .menu-toggle .menu-toggle__label--close {
		display: inline;
	}

	.site-menu-state:checked ~ .menu-toggle .menu-toggle__icon span:first-child {
		transform: translateY(3.5px) rotate(45deg);
	}

	.site-menu-state:checked ~ .menu-toggle .menu-toggle__icon span:last-child {
		transform: translateY(-3.5px) rotate(-45deg);
	}

	.menu-toggle {
		cursor: pointer;
		user-select: none;
	}

	.menu-toggle__icon span {
		transform-origin: center;
		transition: transform .2s ease;
	}
}

@media (max-width: 767px) {
	/* Smaller, calmer type scale throughout mobile. */
	.home-hero h1 {
		font-size: clamp(38px, 10.8vw, 48px);
		line-height: 1.04;
	}

	.home-hero__intro {
		font-size: 15px;
	}

	.unity-treatment-showcase__title,
	.unity-process__title,
	.unity-faqs__title,
	.unity-consultation__title {
		font-size: clamp(34px, 9.3vw, 40px);
		line-height: 1.09;
	}

	.unity-confidence__title {
		font-size: clamp(36px, 9.8vw, 43px);
		line-height: 1.05;
	}

	.unity-positioning__statement {
		font-size: clamp(33px, 8.9vw, 39px);
		line-height: 1.09;
	}

	.unity-treatment-option__body h3 {
		font-size: clamp(26px, 7.4vw, 31px);
		line-height: 1.18;
	}

	.unity-process-card__content h3 {
		font-size: 26px;
		line-height: 1.12;
	}

	.unity-confidence__reason h3 {
		font-size: 19px;
	}

	.unity-faq__button > span:first-child {
		font-size: 15px;
	}

	.unity-consultation__card-heading h3 {
		font-size: 26px;
	}

	.site-footer__statement p {
		font-size: clamp(38px, 10.8vw, 47px);
	}

	.unity-page__hero h1 {
		font-size: clamp(38px, 10.8vw, 48px);
	}

	/* v0.78's explicit .is-open rules are no longer used. */
	.primary-nav.is-open {
		display: none !important;
	}

	.site-menu-state:checked ~ .primary-nav {
		display: flex !important;
	}
}

@media (max-width: 420px) {
	.home-hero h1 {
		font-size: clamp(37px, 10.8vw, 45px);
	}

	.unity-treatment-showcase__title,
	.unity-process__title,
	.unity-faqs__title,
	.unity-consultation__title {
		font-size: clamp(33px, 9.2vw, 38px);
	}

	.unity-confidence__title {
		font-size: clamp(35px, 9.6vw, 41px);
	}

	.unity-positioning__statement {
		font-size: clamp(32px, 8.8vw, 37px);
	}
}


/* =========================================================
   v0.80 — native mobile navigation + final smaller mobile type
   ========================================================= */

.mobile-nav {
	display: none;
}

@media (min-width: 1101px) {
	.primary-nav--desktop {
		display: flex !important;
	}
}

@media (max-width: 1100px) {
	/* Desktop navigation is completely removed from the mobile layout. */
	.primary-nav--desktop,
	.site-menu-state,
	.menu-toggle {
		display: none !important;
	}

	.site-header__inner {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}

	.mobile-nav {
		display: block;
		margin-left: auto;
	}

	.mobile-nav__toggle {
		min-width: 76px;
		min-height: 44px;
		padding: 0;
		border: 0;
		list-style: none;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 11px;
		color: var(--unity-teal-deep);
		background: transparent;
		font-family: var(--unity-sans);
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
	}

	.mobile-nav__toggle::-webkit-details-marker {
		display: none;
	}

	.mobile-nav__label--close {
		display: none;
	}

	.mobile-nav__icon {
		width: 22px;
		height: 14px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
	}

	.mobile-nav__icon span {
		display: block;
		width: 100%;
		height: 1.5px;
		background: currentColor;
		transform-origin: center;
		transition: transform .18s ease;
	}

	.mobile-nav[open] .mobile-nav__label--menu {
		display: none;
	}

	.mobile-nav[open] .mobile-nav__label--close {
		display: inline;
	}

	.mobile-nav[open] .mobile-nav__icon span:first-child {
		transform: translateY(3.25px) rotate(45deg);
	}

	.mobile-nav[open] .mobile-nav__icon span:last-child {
		transform: translateY(-3.25px) rotate(-45deg);
	}

	.mobile-nav__panel {
		position: fixed;
		z-index: 498;
		left: 0;
		right: 0;
		top: 74px;
		bottom: 0;
		padding: 22px 20px max(30px, env(safe-area-inset-bottom));
		overflow-y: auto;
		background: rgba(251, 250, 247, .995);
		border-top: 1px solid rgba(11, 75, 71, .08);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	body.admin-bar .mobile-nav__panel {
		top: 120px;
	}

	body:has(.mobile-nav[open]) {
		overflow: hidden;
	}

	.mobile-nav__menu,
	.mobile-nav .primary-nav__menu {
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
		display: block !important;
	}

	.mobile-nav__menu > li,
	.mobile-nav .primary-nav__menu > li {
		width: 100%;
		border-bottom: 1px solid rgba(11, 75, 71, .09);
	}

	.mobile-nav__menu > li > a,
	.mobile-nav .primary-nav__menu > li > a {
		min-height: 56px;
		padding: 14px 0;
		display: flex;
		align-items: center;
		color: var(--unity-teal-deep);
		font-family: var(--unity-serif);
		font-size: 25px;
		font-weight: 400;
		line-height: 1.06;
		text-decoration: none;
	}

	/* Treatment submenu is intentionally visible in mobile navigation. */
	.mobile-nav .sub-menu {
		position: static !important;
		min-width: 0 !important;
		width: 100%;
		margin: -2px 0 12px !important;
		padding: 0 0 10px 14px !important;
		border: 0 !important;
		border-left: 1px solid rgba(11, 75, 71, .10) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		list-style: none;
	}

	.mobile-nav .sub-menu a {
		min-height: 40px;
		padding: 8px 0 8px 14px !important;
		display: flex !important;
		align-items: center;
		color: rgba(7, 58, 55, .74) !important;
		background: transparent !important;
		font-family: var(--unity-sans) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		text-decoration: none;
	}

	.mobile-nav .sub-menu__utility {
		margin-top: 4px !important;
		padding-top: 5px !important;
		border-top: 1px solid rgba(11, 75, 71, .08) !important;
	}

	.mobile-nav__cta {
		width: 100%;
		min-height: 56px;
		margin-top: 22px;
	}
}

@media (max-width: 767px) {
	/* One final notch down: editorial, but no longer oversized on a phone. */
	.home-hero h1 {
		font-size: clamp(35px, 9.8vw, 43px) !important;
		line-height: 1.05 !important;
	}

	.unity-treatment-showcase__title,
	.unity-process__title,
	.unity-faqs__title,
	.unity-consultation__title {
		font-size: clamp(31px, 8.5vw, 37px) !important;
		line-height: 1.1 !important;
	}

	.unity-confidence__title {
		font-size: clamp(32px, 8.8vw, 39px) !important;
		line-height: 1.06 !important;
	}

	.unity-positioning__statement {
		font-size: clamp(30px, 8.1vw, 35px) !important;
		line-height: 1.1 !important;
	}

	.unity-treatment-option__body h3 {
		font-size: clamp(24px, 6.8vw, 28px) !important;
	}

	.unity-process-card__content h3 {
		font-size: 24px !important;
	}

	.unity-confidence__reason h3 {
		font-size: 18px !important;
	}

	.unity-consultation__card-heading h3 {
		font-size: 24px !important;
	}

	.site-footer__statement p {
		font-size: clamp(34px, 9.4vw, 41px) !important;
	}

	.unity-page__hero h1 {
		font-size: clamp(35px, 9.8vw, 43px) !important;
	}
}

@media (max-width: 355px) {
	.mobile-nav__label {
		display: none !important;
	}

	.mobile-nav__toggle {
		min-width: 34px;
	}
}


/* =========================================================
   v0.81 — mobile menu overlay moved outside sticky header
   ========================================================= */

.mobile-menu-toggle,
.mobile-menu-overlay {
	display: none;
}

@media (max-width: 1100px) {
	.primary-nav--desktop,
	.site-header__desktop-cta,
	.mobile-nav,
	.menu-toggle {
		display: none !important;
	}

	.site-header {
		z-index: 100000;
		overflow: visible !important;
	}

	.site-header__inner {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}

	.mobile-menu-toggle {
		min-width: 76px;
		min-height: 44px;
		margin-left: auto;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 11px;
		color: var(--unity-teal-deep);
		font-family: var(--unity-sans);
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		user-select: none;
	}

	.mobile-menu-toggle__label--close {
		display: none;
	}

	.mobile-menu-toggle__icon {
		width: 22px;
		height: 14px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
	}

	.mobile-menu-toggle__icon span {
		display: block;
		width: 100%;
		height: 1.5px;
		background: currentColor;
		transform-origin: center;
		transition: transform .18s ease;
	}

	.site-menu-state:checked ~ .site-header .mobile-menu-toggle__label--menu {
		display: none;
	}

	.site-menu-state:checked ~ .site-header .mobile-menu-toggle__label--close {
		display: inline;
	}

	.site-menu-state:checked ~ .site-header .mobile-menu-toggle__icon span:first-child {
		transform: translateY(3.25px) rotate(45deg);
	}

	.site-menu-state:checked ~ .site-header .mobile-menu-toggle__icon span:last-child {
		transform: translateY(-3.25px) rotate(-45deg);
	}

	/*
	 * Crucial fix:
	 * overlay is a BODY-LEVEL sibling of the header, not a descendant of the
	 * sticky/backdrop-filter header. It therefore cannot be trapped behind the hero/video.
	 */
	.mobile-menu-overlay {
		position: fixed !important;
		z-index: 2147483000 !important;
		left: 0 !important;
		right: 0 !important;
		top: 74px !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: calc(100dvh - 74px) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-y: auto !important;
		background: #fbfaf7 !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-6px);
		transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		isolation: isolate;
	}

	body.admin-bar .mobile-menu-overlay {
		top: 120px !important;
		height: calc(100dvh - 120px) !important;
	}

	.site-menu-state:checked ~ .mobile-menu-overlay {
		display: block !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	body:has(> .site-menu-state:checked) {
		overflow: hidden !important;
	}

	.mobile-menu-overlay__inner {
		width: 100%;
		min-height: 100%;
		padding: 22px 20px max(32px, env(safe-area-inset-bottom));
		background: #fbfaf7;
	}

	.mobile-menu-overlay__menu,
	.mobile-menu-overlay .primary-nav__menu {
		width: 100%;
		margin: 0;
		padding: 0;
		display: block !important;
		list-style: none;
	}

	.mobile-menu-overlay__menu > li,
	.mobile-menu-overlay .primary-nav__menu > li {
		width: 100%;
		border-bottom: 1px solid rgba(11, 75, 71, .09);
	}

	.mobile-menu-overlay__menu > li > a,
	.mobile-menu-overlay .primary-nav__menu > li > a {
		min-height: 56px;
		padding: 14px 0;
		display: flex;
		align-items: center;
		color: var(--unity-teal-deep);
		background: transparent !important;
		font-family: var(--unity-serif);
		font-size: 25px;
		font-weight: 400;
		line-height: 1.06;
		text-decoration: none;
	}

	.mobile-menu-overlay .sub-menu {
		position: static !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: -2px 0 12px !important;
		padding: 0 0 10px 14px !important;
		border: 0 !important;
		border-left: 1px solid rgba(11, 75, 71, .10) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		list-style: none;
	}

	.mobile-menu-overlay .sub-menu a {
		min-height: 40px;
		padding: 8px 0 8px 14px !important;
		display: flex !important;
		align-items: center;
		color: rgba(7, 58, 55, .74) !important;
		background: transparent !important;
		font-family: var(--unity-sans) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		text-decoration: none;
	}

	.mobile-menu-overlay .sub-menu__utility {
		margin-top: 4px !important;
		padding-top: 5px !important;
		border-top: 1px solid rgba(11, 75, 71, .08) !important;
	}

	.mobile-menu-overlay__cta {
		width: 100%;
		min-height: 56px;
		margin-top: 22px;
	}
}

@media (max-width: 767px) {
	/* Ensure no hero/media element can ever compete with the overlay. */
	.home-hero,
	.home-hero__inner,
	.home-hero__video,
	.home-hero__video-placeholder,
	.site-main {
		z-index: auto !important;
	}

	.mobile-menu-overlay {
		z-index: 2147483000 !important;
	}
}

@media (max-width: 355px) {
	.mobile-menu-toggle__label {
		display: none !important;
	}

	.mobile-menu-toggle {
		min-width: 34px;
	}
}


/* =========================================================
   v0.82 — final mobile menu spacing polish
   ========================================================= */

@media (max-width: 1100px) {
	/* Remove the decorative vertical line beside Treatments submenu. */
	.mobile-menu-overlay .sub-menu {
		padding-left: 0 !important;
		border-left: 0 !important;
	}

	/* Give main menu rows a little more breathing room. */
	.mobile-menu-overlay__menu > li > a,
	.mobile-menu-overlay .primary-nav__menu > li > a {
		min-height: 62px;
		padding-top: 17px;
		padding-bottom: 17px;
	}

	/* And loosen the treatment options slightly too. */
	.mobile-menu-overlay .sub-menu a {
		min-height: 46px;
		padding: 11px 0 11px 18px !important;
	}

	.mobile-menu-overlay .sub-menu__utility {
		margin-top: 6px !important;
		padding-top: 7px !important;
	}
}


/* =========================================================
   v0.83 — final mobile menu spacing refinement
   ========================================================= */

@media (max-width: 1100px) {
	/* Top-level items: more vertical breathing room. */
	.mobile-menu-overlay__menu > li > a,
	.mobile-menu-overlay .primary-nav__menu > li > a {
		min-height: 70px;
		padding-top: 21px;
		padding-bottom: 21px;
	}

	/* Treatments submenu: completely flush left, no indent. */
	.mobile-menu-overlay .sub-menu {
		padding-left: 0 !important;
	}

	.mobile-menu-overlay .sub-menu a {
		min-height: 46px;
		padding: 11px 0 !important;
	}

	.mobile-menu-overlay .sub-menu__utility {
		margin-top: 7px !important;
		padding-top: 8px !important;
	}
}


/* =========================================================
   v0.84 — true full-screen mobile menu
   ========================================================= */

.mobile-menu-overlay {
	display: none;
}

@media (max-width: 1100px) {
	.primary-nav--desktop,
	.site-header__desktop-cta {
		display: none !important;
	}

	.mobile-menu-toggle {
		min-width: 72px;
		min-height: 44px;
		margin-left: auto;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 10px;
		color: var(--unity-teal-deep);
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		user-select: none;
	}

	.mobile-menu-toggle__icon {
		width: 22px;
		height: 14px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
	}

	.mobile-menu-toggle__icon span {
		display: block;
		width: 100%;
		height: 1.5px;
		background: currentColor;
	}

	.mobile-menu-overlay {
		position: fixed !important;
		inset: 0 !important;
		z-index: 2147483000 !important;
		width: 100vw !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column;
		background: #fbfaf7 !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition:
			opacity .18s ease,
			visibility .18s ease,
			transform .18s ease;
		isolation: isolate;
	}

	.site-menu-state:checked ~ .mobile-menu-overlay {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	body:has(> .site-menu-state:checked) {
		overflow: hidden !important;
	}

	.mobile-menu-overlay__topbar {
		flex: 0 0 auto;
		min-height: 74px;
		padding:
			max(14px, env(safe-area-inset-top))
			20px
			12px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 18px;
		border-bottom: 1px solid rgba(11, 75, 71, .08);
		background: #fbfaf7;
	}

	.mobile-menu-overlay__brand {
		display: inline-flex;
		align-items: center;
		text-decoration: none;
	}

	.mobile-menu-overlay__topbar .site-branding__placeholder {
		width: 132px;
		height: 42px;
	}

	.mobile-menu-overlay__close {
		min-width: 76px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 10px;
		color: var(--unity-teal-deep);
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		user-select: none;
	}

	.mobile-menu-overlay__close-icon {
		position: relative;
		width: 22px;
		height: 22px;
		display: block;
	}

	.mobile-menu-overlay__close-icon span {
		position: absolute;
		left: 0;
		top: 10px;
		width: 22px;
		height: 1.5px;
		background: currentColor;
		transform-origin: center;
	}

	.mobile-menu-overlay__close-icon span:first-child {
		transform: rotate(45deg);
	}

	.mobile-menu-overlay__close-icon span:last-child {
		transform: rotate(-45deg);
	}

	.mobile-menu-overlay__scroll {
		flex: 1 1 auto;
		min-height: 0;
		padding: 18px 20px max(28px, env(safe-area-inset-bottom));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.mobile-menu-overlay__menu,
	.mobile-menu-overlay .primary-nav__menu {
		width: 100%;
		margin: 0;
		padding: 0;
		display: block !important;
		list-style: none;
	}

	.mobile-menu-overlay__menu > li,
	.mobile-menu-overlay .primary-nav__menu > li {
		width: 100%;
		border-bottom: 1px solid rgba(11, 75, 71, .09);
	}

	.mobile-menu-overlay__menu > li > a,
	.mobile-menu-overlay .primary-nav__menu > li > a {
		min-height: 72px;
		padding: 22px 0;
		display: flex;
		align-items: center;
		color: var(--unity-teal-deep);
		background: transparent !important;
		font-family: var(--unity-serif);
		font-size: 27px;
		font-weight: 400;
		line-height: 1.06;
		text-decoration: none;
	}

	.mobile-menu-overlay .sub-menu {
		position: static !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: -2px 0 12px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		list-style: none;
	}

	.mobile-menu-overlay .sub-menu a {
		min-height: 46px;
		padding: 11px 0 !important;
		display: flex !important;
		align-items: center;
		color: rgba(7, 58, 55, .74) !important;
		background: transparent !important;
		font-family: var(--unity-sans) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		text-decoration: none;
	}

	.mobile-menu-overlay .sub-menu__utility {
		margin-top: 7px !important;
		padding-top: 8px !important;
		border-top: 1px solid rgba(11, 75, 71, .08) !important;
	}

	.mobile-menu-overlay__cta {
		width: 100%;
		min-height: 58px;
		margin-top: 22px;
	}

	.site-menu-state:checked ~ .site-header {
		pointer-events: none;
	}
}

@media (max-width: 767px) {
	.mobile-menu-overlay__menu > li > a,
	.mobile-menu-overlay .primary-nav__menu > li > a {
		font-size: 26px;
	}
}

@media (max-width: 355px) {
	.mobile-menu-toggle__label,
	.mobile-menu-overlay__close > span:first-child {
		display: none;
	}

	.mobile-menu-toggle,
	.mobile-menu-overlay__close {
		min-width: 34px;
	}
}


/* =========================================================
   v0.85 — mobile menu alignment + anchor offset
   ========================================================= */

@media (max-width: 1100px) {
	/*
	 * Keep open-menu chrome in exactly the same place as the closed header.
	 * The overlay itself remains full-screen, but its visual topbar honours
	 * the WP admin bar and uses the same centred inner width as site-header.
	 */
	.mobile-menu-overlay__topbar {
		min-height: 74px;
		padding: 0;
		display: block;
		border-bottom: 1px solid rgba(11, 75, 71, .08);
		background: #fbfaf7;
	}

	.mobile-menu-overlay__topbar-inner {
		width: min(100% - 40px, var(--unity-container));
		min-height: 74px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
	}

	.mobile-menu-overlay__brand {
		display: inline-flex;
		align-items: center;
		flex: 0 0 auto;
	}

	.mobile-menu-overlay__topbar .site-branding__placeholder {
		width: 132px;
		height: 42px;
		padding: 0 12px;
	}

	.mobile-menu-overlay__close {
		min-width: 72px;
		min-height: 44px;
		padding: 0;
		margin: 0;
	}

	/*
	 * When logged into WordPress, keep the full-screen overlay below the
	 * admin bar so the logo/Close do not jump upward on open.
	 */
	body.admin-bar .mobile-menu-overlay {
		top: 32px !important;
		height: calc(100dvh - 32px) !important;
	}

	/*
	 * More breathing room when navigating to Treatments/services.
	 * The section now lands clearly below the sticky header.
	 */
	#treatments {
		scroll-margin-top: 118px;
	}
}

@media (max-width: 782px) {
	body.admin-bar .mobile-menu-overlay {
		top: 46px !important;
		height: calc(100dvh - 46px) !important;
	}
}

@media (max-width: 767px) {
	.mobile-menu-overlay__topbar-inner {
		width: min(100% - 40px, var(--unity-container));
	}

	#treatments {
		scroll-margin-top: 104px;
	}
}

@media (max-width: 420px) {
	.mobile-menu-overlay__topbar-inner {
		width: min(100% - 32px, var(--unity-container));
	}
}


/* =========================================================
   v0.86 — remove menu judder + increase Treatments clearance
   ========================================================= */

/*
 * Reserve scrollbar width permanently where supported.
 * This prevents the page/header shifting sideways when menu-open locks body scroll.
 */
html {
	scrollbar-gutter: stable;
}

/*
 * Treatments: more obvious clearance beneath the sticky header.
 * This affects both direct anchor navigation and the sticky treatment presentation.
 */
#treatments {
	scroll-margin-top: 180px;
}

@media (min-width: 1041px) {
	:root {
		--unity-treatment-sticky-top: 156px;
	}

	.unity-treatment-showcase__intro,
	.unity-treatment-option {
		top: var(--unity-treatment-sticky-top) !important;
	}
}

@media (max-width: 1040px) and (min-width: 721px) {
	:root {
		--unity-treatment-sticky-top: 132px;
	}

	#treatments {
		scroll-margin-top: 150px;
	}
}

@media (max-width: 720px) {
	#treatments {
		scroll-margin-top: 128px;
	}
}

@media (max-width: 1100px) {
	/*
	 * No vertical slide at all when the mobile menu opens.
	 * The previous translate animation was the visible 'judder'.
	 */
	.mobile-menu-overlay {
		transform: none !important;
		transition: none !important;
	}

	.site-menu-state:checked ~ .mobile-menu-overlay {
		transform: none !important;
	}

	/*
	 * Avoid animations on the menu chrome too — open state should feel fixed,
	 * not like the header is rebuilding itself.
	 */
	.mobile-menu-overlay__topbar,
	.mobile-menu-overlay__topbar-inner,
	.mobile-menu-overlay__brand,
	.mobile-menu-overlay__close,
	.mobile-menu-overlay__close-icon,
	.mobile-menu-toggle {
		transition: none !important;
	}
}


/* =========================================================
   v0.87 — mobile Treatments submenu collapsed by default
   ========================================================= */

@media (max-width: 1100px) {
	.mobile-menu-overlay .menu-item-has-children > a {
		position: relative;
		padding-right: 36px !important;
	}

	.mobile-menu-overlay .menu-item-has-children > a::after {
		content: "";
		position: absolute;
		right: 4px;
		top: 50%;
		width: 9px;
		height: 9px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-65%) rotate(45deg);
		transform-origin: center;
		transition: transform .16s ease;
	}

	.mobile-menu-overlay .menu-item-has-children > .sub-menu {
		display: none !important;
		margin: 0 0 12px !important;
	}

	.mobile-menu-overlay .menu-item-has-children.is-submenu-open > .sub-menu {
		display: block !important;
	}

	.mobile-menu-overlay .menu-item-has-children.is-submenu-open > a::after {
		transform: translateY(-35%) rotate(225deg);
	}
}


/* =========================================================
   v0.89 — page-based backend editing support
   ========================================================= */

.home-hero__video-placeholder.has-media {
	padding: 0;
	overflow: hidden;
}

.home-hero__video-placeholder video,
.unity-treatment-option__image,
.unity-confidence__image,
.unity-page__hero-image,
.unity-page-section__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.unity-treatment-option__visual:has(.unity-treatment-option__image),
.unity-confidence__image-placeholder.has-media {
	padding: 0;
	overflow: hidden;
}

.site-footer__legal-menu {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 10px 24px;
	list-style: none;
}

.site-footer__legal-menu li {
	margin: 0;
}

/* Internal page fields render as designed sections only when filled. */
.unity-page__hero--split .unity-page__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
	gap: clamp(44px, 6vw, 90px);
	align-items: center;
}

.unity-page__hero h1 span {
	display: block;
}

.unity-page__hero-intro {
	max-width: 720px;
	margin: 28px 0 0;
	font-size: 17px;
	line-height: 1.7;
}

.unity-page__hero-media {
	min-height: 420px;
	overflow: hidden;
	border-radius: 22px;
	background: var(--unity-surface-cool);
}

.unity-page-section {
	padding: var(--unity-section-space) 0;
	background: var(--unity-surface-base);
	border-top: 1px solid rgba(11, 75, 71, .06);
}

.unity-page-section--cool {
	background: var(--unity-surface-cool);
}

.unity-page-section__inner {
	max-width: 1000px;
}

.unity-page-section__inner.has-media {
	max-width: var(--unity-container);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
	gap: clamp(42px, 6vw, 88px);
	align-items: center;
}

.unity-page-section__copy h2,
.unity-page-faqs h2,
.unity-page-cta h2 {
	margin: 0;
	color: var(--unity-teal);
	font-family: var(--unity-serif);
	font-size: clamp(42px, 3.6vw, 56px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.02em;
}

.unity-page-section__copy p {
	margin-top: 22px;
	font-size: 16px;
	line-height: 1.75;
}

.unity-page-section__media {
	min-height: 420px;
	overflow: hidden;
	border-radius: 22px;
	background: #e9f1ee;
}

.unity-page-faqs {
	padding: var(--unity-section-space) 0;
	background: var(--unity-surface-base);
	border-top: 1px solid rgba(11, 75, 71, .06);
}

.unity-page-faqs__inner {
	max-width: 1000px;
}

.unity-page-faqs__list {
	margin-top: 42px;
}

.unity-page-faq {
	border-bottom: 1px solid rgba(11, 75, 71, .16);
}

.unity-page-faq summary {
	padding: 22px 0;
	color: var(--unity-teal-deep);
	font-size: 19px;
	font-weight: 600;
	cursor: pointer;
}

.unity-page-faq > div {
	max-width: 760px;
	padding: 0 0 24px;
	font-size: 15px;
	line-height: 1.7;
}

.unity-page-cta {
	padding: clamp(72px, 7vw, 110px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-page-cta__inner {
	max-width: 860px;
	text-align: center;
}

.unity-page-cta h2 {
	color: #fff;
}

.unity-page-cta p {
	max-width: 650px;
	margin: 22px auto 28px;
	color: rgba(255,255,255,.78);
	font-size: 16px;
	line-height: 1.7;
}

@media (max-width: 900px) {
	.unity-page__hero--split .unity-page__hero-inner,
	.unity-page-section__inner.has-media {
		grid-template-columns: 1fr;
	}

	.unity-page__hero-media,
	.unity-page-section__media {
		min-height: 320px;
	}
}

@media (max-width: 767px) {
	.site-footer__legal-menu {
		gap: 16px;
	}

	.unity-page__hero-intro {
		margin-top: 20px;
		font-size: 15px;
	}

	.unity-page__hero-media,
	.unity-page-section__media {
		min-height: 250px;
		border-radius: 16px;
	}

	.unity-page-section__copy h2,
	.unity-page-faqs h2,
	.unity-page-cta h2 {
		font-size: clamp(31px, 8.5vw, 38px);
	}

	.unity-page-faq summary {
		padding: 18px 0;
		font-size: 16px;
	}
}


/* =========================================================
   v0.90 — 404 + legal pages
   ========================================================= */

/* ---------- 404 ---------- */

.unity-404__section {
	min-height: calc(100svh - 82px);
	padding: clamp(90px, 10vw, 150px) 0;
	display: flex;
	align-items: center;
	background:
		radial-gradient(circle at 78% 28%, rgba(154, 184, 176, .18), transparent 28%),
		var(--unity-surface-base);
}

.unity-404__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .72fr);
	gap: clamp(60px, 9vw, 140px);
	align-items: end;
}

.unity-404__copy {
	max-width: 760px;
}

.unity-404__code {
	margin: 24px 0 2px;
	color: rgba(11, 75, 71, .12);
	font-family: var(--unity-serif);
	font-size: clamp(96px, 12vw, 180px);
	font-weight: 400;
	line-height: .78;
	letter-spacing: -.055em;
}

.unity-404 h1 {
	margin: 24px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(52px, 6vw, 82px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.035em;
}

.unity-404 h1 span {
	display: block;
}

.unity-404__intro {
	max-width: 610px;
	margin: 28px 0 0;
	color: rgba(25, 48, 46, .78);
	font-size: 17px;
	line-height: 1.7;
}

.unity-404__actions {
	margin-top: 34px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px 30px;
}

.unity-404__links {
	padding: 10px 0 0;
	border-top: 1px solid rgba(11, 75, 71, .15);
}

.unity-404__links-title {
	margin: 0;
	padding: 20px 0 14px;
	color: rgba(11, 75, 71, .62);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.unity-404__links a {
	min-height: 64px;
	padding: 16px 2px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid rgba(11, 75, 71, .12);
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 21px;
	line-height: 1.2;
	text-decoration: none;
	transition: padding .18s ease, color .18s ease;
}

.unity-404__links a:hover,
.unity-404__links a:focus-visible {
	padding-left: 8px;
	color: var(--unity-teal);
}

/* ---------- Legal ---------- */

.unity-legal-page {
	background: var(--unity-surface-base);
}

.unity-legal-page__hero {
	padding: clamp(100px, 10vw, 150px) 0 clamp(62px, 7vw, 96px);
	border-bottom: 1px solid rgba(11, 75, 71, .09);
	background:
		linear-gradient(180deg, rgba(239, 245, 242, .8), rgba(251, 250, 247, 0));
}

.unity-legal-page__hero-inner {
	max-width: 980px;
}

.unity-legal-page__hero h1 {
	max-width: 900px;
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(48px, 5.6vw, 76px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.035em;
}

.unity-legal-page__body {
	padding: clamp(62px, 7vw, 100px) 0 clamp(90px, 10vw, 140px);
}

.unity-legal-page__content {
	max-width: 860px;
	color: rgba(25, 48, 46, .86);
	font-size: 16px;
	line-height: 1.78;
}

.unity-legal-page__content > *:first-child {
	margin-top: 0;
}

.unity-legal-page__content h2,
.unity-legal-page__content h3,
.unity-legal-page__content h4 {
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.018em;
}

.unity-legal-page__content h2 {
	margin: 62px 0 20px;
	font-size: clamp(32px, 3vw, 42px);
}

.unity-legal-page__content h3 {
	margin: 42px 0 16px;
	font-size: clamp(25px, 2.3vw, 31px);
}

.unity-legal-page__content h4 {
	margin: 34px 0 12px;
	font-size: 22px;
}

.unity-legal-page__content p,
.unity-legal-page__content ul,
.unity-legal-page__content ol,
.unity-legal-page__content blockquote,
.unity-legal-page__content table {
	margin-top: 0;
	margin-bottom: 22px;
}

.unity-legal-page__content ul,
.unity-legal-page__content ol {
	padding-left: 24px;
}

.unity-legal-page__content li + li {
	margin-top: 8px;
}

.unity-legal-page__content a {
	color: var(--unity-teal);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.unity-legal-page__content strong {
	color: var(--unity-teal-deep);
}

.unity-legal-page__content hr {
	margin: 48px 0;
	border: 0;
	border-top: 1px solid rgba(11, 75, 71, .13);
}

.unity-legal-page__content blockquote {
	margin-left: 0;
	padding: 22px 28px;
	border-left: 2px solid rgba(11, 75, 71, .28);
	background: var(--unity-surface-cool);
}

.unity-legal-page__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.unity-legal-page__content th,
.unity-legal-page__content td {
	padding: 13px 14px;
	border: 1px solid rgba(11, 75, 71, .12);
	text-align: left;
	vertical-align: top;
}

.unity-legal-page__content th {
	color: var(--unity-teal-deep);
	background: var(--unity-surface-cool);
}

.unity-legal-page__empty {
	padding: 24px 0;
	color: rgba(25, 48, 46, .58);
	font-style: italic;
}

@media (max-width: 900px) {
	.unity-404__inner {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.unity-404__links {
		max-width: 660px;
	}
}

@media (max-width: 767px) {
	.unity-404__section {
		min-height: 0;
		padding: 72px 0 90px;
		align-items: flex-start;
	}

	.unity-404__code {
		margin-top: 18px;
		font-size: clamp(88px, 27vw, 120px);
	}

	.unity-404 h1 {
		margin-top: 18px;
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-404__intro {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-404__actions {
		margin-top: 28px;
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.unity-404__links a {
		min-height: 58px;
		font-size: 18px;
	}

	.unity-legal-page__hero {
		padding: 78px 0 48px;
	}

	.unity-legal-page__hero h1 {
		margin-top: 16px;
		font-size: clamp(38px, 10vw, 46px);
		line-height: 1.04;
	}

	.unity-legal-page__body {
		padding: 48px 0 78px;
	}

	.unity-legal-page__content {
		font-size: 15px;
		line-height: 1.72;
	}

	.unity-legal-page__content h2 {
		margin-top: 46px;
		font-size: 30px;
	}

	.unity-legal-page__content h3 {
		margin-top: 34px;
		font-size: 24px;
	}

	.unity-legal-page__content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}


/* =========================================================
   v0.91 — 1250px 404 container + footer menu layout repair
   ========================================================= */

/* 404 follows the same 1250px content width as the refined site sections/footer. */
.unity-404__inner {
	width: min(1250px, calc(100% - 56px));
	margin-inline: auto;
}

/*
 * WordPress-generated footer menus need their own class.
 * The older .site-footer__menu class elsewhere in the stylesheet is a horizontal
 * flex menu from an earlier footer design and was overriding the new footer columns.
 */
.site-footer__column-menu {
	margin: 22px 0 0;
	padding: 0;
	display: block;
	list-style: none;
}

.site-footer__column-menu li {
	margin: 0;
	padding: 0;
}

.site-footer__column-menu li + li {
	margin-top: 13px;
}

.site-footer__column-menu a {
	display: inline;
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
	transition: color .2s ease, opacity .2s ease;
}

.site-footer__column-menu a:hover,
.site-footer__column-menu a:focus-visible {
	color: #fff;
}

@media (max-width: 720px) {
	.unity-404__inner {
		width: min(1250px, calc(100% - 40px));
	}
}


/* =========================================================
   v0.92 — dedicated FAQs page
   ========================================================= */

.unity-faq-page {
	background: var(--unity-surface-base);
}

.unity-faq-page__hero {
	padding: clamp(100px, 10vw, 150px) 0 clamp(66px, 7vw, 96px);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
	background:
		radial-gradient(circle at 82% 22%, rgba(154, 184, 176, .16), transparent 28%),
		var(--unity-surface-base);
}

.unity-faq-page__hero-inner,
.unity-faq-page__inner,
.unity-faq-page__cta-inner {
	width: min(1250px, calc(100% - 56px));
	margin-inline: auto;
}

.unity-faq-page__hero h1 {
	max-width: 900px;
	margin: 22px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(54px, 6vw, 82px);
	font-weight: 400;
	line-height: .99;
	letter-spacing: -.035em;
}

.unity-faq-page__hero h1 span {
	display: block;
}

.unity-faq-page__intro {
	max-width: 680px;
	margin: 28px 0 0;
	color: rgba(25, 48, 46, .76);
	font-size: 17px;
	line-height: 1.72;
}

.unity-faq-page__body {
	padding: clamp(62px, 7vw, 100px) 0 clamp(90px, 10vw, 140px);
}

.unity-faq-page__list {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.unity-faq-page__item {
	border-bottom: 1px solid rgba(11, 75, 71, .16);
}

.unity-faq-page__item .unity-faq__heading {
	margin: 0;
}

.unity-faq-page__item .unity-faq__button {
	min-height: 78px;
	padding: 22px 0;
	font-size: clamp(18px, 1.5vw, 21px);
}

.unity-faq-page__item .unity-faq__panel {
	max-width: 820px;
	padding: 0 58px 26px 0;
	color: rgba(25, 48, 46, .78);
	font-size: 15px;
	line-height: 1.72;
}

.unity-faq-page__item .unity-faq__panel p:last-child {
	margin-bottom: 0;
}

.unity-faq-page__empty {
	max-width: 760px;
	margin: 0 auto;
	color: rgba(25, 48, 46, .6);
	text-align: center;
}

.unity-faq-page__cta {
	padding: clamp(74px, 8vw, 116px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-faq-page__cta-inner {
	max-width: 1250px;
	text-align: center;
}

.unity-faq-page__cta .eyebrow {
	color: rgba(255, 255, 255, .62);
}

.unity-faq-page__cta h2 {
	max-width: 780px;
	margin: 18px auto 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(42px, 4.5vw, 62px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.025em;
}

.unity-faq-page__cta p:not(.eyebrow) {
	max-width: 650px;
	margin: 22px auto 30px;
	color: rgba(255, 255, 255, .76);
	font-size: 16px;
	line-height: 1.7;
}

@media (max-width: 720px) {
	.unity-faq-page__hero-inner,
	.unity-faq-page__inner,
	.unity-faq-page__cta-inner {
		width: min(1250px, calc(100% - 40px));
	}

	.unity-faq-page__hero {
		padding: 78px 0 52px;
	}

	.unity-faq-page__hero h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-faq-page__intro {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-faq-page__body {
		padding: 44px 0 78px;
	}

	.unity-faq-page__item .unity-faq__button {
		min-height: 66px;
		padding: 18px 0;
		font-size: 16px;
	}

	.unity-faq-page__item .unity-faq__panel {
		padding: 0 34px 22px 0;
	}

	.unity-faq-page__cta h2 {
		font-size: clamp(32px, 9vw, 40px);
	}
}


/* =========================================================
   v0.93 — tighter legal body typography
   ========================================================= */

.unity-legal-page__content h2 {
	margin: 38px 0 12px;
	font-size: clamp(26px, 2.1vw, 32px);
	line-height: 1.16;
}

.unity-legal-page__content h3 {
	margin: 28px 0 10px;
	font-size: clamp(22px, 1.8vw, 26px);
	line-height: 1.2;
}

.unity-legal-page__content h4 {
	margin: 22px 0 8px;
	font-size: 19px;
	line-height: 1.25;
}

.unity-legal-page__content p,
.unity-legal-page__content ul,
.unity-legal-page__content ol,
.unity-legal-page__content blockquote,
.unity-legal-page__content table {
	margin-bottom: 16px;
}

.unity-legal-page__content li + li {
	margin-top: 5px;
}

.unity-legal-page__content hr {
	margin: 34px 0;
}

@media (max-width: 767px) {
	.unity-legal-page__content h2 {
		margin: 32px 0 10px;
		font-size: 25px;
	}

	.unity-legal-page__content h3 {
		margin: 24px 0 9px;
		font-size: 21px;
	}

	.unity-legal-page__content h4 {
		margin: 20px 0 8px;
		font-size: 18px;
	}
}


/* =========================================================
   v0.94 — FAQ CTA separated from footer
   ========================================================= */

.unity-faq-page__cta {
	padding: clamp(76px, 8vw, 112px) 0;
	background: var(--unity-surface-cool);
	color: var(--unity-teal-deep);
	border-top: 1px solid rgba(11, 75, 71, .08);
}

.unity-faq-page__cta-inner {
	width: min(1250px, calc(100% - 56px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(44px, 7vw, 110px);
	align-items: end;
	text-align: left;
}

.unity-faq-page__cta-copy {
	max-width: 790px;
}

.unity-faq-page__cta .eyebrow {
	color: rgba(11, 75, 71, .64);
}

.unity-faq-page__cta h2 {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(42px, 4.6vw, 62px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.025em;
}

.unity-faq-page__cta p:not(.eyebrow) {
	max-width: 650px;
	margin: 22px 0 0;
	color: rgba(25, 48, 46, .76);
	font-size: 16px;
	line-height: 1.7;
}

.unity-faq-page__cta-action {
	flex: 0 0 auto;
	padding-bottom: 4px;
}

.unity-faq-page__cta .button {
	white-space: nowrap;
}

@media (max-width: 900px) {
	.unity-faq-page__cta-inner {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 30px;
	}

	.unity-faq-page__cta-action {
		padding-bottom: 0;
	}
}

@media (max-width: 720px) {
	.unity-faq-page__cta {
		padding: 62px 0 70px;
	}

	.unity-faq-page__cta-inner {
		width: min(1250px, calc(100% - 40px));
		gap: 26px;
	}

	.unity-faq-page__cta h2 {
		font-size: clamp(32px, 9vw, 40px);
	}

	.unity-faq-page__cta p:not(.eyebrow) {
		margin-top: 18px;
		font-size: 15px;
	}
}


/* =========================================================
   v0.95 — dedicated consultation page
   ========================================================= */

.unity-book-page {
	background: var(--unity-surface-base);
}

.unity-book-page__hero {
	padding: clamp(94px, 9vw, 138px) 0 clamp(82px, 8vw, 118px);
	background:
		radial-gradient(circle at 16% 22%, rgba(154, 184, 176, .13), transparent 27%),
		var(--unity-surface-base);
}

.unity-book-page__hero-inner,
.unity-book-page__next-inner {
	width: min(1250px, calc(100% - 56px));
	margin-inline: auto;
}

.unity-book-page__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(500px, 1fr);
	gap: clamp(54px, 7vw, 104px);
	align-items: start;
}

.unity-book-page__intro {
	padding-top: 22px;
}

.unity-book-page h1 {
	max-width: 680px;
	margin: 22px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(54px, 5.7vw, 78px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.035em;
}

.unity-book-page h1 span {
	display: block;
}

.unity-book-page__lead {
	max-width: 610px;
	margin: 28px 0 0;
	color: rgba(25, 48, 46, .77);
	font-size: 17px;
	line-height: 1.72;
}

.unity-book-page__reassurance {
	margin-top: 42px;
	border-top: 1px solid rgba(11, 75, 71, .13);
}

.unity-book-page__reassurance > div {
	min-height: 64px;
	padding: 15px 0;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	align-items: center;
	border-bottom: 1px solid rgba(11, 75, 71, .11);
}

.unity-book-page__reassurance span {
	color: rgba(11, 75, 71, .58);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
}

.unity-book-page__reassurance p {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 15px;
	font-weight: 600;
}

.unity-book-page__form-card {
	padding: clamp(34px, 4vw, 52px);
	background: #fff;
	border: 1px solid rgba(11, 75, 71, .09);
	box-shadow: 0 18px 50px rgba(11, 75, 71, .08);
}

.unity-book-page__form-heading {
	margin-bottom: 30px;
}

.unity-book-page__form-heading h2 {
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(34px, 3vw, 44px);
	font-weight: 400;
	line-height: 1.08;
}

.unity-book-page__form-heading p {
	max-width: 560px;
	margin: 15px 0 0;
	color: rgba(25, 48, 46, .7);
	font-size: 14px;
	line-height: 1.65;
}

.unity-book-page__next {
	padding: clamp(76px, 8vw, 112px) 0;
	border-top: 1px solid rgba(11, 75, 71, .08);
	background: var(--unity-surface-cool);
}

.unity-book-page__next-inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(48px, 8vw, 120px);
	align-items: start;
}

.unity-book-page__next h2 {
	max-width: 570px;
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(40px, 4vw, 56px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.025em;
}

.unity-book-page__next-copy {
	padding-top: 30px;
}

.unity-book-page__next-copy p {
	max-width: 620px;
	margin: 0;
	color: rgba(25, 48, 46, .76);
	font-size: 16px;
	line-height: 1.75;
}

.unity-book-page__next-copy p + p {
	margin-top: 18px;
}

@media (max-width: 980px) {
	.unity-book-page__hero-inner {
		grid-template-columns: 1fr;
	}

	.unity-book-page__intro {
		max-width: 760px;
		padding-top: 0;
	}

	.unity-book-page__form-card {
		max-width: 760px;
	}

	.unity-book-page__next-inner {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.unity-book-page__next-copy {
		padding-top: 0;
	}
}

@media (max-width: 720px) {
	.unity-book-page__hero {
		padding: 74px 0 72px;
	}

	.unity-book-page__hero-inner,
	.unity-book-page__next-inner {
		width: min(1250px, calc(100% - 40px));
	}

	.unity-book-page h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-book-page__lead {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-book-page__reassurance {
		margin-top: 32px;
	}

	.unity-book-page__form-card {
		padding: 26px 20px;
		border-radius: 18px;
	}

	.unity-book-page__form-heading h2 {
		font-size: 30px;
	}

	.unity-book-page__next {
		padding: 62px 0 72px;
	}

	.unity-book-page__next h2 {
		font-size: clamp(32px, 9vw, 40px);
	}

	.unity-book-page__next-copy p {
		font-size: 15px;
	}
}


/* =========================================================
   v0.97 — consultation reassurance number badges
   ========================================================= */

.unity-book-page__reassurance > div {
	grid-template-columns: 46px 1fr;
}

.unity-book-page__reassurance span {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--unity-surface-cool);
	border: 1px solid rgba(11, 75, 71, .12);
	color: var(--unity-teal-deep);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .06em;
}

@media (max-width: 720px) {
	.unity-book-page__reassurance > div {
		grid-template-columns: 44px 1fr;
	}

	.unity-book-page__reassurance span {
		width: 32px;
		height: 32px;
	}
}


/* =========================================================
   v0.98 — Journey / Locations / Finance page system
   ========================================================= */

.unity-shell {
	width: min(1250px, calc(100% - 56px));
	margin-inline: auto;
}

.unity-info-hero {
	padding: clamp(108px, 10vw, 156px) 0 clamp(86px, 8vw, 118px);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
	background: var(--unity-surface-base);
}

.unity-info-hero--journey {
	background:
		radial-gradient(circle at 82% 26%, rgba(154, 184, 176, .17), transparent 28%),
		var(--unity-surface-base);
}

.unity-info-hero--locations {
	background:
		radial-gradient(circle at 76% 22%, rgba(154, 184, 176, .15), transparent 30%),
		var(--unity-surface-base);
}

.unity-info-hero--finance {
	background:
		radial-gradient(circle at 84% 24%, rgba(154, 184, 176, .16), transparent 28%),
		var(--unity-surface-base);
}

.unity-info-hero__copy {
	max-width: 900px;
}

.unity-info-hero h1 {
	margin: 22px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(56px, 6.2vw, 84px);
	font-weight: 400;
	line-height: .99;
	letter-spacing: -.038em;
}

.unity-info-hero h1 span {
	display: block;
}

.unity-info-hero__lead {
	max-width: 720px;
	margin: 30px 0 0;
	color: rgba(25, 48, 46, .76);
	font-size: 17px;
	line-height: 1.74;
}

.unity-info-hero .button {
	margin-top: 34px;
}

.unity-section-intro {
	margin-bottom: clamp(48px, 6vw, 80px);
}

.unity-section-intro--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.unity-section-intro h2,
.unity-info-split h2,
.unity-info-feature h2,
.unity-light-cta h2,
.unity-finance-page__quote h2,
.unity-finance-value h2,
.unity-location-principles h2 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(42px, 4.5vw, 62px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.028em;
}

.unity-section-intro h2 span {
	display: block;
}

.unity-section-intro--split > p {
	max-width: 570px;
	margin: 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.75;
}

.unity-info-split {
	padding: clamp(82px, 8vw, 118px) 0;
	background: var(--unity-surface-base);
}

.unity-info-split--cool {
	background: var(--unity-surface-cool);
}

.unity-info-split__inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(54px, 8vw, 120px);
	align-items: start;
}

.unity-info-split__copy {
	padding-top: 28px;
}

.unity-info-split__copy > p {
	max-width: 660px;
	margin: 0 0 22px;
	color: rgba(25, 48, 46, .76);
	font-size: 16px;
	line-height: 1.75;
}

.unity-info-split__copy .button {
	margin-top: 10px;
}

.unity-check-list {
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.unity-check-list li {
	position: relative;
	padding: 16px 0 16px 36px;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
	color: var(--unity-teal-deep);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

.unity-check-list li:first-child {
	border-top: 1px solid rgba(11, 75, 71, .1);
}

.unity-check-list li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 21px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(154, 184, 176, .22);
	border: 1px solid rgba(11, 75, 71, .12);
}

.unity-light-cta {
	padding: clamp(76px, 8vw, 108px) 0;
	background: var(--unity-surface-cool);
	border-top: 1px solid rgba(11, 75, 71, .08);
}

.unity-light-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(44px, 8vw, 120px);
	align-items: end;
}

.unity-light-cta__inner > div {
	max-width: 760px;
}

.unity-light-cta p:not(.eyebrow) {
	max-width: 650px;
	margin: 20px 0 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.7;
}

.unity-light-cta .button {
	white-space: nowrap;
}

/* Journey */
.unity-journey-page__timeline {
	padding: clamp(88px, 9vw, 130px) 0;
	background: var(--unity-surface-base);
}

.unity-journey-page__steps {
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.unity-journey-step {
	min-height: 184px;
	padding: 34px 0;
	display: grid;
	grid-template-columns: 72px minmax(240px, .62fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 74px);
	align-items: start;
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-journey-step__number,
.unity-finance-factors article > span,
.unity-location-principles__grid > div > span {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--unity-surface-cool);
	border: 1px solid rgba(11, 75, 71, .1);
	color: var(--unity-teal-deep);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
}

.unity-journey-step h3 {
	margin: 4px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(27px, 2.4vw, 35px);
	font-weight: 400;
	line-height: 1.1;
}

.unity-journey-step p {
	max-width: 650px;
	margin: 3px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 15px;
	line-height: 1.74;
}

.unity-info-feature {
	padding: clamp(88px, 9vw, 128px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-info-feature__inner {
	display: grid;
	grid-template-columns: minmax(220px, .5fr) minmax(0, 1fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: start;
}

.unity-info-feature__marker {
	color: rgba(255,255,255,.12);
	font-family: var(--unity-serif);
	font-size: clamp(110px, 12vw, 170px);
	line-height: .75;
}

.unity-info-feature .eyebrow {
	color: rgba(255,255,255,.58);
}

.unity-info-feature h2 {
	max-width: 820px;
	color: #fff;
}

.unity-info-feature__copy > p:not(.eyebrow) {
	max-width: 700px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.72);
	font-size: 16px;
	line-height: 1.75;
}

.unity-info-feature .text-link {
	margin-top: 28px;
	color: #fff;
}

/* Locations */
.unity-locations-page__directory {
	padding: clamp(88px, 9vw, 130px) 0;
	background: var(--unity-surface-base);
}

.unity-location-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.unity-location-card {
	min-height: 300px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(11, 75, 71, .1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(11, 75, 71, .035);
}

.unity-location-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.unity-location-card__number {
	color: rgba(11, 75, 71, .58);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
}

.unity-location-card__mark {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--unity-surface-cool);
	border: 1px solid rgba(11, 75, 71, .09);
}

.unity-location-card h3 {
	margin: auto 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.08;
}

.unity-location-card p {
	margin: 15px 0 22px;
	color: rgba(25, 48, 46, .68);
	font-size: 14px;
	line-height: 1.65;
}

.unity-location-card .text-link {
	margin-top: 0;
}

.unity-location-principles {
	padding: clamp(82px, 8vw, 118px) 0;
	background: var(--unity-surface-base);
}

.unity-location-principles__heading {
	max-width: 780px;
}

.unity-location-principles__grid {
	margin-top: clamp(44px, 5vw, 66px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(11, 75, 71, .12);
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-location-principles__grid > div {
	padding: 34px 34px 36px 0;
}

.unity-location-principles__grid > div + div {
	padding-left: 34px;
	border-left: 1px solid rgba(11, 75, 71, .12);
}

.unity-location-principles h3 {
	margin: 28px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 29px;
	font-weight: 400;
}

.unity-location-principles__grid p {
	margin: 14px 0 0;
	color: rgba(25, 48, 46, .68);
	font-size: 14px;
	line-height: 1.68;
}

/* Finance */
.unity-finance-page__costs {
	padding: clamp(88px, 9vw, 130px) 0;
	background: var(--unity-surface-base);
}

.unity-finance-factors {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(11, 75, 71, .12);
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-finance-factors article {
	padding: 34px 38px 38px 0;
}

.unity-finance-factors article + article {
	padding-left: 38px;
	border-left: 1px solid rgba(11, 75, 71, .12);
}

.unity-finance-factors h3 {
	margin: 28px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 29px;
	font-weight: 400;
	line-height: 1.12;
}

.unity-finance-factors p {
	margin: 15px 0 0;
	color: rgba(25, 48, 46, .69);
	font-size: 14px;
	line-height: 1.7;
}

.unity-finance-page__quote {
	padding: clamp(82px, 8vw, 116px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-finance-page__quote-inner {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
	gap: clamp(54px, 8vw, 120px);
	align-items: start;
}

.unity-finance-page__quote .eyebrow {
	color: rgba(255,255,255,.58);
}

.unity-finance-page__quote h2 {
	max-width: 540px;
	color: #fff;
}

.unity-finance-page__quote-list {
	border-top: 1px solid rgba(255,255,255,.16);
}

.unity-finance-page__quote-list > div {
	min-height: 64px;
	padding: 15px 0;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,.13);
}

.unity-finance-page__quote-list span {
	color: rgba(255,255,255,.5);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
}

.unity-finance-page__quote-list p {
	margin: 0;
	color: rgba(255,255,255,.88);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.unity-finance-page__provisional {
	margin-top: 26px !important;
	padding: 18px 20px;
	border: 1px dashed rgba(11, 75, 71, .24);
	border-radius: 12px;
	background: rgba(255,255,255,.42);
	font-size: 13px !important;
}

.unity-finance-value {
	padding: clamp(84px, 8vw, 120px) 0;
	background: var(--unity-surface-base);
}

.unity-finance-value__inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(54px, 8vw, 120px);
	align-items: start;
}

.unity-finance-value__copy {
	padding-top: 28px;
}

.unity-finance-value__copy p {
	max-width: 650px;
	margin: 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.75;
}

.unity-finance-value__copy p + p {
	margin-top: 20px;
}

@media (max-width: 980px) {
	.unity-section-intro--split,
	.unity-info-split__inner,
	.unity-info-feature__inner,
	.unity-finance-page__quote-inner,
	.unity-finance-value__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.unity-section-intro--split > p,
	.unity-info-split__copy,
	.unity-finance-value__copy {
		padding-top: 0;
	}

	.unity-location-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.unity-info-feature__marker {
		font-size: 96px;
	}
}

@media (max-width: 760px) {
	.unity-shell {
		width: min(1250px, calc(100% - 40px));
	}

	.unity-info-hero {
		padding: 78px 0 64px;
	}

	.unity-info-hero h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-info-hero__lead {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-section-intro h2,
	.unity-info-split h2,
	.unity-info-feature h2,
	.unity-light-cta h2,
	.unity-finance-page__quote h2,
	.unity-finance-value h2,
	.unity-location-principles h2 {
		font-size: clamp(31px, 8.8vw, 40px);
	}

	.unity-section-intro--split > p,
	.unity-info-split__copy > p,
	.unity-light-cta p:not(.eyebrow),
	.unity-finance-value__copy p {
		font-size: 15px;
	}

	.unity-journey-page__timeline,
	.unity-locations-page__directory,
	.unity-finance-page__costs {
		padding: 64px 0 76px;
	}

	.unity-journey-step {
		min-height: 0;
		padding: 25px 0;
		grid-template-columns: 46px 1fr;
		gap: 10px 16px;
	}

	.unity-journey-step__number {
		grid-row: 1 / span 2;
		width: 36px;
		height: 36px;
	}

	.unity-journey-step h3 {
		margin-top: 2px;
		font-size: 25px;
	}

	.unity-journey-step p {
		grid-column: 2;
		font-size: 14px;
	}

	.unity-info-split,
	.unity-info-feature,
	.unity-location-principles,
	.unity-finance-page__quote,
	.unity-finance-value {
		padding: 64px 0 74px;
	}

	.unity-info-feature__marker {
		display: none;
	}

	.unity-location-grid {
		grid-template-columns: 1fr;
	}

	.unity-location-card {
		min-height: 240px;
		padding: 24px;
	}

	.unity-location-card h3 {
		font-size: 30px;
	}

	.unity-location-principles__grid,
	.unity-finance-factors {
		grid-template-columns: 1fr;
	}

	.unity-location-principles__grid > div,
	.unity-finance-factors article {
		padding: 28px 0;
	}

	.unity-location-principles__grid > div + div,
	.unity-finance-factors article + article {
		padding-left: 0;
		border-left: 0;
		border-top: 1px solid rgba(11, 75, 71, .12);
	}

	.unity-light-cta {
		padding: 60px 0 68px;
	}

	.unity-light-cta__inner {
		grid-template-columns: 1fr;
		gap: 28px;
		align-items: start;
	}

	.unity-light-cta .button {
		white-space: normal;
		justify-self: start;
	}

	.unity-finance-page__quote-list > div {
		grid-template-columns: 40px 1fr;
	}
}


/* =========================================================
   v0.99 — Journey page composition pass
   ========================================================= */

.unity-journey-editorial {
	padding: clamp(88px, 9vw, 132px) 0;
	background: var(--unity-surface-base);
}

.unity-journey-editorial__grid {
	display: grid;
	grid-template-columns: minmax(320px, .72fr) minmax(0, 1fr);
	gap: clamp(64px, 9vw, 138px);
	align-items: start;
}

.unity-journey-editorial__sticky {
	position: sticky;
	top: 150px;
	max-width: 500px;
}

.unity-journey-editorial__sticky h2,
.unity-journey-decision__heading h2,
.unity-journey-final-cta h2 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(42px, 4.5vw, 62px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.028em;
}

.unity-journey-editorial__sticky h2 span,
.unity-journey-decision__heading h2 span {
	display: block;
}

.unity-journey-editorial__sticky > p:not(.eyebrow),
.unity-journey-decision__heading > p:not(.eyebrow) {
	margin: 24px 0 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.74;
}

.unity-journey-editorial__steps {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.unity-journey-editorial-card {
	min-height: 260px;
	padding: 34px 38px 36px;
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 24px;
	align-items: start;
	border: 1px solid rgba(11, 75, 71, .09);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 14px 40px rgba(11, 75, 71, .045);
	transform: translateX(calc((var(--journey-offset) % 2) * 22px));
}

.unity-journey-editorial-card:nth-child(even) {
	background: var(--unity-surface-cool);
}

.unity-journey-editorial-card__number {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(154, 184, 176, .18);
	border: 1px solid rgba(11, 75, 71, .1);
	color: var(--unity-teal-deep);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-journey-editorial-card__content {
	align-self: center;
}

.unity-journey-editorial-card h3 {
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(29px, 2.7vw, 38px);
	font-weight: 400;
	line-height: 1.08;
}

.unity-journey-editorial-card p {
	max-width: 630px;
	margin: 18px 0 0;
	color: rgba(25, 48, 46, .7);
	font-size: 15px;
	line-height: 1.72;
}

/* Quote-style interlude */
.unity-journey-quote {
	padding: clamp(88px, 9vw, 128px) 0;
	background: #fff;
	border-top: 1px solid rgba(11, 75, 71, .07);
	border-bottom: 1px solid rgba(11, 75, 71, .07);
}

.unity-journey-quote__inner {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr) minmax(300px, .62fr);
	gap: clamp(36px, 6vw, 82px);
	align-items: start;
}

.unity-journey-quote__mark {
	margin-top: -8px;
	color: rgba(11, 75, 71, .12);
	font-family: var(--unity-serif);
	font-size: 118px;
	line-height: .8;
}

.unity-journey-quote__statement {
	max-width: 770px;
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(36px, 3.8vw, 54px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.unity-journey-quote__notes {
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.unity-journey-quote__notes > div {
	min-height: 72px;
	padding: 16px 0;
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-journey-quote__notes span {
	color: rgba(11, 75, 71, .52);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-journey-quote__notes p {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

/* Asymmetric decision block */
.unity-journey-decision {
	padding: clamp(90px, 9vw, 132px) 0;
	background: var(--unity-surface-cool);
}

.unity-journey-decision__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(420px, .9fr);
	gap: clamp(54px, 8vw, 118px);
	align-items: center;
}

.unity-journey-decision__heading {
	max-width: 610px;
}

.unity-journey-decision__panel {
	position: relative;
	margin-top: 48px;
	padding: 34px 38px;
	border: 1px solid rgba(11, 75, 71, .1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(11, 75, 71, .06);
}

.unity-journey-decision__panel::before {
	content: "";
	position: absolute;
	left: -26px;
	top: -26px;
	width: 86px;
	height: 86px;
	border-radius: 50%;
	background: rgba(154, 184, 176, .22);
	z-index: 0;
}

.unity-journey-decision__panel > * {
	position: relative;
	z-index: 1;
}

.unity-journey-decision__panel-kicker {
	margin: 0 0 20px;
	color: rgba(11, 75, 71, .56);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
}

.unity-journey-decision__panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(11, 75, 71, .1);
}

.unity-journey-decision__panel li {
	min-height: 64px;
	padding: 14px 0;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-journey-decision__panel li span {
	color: rgba(11, 75, 71, .5);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-journey-decision__panel li strong {
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

/* Dark statement gets a little more deliberate negative space */
.unity-info-feature--journey {
	padding-top: clamp(96px, 10vw, 148px);
	padding-bottom: clamp(96px, 10vw, 148px);
}

/* Final CTA */
.unity-journey-final-cta {
	padding: clamp(78px, 8vw, 112px) 0;
	background: var(--unity-surface-base);
}

.unity-journey-final-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(48px, 8vw, 120px);
	align-items: end;
}

.unity-journey-final-cta__copy {
	max-width: 760px;
}

.unity-journey-final-cta__copy > p:not(.eyebrow) {
	max-width: 620px;
	margin: 20px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 16px;
	line-height: 1.7;
}

.unity-journey-final-cta__action {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	padding-bottom: 4px;
}

.unity-journey-final-cta__action .button {
	white-space: nowrap;
}

@media (max-width: 1020px) {
	.unity-journey-editorial__grid {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.unity-journey-editorial__sticky {
		position: static;
		max-width: 720px;
	}

	.unity-journey-editorial__steps {
		max-width: 820px;
	}

	.unity-journey-quote__inner {
		grid-template-columns: 70px 1fr;
	}

	.unity-journey-quote__notes {
		grid-column: 2;
		max-width: 600px;
	}

	.unity-journey-decision__inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.unity-journey-decision__panel {
		max-width: 760px;
		margin-top: 0;
	}

	.unity-journey-final-cta__inner {
		grid-template-columns: 1fr;
		gap: 30px;
		align-items: start;
	}
}

@media (max-width: 760px) {
	.unity-journey-editorial {
		padding: 64px 0 74px;
	}

	.unity-journey-editorial__sticky h2,
	.unity-journey-decision__heading h2,
	.unity-journey-final-cta h2 {
		font-size: clamp(31px, 8.8vw, 40px);
	}

	.unity-journey-editorial__sticky > p:not(.eyebrow),
	.unity-journey-decision__heading > p:not(.eyebrow),
	.unity-journey-final-cta__copy > p:not(.eyebrow) {
		font-size: 15px;
	}

	.unity-journey-editorial__steps {
		gap: 14px;
	}

	.unity-journey-editorial-card {
		min-height: 0;
		padding: 24px 20px;
		grid-template-columns: 44px 1fr;
		gap: 14px;
		border-radius: 16px;
		transform: none;
	}

	.unity-journey-editorial-card__number {
		width: 34px;
		height: 34px;
	}

	.unity-journey-editorial-card h3 {
		font-size: 25px;
	}

	.unity-journey-editorial-card p {
		margin-top: 13px;
		font-size: 14px;
	}

	.unity-journey-quote {
		padding: 66px 0 72px;
	}

	.unity-journey-quote__inner {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.unity-journey-quote__mark {
		font-size: 74px;
		margin-bottom: -12px;
	}

	.unity-journey-quote__statement {
		font-size: clamp(29px, 8.5vw, 37px);
	}

	.unity-journey-quote__notes {
		grid-column: 1;
		margin-top: 18px;
	}

	.unity-journey-decision {
		padding: 66px 0 74px;
	}

	.unity-journey-decision__panel {
		padding: 26px 22px;
		border-radius: 16px;
	}

	.unity-journey-decision__panel::before {
		left: auto;
		right: -12px;
		top: -18px;
		width: 66px;
		height: 66px;
	}

	.unity-info-feature--journey {
		padding: 72px 0 78px;
	}

	.unity-journey-final-cta {
		padding: 62px 0 70px;
	}

	.unity-journey-final-cta__action {
		gap: 16px;
	}
}


/* =========================================================
   v1.01 — clearer legal-page heading hierarchy
   ========================================================= */

.unity-legal-page__content h2 {
	margin: 36px 0 11px;
	font-size: clamp(25px, 1.95vw, 30px);
	line-height: 1.17;
}

.unity-legal-page__content h3 {
	margin: 25px 0 8px;
	font-size: clamp(18px, 1.35vw, 20px);
	line-height: 1.24;
}

@media (max-width: 767px) {
	.unity-legal-page__content h2 {
		margin: 30px 0 9px;
		font-size: 23px;
	}

	.unity-legal-page__content h3 {
		margin: 22px 0 7px;
		font-size: 18px;
	}
}


/* =========================================================
   v1.02 — implant team + clinician profile
   ========================================================= */

.unity-team-hero {
	padding: clamp(104px, 10vw, 152px) 0 clamp(82px, 8vw, 112px);
	background:
		radial-gradient(circle at 82% 28%, rgba(154, 184, 176, .16), transparent 29%),
		var(--unity-surface-base);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
}

.unity-team-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
	gap: clamp(60px, 10vw, 150px);
	align-items: end;
}

.unity-team-hero__copy {
	max-width: 880px;
}

.unity-team-hero h1 {
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(54px, 6vw, 82px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.038em;
}

.unity-team-hero h1 span {
	display: block;
}

.unity-team-hero__copy > p:not(.eyebrow) {
	max-width: 690px;
	margin: 28px 0 0;
	color: rgba(25, 48, 46, .74);
	font-size: 17px;
	line-height: 1.72;
}

.unity-team-hero__aside {
	padding: 26px 0 4px 28px;
	border-left: 1px solid rgba(11, 75, 71, .14);
}

.unity-team-hero__aside-kicker {
	margin: 0 0 12px;
	color: rgba(11, 75, 71, .52);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
}

.unity-team-hero__aside > p:last-child {
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 23px;
	line-height: 1.28;
}

.unity-team-lead {
	padding: clamp(90px, 9vw, 132px) 0;
	background: var(--unity-surface-base);
}

.unity-team-section-heading {
	max-width: 800px;
	margin-bottom: clamp(46px, 6vw, 72px);
}

.unity-team-section-heading--compact {
	margin-bottom: 42px;
}

.unity-team-section-heading h2,
.unity-team-care h2,
.unity-team-reassurance h2,
.unity-clinician-profile__about h2,
.unity-clinician-profile__approach h2,
.unity-clinician-profile__training h2 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(42px, 4.5vw, 62px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.028em;
}

.unity-team-section-heading h2 span,
.unity-team-care h2 span,
.unity-clinician-profile__about h2 span {
	display: block;
}

.unity-clinician-feature {
	display: grid;
	grid-template-columns: minmax(360px, .78fr) minmax(0, 1fr);
	gap: clamp(52px, 8vw, 110px);
	align-items: center;
	padding: clamp(30px, 4vw, 52px);
	border-radius: 24px;
	background: var(--unity-surface-cool);
}

.unity-clinician-feature__image {
	min-width: 0;
}

.unity-clinician-photo-placeholder {
	aspect-ratio: 4 / 5;
	min-height: 520px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgba(11, 75, 71, .09);
	border-radius: 18px;
	background:
		linear-gradient(145deg, rgba(154,184,176,.21), rgba(255,255,255,.68)),
		#e9efec;
	color: rgba(11, 75, 71, .52);
	text-align: center;
}

.unity-clinician-photo-placeholder span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
}

.unity-clinician-photo-placeholder small {
	font-size: 12px;
}

.unity-clinician-feature__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	color: rgba(11, 75, 71, .56);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
}

.unity-clinician-feature h3 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(40px, 4.2vw, 58px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.025em;
}

.unity-clinician-feature__qualifications {
	margin: 10px 0 26px;
	color: rgba(11, 75, 71, .58);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-clinician-feature__content > p:not(.unity-clinician-feature__qualifications) {
	max-width: 670px;
	margin: 0 0 18px;
	color: rgba(25, 48, 46, .72);
	font-size: 15px;
	line-height: 1.72;
}

.unity-clinician-feature .button {
	margin-top: 12px;
}

.unity-team-statement {
	padding: clamp(86px, 9vw, 126px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-team-statement__inner {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
}

.unity-team-statement__mark {
	margin-top: -8px;
	color: rgba(255,255,255,.13);
	font-family: var(--unity-serif);
	font-size: 120px;
	line-height: .8;
}

.unity-team-statement p {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.06;
	letter-spacing: -.03em;
}

.unity-team-care {
	padding: clamp(88px, 9vw, 128px) 0;
	background: #fff;
}

.unity-team-care__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
	gap: clamp(58px, 8vw, 120px);
	align-items: end;
}

.unity-team-care__intro > p {
	max-width: 560px;
	margin: 0;
	color: rgba(25,48,46,.7);
	font-size: 15px;
	line-height: 1.72;
}

.unity-team-care__grid {
	margin-top: clamp(54px, 7vw, 82px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(11, 75, 71, .12);
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-team-care__grid article {
	padding: 34px 38px 40px 0;
}

.unity-team-care__grid article + article {
	padding-left: 38px;
	border-left: 1px solid rgba(11, 75, 71, .12);
}

.unity-team-care__number,
.unity-clinician-profile__approach-grid article > span {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--unity-surface-cool);
	border: 1px solid rgba(11,75,71,.1);
	color: var(--unity-teal-deep);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-team-care__grid h3,
.unity-clinician-profile__approach-grid h3 {
	margin: 26px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 29px;
	font-weight: 400;
	line-height: 1.12;
}

.unity-team-care__grid p,
.unity-clinician-profile__approach-grid p {
	margin: 14px 0 0;
	color: rgba(25,48,46,.68);
	font-size: 14px;
	line-height: 1.68;
}

.unity-team-reassurance {
	padding: clamp(88px, 9vw, 128px) 0;
	background: var(--unity-surface-cool);
}

.unity-team-reassurance__inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(360px, .7fr);
	gap: clamp(60px, 9vw, 130px);
	align-items: center;
}

.unity-team-reassurance__copy > p:not(.eyebrow) {
	max-width: 620px;
	margin: 22px 0 0;
	color: rgba(25,48,46,.7);
	font-size: 15px;
	line-height: 1.72;
}

.unity-team-reassurance__points {
	padding: 28px 32px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid rgba(11,75,71,.1);
	box-shadow: 0 16px 42px rgba(11,75,71,.045);
}

.unity-team-reassurance__points > div {
	min-height: 66px;
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid rgba(11,75,71,.1);
}

.unity-team-reassurance__points > div:last-child {
	border-bottom: 0;
}

.unity-team-reassurance__points span {
	color: rgba(11,75,71,.52);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-team-reassurance__points strong {
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 600;
}

/* Individual clinician profile */
.unity-clinician-profile__hero {
	padding: clamp(92px, 9vw, 132px) 0;
	background: var(--unity-surface-base);
}

.unity-clinician-profile__hero-inner {
	display: grid;
	grid-template-columns: minmax(340px, .65fr) minmax(0, 1fr);
	gap: clamp(58px, 9vw, 130px);
	align-items: center;
}

.unity-clinician-photo-placeholder--profile {
	min-height: 600px;
}

.unity-clinician-profile__intro h1 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(54px, 5.8vw, 78px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.035em;
}

.unity-clinician-profile__qualifications {
	margin: 15px 0 34px;
	color: rgba(11,75,71,.58);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-clinician-profile__meta {
	max-width: 650px;
	border-top: 1px solid rgba(11,75,71,.12);
}

.unity-clinician-profile__meta > div {
	padding: 17px 0;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 20px;
	border-bottom: 1px solid rgba(11,75,71,.12);
}

.unity-clinician-profile__meta span {
	color: rgba(11,75,71,.48);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .11em;
}

.unity-clinician-profile__meta strong {
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 600;
}

.unity-clinician-profile__about {
	padding: clamp(88px, 9vw, 128px) 0;
	background: #fff;
}

.unity-clinician-profile__about-grid {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(0, 1fr);
	gap: clamp(58px, 9vw, 130px);
	align-items: start;
}

.unity-clinician-profile__about-copy {
	padding-top: 28px;
}

.unity-clinician-profile__about-copy p {
	max-width: 670px;
	margin: 0;
	color: rgba(25,48,46,.72);
	font-size: 16px;
	line-height: 1.76;
}

.unity-clinician-profile__about-copy p + p {
	margin-top: 20px;
}

.unity-clinician-profile__approach {
	padding: clamp(84px, 8vw, 118px) 0;
	background: var(--unity-surface-cool);
}

.unity-clinician-profile__approach-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.unity-clinician-profile__approach-grid article {
	min-height: 280px;
	padding: 30px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(11,75,71,.08);
}

.unity-clinician-profile__training {
	padding: clamp(88px, 9vw, 128px) 0;
	background: var(--unity-teal-deep);
	color: #fff;
}

.unity-clinician-profile__training-inner {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
	gap: clamp(58px, 9vw, 130px);
	align-items: start;
}

.unity-clinician-profile__training .eyebrow {
	color: rgba(255,255,255,.58);
}

.unity-clinician-profile__training h2 {
	color: #fff;
}

.unity-clinician-profile__training-list {
	border-top: 1px solid rgba(255,255,255,.16);
}

.unity-clinician-profile__training-list > div {
	min-height: 68px;
	padding: 15px 0;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,.13);
}

.unity-clinician-profile__training-list span {
	color: rgba(255,255,255,.46);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-clinician-profile__training-list p {
	margin: 0;
	color: rgba(255,255,255,.88);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

.unity-clinician-profile__personal {
	padding: clamp(80px, 8vw, 112px) 0;
	background: var(--unity-surface-base);
}

.unity-clinician-profile__personal-inner {
	max-width: 1000px;
}

.unity-clinician-profile__personal-statement {
	max-width: 920px;
	margin: 22px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(34px, 3.7vw, 52px);
	line-height: 1.12;
	letter-spacing: -.024em;
}

@media (max-width: 980px) {
	.unity-team-hero__inner,
	.unity-team-care__intro,
	.unity-team-reassurance__inner,
	.unity-clinician-profile__about-grid,
	.unity-clinician-profile__training-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.unity-team-hero__aside {
		max-width: 580px;
	}

	.unity-clinician-feature,
	.unity-clinician-profile__hero-inner {
		grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr);
		gap: 42px;
	}

	.unity-clinician-photo-placeholder,
	.unity-clinician-photo-placeholder--profile {
		min-height: 440px;
	}

	.unity-clinician-profile__approach-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.unity-team-hero {
		padding: 76px 0 62px;
	}

	.unity-team-hero h1,
	.unity-clinician-profile__intro h1 {
		font-size: clamp(39px, 11vw, 48px);
	}

	.unity-team-hero__copy > p:not(.eyebrow) {
		font-size: 15px;
	}

	.unity-team-hero__aside {
		padding: 20px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(11,75,71,.12);
	}

	.unity-team-hero__aside > p:last-child {
		font-size: 20px;
	}

	.unity-team-lead,
	.unity-team-care,
	.unity-team-reassurance,
	.unity-clinician-profile__about,
	.unity-clinician-profile__approach,
	.unity-clinician-profile__training,
	.unity-clinician-profile__personal {
		padding: 64px 0 74px;
	}

	.unity-team-section-heading h2,
	.unity-team-care h2,
	.unity-team-reassurance h2,
	.unity-clinician-profile__about h2,
	.unity-clinician-profile__approach h2,
	.unity-clinician-profile__training h2 {
		font-size: clamp(31px, 8.8vw, 40px);
	}

	.unity-clinician-feature,
	.unity-clinician-profile__hero-inner {
		grid-template-columns: 1fr;
		padding: 22px;
		gap: 30px;
	}

	.unity-clinician-profile__hero-inner {
		padding: 0;
	}

	.unity-clinician-photo-placeholder,
	.unity-clinician-photo-placeholder--profile {
		min-height: 0;
		aspect-ratio: 4 / 4.6;
	}

	.unity-clinician-feature h3 {
		font-size: 34px;
	}

	.unity-team-statement {
		padding: 68px 0 74px;
	}

	.unity-team-statement__inner {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.unity-team-statement__mark {
		font-size: 74px;
	}

	.unity-team-statement p {
		font-size: clamp(32px, 9vw, 42px);
	}

	.unity-team-care__grid {
		grid-template-columns: 1fr;
	}

	.unity-team-care__grid article {
		padding: 28px 0;
	}

	.unity-team-care__grid article + article {
		padding-left: 0;
		border-left: 0;
		border-top: 1px solid rgba(11,75,71,.12);
	}

	.unity-team-reassurance__points {
		padding: 22px;
		border-radius: 16px;
	}

	.unity-clinician-profile__hero {
		padding: 68px 0 72px;
	}

	.unity-clinician-profile__meta > div {
		grid-template-columns: 110px 1fr;
	}

	.unity-clinician-profile__about-copy {
		padding-top: 0;
	}

	.unity-clinician-profile__about-copy p {
		font-size: 15px;
	}

	.unity-clinician-profile__approach-grid article {
		min-height: 0;
		padding: 24px;
	}

	.unity-clinician-profile__personal-statement {
		font-size: clamp(29px, 8.2vw, 37px);
	}
}


/* =========================================================
   v1.03 — simplified Meet the Team landing page
   ========================================================= */

.unity-team-page--simple .unity-team-hero,
.unity-team-page--simple .unity-team-lead,
.unity-team-page--simple .unity-team-statement,
.unity-team-page--simple .unity-team-care,
.unity-team-page--simple .unity-team-reassurance {
	display: none;
}

.unity-team-simple-hero {
	padding: clamp(106px, 10vw, 150px) 0 clamp(78px, 8vw, 108px);
	background:
		radial-gradient(circle at 82% 26%, rgba(154, 184, 176, .14), transparent 30%),
		var(--unity-surface-base);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
}

.unity-team-simple-hero__copy {
	max-width: 900px;
}

.unity-team-simple-hero h1 {
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(56px, 6.1vw, 82px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.038em;
}

.unity-team-simple-hero h1 span {
	display: block;
}

.unity-team-simple-hero__copy > p:not(.eyebrow) {
	max-width: 620px;
	margin: 28px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 16px;
	line-height: 1.72;
}

.unity-team-simple-list {
	padding: clamp(86px, 9vw, 128px) 0 clamp(96px, 10vw, 140px);
	background: #fff;
}

.unity-team-simple-list__heading {
	margin-bottom: 34px;
}

.unity-team-simple-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.unity-team-simple-card {
	display: grid;
	grid-template-columns: minmax(260px, .82fr) minmax(0, 1fr);
	gap: 34px;
	align-items: center;
	padding: 28px;
	border: 1px solid rgba(11, 75, 71, .09);
	border-radius: 20px;
	background: var(--unity-surface-cool);
}

.unity-team-simple-card:only-child {
	grid-column: 1 / -1;
	max-width: 930px;
}

.unity-team-simple-card__image-link {
	display: block;
	text-decoration: none;
}

.unity-team-simple-card__image {
	min-height: 0;
	aspect-ratio: 4 / 5;
}

.unity-team-simple-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	color: rgba(11, 75, 71, .54);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
}

.unity-team-simple-card h2 {
	margin: 14px 0 0;
	font-family: var(--unity-serif);
	font-size: clamp(33px, 3.4vw, 46px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.025em;
}

.unity-team-simple-card h2 a {
	color: var(--unity-teal-deep);
	text-decoration: none;
}

.unity-team-simple-card__qualifications {
	margin: 8px 0 18px;
	color: rgba(11, 75, 71, .55);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
}

.unity-team-simple-card__content > p:not(.unity-team-simple-card__qualifications) {
	max-width: 520px;
	margin: 0 0 18px;
	color: rgba(25, 48, 46, .7);
	font-size: 14px;
	line-height: 1.7;
}

.unity-team-simple-card .text-link {
	margin-top: 4px;
}

.unity-team-simple-cta {
	border-top: 1px solid rgba(11, 75, 71, .08);
}

@media (max-width: 960px) {
	.unity-team-simple-grid {
		grid-template-columns: 1fr;
	}

	.unity-team-simple-card:only-child {
		grid-column: auto;
		max-width: none;
	}

	.unity-team-simple-card {
		grid-template-columns: minmax(240px, .72fr) minmax(0, 1fr);
	}
}

@media (max-width: 700px) {
	.unity-team-simple-hero {
		padding: 76px 0 62px;
	}

	.unity-team-simple-hero h1 {
		font-size: clamp(39px, 11vw, 48px);
	}

	.unity-team-simple-hero__copy > p:not(.eyebrow) {
		font-size: 15px;
	}

	.unity-team-simple-list {
		padding: 62px 0 72px;
	}

	.unity-team-simple-list__heading {
		margin-bottom: 24px;
	}

	.unity-team-simple-card {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 20px;
		border-radius: 16px;
	}

	.unity-team-simple-card h2 {
		font-size: 31px;
	}
}


/* =========================================================
   v1.04 — site-wide internal hero sweep
   Baseline: Locations page hero
   ========================================================= */

/*
 * All normal internal-page mastheads now share the same:
 * - 1250px container
 * - background / subtle radial treatment
 * - top and bottom spacing
 * - eyebrow-to-title spacing
 * - H1 scale / line-height / tracking
 * - intro width / typography
 *
 * Homepage and 404 remain intentionally separate.
 */
.unity-standard-hero,
.unity-info-hero.unity-standard-hero,
.unity-team-simple-hero.unity-standard-hero,
.unity-faq-page__hero.unity-standard-hero,
.unity-legal-page__hero.unity-standard-hero,
.unity-page__hero.unity-standard-hero,
.unity-book-page__hero.unity-standard-hero,
.unity-clinician-profile__hero.unity-standard-hero {
	padding: clamp(108px, 10vw, 156px) 0 clamp(86px, 8vw, 118px);
	border-bottom: 1px solid rgba(11, 75, 71, .08);
	background:
		radial-gradient(circle at 76% 22%, rgba(154, 184, 176, .15), transparent 30%),
		var(--unity-surface-base);
}

/* Remove the unique colour/gradient treatments from the supporting pages. */
.unity-info-hero--journey,
.unity-info-hero--locations,
.unity-info-hero--finance {
	background:
		radial-gradient(circle at 76% 22%, rgba(154, 184, 176, .15), transparent 30%),
		var(--unity-surface-base);
}

/* Every hero uses the same proper 1250px site container. */
.unity-standard-hero .unity-shell,
.unity-standard-hero__inner,
.unity-faq-page__hero-inner.unity-standard-hero__inner,
.unity-legal-page__hero-inner.unity-standard-hero__inner,
.unity-page__hero-inner.unity-standard-hero__inner,
.unity-book-page__hero-inner.unity-standard-hero__inner,
.unity-clinician-profile__hero-inner.unity-standard-hero__inner {
	width: min(1250px, calc(100% - 56px));
	max-width: none;
	margin-inline: auto;
}

/* Standard heading block width. Split heroes can still use their own grid. */
.unity-standard-hero__copy,
.unity-standard-hero .unity-info-hero__copy,
.unity-team-simple-hero__copy.unity-standard-hero__copy {
	max-width: 900px;
}

.unity-standard-hero h1,
.unity-info-hero.unity-standard-hero h1,
.unity-team-simple-hero.unity-standard-hero h1,
.unity-faq-page__hero.unity-standard-hero h1,
.unity-legal-page__hero.unity-standard-hero h1,
.unity-page__hero.unity-standard-hero h1,
.unity-book-page__hero.unity-standard-hero h1,
.unity-clinician-profile__hero.unity-standard-hero h1 {
	max-width: 900px;
	margin: 22px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(56px, 6.2vw, 84px);
	font-weight: 400;
	line-height: .99;
	letter-spacing: -.038em;
}

.unity-standard-hero h1 span {
	display: block;
}

.unity-standard-hero__lead,
.unity-standard-hero .unity-info-hero__lead,
.unity-faq-page__intro.unity-standard-hero__lead,
.unity-page__hero-intro.unity-standard-hero__lead,
.unity-book-page__lead.unity-standard-hero__lead,
.unity-team-simple-hero .unity-standard-hero__lead {
	max-width: 720px;
	margin: 30px 0 0;
	color: rgba(25, 48, 46, .76);
	font-size: 17px;
	line-height: 1.74;
}

/* Book page keeps its form composition, but its masthead rhythm matches other pages. */
.unity-book-page__hero.unity-standard-hero .unity-book-page__intro {
	padding-top: 0;
}

/* Andrew's profile keeps the split portrait layout but uses the shared masthead surface/spacing. */
.unity-clinician-profile__hero.unity-standard-hero .unity-clinician-profile__intro h1 {
	margin-top: 22px;
}

/* Meet the Team clinician card should fill the entire 1250px content container. */
.unity-team-simple-card:only-child {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
}

/* Slightly rebalance the now-full-width clinician card. */
.unity-team-simple-card:only-child {
	grid-template-columns: minmax(300px, .64fr) minmax(0, 1.36fr);
	gap: clamp(42px, 6vw, 82px);
}

.unity-team-simple-card:only-child .unity-team-simple-card__content {
	max-width: 680px;
}

@media (max-width: 980px) {
	.unity-team-simple-card:only-child {
		grid-template-columns: minmax(240px, .72fr) minmax(0, 1fr);
		gap: 38px;
	}
}

@media (max-width: 760px) {
	.unity-standard-hero,
	.unity-info-hero.unity-standard-hero,
	.unity-team-simple-hero.unity-standard-hero,
	.unity-faq-page__hero.unity-standard-hero,
	.unity-legal-page__hero.unity-standard-hero,
	.unity-page__hero.unity-standard-hero,
	.unity-book-page__hero.unity-standard-hero,
	.unity-clinician-profile__hero.unity-standard-hero {
		padding: 78px 0 64px;
	}

	.unity-standard-hero .unity-shell,
	.unity-standard-hero__inner,
	.unity-faq-page__hero-inner.unity-standard-hero__inner,
	.unity-legal-page__hero-inner.unity-standard-hero__inner,
	.unity-page__hero-inner.unity-standard-hero__inner,
	.unity-book-page__hero-inner.unity-standard-hero__inner,
	.unity-clinician-profile__hero-inner.unity-standard-hero__inner {
		width: min(1250px, calc(100% - 40px));
	}

	.unity-standard-hero h1,
	.unity-info-hero.unity-standard-hero h1,
	.unity-team-simple-hero.unity-standard-hero h1,
	.unity-faq-page__hero.unity-standard-hero h1,
	.unity-legal-page__hero.unity-standard-hero h1,
	.unity-page__hero.unity-standard-hero h1,
	.unity-book-page__hero.unity-standard-hero h1,
	.unity-clinician-profile__hero.unity-standard-hero h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-standard-hero__lead,
	.unity-standard-hero .unity-info-hero__lead,
	.unity-faq-page__intro.unity-standard-hero__lead,
	.unity-page__hero-intro.unity-standard-hero__lead,
	.unity-book-page__lead.unity-standard-hero__lead,
	.unity-team-simple-hero .unity-standard-hero__lead {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-team-simple-card:only-child {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.unity-team-simple-card:only-child .unity-team-simple-card__content {
		max-width: none;
	}
}


/* =========================================================
   v1.05 — Book a Consultation copy / reassurance refinement
   ========================================================= */

.unity-book-page__reassurance > div {
	min-height: 58px;
	padding: 17px 0;
	display: flex;
	align-items: center;
	border-bottom: 1px solid rgba(11, 75, 71, .11);
}

.unity-book-page__reassurance span {
	display: none;
}

.unity-book-page__reassurance p {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

@media (max-width: 720px) {
	.unity-book-page__reassurance > div {
		min-height: 54px;
		padding: 15px 0;
	}

	.unity-book-page__reassurance p {
		font-size: 14px;
	}
}


/* =========================================================
   v1.06 — consultation submission + thank-you
   ========================================================= */

.unity-thank-you {
	min-height: 62vh;
	padding: clamp(108px, 11vw, 170px) 0 clamp(100px, 10vw, 150px);
	display: flex;
	align-items: center;
	background:
		radial-gradient(circle at 78% 24%, rgba(154, 184, 176, .16), transparent 30%),
		var(--unity-surface-base);
}

.unity-thank-you__inner {
	max-width: 900px;
}

.unity-thank-you__icon {
	width: 48px;
	height: 48px;
	margin-bottom: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--unity-surface-cool);
	border: 1px solid rgba(11, 75, 71, .11);
	color: var(--unity-teal-deep);
	font-size: 18px;
	font-weight: 700;
}

.unity-thank-you h1 {
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(56px, 6.2vw, 84px);
	font-weight: 400;
	line-height: .99;
	letter-spacing: -.038em;
}

.unity-thank-you h1 span {
	display: block;
}

.unity-thank-you__lead {
	max-width: 700px;
	margin: 30px 0 0;
	color: rgba(25, 48, 46, .76);
	font-size: 17px;
	line-height: 1.74;
}

.unity-thank-you__actions {
	margin-top: 36px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px 28px;
}

.unity-consultation-form input:invalid:not(:placeholder-shown) {
	border-color: rgba(150, 62, 62, .42);
}

@media (max-width: 760px) {
	.unity-thank-you {
		min-height: 54vh;
		padding: 78px 0 84px;
	}

	.unity-thank-you h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-thank-you__lead {
		margin-top: 22px;
		font-size: 15px;
	}

	.unity-thank-you__actions {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* =========================================================
   v1.07 — simplified Locations + shared internal FAQ / CTA
   ========================================================= */

.unity-locations-page__directory--simple {
	padding: clamp(78px, 8vw, 112px) 0 clamp(90px, 9vw, 126px);
}

.unity-location-grid--contact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.unity-location-card--contact {
	min-height: 0;
	padding: 34px 36px 30px;
	display: flex;
	flex-direction: column;
	border-radius: 18px;
}

.unity-location-card--contact .unity-location-card__identity {
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-location-card--contact .unity-location-card__practice {
	margin: 0 0 8px;
	color: rgba(11, 75, 71, .54);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.unity-location-card--contact h2 {
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(34px, 3.2vw, 45px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.025em;
}

.unity-location-card__details {
	padding: 6px 0 8px;
}

.unity-location-card__detail {
	padding: 16px 0;
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 18px;
	border-bottom: 1px solid rgba(11, 75, 71, .09);
}

.unity-location-card__detail span {
	padding-top: 2px;
	color: rgba(11, 75, 71, .48);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
}

.unity-location-card__detail p,
.unity-location-card__detail a {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.unity-location-card__detail a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.unity-location-card__action {
	margin-top: auto;
	padding-top: 22px;
}

/* Remove obsolete visual markers from the old Locations design. */
.unity-locations-page--simple .unity-location-card__top,
.unity-locations-page--simple .unity-location-card__number,
.unity-locations-page--simple .unity-location-card__mark {
	display: none;
}

/* Reusable internal FAQs */
.unity-internal-faqs {
	padding: clamp(82px, 8vw, 118px) 0;
	background: var(--unity-surface-cool);
	border-top: 1px solid rgba(11, 75, 71, .07);
}

.unity-internal-faqs__inner {
	display: grid;
	grid-template-columns: minmax(270px, .62fr) minmax(0, 1fr);
	gap: clamp(54px, 8vw, 120px);
	align-items: start;
}

.unity-internal-faqs__heading {
	max-width: 470px;
}

.unity-internal-faqs__heading h2 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.027em;
}

.unity-internal-faqs__heading > p:not(.eyebrow) {
	margin: 20px 0 0;
	color: rgba(25, 48, 46, .7);
	font-size: 15px;
	line-height: 1.7;
}

.unity-internal-faqs__list {
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.unity-internal-faqs__item {
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-internal-final-cta {
	border-top: 1px solid rgba(11, 75, 71, .08);
}

/* Supersede old page-specific final CTA layouts now that the component is shared. */
.unity-journey-final-cta,
.unity-faq-page__cta,
.unity-team-simple-cta {
	display: none;
}

@media (max-width: 900px) {
	.unity-internal-faqs__inner {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.unity-internal-faqs__heading {
		max-width: 650px;
	}
}

@media (max-width: 760px) {
	.unity-locations-page__directory--simple {
		padding: 62px 0 72px;
	}

	.unity-location-grid--contact {
		grid-template-columns: 1fr;
	}

	.unity-location-card--contact {
		padding: 26px 22px 24px;
		border-radius: 16px;
	}

	.unity-location-card--contact h2 {
		font-size: 31px;
	}

	.unity-location-card__detail {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 12px;
		padding: 14px 0;
	}

	.unity-location-card__detail p,
	.unity-location-card__detail a {
		font-size: 13px;
	}

	.unity-internal-faqs {
		padding: 64px 0 72px;
	}

	.unity-internal-faqs__heading h2 {
		font-size: clamp(31px, 8.8vw, 40px);
	}
}


/* =========================================================
   v1.08 — Thank You page aligned with normal internal heroes
   ========================================================= */

.unity-thank-you-page .unity-thank-you {
	display: none;
}

.unity-thank-you-hero__copy {
	max-width: 900px;
}

.unity-thank-you-hero__actions {
	margin-top: 34px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 28px;
}

@media (max-width: 760px) {
	.unity-thank-you-hero__actions {
		margin-top: 28px;
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
}


/* =========================================================
   v1.09 — location card polish + menu dot removal
   ========================================================= */

/* Remove the small active / hover dots beneath desktop navigation items site-wide. */
.primary-nav__menu > .menu-item > a::before,
.primary-nav__menu > .menu-item > a:hover::before,
.primary-nav__menu > .menu-item > a:focus-visible::before,
.primary-nav__menu > .current-menu-item > a::before,
.primary-nav__menu > .current-menu-ancestor > a::before,
.primary-nav__menu > .menu-item-has-children > a::before {
	content: none !important;
	display: none !important;
}

/* Locations: make practice label more secondary and give the title more air. */
.unity-location-card--contact .unity-location-card__practice {
	margin: 0 0 15px;
	font-size: 9px;
	line-height: 1.2;
	letter-spacing: .105em;
}

.unity-location-card--contact .unity-location-card__identity {
	padding-bottom: 27px;
}

.unity-location-card__action {
	padding-top: 24px;
}

.unity-location-card__button {
	width: 100%;
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 20px;
	text-align: center;
}

@media (max-width: 760px) {
	.unity-location-card--contact .unity-location-card__practice {
		margin-bottom: 13px;
		font-size: 8.5px;
	}

	.unity-location-card--contact .unity-location-card__identity {
		padding-bottom: 23px;
	}

	.unity-location-card__button {
		min-height: 50px;
	}
}


/* =========================================================
   v1.21 — full design consolidation
   Final state of the late refinement work, with desktop,
   tablet and mobile behaviour reviewed as one system.
   ========================================================= */

:root {
	--unity-card-radius: 22px;
	--unity-media-radius: 16px;
	--unity-card-border: 1px solid rgba(11, 75, 71, .09);
	--unity-card-shadow: 0 14px 38px rgba(11, 75, 71, .04);
	--unity-copy-line: 1.72;
	--unity-small-kicker: 9px;
}

/* Shared typography / rhythm */
.eyebrow {
	line-height: 1.2;
}

.unity-section-title,
.unity-treatment-showcase__title,
.unity-process__title,
.unity-confidence__title,
.unity-positioning__statement,
.unity-faqs__title,
.unity-consultation__title {
	line-height: 1.06;
}

.unity-treatment-showcase__copy,
.unity-process__lead,
.unity-confidence__lead,
.unity-positioning__support,
.unity-consultation__intro,
.unity-light-cta p:not(.eyebrow),
.unity-info-split__copy > p,
.unity-page-section__copy p {
	line-height: var(--unity-copy-line);
}

/* Internal page intros: consistent useful measure. */
@media (min-width: 981px) {
	.unity-standard-hero__lead,
	.unity-standard-hero .unity-info-hero__lead,
	.unity-faq-page__intro.unity-standard-hero__lead,
	.unity-page__hero-intro.unity-standard-hero__lead,
	.unity-book-page__lead.unity-standard-hero__lead,
	.unity-team-simple-hero .unity-standard-hero__lead,
	.unity-thank-you-hero__lead.unity-standard-hero__lead {
		width: 100%;
		max-width: 760px;
	}
}

/* Thank You: balanced desktop masthead. */
.unity-thank-you-hero.unity-standard-hero {
	padding-top: 118px;
	padding-bottom: 118px;
}

/* Card / media design language */
.unity-treatment-option,
.unity-process-card,
.unity-location-card--contact,
.unity-team-simple-card,
.unity-journey-sequence-card,
.unity-patient-story-card,
.unity-book-page__form-card,
.unity-faqs__support-card {
	border-radius: var(--unity-card-radius);
}

.unity-journey-sequence-card,
.unity-patient-story-card,
.unity-location-card--contact {
	border: var(--unity-card-border);
	box-shadow: var(--unity-card-shadow);
}

.unity-journey-sequence-card__placeholder,
.unity-patient-story-card__image,
.unity-patient-story-card__placeholder {
	border-radius: var(--unity-media-radius);
}

/*
 * Circles are now purposeful: step numbers, interactive controls,
 * the video play button and the established Patient Feedback motif.
 * Incidental decorative rings are removed.
 */
.unity-positioning::after,
.unity-faqs__support-circle,
.unity-confidence__image-placeholder::before,
.unity-confidence__content::after,
.unity-consultation__lower::after,
.home-hero__detail-card::after {
	display: none !important;
}

/* Homepage hero */
@media (min-width: 981px) {
	.home-hero__intro {
		max-width: 830px;
	}
}

/* Homepage treatment / journey */
.unity-treatment-option__number,
.unity-process-card__number,
.unity-journey-sequence-card__number {
	width: 42px;
	height: 42px;
	font-size: 10px;
}

.unity-process-card__content h3 {
	line-height: 1.08;
}

.unity-process-card__content p {
	line-height: 1.68;
}

/* Tablet should scroll naturally rather than keeping cards sticky. */
@media (max-width: 1040px) {
	.unity-treatment-showcase__intro,
	.unity-treatment-option {
		position: relative;
		top: auto !important;
	}
}

/* Why Unity */
.unity-confidence__reasons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid rgba(11, 75, 71, .12);
	border-bottom: 1px solid rgba(11, 75, 71, .12);
}

.unity-confidence__reason {
	min-height: 58px;
	padding: 15px 14px 15px 0;
	display: flex;
	align-items: center;
	border: 0;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-confidence__reason:nth-child(even) {
	padding-left: 14px;
	border-left: 1px solid rgba(11, 75, 71, .1);
}

.unity-confidence__reason:nth-last-child(-n+2) {
	border-bottom: 0;
}

.unity-confidence__reason-number {
	display: none !important;
}

.unity-confidence__reason h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

@media (min-width: 981px) {
	.unity-confidence__reason h3 {
		white-space: nowrap;
	}
}

/* Locations */
.unity-location-card--contact .unity-location-card__identity {
	padding-bottom: 27px;
}

.unity-location-card--contact .unity-location-card__practice {
	margin: 0 0 20px;
	color: rgba(11, 75, 71, .54);
	font-size: var(--unity-small-kicker);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.unity-location-card--contact h2 {
	font-size: 38px;
	line-height: 1.06;
}

.unity-location-card__button {
	width: 100%;
	min-height: 52px;
}

/* FAQs: one line-based system */
.unity-faq__button {
	grid-template-columns: minmax(0, 1fr) 36px;
	gap: 18px;
}

.unity-faq__button > span:first-child {
	width: 100%;
	max-width: none;
	padding-right: 0;
	font-size: 18px;
	line-height: 1.24;
	white-space: normal;
}

.unity-faq__icon {
	width: 36px;
	height: 36px;
}

.unity-faq__panel,
.unity-internal-faqs__item .unity-faq__panel,
.unity-faq-page__item .unity-faq__panel,
.unity-home-faqs .unity-faq__panel,
.unity-faqs__list .unity-faq__panel {
	width: 100%;
	max-width: none;
}

.unity-faq__panel > *,
.unity-internal-faqs__item .unity-faq__panel > *,
.unity-faq-page__item .unity-faq__panel > *,
.unity-faqs__list .unity-faq__panel > *,
.unity-faqs__list .unity-faq__panel p {
	width: 100%;
	max-width: none;
}

.unity-faq__panel p,
.unity-internal-faqs__item .unity-faq__panel p,
.unity-faqs__list .unity-faq__panel p {
	font-size: 15px;
	line-height: 1.78;
}

.unity-faq-page__list {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.unity-page-faqs__inner {
	max-width: 1250px;
}

.unity-page-faq > div {
	width: 100%;
	max-width: none;
	line-height: 1.76;
}

@media (min-width: 981px) {
	.unity-faqs__inner {
		grid-template-columns: minmax(390px, .78fr) minmax(0, 1.22fr);
		gap: clamp(72px, 7vw, 106px);
		align-items: start;
	}

	.unity-faqs__heading,
	.unity-faqs__intro {
		max-width: 430px;
	}

	.unity-faqs__heading h2 {
		line-height: 1.04;
	}

	.unity-internal-faqs__inner {
		grid-template-columns: minmax(250px, .46fr) minmax(0, 1.54fr);
		gap: clamp(54px, 6vw, 88px);
	}

	.unity-faq-page__item .unity-faq__button {
		font-size: 18px;
	}
}

/* Implant Journey: five natural-scroll blocks */
.unity-journey-page .unity-standard-hero {
	background:
		radial-gradient(circle at 76% 22%, rgba(154, 184, 176, .15), transparent 30%),
		var(--unity-surface-base);
}

.unity-journey-sequence {
	padding: clamp(86px, 9vw, 128px) 0 clamp(96px, 10vw, 142px);
	background: #fff;
}

.unity-journey-sequence__list {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.unity-journey-sequence-card {
	position: relative;
	top: auto;
	z-index: auto;
	min-height: 470px;
	display: grid;
	grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
	overflow: hidden;
	background: var(--unity-surface-cool);
}

.unity-journey-sequence-card__media {
	min-width: 0;
	padding: 18px;
	order: 1;
}

.unity-journey-sequence-card__placeholder {
	width: 100%;
	height: 100%;
	min-height: 430px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background:
		linear-gradient(145deg, rgba(154, 184, 176, .22), rgba(255, 255, 255, .7)),
		#e9efec;
	color: rgba(11, 75, 71, .5);
	text-align: center;
}

.unity-journey-sequence-card__placeholder span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
}

.unity-journey-sequence-card__placeholder small {
	font-size: 12px;
}

.unity-journey-sequence-card__content {
	order: 2;
	padding: clamp(38px, 4.5vw, 58px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.unity-journey-sequence-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(11, 75, 71, .1);
	color: var(--unity-teal-deep);
	font-weight: 700;
	letter-spacing: .06em;
}

.unity-journey-sequence-card h2 {
	margin: 20px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.022em;
}

.unity-journey-sequence-card p {
	max-width: 700px;
	margin: 18px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 15px;
	line-height: 1.76;
}

.unity-journey-page--simple .unity-journey-editorial,
.unity-journey-page--simple .unity-journey-quote,
.unity-journey-page--simple .unity-journey-decision,
.unity-journey-page--simple .unity-info-feature--journey,
.unity-journey-page--simple .unity-journey-page__timeline,
.unity-journey-page--simple .unity-info-split {
	display: none;
}

/* Andrew profile */
.unity-clinician-profile--simple .unity-clinician-profile__hero {
	padding-top: 92px;
	padding-bottom: 92px;
}

.unity-clinician-profile--simple .unity-clinician-profile__hero-inner {
	grid-template-columns: minmax(300px, .58fr) minmax(0, 1fr);
	gap: clamp(54px, 8vw, 112px);
}

.unity-clinician-profile--simple .unity-clinician-photo-placeholder--profile {
	min-height: 500px;
}

.unity-clinician-profile__meta--aligned > div {
	min-height: 58px;
	padding: 15px 0;
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.unity-clinician-profile__meta--aligned span,
.unity-clinician-profile__meta--aligned strong {
	align-self: center;
}

.unity-clinician-profile__meta--aligned span {
	padding-top: 0;
	line-height: 1.3;
}

.unity-clinician-profile__meta--aligned strong {
	line-height: 1.45;
}

.unity-clinician-about-simple {
	padding: clamp(82px, 8vw, 116px) 0;
	background: #fff;
}

.unity-clinician-about-simple__inner {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
	gap: clamp(56px, 8vw, 118px);
	align-items: start;
}

.unity-clinician-about-simple__heading {
	max-width: 560px;
}

.unity-clinician-about-simple__heading h2 {
	margin: 18px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 400;
	line-height: 1.07;
	letter-spacing: -.026em;
}

.unity-clinician-about-simple__copy {
	padding-top: 26px;
}

.unity-clinician-about-simple__copy p {
	max-width: 720px;
	margin: 0;
	color: rgba(25, 48, 46, .72);
	font-size: 16px;
	line-height: 1.78;
}

.unity-clinician-about-simple__copy p + p {
	margin-top: 21px;
}

.unity-clinician-profile--simple .unity-clinician-profile__about,
.unity-clinician-profile--simple .unity-clinician-profile__approach,
.unity-clinician-profile--simple .unity-clinician-profile__training,
.unity-clinician-profile--simple .unity-clinician-profile__personal {
	display: none;
}

/* Patient Feedback */
.unity-reviews__footer-actions {
	display: flex;
	align-items: center;
	gap: 22px;
}

.unity-reviews__stories-link {
	color: rgba(255, 255, 255, .78);
	font-family: var(--unity-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.unity-reviews__stories-link::after {
	content: " →";
}

.unity-reviews__stories-link:hover,
.unity-reviews__stories-link:focus-visible {
	color: #fff;
}

/* Keep this one large circle as the established Patient Feedback signature. */
.unity-reviews::after {
	display: block;
}

/* Patient Stories */
.unity-patient-stories {
	padding: clamp(86px, 8vw, 120px) 0 clamp(96px, 9vw, 136px);
	background: #fff;
}

.unity-patient-stories__list {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.unity-patient-story-card {
	min-height: 470px;
	display: grid;
	grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
	overflow: hidden;
	background: var(--unity-surface-cool);
}

.unity-patient-story-card__media {
	min-width: 0;
	padding: 18px;
}

.unity-patient-story-card__media::before {
	display: none;
}

.unity-patient-story-card__image,
.unity-patient-story-card__placeholder {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 430px;
}

.unity-patient-story-card__image {
	display: block;
	object-fit: cover;
}

.unity-patient-story-card__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background:
		linear-gradient(145deg, rgba(154, 184, 176, .2), rgba(255, 255, 255, .72)),
		#e9efec;
	color: rgba(11, 75, 71, .5);
	text-align: center;
}

.unity-patient-story-card__placeholder span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
}

.unity-patient-story-card__placeholder small {
	font-size: 12px;
}

.unity-patient-story-card__content {
	position: relative;
	overflow: hidden;
	min-width: 0;
	width: 100%;
	padding: clamp(38px, 4.5vw, 58px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
}

.unity-patient-story-card__treatment {
	width: 100%;
	margin: 0 0 20px;
	color: rgba(11, 75, 71, .62);
	font-size: var(--unity-small-kicker);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.unity-patient-story-card h2 {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.022em;
}

/* Explicit reset fixes the old two-words-wide quote bug. */
.unity-patient-story-card__quote {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 700px;
	margin: 22px 0 0;
	padding: 0;
	color: rgba(25, 48, 46, .74);
	font-family: var(--unity-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.46;
	letter-spacing: -.01em;
}

.unity-patient-story-card__quote::before {
	content: "“";
	position: absolute;
	z-index: -1;
	top: -48px;
	left: -12px;
	color: rgba(11, 75, 71, .065);
	font-family: var(--unity-serif);
	font-size: 178px;
	font-weight: 400;
	line-height: 1;
	pointer-events: none;
}

.unity-patient-stories__empty {
	max-width: 720px;
	padding: 58px;
	border-radius: var(--unity-card-radius);
	background: var(--unity-surface-cool);
}

.unity-patient-stories__empty h2 {
	margin: 16px 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 38px;
	font-weight: 400;
	line-height: 1.08;
}

.unity-patient-stories__empty > p:last-child {
	margin-bottom: 0;
	line-height: var(--unity-copy-line);
}

/* Tablet sweep */
@media (max-width: 980px) {
	.unity-light-cta__inner,
	.unity-info-split__inner,
	.unity-clinician-about-simple__inner {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.unity-journey-sequence-card,
	.unity-patient-story-card {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.unity-journey-sequence-card__media,
	.unity-journey-sequence-card__content,
	.unity-patient-story-card__media,
	.unity-patient-story-card__content {
		order: initial;
	}

	.unity-journey-sequence-card__placeholder,
	.unity-patient-story-card__image,
	.unity-patient-story-card__placeholder {
		min-height: 340px;
	}

	.unity-clinician-profile--simple .unity-clinician-profile__hero-inner {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.unity-clinician-profile--simple .unity-clinician-profile__portrait {
		max-width: 520px;
	}

	.unity-clinician-about-simple__copy {
		padding-top: 0;
	}

	.unity-faqs__inner,
	.unity-internal-faqs__inner {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.unity-internal-faqs__heading {
		max-width: 650px;
	}
}

/* Mobile sweep */
@media (max-width: 760px) {
	:root {
		--unity-card-radius: 16px;
		--unity-media-radius: 12px;
	}

	.container,
	.unity-shell,
	.unity-standard-hero .unity-shell,
	.unity-standard-hero__inner,
	.unity-faq-page__hero-inner.unity-standard-hero__inner,
	.unity-legal-page__hero-inner.unity-standard-hero__inner,
	.unity-page__hero-inner.unity-standard-hero__inner,
	.unity-book-page__hero-inner.unity-standard-hero__inner,
	.unity-clinician-profile__hero-inner.unity-standard-hero__inner {
		width: calc(100% - 40px);
		max-width: 1250px;
		margin-inline: auto;
	}

	.unity-standard-hero,
	.unity-info-hero.unity-standard-hero,
	.unity-team-simple-hero.unity-standard-hero,
	.unity-faq-page__hero.unity-standard-hero,
	.unity-legal-page__hero.unity-standard-hero,
	.unity-page__hero.unity-standard-hero,
	.unity-book-page__hero.unity-standard-hero,
	.unity-clinician-profile__hero.unity-standard-hero,
	.unity-thank-you-hero.unity-standard-hero {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.unity-standard-hero h1,
	.unity-info-hero.unity-standard-hero h1,
	.unity-team-simple-hero.unity-standard-hero h1,
	.unity-faq-page__hero.unity-standard-hero h1,
	.unity-legal-page__hero.unity-standard-hero h1,
	.unity-page__hero.unity-standard-hero h1,
	.unity-book-page__hero.unity-standard-hero h1,
	.unity-clinician-profile__hero.unity-standard-hero h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
		letter-spacing: -.03em;
	}

	.unity-standard-hero__lead,
	.unity-standard-hero .unity-info-hero__lead,
	.unity-faq-page__intro.unity-standard-hero__lead,
	.unity-page__hero-intro.unity-standard-hero__lead,
	.unity-book-page__lead.unity-standard-hero__lead,
	.unity-team-simple-hero .unity-standard-hero__lead,
	.unity-thank-you-hero__lead.unity-standard-hero__lead {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.7;
	}

	.unity-section-title,
	.unity-treatment-showcase__title,
	.unity-process__title,
	.unity-confidence__title,
	.unity-positioning__statement,
	.unity-faqs__title,
	.unity-consultation__title,
	.unity-light-cta h2,
	.unity-internal-faqs__heading h2 {
		font-size: clamp(34px, 9.5vw, 42px);
		line-height: 1.06;
	}

	.unity-treatment-option,
	.unity-process-card,
	.unity-location-card--contact,
	.unity-team-simple-card,
	.unity-journey-sequence-card,
	.unity-patient-story-card,
	.unity-book-page__form-card,
	.unity-faqs__support-card,
	.unity-patient-stories__empty {
		border-radius: var(--unity-card-radius);
	}

	.unity-journey-sequence,
	.unity-patient-stories {
		padding: 62px 0 72px;
	}

	.unity-journey-sequence__list,
	.unity-patient-stories__list {
		gap: 18px;
	}

	.unity-journey-sequence-card__media,
	.unity-patient-story-card__media {
		padding: 14px;
	}

	.unity-journey-sequence-card__placeholder,
	.unity-patient-story-card__image,
	.unity-patient-story-card__placeholder {
		min-height: 280px;
		border-radius: var(--unity-media-radius);
	}

	.unity-journey-sequence-card__content,
	.unity-patient-story-card__content {
		padding: 28px 22px 32px;
	}

	.unity-journey-sequence-card h2,
	.unity-patient-story-card h2 {
		font-size: 29px;
		line-height: 1.08;
	}

	.unity-journey-sequence-card h2 {
		margin-top: 16px;
	}

	.unity-patient-story-card h2 {
		margin-top: 0;
	}

	.unity-journey-sequence-card p {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.72;
	}

	.unity-patient-story-card__treatment {
		margin-bottom: 16px;
		font-size: 8.5px;
	}

	.unity-patient-story-card__quote {
		width: 100%;
		max-width: none;
		margin-top: 18px;
		font-size: 20px;
		line-height: 1.44;
	}

	.unity-patient-story-card__quote::before {
		top: -37px;
		left: -7px;
		font-size: 138px;
	}

	.unity-confidence__reasons {
		grid-template-columns: 1fr;
	}

	.unity-confidence__reason,
	.unity-confidence__reason:nth-child(even) {
		min-height: 52px;
		padding: 13px 0;
		border-left: 0;
		border-bottom: 1px solid rgba(11, 75, 71, .1);
	}

	.unity-confidence__reason:last-child {
		border-bottom: 0;
	}

	.unity-confidence__reason h3 {
		font-size: 15px;
		line-height: 1.35;
		white-space: normal;
	}

	.unity-location-card--contact {
		padding: 26px 22px 24px;
	}

	.unity-location-card--contact .unity-location-card__practice {
		margin-bottom: 20px;
		font-size: 8.5px;
	}

	.unity-location-card--contact h2 {
		font-size: 31px;
	}

	.unity-faq__button {
		min-height: 68px;
		padding: 16px 0;
		grid-template-columns: minmax(0, 1fr) 34px;
		gap: 14px;
	}

	.unity-faq__button > span:first-child {
		font-size: 17px;
		line-height: 1.28;
	}

	.unity-faq__icon {
		width: 34px;
		height: 34px;
	}

	.unity-faq__panel {
		padding: 0 0 20px;
	}

	.unity-faq__panel p,
	.unity-internal-faqs__item .unity-faq__panel p,
	.unity-faqs__list .unity-faq__panel p {
		font-size: 14px;
		line-height: 1.72;
	}

	.unity-clinician-profile--simple .unity-clinician-profile__hero {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.unity-clinician-profile--simple .unity-clinician-photo-placeholder--profile {
		min-height: 0;
		aspect-ratio: 4 / 4.6;
	}

	.unity-clinician-profile__meta--aligned > div {
		grid-template-columns: 105px minmax(0, 1fr);
		gap: 14px;
	}

	.unity-clinician-about-simple {
		padding: 62px 0 70px;
	}

	.unity-clinician-about-simple__heading h2 {
		font-size: 31px;
	}

	.unity-clinician-about-simple__copy p {
		font-size: 15px;
		line-height: 1.72;
	}

	.unity-reviews__footer-actions {
		width: 100%;
		justify-content: space-between;
		gap: 14px;
	}

	.unity-reviews__stories-link {
		font-size: 10px;
		letter-spacing: .07em;
	}

	.unity-reviews__control,
	.unity-process__control {
		width: 44px;
		height: 44px;
	}

	.unity-light-cta__inner {
		grid-template-columns: 1fr;
		gap: 30px;
		align-items: start;
	}

	.unity-light-cta .button {
		white-space: normal;
	}
}

/* =========================================================
   v1.24 — consultation end-cap + homepage reasons + locations
   ========================================================= */

/*
 * Consultation becomes a clear green conversion end-cap.
 * Patient Feedback uses the deeper teal, so treatment pages still have
 * a visible transition between the two sections.
 */
.unity-consultation {
	background: var(--unity-teal);
}

.unity-consultation__eyebrow {
	color: rgba(255, 255, 255, .72);
}

.unity-consultation__title {
	color: #fff;
}

.unity-consultation__title span:nth-child(2),
.unity-consultation__title span:nth-child(3) {
	color: #b9cfca;
}

.unity-consultation__intro {
	color: rgba(255, 255, 255, .78);
}

.unity-consultation__lower {
	border: 1px solid rgba(255, 255, 255, .13);
	background: rgba(255, 255, 255, .075);
	box-shadow: none;
}

.unity-consultation__rule {
	background: rgba(255, 255, 255, .18);
}

.unity-consultation__lower-title {
	color: #fff;
}

.unity-consultation__lower-copy {
	color: rgba(255, 255, 255, .72);
}

.unity-consultation__practice-link {
	color: #fff;
}

.unity-consultation__practice-link::after {
	background: rgba(255, 255, 255, .6);
}

/* Homepage Why Unity: four simple full-width rows. */
.unity-confidence__reasons {
	grid-template-columns: 1fr;
}

.unity-confidence__reason,
.unity-confidence__reason:nth-child(even) {
	min-height: 54px;
	padding: 14px 0;
	border-left: 0;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-confidence__reason:nth-last-child(-n+2) {
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-confidence__reason:last-child {
	border-bottom: 0;
}

@media (min-width: 981px) {
	.unity-confidence__reason h3 {
		white-space: nowrap;
	}
}

/* Local implant page */
.unity-location-detail__visit {
	padding: clamp(86px, 8vw, 118px) 0;
	background: #fff;
}

.unity-location-detail__visit-inner {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
	gap: 34px;
	align-items: stretch;
}

.unity-location-detail__contact,
.unity-location-detail__map {
	min-height: 560px;
	border-radius: var(--unity-card-radius);
	overflow: hidden;
}

.unity-location-detail__contact {
	padding: clamp(42px, 4.5vw, 62px);
	border: var(--unity-card-border);
	background: var(--unity-surface-cool);
	box-shadow: var(--unity-card-shadow);
}

.unity-location-detail__practice {
	margin: 0 0 20px;
	color: rgba(11, 75, 71, .58);
	font-size: var(--unity-small-kicker);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.unity-location-detail__contact h2 {
	max-width: 520px;
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(38px, 3.6vw, 48px);
	font-weight: 400;
	line-height: 1.07;
	letter-spacing: -.025em;
}

.unity-location-detail__local-copy {
	max-width: 600px;
	margin: 24px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 15px;
	line-height: 1.72;
}

.unity-location-detail__details {
	margin-top: 38px;
	border-top: 1px solid rgba(11, 75, 71, .12);
}

.unity-location-detail__details > div {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(11, 75, 71, .1);
}

.unity-location-detail__details span {
	padding-top: 2px;
	color: rgba(11, 75, 71, .5);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .13em;
}

.unity-location-detail__details p,
.unity-location-detail__details a {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 14px;
	line-height: 1.55;
	text-decoration: none;
}

.unity-location-detail__actions {
	margin-top: 34px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.unity-location-detail__map {
	border: var(--unity-card-border);
	background: #dfe9e6;
}

.unity-location-detail__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	border: 0;
}

.unity-location-detail__treatments {
	padding: clamp(86px, 8vw, 118px) 0;
	background: var(--unity-surface-cool);
}

.unity-location-detail__treatment-heading {
	max-width: 760px;
}

.unity-location-detail__treatment-heading h2 {
	margin: 17px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(40px, 4vw, 54px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.027em;
}

.unity-location-detail__treatment-heading > p:last-child {
	max-width: 700px;
	margin: 24px 0 0;
	color: rgba(25, 48, 46, .72);
	font-size: 15px;
	line-height: 1.72;
}

.unity-location-detail__treatment-list {
	margin-top: 52px;
	border-top: 1px solid rgba(11, 75, 71, .13);
}

.unity-location-detail__treatment {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px;
	gap: 30px;
	align-items: center;
	padding: 26px 0;
	border-bottom: 1px solid rgba(11, 75, 71, .13);
	color: inherit;
	text-decoration: none;
}

.unity-location-detail__treatment h3 {
	margin: 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 27px;
	font-weight: 400;
	line-height: 1.12;
}

.unity-location-detail__treatment p {
	max-width: 740px;
	margin: 8px 0 0;
	color: rgba(25, 48, 46, .67);
	font-size: 14px;
	line-height: 1.66;
}

.unity-location-detail__treatment > span {
	color: var(--unity-teal);
	font-size: 24px;
	text-align: right;
	transition: transform .2s ease;
}

.unity-location-detail__treatment:hover > span,
.unity-location-detail__treatment:focus-visible > span {
	transform: translateX(4px);
}

@media (max-width: 980px) {
	.unity-location-detail__visit-inner {
		grid-template-columns: 1fr;
	}

	.unity-location-detail__contact,
	.unity-location-detail__map {
		min-height: 0;
	}

	.unity-location-detail__map iframe {
		min-height: 460px;
	}
}

@media (max-width: 760px) {
	.unity-location-detail__visit,
	.unity-location-detail__treatments {
		padding: 62px 0 70px;
	}

	.unity-location-detail__visit-inner {
		gap: 18px;
	}

	.unity-location-detail__contact {
		padding: 28px 22px 30px;
	}

	.unity-location-detail__contact h2 {
		font-size: 32px;
	}

	.unity-location-detail__local-copy {
		font-size: 14px;
	}

	.unity-location-detail__details {
		margin-top: 30px;
	}

	.unity-location-detail__details > div {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 14px;
	}

	.unity-location-detail__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.unity-location-detail__map iframe {
		min-height: 340px;
	}

	.unity-location-detail__treatment-heading h2 {
		font-size: 34px;
	}

	.unity-location-detail__treatment-list {
		margin-top: 36px;
	}

	.unity-location-detail__treatment {
		grid-template-columns: minmax(0, 1fr) 28px;
		gap: 16px;
		padding: 21px 0;
	}

	.unity-location-detail__treatment h3 {
		font-size: 23px;
	}

	.unity-location-detail__treatment p {
		font-size: 14px;
	}
}


/* =========================================================
   v1.25 — final treatment-page visual structure
   ========================================================= */

/* Hero: heading -> wide image -> wide intro */
.unity-treatment-detail__hero {
	padding-top: 82px;
	padding-bottom: 88px;
}

.unity-treatment-detail__hero-inner {
	display: block;
}

.unity-treatment-detail__hero-copy {
	max-width: 1020px;
}

.unity-treatment-detail__hero h1 {
	margin: 16px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(54px, 5.4vw, 76px);
	font-weight: 400;
	line-height: 1.01;
	letter-spacing: -.034em;
}

.unity-treatment-detail__hero h1 span {
	display: block;
}

.unity-treatment-detail__hero-media {
	width: 100%;
	min-height: 500px;
	margin-top: 42px;
	overflow: hidden;
	border-radius: var(--unity-card-radius);
	background: var(--unity-surface-cool);
}

.unity-treatment-detail__hero-image,
.unity-treatment-detail__hero-placeholder {
	width: 100%;
	height: 100%;
	min-height: 500px;
}

.unity-treatment-detail__hero-image {
	display: block;
	object-fit: cover;
}

.unity-treatment-detail__hero-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background:
		linear-gradient(145deg, rgba(154, 184, 176, .2), rgba(255, 255, 255, .72)),
		#e9efec;
	color: rgba(11, 75, 71, .5);
	text-align: center;
}

.unity-treatment-detail__hero-placeholder span,
.unity-treatment-detail__feature-placeholder span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
}

.unity-treatment-detail__hero-placeholder small,
.unity-treatment-detail__feature-placeholder small {
	font-size: 12px;
}

.unity-treatment-detail__hero-intro {
	width: 100%;
	max-width: 900px;
	margin: 32px 0 0;
	color: rgba(25, 48, 46, .74);
	font-size: 18px;
	line-height: 1.72;
}

/* First two sections: one complete text block + image, not split heading/body. */
.unity-treatment-detail__what,
.unity-treatment-detail__suitability {
	padding: clamp(86px, 8vw, 118px) 0;
}

.unity-treatment-detail__what {
	background: #fff;
}

.unity-treatment-detail__suitability {
	background: var(--unity-surface-cool);
}

.unity-treatment-detail__feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, .76fr);
	gap: clamp(58px, 7vw, 104px);
	align-items: center;
}

.unity-treatment-detail__feature-copy {
	max-width: 700px;
}

.unity-treatment-detail__feature-copy h2 {
	max-width: 680px;
	margin: 17px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: clamp(40px, 3.8vw, 52px);
	font-weight: 400;
	line-height: 1.07;
	letter-spacing: -.026em;
}

.unity-treatment-detail__copy {
	max-width: 680px;
	padding-top: 27px;
}

.unity-treatment-detail__copy p {
	max-width: none;
	margin: 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.78;
}

.unity-treatment-detail__copy p + p {
	margin-top: 21px;
}

.unity-treatment-detail__feature-media {
	min-height: 440px;
	overflow: hidden;
	border-radius: var(--unity-card-radius);
	background: #e6eeeb;
}

.unity-treatment-detail__feature-image,
.unity-treatment-detail__feature-placeholder {
	width: 100%;
	height: 100%;
	min-height: 440px;
}

.unity-treatment-detail__feature-image {
	display: block;
	object-fit: cover;
}

.unity-treatment-detail__feature-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background:
		linear-gradient(145deg, rgba(154, 184, 176, .24), rgba(255, 255, 255, .7)),
		#e7efec;
	color: rgba(11, 75, 71, .5);
	text-align: center;
}

/* Benefits become one clear green section. */
.unity-treatment-detail__benefits-section {
	padding: clamp(82px, 7vw, 108px) 0;
	background: var(--unity-teal);
	color: #fff;
}

.unity-treatment-detail__benefits-heading {
	max-width: 760px;
}

.unity-treatment-detail__benefits-heading .eyebrow {
	color: rgba(255, 255, 255, .68);
}

.unity-treatment-detail__benefits-heading h2 {
	max-width: 720px;
	margin: 17px 0 0;
	color: #fff;
	font-family: var(--unity-serif);
	font-size: clamp(40px, 4vw, 54px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.027em;
}

.unity-treatment-detail__benefits {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(42px, 6vw, 84px);
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.unity-treatment-detail__benefit {
	padding: 26px 0 28px;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.unity-treatment-detail__benefit:nth-child(odd) {
	padding-right: 20px;
}

.unity-treatment-detail__benefit:nth-child(even) {
	padding-left: 20px;
}

.unity-treatment-detail__benefit h3 {
	margin: 0;
	color: #fff;
	font-size: 17px;
	font-weight: 650;
	line-height: 1.35;
}

.unity-treatment-detail__benefit p {
	max-width: 520px;
	margin: 9px 0 0;
	color: rgba(255, 255, 255, .74);
	font-size: 14px;
	line-height: 1.7;
}

/* Process uses established component. */
.unity-treatment-detail-process {
	border-top: 0;
}

.unity-treatment-detail-process .unity-process__title {
	max-width: 650px;
}

.unity-treatment-detail-process .unity-process-card__content h3 {
	font-size: 29px;
	line-height: 1.08;
}

.unity-treatment-detail-process .unity-process-card__content p {
	font-size: 14px;
	line-height: 1.68;
}

/*
 * Treatment FAQ sidebar specifically needs enough width for the kicker and
 * treatment-specific heading to read naturally.
 */
@media (min-width: 981px) {
	.unity-treatment-detail > .unity-internal-faqs .unity-internal-faqs__inner {
		grid-template-columns: minmax(380px, .76fr) minmax(0, 1.24fr);
		gap: clamp(64px, 7vw, 98px);
	}

	.unity-treatment-detail > .unity-internal-faqs .unity-internal-faqs__heading {
		max-width: 430px;
	}

	.unity-treatment-detail > .unity-internal-faqs .unity-internal-faqs__heading h2 {
		max-width: 430px;
		font-size: clamp(39px, 3.5vw, 48px);
		line-height: 1.07;
	}

	.unity-treatment-detail > .unity-internal-faqs .unity-internal-faqs__heading .eyebrow {
		white-space: nowrap;
	}
}

@media (max-width: 980px) {
	.unity-treatment-detail__feature {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.unity-treatment-detail__feature-copy {
		max-width: 760px;
	}

	.unity-treatment-detail__feature-media {
		max-width: 680px;
		min-height: 390px;
	}

	.unity-treatment-detail__feature-image,
	.unity-treatment-detail__feature-placeholder {
		min-height: 390px;
	}
}

@media (max-width: 760px) {
	.unity-treatment-detail__hero {
		padding-top: 54px;
		padding-bottom: 62px;
	}

	.unity-treatment-detail__hero h1 {
		font-size: clamp(39px, 11vw, 48px);
		line-height: 1.03;
	}

	.unity-treatment-detail__hero-media {
		min-height: 300px;
		margin-top: 30px;
	}

	.unity-treatment-detail__hero-image,
	.unity-treatment-detail__hero-placeholder {
		min-height: 300px;
	}

	.unity-treatment-detail__hero-intro {
		margin-top: 24px;
		font-size: 15px;
		line-height: 1.7;
	}

	.unity-treatment-detail__what,
	.unity-treatment-detail__suitability,
	.unity-treatment-detail__benefits-section {
		padding: 62px 0 70px;
	}

	.unity-treatment-detail__feature {
		gap: 30px;
	}

	.unity-treatment-detail__feature-copy h2,
	.unity-treatment-detail__benefits-heading h2 {
		font-size: 34px;
		line-height: 1.08;
	}

	.unity-treatment-detail__copy {
		padding-top: 22px;
	}

	.unity-treatment-detail__copy p {
		font-size: 15px;
		line-height: 1.72;
	}

	.unity-treatment-detail__feature-media,
	.unity-treatment-detail__feature-image,
	.unity-treatment-detail__feature-placeholder {
		min-height: 280px;
	}

	.unity-treatment-detail__benefits {
		margin-top: 36px;
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.unity-treatment-detail__benefit,
	.unity-treatment-detail__benefit:nth-child(odd),
	.unity-treatment-detail__benefit:nth-child(even) {
		padding: 20px 0;
	}

	.unity-treatment-detail__benefit h3 {
		font-size: 16px;
	}

	.unity-treatment-detail-process .unity-process-card__content h3 {
		font-size: 25px;
	}
}


/* =========================================================
   v1.26 — location form / consultation-link refinements
   ========================================================= */

/* "Explore our locations" is a simple text link, not a button/pill. */
.unity-consultation__practice-link,
.unity-consultation__practice-link:hover,
.unity-consultation__practice-link:focus-visible {
	display: inline-block;
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
}

/*
 * The embedded Google map itself cannot be recoloured from theme CSS because
 * it lives inside Google's iframe. The card/container remains fully styled to
 * match Unity and can later be replaced with a JS/API map renderer.
 */
.unity-location-detail__map {
	position: relative;
}


/* =========================================================
   v1.27 — treatment-page hierarchy / feature-card refinement
   ========================================================= */

/* Hero: ensure the treatment title resolves to two deliberate lines. */
@media (min-width: 1100px) {
	.unity-treatment-detail__hero-copy {
		max-width: 1180px;
	}

	.unity-treatment-detail__hero h1 {
		max-width: 1180px;
		font-size: clamp(52px, 4.65vw, 68px);
		line-height: 1.03;
	}

	.unity-treatment-detail__hero h1 > span:first-child {
		white-space: nowrap;
	}
}

/* Intro belongs before the image when all key context sits above photography. */
.unity-treatment-detail__hero-intro {
	max-width: 940px;
	margin-top: 28px;
}

.unity-treatment-detail__hero-media {
	margin-top: 34px;
}

/*
 * First two sections now sit as contained feature cards rather than
 * full-width white/pale-green bands. This removes the abrupt white -> green
 * transition while keeping the established Journey-card language.
 */
.unity-treatment-detail__what,
.unity-treatment-detail__suitability {
	padding: clamp(42px, 4vw, 58px) 0;
	background: #fff;
}

.unity-treatment-detail__what {
	padding-top: clamp(86px, 8vw, 112px);
}

.unity-treatment-detail__suitability {
	padding-bottom: clamp(86px, 8vw, 112px);
}

.unity-treatment-detail__feature {
	width: 100%;
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
	gap: clamp(44px, 6vw, 82px);
	align-items: center;
	padding: 18px;
	border: var(--unity-card-border);
	border-radius: var(--unity-card-radius);
	background: var(--unity-surface-cool);
	box-shadow: var(--unity-card-shadow);
	overflow: hidden;
}

.unity-treatment-detail__feature-copy {
	max-width: 690px;
	padding: clamp(28px, 3.3vw, 46px);
}

.unity-treatment-detail__feature-copy h2 {
	max-width: 650px;
	margin-top: 17px;
	font-size: clamp(35px, 3.1vw, 44px);
	line-height: 1.14;
	letter-spacing: -.022em;
}

.unity-treatment-detail__copy {
	max-width: 650px;
	padding-top: 24px;
}

.unity-treatment-detail__copy p {
	font-size: 15px;
	line-height: 1.78;
}

.unity-treatment-detail__feature-media {
	min-height: 500px;
	border-radius: var(--unity-media-radius);
}

.unity-treatment-detail__feature-image,
.unity-treatment-detail__feature-placeholder {
	min-height: 500px;
	border-radius: var(--unity-media-radius);
}

/* Suitability remains the same card language rather than introducing another band. */
.unity-treatment-detail__suitability .unity-treatment-detail__feature {
	background: #f6f8f6;
}

/*
 * Benefits stay green but now have real component hierarchy:
 * four bordered translucent panels rather than loose copy on the background.
 */
.unity-treatment-detail__benefits-section {
	padding: clamp(86px, 7vw, 112px) 0;
}

.unity-treatment-detail__benefits-heading {
	max-width: 800px;
}

.unity-treatment-detail__benefits-heading h2 {
	max-width: 760px;
}

.unity-treatment-detail__benefits {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	border-top: 0;
}

.unity-treatment-detail__benefit,
.unity-treatment-detail__benefit:nth-child(odd),
.unity-treatment-detail__benefit:nth-child(even) {
	min-height: 168px;
	padding: 28px 30px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 16px;
	background: rgba(255, 255, 255, .06);
}

.unity-treatment-detail__benefit h3 {
	font-size: 17px;
	line-height: 1.35;
}

.unity-treatment-detail__benefit p {
	margin-top: 10px;
	color: rgba(255, 255, 255, .76);
	font-size: 14px;
	line-height: 1.7;
}

/* Slight hover polish, no animation gimmick. */
@media (hover: hover) {
	.unity-treatment-detail__benefit {
		transition: background-color .2s ease, border-color .2s ease;
	}

	.unity-treatment-detail__benefit:hover {
		background: rgba(255, 255, 255, .085);
		border-color: rgba(255, 255, 255, .22);
	}
}

@media (max-width: 1099px) {
	.unity-treatment-detail__hero h1 > span:first-child {
		white-space: normal;
	}
}

@media (max-width: 980px) {
	.unity-treatment-detail__feature {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.unity-treatment-detail__feature-copy {
		max-width: 760px;
		padding: 30px 28px 34px;
	}

	.unity-treatment-detail__feature-media {
		max-width: none;
		min-height: 380px;
	}

	.unity-treatment-detail__feature-image,
	.unity-treatment-detail__feature-placeholder {
		min-height: 380px;
	}
}

@media (max-width: 760px) {
	.unity-treatment-detail__hero-intro {
		margin-top: 22px;
	}

	.unity-treatment-detail__hero-media {
		margin-top: 26px;
	}

	.unity-treatment-detail__what,
	.unity-treatment-detail__suitability {
		padding: 18px 0;
	}

	.unity-treatment-detail__what {
		padding-top: 56px;
	}

	.unity-treatment-detail__suitability {
		padding-bottom: 56px;
	}

	.unity-treatment-detail__feature {
		padding: 14px;
		border-radius: var(--unity-card-radius);
	}

	.unity-treatment-detail__feature-copy {
		padding: 24px 8px 28px;
	}

	.unity-treatment-detail__feature-copy h2 {
		font-size: 32px;
		line-height: 1.13;
	}

	.unity-treatment-detail__copy {
		padding-top: 20px;
	}

	.unity-treatment-detail__feature-media,
	.unity-treatment-detail__feature-image,
	.unity-treatment-detail__feature-placeholder {
		min-height: 270px;
	}

	.unity-treatment-detail__benefits {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.unity-treatment-detail__benefit,
	.unity-treatment-detail__benefit:nth-child(odd),
	.unity-treatment-detail__benefit:nth-child(even) {
		min-height: 0;
		padding: 23px 22px;
		border-radius: 14px;
	}
}


/* =========================================================
   v1.28 — location form field alignment
   ========================================================= */

.unity-consultation-form .unity-field--full {
	grid-column: 1 / -1;
}


/* =========================================================
   v1.29 — patient-first treatment copy emphasis
   ========================================================= */

.unity-treatment-detail__feature-copy > .eyebrow {
	max-width: 100%;
}

.unity-treatment-detail__feature-copy h2 {
	text-wrap: balance;
}

.unity-treatment-detail__benefits-heading h2 {
	text-wrap: balance;
}

@media (min-width: 981px) {
	.unity-treatment-detail__feature-copy > .eyebrow {
		white-space: nowrap;
	}
}


/* =========================================================
   v1.30 — dedicated FAQ hub / filters
   ========================================================= */

.unity-faq-page__body {
	padding-top: clamp(64px, 6vw, 86px);
}

/* Text-tab filter: no pills, no extra UI language. */
.unity-faq-filter {
	width: 100%;
	margin: 0 0 48px;
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
	border-bottom: 1px solid rgba(11, 75, 71, .13);
}

.unity-faq-filter__button {
	position: relative;
	margin: 0;
	padding: 0 0 17px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: rgba(25, 48, 46, .58);
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	appearance: none;
}

.unity-faq-filter__button::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: var(--unity-teal);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .18s ease;
}

.unity-faq-filter__button:hover,
.unity-faq-filter__button:focus-visible,
.unity-faq-filter__button.is-active {
	color: var(--unity-teal-deep);
}

.unity-faq-filter__button.is-active::after {
	transform: scaleX(1);
}

.unity-faq-filter__empty {
	margin: 34px 0 0;
	color: rgba(25, 48, 46, .62);
	font-size: 15px;
	line-height: 1.7;
}

/* Dedicated FAQ page is intentionally broad and readable. */
.unity-faq-page__list {
	max-width: 1080px;
}

.unity-faq-page__item[hidden] {
	display: none !important;
}

.unity-faq-page__item .unity-faq__button {
	min-height: 78px;
}

.unity-faq-page__item .unity-faq__panel {
	padding-right: 56px;
}

.unity-faq-page__item .unity-faq__panel p {
	max-width: 900px;
	font-size: 15px;
	line-height: 1.8;
}

@media (max-width: 980px) {
	.unity-faq-filter {
		margin-bottom: 40px;
		gap: 0 24px;
	}

	.unity-faq-page__item .unity-faq__panel {
		padding-right: 24px;
	}
}

@media (max-width: 760px) {
	.unity-faq-page__body {
		padding-top: 48px;
	}

	.unity-faq-filter {
		margin: 0 -20px 34px;
		width: calc(100% + 40px);
		padding: 0 20px;
		flex-wrap: nowrap;
		gap: 24px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.unity-faq-filter::-webkit-scrollbar {
		display: none;
	}

	.unity-faq-filter__button {
		flex: 0 0 auto;
		padding-bottom: 15px;
		font-size: 12px;
	}

	.unity-faq-page__item .unity-faq__button {
		min-height: 68px;
	}

	.unity-faq-page__item .unity-faq__panel {
		padding-right: 0;
	}

	.unity-faq-page__item .unity-faq__panel p {
		font-size: 14px;
		line-height: 1.74;
	}
}


/* =========================================================
   v1.31 — final treatment polish / navigation support
   ========================================================= */

/* Treatment explainer / suitability titles: calmer and easier to scan. */
@media (min-width: 981px) {
	.unity-treatment-detail__feature-copy h2 {
		font-size: 38px;
		line-height: 1.16;
		letter-spacing: -.02em;
	}
}

/*
 * Benefits: remove the one-off translucent "cards".
 * Use the same restrained line-item language already used for Locations,
 * Why Unity and other supporting information.
 */
.unity-treatment-detail__benefits {
	margin-top: 46px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
	border-top: 1px solid rgba(255, 255, 255, .2);
}

.unity-treatment-detail__benefit,
.unity-treatment-detail__benefit:nth-child(odd),
.unity-treatment-detail__benefit:nth-child(even) {
	min-height: 0;
	padding: 24px 0 26px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .17);
	border-radius: 0;
	background: transparent;
}

.unity-treatment-detail__benefit:nth-child(even) {
	padding-left: 0;
}

.unity-treatment-detail__benefit h3 {
	margin: 0;
	color: #fff;
	font-family: var(--unity-sans);
	font-size: 16px;
	font-weight: 650;
	line-height: 1.35;
	letter-spacing: 0;
}

.unity-treatment-detail__benefit p {
	max-width: 520px;
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
	line-height: 1.7;
}

@media (hover: hover) {
	.unity-treatment-detail__benefit,
	.unity-treatment-detail__benefit:hover {
		background: transparent;
		border-color: rgba(255, 255, 255, .17);
	}
}

/*
 * "Explore our locations": eradicate inherited button / square-arrow styles,
 * including pseudo-elements. Keep only a normal text link plus plain arrow.
 */
.unity-consultation__practice-link,
.unity-consultation__practice-link:hover,
.unity-consultation__practice-link:focus-visible {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: fit-content;
	min-width: 0;
	min-height: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #fff;
	text-decoration: none;
}

.unity-consultation__practice-link::before,
.unity-consultation__practice-link::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

@media (max-width: 760px) {
	.unity-treatment-detail__benefits {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.unity-treatment-detail__benefit,
	.unity-treatment-detail__benefit:nth-child(odd),
	.unity-treatment-detail__benefit:nth-child(even) {
		padding: 20px 0 22px;
	}
}


/* =========================================================
   v1.32 — patient stories / benefits / FAQ filter polish
   ========================================================= */

/* Patient stories: quote mark becomes an intentional element above the kicker. */
.unity-patient-story-card__quote-mark {
	display: block;
	height: 44px;
	margin: 0 0 9px;
	color: rgba(11, 75, 71, .18);
	font-family: var(--unity-serif);
	font-size: 72px;
	font-weight: 400;
	line-height: .78;
	pointer-events: none;
}

.unity-patient-story-card__treatment {
	margin-bottom: 15px;
}

.unity-patient-story-card h2 {
	font-size: 30px;
	line-height: 1.1;
}

.unity-patient-story-card__quote {
	margin-top: 18px;
	color: rgba(11, 75, 71, .76);
	font-size: 21px;
	line-height: 1.48;
}

/* The old oversized quote behind the copy is no longer needed. */
.unity-patient-story-card__quote::before {
	display: none !important;
	content: none !important;
}

/*
 * Benefits: use the established "editorial heading + line list" composition
 * rather than a four-feature grid.
 */
.unity-treatment-detail__benefits-section > .unity-shell {
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	gap: clamp(64px, 8vw, 118px);
	align-items: start;
}

.unity-treatment-detail__benefits-heading {
	max-width: 470px;
}

.unity-treatment-detail__benefits-heading h2 {
	max-width: 460px;
	font-size: clamp(38px, 3.5vw, 48px);
	line-height: 1.08;
}

.unity-treatment-detail__benefits {
	margin-top: 0;
	display: block;
	border-top: 1px solid rgba(255, 255, 255, .2);
}

.unity-treatment-detail__benefit,
.unity-treatment-detail__benefit:nth-child(odd),
.unity-treatment-detail__benefit:nth-child(even) {
	width: 100%;
	padding: 23px 0 25px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
	background: transparent;
}

.unity-treatment-detail__benefit h3 {
	font-family: var(--unity-sans);
	font-size: 16px;
	font-weight: 650;
	line-height: 1.35;
}

.unity-treatment-detail__benefit p {
	max-width: 650px;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.7;
}

/* Dedicated FAQ filters: restrained pills now that the interaction is proven. */
.unity-faq-filter {
	margin-bottom: 46px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	border-bottom: 0;
}

.unity-faq-filter__button {
	position: relative;
	min-height: 40px;
	padding: 9px 17px 10px;
	border: 1px solid rgba(11, 75, 71, .14);
	border-radius: 999px;
	background: var(--unity-surface-cool);
	color: rgba(11, 75, 71, .72);
	font-size: 12.5px;
	font-weight: 650;
	line-height: 1.2;
	transition:
		background-color .18s ease,
		border-color .18s ease,
		color .18s ease;
}

.unity-faq-filter__button::after {
	display: none;
	content: none;
}

.unity-faq-filter__button:hover,
.unity-faq-filter__button:focus-visible {
	border-color: rgba(11, 75, 71, .28);
	background: #e8efec;
	color: var(--unity-teal-deep);
}

.unity-faq-filter__button.is-active {
	border-color: var(--unity-teal);
	background: var(--unity-teal);
	color: #fff;
}

@media (max-width: 980px) {
	.unity-treatment-detail__benefits-section > .unity-shell {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.unity-treatment-detail__benefits-heading {
		max-width: 700px;
	}
}

@media (max-width: 760px) {
	.unity-patient-story-card__quote-mark {
		height: 37px;
		margin-bottom: 8px;
		font-size: 62px;
	}

	.unity-patient-story-card h2 {
		font-size: 27px;
	}

	.unity-patient-story-card__quote {
		margin-top: 16px;
		font-size: 19px;
		line-height: 1.46;
	}

	.unity-treatment-detail__benefits-section > .unity-shell {
		gap: 30px;
	}

	.unity-treatment-detail__benefits-heading h2 {
		font-size: 34px;
	}

	.unity-faq-filter {
		margin: 0 -20px 34px;
		width: calc(100% + 40px);
		padding: 0 20px 4px;
		display: flex;
		flex-wrap: nowrap;
		gap: 9px;
		overflow-x: auto;
		border-bottom: 0;
	}

	.unity-faq-filter__button {
		min-height: 38px;
		padding: 8px 15px 9px;
		font-size: 12px;
	}
}


/* =========================================================
   v1.33 — treatment clarity / patient-story quote refinement
   ========================================================= */

/* Treatment intro: slightly wider and photography a little deeper. */
@media (min-width: 981px) {
	.unity-treatment-detail__hero-intro {
		max-width: 1040px;
	}

	.unity-treatment-detail__hero-media {
		min-height: 560px;
	}

	.unity-treatment-detail__hero-image,
	.unity-treatment-detail__hero-placeholder {
		min-height: 560px;
	}
}

/*
 * Patient Stories: quotation mark is now oversized, faded and deliberately
 * overlaps the treatment kicker rather than occupying its own tidy row.
 */
.unity-patient-story-card__quote-mark {
	position: relative;
	z-index: 0;
	display: block;
	width: fit-content;
	height: 58px;
	margin: 0 0 -19px -8px;
	color: rgba(11, 75, 71, .09);
	font-family: var(--unity-serif);
	font-size: 118px;
	font-weight: 400;
	line-height: .72;
	pointer-events: none;
}

.unity-patient-story-card__treatment {
	position: relative;
	z-index: 1;
}

.unity-patient-story-card h2,
.unity-patient-story-card__quote {
	position: relative;
	z-index: 1;
}

@media (max-width: 760px) {
	.unity-patient-story-card__quote-mark {
		height: 48px;
		margin: 0 0 -16px -5px;
		font-size: 96px;
	}
}


/* =========================================================
   v1.34 — simplified Finance & Payment Plans page
   ========================================================= */

.unity-finance-simple {
	padding: clamp(86px, 8vw, 118px) 0;
	background: #fff;
}

.unity-finance-simple__inner {
	max-width: 1120px;
}

.unity-finance-simple__section {
	display: grid;
	grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
	gap: clamp(60px, 8vw, 110px);
	align-items: start;
}

.unity-finance-simple__heading {
	max-width: 450px;
}

.unity-finance-simple__heading h2 {
	margin: 17px 0 0;
	color: var(--unity-teal-deep);
	font-family: var(--unity-serif);
	font-size: 38px;
	font-weight: 400;
	line-height: 1.13;
	letter-spacing: -.022em;
}

.unity-finance-simple__copy {
	max-width: 700px;
}

.unity-finance-simple__copy p {
	margin: 0;
	color: rgba(25, 48, 46, .74);
	font-size: 16px;
	line-height: 1.78;
}

.unity-finance-simple__copy p + p {
	margin-top: 22px;
}

.unity-finance-simple__divider {
	height: 1px;
	margin: clamp(58px, 6vw, 82px) 0;
	background: rgba(11, 75, 71, .12);
}

@media (max-width: 900px) {
	.unity-finance-simple__section {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.unity-finance-simple__heading {
		max-width: 700px;
	}
}

@media (max-width: 760px) {
	.unity-finance-simple {
		padding: 62px 0 70px;
	}

	.unity-finance-simple__heading h2 {
		font-size: 32px;
		line-height: 1.12;
	}

	.unity-finance-simple__copy p {
		font-size: 15px;
		line-height: 1.72;
	}

	.unity-finance-simple__divider {
		margin: 48px 0;
	}
}


/* =========================================================
   v1.35 — finance page card / container alignment
   ========================================================= */

/* Match the standard 1250px site container exactly. */
.unity-finance-simple__inner {
	max-width: none;
}

/* Finance content now uses the established internal-page card language. */
.unity-finance-simple__section {
	grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
	gap: clamp(60px, 8vw, 110px);
	padding: clamp(40px, 4.5vw, 62px);
	border: var(--unity-card-border);
	border-radius: var(--unity-card-radius);
	background: var(--unity-surface-cool);
	box-shadow: var(--unity-card-shadow);
}

.unity-finance-simple__section + .unity-finance-simple__section {
	margin-top: 24px;
}

.unity-finance-simple__divider {
	display: none;
}

@media (max-width: 900px) {
	.unity-finance-simple__section {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 34px 30px 38px;
	}
}

@media (max-width: 760px) {
	.unity-finance-simple__section {
		padding: 28px 22px 30px;
	}

	.unity-finance-simple__section + .unity-finance-simple__section {
		margin-top: 16px;
	}
}


/* =========================================================
   v1.36 — homepage Why Unity polish
   ========================================================= */

/* The four proof points read as one clear list on the dark section. */
.unity-confidence__reasons {
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.unity-confidence__reason,
.unity-confidence__reason:nth-child(even),
.unity-confidence__reason:nth-last-child(-n+2) {
	min-height: 0;
	padding: 18px 0;
	border-left: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.unity-confidence__reason:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

/* "Meet the implant team" becomes a light-green CTA rather than a text link. */
.unity-confidence__link,
.unity-confidence__link:hover,
.unity-confidence__link:focus-visible {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: fit-content;
	min-height: 46px;
	margin-top: 28px;
	padding: 12px 20px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 999px;
	background: #cfe1dc;
	box-shadow: none;
	color: var(--unity-teal-deep);
	font-weight: 650;
	text-decoration: none;
}

/* Remove inherited text-link underline / arrow treatments. */
.unity-confidence__link::before,
.unity-confidence__link::after {
	display: none !important;
	content: none !important;
}

@media (max-width: 760px) {
	.unity-confidence__reason,
	.unity-confidence__reason:nth-child(even),
	.unity-confidence__reason:nth-last-child(-n+2) {
		padding: 16px 0;
	}

	.unity-confidence__link {
		margin-top: 24px;
	}
}


/* =========================================================
   v1.37 — Why Unity proof-point typography
   ========================================================= */

.unity-confidence__reason h3 {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
}

@media (max-width: 760px) {
	.unity-confidence__reason h3 {
		font-size: 16px !important;
		font-weight: 500;
	}
}


/* =========================================================
   v1.38 — mobile heading wrapping
   ========================================================= */

/*
 * Desktop deliberately forces the two-tone headings onto separate lines.
 * On mobile, remove the forced line break / block behaviour and let the browser
 * wrap naturally, while preserving the muted-green second phrase.
 */
@media (max-width: 760px) {
	/* Headings that use literal <br> between the dark and muted phrase. */
	.unity-section-title br,
	.unity-confidence__title br,
	.unity-info-hero h1 br,
	.unity-standard-hero h1 br,
	.unity-treatment-detail__hero h1 br {
		display: none;
	}

	/* Headings that use separate spans instead of <br>. */
	.unity-section-title > span,
	.unity-info-hero h1 > span,
	.unity-standard-hero h1 > span,
	.unity-treatment-detail__hero h1 > span {
		display: inline;
	}

	/* Add normal spacing where the desktop layout relied on block spans. */
	.unity-section-title > span + span::before,
	.unity-info-hero h1 > span + span::before,
	.unity-standard-hero h1 > span + span::before,
	.unity-treatment-detail__hero h1 > span + span::before {
		content: " ";
	}

	/* Never force the coloured phrase itself to remain on one line on mobile. */
	.heading-muted,
	.unity-confidence__title .heading-muted,
	.unity-treatment-detail__hero .heading-muted {
		white-space: normal !important;
	}

	/* Keep the heading as one natural wrapping text run. */
	.unity-confidence__title,
	.unity-section-title,
	.unity-info-hero h1,
	.unity-standard-hero h1,
	.unity-treatment-detail__hero h1 {
		text-wrap: balance;
	}
}


/* =========================================================
   v1.39 — homepage hero mobile heading wrap
   ========================================================= */

@media (max-width: 760px) {
	/*
	 * Homepage hero uses its own heading markup, separate from the standard
	 * internal/two-tone heading system. Remove its forced desktop break on mobile
	 * and let the two-tone phrase wrap as one natural heading.
	 */
	.unity-hero__title br,
	.unity-home-hero__title br,
	.home-hero__title br {
		display: none !important;
	}

	.unity-hero__title > span,
	.unity-home-hero__title > span,
	.home-hero__title > span {
		display: inline !important;
		white-space: normal !important;
	}

	.unity-hero__title > span + span::before,
	.unity-home-hero__title > span + span::before,
	.home-hero__title > span + span::before {
		content: " ";
	}

	.unity-hero__title,
	.unity-home-hero__title,
	.home-hero__title {
		text-wrap: balance;
	}

	.unity-hero__title .heading-muted,
	.unity-home-hero__title .heading-muted,
	.home-hero__title .heading-muted {
		white-space: normal !important;
	}
}


/* =========================================================
   v1.44 — editable Journey imagery
   ========================================================= */

.unity-journey-sequence-card__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}


/* =========================================================
   v1.45 — clinician availability / practice relationships
   ========================================================= */

.unity-team-simple-card__availability {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(11, 75, 71, .13);
}

.unity-team-simple-card__availability > span {
	display: block;
	margin-bottom: 7px;
	color: rgba(11, 75, 71, .62);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
}

.unity-team-simple-card__availability p {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 14px;
	line-height: 1.55;
}

.unity-location-detail__clinicians {
	padding: 0 0 clamp(72px, 7vw, 104px);
	background: #fff;
}

.unity-location-detail__clinicians-inner {
	display: grid;
	grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
	gap: clamp(52px, 7vw, 96px);
	padding: clamp(38px, 4.5vw, 58px);
	background: var(--unity-surface-cool);
}

.unity-location-detail__clinicians-heading h2 {
	max-width: 430px;
	margin: 15px 0 0;
	font-family: var(--unity-serif);
	font-size: 38px;
	font-weight: 400;
	line-height: 1.13;
	letter-spacing: -.02em;
	color: var(--unity-teal-deep);
}

.unity-location-detail__clinician-list {
	border-top: 1px solid rgba(11, 75, 71, .15);
}

.unity-location-detail__clinician {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(11, 75, 71, .15);
}

.unity-location-detail__clinician h3 {
	margin: 0;
	color: var(--unity-teal-deep);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
}

.unity-location-detail__clinician p {
	margin: 5px 0 0;
	color: rgba(25, 48, 46, .66);
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 800px) {
	.unity-location-detail__clinicians-inner {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 30px 24px;
	}

	.unity-location-detail__clinicians-heading h2 {
		font-size: 31px;
	}

	.unity-location-detail__clinician {
		align-items: flex-start;
	}
}


/* =========================================================
   v1.47 — Meet the Team: one clinician per row
   ========================================================= */

.unity-team-simple-grid {
	grid-template-columns: 1fr;
	gap: 24px;
}

.unity-team-simple-card,
.unity-team-simple-card:only-child {
	grid-column: auto;
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(280px, .52fr) minmax(0, 1.48fr);
	gap: clamp(42px, 6vw, 82px);
	align-items: center;
}

.unity-team-simple-card__content,
.unity-team-simple-card:only-child .unity-team-simple-card__content {
	width: 100%;
	max-width: 720px;
}

.unity-team-simple-card__content > p:not(.unity-team-simple-card__qualifications) {
	max-width: 650px;
	font-size: 15px;
	line-height: 1.72;
}

.unity-team-simple-card__availability {
	max-width: 650px;
}

@media (max-width: 960px) {
	.unity-team-simple-card,
	.unity-team-simple-card:only-child {
		grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
		gap: 36px;
	}
}

@media (max-width: 700px) {
	.unity-team-simple-card,
	.unity-team-simple-card:only-child {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}


/* =========================================================
   v1.48 — clinician profile buttons / full profile pages
   ========================================================= */

.unity-clinician-profile-button,
.unity-clinician-profile-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 48px;
	margin-top: 26px;
	padding: 13px 22px;
	border: 1px solid var(--unity-teal);
	border-radius: 999px;
	background: var(--unity-teal);
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.unity-clinician-profile-button:hover,
.unity-clinician-profile-button:focus-visible {
	background: var(--unity-teal-deep);
	border-color: var(--unity-teal-deep);
	color: #fff;
	transform: translateY(-1px);
}

.unity-clinician-profile-button::before,
.unity-clinician-profile-button::after {
	display: none !important;
	content: none !important;
}

.unity-clinician-profile-button--small {
	min-height: 42px;
	margin-top: 0;
	padding: 11px 18px;
	font-size: 13px;
}

.unity-clinician-profile__available {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(11, 75, 71, .13);
}

.unity-clinician-profile__available span {
	display: block;
	margin-bottom: 7px;
	color: rgba(11, 75, 71, .60);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
}

.unity-clinician-profile__available strong {
	display: block;
	max-width: 620px;
	color: var(--unity-teal-deep);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
}

@media (max-width: 700px) {
	.unity-clinician-profile-button {
		margin-top: 22px;
	}

	.unity-clinician-profile-button--small {
		margin-top: 12px;
	}
}


/* =========================================================
   v1.49 — practice clinician alignment / profile links
   ========================================================= */

@media (min-width: 801px) {
	.unity-location-detail__clinicians-inner {
		align-items: end;
	}

	.unity-location-detail__clinicians-heading {
		align-self: end;
	}

	.unity-location-detail__clinician-list {
		align-self: end;
	}
}

.unity-location-detail__clinician h3 a {
	color: inherit;
	text-decoration: none;
}

.unity-location-detail__clinician h3 a:hover,
.unity-location-detail__clinician h3 a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* =========================================================
   v1.52 — optional central consultation telephone
   ========================================================= */

.unity-consultation__phone {
	margin: 12px 0 0 !important;
	font-size: 14px;
	line-height: 1.5;
}

.unity-consultation__phone a {
	color: var(--unity-teal-deep);
	font-weight: 650;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.unity-consultation__phone a:hover,
.unity-consultation__phone a:focus-visible {
	text-decoration-thickness: 2px;
}


/* =========================================================
   v1.53 — curated South Devon Dental photography
   ========================================================= */

.unity-location-detail__map {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.unity-location-detail__practice-photo {
	overflow: hidden;
	min-height: 210px;
	border-radius: 22px;
}

.unity-location-detail__practice-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 210px;
	max-height: 300px;
	object-fit: cover;
}

@media (max-width: 700px) {
	.unity-location-detail__practice-photo {
		min-height: 180px;
		border-radius: 16px;
	}

	.unity-location-detail__practice-image {
		min-height: 180px;
		max-height: 230px;
	}
}


/* =========================================================
   v1.56 — clinician portrait consistency / source quality
   ========================================================= */

.unity-team-simple-card__image-link {
	overflow: hidden;
	border-radius: 16px;
	aspect-ratio: 4 / 5;
}

.unity-team-simple-card__image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center;
}

.unity-clinician-profile__portrait {
	overflow: hidden;
	border-radius: 16px;
}

.unity-clinician-profile__portrait-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 500px;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 760px) {
	.unity-clinician-profile__portrait-image {
		min-height: 0;
		aspect-ratio: 4 / 4.6;
	}
}


/* =========================================================
   v1.58 — autoplay homepage hero video
   ========================================================= */

.home-hero__video-placeholder video {
	pointer-events: none;
}
