/* =========================================================
   1. Scoped reset
========================================================= */

.huu-uib-block,
.huu-uib-block * {
	box-sizing: border-box;
}

.huu-uib-block {
	--huu-uib-color-bg: #f5f7f0;
	--huu-uib-color-surface: #ffffff;
	--huu-uib-color-border: #dbe4bf;
	--huu-uib-color-heading: #111827;
	--huu-uib-color-text: #52607a;

	--huu-uib-color-primary: #84a500;
	--huu-uib-color-primary-contrast: #ffffff;
	--huu-uib-color-primary-hover: #738f00;
	--huu-uib-color-primary-hover-contrast: #ffffff;

	--huu-uib-color-kicker-bg: #eff4db;
	--huu-uib-color-kicker-text: #667c00;

	--huu-uib-color-secondary-bg: transparent;
	--huu-uib-color-secondary-text: #111827;
	--huu-uib-color-secondary-border: #d8dee9;
	--huu-uib-color-secondary-hover-bg: #ffffff;
	--huu-uib-color-secondary-hover-text: #111827;
	--huu-uib-color-secondary-hover-border: #b7c2d1;

	--huu-uib-color-good-tag-bg: #eff4db;
	--huu-uib-color-good-tag-text: #688000;
	--huu-uib-color-bad-tag-bg: #f4ead9;
	--huu-uib-color-bad-tag-text: #9d6c00;

	--huu-uib-color-hero-gradient-end: #dfe5ce;
	--huu-uib-color-cta-gradient-start: #fafcf6;
	--huu-uib-color-cta-gradient-end: #f3f7eb;

	--huu-uib-radius-xl: 28px;
	--huu-uib-radius-lg: 20px;
	--huu-uib-shadow: 0 18px 36px rgba(17, 24, 39, 0.08);

	--huu-uib-grid-gap: 18px;
	--huu-uib-card-padding-x: 24px;
	--huu-uib-card-padding-y: 24px;

	--huu-uib-button-radius: 14px;
	--huu-uib-button-padding-y: 16px;
	--huu-uib-button-padding-x: 28px;
	--huu-uib-button-gap: 14px;

	--huu-uib-heading-xl-max: 74px;
	--huu-uib-heading-lg-max: 54px;
	--huu-uib-card-heading-size: 18px;
	--huu-uib-text-lg-size: 18px;
	--huu-uib-card-text-size: 16px;
	--huu-uib-kicker-font-size: 12px;

	--huu-uib-text-align: left;
	--huu-uib-buttons-justify: flex-start;
	--huu-uib-section-intro-max-width: 880px;

	--huu-uib-content-pad-x: 32px;
	--huu-uib-content-pad-x-tablet: 24px;
	--huu-uib-content-pad-x-mobile: 20px;

	--huu-uib-button-width-desktop: auto;
	--huu-uib-button-width-mobile: full;

	--huu-uib-cta-box-max-width: 1180px;

	--huu-uib-workflow-number-size: 54px;
	--huu-uib-workflow-number-radius: 18px;

	--huu-uib-border-width: 1px;

	width: 100%;
	color: var(--huu-uib-color-text);
	text-align: var(--huu-uib-text-align);
}

.huu-uib-block img,
.huu-uib-block svg,
.huu-uib-block iframe,
.huu-uib-block video {
	max-width: 100%;
}

.huu-uib-block a {
	text-decoration: none;
}

html,
body {
	overflow-x: clip;
}

