/* HML Homepage Practice Areas — Figma Layout / 398 / (1440 × 1350) */

.hml-prac {
	--hml-prac-bg: #ffffff;
	--hml-prac-ink: #0b0b0b;
	--hml-prac-wine: #4f0220;
	--hml-prac-lipstick: #c60651;
	--hml-prac-white: #ffffff;
	--hml-prac-fg: #f9e6ed;
	--hml-prac-fg-soft: #f3cddc;
	--hml-prac-h: calc(60 * var(--hml-u));
	--hml-prac-body: calc(20 * var(--hml-u));
	--hml-prac-card-h: calc(40 * var(--hml-u));
	--hml-prac-card-body: calc(18 * var(--hml-u));
	--hml-prac-intro-w: calc(909 * var(--hml-u));
	--hml-prac-pad-x: calc(80 * var(--hml-u));
	--hml-prac-pad-y: calc(112 * var(--hml-u));
	--hml-prac-pad-bottom: calc(101 * var(--hml-u));
	--hml-prac-min-h: calc(1350 * var(--hml-u));
	--hml-prac-stack-gap: calc(80 * var(--hml-u));
	--hml-prac-intro-gap: calc(35 * var(--hml-u));
	--hml-prac-visible: 3;
	--hml-prac-card-gap: calc(32 * var(--hml-u));
	--hml-prac-card-min-h: calc(550 * var(--hml-u));
	--hml-prac-card-pad: calc(32 * var(--hml-u));
	--hml-prac-card-r: calc(8 * var(--hml-u));
	--hml-prac-card-w: calc((min(calc(1280 * var(--hml-u)), 100cqi) - 2 * var(--hml-prac-card-gap)) / 3);
	--hml-prac-icon: calc(48 * var(--hml-u));
	--hml-prac-foot-left: calc(744 * var(--hml-u));
	--hml-prac-btn-h: calc(48 * var(--hml-u));
	--hml-prac-btn-r: calc(6 * var(--hml-u));
	--hml-prac-btn-size: calc(20 * 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;
	isolation: isolate;
	overflow-x: clip;
	overflow-y: visible;
	width: 100%;
	max-width: 100%;
	min-height: var(--hml-prac-min-h);
	background: var(--hml-prac-bg);
	color: var(--hml-prac-ink);
	padding-top: var(--hml-prac-pad-y);
	padding-bottom: var(--hml-prac-pad-bottom);
	padding-left: max(var(--hml-prac-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-prac-pad-x), env(safe-area-inset-right, 0px));
	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-prac,
.hml-prac *,
.hml-prac *::before,
.hml-prac *::after {
	box-sizing: border-box;
}

.elementor-widget-hml-homepage-practice,
.elementor-widget-hml-homepage-practice > .elementor-widget-container {
	padding: 0;
	overflow: visible;
	max-width: 100%;
}

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

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

.hml-prac__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--hml-prac-stack-gap);
	width: 100%;
	max-width: calc(1280 * var(--hml-u));
	min-width: 0;
	margin: 0 auto;
	container-type: inline-size;
	container-name: hml-prac;
}

.hml-prac__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--hml-prac-intro-gap);
	width: 100%;
	max-width: min(100%, var(--hml-prac-intro-w));
	min-width: 0;
}

.hml-prac__heading {
	--hml-x: 0;
	--hml-y: calc(16 * var(--hml-u));
	--hml-d: 0.04s;
	margin: 0;
	width: 100%;
	font-family: Manrope, Inter, sans-serif;
	font-weight: 700;
	font-size: var(--hml-prac-h);
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--hml-prac-ink);
	overflow-wrap: break-word;
	word-break: break-word;
}

.hml-prac__body {
	--hml-x: 0;
	--hml-y: calc(14 * var(--hml-u));
	--hml-d: 0.12s;
	margin: 0;
	width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-prac-body);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-prac-ink);
	overflow-wrap: break-word;
	word-break: break-word;
}

.hml-prac__body p {
	margin: 0;
}

.hml-prac__body p + p {
	margin-top: calc(16 * var(--hml-u));
}

