.tkg-home {
	color: #071426;
	font-family: "Inter", "Noto Sans KR", Arial, sans-serif;
	letter-spacing: 0;
	overflow: hidden;
}

.tkg-home *,
.tkg-home *::before,
.tkg-home *::after {
	box-sizing: border-box;
}

.tkg-home a {
	text-decoration: none;
}

.tkg-section {
	max-width: 1200px;
	margin: 0 auto;
	padding: 96px 24px;
}

.tkg-section-narrow {
	max-width: 980px;
	margin: 0 auto;
	padding: 104px 24px 86px;
	text-align: center;
}

.tkg-hero-shell {
	position: relative;
	min-height: 760px;
	height: 100vh;
	background: #08101e;
	color: #fff;
	isolation: isolate;
}

.tkg-hero-bg,
.tkg-hero-shade {
	position: absolute;
	inset: 0;
}

.tkg-hero-bg {
	background-position: center;
	background-size: cover;
	filter: saturate(0.8);
	transform: scale(1.02);
	transition: opacity 0.35s ease, transform 0.7s ease;
	z-index: -3;
}

.tkg-hero.is-changing .tkg-hero-bg {
	opacity: 0.68;
	transform: scale(1.06);
}

.tkg-hero-shade {
	background: rgba(8, 13, 22, 0.66);
	z-index: -2;
}

.tkg-hero-inner {
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(520px, 1.25fr);
	align-items: center;
	gap: 54px;
	max-width: 1380px;
	min-height: 100%;
	margin: 0 auto;
	padding: 96px 80px;
}

.tkg-hero-copy {
	max-width: 520px;
	padding-left: 96px;
}

.tkg-hero-copy p:first-child {
	margin: 0 0 12px;
	color: #7eb0ff;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.tkg-hero-copy h1 {
	margin: 0;
	font-size: clamp(30px, 3.8vw, 56px);
	font-weight: 900;
	line-height: 1.13;
	letter-spacing: 0;
	text-shadow: 0 3px 16px rgba(0, 0, 0, 0.38);
}

.tkg-hero-line {
	width: 136px;
	height: 2px;
	margin: 24px 0;
	background: rgba(255, 255, 255, 0.78);
}

.tkg-hero-copy p:not(:first-child) {
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.92;
}

.tkg-blue-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 154px;
	height: 48px;
	margin-top: 26px;
	border-radius: 5px;
	background: #2f84ff;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
}

.tkg-hero-cards {
	display: grid;
	grid-template-columns: minmax(280px, 364px) repeat(2, minmax(190px, 280px));
	align-items: center;
	gap: 36px;
}

.tkg-hero-cards.is-moving {
	animation: tkgHeroCards 0.62s ease both;
}

@keyframes tkgHeroCards {
	0% {
		opacity: 0.55;
		transform: translateX(46px) scale(0.98);
	}
	100% {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

.tkg-hero-feature-card,
.tkg-hero-mini-card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.45);
	background: #0f1724;
	color: #fff;
}

.tkg-hero-feature-card {
	height: 535px;
}

.tkg-hero-mini-card {
	height: 420px;
}

.tkg-hero-feature-card::after,
.tkg-hero-mini-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 42%, rgba(0, 0, 0, 0.78) 100%);
}