@supports not (overflow: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

/* =========================================================
   2. Global elements
========================================================= */

.huu-uib-block__inner {
	width: 100%;
	max-width: var(--huu-uib-max-width);
	margin: 0 auto;
	padding-inline: var(--huu-uib-content-pad-x);
}

.huu-uib-block__kicker {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--huu-uib-color-kicker-bg);
	color: var(--huu-uib-color-kicker-text);
	font-size: var(--huu-uib-kicker-font-size);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.huu-uib-heading-xl {
	margin: 14px 0 0;
	font-size: clamp(36px, 5vw, var(--huu-uib-heading-xl-max));
	line-height: 1.06;
	color: var(--huu-uib-color-heading);
	font-weight: var(--huu-uib-heading-xl-weight, 800);
}

.huu-uib-heading-lg {
	margin: 0 0 16px;
	font-size: clamp(28px, 4vw, var(--huu-uib-heading-lg-max));
	line-height: 1.1;
	color: var(--huu-uib-color-heading);
	font-weight: var(--huu-uib-heading-lg-weight, 800);
}

.huu-uib-text-lg {
	font-size: var(--huu-uib-text-lg-size);
	line-height: 1.7;
}

.huu-uib-small-text {
	font-size: var(--huu-uib-small-size);
	line-height: 1.5;
	font-weight: var(--huu-uib-small-weight, 400);
}

.huu-uib-card-surface {
	background: var(--huu-uib-color-surface);
	border: var(--huu-uib-border-width) solid var(--huu-uib-color-border);
	border-radius: var(--huu-uib-radius-lg);
	box-shadow: var(--huu-uib-shadow);
}

.huu-uib-section-intro {
	max-width: var(--huu-uib-section-intro-max-width);
	margin-bottom: 28px;
}

.huu-uib-section-intro--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.huu-uib-section-intro p {
	margin: 12px 0 0;
}

/* =========================================================
   3. Buttons
========================================================= */

.huu-uib-btns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--huu-uib-button-gap);
	margin-top: 24px;
	justify-content: var(--huu-uib-buttons-justify);
}

.huu-uib-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--huu-uib-button-padding-y) var(--huu-uib-button-padding-x);
	border-radius: var(--huu-uib-button-radius);
	font-weight: 700;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
	position: relative;
	z-index: 1;
}

.huu-uib-btn:hover {
	transform: translateY(-1px);
}

.huu-uib-block a.huu-uib-btn,
.huu-uib-block a.huu-uib-btn:link,
.huu-uib-block a.huu-uib-btn:visited,
.huu-uib-block a.huu-uib-btn:hover,
.huu-uib-block a.huu-uib-btn:focus,
.huu-uib-block a.huu-uib-btn:active {
	text-decoration: none !important;
}

.huu-uib-block a.huu-uib-btn *,
.huu-uib-block a.huu-uib-btn span,
.huu-uib-block a.huu-uib-btn strong {
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

.huu-uib-btns .huu-uib-btn {
	flex: 0 0 auto;
}

.huu-uib-btns[data-huu-uib-button-width="grow"] .huu-uib-btn,
.huu-uib-btns.huu-uib-btns--grow .huu-uib-btn {
	flex: 1 1 0;
}

.huu-uib-btns[data-huu-uib-button-width="full"] .huu-uib-btn,
.huu-uib-btns.huu-uib-btns--full .huu-uib-btn {
	flex: 1 1 100%;
	width: 100%;
}

.huu-uib-block a.huu-uib-btn--primary,
.huu-uib-block a.huu-uib-btn--primary:link,
.huu-uib-block a.huu-uib-btn--primary:visited {
	background: var(--huu-uib-color-primary) !important;
	color: var(--huu-uib-color-primary-contrast) !important;
	-webkit-text-fill-color: var(--huu-uib-color-primary-contrast) !important;
	border: var(--huu-uib-border-width) solid var(--huu-uib-color-primary) !important;
	box-shadow: 0 14px 24px rgba(132, 165, 0, 0.24);
}

.huu-uib-block a.huu-uib-btn--primary:hover,
.huu-uib-block a.huu-uib-btn--primary:focus,
.huu-uib-block a.huu-uib-btn--primary:active {
	background: var(--huu-uib-color-primary-hover) !important;
	color: var(--huu-uib-color-primary-hover-contrast) !important;
	-webkit-text-fill-color: var(--huu-uib-color-primary-hover-contrast) !important;
	border-color: var(--huu-uib-color-primary-hover) !important;
}

.huu-uib-block a.huu-uib-btn--secondary,
.huu-uib-block a.huu-uib-btn--secondary:link,
.huu-uib-block a.huu-uib-btn--secondary:visited {
	background: var(--huu-uib-color-secondary-bg) !important;
	color: var(--huu-uib-color-secondary-text) !important;
	-webkit-text-fill-color: var(--huu-uib-color-secondary-text) !important;
	border: var(--huu-uib-border-width) solid var(--huu-uib-color-secondary-border) !important;
}

.huu-uib-block a.huu-uib-btn--secondary:hover,
.huu-uib-block a.huu-uib-btn--secondary:focus,
.huu-uib-block a.huu-uib-btn--secondary:active {
	background: var(--huu-uib-color-secondary-hover-bg) !important;
	color: var(--huu-uib-color-secondary-hover-text) !important;
	-webkit-text-fill-color: var(--huu-uib-color-secondary-hover-text) !important;
	border-color: var(--huu-uib-color-secondary-hover-border) !important;
}

/* =========================================================
   4. Lists and grids
========================================================= */

.huu-uib-list-checks,
.huu-uib-list-simple {
	list-style: none;
	padding: 0;
	margin: 0;
}

.huu-uib-list-checks li {
	position: relative;
	padding-left: 34px;
	margin-bottom: 14px;
	line-height: 1.7;
	text-align: left;
	font-size: var(--huu-uib-card-text-size);
}

.huu-uib-list-checks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--huu-uib-color-kicker-bg);
	color: var(--huu-uib-color-kicker-text);
	font-size: 13px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.huu-uib-grid {
	display: grid;
	gap: var(--huu-uib-grid-gap);
	width: 100%;
}

