/* ==========================================================================
   UpHive Dental: identity for the dental demo (Everwell Dental Studio).

   Direction: "calm, refined, reassuring". Warm ivory grounds, soft stone and
   sage tints, deep evergreen for actions and dark grounds, charcoal text and
   a brass accent used sparingly. The arch is the signature: arched photo
   frames, the logo, the eyebrow mark and the closing band, echoing a doorway
   and the curve of a smile. Headings are set in Newsreader (an editorial
   serif, often in italic for one phrase); body text in Figtree.

   Contrast (WCAG 2.1, measured): charcoal on ivory 14.0, slate on ivory 8.0,
   muted on ivory 5.6, muted on stone 5.0, muted on sage tint 4.95, white on
   evergreen 9.7, brass text on ivory 5.3, ivory on deep evergreen 12.1,
   muted on deep 7.7, brass light on deep 7.7. Form field borders ≥ 3:1.
   Sage (2.4:1) is decorative only, never text.

   Contents
   01 Fonts & tokens      07 Treatments        13 Page heroes, profile
   02 Type                08 Team              14 CTA band
   03 Buttons & header    09 Journey, timeline 15 Contact & form
   04 Photos & the arch   10 Gallery           16 Footer & call bar
   05 Home hero           11 Testimonials      17 Small screens & preview
   06 Bands & points      12 Notes, FAQ, lists
   ========================================================================== */

