/* Illusion Hero Banner for Elementor v1.2.6 - frontend styles. Lightweight CSS only, no JS dependency. */
.elementor-widget-illusion_hero_banner,
.elementor-widget-illusion_hero_banner .elementor-widget-container {
	width: 100%;
}

/* TCEB horizontal mission cards */
.ihb-mission{width:100%;max-width:1280px;margin-inline:auto}.ihb-mission,.ihb-mission *{box-sizing:border-box}.ihb-mission__head{text-align:center;margin-bottom:42px}.ihb-mission__eyebrow{margin-bottom:12px;color:#071f58;font-size:28px;font-weight:800}.ihb-mission__heading{margin:0;color:#60718f;font-size:22px;font-weight:700}.ihb-mission-grid{--ihb-mission-cols:2;display:grid;grid-template-columns:repeat(var(--ihb-mission-cols),minmax(0,1fr));gap:24px}.ihb-mission-card{display:flex;align-items:center;gap:28px;min-width:0;padding:24px;background:#fff;border:1px solid #e0eaf8;border-radius:22px;overflow:hidden}.ihb-mission-card__media{flex:0 0 34%;width:34%;height:190px;overflow:hidden;border-radius:16px;background:#eef7ff}.ihb-mission-card__media img{display:block;width:100%;height:100%;object-fit:cover}.ihb-mission-card__content{flex:1;min-width:0}.ihb-mission-card__title{margin:0 0 14px;color:#071f58;font-size:25px;font-weight:800;line-height:1.25}.ihb-mission-card__description{color:#263c63;font-size:17px;font-weight:500;line-height:1.75;overflow-wrap:anywhere}
@media(max-width:1024px){.ihb-mission-grid{--ihb-mission-cols:1}.ihb-mission-card__media{height:170px}}
@media(max-width:767px){.ihb-mission__head{margin-bottom:28px}.ihb-mission-card{align-items:stretch;gap:18px;padding:18px}.ihb-mission-card__media{flex-basis:34%;width:34%;height:140px}.ihb-mission-card__title{font-size:21px}.ihb-mission-card__description{font-size:15px;line-height:1.65}}
@media(max-width:479px){.ihb-mission-card{flex-direction:column}.ihb-mission-card__media{width:100%;flex-basis:auto;height:190px}.ihb-mission-card__content{width:100%}}
.ihb-mission-card__media img{max-width:100%;object-fit:contain;object-position:center center}
.ihb-mission-card{align-items:center}
.ihb-mission-card__media{min-width:100px;flex-shrink:0;align-self:center}
.ihb-mission-card__content{display:flex;flex-direction:column;justify-content:center;align-self:stretch}
@media(max-width:767px){.ihb-mission-card{align-items:center}.ihb-mission-card__media{min-width:100px;align-self:center}.ihb-mission-card__content{justify-content:center}}
.ihb-tceb-hero--full-bg{background-repeat:no-repeat;background-position:center center;background-size:cover}
.ihb-tceb-hero--full-bg .ihb-tceb-hero__inner{grid-template-columns:1fr}
.ihb-tceb-hero--full-bg .ihb-tceb-hero__visual{display:none}
.ihb-tceb-hero--full-bg .ihb-tceb-hero__content{position:relative;z-index:1}
.ihb-tceb-hero--full-bg{--ihb-bg-x:50%;--ihb-bg-y:50%;background-position:var(--ihb-bg-x) var(--ihb-bg-y)!important}

.ic-hero-banner {
	--ic-bg-size-mode: cover;
	--ic-bg-custom-scale: 120%;
	--ic-bg-pos-x: 50%;
	--ic-bg-pos-y: 50%;
	--ic-overlay-start: rgba(2, 6, 23, 0.92);
	--ic-overlay-end: rgba(2, 6, 23, 0.20);
	--ic-overlay-angle: 90deg;
	--ic-title-1-start: #ffffff;
	--ic-title-1-end: #dbeafe;
	--ic-title-1-angle: 90deg;
	--ic-title-2-start: #2563ff;
	--ic-title-2-end: #22d3ee;
	--ic-title-2-angle: 90deg;
	--ic-desc-start: #e5edf9;
	--ic-desc-end: #93a4bd;
	--ic-desc-angle: 90deg;
	--ic-title-1-line-height: 0.95;
	--ic-title-2-line-height: 1.10;
	--ic-title-1-letter-spacing: -0.055em;
	--ic-title-2-letter-spacing: -0.035em;
	--ic-title-thai-pad-top: 0.06em;
	--ic-title-thai-pad-bottom: 0.08em;
	--ic-title-fixed-size: 96px;
	--ic-title-mobile-min: 38px;
	--ic-title-mobile-vw: 12.5vw;
	--ic-title-mobile-max: 62px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	min-height: 78vh;
	background: radial-gradient(circle at 72% 28%, rgba(18, 114, 255, 0.22), transparent 35%), linear-gradient(135deg, #020617 0%, #061224 100%);
}

.ic-hero-bg,
.ic-hero-overlay,
.ic-hero-noise {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ic-hero-bg {
	z-index: -3;
	background-repeat: no-repeat;
	background-size: var(--ic-bg-size-mode);
	background-position: var(--ic-bg-pos-x) var(--ic-bg-pos-y);
	transform: translateZ(0);
	will-change: auto;
}

.ic-hero-overlay {
	z-index: -2;
	background: linear-gradient(var(--ic-overlay-angle), var(--ic-overlay-start) 0%, rgba(2, 6, 23, 0.65) 46%, var(--ic-overlay-end) 100%);
}

.ic-hero-noise {
	z-index: -1;
	background:
		radial-gradient(circle at 8% 12%, rgba(14, 165, 255, 0.14), transparent 18%),
		radial-gradient(circle at 90% 88%, rgba(79, 70, 229, 0.18), transparent 26%),
		linear-gradient(90deg, rgba(125, 210, 255, 0.12) 0 1px, transparent 1px 100%);
	background-size: auto, auto, 160px 160px;
	mix-blend-mode: screen;
	opacity: 0.62;
}

.ic-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	min-height: inherit;
	padding: 96px 64px;
}

.ic-hero-content {
	position: relative;
	z-index: 2;
	max-width: 760px;
	text-align: left;
	overflow: visible;
}

.ic-hero-title {
	margin: 0 0 24px;
	padding: 0;
	font-family: inherit;
	font-size: clamp(48px, 7vw, 118px);
	font-weight: 800;
	line-height: var(--ic-title-1-line-height);
	letter-spacing: var(--ic-title-1-letter-spacing);
	overflow: visible;
}

.ic-hero-title-part {
	display: block;
	width: fit-content;
	max-width: 100%;
	line-height: inherit;
	padding-top: 0;
	padding-bottom: 0;
	overflow: visible;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-wrap: balance;
}

.ic-hero-title-part-1 {
	background-image: linear-gradient(var(--ic-title-1-angle), var(--ic-title-1-start), var(--ic-title-1-end));
	color: var(--ic-title-1-start);
}

.ic-hero-title-part-2 {
	background-image: linear-gradient(var(--ic-title-2-angle), var(--ic-title-2-start), var(--ic-title-2-end));
	color: var(--ic-title-2-start);
}

.ic-hero-description {
	max-width: 860px;
	margin: 0 0 40px;
	font-family: inherit;
	font-size: clamp(16px, 1.6vw, 24px);
	font-weight: 400;
	line-height: 1.55;
	background-image: linear-gradient(var(--ic-desc-angle), var(--ic-desc-start), var(--ic-desc-end));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--ic-desc-start);
}

.ic-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px;
}