.huu-uib-grid > *,
.huu-uib-hero__wrap > *,
.huu-uib-step-card > *,
.huu-uib-profile-highlights__top > * {
	min-width: 0;
}

.huu-uib-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.huu-uib-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.huu-uib-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.huu-uib-grid--responsive {
	grid-template-columns: repeat(var(--huu-uib-grid-columns, 2), minmax(0, 1fr));
}

/* =========================================================
   5. Generic sections
========================================================= */

.huu-uib-block--fullbleed-bg {
	position: relative;
	isolation: isolate;
}

.huu-uib-block--fullbleed-bg::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	z-index: -1;
	pointer-events: none;
}

.huu-uib-hero,
.huu-uib-project-fit,
.huu-uib-capabilities,
.huu-uib-workflow,
.huu-uib-profile-highlights,
.huu-uib-cta,
.huu-uib-faq,
.huu-uib-service-lines,
.huu-uib-woo-service-list,
.huu-uib-two-paths,
.huu-uib-strategic-split,
.huu-uib-blog-gallery {
	padding-top: var(--huu-uib-section-padding-top);
	padding-bottom: var(--huu-uib-section-padding-bottom);
}

.huu-uib-hero {
	position: relative;
	background: transparent;
}

.huu-uib-hero::before {
	background: linear-gradient(
		90deg,
		var(--huu-uib-color-bg) 0%,
		var(--huu-uib-color-bg) 70%,
		var(--huu-uib-color-hero-gradient-end) 100%
	);
}

.huu-uib-hero__wrap {
	display: grid;
	width: 100%;
	max-width: 100%;
	grid-template-columns: var(--huu-uib-hero-columns, minmax(0, 1.25fr) minmax(0, 0.85fr));
	gap: clamp(28px, 4vw, calc(var(--huu-uib-grid-gap) * 2.3));
	align-items: var(--huu-uib-hero-align, center);
}

.huu-uib-hero__copy {
	justify-self: stretch;
	position: relative;
	z-index: 1;
}

.huu-uib-hero__copy p {
	margin: 18px 0 0;
	max-width: var(--huu-uib-hero-copy-max-width, 760px);
}

.huu-uib-hero__features {
	margin-top: 24px;
}

.huu-uib-hero__card {
	padding: var(--huu-uib-card-padding-y) var(--huu-uib-card-padding-x);
	text-align: left;
	max-width: var(--huu-uib-hero-card-max-width, 420px);
	width: 100%;
	justify-self: end;
}