/* 01 Fonts & tokens -------------------------------------------------------- */
@font-face {
	font-family: "Newsreader";
	src: url("fonts/newsreader-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Newsreader";
	src: url("fonts/newsreader-latin-wght-italic.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("fonts/figtree-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}
:root {
	--ew-ivory: #f8f5ef;
	--ew-paper: #ffffff;
	--ew-stone: #eee8de;
	--ew-stone-2: #e4dccf;
	--ew-sage-soft: #e3e9e1;
	--ew-sage: #8fa593;
	--ew-sage-dark: #4e6b58;
	--ew-evergreen: #2e4a3d;
	--ew-evergreen-hover: #233a30;
	--ew-deep: #1e302a;
	--ew-deeper: #17251f;
	--ew-charcoal: #22262a;
	--ew-slate: #454d49;
	--ew-muted: #5b6460;
	--ew-rule: #ddd5c7;
	--ew-field: #858c87;
	--ew-brass: #a27b45;
	--ew-brass-text: #80602f;
	--ew-brass-light: #d8be8e;
	--ew-clay-soft: #f5e7e0;
	--ew-clay: #9a3d2a;

	--d-bg: var(--ew-ivory);
	--d-tint: var(--ew-stone);
	--d-fg: var(--ew-charcoal);
	--d-fg-soft: var(--ew-slate);
	--d-fg-muted: var(--ew-muted);
	--d-rule: var(--ew-rule);
	--d-accent: var(--ew-evergreen);
	--d-accent-hover: var(--ew-evergreen-hover);
	--d-accent-ink: #fff;
	--d-dark: var(--ew-deep);
	--d-dark-2: var(--ew-deeper);
	--d-dark-fg: #f3efe7;
	--d-dark-muted: #b9c4bc;
	--d-dark-rule: rgba(243, 239, 231, 0.16);
	--d-dark-accent: var(--ew-brass-light);
	--d-focus: var(--ew-evergreen);
	--d-ok: #2f6b47;
	--d-error: #a3312a;
	--d-font-head: "Newsreader", "Iowan Old Style", Georgia, serif;
	--d-font-text: "Figtree", "Helvetica Neue", Arial, sans-serif;
	--d-radius: 999px;
	--d-radius-lg: 22px;
	--d-max: 1240px;
	--d-header-h: 5.25rem;

	--ew-r: 20px;
	--ew-r-sm: 12px;
	--ew-fs-display: clamp(2.9rem, 1.7rem + 4.6vw, 5.6rem);
	--ew-fs-h1: clamp(2.45rem, 1.7rem + 3vw, 4.3rem);
	--ew-fs-h2: clamp(2rem, 1.45rem + 2.1vw, 3.25rem);
	--ew-fs-h3: clamp(1.45rem, 1.25rem + 0.7vw, 1.85rem);
	--ew-fs-h4: 1.32rem;
	--ew-fs-lead: clamp(1.12rem, 1.04rem + 0.35vw, 1.32rem);
	--ew-shadow: 0 1px 2px rgba(30, 48, 42, 0.05), 0 28px 60px -34px rgba(30, 48, 42, 0.4);
	--ew-arch: 50% 50% var(--ew-r) var(--ew-r) / 40% 40% var(--ew-r) var(--ew-r);
}
.uhd-dark,
.uhd-footer {
	--ew-rule: rgba(243, 239, 231, 0.16);
}
::selection {
	background: var(--ew-sage-soft);
	color: var(--ew-deep);
}
html body.uhd {
	font-size: 1.0625rem;
	line-height: 1.65;
}

/* Icons for this industry (add uhd-ico uhd-ico--<name>). */
.uhd-ico--tooth { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.6 3.5c-2.4 0-4.1 1.9-4.1 4.6 0 2.4.9 3.6 1.5 5.4.8 2.3.8 7 2.8 7 1.6 0 1.6-4.6 2.3-6 .5-1 1.2-1.1 1.9-1.1s1.4.1 1.9 1.1c.7 1.4.7 6 2.3 6 2 0 2-4.7 2.8-7 .6-1.8 1.5-3 1.5-5.4 0-2.7-1.7-4.6-4.1-4.6-1.9 0-2.8 1.1-4.4 1.1S9.5 3.5 7.6 3.5z'/%3E%3C/svg%3E"); }
.uhd-ico--smile { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10c2.4 1.2 5.2 1.8 8.5 1.8s6.1-.6 8.5-1.8'/%3E%3Cpath d='M3.5 10c2 4.6 5 7 8.5 7s6.5-2.4 8.5-7'/%3E%3Cpath d='M9 11.6v1.9M12 11.8v2.2M15 11.6v1.9'/%3E%3C/svg%3E"); }
.uhd-ico--sparkle { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 3l1.8 5.2L18 10l-5.2 1.8L11 17l-1.8-5.2L4 10l5.2-1.8z'/%3E%3Cpath d='M18.5 15l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z'/%3E%3C/svg%3E"); }
.uhd-ico--implant { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.2 3.5h9.6c1 0 1.6.8 1.4 1.8L17.4 9H6.6l-.8-3.7c-.2-1 .4-1.8 1.4-1.8z'/%3E%3Cpath d='M9 9v2.2h6V9M9.3 13.5h5.4M9.8 16h4.4M10.3 18.5h3.4M12 11.2V21'/%3E%3C/svg%3E"); }
.uhd-ico--aligner { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5c0 6.3 3.8 11 8.5 11s8.5-4.7 8.5-11'/%3E%3Cpath d='M7.5 8.5c0 4.6 2 7.7 4.5 7.7s4.5-3.1 4.5-7.7M3.5 8.5h4M16.5 8.5h4'/%3E%3C/svg%3E"); }
.uhd-ico--urgent { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.2 3.5h5.6v5.7h5.7v5.6h-5.7v5.7H9.2v-5.7H3.5V9.2h5.7z'/%3E%3C/svg%3E"); }
.uhd-ico--info { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.2'/%3E%3C/svg%3E"); }

/* 02 Type ------------------------------------------------------------------ */
.uhd-display .elementor-heading-title,
.uhd-h1 .elementor-heading-title,
.uhd-h2 .elementor-heading-title,
.uhd-h3 .elementor-heading-title,
.uhd-h4 .elementor-heading-title {
	font-family: var(--d-font-head);
	color: inherit;
	text-wrap: balance;
}
.uhd-display .elementor-heading-title {
	font-size: var(--ew-fs-display);
	font-weight: 360;
	line-height: 0.98;
	letter-spacing: -0.03em;
}
.uhd-h1 .elementor-heading-title {
	font-size: var(--ew-fs-h1);
	font-weight: 380;
	line-height: 1.04;
	letter-spacing: -0.025em;
}
.uhd-h2 .elementor-heading-title {
	font-size: var(--ew-fs-h2);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.uhd-h3 .elementor-heading-title {
	font-size: var(--ew-fs-h3);
	font-weight: 450;
	line-height: 1.18;
	letter-spacing: -0.01em;
}
.uhd-h4 .elementor-heading-title {
	font-size: var(--ew-fs-h4);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.005em;
}
.uhd-h3 .elementor-heading-title a {
	color: inherit;
	text-decoration: none;
}
.uhd-h3 .elementor-heading-title a:hover {
	color: var(--ew-evergreen);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}
/* One phrase per headline may be set in italic brass: wrap it in <em>. */
.uhd .elementor-heading-title em {
	font-style: italic;
	font-weight: inherit;
	color: var(--ew-brass-text);
}
.uhd-dark .elementor-heading-title em {
	color: var(--ew-brass-light);
}
/* Eyebrow: a small arch, then a spaced label. */
.uhd-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	font-family: var(--d-font-text);
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--ew-sage-dark);
}
.uhd-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 0.7rem;
	height: 0.85rem;
	border: 1.5px solid var(--ew-brass);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
}
.uhd-dark .uhd-eyebrow .elementor-heading-title {
	color: var(--d-dark-muted);
}
.uhd-dark .uhd-eyebrow .elementor-heading-title::before {
	border-color: var(--ew-brass-light);
}
.uhd-lead,
.uhd-lead p {
	font-size: var(--ew-fs-lead);
	line-height: 1.6;
	color: var(--ew-slate);
}
.uhd-dark .uhd-lead,
.uhd-dark .uhd-lead p {
	color: var(--d-dark-muted);
}
.uhd-body,
.uhd-body p {
	color: var(--ew-slate);
}
.uhd-dark .uhd-body p {
	color: var(--d-dark-muted);
}
.uhd-small,
.uhd-small p {
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--ew-muted);
}
.uhd-dark .uhd-small,
.uhd-dark .uhd-small p {
	color: var(--d-dark-muted);
}
.uhd .elementor-widget-text-editor a {
	color: var(--ew-evergreen);
	text-decoration: underline;
	text-decoration-color: var(--ew-brass);
	text-underline-offset: 0.2em;
}
.uhd .elementor-widget-text-editor a:hover {
	text-decoration-thickness: 2px;
}
.uhd-textlink .elementor-heading-title {
	font-family: var(--d-font-text);
	font-size: 1rem;
	font-weight: 650;
}
.uhd-textlink .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--ew-evergreen);
	text-decoration: underline;
	text-decoration-color: var(--ew-brass);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}
.uhd-textlink .elementor-heading-title a::after {
	content: "";
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: var(--ico-arrow) center / contain no-repeat;
	mask: var(--ico-arrow) center / contain no-repeat;
	transition: transform 0.3s var(--d-ease);
}
.uhd-textlink .elementor-heading-title a:hover::after {
	transform: translateX(4px);
}
.uhd-dark .uhd-textlink .elementor-heading-title a {
	color: var(--ew-brass-light);
}
:root {
	--ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.ew-prose p {
	max-width: 40rem;
}
.ew-prose p:first-child {
	font-size: 1.15rem;
	color: var(--ew-charcoal);
}
.ew-head-c {
	max-width: 46rem;
	margin-inline: auto;
	text-align: center;
	justify-items: center;
}
.uhd .e-con.ew-head-c {
	align-items: center;
}
.ew-center {
	text-align: center;
}
.ew-chip .elementor-heading-title,
.ew-sample {
	display: inline-block;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	background: var(--ew-stone);
	color: var(--ew-muted);
	font-family: var(--d-font-text);
	font-size: 0.72rem;
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.ew-sample {
	margin-right: 0.35rem;
	padding: 0.15rem 0.55rem;
	background: var(--ew-sage-soft);
	color: var(--ew-sage-dark);
	font-size: 0.66rem;
	vertical-align: 0.1em;
}

/* 03 Buttons & header ------------------------------------------------------ */
.uhd-btn,
.uhd-button .elementor-button {
	font-family: var(--d-font-text);
	font-weight: 600;
	letter-spacing: 0.005em;
	padding-inline: 1.5rem;
}
.uhd-btn--lg,
.uhd-button--lg .elementor-button {
	padding-inline: 1.85rem;
}
.uhd-btn--outline,
.uhd-button--outline .elementor-button {
	--btn-fg: var(--ew-evergreen);
	--btn-hover-bg: var(--ew-evergreen);
	--btn-hover-fg: #fff;
	border-color: var(--ew-evergreen);
}
.uhd-button--outline .elementor-button:hover {
	border-color: var(--ew-evergreen);
}
.uhd-dark .uhd-button--outline .elementor-button {
	--btn-fg: var(--d-dark-fg);
	--btn-hover-bg: var(--d-dark-fg);
	--btn-hover-fg: var(--ew-deep);
	border-color: rgba(243, 239, 231, 0.55);
}
.ew-button--light .elementor-button {
	--btn-bg: var(--ew-ivory);
	--btn-fg: var(--ew-deep);
	--btn-hover-bg: var(--ew-brass-light);
	--btn-hover-fg: var(--ew-deep);
}

.uhd-header {
	background: var(--ew-ivory);
	border-bottom: 1px solid var(--ew-rule);
}
.uhd-topbar {
	background: var(--ew-stone);
	color: var(--ew-slate);
}
.uhd-topbar .uhd-i {
	color: var(--ew-sage-dark);
}
.uhd-topbar__urgent a {
	color: var(--ew-brass-text);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
.uhd-logo {
	color: var(--ew-charcoal);
}
.uhd-logo__name {
	font-family: var(--d-font-head);
	font-size: 1.62rem;
	font-weight: 450;
	letter-spacing: -0.015em;
	line-height: 0.95;
}
.uhd-logo__sub {
	margin-top: 0.3rem;
	font-size: 0.66rem;
	font-weight: 650;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ew-muted);
}
.uhd-logo--light {
	color: var(--d-dark-fg);
}
.uhd-logo--light .uhd-logo__sub {
	color: var(--d-dark-muted);
}
.uhd-logo--light .uhd-logo__mark path:first-child {
	fill: var(--ew-evergreen);
}
.uhd-nav__list > li > a {
	color: var(--ew-charcoal);
}
.uhd-nav__list > li > a:hover {
	color: var(--ew-evergreen);
}
.uhd-nav__list > li > a[aria-current] {
	color: var(--ew-evergreen);
}
.uhd-sub-toggle {
	color: var(--ew-slate);
}
.uhd-sub a {
	color: var(--ew-charcoal);
	text-decoration: none;
	border-radius: var(--ew-r-sm);
}
.uhd-sub a[aria-current="page"] .uhd-sub__title {
	color: var(--ew-evergreen);
	text-decoration: underline;
	text-decoration-color: var(--ew-brass);
	text-underline-offset: 0.25em;
}
.uhd-sub__title {
	font-weight: 600;
}
.uhd-sub a.uhd-ico::before {
	--ico-size: 1.3rem;
	color: var(--ew-evergreen);
}
.ew-sub__face {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	object-fit: cover;
	object-position: center 20%;
}
.uhd-phone {
	color: var(--ew-charcoal);
}
.uhd-phone .uhd-i {
	color: var(--ew-evergreen);
	background: var(--ew-stone);
}
.uhd-phone:hover .uhd-i {
	background: var(--ew-sage-soft);
}
.uhd-phone__label {
	font-size: 0.75rem;
	color: var(--ew-muted);
}
.uhd-phone__number {
	font-weight: 650;
}
.ew-panel-foot {
	display: grid;
	gap: 0.6rem;
	justify-items: start;
	margin-top: 1.75rem;
	color: var(--ew-muted);
	font-size: 0.92rem;
}
.uhd-menu-btn {
	border-color: var(--ew-rule);
}

@media (max-width: 1179.98px) {
	.uhd-nav__list > li > a {
		font-family: var(--d-font-head);
		font-size: 1.5rem;
		font-weight: 400;
	}
	.uhd-sub a.uhd-ico::before {
		left: 0.2rem;
	}
	.uhd-sub a:not(.uhd-ico) {
		padding-left: 0.25rem;
	}
	.ew-sub--dentists .uhd-sub a {
		display: grid;
		grid-template-columns: 2.75rem minmax(0, 1fr);
		column-gap: 0.85rem;
		align-items: center;
		padding-left: 0.25rem;
	}
	.ew-sub--dentists .ew-sub__face {
		grid-row: span 2;
	}
}
@media (min-width: 1180px) {
	.uhd-header__main {
		gap: 2rem;
	}
	.uhd-nav__list > li > a {
		font-size: 0.98rem;
		font-weight: 550;
	}
	.uhd-nav__list > li > a[aria-current]::after {
		content: "";
		display: block;
		height: 1.5px;
		margin-top: 0.2rem;
		background: var(--ew-brass);
	}
	.ew-panel-foot {
		display: none;
	}
	.uhd-sub {
		background: var(--ew-paper);
		box-shadow: var(--ew-shadow);
	}
	.uhd-sub a:hover {
		background: var(--ew-ivory);
	}
	.uhd-sub a.uhd-ico::before {
		width: 2.25rem;
		height: 2.25rem;
		padding: 0.5rem;
		border-radius: 999px 999px 10px 10px;
		background: var(--ew-sage-soft);
		-webkit-mask: none;
		mask: none;
	}
	/* The icon sits on an arch-shaped tile: two layers, so the mask can't clip the tile. */
	.uhd-sub a.uhd-ico {
		position: relative;
	}
	.uhd-sub a.uhd-ico::after {
		content: "";
		position: absolute;
		left: calc(0.75rem + 0.5rem);
		top: calc(0.75rem + 0.5rem);
		width: 1.25rem;
		height: 1.25rem;
		background: var(--ew-evergreen);
		-webkit-mask: var(--ico) center / contain no-repeat;
		mask: var(--ico) center / contain no-repeat;
	}
	.uhd-sub a:not(.uhd-ico) {
		grid-template-columns: minmax(0, 1fr);
	}
	.ew-sub--dentists .uhd-sub,
	.ew-sub--patients .uhd-sub {
		grid-template-columns: minmax(17rem, 1fr);
	}
	.ew-sub--dentists .uhd-sub a {
		grid-template-columns: 2.75rem minmax(0, 1fr);
		align-items: center;
	}
	.ew-sub--dentists .ew-sub__face {
		grid-row: span 2;
	}
}
@media (min-width: 1320px) {
	.uhd-phone__text {
		display: none;
	}
}
@media (min-width: 1440px) {
	.uhd-phone__text {
		display: grid;
		line-height: 1.2;
	}
}

/* 04 Photos & the arch ------------------------------------------------------ */
.ew-photo img {
	width: 100%;
	height: auto;
	border-radius: var(--ew-r);
	object-fit: cover;
}
.ew-arch img {
	aspect-ratio: 4 / 5;
	border-radius: var(--ew-arch);
}

/* 05 Home hero -------------------------------------------------------------- */
.uhd .elementor .elementor-element.e-con.uhd-section.ew-hero {
	--padding-top: clamp(2.5rem, 1rem + 5vw, 5.5rem);
	--padding-bottom: clamp(3.5rem, 2rem + 5vw, 6.5rem);
	overflow: hidden;
}
.uhd .e-con.ew-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 3rem;
	--column-gap: clamp(2.5rem, 1rem + 5vw, 6.5rem);
	align-items: center;
}
.ew-hero__copy {
	max-width: 40rem;
}
.ew-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.4rem;
	margin: 0;
	padding: 0.25rem 0 0;
	list-style: none;
	font-size: 0.92rem;
	color: var(--ew-muted);
}
.ew-hero__meta li {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}
.ew-hero__meta li + li::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ew-brass);
	margin-right: 0.85rem;
}
.ew-hero__meta a {
	color: var(--ew-evergreen);
	font-weight: 600;
}
.uhd .e-con.ew-hero__media {
	position: relative;
	max-width: 32rem;
	width: 100%;
	justify-self: center;
}
/* The doubled arch: a stone outline offset behind the photo. */
.ew-hero__media > .ew-hero__photo {
	position: relative;
}
.ew-hero__media > .ew-hero__photo::before {
	content: "";
	position: absolute;
	inset: -1.1rem -1.1rem 1.1rem 1.1rem;
	border: 1.5px solid var(--ew-brass);
	border-radius: var(--ew-arch);
	opacity: 0.55;
	pointer-events: none;
}
.ew-hero__photo img {
	position: relative;
	object-position: 58% center;
}
.ew-hero__card {
	position: relative;
	margin: -3.5rem 1rem 0;
	padding: 1.25rem 1.4rem;
	border-radius: 18px;
	background: var(--ew-paper);
	box-shadow: var(--ew-shadow);
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--ew-slate);
}
.ew-hero__card p {
	margin: 0;
}
.ew-hero__card-k {
	margin-bottom: 0.3rem !important;
	font-family: var(--d-font-head);
	font-size: 1.25rem;
	font-style: italic;
	color: var(--ew-charcoal);
}
@media (min-width: 1024px) {
	.uhd .e-con.ew-hero__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
	.uhd .e-con.ew-hero__media {
		justify-self: end;
	}
	.ew-hero__card {
		position: absolute;
		left: -3.5rem;
		right: auto;
		bottom: 2.5rem;
		max-width: 17.5rem;
		margin: 0;
	}
}

/* 06 Bands & points --------------------------------------------------------- */
.uhd .elementor .elementor-element.e-con.ew-band {
	--d-bg: var(--ew-stone);
	border-block: 1px solid var(--ew-stone-2);
}
.uhd .e-con.ew-principles {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 1.75rem;
	--column-gap: 0px;
}
.uhd .elementor .ew-principles > .e-con.ew-point {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	column-gap: 1rem;
	align-content: start;
}
.uhd .e-con.ew-point.uhd-ico::before {
	--ico-size: 1.5rem;
	grid-row: span 2;
	color: var(--ew-sage-dark);
	margin-top: 0.15rem;
}
.ew-point .uhd-h4 .elementor-heading-title {
	font-size: 1.2rem;
}
.ew-principles .uhd-body p {
	font-size: 0.95rem;
	line-height: 1.55;
}
@media (min-width: 640px) {
	.uhd .e-con.ew-principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		--column-gap: 2rem;
	}
}
@media (min-width: 1100px) {
	.uhd .e-con.ew-principles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		--column-gap: 0px;
	}
	.uhd .elementor .ew-principles > .e-con.ew-point {
		padding-inline: 1.75rem;
		border-left: 1px solid var(--ew-stone-2);
	}
	.uhd .elementor .ew-principles > .e-con.ew-point:first-child {
		padding-left: 0;
		border-left: 0;
	}
}
/* Reasons: a numbered, ruled list. */
.uhd .e-con.ew-reasons {
	counter-reset: ew-reason;
	display: grid;
	--row-gap: 0px;
	border-top: 1px solid var(--ew-rule);
}
.uhd .elementor .ew-reasons > .e-con.ew-point {
	counter-increment: ew-reason;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	column-gap: 1rem;
	padding-block: 1.3rem;
	border-bottom: 1px solid var(--ew-rule);
}
.ew-reasons .ew-point::after {
	content: counter(ew-reason, decimal-leading-zero);
	grid-column: 1;
	grid-row: 1;
	font-family: var(--d-font-head);
	font-style: italic;
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--ew-brass-text);
}
.ew-reasons .ew-point > .elementor-element {
	grid-column: 2;
}
.ew-reasons .uhd-h4 {
	grid-row: 1;
}
/* Values: arch-badged columns. */
.uhd .e-con.ew-values {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: var(--d-gap);
	--column-gap: var(--d-gap);
}
.uhd .elementor .ew-values > .e-con.ew-point {
	--row-gap: 0.75rem;
	display: grid;
	align-content: start;
	padding: 1.75rem;
	border-radius: var(--ew-r);
	background: var(--ew-paper);
	border: 1px solid var(--ew-stone-2);
}
.ew-values .ew-point.uhd-ico::before {
	--ico-size: 1.4rem;
	color: var(--ew-evergreen);
	margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
	.uhd .e-con.ew-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1100px) {
	.uhd .e-con.ew-values {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.uhd .e-con.ew-values--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 07 Treatments ------------------------------------------------------------- */
.ew-treat__photo {
	max-width: 26rem;
	margin-top: 1rem;
}
.uhd .e-con.ew-tlist {
	display: grid;
	--row-gap: 0px;
	border-top: 1px solid var(--ew-rule);
}
.uhd .elementor .e-con.ew-trow {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr) auto;
	column-gap: 1.25rem;
	align-items: center;
	padding: 1.5rem 0.75rem 1.5rem 0;
	border-bottom: 1px solid var(--ew-rule);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.25s, padding 0.35s var(--d-ease);
}
.uhd .elementor .e-con.ew-trow.uhd-ico::before {
	--ico-size: 3.25rem;
	grid-row: 1 / span 3;
	grid-column: 1;
	align-self: start;
	padding: 0.8rem;
	box-sizing: border-box;
	border-radius: 999px 999px 12px 12px;
	background: var(--ew-sage-soft) padding-box;
	color: var(--ew-evergreen);
	-webkit-mask: none;
	mask: none;
}
/* Glyph on the arch tile, drawn by ::after so the tile stays visible. */
.uhd .elementor .e-con.ew-trow.uhd-ico {
	position: relative;
}
.uhd .elementor .e-con.ew-trow.uhd-ico::after {
	content: "";
	position: absolute;
	left: 0.85rem;
	top: calc(1.5rem + 0.85rem);
	width: 1.55rem;
	height: 1.55rem;
	background: var(--ew-evergreen);
	-webkit-mask: var(--ico) center / contain no-repeat;
	mask: var(--ico) center / contain no-repeat;
	transition: transform 0.35s var(--d-ease);
}
.ew-trow > .elementor-element {
	grid-column: 2;
}
.ew-trow > .ew-trow__more {
	grid-column: 3;
	grid-row: 1 / span 3;
}
.ew-trow__num .elementor-heading-title {
	font-family: var(--d-font-head);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--ew-brass-text);
}
.ew-trow__title .elementor-heading-title {
	font-family: var(--d-font-head);
	font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem);
	font-weight: 430;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