.hml-prac__rail {
	width: calc(100% + 2 * var(--hml-prac-pad-x));
	max-width: none;
	margin-left: calc(-1 * var(--hml-prac-pad-x));
	margin-right: calc(-1 * var(--hml-prac-pad-x));
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: visible;
	overscroll-behavior: auto;
	scroll-snap-type: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
	touch-action: pan-y;
	outline: none;
}

.hml-prac.is-draggable .hml-prac__rail {
	cursor: grab;
}

.hml-prac__rail::-webkit-scrollbar {
	display: none;
}

.hml-prac__rail.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.hml-prac__rail:focus-visible {
	box-shadow: inset 0 0 0 calc(3 * var(--hml-u)) var(--hml-prac-ink);
}

.hml-prac__track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--hml-prac-card-gap);
	width: max-content;
	min-width: 100%;
	padding-left: max(var(--hml-prac-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--hml-prac-pad-x), env(safe-area-inset-right, 0px));
}

/* Homepage: contained finite slider (3-up + peek). Practice templates keep .hml-prac--grid. */
.hml-prac--slide .hml-prac__scroller {
	position: relative;
	left: auto;
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: visible;
}

.hml-prac--slide .hml-prac__rail {
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

.hml-prac--slide .hml-prac__track {
	will-change: transform;
	backface-visibility: hidden;
	transition: none !important;
}

.hml-prac--slide .hml-prac__card,
.hml-prac--slide .hml-prac__card img {
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
}

.hml-prac--slide .hml-prac__card img {
	pointer-events: none;
}

.hml-prac--slide.is-dragging,
.hml-prac--slide .hml-prac__rail.is-dragging {
	cursor: grabbing;
	touch-action: none;
}

.hml-prac--slide.is-dragging .hml-prac__card {
	pointer-events: none;
	cursor: grabbing;
}

.elementor-widget-hml-homepage-practice a.hml-prac__card,
.elementor-widget-hml-homepage-practice .hml-prac__card,
.hml-prac a.hml-prac__card,
.hml-prac .hml-prac__card {
	--hml-x: 0;
	--hml-y: calc(22 * var(--hml-u));
	--hml-d: 0.18s;
	position: relative;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex: 0 0 var(--hml-prac-card-w) !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	width: var(--hml-prac-card-w) !important;
	min-width: var(--hml-prac-card-w) !important;
	max-width: var(--hml-prac-card-w) !important;
	min-height: calc(550 * var(--hml-u)) !important;
	height: calc(550 * var(--hml-u)) !important;
	max-height: calc(550 * var(--hml-u)) !important;
	margin: 0 !important;
	padding: var(--hml-prac-card-pad) !important;
	border: 0 !important;
	border-radius: var(--hml-prac-card-r);
	background: var(--hml-prac-wine);
	color: var(--hml-prac-fg);
	text-decoration: none;
	box-shadow: none;
	overflow: hidden;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: pan-y;
	scroll-snap-align: none;
	transition: background 0.35s ease;
}

a.hml-prac__card,
a.hml-prac__card:visited,
a.hml-prac__card:hover,
a.hml-prac__card:focus,
a.hml-prac__card:active {
	text-decoration: none !important;
	color: var(--hml-prac-fg) !important;
}

a.hml-prac__card .hml-prac__title {
	color: var(--hml-prac-fg) !important;
}

a.hml-prac__card .hml-prac__text {
	color: var(--hml-prac-fg) !important;
}

.elementor-widget-hml-homepage-practice a.hml-prac__card--wine,
.elementor-widget-hml-homepage-practice .hml-prac__card--wine,
.hml-prac a.hml-prac__card--wine,
.hml-prac .hml-prac__card--wine,
a.hml-prac__card--wine,
.hml-prac__card--wine {
	background: var(--hml-prac-wine) !important;
}

.elementor-widget-hml-homepage-practice a.hml-prac__card--lipstick,
.elementor-widget-hml-homepage-practice .hml-prac__card--lipstick,
.hml-prac a.hml-prac__card--lipstick,
.hml-prac .hml-prac__card--lipstick,
a.hml-prac__card--lipstick,
.hml-prac__card--lipstick,
.elementor-widget-hml-homepage-practice a.hml-prac__card:nth-child(even):not(.hml-prac__card--wine),
.elementor-widget-hml-homepage-practice .hml-prac__card:nth-child(even):not(.hml-prac__card--wine),
.hml-prac a.hml-prac__card:nth-child(even):not(.hml-prac__card--wine),
.hml-prac .hml-prac__card:nth-child(even):not(.hml-prac__card--wine) {
	background: var(--hml-prac-lipstick) !important;
}

.hml-prac__card:nth-child(1) { --hml-d: 0.16s; }
.hml-prac__card:nth-child(2) { --hml-d: 0.24s; }
.hml-prac__card:nth-child(3) { --hml-d: 0.32s; }
.hml-prac__card:nth-child(4) { --hml-d: 0.4s; }

.hml-prac__card:focus-visible {
	outline: calc(3 * var(--hml-u)) solid var(--hml-prac-ink);
	outline-offset: calc(3 * var(--hml-u));
}

@media (hover: hover) and (pointer: fine) {
	.hml-prac:not(.hml-prac--no-hover) .hml-prac__card:hover .hml-prac__chevron {
		transform: translateX(calc(4 * var(--hml-u)));
	}

	.hml-prac__rail.is-dragging .hml-prac__card:hover {
		transform: none;
		box-shadow: none;
	}
}

.hml-prac__icon {
	position: relative;
	flex: 0 0 var(--hml-prac-icon);
	width: var(--hml-prac-icon);
	height: var(--hml-prac-icon);
	overflow: visible;
	transform-origin: center;
	transition: transform 0.45s var(--hml-ease);
}

.hml-prac__glyph {
	position: absolute;
	display: block;
	overflow: hidden;
}

.hml-prac__card[data-glyph="car"] .hml-prac__glyph { inset: 7.69% 7.69% 7.71% 7.71%; }
.hml-prac__card[data-glyph="truck"] .hml-prac__glyph { inset: 15.27% 4.03% 15.3% 2.73%; }
.hml-prac__card[data-glyph="phone"] .hml-prac__glyph { inset: 28.93% 13.2% 30.06% 11.88%; }
.hml-prac__card[data-glyph="moto"] .hml-prac__glyph { inset: 20.68% 0 20.83% 0; }
.hml-prac__card[data-glyph="default"] .hml-prac__glyph { inset: 8%; }

.elementor-widget-hml-homepage-practice .hml-prac__glyph img,
.hml-prac .hml-prac__glyph img,
.elementor-widget-hml-homepage-practice .hml-prac__chevron img,
.hml-prac .hml-prac__chevron img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

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

.hml-prac__title {
	margin: 0;
	width: 100%;
	font-family: Manrope, Inter, sans-serif;
	font-weight: 700;
	font-size: var(--hml-prac-card-h);
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--hml-prac-fg);
	overflow-wrap: break-word;
	word-break: break-word;
}

