@font-face {
	font-family: "General Sans";
	src: url("../fonts/general-sans/GeneralSans-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

/* Dedicated About page. */
.topaz-about-page {
	color: var(--topaz-text);
	background: var(--topaz-white);
}

.topaz-about-page :is(h1, h2, h3, p) {
	letter-spacing: 0;
}

.topaz-about-page__container {
	width: min(100%, 1320px);
	margin-inline: auto;
}

.topaz-about-page__hero,
.topaz-about-page__section,
.topaz-about-page__statement,
.topaz-about-page__recognition {
	padding-inline: clamp(1rem, 4vw, 3rem);
}

.topaz-about-page__hero {
	padding-top: clamp(5rem, 8vw, 7.5rem);
	padding-bottom: clamp(5rem, 8vw, 7.5rem);
	background:
		radial-gradient(circle at 84% 48%, rgb(221 231 223 / 0.58), transparent 27rem),
		var(--topaz-white);
}

.topaz-about-page__hero-grid,
.topaz-about-page__story-grid,
.topaz-about-page__founder-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.82fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.topaz-about-page__hero-content {
	max-width: 48rem;
}

.topaz-about-page__eyebrow {
	margin: 0 0 1.1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--topaz-forest);
}

.topaz-about-page h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.75rem, 5.5vw, 6rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.96;
	text-wrap: balance;
}

.topaz-about-page__lead {
	max-width: 43rem;
	margin: clamp(1.5rem, 3vw, 2rem) 0 0;
	font-size: var(--topaz-text-body);
	line-height: 1.7;
	color: var(--topaz-muted);
}

.topaz-about-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 2rem;
}

.topaz-about-page__button-outline {
	color: var(--topaz-forest);
	border: 1px solid rgb(24 58 42 / 0.32);
	background: transparent;
}

.topaz-about-page__button-outline:hover,
.topaz-about-page__button-outline:focus-visible {
	color: var(--topaz-ivory);
	border-color: var(--topaz-forest);
	background: var(--topaz-forest);
}

.topaz-about-photo-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 2rem;
	text-align: center;
	color: var(--topaz-forest);
	border: 1px solid rgb(23 61 45 / 0.18);
	border-radius: clamp(1.5rem, 2.4vw, 2rem);
	background: #f3f6f1;
	box-shadow: 0 1.25rem 3rem rgb(23 61 45 / 0.08);
}

.topaz-about-photo {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1.5rem, 2.4vw, 2rem);
	background: #f3f6f1;
	box-shadow: 0 1.25rem 3rem rgb(23 61 45 / 0.08);
}

.topaz-about-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.topaz-about-photo-placeholder span {
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	text-transform: uppercase;
}

.topaz-about-photo-placeholder small {
	max-width: 20rem;
	margin-top: 0.55rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--topaz-muted);
}

.topaz-about-photo-placeholder--portrait,
.topaz-about-photo--portrait {
	aspect-ratio: 4 / 5;
}

.topaz-about-photo-placeholder--landscape {
	aspect-ratio: 16 / 10;
}

.topaz-about-photo--landscape {
	aspect-ratio: 16 / 10;
}

.topaz-about-photo--story img {
	object-position: center 44%;
}

.topaz-about-photo--founder img {
	object-position: center 38%;
}

.topaz-about-photo-placeholder--detail,
.topaz-about-photo--detail {
	aspect-ratio: 4 / 3;
}

.topaz-about-photo--studio img {
	object-position: 62% 47%;
}

.topaz-about-page__section {
	padding-top: clamp(5.5rem, 9vw, 8rem);
	padding-bottom: clamp(5.5rem, 9vw, 8rem);
	background: var(--topaz-white);
}

.topaz-about-page__story-grid {
	grid-template-columns: minmax(22rem, 0.9fr) minmax(0, 1.1fr);
}

.topaz-about-page__copy {
	max-width: 47rem;
}

.topaz-about-page__copy h2,
.topaz-about-page__section-header h2,
.topaz-about-page__education h2 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2.8rem, 4.6vw, 4.75rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	text-wrap: balance;
}

.topaz-about-page__copy > p:not(.topaz-about-page__eyebrow, .topaz-about-page__subheading) {
	margin: 1.2rem 0 0;
	font-size: 1.0625rem;
	line-height: 1.72;
	color: var(--topaz-muted);
}

.topaz-about-page__statement,
.topaz-about-page__recognition {
	color: var(--topaz-ivory);
	background: var(--topaz-forest);
}

.topaz-about-page__statement {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.topaz-about-page__statement-background {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.topaz-about-page__statement-video,
.topaz-about-page__statement-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-about-page__statement-video {
	display: block;
	object-fit: cover;
	object-position: center 48%;
}

.topaz-about-page__statement-video::-webkit-media-controls-start-playback-button {
	display: none !important;
	-webkit-appearance: none;
}

.topaz-about-page__statement-overlay {
	background:
		linear-gradient(90deg, rgb(9 34 23 / 0.82) 0%, rgb(12 42 28 / 0.7) 52%, rgb(8 30 20 / 0.78) 100%),
		linear-gradient(180deg, rgb(24 58 42 / 0.12), rgb(6 24 16 / 0.34));
}

.topaz-about-page__statement-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	padding-block: clamp(3.5rem, 6vw, 5.5rem);
	position: relative;
	z-index: 1;
}

.topaz-about-page__statement h2 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2.75rem, 4.8vw, 5rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	text-wrap: balance;
}

.topaz-about-page__statement p {
	max-width: 36rem;
	margin: 0 0 0.25rem;
	font-size: var(--topaz-text-body);
	line-height: 1.65;
	color: rgb(247 244 236 / 0.76);
}

.topaz-about-page__founder-grid {
	grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.78fr);
}

.topaz-about-page__subheading {
	max-width: 38rem;
	margin: 1.25rem 0 1.75rem;
	font-size: 1.25rem;
	line-height: 1.55;
	color: var(--topaz-forest);
}

.topaz-about-page__text-link {
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	min-height: 2.75rem;
	margin-top: 1.5rem;
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-forest);
}

.topaz-about-page__text-link span {
	transition: transform 180ms var(--topaz-ease-out);
}

.topaz-about-page__text-link:hover span,
.topaz-about-page__text-link:focus-visible span {
	transform: translateX(0.2rem);
}

.topaz-about-page__timeline-section {
	background: #f3f6f1;
}

.topaz-about-page__education {
	background: var(--topaz-white);
}

.topaz-about-page__section-header {
	max-width: 52rem;
	margin-bottom: clamp(2.75rem, 5vw, 4.5rem);
}

.topaz-about-timeline__rail,
.topaz-about-timeline__controls {
	display: none;
}

