/* ============================================================
   ACEHCT widget presentation
   ============================================================ */

/* Hero */
.acehct-hero {
	position: relative;
	overflow: hidden;
	background: var(--acehct-hero-bg, #060D18);
	padding-block: var(--acehct-hero-padding, clamp(6rem, 11vw, 9rem));
}

.acehct-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(3,7,14,.93) 0%, rgba(5,11,20,.80) 48%, rgba(5,11,20,.62) 100%);
	pointer-events: none;
}

.acehct-hero__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(75px);
	pointer-events: none;
	opacity: .14;
}

.acehct-hero__blob--a {
	width: 38rem;
	height: 38rem;
	top: -16rem;
	left: -12rem;
	background: #8EA7C7;
}

.acehct-hero__blob--b {
	width: 30rem;
	height: 30rem;
	right: -12rem;
	bottom: -14rem;
	background: #5F748E;
}

.acehct-hero__bgimg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: .50;
	filter: saturate(.82) contrast(1.05);
	pointer-events: none;
}

.acehct-hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--acehct-hero-width, 66rem);
	margin-inline: auto;
	display: grid;
	justify-items: center;
	gap: 1.25rem;
	text-align: center;
}

.acehct-hero--left .acehct-hero__inner {
	margin-inline: 0;
	justify-items: start;
	text-align: left;
}

.acehct-hero--right .acehct-hero__inner {
	margin-inline: 0 0 auto;
	justify-items: end;
	text-align: right;
}

.acehct-hero__eyebrow {
	color: var(--acehct-hero-eyebrow-color, #D9E6F4);
	font-size: .74rem;
	letter-spacing: .12em;
}
.acehct-hero__eyebrow::before {
	content: "";
	width: 30px;
	height: 4px;
	border-radius: 3px;
	background: linear-gradient(90deg, #D9E6F4 0 62%, #2BB0E6 62% 100%);
}

.acehct-hero__title {
	margin: 0;
	max-width: 58rem;
	color: var(--acehct-hero-title-color, #fff);
	font-size: var(--acehct-hero-title-size, clamp(2.65rem, 5.4vw, 4.6rem));
	font-weight: var(--acehct-hero-title-weight, 700);
	line-height: var(--acehct-hero-title-line_height, 1.06);
	letter-spacing: var(--acehct-hero-title-letter_spacing, -.035em);
	text-wrap: balance;
}

.acehct-hero__desc {
	margin: 0;
	max-width: 46rem;
	color: var(--acehct-hero-desc-color, #D7E5F5);
	font-size: var(--acehct-hero-desc-size, 1.12rem);
	line-height: var(--acehct-hero-desc-line_height, 1.75);
}

.acehct-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	justify-content: center;
	margin-top: .45rem;
}

.acehct-hero--left .acehct-hero__ctas { justify-content: flex-start; }
.acehct-hero--right .acehct-hero__ctas { justify-content: flex-end; }

.acehct-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	justify-content: center;
	margin-top: 1.4rem;
}

.acehct-hero--left .acehct-hero__proof { justify-content: flex-start; }
.acehct-hero--right .acehct-hero__proof { justify-content: flex-end; }

.acehct-hero__proof-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .48rem .82rem;
	border-radius: 999px;
	font-size: .76rem;
	font-weight: 500;
	letter-spacing: .01em;
	color: rgba(255,255,255,.88);
	background: rgba(255,255,255,.075);
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 22px rgba(0,0,0,.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.acehct-hero__wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	line-height: 0;
	pointer-events: none;
}

.acehct-hero__wave svg {
	display: block;
	width: 100%;
	height: var(--acehct-hero-wave-height, 3rem);
	fill: var(--acehct-hero-wave-fill, #fff);
}

/* Icon/image cards */
.acehct-card--icon {
	gap: 1rem;
}

.acehct-card--icon .acehct-card__title,
.acehct-card--image .acehct-card__title {
	color: var(--acehct-card-title-color, var(--acehct-ink));
	font-size: var(--acehct-card-title-size, 1.18rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.01em;
}

.acehct-card--icon .acehct-card__desc,
.acehct-card--image .acehct-card__desc {
	color: var(--acehct-card-desc-color, var(--acehct-slate));
	font-size: var(--acehct-card-desc-size, .95rem);
	line-height: 1.7;
}

.acehct-card__link {
	margin-top: auto;
	padding-top: .65rem;
}

.acehct-card--image {
	padding: 0;
}

.acehct-card--image .acehct-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 0;
	background: #EAF2FA;
}

.acehct-card--image .acehct-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .45s ease;
}

.acehct-card--image:hover .acehct-card__media img {
	transform: scale(1.035);
}

.acehct-card--image .acehct-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(23,49,95,.18), transparent 50%);
}

.acehct-card--image .acehct-card__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--acehct-deep);
}

.acehct-card--image .acehct-card__media--empty svg {
	width: 3rem;
	height: 3rem;
	opacity: .55;
}

.acehct-card--image .acehct-card__body {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	flex: 1;
	padding: 1.5rem 1.75rem 1.75rem;
}

.acehct-card--image .acehct-chip {
	margin-top: -1.6rem;
	margin-left: 1.75rem;
	position: relative;
	z-index: 2;
	box-shadow: 0 0 0 5px #fff;
}

/* Steps — horizontal pathway, no cards */
.acehct-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--acehct-cols, 3), minmax(0, 1fr));
	gap: 0;
}

.acehct-step {
	position: relative;
	min-width: 0;
	padding: 0 .9rem;
}

.acehct-step:first-child { padding-left: 0; }
.acehct-step:last-child { padding-right: 0; }

.acehct-step__track {
	position: relative;
	display: flex;
	align-items: center;
	height: 3.25rem;
}

.acehct-step__num {
	position: relative;
	z-index: 2;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	border: 1px solid #BFD1E5;
	background: #fff;
	color: var(--acehct-deep);
	font-size: .86rem;
	font-weight: 800;
	box-shadow: 0 5px 18px rgba(23,49,95,.08);
}

.acehct-step__num::after {
	content: "";
	position: absolute;
	inset: 5px;
	border-radius: 50%;
	border: 2px solid #EAF6FC;
}

