/* HML Homepage Hero — Figma Header / 137 / (1440 × 921, wine field) */

.hml-hero {
	--hml-bg: #4f0220;
	--hml-dot: rgba(255, 255, 255, 0.22);
	--hml-white: #ffffff;
	--hml-ink: #0b0b0b;
	--hml-lipstick: #c60651;
	--hml-lipstick-light: #d75085;
	--hml-gold: #fbbf18;
	--hml-form-bg: rgba(255, 255, 255, 0.9);
	--hml-form-autofill: color-mix(in srgb, var(--hml-bg) 12%, #ffffff 88%);
	--hml-pad-left: calc(64 * var(--hml-u));
	--hml-pad-right: calc(80 * var(--hml-u));
	--hml-min-h: calc(921 * var(--hml-u));
	--hml-left-w: calc(560 * var(--hml-u));
	--hml-right-w: calc(398 * var(--hml-u));
	--hml-headline: calc(84 * var(--hml-u));
	--hml-portrait-left: 29.77%;
	--hml-portrait-top: 7.93%;
	--hml-portrait-w: 40.51%;
	--hml-portrait-h: 92.07%;
	--hml-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--hml-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--hml-form-bar-h: calc(56 * var(--hml-u));

	position: relative;
	isolation: isolate;
	overflow-x: clip;
	overflow-y: hidden;
	width: 100%;
	min-height: var(--hml-min-h);
	background-color: var(--hml-bg);
	color: var(--hml-white);
	font-family: Inter, "Inter", system-ui, sans-serif;
	font-size: calc(16 * var(--hml-u));
	font-weight: 400;
	letter-spacing: 0;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.hml-hero:has(.hml-hero__form-wrap.is-open) {
	overflow-y: visible;
}

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

.elementor-widget-hml-homepage-hero,
.elementor-widget-hml-homepage-hero > .elementor-widget-container {
	margin: 0;
	padding: 0;
	overflow: visible;
}

/* Elementor kit: .e-con-full, .e-con > .e-con-inner { padding-block-start/end }.
   That is the gap above the hero. Only the container that directly wraps this widget. */
.e-con-full:has(> .elementor-widget-hml-homepage-hero),
.e-con-full:has(> .e-con-inner > .elementor-widget-hml-homepage-hero),
.e-con:has(> .elementor-widget-hml-homepage-hero) > .e-con-inner,
.e-con:has(> .e-con-inner > .elementor-widget-hml-homepage-hero) > .e-con-inner {
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
	--padding-block-start: 0px;
	--padding-block-end: 0px;
}

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

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

.hml-hero__bg,
.hml-hero__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.hml-hero__dots {
	background-image: radial-gradient(circle, var(--hml-dot) calc(1.2 * var(--hml-u)), transparent calc(1.35 * var(--hml-u)));
	background-size: calc(24 * var(--hml-u)) calc(24 * var(--hml-u));
	background-position: calc(12 * var(--hml-u)) calc(12 * var(--hml-u));
	opacity: 1;
}

.hml-hero__inner {
	position: relative;
	z-index: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: calc(349 * var(--hml-u));
	width: 100%;
	max-width: calc(1440 * var(--hml-u));
	min-height: var(--hml-min-h);
	margin: 0 auto;
	padding: 0 calc(67 * var(--hml-u)) 0 calc(66 * var(--hml-u));
	box-sizing: border-box;
	overflow: visible;
}

.hml-hero__left,
.hml-hero__right,
.hml-hero__right-top,
.hml-hero__copy,
.hml-hero__proof,
.hml-hero__intro,
.hml-hero__actions,
.hml-hero__form-wrap,
.hml-hero__form {
	position: relative;
	z-index: 2;
}

.hml-hero__left {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: calc(24 * var(--hml-u));
	width: var(--hml-left-w);
	max-width: var(--hml-left-w);
	min-height: 0;
	overflow: visible;
}

.hml-hero__right {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	width: var(--hml-right-w);
	max-width: var(--hml-right-w);
	min-height: 0;
	gap: 0;
}

.hml-hero__right::before {
	content: none;
	display: none;
}

.hml-hero__right-top {
	position: relative;
	z-index: 5;
	order: 0;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: calc(50 * var(--hml-u));
	width: 100%;
}

.hml-hero__intro-stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: calc(16 * var(--hml-u));
	width: 100%;
	min-width: 0;
}

.hml-hero__intro-note {
	margin: 0;
	width: calc(408 * var(--hml-u));
	max-width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: calc(16 * var(--hml-u));
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-white);
	opacity: 0.9;
}

.hml-hero__copy,
.hml-hero__proof {
	overflow: visible;
	width: 100%;
}

.hml-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.hml-hero__proof {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(24 * var(--hml-u));
}

/* Portrait — Figma: left 29.77%, top 7.93%, 40.51% × 92.07% of the 1440×921 frame */
.hml-hero__portrait {
	position: absolute;
	left: var(--hml-portrait-left);
	top: var(--hml-portrait-top);
	bottom: auto;
	width: var(--hml-portrait-w);
	max-width: none;
	height: var(--hml-portrait-h);
	max-height: none;
	z-index: 1;
	pointer-events: none;
	display: block;
	overflow: visible;
}

.hml-hero .hml-hero__portrait picture {
	display: block;
	width: 100%;
	height: 100%;
}

.elementor-widget-hml-homepage-hero .hml-hero__portrait img,
.elementor-widget-hml-homepage-hero .hml-hero__portrait picture img,
.hml-hero .hml-hero__portrait img,
.hml-hero .hml-hero__portrait picture img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center bottom !important;
	user-select: none;
	transform-origin: center bottom;
}