.ew-trow__text p {
	margin-top: 0.2rem;
	color: var(--ew-muted);
	font-size: 0.97rem;
	line-height: 1.5;
}
.ew-trow__more .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0;
	color: var(--ew-evergreen);
}
.ew-trow__more .elementor-heading-title::after {
	content: "";
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--ew-rule);
	border-radius: 999px;
	background: currentColor;
	-webkit-mask: var(--ico-arrow) center / 1.1rem no-repeat;
	mask: var(--ico-arrow) center / 1.1rem no-repeat;
	transition: transform 0.35s var(--d-ease);
}
.uhd .elementor .e-con.ew-trow:hover,
.uhd .elementor .e-con.ew-trow:focus-visible {
	background: var(--ew-paper);
	padding-left: 0.75rem;
}
.uhd .elementor .e-con.ew-trow:hover.uhd-ico::after,
.uhd .elementor .e-con.ew-trow:focus-visible.uhd-ico::after {
	transform: translateX(0.75rem);
}
.ew-trow:hover .ew-trow__title .elementor-heading-title {
	color: var(--ew-evergreen);
}
.ew-trow:hover .ew-trow__more .elementor-heading-title::after {
	transform: translateX(4px);
}
@media (min-width: 900px) {
	.uhd .e-con.ew-tlist--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		--column-gap: var(--d-gap);
		border-top: 0;
	}
	.ew-tlist--3 .e-con.ew-trow {
		border-top: 1px solid var(--ew-rule);
	}
}
/* Treatments index: alternating feature rows. */
.uhd .e-con.ew-features {
	display: grid;
	--row-gap: clamp(3rem, 2rem + 4vw, 6rem);
}
.uhd .e-con.ew-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 1.75rem;
	--column-gap: clamp(2rem, 1rem + 5vw, 6rem);
	align-items: center;
}
.ew-feature__photo img {
	aspect-ratio: 4 / 3;
}
.ew-feature__copy {
	max-width: 34rem;
}
.uhd .e-con.ew-feature__copy.uhd-ico::before {
	--ico-size: 1.8rem;
	color: var(--ew-sage-dark);
}
.ew-feature__num .elementor-heading-title {
	font-family: var(--d-font-head);
	font-style: italic;
	color: var(--ew-brass-text);
}
@media (min-width: 900px) {
	.uhd .e-con.ew-feature {
		grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	}
	.uhd .e-con.ew-feature--flip > .ew-feature__photo {
		order: 2;
	}
}