.huu-uib-hero__card h3 {
	margin: 0 0 14px;
	color: var(--huu-uib-color-heading);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* =========================================================
   6. Cards
========================================================= */

.huu-uib-fit-card,
.huu-uib-cap-card,
.huu-uib-step-card,
.huu-uib-faq-card,
.huu-uib-profile-highlights__panel,
.huu-uib-service-lines__card {
	padding: var(--huu-uib-card-padding-y) var(--huu-uib-card-padding-x);
}

.huu-uib-fit-card__tag {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: var(--huu-uib-kicker-font-size);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 14px;
}

.huu-uib-fit-card--good .huu-uib-fit-card__tag {
	background: var(--huu-uib-color-good-tag-bg);
	color: var(--huu-uib-color-good-tag-text);
}

.huu-uib-fit-card--bad .huu-uib-fit-card__tag {
	background: var(--huu-uib-color-bad-tag-bg);
	color: var(--huu-uib-color-bad-tag-text);
}

.huu-uib-cap-card h3,
.huu-uib-step-card h3,
.huu-uib-fit-card h3,
.huu-uib-faq-card h3,
.huu-uib-service-lines__card h3,
.huu-uib-profile-highlights__panel-title,
.huu-uib-profile-highlights__list h4 {
	margin: 0 0 12px;
	color: var(--huu-uib-color-heading);
	font-size: var(--huu-uib-card-heading-size);
	font-weight: var(--huu-uib-card-heading-weight, 700);
}

.huu-uib-cap-card p,
.huu-uib-step-card p,
.huu-uib-fit-card p,
.huu-uib-faq-card p,
.huu-uib-service-lines__card p,
.huu-uib-profile-highlights__list p {
	margin: 0;
	font-size: var(--huu-uib-card-text-size);
	line-height: 1.7;
}

/* =========================================================
   7. Workflow / CTA / FAQ
========================================================= */

.huu-uib-step-card {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: var(--huu-uib-grid-gap);
	align-items: start;
	text-align: left;
}

.huu-uib-step-card__number {
	width: var(--huu-uib-workflow-number-size);
	height: var(--huu-uib-workflow-number-size);
	border-radius: var(--huu-uib-workflow-number-radius);
	background: var(--huu-uib-color-primary);
	color: #fff;
	font-weight: 800;
	font-size: clamp(18px, calc(var(--huu-uib-workflow-number-size) / 2.7), 34px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.huu-uib-cta__box {
	padding: calc(var(--huu-uib-card-padding-y) + 20px) calc(var(--huu-uib-card-padding-x) + 12px);
	border-radius: var(--huu-uib-radius-xl);
	border: var(--huu-uib-border-width) solid var(--huu-uib-color-border);
	background: linear-gradient(
		180deg,
		var(--huu-uib-color-cta-gradient-start) 0%,
		var(--huu-uib-color-cta-gradient-end) 100%
	);
	text-align: center;
}

.huu-uib-cta__box p {
	max-width: 820px;
	margin: 14px auto 0;
}

.huu-uib-cta__note {
	margin-top: 18px;
	font-size: 14px;
}

.huu-uib-faq__schema-note {
	margin-top: 20px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--huu-uib-color-bg);
	border: var(--huu-uib-border-width) solid var(--huu-uib-color-border);
	font-size: 14px;
}

/* =========================================================
   8. Profile highlights
========================================================= */

.huu-uib-profile-highlights__top {
	align-items: center;
	margin-bottom: calc(var(--huu-uib-grid-gap) * 1.5);
}

.huu-uib-profile-highlights__copy {
	max-width: 760px;
}

.huu-uib-profile-highlights__copy p {
	margin: 18px 0 0;
}

.huu-uib-profile-highlights__list li {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 14px;
	margin-bottom: 18px;
	align-items: start;
}

.huu-uib-profile-highlights__list li:last-child {
	margin-bottom: 0;
}

.huu-uib-profile-highlights__bullet {
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: var(--huu-uib-color-kicker-bg);
	color: var(--huu-uib-color-kicker-text);
	font-size: 11px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 4px;
}

.huu-uib-profile-highlights__stats {
	margin-top: var(--huu-uib-grid-gap);
}

/* =========================================================
   9. Woo service list
========================================================= */

.huu-uib-woo-service-list .huu-uib-section-intro {
	margin-bottom: calc(var(--huu-uib-grid-gap) * 1.8);
}

.huu-uib-woo-service-list .huu-uib-block__kicker {
	margin-bottom: var(--huu-uib-service-list-eyebrow-margin-bottom, 18px);
}

.huu-uib-woo-service-list__rows {
	border-top: 1px solid var(--huu-uib-service-list-row-border);
}

.huu-uib-woo-service-list__row {
	display: grid;
	grid-template-columns: var(--huu-uib-service-list-columns, 1.2fr 1fr auto auto);
	gap: var(--huu-uib-service-list-gap, 20px);
	align-items: center;
	padding: var(--huu-uib-service-list-row-padding-y, 28px) 0;
	border-bottom: 1px solid var(--huu-uib-service-list-row-border);
}

.huu-uib-woo-service-list__title,
.huu-uib-woo-service-list__summary,
.huu-uib-woo-service-list__price,
.huu-uib-woo-service-list__price * {
	min-width: 0;
}

.huu-uib-woo-service-list__title {
	margin: 0;
	color: var(--huu-uib-service-list-title-color, var(--huu-uib-color-heading));
	font-size: var(--huu-uib-service-list-title-size, 42px);
	line-height: 1.08;
	font-weight: var(--huu-uib-service-list-title-weight, var(--huu-uib-card-heading-weight, 700));
}

.huu-uib-woo-service-list__summary {
	margin: 0;
	font-size: var(--huu-uib-card-text-size);
	line-height: 1.7;
}

.huu-uib-woo-service-list__price-col {
	min-width: var(--huu-uib-service-list-price-min, 96px);
	text-align: right;
}

.huu-uib-woo-service-list__price {
	color: var(--huu-uib-service-list-price-color, var(--huu-uib-color-heading));
	font-size: var(--huu-uib-service-list-price-size, 26px);
	line-height: 1;
	font-weight: var(--huu-uib-service-list-price-weight, 800);
	white-space: nowrap;
}

.huu-uib-woo-service-list__price del {
	opacity: 0.5;
	margin-right: 8px;
	font-size: 0.72em;
}

.huu-uib-woo-service-list__price ins {
	text-decoration: none;
}

.huu-uib-woo-service-list__cta-col {
	min-width: var(--huu-uib-service-list-button-min, 160px);
	display: flex;
	justify-content: flex-end;
}

.huu-uib-woo-service-list__cta-col .huu-uib-btn {
	width: 100%;
}

.huu-uib-woo-service-list__empty {
	padding: 18px 0;
	border-top: 1px solid var(--huu-uib-service-list-row-border);
	border-bottom: 1px solid var(--huu-uib-service-list-row-border);
	font-size: var(--huu-uib-card-text-size);
}

.huu-uib-woo-service-list__footer {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--huu-uib-service-list-footer-space, 28px);
}

.huu-uib-woo-service-list__footer-link {
	color: var(--huu-uib-service-list-footer-link-color, #0f7d39) !important;
	font-size: var(--huu-uib-service-list-footer-link-size, 16px);
	font-weight: var(--huu-uib-service-list-footer-link-weight, 700);
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
}

/* =========================================================
   10. Two paths / Strategic split / Blog gallery
========================================================= */

.huu-uib-two-paths .huu-uib-block__kicker,
.huu-uib-strategic-split .huu-uib-block__kicker,
.huu-uib-blog-gallery .huu-uib-block__kicker {
	margin-bottom: 14px;
}

.huu-uib-two-paths .huu-uib-heading-lg,
.huu-uib-blog-gallery .huu-uib-heading-lg,
.huu-uib-strategic-split .huu-uib-heading-xl {
	margin-top: 0;
}

.huu-uib-two-paths__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--huu-uib-paths-gap, 22px);
}

