/* HML Homepage Header â€” Figma Navbar / 1 / (1440Ã—72) + Navbar / 9 / (1440Ã—72) */

.hml-header {
	--hml-header-top-bg: #ffffff;
	--hml-header-nav-bg: #f9e6ed;
	--hml-header-lipstick: #c60651;
	--hml-header-ink: #0b0b0b;
	--hml-header-white: #ffffff;
	--hml-header-strip: #9e0440;
	--hml-header-strip-line: rgba(255, 255, 255, 0.2);
	--hml-header-top-h: calc(72 * var(--hml-u));
	--hml-header-nav-h: calc(72 * var(--hml-u));
	--hml-header-pad-x: calc(64 * var(--hml-u));
	--hml-header-inner: calc(1440 * var(--hml-u));
	--hml-header-logo-w: calc(157.546 * var(--hml-u));
	--hml-header-logo-h: calc(60.017 * var(--hml-u));
	--hml-header-logo-mark-w: calc(157.546 * var(--hml-u));
	--hml-header-logo-mark-h: calc(37.511 * var(--hml-u));
	--hml-header-logo-mark-t: calc(10.35 * var(--hml-u));
	--hml-header-logo-mark-l: calc(-0.52 * var(--hml-u));
	--hml-header-actions-gap: calc(32 * var(--hml-u));
	--hml-header-nav-cols: 251fr 240fr 139fr 268fr 145fr 146fr 144fr;
	--hml-header-phone-gap: calc(10 * var(--hml-u));
	--hml-header-phone-w: calc(301 * var(--hml-u));
	--hml-header-phone-size: calc(18 * var(--hml-u));
	--hml-header-icon: calc(24 * var(--hml-u));
	--hml-header-mega-icon: calc(26 * var(--hml-u));
	--hml-header-call-leaf: calc(18.305 * var(--hml-u));
	--hml-header-cta-size: calc(20 * var(--hml-u));
	--hml-header-cta-h: calc(48 * var(--hml-u));
	--hml-header-cta-px: calc(20 * var(--hml-u));
	--hml-header-cta-py: calc(8 * var(--hml-u));
	--hml-header-cta-r: calc(6 * var(--hml-u));
	--hml-header-nav-size: calc(18 * var(--hml-u));
	--hml-header-chevron: calc(24 * var(--hml-u));
	--hml-header-chevron-gap: calc(8 * var(--hml-u));
	--hml-header-mega-pad-x: calc(64 * var(--hml-u));
	--hml-header-mega-pad-y: calc(32 * var(--hml-u));
	--hml-header-mega-gap: calc(32 * var(--hml-u));
	--hml-header-mega-icon-gap: calc(12 * var(--hml-u));
	--hml-header-mega-item-py: calc(8 * var(--hml-u));
	--hml-header-title: calc(18 * var(--hml-u));
	--hml-header-desc: calc(16 * var(--hml-u));
	--hml-header-strip-py: calc(16 * var(--hml-u));
	--hml-header-hiring-gap: calc(8 * var(--hml-u));
	--hml-header-shadow: 0 calc(15 * var(--hml-u)) calc(18 * var(--hml-u)) rgba(0, 0, 0, 0.1);
	--hml-header-mega-shadow: 0 calc(15 * var(--hml-u)) calc(18 * var(--hml-u)) rgba(198, 6, 81, 0.15);
	--hml-header-burger: calc(44 * var(--hml-u));
	--hml-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--hml-ease-out: cubic-bezier(0.16, 1, 0.3, 1);

	position: relative;
	z-index: 40;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	color: var(--hml-header-ink);
	font-family: Inter, "Inter", system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

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

.elementor-widget-hml-homepage-header,
.elementor-widget-hml-homepage-header > .elementor-widget-container {
	position: relative;
	z-index: 40;
	width: 100%;
	margin: 0;
	padding: 0;
	max-width: 100%;
	overflow: visible;
}

.elementor-element.elementor-widget-hml-homepage-header .hml-header {
	--hml-header-actions-gap: calc(32 * var(--hml-u));
}

.elementor-section:has(.elementor-widget-hml-homepage-header),
.elementor-column:has(.elementor-widget-hml-homepage-header),
.e-con:has(.elementor-widget-hml-homepage-header),
.e-con-inner:has(.elementor-widget-hml-homepage-header) {
	overflow: visible !important;
}

/* Elementor kit pads containers (often 10px+). That shows as white gutters
   beside the lipstick mega and maroon hiring strip. Kill all sides. */
.e-con-full:has(> .elementor-widget-hml-homepage-header),
.e-con-full:has(> .e-con-inner > .elementor-widget-hml-homepage-header),
.e-con:has(> .elementor-widget-hml-homepage-header),
.e-con:has(> .elementor-widget-hml-homepage-header) > .e-con-inner,
.e-con:has(> .e-con-inner > .elementor-widget-hml-homepage-header) > .e-con-inner,
#masthead:has(.hml-header) .e-con,
#masthead:has(.hml-header) .e-con-inner,
#masthead:has(.hml-header) .elementor,
#masthead:has(.hml-header) .elementor-widget-hml-homepage-header,
#masthead:has(.hml-header) .elementor-widget-container {
	padding: 0 !important;
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
	padding-inline-start: 0 !important;
	padding-inline-end: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	--padding-block-start: 0px;
	--padding-block-end: 0px;
	--padding-inline-start: 0px;
	--padding-inline-end: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--container-max-width: 100%;
}

.hml-header--fullbleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

html:has(.hml-header--fullbleed):not(:has(.hml-header--sticky)) {
	overflow-x: clip;
}

html.hml-header-lock,
html.hml-header-lock body {
	overflow: hidden;
}

/* The live header lives in Elementor Header & Footer’s #masthead.
   HFE sets `.ehf-header #masthead { position: relative; z-index: 99 }`.
   Sticky/fixed on the inner widget cannot outlive that short wrapper.
   Pin #masthead (or the Theme Builder header) instead. */
html:has(.hml-header--sticky) {
	--hml-header-offset: calc(144 * var(--hml-u));
}

