.huu-uib-service-cards {
	position: relative;
	overflow: visible;
}

.huu-uib-service-cards__container {
	position: relative;
	z-index: 1;
	width: 100%;
}

.huu-uib-service-cards__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--huu-uib-section-inner-max-width, 1240px);
	margin-inline: auto;
}

.huu-uib-service-cards__grid {
	display: grid;
	grid-template-columns: repeat(var(--huu-uib-grid-columns, 3), minmax(0, 1fr));
	column-gap: var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px));
	row-gap: var(--huu-uib-grid-row-gap, var(--huu-uib-grid-gap, 24px));
	width: 100%;
}

.huu-uib-service-cards__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
	background: var(--huu-uib-card-background, var(--huu-uib-surface-color, #fff));
	border: var(--huu-uib-card-border-width, 1px) solid var(--huu-uib-card-border-color, var(--huu-uib-border-color, rgba(15,23,42,.12)));
	box-shadow: var(--huu-uib-card-shadow, 0 18px 50px rgba(15, 23, 42, 0.08));
	transition: transform var(--huu-uib-card-transition-duration, 220ms) ease, box-shadow var(--huu-uib-card-transition-duration, 220ms) ease, border-color var(--huu-uib-card-transition-duration, 220ms) ease;
	overflow: hidden;
}

.huu-uib-service-cards__card:hover {
	transform: translateY(var(--huu-uib-card-hover-lift, -4px)) scale(var(--huu-uib-card-hover-scale, 1));
}

.huu-uib-service-cards__card > *:not(.huu-uib-card__overlay) {
	position: relative;
	z-index: 1;
}

.huu-uib-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: var(--huu-uib-card-overlay-background, transparent);
	opacity: var(--huu-uib-card-overlay-opacity, 0);
	backdrop-filter: blur(var(--huu-uib-card-overlay-blur, 0px));
}

.huu-uib-service-cards__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	color: var(--huu-uib-service-cards-icon-color, currentColor);
	background: var(--huu-uib-service-cards-icon-background, var(--huu-uib-background-color, rgba(132, 165, 0, .10)));
	font-size: 18px;
	line-height: 1;
}