.huu-uib-two-paths__card {
	position: relative;
	min-height: var(--huu-uib-path-min-height, 360px);
	border-radius: var(--huu-uib-radius-xl);
	overflow: hidden;
	background: #122032 center/cover no-repeat;
	isolation: isolate;
	transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

.huu-uib-two-paths__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(10, 16, 28, 0.14) 0%,
		var(--huu-uib-path-overlay, rgba(10, 16, 28, 0.56)) 72%,
		rgba(10, 16, 28, 0.82) 100%
	);
	z-index: 1;
}

.huu-uib-two-paths__content {
	position: relative;
	z-index: 2;
	min-height: inherit;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--huu-uib-path-padding, 28px);
	color: var(--huu-uib-path-text, #fff);
}

.huu-uib-two-paths__title {
	margin: 0 0 12px;
	font-size: clamp(26px, 3vw, var(--huu-uib-path-title-size, 34px));
	line-height: 1.08;
	font-weight: var(--huu-uib-path-title-weight, 800);
	color: inherit;
}

.huu-uib-two-paths__text {
	margin: 0;
	font-size: var(--huu-uib-path-text-size, 18px);
	line-height: 1.6;
	color: inherit;
	max-width: 34ch;
}

.huu-uib-strategic-split__wrap {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: var(--huu-uib-strategic-gap, 28px);
	align-items: center;
}