.hml-prac__text {
	margin: 0;
	width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-prac-card-body);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-prac-fg);
	overflow-wrap: break-word;
	word-break: break-word;
}

.hml-prac__explore {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(8 * var(--hml-u));
	margin-top: 0;
	color: #ffffff !important;
	font-family: Inter, sans-serif;
	font-weight: 500;
	font-size: var(--hml-prac-btn-size);
	line-height: 1.6;
	white-space: nowrap;
	text-decoration: none !important;
}

.hml-prac__card--lipstick .hml-prac__explore,
.hml-prac__card--wine .hml-prac__explore,
.hml-prac__card .hml-prac__explore,
.hml-prac__card:hover .hml-prac__explore,
.hml-prac__card:focus-visible .hml-prac__explore,
.hml-prac__card:active .hml-prac__explore,
a.hml-prac__card .hml-prac__explore,
a.hml-prac__card:visited .hml-prac__explore,
a.hml-prac__card:hover .hml-prac__explore,
a.hml-prac__card:focus .hml-prac__explore,
a.hml-prac__card:active .hml-prac__explore {
	color: #ffffff !important;
	text-decoration: none !important;
}

.hml-prac__chevron {
	position: relative;
	flex: 0 0 calc(24 * var(--hml-u));
	width: calc(24 * var(--hml-u));
	height: calc(24 * var(--hml-u));
	overflow: hidden;
	color: #ffffff !important;
	transition: transform 0.35s var(--hml-ease);
}