.acehct-step:nth-child(2n) .acehct-step__num {
	color: var(--acehct-sky-deep);
}

.acehct-step:nth-child(3n) .acehct-step__num {
	color: var(--acehct-green-deep);
}

.acehct-step__connector {
	position: absolute;
	z-index: 1;
	left: 3.25rem;
	right: -.9rem;
	top: 50%;
	height: 1px;
	background: linear-gradient(90deg, #BFD1E5 0%, #DDE7F0 100%);
}

.acehct-step__body {
	padding-top: 1.35rem;
	padding-right: .75rem;
}

.acehct-step__title {
	margin: 0 0 .4rem;
	color: var(--acehct-step-title-color, var(--acehct-ink));
	font-size: var(--acehct-step-title-size, 1.08rem);
	font-weight: 700;
	line-height: 1.35;
}

.acehct-step__desc {
	margin: 0;
	color: var(--acehct-step-desc-color, var(--acehct-slate));
	font-size: var(--acehct-step-desc-size, .92rem);
	line-height: 1.65;
	max-width: 19rem;
}

@media (max-width: 1024px) {
	.acehct-steps {
		grid-template-columns: repeat(2, minmax(0,1fr));
		row-gap: 2.5rem;
	}
	.acehct-step:nth-child(2n) .acehct-step__connector { display: none; }
}

@media (max-width: 767px) {
	.acehct-steps {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
	.acehct-step {
		padding: 0;
	}
	.acehct-step__connector {
		display: none;
	}
	.acehct-step__track {
		height: 2.8rem;
	}
	.acehct-step__num {
		width: 2.8rem;
		height: 2.8rem;
	}
	.acehct-step__body {
		padding-top: .85rem;
	}
}

/* Split */
.acehct-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: center;
}

.acehct-split--rev .acehct-split__text { order: 2; }

.acehct-split__eyebrow { margin: 0 0 .85rem; }

.acehct-split__title {
	margin: 0;
	color: var(--acehct-split-title-color, var(--acehct-ink));
	font-size: var(--acehct-split-title-size, clamp(2rem, 3.7vw, 3rem));
	font-weight: 700;
	line-height: var(--acehct-split-title-line_height, 1.12);
	letter-spacing: -.025em;
	text-wrap: balance;
}

.acehct-split__bar {
	width: 42px;
	height: 3px;
	border-radius: 99px;
	margin: 1rem 0 1.15rem;
	background: var(--acehct-deep);
}

.acehct-split__desc {
	margin: 0;
	color: var(--acehct-split-desc-color, var(--acehct-slate));
	font-size: var(--acehct-split-desc-size, 1.03rem);
	line-height: 1.75;
}

.acehct-split__bullets {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: grid;
	gap: .8rem;
}

.acehct-split__bullets li {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	color: var(--acehct-split-bullet-color, var(--acehct-slate));
	font-size: var(--acehct-split-bullet-size, .98rem);
	line-height: 1.6;
}

.acehct-split__bullets .acehct-check {
	flex: none;
	margin-top: .1rem;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #E9F5E6;
	color: var(--acehct-green-deep);
}

.acehct-split__bullets svg { width: 12px; height: 12px; }

.acehct-split__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.75rem;
}

.acehct-split__media { position: relative; }

.acehct-split__frame {
	position: absolute;
	inset: 1rem -1rem -1rem 1rem;
	border-radius: var(--acehct-radius-lg);
	background: #E5F2F9;
	pointer-events: none;
}

.acehct-split__img {
	position: relative;
	border-radius: var(--acehct-radius-lg);
	overflow: hidden;
	aspect-ratio: 4 / 3.2;
	background: #EAF2FA;
	box-shadow: var(--acehct-shadow-lg);
}

.acehct-split__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.acehct-split__media--plain .acehct-split__frame { display: none; }

.acehct-table__label {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-weight: 700;
	color: var(--acehct-table-label-color, var(--acehct-ink));
}

.acehct-table__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex: none;
	background: var(--acehct-deep);
}

.acehct-table__dot--2 { background: var(--acehct-sky); }
.acehct-table__dot--3 { background: var(--acehct-green); }

/* Checklist */
.acehct-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--acehct-cols, 2), minmax(0, 1fr));
	gap: var(--acehct-gap, 1rem);
}

.acehct-list__item {
	display: flex;
	gap: .85rem;
	align-items: flex-start;
	padding: 1.1rem 1.2rem;
	background: #fff;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.acehct-list__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--acehct-shadow);
	border-color: #C8D8E9;
}

.acehct-list__check {
	flex: none;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #E9F5E6;
	color: var(--acehct-green-deep);
}

.acehct-list__check svg { width: 13px; height: 13px; }

.acehct-list__text {
	color: var(--acehct-list-color, var(--acehct-slate));
	font-size: var(--acehct-list-size, .97rem);
	line-height: 1.55;
}

.acehct-list__text strong {
	display: block;
	margin-bottom: .15rem;
	color: var(--acehct-ink);
	font-size: 1.02rem;
}

/* CTA */
.acehct-cta {
	position: relative;
	overflow: hidden;
	background: var(--acehct-cta-bg, var(--acehct-deep));
	border-radius: var(--acehct-cta-radius, var(--acehct-radius-lg));
	padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.5rem, 5vw, 4rem);
	text-align: center;
}

.acehct-cta::after {
	content: "";
	position: absolute;
	width: 26rem;
	height: 26rem;
	right: -12rem;
	bottom: -15rem;
	border-radius: 50%;
	background: var(--acehct-sky);
	opacity: .12;
	filter: blur(10px);
}

.acehct-cta__inner {
	position: relative;
	z-index: 2;
	max-width: 52rem;
	margin-inline: auto;
	display: grid;
	justify-items: center;
	gap: 1rem;
}