/* 08 Team ------------------------------------------------------------------- */
.ew-team {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(2rem, 1rem + 3vw, 3.5rem) var(--d-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 640px) {
	.ew-team {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1024px) {
	.ew-team {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.ew-person__link {
	display: grid;
	gap: 0.35rem;
	color: inherit;
	text-decoration: none;
}
.ew-person__photo {
	display: block;
	margin-bottom: 1rem;
	overflow: hidden;
	border-radius: var(--ew-arch);
	aspect-ratio: 4 / 5;
	background: var(--ew-stone);
}
.ew-person__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	transition: transform 0.8s var(--d-ease);
}
.ew-person__link:hover .ew-person__img {
	transform: scale(1.035);
}
.ew-person__tag {
	justify-self: start;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--ew-stone);
	color: var(--ew-muted);
	font-size: 0.68rem;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.uhd-section--tint .ew-person__tag {
	background: var(--ew-paper);
}
.ew-person__name {
	margin-top: 0.35rem !important;
	font-family: var(--d-font-head);
	font-size: clamp(1.55rem, 1.35rem + 0.6vw, 1.9rem);
	font-weight: 430;
	line-height: 1.15;
	letter-spacing: -0.015em;
}
.ew-person__role {
	color: var(--ew-evergreen);
	font-weight: 650;
}
.ew-person__focus {
	color: var(--ew-muted);
}
.ew-person__more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.5rem;
	color: var(--ew-evergreen);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--ew-brass);
	text-underline-offset: 0.3em;
}
.ew-person__more .uhd-i {
	transition: transform 0.3s var(--d-ease);
}
.ew-person__link:hover .ew-person__more .uhd-i {
	transform: translateX(4px);
}
.ew-person__link:hover .ew-person__name {
	color: var(--ew-evergreen);
}

/* 09 Journey, timeline ------------------------------------------------------ */
.uhd .e-con.ew-journey {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 2rem;
	--column-gap: var(--d-gap);
}
.uhd .elementor .ew-journey > .e-con.ew-step {
	position: relative;
	--row-gap: 0.6rem;
	padding-top: 1.75rem;
	border-top: 1.5px solid var(--ew-rule);
}
/* An arch marker sits on the rule above each step. */
.ew-journey .ew-step::after {
	content: "";
	position: absolute;
	top: -0.62rem;
	left: 0;
	width: 1rem;
	height: 0.6rem;
	border: 1.5px solid var(--ew-brass);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
	background: var(--d-bg);
}
.ew-step__num .elementor-heading-title {
	font-family: var(--d-font-head);
	font-style: italic;
	font-size: 2.4rem;
	font-weight: 300;
	line-height: 1;
	color: var(--ew-brass-text);
}
@media (min-width: 640px) {
	.uhd .e-con.ew-journey {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1100px) {
	.uhd .e-con.ew-journey {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.uhd .e-con.ew-timeline {
	display: grid;
	--row-gap: 0px;
}
.uhd .elementor .ew-timeline > .e-con.ew-step {
	position: relative;
	--row-gap: 0.5rem;
	padding: 0 0 2.5rem 4.75rem;
}
.uhd .elementor .ew-timeline > .e-con.ew-step:last-child {
	padding-bottom: 0;
}
.ew-timeline .ew-step__num {
	position: absolute;
	left: 0;
	top: 0;
	width: 3.25rem;
}
.ew-timeline .ew-step__num .elementor-heading-title {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.6rem;
	border-radius: 999px 999px 12px 12px;
	background: var(--ew-sage-soft);
	font-size: 1.35rem;
	font-weight: 400;
	color: var(--ew-evergreen);
}
.ew-timeline .ew-step::after {
	content: "";
	position: absolute;
	left: 1.6rem;
	top: 4.1rem;
	bottom: 0.5rem;
	width: 1.5px;
	background: var(--ew-rule);
}
.ew-timeline .ew-step:last-child::after {
	display: none;
}
.ew-timeline .uhd-h4 .elementor-heading-title {
	padding-top: 0.35rem;
}
.ew-process__photo {
	max-width: 24rem;
	margin-top: 0.5rem;
}

/* 10 Gallery ---------------------------------------------------------------- */
.uhd .e-con.ew-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: clamp(9rem, 26vw, 13rem);
	--row-gap: 0.9rem;
	--column-gap: 0.9rem;
}
.ew-gallery__item,
.ew-gallery__item > *,
.ew-gallery__item a {
	height: 100%;
}
.ew-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--ew-r);
}
.ew-gallery__item--1,
.ew-gallery__item--5 {
	grid-column: 1 / -1;
}
.ew-gallery__item--2 {
	grid-row: span 2;
}
@media (min-width: 900px) {
	.uhd .e-con.ew-gallery {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-auto-rows: clamp(9rem, 1rem + 13vw, 15rem);
	}
	.ew-gallery__item--1 {
		grid-column: 1 / 6;
		grid-row: 1 / 3;
	}
	.ew-gallery__item--2 {
		grid-column: 6 / 9;
		grid-row: 1 / 4;
	}
	.ew-gallery__item--3 {
		grid-column: 9 / 13;
		grid-row: 1 / 2;
	}
	.ew-gallery__item--4 {
		grid-column: 9 / 13;
		grid-row: 2 / 4;
	}
	.ew-gallery__item--5 {
		grid-column: 1 / 6;
		grid-row: 3 / 4;
	}
	.ew-gallery__item--2 img {
		border-radius: var(--ew-arch);
	}
}

/* 11 Testimonials ----------------------------------------------------------- */
.uhd .e-con.ew-quotes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: var(--d-gap);
	--column-gap: var(--d-gap);
}
.uhd .elementor .e-con.ew-quote {
	--row-gap: 1rem;
	align-content: start;
	padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
	border-radius: var(--ew-r);
	background: var(--ew-paper);
	border: 1px solid var(--ew-stone-2);
}
.ew-quote__tag .elementor-heading-title {
	display: inline-block;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--ew-stone);
	color: var(--ew-muted);
	font-family: var(--d-font-text);
	font-size: 0.68rem;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.ew-quote__text blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}