.hml-prac__chevron svg,
.hml-prac__chevron path {
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

.hml-prac__chevron-glyph {
	position: absolute;
	inset: 25.72% 36.66% 25.88% 35.46%;
	display: block;
	overflow: hidden;
}

.hml-prac__scroller {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	min-width: 0;
	overflow: visible;
}

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

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

.hml-prac__arrow {
	flex: 0 0 calc(48 * var(--hml-u));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(48 * var(--hml-u));
	height: calc(48 * var(--hml-u));
	margin: 0;
	padding: 0;
	border: calc(1 * var(--hml-u)) solid var(--hml-prac-lipstick);
	border-radius: calc(6 * var(--hml-u));
	background: var(--hml-prac-lipstick);
	color: var(--hml-prac-white);
	cursor: pointer;
	pointer-events: none;
	opacity: 0;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.28s var(--hml-ease), border-color 0.28s ease, color 0.28s ease, transform 0.28s var(--hml-ease), opacity 0.2s ease;
}

.hml-prac__arrow:focus-visible {
	background: var(--hml-prac-ink);
	border-color: var(--hml-prac-ink);
	color: var(--hml-prac-white);
	outline: calc(3 * var(--hml-u)) solid var(--hml-prac-ink);
	outline-offset: calc(3 * var(--hml-u));
}

.hml-prac__arrow:disabled {
	opacity: 0 !important;
	cursor: default;
	pointer-events: none;
}

.hml-prac__arrow-icon {
	display: flex;
	width: calc(24 * var(--hml-u));
	height: calc(24 * var(--hml-u));
}

.hml-prac__arrow-icon--prev {
	transform: scaleX(-1);
}

.elementor-widget-hml-homepage-practice .hml-prac__arrow img,
.hml-prac .hml-prac__arrow img {
	display: block;
	width: calc(24 * var(--hml-u)) !important;
	height: calc(24 * var(--hml-u)) !important;
	max-width: calc(24 * var(--hml-u)) !important;
	max-height: calc(24 * var(--hml-u)) !important;
	object-fit: contain !important;
	-webkit-user-drag: none;
	pointer-events: none;
}

.hml-prac__scroller:hover .hml-prac__arrow:not(:disabled),
.hml-prac__scroller:focus-within .hml-prac__arrow:not(:disabled),
.hml-prac__arrow:focus-visible {
	opacity: 1;
	pointer-events: auto;
}

@media (hover: none) {
	.hml-prac__arrow:not(:disabled) {
		opacity: 1;
		pointer-events: auto;
	}
}

.hml-prac__meter {
	position: absolute;
	left: calc(var(--hml-prac-pad-x) + calc(16 * var(--hml-u)));
	right: calc(var(--hml-prac-pad-x) + calc(16 * var(--hml-u)));
	bottom: calc(-18 * var(--hml-u));
	flex: none;
	height: calc(3 * var(--hml-u));
	border-radius: calc(99 * var(--hml-u));
	background: rgba(11, 11, 11, 0.12);
	overflow: hidden;
	pointer-events: none;
}

.hml-prac__meter-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: var(--hml-prac-lipstick);
	transition: width 0.12s linear;
}

.hml-prac.is-dragging .hml-prac__meter-fill,
.hml-prac__rail.is-dragging ~ .hml-prac__controls .hml-prac__meter-fill {
	transition: none;
}

.hml-prac__footer {
	--hml-x: 0;
	--hml-y: calc(18 * var(--hml-u));
	--hml-d: 0.36s;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, auto);
	gap: calc(24 * var(--hml-u));
	align-items: start;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.hml-prac__foot-heading {
	margin: 0;
	width: 100%;
	max-width: min(var(--hml-prac-foot-left), 100%);
	font-family: Manrope, Inter, sans-serif;
	font-weight: 700;
	font-size: var(--hml-prac-h);
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--hml-prac-ink);
	overflow-wrap: break-word;
	word-break: break-word;
}

.hml-prac__foot-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: calc(32 * var(--hml-u));
	min-width: 0;
	padding-top: calc(20 * var(--hml-u));
	padding-bottom: calc(20 * var(--hml-u));
}

.hml-prac__prompt {
	margin: 0;
	width: 100%;
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-prac-body);
	line-height: 1.6;
	color: var(--hml-prac-ink);
	overflow-wrap: break-word;
}

.hml-prac__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: calc(16 * var(--hml-u));
	width: max-content;
	max-width: 100%;
	min-width: 0;
}

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