.acehct-cta__title {
	margin: 0;
	color: var(--acehct-cta-title-color, #fff);
	font-size: var(--acehct-cta-title-size, clamp(2rem, 4vw, 3.1rem));
	font-weight: 700;
	line-height: var(--acehct-cta-title-line_height, 1.1);
	letter-spacing: -.025em;
	text-wrap: balance;
}

.acehct-cta__desc {
	margin: 0;
	max-width: 42rem;
	color: var(--acehct-cta-desc-color, #D7E5F5);
	font-size: var(--acehct-cta-desc-size, 1.03rem);
	line-height: 1.75;
}

.acehct-cta__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-top: .7rem;
}

/* Stats */
.acehct-stats {
	position: relative;
	overflow: hidden;
	background: var(--acehct-stats-bg, var(--acehct-deep));
	border-radius: var(--acehct-radius-lg);
	padding: clamp(2.75rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3rem);
}

.acehct-stats__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(var(--acehct-cols, 3), minmax(0, 1fr));
	gap: 1.5rem;
}

.acehct-stat {
	text-align: center;
	padding: 0 1rem;
}

.acehct-stat + .acehct-stat {
	border-left: 1px solid rgba(255,255,255,.18);
}

.acehct-stat__value {
	margin: 0 0 .35rem;
	color: var(--acehct-stat-value-color, #fff);
	font-size: var(--acehct-stat-value-size, clamp(2.5rem, 5.5vw, 3.8rem));
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.035em;
}

.acehct-stat__label {
	margin: 0;
	color: var(--acehct-stat-label-color, #D7E5F5);
	font-size: var(--acehct-stat-label-size, .95rem);
	line-height: 1.5;
}

.acehct-stats--light {
	background: #fff;
	border: 1px solid var(--acehct-line);
}

.acehct-stats--light .acehct-stat + .acehct-stat {
	border-left-color: var(--acehct-line);
}

.acehct-stats--light .acehct-stat__value { color: var(--acehct-deep); }
.acehct-stats--light .acehct-stat__label { color: var(--acehct-slate); }

/* FAQ — open answer cards, no accordion */
.acehct-faq {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.acehct-faq__item {
	display: grid;
	grid-template-columns: 44px minmax(0,1fr);
	gap: 1rem;
	align-items: start;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.acehct-faq__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--acehct-shadow);
	border-color: #C7D7E8;
}

.acehct-faq__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #EAF6FC;
	color: var(--acehct-deep);
	font-size: .78rem;
	font-weight: 800;
}

.acehct-faq__content {
	min-width: 0;
}

.acehct-faq__question {
	margin: 0 0 .55rem;
	color: var(--acehct-faq-q-color, var(--acehct-ink));
	font-size: var(--acehct-faq-q-size, 1.05rem);
	font-weight: 700;
	line-height: 1.4;
}

.acehct-faq__body {
	max-height: none;
	overflow: visible;
}

.acehct-faq__body p {
	margin: 0;
	padding: 0;
	color: var(--acehct-faq-a-color, var(--acehct-slate));
	font-size: var(--acehct-faq-a-size, .94rem);
	line-height: 1.7;
}

/* Team */
.acehct-team {
	display: grid;
	grid-template-columns: repeat(var(--acehct-cols, 3), minmax(0, 1fr));
	gap: var(--acehct-gap, 1.5rem);
}

.acehct-team__card {
	position: relative;
	background: #fff;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius);
	padding: 1.75rem;
	text-align: center;
	box-shadow: none;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}

.acehct-team__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--acehct-shadow);
}

.acehct-team__card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--acehct-deep);
}

.acehct-team__avatar {
	position: relative;
	width: 6.5rem;
	height: 6.5rem;
	margin: .25rem auto 1rem;
	border-radius: 50%;
	padding: 4px;
	box-sizing: border-box;
	background: var(--acehct-sky);
	box-shadow: 0 0 0 5px rgba(43, 176, 230, .14);
	overflow: hidden;
	isolation: isolate;
}

.acehct-team__avatar img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50% !important;
	border: 0 !important;
	display: block;
	position: relative;
	z-index: 1;
}

.acehct-team__mono {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 3px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 800;
	color: #fff;
	background: var(--acehct-deep);
}

.acehct-team__name {
	margin: .5rem 0 .3rem;
	color: var(--acehct-team-name-color, var(--acehct-ink));
	font-size: var(--acehct-team-name-size, 1.15rem);
	font-weight: 700;
}

.acehct-team__role {
	display: inline-block;
	padding: .3rem .7rem;
	margin-bottom: .85rem;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--acehct-deep);
	background: #EAF6FC;
}

.acehct-team__bio {
	margin: 0;
	color: var(--acehct-team-bio-color, var(--acehct-slate));
	font-size: var(--acehct-team-bio-size, .92rem);
	line-height: 1.65;
}

/* Tabs — service selector */
.acehct-tabs__layout {
	display: grid;
	grid-template-columns: minmax(15rem, .34fr) minmax(0, .66fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: stretch;
}

.acehct-tabs__nav {
	display: grid;
	align-content: start;
	gap: .45rem;
	margin: 0;
	padding: .5rem;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius);
	background: #F7FAFD;
}

.acehct-tabs__tab {
	position: relative;
	width: 100%;
	display: grid;
	grid-template-columns: 38px minmax(0,1fr) 18px;
	align-items: center;
	gap: .75rem;
	padding: .85rem .9rem;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: var(--acehct-tabs-tab-color, var(--acehct-slate));
	font-size: .9rem;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.acehct-tabs__tab:hover {
	background: #fff;
	color: var(--acehct-deep);
	border-color: var(--acehct-line);
}

.acehct-tabs__tab.is-active {
	background: #fff;
	color: var(--acehct-deep);
	border-color: #C8D8E9;
	box-shadow: 0 5px 18px rgba(23,49,95,.06);
}

.acehct-tabs__tab-icon {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #EAF6FC;
	color: var(--acehct-deep);
}

.acehct-tabs__tab.is-active .acehct-tabs__tab-icon {
	background: var(--acehct-deep);
	color: #fff;
}

.acehct-tabs__tab-icon > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.acehct-tabs__tab-icon svg,
.acehct-tabs__tab-icon i {
	width: 17px;
	height: 17px;
	font-size: 17px;
}

.acehct-tabs__tab-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
	opacity: .45;
}

.acehct-tabs__tab-arrow svg {
	width: 15px;
	height: 15px;
}