.topaz-about-timeline__stories {
	display: grid;
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.topaz-about-timeline__story {
	display: grid;
	grid-template-columns: minmax(10rem, 0.65fr) minmax(15rem, 1fr) clamp(16.25rem, 24vw, 20rem);
	grid-template-areas: "date copy media";
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid rgb(23 61 45 / 0.14);
	border-radius: 1.5rem;
	background: var(--topaz-white);
	transition: opacity 300ms var(--topaz-ease-out), transform 300ms var(--topaz-ease-out);
	user-select: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__story[aria-hidden="true"] {
	opacity: 0.56;
	transform: translateX(0.5rem);
}

.topaz-about-timeline__story strong {
	grid-area: date;
	font-size: clamp(2.5rem, 5vw, 5rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	color: var(--topaz-forest);
}

.topaz-about-timeline__story p {
	grid-area: copy;
	max-width: 43rem;
	margin: 0;
	font-size: clamp(1.05rem, 1.45vw, 1.3rem);
	line-height: 1.62;
	color: var(--topaz-muted);
}

.topaz-about-timeline__media {
	grid-area: media;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1rem, 1.8vw, 1.35rem);
	background: #e4ede6;
}

.topaz-about-timeline__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-bottom: 1.5rem;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail::before {
	position: absolute;
	top: 0.625rem;
	right: 0;
	left: 0;
	height: 1px;
	content: "";
	background: rgb(23 61 45 / 0.18);
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail::after {
	position: absolute;
	top: 0.625rem;
	left: 0;
	width: calc(var(--topaz-about-timeline-progress, 0) * 100%);
	height: 1px;
	content: "";
	background: rgb(23 61 45 / 0.62);
	transition: width 400ms var(--topaz-ease-out);
}

.topaz-about-timeline__rail button {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.75rem;
	justify-items: start;
	min-width: 0;
	min-height: 3.5rem;
	padding: 0 0.75rem 0 0;
	font: var(--topaz-font-regular) 0.8125rem / 1.35 var(--topaz-font-sans);
	text-align: left;
	color: rgb(23 61 45 / 0.58);
	cursor: pointer;
	border: 0;
	background: transparent;
	transition: color 180ms var(--topaz-ease-out);
}

.topaz-about-timeline__rail button > span {
	width: 1.25rem;
	height: 1.25rem;
	border: 2px solid #f3f6f1;
	border-radius: 50%;
	background: #aab9ae;
	box-shadow: 0 0 0 1px rgb(23 61 45 / 0.18);
	transition: background-color 180ms var(--topaz-ease-out), box-shadow 180ms var(--topaz-ease-out);
}

.topaz-about-timeline__rail button[aria-selected="true"] {
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-forest);
}

.topaz-about-timeline__rail button[aria-selected="true"] > span {
	background: var(--topaz-forest);
	box-shadow: 0 0 0 4px rgb(23 61 45 / 0.12);
}

.topaz-about-timeline__rail button:focus-visible,
.topaz-about-timeline__controls button:focus-visible,
.topaz-about-timeline__viewport:focus-visible {
	outline: 3px solid rgb(102 127 111 / 0.55);
	outline-offset: 4px;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	touch-action: auto;
	cursor: grab;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__viewport.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__viewport.is-dragging .topaz-about-timeline__story {
	user-select: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__viewport::-webkit-scrollbar {
	display: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__stories {
	display: flex;
	gap: 1rem;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__story {
	flex: 0 0 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1rem;
}

.topaz-about-timeline__scrubber {
	--topaz-about-timeline-thumb-size: clamp(3.5rem, 7vw, 5.5rem);
	position: relative;
	display: none;
	height: 2.75rem;
	margin-top: 0.75rem;
	touch-action: none;
	user-select: none;
}

.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__scrubber {
	display: block;
}

.topaz-about-timeline__scrubber::before {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 3px;
	content: "";
	border-radius: 999px;
	background: rgb(23 61 45 / 0.16);
	transform: translateY(-50%);
}

.topaz-about-timeline__scrubber button {
	position: absolute;
	top: 0;
	left: calc((var(--topaz-about-timeline-thumb-size) / 2) + (100% - var(--topaz-about-timeline-thumb-size)) * var(--topaz-about-timeline-progress, 0));
	display: grid;
	place-items: center;
	width: var(--topaz-about-timeline-thumb-size);
	height: 2.75rem;
	padding: 0;
	cursor: grab;
	border: 0;
	background: transparent;
	transform: translateX(-50%);
	transition: left 400ms var(--topaz-ease-out);
}

.topaz-about-timeline__scrubber button:active,
.topaz-about-timeline__scrubber.is-dragging button {
	cursor: grabbing;
}

.topaz-about-timeline__scrubber button:focus-visible {
	outline: 3px solid rgb(102 127 111 / 0.55);
	outline-offset: 1px;
}

.topaz-about-timeline__scrubber button > span {
	display: block;
	width: 100%;
	height: 0.5rem;
	border: 2px solid #f3f6f1;
	border-radius: 999px;
	background: var(--topaz-forest);
	box-shadow: 0 0 0 1px rgb(23 61 45 / 0.15);
}

.topaz-about-timeline__scrubber.is-dragging button,
.topaz-about-timeline__scrubber.is-dragging button > span {
	transition: none;
}

.topaz-about-timeline__progress {
	margin: 0;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	color: var(--topaz-muted);
}

.topaz-about-timeline__controls > div {
	display: flex;
	gap: 0.75rem;
}

.topaz-about-timeline__controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	color: var(--topaz-white);
	cursor: pointer;
	border: 1px solid var(--topaz-forest);
	border-radius: 50%;
	background: var(--topaz-forest);
	transition: color 160ms var(--topaz-ease-out), background-color 160ms var(--topaz-ease-out), transform 160ms var(--topaz-ease-out);
}

.topaz-about-timeline__controls button:active {
	transform: scale(0.97);
}

.topaz-about-timeline__controls button:disabled {
	color: rgb(23 61 45 / 0.42);
	cursor: default;
	border-color: rgb(23 61 45 / 0.18);
	background: transparent;
}

.topaz-about-timeline__controls svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.topaz-about-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 2rem);
}

.topaz-about-principles__item {
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border: 1px solid rgb(24 58 42 / 0.16);
	border-radius: 1.5rem;
	background: var(--topaz-white);
}

.topaz-about-principles__item > span {
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-eucalyptus);
}

.topaz-about-principles__item h3 {
	margin: 2rem 0 0;
	font-size: clamp(1.65rem, 2.3vw, 2.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.1;
	text-wrap: balance;
}

.topaz-about-principles__item p {
	margin: 1rem 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--topaz-muted);
}

.topaz-about-page__recognition {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding-top: clamp(3.5rem, 6vw, 5rem);
	padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.topaz-about-page__recognition-background,
.topaz-about-page__recognition-video,
.topaz-about-page__recognition-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-about-page__recognition-background {
	z-index: 0;
	pointer-events: none;
}

.topaz-about-page__recognition-video {
	display: block;
	object-fit: cover;
	object-position: center 52%;
	filter: blur(3px) saturate(0.88);
	transform: scale(1.025);
}

.topaz-about-page__recognition-overlay {
	background:
		linear-gradient(90deg, rgb(8 34 23 / 0.82), rgb(16 56 38 / 0.72) 52%, rgb(7 29 20 / 0.84)),
		linear-gradient(180deg, rgb(10 40 27 / 0.18), rgb(5 24 16 / 0.38));
}

.topaz-about-page__recognition > .topaz-about-page__container {
	position: relative;
	z-index: 1;
}

.topaz-about-recognition {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.topaz-about-recognition > div {
	min-width: 0;
	padding: 0 clamp(1rem, 2.5vw, 2.25rem);
	border-left: 1px solid rgb(247 244 236 / 0.2);
}

.topaz-about-recognition > div:first-child {
	padding-left: 0;
	border-left: 0;
}

.topaz-about-recognition strong,
.topaz-about-recognition > div > span,
.topaz-about-recognition small {
	display: block;
}

.topaz-about-recognition strong {
	font-size: clamp(2.25rem, 3.6vw, 3.75rem);
	font-weight: var(--topaz-font-light);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.topaz-about-recognition [data-topaz-count-up] {
	display: inline-block;
	min-width: 7ch;
	margin: 0;
	font: inherit;
	line-height: inherit;
	color: inherit;
}

.js .topaz-about-page__recognition:not(.is-visible) [data-topaz-stat-reveal] {
	opacity: 0;
	transform: translateY(0.5rem);
}

.topaz-about-recognition [data-topaz-stat-reveal] {
	transition: opacity 420ms var(--topaz-ease-out), transform 420ms var(--topaz-ease-out);
}

.topaz-about-recognition > div > span {
	max-width: 16rem;
	margin-top: 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: rgb(247 244 236 / 0.78);
}

.topaz-about-recognition small {
	max-width: 17rem;
	margin-top: 0.7rem;
	font-size: 0.75rem;
	line-height: 1.45;
	color: var(--topaz-eucalyptus-light);
}

.topaz-about-page__section-header--wide h2 {
	max-width: 17ch;
}

.topaz-about-experience {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(26rem, 1.1fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: start;
}

.topaz-about-experience__steps article {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1.5rem 0;
	border-top: 1px solid rgb(24 58 42 / 0.18);
}

.topaz-about-experience__steps article:first-child {
	padding-top: 0;
	border-top: 0;
}

.topaz-about-experience__steps article > span {
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-eucalyptus);
}

.topaz-about-experience__steps h3 {
	margin: 0;
	font-size: 1.5rem;
	font-weight: var(--topaz-font-light);
	line-height: 1.2;
}

.topaz-about-experience__steps p {
	margin: 0.65rem 0 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-about-experience__media {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: start;
}

.topaz-about-experience__media .topaz-about-photo:nth-child(2) {
	margin-top: clamp(2rem, 5vw, 5rem);
}

.topaz-about-page__education-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.8fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
}

.topaz-about-page__education-copy {
	max-width: 39rem;
	padding-top: 2rem;
}

.topaz-about-page__education-copy p {
	margin: 0;
	font-size: var(--topaz-text-body);
	line-height: 1.7;
	color: var(--topaz-muted);
}

.topaz-about-page__education-copy .button {
	margin-top: 1.75rem;
}

@media (max-width: 1100px) {
	.topaz-about-page__hero-grid,
	.topaz-about-page__story-grid,
	.topaz-about-page__founder-grid {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.78fr);
		gap: 2.5rem;
	}

	.topaz-about-page h1 {
		font-size: clamp(3.4rem, 6.5vw, 4.8rem);
	}

	.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail {
		display: flex;
		gap: 0.5rem;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail::-webkit-scrollbar {
		display: none;
	}

	.topaz-about-timeline__rail button {
		flex: 0 0 auto;
		min-width: 8.5rem;
		scroll-snap-align: start;
	}

	.topaz-about-timeline__story {
		grid-template-columns: minmax(8.5rem, 0.55fr) minmax(12rem, 1fr) clamp(14rem, 27vw, 17rem);
		gap: clamp(1rem, 2vw, 1.5rem);
	}

	.topaz-about-principles {
		gap: 1rem;
	}

	.topaz-about-recognition {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.5rem 0;
	}

	.topaz-about-recognition > div:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.topaz-about-experience {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

}

@media (max-width: 860px) {
	.topaz-about-page__hero-grid,
	.topaz-about-page__story-grid,
	.topaz-about-page__founder-grid,
	.topaz-about-page__statement-inner,
	.topaz-about-page__education-inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.topaz-about-page__story-grid .topaz-about-photo-placeholder,
	.topaz-about-page__story-grid .topaz-about-photo {
		order: 2;
	}

	.topaz-about-principles {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.topaz-about-page__hero,
	.topaz-about-page__section,
	.topaz-about-page__statement,
	.topaz-about-page__recognition {
		padding-inline: clamp(1.25rem, 5.5vw, 1.5rem);
	}

	.topaz-about-page__hero {
		padding-top: 4rem;
		padding-bottom: 4.5rem;
	}

	.topaz-about-page h1 {
		max-width: 11ch;
		font-size: clamp(3rem, 14vw, 4rem);
	}

	.topaz-about-page__lead,
	.topaz-about-page__education-copy p {
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-about-page__actions {
		align-items: stretch;
	}

	.topaz-about-page__actions .button {
		width: 100%;
	}

	.topaz-about-photo-placeholder--portrait,
	.topaz-about-photo--portrait {
		width: min(100%, 31rem);
		justify-self: center;
	}

	.topaz-about-page__section {
		padding-top: 4.75rem;
		padding-bottom: 4.75rem;
	}

	.topaz-about-page__copy h2,
	.topaz-about-page__section-header h2,
	.topaz-about-page__education h2,
	.topaz-about-page__statement h2 {
		font-size: clamp(2.5rem, 11vw, 3.4rem);
	}

	.topaz-about-page__statement-inner {
		padding-block: 3.5rem;
	}

	.topaz-about-page__statement-video {
		object-position: 58% center;
	}

	.topaz-about-page__statement-overlay {
		background: linear-gradient(180deg, rgb(9 34 23 / 0.82) 0%, rgb(10 38 25 / 0.74) 48%, rgb(7 27 18 / 0.84) 100%);
	}

	.topaz-about-page__subheading {
		font-size: 1.125rem;
	}

	.topaz-about-timeline__story {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"date"
			"media"
			"copy";
		gap: 1.25rem;
		padding: 1.5rem;
		border-radius: 1.25rem;
	}

	.topaz-about-timeline__story strong {
		font-size: clamp(2.25rem, 12vw, 3.5rem);
	}

	.topaz-about-timeline__story p {
		font-size: 1rem;
	}

	.topaz-about-timeline__media {
		border-radius: 1rem;
	}

	.topaz-about-timeline__controls button {
		width: 2.75rem;
		height: 2.75rem;
	}

	.topaz-about-recognition {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.topaz-about-recognition > div,
	.topaz-about-recognition > div:nth-child(3) {
		padding: 1.5rem 0;
		border-top: 1px solid rgb(247 244 236 / 0.2);
		border-left: 0;
	}

	.topaz-about-recognition > div:first-child {
		padding-top: 0;
		border-top: 0;
	}

	.topaz-about-recognition > div:last-child {
		padding-bottom: 0;
	}

	.topaz-about-experience__media {
		grid-template-columns: 1fr;
	}

	.topaz-about-experience__media .topaz-about-photo:nth-child(2) {
		margin-top: 0;
	}

	.topaz-about-page__education-copy {
		padding-top: 0;
	}

	.topaz-about-page__education-copy .button {
		width: 100%;
	}

}

@media (hover: hover) and (pointer: fine) {
	.topaz-about-timeline__controls button:not(:disabled):hover {
		color: var(--topaz-forest);
		background: var(--topaz-white);
		transform: translateY(-1px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.topaz-about-page__statement-video,
	.topaz-about-page__recognition-video {
		display: none;
	}

	.topaz-about-page__statement-overlay {
		background: rgb(24 58 42 / 0.98);
	}

	.topaz-about-recognition [data-topaz-stat-reveal],
	.topaz-about-timeline__story,
	.topaz-about-timeline__rail button,
	.topaz-about-timeline__rail button > span,
	.topaz-about-timeline__controls button {
		transition: none;
	}

	.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__rail::after,
	.topaz-about-timeline__scrubber button {
		transition: none;
	}

	.js .topaz-about-page__recognition:not(.is-visible) [data-topaz-stat-reveal] {
		opacity: 1;
		transform: none;
	}

	.js .topaz-about-timeline.is-enhanced .topaz-about-timeline__story[aria-hidden="true"] {
		transform: none;
	}

	.topaz-about-timeline__controls button:hover,
	.topaz-about-timeline__controls button:active {
		transform: none;
	}
}

@font-face {
	font-family: "General Sans";
	src: url("../fonts/general-sans/GeneralSans-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "General Sans";
	src: url("../fonts/general-sans/GeneralSans-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

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

:root {
	--topaz-forest: #183a2a;
	--topaz-forest-soft: #2f5040;
	--topaz-eucalyptus: #718678;
	--topaz-eucalyptus-light: #aebcaf;
	--topaz-ivory: #f7f4ec;
	--topaz-cream: #eee9df;
	--topaz-white: #ffffff;
	--topaz-clay: #b97861;
	--topaz-canvas: var(--topaz-ivory);
	--topaz-stone: var(--topaz-cream);
	--topaz-border: rgb(24 58 42 / 0.16);
	--topaz-hero-scrim: #10150e;
	--topaz-text: #1e2922;
	--topaz-text-muted: #667168;
	--topaz-muted: var(--topaz-text-muted);
	--topaz-surface-page: var(--topaz-white);
	--topaz-surface-warm: var(--topaz-ivory);
	--topaz-surface-sage: #eef3ef;
	--topaz-catalog-depth: #051f20;
	--topaz-catalog-dark: #0b2b26;
	--topaz-catalog-green: #163832;
	--topaz-catalog-green-soft: #235347;
	--topaz-catalog-sage: #8eb69b;
	--topaz-catalog-mint: #dcefe0;
	--topaz-catalog-milk: #f7faf7;
	--topaz-catalog-linen: #f2ede4;
	--topaz-catalog-sand: #d8c7ae;
	--topaz-catalog-muted: #52665d;
	--topaz-catalog-muted-dark: #c8ddd0;
	--topaz-font-sans: "General Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--topaz-font-light: 300;
	--topaz-font-regular: 400;
	--topaz-font-medium: 500;
	--topaz-text-body: 1.125rem;
	--topaz-text-body-mobile: 1rem;
	--topaz-text-button: 1.0625rem;
	--topaz-text-label: 0.75rem;
	--topaz-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--topaz-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
}

body {
	margin: 0;
	font-family: var(--topaz-font-sans);
	font-size: var(--topaz-text-body);
	font-weight: var(--topaz-font-regular);
	line-height: 1.55;
	letter-spacing: -0.01em;
	color: var(--topaz-text);
	background: var(--topaz-canvas);
}

button,
input,
select,
textarea {
	font-family: var(--topaz-font-sans);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--topaz-font-sans);
	font-synthesis: none;
}

h1,
h2 {
	font-weight: var(--topaz-font-light);
}

h3 {
	font-size: clamp(1.75rem, 2.2vw, 2.5rem);
	font-weight: var(--topaz-font-regular);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

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

.site {
	min-height: 100vh;
	overflow-x: clip;
}

.topaz-promo-bar {
	position: relative;
	z-index: 1001;
	display: grid;
	grid-template-columns: minmax(2.75rem, 1fr) auto minmax(2.75rem, 1fr);
	align-items: center;
	box-sizing: border-box;
	min-height: 2.5rem;
	padding: 0.2rem clamp(0.5rem, 2vw, 1.25rem);
	color: var(--topaz-forest);
	background: var(--topaz-white);
}

.topaz-promo-bar__text {
	grid-column: 2;
	margin: 0;
	padding-inline: 0.5rem;
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.35;
	text-align: center;
}

.topaz-promo-bar__dismiss {
	grid-column: 3;
	justify-self: end;
	display: inline-grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	color: inherit;
	font-size: 1.25rem;
	line-height: 1;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: color 200ms var(--topaz-ease-out), background-color 200ms var(--topaz-ease-out);
}

.topaz-promo-bar__dismiss:hover {
	background: var(--topaz-surface-sage);
}

.topaz-promo-bar__dismiss:focus-visible {
	outline: 2px solid var(--topaz-forest);
	outline-offset: 2px;
}

.topaz-promo-bar[hidden],
html.topaz-promo-dismissed .topaz-promo-bar {
	display: none;
}

.topaz-front-header-anchor {
	position: absolute;
	inset: 0 0 auto;
	z-index: 1000;
	height: 0;
}

.topaz-front-header-anchor .site-header,
body.admin-bar .topaz-front-header-anchor .site-header--over-media {
	top: 1rem;
}

.site-header {
	position: absolute;
	z-index: 1000;
	top: 1rem;
	left: 50%;
	isolation: isolate;
	width: min(calc(100% - 2.5rem), 82.5rem);
	color: rgb(255 255 255 / 0.92);
	border: 1px solid rgb(255 255 255 / 0.42);
	border-radius: 999px;
	outline: 1px solid rgb(255 255 255 / 0.16);
	outline-offset: -3px;
	background: linear-gradient(115deg, rgb(15 36 26 / 0.48) 0%, rgb(31 55 41 / 0.34) 42%, rgb(67 86 73 / 0.27) 72%, rgb(29 48 37 / 0.38) 100%);
	-webkit-backdrop-filter: blur(28px) saturate(165%) contrast(106%);
	backdrop-filter: blur(28px) saturate(165%) contrast(106%);
	box-shadow: 0 1rem 2.625rem rgb(5 18 10 / 0.25), inset 0 1px 0 rgb(255 255 255 / 0.45), inset 0 -1px 0 rgb(255 255 255 / 0.1);
	transform: translateX(-50%);
	transition: background 220ms var(--topaz-ease-out), box-shadow 220ms var(--topaz-ease-out), backdrop-filter 220ms var(--topaz-ease-out);
}

.site-header::before,
.site-header::after {
	position: absolute;
	inset: 1px;
	z-index: 0;
	content: "";
	pointer-events: none;
	border-radius: inherit;
}

.site-header::before {
	background: linear-gradient(105deg, rgb(255 255 255 / 0.48) 0%, rgb(255 255 255 / 0.08) 24%, transparent 43%, rgb(113 134 120 / 0.12) 70%, rgb(185 120 97 / 0.08) 100%);
	opacity: 0.72;
}

.site-header::after {
	background: radial-gradient(ellipse at 12% -40%, rgb(255 255 255 / 0.5), transparent 42%), radial-gradient(ellipse at 82% 130%, rgb(113 134 120 / 0.2), transparent 48%), radial-gradient(ellipse at 96% 40%, rgb(185 120 97 / 0.08), transparent 36%);
	opacity: 0.75;
}

.site-header--solid {
	position: relative;
	top: auto;
	left: auto;
	margin: 1rem auto 0;
	color: var(--topaz-forest);
	border-color: rgb(255 255 255 / 0.82);
	background: linear-gradient(115deg, rgb(255 255 255 / 0.82) 0%, rgb(235 240 235 / 0.72) 58%, rgb(113 134 120 / 0.24) 100%);
	-webkit-backdrop-filter: blur(24px) saturate(145%);
	backdrop-filter: blur(24px) saturate(145%);
	box-shadow: 0 0.75rem 2rem rgb(24 58 42 / 0.12), inset 0 1px 0 rgb(255 255 255 / 0.78), inset 0 -1px 0 rgb(24 58 42 / 0.08);
	transform: none;
}

.site-header--training {
	color: var(--topaz-forest);
	border-color: rgb(255 255 255 / 0.86);
	background: linear-gradient(115deg, rgb(255 255 255 / 0.9) 0%, rgb(244 248 245 / 0.82) 58%, rgb(210 225 216 / 0.72) 100%);
	-webkit-backdrop-filter: blur(24px) saturate(145%);
	backdrop-filter: blur(24px) saturate(145%);
	box-shadow: 0 0.9rem 2.4rem rgb(0 20 12 / 0.22), inset 0 1px 0 rgb(255 255 255 / 0.92), inset 0 -1px 0 rgb(24 58 42 / 0.07);
}

.site-header__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
	gap: clamp(1rem, 2vw, 2rem);
	align-items: center;
	min-height: 4.75rem;
	max-width: 92rem;
	margin: 0 auto;
	padding: 0.625rem 0.75rem 0.625rem clamp(1.25rem, 2vw, 2rem);
}

.site-branding {
	display: flex;
	align-items: center;
	min-width: 0;
}

.custom-logo-link,
.site-branding__fallback {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.custom-logo {
	width: clamp(9.375rem, 12vw, 11.25rem);
	max-width: 100%;
	height: auto;
	max-height: 3rem;
	object-fit: contain;
	object-position: left center;
}

.site-header--over-media .custom-logo {
	filter: brightness(0) invert(1);
}

.site-header--solid .custom-logo {
	filter: none;
}

.site-header--training .custom-logo {
	filter: none;
}

.site-header--over-media .site-header__menu-toggle {
	border-color: rgb(255 255 255 / 0.42);
}

.site-header--training .site-header__menu-toggle {
	border-color: rgb(24 58 42 / 0.2);
}

.site-branding__fallback {
	font-size: 1.1rem;
	font-weight: var(--topaz-font-regular);
}

.site-header__navigation {
	display: contents;
}

.site-header__menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	color: inherit;
	cursor: pointer;
	border: 1px solid rgb(24 58 42 / 0.18);
	border-radius: 999px;
	background: transparent;
	transition: transform 150ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

.site-header__menu-toggle:active,
.button:active,
.site-header__cta:active {
	transform: scale(0.97);
}

.site-header__menu-toggle-lines,
.site-header__menu-toggle-lines::before,
.site-header__menu-toggle-lines::after {
	display: block;
	width: 1rem;
	height: 1px;
	content: "";
	background: currentColor;
	transition: transform 180ms var(--topaz-ease-out), opacity 180ms var(--topaz-ease-out);
}

.site-header__menu-toggle-lines {
	position: relative;
}

.site-header__menu-toggle-lines::before,
.site-header__menu-toggle-lines::after {
	position: absolute;
	left: 0;
}

.site-header__menu-toggle-lines::before {
	top: -0.35rem;
}

.site-header__menu-toggle-lines::after {
	top: 0.35rem;
}

.site-header.is-menu-open .site-header__menu-toggle-lines {
	background: transparent;
}

.site-header.is-menu-open .site-header__menu-toggle-lines::before {
	transform: translateY(0.35rem) rotate(45deg);
}

.site-header.is-menu-open .site-header__menu-toggle-lines::after {
	transform: translateY(-0.35rem) rotate(-45deg);
}

.primary-navigation {
	display: flex;
	grid-column: 2;
	justify-content: center;
	min-width: 0;
}

.primary-navigation__menu {
	display: flex;
	gap: clamp(0.625rem, 1vw, 1rem);
	align-items: center;
	padding: 0;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1;
	letter-spacing: -0.01em;
	list-style: none;
}

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

.primary-navigation__item-row {
	display: flex;
	align-items: center;
}

.primary-navigation__menu a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	transition: color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

.primary-navigation__menu a:hover,
.primary-navigation__menu a:focus-visible {
	color: var(--topaz-text);
}

.primary-navigation__menu > .current-menu-item > a,
.primary-navigation__menu > .current-menu-item > .primary-navigation__item-row > a,
.primary-navigation__menu > .current-menu-ancestor > .primary-navigation__item-row > a,
.primary-navigation__menu > .current_page_parent > a {
	text-decoration: underline;
	text-decoration-color: var(--topaz-forest);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4rem;
}

.site-header--over-media .primary-navigation__menu > .menu-item > a,
.site-header--over-media .primary-navigation__item-row > a,
.site-header--over-media .primary-navigation__submenu-toggle {
	color: rgb(255 255 255 / 0.92);
}

.site-header--over-media .primary-navigation__menu > .menu-item > a:hover,
.site-header--over-media .primary-navigation__menu > .menu-item > a:focus-visible,
.site-header--over-media .primary-navigation__item-row > a:hover,
.site-header--over-media .primary-navigation__item-row > a:focus-visible {
	color: var(--topaz-white);
}

.site-header--over-media .primary-navigation__menu > .current-menu-item > a,
.site-header--over-media .primary-navigation__menu > .current-menu-item > .primary-navigation__item-row > a,
.site-header--over-media .primary-navigation__menu > .current-menu-ancestor > .primary-navigation__item-row > a,
.site-header--over-media .primary-navigation__menu > .current_page_parent > a {
	text-decoration-color: rgb(255 255 255 / 0.82);
}

.site-header--training .primary-navigation__menu > .menu-item > a,
.site-header--training .primary-navigation__item-row > a,
.site-header--training .primary-navigation__submenu-toggle {
	color: var(--topaz-forest);
}

.site-header--training .primary-navigation__menu > .menu-item > a:hover,
.site-header--training .primary-navigation__menu > .menu-item > a:focus-visible,
.site-header--training .primary-navigation__item-row > a:hover,
.site-header--training .primary-navigation__item-row > a:focus-visible {
	color: var(--topaz-text);
}

.site-header--training .primary-navigation__menu > .current-menu-item > a,
.site-header--training .primary-navigation__menu > .current-menu-item > .primary-navigation__item-row > a,
.site-header--training .primary-navigation__menu > .current-menu-ancestor > .primary-navigation__item-row > a,
.site-header--training .primary-navigation__menu > .current_page_parent > a {
	text-decoration-color: var(--topaz-forest);
}

.site-header--training :is(a, button):focus-visible {
	outline-color: var(--topaz-forest);
}

.site-header--over-media :is(a, button):focus-visible {
	outline-color: var(--topaz-white);
}

.primary-navigation__submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2.75rem;
	padding: 0;
	margin-left: -0.25rem;
	color: var(--topaz-forest);
	cursor: pointer;
	border: 0;
	background: transparent;
}

.primary-navigation__chevron {
	width: 0.45rem;
	height: 0.45rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-0.15rem) rotate(45deg);
	transition: transform 180ms var(--topaz-ease-out);
}

.menu-item-has-children.is-submenu-open .primary-navigation__chevron,
.primary-navigation__submenu-toggle[aria-expanded="true"] .primary-navigation__chevron {
	transform: translateY(0.1rem) rotate(225deg);
}

.primary-navigation .sub-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 50%;
	width: clamp(17.5rem, 24vw, 21.25rem);
	padding: 0.65rem;
	margin: 0;
	visibility: hidden;
	list-style: none;
	color: var(--topaz-forest);
	border: 1px solid rgb(255 255 255 / 0.82);
	border-radius: 1.125rem;
	background: linear-gradient(145deg, rgb(255 255 255 / 0.98), rgb(247 244 236 / 0.97) 72%, rgb(174 188 175 / 0.78));
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	backdrop-filter: blur(18px) saturate(135%);
	box-shadow: 0 1rem 2.25rem rgb(24 58 42 / 0.14), inset 0 1px 0 rgb(255 255 255 / 0.92);
	opacity: 0;
	transform: translate(-50%, -0.35rem);
	transition: opacity 160ms var(--topaz-ease-out), transform 160ms var(--topaz-ease-out), visibility 160ms;
	pointer-events: none;
}

.primary-navigation .menu-item-has-children::after {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	height: 0.65rem;
	content: "";
}

.primary-navigation .menu-item-has-children:hover > .sub-menu,
.primary-navigation .menu-item-has-children:focus-within > .sub-menu,
.primary-navigation .menu-item-has-children.is-submenu-open > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
	pointer-events: auto;
}

.primary-navigation .menu-item-has-children.is-submenu-dismissed > .sub-menu {
	visibility: hidden;
	opacity: 0;
	transform: translate(-50%, -0.35rem);
	pointer-events: none;
}

.primary-navigation .sub-menu a {
	min-height: 2.75rem;
	padding: 0.6rem 0.75rem;
	line-height: 1.25;
	white-space: normal;
	border-radius: 0.75rem;
}

.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu a:focus-visible {
	color: var(--topaz-forest);
	background: rgb(174 188 175 / 0.34);
}

.site-header__cta,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3.5rem;
	padding: 1.0625rem 1.75rem;
	font-family: var(--topaz-font-sans);
	font-size: var(--topaz-text-button);
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	letter-spacing: -0.01em;
	font-synthesis: none;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 999px;
	transition: transform 180ms var(--topaz-ease-out), background-color 200ms var(--topaz-ease-out), border-color 200ms var(--topaz-ease-out), color 200ms var(--topaz-ease-out);
}

.site-header__cta {
	grid-column: 3;
	justify-self: end;
	min-height: 2.75rem;
	padding: 0.875rem 1.35rem;
	font-size: 0.9375rem;
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
}

.site-header__cta:hover,
.site-header__cta:focus-visible {
	color: var(--topaz-canvas);
	background: var(--topaz-forest-soft);
}

.site-header--over-media .site-header__cta {
	color: var(--topaz-forest);
	border: 1px solid rgb(255 255 255 / 0.55);
	background: var(--topaz-ivory);
}

.site-header--over-media .site-header__cta:hover,
.site-header--over-media .site-header__cta:focus-visible {
	color: var(--topaz-forest);
	background: var(--topaz-white);
}

.site-header--training .site-header__cta {
	color: var(--topaz-canvas);
	border-color: var(--topaz-forest);
	background: var(--topaz-forest);
}

.site-header--training .site-header__cta:hover,
.site-header--training .site-header__cta:focus-visible {
	color: var(--topaz-canvas);
	background: var(--topaz-forest-soft);
}

body.admin-bar .site-header--over-media {
	top: calc(1rem + 32px);
}

body.topaz-header-solid {
	background: #ffffff;
}

.topaz-header-solid .site-main {
	padding-top: 0;
}

.site-main {
	width: 100%;
}

.site-footer {
	padding: 2rem clamp(1rem, 4vw, 3rem);
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
}

.site-footer__inner {
	display: flex;
	gap: 1.5rem 3rem;
	align-items: center;
	justify-content: space-between;
	width: min(100%, 90rem);
	margin: 0 auto;
}

.site-footer p {
	margin: 0;
	font-size: 0.9375rem;
}

.footer-navigation__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	justify-content: flex-end;
	padding: 0;
	margin: 0;
	font-size: 0.9375rem;
	list-style: none;
}

.footer-navigation a {
	text-decoration: none;
}

.footer-navigation a:hover,
.footer-navigation a:focus-visible {
	text-decoration: underline;
}

/* Theme integration for the existing AI Engine panel; no plugin styles are edited. */
#mwai-chatbot-default.mwai-window .mwai-trigger {
	position: fixed;
	/* The plugin's mobile zoom layout also marks its edge offsets important. */
	bottom: calc(var(--topaz-chat-launcher-bottom, 20px) + env(safe-area-inset-bottom, 0px)) !important;
	right: max(20px, env(safe-area-inset-right, 0px)) !important;
	transition: none;
}

#mwai-chatbot-default.mwai-window.mwai-open {
	top: calc(var(--topaz-chat-top, 12px) + env(safe-area-inset-top, 0px)) !important;
	right: max(12px, env(safe-area-inset-right, 0px)) !important;
	bottom: auto !important;
	left: auto !important;
	width: min(460px, calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
	min-height: 0;
	height: max(0px, calc(var(--topaz-chat-height, 70dvh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
	max-height: max(0px, calc(var(--topaz-chat-height, 70dvh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) !important;
	padding: 0;
}

#mwai-chatbot-default.mwai-open .mwai-window-box,
#mwai-chatbot-default.mwai-open .mwai-body {
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
	max-height: 100%;
}

#mwai-chatbot-default.mwai-open .mwai-body {
	flex: 1;
}

#mwai-chatbot-default.mwai-open .mwai-conversation {
	flex: 1;
	min-height: 0;
	max-height: none;
	overflow-y: auto;
}

#mwai-chatbot-default.mwai-open .mwai-header,
#mwai-chatbot-default.mwai-open .mwai-mobile-header,
#mwai-chatbot-default.mwai-open .mwai-input,
#mwai-chatbot-default.mwai-open .mwai-footer {
	flex-shrink: 0;
}

.topaz-scroll-top {
	position: fixed;
	right: 1.5rem;
	bottom: calc(168px + var(--topaz-scroll-top-footer-offset, 0px));
	z-index: 80;
	display: grid;
	place-items: center;
	width: 3.375rem;
	height: 3.375rem;
	padding: 0;
	color: var(--topaz-forest);
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	border: 1px solid rgb(24 58 42 / 0.14);
	border-radius: 50%;
	background: var(--topaz-ivory);
	box-shadow: 0 8px 24px rgb(18 45 29 / 0.16);
	transform: translateY(8px) scale(0.94);
	transition:
		color 220ms var(--topaz-ease-out),
		background-color 220ms var(--topaz-ease-out),
		opacity 220ms var(--topaz-ease-out),
		transform 220ms var(--topaz-ease-out),
		visibility 220ms var(--topaz-ease-out);
	-webkit-appearance: none;
	appearance: none;
}

.topaz-scroll-top.is-visible {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

body:has(.mwai-chat.mwai-open) .topaz-scroll-top {
	visibility: hidden;
	pointer-events: none;
}

.topaz-scroll-top__progress {
	position: absolute;
	inset: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	pointer-events: none;
	transform: rotate(-90deg);
}

.topaz-scroll-top__track,
.topaz-scroll-top__indicator {
	fill: none;
	stroke-width: 2;
}

.topaz-scroll-top__track {
	stroke: rgb(113 134 120 / 0.28);
}

.topaz-scroll-top__indicator {
	stroke: var(--topaz-forest);
	stroke-linecap: round;
}

.topaz-scroll-top__arrow {
	position: relative;
	z-index: 1;
	width: 1.375rem;
	height: 1.375rem;
	pointer-events: none;
}

.topaz-scroll-top__arrow path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.topaz-scroll-top:focus-visible {
	outline: 2px solid var(--topaz-forest);
	outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
	.topaz-scroll-top.is-visible:hover {
		color: var(--topaz-ivory);
		background: var(--topaz-forest);
		transform: translateY(-2px) scale(1);
	}
}

.topaz-scroll-top.is-visible:active {
	transform: translateY(0) scale(0.98);
}

@media (max-width: 767px) {
	.topaz-scroll-top {
		right: 1rem;
		bottom: calc(158px + env(safe-area-inset-bottom) + var(--topaz-scroll-top-footer-offset, 0px));
		width: 3rem;
		height: 3rem;
	}
}

.hero {
	position: relative;
	width: 100%;
	max-width: none;
	min-height: 100vh;
	min-height: 100svh;
	height: auto;
	margin: 0;
	overflow: hidden;
	color: var(--topaz-canvas);
	isolation: isolate;
	border: 0;
	border-radius: 0;
	background: var(--topaz-hero-scrim);
}

@supports (min-height: 100dvh) {
	.hero {
		min-height: 100dvh;
	}
}

.hero__media,
.hero__video,
.hero__overlay {
	position: absolute;
	inset: 0;
}

.hero__media {
	z-index: -3;
	background: var(--topaz-hero-scrim);
}

.hero__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 46%;
}

.hero__overlay {
	z-index: -2;
	background:
		radial-gradient(circle at 72% 18%, rgb(252 252 247 / 0.1) 0%, rgb(252 252 247 / 0) 32%),
		linear-gradient(90deg, rgb(11 15 9 / 0.72) 0%, rgb(12 17 10 / 0.5) 35%, rgb(12 16 10 / 0.16) 68%, rgb(12 16 10 / 0.04) 100%),
		linear-gradient(180deg, rgb(7 10 6 / 0.24) 0%, rgb(7 10 6 / 0.04) 42%, rgb(7 10 6 / 0.32) 100%);
}

.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 48rem) minmax(0, 1fr);
	align-items: center;
	min-height: inherit;
	max-width: 1280px;
	padding: clamp(8rem, 14vh, 10rem) clamp(1.25rem, 5vw, 4rem) clamp(6rem, 10vh, 8rem);
	margin: 0 auto;
}

.hero__content {
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-width: 48rem;
	animation: topaz-hero-reveal 560ms var(--topaz-ease-soft) 80ms both;
}

.hero__eyebrow {
	margin: 0 0 clamp(1.75rem, 3.2vh, 2.625rem);
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.04em;
	color: rgb(252 252 247 / 0.72);
}

.hero__title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3.25rem, 5.4vw, 6.75rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.94;
	letter-spacing: -0.035em;
	font-synthesis: none;
	text-wrap: balance;
}

.hero__intro {
	max-width: 38rem;
	margin: clamp(2.125rem, 4vh, 3.25rem) 0 0;
	font-size: var(--topaz-text-body);
	font-weight: var(--topaz-font-regular);
	line-height: 1.55;
	letter-spacing: -0.01em;
	color: rgb(252 252 247 / 0.8);
}

.hero__actions {
	order: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: clamp(2rem, 3.5vh, 2.875rem);
}

.button--primary {
	color: var(--topaz-forest);
	background: rgb(252 252 247 / 0.94);
}

.button--primary:hover,
.button--primary:focus-visible {
	background: #ffffff;
}

.button--secondary {
	color: var(--topaz-canvas);
	border: 1.5px solid rgb(252 252 247 / 0.58);
	background: rgb(252 252 247 / 0.08);
}

.button--secondary:hover,
.button--secondary:focus-visible {
	border-color: rgb(252 252 247 / 0.78);
	background: rgb(252 252 247 / 0.14);
}

.hero__benefits {
	order: 2;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.625rem;
	width: 100%;
	max-width: 47.5rem;
	margin-top: clamp(1.75rem, 3vh, 2.5rem);
	animation: topaz-hero-benefits-reveal 560ms var(--topaz-ease-soft) 180ms both;
}

.hero__benefit {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.5625rem;
	width: auto;
	min-height: 3.125rem;
	padding: 0.5rem 1rem 0.5rem 0.75rem;
	border: 1px solid rgb(255 255 255 / 0.3);
	border-radius: 999px;
	background: rgb(18 35 28 / 0.34);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.hero__benefit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 1.875rem;
	width: 1.875rem;
	height: 1.875rem;
	border: 1px solid rgb(255 255 255 / 0.28);
	border-radius: 999px;
	color: rgb(255 255 255 / 0.94);
	background: rgb(255 255 255 / 0.09);
}

.hero__benefit-icon svg {
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.hero__icon-sparkle,
.hero__icon-lotus-outer,
.hero__icon-lotus-center {
	transform-box: fill-box;
	transform-origin: center;
}

.hero__icon-sparkle {
	animation: topaz-hero-sparkle 4s ease-in-out 250ms infinite alternate;
}

.hero__icon-lotus-outer {
	transform-origin: center bottom;
	animation: topaz-hero-lotus-open 5s ease-in-out -800ms infinite alternate;
}

.hero__icon-lotus-center {
	transform-origin: center bottom;
	animation: topaz-hero-lotus-breathe 4.8s ease-in-out -1.6s infinite alternate;
}

@keyframes topaz-hero-sparkle {
	from {
		transform: scale(0.88) rotate(-4deg);
	}

	to {
		transform: scale(1.08) rotate(4deg);
	}
}

@keyframes topaz-hero-lotus-open {
	from {
		transform: rotate(-1.5deg) scale(0.98);
	}

	to {
		transform: rotate(1.5deg) scale(1.025);
	}
}

@keyframes topaz-hero-lotus-breathe {
	from {
		transform: translateY(1px) scale(0.99);
	}

	to {
		transform: translateY(-1px) scale(1.02);
	}
}

.hero__benefit strong {
	display: block;
	font-size: clamp(0.75rem, 0.72vw, 0.8125rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.hero__finder-card {
	order: 3;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.875rem;
	width: min(100%, 37.5rem);
	min-height: 4.5rem;
	margin-top: 1.25rem;
	padding: 0.625rem 0.75rem 0.625rem 1rem;
	color: var(--topaz-forest);
	border: 1px solid rgb(255 255 255 / 0.45);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 0.92);
	box-shadow: 0 0.75rem 2rem rgb(8 34 25 / 0.16);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.hero__finder-icon {
	display: inline-grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	font-size: 1rem;
	line-height: 1;
	color: var(--topaz-forest);
	border: 1px solid #d4dfd5;
	border-radius: 999px;
	background: #edf3ed;
}

.hero__finder-copy {
	display: grid;
	gap: 0.1875rem;
	min-width: 0;
}

.hero__finder-copy strong {
	font-size: 0.9375rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.hero__finder-copy > span {
	font-size: 0.8125rem;
	line-height: 1.3;
	color: rgb(18 63 45 / 0.72);
}

.hero__finder-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.75rem 1.125rem;
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	color: var(--topaz-canvas);
	border: 1px solid var(--topaz-forest);
	border-radius: 999px;
	background: var(--topaz-forest);
	transition: color 160ms var(--topaz-ease-out), background-color 160ms var(--topaz-ease-out), transform 140ms var(--topaz-ease-out);
}

.hero__video-play {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0.375rem;
	color: var(--topaz-white);
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
}

.hero__video-play-disc {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid rgb(255 255 255 / 0.64);
	border-radius: inherit;
	background: rgb(5 31 32 / 0.7);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	backdrop-filter: blur(10px) saturate(125%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.2), 0 0.25rem 0.75rem rgb(0 12 10 / 0.2);
}

.hero__video-icon {
	grid-area: 1 / 1;
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hero__video-icon--play {
	display: none;
}

.hero__video-play[data-video-state="paused"] .hero__video-icon--pause {
	display: none;
}

.hero__video-play[data-video-state="paused"] .hero__video-icon--play {
	display: block;
}

.hero__video-play[hidden] {
	display: none;
}

.hero__video-play:focus-visible {
	outline: 2px solid var(--topaz-white);
	outline-offset: 3px;
}

.hero__finder-action:focus-visible {
	outline: 2px solid var(--topaz-forest);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.hero__finder-action:hover {
		color: var(--topaz-white);
		background: var(--topaz-forest-soft);
		transform: translateY(-1px);
	}
}

.hero__finder-action:active {
	transform: scale(0.98);
}

@keyframes topaz-hero-benefits-reveal {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero__scroll-link {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: clamp(1.5rem, 4vh, 2.75rem);
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	color: var(--topaz-canvas);
	text-decoration: none;
	border: 1px solid rgb(252 252 247 / 0.44);
	border-radius: 50%;
	background: rgb(16 21 14 / 0.28);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transform: translateX(-50%);
	transition: border-color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

.hero__scroll-link:hover,
.hero__scroll-link:focus-visible {
	border-color: rgb(252 252 247 / 0.8);
	background: rgb(16 21 14 / 0.48);
}

.hero__scroll-link:hover svg,
.hero__scroll-link:focus-visible svg {
	animation-play-state: paused;
	transform: translateY(0);
}

.hero__scroll-link svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	animation: topaz-scroll-cue 2600ms ease-in-out infinite;
}

@keyframes topaz-scroll-cue {
	0%,
	100% {
		transform: translateY(-0.12rem);
	}

	50% {
		transform: translateY(0.28rem);
	}
}

.topaz-about {
	--about-bottom-fade: 144px;
	--about-fade-gap: 32px;
	width: 100%;
	scroll-margin-top: 1rem;
	color: var(--topaz-text);
	background:
		linear-gradient(180deg, rgba(238, 243, 239, 0) 0%, var(--topaz-surface-sage) 8%, #e7efe9 14%, #aabdb0 32%, #536f5e 54%, #183326 78%, #07170f 100%) bottom / 100% var(--about-bottom-fade) no-repeat,
		radial-gradient(circle at 82% 0%, rgb(174 188 175 / 0.22), transparent 30rem),
		linear-gradient(180deg, var(--topaz-surface-page) 0%, var(--topaz-surface-sage) 100%);
}

.topaz-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(38.75rem, 1.18fr);
	gap: clamp(3rem, 4vw, 4rem);
	align-items: center;
	width: min(calc(100% - clamp(2.5rem, 8vw, 8rem)), 1220px);
	max-width: none;
	padding: clamp(5rem, 9vw, 8rem) 0 calc(var(--about-bottom-fade) + var(--about-fade-gap));
	margin: 0 auto;
}

.topaz-about__content {
	min-width: 0;
	max-width: 43rem;
}

.topaz-about__eyebrow {
	margin: 0 0 1.15rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	color: var(--topaz-forest);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.topaz-about__title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2.625rem, 3.6vw, 4.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.02;
	letter-spacing: -0.025em;
	font-synthesis: none;
	text-wrap: balance;
}

.topaz-about__title span {
	color: var(--topaz-forest);
}

.topaz-about__description {
	max-width: 40rem;
	margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
	font-size: var(--topaz-text-body);
	font-weight: var(--topaz-font-regular);
	line-height: 1.58;
	letter-spacing: -0.01em;
	color: var(--topaz-muted);
}

.topaz-about__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
	margin-top: clamp(1.75rem, 3vw, 2.25rem);
}

.topaz-about__actions .button,
.topaz-category-explorer--homepage .topaz-category-explorer__footer .button {
	min-height: 3.5rem;
}

.topaz-about__finder,
.topaz-category-explorer--homepage .topaz-category-explorer__contact {
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-forest);
	background: transparent;
}

.topaz-about__finder:hover,
.topaz-about__finder:focus-visible,
.topaz-category-explorer--homepage .topaz-category-explorer__contact:hover,
.topaz-category-explorer--homepage .topaz-category-explorer__contact:focus-visible {
	color: var(--topaz-forest);
	background: #e7efe9;
}

.topaz-about__actions .button:focus-visible,
.topaz-category-explorer--homepage .topaz-category-explorer__footer .button:focus-visible {
	outline: 2px solid var(--topaz-forest);
	outline-offset: 4px;
}

.button--forest {
	color: var(--topaz-canvas);
	border: 1px solid var(--topaz-forest);
	background: var(--topaz-forest);
}

.button--forest:hover,
.button--forest:focus-visible {
	color: var(--topaz-forest);
	background: transparent;
}

.topaz-about-gallery {
	min-width: 0;
	width: min(100%, 42.5rem);
	justify-self: end;
}

.topaz-about-gallery__panels {
	display: flex;
	gap: 0.625rem;
	width: 100%;
	height: clamp(32.5rem, 38vw, 35rem);
	aspect-ratio: auto;
}

.topaz-about-gallery__panel {
	position: relative;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	font: inherit;
	color: inherit;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.topaz-about-gallery__panel {
	flex: 9 1 0;
	height: 100%;
	border-radius: clamp(1.5rem, 2.4vw, 2rem);
	transition: flex-grow 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.topaz-about-gallery__panel--active {
	flex-grow: 70;
	cursor: default;
}

.topaz-about-gallery__panel::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgb(24 58 42 / 0.2);
	opacity: 1;
	transition: opacity 500ms ease;
}

.topaz-about-gallery__panel--active::after {
	opacity: 0;
}

.topaz-about-gallery__panel:focus-visible,
.topaz-about-gallery__dot:focus-visible,
.topaz-about-gallery__arrow:focus-visible {
	outline: 3px solid var(--topaz-forest);
	outline-offset: 3px;
}

.topaz-about-gallery__image,
.topaz-about-gallery__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--topaz-about-object-position, center);
}

.topaz-about-gallery__indicator {
	position: absolute;
	left: 50%;
	bottom: 0.75rem;
	z-index: 1;
	display: grid;
	width: 1.875rem;
	height: 1.875rem;
	place-items: center;
	color: var(--topaz-forest);
	pointer-events: none;
	border: 1px solid rgb(24 58 42 / 0.18);
	border-radius: 50%;
	background: rgb(247 244 236 / 0.84);
	box-shadow: 0 0.35rem 1.25rem rgb(10 14 8 / 0.1);
	-webkit-backdrop-filter: blur(0.75rem);
	backdrop-filter: blur(0.75rem);
	opacity: 1;
	transform: translateX(-50%);
	transition:
		color 180ms var(--topaz-ease-out),
		background-color 180ms var(--topaz-ease-out),
		opacity 180ms var(--topaz-ease-out),
		transform 180ms var(--topaz-ease-out);
}

.topaz-about-gallery__panel--active .topaz-about-gallery__indicator {
	opacity: 0;
	transform: translate(-50%, 0.5rem);
}

.topaz-about-gallery__indicator svg {
	width: 0.8125rem;
	height: 0.8125rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
}

@media (hover: hover) and (pointer: fine) {
	.topaz-about-gallery__panel:not(.topaz-about-gallery__panel--active):hover .topaz-about-gallery__indicator,
	.topaz-about-gallery__panel:not(.topaz-about-gallery__panel--active):focus-visible .topaz-about-gallery__indicator {
		color: var(--topaz-ivory);
		background: var(--topaz-forest);
		transform: translate(-50%, -0.125rem) scale(1.03);
	}
}

.topaz-about-gallery__controls {
	display: none;
}

/* Early homepage studio preview with responsive, user-controlled video. */
.studio-preview {
	--studio-glass-blur: 24px;
	--studio-bottom-fade: 130px;
	--studio-top-fade: 130px;
	/* 0.67 over the 0.24 base gives approximately 75% shading at each edge. */
	--studio-vignette-side: 0.67;
	--studio-vignette-vertical: 0.67;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	padding: clamp(4rem, 5vw, 5rem) 2rem;
	color: #edf3ee;
	background: var(--topaz-forest);
}

.studio-preview__inner {
	position: relative;
	z-index: 2;
	overflow: hidden;
	display: grid;
	grid-template-areas: "media copy";
	grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
	gap: clamp(3rem, 4vw, 4rem);
	align-items: center;
	width: min(100%, 1320px);
	padding: clamp(2.5rem, 3vw, 3rem);
	margin-inline: auto;
	border: 1px solid rgba(235, 246, 230, 0.24);
	border-radius: 2rem;
	background: linear-gradient(125deg, rgba(175, 197, 173, 0.18) 0%, rgba(53, 83, 57, 0.34) 48%, rgba(19, 45, 32, 0.46) 100%);
	-webkit-backdrop-filter: blur(var(--studio-glass-blur));
	backdrop-filter: blur(var(--studio-glass-blur));
	box-shadow: 0 20px 48px rgba(0, 16, 8, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Foliage at 0, section-wide shading at 1, unchanged glass/content at 2. */
.studio-preview::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, #07170f 0%, rgba(7, 23, 15, 0.78) 25%, rgba(7, 23, 15, 0.35) 60%, rgba(7, 23, 15, 0) 100%) top / 100% var(--studio-top-fade) no-repeat,
		linear-gradient(180deg, rgba(7, 23, 15, 0) 0%, rgba(7, 23, 15, 0.35) 40%, rgba(7, 23, 15, 0.78) 75%, #07170f 100%) bottom / 100% var(--studio-bottom-fade) no-repeat,
		linear-gradient(90deg, rgba(0, 8, 4, var(--studio-vignette-side)) 0%, rgba(0, 8, 4, 0.4) 12%, rgba(0, 8, 4, 0) 30%, rgba(0, 8, 4, 0) 70%, rgba(0, 8, 4, 0.4) 88%, rgba(0, 8, 4, var(--studio-vignette-side)) 100%),
		linear-gradient(180deg, rgba(0, 8, 4, var(--studio-vignette-vertical)) 0%, rgba(0, 8, 4, 0) 24%, rgba(0, 8, 4, 0) 76%, rgba(0, 8, 4, var(--studio-vignette-vertical)) 100%),
		linear-gradient(rgba(3, 16, 10, 0.24), rgba(3, 16, 10, 0.24));
	pointer-events: none;
	content: "";
}

.studio-preview__background,
.studio-preview__background-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.studio-preview__background {
	z-index: 0;
}

.studio-preview__background-image {
	display: block;
	object-fit: cover;
	object-position: center;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.studio-preview__inner {
		background: rgba(24, 50, 35, 0.96);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (prefers-reduced-transparency: reduce) {
	.studio-preview__inner {
		background: #183223;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

.studio-preview__copy {
	grid-area: copy;
	min-width: 0;
}

.studio-preview__eyebrow {
	margin: 0 0 1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #d8e8d7;
}

.studio-preview__title {
	color: #f7faf7;
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.5rem, 4vw, 4rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.03;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.studio-preview__copy > p:not(.studio-preview__eyebrow) {
	margin: 1.25rem 0 0;
	font-size: clamp(1rem, 1.15vw, 1.0875rem);
	line-height: 1.62;
	color: #edf3ee;
}

.studio-preview__copy > p + p:not(.studio-preview__eyebrow) {
	margin-top: 0.8rem;
}

.studio-preview__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: clamp(1.5rem, 2.5vw, 2rem);
}

.studio-preview__cta {
	color: var(--topaz-forest);
	border: 1px solid #edf3ee;
	background: #edf3ee;
}

.studio-preview__cta:hover,
.studio-preview__cta:focus-visible {
	color: var(--topaz-forest);
	border-color: #ffffff;
	background: #ffffff;
}

.studio-preview__cta:focus-visible {
	outline: 2px solid #f7faf7;
	outline-offset: 4px;
	transition: none;
}

.studio-preview__cta--contact {
	color: #ffffff;
	border-color: #ffffff;
	background: transparent;
}

.studio-preview__cta--contact:hover,
.studio-preview__cta--contact:focus-visible {
	color: #ffffff;
	border-color: #ffffff;
	background: rgba(255, 255, 255, 0.1);
}

.studio-preview__media {
	grid-area: media;
	min-width: 0;
}

.studio-preview__frame {
	position: relative;
	width: 100%;
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: 16 / 9;
	border-radius: clamp(1.25rem, 2.4vw, 1.875rem);
	background: var(--topaz-eucalyptus-light);
}

.studio-preview__poster,
.studio-preview__poster img,
.studio-preview__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.studio-preview__poster {
	z-index: 1;
	margin: 0;
	opacity: 1;
	transition: opacity 260ms var(--topaz-ease-soft);
}

.studio-preview__poster img,
.studio-preview__video {
	object-fit: contain;
	background: var(--topaz-eucalyptus-light);
}

.studio-preview__video {
	z-index: 2;
	opacity: 0;
	transition: opacity 260ms var(--topaz-ease-soft);
}

.studio-preview.is-ready .studio-preview__poster {
	opacity: 0;
}

.studio-preview.is-ready .studio-preview__video {
	opacity: 1;
}

.studio-preview.is-error .studio-preview__poster {
	opacity: 1;
}

.studio-preview.is-error .studio-preview__video {
	opacity: 0;
}

.studio-preview__controls {
	position: absolute;
	right: clamp(0.75rem, 1.5vw, 1rem);
	bottom: clamp(0.75rem, 1.5vw, 1rem);
	z-index: 3;
	display: none;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
}

.js .studio-preview__controls {
	display: flex;
}

.studio-preview__control {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.65rem 0.9rem;
	font: inherit;
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	color: var(--topaz-white);
	border: 1px solid rgb(255 255 255 / 0.42);
	border-radius: 999px;
	background: rgb(24 58 42 / 0.88);
	box-shadow: 0 0.4rem 1.5rem rgb(10 14 8 / 0.14);
	-webkit-backdrop-filter: blur(0.7rem);
	backdrop-filter: blur(0.7rem);
	cursor: pointer;
	transition:
		color 180ms var(--topaz-ease-out),
		background-color 180ms var(--topaz-ease-out),
		transform 180ms var(--topaz-ease-out);
}

.studio-preview__control:hover {
	color: var(--topaz-forest);
	background: rgb(247 244 236 / 0.94);
}

.studio-preview__control:active {
	transform: scale(0.97);
}

.studio-preview__control:focus-visible {
	outline: 3px solid var(--topaz-white);
	outline-offset: 3px;
}

.studio-preview__control:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

.studio-preview__control svg {
	width: 1.125rem;
	height: 1.125rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
}

.studio-preview__icon-play {
	fill: currentColor;
	stroke: none;
}

.studio-preview__control--play[aria-pressed="false"] .studio-preview__icon-pause,
.studio-preview__control--play[aria-pressed="true"] .studio-preview__icon-play,
.studio-preview__control--sound[aria-pressed="false"] .studio-preview__icon-sound-on,
.studio-preview__control--sound[aria-pressed="true"] .studio-preview__icon-sound-off {
	display: none;
}

.topaz-experience {
	--experience-top-fade: clamp(56px, 5.28vw, 76px);
	position: relative;
	width: 100%;
	overflow: hidden;
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
	isolation: isolate;
}

.topaz-experience::before {
	position: absolute;
	inset: 0 0 auto;
	z-index: 1;
	height: var(--experience-top-fade);
	background: linear-gradient(180deg, var(--topaz-forest) 0%, rgba(24, 58, 42, 0.78) 25%, rgba(24, 58, 42, 0.35) 60%, rgba(24, 58, 42, 0) 100%);
	pointer-events: none;
	content: "";
}

.topaz-experience::after {
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	height: var(--experience-top-fade);
	background: linear-gradient(180deg, rgba(24, 58, 42, 0) 0%, rgba(36, 77, 57, 0.75) 22%, #536f5e 46%, #aabdb0 68%, #e7efe9 86%, var(--topaz-white) 100%);
	pointer-events: none;
	content: "";
}

.topaz-experience__background {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.topaz-experience__background-video,
.topaz-experience__background-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-experience__background-video {
	display: block;
	object-fit: cover;
	object-position: center 48%;
}

.topaz-experience__background-video::-webkit-media-controls-start-playback-button {
	display: none !important;
	-webkit-appearance: none;
}

.topaz-experience__background-overlay {
	background:
		linear-gradient(90deg, rgb(12 39 27 / 0.88) 0%, rgb(15 48 33 / 0.76) 48%, rgb(12 39 27 / 0.67) 100%),
		linear-gradient(180deg, rgb(24 58 42 / 0.18), rgb(8 28 19 / 0.42));
}

.topaz-experience__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(21.25rem, 0.95fr) minmax(18rem, 0.9fr);
	gap: clamp(2rem, 3vw, 3rem);
	align-items: center;
	width: min(100%, 1320px);
	padding: clamp(5rem, 7vw, 6.5rem) clamp(2rem, 5vw, 4rem);
	margin: 0 auto;
}

.topaz-experience__intro {
	min-width: 0;
	max-width: 32rem;
}

.topaz-experience__eyebrow {
	margin: 0 0 1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgb(252 252 247 / 0.68);
}

.topaz-experience__title {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.75rem, 4.1vw, 4.4rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	letter-spacing: -0.028em;
	font-synthesis: none;
	text-wrap: balance;
}

.topaz-experience__description {
	max-width: 29rem;
	margin: 1.4rem 0 0;
	font-size: var(--topaz-text-body);
	line-height: 1.65;
	color: rgb(252 252 247 / 0.74);
}

.topaz-experience__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 1.75rem;
}

.topaz-experience__cta .button {
	padding-inline: 1.25rem;
	font-size: 0.9375rem;
}

.topaz-experience__list {
	display: grid;
	gap: 0.8125rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.topaz-experience__item {
	display: grid;
	grid-template-columns: 1.5rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
	padding: 1.25rem;
	font-size: clamp(1rem, 1.25vw, 1.125rem);
	line-height: 1.5;
	color: #f7faf7;
	border: 1px solid rgba(235, 246, 235, 0.22);
	border-radius: 1.25rem;
	background: linear-gradient(125deg, rgba(229, 242, 230, 0.13) 0%, rgba(151, 184, 159, 0.08) 55%, rgba(22, 53, 36, 0.24) 100%);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 6px 18px rgba(0, 15, 7, 0.08);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.topaz-experience__item {
		background: #244534;
	}
}

.topaz-experience__number {
	padding-top: 0.18rem;
	font-size: 0.6875rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #d8e8d7;
}

.topaz-experience__media {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: clamp(1.25rem, 2vw, 1.75rem);
	background: rgb(252 252 247 / 0.08);
}

.topaz-experience__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.topaz-results {
	--results-bottom-fade: 64px;
	position: relative;
	width: 100%;
	color: var(--topaz-text);
	background:
		linear-gradient(180deg, #ffffff 0%, #e7efe9 14%, #aabdb0 32%, #536f5e 54%, #244d39 78%, var(--topaz-forest) 100%) bottom / 100% var(--results-bottom-fade) no-repeat,
		#ffffff;
}

.topaz-results__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.08fr);
	gap: clamp(4rem, 6vw, 5.5rem);
	align-items: center;
	width: min(100%, 1280px);
	padding: clamp(5rem, 7vw, 6rem) clamp(2rem, 5vw, 4rem);
	margin: 0 auto;
}

.topaz-results__content {
	min-width: 0;
	max-width: 31rem;
}

.topaz-results__eyebrow {
	margin: 0 0 1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--topaz-forest);
}

.topaz-results__title {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.75rem, 4.3vw, 4.5rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.topaz-results__intro {
	max-width: 29rem;
	margin: 1.4rem 0 0;
	font-size: var(--topaz-text-body);
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-results__result {
	display: grid;
	gap: 0.2rem;
	margin: 1rem 0 0;
	font-size: var(--topaz-text-body);
	line-height: 1.5;
	color: var(--topaz-forest);
}

.topaz-results__result strong {
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.topaz-results__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 1.75rem;
}

.topaz-results__contact {
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-forest);
	background: transparent;
}

.topaz-results__contact:hover,
.topaz-results__contact:focus-visible {
	color: var(--topaz-forest);
	background: #e7efe9;
}

.topaz-before-after {
	--comparison-position: 50%;
	--before-position: center 47%;
	--after-position: center 52%;
	min-width: 0;
	margin: 0;
}

.topaz-before-after__viewport {
	position: relative;
	width: 100%;
	max-height: 40rem;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid rgb(24 58 42 / 0.14);
	border-radius: clamp(1.125rem, 2vw, 1.5rem);
	background: var(--topaz-stone);
	box-shadow: 0 1.5rem 3.5rem rgb(24 58 42 / 0.1);
}

.topaz-before-after__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.topaz-before-after__image--after {
	object-position: var(--after-position);
}

.topaz-before-after__before {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	clip-path: inset(0 calc(100% - var(--comparison-position)) 0 0);
}

.topaz-before-after__image--before {
	object-position: var(--before-position);
}

.topaz-before-after__range {
	position: absolute;
	inset: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	cursor: ew-resize;
	opacity: 0.001;
	touch-action: pan-y;
}

.topaz-before-after__label {
	position: absolute;
	z-index: 3;
	top: 1rem;
	padding: 0.45rem 0.7rem;
	font-size: 0.6875rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--topaz-forest);
	pointer-events: none;
	border: 1px solid rgb(255 255 255 / 0.72);
	border-radius: 999px;
	background: rgb(247 244 236 / 0.92);
}

.topaz-before-after__label--before {
	left: 1rem;
}

.topaz-before-after__label--after {
	right: 1rem;
}

.topaz-before-after__divider {
	position: absolute;
	z-index: 4;
	top: 0;
	bottom: 0;
	left: var(--comparison-position);
	width: 2px;
	pointer-events: none;
	background: rgb(255 255 255 / 0.92);
	box-shadow: 0 0 0 1px rgb(24 58 42 / 0.12);
	transform: translateX(-50%);
}

.topaz-before-after__handle {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	color: var(--topaz-forest);
	border: 1px solid rgb(24 58 42 / 0.2);
	border-radius: 50%;
	background: var(--topaz-ivory);
	box-shadow: 0 0.45rem 1.4rem rgb(10 14 8 / 0.2);
	transform: translate(-50%, -50%);
}

.topaz-before-after__handle svg {
	width: 1.45rem;
	height: 1.45rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.topaz-before-after__range:focus-visible ~ .topaz-before-after__divider .topaz-before-after__handle {
	outline: 3px solid var(--topaz-forest);
	outline-offset: 4px;
}

.topaz-before-after__caption {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 0.8rem;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--topaz-muted);
}

.topaz-google-reviews {
	position: relative;
	margin: 0;
	overflow: visible;
	color: var(--topaz-text);
	isolation: isolate;
	background: var(--topaz-white);
}

.topaz-google-reviews__media,
.topaz-google-reviews__overlay {
	position: absolute;
	inset: 0;
}

.topaz-google-reviews__media {
	z-index: 0;
	background-image: var(--topaz-google-reviews-image);
	background-repeat: no-repeat;
	background-position: 58% center;
	background-size: cover;
}

.topaz-google-reviews__overlay {
	z-index: 1;
	background:
		linear-gradient(180deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 20%, transparent 100%) top / 100% clamp(5.5rem, 8vw, 7.5rem) no-repeat,
		linear-gradient(0deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 20%, transparent 100%) bottom / 100% clamp(5.5rem, 8vw, 7.5rem) no-repeat,
		linear-gradient(90deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.99) 32%, rgb(255 255 255 / 0.9) 51%, rgb(255 255 255 / 0.4) 70%, rgb(255 255 255 / 0.08) 88%, transparent 100%),
		linear-gradient(180deg, rgb(255 255 255 / 0.05) 0%, rgb(255 255 255 / 0.14) 100%);
}

.topaz-google-reviews__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	max-width: 1440px;
	padding: clamp(3.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 5rem);
	margin: 0 auto;
}

.topaz-google-reviews__content {
	width: min(100%, 75rem);
	min-width: 0;
}

.topaz-google-reviews__eyebrow {
	margin: 0 0 0.95rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: var(--topaz-eucalyptus);
}

.topaz-google-reviews__title {
	max-width: 12.5ch;
	margin: 0;
	font-size: clamp(2.625rem, 3.6vw, 4.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.02;
	letter-spacing: -0.025em;
	font-synthesis: none;
	text-wrap: balance;
}

.topaz-google-reviews__intro {
	max-width: 38rem;
	margin: clamp(1rem, 2vw, 1.35rem) 0 0;
	font-size: var(--topaz-text-body);
	font-weight: var(--topaz-font-regular);
	line-height: 1.55;
	letter-spacing: -0.01em;
	color: var(--topaz-muted);
}

.topaz-google-reviews__widget {
	position: relative;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	overflow: visible;
	color: var(--topaz-text);
}

.topaz-google-reviews__widget .ti-footer {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.topaz-google-reviews__widget .ti-footer .ti-name,
.topaz-google-reviews__widget .ti-footer .ti-rating-text,
.topaz-google-reviews__widget .ti-footer .ti-rating-text strong {
	color: var(--topaz-forest) !important;
}

.topaz-faq {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: var(--topaz-text);
	isolation: isolate;
	background-color: #ffffff;
}

.topaz-faq__botanical {
	position: absolute;
	top: 16%;
	z-index: 0;
	display: block;
	width: clamp(200px, 10.5vw, 210px);
	height: min(68%, 42rem);
	pointer-events: none;
	background-image: var(--topaz-faq-background);
	background-repeat: no-repeat;
	background-size: auto 100%;
	opacity: 1;
	filter: none;
	mix-blend-mode: normal;
	will-change: transform;
	animation: topaz-faq-leaves-sway 10s ease-in-out infinite alternate;
}

.topaz-faq__botanical--left {
	left: 0;
	background-position: left center;
	transform-origin: left center;
}

.topaz-faq__botanical--right {
	right: 0;
	background-position: right center;
	transform-origin: right center;
	animation-delay: -5s;
}

.topaz-faq__botanical svg {
	display: none;
}

@keyframes topaz-faq-leaves-sway {
	from {
		transform: translate3d(-3px, 3px, 0) rotate(-0.22deg);
	}

	to {
		transform: translate3d(3px, -4px, 0) rotate(0.22deg);
	}
}

@keyframes topaz-faq-leaves-sway-mobile {
	from {
		transform: translate3d(-2px, 2px, 0) rotate(-0.14deg);
	}

	to {
		transform: translate3d(2px, -3px, 0) rotate(0.14deg);
	}
}

.topaz-faq__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(20rem, 0.7fr) minmax(0, 1fr);
	gap: clamp(3.5rem, 4.25vw, 4rem);
	align-items: start;
	max-width: 1320px;
	padding: clamp(5rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);
	margin: 0 auto;
}

.topaz-faq__intro {
	min-width: 0;
	max-width: 32rem;
}

.topaz-faq__eyebrow {
	margin: 0 0 1.15rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: var(--topaz-forest);
	text-transform: uppercase;
}

.topaz-faq__title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3rem, 4vw, 4.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.99;
	letter-spacing: -0.025em;
	font-synthesis: none;
	text-wrap: balance;
}

.topaz-faq__title span {
	display: block;
}

.topaz-faq__description {
	max-width: 27rem;
	margin: clamp(1.35rem, 2.5vw, 1.8rem) 0 0;
	font-size: var(--topaz-text-body);
	line-height: 1.58;
	color: var(--topaz-muted);
}

.topaz-faq__contact-link {
	display: inline-flex;
	gap: 0.65rem;
	align-items: center;
	width: auto;
	min-height: 3.125rem;
	padding: 0.875rem 1.375rem;
	margin-top: clamp(1.75rem, 2.2vw, 2rem);
	font-size: 1rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-forest);
	background: transparent;
	text-decoration: none;
}

.topaz-faq__contact-link svg {
	width: 1.1rem;
	height: 1.1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	transition: transform 180ms var(--topaz-ease-out);
}

.topaz-faq__contact-link:hover,
.topaz-faq__contact-link:focus-visible {
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
}

.topaz-faq__contact-link:hover svg,
.topaz-faq__contact-link:focus-visible svg {
	transform: translateX(0.25rem);
}

.topaz-faq__finder-prompt {
	max-width: 25rem;
	margin-top: 2rem;
}

.topaz-faq__finder-prompt h3 {
	margin: 0;
	font-size: 1.1875rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.35;
	color: var(--topaz-forest);
}

.topaz-faq__finder-prompt p {
	margin: 0.55rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--topaz-muted);
}

.topaz-faq__finder-button {
	min-height: 3.125rem;
	padding: 0.875rem 1.375rem;
	margin-top: 1rem;
}

.topaz-faq__list {
	display: grid;
	gap: 0.625rem;
	justify-self: end;
	width: 100%;
	max-width: 52.5rem;
}

.topaz-faq__item {
	overflow: clip;
	border: 1px solid rgb(24 58 42 / 0.16);
	border-radius: 1.25rem;
	background: rgb(255 255 255 / 0.72);
	transition: border-color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

.topaz-faq__item[open] {
	border-color: rgb(24 58 42 / 0.28);
	background: #ffffff;
}

.topaz-faq__question {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 2.5rem;
	gap: clamp(1rem, 1.8vw, 1.35rem);
	align-items: center;
	min-height: 4.75rem;
	padding: 1.125rem clamp(1.5rem, 2vw, 1.75rem);
	font-size: clamp(1.25rem, 1.5vw, 1.375rem);
	font-weight: var(--topaz-font-regular);
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--topaz-text);
	cursor: pointer;
	list-style: none;
}

.topaz-faq__question::-webkit-details-marker {
	display: none;
}

.topaz-faq__question:focus-visible {
	outline: 3px solid var(--topaz-forest);
	outline-offset: -4px;
	border-radius: 1.15rem;
}

.topaz-faq__icon {
	position: relative;
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border: 1px solid rgb(24 58 42 / 0.22);
	border-radius: 50%;
	background: var(--topaz-canvas);
}

.topaz-faq__icon::before,
.topaz-faq__icon::after {
	position: absolute;
	width: 0.95rem;
	height: 1px;
	content: "";
	background: currentColor;
	transition: transform 220ms var(--topaz-ease-out), opacity 180ms var(--topaz-ease-out);
}

.topaz-faq__icon::after {
	transform: rotate(90deg);
}

.topaz-faq__item[open] .topaz-faq__icon::after {
	opacity: 0;
	transform: rotate(0deg);
}

.topaz-faq__answer {
	padding: 0 clamp(4.75rem, 7vw, 5.75rem) 1.5rem clamp(1.5rem, 2vw, 1.75rem);
}

.topaz-faq__answer p {
	max-width: 42rem;
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-visit {
	width: 100%;
	padding: clamp(4.75rem, 6vw, 6rem) clamp(1.25rem, 5vw, 4rem);
	color: var(--topaz-text);
	background-color: var(--topaz-surface-page);
}

.topaz-visit__inner {
	display: grid;
	grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1fr);
	gap: clamp(3rem, 5vw, 5rem);
	align-items: center;
	width: min(100%, 1320px);
	margin: 0 auto;
}

.topaz-visit__content,
.topaz-visit__map-column {
	min-width: 0;
}

.topaz-visit__content {
	max-width: 31rem;
}

.topaz-visit__eyebrow {
	margin: 0 0 1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: var(--topaz-forest);
	text-transform: uppercase;
}

.topaz-visit__title {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(3rem, 4vw, 4.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.99;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.topaz-visit__description {
	margin: 1.5rem 0 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-visit__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.15rem 1.5rem;
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	border-top: 1px solid var(--topaz-border);
}

.topaz-visit__detail--hours {
	grid-column: 1 / -1;
}

.topaz-visit__detail h3 {
	margin: 0 0 0.4rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: var(--topaz-forest);
	text-transform: uppercase;
}

.topaz-visit__detail :is(address, a, dt, dd) {
	font-size: 0.9375rem;
	line-height: 1.55;
}

.topaz-visit__detail address {
	font-style: normal;
}

.topaz-visit__detail a {
	font-weight: var(--topaz-font-medium);
	text-decoration-color: rgb(24 58 42 / 0.38);
}

.topaz-visit__hours {
	display: grid;
	gap: 0.2rem;
	margin: 0;
}

.topaz-visit__hours div {
	display: grid;
	grid-template-columns: minmax(8.5rem, 1fr) auto;
	gap: 1rem;
}

.topaz-visit__hours dd {
	margin: 0;
	text-align: right;
}

.topaz-visit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 1.75rem;
}

.topaz-visit__directions,
.topaz-visit__contact {
	min-height: 3.5rem;
}

.topaz-visit__contact {
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-forest);
	background: transparent;
}

.topaz-visit__contact:hover,
.topaz-visit__contact:focus-visible {
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
}

.topaz-visit__contact:active {
	transform: translateY(0);
}

.topaz-visit + .home-content {
	width: 100%;
	max-width: none;
	padding-top: 0;
	background-color: #fff;
}

.topaz-visit + .home-content .entry-content {
	width: min(100%, 1120px);
	margin: 0 auto;
}

.topaz-visit__map-column {
	display: grid;
	gap: 1.25rem;
}

.topaz-visit__map {
	height: clamp(32.5rem, 38vw, 37.5rem);
	overflow: hidden;
	border: 1px solid rgb(24 58 42 / 0.14);
	border-radius: clamp(1.5rem, 2.4vw, 2rem);
	background: var(--topaz-surface-sage);
	box-shadow: 0 1.25rem 3.5rem rgb(24 58 42 / 0.1);
}

.topaz-visit__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.topaz-visit__routes > p {
	margin: 0 0 0.65rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.08em;
	color: var(--topaz-forest);
	text-transform: uppercase;
}

.topaz-visit__route-links {
	display: flex;
	gap: 0.625rem;
}

.topaz-visit__route-links a {
	display: inline-flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 2.875rem;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	color: var(--topaz-forest);
	border: 1px solid rgb(24 58 42 / 0.32);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.32);
	transition: transform 180ms var(--topaz-ease-out), color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out), border-color 180ms var(--topaz-ease-out);
}

@media (hover: hover) {
	.topaz-visit__route-links a:hover {
		color: var(--topaz-canvas);
		border-color: var(--topaz-forest);
		background: var(--topaz-forest);
		transform: translateY(-1px);
	}
}

.topaz-visit__route-links a:focus-visible {
	color: var(--topaz-canvas);
	border-color: var(--topaz-forest);
	outline: 3px solid var(--topaz-forest-soft);
	outline-offset: 3px;
	background: var(--topaz-forest);
}

.topaz-visit__route-links a:active {
	transform: translateY(0);
}

.site-main {
	margin: 0 auto;
}

.home-content {
	max-width: 1120px;
	padding: clamp(3rem, 8vw, 6rem) 1rem;
	margin: 0 auto;
}

.topaz-google-reviews + .home-content {
	padding-top: 0;
}

.entry-content > *:first-child {
	margin-top: 0;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--topaz-forest-soft);
	outline-offset: 4px;
}

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

.screen-reader-text:focus {
	z-index: 100000;
	top: 1rem;
	left: 1rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: #ffffff;
	outline: 2px solid currentColor;
}

@keyframes topaz-hero-reveal {
	from {
		opacity: 0;
		transform: translateY(16px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Progressive, one-time reveals for explicitly selected marketing content. */
html.topaz-reveal-ready [data-topaz-reveal] {
	--topaz-reveal-distance: 20px;
	--topaz-reveal-duration: 800ms;
	opacity: 0;
	transform: translate3d(0, var(--topaz-reveal-distance), 0);
	transition:
		opacity var(--topaz-reveal-duration) cubic-bezier(0.22, 1, 0.36, 1) var(--topaz-reveal-delay, 0ms),
		transform var(--topaz-reveal-duration) cubic-bezier(0.22, 1, 0.36, 1) var(--topaz-reveal-delay, 0ms);
	will-change: opacity, transform;
}

html.topaz-reveal-ready [data-topaz-reveal="heading"] {
	--topaz-reveal-distance: 20px;
}

html.topaz-reveal-ready [data-topaz-reveal="media"] {
	--topaz-reveal-distance: 22px;
	--topaz-reveal-duration: 900ms;
	transform: translate3d(0, var(--topaz-reveal-distance), 0) scale(0.985);
}

html.topaz-reveal-ready [data-topaz-reveal="treatment-benefit"] {
	--topaz-reveal-distance: 16px;
	--topaz-reveal-duration: 520ms;
}

html.topaz-reveal-ready [data-topaz-reveal].is-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

html.topaz-reveal-ready .is-reveal-complete {
	will-change: auto;
}

@media (max-width: 767px) {
	html.topaz-reveal-ready [data-topaz-reveal] {
		--topaz-reveal-distance: 14px;
		--topaz-reveal-duration: 700ms;
		transition-delay: var(--topaz-reveal-delay-mobile, 0ms);
	}

	html.topaz-reveal-ready [data-topaz-reveal="media"] {
		--topaz-reveal-distance: 14px;
		--topaz-reveal-duration: 760ms;
		transform: translate3d(0, var(--topaz-reveal-distance), 0);
	}

	html.topaz-reveal-ready [data-topaz-reveal="media"].is-revealed {
		transform: translate3d(0, 0, 0);
	}
}

html.topaz-reveal-ready [data-topaz-reveal="experience-step"] {
	--topaz-reveal-distance: 16px;
	--topaz-reveal-duration: 800ms;
}

@media (prefers-reduced-motion: reduce) {
	html.topaz-reveal-ready [data-topaz-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
		will-change: auto;
	}
}

@media (max-width: 1099px) {
	/* A reserved strip for the existing controls keeps narrow editorial pages clear. */
	body.single-post {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
		scroll-padding-bottom: 6rem;
	}

	body.single-post::after {
		position: fixed;
		inset: auto 0 0;
		z-index: 70;
		height: calc(5.5rem + env(safe-area-inset-bottom, 0px));
		content: "";
		border-top: 1px solid var(--topaz-eucalyptus);
		background: var(--topaz-catalog-depth);
	}

	body.single-post .topaz-scroll-top {
		right: auto;
		left: 1.25rem;
		bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	}

	body.single-post #mwai-chatbot-default .mwai-icon-text-container {
		display: none;
	}

	.topaz-article :is(a, input, select, textarea, button) {
		scroll-margin-block: 8rem 7rem;
	}
}

@media (max-width: 1024px) {
	.topaz-faq__botanical {
		top: 24%;
		width: clamp(84px, 9vw, 96px);
		height: min(52%, 34rem);
		background-size: auto 52%;
	}

	.topaz-faq__botanical--left {
		left: 0;
	}

	.topaz-faq__botanical--right {
		right: 0;
	}

	.topaz-faq__inner {
		grid-template-columns: 1fr;
		gap: 2.75rem;
	}

	.topaz-faq__intro {
		max-width: 40rem;
	}

	.topaz-faq__title {
		max-width: 14ch;
	}

	.topaz-faq__list {
		justify-self: start;
		max-width: none;
	}

	.topaz-visit {
		padding: 4.5rem 2.5rem;
	}

	.topaz-visit__inner {
		grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr);
		gap: 2.5rem;
	}

	.topaz-visit__map {
		height: clamp(26.875rem, 46vw, 31.25rem);
	}

	.topaz-visit__route-links {
		flex-wrap: wrap;
	}

	.topaz-visit__route-links a {
		flex-basis: calc(50% - 0.3125rem);
	}
}

@media (max-width: 1099px) {
	.topaz-promo-bar {
		grid-template-columns: minmax(0, 1fr) 2.75rem;
		min-height: 3.5rem;
		padding: 0.5rem 0.45rem 0.5rem 0.85rem;
	}

	.topaz-promo-bar__text {
		grid-column: 1;
		padding-inline: 0;
		font-size: 0.75rem;
	}

	.topaz-promo-bar__dismiss {
		grid-column: 2;
	}

	.site-header {
		top: 1rem;
		width: calc(100% - 1.5rem);
		background: linear-gradient(115deg, rgb(15 36 26 / 0.58) 0%, rgb(31 55 41 / 0.44) 48%, rgb(67 86 73 / 0.36) 76%, rgb(29 48 37 / 0.48) 100%);
		-webkit-backdrop-filter: blur(20px) saturate(150%) contrast(104%);
		backdrop-filter: blur(20px) saturate(150%) contrast(104%);
	}

	.site-header--solid {
		top: auto;
		background: linear-gradient(115deg, rgb(255 255 255 / 0.86), rgb(235 240 235 / 0.78) 62%, rgb(113 134 120 / 0.28));
	}

	.site-header--training {
		background: linear-gradient(115deg, rgb(255 255 255 / 0.92), rgb(242 247 243 / 0.86) 62%, rgb(210 225 216 / 0.76));
	}

	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 4.25rem;
		padding: 0.5rem 0.55rem 0.5rem 1.15rem;
	}

	.site-header__menu-toggle {
		display: inline-flex;
		grid-column: 2;
	}

	.site-header__navigation {
		position: absolute;
		top: calc(100% + 0.75rem);
		right: 0;
		left: 0;
		display: none;
		max-height: calc(100dvh - 7.5rem);
		padding: 0.75rem;
		overflow-y: auto;
		border: 1px solid rgb(255 255 255 / 0.76);
		border-radius: 1.5rem;
		background: linear-gradient(145deg, rgb(255 255 255 / 0.98), rgb(247 244 236 / 0.97) 70%, rgb(174 188 175 / 0.82));
		-webkit-backdrop-filter: blur(17px) saturate(130%);
		backdrop-filter: blur(17px) saturate(130%);
		box-shadow: 0 1rem 2.25rem rgb(24 58 42 / 0.14), inset 0 1px 0 rgb(255 255 255 / 0.92);
	}

	.site-header.is-menu-open .site-header__navigation {
		display: block;
	}

	.primary-navigation {
		display: block;
	}

	.primary-navigation__menu {
		display: grid;
		gap: 0.125rem;
		padding: 0;
		font-size: 1.25rem;
		font-weight: var(--topaz-font-regular);
	}

	.primary-navigation__item-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 3rem;
	}

	.primary-navigation__menu > .menu-item > a,
	.primary-navigation__item-row > a {
		min-height: 3rem;
		padding: 0 0.75rem;
		border-radius: 0.75rem;
	}

	.primary-navigation__menu a:hover,
	.primary-navigation__menu a:focus-visible {
		background: rgb(174 188 175 / 0.34);
	}

	.site-header--over-media .site-header__navigation .primary-navigation__menu a,
	.site-header--over-media .site-header__navigation .primary-navigation__submenu-toggle {
		color: var(--topaz-forest);
	}

	.primary-navigation__submenu-toggle {
		width: 3rem;
		height: 3rem;
		margin: 0;
		border-radius: 0.75rem;
	}

	.primary-navigation .menu-item-has-children::after {
		display: none;
	}

	.primary-navigation .sub-menu {
		position: static;
		display: none;
		width: auto;
		padding: 0.15rem 0 0.5rem 0.75rem;
		visibility: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		transform: none;
		transition: none;
		pointer-events: auto;
	}

	.primary-navigation .menu-item-has-children:hover > .sub-menu,
	.primary-navigation .menu-item-has-children:focus-within > .sub-menu {
		display: none;
		transform: none;
	}

	.primary-navigation .menu-item-has-children.is-submenu-open > .sub-menu {
		display: block;
	}

	.primary-navigation .sub-menu a {
		min-height: 2.75rem;
		padding: 0.55rem 0.75rem;
		font-size: 1rem;
	}

	.site-header__cta {
		display: flex;
		width: 100%;
		min-height: 3rem;
		margin-top: 0.5rem;
	}

	body.topaz-menu-open {
		overflow: hidden;
	}
}

/* Journal archive and editorial post components. */
body.blog .site {
	background: var(--topaz-white);
}

.topaz-journal,
.topaz-article,
.topaz-training {
	--topaz-training-depth: var(--topaz-catalog-depth, #071f1b);
	--topaz-training-ink: var(--topaz-forest);
	--topaz-training-mist: #edf4f0;
	background: var(--topaz-training-depth);
}

body.blog .topaz-journal {
	background: var(--topaz-white);
}

.topaz-journal__container,
.topaz-training__container {
	width: min(calc(100% - 3rem), 75rem);
	margin-inline: auto;
}

.topaz-journal-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(8.5rem, 11vw, 10.5rem) 0 clamp(9rem, 14vw, 11rem);
	color: var(--topaz-catalog-milk);
	background: var(--topaz-catalog-depth);
}

body.blog .topaz-journal-hero {
	background: var(--topaz-catalog-depth);
}

.topaz-journal-hero__background {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
}

.topaz-journal-hero__background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 44%;
}

.topaz-journal-hero__background::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		radial-gradient(ellipse at 50% 43%, rgb(5 31 32 / 0.94) 0%, rgb(5 31 32 / 0.78) 46%, rgb(5 31 32 / 0.34) 100%),
		linear-gradient(90deg, rgb(5 31 32 / 0.36) 0%, rgb(5 31 32 / 0.82) 32%, rgb(5 31 32 / 0.86) 68%, rgb(5 31 32 / 0.36) 100%);
}

.topaz-journal-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	height: clamp(7.5rem, 13vw, 10.5rem);
	pointer-events: none;
	content: "";
	background: linear-gradient(180deg, transparent 0%, #0b2b26 24%, #315443 45%, #718878 64%, #aebcaf 79%, #e8eee9 91%, #ffffff 100%);
}

.topaz-journal-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 58rem;
}

.topaz-journal-hero .topaz-eyebrow {
	color: rgb(247 250 247 / 0.72);
}

.topaz-eyebrow,
.topaz-journal-card__category {
	margin: 0 0 0.9rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--topaz-eucalyptus);
}