.ic-hero-btn {
	--ic-btn-text: #ffffff;
	--ic-btn-bg-start: #0ea5ff;
	--ic-btn-bg-end: #2563ff;
	--ic-btn-border: rgba(125, 210, 255, 0.55);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	box-sizing: border-box;
	padding: 18px 28px;
	border: 1px solid var(--ic-btn-border);
	border-radius: 14px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	color: var(--ic-btn-text) !important;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.ic-hero-btn--filled {
	background: linear-gradient(135deg, var(--ic-btn-bg-start), var(--ic-btn-bg-end));
	box-shadow: 0 0 0 1px rgba(255,255,255,0.08) inset, 0 16px 40px rgba(14,165,255,0.24), 0 0 26px rgba(14,165,255,0.16);
}

.ic-hero-btn--outline {
	background: linear-gradient(135deg, var(--ic-btn-bg-start), var(--ic-btn-bg-end));
	box-shadow: 0 0 0 1px rgba(255,255,255,0.04) inset, 0 10px 28px rgba(15,23,42,0.24);
	backdrop-filter: blur(12px);
}

.ic-hero-btn:hover,
.ic-hero-btn:focus {
	transform: translateY(-2px);
	box-shadow: 0 0 0 1px rgba(255,255,255,0.12) inset, 0 20px 54px rgba(14,165,255,0.32), 0 0 34px rgba(14,165,255,0.24);
}

.ic-hero-btn:focus-visible {
	outline: 2px solid rgba(125, 210, 255, 0.95);
	outline-offset: 3px;
}

.ic-hero-btn-arrow {
	font-size: 1.2em;
	line-height: 1;
	transition: transform 180ms ease;
}

.ic-hero-btn:hover .ic-hero-btn-arrow,
.ic-hero-btn:focus .ic-hero-btn-arrow {
	transform: translateX(4px);
}

@media (max-width: 1024px) {
	.ic-hero-inner {
		padding: 80px 40px;
	}

	.ic-hero-title {
		font-size: clamp(44px, 9vw, 88px);
	}
}

@media (max-width: 767px) {
	.ic-hero-banner {
		min-height: 620px;
	}

	.ic-hero-inner {
		padding: 72px 24px;
	}

	.ic-hero-title {
		font-size: clamp(40px, 13vw, 64px);
		letter-spacing: -0.035em;
	}

	.ic-hero-description {
		font-size: 16px;
	}

	.ic-hero-buttons {
		width: 100%;
	}

	.ic-hero-btn {
		width: 100%;
		min-width: 0;
	}
}

/* Illusion Service Cards */
.ihb-service-grid {
	--ihb-card-columns: 6;
	display: grid;
	grid-template-columns: repeat(var(--ihb-card-columns), minmax(0, 1fr));
	gap: 18px;
	width: 100%;
}

.ihb-service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	color: inherit;
	background: rgba(3, 10, 26, 0.74);
	border: 1px solid rgba(120, 170, 255, 0.22);
	border-radius: 18px;
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
	isolation: isolate;
}

.ihb-service-card:hover,
.ihb-service-card:focus-visible {
	transform: translateY(-4px);
	border-color: rgba(37, 183, 255, 0.66);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.38), 0 0 28px rgba(37, 183, 255, 0.16);
	outline: none;
}

.ihb-service-card--has-link {
	cursor: pointer;
}

.ihb-service-card__link-overlay {
	position: absolute;
	inset: 0;
	z-index: 8;
	display: block;
	border-radius: inherit;
	text-decoration: none !important;
	color: inherit;
}

.ihb-service-card__link-overlay:hover,
.ihb-service-card__link-overlay:focus,
.ihb-service-card__link-overlay:visited {
	text-decoration: none !important;
	color: inherit;
}

.ihb-service-card__link-overlay:focus-visible {
	outline: 2px solid rgba(125, 210, 255, 0.95);
	outline-offset: -4px;
}


.ihb-service-card,
.ihb-service-card__content,
.ihb-service-card__content *,
.ihb-service-card__title,
.ihb-service-card__description {
	text-decoration: none !important;
}

.ihb-service-card__title a,
.ihb-service-card__description a {
	text-decoration: none !important;
	color: inherit;
}