.ew-quote__text p {
	font-family: var(--d-font-head);
	font-size: 1.28rem;
	font-style: italic;
	font-weight: 380;
	line-height: 1.45;
	color: var(--ew-charcoal);
}
.ew-quote__who .elementor-heading-title {
	font-family: var(--d-font-text);
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--ew-muted);
}
@media (min-width: 900px) {
	.uhd .e-con.ew-quotes:not(.ew-quotes--all) {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
	.uhd .elementor .ew-quotes:not(.ew-quotes--all) > .e-con.ew-quote:first-child {
		grid-row: span 2;
		align-content: center;
		padding: clamp(2rem, 1rem + 3vw, 3.5rem);
		background: var(--ew-deep);
		border-color: var(--ew-deep);
	}
	.ew-quotes:not(.ew-quotes--all) > .ew-quote:first-child .ew-quote__text p {
		font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.15rem);
		line-height: 1.3;
		color: var(--d-dark-fg);
	}
	.ew-quotes:not(.ew-quotes--all) > .ew-quote:first-child .ew-quote__who .elementor-heading-title {
		color: var(--d-dark-muted);
	}
	.ew-quotes:not(.ew-quotes--all) > .ew-quote:first-child .ew-quote__tag .elementor-heading-title {
		background: rgba(243, 239, 231, 0.12);
		color: var(--d-dark-fg);
	}
	.uhd .e-con.ew-quotes--all {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1100px) {
	.uhd .e-con.ew-quotes--all {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 12 Notes, FAQ, lists ------------------------------------------------------- */
.ew-note {
	max-width: 60rem;
	padding: 1rem 1.25rem;
	border: 1.5px dashed var(--ew-rule);
	border-radius: 14px;
}
.ew-note strong {
	color: var(--ew-charcoal);
}
.uhd .elementor .e-con.ew-care {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	column-gap: 1rem;
	--row-gap: 0.4rem;
	align-content: start;
	padding: clamp(1.25rem, 1rem + 1vw, 1.9rem);
	border-radius: var(--ew-r);
	background: var(--ew-sage-soft);
}
.uhd .elementor .e-con.ew-care.uhd-ico::before {
	--ico-size: 1.6rem;
	grid-row: span 2;
	color: var(--ew-evergreen);
}
.ew-care > .elementor-element {
	grid-column: 2;
}
.uhd .elementor .e-con.ew-care--urgent {
	background: var(--ew-clay-soft);
}
.uhd .elementor .e-con.ew-care--urgent.uhd-ico::before {
	color: var(--ew-clay);
}
.ew-care .uhd-body p {
	color: var(--ew-charcoal);
}
.uhd-faq.ew-faq summary {
	font-family: var(--d-font-head);
	font-size: 1.28rem;
	font-weight: 450;
	line-height: 1.35;
}
.uhd-faq.ew-faq summary::after {
	color: var(--ew-evergreen);
}
.uhd-faq.ew-faq summary:hover {
	color: var(--ew-evergreen);
}
.uhd-faq.ew-faq details > div {
	color: var(--ew-slate);
	max-width: 42rem;
}
.ew-ticks ul,
.ew-reasonlist ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ew-ticks li {
	position: relative;
	padding: 0.55rem 0 0.55rem 2rem;
	border-bottom: 1px solid var(--ew-rule);
	color: var(--ew-charcoal);
}
.ew-ticks li:last-child {
	border-bottom: 0;
}
.ew-ticks li::before,
.ew-reasonlist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 1.1rem;
	height: 1.1rem;
	background: var(--ew-sage-dark);
	-webkit-mask: var(--ico-check) center / contain no-repeat;
	mask: var(--ico-check) center / contain no-repeat;
}
.ew-reasonlist ul {
	display: grid;
	gap: 0 var(--d-gap);
}
.ew-reasonlist li {
	position: relative;
	padding: 1.25rem 0 1.25rem 2.25rem;
	border-top: 1px solid var(--ew-stone-2);
	color: var(--ew-slate);
}
.ew-reasonlist li::before {
	top: 1.55rem;
}
.ew-reasonlist strong {
	display: block;
	margin-bottom: 0.2rem;
	font-family: var(--d-font-head);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--ew-charcoal);
}
@media (min-width: 768px) {
	.ew-reasonlist ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1100px) {
	.ew-reasonlist ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.ew-glance {
	display: grid;
	gap: 1.5rem var(--d-gap);
	margin: 0;
}
.ew-glance div {
	display: grid;
	gap: 0.35rem;
	align-content: start;
}
.ew-glance dt {
	font-size: 0.74rem;
	font-weight: 650;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ew-sage-dark);
}
.ew-glance dd {
	margin: 0;
	font-family: var(--d-font-head);
	font-size: 1.2rem;
	line-height: 1.4;
	color: var(--ew-charcoal);
}
@media (min-width: 900px) {
	.ew-glance {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ew-glance div + div {
		padding-left: var(--d-gap);
		border-left: 1px solid var(--ew-stone-2);
	}
}
.uhd .elementor .e-con.ew-panel {
	--row-gap: 1rem;
	padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
	border-radius: var(--ew-r);
	background: var(--ew-paper);
	border: 1px solid var(--ew-stone-2);
}
.ew-quals {
	display: grid;
	margin: 0;
}
.ew-quals div {
	display: grid;
	gap: 0.2rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--ew-rule);
}
.ew-quals dt {
	font-weight: 650;
	color: var(--ew-charcoal);
}
.ew-quals dd {
	margin: 0;
	color: var(--ew-muted);
}
.ew-jump ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ew-jump a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.5rem 1.15rem;
	border: 1px solid var(--ew-field);
	border-radius: 999px;
	color: var(--ew-evergreen);
	font-weight: 600;
	text-decoration: none;
}
.ew-jump a:hover {
	background: var(--ew-evergreen);
	border-color: var(--ew-evergreen);
	color: #fff;
}
.uhd .elementor .e-con.ew-faqgroup {
	padding-top: clamp(2rem, 1rem + 2vw, 3rem);
	border-top: 1px solid var(--ew-rule);
	scroll-margin-top: calc(var(--d-header-h) + 3rem);
}