.topaz-journal-hero h1,
.topaz-article-hero h1,
.topaz-training-hero h1 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2.75rem, 6vw, 5.5rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	letter-spacing: -0.055em;
	color: var(--topaz-forest);
}

.topaz-journal-hero h1 {
	color: var(--topaz-catalog-milk);
}

.topaz-journal-hero__inner > p:last-child {
	max-width: 46rem;
	margin: 1.5rem 0 0;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	line-height: 1.65;
	color: rgb(247 250 247 / 0.76);
}

.topaz-journal-index {
	padding: clamp(4rem, 7vw, 7rem) 0;
	background: #f4f7f4;
}

body.blog .topaz-journal-index {
	background: var(--topaz-white);
}

.topaz-journal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.topaz-journal-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgb(24 58 42 / 0.12);
	border-radius: 1.375rem;
	background: var(--topaz-white);
	box-shadow: 0 1.25rem 3rem rgb(24 58 42 / 0.07);
}

.topaz-journal-card__media,
.topaz-editorial-placeholder {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #e4ede6;
}

.topaz-journal-card__media img,
.topaz-article-featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--topaz-ease-soft);
}

.topaz-editorial-placeholder {
	display: grid;
	place-items: center;
	border: 1px solid rgb(24 58 42 / 0.14);
}

.topaz-editorial-placeholder span,
.topaz-training-placeholder span {
	position: absolute;
	width: 42%;
	aspect-ratio: 1;
	border: 1px solid rgb(24 58 42 / 0.18);
	transform: rotate(45deg);
}

.topaz-editorial-placeholder span:nth-child(2),
.topaz-training-placeholder span:nth-child(2) {
	width: 25%;
}

.topaz-editorial-placeholder span:nth-child(3),
.topaz-training-placeholder span:nth-child(3) {
	width: 10%;
	background: rgb(24 58 42 / 0.08);
}

.topaz-journal-card__body {
	display: flex;
	flex-direction: column;
	min-height: 22rem;
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
}

.topaz-journal-card__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: var(--topaz-forest);
}

.topaz-journal-card__title a {
	text-decoration: none;
}

.topaz-journal-card__title a:focus-visible,
.topaz-journal-card__link:focus-visible {
	outline: 3px solid var(--topaz-clay);
	outline-offset: 4px;
}

.topaz-journal-card__excerpt {
	margin: 1.1rem 0;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-journal-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	margin-top: auto;
	font-size: 0.8125rem;
	color: var(--topaz-muted);
}

.topaz-journal-card__meta > * + *::before {
	margin-right: 1rem;
	content: "·";
}

.topaz-journal-card__link {
	display: inline-flex;
	gap: 0.6rem;
	align-items: center;
	align-self: flex-start;
	min-height: 2.75rem;
	margin-top: 1.2rem;
	font-weight: var(--topaz-font-medium);
	text-decoration: none;
	color: var(--topaz-forest);
}

.topaz-journal-cta,
.topaz-training-final {
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	color: var(--topaz-white);
	background: var(--topaz-forest);
}

.topaz-journal-cta {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.topaz-journal-cta__background,
.topaz-journal-cta__video,
.topaz-journal-cta__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-journal-cta__background {
	z-index: 0;
	pointer-events: none;
}

.topaz-journal-cta__video {
	display: block;
	object-fit: cover;
	object-position: center 48%;
}

.topaz-journal-cta__overlay {
	background:
		linear-gradient(90deg, rgb(12 39 27 / 0.88) 0%, rgb(15 48 33 / 0.76) 48%, rgb(12 39 27 / 0.67) 100%),
		linear-gradient(180deg, rgb(24 58 42 / 0.18), rgb(8 28 19 / 0.42));
}

.topaz-journal-cta__inner,
.topaz-training-final__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem 4rem;
	align-items: center;
}

.topaz-journal-cta__inner {
	position: relative;
	z-index: 1;
}

.topaz-journal-cta h2,
.topaz-training-final h2 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.75rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.topaz-journal-cta p {
	max-width: 42rem;
	margin: 1rem 0 0;
	color: rgb(255 255 255 / 0.75);
}

.topaz-journal-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.topaz-button--light {
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-white);
	background: var(--topaz-white);
}

.topaz-button--outline-light {
	color: var(--topaz-white);
	border: 1px solid rgb(255 255 255 / 0.72);
	background: transparent;
}

.topaz-button--light:focus-visible,
.topaz-button--outline-light:focus-visible {
	outline: 3px solid var(--topaz-eucalyptus-light);
	outline-offset: 3px;
}

/* Single Journal article. */
body.single-post {
	background: var(--topaz-catalog-depth);
}

body.single-post .site-header {
	position: fixed;
	background-color: var(--topaz-catalog-dark);
}

.topaz-article {
	--topaz-article-text-width: 47.5rem;
	--topaz-article-media-width: 65rem;
	--topaz-article-image-width: 42.5rem;
	--topaz-summary-color: var(--topaz-catalog-milk);
	color: var(--topaz-ivory);
}

.topaz-article :is(h2, h3, [id]) {
	scroll-margin-top: calc(8rem + var(--wp-admin--admin-bar--height, 0px));
}

.topaz-article-hero {
	padding: clamp(8.5rem, 11vw, 10rem) 1.5rem 2.5rem;
	background: var(--topaz-catalog-depth);
}

.topaz-article__reading-width {
	width: min(100%, var(--topaz-article-text-width));
	margin-inline: auto;
}

.topaz-article__hero-width {
	width: min(100%, var(--topaz-article-media-width));
	margin-inline: auto;
}

.topaz-article-hero .topaz-eyebrow {
	color: var(--topaz-catalog-sage);
}

.topaz-breadcrumb {
	display: flex;
	gap: 0.5rem;
	align-items: baseline;
	min-width: 0;
	margin-bottom: 3rem;
	font-size: 0.8125rem;
	color: var(--topaz-muted);
}

.topaz-breadcrumb a {
	flex: 0 0 auto;
}

.topaz-breadcrumb span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.topaz-article-hero h1 {
	max-width: none;
	font-size: clamp(2.75rem, 5.6vw, 5.25rem);
	color: var(--topaz-catalog-milk);
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.topaz-article .topaz-breadcrumb {
	flex-wrap: wrap;
	margin-bottom: 2rem;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-article .topaz-breadcrumb span:last-child {
	white-space: normal;
	overflow-wrap: anywhere;
}

.topaz-article-hero__deck {
	margin: 1.5rem 0 0;
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	line-height: 1.6;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1.2rem;
	margin-top: 1.6rem;
	font-size: 0.875rem;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-article-meta > * + *::before {
	margin-right: 1.2rem;
	content: "·";
}

.topaz-article-featured {
	width: min(calc(100% - 3rem), var(--topaz-article-image-width));
	aspect-ratio: 3 / 2;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	overflow: hidden;
	border-radius: 1.5rem;
	background: #e4ede6;
}

.topaz-article-inline-media {
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: clamp(2.5rem, 5vw, 4rem) auto;
	overflow: hidden;
	border-radius: 1.25rem;
	background: #e4ede6;
}

.topaz-article-content .topaz-article-inline-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-article-content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--topaz-article-text-width)) minmax(0, 1fr);
	width: min(calc(100% - 3rem), var(--topaz-article-media-width));
	margin-inline: auto;
	padding-bottom: clamp(3rem, 5vw, 4rem);
	font-size: clamp(1.0625rem, 1.25vw, 1.125rem);
	line-height: 1.75;
}

.topaz-article-content > * {
	grid-column: 2;
	min-width: 0;
}

.topaz-article-content > :is(figure, .wp-block-image, .alignwide, .alignfull, .topaz-article-cta) {
	grid-column: 1 / -1;
}

.topaz-article-content :is(img, video) {
	max-width: 100%;
	height: auto;
	border-radius: 1.25rem;
}