.acehct-tabs__tab.is-active .acehct-tabs__tab-arrow {
	opacity: 1;
}

.acehct-tabs__panels {
	min-width: 0;
}

.acehct-tabs__panel {
	display: none;
	min-height: 100%;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	background: #fff;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius-lg);
	box-shadow: var(--acehct-shadow);
}

.acehct-tabs__panel.is-active {
	display: block;
	animation: acehct-fade-up .2s ease both;
}

.acehct-tabs__panel h3 {
	margin-top: 0;
	color: var(--acehct-ink);
}

.acehct-tabs__panel p {
	color: var(--acehct-slate);
	line-height: 1.75;
}

/* Resources */
.acehct-resource {
	display: grid;
	grid-template-columns: repeat(var(--acehct-cols, 3), minmax(0, 1fr));
	gap: var(--acehct-gap, 1.5rem);
}

.acehct-resource__card {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--acehct-line);
	border-radius: var(--acehct-radius);
	transition: transform .25s ease, box-shadow .25s ease;
}

.acehct-resource__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--acehct-shadow);
}

.acehct-resource__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: .3rem .65rem;
	border-radius: 999px;
	background: #EAF6FC;
	color: var(--acehct-deep);
	font-size: .7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.acehct-resource__title {
	margin: .9rem 0 .45rem;
	color: var(--acehct-ink);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.35;
}

.acehct-resource__desc {
	margin: 0;
	color: var(--acehct-slate);
	font-size: .94rem;
	line-height: 1.65;
}

.acehct-resource__link {
	margin-top: auto;
	padding-top: 1rem;
}

/* Mobile */
@media (max-width: 1024px) {
	.acehct-split {
		grid-template-columns: 1fr;
	}
	.acehct-split--rev .acehct-split__text {
		order: 0;
	}
	.acehct-steps--horizontal {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
	.acehct-steps--horizontal .acehct-step:nth-child(2n)::after {
		display: none;
	}
	.acehct-stats__grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
	.acehct-stat:nth-child(3) {
		grid-column: 1 / -1;
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.18);
		padding-top: 1.5rem;
	}
	.acehct-stats--light .acehct-stat:nth-child(3) {
		border-top-color: var(--acehct-line);
	}
}

@media (max-width: 767px) {
	.acehct-hero {
		padding-block: 5rem 5.5rem;
	}
	.acehct-hero__title {
		font-size: clamp(2.3rem, 11vw, 3.35rem);
	}
	.acehct-hero__ctas {
		width: 100%;
	}
	.acehct-hero__ctas .acehct-btn {
		flex: 1 1 auto;
	}
	.acehct-steps--horizontal {
		grid-template-columns: 1fr;
	}
	.acehct-steps--horizontal .acehct-step::after {
		display: none;
	}
	.acehct-stats__grid {
		grid-template-columns: 1fr;
	}
	.acehct-stat,
	.acehct-stat:nth-child(3) {
		border: 0;
		padding: .75rem 0;
	}
	.acehct-team,
	.acehct-resource {
		grid-template-columns: 1fr;
	}
	.acehct-tabs__nav {
		overflow-x: auto;
		flex-wrap: nowrap;
	}
	.acehct-tabs__tab {
		white-space: nowrap;
	}
}

@media (max-width: 1024px) {
	.acehct-faq { grid-template-columns: 1fr; }
	.acehct-tabs__layout { grid-template-columns: 1fr; }
	.acehct-tabs__nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767px) {
	.acehct-tabs__nav { grid-template-columns: 1fr; }
	.acehct-faq__item { grid-template-columns: 38px minmax(0,1fr); padding: 1.25rem; }
	.acehct-faq__number { width: 36px; height: 36px; }
}



/* ============================================================
   Site Header
   ============================================================ */
.acehct-site-header {
	position: relative;
	z-index: 1000;
	background: #fff;
	color: var(--acehct-ink);
	font-family: inherit;
}

.acehct-site-header[data-acehct-header] {
	position: sticky;
	top: 0;
}

.acehct-announcement {
	background: #060D18;
	color: #DCE8F5;
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
}

.acehct-announcement .acehct-header-container {
	padding-top: .55rem;
	padding-bottom: .55rem;
}

.acehct-header-main {
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid #E3EAF2;
	transition: box-shadow .2s ease, background-color .2s ease;
}

.acehct-site-header.is-scrolled .acehct-header-main {
	background: rgba(255,255,255,.98);
	box-shadow: 0 8px 28px rgba(20,42,78,.08);
}

.acehct-header-container {
	width: 100%;
	max-width: 84rem;
	margin-inline: auto;
	padding: 0 clamp(1.25rem, 3vw, 2rem);
	box-sizing: border-box;
}

.acehct-header-main .acehct-header-container {
	min-height: 78px;
	padding-top: 12px;
	padding-bottom: 12px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}

.acehct-header__logo {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	color: var(--acehct-deep);
	text-decoration: none;
}

.acehct-header__logo img {
	display: block;
	width: 170px;
	height: auto;
	max-height: none;
	object-fit: contain;
}

.acehct-header__wordmark,
.acehct-footer__wordmark {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	color: var(--acehct-deep);
	text-decoration: none;
}

.acehct-header__wordmark strong,
.acehct-footer__wordmark strong {
	font-size: 1.55rem;
	font-weight: 800;
	letter-spacing: -.06em;
	line-height: 1;
}

.acehct-header__wordmark span,
.acehct-footer__wordmark span {
	max-width: 7.5rem;
	font-size: .64rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .035em;
	text-transform: uppercase;
	color: #4E6481;
}

.acehct-header__nav {
	flex: 1 1 auto;
	min-width: 0;
}