.ihb-service-card--featured {
	--ihb-featured-glow: #24b7ff;
	border-color: rgba(120, 100, 255, 0.72);
	box-shadow: 0 26px 80px rgba(0, 0, 0, 0.36), 0 0 30px color-mix(in srgb, var(--ihb-featured-glow) 44%, transparent), inset 0 0 34px rgba(75, 84, 255, 0.18);
}

.ihb-service-card--featured::before {
	content: '';
	position: absolute;
	inset: -1px;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(142, 92, 255, .86), rgba(36, 183, 255, .86));
	opacity: .38;
}

.ihb-service-card__media {
	position: relative;
	z-index: 1;
	height: 160px;
	overflow: hidden;
	background: radial-gradient(circle at 50% 35%, rgba(37, 183, 255, .22), rgba(3, 10, 26, 0) 56%), #020817;
}

.ihb-service-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	opacity: .86;
	transition: transform .45s ease, opacity .25s ease;
}

.ihb-service-card:hover .ihb-service-card__image,
.ihb-service-card:focus-visible .ihb-service-card__image {
	transform: scale(1.055);
	opacity: .98;
}

.ihb-service-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(2, 7, 20, .08) 0%, rgba(2, 7, 20, .28) 45%, rgba(2, 7, 20, .9) 100%);
	pointer-events: none;
}

.ihb-service-card__placeholder {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 30% 30%, rgba(37, 183, 255, .28), transparent 34%),
		linear-gradient(135deg, rgba(13, 48, 115, .72), rgba(5, 11, 30, .94));
}

.ihb-service-card__icon {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 1px solid rgba(140, 180, 255, .40);
	border-radius: 14px;
	background: rgba(3, 10, 26, .54);
	backdrop-filter: blur(8px);
	box-shadow: 0 0 22px rgba(40, 130, 255, .12), inset 0 0 18px rgba(255, 255, 255, .03);
}

.ihb-service-card__icon svg {
	width: 58%;
	height: 58%;	
	stroke: #fff;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ihb-service-card__badge {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1;
	color: #fff;
	background: linear-gradient(135deg, rgba(127, 92, 255, .92), rgba(36, 183, 255, .72));
	box-shadow: 0 0 18px rgba(103, 92, 255, .38);
	text-transform: uppercase;
}

.ihb-service-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px;
	padding-top: 24px;
}

.ihb-service-card__title {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(19px, 1.45vw, 26px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.03em;
	text-decoration: none;
}

.ihb-service-card__description {
	margin: 0;
	color: rgba(232, 240, 255, .78);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	text-decoration: none;
}

.ihb-service-card__arrow {
	position: absolute;
	right: 22px;
	bottom: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(170, 210, 255, .25);
	border-radius: 999px;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	background: rgba(6, 15, 36, .34);
	transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.ihb-service-card:hover .ihb-service-card__arrow,
.ihb-service-card:focus-visible .ihb-service-card__arrow {
	transform: translateX(4px);
	border-color: rgba(37, 183, 255, .72);
	background: rgba(37, 183, 255, .16);
}

@media (max-width: 1024px) {
	.ihb-service-grid {
		--ihb-card-columns: 3;
	}
}

@media (max-width: 767px) {
	.ihb-service-grid {
		--ihb-card-columns: 2;
		gap: 14px;
	}

	.ihb-service-card {
		min-height: 0;
	}

	.ihb-service-card__media {
		height: 132px;
	}

	.ihb-service-card__content {
		padding: 18px;
		padding-top: 16px;
	}

	.ihb-service-card__title {
		margin-bottom: 10px;
		font-size: clamp(18px, 5vw, 24px);
	}

	.ihb-service-card__description {
		font-size: 13.5px;
		line-height: 1.45;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		overflow: hidden;
	}

	.ihb-service-card__icon {
		top: 14px;
		left: 14px;
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}

	.ihb-service-card__badge {
		top: 14px;
		right: 14px;
		padding: 5px 10px;
		font-size: 10px;
		max-width: calc(100% - 28px);
	}

	.ihb-service-card__arrow {
		right: 18px;
		bottom: 18px;
		width: 38px;
		height: 38px;
		font-size: 22px;
	}
}

@media (max-width: 480px) {
	.ihb-service-grid {
		gap: 12px;
	}

	.ihb-service-card__media {
		height: 120px;
	}

	.ihb-service-card__content {
		padding: 16px;
		padding-top: 14px;
	}

	.ihb-service-card__description {
		-webkit-line-clamp: 3;
	}
}

/* Illusion homepage section widgets v1.2.0 */
.ihb-section,
.ihb-feature,
.ihb-cta-panel {
	box-sizing: border-box;
	width: 100%;
	color: #fff;
	font-family: inherit;
}

.ihb-section *,
.ihb-feature *,
.ihb-cta-panel * { box-sizing: border-box; }

.ihb-section {
	padding: clamp(48px, 6vw, 96px) 0;
	background:
		radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .10), transparent 34%),
		linear-gradient(180deg, rgba(2, 8, 23, .98), rgba(2, 8, 23, .94));
}

.ihb-section__head {
	max-width: 920px;
	margin: 0 auto clamp(28px, 4vw, 54px);
	padding: 0 20px;
	text-align: center;
}

.ihb-section__eyebrow {
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .13em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #22d3ee;
}