.hml-prac__btn--ghost {
	background: transparent;
	color: var(--hml-prac-ink);
}

.hml-prac:not(.hml-prac--no-hover) .hml-prac__btn:hover,
.hml-prac:not(.hml-prac--no-hover) .hml-prac__btn:focus-visible {
	background: var(--hml-prac-ink);
	border-color: var(--hml-prac-ink);
	color: var(--hml-prac-white);
}

.hml-prac:not(.hml-prac--no-hover) .hml-prac__btn--ghost:hover,
.hml-prac:not(.hml-prac--no-hover) .hml-prac__btn--ghost:focus-visible {
	background: var(--hml-prac-lipstick);
	border-color: var(--hml-prac-lipstick);
	color: var(--hml-prac-white);
}

@media (hover: hover) and (pointer: fine) {
	.hml-prac:not(.hml-prac--no-hover) .hml-prac__btn:hover {
		transform: translateY(calc(-2 * var(--hml-u)));
		box-shadow: 0 calc(12 * var(--hml-u)) calc(28 * var(--hml-u)) rgba(11, 11, 11, 0.16);
	}
}

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

.hml-prac__btn:focus-visible {
	outline: calc(3 * var(--hml-u)) solid var(--hml-prac-ink);
	outline-offset: calc(3 * var(--hml-u));
}

@container hml-prac (max-width: 800px) {
	.hml-prac__footer {
		grid-template-columns: minmax(0, 1fr);
		gap: calc(16 * var(--hml-u));
	}

	.hml-prac__foot-right {
		width: 100%;
		padding-top: 0;
		padding-bottom: 0;
	}

	.hml-prac__actions {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
	}
}

/* Entrance — never hide the section if JS is late or skipped */
.hml-prac [data-hml-enter] {
	opacity: 1;
	transform: none;
}

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

@keyframes hml-prac-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);
	}
}

.hml-prac--no-motion [data-hml-enter] {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}

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

	.hml-prac__footer {
		grid-template-columns: minmax(0, 1fr);
	}

	.hml-prac__actions {
		flex-wrap: wrap;
		width: 100%;
		max-width: 100%;
	}
}

