.thap-wrap,
.thap-wrap * {
	box-sizing: border-box;
}

.thap-wrap {
	--thap-blue: #2563ff;
	--thap-blue-deep: #1654e8;
	--thap-navy: #09142f;
	--thap-text: #24314a;
	--thap-muted: #526079;
	--thap-line: #bdd0ff;
	--thap-card-border: #e8edf5;
	position: relative;
	isolation: isolate;
	width: 100%;
	margin: 0;
	padding: var(--thap-top, 24px) 18px var(--thap-bottom, 24px);
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 7%, rgba(214,229,255,.82), rgba(247,250,255,.12) 24%, transparent 43%),
		linear-gradient(180deg, #f6f9ff 0%, #fff 53%, #f8fbff 100%);
	color: var(--thap-text);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.55;
}

.thap-wrap.thap-full-bleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.thap-inner {
	position: relative;
	z-index: 3;
	width: min(100%, var(--thap-max, 1180px));
	margin: 0 auto;
}

.thap-orb,
.thap-dots {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}

.thap-orb {
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(215,229,255,.95), rgba(241,247,255,.4));
}

.thap-orb-left {
	width: 235px;
	height: 235px;
	top: -132px;
	left: -90px;
}

.thap-orb-right {
	width: 330px;
	height: 330px;
	top: 235px;
	right: -170px;
}

.thap-dots {
	width: 62px;
	height: 62px;
	background-image: radial-gradient(circle, rgba(94,146,255,.44) 1.6px, transparent 1.8px);
	background-size: 11px 11px;
}

.thap-dots-left {
	left: 4.3%;
	top: 29%;
}

.thap-dots-right {
	right: 3.2%;
	top: 5.3%;
}

.thap-hero {
	max-width: 830px;
	margin: 0 auto;
	text-align: center;
}

.thap-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 38px;
	padding: 7px 16px;
	border: 1px solid rgba(37,99,255,.35);
	border-radius: 10px;
	background: rgba(255,255,255,.76);
	box-shadow: 0 6px 18px rgba(45,89,190,.04), inset 0 0 0 1px rgba(255,255,255,.65);
	color: #192541;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -.01em;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.thap-badge-icon {
	width: 20px;
	height: 20px;
	color: var(--thap-blue);
	line-height: 0;
}

.thap-badge-icon svg,
.thap-button svg,
.thap-card-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.thap-title {
	margin: 26px 0 14px;
	color: var(--thap-navy);
	font-size: clamp(39px, 5vw, 59px);
	font-weight: 780;
	line-height: 1.06;
	letter-spacing: -.045em;
}

.thap-title strong {
	color: var(--thap-blue);
	font-weight: 790;
}

.thap-intro {
	max-width: 690px;
	margin: 0 auto;
	color: #27354d;
	font-size: 15px;
	font-weight: 430;
	line-height: 1.65;
}

.thap-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 28px;
}

.thap-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 150px;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid var(--thap-blue);
	border-radius: 9px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.thap-button:hover {
	transform: translateY(-2px);
}

.thap-button span {
	width: 18px;
	height: 18px;
	line-height: 0;
}

.thap-button-primary {
	background: linear-gradient(135deg, #2b6dff, #1c59f1);
	box-shadow: 0 10px 22px rgba(37,99,255,.2);
	color: #fff !important;
}

.thap-button-primary:hover {
	background: linear-gradient(135deg, #1d5df1, #164ed7);
	box-shadow: 0 13px 26px rgba(37,99,255,.25);
}

.thap-button-secondary {
	background: rgba(255,255,255,.88);
	color: var(--thap-blue) !important;
	box-shadow: 0 7px 18px rgba(29,77,180,.06);
}

.thap-button-secondary:hover {
	background: #f4f8ff;
}

.thap-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--thap-card-gap, 28px);
	margin-top: var(--thap-section, 44px);
}

.thap-card {
	min-width: 0;
	padding: 29px 30px 31px;
	border: 1px solid var(--thap-card-border);
	border-radius: 13px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 10px 28px rgba(20,39,80,.075), 0 2px 6px rgba(20,39,80,.035);
	text-align: left;
	transition: transform .22s ease, box-shadow .22s ease;
}

.thap-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 34px rgba(20,39,80,.11), 0 3px 8px rgba(20,39,80,.04);
}

.thap-card-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: linear-gradient(145deg, #e9f1ff, #dce9ff);
	color: var(--thap-blue);
}

.thap-card-icon svg {
	width: 27px;
	height: 27px;
}