@media (min-width: 1025px) {
	html:has(.hml-header--sticky),
	html.hml-has-sticky-header {
		--hml-header-offset: calc(144 * var(--hml-u)) !important;
	}

	#page:has(> #masthead .hml-header--sticky)::before {
		height: var(--hml-header-offset, calc(144 * var(--hml-u))) !important;
		max-height: calc(160 * var(--hml-u));
	}
}

/* Full-bleed sections set overflow-x: clip on html. On iOS that makes
   position:fixed stick to the scrolling document instead of the viewport.
   Keep html open; do NOT also unclip body/#page — that lets 100vw
   full-bleed sections create a horizontal scrollbar. */
html:has(.hml-header--sticky),
html.hml-has-sticky-header {
	overflow-x: visible !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
}

html:has(.hml-header--sticky) body,
html.hml-has-sticky-header body {
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
	max-width: 100%;
}

/* 100vw is the layout viewport, including the scrollbar gutter, so it is
   always a few pixels wider than the page. With html overflow-x visible
   that shows up as an x-axis scrollbar. Intro stays a 1440 band. Features
   is a looping ticker and must keep the 100vw breakout. */
html:has(.hml-header--sticky) [class*="hml-"][class*="--fullbleed"]:not(.hml-intro):not(.hml-feat),
html.hml-has-sticky-header [class*="hml-"][class*="--fullbleed"]:not(.hml-intro):not(.hml-feat) {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 1024px) {
	html:has(.hml-header--break-1199.hml-header--sticky),
	html.hml-has-sticky-header:has(.hml-header--break-1199) {
		--hml-header-offset: 72px !important;
	}
}

@media (max-width: 1023px) {
	html:has(.hml-header--break-1023.hml-header--sticky),
	html.hml-has-sticky-header:has(.hml-header--break-1023) {
		--hml-header-offset: 72px !important;
	}
}

@media (max-width: 767px) {
	html:has(.hml-header--break-767.hml-header--sticky),
	html:has(.hml-header--sticky),
	html.hml-has-sticky-header {
		--hml-header-offset: 64px !important;
	}
}

#page:has(.hml-header--sticky),
.site:has(.hml-header--sticky) {
	max-width: 100%;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
}

#page:has(> #masthead .hml-header--sticky)::before {
	content: "";
	display: block;
	width: 100%;
	height: var(--hml-header-offset, calc(144 * var(--hml-u)));
	max-height: calc(160 * var(--hml-u));
	pointer-events: none;
}

.ehf-header #masthead:has(.hml-header--sticky),
.ehf-header #masthead.hml-header-pin,
#masthead:has(.hml-header--sticky),
#masthead.hml-header-pin,
.elementor-location-header:has(.hml-header--sticky),
.elementor-location-header.hml-header-pin {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-inline: 0 !important;
	box-sizing: border-box !important;
	z-index: 10000 !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
	overflow: visible !important;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.admin-bar.ehf-header #masthead:has(.hml-header--sticky),
.admin-bar.ehf-header #masthead.hml-header-pin,
.admin-bar #masthead:has(.hml-header--sticky),
.admin-bar #masthead.hml-header-pin,
.admin-bar .elementor-location-header:has(.hml-header--sticky),
.admin-bar .elementor-location-header.hml-header-pin {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	.admin-bar.ehf-header #masthead:has(.hml-header--sticky),
	.admin-bar.ehf-header #masthead.hml-header-pin,
	.admin-bar #masthead:has(.hml-header--sticky),
	.admin-bar #masthead.hml-header-pin,
	.admin-bar .elementor-location-header:has(.hml-header--sticky),
	.admin-bar .elementor-location-header.hml-header-pin {
		top: 46px !important;
	}

	.admin-bar .hml-header--sticky {
		top: 46px !important;
	}
}

/* Phones / hamburger layout: pin the bar itself. HFE #masthead is often
   position:relative, and html overflow-x:clip from full-bleed sections
   makes fixed-on-masthead scroll away. */
@media (max-width: 1024px) {
	html:has(.hml-header--sticky),
	html.hml-has-sticky-header {
		overflow-x: visible !important;
		transform: none !important;
		filter: none !important;
		perspective: none !important;
		contain: none !important;
		--hml-header-offset: 72px !important;
	}

	html:has(.hml-header--sticky) body,
	html:has(.hml-header--sticky) #page,
	html:has(.hml-header--sticky) .site,
	html.hml-has-sticky-header body,
	html.hml-has-sticky-header #page,
	html.hml-has-sticky-header .site {
		max-width: 100%;
		transform: none !important;
		filter: none !important;
		perspective: none !important;
		contain: none !important;
	}

	.ehf-header #masthead:has(.hml-header--sticky),
	.ehf-header #masthead.hml-header-pin,
	#masthead:has(.hml-header--sticky),
	#masthead.hml-header-pin,
	.elementor-location-header:has(.hml-header--sticky),
	.elementor-location-header.hml-header-pin {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		z-index: 10000 !important;
	}

	.hml-header--sticky,
	#masthead .hml-header--sticky,
	.elementor-location-header .hml-header--sticky {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		z-index: 10000 !important;
		transform: none !important;
		-webkit-transform: none !important;
		filter: none !important;
		perspective: none !important;
	}

	.admin-bar .hml-header--sticky,
	.admin-bar #masthead .hml-header--sticky,
	.admin-bar .elementor-location-header .hml-header--sticky {
		top: 32px !important;
	}

	#page:has(> #masthead .hml-header--sticky)::before,
	#page:has(.hml-header--sticky)::before {
		display: none !important;
		content: none !important;
		height: 0 !important;
		max-height: 0 !important;
	}

	#masthead .hml-header__spacer,
	.elementor-location-header .hml-header__spacer,
	.hml-header--sticky + .hml-header__spacer,
	.hml-header__spacer {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 64px !important;
		max-height: 80px !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .hml-header--sticky,
	.admin-bar #masthead .hml-header--sticky,
	.admin-bar .elementor-location-header .hml-header--sticky {
		top: 46px !important;
	}
}

/* Preview / in-page header (no HFE masthead). */
.hml-header--sticky {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Desktop only: inner bar stays in flow inside the pinned masthead.
   On phones this relative + hidden-spacer pair was overriding the
   viewport pin, so the bar scrolled away through the hero. */
@media (min-width: 1025px) {
	#masthead .hml-header--sticky,
	.elementor-location-header .hml-header--sticky {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
	}

	#masthead .hml-header__spacer,
	.elementor-location-header .hml-header__spacer {
		display: none !important;
	}
}

#masthead .hml-header--sticky.hml-header--fullbleed,
.elementor-location-header .hml-header--sticky.hml-header--fullbleed,
#masthead .hml-header--fullbleed,
.elementor-location-header .hml-header--fullbleed {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.hml-header--sticky.hml-header--fullbleed {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.hml-header__spacer {
	display: block;
	width: 100%;
	max-width: 100%;
	height: var(--hml-header-offset, calc(var(--hml-header-top-h) + var(--hml-header-nav-h)));
	max-height: calc(160 * var(--hml-u));
	overflow: hidden;
	pointer-events: none;
}

.hml-header.is-compact + .hml-header__spacer {
	height: var(--hml-header-top-h, calc(64 * var(--hml-u)));
	max-height: calc(80 * var(--hml-u));
}

.elementor-widget-hml-homepage-header:has(.hml-header--sticky),
.elementor-widget-hml-homepage-header:has(.hml-header--sticky) > .elementor-widget-container {
	z-index: 200;
	overflow: visible;
}

.elementor-widget-hml-homepage-header:has(.hml-header.is-mega-open),
.elementor-widget-hml-homepage-header:has(.hml-header.is-drawer-open),
#masthead.hml-header-pin:has(.hml-header.is-mega-open),
#masthead.hml-header-pin:has(.hml-header.is-drawer-open) {
	z-index: 10001;
}

.hml-header__scrim {
	position: fixed;
	inset: 0;
	z-index: 1;
	background: rgba(11, 11, 11, 0.32);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.28s var(--hml-ease);
}

.hml-header.is-drawer-open .hml-header__scrim {
	opacity: 1;
	pointer-events: auto;
}

.hml-header__top {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--hml-header-top-h);
	height: var(--hml-header-top-h);
	padding-left: 0;
	padding-right: 0;
	background: var(--hml-header-top-bg);
}

@media (min-width: 1200px) {
	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-actions-gap: calc(32 * var(--hml-u));
	}
}

.hml-header__top-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	gap: calc(16 * var(--hml-u));
	padding-left: max(var(--hml-header-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-header-pad-x), env(safe-area-inset-right, 0px));
	container-type: inline-size;
	container-name: hml-top;
}