.topaz-article-content :is(figure, .wp-block-image) {
	width: min(100%, var(--topaz-article-image-width));
	margin: clamp(2rem, 4vw, 3rem) auto;
}

.topaz-article-media img {
	display: block;
	width: 100%;
}

.topaz-article-media--portrait {
	width: min(100%, 32rem);
}

.topaz-article-media--massage img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 70%;
}

.topaz-article-content figcaption {
	margin-top: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-article-content > :first-child {
	margin-top: 0;
}

.topaz-article-content h2 {
	margin: 3.4rem 0 1.1rem;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.15;
	letter-spacing: -0.04em;
	color: var(--topaz-catalog-milk);
}

.topaz-article-content h3 {
	margin: 2.5rem 0 0.8rem;
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
	line-height: 1.2;
	color: var(--topaz-catalog-milk);
}

.topaz-article-content > :is(figure, .wp-block-image) + h2 {
	margin-top: 1rem;
}

.topaz-article-content p,
.topaz-article-content ul,
.topaz-article-content ol {
	margin: 0 0 1.35rem;
}

.topaz-article-content a {
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-catalog-mint);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.topaz-article-content a:hover {
	text-decoration-thickness: 2px;
}

.topaz-article-content a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.topaz-article-content :is(ul, ol) {
	padding-left: 1.4em;
}

.topaz-article-content li + li {
	margin-top: 0.7rem;
}

.topaz-article-content .topaz-article-summary {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	margin: 3rem 0;
	border: 1px solid rgb(24 58 42 / 0.15);
	border-radius: 1.25rem;
	background: var(--topaz-surface-sage);
	color: var(--topaz-forest);
}

.topaz-article-content .topaz-article-summary :is(h2, h3, a) {
	margin-top: 0;
	color: var(--topaz-forest);
}

.topaz-article-summary > :last-child {
	margin-bottom: 0;
}

/* Keep editorial comparison data readable without widening the article on small screens. */
.topaz-article-content .topaz-article-comparison {
	max-width: 100%;
	margin: 0 0 1.5rem;
	overflow-x: auto;
	border: 1px solid rgb(255 255 255 / 0.2);
	border-radius: 0.75rem;
}

.topaz-article-content .topaz-article-comparison:focus-visible {
	outline: 3px solid var(--topaz-catalog-mint);
	outline-offset: 3px;
}

.topaz-article-comparison table {
	width: 100%;
	min-width: 42rem;
	border-collapse: collapse;
	font-size: 0.95em;
	line-height: 1.5;
}

.topaz-article-comparison caption {
	padding: 0.8rem 1rem;
	text-align: left;
	font-weight: var(--topaz-font-medium);
}

.topaz-article-comparison th,
.topaz-article-comparison td {
	padding: 0.85rem 1rem;
	border-top: 1px solid rgb(255 255 255 / 0.2);
	text-align: left;
	vertical-align: top;
}

.topaz-article-comparison thead th {
	color: var(--topaz-catalog-milk);
	font-weight: var(--topaz-font-medium);
}

.topaz-article-comparison tbody th {
	width: 22%;
	font-weight: var(--topaz-font-medium);
}

/* Local editorial contrast for the Vancouver weather article. */
.single-post.postid-247 .topaz-weather-comparison,
.single-post.postid-247 .topaz-weather-note,
.single-post.postid-247 .topaz-weather-checklist {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: clamp(2rem, 4vw, 3rem) 0;
	border: 1px solid rgb(255 255 255 / 0.7);
	border-radius: 1.5rem;
	background: linear-gradient(135deg, #fff 0%, #f6f8f5 58%, #e8f0ea 100%);
	box-shadow: 0 1.5rem 4rem rgb(0 18 12 / 0.12);
	color: var(--topaz-forest);
}

.single-post.postid-247 .topaz-weather-comparison::after,
.single-post.postid-247 .topaz-weather-note::after,
.single-post.postid-247 .topaz-weather-checklist::after {
	position: absolute;
	z-index: -1;
	right: -6rem;
	bottom: -7rem;
	width: 17rem;
	height: 17rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(105 142 121 / 0.2) 0%, rgb(255 255 255 / 0) 70%);
	content: "";
	pointer-events: none;
}

.single-post.postid-247 .topaz-weather-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background-color: rgb(24 58 42 / 0.16);
}

.single-post.postid-247 .topaz-weather-comparison__item {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	background: linear-gradient(150deg, rgb(255 255 255 / 0.98), rgb(244 248 245 / 0.94));
}

.single-post.postid-247 .topaz-weather-comparison h3 {
	margin: 0 0 0.7rem;
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
	color: var(--topaz-forest);
}

.single-post.postid-247 .topaz-weather-comparison p,
.single-post.postid-247 .topaz-weather-note p,
.single-post.postid-247 .topaz-weather-checklist p,
.single-post.postid-247 .topaz-weather-checklist ul {
	color: var(--topaz-forest);
}

.single-post.postid-247 .topaz-weather-comparison p:last-child,
.single-post.postid-247 .topaz-weather-note p:last-child,
.single-post.postid-247 .topaz-weather-checklist > :last-child {
	margin-bottom: 0;
}

.single-post.postid-247 .topaz-weather-note,
.single-post.postid-247 .topaz-weather-checklist {
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.single-post.postid-247 .topaz-weather-note__label {
	margin-bottom: 0.6rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--topaz-eucalyptus);
}

.single-post.postid-247 .topaz-weather-checklist ul {
	margin-bottom: 0;
}

.topaz-article-content blockquote {
	padding: 0.25rem 0 0.25rem 1.75rem;
	margin: 3rem 0;
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
	line-height: 1.55;
	color: var(--topaz-ivory);
	border-left: 3px solid var(--topaz-catalog-sage);
}

.topaz-article-cta {
	box-sizing: border-box;
	width: min(calc(100% - 3rem), var(--topaz-article-media-width));
	padding: clamp(1.5rem, 4vw, 3rem);
	margin: 0 auto 3rem;
	border: 1px solid var(--topaz-eucalyptus);
	border-radius: 1.5rem;
	background: var(--topaz-catalog-green);
	color: var(--topaz-ivory);
}

.topaz-article-content .topaz-article-cta {
	width: 100%;
	margin-block: 2.5rem;
}

.topaz-article-cta h2,
.topaz-article-content .topaz-article-cta h2,
.topaz-article-inquiry h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.8rem, 3.5vw, 3rem);
	line-height: 1.15;
}

.topaz-article-cta h2 { color: var(--topaz-catalog-milk); }
.topaz-article-cta .topaz-eyebrow { color: var(--topaz-catalog-muted-dark); }
.topaz-article-cta > p:not(.topaz-eyebrow) { max-width: 42rem; line-height: 1.7; }

.topaz-article-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.topaz-article-cta .button {
	text-decoration: none;
}

.topaz-article-cta .topaz-button--light { color: var(--topaz-forest); }
.topaz-article-cta .topaz-button--outline-light { color: var(--topaz-catalog-milk); }
.topaz-article-cta .button:hover { border-color: var(--topaz-catalog-sage); }
.topaz-article-cta .button:focus-visible { outline: 3px solid var(--topaz-catalog-mint); outline-offset: 4px; }

.topaz-article > article > .topaz-article-cta--end {
	margin-bottom: 1.5rem;
}

.topaz-article-inquiry {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: min(calc(100% - 3rem), 56rem);
	padding: clamp(1.25rem, 3vw, 2.25rem);
	margin: 0 auto 3rem;
	overflow: hidden;
	border-radius: 1.5rem;
	background: var(--topaz-catalog-depth);
}

.topaz-article-inquiry__background,
.topaz-article-inquiry__background::after,
.topaz-article-inquiry__background img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-article-inquiry__background {
	z-index: 0;
	pointer-events: none;
}

.topaz-article-inquiry__background img {
	display: block;
	object-fit: cover;
	object-position: center 45%;
	opacity: 0.38;
}

.topaz-article-inquiry__background::after {
	content: "";
	background:
		radial-gradient(ellipse at center, rgb(5 31 32 / 0.54) 0%, rgb(5 31 32 / 0.7) 72%, rgb(5 31 32 / 0.84) 100%),
		linear-gradient(180deg, rgb(5 31 32 / 0.6), rgb(5 31 32 / 0.8));
}

.topaz-article-inquiry__card {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(100%, 42.5rem);
	padding: clamp(1.25rem, 2vw, 1.5rem);
	margin-inline: auto;
	border: 1px solid rgb(24 58 42 / 0.12);
	border-radius: 1.25rem;
	color: var(--topaz-forest);
	background: var(--topaz-surface-sage);
}

.topaz-article-inquiry h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.topaz-article-inquiry .topaz-eyebrow {
	color: var(--topaz-forest-soft);
}

.topaz-article-inquiry .topaz-contact-form { margin-top: 1rem; }

.topaz-article-inquiry .wpcf7 form { gap: 0.75rem; }

.topaz-article-inquiry .wpcf7 :is(input:not([type="submit"]), select) {
	min-height: 3rem;
}

.topaz-article-inquiry .wpcf7 textarea {
	height: 5.5rem;
	min-height: 5.5rem;
}

.topaz-article-inquiry .topaz-contact-form__privacy-notice {
	padding: 0.65rem 0.75rem;
	font-size: 0.82rem;
}

.topaz-article-inquiry .topaz-contact-form__marketing-consent .wpcf7-list-item label {
	min-height: 2.5rem;
}

.topaz-treatment-list {
	display: grid;
	gap: 0;
	margin-block: 2rem 3rem;
}

.topaz-treatment-list article {
	padding: 1.6rem 0;
	border-top: 1px solid var(--topaz-border);
}

.topaz-treatment-list h2 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
}

.topaz-treatment-list p:last-child {
	margin-bottom: 0;
}

.topaz-article-content details,
.topaz-training-accordion details {
	border-top: 1px solid var(--topaz-border);
}

.topaz-article-content details:last-child,
.topaz-training-accordion details:last-child {
	border-bottom: 1px solid var(--topaz-border);
}

.topaz-article-content summary,
.topaz-training-accordion summary {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	min-height: 4.25rem;
	padding: 1rem 2.5rem 1rem 0;
	font-weight: var(--topaz-font-medium);
	line-height: 1.35;
	color: var(--topaz-summary-color, var(--topaz-forest));
	cursor: pointer;
	list-style: none;
}

.topaz-article-content summary::-webkit-details-marker,
.topaz-training-accordion summary::-webkit-details-marker {
	display: none;
}

.topaz-article-content summary::after,
.topaz-training-accordion summary::after {
	flex: 0 0 auto;
	content: "+";
	font-size: 1.4rem;
	font-weight: var(--topaz-font-light);
}

.topaz-article-content details[open] summary::after,
.topaz-training-accordion details[open] summary::after {
	content: "−";
}

.topaz-article-content summary:focus-visible,
.topaz-training-accordion summary:focus-visible {
	outline: 3px solid var(--topaz-clay);
	outline-offset: 3px;
}

.topaz-article-content details > div,
.topaz-training-accordion details > div {
	padding: 0 2.5rem 1.5rem 0;
}

.topaz-related-article h2 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.05;
	letter-spacing: -0.04em;
	color: var(--topaz-forest);
}

.topaz-related-article {
	padding: clamp(4rem, 5vw, 5rem) 0;
	background: linear-gradient(145deg, var(--topaz-surface-warm), var(--topaz-surface-sage));
}

.topaz-related-article__card {
	max-width: 60rem;
	margin-top: clamp(1.5rem, 2.5vw, 2rem);
}

.topaz-related-article .topaz-journal-card {
	display: grid;
	grid-template-columns: minmax(18.75rem, 22.5rem) minmax(0, 1fr);
	align-items: center;
	min-height: 0;
	border-radius: 1.25rem;
	box-shadow: 0 1rem 2.5rem rgb(24 58 42 / 0.06);
}

.topaz-related-article .topaz-journal-card__media {
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 3;
}

.topaz-related-article .topaz-journal-card__media > .topaz-editorial-placeholder {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	border: 0;
}

.topaz-related-article .topaz-journal-card__body {
	min-height: 0;
	padding: clamp(1.75rem, 3vw, 2.25rem);
}

.topaz-related-article .topaz-journal-card__title {
	font-size: clamp(1.875rem, 2.5vw, 2.25rem);
	line-height: 1.1;
}

.topaz-related-article .topaz-journal-card__excerpt {
	max-width: 48ch;
	margin: 0.8rem 0;
}

.topaz-related-article .topaz-journal-card__meta {
	margin-top: 0.25rem;
}

/* Professional Training page. */
.topaz-training-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(9rem, 10vw, 10.5rem) 0 clamp(4.5rem, 7vw, 6.5rem);
	color: var(--topaz-white);
	background: var(--topaz-training-depth);
}

.topaz-training-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, rgb(4 24 18 / 0.94) 0%, rgb(7 31 24 / 0.84) 50%, rgb(7 31 24 / 0.42) 100%);
}

.topaz-training-hero__botanical {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background: url("/wp-content/uploads/2026/09/backgroundleafs2.webp") center / cover no-repeat;
	mask-image: linear-gradient(180deg, #000 0, #000 88%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, #000 0, #000 88%, transparent 100%);
}

.topaz-training-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: center;
}

.topaz-training-hero h1 {
	max-width: 12ch;
	font-size: clamp(3rem, 5.15vw, 5.1rem);
	color: var(--topaz-white);
}

.topaz-training-hero__lede {
	max-width: 39rem;
	margin: 1.5rem 0;
	font-size: clamp(1.0625rem, 1.35vw, 1.2rem);
	line-height: 1.65;
	color: rgb(247 250 247 / 0.78);
}

.topaz-training-trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem 1.5rem;
	padding: 0;
	margin: 1.75rem 0;
	font-size: 0.9375rem;
	list-style: none;
}

.topaz-training-trust li::before {
	margin-right: 0.55rem;
	content: "✓";
	color: var(--topaz-eucalyptus-light);
}

.topaz-training-hero .topaz-eyebrow,
.topaz-training-hero .topaz-training-trust,
.topaz-training-hero .topaz-training-price span {
	color: rgb(247 250 247 / 0.7);
}

.topaz-training-price {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	margin: 1.5rem 0;
}

.topaz-training-price strong {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--topaz-white);
}

.topaz-training-price span {
	color: var(--topaz-muted);
}

.topaz-training-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.topaz-training__button-outline {
	color: var(--topaz-forest);
	border: 1px solid var(--topaz-forest);
	background: transparent;
}

.topaz-training-hero .topaz-training__button-outline {
	color: var(--topaz-white);
	border-color: rgb(255 255 255 / 0.72);
}

.topaz-training-media {
	position: relative;
	overflow: hidden;
	border: 1px solid rgb(24 58 42 / 0.18);
	border-radius: 1.75rem;
	background: #e8f0ea;
	box-shadow: 0 1.5rem 4rem rgb(0 15 10 / 0.24);
}

.topaz-training-media--portrait,
.topaz-training-media--result {
	aspect-ratio: 4 / 5;
}

.topaz-training-media--landscape {
	aspect-ratio: 16 / 10;
	margin-top: 2rem;
}

.topaz-training-media img,
.topaz-training-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-training-placeholder {
	position: relative;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #f7faf7, #dce9df);
}

.topaz-training-section {
	padding: clamp(4rem, 6.25vw, 6rem) 0;
}

.topaz-training-section__heading {
	max-width: 47rem;
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.topaz-training-section h2,
.topaz-training-split h2,
.topaz-training-investment h2 {
	margin: 0;
	font-size: clamp(2.35rem, 4.2vw, 4rem);
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--topaz-forest);
}

.topaz-training-section__heading > p:last-child,
.topaz-training-split > div > p,
.topaz-training-instructor__grid > div > p,
.topaz-training-faq__grid > div > p {
	line-height: 1.7;
	color: var(--topaz-muted);
}

.topaz-training-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.topaz-training-benefits {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--topaz-white);
	background: var(--topaz-training-depth);
}

.topaz-training-benefits__botanical {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgb(5 31 32 / 0.36) 0%, var(--topaz-training-depth) 28%, var(--topaz-training-depth) 72%, rgb(5 31 32 / 0.36) 100%),
		url("/wp-content/uploads/2026/09/backgroundleafs2.webp") center / cover no-repeat;
	mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 85%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 85%, transparent 100%);
	opacity: 0.78;
}

.topaz-training-benefits > .topaz-training__container {
	position: relative;
	z-index: 1;
}

.topaz-training-benefits .topaz-training-section__heading {
	max-width: 54rem;
}

.topaz-training-benefits :is(.topaz-eyebrow, h2) {
	color: var(--topaz-white);
}

.topaz-training-benefits__grid li {
	min-height: 14.25rem;
	padding: 1.5rem;
	border: 1px solid rgb(255 255 255 / 0.76);
	border-radius: 1.25rem;
	background: var(--topaz-white);
	box-shadow: 0 1rem 2.75rem rgb(0 15 10 / 0.22), inset 0 1px 0 rgb(255 255 255 / 0.9);
}

.topaz-training-benefits__grid li:first-child {
	padding-left: 1.5rem;
}

.topaz-training-outcomes__grid article > span {
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--topaz-eucalyptus);
}

.topaz-training-benefit__icon {
	display: inline-grid;
	place-items: center;
	width: 2.875rem;
	height: 2.875rem;
	color: var(--topaz-forest);
	border: 1px solid rgb(22 56 50 / 0.22);
	border-radius: 50%;
	background: var(--topaz-training-mist);
}

.topaz-training-benefit__icon svg {
	width: 1.55rem;
	height: 1.55rem;
}

.topaz-training-benefits__grid h3 {
	margin: 1.1rem 0 0;
	font-size: 1.125rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.25;
	color: var(--topaz-forest);
}

.topaz-training-benefits__grid p {
	margin: 0.65rem 0 0;
	line-height: 1.55;
	color: var(--topaz-muted);
}

.topaz-training-faq {
	background: var(--topaz-white);
}

.topaz-training-benefits__cta {
	margin-top: 2rem;
}

.topaz-training-outcomes,
.topaz-training-results {
	background: var(--topaz-training-mist);
}

.topaz-training-audience,
.topaz-training-instructor {
	background: var(--topaz-white);
}

.topaz-training-split,
.topaz-training-instructor__grid,
.topaz-training-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(3rem, 8vw, 7rem);
	align-items: start;
}

.topaz-training-audience__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(2.5rem, 4vw, 3.5rem);
	align-items: center;
}

.topaz-training-audience__heading h2 {
	max-width: 18ch;
	font-size: clamp(2.25rem, 3.7vw, 3.65rem);
}

.topaz-training-audience__copy {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid rgb(22 56 50 / 0.2);
	border-radius: 1.5rem;
	background: var(--topaz-white);
	box-shadow: 0 1rem 2.75rem rgb(12 46 34 / 0.11);
}

.topaz-training-audience__copy p {
	margin: 0 0 1rem;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-training-audience__copy .button {
	margin-top: 0.75rem;
}

.topaz-training__button-primary {
	color: var(--topaz-white);
	border: 1px solid var(--topaz-forest);
	background: var(--topaz-forest);
}

.topaz-training__button-primary:focus-visible {
	outline: 3px solid var(--topaz-eucalyptus-light);
	outline-offset: 3px;
}

.topaz-training-split > div > p:first-child:not(.topaz-eyebrow) {
	margin-top: 0.4rem;
}

.topaz-training-outcomes__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.topaz-training-outcomes__grid article {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--topaz-border);
	border-radius: 1.5rem;
	background: var(--topaz-white);
	box-shadow: 0 1rem 2.5rem rgb(12 46 34 / 0.06);
}

.topaz-training-outcomes__grid h3 {
	margin: 0.8rem 0;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	color: var(--topaz-forest);
}

.topaz-training-outcomes__grid p {
	margin: 0;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-training-note {
	margin: 1.5rem 0 0;
	font-size: 0.875rem;
	color: var(--topaz-muted);
}

.topaz-training-investment {
	padding: clamp(4rem, 6.25vw, 6rem) 0;
	color: var(--topaz-white);
	background: var(--topaz-training-depth);
}

.topaz-training-investment__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem clamp(3rem, 7vw, 6rem);
	align-items: center;
}

.topaz-training-investment .topaz-eyebrow,
.topaz-training-final .topaz-eyebrow {
	color: var(--topaz-eucalyptus-light);
}

.topaz-training-investment h2 {
	max-width: 16ch;
	color: var(--topaz-white);
}

.topaz-training-investment__grid > div:first-child > p:last-child {
	max-width: 42rem;
	color: rgb(255 255 255 / 0.72);
}

.topaz-training-investment__price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.topaz-training-investment__price strong {
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.topaz-training-investment__price span {
	margin: 0.75rem 0 1.5rem;
	color: rgb(255 255 255 / 0.7);
}

.topaz-training-roi__calculation {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(15rem, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 4vw, 4rem);
	width: min(100%, 68rem);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	margin-inline: auto;
	border: 1px solid rgb(255 255 255 / 0.18);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 0.08);
}

.topaz-training-roi__heading,
.topaz-training-roi__content {
	min-width: 0;
}

.topaz-training-roi__calculation h3 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.75rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.05;
}

.topaz-training-roi__content {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.topaz-training-roi__content p,
.topaz-training-roi__content small {
	margin: 0;
	color: rgb(255 255 255 / 0.72);
}

.topaz-training-roi__calculation strong {
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	color: var(--topaz-white);
}

.topaz-training-instructor__grid {
	align-items: center;
}

.topaz-training-instructor__grid .topaz-training-media {
	max-width: 27rem;
}

.topaz-training-instructor__copy > p:not(.topaz-eyebrow) {
	max-width: 42rem;
}

.topaz-training-instructor__copy .button {
	margin-top: 0.75rem;
}

.topaz-training-modules__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(3rem, 7vw, 6rem);
	align-items: start;
}

.topaz-training-modules {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--topaz-white);
	background: var(--topaz-training-depth);
	scroll-margin-top: calc(7rem + var(--wp-admin--admin-bar--height, 0px));
}

.topaz-training-modules__botanical {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgb(7 31 24 / 0.52), rgb(7 31 24 / 0.92) 38%, rgb(7 31 24 / 0.96) 68%, rgb(7 31 24 / 0.62)),
		url("/wp-content/uploads/2026/09/background.webp") center / cover no-repeat;
	mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}

.topaz-training-modules h2,
.topaz-training-modules .topaz-eyebrow {
	color: var(--topaz-white);
}

.topaz-training-modules__intro {
	position: sticky;
	top: 2rem;
}

.topaz-training-modules__intro > p:not(.topaz-eyebrow) {
	line-height: 1.7;
	color: rgb(255 255 255 / 0.72);
}

.topaz-training-modules .topaz-training-media {
	border-color: rgb(255 255 255 / 0.22);
}

.topaz-training-modules .topaz-training-accordion {
	display: grid;
	gap: 0.75rem;
}

.topaz-training-modules .topaz-training-accordion details,
.topaz-training-faq .topaz-training-accordion details {
	overflow: hidden;
	border: 1px solid rgb(22 56 50 / 0.16);
	border-radius: 1rem;
	background: var(--topaz-white);
	box-shadow: 0 0.75rem 2rem rgb(0 20 12 / 0.1);
}

.topaz-training-modules .topaz-training-accordion details:last-child,
.topaz-training-faq .topaz-training-accordion details:last-child {
	border-bottom: 1px solid rgb(22 56 50 / 0.16);
}

.topaz-training-modules .topaz-training-accordion summary,
.topaz-training-faq .topaz-training-accordion summary {
	padding: 1rem 1.25rem;
}

.topaz-training-accordion summary {
	min-height: 5rem;
}

.topaz-training-accordion summary span {
	flex: 0 0 2rem;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	color: var(--topaz-eucalyptus);
}

.topaz-training-accordion summary strong {
	flex: 1 1 auto;
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	font-weight: var(--topaz-font-regular);
	line-height: 1.35;
}

.topaz-training-accordion details > div {
	padding: 0 1.25rem 1.25rem 4.25rem;
	color: var(--topaz-muted);
}

.topaz-training-accordion details > div h3 {
	margin: 0.6rem 0 0.4rem;
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--topaz-forest);
}

.topaz-training-accordion details > div p {
	margin: 0 0 1.2rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.65;
}

.topaz-training-results__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.topaz-training-faq__grid > div:first-child {
	max-width: 46rem;
}

.topaz-training-faq__intro .button {
	margin-top: 1.375rem;
}

.topaz-training-faq__grid {
	grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(2.5rem, 6vw, 5rem);
}

.topaz-training-faq .topaz-training-accordion {
	display: grid;
	gap: 0.65rem;
}

.topaz-training-faq .topaz-training-accordion details > div {
	padding-left: 1.25rem;
}

.topaz-training-faq .topaz-training-accordion summary strong {
	font-weight: var(--topaz-font-regular);
}

.topaz-training-modules__actions {
	grid-column: 2;
	margin-top: -2rem;
}

.topaz-training-final {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(3.5rem, 5vw, 4.75rem) 0;
	background: var(--topaz-training-depth);
}

.topaz-training-final__video,
.topaz-training-final__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-training-final__video {
	z-index: -2;
	object-fit: cover;
	object-position: center 48%;
}

.topaz-training-final__overlay {
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 50% 50%, rgb(5 30 22 / 0.9) 0%, rgb(5 30 22 / 0.76) 52%, rgb(5 30 22 / 0.58) 100%),
		linear-gradient(180deg, var(--topaz-training-depth) 0%, transparent 22%, transparent 78%, var(--topaz-training-depth) 100%);
}

.topaz-training-final__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 58rem;
	text-align: center;
}

.topaz-training-final h2 {
	max-width: 20ch;
}

.topaz-training-final__inner > p:not(.topaz-eyebrow) {
	max-width: 38rem;
	margin: 1rem 0 1.5rem;
	color: rgb(255 255 255 / 0.76);
}

@media (hover: hover) and (pointer: fine) {
	.topaz-journal-card:hover .topaz-journal-card__media img {
		transform: scale(1.025);
	}

	.topaz-button--outline-light:hover,
	.topaz-button--outline-light:focus-visible {
		color: var(--topaz-forest);
		background: var(--topaz-white);
		transform: translateY(-1px);
	}

	.topaz-button--light:hover,
	.topaz-button--light:focus-visible,
	.topaz-training__button-outline:hover,
	.topaz-training__button-outline:focus-visible {
		transform: translateY(-1px);
	}

	.topaz-training__button-outline:hover,
	.topaz-training__button-outline:focus-visible {
		color: var(--topaz-white);
		background: var(--topaz-forest);
	}

	.topaz-training__button-primary:hover,
	.topaz-training__button-primary:focus-visible {
		color: var(--topaz-white);
		background: var(--topaz-forest-soft);
		transform: translateY(-1px);
	}
}

@media (max-width: 1024px) {
	.topaz-training-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.8fr);
		gap: 2.5rem;
	}

	.topaz-training-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.topaz-training-benefits__grid li:nth-child(3) {
		padding-left: 1.5rem;
	}

}

@media (max-width: 767px) {
	.topaz-journal__container,
	.topaz-training__container {
		width: min(calc(100% - 2.5rem), 75rem);
	}

	.topaz-journal-grid,
	.topaz-journal-cta__inner,
	.topaz-training-hero__grid,
	.topaz-training-split,
	.topaz-training-audience__grid,
	.topaz-training-instructor__grid,
	.topaz-training-faq__grid,
	.topaz-training-modules__grid,
	.topaz-training-investment__grid,
	.topaz-training-final__inner {
		grid-template-columns: 1fr;
	}

	.topaz-training-audience__grid,
	.topaz-training-roi__calculation {
		grid-template-columns: 1fr;
	}

	.topaz-training-roi__calculation {
		gap: 1.5rem;
	}

	.topaz-journal-card__body {
		min-height: 0;
	}

	.topaz-journal-card__meta > * + *::before,
	.topaz-article-meta > * + *::before {
		display: none;
	}

	.topaz-journal-cta__actions,
	.topaz-training-actions,
	.topaz-training-final__inner > div:last-child {
		align-items: stretch;
		flex-direction: column;
	}

	.topaz-journal-cta__actions .button,
	.topaz-training-actions .button,
	.topaz-training-final .button {
		width: 100%;
	}

	.topaz-journal-cta__video {
		object-position: 58% center;
	}

	.topaz-journal-cta__overlay {
		background: linear-gradient(180deg, rgb(12 39 27 / 0.86) 0%, rgb(12 39 27 / 0.8) 52%, rgb(8 28 19 / 0.88) 100%);
	}

	.topaz-article-hero {
		padding-inline: 1.25rem;
		padding-top: 7rem;
	}

	.topaz-article-content,
	.topaz-article > article > .topaz-article-cta,
	.topaz-article-inquiry {
		width: calc(100% - 2.5rem);
	}

	.topaz-article-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.topaz-article-cta__actions .button {
		width: 100%;
	}

	.topaz-article-featured {
		width: calc(100% - 2.5rem);
		border-radius: 1rem;
	}

	.topaz-article-inquiry {
		padding: 0.75rem;
		border-radius: 1.125rem;
	}

	.topaz-article-inquiry__card {
		padding: 1.25rem;
		border-radius: 0.9375rem;
	}

	.topaz-related-article {
		padding-block: 3rem;
	}

	.topaz-related-article .topaz-journal-card {
		grid-template-columns: 1fr;
	}

	.topaz-related-article .topaz-journal-card__media {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.topaz-related-article .topaz-journal-card__body {
		padding: 1.5rem;
	}

	.topaz-related-article .topaz-journal-card__title {
		font-size: clamp(1.625rem, 7.5vw, 1.875rem);
	}

	.topaz-training-hero__content {
		order: 1;
	}

	.topaz-training-hero {
		padding: 7.25rem 0 3.5rem;
	}

	.topaz-training-hero__lede {
		margin-block: 1.15rem;
	}

	.topaz-training-trust {
		margin-block: 1.25rem;
	}

	.topaz-training-price {
		margin-block: 1.1rem;
	}

	.topaz-training-hero__grid > .topaz-training-media {
		order: 2;
		width: min(100%, 28rem);
	}

	.topaz-training-outcomes__grid,
	.topaz-training-results__grid {
		grid-template-columns: 1fr;
	}

	.topaz-training-modules__intro,
	.topaz-training-faq__grid > div:first-child {
		position: static;
	}

	.topaz-training-modules__actions {
		grid-column: 1;
		margin-top: 0;
	}

	.topaz-training-final__inner > div:last-child {
		align-items: flex-start;
	}

	.topaz-training-final__inner {
		align-items: flex-start;
		text-align: left;
	}

	.topaz-training-final__video {
		object-position: 60% center;
	}
}

@media (max-width: 480px) {
	.single-post.postid-247 .topaz-weather-comparison {
		grid-template-columns: 1fr;
	}

	.topaz-journal-hero h1,
	.topaz-article-hero h1,
	.topaz-training-hero h1 {
		font-size: clamp(2.4rem, 12vw, 3.25rem);
	}

	.topaz-journal-card__meta,
	.topaz-article-meta {
		flex-direction: column;
	}

	.topaz-training-trust,
	.topaz-training-benefits__grid {
		grid-template-columns: 1fr;
	}

	.topaz-training-benefits__grid li {
		min-height: 0;
		padding: 1.25rem;
		border: 1px solid var(--topaz-border);
	}

	.topaz-training-accordion summary {
		padding-right: 0.5rem;
	}

	.topaz-training-accordion details > div {
		padding-right: 0;
		padding-left: 0;
	}
}

@media (hover: hover) and (pointer: fine) {
	.topaz-category-explorer--services-page .topaz-category-panel:not(.is-active):hover {
		border-color: rgb(184 202 189 / 0.78);
	}
}

@media (prefers-reduced-motion: reduce) {
	.topaz-journal-card__media img,
	.topaz-button--light,
	.topaz-button--outline-light,
	.topaz-training__button-outline,
	.topaz-training__button-primary {
		transition: none;
	}

	.topaz-journal-card:hover .topaz-journal-card__media img,
	.topaz-button--light:hover,
	.topaz-button--outline-light:hover,
	.topaz-training__button-outline:hover,
	.topaz-training__button-primary:hover {
		transform: none;
	}
}

@media (max-width: 1023px) {
	.hero__inner {
		grid-template-columns: 1fr;
		align-content: center;
		gap: 2.15rem;
		padding-top: clamp(7.5rem, 16vh, 9rem);
		padding-bottom: clamp(5.5rem, 10vh, 7rem);
	}

	.hero__content {
		max-width: 48rem;
	}

	.hero__eyebrow {
		margin-bottom: clamp(1.5rem, 3vh, 2rem);
	}

	.hero__intro {
		margin-top: clamp(1.75rem, 3.4vh, 2.25rem);
	}

	.hero__actions {
		margin-top: clamp(1.75rem, 3vh, 2.25rem);
	}

	.hero__benefits {
		max-width: 47.5rem;
		gap: 0.625rem;
		margin-top: clamp(1.5rem, 2.5vh, 2rem);
		width: 100%;
	}

	.hero__benefit {
		min-width: 0;
	}

	.topaz-about__inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
		gap: clamp(2rem, 4vw, 3rem);
	}

	.studio-preview__inner {
		grid-template-areas: "media" "copy";
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
		padding: 2rem;
	}

	.studio-preview {
		padding-block: clamp(3rem, 6vw, 3.75rem);
	}

	.studio-preview__title {
		font-size: clamp(2.5rem, 4.8vw, 3.5rem);
	}

	.topaz-experience__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.8fr);
		grid-template-areas:
			"intro intro"
			"list media";
		gap: 3.5rem 3rem;
		padding-right: 2.5rem;
		padding-left: 2.5rem;
	}

	.topaz-experience__intro {
		grid-area: intro;
		max-width: 42rem;
	}

	.topaz-experience__list {
		grid-area: list;
	}

	.topaz-experience__media {
		grid-area: media;
	}

	.topaz-results__inner {
		grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
		gap: 3rem;
		padding-right: 2.5rem;
		padding-left: 2.5rem;
	}

	.topaz-results__title {
		font-size: clamp(2.6rem, 5.2vw, 3.5rem);
	}

	.topaz-google-reviews__overlay {
		background:
			linear-gradient(180deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 20%, transparent 100%) top / 100% clamp(5rem, 10vw, 6.5rem) no-repeat,
			linear-gradient(0deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 20%, transparent 100%) bottom / 100% clamp(5rem, 10vw, 6.5rem) no-repeat,
			linear-gradient(90deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.99) 38%, rgb(255 255 255 / 0.88) 60%, rgb(255 255 255 / 0.34) 82%, rgb(255 255 255 / 0.08) 100%),
			linear-gradient(180deg, rgb(255 255 255 / 0.05) 0%, rgb(255 255 255 / 0.14) 100%);
	}

	.topaz-google-reviews__inner {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

}