.thap-card h2 {
	margin: 0 0 10px;
	color: var(--thap-navy);
	font-size: 18px;
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.thap-card p {
	margin: 0;
	color: #35425a;
	font-size: 13.5px;
	line-height: 1.65;
}

.thap-banner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
	align-items: center;
	gap: 35px;
	min-height: 272px;
	margin-top: var(--thap-section, 44px);
	padding: 42px 54px;
	overflow: hidden;
	border: 1.5px solid #82a9ff;
	border-radius: 13px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.95), rgba(249,252,255,.78)),
		url('../images/waves.svg') center bottom / cover no-repeat;
	box-shadow: inset 0 0 34px rgba(95,142,255,.06);
}

.thap-banner::after {
	content: "";
	position: absolute;
	right: 13px;
	top: 15px;
	width: 48px;
	height: 48px;
	opacity: .42;
	background-image: radial-gradient(circle, rgba(99,144,247,.42) 1.2px, transparent 1.35px);
	background-size: 7px 7px;
}

.thap-banner-content,
.thap-banner-logo {
	position: relative;
	z-index: 2;
}

.thap-banner-content h2 {
	max-width: 510px;
	margin: 0;
	color: var(--thap-navy);
	font-size: clamp(27px, 3vw, 36px);
	font-weight: 770;
	line-height: 1.25;
	letter-spacing: -.035em;
}

.thap-banner-content h2 strong {
	color: var(--thap-blue);
	font-weight: 790;
}

.thap-banner-line {
	display: block;
	width: 44px;
	height: 2px;
	margin: 18px 0 15px;
	background: var(--thap-blue);
}

.thap-banner-content p {
	max-width: 480px;
	margin: 0;
	color: #526079;
	font-size: 14px;
	line-height: 1.65;
}

.thap-banner-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.thap-banner-logo img {
	display: block;
	width: min(100%, var(--thap-logo-d, 390px));
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

@media (max-width: 900px) {
	.thap-wrap {
		padding-left: 22px;
		padding-right: 22px;
	}

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

	.thap-card:last-child {
		grid-column: 1 / -1;
		max-width: calc(50% - (var(--thap-card-gap, 28px) / 2));
		width: 100%;
		justify-self: center;
	}

	.thap-banner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 38px 38px 32px;
		text-align: center;
	}

	.thap-banner-content h2,
	.thap-banner-content p {
		margin-left: auto;
		margin-right: auto;
	}

	.thap-banner-line {
		margin-left: auto;
		margin-right: auto;
	}

	.thap-banner-logo img {
		width: min(100%, var(--thap-logo-t, 320px));
	}
}

@media (max-width: 640px) {
	.thap-wrap {
		padding-top: var(--thap-mtop, 18px);
		padding-bottom: var(--thap-mbottom, 18px);
		padding-left: 14px;
		padding-right: 14px;
	}

	.thap-orb-left {
		width: 150px;
		height: 150px;
		top: -78px;
		left: -70px;
	}

	.thap-orb-right {
		width: 220px;
		height: 220px;
		top: 365px;
		right: -145px;
	}

	.thap-dots-left {
		top: 34%;
		left: 8px;
	}

	.thap-dots-right {
		right: 4px;
		top: 55px;
	}

	.thap-badge {
		min-height: 34px;
		padding: 6px 12px;
		font-size: 11px;
		border-radius: 9px;
	}

	.thap-badge-icon {
		width: 18px;
		height: 18px;
	}

	.thap-title {
		margin-top: 22px;
		font-size: clamp(34px, 10.2vw, 43px);
		line-height: 1.08;
	}

	.thap-intro {
		font-size: 13.5px;
		line-height: 1.62;
	}

	.thap-actions {
		gap: 12px;
		margin-top: 24px;
	}

	.thap-button {
		min-width: 0;
		min-height: 44px;
		padding: 11px 15px;
		font-size: 12px;
		flex: 1 1 0;
		max-width: 170px;
	}

	.thap-button span {
		width: 16px;
		height: 16px;
	}

	.thap-cards {
		grid-template-columns: 1fr;
		gap: var(--thap-mcard-gap, 16px);
		margin-top: var(--thap-msection, 30px);
	}

	.thap-card,
	.thap-card:last-child {
		grid-column: auto;
		max-width: none;
		width: 100%;
		padding: 24px 22px 25px;
	}

	.thap-card-icon {
		width: 48px;
		height: 48px;
	}

	.thap-banner {
		min-height: 0;
		gap: 27px;
		margin-top: var(--thap-msection, 30px);
		padding: 30px 23px 27px;
		border-radius: 12px;
	}

	.thap-banner-content h2 {
		font-size: 26px;
		line-height: 1.27;
	}

	.thap-banner-content p {
		font-size: 13px;
	}

	.thap-banner-logo img {
		width: min(100%, var(--thap-logo-m, 245px));
	}
}

@media (max-width: 390px) {
	.thap-actions {
		flex-direction: column;
	}

	.thap-button {
		width: 100%;
		max-width: 220px;
	}
}