.huu-uib-service-cards__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.huu-uib-service-cards__card-title {
	width: 100%;
	margin: 0;
	font-size: clamp(1.05rem, 1vw + .85rem, 1.35rem);
	line-height: 1.25;
	color: var(--huu-uib-service-cards-title-color, var(--huu-uib-heading-color, #111827));
}

.huu-uib-service-cards__card-description {
	width: 100%;
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--huu-uib-service-cards-text-color, var(--huu-uib-text-color, #52607a));
}

@media (max-width: 1024px) {
	.huu-uib-service-cards__grid {
		grid-template-columns: repeat(var(--huu-uib-grid-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.huu-uib-service-cards__grid {
		grid-template-columns: repeat(var(--huu-uib-grid-columns-mobile, 1), minmax(0, 1fr));
	}

	.huu-uib-service-cards__card {
		width: 100%;
	}
}

/* v2.0-alpha.62.2: visual type support (icon/image). */
.huu-uib-service-cards__visual {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--huu-uib-service-cards-visual-size, 54px);
	height: var(--huu-uib-service-cards-visual-size, 54px);
	line-height: 1;
	flex: 0 0 auto;
	margin-bottom: 12px;
	transition: transform var(--huu-uib-card-transition-duration, 220ms) ease;
}


.huu-uib-service-cards__visual--icon {
	border-radius: 999px;
	color: var(--huu-uib-service-cards-icon-color, currentColor);
	background: var(--huu-uib-service-cards-icon-background, var(--huu-uib-background-color, rgba(132, 165, 0, .10)));
	font-size: var(--huu-uib-service-cards-icon-glyph-size, 22px);
}

.huu-uib-service-cards__visual--icon svg,
.huu-uib-service-cards__visual--icon i {
	width: 1em;
	height: 1em;
	font-size: 1em;
	line-height: 1;
	fill: currentColor;
	color: currentColor;
}

.huu-uib-service-cards__visual--image {
	position: relative;
	overflow: hidden;
	background: transparent;
}

.huu-uib-service-cards__visual--image::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: transparent;
	opacity: 0;
	transition: opacity var(--huu-uib-card-transition-duration, 220ms) ease;
}

.huu-uib-service-cards__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}


/* v2.0-alpha.62.4: PageSpeed-friendly card containment. */
.huu-uib-service-cards__card {
	content-visibility: auto;
	contain-intrinsic-size: 260px;
}


/* v2.0-alpha.62.8: responsive visual alignment for Service Icon Cards. */
.huu-uib-service-cards__visual {
	align-self: flex-start;
}


/* v2.0-alpha.72: content alignment ownership for Service Icon Cards. */
.huu-uib-service-cards__card-title,
.huu-uib-service-cards__card-description {
	text-align: inherit;
}


/* v2.0-alpha.75: Service Icon Cards color ownership audit. */
.huu-uib-service-cards__card-title,
.huu-uib-service-cards__card-description,
.huu-uib-service-cards__visual{
	transition: color var(--huu-uib-card-transition-duration, 220ms) ease, background-color var(--huu-uib-card-transition-duration, 220ms) ease, border-color var(--huu-uib-card-transition-duration, 220ms) ease;
}
.huu-uib-service-cards__visual svg,
.huu-uib-service-cards__visual i{
	color: currentColor;
	fill: currentColor;
	stroke: currentColor;
}

/* v2.0-alpha.75.1: final Service Icon Cards color/radius/state parity.
 * The card surface, text, icon and hover states remain controlled by Card/List controls.
 */
.huu-uib-service-cards__card{
	background-clip: padding-box;
}
.huu-uib-service-cards__card:focus-visible{
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.huu-uib-service-cards__visual{
	color: inherit;
	border-color: currentColor;
}
.huu-uib-service-cards__visual--icon,
.huu-uib-service-cards__visual--image{
	border-radius: inherit;
}
.huu-uib-service-cards__visual--image img,
.huu-uib-service-cards__image{
	border-radius: inherit;
}
.huu-uib-service-cards__visual svg,
.huu-uib-service-cards__visual svg *,
.huu-uib-service-cards__visual i{
	color: currentColor;
	fill: currentColor;
	stroke: currentColor;
}
.huu-uib-service-cards__card-title,
.huu-uib-service-cards__card-description{
	max-width: 100%;
}
@media (prefers-reduced-motion: reduce){
	.huu-uib-service-cards__card:hover,
	.huu-uib-service-cards__card:hover .huu-uib-service-cards__visual{
		transform:none;
	}
}



/* v2.1-alpha.07.3: isolated Card Meta Layer for Service Icon Cards. */
.huu-uib-service-cards__meta{
	position:absolute;
	top:18px;
	right:18px;
	z-index:2;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	max-width:140px;
	padding:6px 10px;
	border-radius:999px;
	font-size:.875rem;
	font-weight:700;
	line-height:1.15;
	text-align:center;
	white-space:normal;
	color:var(--huu-uib-heading-color,#111827);
	background:rgba(255,255,255,.92);
	pointer-events:none;
	transition:color var(--huu-uib-card-transition-duration,220ms) ease, background-color var(--huu-uib-card-transition-duration,220ms) ease, transform var(--huu-uib-card-transition-duration,220ms) ease;
}
.huu-uib-service-cards__card:hover .huu-uib-service-cards__meta{
	transform:translateY(-2px);
}

/* v2.1-alpha.08.6 — Service Icon Cards mobile polish: keep meta safe on small cards. */
@media (max-width: 767px) {
	.huu-uib-service-cards .huu-uib-service-cards__meta,
	.huu-uib-service-cards .huu-uib-service-cards__card-meta,
	.huu-uib-service-cards .huu-uib-card__meta {
		max-width: calc(100% - 24px);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}


/* v2.1.0-rc.16 — Last row alignment for card grids.
 * Switches to flex only when the user asks to align incomplete rows.
 */
.huu-uib-grid--last-row-align-left,
.huu-uib-grid--last-row-align-center,
.huu-uib-grid--last-row-align-right,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-left,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-center,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-right {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px));
	row-gap: var(--huu-uib-grid-row-gap, var(--huu-uib-grid-gap, 24px));
	align-items: stretch;
}

.huu-uib-grid--last-row-align-left,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-left {
	justify-content: flex-start;
}

.huu-uib-grid--last-row-align-center,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-center {
	justify-content: center;
}

.huu-uib-grid--last-row-align-right,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-right {
	justify-content: flex-end;
}

.huu-uib-grid--last-row-align-left > *,
.huu-uib-grid--last-row-align-center > *,
.huu-uib-grid--last-row-align-right > *,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-left > *,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-center > *,
.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-right > * {
	flex: 0 0 calc((100% - (var(--huu-uib-grid-columns, 3) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns, 3));
	max-width: calc((100% - (var(--huu-uib-grid-columns, 3) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns, 3));
}

@media (max-width: 1024px) {
	.huu-uib-grid--last-row-align-left > *,
	.huu-uib-grid--last-row-align-center > *,
	.huu-uib-grid--last-row-align-right > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-left > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-center > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-right > * {
		flex-basis: calc((100% - (var(--huu-uib-grid-columns-tablet, 2) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns-tablet, 2));
		max-width: calc((100% - (var(--huu-uib-grid-columns-tablet, 2) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns-tablet, 2));
	}
}

@media (max-width: 767px) {
	.huu-uib-grid--last-row-align-left > *,
	.huu-uib-grid--last-row-align-center > *,
	.huu-uib-grid--last-row-align-right > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-left > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-center > *,
	.huu-uib-service-card-list__grid.huu-uib-grid--last-row-align-right > * {
		flex-basis: calc((100% - (var(--huu-uib-grid-columns-mobile, 1) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns-mobile, 1));
		max-width: calc((100% - (var(--huu-uib-grid-columns-mobile, 1) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px))) / var(--huu-uib-grid-columns-mobile, 1));
	}
}


/* v2.1.0-rc.19 — Featured Card System */
.huu-uib-card--featured {
	background: var(--huu-uib-featured-card-background, var(--huu-uib-card-background, var(--huu-uib-surface-color, #fff)));
	color: var(--huu-uib-featured-card-color, inherit);
	border-color: var(--huu-uib-featured-card-border-color, var(--huu-uib-card-border-color, var(--huu-uib-border-color, rgba(15,23,42,.12))));
}

.huu-uib-card--featured .huu-uib-service-cards__card-title,
.huu-uib-card--featured .huu-uib-service-cards__card-description,
.huu-uib-card--featured .huu-uib-service-image-cards__card-title,
.huu-uib-card--featured .huu-uib-service-image-cards__card-description,
.huu-uib-card--featured .huu-uib-service-card-list__title,
.huu-uib-card--featured .huu-uib-service-card-list__text,
.huu-uib-card--featured .huu-uib-service-card-list__eyebrow {
	color: var(--huu-uib-featured-card-color, currentColor);
}

.huu-uib-card--featured .huu-uib-service-cards__meta,
.huu-uib-card--featured .huu-uib-service-image-cards__meta {
	background: color-mix(in srgb, var(--huu-uib-featured-card-color, currentColor) 14%, transparent);
	color: var(--huu-uib-featured-card-color, currentColor);
}


/* v2.1.0-rc.22.4 — Safe Service Cards repair.
 * CSS-only. Does not alter Elementor controls to avoid editor loading issues.
 */
.huu-uib-service-cards .huu-uib-service-cards__grid {
	column-gap: var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px));
	row-gap: var(--huu-uib-grid-row-gap, var(--huu-uib-grid-gap, 24px));
}

.huu-uib-service-cards .huu-uib-grid--last-row-align-left,
.huu-uib-service-cards .huu-uib-grid--last-row-align-center,
.huu-uib-service-cards .huu-uib-grid--last-row-align-right {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px));
	row-gap: var(--huu-uib-grid-row-gap, var(--huu-uib-grid-gap, 24px));
}

.huu-uib-service-cards .huu-uib-grid--last-row-align-center {
	justify-content: center;
}

.huu-uib-service-cards .huu-uib-grid--last-row-align-left {
	justify-content: flex-start;
}

.huu-uib-service-cards .huu-uib-grid--last-row-align-right {
	justify-content: flex-end;
}

.huu-uib-service-cards .huu-uib-grid--last-row-align-left > .huu-uib-service-cards__card,
.huu-uib-service-cards .huu-uib-grid--last-row-align-center > .huu-uib-service-cards__card,
.huu-uib-service-cards .huu-uib-grid--last-row-align-right > .huu-uib-service-cards__card {
	flex: 0 0 calc((100% - ((var(--huu-uib-grid-columns, 3) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns, 3));
	max-width: calc((100% - ((var(--huu-uib-grid-columns, 3) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns, 3));
}

.huu-uib-service-cards .huu-uib-service-cards__card {
	position: relative;
}

.huu-uib-service-cards .huu-uib-service-cards__card-title {
	padding-right: 0;
}

.huu-uib-service-cards .huu-uib-service-cards__meta {
	position: absolute;
	top: 50%;
	right: 18px;
	left: auto;
	bottom: auto;
	transform: translateY(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 86px;
	min-width: 42px;
	padding: 6px 10px;
	border-radius: 999px;
	line-height: 1.1;
	white-space: nowrap;
	pointer-events: none;
}

.huu-uib-service-cards .huu-uib-service-cards__card:hover .huu-uib-service-cards__meta {
	transform: translateY(-50%);
}

.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured {
	background: var(--huu-uib-featured-card-background, var(--huu-uib-card-background, var(--huu-uib-surface-color, #fff)));
	color: var(--huu-uib-featured-card-color, inherit);
	border-color: var(--huu-uib-featured-card-border-color, var(--huu-uib-card-border-color, var(--huu-uib-border-color, rgba(15,23,42,.12))));
}

.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-service-cards__card-title,
.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-service-cards__card-description {
	color: var(--huu-uib-featured-card-color, currentColor);
}

@media (max-width: 1024px) {
	.huu-uib-service-cards .huu-uib-grid--last-row-align-left > .huu-uib-service-cards__card,
	.huu-uib-service-cards .huu-uib-grid--last-row-align-center > .huu-uib-service-cards__card,
	.huu-uib-service-cards .huu-uib-grid--last-row-align-right > .huu-uib-service-cards__card {
		flex-basis: calc((100% - ((var(--huu-uib-grid-columns-tablet, 2) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns-tablet, 2));
		max-width: calc((100% - ((var(--huu-uib-grid-columns-tablet, 2) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns-tablet, 2));
	}
}

@media (max-width: 767px) {
	.huu-uib-service-cards .huu-uib-grid--last-row-align-left > .huu-uib-service-cards__card,
	.huu-uib-service-cards .huu-uib-grid--last-row-align-center > .huu-uib-service-cards__card,
	.huu-uib-service-cards .huu-uib-grid--last-row-align-right > .huu-uib-service-cards__card {
		flex-basis: calc((100% - ((var(--huu-uib-grid-columns-mobile, 1) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns-mobile, 1));
		max-width: calc((100% - ((var(--huu-uib-grid-columns-mobile, 1) - 1) * var(--huu-uib-grid-column-gap, var(--huu-uib-grid-gap, 24px)))) / var(--huu-uib-grid-columns-mobile, 1));
	}
}

/* v2.1.0-rc.22.7 — Featured Card definitive rendering.
 * The card receives .huu-uib-card--featured and inline CSS variables from render.php.
 */
.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured {
	background-color: var(--huu-uib-featured-card-background, var(--huu-uib-card-background, var(--huu-uib-surface-color, #fff)));
	background-image: none;
	color: var(--huu-uib-featured-card-color, inherit);
	border-color: var(--huu-uib-featured-card-border-color, var(--huu-uib-card-border-color, var(--huu-uib-border-color, rgba(15,23,42,.12))));
}

.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-card__overlay {
	background: transparent;
	opacity: 0;
}

.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-service-cards__card-title,
.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-service-cards__card-description,
.huu-uib-service-cards .huu-uib-service-cards__card.huu-uib-card--featured .huu-uib-service-cards__visual {
	color: var(--huu-uib-featured-card-color, currentColor);
}

.huu-uib-service-cards .huu-uib-service-cards__card-title {
	width: auto;
	max-width: 100%;
	padding-right: 0;
}

.huu-uib-service-cards .huu-uib-service-cards__meta {
	max-width: var(--huu-uib-service-cards-meta-max-width, 86px);
}

/* v2.1.0-rc.22.8 — Featured inline hardening */
.huu-uib-service-cards .huu-uib-card--featured .huu-uib-service-cards__card-title,
.huu-uib-service-cards .huu-uib-card--featured .huu-uib-service-cards__card-description {
	color: var(--huu-uib-featured-card-color, currentColor);
}