/* Eyebrow — Figma two lines: lipstick-light then white */
.hml-hero__eyebrow {
	margin: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: calc(16 * var(--hml-u));
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--hml-white);
}

.hml-hero__eyebrow-accent {
	display: block;
	color: var(--hml-lipstick-light);
	white-space: nowrap;
}

.hml-hero__eyebrow-light {
	display: block;
	color: var(--hml-white);
	white-space: nowrap;
}

/* Headline — Figma 560 × 276, Manrope Bold 84 / 1.1 / 0.84px tracking */
.hml-hero__headline {
	margin: 0;
	width: 100%;
	max-width: var(--hml-left-w);
	font-family: Manrope, Inter, sans-serif;
	font-weight: 700;
	font-size: var(--hml-headline);
	line-height: 1.1;
	letter-spacing: 0.01em;
	color: var(--hml-white);
	overflow-wrap: break-word;
}

.hml-hero__headline p {
	margin: 0;
}

.hml-hero__headline-line,
.hml-hero__headline-line--last {
	display: inline;
	white-space: inherit;
}

/* Reviews card — Figma 309 × 102.7, pad 17.557, radius 5.267, white outline */
.hml-hero__reviews {
	display: flex;
	align-items: center;
	gap: calc(8.778 * var(--hml-u));
	width: calc(309 * var(--hml-u));
	max-width: 100%;
	min-height: calc(102.707 * var(--hml-u));
	height: calc(102.707 * var(--hml-u));
	margin-top: 0;
	padding: calc(17.557 * var(--hml-u));
	border: 0;
	border-radius: calc(5.267 * var(--hml-u));
	box-shadow: 0 calc(4.389 * var(--hml-u)) calc(30.724 * var(--hml-u)) rgba(198, 6, 81, 0.1), inset 0 0 0 calc(1.756 * var(--hml-u)) var(--hml-white);
	box-sizing: border-box;
	background: transparent;
	text-decoration: none;
	color: var(--hml-white);
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition: transform 0.35s var(--hml-ease), box-shadow 0.35s ease, background-color 0.35s ease;
}

.hml-hero__reviews:hover,
.hml-hero__reviews:focus-visible {
	color: var(--hml-white);
}

@media (hover: hover) and (pointer: fine) {
	.hml-hero__reviews:hover,
	.hml-hero__reviews:focus-visible {
		background: rgba(0, 0, 0, 0.45);
		transform: translateY(calc(-3 * var(--hml-u)));
		box-shadow:
			0 calc(8 * var(--hml-u)) calc(32 * var(--hml-u)) rgba(198, 6, 81, 0.22),
			inset 0 0 0 calc(1.756 * var(--hml-u)) var(--hml-white);
	}
}

.hml-hero__reviews-logo {
	flex: 0 0 calc(69.317 * var(--hml-u));
	width: calc(69.317 * var(--hml-u));
	height: calc(67.626 * var(--hml-u));
	overflow: hidden;
	position: relative;
}

.elementor-widget-hml-homepage-hero .hml-hero__reviews-logo img,
.hml-hero .hml-hero__reviews-logo img {
	display: block;
	position: absolute;
	inset: 0;
	left: 0;
	top: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: contain;
	object-position: center;
}

.hml-hero__reviews-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: calc(6.737 * var(--hml-u));
	min-width: 0;
}

.hml-hero__reviews-title {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: calc(16.169 * var(--hml-u));
	line-height: 1.6;
	color: var(--hml-white);
	white-space: nowrap;
}

.hml-hero__stars {
	display: block;
	width: calc(156.297 * var(--hml-u));
	height: calc(25.6 * var(--hml-u));
	max-width: 100%;
}

.hml-hero__stars img,
.hml-hero__stars svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* SMS line */
.hml-hero__sms {
	margin: 0;
	max-width: calc(363 * var(--hml-u));
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: calc(18 * var(--hml-u));
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-white);
}

.hml-hero__sms-phone {
	font-weight: 700;
	color: var(--hml-white);
	text-decoration: none;
	border-bottom: 0;
	padding-bottom: 0;
	transition: opacity 0.25s ease;
}

.hml-hero__sms-phone:hover,
.hml-hero__sms-phone:focus-visible {
	opacity: 0.82;
	color: var(--hml-white);
}

.hml-hero__proof-foot {
	display: contents;
}

.hml-hero__rule {
	display: none;
}

.hml-hero__trust-row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	position: relative;
	width: calc(366 * var(--hml-u));
	max-width: 100%;
	min-height: calc(143 * var(--hml-u));
}

.hml-hero__trust-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: calc(15 * var(--hml-u));
	margin: calc(41 * var(--hml-u)) 0 0;
	padding: 0;
	list-style: none;
}

.hml-hero__trust-item {
	display: flex;
	align-items: center;
	gap: calc(8 * var(--hml-u));
}

.hml-hero__trust-icon {
	flex: 0 0 calc(24 * var(--hml-u));
	width: calc(24 * var(--hml-u));
	height: calc(24 * var(--hml-u));
	overflow: visible;
	display: grid;
	place-items: center;
}

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

.hml-hero__trust-text {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 800;
	font-size: calc(12 * var(--hml-u));
	line-height: 1.6;
	color: var(--hml-white);
	white-space: nowrap;
}

.hml-hero__trust-text:has(br) {
	white-space: normal;
}

.hml-hero__trust-item:has(.hml-hero__trust-text br) {
	align-items: flex-start;
}

.hml-hero__trust-item:first-child .hml-hero__trust-text {
	font-weight: 700;
}