.acehct-header__nav > ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(.25rem, 1vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.acehct-header__nav > ul > li {
	position: relative;
}

.acehct-header__nav > ul > li > a {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: 1.85rem .35rem;
	color: #243B5D;
	font-size: .82rem;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: color .18s ease;
}

.acehct-header__nav > ul > li > a:hover,
.acehct-header__nav > ul > li:hover > a {
	color: var(--acehct-deep);
}

.acehct-header__nav > ul > li > a svg {
	width: 12px;
	height: 12px;
	transition: transform .18s ease;
}

.acehct-header__nav > ul > li:hover > a svg {
	transform: rotate(180deg);
}

.acehct-header__dropdown {
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	width: min(25rem, 86vw);
	padding-top: .5rem;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.acehct-header__nav > ul > li:hover .acehct-header__dropdown,
.acehct-header__nav > ul > li:focus-within .acehct-header__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.acehct-header__dropdown-inner {
	padding: .8rem;
	background: #fff;
	border: 1px solid #DCE5F0;
	border-radius: 18px;
	box-shadow: 0 22px 55px rgba(18,42,78,.14);
}

.acehct-header__dropdown-description {
	margin: .35rem .55rem .6rem;
	padding-bottom: .7rem;
	border-bottom: 1px solid #E8EEF5;
	color: #738198;
	font-size: .76rem;
	line-height: 1.55;
}

.acehct-header__dropdown-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .7rem .7rem;
	border-radius: 10px;
	color: #29415F;
	font-size: .84rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease;
}

.acehct-header__dropdown-link:hover {
	background: #F1F7FC;
	color: var(--acehct-deep);
}

.acehct-header__dropdown-link svg {
	width: 14px;
	height: 14px;
	flex: none;
	color: #9BA9BA;
	transition: transform .18s ease, color .18s ease;
}

.acehct-header__dropdown-link:hover svg {
	transform: translateX(3px);
	color: var(--acehct-sky-deep);
}

.acehct-header__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: .55rem;
}

.acehct-header__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	padding: .7rem .85rem;
	color: var(--acehct-deep);
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.acehct-header__secondary:hover {
	color: var(--acehct-sky-deep);
}

.acehct-header__primary {
	min-height: 43px;
	padding-inline: 1.05rem;
	font-size: .78rem;
	white-space: nowrap;
}

.acehct-header__toggle {
	display: none !important;
	margin-left: auto;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid #DCE5F0;
	border-radius: 11px;
	background: #fff;
	cursor: pointer;
}

.acehct-header__toggle > span:not(.screen-reader-text) {
	display: block;
	height: 2px;
	margin: 4px 0;
	background: var(--acehct-deep);
	border-radius: 2px;
}

.acehct-header__mobile {
	background: #fff;
	border-bottom: 1px solid #DCE5F0;
	box-shadow: 0 18px 35px rgba(20,42,78,.09);
}

.acehct-header__mobile-inner {
	max-width: 84rem;
	margin: auto;
	padding: .75rem clamp(1.25rem, 3vw, 2rem) 1.25rem;
}

.acehct-header__mobile details {
	border-bottom: 1px solid #E8EEF5;
}

.acehct-header__mobile summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 0;
	color: var(--acehct-ink);
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.acehct-header__mobile summary::-webkit-details-marker { display: none; }
.acehct-header__mobile summary svg { width: 15px; height: 15px; transition: transform .18s ease; }
.acehct-header__mobile details[open] summary svg { transform: rotate(180deg); }

.acehct-header__mobile-sub {
	display: grid;
	gap: .15rem;
	padding: 0 0 .8rem;
}

.acehct-header__mobile-sub a {
	padding: .6rem .25rem;
	color: #5E7088;
	font-size: .86rem;
	line-height: 1.4;
	text-decoration: none;
}

.acehct-header__mobile-sub a:hover { color: var(--acehct-deep); }

.acehct-header__mobile-cta {
	width: 100%;
	margin-top: 1rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ============================================================
   Site Footer
   ============================================================ */
.acehct-site-footer {
	color: #DCE6F2;
	background: #07111F;
	font-family: inherit;
}

.acehct-footer-container {
	width: 100%;
	max-width: 84rem;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 3vw, 2rem);
	box-sizing: border-box;
}

.acehct-footer__main {
	padding: clamp(4rem, 7vw, 6rem) 0 2rem;
}

.acehct-footer__grid {
	display: grid;
	grid-template-columns: minmax(19rem, 1.55fr) repeat(3, minmax(0, 1fr));
	gap: clamp(2.5rem, 6vw, 6rem);
}

.acehct-footer__brand {
	max-width: 25rem;
}

.acehct-footer__logo-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin-bottom: 1.4rem;
	padding: 12px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0,0,0,.10);
	box-sizing: border-box;
	text-decoration: none;
}
.acehct-footer__logo-box img {
	display: block;
	width: 185px;
	height: auto;
	max-width: 100%;
	max-height: 90px;
	object-fit: contain;
}


.acehct-footer__wordmark {
	color: #fff;
	margin-bottom: 1.35rem;
}

.acehct-footer__wordmark strong {
	color: #fff;
}

.acehct-footer__wordmark span {
	color: #9EB1C8;
}

.acehct-footer__brand p {
	margin: 0;
	color: #9FB0C5;
	font-size: .87rem;
	line-height: 1.8;
}

.acehct-footer__email {
	display: inline-block;
	margin-top: 1rem;
	color: #8DD6F2;
	font-size: .85rem;
	font-weight: 700;
	text-decoration: none;
}

.acehct-footer__group h3 {
	margin: .15rem 0 1rem;
	color: #fff;
	font-size: .82rem;
	font-weight: 750;
	letter-spacing: .02em;
}

.acehct-footer__group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.acehct-footer__group li + li {
	margin-top: .58rem;
}

.acehct-footer__group a {
	color: #96A8BD;
	font-size: .81rem;
	line-height: 1.45;
	text-decoration: none;
	transition: color .16s ease;
}

.acehct-footer__group a:hover {
	color: #fff;
}

.acehct-footer__notice {
	margin-top: 3.25rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 13px;
	background: rgba(255,255,255,.035);
	color: #899CB3;
	font-size: .74rem;
	line-height: 1.7;
}

.acehct-footer__notice strong {
	color: #C9D7E7;
}

.acehct-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.09);
}

.acehct-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 72px;
}

.acehct-footer__bottom-inner > span {
	color: #72859C;
	font-size: .72rem;
}

.acehct-footer__bottom-inner nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
}