@media (max-width: 900px) {
	.hero__benefits {
		flex-wrap: wrap;
		max-width: 47.5rem;
		gap: 0.625rem;
	}

	.hero__benefit {
		min-height: 3.125rem;
	}

	.topaz-results__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.topaz-results__content {
		max-width: 38rem;
	}
}

@media (max-width: 767px) {
	.topaz-results {
		--results-bottom-fade: 50px;
	}

	.topaz-about {
		--about-bottom-fade: 128px;
		--about-fade-gap: 24px;
	}

	.topaz-about__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		width: 100%;
		padding: clamp(4rem, 12vw, 5rem) clamp(1.25rem, 5vw, 1.5rem) calc(var(--about-bottom-fade) + var(--about-fade-gap));
	}

	.topaz-about__content {
		max-width: 39rem;
	}

	.studio-preview {
		--studio-glass-blur: 18px;
		--studio-bottom-fade: 100px;
		--studio-top-fade: 100px;
		--studio-vignette-side: 0.6;
		--studio-vignette-vertical: 0.6;
		padding: 2.75rem 1.25rem;
	}

	.studio-preview__inner {
		grid-template-areas:
			"media"
			"copy";
		grid-template-columns: 1fr;
		gap: 1.75rem;
		padding: 1.5rem;
		border-radius: 1.5rem;
	}

	.studio-preview__title {
		max-width: 11ch;
		font-size: clamp(2.35rem, 11vw, 3.15rem);
	}

	.studio-preview__copy > p:not(.studio-preview__eyebrow) {
		font-size: var(--topaz-text-body-mobile);
	}

	.studio-preview__media {
		display: grid;
		place-items: center;
	}

	.studio-preview__actions {
		flex-direction: column;
	}

	.studio-preview__frame {
		width: min(100%, calc(72svh * 9 / 16));
		max-height: 72svh;
		aspect-ratio: 9 / 16;
		border-radius: 1.25rem;
	}

	.studio-preview__controls {
		right: 0.75rem;
		bottom: 0.75rem;
		left: 0.75rem;
	}

	.studio-preview__control {
		flex: 1 1 auto;
		min-height: 3rem;
	}

	.topaz-experience {
		--experience-top-fade: 40px;
	}

	.topaz-experience__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"intro"
			"list"
			"media";
		gap: 2.75rem;
		padding: clamp(4rem, 14vw, 5rem) clamp(1.25rem, 5vw, 1.5rem);
	}

	.topaz-experience__title {
		max-width: 13ch;
		font-size: clamp(2.5rem, 11vw, 3.35rem);
		line-height: 1;
	}

	.topaz-experience__description {
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-experience__list {
		gap: 0.6875rem;
	}

	.topaz-experience__item {
		grid-template-columns: 1.5rem minmax(0, 1fr);
		gap: 0.75rem;
		padding: 1.0625rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-experience__media {
		width: 100%;
	}

	.topaz-experience__background-video {
		object-position: 58% center;
	}

	.topaz-experience__background-overlay {
		background: linear-gradient(180deg, rgb(12 39 27 / 0.86) 0%, rgb(12 39 27 / 0.8) 52%, rgb(8 28 19 / 0.88) 100%);
	}

	.topaz-results__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding: clamp(4rem, 14vw, 5rem) clamp(1.25rem, 5vw, 1.5rem);
	}

	.topaz-results__content {
		max-width: 38rem;
	}

	.topaz-results__title {
		max-width: 13ch;
		font-size: clamp(2.5rem, 11vw, 3.35rem);
		line-height: 1;
	}

	.topaz-results__intro {
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-before-after {
		--before-position: center 48%;
		--after-position: center 52%;
	}

	.topaz-before-after__viewport {
		max-height: none;
		aspect-ratio: 4 / 5;
	}

	.topaz-before-after__label {
		top: 0.75rem;
	}

	.topaz-before-after__label--before {
		left: 0.75rem;
	}

	.topaz-before-after__label--after {
		right: 0.75rem;
	}

	.topaz-before-after__caption {
		flex-wrap: wrap;
		gap: 0.35rem 1rem;
	}

	.topaz-about__title {
		max-width: 12ch;
	}

.topaz-about-gallery__panels {
	display: flex;
	gap: 0.625rem;
		width: 100%;
		height: auto;
		padding: 0 0 0.35rem;
		overflow-x: auto;
		overflow-y: hidden;
		aspect-ratio: auto;
		scroll-behavior: smooth;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	.topaz-about-gallery__panels::after {
		flex: 0 0 calc(12% - 0.75rem);
		content: "";
	}

	.topaz-about-gallery__panels::-webkit-scrollbar {
		display: none;
	}

	.topaz-about-gallery__panel,
	.topaz-about-gallery__panel--active {
		flex: 0 0 88%;
		height: auto;
		aspect-ratio: 4 / 5;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		border-radius: clamp(1.5rem, 6vw, 2rem);
		cursor: pointer;
		transition: none;
	}

	.topaz-about-gallery__panel::after,
	.topaz-about-gallery__indicator {
		display: none;
	}

	.topaz-about-gallery__controls {
		display: flex;
		gap: 1rem;
		align-items: center;
		justify-content: space-between;
		margin-top: 1rem;
	}

	.topaz-about-gallery__pagination,
	.topaz-about-gallery__arrows {
		display: flex;
		gap: 0.5rem;
		align-items: center;
	}

	.topaz-about-gallery__dot {
		width: 0.55rem;
		height: 0.55rem;
		padding: 0;
		cursor: pointer;
		border: 0;
		border-radius: 50%;
		background: rgb(24 58 42 / 0.24);
		transition: width 220ms var(--topaz-ease-out), background-color 220ms var(--topaz-ease-out);
	}

	.topaz-about-gallery__dot[aria-pressed="true"] {
		width: 1.5rem;
		border-radius: 999px;
		background: var(--topaz-forest);
	}

	.topaz-about-gallery__arrow {
		display: grid;
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		place-items: center;
		color: var(--topaz-forest);
		cursor: pointer;
		border: 1px solid rgb(24 58 42 / 0.22);
		border-radius: 50%;
		background: rgb(247 244 236 / 0.84);
		box-shadow: 0 0.25rem 0.9rem rgb(10 14 8 / 0.08);
		-webkit-backdrop-filter: blur(0.75rem);
		backdrop-filter: blur(0.75rem);
		transition: color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out), opacity 180ms var(--topaz-ease-out), transform 180ms var(--topaz-ease-out);
	}

	.topaz-about-gallery__arrow:hover:not(:disabled),
	.topaz-about-gallery__arrow:focus-visible:not(:disabled) {
		color: var(--topaz-ivory);
		background: var(--topaz-forest);
		transform: translateY(-1px) scale(1.03);
	}

	.topaz-about-gallery__arrow:disabled {
		cursor: default;
		opacity: 0.32;
	}

	.topaz-about-gallery__arrow svg {
		width: 1.1rem;
		height: 1.1rem;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 1.8;
	}

	.topaz-google-reviews {
		display: block;
		min-height: auto;
		margin: 0;
	}

	.topaz-google-reviews__media {
		position: absolute;
		inset: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		min-height: 0;
		background-position: 64% center;
	}

	.topaz-google-reviews__overlay {
		inset: 0;
		z-index: 1;
		height: auto;
		background:
			linear-gradient(180deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 24%, transparent 100%) top / 100% clamp(3.5rem, 18vw, 4.75rem) no-repeat,
			linear-gradient(0deg, var(--topaz-white) 0%, rgb(255 255 255 / 0.96) 24%, transparent 100%) bottom / 100% clamp(3.5rem, 18vw, 4.75rem) no-repeat,
			linear-gradient(180deg, rgb(255 255 255 / 0.97) 0%, rgb(255 255 255 / 0.95) 58%, rgb(255 255 255 / 0.92) 100%);
	}

	.topaz-google-reviews__inner {
		display: block;
		width: 100%;
		max-width: none;
		min-height: 0;
		padding: clamp(2.75rem, 9vw, 4rem) clamp(1.25rem, 5vw, 1.5rem) clamp(3rem, 10vw, 4rem);
		margin: 0;
		background: transparent;
	}

	.topaz-google-reviews__content {
		width: 100%;
		max-width: 100%;
	}

	.topaz-google-reviews__title {
		width: 100%;
		max-width: 17ch;
		font-size: clamp(2.5rem, 10vw, 3.35rem);
		line-height: 1;
		text-wrap: balance;
	}

	.topaz-google-reviews__title br {
		display: none;
	}

	.topaz-google-reviews__title span + span {
		margin-left: 0.2em;
	}

	.topaz-google-reviews__intro {
		width: 100%;
		max-width: 36rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-google-reviews__widget {
		width: 100%;
		max-width: none;
		margin-top: 1.15rem;
	}

	.topaz-faq__inner {
		gap: 2.25rem;
		padding: clamp(3.5rem, 14vw, 4rem) clamp(1.25rem, 5vw, 1.5rem);
	}

	.topaz-faq__title {
		max-width: 13ch;
		font-size: clamp(2.5rem, 12vw, 3.5rem);
		line-height: 0.99;
	}

	.topaz-faq__description {
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-faq__contact-link {
		justify-content: center;
		width: 100%;
		min-height: 3.125rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-faq__list {
		gap: 0.625rem;
	}

	.topaz-faq__item {
		border-radius: 1.125rem;
	}

	.topaz-faq__question {
		grid-template-columns: minmax(0, 1fr) 2.5rem;
		gap: 0.85rem;
		min-height: 4.5rem;
		padding: 1rem 1rem 1rem 1.2rem;
		font-size: clamp(1.125rem, 4.8vw, 1.25rem);
		line-height: 1.3;
	}

	.topaz-faq__answer {
		padding: 0 1.15rem 1.35rem;
	}

	.topaz-faq__answer p {
		font-size: 1rem;
		line-height: 1.62;
	}

	.topaz-faq__botanical {
		top: 37%;
		width: clamp(36px, 10vw, 42px);
		height: min(26%, 20rem);
		background-size: auto 48%;
		animation-name: topaz-faq-leaves-sway-mobile;
		animation-duration: 12s;
	}

	.topaz-faq__botanical--left {
		left: 0;
	}

	.topaz-faq__botanical--right {
		right: 0;
	}

	.topaz-visit {
		padding: 3.5rem 1.25rem;
	}

	.topaz-visit__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.topaz-visit__content {
		max-width: none;
	}

	.topaz-visit__title {
		font-size: clamp(2.5rem, 12vw, 3.5rem);
	}

	.topaz-visit__description {
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-visit__details {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}

	.topaz-visit__detail--hours {
		grid-column: auto;
	}

	.topaz-visit__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.topaz-visit__directions,
	.topaz-visit__contact {
		width: 100%;
		min-height: 3rem;
	}

	.topaz-visit__map-column {
		gap: 1.25rem;
	}

	.topaz-visit__map {
		height: clamp(22.5rem, 96vw, 26.25rem);
		border-radius: 1.5rem;
	}

	.topaz-visit__route-links {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.625rem;
	}

	.topaz-visit__route-links a {
		width: 100%;
		min-height: 3rem;
	}
}

@media (min-width: 768px) and (max-width: 1100px) {
	.topaz-about__inner {
		grid-template-columns: 1fr;
	}

	.topaz-about-gallery {
		width: min(100%, 42.5rem);
	}
}

@media (max-width: 640px) {
	body {
		font-size: var(--topaz-text-body-mobile);
	}

	.site-header {
		top: 0.75rem;
		width: calc(100% - 1.5rem);
	}

	.site-header--solid {
		top: auto;
	}

	.site-header__inner {
		min-height: 4rem;
		padding-left: 1rem;
	}

	.custom-logo {
		width: clamp(7.8125rem, 36vw, 9.375rem);
		max-height: 2.625rem;
	}

	.site-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.footer-navigation__menu {
		justify-content: flex-start;
	}

	.hero__overlay {
		display: none;
	}

	.hero__media::before {
		position: absolute;
		inset: 0 0 auto;
		z-index: 1;
		height: calc(var(--hero-mobile-video-offset) + 2.75rem);
		background: linear-gradient(180deg, var(--topaz-catalog-dark) 0%, var(--topaz-catalog-dark) 48%, transparent 100%);
		pointer-events: none;
		content: "";
	}

	.hero__media::after {
		position: absolute;
		inset: auto 0 clamp(1.5rem, 8vw, 2rem);
		z-index: 1;
		height: clamp(3.5rem, 16vw, 4.5rem);
		background: linear-gradient(180deg, transparent 0%, rgb(11 43 38 / 0.2) 25%, rgb(11 43 38 / 0.65) 65%, var(--topaz-catalog-dark) 100%);
		pointer-events: none;
		content: "";
	}

	.hero {
		min-height: 0;
		background: var(--topaz-catalog-depth);
	}

	.hero__media {
		--hero-mobile-video-offset: 3.5rem;
		position: relative;
		inset: auto;
		z-index: 0;
		width: 100%;
		height: auto;
		padding-top: var(--hero-mobile-video-offset);
		padding-bottom: clamp(1.5rem, 8vw, 2rem);
		overflow: hidden;
		background: var(--topaz-catalog-dark);
	}

	.hero__video {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		object-fit: contain;
		object-position: center;
		transform: none;
	}

	.topaz-front-header-anchor {
		position: absolute;
		inset: clamp(0.75rem, 3.5vw, 1rem) 0 auto;
		z-index: 5;
		height: 0;
		padding: 0;
		overflow: visible;
		background: transparent;
	}

	.topaz-front-header-anchor .site-header,
	body.admin-bar .topaz-front-header-anchor .site-header--over-media {
		position: relative;
		top: auto;
		left: auto;
		margin: 0 auto;
		background: linear-gradient(115deg, rgb(8 32 25 / 0.7) 0%, rgb(26 53 42 / 0.56) 46%, rgb(47 72 58 / 0.48) 100%);
		-webkit-backdrop-filter: blur(24px) saturate(150%) contrast(106%);
		backdrop-filter: blur(24px) saturate(150%) contrast(106%);
		box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.34), inset 0 -1px 0 rgb(255 255 255 / 0.08);
		transform: none;
	}

	.hero__inner {
		position: relative;
		z-index: 2;
		align-content: start;
		min-height: 0;
		padding: 1.125rem 1rem 3rem;
		overflow: hidden;
		isolation: isolate;
		background: linear-gradient(180deg, var(--topaz-catalog-dark) 0%, #082522 56%, var(--topaz-catalog-depth) 100%);
	}

	.hero__inner::before,
	.hero__inner::after {
		position: absolute;
		z-index: -1;
		width: 12rem;
		height: 16rem;
		background: url("/wp-content/uploads/2026/09/bgpic1.webp") center / cover no-repeat;
		opacity: 0.16;
		-webkit-mask-image: radial-gradient(ellipse at center, #000 18%, rgb(0 0 0 / 0.72) 46%, transparent 74%);
		mask-image: radial-gradient(ellipse at center, #000 18%, rgb(0 0 0 / 0.72) 46%, transparent 74%);
		pointer-events: none;
		content: "";
	}

	.hero__inner::before {
		top: -2rem;
		right: -5rem;
	}

	.hero__inner::after {
		bottom: -1rem;
		left: -5.5rem;
		transform: rotate(180deg);
	}

	.hero__content {
		position: relative;
		z-index: 1;
	}

	.hero__content,
	.hero__actions,
	.hero__benefits,
	.hero__finder-card {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.hero__title {
		max-width: 13ch;
		font-size: clamp(2.65rem, 10.8vw, 3.25rem);
		line-height: 0.96;
		letter-spacing: -0.035em;
	}

	.hero__eyebrow {
		margin-bottom: 0.75rem;
	}

	.hero__intro {
		max-width: 100%;
		margin-top: 1rem;
		font-size: var(--topaz-text-body-mobile);
		line-height: 1.55;
	}

	.hero__actions {
		order: 2;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.625rem;
		margin-top: 0.875rem;
	}

	.button {
		width: 100%;
		min-height: 3.25rem;
		padding: 0.9375rem 1.5rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.hero__benefits {
		order: 1;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
		gap: 0.5rem;
		margin-top: 1.25rem;
	}

	.hero__benefit {
		display: grid;
		grid-template-rows: auto minmax(0, 1fr);
		gap: 0.4375rem;
		justify-items: center;
		align-content: start;
		width: 100%;
		min-height: 0;
		padding: 0.75rem 0.375rem;
		text-align: center;
		border-radius: 1rem;
	}

	.hero__benefit-icon {
		width: 1.5rem;
		height: 1.5rem;
		border: 0;
		background: transparent;
	}

	.hero__benefit-icon svg {
		width: 1.375rem;
		height: 1.375rem;
	}

	.hero__benefit strong {
		font-size: 0.75rem;
		line-height: 1.25;
		white-space: normal;
	}

	.hero__finder-card {
		grid-template-columns: 1.75rem minmax(0, 1fr);
		align-items: start;
		gap: 0.625rem;
		margin-top: 0.875rem;
		padding: 0.875rem;
		border-radius: 1.25rem;
	}

	.hero__finder-icon {
		grid-column: 1;
		width: 1.75rem;
		height: 1.75rem;
		font-size: 0.8125rem;
	}

	.hero__finder-copy {
		grid-column: 2;
	}

	.hero__finder-action {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 2.75rem;
		margin-top: 0.25rem;
	}

	.hero__video-play {
		right: 0.625rem;
		bottom: calc(clamp(1.5rem, 8vw, 2rem) + 0.625rem);
		z-index: 4;
		display: inline-flex;
	}

	.hero__scroll-link {
		display: none;
	}

}

@media (max-width: 359px) {
	.hero__benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero__benefit:last-child {
		grid-column: 1 / -1;
	}
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.site-header {
		background: rgb(15 36 26 / 0.92);
	}

	.site-header--solid,
	.site-header--training,
	.site-header__navigation {
		background: rgb(247 244 236 / 0.97);
	}

	.hero__benefit {
		background: rgb(15 36 26 / 0.76);
	}

	.hero__finder-card {
		background: rgb(255 255 255 / 0.97);
	}

	@media (min-width: 1100px) {
		.primary-navigation .sub-menu {
			background: rgb(247 244 236 / 0.98);
		}
	}
}

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

/* Shared legal information pages. */
.topaz-legal {
	color: var(--topaz-text);
	background: #ffffff;
}

.topaz-legal-view {
	background: #ffffff;
}

.topaz-legal :is(h1, h2, h3, p) {
	letter-spacing: 0;
}

.topaz-legal__hero {
	padding: clamp(8.5rem, 12vw, 11rem) clamp(1.5rem, 4vw, 3rem) clamp(3.75rem, 6vw, 5.5rem);
	border-bottom: 1px solid rgb(24 58 42 / 0.14);
	background: #ffffff;
}

.topaz-legal__hero-inner,
.topaz-legal__layout {
	width: min(100%, 75rem);
	margin: 0 auto;
}

.topaz-legal__hero h1 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 5.75rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	color: var(--topaz-forest);
}

.topaz-legal__intro {
	max-width: 48rem;
	margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
	font-size: clamp(1.05rem, 1.35vw, 1.22rem);
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-legal__updated {
	margin: 1.25rem 0 0;
	font-size: 0.84rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.45;
	text-transform: uppercase;
	color: var(--topaz-sage);
}

.topaz-legal__layout {
	padding: clamp(4rem, 7vw, 6.5rem) clamp(1.5rem, 4vw, 3rem) clamp(5rem, 9vw, 8rem);
	background: #ffffff;
}

.topaz-legal__content {
	width: min(100%, 54rem);
	margin: 0 auto;
	font-size: 1.05rem;
	line-height: 1.75;
}

.topaz-legal__content > :first-child {
	margin-top: 0;
}

.topaz-legal__content :is(a, address a) {
	color: var(--topaz-forest);
	text-decoration: underline;
	text-decoration-color: rgb(24 58 42 / 0.38);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.topaz-legal__content a:hover {
	text-decoration-color: currentColor;
}

.topaz-legal__content a:focus-visible {
	border-radius: 0.2rem;
	outline: 3px solid var(--topaz-eucalyptus);
	outline-offset: 3px;
}

.topaz-legal__notice {
	margin: 0 0 clamp(2.75rem, 5vw, 4rem);
	padding: 0.25rem 0 0.25rem 1.5rem;
	border-left: 3px solid var(--topaz-eucalyptus);
}

.topaz-legal__notice p {
	margin: 0;
	font-size: 1.08rem;
	color: var(--topaz-forest);
}

.topaz-legal__toc {
	margin: 0 0 clamp(3.75rem, 6vw, 5.5rem);
	padding: 1.75rem 0;
	border-top: 1px solid rgb(24 58 42 / 0.2);
	border-bottom: 1px solid rgb(24 58 42 / 0.2);
}

.topaz-legal__toc h2 {
	margin: 0 0 1.25rem;
	font-size: 0.78rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--topaz-sage);
}

.topaz-legal__toc :is(ul, ol) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem clamp(2rem, 5vw, 4rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.topaz-legal__toc a {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	font-size: 0.96rem;
	line-height: 1.45;
	text-decoration: none;
}

.topaz-legal__toc a::before {
	width: 0.35rem;
	height: 0.35rem;
	margin-right: 0.75rem;
	content: "";
	border-radius: 50%;
	background: var(--topaz-eucalyptus);
	flex: 0 0 auto;
}

.topaz-legal__section {
	padding: clamp(2.75rem, 5vw, 4rem) 0;
	border-top: 1px solid rgb(24 58 42 / 0.16);
	scroll-margin-top: 7rem;
}

.topaz-legal__section:first-of-type {
	border-top: 0;
}

.topaz-legal__section h2 {
	max-width: 25ch;
	margin: 0 0 1.5rem;
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.08;
	color: var(--topaz-forest);
}

.topaz-legal__section :is(p, ul, ol, address) {
	margin-top: 0;
	margin-bottom: 1.15rem;
}

.topaz-legal__section :is(ul, ol) {
	padding-left: 1.25rem;
}

.topaz-legal__section li + li {
	margin-top: 0.55rem;
}

.topaz-legal__section address {
	font-style: normal;
}

.topaz-legal__section > :last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.topaz-legal__hero {
		padding: 7.5rem 1.25rem 3.5rem;
	}

	.topaz-legal__hero h1 {
		font-size: clamp(2.75rem, 13vw, 4rem);
		line-height: 1;
	}

	.topaz-legal__layout {
		padding: 3.5rem 1.25rem 5rem;
	}

	.topaz-legal__content {
		font-size: 1rem;
		line-height: 1.7;
	}

	.topaz-legal__toc :is(ul, ol) {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.2rem;
	}

	.topaz-legal__section {
		scroll-margin-top: 6rem;
	}
}

@media print {
	.topaz-legal-view :is(.site-header, .site-footer, .scroll-to-top) {
		display: none !important;
	}

	.topaz-legal,
	.topaz-legal__hero {
		color: #000000;
		background: #ffffff;
	}

	.topaz-legal__hero,
	.topaz-legal__layout {
		padding: 1.5rem 0;
	}

	.topaz-legal__hero h1,
	.topaz-legal__section h2,
	.topaz-legal__content :is(a, address a) {
		color: #000000;
	}

	.topaz-legal__toc {
		display: none;
	}

	.topaz-legal__section {
		break-inside: avoid;
	}
}

/* Dedicated Contact page. */
.topaz-contact-page {
	color: var(--topaz-text);
	background: var(--topaz-surface-page);
}

.topaz-contact-page :is(h1, h2, h3, p) {
	letter-spacing: 0;
}

.topaz-contact__eyebrow {
	margin: 0 0 1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--topaz-forest);
}

.topaz-contact__eyebrow--light {
	color: var(--topaz-eucalyptus-light);
}

.topaz-contact-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(31.25rem, 38vw, 36.25rem);
	padding: 7.5rem clamp(1.5rem, 5vw, 4.5rem) 3rem;
	overflow: hidden;
	color: var(--topaz-canvas);
	isolation: isolate;
	background: var(--topaz-hero-scrim);
}

.topaz-contact-hero__media,
.topaz-contact-hero__video,
.topaz-contact-hero__overlay {
	position: absolute;
	inset: 0;
}

.topaz-contact-hero__media {
	z-index: -2;
	background: var(--topaz-hero-scrim);
}

.topaz-contact-hero__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.topaz-contact-hero__overlay {
	z-index: -1;
	background:
		linear-gradient(90deg, rgb(8 12 7 / 0.74) 0%, rgb(8 12 7 / 0.6) 52%, rgb(8 12 7 / 0.44) 100%),
		linear-gradient(180deg, rgb(8 12 7 / 0.12) 0%, rgb(8 12 7 / 0.32) 100%);
}

.topaz-contact-hero__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 82.5rem);
	margin: 0 auto;
}

.topaz-contact-hero h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.25rem, 5.5vw, 5.5rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.96;
	color: var(--topaz-canvas);
}

.topaz-contact-hero__intro {
	max-width: 48rem;
	margin: clamp(1.25rem, 2.5vw, 1.875rem) 0 0;
	font-size: clamp(1.1rem, 1.45vw, 1.3rem);
	line-height: 1.55;
	color: rgb(252 252 247 / 0.92);
}

.topaz-contact-hero__support {
	max-width: 44rem;
	margin: 0.65rem 0 0;
	font-size: 1rem;
	color: rgb(252 252 247 / 0.74);
}

.topaz-contact-hero .topaz-contact__eyebrow {
	color: rgb(252 252 247 / 0.82);
}

.topaz-contact-main {
	padding: clamp(4.5rem, 6vw, 5.5rem) clamp(1.5rem, 4vw, 3rem) 0;
	background: var(--topaz-surface-page);
}

.topaz-contact-card {
	display: grid;
	grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(2rem, 3.5vw, 3rem);
	align-items: start;
	width: min(100%, 82.5rem);
	margin: 0 auto;
}

.topaz-contact-card__details {
	position: relative;
	isolation: isolate;
	min-width: 0;
	overflow: hidden;
	color: var(--topaz-white);
	border-radius: 1.75rem;
	background-color: var(--topaz-forest);
}

.topaz-contact-card__details::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, rgb(5 24 15 / 0.78) 0%, rgb(7 30 18 / 0.66) 34%, rgb(8 35 22 / 0.42) 62%, rgb(8 35 22 / 0.16) 100%), linear-gradient(180deg, rgb(10 31 21 / 0.42) 0%, rgb(13 50 32 / 0.54) 54%, rgb(8 35 22 / 0.72) 100%);
}

.topaz-contact-card__video {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.topaz-contact-card__details-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	padding: clamp(2.75rem, 3.5vw, 3.25rem);
}

.topaz-contact-card__details h2,
.topaz-contact-card__form h2 {
	margin: 0;
	font-size: clamp(2.5rem, 4vw, 4rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
}

.topaz-contact-card__details .topaz-contact__eyebrow {
	color: rgb(255 255 255 / 0.76);
}

.topaz-contact-card__tagline {
	margin: 0.75rem 0 2rem;
	font-size: 1rem;
	color: rgb(255 255 255 / 0.76);
}

.topaz-contact-card__group + .topaz-contact-card__group {
	margin-top: 1.75rem;
}

.topaz-contact-card__group h3 {
	margin: 0 0 0.7rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: rgb(255 255 255 / 0.76);
}

.topaz-contact-card__group address {
	font-style: normal;
}

.topaz-contact-card__group a {
	display: inline-block;
	min-height: 2.75rem;
	padding: 0.2rem 0;
	color: rgb(255 255 255 / 0.94);
	text-decoration-color: rgb(255 255 255 / 0.46);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.topaz-contact-card__group a:hover,
.topaz-contact-card__group a:focus-visible {
	color: var(--topaz-white);
	text-decoration-color: var(--topaz-white);
}

.topaz-contact-card__phone {
	margin-top: 0.35rem;
}

.topaz-contact-hours {
	margin: 0;
}

.topaz-contact-hours div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	padding: 0.25rem 0;
}

.topaz-contact-hours :is(dt, dd) {
	margin: 0;
}

.topaz-contact-hours dd {
	color: rgb(255 255 255 / 0.76);
}

.topaz-contact-card__booking {
	align-self: flex-start;
	margin-top: 2rem;
	color: #183a2a;
	background: #f7f4ec;
}

.topaz-contact-card__booking:hover,
.topaz-contact-card__booking:focus-visible {
	color: #183a2a;
	background: #ffffff;
}

.topaz-contact-card__form {
	width: min(100%, 47.5rem);
	min-width: 0;
	padding: clamp(1.5rem, 2.5vw, 2.5rem) 0;
	background: #ffffff;
}

.topaz-contact-card__form h2 {
	color: var(--topaz-forest);
}

.topaz-contact-form {
	margin-top: clamp(1.75rem, 2.5vw, 2.25rem);
}

.topaz-contact-form__privacy-notice {
	padding: 0.875rem 1rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--topaz-muted);
	border-left: 2px solid var(--topaz-eucalyptus);
	background: rgb(238 238 233 / 0.58);
}

.topaz-contact-form__privacy-notice p,
.topaz-contact-form__marketing-consent p {
	margin: 0;
}

.topaz-contact-form__privacy-notice a,
.topaz-contact-form__marketing-consent a {
	color: var(--topaz-forest);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.topaz-contact-form__marketing-consent {
	padding-top: 0.25rem;
	font-size: 0.84rem;
	line-height: 1.5;
	color: var(--topaz-muted);
}

.topaz-contact-form__marketing-consent .wpcf7-list-item {
	margin: 0;
}

.topaz-contact-form__marketing-consent .wpcf7-list-item label {
	display: grid;
	grid-template-columns: 1.5rem minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
	min-height: 2.75rem;
	cursor: pointer;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__marketing-consent input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	min-height: 0;
	margin: 0.15rem 0 0;
	padding: 0;
	accent-color: var(--topaz-forest);
}

.topaz-contact-form__marketing-consent .wpcf7-list-item-label {
	font-size: 0.9rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.5;
	color: var(--topaz-text);
}

.topaz-contact-form__marketing-consent > p {
	margin-top: 0.6rem;
	padding-left: 2.2rem;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form {
	display: grid;
	gap: 1.125rem;
	margin: 0;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__field {
	min-width: 0;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__field > p {
	display: grid;
	gap: 0.45rem;
	margin: 0;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__field > p > br {
	display: none;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form > p {
	margin: 0;
	padding-top: 0.25rem;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 label {
	min-width: 0;
	font-size: 0.95rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.35;
	color: var(--topaz-text);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7-form-control-wrap {
	display: block;
	min-width: 0;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 :is(input:not([type="submit"]), select, textarea) {
	width: 100%;
	min-width: 0;
	padding: 0.75rem 0.9375rem;
	font-size: 1rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.4;
	color: var(--topaz-text);
	border: 1px solid rgb(24 58 42 / 0.24);
	border-radius: 0.8125rem;
	outline: none;
	background: #ffffff;
	transition: border-color 180ms var(--topaz-ease-out), box-shadow 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 :is(input:not([type="submit"]), select) {
	min-height: 3.25rem;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 textarea {
	height: 8.25rem;
	min-height: 8.25rem;
	resize: vertical;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 :is(input:not([type="submit"]), select, textarea):hover {
	border-color: rgb(24 58 42 / 0.44);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 :is(input:not([type="submit"]), select, textarea):focus {
	border-color: var(--topaz-forest);
	box-shadow: 0 0 0 3px rgb(113 134 120 / 0.42);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 input:-webkit-autofill,
:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 input:-webkit-autofill:hover,
:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--topaz-text);
	box-shadow: 0 0 0 1000px #ffffff inset;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit {
	min-height: 3.25rem;
	padding: 0.875rem 1.5rem;
	font: var(--topaz-font-medium) var(--topaz-text-button) / 1 var(--topaz-font-sans);
	color: var(--topaz-canvas);
	cursor: pointer;
	border: 1px solid var(--topaz-forest);
	border-radius: 999px;
	background: var(--topaz-forest);
	transition: transform 180ms var(--topaz-ease-out), color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit:hover,
:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit:focus-visible {
	color: var(--topaz-ivory);
	background: var(--topaz-forest-soft);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit:active {
	transform: scale(0.98);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit:disabled {
	cursor: wait;
	opacity: 0.65;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-spinner {
	margin: 0 0 0 0.75rem;
	vertical-align: middle;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 0.4rem;
	font-size: 0.9rem;
	color: #9b2c21;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-not-valid {
	border-color: #9b2c21;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form .wpcf7-response-output {
	margin: 0;
	padding: 0.9rem 1rem;
	font-size: 0.95rem;
	line-height: 1.45;
	border: 1px solid rgb(24 58 42 / 0.28);
	border-radius: 0.875rem;
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form.sent .wpcf7-response-output {
	color: var(--topaz-forest);
	border-color: var(--topaz-forest);
	background: rgb(174 188 175 / 0.3);
}

:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form.invalid .wpcf7-response-output,
:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form.failed .wpcf7-response-output,
:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 form.unaccepted .wpcf7-response-output {
	color: #772117;
	border-color: #9b2c21;
	background: #fff4f1;
}

.topaz-contact-form__fallback {
	margin: 2rem 0 0;
}

.topaz-contact-location {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(5rem, 6.5vw, 6rem) clamp(1.5rem, 4vw, 3rem) clamp(5rem, 9vw, 8rem);
	color: var(--topaz-catalog-milk);
	background: var(--topaz-catalog-depth);
}

.topaz-contact-location__background {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.topaz-contact-location__background img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.topaz-contact-location__background::after {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(180deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.34) 16%, rgb(5 31 32 / 0.34) 84%, var(--topaz-catalog-depth) 100%),
		radial-gradient(ellipse at 50% 44%, rgb(5 31 32 / 0.96) 0%, rgb(5 31 32 / 0.82) 46%, rgb(5 31 32 / 0.38) 100%),
		rgb(5 31 32 / 0.34);
}

.topaz-contact-location__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 82.5rem);
	margin: 0 auto;
}

.topaz-contact-location__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.topaz-contact-location h2 {
	margin: 0;
	font-size: clamp(3rem, 5.4vw, 5.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	color: var(--topaz-catalog-milk);
}

.topaz-contact-location__copy p {
	margin: 0;
	color: rgb(247 250 247 / 0.76);
}

.topaz-contact-location .topaz-eyebrow {
	color: rgb(247 250 247 / 0.72);
}

.topaz-contact-location__copy .topaz-contact-location__maps-button {
	display: inline-flex;
	align-items: center;
	min-height: 3.5rem;
	margin-top: 1rem;
	padding-inline: 1.5rem;
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-catalog-green);
	border: 1px solid rgb(255 255 255 / 0.82);
	background: rgb(255 255 255 / 0.92);
	box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 0.2), inset 0 1px 0 rgb(255 255 255 / 0.8);
}

.topaz-contact-location__routes {
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.topaz-contact-location__routes > p {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgb(247 250 247 / 0.72);
}

.topaz-contact-location__route-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.topaz-contact-location__route-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.7rem 1.25rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.2;
	color: var(--topaz-catalog-green);
	border: 1px solid rgb(255 255 255 / 0.68);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.82);
	box-shadow: 0 0.5rem 1.4rem rgb(0 0 0 / 0.18), inset 0 1px 0 rgb(255 255 255 / 0.8);
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
	transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

@media (hover: hover) {
	.topaz-contact-location__copy .topaz-contact-location__maps-button:hover,
	.topaz-contact-location__route-links a:hover {
		color: var(--topaz-catalog-green);
		border-color: var(--topaz-white);
		background: var(--topaz-white);
		box-shadow: 0 0.75rem 1.8rem rgb(0 0 0 / 0.24), inset 0 1px 0 var(--topaz-white);
		transform: translateY(-1px);
	}
}

.topaz-contact-location__copy .topaz-contact-location__maps-button:focus-visible,
.topaz-contact-location__route-links a:focus-visible {
	outline: 3px solid var(--topaz-white);
	outline-offset: 3px;
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.topaz-contact-location__route-links a {
		background: rgb(255 255 255 / 0.94);
	}
}

.topaz-contact-parking {
	display: grid;
	grid-template-columns: minmax(21rem, 0.86fr) minmax(0, 1.14fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: stretch;
}

.topaz-contact-parking__content {
	display: flex;
	flex-direction: column;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--topaz-text);
	border: 1px solid rgb(255 255 255 / 0.72);
	border-radius: 1.75rem;
	background: rgb(255 255 255 / 0.96);
	box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 0.22);
}

.topaz-contact-parking__heading {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.topaz-contact-parking__icon {
	display: inline-flex;
	flex: 0 0 3rem;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	color: var(--topaz-forest);
	border: 1px solid rgb(22 56 50 / 0.22);
	border-radius: 50%;
	background: var(--topaz-catalog-mint);
}

.topaz-contact-parking__icon svg {
	width: 1.625rem;
	height: 1.625rem;
}

.topaz-contact-parking__heading .topaz-contact__eyebrow {
	margin-bottom: 0.55rem;
	color: var(--topaz-forest);
}

.topaz-contact-parking h3 {
	margin: 0;
	font-size: clamp(1.75rem, 2.4vw, 2.35rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--topaz-text);
}

.topaz-contact-parking__options {
	display: grid;
	gap: 1rem;
	margin-top: clamp(1.5rem, 3vw, 2rem);
}

.topaz-contact-parking__option {
	padding: 1.125rem 1.25rem;
	border: 1px solid rgb(22 56 50 / 0.14);
	border-radius: 1.125rem;
	background: var(--topaz-catalog-mint);
}

.topaz-contact-parking__option h4 {
	margin: 0 0 0.55rem;
	font-size: 1.0625rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	color: var(--topaz-forest);
}

.topaz-contact-parking__option p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.58;
	color: var(--topaz-muted);
}

.topaz-contact-parking__option .topaz-contact-parking__rate {
	display: inline-flex;
	margin-top: 0.9rem;
	padding: 0.55rem 0.8rem;
	font-size: 0.875rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.2;
	color: var(--topaz-catalog-milk);
	border-radius: 999px;
	background: var(--topaz-forest);
}

.topaz-contact-parking__note {
	margin: auto 0 0;
	padding-top: 1.25rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--topaz-muted);
}

.topaz-contact-location__map {
	min-height: clamp(31rem, 38vw, 35rem);
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 0.3);
	border-radius: 1.75rem;
	background: var(--topaz-stone);
	box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 0.28);
}

.topaz-contact-location__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 1023px) {
	.topaz-contact-card {
		grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
		gap: 2rem;
	}

	.topaz-contact-card__details-content {
		padding: clamp(2.5rem, 4vw, 2.75rem);
	}

	.topaz-contact-card__form {
		padding: 1.5rem 0;
	}

	.topaz-contact-location__header {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
	}

	.topaz-contact-parking {
		grid-template-columns: minmax(19rem, 0.9fr) minmax(0, 1.1fr);
	}
}

@media (max-width: 820px) {
	.topaz-contact-hero {
		min-height: clamp(30rem, 70vw, 32.5rem);
		padding: 6.75rem 1.5rem 2.75rem;
	}

	.topaz-contact-hero h1 {
		max-width: 10ch;
		font-size: clamp(3rem, 13vw, 4.35rem);
		line-height: 0.98;
	}

	.topaz-contact-hero__overlay {
		background:
			linear-gradient(90deg, rgb(8 12 7 / 0.78) 0%, rgb(8 12 7 / 0.64) 68%, rgb(8 12 7 / 0.5) 100%),
			linear-gradient(180deg, rgb(8 12 7 / 0.18) 0%, rgb(8 12 7 / 0.38) 100%);
	}

	.topaz-contact-main {
		padding-top: 3.5rem;
		padding-right: 1.5rem;
		padding-left: 1.5rem;
	}

	.topaz-contact-location {
		padding-top: 4rem;
		padding-right: 1.5rem;
		padding-left: 1.5rem;
	}

	.topaz-contact-location__background img {
		width: 145%;
		max-width: none;
		object-position: center;
		transform: translateX(-15.5%);
	}

	.topaz-contact-location__background::after {
		background:
			linear-gradient(180deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.46) 14%, rgb(5 31 32 / 0.46) 86%, var(--topaz-catalog-depth) 100%),
			radial-gradient(ellipse at 50% 44%, rgb(5 31 32 / 0.96) 0%, rgb(5 31 32 / 0.84) 50%, rgb(5 31 32 / 0.5) 100%),
			rgb(5 31 32 / 0.42);
	}

	.topaz-contact-card {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.topaz-contact-card__details-content {
		padding: 2rem;
	}

	.topaz-contact-card__form {
		width: 100%;
		padding: 2rem 0 0;
	}

	.topaz-contact-card__tagline {
		margin-bottom: 1.75rem;
	}

	.topaz-contact-card__booking {
		margin-top: 2rem;
	}

	:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .topaz-contact-form__row {
		grid-template-columns: minmax(0, 1fr);
	}

	:where(.topaz-contact-page, .topaz-treatment__contact-form) .wpcf7 .wpcf7-submit {
		width: 100%;
	}

	.topaz-contact-location__header {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.topaz-contact-parking {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-contact-location h2 {
		font-size: clamp(2.75rem, 12vw, 4rem);
	}

	.topaz-contact-location__map {
		min-height: clamp(21.25rem, 94vw, 25rem);
		border-radius: 1.5rem;
	}
}

@media (max-width: 767px) {
	.topaz-journal-hero {
		padding: 7.25rem 0 7.5rem;
	}

	.topaz-journal-hero__background img {
		width: 145%;
		max-width: none;
		object-position: center;
		transform: translateX(-15.5%);
	}

	.topaz-journal-hero__background::after {
		background:
			radial-gradient(ellipse at 50% 40%, rgb(5 31 32 / 0.94) 0%, rgb(5 31 32 / 0.8) 52%, rgb(5 31 32 / 0.46) 100%),
			linear-gradient(90deg, rgb(5 31 32 / 0.36) 0%, rgb(5 31 32 / 0.76) 50%, rgb(5 31 32 / 0.36) 100%);
	}

	.topaz-journal-hero::after {
		height: 7rem;
	}

	.topaz-contact-card__details::after {
		background: linear-gradient(90deg, rgb(4 20 12 / 0.88) 0%, rgb(5 25 15 / 0.78) 38%, rgb(7 31 19 / 0.56) 68%, rgb(8 35 22 / 0.26) 100%), linear-gradient(180deg, rgb(8 27 17 / 0.48) 0%, rgb(9 38 23 / 0.58) 54%, rgb(5 27 16 / 0.78) 100%);
	}
}

@media (max-width: 480px) {
	.topaz-contact-hero,
	.topaz-contact-main,
	.topaz-contact-location {
		padding-right: 1.25rem;
		padding-left: 1.25rem;
	}

	.topaz-contact-card__details-content {
		padding: 1.5rem;
	}

	.topaz-contact-card__form {
		padding: 1.75rem 0 0;
	}

	.topaz-contact-card__details h2,
	.topaz-contact-card__form h2 {
		font-size: 2.4rem;
	}

	.topaz-contact-hours div {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.1rem;
	}

	.topaz-contact-card__booking {
		width: 100%;
	}

	.topaz-contact-location__map {
		min-height: 22.5rem;
	}

	.topaz-contact-parking__content {
		padding: 1.5rem;
		border-radius: 1.5rem;
	}

	.topaz-contact-parking__heading {
		gap: 0.8rem;
	}

	.topaz-contact-parking__icon {
		flex-basis: 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
	}

	.topaz-contact-location__route-links {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-contact-location__route-links a {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	.hero__content,
	.hero__benefits {
		animation: none;
	}

	.hero__benefit {
		transition: none;
	}

	.hero__finder-action:hover,
	.hero__finder-action:active {
		transform: none;
	}

	.hero__icon-sparkle,
	.hero__icon-lotus-outer,
	.hero__icon-lotus-center {
		animation: none;
		transform: none;
	}

	.topaz-contact-hero__video {
		animation: none;
	}

	.topaz-contact-card__video {
		display: none;
	}

	.topaz-experience__background-video,
	.topaz-journal-cta__video {
		display: none;
	}

	.topaz-experience__background-overlay,
	.topaz-journal-cta__overlay {
		background: rgb(24 58 42 / 0.98);
	}

	.topaz-faq__botanical {
		animation: none;
		transform: none;
		will-change: auto;
	}

	.topaz-about-gallery__panel,
	.topaz-about-gallery__panel::after,
	.topaz-about-gallery__indicator,
	.topaz-about-gallery__dot,
	.topaz-about-gallery__arrow,
	.topaz-faq__item,
	.topaz-faq__contact-link svg,
	.topaz-faq__icon::before,
	.topaz-faq__icon::after {
		transition: none;
	}

	.hero__scroll-link svg {
		animation: none;
	}
}

/* Dedicated Services page. */
.topaz-services-page {
	--topaz-services-seam-hero-browse: var(--topaz-catalog-dark);
	--topaz-services-seam-browse-catalog: #082522;
	--topaz-services-seam-peels-video: var(--topaz-catalog-depth);
	--topaz-services-seam-video-footer: var(--topaz-forest);
	--topaz-services-media-fade: 72px;
	color: var(--topaz-catalog-milk);
	background: var(--topaz-catalog-depth);
}

.topaz-services-page :is(h1, h2, h3, p) {
	letter-spacing: 0;
}

.topaz-services-page__eyebrow {
	margin: 0 0 1.1rem;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: currentColor;
}

.topaz-services-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.topaz-services-hero {
	position: relative;
	isolation: isolate;
	padding: clamp(8.5rem, 11vw, 10.5rem) clamp(1rem, 4vw, 3rem) clamp(5rem, 8vw, 7.5rem);
	overflow: hidden;
	color: var(--topaz-catalog-milk);
	background: var(--topaz-catalog-dark);
}

.topaz-services-hero__botanical {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.16;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 40%, transparent 66%, #000 100%);
	mask-image: linear-gradient(90deg, #000 0%, transparent 40%, transparent 66%, #000 100%);
}

.topaz-services-hero__botanical::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgb(5 31 32 / 0.18), rgb(5 31 32 / 0.72));
}

.topaz-services-hero__botanical img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-services-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(25rem, 0.82fr);
	gap: clamp(3rem, 7vw, 7.5rem);
	align-items: center;
	width: min(100%, 1320px);
	margin: 0 auto;
}

.topaz-services-hero__content {
	max-width: 47rem;
}

.topaz-services-hero .topaz-services-page__eyebrow {
	color: var(--topaz-catalog-sage);
}

.topaz-services-hero h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3.5rem, 4.8vw, 4.9rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.98;
	color: var(--topaz-catalog-milk);
	text-wrap: balance;
}

.topaz-services-hero__intro {
	max-width: 38rem;
	margin: 1.75rem 0 2.25rem;
	font-size: var(--topaz-text-body);
	line-height: 1.65;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-services-hero__book {
	color: var(--topaz-catalog-green);
	background: var(--topaz-catalog-milk);
}

.topaz-services-hero__book:hover,
.topaz-services-hero__book:focus-visible {
	color: var(--topaz-catalog-depth);
	background: #ffffff;
}

.topaz-services-page__button-glass {
	color: #ffffff;
	border: 1px solid rgb(255 255 255 / 0.56);
	background: linear-gradient(135deg, rgb(255 255 255 / 0.16), rgb(255 255 255 / 0.05));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.42), 0 8px 24px rgb(0 0 0 / 0.12);
	-webkit-backdrop-filter: blur(10px) saturate(115%);
	backdrop-filter: blur(10px) saturate(115%);
}

.topaz-services-page__button-glass:hover,
.topaz-services-page__button-glass:focus-visible {
	color: #ffffff;
	border-color: rgb(255 255 255 / 0.82);
	background: linear-gradient(135deg, rgb(255 255 255 / 0.24), rgb(255 255 255 / 0.09));
}

.topaz-services-hero__media {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	height: clamp(28rem, 34vw, 32rem);
	border-radius: clamp(1.5rem, 2.3vw, 2rem);
	background: var(--topaz-catalog-green-soft);
	box-shadow: 0 2rem 5rem rgb(0 12 10 / 0.28);
}

.topaz-services-hero__media::before {
	position: absolute;
	top: -2rem;
	right: -2rem;
	z-index: 1;
	width: 8rem;
	height: 8rem;
	content: "";
	border: 1px solid rgb(252 252 247 / 0.58);
	border-radius: 50%;
}

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

.topaz-services-categories {
	position: relative;
	z-index: 2;
	scroll-margin-top: 7rem;
	padding: 2.75rem clamp(1rem, 4vw, 3rem) 2.5rem;
	color: var(--topaz-catalog-milk);
	background: linear-gradient(180deg, var(--topaz-services-seam-hero-browse) 0%, var(--topaz-services-seam-browse-catalog) 100%);
}

.topaz-services-categories__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 1120px);
	margin: 0 auto;
	text-align: center;
}

.topaz-services-categories__eyebrow {
	margin: 0;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
}

.topaz-services-categories__intro {
	margin: 0.5rem 0 1rem;
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	line-height: 1.5;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-services-categories ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	justify-content: center;
	padding: 0;
	margin: 0;
	list-style: none;
}

.topaz-services-categories a {
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.875rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.2;
	color: #163832;
	text-decoration: none;
	border: 1px solid #ffffff;
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 0.375rem 0.875rem rgb(0 0 0 / 0.16);
	transition: color 180ms var(--topaz-ease-out), border-color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out), box-shadow 180ms var(--topaz-ease-out), transform 140ms var(--topaz-ease-out);
}

.topaz-services-categories a span {
	font-size: 0.6875rem;
	color: #163832;
}

.topaz-services-categories a:hover,
.topaz-services-categories a:focus-visible {
	color: #163832;
	border-color: #ffffff;
	background: #eaf3ef;
	box-shadow: 0 0.5rem 1.125rem rgb(0 0 0 / 0.22);
}

.topaz-services-categories a:active {
	transform: scale(0.98);
}

.topaz-services-categories a:focus-visible {
	outline: 2px solid #b7d5c8;
	outline-offset: 4px;
}

.topaz-category-explorer {
	scroll-margin-top: 2rem;
	padding: clamp(5rem, 9vw, 8rem) clamp(1rem, 4vw, 3rem);
	color: var(--topaz-canvas);
	background: var(--topaz-forest);
}

.topaz-category-explorer--services-page {
	padding-top: clamp(5.5rem, 6vw, 6.875rem);
	padding-bottom: clamp(5.5rem, 6vw, 6.875rem);
	color: var(--topaz-text);
	background: var(--topaz-surface-sage);
}

.topaz-category-explorer__inner {
	width: min(100%, 1320px);
	margin: 0 auto;
}

.topaz-category-explorer__header {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
	column-gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.topaz-category-explorer--services-page .topaz-category-explorer__header {
	margin-bottom: clamp(2.75rem, 3.5vw, 3.75rem);
}

.topaz-category-explorer__header .topaz-services-page__eyebrow {
	grid-column: 1 / -1;
	color: var(--topaz-eucalyptus-light);
}

.topaz-category-explorer--services-page .topaz-category-explorer__header .topaz-services-page__eyebrow {
	color: var(--topaz-eucalyptus);
}

.topaz-category-explorer__header h2 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3rem, 5.1vw, 5rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	text-wrap: balance;
}

.topaz-category-explorer--services-page .topaz-category-explorer__header h2 {
	font-size: clamp(3rem, 4.2vw, 4.5rem);
}

.topaz-category-explorer__header > p:last-child {
	max-width: 36rem;
	margin: 0 0 0.35rem;
	line-height: 1.65;
	color: rgb(252 252 247 / 0.72);
}

.topaz-category-explorer--services-page .topaz-category-explorer__header > p:last-child {
	color: var(--topaz-muted);
}

.topaz-category-explorer__track {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.75rem;
	min-height: 38rem;
}

.topaz-category-explorer--services-page .topaz-category-explorer__track {
	width: min(100%, 1080px);
	height: 28rem;
	min-height: 28rem;
	margin-inline: auto;
}

.topaz-category-panel {
	position: relative;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgb(252 252 247 / 0.2);
	border-radius: 1.5rem;
	background: var(--topaz-forest);
}

.topaz-category-panel__media,
.topaz-category-panel__media::after {
	position: absolute;
	inset: 0;
}

.topaz-category-panel__media::after {
	content: "";
	background: linear-gradient(180deg, rgb(8 15 6 / 0.08) 10%, rgb(8 15 6 / 0.52) 54%, rgb(8 15 6 / 0.94) 100%);
}

.topaz-category-panel__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-category-panel__trigger {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	padding: 1.2rem;
	color: var(--topaz-canvas);
	cursor: pointer;
	border: 0;
	background: rgb(10 18 8 / 0.42);
}

.topaz-category-panel__trigger:focus-visible {
	outline: 3px solid var(--topaz-eucalyptus-light);
	outline-offset: -6px;
}

.topaz-category-panel__number {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
}

.topaz-category-panel__collapsed-title {
	font-size: 1rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.2;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.topaz-category-panel__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	color: var(--topaz-canvas);
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1) 140ms, transform 480ms cubic-bezier(0.22, 1, 0.36, 1) 120ms, visibility 0s linear 0s;
}

.topaz-category-explorer--services-page .topaz-category-panel__content {
	padding: clamp(2rem, 2.5vw, 2.5rem);
}

.topaz-category-panel__content h3 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(2.1rem, 3.3vw, 3.6rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	color: var(--topaz-canvas);
	text-wrap: balance;
}

.topaz-category-explorer--services-page .topaz-category-panel__content h3 {
	font-size: clamp(2.5rem, 3vw, 3.25rem);
}

.topaz-category-panel__content > p:not(.topaz-category-panel__count) {
	max-width: 38rem;
	margin: 1rem 0;
	font-size: 1rem;
	line-height: 1.55;
	color: rgb(252 252 247 / 0.9);
}

.topaz-category-explorer--services-page .topaz-category-panel__content > p:not(.topaz-category-panel__count) {
	max-width: 34rem;
	margin: 0.85rem 0;
}

.topaz-category-panel__count {
	display: inline-flex;
	align-self: flex-start;
	width: fit-content;
	padding: 0.3125rem 0.5625rem;
	margin: 0 0 0.8rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	color: #ffffff;
	border-radius: 999px;
	background: rgb(15 49 36 / 0.78);
}

.topaz-category-panel__content ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	margin: 0 0 1.5rem;
	list-style: none;
}

.topaz-category-explorer--services-page .topaz-category-panel__content ul {
	margin-bottom: 1.25rem;
}

.topaz-category-panel__content li a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.65rem 0.9rem;
	font-size: 0.875rem;
	line-height: 1.25;
	text-decoration: none;
	color: var(--topaz-canvas);
	border: 1px solid rgb(252 252 247 / 0.48);
	border-radius: 999px;
	background: rgb(16 21 14 / 0.42);
}

.topaz-category-panel__content li a:hover,
.topaz-category-panel__content li a:focus-visible {
	border-color: var(--topaz-eucalyptus-light);
}

.topaz-category-panel__cta {
	position: relative;
	isolation: isolate;
	align-self: flex-start;
	gap: 0.6875rem;
	min-height: 3.5rem;
	padding: 0.9rem 1.625rem;
	overflow: hidden;
	color: #ffffff;
	border: 1px solid rgb(255 255 255 / 0.58);
	background-color: transparent;
	background-image: linear-gradient(135deg, rgb(255 255 255 / 0.3) 0%, rgb(255 255 255 / 0.1) 55%, rgb(255 255 255 / 0.18) 100%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.72), inset 0 -1px 0 rgb(4 22 13 / 0.18), 0 7px 22px rgb(0 20 12 / 0.2);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
	transition: background-color 200ms var(--topaz-ease-out), border-color 200ms var(--topaz-ease-out), box-shadow 200ms var(--topaz-ease-out), transform 180ms var(--topaz-ease-out);
}

.topaz-category-panel__cta::before {
	position: absolute;
	top: 0;
	right: 12%;
	left: 12%;
	z-index: -1;
	height: 52%;
	opacity: 0.78;
	pointer-events: none;
	content: "";
	background: radial-gradient(ellipse at 50% 0%, rgb(255 255 255 / 0.5) 0%, rgb(255 255 255 / 0.18) 42%, transparent 76%);
	transition: opacity 200ms var(--topaz-ease-out);
}

.topaz-category-panel__cta > span {
	position: relative;
	z-index: 1;
}

.topaz-category-panel__cta-icon {
	display: inline-flex;
	align-items: center;
	font-size: 1.05em;
	line-height: 1;
	transition: transform 200ms var(--topaz-ease-out);
}

.topaz-category-panel__cta:hover {
	color: #ffffff;
	border-color: rgb(255 255 255 / 0.78);
	background-color: rgb(255 255 255 / 0.06);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.86), inset 0 -1px 0 rgb(4 22 13 / 0.16), 0 9px 26px rgb(0 20 12 / 0.22);
}

.topaz-category-panel__cta:hover::before {
	opacity: 1;
}

.topaz-category-panel__cta:hover .topaz-category-panel__cta-icon {
	transform: translateX(0.2rem);
}

.topaz-category-panel__cta:active {
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.66), inset 0 -1px 0 rgb(4 22 13 / 0.2), 0 3px 12px rgb(0 20 12 / 0.15);
}

.topaz-category-panel__cta:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 3px;
	border-color: #ffffff;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.86), inset 0 -1px 0 rgb(4 22 13 / 0.16), 0 0 0 2px var(--topaz-forest), 0 8px 24px rgb(0 20 12 / 0.22);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.topaz-category-panel__cta {
		color: #ffffff;
		background-color: rgb(11 45 30 / 0.82);
		background-image: linear-gradient(135deg, rgb(255 255 255 / 0.16), rgb(255 255 255 / 0.04));
	}
}

.js .topaz-category-explorer__track {
	display: flex;
}

.js .topaz-category-panel {
	flex: 0 0 clamp(4.5rem, 4.4vw, 5.25rem);
	transition: flex-grow 600ms cubic-bezier(0.22, 1, 0.36, 1), flex-basis 600ms cubic-bezier(0.22, 1, 0.36, 1), border-color 220ms var(--topaz-ease-out);
}

.js .topaz-category-explorer--services-page .topaz-category-panel {
	flex-basis: clamp(4.25rem, 4.6vw, 4.75rem);
	transition-duration: 560ms, 560ms, 220ms;
}

.js .topaz-category-panel.is-active {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	border-color: rgb(252 252 247 / 0.36);
}

.js .topaz-category-panel:not(.is-active) .topaz-category-panel__content {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.65rem);
	transition: opacity 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 260ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 260ms;
}

.js .topaz-category-panel.is-active .topaz-category-panel__trigger {
	z-index: 0;
	width: 4rem;
	height: 4rem;
	padding: 0;
	background: transparent;
}

.js .topaz-category-panel.is-active .topaz-category-panel__collapsed-title {
	display: none;
}

.topaz-category-explorer__controls {
	display: none;
}

.topaz-category-explorer--homepage {
	--treatments-top-fade: 144px;
	--treatments-fade-gap: 32px;
	padding-top: calc(var(--treatments-top-fade) + var(--treatments-fade-gap));
	padding-bottom: clamp(5.5rem, 5.4vw, 6.5rem);
	color: var(--topaz-text);
	background:
		linear-gradient(180deg, #07170f 0%, #183326 22%, #536f5e 46%, #aabdb0 68%, #e7efe9 86%, #ffffff 100%) top / 100% var(--treatments-top-fade) no-repeat,
		#ffffff;
}

.topaz-category-explorer--homepage .topaz-category-explorer__inner {
	width: min(100%, 1220px);
}

.topaz-category-explorer--homepage .topaz-category-explorer__header {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	column-gap: clamp(2.5rem, 3.5vw, 3.5rem);
	align-items: center;
	margin-bottom: clamp(3rem, 3vw, 3.5rem);
}

.topaz-category-explorer--homepage .topaz-category-explorer__header h2 {
	max-width: none;
	font-size: clamp(3rem, 4vw, 4.5rem);
}

.topaz-category-explorer--homepage .topaz-category-explorer__header .topaz-services-page__eyebrow {
	color: var(--topaz-forest);
}

.topaz-category-explorer--homepage .topaz-category-explorer__header > p:last-child {
	max-width: none;
	margin: 0;
	padding: clamp(1.625rem, 2vw, 2rem);
	border-radius: 1.5rem;
	color: #ffffff;
	background: linear-gradient(135deg, #244d39 0%, #173c2b 55%, #0d281d 100%);
	line-height: 1.6;
}

.topaz-category-explorer--compact .topaz-category-explorer__track {
	height: 28.75rem;
	min-height: 28.75rem;
}

.topaz-category-explorer--homepage .topaz-category-explorer__footer {
	flex-wrap: wrap;
	gap: 0.875rem;
	justify-content: center;
	margin-top: 2.25rem;
}

.topaz-category-explorer--homepage .topaz-category-explorer__help {
	flex-basis: 100%;
	margin: 0;
	color: #536f5e;
	font-size: 0.9375rem;
	line-height: 1.5;
	text-align: center;
}

.topaz-category-explorer__footer {
	display: flex;
	justify-content: center;
	margin-top: clamp(2rem, 4vw, 3rem);
}

.topaz-category-explorer__view-all {
	gap: 0.65rem;
	min-height: 3.5rem;
}

.topaz-category-explorer__view-all span {
	transition: transform 180ms var(--topaz-ease-out);
}

.topaz-category-explorer__view-all:hover span,
.topaz-category-explorer__view-all:focus-visible span {
	transform: translateX(0.2rem);
}

.topaz-treatment-groups {
	overflow: hidden;
	background: var(--topaz-catalog-dark);
}

.topaz-treatment-group {
	position: relative;
	isolation: isolate;
	width: 100%;
	padding: 2.5rem clamp(1rem, 4vw, 3rem);
	overflow: hidden;
	scroll-margin-top: calc(7.5rem + var(--topaz-services-admin-offset, 0px));
}

.topaz-treatment-group__inner {
	position: relative;
	z-index: 2;
	width: min(100%, 1120px);
	margin: 0 auto;
}

body.admin-bar .topaz-services-page {
	--topaz-services-admin-offset: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .topaz-services-page {
		--topaz-services-admin-offset: 46px;
	}
}

.topaz-treatment-group--mint {
	background: linear-gradient(180deg, var(--topaz-services-seam-browse-catalog) 0%, var(--topaz-catalog-dark) 52%, #082522 100%);
}

.topaz-treatment-group--dark {
	color: var(--topaz-catalog-milk);
	background: linear-gradient(180deg, #082522 0%, var(--topaz-catalog-depth) 48%, var(--topaz-catalog-dark) 100%);
}

.topaz-treatment-group--milk {
	background: linear-gradient(180deg, var(--topaz-catalog-dark) 0%, #0d302a 52%, #092824 100%);
}

.topaz-treatment-group--mist {
	background: linear-gradient(180deg, #092824 0%, var(--topaz-catalog-dark) 50%, #071f1f 100%);
}

.topaz-treatment-group--linen {
	background: var(--topaz-catalog-dark);
}

.topaz-treatment-group--botanical {
	color: var(--topaz-catalog-milk);
	background: linear-gradient(180deg, #071f1f 0%, var(--topaz-catalog-dark) var(--topaz-services-media-fade), var(--topaz-services-seam-peels-video) 100%);
}

.topaz-treatment-group__background,
.topaz-treatment-group__background::after,
.topaz-treatment-group__background img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-treatment-group__background {
	z-index: 0;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 var(--topaz-services-media-fade), #000 calc(100% - var(--topaz-services-media-fade)), transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 var(--topaz-services-media-fade), #000 calc(100% - var(--topaz-services-media-fade)), transparent 100%);
}

.topaz-treatment-group__background img {
	display: block;
	object-fit: cover;
	object-position: center;
}

.topaz-treatment-group__background::after {
	content: "";
	background: rgb(3 24 17 / 0.8);
}

.topaz-treatment-group__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr);
	column-gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	margin-bottom: 1.75rem;
}

.topaz-treatment-group__index {
	display: flex;
	gap: 0.7rem;
	align-items: center;
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-treatment-group__index span {
	display: inline-grid;
	width: 2.1rem;
	height: 2.1rem;
	place-items: center;
	color: var(--topaz-catalog-milk);
	border: 1px solid rgb(247 250 247 / 0.28);
	border-radius: 50%;
	background: rgb(247 250 247 / 0.07);
}

.topaz-treatment-group__header h2 {
	max-width: none;
	margin: 0;
	font-size: clamp(2.75rem, 3.6vw, 3.25rem);
	line-height: 1;
	color: var(--topaz-catalog-milk);
	text-wrap: balance;
}

.topaz-treatment-group__description {
	justify-self: end;
	width: 100%;
	max-width: 36rem;
	padding: 1.25rem;
	margin: 0;
	line-height: 1.65;
	color: #163832;
	border: 1px solid #ffffff;
	border-radius: 1.375rem;
	background: #ffffff;
	box-shadow: 0 0.625rem 1.75rem rgb(0 0 0 / 0.22);
}

.topaz-treatment-group__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.375rem;
}

.topaz-treatment-group__grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.topaz-treatment-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgb(210 235 223 / 0.24);
	border-radius: clamp(1.1rem, 1.5vw, 1.5rem);
	background: linear-gradient(180deg, #2a5149 0%, #244a43 42%, #1c3d36 100%);
	box-shadow:
		0 0.5rem 1.125rem rgb(0 0 0 / 0.28),
		0 1.375rem 2.75rem -0.75rem rgb(0 0 0 / 0.48),
		inset 0 1px 0 rgb(235 255 245 / 0.1);
	transition: transform 220ms var(--topaz-ease-out), box-shadow 220ms var(--topaz-ease-out), border-color 220ms var(--topaz-ease-out);
}

.topaz-treatment-card:hover {
	border-color: rgb(210 235 223 / 0.36);
	box-shadow:
		0 0.625rem 1.375rem rgb(0 0 0 / 0.3),
		0 1.625rem 3rem -0.75rem rgb(0 0 0 / 0.52),
		inset 0 1px 0 rgb(235 255 245 / 0.14);
	transform: translateY(-0.2rem);
}

.topaz-treatment-card__media {
	height: 12.1875rem;
	margin: 0;
	overflow: hidden;
	background: var(--topaz-catalog-dark);
}

.topaz-treatment-group__grid--two .topaz-treatment-card__media {
	height: 12.1875rem;
}

.topaz-treatment-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
	transition: transform 500ms var(--topaz-ease-soft);
}

.topaz-treatment-card__media--action-centred img {
	object-position: center 20%;
}

.topaz-treatment-card__media--consultation-centred img {
	object-position: center 20%;
}

.topaz-treatment-card__media--buccal-face img {
	object-position: center 50%;
}

.topaz-treatment-card__media--lifting-face img {
	object-position: center 60%;
}

.topaz-treatment-group__grid--two .topaz-treatment-card__media--buccal-face,
.topaz-treatment-group__grid--two .topaz-treatment-card__media--lifting-face {
	height: 16.25rem;
}

.topaz-treatment-card__media--no-more-acne img {
	object-position: center 73%;
}

.topaz-treatment-card__media--bbl-hero img {
	object-position: center 54%;
}

.topaz-treatment-card__media--total-age-control img {
	object-position: center 50%;
}

.topaz-treatment-card__media--microneedling img {
	object-position: center 57%;
}

.topaz-treatment-card:hover .topaz-treatment-card__media:not(.topaz-treatment-card__media--buccal-face):not(.topaz-treatment-card__media--lifting-face):not(.topaz-treatment-card__media--no-more-acne) img {
	transform: scale(1.025);
}

.topaz-treatment-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

.topaz-treatment-card__category {
	margin: 0 0 0.6rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	text-transform: uppercase;
	color: #bbd2c8;
}

.topaz-treatment-card h3 {
	max-width: none;
	margin: 0;
	font-size: clamp(1.625rem, 1.8vw, 1.875rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.05;
	text-wrap: pretty;
}

.topaz-treatment-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0.75rem 0 0;
}

.topaz-treatment-card__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: 0.35rem 0.7rem;
	font-size: 0.875rem;
	line-height: 1.3;
	color: #f4f8f6;
	border: 1px solid rgb(210 235 223 / 0.2);
	border-radius: 999px;
	background: rgb(12 43 38 / 0.68);
}

.topaz-treatment-card__description {
	margin: 0.85rem 0 1.25rem;
	font-size: clamp(0.94rem, 1vw, 1rem);
	line-height: 1.55;
	color: #d4e3dd;
}

.topaz-treatment-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	align-items: center;
	margin-top: auto;
}

.topaz-treatment-card__actions .button,
.topaz-treatment-card__learn-more {
	display: inline-flex;
	flex: 0 1 9.375rem;
	align-items: center;
	justify-content: center;
	width: 9.375rem;
	min-height: 2.9375rem;
	padding: 0.7rem 0.875rem;
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	border-radius: 999px;
}

.topaz-treatment-card__actions .button {
	color: var(--topaz-catalog-depth);
	border: 1px solid var(--topaz-catalog-milk);
	background: var(--topaz-catalog-milk);
}

.topaz-treatment-card__actions .button:hover,
.topaz-treatment-card__actions .button:focus-visible {
	color: var(--topaz-catalog-depth);
	border-color: #ffffff;
	background: #ffffff;
}

.topaz-treatment-card__learn-more {
	gap: 0.4rem;
	color: var(--topaz-catalog-milk);
	border: 1px solid rgb(247 250 247 / 0.56);
	background: transparent;
}

.topaz-treatment-card__learn-more:hover,
.topaz-treatment-card__learn-more:focus-visible {
	color: #ffffff;
	border-color: rgb(247 250 247 / 0.82);
	background: rgb(247 250 247 / 0.1);
}

.topaz-treatment-card__learn-more span {
	transition: transform 180ms var(--topaz-ease-out);
}

.topaz-treatment-card__learn-more:hover span,
.topaz-treatment-card__learn-more:focus-visible span {
	transform: translateX(0.2rem);
}

.topaz-services-cta {
	position: relative;
	isolation: isolate;
	padding: clamp(4.5rem, 6vw, 5.5rem) clamp(1rem, 4vw, 3rem);
	overflow: hidden;
	color: var(--topaz-catalog-milk);
	background:
		linear-gradient(
			180deg,
			var(--topaz-services-seam-peels-video) 0,
			var(--topaz-catalog-depth) var(--topaz-services-media-fade),
			var(--topaz-catalog-depth) calc(100% - var(--topaz-services-media-fade)),
			var(--topaz-services-seam-video-footer) 100%
		);
}

.topaz-services-cta__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 1120px);
	margin: 0 auto;
}

.topaz-services-cta__background,
.topaz-services-cta__video,
.topaz-services-cta__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.topaz-services-cta__background {
	z-index: 0;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 var(--topaz-services-media-fade), #000 calc(100% - var(--topaz-services-media-fade)), transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 var(--topaz-services-media-fade), #000 calc(100% - var(--topaz-services-media-fade)), transparent 100%);
}

.topaz-services-cta__video {
	display: block;
	object-fit: cover;
	object-position: center 46%;
	pointer-events: none;
}

.topaz-services-cta__overlay {
	pointer-events: none;
	background: rgb(5 31 32 / 0.68);
}

.topaz-services-cta__content {
	position: relative;
	z-index: 1;
	width: min(100%, 60rem);
	margin: 0 auto;
	text-align: center;
}

.topaz-services-cta .topaz-services-page__eyebrow {
	color: var(--topaz-catalog-sage);
}

.topaz-services-cta h2 {
	max-width: none;
	margin: 0;
	font-size: clamp(3rem, 4.5vw, 4.75rem);
	line-height: 1;
	text-wrap: balance;
}

.topaz-services-cta__content > p:last-child {
	max-width: 43rem;
	margin: 1.125rem auto 0;
	color: var(--topaz-catalog-muted-dark);
}

.topaz-services-cta .topaz-services-page__actions {
	justify-content: center;
	margin-top: 1.625rem;
}

.topaz-services-cta__primary {
	color: var(--topaz-catalog-green);
	background: var(--topaz-catalog-milk);
}

.topaz-services-cta__secondary {
	color: #ffffff;
	border: 1px solid rgb(255 255 255 / 0.5);
	background: rgb(255 255 255 / 0.08);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.topaz-services-cta__primary:hover,
.topaz-services-cta__primary:focus-visible,
.topaz-services-cta__secondary:hover,
.topaz-services-cta__secondary:focus-visible {
	color: var(--topaz-forest);
	background: #ffffff;
}

.topaz-services-cta__video-control {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;
	min-height: 2.5rem;
	padding: 0.6rem 1rem;
	font: inherit;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1;
	color: #ffffff;
	cursor: pointer;
	border: 1px solid rgb(255 255 255 / 0.48);
	border-radius: 999px;
	background: rgb(5 31 32 / 0.58);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.topaz-services-cta__video-control:hover,
.topaz-services-cta__video-control:focus-visible {
	border-color: rgb(255 255 255 / 0.86);
	background: rgb(5 31 32 / 0.82);
}

.topaz-services-cta__video-control:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

@media (max-width: 1099px) {
	.topaz-treatment-group__grid,
	.topaz-treatment-group__grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 1023px) {
	.topaz-services-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.78fr);
		gap: 2.5rem;
	}

	.topaz-services-hero h1 {
		font-size: clamp(3.25rem, 6vw, 4.5rem);
	}

	.topaz-services-categories__inner {
		width: min(100%, 56rem);
	}

	.topaz-services-categories__intro {
		margin-bottom: 1rem;
	}

	.topaz-services-categories ul {
		gap: 0.5rem;
	}

	.topaz-services-categories li {
		flex: 0 1 auto;
	}

	.js .topaz-category-panel {
		flex-basis: 4.5rem;
	}

	.topaz-category-explorer--homepage {
		padding-bottom: 4.75rem;
	}

}

@media (max-width: 820px) {
	.topaz-services-page {
		--topaz-services-media-fade: 48px;
	}

	.topaz-category-explorer--homepage {
		--treatments-top-fade: 128px;
		--treatments-fade-gap: 24px;
	}

	.topaz-category-explorer--homepage .topaz-category-explorer__header > p:last-child {
		margin-top: 1.25rem;
		padding: 1.5rem;
	}

	.topaz-services-hero {
		padding: 7.5rem 1.25rem 4.5rem;
	}

	.topaz-services-hero__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		min-height: 0;
	}

	.topaz-services-hero h1 {
		max-width: 12ch;
		font-size: clamp(3rem, 13.5vw, 4.25rem);
		line-height: 0.99;
	}

	.topaz-services-hero__intro {
		margin: 1.35rem 0 1.75rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-services-hero__media {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	.topaz-services-hero__botanical {
		opacity: 0.12;
		-webkit-mask-image: linear-gradient(180deg, #000, transparent 52%, #000);
		mask-image: linear-gradient(180deg, #000, transparent 52%, #000);
	}

	.topaz-services-categories {
		padding: 2.5rem 1.25rem 2.25rem;
	}

	.topaz-category-explorer {
		padding-right: 0;
		padding-left: 1.25rem;
		overflow: hidden;
	}

	.topaz-category-explorer--services-page {
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.topaz-category-explorer__header {
		display: block;
		padding-right: 1.25rem;
	}

	.topaz-category-explorer--services-page .topaz-category-explorer__header {
		margin-bottom: 2.5rem;
	}

	.topaz-category-explorer__header h2 {
		font-size: clamp(2.75rem, 12vw, 3.75rem);
	}

	.topaz-treatment-group__header h2 {
		font-size: clamp(2rem, 9vw, 2.25rem);
	}

	.topaz-category-explorer__header > p:last-child {
		margin-top: 1.25rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-category-explorer__track,
	.js .topaz-category-explorer__track {
		display: flex;
		gap: 0.75rem;
		min-height: 0;
		padding: 0 1.25rem 0.35rem 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	.topaz-category-explorer--services-page .topaz-category-explorer__track,
	.js .topaz-category-explorer--services-page .topaz-category-explorer__track {
		width: 100%;
		height: auto;
		min-height: 0;
		margin-inline: 0;
	}

	.topaz-category-explorer__track::-webkit-scrollbar {
		display: none;
	}

	.topaz-category-panel,
	.js .topaz-category-panel,
	.js .topaz-category-panel.is-active {
		flex: 0 0 86%;
		min-height: 38rem;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		transition: none;
	}

	.topaz-category-explorer--services-page .topaz-category-panel,
	.js .topaz-category-explorer--services-page .topaz-category-panel,
	.js .topaz-category-explorer--services-page .topaz-category-panel.is-active {
		flex: 0 0 86%;
		min-height: clamp(32rem, 138vw, 36rem);
		transition: none;
	}

	.topaz-category-explorer--compact .topaz-category-panel,
	.js .topaz-category-explorer--compact .topaz-category-panel,
	.js .topaz-category-explorer--compact .topaz-category-panel.is-active {
		flex-basis: min(calc(100vw - 2.5rem), 42rem);
		height: 32rem;
		min-height: 32rem;
	}

	.topaz-category-explorer--compact .topaz-category-explorer__track,
	.js .topaz-category-explorer--compact .topaz-category-explorer__track {
		height: auto;
		min-height: 0;
	}

	.topaz-category-panel__trigger,
	.js .topaz-category-panel.is-active .topaz-category-panel__trigger {
		display: none;
	}

	.js .topaz-category-panel:not(.is-active) .topaz-category-panel__content {
		visibility: visible;
		opacity: 1;
	}

	.topaz-category-panel__content {
		padding: 1.4rem;
	}

	.topaz-category-explorer--services-page .topaz-category-panel__content {
		padding: 1.4rem;
	}

	.topaz-category-panel__content h3 {
		font-size: clamp(2.15rem, 9vw, 2.75rem);
	}

	.topaz-category-explorer--services-page .topaz-category-panel__content h3 {
		font-size: clamp(2.15rem, 9vw, 2.75rem);
	}

	.topaz-category-panel__content ul {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 1.1rem;
	}

	.topaz-category-explorer--services-page .topaz-category-panel__content ul {
		margin-bottom: 1.1rem;
	}

	.topaz-category-panel__content li a {
		width: fit-content;
		min-height: 2.75rem;
		padding: 0.55rem 0.75rem;
		font-size: 0.8125rem;
	}

	.topaz-category-explorer__controls {
		display: flex;
		gap: 1rem;
		align-items: center;
		justify-content: space-between;
		padding-right: 1.25rem;
		margin-top: 1rem;
	}

	.topaz-category-explorer__footer {
		justify-content: flex-start;
		padding-right: 1.25rem;
		margin-top: 1.5rem;
	}

	.topaz-category-explorer__progress {
		margin: 0;
		font-size: 0.875rem;
		font-weight: var(--topaz-font-medium);
	}

	.topaz-category-explorer__arrows {
		display: flex;
		gap: 0.5rem;
	}

	.topaz-category-explorer__arrows button {
		display: grid;
		width: 2.9rem;
		height: 2.9rem;
		padding: 0;
		place-items: center;
		font-size: 1.2rem;
		color: var(--topaz-forest);
		cursor: pointer;
		border: 1px solid var(--topaz-eucalyptus-light);
		border-radius: 50%;
		background: var(--topaz-ivory);
	}

	.topaz-category-explorer__arrows button:disabled {
		cursor: default;
		opacity: 0.35;
	}

	.topaz-treatment-groups {
		padding: 0;
	}

	.topaz-treatment-group {
		padding-top: 2.25rem;
		padding-right: 1.25rem;
		padding-bottom: 2.25rem;
		padding-left: 1.25rem;
	}

	.topaz-treatment-group--mint {
		padding-top: 2.25rem;
	}

	.topaz-treatment-group__header {
		display: block;
	}

	.topaz-treatment-group__description {
		max-width: none;
		padding: 1.125rem;
		margin-top: 1rem;
		font-size: var(--topaz-text-body-mobile);
	}

	.topaz-treatment-card__media {
		height: 11.875rem;
	}

	.topaz-treatment-group__grid--two .topaz-treatment-card__media {
		height: 11.875rem;
	}

	.topaz-treatment-card__content {
		padding: 1.125rem;
	}

	.topaz-treatment-card h3 {
		font-size: clamp(1.625rem, 7vw, 1.875rem);
	}

	.topaz-services-cta {
		padding: 4rem 1.25rem;
	}

	.topaz-services-cta__inner {
		width: min(100%, 42rem);
	}

	.topaz-services-cta h2 {
		font-size: clamp(2.75rem, 12vw, 3.75rem);
	}
}

@media (max-width: 767px) {
	.topaz-treatment-group__grid,
	.topaz-treatment-group__grid--two {
		grid-template-columns: 1fr;
	}

	.topaz-treatment-group {
		padding-top: 2.25rem;
		padding-bottom: 2.25rem;
	}

	.topaz-treatment-group--mint {
		padding-top: 2.25rem;
	}

	.topaz-treatment-card__actions {
		align-items: flex-start;
	}

	.topaz-treatment-card__actions .button,
	.topaz-treatment-card__learn-more {
		flex: 0 0 9.375rem;
		width: 9.375rem;
	}

	.topaz-treatment-card__media,
	.topaz-treatment-group__grid--two .topaz-treatment-card__media {
		height: 11.875rem;
	}

	.topaz-treatment-group__grid--two .topaz-treatment-card__media--buccal-face,
	.topaz-treatment-group__grid--two .topaz-treatment-card__media--lifting-face {
		height: 14.5rem;
	}

	.topaz-treatment-card__media--buccal-face img {
		object-position: center 50%;
	}

	.topaz-treatment-card__media--lifting-face img {
		object-position: center 60%;
	}
}

@media (max-width: 380px) {
	.topaz-treatment-card__actions {
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	.topaz-services-page__actions {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
	}

	.topaz-services-cta .topaz-services-page__actions {
		width: 100%;
	}

	.topaz-services-page__actions .button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.js .topaz-category-panel,
	.topaz-category-panel__content,
	.topaz-treatment-card__media img {
		transition: none;
	}

	.topaz-services-cta__video-control {
		display: none;
	}

	.topaz-services-cta__overlay {
		background: rgb(5 31 32 / 0.74);
	}
}

/* Reusable treatment detail system. */
body.single-treatment,
body.single-treatment .site-main,
.topaz-treatment {
	background: var(--topaz-catalog-depth);
}

.topaz-treatment {
	--topaz-treatment-white: #ffffff;
	--topaz-treatment-forest: var(--topaz-catalog-green);
	--topaz-treatment-forest-soft: var(--topaz-catalog-green-soft);
	--topaz-treatment-eucalyptus: var(--topaz-catalog-sage);
	--topaz-treatment-sage: #244a43;
	--topaz-treatment-sage-light: #dce9e2;
	--topaz-treatment-border: rgb(210 235 223 / 0.22);
	--topaz-treatment-text: var(--topaz-catalog-milk);
	--topaz-treatment-text-muted: var(--topaz-catalog-muted-dark);
	color: var(--topaz-treatment-text);
	background: var(--topaz-catalog-depth);
}

.topaz-treatment :is(h1, h2, h3, p) {
	letter-spacing: 0;
}

.topaz-treatment__breadcrumbs,
.topaz-treatment__hero,
.topaz-treatment__content,
.topaz-treatment__faq-inner,
.topaz-treatment__related-inner,
.topaz-video-form-cta__inner {
	width: min(calc(100% - clamp(2.5rem, 7vw, 6rem)), 1320px);
	margin-inline: auto;
}

.topaz-treatment__hero-shell {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--topaz-treatment-text);
	background: var(--topaz-catalog-depth);
}

.topaz-treatment__botanical,
.topaz-treatment__botanical::after,
.topaz-treatment__botanical img {
	position: absolute;
	inset: 0;
}

.topaz-treatment__botanical {
	z-index: -1;
	pointer-events: none;
}

.topaz-treatment__botanical img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 46%;
}

.topaz-treatment__botanical::after {
	content: "";
	background:
		radial-gradient(ellipse at 74% 38%, rgb(5 31 32 / 0.16), rgb(5 31 32 / 0.58) 66%, rgb(5 31 32 / 0.82) 100%),
		linear-gradient(180deg, rgb(5 31 32 / 0.68) 0%, rgb(5 31 32 / 0.82) 78%, var(--topaz-catalog-depth) 100%);
}

.topaz-treatment__breadcrumbs {
	position: relative;
	z-index: 1;
	padding-top: clamp(7.25rem, 9vw, 8.5rem);
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgb(247 250 247 / 0.7);
}

.topaz-treatment__breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.topaz-treatment__breadcrumbs li:not(:last-child)::after {
	margin-left: 0.4rem;
	content: "/";
	color: rgb(247 250 247 / 0.44);
}

.topaz-treatment__breadcrumbs a {
	color: var(--topaz-treatment-white);
	text-underline-offset: 0.22rem;
}

.topaz-treatment__hero {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.78fr);
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: start;
	padding-top: clamp(1.5rem, 2.5vw, 2.25rem);
	padding-bottom: clamp(4rem, 5.5vw, 5.25rem);
}

.topaz-treatment__hero-copy {
	max-width: 43rem;
}

.topaz-treatment__eyebrow {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--topaz-catalog-sage);
}

.topaz-treatment__hero h1 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2.5rem, 5vw, 4.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.02;
	letter-spacing: -0.035em;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.topaz-treatment__intro {
	max-width: 39rem;
	margin: clamp(1rem, 2vw, 1.4rem) 0 0;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.65;
	color: rgb(247 250 247 / 0.78);
}

.topaz-treatment__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
	margin-top: 1.5rem;
}

.topaz-treatment__hero-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	max-width: 42rem;
	padding: 0;
	margin: clamp(1.5rem, 2vw, 1.75rem) 0 0;
}

.topaz-treatment__hero-facts > div {
	min-width: 7.5rem;
	padding-right: clamp(1rem, 2vw, 1.5rem);
}

.topaz-treatment__hero-facts > div + div {
	padding-left: clamp(1rem, 2vw, 1.5rem);
	border-left: 1px solid rgb(255 255 255 / 0.2);
}

.topaz-treatment__hero-facts dt {
	margin-top: 0.25rem;
	font-size: 0.8125rem;
	line-height: 1.35;
	color: rgb(247 250 247 / 0.62);
}

.topaz-treatment__hero-facts dd {
	margin: 0;
	font-size: clamp(1rem, 1.25vw, 1.125rem);
	font-weight: var(--topaz-font-medium);
	line-height: 1.35;
	color: var(--topaz-treatment-white);
}

.topaz-treatment__cosmelan-prices {
	min-width: 15rem;
}

.topaz-treatment__hero-facts--cosmelan {
	display: grid;
	grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr);
	row-gap: 1rem;
}

.topaz-treatment__hero-facts--cosmelan > div:nth-child(3) {
	grid-column: 1 / -1;
	padding-top: 0.75rem;
	padding-left: 0;
	border-top: 1px solid var(--topaz-treatment-border);
	border-left: 0;
}

.topaz-treatment__cosmelan-prices dd {
	display: grid;
	gap: 0.25rem;
}

.topaz-treatment__cosmelan-prices small {
	font-size: 0.8125rem;
	font-weight: var(--topaz-font-regular);
	line-height: 1.4;
	color: rgb(247 250 247 / 0.76);
}

.topaz-treatment__booking-note {
	max-width: 39rem;
	margin: 1.25rem 0 0;
	padding-left: 1rem;
	border-left: 2px solid rgb(210 235 223 / 0.5);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: rgb(247 250 247 / 0.82);
}

.topaz-treatment__hero-actions .button {
	color: var(--topaz-treatment-forest);
	border: 1px solid rgb(255 255 255 / 0.82);
	background: rgb(255 255 255 / 0.9);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.8), 0 0.75rem 1.75rem rgb(0 15 10 / 0.24);
}