.hml-header figure {
	margin: 0;
}

.hml-header__logo {
	position: relative;
	display: block;
	flex: 0 0 var(--hml-header-logo-w);
	width: var(--hml-header-logo-w);
	height: var(--hml-header-logo-h);
	max-width: 100%;
	margin: 0;
	overflow: visible;
	color: inherit;
	text-decoration: none;
}

.elementor-widget-hml-homepage-header .hml-header__logo img,
.hml-header .hml-header__logo img {
	position: absolute;
	left: var(--hml-header-logo-mark-l);
	top: var(--hml-header-logo-mark-t);
	display: block;
	width: var(--hml-header-logo-mark-w) !important;
	height: var(--hml-header-logo-mark-h) !important;
	max-width: none !important;
	object-fit: contain;
	object-position: left center;
	transition: transform 0.35s var(--hml-ease);
}

.hml-header__top-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	gap: var(--hml-header-actions-gap);
	min-width: 0;
	margin-left: auto;
}

.hml-header__phone {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	gap: var(--hml-header-phone-gap);
	width: max-content;
	max-width: 100%;
	color: var(--hml-header-ink);
	font-size: var(--hml-header-phone-size);
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.25s ease;
}

.hml-header__phone-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--hml-header-icon);
	width: var(--hml-header-icon);
	height: var(--hml-header-icon);
	overflow: hidden;
}

.elementor-widget-hml-homepage-header .hml-header__phone-icon img,
.hml-header .hml-header__phone-icon img {
	display: block;
	width: var(--hml-header-call-leaf) !important;
	height: var(--hml-header-call-leaf) !important;
	max-width: none !important;
	object-fit: contain;
}

.hml-header__phone-text {
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-header-phone-size);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-header-ink);
}

.hml-header__phone-text strong {
	font-weight: 700;
}

.hml-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: max-content;
	min-height: var(--hml-header-cta-h);
	height: var(--hml-header-cta-h);
	padding: var(--hml-header-cta-py) var(--hml-header-cta-px);
	border: calc(1 * var(--hml-u)) solid var(--hml-header-lipstick);
	border-radius: var(--hml-header-cta-r);
	background: var(--hml-header-lipstick);
	color: var(--hml-header-white);
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: var(--hml-header-cta-size);
	line-height: 1.6;
	letter-spacing: 0;
	text-decoration: none;
	white-space: nowrap;
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(198, 6, 81, 0.18);
	transition: transform 0.28s var(--hml-ease), filter 0.25s ease, background-color 0.25s ease;
}

.hml-header__burger {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--hml-header-burger);
	width: var(--hml-header-burger);
	height: var(--hml-header-burger);
	min-width: calc(44 * var(--hml-u));
	min-height: calc(44 * var(--hml-u));
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--hml-header-ink);
	cursor: pointer;
	touch-action: manipulation;
}

.hml-header__burger-lines {
	position: relative;
	display: block;
	width: calc(22 * var(--hml-u));
	height: calc(16 * var(--hml-u));
}

.hml-header__burger-lines span {
	position: absolute;
	left: 0;
	display: block;
	width: calc(22 * var(--hml-u));
	height: calc(2 * var(--hml-u));
	border-radius: calc(1 * var(--hml-u));
	background: currentColor;
	transition: transform 0.28s var(--hml-ease), opacity 0.2s ease, top 0.28s var(--hml-ease);
}