.tkg-hero-feature-card img,
.tkg-hero-mini-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tkg-hero-feature-card span,
.tkg-hero-feature-card strong,
.tkg-hero-mini-card span,
.tkg-hero-mini-card strong {
	position: absolute;
	left: 30px;
	right: 24px;
	z-index: 1;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.tkg-hero-feature-card span,
.tkg-hero-mini-card span {
	bottom: 72px;
	color: #52a0ff;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tkg-hero-feature-card strong,
.tkg-hero-mini-card strong {
	bottom: 42px;
	font-size: 21px;
	font-weight: 900;
	line-height: 1.15;
}

.tkg-hero-dots {
	position: absolute;
	left: 16px;
	top: 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 34px;
	transform: translateY(-50%);
}

.tkg-hero-dots button {
	position: relative;
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.32);
	cursor: pointer;
}

.tkg-hero-dots button::before {
	content: "";
	position: absolute;
	left: 5px;
	top: -34px;
	width: 1px;
	height: 34px;
	background: rgba(255, 255, 255, 0.24);
}

.tkg-hero-dots button:first-child::before {
	display: none;
}

.tkg-hero-dots button.is-active {
	background: #3b82ff;
	box-shadow: 0 0 0 3px #fff;
}

.tkg-hero-dots span {
	position: absolute;
	left: -4px;
	top: -36px;
	color: #6aa9ff;
	font-size: 12px;
	font-weight: 800;
}

.tkg-stats {
	background: #fff;
}

.tkg-eyebrow-blue {
	margin: 0 0 14px;
	color: #2f84ff;
	font-size: 18px;
	font-weight: 800;
}

.tkg-stats h2 {
	margin: 0 0 34px;
	color: #2f84ff;
	font-size: clamp(34px, 3vw, 46px);
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0;
}

.tkg-stats p:not(.tkg-eyebrow-blue) {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.9;
}

.tkg-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 42px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 54px 24px 86px;
	border-top: 1px solid #e1e5ea;
}

.tkg-stat-grid div {
	text-align: center;
}

.tkg-stat-grid strong {
	display: block;
	margin-bottom: 14px;
	color: #071426;
	font-size: clamp(40px, 4vw, 52px);
	font-weight: 900;
	line-height: 1;
}

.tkg-stat-grid b {
	font: inherit;
}

.tkg-stat-grid small {
	font-size: 28px;
	font-weight: 900;
}

.tkg-stat-grid span {
	color: #26374d;
	font-size: 15px;
}

.tkg-do {
	background: #eef6ff;
}

.tkg-overline {
	margin: 0 0 12px;
	color: #7d8591;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.tkg-do h2,
.tkg-news h2,
.tkg-done h2 {
	margin: 0;
	color: #2f84ff;
	font-size: clamp(44px, 5vw, 62px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0;
}

.tkg-do-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 56px;
}

.tkg-do-card {
	padding: 38px 34px 34px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(20, 73, 130, 0.08);
}

.tkg-card-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 17px;
}

.tkg-card-head span {
	flex: 0 0 auto;
	color: #2f84ff;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tkg-card-head i {
	display: block;
	width: 100%;
	height: 1px;
	background: #b8d5ff;
}

.tkg-do-card h3 {
	margin: 0 0 28px;
	font-size: 16px;
	font-weight: 900;
}

.tkg-do-image {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 8px;
}

.tkg-do-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(47, 132, 255, 0.78);
	opacity: 0;
	transition: opacity 0.24s ease;
}

.tkg-do-image span {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 132px;
	height: 42px;
	border: 2px solid #fff;
	border-radius: 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	opacity: 0;
	transform: translate(-50%, -40%);
	transition: opacity 0.24s ease, transform 0.24s ease;
}

.tkg-do-image:hover::after,
.tkg-do-image:hover span {
	opacity: 1;
}

.tkg-do-image:hover span {
	transform: translate(-50%, -50%);
}

.tkg-do-card img {
	width: 100%;
	aspect-ratio: 1.55;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.tkg-do-image:hover img {
	transform: scale(1.05);
}

.tkg-do-card p {
	min-height: 222px;
	margin: 26px 0 32px;
	color: #e33255;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.68;
}

.tkg-do-card a {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #061425;
	font-size: 12px;
	font-weight: 900;
}

.tkg-do-card a::before {
	content: "";
	width: 30px;
	height: 2px;
	background: #2f84ff;
}

.tkg-news {
	background: #fff;
}

.tkg-news-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 34px;
}

.tkg-news-top a {
	display: inline-flex;
	align-items: center;
	color: #1258ff;
	font-size: 13px;
	font-weight: 900;
}

