/* =========================================================
 * 교과서 문해력 (Contents/TextbookLiteracy/index.php)
 * 그린 테마 — kh-teal 변수는 --color-g* 팔레트에 매핑
 * ========================================================= */

:root {
	--kh-teal-1: #eaf7f1;
	--kh-teal-2: #cfede0;
	--kh-teal-3: #7fcbae;
	--kh-teal-4: #28a77b;
	--kh-teal-5: #15835e;
	--kh-ink: #1d2533;
	--kh-ink-3: #5b6579;
}

.kh-sub-hero, .kh-section, .kh-cta-band {
	color: var(--kh-ink);
	font-family: var(--font-pretendard);
}

/* ---------- 공통 ---------- */
.kh-container {
	width: 100%; max-width: 1120px;
	margin: 0 auto;
	padding: 0 24px;
}
.kh-reveal { opacity: 1; transform: none; }

.kh-eyebrow {
	padding: 6px 14px;
	color: var(--kh-teal-5);
	font-size: 0.85rem; font-weight: 700;
	background: var(--kh-teal-2);
	border-radius: 999px;
	display: inline-block;
}
.kh-h1 {
	color: var(--kh-ink);
	font-family: var(--font-jua); font-size: clamp(2.0rem, 4vw, 2.8rem); font-weight: 800;
	line-height: 1.3; letter-spacing: -0.02em;
}
.kh-h2 {
	color: var(--kh-ink);
	font-family: var(--font-jua); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800;
	line-height: 1.35; letter-spacing: -0.02em;
}
.kh-h3 {
	font-family: var(--font-jua); font-size: 1.2rem; font-weight: 700;
	line-height: 1.4;
}
.kh-body { color: var(--kh-ink-3); font-size: 1.0rem; line-height: 1.75; }
.kh-body-sm { color: var(--kh-ink-3); font-size: 0.9rem; line-height: 1.65; }

/* 버튼 */
.kh-btn {
	color: #fff;
	font-family: var(--font-pretendard); font-size: 0.95rem; font-weight: 700;
	text-decoration: none;
	border: 0; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	cursor: pointer;
	transition: background 0.15s, transform 0.15s, border-color 0.15s, color 0.15s;
}
.kh-btn-lg { height: 52px; padding: 0 30px; font-size: 1.0rem; }
.kh-btn-teal { color: #fff; background: var(--kh-teal-4); box-shadow: 0 8px 18px rgba(40, 167, 123, 0.28); }
.kh-btn-teal:hover { background: var(--kh-teal-5); transform: translateY(-2px); }
.kh-btn-ghost { color: #33425a; background: #fff; border: 1.5px solid #e4ebe8; }
.kh-btn-ghost:hover { color: var(--kh-teal-5); border-color: var(--kh-teal-4); transform: translateY(-2px); }
.kh-btn-cta { color: var(--kh-teal-5); background: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15); }
.kh-btn-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2); }

/* ---------- 히어로 ---------- */
.kh-sub-hero {
	padding: 80px 0 96px;
	background: var(--kh-teal-1);
}
.kh-sub-hero-inner {
	display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: center; gap: 56px;
}
.kh-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* 히어로 우측 카드 */
.kh-sub-hero-card {
	padding: 28px;
	background: #fff;
	border-radius: 28px;
	box-shadow: 0 24px 60px rgba(29, 37, 51, 0.1);
}
.kh-subject-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.kh-subject-tile {
	min-height: 96px;
	padding: 18px;
	font-size: 1.05rem; font-weight: 700;
	border-radius: 18px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
}
.kh-subject-tile:last-child { grid-column: 1 / -1; }
.kh-subject-emoji {
	width: 46px; height: 46px;
	font-size: 1.4rem;
	background: rgba(255, 255, 255, 0.65);
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
}

/* ---------- 특징 섹션 ---------- */
.kh-section {
	padding: 88px 0;
	background: #fff;
}
.kh-why-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.kh-why-card {
	padding: 30px 26px;
	background: var(--kh-teal-1);
	border: 1px solid var(--kh-teal-2); border-radius: 20px;
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
	transition: transform 0.15s, box-shadow 0.15s;
}
.kh-why-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(29, 37, 51, 0.1); }
.kh-why-icon {
	width: 52px; height: 52px;
	font-size: 1.5rem;
	background: #fff;
	border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
}
.kh-why-card .kh-h3 { margin: 0; }

/* ---------- CTA 밴드 ---------- */
.kh-cta-band {
	padding: 72px 0;
	background: linear-gradient(135deg, var(--kh-teal-4) 0%, var(--kh-teal-5) 100%);
}
.kh-cta-inner {
	display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 40px;
}
.kh-cta-left {
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
}
.kh-cta-right { flex: 0 0 auto; }

/* ---------- 반응형 ---------- */
@media (max-width: 960px) {
	.kh-sub-hero { padding: 56px 0 64px; }
	.kh-sub-hero-inner { grid-template-columns: 1fr; gap: 36px; }
	.kh-section { padding: 60px 0; }
	.kh-why-grid { grid-template-columns: 1fr 1fr; }
	.kh-cta-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
}
@media (max-width: 560px) {
	.kh-why-grid { grid-template-columns: 1fr; }
	.kh-cta-right { width: 100%; }
	.kh-cta-right .kh-btn { width: 100%; }
}