.hml-header__burger-lines span:nth-child(1) { top: 0; }
.hml-header__burger-lines span:nth-child(2) { top: calc(7 * var(--hml-u)); }
.hml-header__burger-lines span:nth-child(3) { top: calc(14 * var(--hml-u)); }

.hml-header.is-drawer-open .hml-header__burger-lines span:nth-child(1) {
	top: calc(7 * var(--hml-u));
	transform: rotate(45deg);
}

.hml-header.is-drawer-open .hml-header__burger-lines span:nth-child(2) {
	opacity: 0;
}

.hml-header.is-drawer-open .hml-header__burger-lines span:nth-child(3) {
	top: calc(7 * var(--hml-u));
	transform: rotate(-45deg);
}

.hml-header.is-mega-open {
	z-index: 300;
}

.hml-header__nav {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	min-height: var(--hml-header-nav-h);
	height: var(--hml-header-nav-h);
	overflow: visible;
	background: var(--hml-header-nav-bg);
	box-shadow: var(--hml-header-shadow);
}

.hml-header.is-mega-open .hml-header__nav {
	box-shadow: var(--hml-header-mega-shadow);
}

.hml-header__nav-inner {
	display: grid;
	grid-template-columns: var(--hml-header-nav-cols);
	align-items: stretch;
	position: static;
	overflow: visible;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
}

.hml-header__drawer-tools {
	display: none;
}

.hml-header__item {
	--hml-header-flex: 160;
	position: static;
	transform: none;
	filter: none;
	perspective: none;
	contain: none;
	will-change: auto;
	isolation: auto;
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 100%;
	overflow: visible;
	background: transparent;
	color: var(--hml-header-ink);
	transition: background-color 0.22s ease, color 0.22s ease;
}

/* Keep the mega sized to .hml-header__nav, not the tab. Transforms / relative
   positioning on the item (or Elementor repeater class) create a containing block. */
.elementor-widget-hml-homepage-header .hml-header:not(.is-compact) .hml-header__item,
.elementor-element.elementor-widget-hml-homepage-header .hml-header:not(.is-compact) .hml-header__item[class*="elementor-repeater-item"] {
	position: static !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	contain: none !important;
	will-change: auto !important;
}

.hml-header__item.is-hot,
.hml-header__item.is-open {
	background: var(--hml-header-lipstick);
	color: var(--hml-header-white);
}

.hml-header__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--hml-header-chevron-gap);
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 calc(8 * var(--hml-u));
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-header-nav-size);
	line-height: 1.6;
	letter-spacing: 0;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(198, 6, 81, 0.18);
}

.hml-header__label {
	flex: 0 0 auto;
	min-width: max-content;
	white-space: nowrap;
	padding-right: calc(2 * var(--hml-u));
}

.hml-header__chevron {
	position: relative;
	flex: 0 0 var(--hml-header-chevron);
	width: var(--hml-header-chevron);
	height: var(--hml-header-chevron);
	margin-left: 0;
	flex-shrink: 0;
	transition: transform 0.28s var(--hml-ease);
}

.hml-header__item.is-open .hml-header__chevron {
	transform: rotate(180deg);
}

.elementor-widget-hml-homepage-header .hml-header__chevron img,
.hml-header .hml-header__chevron img {
	position: absolute;
	inset: 0;
	display: block;
	width: var(--hml-header-chevron) !important;
	height: var(--hml-header-chevron) !important;
	max-width: none !important;
	object-fit: contain;
}

.hml-header__chevron--on {
	opacity: 0;
}

.hml-header__item.is-hot .hml-header__chevron--ink,
.hml-header__item.is-open .hml-header__chevron--ink {
	opacity: 0;
}

.hml-header__item.is-hot .hml-header__chevron--on,
.hml-header__item.is-open .hml-header__chevron--on {
	opacity: 1;
}

.hml-header__mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: none;
	background: var(--hml-header-lipstick);
	color: var(--hml-header-white);
	box-shadow: var(--hml-header-mega-shadow);
	transform-origin: top center;
}

.hml-header__item.is-open .hml-header__mega {
	animation: hml-header-mega-in 0.32s var(--hml-ease-out) both;
}

.hml-header__mega[hidden] {
	display: none !important;
}

.hml-header__mega-body {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: var(--hml-header-mega-pad-y) var(--hml-header-mega-pad-x);
}

@media (min-width: 1025px) {
	.hml-header__top-inner,
	.hml-header__nav-inner,
	.hml-header__mega-body {
		max-width: var(--hml-header-inner);
	}
}

.hml-header__mega-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: var(--hml-header-mega-gap);
	width: 100%;
	min-width: 0;
}

.hml-header__mega-kicker {
	flex: 1 1 100%;
	width: 100%;
	margin: calc(4 * var(--hml-u)) 0 0;
	padding: calc(12 * var(--hml-u)) 0 calc(4 * var(--hml-u));
	border-top: calc(1 * var(--hml-u)) solid rgba(255, 255, 255, 0.22);
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: calc(11 * var(--hml-u));
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.hml-header__card {
	display: flex;
	align-items: flex-start;
	flex: 1 1 0;
	gap: var(--hml-header-mega-icon-gap);
	min-width: 0;
	padding: var(--hml-header-mega-item-py) 0;
	color: var(--hml-header-white);
	text-decoration: none;
	transition: transform 0.28s var(--hml-ease), opacity 0.22s ease;
}

.hml-header__mega-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--hml-header-mega-icon);
	width: var(--hml-header-mega-icon);
	height: var(--hml-header-mega-icon);
}

.elementor-widget-hml-homepage-header .hml-header__mega-icon img,
.hml-header .hml-header__mega-icon img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain;
}

.hml-header__card-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	flex: 1 1 auto;
	line-height: 1.6;
}

.hml-header__card-title {
	width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: var(--hml-header-title);
	letter-spacing: 0;
	color: var(--hml-header-white);
	white-space: normal;
	overflow-wrap: break-word;
}