.tkg-feature-post {
	display: grid;
	grid-template-columns: 43% 1fr;
	align-items: center;
	min-height: 300px;
	border: 1px solid #e7eaf0;
	border-radius: 8px;
	color: inherit;
	overflow: hidden;
	transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tkg-feature-post.is-changing {
	opacity: 0.35;
	transform: translateY(10px);
}

.tkg-feature-post:hover,
.tkg-post-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 36px rgba(15, 35, 70, 0.08);
}

.tkg-post-image,
.tkg-post-thumb {
	position: relative;
	overflow: hidden;
	background: #eef2f8;
}

.tkg-post-image {
	height: 300px;
}

.tkg-post-image img,
.tkg-post-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tkg-post-image span,
.tkg-post-thumb span {
	position: absolute;
	right: 8px;
	bottom: 8px;
	border-radius: 5px;
	background: #fff;
	color: #071426;
	font-size: 12px;
	font-weight: 800;
}

.tkg-post-image span {
	left: 16px;
	right: auto;
	top: 16px;
	bottom: auto;
	padding: 7px 12px;
	background: #2f84ff;
	color: #fff;
}

.tkg-post-copy {
	padding: 44px 54px;
}

.tkg-post-copy span {
	color: #1258ff;
	font-size: 13px;
	font-weight: 700;
}

.tkg-post-copy h3 {
	margin: 17px 0 14px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.tkg-post-copy p {
	margin: 0 0 20px;
	color: #697487;
	font-size: 14px;
	line-height: 1.78;
}

.tkg-post-copy time,
.tkg-post-card time {
	color: #8b94a3;
	font-size: 13px;
}

.tkg-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-top: 40px;
}

.tkg-post-card {
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tkg-post-thumb {
	height: 232px;
	border-radius: 8px;
}

.tkg-post-thumb span {
	padding: 5px 7px;
}

.tkg-post-card h3 {
	margin: 16px 0 10px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.45;
}

.tkg-done {
	background: #fff;
}

.tkg-done-head {
	display: grid;
	grid-template-columns: 0.95fr 1fr;
	gap: 70px;
	align-items: start;
}

.tkg-done h3 {
	margin: 18px 0 0;
	font-size: 24px;
	font-weight: 800;
}

.tkg-done-head p {
	margin: 0 0 14px;
	color: #26364a;
	font-size: 16px;
	line-height: 1.9;
}

.tkg-done-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(260px, 1fr));
	gap: 16px;
	margin-top: 62px;
}

.tkg-done-card {
	position: relative;
	height: 480px;
	overflow: hidden;
	border-radius: 8px;
	color: #fff;
	background: #111827;
}

.tkg-done-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.72) 100%);
}

.tkg-done-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tkg-done-card span {
	position: absolute;
	left: 16px;
	top: 18px;
	z-index: 1;
	padding: 5px 12px;
	border-radius: 5px;
	background: #2f84ff;
	font-size: 12px;
	font-weight: 900;
}

.tkg-done-card strong {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 24px;
	z-index: 1;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.35;
}

.tkg-trusted {
	background: #f7f9fc;
}

.tkg-trusted h2,
.tkg-contact h2 {
	margin: 0 0 32px;
	color: #2f84ff;
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 900;
	letter-spacing: 0;
}

.tkg-logo-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
	align-items: center;
}

.tkg-logo-grid div {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 108px;
	padding: 18px;
	border: 1px solid #e6eaf0;
	border-radius: 8px;
	background: #fff;
}

.tkg-logo-grid img {
	max-width: 100%;
	max-height: 58px;
	object-fit: contain;
}

.tkg-contact {
	background: #fff;
}

.tkg-contact-form-wrap {
	max-width: 800px;
	margin: 0 auto;
}

.tkg-contact-form {
	display: grid;
	gap: 14px;
	padding: 28px;
	border-radius: 8px;
	background: #fafafa;
}

.tkg-contact-form h2 {
	margin-bottom: 8px;
}