.acehct-footer__bottom-inner nav a {
	color: #8294AA;
	font-size: .72rem;
	text-decoration: none;
}

.acehct-footer__bottom-inner nav a:hover { color: #fff; }

@media (max-width: 1200px) {
	.acehct-header__nav > ul { gap: .1rem; }
	.acehct-header__nav > ul > li > a { font-size: .76rem; }
	.acehct-header__secondary { display: none; }
}

@media (max-width: 1024px) {
	.acehct-header__nav,
	.acehct-header__actions { display: none; }
	.acehct-header__toggle { display: block; }
	.acehct-header-main .acehct-header-container {
		min-height: 70px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.acehct-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.acehct-footer__brand {
		grid-column: 1 / -1;
		max-width: 42rem;
	}
}

@media (max-width: 767px) {
	.acehct-footer__grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
		gap: 2rem 1.5rem;
	}
	.acehct-footer__brand {
		grid-column: 1 / -1;
	}
	.acehct-footer__bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		padding: 1.25rem 0;
	}
}


/* Editorial Differentiators */
.acehct-differentiators{width:100%;margin:0}
.acehct-differentiator{display:grid;grid-template-columns:5.5rem minmax(0,1fr);column-gap:clamp(1.25rem,3vw,3rem);padding:2.15rem 0;border-top:1px solid #DDE6EF}
.acehct-differentiator:last-child{border-bottom:1px solid #DDE6EF}
.acehct-differentiator__number{padding-top:.15rem;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:700;line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:#244A9A;transition:transform .2s ease}
.acehct-differentiator__content{display:grid;grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr);column-gap:clamp(2rem,6vw,7rem);align-items:start}
.acehct-differentiator__title{margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:720;line-height:1.35;color:#162D4F}
.acehct-differentiator__description{max-width:48rem;margin:0;font-size:.94rem;line-height:1.75;color:#60738C}
.acehct-differentiator:hover .acehct-differentiator__number{transform:translateX(3px)}
@media(max-width:767px){
	.acehct-differentiator{grid-template-columns:3.5rem minmax(0,1fr);column-gap:1rem;padding:1.6rem 0}
	.acehct-differentiator__content{display:block}
	.acehct-differentiator__description{margin-top:.55rem;font-size:.9rem;line-height:1.65}
}

/* Keep editorial differentiators centered inside Elementor's widget/column. */
[data-acehct-widget].acehct-differentiators {
	margin-inline: auto !important;
}


/* ============================================================
   Clinical & Responsible AI Governance
   ============================================================ */
.acehct-governance {
	--acehct-governance-accent: #2BB0E6;
	padding: clamp(4rem, 7vw, 7rem) 0;
	background: #F5F8FB;
}

.acehct-governance__header {
	max-width: 58rem;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.acehct-governance__heading {
	margin: .65rem 0 1.1rem;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.08;
	letter-spacing: -.04em;
}

.acehct-governance__intro {
	max-width: 50rem;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.8;
}

.acehct-governance__expertise {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid #D6E1EB;
	border-left: 1px solid #D6E1EB;
	background: #D6E1EB;
	gap: 1px;
}

.acehct-governance__expertise-item {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	min-height: 8rem;
	padding: 1.5rem;
	background: #fff;
	box-sizing: border-box;
}

.acehct-governance__dot {
	width: .55rem;
	height: .55rem;
	flex: 0 0 .55rem;
	margin-top: .4rem;
	border-radius: 50%;
	background: var(--acehct-governance-accent);
}

.acehct-governance__expertise-item h3 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.4;
	color: #162D4F;
}

.acehct-governance__expertise-item p {
	margin: .4rem 0 0;
	font-size: .85rem;
	line-height: 1.55;
	color: #60738C;
}


@media (max-width: 991px) {
	.acehct-governance__expertise {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.acehct-governance__expertise {
		grid-template-columns: 1fr;
	}

	.acehct-governance__expertise-item {
		min-height: auto;
		padding: 1.25rem;
	}

}


/* Comparison table: clean contained layout. The table is not a card and never escapes its Elementor container. */
.elementor-widget-acehct_comparison_table,
.elementor-widget-acehct_comparison_table .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

.acehct-table,
.acehct-table.acehct-table--full-bleed {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.acehct-table > .acehct-table__row {
	display: grid !important;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.29fr) !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.acehct-table > .acehct-table__row > .acehct-table__cell {
	min-width: 0 !important;
	max-width: 100% !important;
	width: auto !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.acehct-table > .acehct-table__row + .acehct-table__row {
	border-top: 1px solid var(--acehct-line);
}

.acehct-table > .acehct-table__row:nth-child(even) {
	background: #F8FAFD;
}

.acehct-table > .acehct-table__row:hover {
	background: #F1F7FC;
}

.acehct-table > .acehct-table__head {
	background: var(--acehct-deep);
}

.acehct-table > .acehct-table__head > .acehct-table__cell {
	background: transparent;
	color: #fff;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .78rem;
}

@media (max-width: 767px) {
	.acehct-table > .acehct-table__row {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.acehct-table > .acehct-table__row:not(.acehct-table__head) > .acehct-table__cell:first-child {
		padding-bottom: .45rem !important;
	}

	.acehct-table > .acehct-table__row:not(.acehct-table__head) > .acehct-table__cell + .acehct-table__cell {
		padding-top: .35rem !important;
	}
}

/* Final leadership avatar safety: photo remains circular and the blue/soft ring stays visible. */
.acehct-team .acehct-team__avatar {
	position: relative !important;
	width: 6.5rem !important;
	height: 6.5rem !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	padding: 4px !important;
	background: var(--acehct-sky) !important;
	box-shadow: 0 0 0 5px rgba(43,176,230,.14);
}

.acehct-team .acehct-team__avatar img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	border: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

/* Governance advisory expertise — compact chips, like the hero proof chips. */
.acehct-governance__expertise {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	border: 0;
	background: transparent;
}

.acehct-governance__expertise-item {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 0;
	padding: .55rem .85rem;
	border: 1px solid #D6E1EB;
	border-radius: 999px;
	background: #fff;
	box-sizing: border-box;
}

.acehct-governance__expertise-item h3 {
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.acehct-governance__dot {
	width: .4rem;
	height: .4rem;
	flex: 0 0 .4rem;
	margin-top: 0;
	border-radius: 50%;
	background: var(--acehct-governance-accent);
}

.acehct-governance__expertise-item p {
	display: none;
}

@media (max-width: 767px) {
	.acehct-governance__expertise {
		display: flex;
		grid-template-columns: none;
	}
	.acehct-governance__expertise-item {
		min-height: 0;
		padding: .5rem .75rem;
	}
}


/* ============================================================
   About: Our Story
   ============================================================ */
.acehct-story{padding:clamp(4rem,7vw,7rem) 0}
.acehct-story>.acehct-container{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,8rem)}
.acehct-story h2,.acehct-vision-mission h2,.acehct-ecosystem> .acehct-container>h2{margin:.65rem 0 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.04em;color:#162D4F}
.acehct-story__lead{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.65;color:#29445f;margin:0 0 1.5rem}
.acehct-story__copy{color:#60738C;font-size:1rem;line-height:1.8}
.acehct-story__copy p{margin:0 0 1.25rem}
.acehct-story__closing{margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid #DDE6EF;font-weight:600;line-height:1.7;color:#29445f}

/* Vision & Mission */
.acehct-vision-mission{padding:clamp(3rem,6vw,6rem) 0;background:#F5F8FB}
.acehct-vm-grid{display:grid;grid-template-columns:1fr 1fr}
.acehct-vm-panel{padding:clamp(2rem,5vw,4.5rem)}
.acehct-vm-panel:first-child{border-right:1px solid #D6E1EB}
.acehct-vm-panel h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.5rem 0 1.25rem}
.acehct-vm-panel p{margin:0;max-width:34rem;font-size:1.05rem;line-height:1.8;color:#60738C}

/* Ecosystem relationship */
.acehct-ecosystem{padding:clamp(4rem,7vw,7rem) 0}
.acehct-ecosystem> .acehct-container>h2{max-width:48rem;margin-bottom:3rem}
.acehct-ecosystem__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#D6E1EB;border:1px solid #D6E1EB}
.acehct-ecosystem__card{background:#fff;padding:clamp(2rem,4vw,3.5rem)}
.acehct-ecosystem__card.right{background:#F5F8FB}
.acehct-ecosystem__card h3{font-size:clamp(1.25rem,2vw,1.7rem);margin:0 0 .75rem;color:#162D4F}
.acehct-ecosystem__card p{margin:0 0 1.25rem;line-height:1.7;color:#60738C}
.acehct-ecosystem__card ul{display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none}
.acehct-ecosystem__card li{padding:.45rem .7rem;border:1px solid #D6E1EB;border-radius:999px;font-size:.8rem;color:#29445f;background:#fff}
.acehct-ecosystem__governance{max-width:58rem;margin:2rem auto 0;padding:1.5rem 2rem;border-left:3px solid #2BB0E6;background:#F5F8FB}
.acehct-ecosystem__governance p{margin:0;line-height:1.75;color:#526A82}

@media(max-width:767px){
	.acehct-story>.acehct-container,.acehct-vm-grid,.acehct-ecosystem__grid{grid-template-columns:1fr}
	.acehct-story>.acehct-container{gap:2.5rem}
	.acehct-vm-panel:first-child{border-right:0;border-bottom:1px solid #D6E1EB}
	.acehct-vm-panel{padding:2rem 0}
	.acehct-ecosystem__governance{padding:1.25rem}
}

/* Contact details */
.acehct-contact-details{width:100%;padding:clamp(1rem,1vw,1.5rem) 0}
.acehct-contact-details__inner{width:100%;max-width:100%;margin-inline:auto}
.acehct-contact-details__eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 .7rem;color:#244A9A;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.acehct-contact-details__eyebrow::before{content:"";width:30px;height:4px;border-radius:999px;background:linear-gradient(90deg,#244A9A 0 62%,#2BB0E6 62% 100%);flex:0 0 auto}
.acehct-contact-details__heading{margin:0 0 .9rem;color:var(--acehct-contact-heading-color,#162D4F);font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08;letter-spacing:-.035em}
.acehct-contact-details__intro{margin:0 0 2rem;max-width:34rem;color:var(--acehct-contact-text,#60738C);font-size:1rem;line-height:1.75}
.acehct-contact-details__locations{display:grid;gap:0;border-top:1px solid var(--acehct-contact-border,#D6E1EB);margin-top:1.5rem}
.acehct-contact-details__location{padding:1.15rem 0;border-bottom:1px solid var(--acehct-contact-border,#D6E1EB)}
.acehct-contact-details__label{margin:0 0 .35rem;color:#244A9A;font-size:.76rem;font-weight:800;letter-spacing:.02em}
.acehct-contact-details__address{color:var(--acehct-contact-text,#60738C);font-size:.95rem;line-height:1.65}
.acehct-contact-details__channels{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;margin-top:1.5rem}
.acehct-contact-details__channel{padding:.95rem 0;border-bottom:1px solid var(--acehct-contact-border,#D6E1EB);min-width:0}
.acehct-contact-details__value{display:inline-block;color:#244A9A;font-size:.92rem;line-height:1.55;text-decoration:none;overflow-wrap:anywhere}
.acehct-contact-details__value:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){.acehct-contact-details{padding:0}.acehct-contact-details__channels{grid-template-columns:1fr}.acehct-contact-details__heading{font-size:clamp(2rem,9vw,2.7rem)}}


/* Comparison table — clean column layout */
.elementor-widget-acehct_comparison_table,
.elementor-widget-acehct_comparison_table .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.acehct-table-shell {
	width: min(100%, 76rem) !important;
	max-width: 76rem !important;
	margin-inline: auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	overflow: visible !important;
}

.acehct-comparison-table-wrap {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	border: 1px solid #D7E1EB !important;
	border-radius: 16px !important;
	background: #FFFFFF !important;
}

.acehct-comparison-table {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
}

.acehct-comparison-table thead th {
	background-color: #244A9A !important;
	background: #244A9A !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: .02em !important;
	text-align: left !important;
	padding: 1rem 1.35rem !important;
	border: 0 !important;
	vertical-align: middle !important;
}

.acehct-comparison-table thead th:first-child {
	width: 34% !important;
	border-top-left-radius: 15px !important;
}

.acehct-comparison-table[data-columns="2"] thead th:last-child {
	width: 66% !important;
	border-top-right-radius: 15px !important;
}

.acehct-comparison-table[data-columns="3"] thead th:first-child {
	width: 28% !important;
}

.acehct-comparison-table[data-columns="3"] thead th:not(:first-child) {
	width: 36% !important;
}

.acehct-comparison-table tbody th,
.acehct-comparison-table tbody td {
	padding: 1.05rem 1.35rem !important;
	border: 0 !important;
	border-top: 1px solid #D7E1EB !important;
	vertical-align: top !important;
	text-align: left !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.acehct-comparison-table tbody th {
	color: #173A70 !important;
	font-size: .96rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.acehct-comparison-table tbody td {
	color: #536A84 !important;
	font-size: .95rem !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

.acehct-comparison-table tbody tr:nth-child(even) th,
.acehct-comparison-table tbody tr:nth-child(even) td {
	background: #F5F8FB !important;
}

.acehct-comparison-table tbody tr:hover th,
.acehct-comparison-table tbody tr:hover td {
	background: #EEF5FA !important;
}

.acehct-comparison-table tbody tr:last-child th:first-child {
	border-bottom-left-radius: 15px !important;
}

.acehct-comparison-table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 15px !important;
}

/* Keep the global header above page content if a theme/Elementor stacking context is present. */
.acehct-site-header {
	position: relative;
	z-index: 1000;
}
.acehct-site-header .acehct-header-main,
.acehct-site-header .acehct-announcement {
	position: relative;
	z-index: 1001;
}

@media (max-width: 767px) {
	.acehct-table-shell {
		width: 100% !important;
		max-width: 100% !important;
	}

	.acehct-comparison-table-wrap {
		border-radius: 12px !important;
	}

	.acehct-comparison-table,
	.acehct-comparison-table thead,
	.acehct-comparison-table tbody,
	.acehct-comparison-table tr,
	.acehct-comparison-table th,
	.acehct-comparison-table td {
		display: block !important;
		width: 100% !important;
	}

	.acehct-comparison-table thead {
		display: block !important;
	}

	.acehct-comparison-table thead tr {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.acehct-comparison-table thead th {
		width: 100% !important;
		padding: .8rem 1rem !important;
		border-radius: 0 !important;
	}

	.acehct-comparison-table thead th:not(:first-child) {
		display: none !important;
	}

	.acehct-comparison-table tbody tr {
		padding: 0 !important;
		border: 0 !important;
	}

	.acehct-comparison-table tbody th,
	.acehct-comparison-table tbody td {
		width: 100% !important;
		padding: .8rem 1rem !important;
		border-top: 0 !important;
	}

	.acehct-comparison-table tbody th {
		padding-bottom: .3rem !important;
		font-size: .95rem !important;
	}

	.acehct-comparison-table tbody td {
		padding-top: .2rem !important;
		padding-bottom: .9rem !important;
		border-bottom: 1px solid #D7E1EB !important;
	}

	.acehct-comparison-table tbody tr:last-child td:last-child {
		border-bottom: 0 !important;
	}
}

/* Privacy Policy */
.acehct-privacy-policy {
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: #fff;
	color: var(--acehct-privacy-body, #53677D);
}
.acehct-privacy-policy__inner {
	width: 100%;
	max-width: var(--acehct-privacy-max-width, 1120px);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 3vw, 2rem);
	box-sizing: border-box;
}
.acehct-privacy-policy h1 {
	margin: .45rem 0 .35rem;
	color: #162D4F;
	font-size: clamp(2.25rem, 4.5vw, 4rem);
	line-height: 1.05;
	letter-spacing: -.035em;
}
.acehct-privacy-policy__updated {
	margin: 0 0 2.75rem;
	color: #7A8DA3;
	font-size: .85rem;
}
.acehct-privacy-policy__content {
	max-width: 900px;
	font-size: 1rem;
	line-height: 1.8;
}
.acehct-privacy-policy__content h2,
.acehct-privacy-policy__contact h2 {
	margin: 2.75rem 0 .8rem;
	padding-top: 1.4rem;
	border-top: 1px solid #E1E8F0;
	color: #162D4F;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.25;
}
.acehct-privacy-policy__content h2:first-child { margin-top: 0; }
.acehct-privacy-policy__content p { margin: 0 0 1.05rem; }
.acehct-privacy-policy__content ul { margin: 0 0 1.2rem; padding-left: 1.25rem; }
.acehct-privacy-policy__content li { margin: .5rem 0; padding-left: .15rem; }
.acehct-privacy-policy__content a,
.acehct-privacy-policy__contact a { color: var(--acehct-privacy-accent, #244A9A); text-decoration: underline; text-underline-offset: 2px; }
.acehct-privacy-policy__contact {
	max-width: 900px;
	margin-top: 1rem;
}
.acehct-privacy-policy__contact > div {
	padding: 1rem 0;
	border-bottom: 1px solid #E1E8F0;
}
.acehct-privacy-policy__contact strong { color: #244A9A; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.acehct-privacy-policy__contact p { margin: .25rem 0 0; line-height: 1.6; }

/* Footer groups adapt to the number of visible navigation groups. */
.acehct-footer__grid--groups-1 { grid-template-columns: minmax(19rem, 1.55fr) minmax(0, 1fr); }
.acehct-footer__grid--groups-2 { grid-template-columns: minmax(19rem, 1.25fr) repeat(2, minmax(0, 1fr)); }
.acehct-footer__grid--groups-3 { grid-template-columns: minmax(19rem, 1.35fr) repeat(3, minmax(0, 1fr)); }

@media (max-width: 1024px) {
	.acehct-footer__grid--groups-1,
	.acehct-footer__grid--groups-2,
	.acehct-footer__grid--groups-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.acehct-footer__grid--groups-1,
	.acehct-footer__grid--groups-2,
	.acehct-footer__grid--groups-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