.hml-header__card--external .hml-header__card-title::after {
	content: "↗";
	margin-left: 0.35em;
	font-weight: 500;
}

.hml-header__card-desc {
	width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-header-desc);
	letter-spacing: 0;
	color: var(--hml-header-white);
	white-space: normal;
	overflow-wrap: break-word;
}

.hml-header__mega-foot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--hml-header-strip-py) var(--hml-header-mega-pad-x);
	border-bottom: calc(1 * var(--hml-u)) solid var(--hml-header-strip-line);
	background: var(--hml-header-strip);
}

.hml-header__hiring,
.hml-header__hiring-link {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-header-nav-size);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-header-white);
	white-space: nowrap;
}

.hml-header__mega-foot {
	gap: var(--hml-header-hiring-gap);
}

.hml-header__hiring-link {
	text-decoration: underline;
	text-underline-offset: from-font;
	text-underline-position: from-font;
	text-decoration-skip-ink: none;
	transition: opacity 0.22s ease;
}

.hml-header [data-hml-enter] {
	opacity: 0;
	transform: translate3d(var(--hml-x, 0), var(--hml-y, calc(12 * var(--hml-u))), 0);
}

.hml-header__item[data-hml-enter],
.hml-header__nav[data-hml-enter] {
	transform: none;
}

.hml-header.is-inview [data-hml-enter] {
	animation: hml-header-in 0.72s var(--hml-ease-out) both;
	animation-delay: var(--hml-d, 0s);
}

.hml-header.is-inview .hml-header__item[data-hml-enter],
.hml-header.is-inview .hml-header__nav[data-hml-enter] {
	animation-name: hml-header-fade;
	transform: none;
}

.hml-header__top { --hml-y: calc(-12 * var(--hml-u)); --hml-d: 0s; }
.hml-header__nav { --hml-y: calc(-8 * var(--hml-u)); --hml-d: 0.08s; }
.hml-header__item:nth-child(1) { --hml-d: 0.12s; }
.hml-header__item:nth-child(2) { --hml-d: 0.16s; }
.hml-header__item:nth-child(3) { --hml-d: 0.2s; }
.hml-header__item:nth-child(4) { --hml-d: 0.24s; }
.hml-header__item:nth-child(5) { --hml-d: 0.28s; }
.hml-header__item:nth-child(6) { --hml-d: 0.32s; }
.hml-header__item:nth-child(7) { --hml-d: 0.36s; }