.huu-uib-strategic-split--reverse .huu-uib-strategic-split__visual {
	order: 2;
}

.huu-uib-strategic-split--reverse .huu-uib-strategic-split__copy {
	order: 1;
}

.huu-uib-strategic-split__visual {
	min-height: var(--huu-uib-strategic-min-height, 520px);
	border-radius: var(--huu-uib-radius-xl);
	overflow: hidden;
	background: #102030 center/cover no-repeat;
	transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

.huu-uib-strategic-split__copy .huu-uib-heading-xl {
	margin-top: 0;
	margin-bottom: 18px;
}

.huu-uib-strategic-split__copy .huu-uib-text-lg {
	margin: 0 0 20px;
}

.huu-uib-strategic-split__list {
	list-style: none;
	padding: 0;
	margin: 0 0 26px;
	display: grid;
	gap: var(--huu-uib-strategic-list-gap, 18px);
}

.huu-uib-strategic-split__list li {
	position: relative;
	padding-left: calc(var(--huu-uib-strategic-check-size, 22px) + 18px);
	font-size: var(--huu-uib-card-heading-size);
	font-weight: 700;
	line-height: 1.5;
	color: var(--huu-uib-color-heading);
}

.huu-uib-strategic-split__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: var(--huu-uib-strategic-check-size, 22px);
	height: var(--huu-uib-strategic-check-size, 22px);
	border-radius: 999px;
	color: var(--huu-uib-strategic-check-color, #0f7d39);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

.huu-uib-strategic-split__actions {
	margin-top: 24px;
}

.huu-uib-blog-gallery__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.8fr);
	gap: var(--huu-uib-blog-gallery-gap, 18px);
	align-items: stretch;
}

.huu-uib-blog-gallery__stack {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--huu-uib-blog-gallery-gap, 18px);
}

.huu-uib-blog-gallery__item {
	position: relative;
	display: block;
	min-height: var(--huu-uib-blog-card-height, 215px);
	border-radius: var(--huu-uib-radius-xl);
	overflow: hidden;
	background: #101b2c center/cover no-repeat;
	isolation: isolate;
	transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

.huu-uib-blog-gallery__item--featured {
	min-height: var(--huu-uib-blog-featured-height, 460px);
}

.huu-uib-blog-gallery__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(10, 16, 28, 0.06) 0%,
		rgba(10, 16, 28, 0.18) 35%,
		var(--huu-uib-blog-overlay, rgba(10, 16, 28, 0.42)) 100%
	);
	z-index: 1;
}