.ihb-section__title {
	margin: 0;
	color: #fff;
	font-size: clamp(30px, 4vw, 56px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.04em;
}

.ihb-section__desc {
	max-width: 740px;
	margin: 14px auto 0;
	color: rgba(232, 244, 255, .78);
	font-size: clamp(15px, 1.4vw, 20px);
	line-height: 1.7;
}

.ihb-section__mark,
.ihb-feature__mark,
.ihb-cta-panel__mark {
	display: block;
	width: 42px;
	height: 3px;
	margin: 18px auto 0;
	border-radius: 99px;
	background: currentColor;
	box-shadow: 0 0 22px currentColor;
	color: #22d3ee;
}

.ihb-card-link-overlay {
	position: absolute;
	inset: 0;
	z-index: 9;
	border-radius: inherit;
	text-decoration: none !important;
	color: inherit;
}

.ihb-card-link-overlay:hover,
.ihb-card-link-overlay:focus,
.ihb-card-link-overlay:visited { text-decoration: none !important; color: inherit; }
.ihb-card-link-overlay:focus-visible { outline: 2px solid rgba(125, 210, 255, .92); outline-offset: -5px; }

/* Selected Works */
.ihb-works-grid {
	--ihb-works-columns: 3;
	display: grid;
	grid-template-columns: repeat(var(--ihb-works-columns), minmax(0, 1fr));
	gap: 18px;
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.ihb-work-card {
	position: relative;
	overflow: hidden;
	min-width: 0;
	border: 1px solid rgba(34, 211, 238, .28);
	border-radius: 18px;
	background: rgba(3, 10, 26, .82);
	box-shadow: 0 22px 64px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
	isolation: isolate;
}

.ihb-work-card:hover,
.ihb-work-card:focus-within {
	transform: translateY(-4px);
	border-color: rgba(34, 211, 238, .72);
	box-shadow: 0 30px 76px rgba(0,0,0,.42), 0 0 34px rgba(34,211,238,.14);
}

.ihb-work-card__image-wrap {
	position: relative;
	height: 260px;
	overflow: hidden;
	background: #020817;
}

.ihb-work-card__image,
.ihb-feature__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ihb-work-card__image { opacity: .9; transition: transform .45s ease, opacity .25s ease; }
.ihb-work-card:hover .ihb-work-card__image { transform: scale(1.055); opacity: 1; }

.ihb-work-card__image-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(2,7,20,.04) 0%, rgba(2,7,20,.20) 42%, rgba(2,7,20,.84) 100%);
	pointer-events: none;
}

.ihb-work-card__placeholder {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 40% 30%, rgba(34, 211, 238, .20), transparent 36%), linear-gradient(135deg, #061b3a, #020817);
}

.ihb-work-card__body {
	position: relative;
	min-height: 96px;
	padding: 22px 72px 22px 24px;
}

.ihb-work-card__title,
.ihb-work-card__desc {
	margin: 0;
	text-decoration: none !important;
}

.ihb-work-card__title {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.ihb-work-card__desc {
	margin-top: 8px;
	color: rgba(232,244,255,.72);
	font-size: 14px;
	line-height: 1.55;
}

.ihb-work-card__arrow {
	position: absolute;
	right: 18px;
	bottom: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(170,210,255,.30);
	border-radius: 999px;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	background: rgba(6, 15, 36, .34);
	transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.ihb-work-card:hover .ihb-work-card__arrow { transform: translateX(4px); background: rgba(34,211,238,.12); }

/* Why */
.ihb-why-grid {
	--ihb-why-columns: 2;
	display: grid;
	grid-template-columns: repeat(var(--ihb-why-columns), minmax(0, 1fr));
	gap: 20px;
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

.ihb-why-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 22px;
	align-items: center;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid rgba(34, 211, 238, .25);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(4, 18, 42, .86), rgba(2, 9, 24, .76));
	box-shadow: 0 18px 50px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05);
}

.ihb-why-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border: 1px solid rgba(34, 211, 238, .26);
	border-radius: 16px;
	color: #22d3ee;
	background: rgba(7, 25, 55, .68);
	box-shadow: inset 0 0 28px rgba(34,211,238,.08), 0 0 24px rgba(34,211,238,.08);
}