@keyframes hml-header-in {
	from {
		opacity: 0;
		transform: translate3d(var(--hml-x, 0), var(--hml-y, calc(12 * var(--hml-u))), 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes hml-header-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes hml-header-mega-in {
	from {
		opacity: 0;
		transform: translate3d(0, calc(-10 * var(--hml-u)), 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.hml-header--no-motion [data-hml-enter],
.hml-header--no-motion .hml-header__item.is-open .hml-header__mega {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
	.hml-header:not(.hml-header--no-hover) .hml-header__logo:hover img {
		transform: translate3d(0, calc(-2 * var(--hml-u)), 0);
	}

	.hml-header:not(.hml-header--no-hover) .hml-header__phone:hover,
	.hml-header:not(.hml-header--no-hover) .hml-header__phone:focus-visible {
		opacity: 0.72;
	}

	.hml-header:not(.hml-header--no-hover) .hml-header__cta:hover,
	.hml-header:not(.hml-header--no-hover) .hml-header__cta:focus-visible {
		transform: translate3d(0, calc(-2 * var(--hml-u)), 0);
		filter: brightness(1.06);
	}

	.hml-header:not(.hml-header--no-hover) .hml-header__card:hover,
	.hml-header:not(.hml-header--no-hover) .hml-header__card:focus-visible {
		transform: translate3d(0, calc(-2 * var(--hml-u)), 0);
		opacity: 0.88;
	}

	.hml-header:not(.hml-header--no-hover) .hml-header__hiring-link:hover,
	.hml-header:not(.hml-header--no-hover) .hml-header__hiring-link:focus-visible {
		opacity: 0.78;
	}
}

.hml-header__trigger:focus-visible,
.hml-header__cta:focus-visible,
.hml-header__phone:focus-visible,
.hml-header__logo:focus-visible,
.hml-header__card:focus-visible,
.hml-header__hiring-link:focus-visible,
.hml-header__burger:focus-visible {
	outline: calc(2 * var(--hml-u)) solid var(--hml-header-lipstick);
	outline-offset: calc(3 * var(--hml-u));
}

.hml-header__item.is-hot .hml-header__trigger:focus-visible,
.hml-header__cta:focus-visible {
	outline-color: var(--hml-header-white);
}

/* Compact drawer â€” JS adds .is-compact below the hamburger breakpoint */
.hml-header.is-compact .hml-header__burger {
	display: inline-flex;
}

.hml-header.is-compact .hml-header__top {
	z-index: 9;
}

.hml-header.is-compact .hml-header__scrim {
	z-index: 6;
}

.hml-header.is-compact .hml-header__nav {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 8;
	display: block;
	height: auto;
	min-height: 0;
	max-height: min(78dvh, calc(720 * var(--hml-u)));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--hml-header-top-bg);
	box-shadow: var(--hml-header-shadow);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	-webkit-overflow-scrolling: touch;
}

.hml-header.is-compact .hml-header__nav[hidden] {
	display: none !important;
}

.hml-header.is-compact.is-drawer-open .hml-header__nav:not([hidden]) {
	animation: hml-header-drawer-in 0.28s var(--hml-ease-out) both;
}

@keyframes hml-header-drawer-in {
	from {
		opacity: 0;
		transform: translate3d(0, calc(-8 * var(--hml-u)), 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.hml-header.is-compact .hml-header__nav-inner {
	display: flex;
	flex-direction: column;
	grid-template-columns: none;
	height: auto;
}

.hml-header.is-compact .hml-header__item {
	flex: 0 0 auto !important;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	height: auto;
	min-height: calc(48 * var(--hml-u));
	justify-content: flex-start;
	background: var(--hml-header-nav-bg);
	border-bottom: calc(1 * var(--hml-u)) solid rgba(11, 11, 11, 0.08);
}

.hml-header.is-compact .hml-header__item.is-default:not(.is-open) {
	background: var(--hml-header-nav-bg);
	color: var(--hml-header-ink);
}

.hml-header.is-compact .hml-header__item.is-default:not(.is-open) .hml-header__chevron--ink {
	opacity: 1;
}

.hml-header.is-compact .hml-header__item.is-default:not(.is-open) .hml-header__chevron--on {
	opacity: 0;
}

.hml-header.is-compact .hml-header__item.is-open {
	background: var(--hml-header-lipstick);
	color: var(--hml-header-white);
}

.hml-header.is-compact .hml-header__trigger {
	justify-content: space-between;
	min-height: calc(48 * var(--hml-u));
	height: auto;
	padding-top: calc(12 * var(--hml-u));
	padding-bottom: calc(12 * var(--hml-u));
	padding-left: max(var(--hml-header-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-header-pad-x), env(safe-area-inset-right, 0px));
	white-space: normal;
	text-align: left;
}

.hml-header.is-compact .hml-header__label {
	flex: 1 1 auto;
	min-width: 0;
	white-space: normal;
	padding-right: 0;
	overflow-wrap: anywhere;
}

.hml-header.is-compact .hml-header__mega {
	position: static;
	box-shadow: none;
	animation: none;
}

.hml-header.is-compact .hml-header__mega-body {
	padding-top: calc(12 * var(--hml-u));
	padding-bottom: calc(8 * var(--hml-u));
	padding-left: max(var(--hml-header-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-header-pad-x), env(safe-area-inset-right, 0px));
}

.hml-header.is-compact .hml-header__mega-grid {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: calc(4 * var(--hml-u));
}

.hml-header.is-compact .hml-header__mega-kicker {
	margin-top: calc(8 * var(--hml-u));
	padding-top: calc(10 * var(--hml-u));
	padding-bottom: calc(2 * var(--hml-u));
}

.hml-header.is-compact .hml-header__card {
	flex: 0 0 auto;
	width: 100%;
	min-height: calc(44 * var(--hml-u));
	padding: calc(10 * var(--hml-u)) 0;
}

.hml-header.is-compact .hml-header__mega-foot {
	justify-content: flex-start;
	flex-wrap: wrap;
	padding-top: calc(14 * var(--hml-u));
	padding-bottom: calc(14 * var(--hml-u));
	padding-left: max(var(--hml-header-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-header-pad-x), env(safe-area-inset-right, 0px));
	gap: calc(8 * var(--hml-u));
}

.hml-header.is-compact .hml-header__hiring,
.hml-header.is-compact .hml-header__hiring-link {
	white-space: normal;
}

.hml-header.is-compact .hml-header__drawer-tools {
	display: none;
}

@media (max-width: 1024px) {
	.hml-header--fullbleed:not(.hml-header--sticky) {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-pad-x: 48px;
		--hml-header-mega-pad-x: 48px;
	}
}

@media (max-width: 1024px) {
	.hml-header--break-1199:not(.is-compact) .hml-header__burger {
		display: inline-flex;
	}

	.hml-header--break-1199:not(.is-compact) .hml-header__nav {
		display: none;
	}
}

@media (max-width: 1023px) {
	.hml-header--break-1023:not(.is-compact) .hml-header__burger {
		display: inline-flex;
	}

	.hml-header--break-1023:not(.is-compact) .hml-header__nav {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-pad-x: 32px;
		--hml-header-mega-pad-x: 32px;
		--hml-header-phone-size: 16px;
		--hml-header-cta-size: 18px;
		--hml-header-cta-h: 44px;
		--hml-header-actions-gap: 16px;
	}

	.hml-header.is-compact .hml-header__mega-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px 28px;
	}

	.hml-header.is-compact .hml-header__mega-kicker {
		grid-column: 1 / -1;
	}

	.hml-header.is-compact .hml-header__card {
		padding: 8px 0;
	}
}

@media (max-width: 767px) {
	.hml-header--break-767:not(.is-compact) .hml-header__burger {
		display: inline-flex;
	}

	.hml-header--break-767:not(.is-compact) .hml-header__nav {
		display: none;
	}

	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-pad-x: 20px;
		--hml-header-mega-pad-x: 20px;
		--hml-header-top-h: 64px;
		--hml-header-phone-size: 16px;
		--hml-header-cta-size: 16px;
		--hml-header-cta-h: 44px;
		--hml-header-cta-px: 16px;
		--hml-header-logo-w: 146px;
		--hml-header-logo-h: 50px;
		--hml-header-logo-mark-w: 146px;
		--hml-header-logo-mark-h: 34.8px;
		--hml-header-logo-mark-t: 7.6px;
		--hml-header-logo-mark-l: 0px;
		--hml-header-actions-gap: 8px;
		--hml-header-nav-size: 16px;
		--hml-header-title: 16px;
		--hml-header-desc: 14px;
	}

	.hml-header,
	.hml-header__top {
		height: auto;
	}

	.hml-header__top {
		min-height: var(--hml-header-top-h);
		height: var(--hml-header-top-h);
	}

	.hml-header__logo {
		flex: 0 1 var(--hml-header-logo-w);
		width: min(100%, var(--hml-header-logo-w));
		min-width: 0;
	}

	.hml-header__cta,
	.hml-header__top-actions .hml-header__cta {
		display: none !important;
	}

	.hml-header.is-compact .hml-header__drawer-tools {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		padding-top: 12px;
		padding-bottom: 10px;
		padding-left: max(var(--hml-header-pad-x), env(safe-area-inset-left, 0px));
		padding-right: max(var(--hml-header-pad-x), env(safe-area-inset-right, 0px));
		background: var(--hml-header-top-bg);
		border-bottom: 1px solid rgba(11, 11, 11, 0.08);
	}

	.hml-header.is-compact .hml-header__drawer-tools .hml-header__phone,
	.hml-header.is-compact .hml-header__drawer-tools .hml-header__phone-text {
		position: static;
		width: auto;
		height: auto;
		min-width: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
		justify-content: flex-start;
		min-height: 44px;
	}

	.hml-header.is-compact .hml-header__drawer-tools .hml-header__cta {
		display: none;
	}

	.hml-header.is-compact .hml-header__mega-grid {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}
}

@container hml-top (max-width: 430px) {
	.hml-header__top-actions .hml-header__phone {
		display: none;
	}
}

@media (max-width: 430px) {
	.hml-header__top-actions .hml-header__phone {
		display: none;
	}
}

@media (max-width: 360px) {
	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-pad-x: 16px;
		--hml-header-cta-px: 12px;
		--hml-header-logo-w: 118px;
		--hml-header-logo-h: 45px;
		--hml-header-logo-mark-w: 118px;
		--hml-header-logo-mark-h: 28.1px;
		--hml-header-logo-mark-t: 7.8px;
		--hml-header-cta-size: 15px;
	}

	.hml-header__cta {
		font-size: 15px;
	}
}

@media (max-height: 500px) and (orientation: landscape) {
	.elementor-element.elementor-widget-hml-homepage-header .hml-header,
	.elementor-widget-hml-homepage-header .hml-header,
	.hml-header {
		--hml-header-top-h: 56px;
		--hml-header-cta-h: 44px;
		--hml-header-actions-gap: 10px;
		--hml-header-logo-w: 126px;
		--hml-header-logo-h: 48px;
		--hml-header-logo-mark-w: 126px;
		--hml-header-logo-mark-h: 30px;
		--hml-header-logo-mark-t: 9px;
		--hml-header-logo-mark-l: -0.4px;
	}

	.hml-header__top {
		overflow: hidden;
	}

	.hml-header.is-compact .hml-header__nav {
		max-height: min(70dvh, 420px);
	}

	.hml-header.is-compact .hml-header__mega-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 4px 20px;
	}

	.hml-header.is-compact .hml-header__mega-kicker {
		grid-column: 1 / -1;
	}

	.hml-header.is-compact .hml-header__trigger {
		min-height: 44px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

@media (pointer: coarse) {
	.hml-header__cta:active {
		filter: brightness(0.94);
	}

	.hml-header.is-compact .hml-header__item:not(.is-open) .hml-header__trigger:active {
		background: rgba(198, 6, 81, 0.08);
	}

	.hml-header__card:active {
		opacity: 0.82;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hml-header [data-hml-enter],
	.hml-header__item.is-open .hml-header__mega,
	.hml-header.is-compact.is-drawer-open .hml-header__nav,
	.hml-header__chevron,
	.hml-header__cta,
	.hml-header__card,
	.hml-header__logo img,
	.hml-header__burger-lines span,
	.hml-dock {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Phones / tablets: Figma desktop min-heights must not apply.
   Direct-child :has(>) only — never `.e-con:has(.hml-*)` (that matches
   the page canvas). Elementor sets `--flex-wrap-mobile: wrap` on column
   containers; wrap + column + height:auto inflates the widget box ~10–20k
   px below the section content. */
@media (max-width: 1024px) {
	.e-con.e-flex.e-parent:has(> [class*="elementor-widget-hml-homepage-"]) {
		--flex-wrap: nowrap;
		--flex-wrap-mobile: nowrap;
		flex-wrap: nowrap !important;
		align-content: flex-start !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.elementor-widget-hml-homepage-hero,
	.elementor-widget-hml-homepage-hero > .elementor-widget-container,
	.elementor-widget-hml-homepage-reviews,
	.elementor-widget-hml-homepage-reviews > .elementor-widget-container,
	.elementor-widget-hml-homepage-cta,
	.elementor-widget-hml-homepage-cta > .elementor-widget-container,
	.elementor-widget-hml-homepage-features,
	.elementor-widget-hml-homepage-features > .elementor-widget-container,
	.elementor-widget-hml-homepage-intro,
	.elementor-widget-hml-homepage-intro > .elementor-widget-container,
	.elementor-widget-hml-homepage-practice,
	.elementor-widget-hml-homepage-practice > .elementor-widget-container,
	.elementor-widget-hml-homepage-stats,
	.elementor-widget-hml-homepage-stats > .elementor-widget-container,
	.elementor-widget-hml-homepage-investigate,
	.elementor-widget-hml-homepage-investigate > .elementor-widget-container,
	.elementor-widget-hml-homepage-why,
	.elementor-widget-hml-homepage-why > .elementor-widget-container,
	.elementor-widget-hml-homepage-process,
	.elementor-widget-hml-homepage-process > .elementor-widget-container,
	.elementor-widget-hml-homepage-cta-photos,
	.elementor-widget-hml-homepage-cta-photos > .elementor-widget-container,
	.elementor-widget-hml-homepage-testimonials,
	.elementor-widget-hml-homepage-testimonials > .elementor-widget-container,
	.elementor-widget-hml-homepage-areas,
	.elementor-widget-hml-homepage-areas > .elementor-widget-container,
	.elementor-widget-hml-homepage-faq,
	.elementor-widget-hml-homepage-faq > .elementor-widget-container,
	.elementor-widget-hml-homepage-contact,
	.elementor-widget-hml-homepage-contact > .elementor-widget-container,
	.elementor-widget-hml-homepage-footer,
	.elementor-widget-hml-homepage-footer > .elementor-widget-container,
	.hml-hero,
	.hml-reviews,
	.hml-cta,
	.hml-feat,
	.hml-intro,
	.hml-prac,
	.hml-stats,
	.hml-investigate,
	.hml-why,
	.hml-process,
	.hml-photos,
	.hml-quotes,
	.hml-areas,
	.hml-faq,
	.hml-contact,
	.hml-footer {
		min-height: 0 !important;
		height: auto !important;
		max-height: none;
	}

	.hml-hero {
		--hml-min-h: 0px !important;
	}

	.hml-intro {
		--hml-intro-min-h: 0px !important;
		--hml-intro-col-h: 0px !important;
	}

	.hml-intro__inner,
	.hml-intro__photo,
	.hml-intro__copy {
		min-height: 0 !important;
	}

	.hml-prac {
		--hml-prac-min-h: 0px !important;
		--hml-prac-card-min-h: 0px !important;
	}

	.hml-stats {
		--hml-stats-min-h: 0px !important;
	}

	.hml-investigate {
		--hml-inv-min-h: 0px !important;
		--hml-inv-card-min-h: 0px !important;
	}

	.hml-investigate__card,
	.hml-investigate__photo,
	.hml-investigate__card-media {
		min-height: 0 !important;
	}

	.hml-why {
		--hml-why-min-h: 0px !important;
	}

	.hml-process {
		--hml-process-min-h: 0px !important;
	}

	.hml-photos {
		--hml-photos-min-h: 0px !important;
	}

	.hml-quotes {
		--hml-quotes-min-h: 0px !important;
	}

	.hml-areas {
		--hml-areas-min-h: 0px !important;
	}

	.hml-faq {
		--hml-faq-min-h: 0px !important;
	}

	.hml-contact {
		--hml-contact-min-h: 0px !important;
	}

	.hml-footer {
		--hml-footer-min-h: 0px !important;
	}
}

/* Mobile-only sticky Call / Text / Talk dock. Not in Figma — phone conversion bar. */
.hml-dock {
	--hml-dock-dark: #1a1c22;
	--hml-dock-lipstick: #c60651;
	--hml-dock-white: #ffffff;
	--hml-dock-muted: rgba(255, 255, 255, 0.82);
	--hml-dock-line: rgba(255, 255, 255, 0.16);
	--hml-dock-title: calc(14 * var(--hml-u));
	--hml-dock-sub: calc(11 * var(--hml-u));
	--hml-dock-h: calc(62 * var(--hml-u));
	--hml-dock-r: calc(16 * var(--hml-u));
	display: none;
	box-sizing: border-box;
}

.hml-dock,
.hml-dock * {
	box-sizing: border-box;
}

@media (max-width: 767px) {
	html:has(.hml-dock):not(.hml-dock-keyboard),
	html.hml-has-dock:not(.hml-dock-keyboard) {
		--hml-dock-h: 70px;
		padding-bottom: calc(var(--hml-dock-h) + env(safe-area-inset-bottom, 0px));
	}

	.hml-dock {
		--hml-dock-h: 70px;
		--hml-dock-title: 16px;
		--hml-dock-sub: 12px;
		display: flex;
		align-items: stretch;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 180;
		width: 100%;
		max-width: 100%;
		margin: 0;
		overflow: hidden;
		border: 0;
		border-radius: var(--hml-dock-r) var(--hml-dock-r) 0 0;
		background: var(--hml-dock-dark);
		box-shadow: 0 -10px 28px rgba(11, 11, 11, 0.22);
		-webkit-tap-highlight-color: transparent;
		transition: opacity 0.22s var(--hml-ease, ease), transform 0.22s var(--hml-ease, ease);
	}

	.hml-dock.is-keyboard {
		display: none;
	}

	.hml-header.is-drawer-open ~ .hml-dock {
		opacity: 0;
		pointer-events: none;
		transform: translate3d(0, 12px, 0);
	}

	.hml-dock__btn {
		display: flex;
		flex: 1 1 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		width: 0;
		min-width: 0;
		min-height: calc(var(--hml-dock-h) + env(safe-area-inset-bottom, 0px));
		margin: 0;
		padding: 11px 3px calc(11px + env(safe-area-inset-bottom, 0px));
		border: 0;
		background: var(--hml-dock-dark);
		color: var(--hml-dock-white);
		text-align: center;
		text-decoration: none;
		touch-action: manipulation;
	}

	.hml-dock__btn--call {
		flex: 0.9 1 0;
		box-shadow: inset -1px 0 0 var(--hml-dock-line);
	}

	.hml-dock__btn--text {
		flex: 1.05 1 0;
		box-shadow: inset -1px 0 0 var(--hml-dock-line);
	}

	.hml-dock__btn--cta {
		flex: 1.05 1 0;
		background: var(--hml-dock-lipstick);
		box-shadow: none;
	}

	.hml-dock__btn--cta .hml-dock__title {
		font-size: 15.5px;
		font-weight: 800;
	}

	.hml-dock__btn--cta .hml-dock__sub {
		font-size: 11px;
		letter-spacing: -0.015em;
		font-weight: 600;
		color: #ffffff;
		opacity: 0.98;
	}

	.hml-dock__title {
		display: block;
		width: 100%;
		font-family: Inter, sans-serif;
		font-weight: 800;
		font-size: var(--hml-dock-title);
		line-height: 1.2;
		letter-spacing: 0.01em;
		color: var(--hml-dock-white);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.hml-dock__sub {
		display: block;
		width: 100%;
		font-family: Inter, sans-serif;
		font-weight: 500;
		font-size: var(--hml-dock-sub);
		line-height: 1.25;
		letter-spacing: -0.015em;
		color: var(--hml-dock-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.hml-dock__btn:focus-visible {
		outline: 2px solid var(--hml-dock-white);
		outline-offset: -3px;
	}

	.hml-dock__btn:active {
		filter: brightness(1.08);
	}
}

@media (max-width: 360px) {
	.hml-dock {
		--hml-dock-h: 66px;
		--hml-dock-title: 14px;
		--hml-dock-sub: 10.5px;
	}

	.hml-dock__btn {
		padding-left: 2px;
		padding-right: 2px;
	}

	.hml-dock__btn--cta .hml-dock__title {
		font-size: 14px;
	}

	.hml-dock__btn--cta .hml-dock__sub {
		font-size: 10px;
		letter-spacing: -0.02em;
	}
}

@media (max-width: 767px) and (max-height: 500px) and (orientation: landscape) {
	html:has(.hml-dock),
	html.hml-has-dock,
	.hml-dock {
		--hml-dock-h: 56px;
		--hml-dock-title: 13px;
		--hml-dock-sub: 10.5px;
	}
}

@media print {
	.hml-dock {
		display: none !important;
	}
}