/* 13 Page heroes, profile ---------------------------------------------------- */
.uhd .elementor .elementor-element.e-con.uhd-section.ew-pagehero {
	--padding-top: clamp(2rem, 1rem + 3vw, 4rem);
	--padding-bottom: clamp(3rem, 2rem + 4vw, 5.5rem);
	--row-gap: 1.5rem;
}
.uhd .e-con.ew-pagehero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 2.5rem;
	--column-gap: clamp(2.5rem, 1rem + 5vw, 6rem);
	align-items: center;
}
.ew-pagehero__copy {
	max-width: 44rem;
}
.ew-pagehero--plain .ew-pagehero__copy {
	max-width: 52rem;
}
.ew-pagehero__photo {
	max-width: 28rem;
	width: 100%;
	justify-self: center;
}
.ew-pagehero__photo img {
	max-height: 38rem;
}
@media (max-width: 767.98px) {
	.ew-pagehero__photo img,
	.ew-hero__photo img {
		aspect-ratio: 5 / 4;
		border-radius: var(--ew-r);
	}
	.ew-hero__media > .ew-hero__photo::before {
		display: none;
	}
}
@media (min-width: 1024px) {
	.uhd .e-con.ew-pagehero__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
	.ew-pagehero__photo {
		justify-self: end;
	}
}
.uhd .elementor .elementor-element.e-con.uhd-section.ew-profile {
	--padding-top: clamp(2rem, 1rem + 3vw, 4rem);
}
.uhd .e-con.ew-profile__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 2.5rem;
	--column-gap: clamp(2.5rem, 1rem + 5vw, 6rem);
	align-items: center;
}
.ew-profile__photo {
	max-width: 30rem;
	width: 100%;
}
.ew-profile__photo img {
	object-position: center 22%;
}
.ew-profile__role {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--ew-evergreen);
}
@media (min-width: 900px) {
	.uhd .e-con.ew-profile__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	}
}
.uhd .e-con.ew-profile__facts {
	align-items: stretch;
}