.hml-hero__years {
	position: absolute;
	left: calc(198 * var(--hml-u));
	top: 0;
	width: calc(168 * var(--hml-u));
	height: calc(142 * var(--hml-u));
	flex: 0 0 calc(168 * var(--hml-u));
	overflow: hidden;
}

.hml-hero__years-wreath {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.elementor-widget-hml-homepage-hero .hml-hero__years-wreath img,
.hml-hero .hml-hero__years-wreath img {
	position: absolute;
	display: block;
	max-width: none !important;
	max-height: none !important;
	object-fit: fill !important;
	object-position: center center;
}

.hml-hero__years-wreath-c {
	top: 0.85%;
	left: 11.57%;
	width: 76.86% !important;
	height: 74.5% !important;
}

.hml-hero__years-wreath-l {
	top: 5.47%;
	left: 16.9%;
	width: 28.17% !important;
	height: 68.55% !important;
}

.hml-hero__years-wreath-r {
	top: 5.48%;
	left: 54.92%;
	width: 28.17% !important;
	height: 68.54% !important;
}

.hml-hero__years-copy {
	position: absolute;
	top: 18.53%;
	right: 28.87%;
	bottom: 30.89%;
	left: 28.86%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--hml-white);
	line-height: 1.39;
}

.hml-hero__years-num {
	font-family: Inter, sans-serif;
	font-weight: 800;
	font-size: calc(28.751 * var(--hml-u));
	line-height: 1.39;
}

.hml-hero__years-unit {
	font-family: Inter, sans-serif;
	font-weight: 800;
	font-size: calc(15.001 * var(--hml-u));
	line-height: 1.39;
}

.hml-hero__years-caption {
	position: absolute;
	top: 80.28%;
	right: 14.29%;
	bottom: 0;
	left: 14.88%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 700;
	font-size: calc(12 * var(--hml-u));
	line-height: 1.19;
	text-align: center;
	color: var(--hml-white);
}

.hml-hero__years-caption:has(br) {
	top: 76%;
	display: block;
	white-space: normal;
	line-height: 1.15;
}

.hml-hero__trust-block,
.hml-hero__trust-line,
.hml-hero__years-line {
	display: none;
}

.hml-hero__intro {
	margin: 0;
	width: calc(408 * var(--hml-u));
	max-width: none;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: calc(20 * var(--hml-u));
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-white);
}

.hml-hero__actions {
	display: flex;
	flex-direction: row;
	gap: calc(16 * var(--hml-u));
	width: 100%;
	margin-top: 0;
}

.hml-hero__btn {
	flex: 1 0 0;
	width: auto;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(12 * var(--hml-u));
	min-height: calc(48 * var(--hml-u));
	height: calc(48 * var(--hml-u));
	padding: calc(6 * var(--hml-u)) calc(12 * var(--hml-u));
	border-radius: calc(6 * var(--hml-u));
	border: calc(1 * var(--hml-u)) solid var(--hml-white);
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: calc(20 * var(--hml-u));
	line-height: 1.6;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition: background-color 0.28s var(--hml-ease), color 0.28s ease, transform 0.28s var(--hml-ease), box-shadow 0.28s ease, border-color 0.28s ease, filter 0.28s ease;
}

.hml-hero__btn-icon {
	flex: 0 0 1.2em;
	width: 1.2em;
	height: 1.2em;
	overflow: hidden;
	display: grid;
	place-items: center;
}

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

.hml-hero__btn strong {
	font-weight: 700;
}

.hml-hero__btn--solid {
	background: var(--hml-white);
	color: var(--hml-ink);
	border-color: var(--hml-white);
}

.hml-hero__btn--ghost {
	background: transparent;
	color: var(--hml-white);
}

.hml-hero__btn--solid:hover,
.hml-hero__btn--solid:focus-visible {
	background: var(--hml-white);
	border-color: var(--hml-white);
	color: var(--hml-ink);
	filter: brightness(0.97);
}

.hml-hero__btn--ghost:hover,
.hml-hero__btn--ghost:focus-visible {
	background: var(--hml-white);
	color: var(--hml-ink);
}

.hml-hero__btn--ghost:hover .hml-hero__btn-icon img,
.hml-hero__btn--ghost:focus-visible .hml-hero__btn-icon img {
	filter: brightness(0);
}

@media (hover: hover) and (pointer: fine) {
	.hml-hero__btn--solid:hover,
	.hml-hero__btn--solid:focus-visible {
		transform: translateY(calc(-2 * var(--hml-u)));
		box-shadow: 0 calc(10 * var(--hml-u)) calc(24 * var(--hml-u)) rgba(11, 11, 11, 0.18);
	}

	.hml-hero__btn--ghost:hover,
	.hml-hero__btn--ghost:focus-visible {
		transform: translateY(calc(-2 * var(--hml-u)));
		box-shadow: 0 calc(10 * var(--hml-u)) calc(24 * var(--hml-u)) rgba(255, 255, 255, 0.18);
	}

	.hml-hero__submit:hover,
	.hml-hero__submit:focus-visible {
		transform: translateY(calc(-2 * var(--hml-u)));
		box-shadow: 0 calc(12 * var(--hml-u)) calc(28 * var(--hml-u)) rgba(198, 6, 81, 0.38);
	}
}

.hml-hero__btn:active {
	transform: translateY(0) scale(0.98);
}

/* Form stays in flow so it can grow down without clipping or covering the CTAs */
.hml-hero__form-wrap {
	position: relative;
	z-index: 4;
	order: 2;
	flex: 0 0 auto;
	width: 100%;
	max-width: var(--hml-right-w);
	margin-top: calc(53 * var(--hml-u));
	padding: calc(28 * var(--hml-u));
	border: 0;
	border-radius: calc(6 * var(--hml-u));
	background: var(--hml-form-bg);
	backdrop-filter: blur(calc(10 * var(--hml-u)));
	-webkit-backdrop-filter: blur(calc(10 * var(--hml-u)));
	overflow: hidden;
	box-sizing: border-box;
}