.huu-uib-blog-gallery__caption {
	position: absolute;
	left: var(--huu-uib-blog-padding, 18px);
	right: var(--huu-uib-blog-padding, 18px);
	bottom: var(--huu-uib-blog-padding, 18px);
	z-index: 2;
	color: var(--huu-uib-blog-title-color, #fff);
	font-size: var(--huu-uib-blog-title-size, 18px);
	line-height: 1.2;
	font-weight: var(--huu-uib-blog-title-weight, 800);
}

/* =========================================================
   11. Pricing Plans Woo
========================================================= */

.huu-uib-pricing-plans-woo {
	--huu-uib-pricing-columns: 3;
	--huu-uib-pricing-columns-tablet: 2;
	--huu-uib-pricing-columns-mobile: 1;
	--huu-uib-pricing-gap: 20px;
	--huu-uib-pricing-card-min-height: 0px;
	--huu-uib-pricing-featured: #0b7d2f;
	--huu-uib-pricing-price-size: 48px;
	--huu-uib-pricing-price-weight: 800;
	--huu-uib-pricing-label-size: 13px;
	--huu-uib-pricing-badge-size: 14px;
	--huu-uib-pricing-feature-gap: 14px;
	--huu-uib-pricing-icon: #0b7d2f;
	--huu-uib-pricing-price-color: #1f3b63;
	--huu-uib-pricing-note-color: #52607a;
}

.huu-uib-pricing-plans-woo__grid {
	display: grid;
	grid-template-columns: repeat(var(--huu-uib-pricing-columns), minmax(0, 1fr));
	gap: var(--huu-uib-pricing-gap);
	align-items: stretch;
}

.huu-uib-pricing-plans-woo__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: var(--huu-uib-pricing-card-min-height);
	padding: clamp(24px, 2.2vw, 34px);
	background: var(--huu-uib-color-surface);
	border: 1px solid var(--huu-uib-color-border);
	border-radius: 22px;
	box-shadow: var(--huu-uib-shadow);
}

.huu-uib-pricing-plans-woo__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--huu-uib-pricing-featured);
	color: #fff;
	font-size: var(--huu-uib-pricing-badge-size);
	font-weight: 700;
	line-height: 1;
}

/* =========================================================
   12. Locked widget
========================================================= */

.huu-uib-locked-widget {
	position: relative;
	border: 1px dashed #d6debf;
	background: #fbfcf7;
	border-radius: 20px;
	padding: 28px;
	max-width: 920px;
	box-shadow: 0 12px 30px rgba(17, 24, 39, 0.06);
}

.huu-uib-locked-widget__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #111827;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.huu-uib-locked-widget__title {
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.2;
	color: #111827;
}

.huu-uib-locked-widget__text {
	margin: 0 0 18px;
	color: #52607a;
	font-size: 15px;
	line-height: 1.6;
	max-width: 56ch;
}

.huu-uib-locked-widget__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 14px;
	background: #84a500;
	color: #fff !important;
	text-decoration: none;
	font-weight: 700;
	box-shadow: none;
}

.huu-uib-locked-widget__button:hover {
	background: #738f00;
	color: #fff !important;
}

/* =========================================================
   13. Responsive
========================================================= */