.topaz-treatment__hero-actions .button:active,
.topaz-video-form-cta .button:active {
	transform: scale(0.97);
}

.topaz-treatment__back-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-weight: var(--topaz-font-medium);
	padding: 0 1.35rem;
	color: var(--topaz-treatment-white);
	text-decoration: none;
	border: 1px solid rgb(255 255 255 / 0.58);
	border-radius: 999px;
	background: rgb(5 31 32 / 0.28);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	text-underline-offset: 0.28rem;
}

.topaz-treatment__hero-media,
.topaz-treatment__editorial-media,
.topaz-treatment__related-media,
.topaz-treatment__gallery figure {
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1.25rem, 2vw, 1.75rem);
	background: var(--topaz-treatment-sage-light);
}

.topaz-treatment__hero-media {
	width: 100%;
	max-height: 34rem;
	aspect-ratio: 4 / 5;
	border: 1px solid rgb(255 255 255 / 0.28);
	box-shadow: 0 1.5rem 3.5rem rgb(0 12 8 / 0.34), inset 0 1px 0 rgb(255 255 255 / 0.18);
}

.topaz-treatment__hero-media img,
.topaz-treatment__editorial-media img,
.topaz-treatment__related-media img,
.topaz-treatment__gallery img,
.topaz-treatment__image-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-treatment__hero-media--bbl img {
	object-position: 50% 53%;
}