.ihb-why-card__icon svg { width: 58%; height: 58%; }
.ihb-why-card__title { margin: 0 0 8px; color: #fff; font-size: 22px; font-weight: 800; line-height: 1.25; }
.ihb-why-card__desc { margin: 0; color: rgba(232,244,255,.78); font-size: 15px; line-height: 1.65; }

/* Workflow */
.ihb-flow-grid {
	--ihb-flow-columns: 6;
	display: grid;
	grid-template-columns: repeat(var(--ihb-flow-columns), minmax(0, 1fr));
	gap: 14px;
	width: min(1200px, calc(100% - 40px));
	margin: 0 auto;
}

.ihb-flow-step {
	position: relative;
	padding: 56px 18px 24px;
	min-height: 245px;
	border: 1px solid rgba(34, 211, 238, .28);
	border-radius: 16px;
	text-align: center;
	background: linear-gradient(180deg, rgba(4,18,42,.82), rgba(2,8,23,.75));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 48px rgba(0,0,0,.24);
}

.ihb-flow-step__num {
	position: absolute;
	top: -28px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 2px solid rgba(34,211,238,.55);
	border-radius: 999px;
	color: #fff;
	background: rgba(4, 18, 42, .92);
	font-size: 24px;
	font-weight: 800;
	box-shadow: 0 0 22px rgba(34,211,238,.22);
}

.ihb-flow-step__icon { display: inline-flex; width: 62px; height: 62px; margin-bottom: 18px; color: #22d3ee; }
.ihb-flow-step__icon svg { width: 100%; height: 100%; }
.ihb-flow-step__title { margin: 0 0 12px; color: #fff; font-size: 15px; font-weight: 800; line-height: 1.35; }
.ihb-flow-step__desc { margin: 0; color: rgba(232,244,255,.72); font-size: 13px; line-height: 1.55; }

/* Feature highlight */
.ihb-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	width: min(1200px, calc(100% - 40px));
	margin: clamp(48px, 6vw, 96px) auto;
	padding: clamp(20px, 3vw, 34px);
	border: 1px solid rgba(34, 211, 238, .28);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(4, 18, 42, .88), rgba(2, 8, 23, .88));
	box-shadow: 0 26px 76px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
	overflow: hidden;
}
.ihb-feature--reverse .ihb-feature__media { order: 2; }
.ihb-feature--reverse .ihb-feature__content { order: 1; }
.ihb-feature__media { position: relative; overflow: hidden; min-height: 360px; border-radius: 18px; background: #020817; }
.ihb-feature__placeholder { position: absolute; inset: 0; background: radial-gradient(circle at 30% 50%, rgba(34,211,238,.22), transparent 35%), linear-gradient(135deg, #061b3a, #020817); }
.ihb-feature__media::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(2,8,23,.04), rgba(2,8,23,.42)); pointer-events:none; }
.ihb-feature__eyebrow { margin-bottom: 10px; color: #22d3ee; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ihb-feature__title { margin: 0; color: #fff; font-size: clamp(30px, 4vw, 54px); font-weight: 850; line-height: 1.12; letter-spacing: -0.04em; }
.ihb-feature__mark { margin: 18px 0 0; }
.ihb-feature__desc { margin: 28px 0 0; color: rgba(232,244,255,.82); font-size: clamp(16px, 1.5vw, 20px); line-height: 1.75; }
.ihb-feature__buttons { display:flex; flex-wrap: wrap; gap:16px; margin-top: 32px; }
.ihb-feature__button,
.ihb-cta-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding: 16px 24px; border:1px solid rgba(34,211,238,.36); border-radius:12px; color:#fff !important; text-decoration:none !important; font-weight:800; line-height:1; transition:transform .22s ease, box-shadow .22s ease, background .22s ease; }
.ihb-button-primary { background: linear-gradient(135deg, #22d3ee, #1677ff); box-shadow: 0 16px 42px rgba(34,211,238,.24); }
.ihb-button-outline { background: rgba(3, 10, 26, .34); backdrop-filter: blur(10px); }
.ihb-feature__button:hover,
.ihb-cta-button:hover { transform: translateY(-2px); box-shadow: 0 20px 52px rgba(34,211,238,.28); }

/* CTA */
.ihb-cta-panel {
	position: relative;
	width: min(1200px, calc(100% - 40px));
	margin: clamp(48px, 6vw, 96px) auto;
	padding: clamp(44px, 6vw, 84px) 24px;
	border: 1px solid rgba(34, 211, 238, .32);
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(5, 25, 62, .64), rgba(2, 8, 23, .90)),
		var(--ihb-cta-bg, none),
		radial-gradient(circle at 50% 0%, rgba(34,211,238,.28), transparent 38%),
		#020817;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	box-shadow: 0 0 52px rgba(34,211,238,.16), inset 0 1px 0 rgba(255,255,255,.06);
}
.ihb-cta-panel::before { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(34,211,238,.12) 0 1px, transparent 1px 100%), linear-gradient(0deg, rgba(34,211,238,.10) 0 1px, transparent 1px 100%); background-size: 72px 72px; opacity:.28; pointer-events:none; }
.ihb-cta-panel__inner { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; text-align:center; }
.ihb-cta-panel__title { margin:0; color:#fff; font-size: clamp(34px, 5vw, 70px); font-weight: 850; line-height: 1.1; letter-spacing: -.05em; }
.ihb-cta-panel__desc { margin: 24px auto 0; max-width: 760px; color: rgba(232,244,255,.84); font-size: clamp(16px, 1.8vw, 22px); line-height: 1.7; }
.ihb-cta-panel__buttons { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin-top: 34px; }
.ihb-cta-button { min-width: 220px; }
.ihb-cta-button__icon { display:inline-flex; width:24px; height:24px; }
.ihb-cta-button__icon svg { width:100%; height:100%; }

@media (max-width: 1024px) {
	.ihb-flow-grid { --ihb-flow-columns: 3; row-gap: 46px; }
}

@media (max-width: 767px) {
	.ihb-section { padding: 54px 0; }
	.ihb-works-grid { --ihb-works-columns: 1; width: min(100% - 28px, 520px); }
	.ihb-why-grid { --ihb-why-columns: 1; width: min(100% - 28px, 580px); }
	.ihb-flow-grid { --ihb-flow-columns: 2; gap: 14px; row-gap: 44px; width: min(100% - 28px, 620px); }
	.ihb-feature { grid-template-columns: 1fr; width: min(100% - 28px, 620px); margin: 54px auto; }
	.ihb-feature--reverse .ihb-feature__media { order: 1; }
	.ihb-feature--reverse .ihb-feature__content { order: 2; }
	.ihb-feature__media { min-height: 260px; }
	.ihb-cta-panel { width: min(100% - 28px, 620px); }
	.ihb-cta-button { width: 100%; min-width: 0; }
}

@media (max-width: 480px) {
	.ihb-flow-grid { --ihb-flow-columns: 1; }
	.ihb-why-card { grid-template-columns: 1fr; text-align: center; }
	.ihb-why-card__icon { margin: 0 auto; }
	.ihb-work-card__image-wrap { height: 220px; }
}


/* v1.2.6 Thai safe clipping patch:
   Keep the hero background container clipped, but allow only text to breathe. */
.ic-hero-banner {
	overflow: hidden;
}

.ic-hero-inner,
.ic-hero-content,
.ic-hero-title,
.ic-hero-title-part {
	overflow: visible;
}

.ihb-thai-font-fix-yes .ic-hero-title,
.ihb-thai-font-fix-yes .ic-hero-title-part {
	line-height: var(--ic-title-line-height, 1.10);
}

.ihb-thai-font-fix-yes .ic-hero-title-part {
	padding-top: var(--ic-title-thai-pad-top, 0.06em);
	padding-bottom: var(--ic-title-thai-pad-bottom, 0.08em);
}

.ihb-thai-font-fix-yes .ic-hero-title {
	letter-spacing: var(--ic-title-letter-spacing, -0.035em);
}

/* prevent huge Thai heading from being cut by text-gradient rendering */
.ihb-thai-font-fix-yes .ic-hero-title-part-1,
.ihb-thai-font-fix-yes .ic-hero-title-part-2 {
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}


/* v1.2.6 compact English + safe Thai heading:
   Part 1 keeps tight English line-height, Part 2 gets Thai-safe breathing room. */
.ihb-thai-font-fix-yes .ic-hero-title {
	line-height: var(--ic-title-1-line-height, 0.95);
	letter-spacing: var(--ic-title-1-letter-spacing, -0.055em);
}

.ihb-thai-font-fix-yes .ic-hero-title-part-1 {
	line-height: var(--ic-title-1-line-height, 0.95);
	letter-spacing: var(--ic-title-1-letter-spacing, -0.055em);
	padding-top: 0;
	padding-bottom: 0;
}

.ihb-thai-font-fix-yes .ic-hero-title-part-2 {
	line-height: var(--ic-title-2-line-height, 1.10);
	letter-spacing: var(--ic-title-2-letter-spacing, -0.035em);
	padding-top: var(--ic-title-thai-pad-top, 0.06em);
	padding-bottom: var(--ic-title-thai-pad-bottom, 0.08em);
}

/* v1.2.6: Fit large Thai hero headings better inside first screen. */
.ihb-thai-auto-fit-yes .ic-hero-inner {
	padding-top: clamp(40px, 6vh, 72px) !important;
	padding-bottom: clamp(40px, 6vh, 72px) !important;
}

.ihb-thai-auto-fit-yes .ic-hero-title {
	margin-bottom: clamp(10px, 1.8vw, 20px) !important;
}

.ihb-thai-auto-fit-yes .ic-hero-title-part-2 {
	margin-top: -0.02em;
}

.ic-hero-banner--no-buttons .ic-hero-description {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.ihb-thai-auto-fit-yes .ic-hero-inner {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}
}


/* v1.2.6: Fixed title size mode now uses a CSS variable, so the mobile auto-reduce rule can override it safely. */
.ihb-title-size-fixed .ic-hero-title,
.ihb-title-size-fixed .ic-hero-title-part {
	font-size: var(--ic-title-fixed-size, 96px) !important;
}

.ihb-title-size-fluid .ic-hero-title {
	font-size: clamp(48px, 7vw, 118px);
}

@media (max-width: 1024px) {
	.ihb-title-size-fixed .ic-hero-title,
	.ihb-title-size-fixed .ic-hero-title-part {
		font-size: var(--ic-title-fixed-size, 76px) !important;
	}
}

@media (max-width: 767px) {
	.ihb-title-mobile-auto-yes .ic-hero-content {
		max-width: 100%;
	}

	.ihb-title-mobile-auto-yes .ic-hero-title,
	.ihb-title-mobile-auto-yes .ic-hero-title-part {
		font-size: clamp(var(--ic-title-mobile-min, 38px), var(--ic-title-mobile-vw, 12.5vw), var(--ic-title-mobile-max, 62px)) !important;
	}

	.ihb-title-mobile-auto-yes .ic-hero-title-part {
		max-width: min(100%, calc(100vw - 32px));
		overflow-wrap: normal;
		word-break: normal;
	}
}

/* --------------------------------------------------------------------------
 * v1.2.7 TCEB Clean widgets
 * Lightweight CSS-only skins for TCEB / Domestic MICE style pages.
 * -------------------------------------------------------------------------- */
.ihb-tceb-hero,
.ihb-tceb-core,
.ihb-tceb-roadmap {
	--ihb-tceb-navy: #071b52;
	--ihb-tceb-blue: #0057d8;
	--ihb-tceb-accent: #0057d8;
	--ihb-tceb-cyan: #22d3ee;
	--ihb-tceb-gold: #f4b21b;
	--ihb-tceb-text: #24395f;
	--ihb-tceb-muted: #5d6f8e;
	--ihb-tceb-card: rgba(255,255,255,.92);
	--ihb-tceb-border: rgba(0,87,216,.10);
	--ihb-tceb-shadow: 0 24px 70px rgba(9,33,77,.10);
	font-family: inherit;
	box-sizing: border-box;
}
.ihb-tceb-hero *,
.ihb-tceb-core *,
.ihb-tceb-roadmap * { box-sizing: border-box; }

.ihb-tceb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 16px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
	will-change: transform;
}
.ihb-tceb-button:hover,
.ihb-tceb-button:focus-visible {
	transform: translateY(-2px);
	text-decoration: none !important;
}
.ihb-tceb-button--primary {
	color: #fff !important;
	background: linear-gradient(135deg, var(--ihb-tceb-accent), #023fb3);
	box-shadow: 0 16px 32px rgba(0,87,216,.22);
}
.ihb-tceb-button--outline {
	color: var(--ihb-tceb-accent) !important;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(0,87,216,.38);
	box-shadow: 0 12px 26px rgba(9,33,77,.07);
}

/* TCEB Hero */
.ihb-tceb-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(circle at 74% 36%, rgba(34,211,238,.15), transparent 36%),
		linear-gradient(180deg, #f8fbff 0%, #ffffff 58%, #edf7ff 100%);
	color: var(--ihb-tceb-text);
}
.ihb-tceb-hero::before,
.ihb-tceb-hero::after {
	content: "";
	position: absolute;
	inset: auto auto -18% -10%;
	width: 86%;
	height: 42%;
	border-radius: 0 100% 0 0;
	background: linear-gradient(110deg, rgba(0,87,216,.28), rgba(34,211,238,.16), rgba(255,255,255,0));
	z-index: -1;
	pointer-events: none;
}
.ihb-tceb-hero::after {
	inset: auto -5% 9% auto;
	width: 42%;
	height: 28%;
	border-radius: 100% 0 0 0;
	background: none;
	border-top: 2px solid rgba(244,178,27,.74);
	transform: rotate(-12deg);
}
.ihb-tceb-hero--no-waves::before,
.ihb-tceb-hero--no-waves::after { display: none; }
.ihb-tceb-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(260px, 1.05fr);
	align-items: center;
	gap: clamp(30px, 6vw, 96px);
	width: min(100%, 1280px);
	min-height: inherit;
	margin: 0 auto;
	padding: clamp(70px, 8vw, 132px) clamp(24px, 5vw, 72px);
}
.ihb-tceb-hero__content {
	position: relative;
	z-index: 2;
	max-width: 640px;
}
.ihb-tceb-hero__label,
.ihb-tceb-core__eyebrow,
.ihb-tceb-roadmap__eyebrow {
	color: var(--ihb-tceb-accent);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.1;
}
.ihb-tceb-hero__label-line,
.ihb-tceb-core__line,
.ihb-tceb-roadmap__line {
	display: block;
	width: 54px;
	height: 4px;
	margin: 18px 0 34px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ihb-tceb-accent), var(--ihb-tceb-cyan));
}
.ihb-tceb-hero__title {
	margin: 0;
	white-space: pre-line;
	color: var(--ihb-tceb-navy);
	font-size: clamp(48px, 7vw, 96px);
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: .98;
}
.ihb-tceb-hero__thai {
	margin-top: 20px;
	color: var(--ihb-tceb-accent);
	font-size: clamp(32px, 4.6vw, 64px);
	font-weight: 900;
	line-height: 1.16;
	letter-spacing: -.025em;
}
.ihb-tceb-hero__description {
	position: relative;
	max-width: 520px;
	margin-top: 36px;
	padding-left: 22px;
	color: var(--ihb-tceb-text);
	font-size: clamp(16px, 1.45vw, 20px);
	font-weight: 500;
	line-height: 1.75;
}
.ihb-tceb-hero__description::before {
	content: "";
	position: absolute;
	inset: 8px auto 8px 0;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--ihb-tceb-accent), var(--ihb-tceb-cyan));
}
.ihb-tceb-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 36px;
}
.ihb-tceb-hero__visual {
	position: relative;
	min-height: 440px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.ihb-tceb-hero__visual img {
	display: block;
	max-width: 100%;
	max-height: 520px;
	object-fit: contain;
	filter: saturate(.96) contrast(.98);
	opacity: .82;
}
.ihb-tceb-hero__skyline {
	width: min(100%, 540px);
	height: 300px;
	border-radius: 40px;
	opacity: .58;
	background:
		linear-gradient(180deg, rgba(0,87,216,.16), rgba(34,211,238,.04)),
		linear-gradient(90deg, transparent 0 7%, rgba(0,87,216,.18) 7% 12%, transparent 12% 16%, rgba(0,87,216,.16) 16% 23%, transparent 23% 28%, rgba(0,87,216,.22) 28% 34%, transparent 34% 38%, rgba(0,87,216,.17) 38% 49%, transparent 49% 54%, rgba(0,87,216,.22) 54% 60%, transparent 60% 66%, rgba(0,87,216,.15) 66% 76%, transparent 76% 80%, rgba(0,87,216,.18) 80% 90%, transparent 90% 100%);
	clip-path: polygon(0 94%, 0 73%, 7% 73%, 7% 52%, 13% 52%, 13% 86%, 18% 86%, 18% 45%, 24% 45%, 24% 74%, 31% 74%, 31% 18%, 37% 18%, 37% 86%, 43% 86%, 43% 40%, 50% 40%, 50% 76%, 56% 76%, 56% 12%, 63% 12%, 63% 88%, 69% 88%, 69% 34%, 76% 34%, 76% 80%, 83% 80%, 83% 55%, 91% 55%, 91% 94%, 100% 94%, 100% 100%, 0 100%);
}

/* TCEB Core Cards */
.ihb-tceb-core {
	padding: clamp(64px, 7vw, 108px) clamp(20px, 5vw, 72px);
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	color: var(--ihb-tceb-text);
}
.ihb-tceb-core__head {
	max-width: 920px;
	margin: 0 auto 44px;
	text-align: center;
}
.ihb-tceb-core__line,
.ihb-tceb-roadmap__line {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 26px;
}
.ihb-tceb-core__heading,
.ihb-tceb-roadmap__heading {
	margin: 0;
	color: var(--ihb-tceb-navy);
	font-size: clamp(30px, 4.2vw, 52px);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -.03em;
}
.ihb-tceb-core__desc,
.ihb-tceb-roadmap__desc {
	max-width: 760px;
	margin: 18px auto 0;
	color: var(--ihb-tceb-muted);
	font-size: 18px;
	line-height: 1.75;
}
.ihb-tceb-core__grid {
	--ihb-tceb-core-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--ihb-tceb-core-cols), minmax(0, 1fr));
	gap: clamp(18px, 3vw, 34px);
	width: min(100%, 1180px);
	margin: 0 auto;
}
.ihb-tceb-core-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 360px;
	padding: clamp(28px, 4vw, 48px) 26px 30px;
	border: 1px solid var(--ihb-tceb-border);
	border-radius: 26px;
	background: var(--ihb-tceb-card);
	box-shadow: var(--ihb-tceb-shadow);
	text-align: center;
	transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
	will-change: transform;
}
.ihb-tceb-core-card:hover,
.ihb-tceb-core-card:focus-within {
	transform: translateY(-4px);
	box-shadow: 0 30px 80px rgba(9,33,77,.14);
	border-color: rgba(0,87,216,.22);
}
.ihb-tceb-core-card__visual {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	margin-bottom: 26px;
	border-radius: 50%;
	color: var(--ihb-tceb-accent);
	background: radial-gradient(circle, rgba(34,211,238,.16), rgba(0,87,216,.06));
}
.ihb-tceb-core-card__visual svg {
	width: 76px;
	height: 76px;
}
.ihb-tceb-core-card__visual i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 76px;
}
.ihb-tceb-core-card__visual img {
	width: 82px;
	height: 82px;
	object-fit: contain;
}
.ihb-tceb-core-card__title {
	margin: 0;
	color: var(--ihb-tceb-navy);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 900;
	line-height: 1.18;
}
.ihb-tceb-core-card__mark {
	display: block;
	width: 36px;
	height: 3px;
	margin: 18px auto;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ihb-tceb-accent), var(--ihb-tceb-cyan));
}
.ihb-tceb-core-card__desc {
	margin: 0;
	color: var(--ihb-tceb-text);
	font-size: 16px;
	line-height: 1.7;
}
.ihb-tceb-core-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	min-height: 44px;
	margin-top: auto;
	padding: 0 14px;
	border: 1px solid rgba(0,87,216,.16);
	border-radius: 999px;
	color: var(--ihb-tceb-accent) !important;
	background: rgba(255,255,255,.82);
	box-shadow: 0 12px 24px rgba(9,33,77,.07);
	font-weight: 800;
	font-size: 14px;
	text-decoration: none !important;
	transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.ihb-tceb-core-card__button:hover,