@media (max-width: 1024px) {
	.huu-uib-block__inner {
		max-width: var(--huu-uib-max-width-tablet, var(--huu-uib-max-width));
		padding-inline: var(--huu-uib-content-pad-x-tablet, var(--huu-uib-content-pad-x));
	}

	.huu-uib-section-intro {
		max-width: var(--huu-uib-section-intro-max-width-tablet, var(--huu-uib-section-intro-max-width));
	}

	.huu-uib-grid,
	.huu-uib-hero__wrap,
	.huu-uib-step-card,
	.huu-uib-btns {
		gap: var(--huu-uib-grid-gap-tablet, var(--huu-uib-grid-gap));
	}

	.huu-uib-fit-card,
	.huu-uib-cap-card,
	.huu-uib-step-card,
	.huu-uib-faq-card,
	.huu-uib-hero__card,
	.huu-uib-profile-highlights__panel,
	.huu-uib-service-lines__card {
		padding-left: var(--huu-uib-card-padding-x-tablet, var(--huu-uib-card-padding-x));
		padding-right: var(--huu-uib-card-padding-x-tablet, var(--huu-uib-card-padding-x));
		padding-top: var(--huu-uib-card-padding-y-tablet, var(--huu-uib-card-padding-y));
		padding-bottom: var(--huu-uib-card-padding-y-tablet, var(--huu-uib-card-padding-y));
	}

	.huu-uib-heading-xl {
		font-size: clamp(32px, 5vw, var(--huu-uib-heading-xl-max-tablet, var(--huu-uib-heading-xl-max)));
	}

	.huu-uib-heading-lg {
		font-size: clamp(26px, 4vw, var(--huu-uib-heading-lg-max-tablet, var(--huu-uib-heading-lg-max)));
	}

	.huu-uib-text-lg {
		font-size: var(--huu-uib-text-lg-size-tablet, var(--huu-uib-text-lg-size));
	}

	.huu-uib-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.huu-uib-grid--responsive {
		grid-template-columns: repeat(var(--huu-uib-grid-columns-tablet, var(--huu-uib-grid-columns, 2)), minmax(0, 1fr));
	}

	.huu-uib-hero__wrap,
	.huu-uib-strategic-split__wrap,
	.huu-uib-blog-gallery__grid {
		grid-template-columns: 1fr;
	}

	.huu-uib-blog-gallery__stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.huu-uib-woo-service-list__row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.huu-uib-woo-service-list__price-col,
	.huu-uib-woo-service-list__cta-col {
		text-align: left;
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.huu-uib-block__inner {
		max-width: var(--huu-uib-max-width-mobile, var(--huu-uib-max-width-tablet, var(--huu-uib-max-width)));
		padding-inline: var(--huu-uib-content-pad-x-mobile, var(--huu-uib-content-pad-x-tablet, var(--huu-uib-content-pad-x)));
	}

	.huu-uib-heading-xl {
		font-size: clamp(28px, 8vw, var(--huu-uib-heading-xl-max-mobile, var(--huu-uib-heading-xl-max-tablet, var(--huu-uib-heading-xl-max))));
	}

	.huu-uib-heading-lg {
		font-size: clamp(22px, 7vw, var(--huu-uib-heading-lg-max-mobile, var(--huu-uib-heading-lg-max-tablet, var(--huu-uib-heading-lg-max))));
	}

	.huu-uib-grid--2,
	.huu-uib-grid--3,
	.huu-uib-grid--4,
	.huu-uib-two-paths__grid,
	.huu-uib-blog-gallery__stack,
	.huu-uib-woo-service-list__row {
		grid-template-columns: 1fr;
	}

	.huu-uib-grid--responsive {
		grid-template-columns: repeat(var(--huu-uib-grid-columns-mobile, 1), minmax(0, 1fr));
	}

	.huu-uib-btns {
		flex-direction: column;
		gap: var(--huu-uib-button-gap-mobile, var(--huu-uib-button-gap-tablet, var(--huu-uib-button-gap)));
		width: 100%;
		align-items: stretch;
	}

	.huu-uib-btns:not([data-huu-uib-button-width-mobile]) .huu-uib-btn,
	.huu-uib-btns[data-huu-uib-button-width-mobile="full"] .huu-uib-btn,
	.huu-uib-strategic-split__actions .huu-uib-btn {
		width: 100%;
		flex: 1 1 100%;
		display: flex;
		justify-content: center;
	}

	.huu-uib-step-card {
		grid-template-columns: 1fr;
	}

	.huu-uib-hero__card {
		order: var(--huu-uib-hero-card-mobile-order, 2);
	}

	.huu-uib-two-paths__card,
	.huu-uib-strategic-split__visual {
		min-height: 300px;
	}

	.huu-uib-blog-gallery__item--featured {
		min-height: 360px;
	}

	.huu-uib-woo-service-list__title {
		font-size: clamp(22px, 7vw, var(--huu-uib-service-list-title-size, 42px));
	}

	.huu-uib-woo-service-list__footer {
		justify-content: flex-start;
	}
}