.topaz-treatment__editorial-media {
	position: relative;
	width: 100%;
	min-width: 0;
	aspect-ratio: 4 / 3;
	border: 0;
}

.topaz-treatment__editorial-media--portrait {
	aspect-ratio: 4 / 5;
}

.topaz-treatment__editorial-media--process {
	aspect-ratio: 4 / 5;
}

.topaz-treatment__overview-gallery {
	min-width: 0;
}

.topaz-treatment__overview-gallery-frame {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 5;
	touch-action: pan-y;
	border-radius: clamp(1.25rem, 2vw, 1.75rem);
	background: var(--topaz-treatment-sage-light);
}

.topaz-treatment__overview-gallery-slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 220ms var(--topaz-ease-out), visibility 220ms;
}

.topaz-treatment__overview-gallery-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.topaz-treatment__overview-gallery-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	user-select: none;
	-webkit-user-drag: none;
}

.topaz-treatment__overview-gallery-slide:nth-child(1) img { object-position: 50% 29%; }
.topaz-treatment__overview-gallery-slide:nth-child(2) img { object-position: 50% 70%; }
.topaz-treatment__overview-gallery-slide:nth-child(3) img { object-position: 50% 66%; }
.topaz-treatment__overview-gallery-slide:nth-child(4) img { object-position: 50% 68%; }

.topaz-treatment__overview-gallery-controls,
.topaz-treatment__overview-gallery-dots {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.topaz-treatment__overview-gallery-controls {
	justify-content: center;
	margin-top: 0.9rem;
}

.topaz-treatment__overview-gallery-controls .topaz-about-gallery__arrow {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	place-items: center;
	color: var(--topaz-forest);
	cursor: pointer;
	border: 1px solid rgb(24 58 42 / 0.22);
	border-radius: 50%;
	background: var(--topaz-ivory);
}

.topaz-treatment__overview-gallery-controls .topaz-about-gallery__arrow:disabled { opacity: 0.35; cursor: default; }
.topaz-treatment__overview-gallery-controls .topaz-about-gallery__arrow svg { width: 1.1rem; height: 1.1rem; }
.topaz-treatment__overview-gallery-controls .topaz-about-gallery__dot {
	width: 0.6rem;
	height: 0.6rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(24 58 42 / 0.28);
	cursor: pointer;
}
.topaz-treatment__overview-gallery-controls .topaz-about-gallery__dot[aria-pressed="true"] {
	width: 1.45rem;
	border-radius: 999px;
	background: var(--topaz-forest);
}
.topaz-treatment__overview-gallery-controls button:focus-visible {
	outline: 2px solid var(--topaz-forest);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.topaz-treatment__overview-gallery-slide { transition: none; }
}

.topaz-treatment__media-placeholder {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	background: var(--topaz-treatment-sage);
}

.topaz-treatment__media-placeholder i {
	position: absolute;
	display: block;
	border-radius: 45% 55% 58% 42%;
	background: rgb(23 61 43 / 0.16);
	transform: rotate(-12deg);
}

.topaz-treatment__media-placeholder i:nth-child(1) {
	top: 12%;
	right: -8%;
	width: 62%;
	height: 74%;
}

.topaz-treatment__media-placeholder i:nth-child(2) {
	bottom: -12%;
	left: -7%;
	width: 38%;
	height: 48%;
	background: rgb(184 121 98 / 0.18);
	transform: rotate(19deg);
}

.topaz-treatment__media-placeholder i:nth-child(3) {
	top: 18%;
	left: 17%;
	width: 18%;
	height: 34%;
	border: 1px solid rgb(23 61 43 / 0.18);
	background: transparent;
	transform: rotate(32deg);
}

.topaz-treatment__image-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 15rem;
	padding: 2rem;
	text-align: center;
	color: var(--topaz-treatment-white);
	border: 1px solid var(--topaz-treatment-border);
	background: var(--topaz-treatment-sage);
}

.topaz-treatment__image-placeholder span {
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.topaz-treatment__image-placeholder small {
	margin-top: 0.4rem;
	font-size: 0.875rem;
	color: var(--topaz-treatment-text-muted);
}

.topaz-treatment__content {
	padding-bottom: 1rem;
}

.topaz-treatment-options {
	width: min( calc(100% - 2.5rem), 75rem );
	margin-inline: auto;
}
.topaz-treatment-options header > p { max-width: 48rem; }
.topaz-treatment-options__eyebrow { font-size: 0.75rem; letter-spacing: 0.08em; }
.topaz-treatment-options__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2rem;
}
.topaz-treatment-options__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.5rem;
	border: 1px solid rgb(22 56 50 / 0.16);
	border-radius: 1.5rem;
	background: var(--topaz-white);
	color: var(--topaz-forest);
}
.topaz-treatment-options__card h3 { margin: 0.75rem 0; font-size: 1.5rem; line-height: 1.2; }
.topaz-treatment-options__card p { margin: 0 0 1rem; line-height: 1.6; }
.topaz-treatment-options__duration { font-weight: 500; }
.topaz-treatment-options__includes { padding-top: 1rem; border-top: 1px solid rgb(22 56 50 / 0.16); }
.topaz-treatment-options__card .button { margin-top: auto; align-self: flex-start; }
.topaz-treatment-options__note { font-size: 0.875rem; margin: 1.25rem 0 0; }
@media (max-width: 767px) {
	.topaz-treatment-options__grid { grid-template-columns: 1fr; }
}

.topaz-treatment__section {
	position: relative;
	isolation: isolate;
	padding: clamp(3.5rem, 4.5vw, 4.5rem) 0;
	border-top: 0;
}

.topaz-treatment__section h2,
.topaz-treatment__faq h2,
.topaz-treatment__related h2,
.topaz-video-form-cta h2 {
	max-width: 16ch;
	margin: 0;
	font-size: clamp(2rem, 3.2vw, 3.1rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.07;
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.topaz-treatment__overview-layout {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(17rem, 2fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.topaz-treatment__overview-layout--no-media,
.topaz-treatment__section--process.topaz-treatment__section--no-media {
	grid-template-columns: minmax(0, 1fr);
}

.topaz-treatment__overview-layout--no-media .topaz-treatment__overview-copy,
.topaz-treatment__section--no-media .topaz-treatment__process-copy {
	max-width: 48rem;
}

.topaz-treatment__overview-copy h2,
.topaz-treatment__process-copy > h2 {
	margin-bottom: clamp(1.125rem, 2vw, 1.5rem);
}

.topaz-treatment__context-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 1.5rem;
}

.topaz-treatment__context-actions .button,
.topaz-treatment__faq-guidance .button {
	min-height: 3.5rem;
	margin: 0;
	padding-right: 1.75rem;
	padding-left: 1.75rem;
	border-radius: 999px;
}

.topaz-treatment__section--overview .topaz-treatment__prose {
	font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.topaz-treatment__section--process {
	display: grid;
	grid-template-columns: minmax(17rem, 0.82fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: center;
}

.topaz-treatment__section--suitability {
	display: block;
	padding-block: clamp(2rem, 3vw, 2.75rem);
	border-top: 0;
}

.topaz-treatment__suitability-details {
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 0.26);
	border-radius: 1.25rem;
	background: linear-gradient(145deg, rgb(39 79 69 / 0.76), rgb(9 37 32 / 0.78));
	-webkit-backdrop-filter: blur(16px) saturate(120%);
	backdrop-filter: blur(16px) saturate(120%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.2), 0 1.25rem 2.75rem rgb(0 13 9 / 0.34);
}

.topaz-treatment__suitability-details summary {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) 2.5rem;
	gap: 1rem;
	align-items: center;
	min-height: 5.5rem;
	padding: 1.25rem 1.5rem;
	color: var(--topaz-treatment-white);
	cursor: pointer;
	list-style: none;
}

.topaz-treatment__suitability-details summary::-webkit-details-marker {
	display: none;
}

.topaz-treatment__suitability-details summary:focus-visible {
	outline: 2px solid var(--topaz-catalog-sage);
	outline-offset: -4px;
	border-radius: 1.125rem;
}

.topaz-treatment__suitability-title {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: var(--topaz-font-regular);
	line-height: 1.2;
}

.topaz-treatment__suitability-indicator {
	position: relative;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid rgb(255 255 255 / 0.42);
	border-radius: 50%;
}

.topaz-treatment__suitability-indicator::before,
.topaz-treatment__suitability-indicator::after {
	position: absolute;
	width: 0.9rem;
	height: 1px;
	content: "";
	background: currentColor;
	transition: opacity 180ms var(--topaz-ease-out), transform 220ms var(--topaz-ease-out);
}

.topaz-treatment__suitability-indicator::after {
	transform: rotate(90deg);
}

.topaz-treatment__suitability-details[open] .topaz-treatment__suitability-indicator::after {
	opacity: 0;
	transform: rotate(0deg);
}

.topaz-treatment__suitability-body {
	display: block;
	padding: 0 1.5rem 1.5rem;
	border-top: 1px solid rgb(255 255 255 / 0.14);
}

.topaz-treatment__suitability-body .topaz-treatment__prose {
	max-width: none;
	padding-top: 1.5rem;
}

.topaz-treatment__suitability-body .topaz-treatment__editorial-media {
	width: min(100%, 34rem);
	margin-top: 1.5rem;
	aspect-ratio: 4 / 3;
}

.topaz-treatment__section--process {
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.72fr);
}

.topaz-treatment__prose,
.topaz-treatment__paired-copy {
	max-width: 65ch;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.topaz-treatment__prose p,
.topaz-treatment__paired-copy p {
	margin: 0 0 1rem;
	line-height: 1.67;
	color: var(--topaz-treatment-text-muted);
}

.topaz-treatment__prose p:last-child,
.topaz-treatment__paired-copy p:last-child {
	margin-bottom: 0;
}

.topaz-treatment__icon {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--topaz-treatment-forest);
	border: 1px solid var(--topaz-treatment-border);
	border-radius: 50%;
	background: var(--topaz-treatment-white);
}

.topaz-treatment__icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

.topaz-treatment__benefits,
.topaz-treatment__included {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: 0;
	margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
	list-style: none;
}

.topaz-treatment__section-background,
.topaz-treatment__section-background::after {
	position: absolute;
	inset-block: 0;
	left: 50%;
	width: 100vw;
	max-width: none;
	transform: translateX(-50%);
}

.topaz-treatment__section-background {
	z-index: -1;
	overflow: hidden;
	background: var(--topaz-catalog-depth);
	pointer-events: none;
}

.topaz-treatment__section-background img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.topaz-treatment__section-background::after {
	content: "";
	background:
		linear-gradient(180deg, #051f20 0%, rgb(5 31 32 / 0.12) 22%, rgb(5 31 32 / 0.12) 76%, #051f20 100%),
		linear-gradient(90deg, rgb(5 31 32 / 0.2) 0%, rgb(5 31 32 / 0.88) 38%, rgb(5 31 32 / 0.9) 62%, rgb(5 31 32 / 0.2) 100%),
		rgb(5 31 32 / 0.28);
}

.topaz-treatment__section-background--benefits img {
	object-position: center 48%;
}

.topaz-treatment__section-background--benefits::after {
	background:
		linear-gradient(180deg, #051f20 0%, rgb(5 31 32 / 0.18) 24%, rgb(5 31 32 / 0.18) 74%, #051f20 100%),
		radial-gradient(ellipse at center, rgb(5 31 32 / 0.88) 0%, rgb(5 31 32 / 0.74) 35%, rgb(5 31 32 / 0.24) 100%),
		rgb(5 31 32 / 0.24);
}

.topaz-treatment__section-background--process img {
	inset: 0 0 0 auto;
	width: min(54vw, 48rem);
	object-fit: cover;
	object-position: center 45%;
}

.topaz-treatment__section-background--process::after {
	background:
		linear-gradient(180deg, #051f20 0%, rgb(5 31 32 / 0.14) 24%, rgb(5 31 32 / 0.14) 74%, #051f20 100%),
		linear-gradient(90deg, #051f20 0%, rgb(5 31 32 / 0.98) 38%, rgb(5 31 32 / 0.52) 72%, rgb(5 31 32 / 0.82) 100%);
}

.topaz-treatment__benefits-content {
	position: relative;
	z-index: 1;
}

.topaz-treatment__benefits li {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 0.9rem;
	align-items: center;
	min-height: 5rem;
	padding: 1.125rem 1.25rem;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.55;
	color: var(--topaz-treatment-forest);
	border: 1px solid rgb(255 255 255 / 0.82);
	border-radius: 1.125rem;
	background: rgb(255 255 255 / 0.88);
	-webkit-backdrop-filter: blur(14px) saturate(112%);
	backdrop-filter: blur(14px) saturate(112%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.9), 0 0.75rem 1.75rem rgb(0 16 10 / 0.28);
}

.topaz-treatment__benefits .topaz-treatment__icon {
	width: 2.25rem;
	height: 2.25rem;
	color: var(--topaz-treatment-forest);
	border-color: rgb(22 56 50 / 0.2);
	background: rgb(255 255 255 / 0.68);
}

.topaz-treatment__section--warm {
	padding: clamp(3rem, 4.5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
	border: 0;
	border-radius: 1.5rem;
	border: 1px solid var(--topaz-treatment-border);
	background: linear-gradient(145deg, rgb(42 81 73 / 0.76), rgb(19 57 49 / 0.82));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 1rem 2.25rem rgb(0 13 9 / 0.22);
}

.topaz-treatment__included li {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 0.9rem;
	align-items: center;
	padding: 1rem 0;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.55;
	border-bottom: 1px solid var(--topaz-treatment-border);
}

.topaz-treatment__included .topaz-treatment__icon {
	width: 2.25rem;
	height: 2.25rem;
	color: var(--topaz-treatment-white);
	border-color: rgb(255 255 255 / 0.28);
	background: rgb(255 255 255 / 0.08);
}

.topaz-treatment__steps {
	display: block;
	padding: 0;
	margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
	list-style: none;
	counter-reset: treatment-step;
}

.topaz-treatment__steps li {
	position: relative;
	padding: 1.25rem 0 1.25rem 3.75rem;
	border-top: 1px solid var(--topaz-treatment-border);
	counter-increment: treatment-step;
}

.topaz-treatment__steps li::before {
	position: absolute;
	top: 1rem;
	left: 0;
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	letter-spacing: 0.03em;
	color: var(--topaz-treatment-forest);
	border-radius: 50%;
	background: var(--topaz-treatment-white);
	content: counter(treatment-step, decimal-leading-zero);
}

.topaz-treatment__steps h3,
.topaz-treatment__paired-copy h3 {
	margin: 0;
	font-size: clamp(1.125rem, 1.5vw, 1.375rem);
	font-weight: var(--topaz-font-medium);
	line-height: 1.25;
}

.topaz-treatment__steps p {
	margin: 0.65rem 0 0;
	font-size: 1rem;
	line-height: 1.62;
	color: var(--topaz-treatment-text-muted);
}

.topaz-treatment__paired-copy {
	display: grid;
	gap: 1.75rem;
}

.topaz-treatment__paired-copy > div + div {
	padding-top: 1.75rem;
	border-top: 1px solid var(--topaz-treatment-border);
}

.topaz-treatment__paired-copy h3 {
	margin-bottom: 0.65rem;
}

.topaz-treatment__section--care {
	display: grid;
	grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: start;
	padding-inline: clamp(1.5rem, 4vw, 3rem);
	border-radius: 1.75rem;
	border: 1px solid var(--topaz-treatment-border);
	background: linear-gradient(145deg, rgb(31 72 63 / 0.72), rgb(8 35 30 / 0.82));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 1rem 2.25rem rgb(0 13 9 / 0.24);
}

.topaz-treatment__care-header > p:last-child {
	max-width: 35rem;
	margin: 1rem 0 0;
	line-height: 1.65;
	color: var(--topaz-treatment-text-muted);
}

.topaz-treatment__care-tabs {
	min-width: 0;
}

.topaz-treatment__care-tablist {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.topaz-treatment__care-tab {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	min-width: 0;
	min-height: 4.75rem;
	padding: 0.75rem;
	font: var(--topaz-font-medium) 0.875rem / 1.3 var(--topaz-font-sans);
	text-align: left;
	color: var(--topaz-treatment-white);
	cursor: pointer;
	border: 1px solid var(--topaz-treatment-border);
	border-radius: 1rem;
	background: rgb(255 255 255 / 0.08);
	transition: color 180ms var(--topaz-ease-out), border-color 180ms var(--topaz-ease-out), background-color 180ms var(--topaz-ease-out), transform 180ms var(--topaz-ease-out);
}

.topaz-treatment__care-tab .topaz-treatment__icon {
	flex: 0 0 auto;
	width: 2.35rem;
	height: 2.35rem;
	color: var(--topaz-treatment-white);
	border-color: rgb(255 255 255 / 0.24);
	background: rgb(255 255 255 / 0.08);
}

.topaz-treatment__care-tab .topaz-treatment__icon svg {
	width: 1.2rem;
	height: 1.2rem;
}

.topaz-treatment__care-tab[aria-selected="true"] {
	color: var(--topaz-treatment-forest);
	border-color: var(--topaz-treatment-white);
	background: var(--topaz-treatment-white);
}

.topaz-treatment__care-tab[aria-selected="true"] .topaz-treatment__icon {
	color: var(--topaz-treatment-forest);
	border-color: rgb(22 56 50 / 0.22);
	background: rgb(22 56 50 / 0.06);
}

.topaz-treatment__care-tab:focus-visible {
	outline: 3px solid rgb(113 134 120 / 0.5);
	outline-offset: 3px;
}

.topaz-treatment__care-tab:active {
	transform: scale(0.985);
}

.topaz-treatment__care-panels {
	margin-top: 0.75rem;
}

.topaz-treatment__care-panel {
	min-height: 0;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	color: #163832;
	border: 1px solid rgb(22 56 50 / 0.16);
	border-radius: 1.25rem;
	background: #ffffff;
	box-shadow: 0 0.75rem 2rem rgb(0 14 10 / 0.2);
}

.topaz-treatment__care-panel :is(h3, strong) {
	color: #163832;
}

.topaz-treatment__care-panel :is(p, li) {
	color: #405d53;
}

.topaz-treatment__care-panel a {
	color: #163832;
	text-decoration-color: rgb(22 56 50 / 0.38);
}

.topaz-treatment__care-panel .topaz-treatment__paired-copy > div + div {
	border-color: rgb(22 56 50 / 0.16);
}

.topaz-treatment__care-tabs.is-enhanced .topaz-treatment__care-panel[hidden] {
	display: none;
}

.topaz-treatment__care-tabs.is-enhanced:not(.is-introduced) .topaz-treatment__care-tab {
	opacity: 0;
	transform: translateY(4px);
}

.topaz-treatment__care-tabs.is-enhanced.is-introduced .topaz-treatment__care-tab:nth-child(2) {
	transition-delay: 45ms;
}

.topaz-treatment__care-tabs.is-enhanced.is-introduced .topaz-treatment__care-tab:nth-child(3) {
	transition-delay: 90ms;
}

.topaz-treatment__gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.topaz-treatment__gallery figure {
	aspect-ratio: 4 / 3;
}

.topaz-treatment__faq,
.topaz-treatment__related {
	padding: clamp(3.5rem, 4.5vw, 4.5rem) 0;
}

.topaz-treatment__faq {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--topaz-catalog-depth);
}

.topaz-treatment__faq-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 4.5rem);
}

.topaz-treatment__faq-guidance {
	margin-top: 1.5rem;
}

.topaz-treatment__faq-guidance p {
	max-width: 28ch;
	margin: 0 0 0.875rem;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.6;
	color: var(--topaz-treatment-text-muted);
}

.topaz-treatment__faq .topaz-faq__list {
	margin: 0;
}

.topaz-treatment__faq .topaz-faq__item {
	border-color: var(--topaz-treatment-border);
	background: rgb(255 255 255 / 0.07);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08);
}

.topaz-treatment__faq .topaz-faq__item[open] {
	border-color: rgb(210 235 223 / 0.38);
	background: rgb(36 74 67 / 0.72);
}

.topaz-treatment__faq .topaz-faq__question,
.topaz-treatment__faq .topaz-faq__answer p {
	color: var(--topaz-treatment-text);
}

.topaz-treatment__faq .topaz-faq__icon {
	border-color: rgb(255 255 255 / 0.3);
	background: rgb(255 255 255 / 0.08);
}

.topaz-treatment__faq .topaz-faq__question:focus-visible {
	outline-color: var(--topaz-catalog-sage);
}

.topaz-treatment__related {
	background: var(--topaz-catalog-depth);
}

.topaz-treatment__section-background--care img {
	object-position: center 45%;
}

.topaz-treatment__section-background--care::after {
	background:
		linear-gradient(180deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.2) 24%, rgb(5 31 32 / 0.2) 76%, var(--topaz-catalog-depth) 100%),
		radial-gradient(ellipse at 50% 48%, rgb(5 31 32 / 0.94) 0%, rgb(5 31 32 / 0.78) 40%, rgb(5 31 32 / 0.34) 100%),
		rgb(5 31 32 / 0.3);
}

.topaz-treatment__related-inner > header {
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.topaz-treatment__related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.topaz-treatment__related-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--topaz-treatment-border);
	border-radius: 1.125rem;
	background: linear-gradient(180deg, #2a5149 0%, #1c3d36 100%);
	box-shadow: 0 0.75rem 1.75rem rgb(0 0 0 / 0.25), inset 0 1px 0 rgb(235 255 245 / 0.08);
}

.topaz-treatment__related-media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}

.topaz-treatment__related-card > div {
	padding: 1.25rem;
}

.topaz-treatment__related-card h3 {
	margin: 0;
	font-size: clamp(1.125rem, 1.5vw, 1.375rem);
	font-weight: var(--topaz-font-medium);
	line-height: 1.25;
}

.topaz-treatment__related-card h3 a {
	color: var(--topaz-treatment-white);
	text-decoration: none;
}

.topaz-treatment__related-card p {
	margin: 0.65rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--topaz-treatment-text-muted);
}

.topaz-video-form-cta {
	--topaz-treatment-white: #ffffff;
	--topaz-treatment-forest: #173d2b;
	--topaz-treatment-forest-soft: #315443;
	--topaz-treatment-border: #d9e2dc;
	padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem);
	color: var(--topaz-treatment-white);
	background: var(--topaz-treatment-white);
}