.ihb-tceb-core-card__button:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(0,87,216,.38);
	background: #fff;
}
.ihb-tceb-core__buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 38px;
}

/* TCEB Roadmap */
.ihb-tceb-roadmap {
	padding: clamp(56px, 7vw, 96px) clamp(20px, 5vw, 72px);
	background: #fff;
	color: var(--ihb-tceb-text);
}
.ihb-tceb-roadmap__head {
	max-width: 920px;
	margin: 0 auto 42px;
	text-align: center;
}
.ihb-tceb-roadmap__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--ihb-tceb-step-count), minmax(130px, 1fr));
	align-items: start;
	gap: clamp(14px, 2vw, 28px);
	width: min(100%, 1180px);
	margin: 0 auto;
}
.ihb-tceb-roadmap__track::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: calc(var(--ihb-tceb-roadmap-circle, 82px) / 2);
	right: calc(var(--ihb-tceb-roadmap-circle, 82px) / 2);
	top: calc(var(--ihb-tceb-roadmap-circle, 82px) / 2);
	height: 5px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ihb-tceb-accent), var(--ihb-tceb-cyan), var(--ihb-tceb-accent));
	box-shadow: 0 12px 26px rgba(0,87,216,.14);
}
.ihb-tceb-roadmap--no-connectors .ihb-tceb-roadmap__track::before { display: none; }
.ihb-tceb-roadmap-step {
	position: relative;
	z-index: 1;
	text-align: center;
}
.ihb-tceb-roadmap-step__circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ihb-tceb-roadmap-circle, 82px);
	height: var(--ihb-tceb-roadmap-circle, 82px);
	margin: 0 auto 16px;
	border: 8px solid rgba(255,255,255,.86);
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(135deg, var(--ihb-tceb-cyan), var(--ihb-tceb-accent));
	box-shadow: 0 18px 38px rgba(0,87,216,.20), 0 0 0 2px rgba(0,87,216,.16);
}
.ihb-tceb-roadmap-step--highlight .ihb-tceb-roadmap-step__circle {
	background: linear-gradient(135deg, #0b62ff, #083699);
	box-shadow: 0 22px 48px rgba(0,87,216,.26), 0 0 0 2px rgba(34,211,238,.22);
}
.ihb-tceb-roadmap-step__circle svg {
	width: 54%;
	height: 54%;
}
.ihb-tceb-roadmap-step__number {
	margin: 0 0 4px;
	color: var(--ihb-tceb-accent);
	font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 900;
	line-height: 1;
}
.ihb-tceb-roadmap--no-numbers .ihb-tceb-roadmap-step__number { display: none; }
.ihb-tceb-roadmap-step__title {
	margin: 0 0 6px;
	color: var(--ihb-tceb-navy);
	font-size: 17px;
	font-weight: 900;
	line-height: 1.35;
}
.ihb-tceb-roadmap-step__desc {
	margin: 0 auto;
	max-width: 210px;
	color: var(--ihb-tceb-muted);
	font-size: 14px;
	line-height: 1.6;
}
.ihb-tceb-roadmap--compact .ihb-tceb-roadmap__track { gap: 10px; }
.ihb-tceb-roadmap--compact .ihb-tceb-roadmap-step__desc { font-size: 13px; }

@media (max-width: 1024px) {
	.ihb-tceb-hero__inner {
		grid-template-columns: 1fr;
		gap: 34px;
		padding-top: 76px;
		padding-bottom: 86px;
	}
	.ihb-tceb-hero__content { max-width: 760px; }
	.ihb-tceb-hero__visual { min-height: 260px; justify-content: flex-start; opacity: .72; }
	.ihb-tceb-hero__visual img { max-height: 300px; }
	.ihb-tceb-core__grid { --ihb-tceb-core-cols: 2; }
	.ihb-tceb-roadmap__track { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
	.ihb-tceb-roadmap__track::before { display: none; }
}
@media (max-width: 767px) {
	.ihb-tceb-button { min-height: 48px; padding: 0 22px; width: 100%; }
	.ihb-tceb-hero__inner { padding: 58px 22px 76px; }
	.ihb-tceb-hero__title { font-size: clamp(42px, 13vw, 58px); letter-spacing: -.04em; }
	.ihb-tceb-hero__thai { font-size: clamp(28px, 9vw, 42px); }
	.ihb-tceb-hero__description { font-size: 15px; line-height: 1.75; }
	.ihb-tceb-hero__buttons { flex-direction: column; align-items: stretch; }
	.ihb-tceb-hero__visual { display: none; }
	.ihb-tceb-core,
	.ihb-tceb-roadmap { padding-left: 18px; padding-right: 18px; }
	.ihb-tceb-core__grid { --ihb-tceb-core-cols: 1; }
	.ihb-tceb-core-card { min-height: auto; }
	.ihb-tceb-roadmap__track { grid-template-columns: 1fr; gap: 22px; }
	.ihb-tceb-roadmap-step {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 18px;
		padding: 18px;
		border: 1px solid var(--ihb-tceb-border);
		border-radius: 22px;
		background: rgba(255,255,255,.92);
		box-shadow: 0 18px 46px rgba(9,33,77,.08);
		text-align: left;
	}
	.ihb-tceb-roadmap-step__circle { grid-row: span 3; width: 62px; height: 62px; margin: 0; border-width: 6px; }
	.ihb-tceb-roadmap-step__number,
	.ihb-tceb-roadmap-step__title,
	.ihb-tceb-roadmap-step__desc { margin-left: 0; max-width: none; }
	.ihb-tceb-roadmap-step__number { font-size: 22px; }
}