/* 14 CTA band ---------------------------------------------------------------- */
.uhd .elementor .elementor-element.e-con.uhd-section.ew-ctaband {
	overflow: hidden;
}
.uhd .e-con.ew-ctaband__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: 3rem;
	--column-gap: clamp(2.5rem, 1rem + 5vw, 6rem);
	align-items: center;
}
.ew-ctaband__copy {
	max-width: 40rem;
}
.uhd .elementor .e-con.ew-ctaband__info {
	--row-gap: 1rem;
	padding: clamp(3rem, 2rem + 2vw, 4rem) clamp(1.5rem, 1rem + 1.5vw, 2.25rem) clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
	border: 1px solid var(--d-dark-rule);
	border-radius: 160px 160px var(--ew-r) var(--ew-r);
}
@media (min-width: 1024px) {
	.uhd .e-con.ew-ctaband__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
}
.ew-hours {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.uhd table.ew-hours th,
.uhd table.ew-hours td,
.uhd table.ew-hours tbody > tr:nth-child(odd) > th,
.uhd table.ew-hours tbody > tr:nth-child(odd) > td {
	border: 0;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--ew-rule);
	vertical-align: top;
	background: transparent;
}
.uhd table.ew-hours th,
.uhd table.ew-hours tbody > tr:nth-child(odd) > th {
	text-align: left;
	padding-right: 1rem;
	font-weight: 600;
	color: var(--d-fg);
}
.uhd table.ew-hours td,
.uhd table.ew-hours tbody > tr:nth-child(odd) > td {
	text-align: right;
	color: var(--d-fg-muted);
}
.uhd table.ew-hours tr:last-child th,
.uhd table.ew-hours tr:last-child td {
	border-bottom: 0;
}