.tkg-contact-form input,
.tkg-contact-form textarea {
	width: 100%;
	border: 0;
	border-radius: 8px;
	background: #fff;
	padding: 15px;
	font-size: 16px;
}

.tkg-contact-form button {
	border: 0;
	border-radius: 8px;
	background: #1587f2;
	color: #fff;
	padding: 15px 16px;
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
}

.tkg-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.tkg-contact-boxes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 40px auto 30px;
}

.tkg-contact-boxes a,
.tkg-contact-boxes button {
	display: block;
	width: 100%;
	min-height: 166px;
	border: 0;
	border-radius: 8px;
	background: #fafafa;
	color: #071426;
	padding: 32px 24px;
	text-align: center;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tkg-contact-boxes a:hover,
.tkg-contact-boxes button:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 12px rgba(21, 135, 242, 0.15);
}

.tkg-contact-boxes strong {
	display: block;
	margin-bottom: 14px;
	color: #1587f2;
	font-size: 18px;
	line-height: 1.38;
}

.tkg-contact-boxes span {
	color: #666;
	font-size: 15px;
	line-height: 1.75;
}

.tkg-contact p {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}

.tkg-map-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
}

.tkg-map-grid img,
.tkg-map-grid iframe {
	width: 100%;
	min-height: 430px;
	border: 0;
	border-radius: 8px;
	object-fit: cover;
}

.tkg-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.tkg-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

[data-typing]::after {
	content: "|";
	display: inline-block;
	margin-left: 4px;
	color: #2f84ff;
	animation: tkgBlink 0.8s step-end infinite;
}

[data-typing].is-done::after {
	display: none;
}

@keyframes tkgBlink {
	50% {
		opacity: 0;
	}
}

@media (max-width: 1200px) {
	.tkg-hero-inner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 100px 48px 68px;
	}

	.tkg-hero-copy {
		max-width: 760px;
		padding-left: 34px;
	}

	.tkg-hero-cards {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.tkg-hero-feature-card,
	.tkg-hero-mini-card {
		height: 360px;
	}

	.tkg-do-grid,
	.tkg-post-grid {
		grid-template-columns: 1fr;
	}

	.tkg-do-card p {
		min-height: auto;
	}

	.tkg-done-row {
		overflow-x: auto;
		padding-bottom: 10px;
	}

	.tkg-done-card {
		min-width: 270px;
	}

	.tkg-logo-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 767px) {
	.tkg-section,
	.tkg-section-narrow {
		padding: 68px 20px;
	}

	.tkg-hero-shell {
		min-height: auto;
		height: auto;
	}

	.tkg-hero-inner {
		padding: 92px 20px 44px;
	}

	.tkg-hero-copy {
		padding-left: 18px;
	}

	.tkg-hero-copy h1 {
		font-size: 32px;
	}

	.tkg-hero-copy p:not(:first-child) {
		font-size: 15px;
		line-height: 1.72;
	}

	.tkg-hero-cards {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		padding: 0 0 14px 18px;
	}

	.tkg-hero-feature-card,
	.tkg-hero-mini-card {
		flex: 0 0 252px;
		height: 330px;
	}

	.tkg-hero-dots {
		left: 9px;
	}

	.tkg-stats h2,
	.tkg-do h2,
	.tkg-news h2,
	.tkg-done h2,
	.tkg-trusted h2,
	.tkg-contact h2 {
		font-size: 38px;
	}

	.tkg-stat-grid {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-bottom: 60px;
	}

	.tkg-news-top,
	.tkg-done-head {
		display: block;
	}

	.tkg-feature-post {
		grid-template-columns: 1fr;
	}

	.tkg-post-copy {
		padding: 28px 22px;
	}

	.tkg-done-row {
		display: flex;
	}

	.tkg-logo-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.tkg-contact img {
		margin-top: 28px;
	}

	.tkg-contact-boxes,
	.tkg-map-grid {
		grid-template-columns: 1fr;
	}

	.tkg-map-grid img,
	.tkg-map-grid iframe {
		min-height: 320px;
	}
}