/* Small laptop / iPad — 2-up cards so titles never crush; keep CTA buttons on one row. */
@media (max-width: 1024px) {
	.hml-prac--fullbleed {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.hml-prac {
		--hml-prac-h: 42px;
		--hml-prac-body: 18px;
		--hml-prac-card-h: 32px;
		--hml-prac-card-body: 17px;
		--hml-prac-pad-x: 40px;
		--hml-prac-pad-y: 80px;
		--hml-prac-pad-bottom: 80px;
		--hml-prac-stack-gap: 48px;
		--hml-prac-intro-gap: 24px;
		--hml-prac-intro-w: 100%;
		--hml-prac-visible: 2;
		--hml-prac-card-gap: 20px;
		--hml-prac-card-w: calc((100cqi - var(--hml-prac-card-gap)) / 2);
		--hml-prac-min-h: 0px;
		overflow-x: clip;
		overflow-y: visible;
	}

	.hml-prac__card {
		justify-content: space-between;
		gap: 24px;
	}

	.hml-prac__title {
		text-wrap: balance;
	}

	.hml-prac__footer {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.hml-prac__actions {
		flex-wrap: wrap;
		width: 100%;
		max-width: 100%;
	}

	.hml-prac__explore {
		white-space: nowrap;
	}

	.hml-prac__foot-right {
		padding-top: 0;
		padding-bottom: 0;
	}

	.hml-prac__foot-heading {
		text-wrap: balance;
	}
}

/* iPad landscape: two cards in view, fourth still peeks. */

/* iPad landscape and below — heading gets full width so it never crushes beside the buttons. */
@media (max-width: 1024px) {
	.hml-prac__footer {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		align-items: start;
	}

	.hml-prac__foot-right {
		width: 100%;
		padding-top: 0;
		padding-bottom: 0;
		gap: 20px;
	}

	.hml-prac__actions {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
	}

	.hml-prac__heading,
	.hml-prac__foot-heading {
		text-wrap: balance;
	}
}

/* iPad portrait */
@media (max-width: 959px) {
	.hml-prac {
		--hml-prac-pad-y: 64px;
		--hml-prac-pad-bottom: 64px;
		--hml-prac-stack-gap: 40px;
		--hml-prac-card-h: 32px;
	}
}

@media (max-width: 767px) {
	.elementor-element.elementor-widget-hml-homepage-practice,
	.elementor-widget-hml-homepage-practice,
	.elementor-widget-hml-homepage-practice > .elementor-widget-container {
		overflow-x: clip;
		max-width: 100%;
	}

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

	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac,
	.elementor-widget-hml-homepage-practice .hml-prac,
	.hml-prac {
		--hml-prac-h: 28px !important;
		--hml-prac-body: 17px;
		--hml-prac-card-h: 22px !important;
		--hml-prac-card-body: 16px;
		--hml-prac-card-pad: 24px;
		--hml-prac-pad-x: 20px;
		--hml-prac-pad-y: 48px;
		--hml-prac-pad-bottom: 48px;
		--hml-prac-stack-gap: 28px;
		--hml-prac-intro-gap: 16px;
		--hml-prac-intro-w: 100%;
		--hml-prac-card-gap: 12px;
		--hml-prac-visible: 1;
		--hml-prac-card-w: 100cqi;
		--hml-prac-card-min-h: 0px;
		--hml-prac-min-h: 0px;
		--hml-prac-btn-size: 17px;
		min-height: 0 !important;
		height: auto;
		overflow: visible;
	}

	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac__heading,
	.hml-prac__heading,
	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac__foot-heading,
	.hml-prac__foot-heading {
		font-size: var(--hml-prac-h) !important;
		line-height: 1.25 !important;
		max-width: 100% !important;
		text-wrap: balance;
	}

	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac__body,
	.hml-prac__body,
	.hml-prac__prompt {
		font-size: var(--hml-prac-body) !important;
		max-width: 100%;
	}

	.hml-prac__intro,
	.hml-prac__scroller,
	.hml-prac__footer {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.hml-prac__scroller,
	.hml-prac__rail {
		overflow: visible !important;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		cursor: default;
		touch-action: auto;
	}

	.hml-prac__track {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
		align-items: stretch;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding-left: 0;
		padding-right: 0;
		gap: 16px;
	}

	.elementor-element.elementor-widget-hml-homepage-practice a.hml-prac__card,
	.elementor-widget-hml-homepage-practice .hml-prac__card,
	.hml-prac a.hml-prac__card,
	.hml-prac .hml-prac__card {
		flex: none !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
		align-self: stretch;
		gap: 16px;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 24px !important;
	}

	.hml-prac__copy {
		flex: 1 1 auto;
		width: 100%;
		gap: 10px;
	}

	.hml-prac__title {
		font-size: var(--hml-prac-card-h) !important;
		line-height: 1.25 !important;
		text-wrap: balance;
	}

	.hml-prac__text {
		font-size: var(--hml-prac-card-body) !important;
	}

	.hml-prac__explore {
		margin-top: auto;
		white-space: nowrap;
	}

	.hml-prac__footer {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		grid-template-columns: none;
		gap: 16px;
	}

	.hml-prac__foot-right {
		width: 100%;
		padding: 0;
		gap: 12px;
	}

	.hml-prac__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		flex-wrap: nowrap;
		gap: 10px;
	}

	.elementor-element.elementor-widget-hml-homepage-practice a.hml-prac__btn,
	.hml-prac a.hml-prac__btn,
	.hml-prac__btn {
		flex: 1 1 auto;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 48px !important;
		white-space: normal !important;
		text-align: center;
		padding: 10px 16px !important;
		font-size: var(--hml-prac-btn-size) !important;
	}
}

@media (max-width: 360px) {
	.elementor-widget-hml-homepage-practice .hml-prac,
	.hml-prac {
		--hml-prac-h: 24px !important;
		--hml-prac-body: 16px;
		--hml-prac-card-h: 20px !important;
		--hml-prac-card-body: 15px;
		--hml-prac-pad-x: 16px;
		--hml-prac-card-pad: 20px;
		--hml-prac-btn-size: 16px;
	}

	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac__heading,
	.hml-prac__heading,
	.elementor-element.elementor-widget-hml-homepage-practice .hml-prac__foot-heading,
	.hml-prac__foot-heading {
		font-size: var(--hml-prac-h) !important;
	}

	.elementor-element.elementor-widget-hml-homepage-practice a.hml-prac__card,
	.hml-prac a.hml-prac__card,
	.hml-prac__card {
		padding: 20px !important;
	}
}

@media (max-width: 959px) and (max-height: 500px) and (orientation: landscape) {
	.hml-prac {
		--hml-prac-pad-y: 32px;
		--hml-prac-pad-bottom: 32px;
		--hml-prac-stack-gap: 20px;
		--hml-prac-h: 24px !important;
		--hml-prac-card-w: 100cqi;
	}

	.hml-prac__rail {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		overflow: visible !important;
		cursor: default;
	}

	.hml-prac__track {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		gap: 12px;
	}

	.hml-prac a.hml-prac__card,
	.hml-prac__card {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 20px !important;
		gap: 12px;
		justify-content: space-between;
	}

	.hml-prac__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hml-prac__btn {
		width: 100% !important;
		flex: 1 1 auto;
	}
}

@container hml-prac (max-width: 680px) {
	.hml-prac__rail {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		overflow: visible !important;
		cursor: default;
	}

	.hml-prac__track {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		min-width: 0;
		padding-left: 0;
		padding-right: 0;
		gap: 16px;
	}

	.hml-prac__card {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		justify-content: space-between;
	}

	.hml-prac__copy {
		flex: 1 1 auto;
	}

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

@media (prefers-reduced-motion: reduce) {
	.hml-prac [data-hml-enter],
	.hml-prac.is-inview [data-hml-enter],
	.hml-prac__card,
	.hml-prac__icon,
	.hml-prac__chevron,
	.hml-prac__btn {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Practice-area template: three equal cards. Homepage never sets this class.
   Figma Layout / 398 (1440 × 1204): 80× pad, 112 top, 59 bottom, 112 title→cards, 80 cards→CTA. */
.elementor-widget-hml-homepage-practice .hml-prac.hml-prac--grid,
.hml-prac--grid {
	--hml-prac-stack-gap: calc(112 * var(--hml-u));
	--hml-prac-min-h: calc(1204 * var(--hml-u));
	--hml-prac-pad-bottom: calc(59 * var(--hml-u));
	min-height: calc(1204 * var(--hml-u));
	padding-bottom: calc(59 * var(--hml-u));
}

.hml-prac--grid .hml-prac__scroller {
	overflow: visible;
}

.hml-prac--grid .hml-prac__rail {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	overflow: visible;
	scroll-snap-type: none;
	cursor: default;
	touch-action: auto;
}

.hml-prac--grid .hml-prac__track {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: calc(32 * var(--hml-u));
	width: 100%;
	min-width: 0;
	padding-left: 0;
	padding-right: 0;
}

.elementor-widget-hml-homepage-practice .hml-prac--grid .hml-prac__card,
.elementor-widget-hml-homepage-practice .hml-prac--grid a.hml-prac__card,
.hml-prac--grid .hml-prac__card,
.hml-prac--grid a.hml-prac__card {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: calc(550 * var(--hml-u)) !important;
	height: auto !important;
	max-height: none !important;
	justify-content: center;
	align-items: flex-start;
	gap: calc(85 * var(--hml-u));
	padding: calc(32 * var(--hml-u)) !important;
	color: #ffffff;
	overflow: hidden;
	cursor: default;
	touch-action: auto;
}

/* Figma card 3: 3-line title, 52px icon→copy instead of 85px. */
.hml-prac--grid .hml-prac__card:nth-child(3),
.hml-prac--grid a.hml-prac__card:nth-child(3) {
	gap: calc(52 * var(--hml-u));
}

.hml-prac--grid a.hml-prac__card {
	cursor: pointer;
}

/* Figma Layout / 398: 48px Material icons, left-aligned, no optical crop. */
.hml-prac--grid .hml-prac__icon {
	display: block;
	position: relative;
	flex: 0 0 calc(48 * var(--hml-u));
	width: calc(48 * var(--hml-u));
	height: calc(48 * var(--hml-u));
	overflow: visible;
}

.hml-prac--grid .hml-prac__glyph,
.elementor-widget-hml-homepage-practice .hml-prac--grid .hml-prac__card[data-glyph] .hml-prac__glyph,
.hml-prac--grid .hml-prac__card[data-glyph] .hml-prac__glyph,
.hml-prac--grid .hml-prac__card[data-glyph="default"] .hml-prac__glyph {
	position: relative;
	display: block;
	inset: auto;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.elementor-widget-hml-homepage-practice .hml-prac--grid .hml-prac__glyph img,
.hml-prac--grid .hml-prac__glyph img {
	position: static;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.hml-prac--grid .hml-prac__copy {
	flex: 0 0 auto;
	width: 100%;
	margin-top: 0;
	gap: calc(16 * var(--hml-u));
}

.hml-prac--grid .hml-prac__title {
	font-family: Manrope, Inter, sans-serif !important;
	font-weight: 700 !important;
	font-size: calc(40 * var(--hml-u)) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em !important;
	color: #ffffff !important;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: none;
	margin: 0 !important;
}

.hml-prac--grid .hml-prac__text {
	font-family: Inter, sans-serif !important;
	font-weight: 400 !important;
	font-size: calc(18 * var(--hml-u)) !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
	color: #ffffff !important;
	word-break: normal;
	overflow-wrap: break-word;
	margin: 0 !important;
}

.hml-prac--grid .hml-prac__explore,
.hml-prac--grid .hml-prac__controls,
.hml-prac--grid .hml-prac__meter {
	display: none !important;
}

.hml-prac--grid .hml-prac__footer {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: calc(16 * var(--hml-u));
	grid-template-columns: none;
	margin-top: calc(-32 * var(--hml-u));
}

.hml-prac--grid .hml-prac__foot-heading {
	display: none;
}

.hml-prac--grid .hml-prac__foot-right {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex: 1 1 auto;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	gap: calc(16 * var(--hml-u));
}

.hml-prac--grid .hml-prac__actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex: 1 1 auto;
	width: 100%;
	gap: calc(16 * var(--hml-u));
}

.hml-prac--grid .hml-prac__actions::after {
	content: "";
	display: block;
	flex: 1 1 auto;
	height: 1px;
	background: var(--hml-prac-lipstick, #c60651);
	min-width: calc(40 * var(--hml-u));
}

@media (max-width: 900px) {
	.elementor-widget-hml-homepage-practice .hml-prac.hml-prac--grid,
	.hml-prac--grid {
		--hml-prac-stack-gap: 40px;
		--hml-prac-min-h: 0;
		--hml-prac-pad-bottom: 48px;
		min-height: 0;
	}

	.hml-prac--grid .hml-prac__track {
		grid-template-columns: 1fr;
	}

	.elementor-widget-hml-homepage-practice .hml-prac--grid .hml-prac__card,
	.hml-prac--grid .hml-prac__card,
	.hml-prac--grid a.hml-prac__card,
	.hml-prac--grid .hml-prac__card:nth-child(3),
	.hml-prac--grid a.hml-prac__card:nth-child(3) {
		justify-content: flex-start;
		gap: 32px;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	.hml-prac--grid .hml-prac__copy {
		margin-top: 0;
	}

	.hml-prac--grid .hml-prac__foot-right,
	.hml-prac--grid .hml-prac__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hml-prac--grid .hml-prac__footer {
		margin-top: 0;
	}

	.hml-prac--grid .hml-prac__actions::after {
		display: none;
	}
}

/* Wrongful Death and Life Insurance have four process cards, not three. */
@media (min-width: 901px) {
	.hml-tpl-wrongful .hml-prac--grid .hml-prac__track,
	.hml-tpl-life-insurance .hml-prac--grid .hml-prac__track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Motorcycle template: MD settlement note after the process CTA. Grid chrome hides foot-heading. */
.hml-tpl-moto .hml-prac--grid .hml-prac__footer {
	flex-wrap: wrap;
	align-items: stretch;
}

.hml-tpl-moto .hml-prac--grid .hml-prac__foot-right {
	order: 1;
	width: 100%;
}

.hml-tpl-moto .hml-prac--grid .hml-prac__foot-heading {
	display: block;
	order: 2;
	width: 100%;
	max-width: none;
	margin-top: calc(24 * var(--hml-u));
	font-family: Inter, sans-serif;
	font-weight: 400;
	font-size: var(--hml-prac-body);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--hml-prac-ink);
}