.hml-hero__form-toggle {
	display: none;
}

.hml-hero__form-chevron {
	display: none;
}

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

.hml-hero__form {
	width: 100%;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--hml-ink);
	box-sizing: border-box;
	box-shadow: none;
}

.elementor-widget-hml-homepage-hero .hml-hero__form {
	padding: 0 !important;
}

.hml-hero__form-fields {
	display: flex;
	flex-direction: column;
	gap: calc(24 * var(--hml-u));
	width: 100%;
}

.hml-hero__form-row {
	display: flex;
	gap: calc(24 * var(--hml-u));
	width: 100%;
}

.hml-hero__field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: calc(8 * var(--hml-u));
	flex: 1 1 0;
	min-width: 0;
}

.hml-hero__form-fields > .hml-hero__field {
	flex: 0 0 auto;
	width: 100%;
}

.hml-hero__label {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: calc(16 * var(--hml-u));
	line-height: 1.6;
	color: var(--hml-ink);
}

.hml-hero__req {
	color: var(--hml-lipstick);
}

.hml-hero__input,
.hml-hero__textarea {
	width: 100%;
	margin: 0;
	padding: calc(2 * var(--hml-u)) 0 calc(4 * var(--hml-u));
	border: 0;
	border-bottom: calc(1 * var(--hml-u)) solid var(--hml-ink);
	border-radius: 0;
	background: transparent;
	font-family: Inter, sans-serif;
	font-size: calc(16 * var(--hml-u));
	line-height: 1.4;
	color: var(--hml-ink);
	outline: none;
	box-shadow: none;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}

.hml-hero__input[type="text"],
.hml-hero__input[type="tel"],
.hml-hero__input[type="email"] {
	height: calc(22 * var(--hml-u));
	min-height: calc(22 * var(--hml-u));
}