/* 15 Contact & form ---------------------------------------------------------- */
.uhd .e-con.ew-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--row-gap: var(--d-gap);
	--column-gap: var(--d-gap);
	align-items: start;
}
@media (min-width: 1024px) {
	.uhd .e-con.ew-contact {
		grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	}
}
.uhd .elementor .e-con.ew-formcard {
	--d-bg: var(--ew-paper);
	--row-gap: 1.25rem;
	padding: clamp(1.25rem, 0.5rem + 3vw, 3rem);
	border-radius: 26px;
	background: var(--ew-paper);
	border: 1px solid var(--ew-stone-2);
	box-shadow: var(--ew-shadow);
}
.ew-booking__demo {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	margin: 0 0 1.5rem !important;
	padding: 0.8rem 1rem;
	border-radius: var(--ew-r-sm);
	background: var(--ew-sage-soft);
	color: var(--ew-charcoal);
	font-size: 0.92rem;
	line-height: 1.5;
}
.ew-booking__demo::before {
	content: "";
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.1rem;
	background: var(--ew-evergreen);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ew-form__group {
	min-width: 0;
	margin: 0 0 2rem;
	padding: 0;
	border: 0;
}
.ew-form__group > legend {
	margin-bottom: 1rem;
	padding: 0;
	font-family: var(--d-font-head);
	font-size: 1.35rem;
	font-weight: 450;
	color: var(--ew-charcoal);
}
.uhd-field input:not([type="radio"]),
.uhd-field select,
.uhd-field textarea {
	border-radius: var(--ew-r-sm);
	border-color: var(--ew-field);
	background-color: var(--ew-paper);
}
.uhd-field input:not([type="radio"]):hover,
.uhd-field select:hover,
.uhd-field textarea:hover {
	border-color: var(--ew-charcoal);
}
.uhd-field label {
	color: var(--ew-charcoal);
}
.uhd-notice {
	border-radius: 16px;
}
.uhd-form__foot .uhd-btn {
	width: 100%;
}
@media (min-width: 640px) {
	.uhd-form__foot .uhd-btn {
		width: auto;
	}
}
.ew-contactlist {
	display: grid;
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ew-contactlist li {
	display: grid;
	gap: 0.1rem;
}
.ew-contactlist span {
	font-size: 0.74rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ew-sage-dark);
}
.ew-contactlist a {
	color: var(--ew-evergreen);
	font-size: 1.1rem;
	font-weight: 600;
	word-break: break-word;
}
.ew-contactlist strong {
	font-weight: 400;
	color: var(--ew-slate);
}
.ew-steps-mini ol {
	margin: 0;
	padding-left: 1.25rem;
	display: grid;
	gap: 0.5rem;
}
.ew-steps-mini li::marker {
	font-family: var(--d-font-head);
	font-style: italic;
	color: var(--ew-brass-text);
}
.ew-aside .ew-panel {
	background: var(--ew-paper);
}

/* 16 Footer & call bar ------------------------------------------------------- */
.uhd-footer {
	font-size: 0.97rem;
}
.ew-footer__lead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	padding-bottom: 2.5rem;
	margin-bottom: 2.75rem;
	border-bottom: 1px solid var(--d-dark-rule);
}
.ew-footer__tagline {
	margin: 0 !important;
	font-family: var(--d-font-head);
	font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.3rem);
	font-style: italic;
	font-weight: 350;
	color: var(--ew-brass-light);
}
.uhd-footer__brand {
	align-content: start;
}
.uhd-footer__head {
	margin-bottom: 1rem !important;
	font-family: var(--d-font-text);
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--d-dark-muted);
}
.uhd-footer a {
	color: var(--d-dark-fg);
}
.uhd-footer .uhd-i {
	color: var(--ew-brass-light);
}
.uhd-footer__contact .ew-hours {
	margin-top: 1.25rem;
	font-size: 0.88rem;
}
.uhd .uhd-footer__contact table.ew-hours td,
.uhd .uhd-footer__contact table.ew-hours tbody > tr:nth-child(odd) > td {
	text-align: left;
	padding-left: 0.5rem;
}
.uhd-footer__base a {
	color: var(--d-dark-fg);
}
.uhd-footer__disclosure {
	line-height: 1.55;
}
@media (min-width: 1024px) {
	.uhd-footer__grid.ew-footer__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 1.3fr);
	}
}
.uhd-callbar a {
	font-family: var(--d-font-text);
	font-size: 0.97rem;
	white-space: nowrap;
	padding-inline: 0.75rem;
}
.uhd-callbar__call {
	background: var(--ew-paper);
	color: var(--ew-evergreen);
	border-top: 1px solid var(--ew-rule);
}
.uhd-callbar__quote {
	background: var(--ew-evergreen);
	color: #fff;
}

/* 17 Small screens & preview ------------------------------------------------- */
@media (max-width: 639.98px) {
	.ew-hero__meta {
		display: grid;
		gap: 0.3rem;
	}
	.ew-hero__meta li + li::before {
		display: none;
	}
	.uhd .elementor .e-con.ew-trow {
		grid-template-columns: 2.75rem minmax(0, 1fr);
		column-gap: 1rem;
	}
	.uhd .elementor .e-con.ew-trow.uhd-ico::before {
		--ico-size: 2.75rem;
		padding: 0.65rem;
	}
	.uhd .elementor .e-con.ew-trow.uhd-ico::after {
		left: 0.65rem;
		top: calc(1.5rem + 0.65rem);
		width: 1.45rem;
		height: 1.45rem;
	}
	.ew-trow > .ew-trow__more {
		display: none;
	}
	.uhd-logo__name {
		font-size: 1.4rem;
	}
	.uhd .elementor .ew-timeline > .e-con.ew-step {
		padding-left: 4rem;
	}
}
/* Keep the mockup's first screen tidy: the hero card sits inside the frame. */
.uhd-preview .ew-hero__card {
	box-shadow: 0 10px 30px -18px rgba(30, 48, 42, 0.45);
}
.uhd-404 h1 {
	font-weight: 400;
}