.topaz-video-form-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(35rem, 1.1fr);
	gap: clamp(3rem, 4vw, 4rem);
	align-items: center;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	padding: 3rem 3.25rem;
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: auto;
	border-radius: 1.75rem;
	background: var(--topaz-treatment-forest);
}

.topaz-video-form-cta__inner::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgb(23 61 43 / 0.96) 0%, rgb(23 61 43 / 0.82) 46%, rgb(23 61 43 / 0.46) 100%),
		rgb(12 34 24 / 0.16);
	content: "";
	pointer-events: none;
}

.topaz-video-form-cta__copy {
	position: relative;
	z-index: 2;
	max-width: 34rem;
}

.topaz-video-form-cta__copy > p:not(.topaz-treatment__eyebrow) {
	max-width: 58ch;
	margin: 1rem 0 0;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.65;
	color: rgb(255 255 255 / 0.78);
}

.topaz-video-form-cta__copy .topaz-treatment__eyebrow--light {
	color: rgb(255 255 255 / 0.78);
}

.topaz-video-form-cta__contact-card .topaz-treatment__eyebrow {
	margin-bottom: 0.5rem;
	font-size: 0.65625rem;
	color: var(--topaz-treatment-forest-soft);
}

.topaz-video-form-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 1.5rem;
}

.topaz-video-form-cta__actions .button {
	position: relative;
	min-height: 3.5rem;
	margin: 0;
	padding-right: 1.75rem;
	padding-left: 1.75rem;
	border-radius: 999px;
}

.topaz-video-form-cta__primary {
	color: var(--topaz-treatment-forest);
	background: var(--topaz-treatment-white);
}

.topaz-video-form-cta__secondary {
	min-height: 2.75rem;
	font-weight: var(--topaz-font-medium);
	color: #ffffff;
	border: 1px solid rgb(255 255 255 / 0.72);
	background: transparent;
	box-shadow: none;
}

.topaz-treatment__context-actions .topaz-treatment__cta-secondary {
	font-weight: var(--topaz-font-medium);
	color: #ffffff;
	border: 1px solid rgb(255 255 255 / 0.72);
	background: transparent;
	box-shadow: none;
}

.topaz-treatment__context-actions .topaz-treatment__cta-secondary:focus-visible {
	color: #ffffff;
	border-color: #ffffff;
	outline: 2px solid #ffffff;
	outline-offset: 3px;
	background: transparent;
	box-shadow: none;
}

.topaz-treatment__context-actions .topaz-treatment__cta-secondary:active {
	color: #ffffff;
	background: transparent;
	transform: translateY(0);
}

.topaz-video-form-cta__secondary:focus-visible {
	color: #ffffff;
	border-color: #ffffff;
	outline: 2px solid #ffffff;
	outline-offset: 3px;
	background: transparent;
	box-shadow: none;
}

.topaz-video-form-cta .topaz-video-form-cta__secondary:active {
	color: #ffffff;
	background: transparent;
	transform: translateY(0);
}

.topaz-video-form-cta__contact-card {
	position: relative;
	z-index: 2;
	justify-self: end;
	box-sizing: border-box;
	width: 100%;
	max-width: 37.5rem;
	min-width: 0;
	padding: 1.5rem 1.75rem;
	color: var(--topaz-treatment-forest);
	border: 1px solid rgb(255 255 255 / 0.5);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 0.96);
	box-shadow: 0 1.5rem 4rem rgb(4 20 12 / 0.18);
}

.topaz-video-form-cta__contact-card h3 {
	margin: 0;
	font-size: clamp(1.6875rem, 2vw, 2.125rem);
	font-weight: var(--topaz-font-light);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

#treatment-question-form {
	scroll-margin-top: calc(7rem + var(--wp-admin--admin-bar--height, 0px));
}

.topaz-video-form-cta__contact-card .topaz-contact-form {
	margin-top: 1.0625rem;
}

.topaz-video-form-cta__contact-form .wpcf7 form {
	gap: 0.59375rem;
}

.topaz-video-form-cta__contact-form .wpcf7 .topaz-contact-form__row {
	gap: 0.625rem;
}

.topaz-video-form-cta__contact-form .wpcf7 .topaz-contact-form__field > p {
	gap: 0.34375rem;
}

.topaz-video-form-cta__contact-form .wpcf7 form > p {
	padding-top: 0;
	margin-top: -0.25rem;
}

.topaz-video-form-cta__contact-form .wpcf7 label {
	font-size: 0.8125rem;
}

.topaz-video-form-cta__contact-form .wpcf7 :is(input:not([type="submit"]), select, textarea) {
	padding-right: 0.8125rem;
	padding-left: 0.8125rem;
	font-size: 0.875rem;
}

.topaz-video-form-cta__contact-form .wpcf7 textarea {
	height: 4.25rem;
	min-height: 4.25rem;
	padding-top: 0.6875rem;
	padding-bottom: 0.6875rem;
}

.topaz-video-form-cta__contact-form .wpcf7 :is(input:not([type="submit"]), select) {
	height: 2.5625rem;
	min-height: 2.5625rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.topaz-video-form-cta__contact-form .wpcf7 .wpcf7-submit {
	justify-self: start;
	width: auto;
	min-height: 2.6875rem;
	padding: 0.625rem 1.25rem;
	font-size: 0.875rem;
}

.topaz-video-form-cta__video {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topaz-video-form-cta__inner.is-video-unavailable .topaz-video-form-cta__video {
	display: none;
}

.topaz-treatment .topaz-video-form-cta--treatment {
	--topaz-treatment-video-edge-fade: clamp(5rem, 9vw, 8.75rem);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(3.25rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem) clamp(4.5rem, 6vw, 5.5rem);
	color: var(--topaz-treatment-white);
	background: var(--topaz-catalog-depth);
}

.topaz-treatment .topaz-video-form-cta--treatment::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	background:
		linear-gradient(180deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.84) 28%, rgb(5 31 32 / 0.38) 68%, transparent 100%) top / 100% var(--topaz-treatment-video-edge-fade) no-repeat,
		linear-gradient(0deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.84) 28%, rgb(5 31 32 / 0.38) 68%, transparent 100%) bottom / 100% var(--topaz-treatment-video-edge-fade) no-repeat,
		linear-gradient(180deg, rgb(5 31 32 / 0.74), rgb(5 31 32 / 0.8));
	pointer-events: none;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 4vw, 3.5rem);
	align-items: center;
	width: min(100%, 82.5rem);
	margin-inline: auto;
	padding: 0;
	overflow: visible;
	border-radius: 0;
	background: transparent;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__inner::before {
	content: none;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__actions {
	justify-content: flex-start;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__contact-card {
	justify-self: stretch;
	width: 100%;
	max-width: none;
	padding: clamp(1.25rem, 2vw, 1.5rem);
	-webkit-backdrop-filter: blur(16px) saturate(108%);
	backdrop-filter: blur(16px) saturate(108%);
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__contact-card h3 {
	text-align: left;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-contact-form {
	margin-top: 1rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-contact-form__row {
	display: contents;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 form > :is(.topaz-contact-form__field:has(textarea), .topaz-contact-form__marketing-consent, p, .wpcf7-response-output) {
	grid-column: 1 / -1;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-contact-form__field > p {
	gap: 0.3rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 label {
	font-size: 0.8125rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 :is(input:not([type="submit"]), select, textarea) {
	padding-right: 0.875rem;
	padding-left: 0.875rem;
	font-size: 1rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 :is(input:not([type="submit"]), select) {
	height: 2.875rem;
	min-height: 2.875rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 textarea {
	height: 5.5rem;
	min-height: 5rem;
	padding-top: 0.7rem;
	padding-bottom: 0.7rem;
	resize: vertical;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-contact-form__marketing-consent {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.4rem 1rem;
	align-items: end;
	padding-top: 0;
}

.topaz-treatment .topaz-video-form-cta--treatment .topaz-contact-form__marketing-consent > p {
	grid-column: 1 / -1;
	margin-top: 0;
	padding-left: 2.2rem;
}

.topaz-treatment .topaz-video-form-cta--treatment .wpcf7-submit {
	justify-self: start;
	min-height: 2.875rem;
}

@media (max-width: 1100px) {
	.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
		width: min(100%, 51.25rem);
	}

	.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__copy {
		max-width: 40rem;
	}
}

.topaz-video-form-cta--treatment.is-video-unavailable .topaz-video-form-cta__video {
	display: none;
}

.topaz-treatment .topaz-treatment__cta-primary {
	color: var(--topaz-treatment-forest);
	border: 1px solid rgb(255 255 255 / 0.78);
	background: rgb(255 255 255 / 0.9);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.86), 0 0.75rem 1.75rem rgb(0 15 10 / 0.22);
}

@media (prefers-reduced-transparency: reduce) {
	.topaz-treatment__hero-actions .button,
	.topaz-treatment__benefits li,
	.topaz-treatment .topaz-treatment__cta-primary {
		background: #ffffff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.topaz-treatment__back-link,
	.topaz-treatment__suitability-details,
	.topaz-treatment__faq .topaz-faq__item {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (min-width: 1024px) and (max-width: 1100px) {
	.topaz-video-form-cta__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
		padding: 2.5rem;
	}

	.topaz-video-form-cta__contact-card {
		width: 100%;
		max-width: 35rem;
	}
}

@media (max-width: 1023px) {
	.topaz-treatment__hero {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr);
		gap: 2.5rem;
	}

	.topaz-treatment__section,
	.topaz-treatment__faq,
	.topaz-treatment__related {
		padding-block: 4rem;
	}

	.topaz-treatment__related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.topaz-treatment__section--process {
		gap: 3rem;
	}

	.topaz-treatment__section--care,
	.topaz-video-form-cta__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-video-form-cta__inner {
		gap: 2rem;
		padding: 2.5rem;
	}

	.topaz-video-form-cta__contact-card {
		justify-self: stretch;
		width: 100%;
		max-width: none;
		padding: 1.375rem;
	}

	.topaz-video-form-cta__contact-form .wpcf7 .topaz-contact-form__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-video-form-cta__contact-form .wpcf7 :is(input:not([type="submit"]), select) {
		height: 2.75rem;
		min-height: 2.75rem;
	}

	.topaz-video-form-cta__contact-form .wpcf7 textarea {
		height: 4.5rem;
		min-height: 4.5rem;
	}

	.topaz-video-form-cta__contact-form .wpcf7 .wpcf7-submit {
		min-height: 2.75rem;
	}

	.topaz-video-form-cta__copy {
		padding: 0;
	}
}

@media (max-width: 767px) {
	.topaz-treatment__breadcrumbs,
	.topaz-treatment__hero,
	.topaz-treatment__content,
	.topaz-treatment__faq-inner,
	.topaz-treatment__related-inner,
	.topaz-video-form-cta__inner {
		width: min(calc(100% - 2.5rem), 1320px);
	}

	.topaz-treatment__breadcrumbs {
		padding-top: 7rem;
	}

	.topaz-treatment__hero,
	.topaz-treatment__overview-layout,
	.topaz-treatment__section--process,
	.topaz-treatment__faq-inner {
		grid-template-columns: 1fr;
	}

	.topaz-treatment__hero {
		gap: 2rem;
		padding-top: 1.25rem;
		padding-bottom: 3rem;
	}

	.topaz-treatment__hero h1 {
		font-size: clamp(2.4rem, 10vw, 3.25rem);
	}

	.topaz-treatment__hero-media {
		max-height: none;
		aspect-ratio: 4 / 5;
	}

	.topaz-treatment__hero-facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 1rem;
	}

	.topaz-treatment__hero-facts > div {
		min-width: 0;
		padding-right: 1rem;
	}

	.topaz-treatment__hero-facts > div + div {
		padding-left: 1rem;
	}

	.topaz-treatment__hero-facts > div:nth-child(3) {
		grid-column: 1 / -1;
		padding-top: 1rem;
		padding-left: 0;
		border-top: 1px solid var(--topaz-treatment-border);
		border-left: 0;
	}

	.topaz-treatment__hero-facts--cosmelan {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-treatment__hero-facts--cosmelan > div,
	.topaz-treatment__hero-facts--cosmelan > div + div,
	.topaz-treatment__hero-facts--cosmelan > div:nth-child(3) {
		min-width: 0;
		padding: 0;
		border: 0;
		grid-column: auto;
	}

	.topaz-treatment__hero-facts--cosmelan > div + div {
		padding-top: 1rem;
		border-top: 1px solid var(--topaz-treatment-border);
	}

	.topaz-treatment__section,
	.topaz-treatment__faq,
	.topaz-treatment__related {
		padding-block: 3rem;
	}

	.topaz-treatment__section--warm {
		padding: 2.5rem 1.25rem;
	}

	.topaz-treatment__suitability-details summary {
		grid-template-columns: 2.5rem minmax(0, 1fr) 2.25rem;
		gap: 0.75rem;
		padding: 1.125rem;
	}

	.topaz-treatment__suitability-body {
		grid-template-columns: 1fr;
		padding: 0 1.125rem 1.125rem;
	}

	.topaz-treatment__section--process {
		gap: 2rem;
	}

	.topaz-treatment__botanical img {
		object-position: 42% center;
	}

	.topaz-treatment__botanical::after {
		background:
			radial-gradient(ellipse at 70% 34%, rgb(5 31 32 / 0.38), rgb(5 31 32 / 0.7) 64%, rgb(5 31 32 / 0.88) 100%),
			linear-gradient(180deg, rgb(5 31 32 / 0.74) 0%, rgb(5 31 32 / 0.84) 78%, var(--topaz-catalog-depth) 100%);
	}

	.topaz-treatment__section-background img {
		width: 138%;
		max-width: none;
	}

	.topaz-treatment__section-background--benefits img {
		left: -38%;
		object-position: left center;
	}

	.topaz-treatment__section-background--benefits::after,
	.topaz-treatment__section-background--care::after {
		background:
			linear-gradient(180deg, var(--topaz-catalog-depth) 0%, rgb(5 31 32 / 0.34) 25%, rgb(5 31 32 / 0.34) 74%, var(--topaz-catalog-depth) 100%),
			linear-gradient(90deg, rgb(5 31 32 / 0.42) 0%, rgb(5 31 32 / 0.9) 66%, var(--topaz-catalog-depth) 100%);
	}

	.topaz-treatment__section-background--process img {
		width: min(82vw, 34rem);
	}

	.topaz-treatment__section-background--process::after {
		background:
			linear-gradient(180deg, #051f20 0%, rgb(5 31 32 / 0.3) 26%, rgb(5 31 32 / 0.3) 72%, #051f20 100%),
			linear-gradient(90deg, #051f20 0%, rgb(5 31 32 / 0.96) 48%, rgb(5 31 32 / 0.64) 100%);
	}

	.topaz-treatment__section-background--care img {
		left: auto;
		right: -42%;
		object-position: right center;
	}

	.topaz-treatment .topaz-video-form-cta--treatment {
		--topaz-treatment-video-edge-fade: clamp(3rem, 14vw, 5rem);
	}

	.topaz-treatment__benefits,
	.topaz-treatment__included,
	.topaz-treatment__related-grid,
	.topaz-treatment__gallery {
		grid-template-columns: 1fr;
	}

	.topaz-treatment__steps li {
		padding: 1.1rem 0 1.1rem 3.5rem;
	}

	.topaz-treatment__faq-inner {
		gap: 2rem;
	}

	.topaz-video-form-cta {
		padding-inline: 1.25rem;
	}

	.topaz-video-form-cta__inner {
		width: 100%;
		gap: 1.875rem;
		padding: 1.5rem 1.25rem;
		border-radius: 1.25rem;
	}

	.topaz-video-form-cta__inner::before {
		background: linear-gradient(180deg, rgb(23 61 43 / 0.88) 0%, rgb(23 61 43 / 0.82) 52%, rgb(23 61 43 / 0.9) 100%);
	}

	.topaz-treatment__care-panel {
		min-height: 0;
	}

	.topaz-video-form-cta__contact-card {
		padding: 1.375rem;
	}
}

@media (max-width: 430px) {
	.topaz-treatment__hero-actions,
	.topaz-treatment__hero-actions .button,
	.topaz-treatment__context-actions,
	.topaz-treatment__context-actions .button,
	.topaz-video-form-cta .button {
		width: 100%;
	}

	.topaz-treatment__back-link {
		justify-content: center;
	}

	.topaz-video-form-cta__actions {
		flex-direction: column;
		gap: 0.625rem;
		align-items: stretch;
	}

	.topaz-treatment__context-actions {
		flex-direction: column;
		gap: 0.625rem;
		align-items: stretch;
	}
}

@media (max-width: 600px) {
	.topaz-treatment__care-tablist,
	.topaz-video-form-cta__contact-form .wpcf7 .topaz-contact-form__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-treatment .topaz-video-form-cta--treatment .wpcf7 form {
		grid-template-columns: minmax(0, 1fr);
	}

	.topaz-treatment__care-tab {
		min-height: 4.25rem;
	}

	.topaz-treatment__care-panel {
		padding: 1.25rem;
	}
}

@media (hover: hover) and (pointer: fine) {
	.topaz-video-form-cta__secondary:hover {
		color: var(--topaz-treatment-forest);
		border-color: #ffffff;
		background: #ffffff;
		box-shadow: none;
		transform: translateY(-1px);
	}

	.topaz-treatment__context-actions .topaz-treatment__cta-secondary:hover {
		color: var(--topaz-treatment-forest);
		border-color: #ffffff;
		background: #ffffff;
		transform: translateY(-1px);
	}

	.topaz-treatment__benefits li,
	.topaz-treatment__care-tab,
	.topaz-treatment__related-media img {
		transition: border-color 180ms var(--topaz-ease-out), transform 220ms var(--topaz-ease-out);
	}

	.topaz-treatment__benefits li:hover {
		border-color: var(--topaz-treatment-eucalyptus);
		transform: translateY(-2px);
	}

	.topaz-treatment__care-tab:hover {
		transform: translateY(-2px);
	}

	.topaz-treatment__care-tab:active {
		transform: scale(0.985);
	}

	.topaz-treatment__related-media:hover img {
		transform: scale(1.02);
	}

}

@media (prefers-reduced-motion: reduce) {
	.topaz-video-form-cta__secondary {
		transition: none;
	}

	.topaz-treatment__context-actions .topaz-treatment__cta-secondary {
		transition: none;
	}

	.topaz-treatment__context-actions .topaz-treatment__cta-secondary:hover,
	.topaz-treatment__context-actions .topaz-treatment__cta-secondary:active {
		transform: none;
	}

	.topaz-video-form-cta__secondary:hover,
	.topaz-video-form-cta__secondary:active {
		transform: none;
	}

	.topaz-treatment__benefits li,
	.topaz-treatment__care-tab,
	.topaz-treatment__related-media img {
		transition: none;
	}

	.topaz-treatment__care-tabs.is-enhanced:not(.is-introduced) .topaz-treatment__care-tab,
	.topaz-treatment__care-tab:hover,
	.topaz-treatment__care-tab:active {
		transform: none;
	}

	.topaz-treatment__care-tabs.is-enhanced:not(.is-introduced) .topaz-treatment__care-tab {
		opacity: 1;
	}

	.topaz-video-form-cta__video {
		display: none;
	}

	.topaz-treatment .topaz-video-form-cta--treatment .topaz-video-form-cta__video {
		display: block;
	}
}

/* Dynamic Treatments menu shared by desktop and mobile navigation. */
.primary-navigation .topaz-treatments-menu {
	left: 42%;
	width: min(68rem, calc(100vw - 4rem));
	padding: 1.5rem;
	border-radius: 1.25rem;
	background: rgb(255 255 255 / 0.99);
}

.topaz-treatments-menu__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.5rem;
}

.topaz-treatments-menu__group-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.primary-navigation .topaz-treatments-menu .topaz-treatments-menu__category {
	display: block;
	min-height: 0;
	padding: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: var(--topaz-font-medium);
	line-height: 1.35;
	text-transform: uppercase;
	white-space: normal;
	color: var(--topaz-eucalyptus);
	border-bottom: 1px solid var(--topaz-border);
	border-radius: 0;
}

.topaz-treatments-menu__group ul {
	padding: 0.6rem 0 0;
	margin: 0;
	list-style: none;
}

.primary-navigation .topaz-treatments-menu__group li a {
	min-height: 2.35rem;
	padding: 0.4rem 0;
	font-size: 0.875rem;
	line-height: 1.35;
	border-radius: 0;
}

.primary-navigation .topaz-treatments-menu__group li a:hover,
.primary-navigation .topaz-treatments-menu__group li a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.22rem;
	background: transparent;
}

.topaz-treatments-menu__category-toggle {
	display: none;
}

.primary-navigation .topaz-treatments-menu__view-all {
	display: inline-flex;
	min-height: 2.75rem;
	padding: 0.7rem 1rem;
	margin-top: 1.25rem;
	font-size: 0.875rem;
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-white);
	border-radius: 999px;
	background: var(--topaz-forest);
}

.site-header--over-media .site-header__navigation a.topaz-treatments-menu__view-all,
.site-header--over-media .site-header__navigation a.topaz-treatments-menu__view-all:hover,
.site-header--over-media .site-header__navigation a.topaz-treatments-menu__view-all:focus-visible {
	color: var(--topaz-white);
	background: var(--topaz-forest);
}

.topaz-treatment-card h3 a {
	color: #f4f8f6;
	text-decoration: none;
}

.topaz-treatment-card h3 a:hover,
.topaz-treatment-card h3 a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.25rem;
}

@media (max-width: 1099px) {
	.primary-navigation .topaz-treatments-menu {
		width: auto;
		padding: 0.25rem 0 0.5rem 0.75rem;
		background: transparent;
	}

	.topaz-treatments-menu__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}

	.topaz-treatments-menu__group-header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 2.75rem;
		align-items: center;
	}

	.primary-navigation .topaz-treatments-menu .topaz-treatments-menu__category {
		min-height: 2.75rem;
		padding: 0.55rem 0.75rem;
		font-size: 0.875rem;
		text-transform: none;
		color: var(--topaz-forest);
		border: 0;
		border-radius: 0.75rem;
	}

	.topaz-treatments-menu__category-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		color: var(--topaz-forest);
		cursor: pointer;
		border: 0;
		border-radius: 0.75rem;
		background: transparent;
	}

	.topaz-treatments-menu__category-toggle[aria-expanded="true"] .primary-navigation__chevron {
		transform: translateY(0.1rem) rotate(225deg);
	}

	.js .topaz-treatments-menu__group:not(.is-expanded) > ul {
		display: none;
	}

	.topaz-treatments-menu__group ul {
		padding: 0 0 0.35rem 1rem;
	}

	.primary-navigation .topaz-treatments-menu__group li a {
		min-height: 2.75rem;
		padding: 0.55rem 0.75rem;
		font-size: 0.9375rem;
		border-radius: 0.75rem;
	}

	.primary-navigation .topaz-treatments-menu__view-all {
		display: flex;
		margin: 0.5rem 0 0;
	}
}

/* Internal Acuity booking page. */
.topaz-booking-page {
	color: var(--topaz-text);
	background: var(--topaz-surface-page);
	overflow: clip;
}

.topaz-booking-page :is(h1, h2, p) {
	letter-spacing: 0;
}

.topaz-booking__container {
	width: min(100%, 75rem);
	margin-inline: auto;
}

.topaz-booking-hero {
	padding: clamp(7.5rem, 11vw, 10rem) clamp(1.25rem, 4vw, 3rem) clamp(4.5rem, 7vw, 6.5rem);
	border-bottom: 1px solid var(--topaz-border);
	background:
		radial-gradient(circle at 84% 16%, rgb(174 188 175 / 0.2), transparent 28rem),
		linear-gradient(145deg, var(--topaz-surface-page), var(--topaz-surface-sage) 72%, var(--topaz-surface-warm));
}

.topaz-booking-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem clamp(2rem, 7vw, 7rem);
	align-items: end;
}

.topaz-booking__eyebrow {
	grid-column: 1 / -1;
	margin: 0;
	font-size: var(--topaz-text-label);
	font-weight: var(--topaz-font-medium);
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--topaz-eucalyptus);
}

.topaz-booking-hero h1 {
	grid-column: 1;
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.25rem, 6.3vw, 6.25rem);
	font-weight: var(--topaz-font-light);
	line-height: 0.96;
	color: var(--topaz-forest);
	text-wrap: balance;
}

.topaz-booking-hero__intro {
	grid-column: 1;
	max-width: 47rem;
	font-size: clamp(1.05rem, 1.45vw, 1.22rem);
	line-height: 1.7;
	color: var(--topaz-muted);
}

.topaz-booking-hero__intro > :first-child {
	margin-top: 0;
}

.topaz-booking-hero__intro > :last-child {
	margin-bottom: 0;
}

.topaz-booking-hero__gift-link {
	display: inline-flex;
	grid-column: 2;
	grid-row: 2 / span 2;
	gap: 0.55rem;
	align-items: center;
	min-height: 3rem;
	padding-bottom: 0.35rem;
	font-weight: var(--topaz-font-medium);
	color: var(--topaz-forest);
	text-decoration: none;
	border-bottom: 1px solid rgb(24 58 42 / 0.35);
}

.topaz-booking-hero__gift-link:hover,
.topaz-booking-hero__gift-link:focus-visible {
	border-color: currentColor;
}

.topaz-booking-calendar {
	padding: clamp(4.5rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem) clamp(5rem, 9vw, 8rem);
	background: var(--topaz-white);
}

.topaz-booking-calendar__header {
	max-width: 48rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.topaz-booking-calendar__header h2 {
	margin: 0.8rem 0 0;
	font-size: clamp(2.4rem, 4.5vw, 4.5rem);
	font-weight: var(--topaz-font-light);
	line-height: 1;
	color: var(--topaz-forest);
	text-wrap: balance;
}

.topaz-booking-calendar__header > p:last-child {
	margin: 1rem 0 0;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--topaz-muted);
}

.topaz-booking-embed {
	position: relative;
	min-width: 0;
	min-height: 44rem;
	overflow: hidden;
	border: 1px solid var(--topaz-border);
	border-radius: clamp(1.25rem, 2.5vw, 2rem);
	background: #ffffff;
	box-shadow: 0 1.5rem 4rem rgb(24 58 42 / 0.09);
}

.topaz-booking-embed__status {
	position: absolute;
	top: 3rem;
	right: 1.5rem;
	left: 1.5rem;
	margin: 0;
	text-align: center;
	color: var(--topaz-muted);
}

.topaz-booking-embed.is-loaded .topaz-booking-embed__status {
	display: none;
}

.topaz-booking-embed__frame {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 44rem;
	border: 0;
	background: transparent;
}

.topaz-booking-embed__fallback,
.topaz-booking-embed__noscript {
	margin: 0;
	padding: 1.25rem clamp(1rem, 3vw, 2rem) 2rem;
	text-align: center;
	background: #f3f6f1;
}

.topaz-booking-embed__fallback p {
	margin: 0 0 1rem;
}

@media (max-width: 767px) {
	.topaz-booking-hero {
		padding-top: 7.25rem;
		padding-bottom: 4rem;
	}

	.topaz-booking-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
	}

	.topaz-booking-hero h1,
	.topaz-booking-hero__intro,
	.topaz-booking-hero__gift-link {
		grid-column: 1;
		grid-row: auto;
	}

	.topaz-booking-hero h1 {
		font-size: clamp(3rem, 14vw, 4.5rem);
	}

	.topaz-booking-hero__gift-link {
		justify-self: start;
		margin-top: 0.5rem;
	}

	.topaz-booking-calendar {
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}

	.topaz-booking-calendar__header {
		padding-inline: 0.5rem;
	}

	.topaz-booking-embed {
		border-radius: 1rem;
	}
}