.hml-hero__textarea {
	min-height: calc(20 * var(--hml-u));
	height: calc(20 * var(--hml-u));
	resize: none;
	overflow: auto;
	padding-top: 0;
	padding-bottom: 0;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.hml-hero__textarea::-webkit-scrollbar,
.hml-hero__textarea::-webkit-resizer {
	display: none;
	width: 0;
	height: 0;
}

.hml-hero__input:autofill,
.hml-hero__input:autofill:hover,
.hml-hero__input:autofill:focus,
.hml-hero__input:autofill:active,
.hml-hero__input:-webkit-autofill,
.hml-hero__input:-webkit-autofill:hover,
.hml-hero__input:-webkit-autofill:focus,
.hml-hero__input:-webkit-autofill:active,
.hml-hero__input:-internal-autofill-selected,
.hml-hero__textarea:autofill,
.hml-hero__textarea:autofill:hover,
.hml-hero__textarea:autofill:focus,
.hml-hero__textarea:-webkit-autofill,
.hml-hero__textarea:-webkit-autofill:hover,
.hml-hero__textarea:-webkit-autofill:focus,
.hml-hero__textarea:-internal-autofill-selected {
	-webkit-text-fill-color: var(--hml-ink) !important;
	caret-color: var(--hml-ink);
	border-bottom-color: var(--hml-ink);
	background-color: var(--hml-form-autofill) !important;
	background-image: none !important;
	box-shadow: 0 0 0 1000px var(--hml-form-autofill) inset !important;
	-webkit-box-shadow: 0 0 0 1000px var(--hml-form-autofill) inset !important;
	transition: background-color 99999s ease-out 0s;
	filter: none;
}

.hml-hero__input:autofill:focus,
.hml-hero__input:-webkit-autofill:focus,
.hml-hero__textarea:autofill:focus,
.hml-hero__textarea:-webkit-autofill:focus {
	border-bottom-color: var(--hml-lipstick);
	box-shadow:
		0 0 0 1000px var(--hml-form-autofill) inset,
		0 calc(1 * var(--hml-u)) 0 0 var(--hml-lipstick) !important;
	-webkit-box-shadow:
		0 0 0 1000px var(--hml-form-autofill) inset,
		0 calc(1 * var(--hml-u)) 0 0 var(--hml-lipstick) !important;
}

.hml-hero__input:hover,
.hml-hero__textarea:hover {
	border-bottom-color: var(--hml-lipstick-light);
}

.hml-hero__input:focus,
.hml-hero__textarea:focus {
	border-bottom-color: var(--hml-lipstick);
	box-shadow: 0 calc(1 * var(--hml-u)) 0 0 var(--hml-lipstick);
}

.hml-hero__check {
	display: flex;
	align-items: flex-start;
	gap: calc(8 * var(--hml-u));
	width: 100%;
	margin-top: 0;
	min-height: calc(64 * var(--hml-u));
}

.hml-hero__check input {
	appearance: none;
	flex: 0 0 calc(18 * var(--hml-u));
	width: calc(18 * var(--hml-u));
	height: calc(18 * var(--hml-u));
	margin: calc(2 * var(--hml-u)) 0 0;
	border: calc(1 * var(--hml-u)) solid var(--hml-ink);
	border-radius: calc(2 * var(--hml-u));
	background: transparent;
	cursor: pointer;
	position: relative;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.hml-hero__check input:hover {
	border-color: var(--hml-lipstick);
}

.hml-hero__check input:checked {
	background: var(--hml-lipstick);
	border-color: var(--hml-lipstick);
}

.hml-hero__check input:checked::after {
	content: "";
	position: absolute;
	left: calc(5 * var(--hml-u));
	top: calc(1 * var(--hml-u));
	width: calc(5 * var(--hml-u));
	height: calc(9 * var(--hml-u));
	border: solid #fff;
	border-width: 0 calc(2 * var(--hml-u)) calc(2 * var(--hml-u)) 0;
	transform: rotate(45deg);
}

.hml-hero__check input:focus-visible {
	outline: calc(2 * var(--hml-u)) solid var(--hml-lipstick);
	outline-offset: calc(2 * var(--hml-u));
}

.hml-hero__disclaimer {
	margin: 0;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: calc(10 * var(--hml-u));
	line-height: 1.6;
	color: var(--hml-ink);
}

.hml-hero__submit {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: calc(8 * var(--hml-u)) calc(20 * var(--hml-u));
	width: calc(249 * var(--hml-u));
	height: calc(48 * var(--hml-u));
	min-height: calc(48 * var(--hml-u));
	border: calc(1 * var(--hml-u)) solid var(--hml-lipstick);
	border-radius: calc(6 * var(--hml-u));
	background: var(--hml-lipstick);
	color: var(--hml-white);
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: calc(20 * var(--hml-u));
	line-height: 1.6;
	letter-spacing: 0;
	box-sizing: border-box;
	cursor: pointer;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transition: transform 0.28s var(--hml-ease), box-shadow 0.28s ease, background 0.28s ease, filter 0.28s ease;
}

.hml-hero__submit:hover,
.hml-hero__submit:focus-visible {
	background: #a80545;
	border-color: #a80545;
}

.hml-hero__submit:active {
	transform: translateY(0) scale(0.98);
}

.hml-hero__submit.is-loading {
	pointer-events: none;
	filter: saturate(0.7);
}

.hml-hero__form-status {
	margin: 0;
	font-size: calc(12 * var(--hml-u));
	line-height: 1.3;
	font-weight: 500;
}

.hml-hero__form-status:empty {
	display: none;
}

.hml-hero__form-status.is-error {
	color: var(--hml-lipstick);
}

.hml-hero__form-status.is-success {
	color: #1b7a3a;
}

.hml-hero__hp {
	position: absolute !important;
	left: calc(-9999 * var(--hml-u)) !important;
	opacity: 0 !important;
	height: 0 !important;
	width: 0 !important;
	pointer-events: none !important;
}

.hml-hero__form.is-success .hml-hero__form-fields {
	display: none;
}

.hml-hero__thanks {
	display: none;
	padding: calc(12 * var(--hml-u)) 0 calc(4 * var(--hml-u));
	font-family: Inter, sans-serif;
	font-size: calc(18 * var(--hml-u));
	line-height: 1.5;
	font-weight: 600;
	color: var(--hml-ink);
}

.hml-hero__form.is-success .hml-hero__thanks {
	display: block;
}

/* Entrance */
.hml-hero [data-hml-enter] {
	opacity: 0;
	transform: translate3d(0, calc(18 * var(--hml-u)), 0);
}

.hml-hero.is-ready [data-hml-enter] {
	animation: hml-enter 0.9s var(--hml-ease-out) forwards;
	animation-delay: var(--hml-d, 0s);
}

.hml-hero.is-ready .hml-hero__portrait img {
	animation: hml-portrait 1.25s var(--hml-ease-out) 0.12s both;
}

.hml-hero.is-ready .hml-hero__dots {
	animation: hml-dots 1.4s ease both;
}

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

@keyframes hml-portrait {
	from {
		opacity: 0;
		transform: translate3d(0, calc(48 * var(--hml-u)), 0) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

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

.hml-hero__copy { --hml-x: calc(-28 * var(--hml-u)); --hml-y: 0; --hml-d: 0.08s; }
.hml-hero__headline { --hml-x: calc(-24 * var(--hml-u)); --hml-y: calc(10 * var(--hml-u)); --hml-d: 0.16s; }
.hml-hero__reviews { --hml-x: calc(-16 * var(--hml-u)); --hml-y: calc(12 * var(--hml-u)); --hml-d: 0.28s; }
.hml-hero__sms { --hml-x: 0; --hml-y: calc(14 * var(--hml-u)); --hml-d: 0.36s; }
.hml-hero__trust-row { --hml-x: 0; --hml-y: calc(16 * var(--hml-u)); --hml-d: 0.44s; }
.hml-hero__intro { --hml-x: calc(28 * var(--hml-u)); --hml-y: 0; --hml-d: 0.18s; }
.hml-hero__actions { --hml-x: calc(20 * var(--hml-u)); --hml-y: calc(8 * var(--hml-u)); --hml-d: 0.3s; }
.hml-hero__form-wrap { --hml-x: calc(18 * var(--hml-u)); --hml-y: calc(22 * var(--hml-u)); --hml-d: 0.42s; }

/* Desktop — Figma Header / 137 left column (copy @0, reviews @363, SMS @496, trust @612). */
@media (min-width: 1025px) {
	.hml-hero__left {
		display: grid;
		flex: 0 0 var(--hml-left-w);
		width: var(--hml-left-w);
		max-width: var(--hml-left-w);
		min-height: calc(754 * var(--hml-u));
		gap: 0;
		justify-content: stretch;
	}

	.hml-hero__copy,
	.hml-hero__proof {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		width: 100%;
	}

	.hml-hero__proof {
		display: grid;
		min-height: calc(754 * var(--hml-u));
		gap: 0;
	}

	.hml-hero__reviews,
	.hml-hero__sms,
	.hml-hero__trust-row {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
	}

	.hml-hero__reviews {
		margin-top: calc(363 * var(--hml-u));
		margin-left: calc(-2 * var(--hml-u));
	}

	.hml-hero__sms {
		margin-top: calc(496 * var(--hml-u));
	}

	.hml-hero__trust-row {
		margin-top: calc(612 * var(--hml-u));
	}

	.hml-hero__right {
		flex: 0 0 var(--hml-right-w);
		width: var(--hml-right-w);
		max-width: var(--hml-right-w);
		min-height: calc(754 * var(--hml-u));
		gap: 0;
		overflow: visible;
	}

	.hml-hero__form-wrap {
		width: calc(398 * var(--hml-u));
		height: calc(440 * var(--hml-u));
		margin-top: calc(53 * var(--hml-u));
		padding: calc(28 * var(--hml-u));
		overflow: hidden;
	}

	.hml-hero__form {
		height: calc(384 * var(--hml-u));
		display: flex;
		flex-direction: column;
	}

	.hml-hero__form-fields {
		flex: 1 1 auto;
		height: calc(384 * var(--hml-u));
	}

	.hml-hero__submit {
		margin-top: auto;
	}

	.hml-hero__form-row {
		flex: 0 0 auto;
		align-items: stretch;
	}

	.hml-hero__form-fields .hml-hero__field:has(> .hml-hero__input) {
		height: auto;
		min-height: 0;
		gap: calc(8 * var(--hml-u));
		justify-content: flex-start;
	}

	.hml-hero__form-fields .hml-hero__field > .hml-hero__input {
		height: calc(22 * var(--hml-u));
		min-height: calc(22 * var(--hml-u));
		padding: calc(2 * var(--hml-u)) 0 calc(4 * var(--hml-u));
		flex: 0 0 auto;
	}

	.hml-hero__portrait {
		top: calc(73 * var(--hml-u));
		height: calc(848 * var(--hml-u));
	}
}

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

	.hml-hero {
		--hml-pad-left: 40px;
		--hml-pad-right: 40px;
		--hml-headline: 68px;
		--hml-left-w: 480px;
		--hml-right-w: 360px;
		--hml-min-h: 820px;
	}

	.hml-hero__inner {
		padding: 48px 40px;
		column-gap: 24px;
		justify-content: space-between;
	}

	.hml-hero__left,
	.hml-hero__proof,
	.hml-hero__right {
		height: auto;
		min-height: 0;
	}

	.hml-hero__reviews,
	.hml-hero__sms,
	.hml-hero__trust-row {
		margin-top: 0;
	}

	.hml-hero__left {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 24px;
	}

	.hml-hero__proof {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.hml-hero__reviews {
		width: 309px;
		height: auto;
		min-height: 0;
	}

	.hml-hero__years {
		position: relative;
		left: auto;
		top: auto;
		width: calc(168 * var(--hml-u));
		height: calc(142 * var(--hml-u));
		flex: 0 0 calc(168 * var(--hml-u));
	}

	.hml-hero__trust-list {
		margin-top: 0;
	}

	.hml-hero__trust-row {
		flex-wrap: wrap;
		gap: 16px;
		width: 100%;
		min-height: 0;
	}

	.hml-hero__intro {
		width: 100%;
		max-width: 100%;
		font-size: 18px;
	}

	.hml-hero__form-wrap {
		margin-top: 24px;
		height: auto;
	}

	.hml-hero__form {
		height: auto;
	}
}

/* Shared tablet + phone: drop 100vw breakout, let height grow. */
@media (max-width: 1024px) {
	.hml-hero--fullbleed {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-widget-hml-homepage-hero,
	.elementor-widget-hml-homepage-hero > .elementor-widget-container {
		min-height: 0 !important;
		height: auto !important;
		overflow: visible !important;
		max-width: 100%;
	}

	.hml-hero {
		--hml-pad-left: 32px;
		--hml-pad-right: 32px;
		--hml-headline: 52px;
		--hml-min-h: 0px !important;
		--hml-left-w: 100%;
		--hml-right-w: 100%;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow-x: clip !important;
		overflow-y: visible !important;
	}

	.hml-hero__inner {
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		min-width: 0;
		width: 100%;
		max-width: 100%;
	}

	.hml-hero__eyebrow-light,
	.hml-hero__eyebrow-accent,
	.hml-hero__trust-text,
	.hml-hero__reviews-title {
		white-space: normal;
	}

	.hml-hero__headline {
		width: 100%;
		max-width: 100%;
	}

	.hml-hero__intro {
		width: 100%;
		max-width: 100%;
	}
}

/* Large tablet / iPad landscape — two columns, portrait in flow on the left. */
@media (max-width: 1024px) and (min-width: 960px) {
	.hml-hero__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
		grid-template-areas:
			"copy right"
			"portrait right"
			"proof right";
		column-gap: 28px;
		row-gap: 16px;
		padding: 48px 32px 56px;
		align-items: start;
	}

	.hml-hero__left {
		display: contents;
		max-width: none;
	}

	.hml-hero__copy { grid-area: copy; }
	.hml-hero__proof { grid-area: proof; }

	.hml-hero__right {
		grid-area: right;
		max-width: 400px;
		justify-self: stretch;
		width: 100%;
		align-self: stretch;
	}

	.hml-hero__portrait {
		grid-area: portrait;
		position: relative;
		left: auto;
		top: auto;
		bottom: auto;
		width: min(100%, 300px);
		max-width: 300px;
		height: auto;
		aspect-ratio: 3 / 4;
		max-height: 400px;
		margin: 0;
		opacity: 1;
		z-index: 1;
		overflow: hidden;
	}

	.hml-hero .hml-hero__portrait img,
	.hml-hero .hml-hero__portrait picture img {
		object-position: center top;
	}

	.hml-hero__actions {
		margin-top: 0;
	}

	.hml-hero__form-wrap {
		margin-top: 36px;
		height: auto;
	}

	.hml-hero__sms {
		max-width: none;
	}
}

/* Phone + iPad portrait — one column. Left uses contents only so the
   portrait can sit between the headline and the intro/CTAs. If contents is
   ignored, it still stacks left → portrait → right without overlap. */
@media (max-width: 959px) {
	.hml-hero {
		--hml-headline: 42px;
		--hml-pad-left: 32px;
		--hml-pad-right: 32px;
		--hml-min-h: 0px !important;
		--hml-left-w: 100%;
		--hml-right-w: 100%;
		min-height: 0 !important;
		height: auto !important;
		overflow-x: clip !important;
		overflow-y: visible !important;
	}

	.hml-hero--fullbleed {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.hml-hero__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 16px;
		width: 100%;
		max-width: 100%;
		min-height: 0 !important;
		height: auto !important;
		padding: 36px 32px 40px;
		padding-left: max(32px, env(safe-area-inset-left, 0px));
		padding-right: max(32px, env(safe-area-inset-right, 0px));
		padding-bottom: max(40px, env(safe-area-inset-bottom, 0px));
	}

	.hml-hero__left {
		display: contents;
	}

	.hml-hero__right {
		display: contents;
	}

	.hml-hero__right-top {
		display: contents;
	}

	.hml-hero__right::before {
		content: none !important;
		display: none !important;
		flex: none !important;
		min-height: 0 !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__copy,
	.hml-hero .hml-hero__copy,
	.hml-hero__copy {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__intro-stack,
	.elementor-widget-hml-homepage-hero .hml-hero__intro,
	.elementor-widget-hml-homepage-hero .hml-hero__intro-note,
	.hml-hero .hml-hero__intro-stack,
	.hml-hero .hml-hero__intro,
	.hml-hero .hml-hero__intro-note,
	.hml-hero__intro-stack,
	.hml-hero__intro,
	.hml-hero__intro-note {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__portrait,
	.hml-hero .hml-hero__portrait,
	.hml-hero__portrait {
		order: 3 !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__actions,
	.hml-hero .hml-hero__actions,
	.hml-hero__actions {
		order: 4 !important;
		width: 100% !important;
		max-width: 100% !important;
		position: relative !important;
		z-index: 2 !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__form-wrap,
	.hml-hero .hml-hero__form-wrap,
	.hml-hero__form-wrap {
		order: 5 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__proof,
	.hml-hero .hml-hero__proof,
	.hml-hero__proof {
		order: 6 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		display: flex;
		flex-direction: column;
		gap: 16px;
		margin-top: 8px;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__portrait,
	.hml-hero .hml-hero__portrait,
	.hml-hero__portrait {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: min(300px, 72%) !important;
		max-width: 300px !important;
		height: 370px !important;
		max-height: min(380px, 48svh) !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		margin: 10px auto -16px !important;
		padding: 0 !important;
		z-index: 1;
		pointer-events: none;
		align-self: center;
		overflow: visible !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__portrait img,
	.elementor-widget-hml-homepage-hero .hml-hero__portrait picture img,
	.hml-hero .hml-hero__portrait img,
	.hml-hero .hml-hero__portrait picture img {
		object-fit: contain !important;
		object-position: center bottom !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		max-height: none !important;
	}

	.hml-hero__headline {
		width: 100%;
		max-width: 100%;
		margin-top: 4px;
	}

	.hml-hero__intro {
		margin-top: 0;
		margin-bottom: 0;
		font-size: 18px;
		width: 100%;
		max-width: 100%;
	}

	.hml-hero__actions {
		margin-top: 0;
		width: 100%;
		flex-direction: column;
		gap: 12px;
	}

	.hml-hero__btn {
		width: 100%;
		flex: none;
		white-space: normal;
		text-align: center;
		height: auto;
		min-height: 54px;
		padding: 12px 18px;
		font-size: 19px;
		font-weight: 700;
	}

	.hml-hero__form-wrap {
		margin-top: 4px;
		max-width: 100% !important;
		width: 100%;
		padding: 22px;
		height: auto;
	}

	.hml-hero__form-wrap.is-open {
		overflow: hidden;
		border-radius: 6px;
	}

	.hml-hero__form-wrap.is-open .hml-hero__form-panel {
		position: static;
		left: auto;
		right: auto;
		top: auto;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.hml-hero__reviews {
		width: 100%;
		max-width: 100%;
		min-height: 0;
		height: auto;
		margin-top: 0;
	}

	.hml-hero__sms {
		max-width: none;
		margin-top: 0;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-row,
	.hml-hero .hml-hero__trust-row,
	.hml-hero__trust-row {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		margin-top: 0 !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-list,
	.hml-hero .hml-hero__trust-list,
	.hml-hero__trust-list {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: flex-start !important;
		gap: 14px !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-item,
	.hml-hero .hml-hero__trust-item,
	.hml-hero__trust-item {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-icon,
	.hml-hero .hml-hero__trust-icon,
	.hml-hero__trust-icon {
		flex: 0 0 24px !important;
		width: 24px !important;
		height: 24px !important;
		overflow: visible !important;
		display: grid !important;
		place-items: center !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-icon img,
	.hml-hero .hml-hero__trust-icon img,
	.hml-hero__trust-icon img {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		max-width: 24px !important;
		max-height: 24px !important;
		object-fit: contain !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__years,
	.hml-hero .hml-hero__years,
	.hml-hero__years {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		flex: 0 0 156px !important;
		width: 156px !important;
		height: 132px !important;
		overflow: visible !important;
		margin: 0 !important;
	}
}

@media (max-width: 767px) {
	.hml-hero {
		--hml-headline: 36px !important;
		--hml-pad-left: 20px !important;
		--hml-pad-right: 20px !important;
	}

	.hml-hero__headline {
		font-size: var(--hml-headline) !important;
		line-height: 1.15 !important;
	}

	.hml-hero__inner {
		gap: 14px;
		padding: 28px 20px 32px;
		padding-left: max(20px, env(safe-area-inset-left, 0px));
		padding-right: max(20px, env(safe-area-inset-right, 0px));
		padding-bottom: max(32px, env(safe-area-inset-bottom, 0px));
	}

	.hml-hero__eyebrow {
		font-size: 12px;
		line-height: 1.4;
	}

	.hml-hero__intro {
		font-size: 16px;
		line-height: 1.5;
	}

	.hml-hero__actions {
		margin-top: 0;
		flex-direction: column;
	}

	.hml-hero__btn {
		width: 100%;
		flex: none;
		min-height: 56px !important;
		height: auto !important;
		padding: 13px 20px !important;
		font-size: 19px !important;
		font-weight: 700 !important;
		border-radius: 8px !important;
		white-space: normal;
		text-align: center;
	}

	.hml-hero__btn-icon {
		flex: 0 0 24px;
		width: 24px;
		height: 24px;
	}

	.hml-hero__form-wrap {
		margin-top: 0;
		padding: 20px;
		height: auto;
	}

	.hml-hero__form {
		padding: 0;
	}

	.hml-hero__form-row {
		flex-direction: column;
		gap: 16px;
	}

	.hml-hero__submit {
		width: auto;
		min-height: 48px;
		white-space: normal;
	}

	.hml-hero__reviews {
		width: 100%;
		max-width: none;
		margin-top: 0;
		padding: 14px 16px;
		min-height: 0;
		height: auto;
		gap: 12px;
	}

	.hml-hero__reviews-title {
		font-size: 16px;
		white-space: normal;
	}

	.hml-hero__stars {
		width: min(100%, 156px);
		height: auto;
		aspect-ratio: 156 / 26;
	}

	.hml-hero__sms {
		font-size: 16px;
	}

	.hml-hero__check input {
		flex: 0 0 22px;
		width: 22px;
		height: 22px;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__portrait,
	.hml-hero .hml-hero__portrait,
	.hml-hero__portrait {
		width: min(280px, 76%) !important;
		max-width: 280px !important;
		height: 345px !important;
		max-height: min(360px, 46svh) !important;
		margin: 8px auto -14px !important;
		padding: 0 !important;
		overflow: visible !important;
	}
}

@media (max-width: 380px) {
	.hml-hero {
		--hml-headline: 32px !important;
	}

	.hml-hero__btn {
		font-size: 18px !important;
		min-height: 52px !important;
		padding: 11px 16px !important;
		white-space: normal;
		text-align: center;
	}

	.hml-hero__submit {
		font-size: 17px !important;
		min-height: 50px !important;
		white-space: normal;
		text-align: center;
	}

	.hml-hero__inner {
		padding-left: max(16px, env(safe-area-inset-left, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
	}

	.elementor-widget-hml-homepage-hero .hml-hero__portrait,
	.hml-hero .hml-hero__portrait,
	.hml-hero__portrait {
		width: min(250px, 78%) !important;
		max-width: 250px !important;
		height: 310px !important;
		max-height: min(320px, 42svh) !important;
		margin: 6px auto -14px !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-row,
	.hml-hero .hml-hero__trust-row,
	.hml-hero__trust-row {
		gap: 10px !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-item,
	.hml-hero .hml-hero__trust-item,
	.hml-hero__trust-item {
		gap: 6px !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__trust-text,
	.hml-hero .hml-hero__trust-text,
	.hml-hero__trust-text {
		font-size: 11.5px !important;
	}

	.elementor-widget-hml-homepage-hero .hml-hero__years,
	.hml-hero .hml-hero__years,
	.hml-hero__years {
		flex: 0 0 142px !important;
		width: 142px !important;
		height: 130px !important;
		overflow: visible !important;
	}
}

.hml-hero--no-motion [data-hml-enter],
.hml-hero--no-motion .hml-hero__portrait img,
.hml-hero--no-motion .hml-hero__dots {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.hml-hero [data-hml-enter],
	.hml-hero.is-ready [data-hml-enter],
	.hml-hero.is-ready .hml-hero__portrait img,
	.hml-hero.is-ready .hml-hero__dots,
	.hml-hero__btn,
	.hml-hero__btn-icon img,
	.hml-hero__reviews,
	.hml-hero__submit {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Practice-area templates: MD intro is longer than the Figma 3-line hero copy. Homepage never sets this class. */
.hml-tpl-practice .hml-hero,
.hml-tpl-results .hml-hero {
	--hml-bg: #231f20;
	overflow-y: visible;
	height: auto;
}

.hml-tpl-practice .hml-hero__inner {
	align-items: stretch;
	padding-top: calc(40 * var(--hml-u));
	padding-bottom: calc(40 * var(--hml-u));
}

.hml-tpl-practice .hml-hero__left {
	justify-content: flex-start;
}

.hml-tpl-results .hml-hero__intro-stack,
.hml-tpl-results .hml-hero__intro,
.hml-tpl-results .hml-hero__intro-note {
	width: 100%;
}

.hml-tpl-results .hml-hero__intro-note {
	opacity: 0.92;
}

.hml-tpl-wrongful .hml-hero,
.hml-tpl-life-insurance .hml-hero {
	--hml-headline: calc(56 * var(--hml-u));
}
