/* ==================== 기본 스타일 리셋 ==================== */
.high body,
.high ul,
.high li,
.high p,
.high div,
.high input,
.high textarea,
.high select,
.high table,
.high button,
.high h1,
.high h2 {
	line-height: 160%;
}

.container {
	width: 100%;
	overflow: initial;
}

.section {
	position: initial;
	float: initial;
	width: initial;
	margin: initial;
	padding: initial;
	border: initial;
	background: initial;
	outline: initial;
	font-size: initial;
	vertical-align: initial;
}

.section-title {
	font-size: initial;
	font-weight: initial;
	color: initial;
	margin-bottom: initial;
	display: initial;
	align-items: initial;
	gap: initial;
}

.table-wrapper {
	background-color: initial;
	border-radius: initial;
	box-shadow: initial;
	overflow: initial;
	max-height: initial;
	transition: initial;
	margin-top: initial;
}

caption:not(.app caption),th:not(.app th),td:not(.app td) { text-align: center; font-weight: initial; }



/* 고등1-1 */
/* ===== 고등부 전용 스타일 ===== */
.high1_1 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.high1_1 .container {
		padding: 0 24px;
	}
}

/* ===== Hero Section ===== */
.high1_1 .hero-section {
	padding: 80px 24px;
	background: linear-gradient(135deg, rgba(255,184,77,0.1) 0%, rgba(255,107,53,0.05) 100%);
	position: relative;
	overflow: hidden;
	width: 100%;
}

.high1_1 .hero-section::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -10%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(255,184,77,0.15) 0%, transparent 70%);
	border-radius: 50%;
	pointer-events: none;
}

.high1_1 .hero-header {
	text-align: center;
	margin-bottom: 64px;
	animation: fadeInUp 0.8s ease;
}

.high1_1 .hero-title {
	font-size: 52px;
	font-weight: 900;
	color: #1A1A1A;
	letter-spacing: -1px;
	line-height: 1.2;
	margin-bottom: 16px;
}

.high1_1 .hero-subtitle {
	font-size: 20px;
	color: #6B7280;
	font-weight: 400;
	letter-spacing: -0.5px;
}

.high1_1 .hero-subtitle-strong {
	color: #FF6B35;
	font-weight: 700;
	font-size: 18px;
}

/* ===== Core Strengths ===== */
.high1_1 .core-strengths {
	margin-top: 64px;
	animation: fadeInUp 0.8s ease 0.2s both;
}

.high1_1 .core-strengths__header {
	text-align: center;
	margin-bottom: 24px;
}

.high1_1 .core-strengths__badge {
	display: inline-block;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	padding: 8px 24px;
	border-radius: 50px;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.high1_1 .core-strengths__title {
	font-size: 32px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 16px;
	position: relative;
	display: block;
}

.high1_1 .core-strengths__title::after {
	content: '';
	position: absolute;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border-radius: 2px;
}

/* ===== Strengths Grid ===== */
.high1_1 .strengths-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin-top: 24px;
	padding: 32px 8px;
	overflow: visible !important;
}

.high1_1 .strength-card-container {
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), z-index 0.4s;
	cursor: pointer;
	transform-origin: center center;
	animation: fadeInUp 0.5s ease calc(0.4s + var(--delay)) both;
}

.high1_1 .strength-card-container:nth-child(1) { --delay: 0s; }
.high1_1 .strength-card-container:nth-child(2) { --delay: 0.1s; }
.high1_1 .strength-card-container:nth-child(3) { --delay: 0.2s; }
.high1_1 .strength-card-container:nth-child(4) { --delay: 0.3s; }
.high1_1 .strength-card-container:nth-child(5) { --delay: 0.4s; }

.high1_1 .strength-card-container:hover {
	transform: translateY(-15px) scale(1.15) !important;
	z-index: 100 !important;
}

.high1_1 .strength-card-container:hover .strength-card {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	border-color: #FF6B35;
	border-bottom: none !important;
	box-shadow: 0 -10px 30px rgba(255, 107, 53, 0.2);
}

.high1_1 .strength-card-container:hover .strength-card__image {
	background: linear-gradient(135deg, #FFE5CC 0%, #FFD4A3 100%);
	border-color: #FF6B35;
	border-top: none !important;
	margin-top: 0;
	box-shadow: 0 10px 30px rgba(255, 107, 53, 0.2);
}

.high1_1 .strength-card-container:hover .strength-card__title {
	color: #FF6B35;
}

.high1_1 .strength-card-container:hover .strength-card__description {
	color: #1A1A1A;
}

.high1_1 .strength-card-container:hover .strength-card__icon {
	transform: scale(0.87);
}

/* ===== Strength Cards ===== */
.high1_1 .strength-card {
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 24px 24px 0 0;
	padding: 0;
	text-align: center;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.high1_1 .strength-card__icon {
	width: 56px;
	height: 56px;
	margin: 24px auto 16px;
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	transition: transform 0.3s ease;
}

.high1_1 .strength-card--special .strength-card__icon {
	background: none;
	font-size: 36px;
}

.high1_1 .strength-card__title {
	font-size: 20px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: -0.5px;
	padding: 0 8px;
	word-break: keep-all;
	transition: all 0.3s ease;
}

.high1_1 .strength-card__description {
	font-size: 16px;
	color: #2c3e50;
	line-height: 1.8;
	font-weight: 600;
	margin-bottom: 24px;
	padding: 0 8px;
	word-break: keep-all;
	transition: all 0.3s ease;
}

.high1_1 .strength-card__description-strong {
	color: #1A1A1A;
	font-weight: 600;
	display: inline;
}

.high1_1 .strength-card__image {
	width: 227px;
	height: 330px;
	padding: 8px;
	background: #F8F9FA;
	border-radius: 0 0 24px 24px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: 2px solid #E8E8E8;
	border-top: none;
	transition: all 0.3s ease;
	overflow: hidden;
}

.high1_1 .strength-card__image img {
	max-width: 100%;
	max-height: 100%;
}

/*
.high1_1 .strength-card__image::before {
	content: '📷';
	font-size: 32px;
	opacity: 0.3;
	position: absolute;
}

.high1_1 .strength-card__image-placeholder {
	font-size: 14px;
	color: #999999;
	text-align: center;
	padding: 16px;
}
*/

/* ===== Special Features ===== */
.high1_1 .special-features {
	text-align: center;
	margin-top: 160px;
}

.high1_1 .special-features__badge {
	display: inline-flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 16px;
}

.high1_1 .special-features__text {
	font-size: 42px;
	color: #1A1A1A;
	font-weight: 900;
}

.high1_1 .special-features__number {
	font-size: 52px;
	font-weight: 900;
	color: #FF6B35;
}

.high1_1 .special-features__subtitle {
	font-size: 32px;
	font-weight: 300;
	color: #6B7280;
	margin-top: 0;
}

/* ===== Description Box ===== */
.high1_1 .description-box {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	border-radius: 24px;
	padding: 32px 40px;
	margin: 32px 0;
	position: relative;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.high1_1 .description-box::before {
	content: '';
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 60%;
	background: #FF6B35;
	border-radius: 3px;
}

.high1_1 .description-box__text {
	font-size: 24px;
	line-height: 1.9;
	color: #2c3e50;
	padding-left: 24px;
}

.high1_1 .description-box__text-highlight {
	color: #FF6B35;
	font-weight: 700;
}

/* ===== Feature Cards ===== */
.high1_1 .feature-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin: 40px 0 32px;
}

.high1_1 .feature-card {
	background: #FFFFFF;
	border-radius: 24px;
	padding: 32px 24px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	text-align: center;
}

.high1_1 .feature-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
}

.high1_1 .feature-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.high1_1 .feature-card__number {
	font-size: 42px;
	font-weight: 900;
	color: #FF6B35;
	margin-bottom: 8px;
	opacity: 0.8;
}

.high1_1 .feature-card__title {
	font-size: 32px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 16px;
}

.high1_1 .feature-card__description {
	font-size: 20px;
	line-height: 1.5;
	color: #6B7280;
	margin-bottom: 24px;
}

.high1_1 .feature-card__subdescription {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	border-radius: 12px;
	padding: 16px 24px;
	margin-top: 0;
	font-size: 20px;
	line-height: 1.5;
	color: #6B7280;
	border: 1px solid #FFB84D;
}

/* ===== Mobile Only Class ===== */
.high1_1 .mobile-only {
	display: none;
}

/* ===== Modal ===== */
.high1_1 .modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.9);
	animation: fadeIn 0.3s;
}

.high1_1 .modal__content-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px;
}

.high1_1 .modal__content {
	background: transparent;
	border-radius: 24px;
	animation: zoomIn 0.3s;
	cursor: pointer;
}

.high1_1 .modal__card--text {
	background: #FFFFFF !important;
	padding: 64px !important;
	border-radius: 24px !important;
	min-width: 500px;
}

.high1_1 .modal__card--text .strength-card__icon {
	width: 100px !important;
	height: 100px !important;
	font-size: 48px !important;
	margin: 32px auto !important;
}

.high1_1 .modal__card--text .strength-card__title {
	font-size: 36px !important;
	margin-bottom: 24px !important;
}

.high1_1 .modal__card--text .strength-card__description {
	font-size: 24px !important;
	line-height: 2 !important;
	padding: 0 32px !important;
}

.high1_1 .modal__card--image {
	background: #FFFFFF !important;
	width: auto !important;
	height: 80vh !important;
	max-height: 800px !important;
	aspect-ratio: 1 / 1.44 !important;
	border-radius: 24px !important;
	border: 3px solid #FF6B35 !important;
}

.high1_1 .modal__close {
	position: absolute;
	top: 24px;
	right: 32px;
	color: #FFFFFF;
	font-size: 50px;
	font-weight: bold;
	transition: 0.3s;
	cursor: pointer;
	z-index: 10000;
	line-height: 1;
}

.high1_1 .modal__close:hover {
	color: #FF6B35;
	transform: rotate(90deg);
}

/* ===== Responsive Design ===== */
@media (max-width: 1200px) {
	.high1_1 .strengths-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	.high1_1 .feature-cards { 
		grid-template-columns: 1fr; 
	}

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

/* 모바일 전용 스타일 (767px 이하) */
@media (max-width: 767px) {
	.high1_1 .container {
		padding: 0;
		max-width: 100%;
	}

	.high1_1 .hero-section {
		padding: 48px 0;
	}

	.high1_1 .hero-header,
	.high1_1 .core-strengths__header {
		padding: 0 12px;
	}

	.high1_1 .hero-title {
		font-size: 28px;
	}

	.high1_1 .hero-subtitle {
		font-size: 14px;
	}

	.high1_1 .hero-subtitle-strong {
		font-size: 14px;
	}

	.high1_1 .mobile-only {
		display: block;
	}

	.high1_1 .core-strengths__title {
		font-size: 20px;
	}

	.high1_1 .special-features {
		padding: 0 12px;
	}

	.high1_1 .special-features__text {
		font-size: 26px;
	}

	.high1_1 .special-features__number { 
		font-size: 30px;
	}

	.high1_1 .special-features__subtitle {
		font-size: 22px;
	}

	.high1_1 .description-box {
		margin: 12px 0;
		padding: 12px 32px;
		border-radius: 0;
		width: 100%;
	}

	.high1_1 .description-box::before {
		height: 72%;
		left: 8px;
	}

	.high1_1 .description-box__text {
		padding-left: 12px;
		font-size: 16px;
		line-height: 1.44;
	}

	.high1_1 .feature-cards {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 0;
		margin: 24px 0;
	}

	.high1_1 .feature-card {
		margin: 0 12px;
		padding: 24px 12px;
		border-radius: 12px;
	}

	.high1_1 .feature-card__number { 
		font-size: 26px;
	}

	.high1_1 .feature-card__title {
		font-size: 24px;
	}

	.high1_1 .feature-card__description {
		font-size: 16px;
		line-height: 1.62;
	}

	.high1_1 .feature-card__subdescription {
		padding: 8px 12px;
		font-size: 16px;
		line-height: 1.62;
		border-radius: 8px;
	}

	.high1_1 .strengths-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 12px;
		margin: 0;
	}

	.high1_1 .strength-card-container {
		width: 100%;
	}

	.high1_1 .strength-card-container:hover {
		transform: none !important;
		z-index: auto !important;
	}

	.high1_1 .strength-card-container:hover .strength-card,
	.high1_1 .strength-card-container:hover .strength-card__image {
		background: #FFFFFF;
		border-color: #E8E8E8;
		box-shadow: none;
	}

	.high1_1 .strength-card-container:hover .strength-card__title {
		color: #1A1A1A;
	}

	.high1_1 .strength-card-container:hover .strength-card__description {
		color: #2c3e50;
	}

	.high1_1 .strength-card-container:hover .strength-card__icon {
		transform: scale(1);
	}

	.high1_1 .feature-card:hover {
		transform: none;
		box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	}

	.high1_1 .strength-card {
		padding: 12px 8px;
	}

	.high1_1 .strength-card__icon {
		width: 48px;
		height: 48px;
		font-size: 24px;
	}

	.high1_1 .strength-card__title {
		font-size: 18px;
	}

	.high1_1 .strength-card__description {
		font-size: 16px;
		padding: 0 4px;
	}

	.high1_1 .strength-card__image {
		height: 240px;
		width: 100%;
	}

	.high1_1 .modal__content-wrapper {
		padding: 12px;
	}

	.high1_1 .modal__card--text {
		min-width: 90vw !important;
		padding: 24px !important;
	}

	.high1_1 .modal__card--text .strength-card__icon {
		width: 80px !important;
		height: 80px !important;
		font-size: 40px !important;
	}

	.high1_1 .modal__card--text .strength-card__title {
		font-size: 24px !important;
	}

	.high1_1 .modal__card--text .strength-card__description {
		font-size: 18px !important;
	}

	.high1_1 .modal__card--image {
		height: 70vh !important;
	}

	.high1_1 .modal__close {
		top: 8px;
		right: 8px;
		font-size: 40px;
	}
}

@media (max-width: 360px) {
	.high1_1 .hero-title {
		font-size: 24px;
	}

	.high1_1 .feature-card__subdescription {
		font-size: 13px;
	}
}

/* ===== Animations ===== */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes zoomIn {
	from {
		transform: scale(0.5);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* ===== Accessibility ===== */
.high1_1 .strength-card:focus {
	outline: 3px solid #FF6B35;
	outline-offset: 2px;
}

.high1_1 .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}



/* 고등1-2 */
/* ===== Section Styles ===== */
.high1_2 .section {
	padding: 80px 24px;
	width: 100%;
	position: relative;
}

.high1_2 .section--curriculum {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%);
	padding: 88px 24px 53px 24px;
}

.high1_2 .section--curriculum > * {
	max-width: 1200px;
	margin: 0 auto;
}

.high1_2 .section--table {
	padding: 0 24px 64px;
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%);
	margin-top: -10px;
}

.high1_2 .section--table > * {
	max-width: 1200px;
	margin: 0 auto;
}

.high1_2 .section--level-details {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%);
	padding: 64px 24px 32px;
}

.high1_2 .section--level-details > * {
	max-width: 1200px;
	margin: 0 auto;
}

/* ===== Section Header ===== */
.high1_2 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

.high1_2 .section-title {
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high1_2 .section-title--page {
	font-size: 52px;
}

.high1_2 .section-description {
	color: #1A1A1A;
	font-size: 18px;
	line-height: 1.6;
	margin: 0 0 80px 0;
}

.high1_2 .section-description strong {
	color: #FF6B35;
	font-weight: 700;
}

/* ===== Level Container (상단 4개 박스) ===== */
.high1_2 .level-container {
	display: flex;
	justify-content: center;
	gap: 16px;
	align-items: center;
	margin: 40px auto 32px;
}

.high1_2 .level-box {
	width: 180px;
	height: 140px;
	background: #FFFFFF;
	border: 3px solid;
	border-radius: 20px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.high1_2 .level-box:hover {
	transform: translateY(-8px) scale(1.05);
	box-shadow: 0 12px 32px rgba(0,0,0,0.16);
}

.high1_2 .level-box--charlie { 
	border-color: #FF6B35;
	background: linear-gradient(135deg, #FFFFFF, #FFE8E0);
}

.high1_2 .level-box--delta { 
	border-color: #FF9800;
	background: linear-gradient(135deg, #FFFFFF, #FFF3E0);
}

.high1_2 .level-box--youngb { 
	border-color: #7B68EE;
	background: linear-gradient(135deg, #FFFFFF, #F3F0FF);
}

.high1_2 .level-box--final { 
	border-color: #2C3E50;
	background: linear-gradient(135deg, #FFFFFF, #E8F4F8);
}

.high1_2 .level-box__name {
	font-size: 30px;
	font-weight: 900;
	margin-bottom: 8px;
}

.high1_2 .level-box--charlie .level-box__name { color: #FF6B35; }
.high1_2 .level-box--delta .level-box__name { color: #FF9800; }
.high1_2 .level-box--youngb .level-box__name { color: #7B68EE; }
.high1_2 .level-box--final .level-box__name { color: #2C3E50; }

.high1_2 .level-box__grade {
	font-size: 14px;
	font-weight: 600;
	color: #2c3e50;
	margin-bottom: 4px;
}

.high1_2 .level-box__duration {
	font-size: 13px;
	color: #6B7280;
}

.high1_2 .level-arrow {
	font-size: 32px;
	color: #FFB84D;
	font-weight: 700;
}

/* ===== Table Styles ===== */
.high1_2 .table-wrapper {
	max-width: 1200px;
	margin: 0 auto;
}

.high1_2 .table-container {
	overflow-x: auto;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	background: #FFFFFF;
}

.high1_2 .table {
	width: 100%;
	border-collapse: collapse;
	border: 2px solid #C0C0C0;
}

.high1_2 .table thead th {
	background: #E8E8E8;
	color: #1A1A1A;
	padding: 15px 4px;
	font-weight: 700;
	font-size: 17px;
	text-align: center;
	border: 1px solid #C0C0C0;
}

.high1_2 .table tbody td {
	padding: 15px 4px;
	text-align: center;
	font-weight: 600;
	font-size: 17px;
	border: 1px solid #C0C0C0;
}

.high1_2 .table__header-cell {
	width: 80px;
}

.high1_2 .table__cell--header {
	background: #FFF3E0;
	font-weight: 700;
	color: #1A1A1A;
}

.high1_2 .table__cell--charlie { 
	background: #FFE8E0;
	color: #FF6B35;
	font-weight: 700;
}

.high1_2 .table__cell--delta { 
	background: #FFF3E0;
	color: #FF9800;
	font-weight: 700;
}

.high1_2 .table__cell--youngb { 
	background: #F3F0FF;
	color: #7B68EE;
	font-weight: 700;
}

.high1_2 .table__cell--final { 
	background: #E8F4F8;
	color: #2C3E50;
	font-weight: 700;
}

.high1_2 .table__cell--border-left {
	border-left: 2px solid #D0D0D0;
}

.high1_2 .table__cell--level-header {
	font-size: 19px;
}

.high1_2 .table__cell--level-group {
	font-weight: 900;
	font-size: 30px;
	padding: 20px 4px;
}

.high1_2 .table__cell--charlie-group {
	background: #FFE8E0;
	color: #FF6B35;
}

.high1_2 .table__cell--delta-group {
	background: #FFF3E0;
	color: #FF9800;
}

.high1_2 .table__cell--youngb-group {
	background: #F3F0FF;
	color: #7B68EE;
}

.high1_2 .table__cell--final-group {
	background: #E8F4F8;
	color: #2C3E50;
}

/* ===== Level Cards (하단 학습목표 박스) ===== */
.high1_2 .level-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1100px;
	margin: 32px auto;
}

.high1_2 .level-card {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	transition: all 0.3s ease;
	border: 2px solid #E8E8E8;
}

.high1_2 .level-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.high1_2 .level-card--charlie:hover { border-color: #FF6B35; }
.high1_2 .level-card--delta:hover { border-color: #FF9800; }
.high1_2 .level-card--youngb:hover { border-color: #7B68EE; }
.high1_2 .level-card--final:hover { border-color: #2C3E50; }

.high1_2 .level-card__header {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 2px solid #E8E8E8;
}

.high1_2 .level-card__badge {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 900;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	flex-shrink: 0;
	margin-left: 1px;
}

.high1_2 .level-card__badge--charlie { 
	background: linear-gradient(135deg, #FF6B35, #FF8A65); 
}
.high1_2 .level-card__badge--delta { 
	background: linear-gradient(135deg, #FF9800, #FFB84D); 
}
.high1_2 .level-card__badge--youngb { 
	background: linear-gradient(135deg, #7B68EE, #9575CD); 
}
.high1_2 .level-card__badge--final { 
	background: linear-gradient(135deg, #2C3E50, #455A64); 
}

.high1_2 .level-card__info {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: 1;
	margin-left: 10px;
}

.high1_2 .level-card__name {
	font-size: 28px;
	font-weight: 900;
	color: #1A1A1A;
}

.high1_2 .level-card__desc {
	font-size: 17px;
	color: #6B7280;
	white-space: nowrap;
}

.high1_2 .level-card__objectives {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 16px 0;
	padding: 16px 0 16px 68px;
	border-bottom: 1px solid #E8E8E8;
}

.high1_2 .level-card__objectives-title {
	font-size: 19px;
	font-weight: 700;
	color: #1A1A1A;
	white-space: nowrap;
	margin-top: -2px;
}

.high1_2 .level-card__objectives-list {
	list-style: none;
	flex: 1;
}

.high1_2 .level-card__objective-item {
	font-size: 17px;
	color: #6B7280;
	margin-bottom: 6px;
	padding-left: 16px;
	position: relative;
	line-height: 1.4;
}

.high1_2 .level-card__objective-item::before {
	content: '✓';
	position: absolute;
	left: 0;
	font-weight: 700;
	font-size: 16px;
}

.high1_2 .level-card--charlie .level-card__objective-item::before { color: #FF6B35; }
.high1_2 .level-card--delta .level-card__objective-item::before { color: #FF9800; }
.high1_2 .level-card--youngb .level-card__objective-item::before { color: #7B68EE; }
.high1_2 .level-card--final .level-card__objective-item::before { color: #2C3E50; }

.high1_2 .level-card__toggle {
	padding: 14px;
	border-radius: 12px;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: 16px;
}

.high1_2 .level-card--charlie .level-card__toggle { 
	background: rgba(255,107,53,0.1); 
	color: #FF6B35;
}

.high1_2 .level-card--delta .level-card__toggle { 
	background: #FFF3E0; 
	color: #FF9800;
}

.high1_2 .level-card--youngb .level-card__toggle { 
	background: rgba(123,104,238,0.1); 
	color: #7B68EE;
}

.high1_2 .level-card--final .level-card__toggle { 
	background: rgba(44,62,80,0.1); 
	color: #2C3E50;
}

.high1_2 .level-card__toggle:hover {
	transform: scale(1.02);
}

.high1_2 .level-card__detail {
	display: none;
	margin-top: 14px;
	padding: 16px;
	background: #F8F9FA;
	border-radius: 12px;
	font-size: 17px;
	line-height: 1.7;
	color: #2c3e50;
}

.high1_2 .level-card__detail--show {
	display: block;
	animation: fadeIn 0.3s ease;
}

/* ===== 데스크톱 오버라이드 ===== */
@media (min-width: 768px) {
	.high1_2 .table__cell--level-group {
		font-size: 24px !important;
	}
}

/* ===== 애니메이션 ===== */
@keyframes fadeIn {
	from { 
		opacity: 0; 
		transform: translateY(20px); 
	}
	to { 
		opacity: 1; 
		transform: translateY(0); 
	}
}

/* ===== 모바일 반응형 ===== */
@media (max-width: 767px) {
	/* 섹션 조정 */
	.high1_2 .section {
		padding: 40px 16px;
	}

	.high1_2 .section--curriculum {
		padding: 40px 0;
	}

	.high1_2 .section--table {
		padding: 0 0 40px;
	}

	.high1_2 .section--level-details {
		padding: 48px 0 16px;
		margin-top: 48px;
	}

	/* 제목 크기 */
	.high1_2 .section-title {
		font-size: 24px;
	}

	.high1_2 .section-title--page {
		font-size: 28px;
	}

	.high1_2 .section-description {
		font-size: 14px;
		margin-bottom: 32px;
	}

	/* 레벨 박스 그리드 */
	.high1_2 .level-container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		padding: 0 16px;
	}

	.high1_2 .level-box {
		width: 100%;
		height: 110px;
		padding: 8px;
	}

	.high1_2 .level-box__name {
		font-size: 26px;
	}

	.high1_2 .level-arrow {
		display: none;
	}

	/* 테이블 */
	.high1_2 .table-container {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		/*margin: 0 -16px;*/
		/*padding: 0 16px;*/
		border-radius: 0;
	}

	.high1_2 .table {
		min-width: 800px;
	}

	.high1_2 .table thead th,
	.high1_2 .table tbody td {
		padding: 10px 2px;
		font-size: 14px;
	}

	.high1_2 .table__cell--level-group {
		font-size: 20px;
		padding: 12px 2px;
	}

	.high1_2 .table-container::after {
		content: '← 좌우로 스크롤 →';
		display: block;
		text-align: center;
		padding: 8px;
		color: #999999;
		font-size: 12px;
	}

	/* 레벨 카드 모바일 최적화 */
	.high1_2 .level-cards {
		grid-template-columns: 1fr !important;
		gap: 8px;
		padding: 0 8px;
	}

	.high1_2 .level-card {
		padding: 12px !important;
	}

	.high1_2 .level-card__header {
		margin-bottom: 8px !important;
		padding-bottom: 8px !important;
		gap: 14px !important;
	}

	.high1_2 .level-card__badge {
		width: 35px !important;
		height: 35px !important;
	}

	.high1_2 .level-card__info {
		gap: 2px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		margin-left: 10px !important;
	}

	.high1_2 .level-card__name {
		font-size: 22px !important;
		margin-bottom: 0 !important;
		line-height: 1.2 !important;
	}

	.high1_2 .level-card__desc {
		font-size: 14px !important;
		margin-top: 2px !important;
		line-height: 1.3 !important;
		white-space: normal !important;
	}

	.high1_2 .level-card__objectives {
		margin: 8px 0 !important;
		padding: 8px 0 8px 20px !important;
	}

	.high1_2 .level-card__objectives-title {
		font-size: 14px !important;
	}

	.high1_2 .level-card__objective-item {
		font-size: 13px !important;
		margin-bottom: 3px !important;
		padding-left: 20px !important;
	}

	.high1_2 .level-card__objective-item::before {
		left: 0.5px !important;
	}

	.high1_2 .level-card__toggle {
		font-size: 15px !important;
		padding: 8px 12px !important;
		margin-top: 8px !important;
	}

	.high1_2 .level-card__detail {
		font-size: 14px !important;
		line-height: 1.5 !important;
		padding: 10px !important;
		margin-top: 8px !important;
	}

	/* 호버 효과 제거 */
	.high1_2 .level-box:hover,
	.high1_2 .level-card:hover {
		transform: none;
	}

	.high1_2 .level-card__toggle:hover {
		transform: none;
	}
}

/* 태블릿 */
@media (max-width: 1024px) and (min-width: 768px) {
	.high1_2 .level-cards {
		grid-template-columns: 1fr;
	}
}

/* 작은 모바일 */
@media (max-width: 360px) {
	.high1_2 .section-title {
		font-size: 24px;
	}

	.high1_2 .section-title--page {
		font-size: 28px;
	}

	.high1_2 .level-box {
		height: 100px;
		padding: 4px;
	}

	.high1_2 .level-box__name {
		font-size: 22px;
	}
}



/* 고등2 */
/* ==================== Layout ==================== */
.high2 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.high2 .section {
	padding: 80px 24px;
	margin: 0;
}

.high2 .section-hero {
	padding: 100px 24px 80px;
}

.high2 .section-hero-bottom {
	padding-bottom: 32px;
}

.high2 .section-cards-top {
	padding-top: 32px;
}

/* ==================== Background Utilities ==================== */
.high2 .bg-white { 
	background: #FFFFFF; 
}

.high2 .bg-light { 
	background: #F8F9FA;
}

.high2 .bg-warm { 
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%); 
}

/* ==================== Typography ==================== */
.high2 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

.high2 .page-title {
	font-size: 52px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 16px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high2 .section-title {
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high2 .section-description {
	font-size: 18px;
	color: #6B7280;
	line-height: 1.8;
	max-width: 800px;
	margin: 0 auto 32px;
}

.high2 .subtitle-badge {
	display: inline-block;
	padding: 8px 24px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 24px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	box-shadow: 0 6px 20px rgba(255,107,53,0.25);
}

.high2 .number-highlight {
	font-size: 88px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	margin: 0 8px;
}

/* ==================== 5개 영역 카드 ==================== */
.high2 .cards-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.high2 .area-card {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 24px 8px 52px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
	position: relative;
	border-top: 4px solid;
	text-align: center;
}

.high2 .area-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

/* 카드별 색상 테마 */
.high2 .area-card--grammar { border-top-color: #4CAF50; }
.high2 .area-card--reading { border-top-color: #2196F3; }
.high2 .area-card--comprehensive { border-top-color: #9C27B0; }
.high2 .area-card--vocabulary { border-top-color: #FF6F00; }
.high2 .area-card--homework { border-top-color: #E91E63; }

/* 카드 아이콘 */
.high2 .area-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 32px;
	font-weight: 900;
	margin: 0 auto 16px;
}

.high2 .area-card__icon--grammar { background: linear-gradient(135deg, #4CAF50, #66BB6A); }
.high2 .area-card__icon--reading { background: linear-gradient(135deg, #2196F3, #42A5F5); }
.high2 .area-card__icon--comprehensive { background: linear-gradient(135deg, #9C27B0, #BA68C8); }
.high2 .area-card__icon--vocabulary { background: linear-gradient(135deg, #FF6F00, #FFB74D); }
.high2 .area-card__icon--homework { background: linear-gradient(135deg, #E91E63, #F06292); }

/* 카드 제목 */
.high2 .area-card__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin: 16px auto 16px;
	padding: 8px 16px;
	background: rgba(255,255,255,0.95);
	border-radius: 8px;
	border: 2px solid;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	display: inline-block;
}

.high2 .area-card--grammar .area-card__title { border-color: #4CAF50; }
.high2 .area-card--reading .area-card__title { border-color: #2196F3; }
.high2 .area-card--comprehensive .area-card__title { border-color: #9C27B0; }
.high2 .area-card--vocabulary .area-card__title { border-color: #FF6F00; }
.high2 .area-card--homework .area-card__title { border-color: #E91E63; }

/* 카드 텍스트 */
.high2 .area-card__quote {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 8px;
	min-height: 45px;
	line-height: 1.4;
}

.high2 .area-card__quote--grammar { color: #4CAF50; }
.high2 .area-card__quote--reading { color: #2196F3; }
.high2 .area-card__quote--comprehensive { color: #9C27B0; }
.high2 .area-card__quote--vocabulary { color: #FF6F00; }
.high2 .area-card__quote--homework { color: #E91E63; }

.high2 .area-card__desc {
	font-size: 14px;
	color: #6B7280;
	line-height: 1.5;
}

/* 카드 버튼 */
.high2 .area-card__button {
	position: absolute;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 24px;
	color: #FFFFFF;
	border: none;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.high2 .area-card--grammar .area-card__button { background: rgba(76, 175, 80, 0.7); }
.high2 .area-card--reading .area-card__button { background: rgba(33, 150, 243, 0.7); }
.high2 .area-card--comprehensive .area-card__button { background: rgba(156, 39, 176, 0.7); }
.high2 .area-card--vocabulary .area-card__button { background: rgba(255, 111, 0, 0.7); }
.high2 .area-card--homework .area-card__button { background: rgba(233, 30, 99, 0.7); }

.high2 .area-card__button:hover,
.high2 .area-card__button.active {
	transform: translateX(-50%) scale(1.05);
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.high2 .area-card--grammar .area-card__button:hover,
.high2 .area-card--grammar .area-card__button.active { background: rgba(76, 175, 80, 1); }
.high2 .area-card--reading .area-card__button:hover,
.high2 .area-card--reading .area-card__button.active { background: rgba(33, 150, 243, 1); }
.high2 .area-card--comprehensive .area-card__button:hover,
.high2 .area-card--comprehensive .area-card__button.active { background: rgba(156, 39, 176, 1); }
.high2 .area-card--vocabulary .area-card__button:hover,
.high2 .area-card--vocabulary .area-card__button.active { background: rgba(255, 111, 0, 1); }
.high2 .area-card--homework .area-card__button:hover,
.high2 .area-card--homework .area-card__button.active { background: rgba(233, 30, 99, 1); }

/* ==================== Accordion ==================== */
.high2 .accordion-container {
	max-width: 1100px;
	margin: 0 auto;
}

.high2 .accordion-item {
	display: none;
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 20px;
	padding: 32px;
	margin-bottom: 24px;
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.high2 .accordion-item.show {
	display: block;
	animation: fadeIn 0.3s ease;
}

.high2 .accordion-item__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #E8E8E8;
}

.high2 .accordion-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 900;
}

.high2 .accordion-item__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
}

.high2 .accordion-item__subtitle {
	font-size: 16px;
	color: #6B7280;
	margin-top: 4px;
}

/* ==================== Process Grid ==================== */
.high2 .process-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	margin-top: 32px;
}

.high2 .process-grid--4cols {
	grid-template-columns: repeat(4, 1fr);
}

.high2 .process-grid--7cols {
	grid-template-columns: repeat(7, 1fr);
}

.high2 .process-step {
	background: #F8F9FA;
	border-radius: 12px;
	padding: 24px;
	text-align: center;
	transition: all 0.3s ease;
}

.high2 .process-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.high2 .process-step__number {
	width: 48px;
	height: 48px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	margin: 0 auto 16px;
}

.high2 .process-step__number--blue {
	background: linear-gradient(135deg, #2196F3, #42A5F5);
}

.high2 .process-step__icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.high2 .process-step__title {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.high2 .process-step__desc {
	font-size: 16px;
	color: #6B7280;
	line-height: 1.5;
}

/* ==================== Comprehensive Section Special Styles ==================== */
.high2 .comprehensive-container {
	display: flex;
	gap: 32px;
	align-items: center;
	justify-content: center;
}

.high2 .comprehensive-items {
	flex: 0 1 auto;
	display: flex;
	gap: 16px;
	align-items: center;
}

.high2 .comprehensive-step {
	background: transparent;
	padding: 0;
}

.high2 .comprehensive-box {
	width: 120px;
	height: 120px;
	border: 3px solid #9C27B0;
	border-radius: 12px;
	background: #f3f0ff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.high2 .comprehensive-box__icon {
	font-size: 36px;
}

.high2 .comprehensive-operator {
	font-size: 32px;
	color: #9C27B0;
	font-weight: bold;
	align-self: center;
	margin-bottom: 120px;
}

.high2 .comprehensive-result {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-left: 24px;
}

.high2 .comprehensive-image {
	width: 200px;
	height: 200px;
	background: #F8F9FA;
	border: 2px dashed #E8E8E8;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
}

.high2 .comprehensive-image__text {
	color: #999999;
	font-size: 14px;
	text-align: center;
	overflow: hidden;
}

.high2 .comprehensive-image__text {
	max-width: 100%;
}

.high2 .comprehensive-badge {
	background: #9C27B0;
	color: white;
	padding: 12px 25px;
	border-radius: 25px;
	font-size: 16px;
	font-weight: 700;
}

/* ==================== Vocabulary Section Special Styles ==================== */
.high2 .vocabulary-header {
	text-align: center;
}

.high2 .vocabulary-title {
	font-size: 24px;
	font-weight: 700;
	color: #FF6F00;
	margin-bottom: 4px;
}

.high2 .vocabulary-subtitle {
	font-size: 16px;
	color: #6B7280;
	margin-bottom: 24px;
}

.high2 .vocabulary-step__circle {
	width: 80px;
	height: 80px;
	background: #FFD54F;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px;
}

.high2 .vocabulary-step__circle-icon {
	font-size: 24px;
}

.high2 .vocabulary-step__title {
	font-size: 16px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 4px;
}

.high2 .vocabulary-step__label {
	font-size: 12px;
	color: #6B7280;
}

/* ==================== Homework Section Special Styles ==================== */
.high2 .homework-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

.high2 .homework-box {
	background: #fce4ec;
	border-radius: 20px;
	padding: 32px;
	text-align: center;
	border: 2px solid #e91e63;
}

.high2 .homework-label {
	background: #E91E63;
	color: #FFFFFF;
	padding: 8px 32px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 24px;
	display: inline-block;
}

.high2 .homework-screen {
	width: 100%;
	/*height: 150px;*/
	background: #FFFFFF;
	border-radius: 12px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #E8E8E8;
	overflow: hidden;
}

.high2 .homework-screen__text {
	color: #999999;
	font-size: 14px;
}

.high2 .homework-screen__text img {
	max-width: 100%;
}

.high2 .homework-list {
	list-style: none;
	padding: 0;
	text-align: left;
}

.high2 .homework-list__item {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	font-size: 14px;
	color: #1A1A1A;
}

.high2 .homework-list__check {
	color: #E91E63;
	font-size: 16px;
	margin-right: 8px;
	font-weight: 700;
}

/* ==================== Banner Cards (3가지 약속) ==================== */
.high2 .banner-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.high2 .banner-card {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	border-radius: 20px;
	padding: 32px;
	text-align: center;
	transition: all 0.3s ease;
	border: 2px solid #E8E8E8;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.high2 .banner-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	border-color: #FFB84D;
}

.high2 .banner-card__emoji {
	font-size: 42px;
	margin-bottom: 16px;
}

.high2 .banner-card__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.high2 .banner-card__desc {
	font-size: 18px;
	color: #6B7280;
	line-height: 1.6;
}

/* ==================== Special Components ==================== */
.high2 .highlight-box {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border-radius: 12px;
	padding: 24px;
	color: #FFFFFF;
	text-align: center;
	margin-top: 32px;
}

.high2 .highlight-box__title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
}

.high2 .highlight-box__desc {
	font-size: 16px;
}

.high2 .mobile-notice {
	display: none;
}

/* ==================== Animations ==================== */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ==================== Mobile Responsive (max-width: 767px) ==================== */
@media (max-width: 767px) {
	/* Layout */
	.high2 .container {
		padding: 0;
		max-width: 100%;
	}

	.high2 .section {
		padding: 40px 0;
	}

	.high2 .section-hero {
		padding: 48px 0 40px;
	}

	.high2 .section-header {
		padding: 0 12px;
	}

	/* Typography */
	.high2 .page-title {
		font-size: 28px;
		line-height: 1.3;
	}

	.high2 .section-title {
		font-size: 24px;
	}

	.high2 .number-highlight {
		font-size: 32px;
		margin: 0 4px;
	}

	.high2 .section-description br {
		display: none;
	}

	/* Mobile Break for 3가지 약속 */
	.high2 .mobile-break::before {
		content: "";
		display: block;
	}

	/* 5개 카드 그리드 - 모바일 특별 스타일 */
	.high2 .cards-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 0 12px;
		margin-bottom: 24px;
	}

	.high2 .area-card {
		min-height: auto;
		padding: 16px 12px 16px;
		border-radius: 12px;
		margin: 0;
	}

	.high2 .area-card__title {
		font-size: 22px !important;
	}

	.high2 .area-card__button {
		display: none !important;
	}

	.high2 .area-card__quote {
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		min-height: auto !important;
		font-size: 14px;
	}

	.high2 .area-card__quote br {
		display: none !important;
	}

	.high2 .area-card__desc {
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		font-size: 12px;
	}

	.high2 .area-card__desc br {
		display: none !important;
	}

	/* Process Grids */
	.high2 .process-grid,
	.high2 .process-grid--4cols,
	.high2 .process-grid--7cols {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.high2 .process-step {
		padding: 12px;
	}

	/* Banner Grid */
	.high2 .banner-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 0 12px;
	}

	.high2 .banner-card {
		padding: 16px;
	}

	.high2 .banner-card__title {
		font-size: 22px;
	}

	.high2 .banner-card__desc {
		font-size: 18px;
	}

	.high2 .banner-card__desc br {
		display: none;
	}

	/* Accordion */
	.high2 .accordion-container {
		padding: 0 12px;
	}

	.high2 .accordion-item {
		display: none !important;
	}

	.high2 .mobile-notice {
		display: block;
		background: linear-gradient(135deg, #FFF9F0 0%, #FFFFFF 100%);
		border: 1px dashed #FF6B35;
		border-radius: 12px;
		padding: 16px;
		margin: 24px 12px;
		text-align: center;
	}

	.high2 .mobile-notice__icon {
		font-size: 32px;
		margin-bottom: 8px;
	}

	.high2 .mobile-notice__text {
		font-size: 14px;
		color: #2c3e50;
		font-weight: 600;
		margin: 0;
	}

	/* Touch Optimization */
	.high2 button,
	.high2 a,
	.high2 .touchable {
		min-height: 44px;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}

	.high2 .area-card:hover {
		transform: none !important;
	}

	.high2 .banner-card:hover {
		transform: none !important;
	}

	* {
		-webkit-overflow-scrolling: touch;
	}
}

/* ==================== Small Mobile (max-width: 360px) ==================== */
@media (max-width: 360px) {
	.high2 .page-title {
		font-size: 24px;
	}

	.high2 .area-card__title {
		font-size: 16px !important;
	}
}

/* ==================== Tablet (768px - 1023px) ==================== */
@media (min-width: 768px) and (max-width: 1023px) {
	.high2 .cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.high2 .process-grid--7cols {
		grid-template-columns: repeat(4, 1fr);
	}

	.high2 .mobile-notice {
		display: none;
	}
}

/* ==================== Desktop (1024px+) ==================== */
@media (min-width: 1024px) {
	.high2 .mobile-notice {
		display: none;
	}
}



/* 고등3 */
/* ==========================================
   2. 레이아웃 컨테이너
   ========================================== */
.high3 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* ==========================================
   3. 섹션 스타일
   ========================================== */
.high3 .section {
	padding: 57.6px 16px;
	margin: 0;
}

.high3 .section--hero {
	padding: 67.2px 16px 57.6px;
}

.high3 .section--compact {
	padding: 48px 16px;
}

@media (min-width: 768px) {
	.high3 {
		font-size: 17px;
	}

	.high3 .section {
		padding: 67.2px 28px;
	}

	.high3 .section--hero {
		padding: 81.6px 28px 67.2px;
	}
}

@media (min-width: 1024px) {
	.high3 {
		font-size: 18px;
	}

	.high3 .section {
		padding: 96px 24px;
	}

	.high3 .section--hero {
		padding: 120px 24px 96px;
	}

	.high3 .section--compact {
		padding: 76.8px 24px;
	}
}

/* ==========================================
   4. 배경색 체계
   ========================================== */
.high3 .bg-white { 
	background: #FFFFFF; 
}

.high3 .bg-light { 
	background: #F8F9FA;
}

.high3 .bg-warm { 
	background: linear-gradient(135deg, #FFF9F0 0%, #FFFFFF 100%); 
}

.high3 .bg-orange-light { 
	background: linear-gradient(135deg, #FFEAA7 0%, #FFE8CC 100%); 
}

.high3 .bg-gradient-subtle {
	background: linear-gradient(135deg, #FAFAFA 0%, #FFFFFF 100%);
}

/* ==========================================
   5. 섹션 헤더
   ========================================== */
.high3 .section__header {
	text-align: center;
	margin-bottom: 32px;
}

.high3 .section__title {
	font-size: 28px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 4px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high3 .page-title {
	font-size: 36px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.high3 .subtitle-badge {
	display: inline-block;
	padding: 4px 16px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 16px;
}

.high3 .subtitle-badge--gradient {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	box-shadow: 0 6px 20px rgba(255,107,53,0.25);
}

@media (min-width: 768px) {
	.high3 .section__header {
		margin-bottom: 36px;
	}

	.high3 .section__title {
		font-size: 36px;
	}

	.high3 .page-title {
		font-size: 44px;
	}

	.high3 .subtitle-badge {
		padding: 6px 20px;
		font-size: 15px;
		margin-bottom: 20px;
	}
}

@media (min-width: 1024px) {
	.high3 .section__header {
		margin-bottom: 40px;
	}

	.high3 .section__title {
		font-size: 42px;
	}

	.high3 .page-title {
		font-size: 52px;
	}

	.high3 .subtitle-badge {
		padding: 8px 24px;
		font-size: 16px;
		margin-bottom: 24px;
	}
}

/* ==========================================
   6. 카드 컴포넌트
   ========================================== */
.high3 .card {
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
}

.high3 .card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	border-color: #FFB84D;
}

.high3 .card--featured {
	border: 3px solid #FFB84D;
	box-shadow: 0 12px 40px rgba(255,184,77,0.15);
}

@media (min-width: 768px) {
	.high3 .card {
		padding: 28px;
	}
}

@media (min-width: 1024px) {
	.high3 .card {
		padding: 32px;
	}
}

/* ==========================================
   7. 그리드 시스템
   ========================================== */
.high3 .grid {
	display: grid;
	gap: 16px;
}

.high3 .grid--2 { grid-template-columns: 1fr; }
.high3 .grid--3 { grid-template-columns: 1fr; }
.high3 .grid--4 { grid-template-columns: 1fr; }
.high3 .grid--5 { grid-template-columns: 1fr; }

@media (min-width: 768px) {
	.high3 .grid {
		gap: 20px;
	}

	.high3 .grid--2 { grid-template-columns: repeat(2, 1fr); }
	.high3 .grid--3 { grid-template-columns: repeat(2, 1fr); }
	.high3 .grid--4 { grid-template-columns: repeat(2, 1fr); }
	.high3 .grid--5 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
	.high3 .grid {
		gap: 24px;
	}

	.high3 .grid--2 { grid-template-columns: repeat(2, 1fr); }
	.high3 .grid--3 { grid-template-columns: repeat(3, 1fr); }
	.high3 .grid--4 { grid-template-columns: repeat(4, 1fr); }
	.high3 .grid--5 { grid-template-columns: repeat(5, 1fr); }
}

.high3 .grid.allday2hour {
	place-items: center;
}

/* ==========================================
   8. Main Box
   ========================================== */
.high3 .main-box {
	max-width: 800px;
	margin: 0 auto;
}

.high3 .main-box__title {
	font-size: 20px;
	font-weight: 900;
	color: #FF6B35;
	margin-bottom: 8px;
	text-align: center;
}

.high3 .main-box__description {
	font-size: 14px;
	line-height: 1.7;
	color: #6B7280;
	margin-bottom: 24px;
	text-align: center;
}

.high3 .main-box__text--highlight {
	color: #FF6B35;
	font-weight: 700;
}

@media (min-width: 768px) {
	.high3 .main-box__title {
		font-size: 22px;
		margin-bottom: 12px;
	}

	.high3 .main-box__description {
		font-size: 15px;
		margin-bottom: 28px;
	}
}

@media (min-width: 1024px) {
	.high3 .main-box__title {
		font-size: 24px;
		margin-bottom: 16px;
	}

	.high3 .main-box__description {
		font-size: 16px;
		margin-bottom: 32px;
	}
}

/* ==========================================
   9. Time Cards
   ========================================== */
.high3 .time-grid {
	display: flex;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}

.high3 .time-card {
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 20px;
	padding: 24px 32px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.high3 .time-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	border-color: #FFB84D;
}

.high3 .time-card--primary {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	border: none;
	box-shadow: 0 8px 32px rgba(255,107,53,0.3);
}

.high3 .time-card__number {
	font-size: 44px;
	font-weight: 900;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 4px;
	line-height: 1;
}

.high3 .time-card--primary .time-card__number {
	-webkit-text-fill-color: #FFFFFF;
	background: none;
}

.high3 .time-card__label {
	font-size: 14px;
	color: #6B7280;
	font-weight: 600;
}

.high3 .time-card--primary .time-card__label {
	color: rgba(255,255,255,0.9);
}

@media (max-width: 767px) {
	.high3 .time-grid {
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.high3 .time-card {
		width: 100%;
		max-width: 300px;
		padding: 16px 24px;
	}

	.high3 .time-card__number {
		font-size: 36px;
	}

	.high3 .time-card__label {
		font-size: 14px;
		line-height: 1.2;
		margin-top: 2px;
	}
}

/* ==========================================
   10. Info Section
   ========================================== */
.high3 .info-section {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 32px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.high3 .info-section__badge {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	padding: 8px 32px;
	border-radius: 50px;
	font-size: 18px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 6px 20px rgba(255,107,53,0.25);
	flex-shrink: 0;
}

.high3 .info-section__content {
	flex: 1;
}

.high3 .info-section__text {
	font-size: 14px;
	line-height: 1.6;
	color: #6B7280;
	margin-bottom: 4px;
}

.high3 .info-section__text--highlight {
	font-size: 14px;
	color: #FF6B35;
	font-weight: 700;
	margin-top: 8px;
}

@media (max-width: 767px) {
	.high3 .info-section {
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.high3 .info-section__badge {
		padding: 8px 32px;
		font-size: 18px;
	}

	.high3 .info-section__text,
	.high3 .info-section__text--highlight {
		font-size: 14px;
		line-height: 1.8;
		text-align: center;
	}
}

/* ==========================================
   11. Study Cards
   ========================================== */
.high3 .study-card {
	flex: 1;
	background: linear-gradient(135deg, #F8F9FA 0%, #FFFFFF 100%);
	padding: 24px 16px;
	text-align: center;
}

.high3 .study-card:hover {
	background: #FFF3E0;
}

.high3 .study-card__icon {
	font-size: 48px;
	margin-bottom: 8px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.high3 .study-card__title {
	font-size: 16px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 4px;
	line-height: 1.2;
}

.high3 .study-card__time {
	font-size: 18px;
	font-weight: 700;
	color: #FF6B35;
}

/* ==========================================
   12. Process Steps
   ========================================== */
.high3 .process-item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.high3 .process-item__circle {
	width: 120px;
	height: 120px;
	border: 4px solid #FFB84D;
	border-radius: 50%;
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	margin-bottom: 24px;
}

@media (min-width: 768px) {
	.high3 .process-item__circle {
		width: 154px;
		height: 154px;
	}
}

.high3 .process-item__circle:hover {
	transform: scale(1.1);
	background: #FFF3E0;
	border-color: #FF6B35;
}

.high3 .process-item__number {
	font-size: 48px;
	font-weight: 900;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1;
	margin-bottom: -5px;
}

@media (min-width: 768px) {
	.high3 .process-item__number {
		font-size: 60px;
	}
}

.high3 .process-item__label {
	font-size: 24px;
	font-weight: 700;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-top: -5px;
}

@media (min-width: 768px) {
	.high3 .process-item__label {
		font-size: 28px;
	}
}

.high3 .process-item__content {
	text-align: center;
	padding-top: 8px;
}

.high3 .process-item__title {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 4px;
}

.high3 .process-item__desc {
	font-size: 14px;
	color: #6B7280;
	line-height: 1.4;
}

/* Process Items 모바일 2x2 그리드 */
@media (max-width: 767px) {
	.high3 .grid--4 {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.high3 .process-item__circle {
		width: 100px;
		height: 100px;
		margin-bottom: 4px;
	}

	.high3 .process-item:nth-child(3),
	.high3 .process-item:nth-child(4) {
		margin-top: 24px;
	}

	.high3 .process-item__number {
		font-size: 36px;
	}

	.high3 .process-item__label {
		font-size: 18px;
	}

	.high3 .process-item__title {
		font-size: 16px;
	}

	.high3 .process-item__desc {
		font-size: 12px;
		line-height: 1.3;
	}
}

/* ==========================================
   13. Parent Box
   ========================================== */
.high3 .parent-box {
	background: rgba(255,255,255,0.95);
	border-radius: 30px;
	padding: 16px;
	display: flex;
	gap: 48px;
	align-items: center;
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	max-width: 1100px;
	margin: 0 auto;
}

@media (min-width: 1024px) {
	.high3 .parent-box {
		padding: 40px;
	}
}

.high3 .parent-box__content {
	flex: 1;
}

.high3 .parent-box__title {
	font-size: 20px;
	font-weight: 900;
	color: #1A1A1A;
	text-align: left;
	margin-bottom: 16px;
}

@media (min-width: 768px) {
	.high3 .parent-box__title {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.high3 .parent-box {
		padding: 4px;
		border-radius: 30px;
		flex-direction: column;
		gap: 24px;
	}

	.high3 .parent-box__content {
		padding: 16px;
	}

	.high3 .parent-box__title {
		font-size: 20px;
		text-align: center;
	}
}

/* ==========================================
   14. Checklist
   ========================================== */
.high3 .checklist {
	margin-bottom: 16px;
}

.high3 .checklist__item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	transition: all 0.3s ease;
}

.high3 .checklist__item:hover {
	transform: translateX(10px);
}

.high3 .checklist__mark {
	color: #4CAF50;
	font-size: 20px;
	font-weight: 700;
}

.high3 .checklist__text {
	font-size: 18px;
	color: #2C3E50;
}

.high3 .parent-box__highlight {
	font-size: 16px;
	color: #FF6B35;
	font-weight: 700;
	margin: 16px 0 24px;
}

@media (max-width: 767px) {
	.high3 .checklist__item {
		gap: 8px;
		margin-bottom: 8px;
	}

	.high3 .checklist__mark {
		font-size: 20px;
	}

	.high3 .checklist__text {
		font-size: 16px;
	}

	.high3 .parent-box__highlight {
		font-size: 16px;
		margin: 16px 0 24px;
	}
}

/* ==========================================
   15. Icon Grid
   ========================================== */
.high3 .icon-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

@media (min-width: 768px) {
	.high3 .icon-grid {
		display: flex;
		gap: 24px;
	}
}

.high3 .icon-item {
	text-align: center;
	transition: all 0.3s ease;
}

.high3 .icon-item:hover {
	transform: translateY(-10px);
}

.high3 .icon-item__box {
	width: 80px;
	height: 80px;
	background: #FFFFFF;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 4px;
	font-size: 36px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.high3 .icon-item__label {
	font-size: 12px;
	color: #6B7280;
	font-weight: 600;
}

@media (max-width: 767px) {
	.high3 .icon-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.high3 .icon-item__box {
		width: 64px;
		height: 64px;
		font-size: 28px;
		margin: 0 auto 8px;
	}

	.high3 .icon-item__label {
		font-size: 12px;
	}
}

/* ==========================================
   16. Photo Grid
   ========================================== */
.high3 .photo-grid {
	flex: 1.5;
	/*height: 300px;*/
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
}

@media (min-width: 768px) {
	.high3 .photo-grid {
		/*height: 400px;*/
	}
}

.high3 .photo-placeholder {
	background: linear-gradient(135deg, #F0F0F0, #E0E0E0);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999999;
	font-size: 12px;
	border: 2px dashed #E8E8E8;
	transition: all 0.3s ease;
	padding: 10px;
	overflow: hidden;
}

.high3 .photo-placeholder:hover {
	border-color: #FFB84D;
	background: #FFF3E0;
	transform: scale(1.02);
}

.high3 .photo-placeholder img {
	max-width: 100%;
}

@media (max-width: 767px) {
	.high3 .photo-grid {
		grid-template-columns: 1fr 1fr;
		aspect-ratio: 1.5 / 1;
		height: auto;
		gap: 8px;
		padding: 0 16px;
		width: 100%;
		flex: 1.5;
	}

	.high3 .photo-placeholder {
		font-size: 12px;
		padding: 3px;
	}
}

/* ==========================================
   17. Achievement Cards
   ========================================== */
.high3 .achievement-card {
	width: 280px;
	position: relative;
	overflow: hidden;
	text-align: center;
	padding: 40px 24px 24px;
}

.high3 .achievement-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
}

.high3 .achievement-card:hover {
	transform: translateY(-12px);
}

.high3 .achievement-card__icon {
	font-size: 56px;
	margin-bottom: 16px;
}

.high3 .achievement-card__value {
	font-size: 48px;
	font-weight: 900;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 8px;
}

.high3 .achievement-card__label {
	font-size: 18px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.high3 .achievement-card__desc {
	font-size: 14px;
	line-height: 1.6;
	color: #6B7280;
	word-break: keep-all;
}

/* ==========================================
   18. FAQ Cards
   ========================================== */
.high3 .faq-card {
	background: #FFE8D6;
	border: 2px solid #FFB84D;
	border-radius: 20px;
	padding: 8px 24px;
	position: relative;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	overflow: hidden;
}

.high3 .faq-card:hover {
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	transform: translateY(-5px);
	background: #FFDCC4;
}

.high3 .faq-card__icon {
	position: absolute;
	top: 13px;
	left: 16px;
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	z-index: 1;
}

@media (min-width: 768px) {
	.high3 .faq-card__icon {
		left: 30px;
		top: 13px;
		width: 32px;
		height: 32px;
		font-size: 18px;
	}
}

.high3 .faq-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 60px;
	padding-top: 1px;
	padding-bottom: 7px;
	cursor: pointer;
	min-height: 48px;
	position: relative;
}

@media (min-width: 768px) {
	.high3 .faq-card__header {
		padding-left: 80px;
	}
}

.high3 .faq-card__question {
	font-size: 16px;
	font-weight: 700;
	color: #1A1A1A;
	line-height: 1.4;
	flex: 1;
	word-break: keep-all;
}

@media (min-width: 768px) {
	.high3 .faq-card__question {
		font-size: 18px;
	}
}

.high3 .faq-card__toggle {
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border: none;
	border-radius: 50%;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 8px;
	flex-shrink: 0;
}

.high3 .faq-card__toggle:hover {
	transform: scale(1.1);
	box-shadow: 0 4px 12px rgba(255,107,53,0.3);
}

.high3 .faq-card__toggle--active {
	transform: rotate(45deg);
}

.high3 .faq-card__answer {
	font-size: 14px;
	line-height: 1.8;
	color: #6B7280;
	padding-left: 60px;
	padding-right: 24px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: #FFFFFF;
	margin: 0 -24px -8px -24px;
	padding-top: 0;
}

@media (min-width: 768px) {
	.high3 .faq-card__answer {
		padding-left: 80px;
	}
}

.high3 .faq-card__answer--show {
	max-height: 300px;
	padding-bottom: 16px;
	padding-top: 16px;
}

@media (max-width: 767px) {
	.high3 .faq-card {
		padding: 8px 16px;
		border-radius: 20px;
	}

	.high3 .faq-card__header {
		min-height: 40px;
		padding: 1px 0 7px 0;
		padding-left: 46px;
		padding-right: 40px;
	}

	.high3 .faq-card__question {
		font-size: 16px;
		line-height: 1.3;
	}

	.high3 .faq-card__icon {
		width: 28px;
		height: 28px;
		font-size: 14px;
		top: 13px;
		left: 12px;
	}

	.high3 .faq-card__toggle {
		width: 28px;
		height: 28px;
		font-size: 14px;
		position: absolute;
		right: 8px;
		/*top: 13px;*/
	}

	.high3 .faq-card__toggle--active {
		transform: rotate(45deg);
	}

	.high3 .faq-card__answer {
		padding-left: 46px;
		padding-right: 16px;
		font-size: 14px;
		line-height: 1.8;
		margin: 0 -16px -8px -16px;
		background: #FFFFFF;
	}

	.high3 .faq-card__answer--show {
		padding-bottom: 16px;
		padding-top: 16px;
	}

	.high3 .achievement-card {
		width: 100%;
	}
}



/* 고등4-1 */
/* Container */
.high4_1 .container {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.high4_1 .container {
		padding: 80px 24px;
	}
}

/* Background Sections */
.high4_1 .bg-light {
	background: #F8F9FA;
}

.high4_1 .bg-warm {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%);
}

/* Section Header */
.high4_1 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

.high4_1 .main-title {
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high4_1 .subtitle-badge {
	display: inline-block;
	background: transparent;
	color: #FF6B35;
	padding: 0;
	border-radius: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.high4_1 .section-desc {
	font-size: 18px;
	color: #6B7280;
	margin-top: 7px;
	line-height: 1.8;
	background: linear-gradient(135deg, #FFF9F0 0%, #FFF5E6 100%);
	padding: 32px 40px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	border: 1px solid #FFE0CC;
	max-width: 900px;
	margin: 16px auto 40px;
}

/* Table Styles */
.high4_1 .table-box {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 32px;
	margin-bottom: 24px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	border: 1px solid rgba(0, 0, 0, 0.04);
}

.high4_1 .table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.high4_1 .table-title {
	font-size: 20px;
	font-weight: 700;
	color: #2c3e50;
	margin-bottom: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 2px solid #F8F9FA;
}

.high4_1 .table-title-text {
	font-weight: 700;
}

.high4_1 .table-title-sub {
	font-weight: 400;
	color: #6B7280;
}

.high4_1 .mobile-break {
	display: none;
}

.high4_1 .table-badge {
	background: #FF6B35;
	color: #FFFFFF;
	padding: 6px 24px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
}

.high4_1 table {
	width: 100%;
	border: 2px solid #888888;
	border-radius: 12px;
	overflow: hidden;
	border-collapse: collapse;
	background: #FFFFFF;
	min-width: 600px;
}

.high4_1 th {
	background: #E8E8E8;
	color: #2c3e50;
	font-weight: 700;
	padding: 23px 16px;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.3px;
	line-height: 1.2;
	border: 1px solid #C0C0C0;
}

.high4_1 td {
	padding: 18px 8px;
	text-align: center;
	border: 1px solid #C0C0C0;
	font-size: 18px;
	background: #FFFFFF;
	color: #1A1A1A;
	line-height: 1.2;
}

.high4_1 .time-slot {
	font-weight: 600;
	color: #1A1A1A;
}

.high4_1 .class-type {
	background: #F8F9FA;
	font-weight: 700;
	color: #1A1A1A;
}

/* Remainder Section */
.high4_1 .remainder-header {
	text-align: center;
	margin-bottom: 20px;
}

.high4_1 .remainder-title {
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 7px;
}

.high4_1 .remainder-subtitle {
	color: #FF6B35;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.high4_1 .remainder-desc-box {
	background: linear-gradient(135deg, #FFF9F0 0%, #FFF5E6 100%);
	padding: 20px 30px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	border: 1px solid #FFE0CC;
	max-width: 800px;
	margin: 0 auto;
}

.high4_1 .remainder-desc-text {
	font-size: 17px;
	color: #2c3e50;
	margin: 0;
	font-weight: 600;
}

.high4_1 .remainder-layout {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

.high4_1 .remainder-content {
	flex: 1;
	background: #FFFFFF;
	border-radius: 24px;
	padding: 40px;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
}

.high4_1 .remainder-tables {
	width: 100%;
}

.high4_1 .remainder-images {
	width: 320px;
	align-self: stretch;
}

.high4_1 .image-placeholder {
	background: #FFFFFF;
	border: 2px solid #F8F9FA;
	border-radius: 16px;
	padding: 60px 20px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999999;
	font-size: 13px;
	transition: all 0.3s ease;
	margin-bottom: 15px;
	position: relative;
}

.high4_1 .image-placeholder:hover {
	border-color: #FF6B35;
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(255, 107, 53, 0.15);
}

.high4_1 .image-placeholder img {
	max-width: 100%;
	max-height: 100%;
}

.high4_1 .image-label {
	position: absolute;
	top: 15px;
	left: 15px;
	background: rgba(0,0,0,0.7);
	color: white;
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
}

/* Compact Table */
.high4_1 .compact-table {
	background: #FFFFFF;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	margin-bottom: 15px;
}

.high4_1 .compact-table h3 {
	font-size: 20px;
	font-weight: 700;
	color: #2c3e50;
	margin-bottom: 10px;
}

.high4_1 .compact-table th {
	padding: 9px 14px;
	font-size: 16px;
}

.high4_1 .compact-table td {
	padding: 7px 12px;
	font-size: 16px;
}

.high4_1 .remainder-normal {
	background: #F8F9FA;
	font-weight: 600;
}

.high4_1 .remainder-highlight {
	background: #FFF3E0;
	color: #FF6B35;
	font-weight: 700;
}

.high4_1 .remainder-highlight-cell {
	background: #FFF9F0;
	color: #FF6B35;
	font-weight: 600;
}

/* FAQ Accordion */
.high4_1 .faq-accordion {
	margin-top: 30px;
}

.high4_1 .faq-item {
	background: #FFFFFF;
	border: 1px solid #E5E5E5;
	border-radius: 12px;
	margin-bottom: 10px;
	overflow: hidden;
	transition: all 0.3s ease;
}

.high4_1 .faq-item:hover {
	border-color: #FF6B35;
	box-shadow: 0 5px 15px rgba(255, 107, 53, 0.1);
}

.high4_1 .faq-header {
	padding: 18px 25px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: linear-gradient(135deg, #FFF9F5 0%, #FFF5ED 100%);
	transition: all 0.3s ease;
}

.high4_1 .faq-header:hover {
	background: linear-gradient(135deg, #FFF3E0 0%, #FFE8D6 100%);
}

.high4_1 .faq-question {
	font-size: 20px;
	font-weight: 700;
	color: #2c3e50;
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
}

.high4_1 .faq-q-mark {
	width: 32px;
	height: 32px;
	background: #FF6B35;
	color: #FFFFFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 18px;
	flex-shrink: 0;
}

.high4_1 .faq-toggle {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FF6B35;
	font-weight: bold;
	font-size: 18px;
	transition: transform 0.3s ease;
}

.high4_1 .faq-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

.high4_1 .faq-answer {
	padding: 20px 25px 20px 69px;
	font-size: 16px;
	line-height: 1.8;
	color: #2c3e50;
}

.high4_1 .faq-item.active .faq-content {
	max-height: 300px;
	transition: max-height 0.3s ease-in;
}

.high4_1 .faq-item.active .faq-toggle {
	transform: rotate(45deg);
}

.high4_1 .faq-item.active .faq-header {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD0B3 100%);
}

/* Learning Management System */
.high4_1 .lms-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
}

.high4_1 .lms-section-header {
	text-align: center;
	margin-bottom: 32px;
}

.high4_1 .lms-title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.high4_1 .lms-badge {
	display: inline-block;
	background: #FF6B35;
	color: white;
	padding: 4px 12px;
	border-radius: 6px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.high4_1 .lms-item-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.high4_1 .lms-item {
	text-align: center;
}

.high4_1 .lms-item-box {
	width: 100%;
	/*height: 162px;*/
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #999999;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	overflow: hidden;
}

.high4_1 .lms-item-box img {
	max-width: 100%;
}

.high4_1 .lms-item-label {
	margin-top: 8px;
	font-size: 16px;
	font-weight: 600;
	color: #2c3e50;
}

/* Mobile Styles */
@media (max-width: 767px) {
	.high4_1 .container {
		padding: 40px 12px;
		max-width: 100%;
	}

	.high4_1 section {
		padding: 0;
	}

	.high4_1 .section-header {
		padding: 0 12px;
		margin-bottom: 16px;
	}

	.high4_1 .main-title {
		font-size: 30px !important;
		word-break: keep-all;
		line-height: 1.2;
		margin-bottom: 8px;
	}

	.high4_1 .subtitle-badge {
		font-size: 11px;
		margin-bottom: 8px;
	}

	.high4_1 .section-desc {
		font-size: 14px;
		padding: 12px 16px;
		margin: 4px 8px 32px;
		line-height: 1.4;
		border-radius: 0;
	}

	.high4_1 .remainder-title {
		font-size: 30px !important;
	}

	.high4_1 .remainder-desc-text {
		font-size: 14px !important;
	}

	.high4_1 .remainder-desc-box {
		margin: 0 8px !important;
		padding: 12px !important;
		border-radius: 8px !important;
	}

	.high4_1 .table-box {
		padding: 12px;
		margin-bottom: 12px;
		border-radius: 12px;
	}

	.high4_1 .table-title {
		font-size: 18px;
		flex-direction: column;
		gap: 8px;
		align-items: flex-start;
		line-height: 1.2;
	}

	.high4_1 .mobile-break {
		display: block;
	}

	.high4_1 .table-badge {
		align-self: flex-start;
		font-size: 12px;
		padding: 4px 12px;
	}

	.high4_1 .table-wrapper {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		/*margin: 0 -12px;*/
		/*padding: 0 12px;*/
	}

	.high4_1 .table-wrapper::after {
		content: '← 좌우로 스크롤 →';
		display: block;
		text-align: center;
		padding: 8px;
		color: #999999;
		font-size: 11px;
		margin-top: 8px;
	}

	.high4_1 .table-wrapper table {
		min-width: 600px;
		font-size: 13px;
	}

	.high4_1 th,
	.high4_1 td {
		padding: 6px 8px !important;
		font-size: 13px !important;
		line-height: 1.2;
	}

	.high4_1 .remainder-layout {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.high4_1 .remainder-content {
		padding: 12px !important;
		border-radius: 12px !important;
		margin: 0 !important;
	}

	.high4_1 .remainder-images {
		width: 100% !important;
		padding: 0 8px !important;
		margin-bottom: 16px !important;
	}

	.high4_1 .image-placeholder {
		height: 300px !important;
		padding: 20px 20px !important;
	}

	.high4_1 .compact-table {
		margin-bottom: 12px !important;
	}

	.high4_1 .compact-table h3 {
		font-size: 18px !important;
		margin-bottom: 8px !important;
	}

	.high4_1 .remainder-content .table-wrapper {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.high4_1 .remainder-content .table-wrapper::after {
		content: '← 좌우로 스크롤 →';
		display: block;
		text-align: center;
		padding: 8px;
		color: #999999;
		font-size: 11px;
		margin-top: 8px;
	}

	.high4_1 .remainder-content table {
		min-width: unset;/*450px;*/
		width: 100%;
	}

	.high4_1 .compact-table th,
	.high4_1 .compact-table td {
		padding: 6px 4px !important;
		font-size: 13px !important;
	}

	.high4_1 .faq-accordion {
		margin-top: 16px !important;
		width: 100% !important;
	}

	.high4_1 .faq-item {
		margin-bottom: 8px !important;
		width: 100% !important;
	}

	.high4_1 .faq-header {
		padding: 8px !important;
		min-height: 44px;
		display: flex !important;
		gap: 8px !important;
	}

	.high4_1 .faq-question {
		font-size: 14px !important;
		gap: 6px !important;
		flex: 1 !important;
	}

	.high4_1 .faq-q-mark {
		width: 20px !important;
		height: 20px !important;
		font-size: 12px !important;
		flex-shrink: 0 !important;
	}

	.high4_1 .faq-toggle {
		flex-shrink: 0 !important;
		width: 20px !important;
		height: 20px !important;
		font-size: 16px !important;
	}

	.high4_1 .faq-answer {
		padding: 8px 8px 12px 34px !important;
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	.high4_1 section.bg-light {
		padding-top: 48px !important;
	}

	.high4_1 .lms-grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.high4_1 .lms-grid > div {
		margin-bottom: 0 !important;
	}

	.high4_1 .lms-title {
		font-size: 18px !important;
		display: block !important;
		text-align: center !important;
		line-height: 1 !important;
		margin-bottom: 3px !important;
	}

	.high4_1 .lms-badge {
		font-size: 14px !important;
		padding: 3px 8px !important;
		display: block !important;
		margin: 0 auto 2px !important;
		width: fit-content !important;
	}

	.high4_1 .lms-section-header {
		margin-bottom: 24px !important;
	}

	.high4_1 .lms-item-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}

	.high4_1 .lms-item-box {
		height: 100px !important;
		font-size: 10px !important;
		border-radius: 8px !important;
	}

	.high4_1 .lms-item-label {
		font-size: 11px !important;
		margin-top: 6px !important;
		line-height: 1.3 !important;
	}

	.high4_1 button,
	.high4_1 a,
	.high4_1 .faq-header {
		min-height: 44px;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}

	.high4_1 .table-box:hover,
	.high4_1 .image-placeholder:hover,
	.high4_1 .faq-item:hover,
	.high4_1 .faq-header:hover,
	.high4_1 .lms-item-box:hover {
		transform: none !important;
		box-shadow: none !important;
	}
}

@media (max-width: 360px) {
	.high4_1 .main-title {
		font-size: 24px !important;
	}

	.high4_1 .container {
		padding: 32px 8px;
	}

	.high4_1 .table-wrapper table {
		/*min-width: 500px;*/
	}

	.high4_1 .lms-item-box {
		height: 90px !important;
		font-size: 10px !important;
	}
}



/* 고등4-2 */
/* ============================================
   3. Layout Components
   ============================================ */
.high4_2 .section {
	position: relative;
	overflow: hidden;
	padding: 80px 0;
}

.high4_2 .section--warm {
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%);
	padding-top: 160px;
}

.high4_2 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
}

/* ============================================
   4. Components - Section Header
   ============================================ */
.high4_2 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

.high4_2 .section-header--letter {
	margin-top: -35px;
}

.high4_2 .section-title {
	display: block;
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.high4_2 .section-subtitle {
	display: inline-block;
	color: #FF6B35;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 24px;
}

.high4_2 .section-description {
	font-size: 18px;
	color: #6B7280;
	line-height: 1.8;
	background: linear-gradient(135deg, #FFF9F5 0%, #FFF5ED 100%);
	padding: 32px 40px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	border: 1px solid #FFE0CC;
	max-width: 900px;
	margin: 16px auto 40px;
}

/* ============================================
   5. Components - Timeline
   ============================================ */
.high4_2 .timeline-container {
	background: #FFFFFF;
	border-radius: 24px;
	padding: 40px;
	box-shadow: 0 15px 50px rgba(0,0,0,0.08);
	border: 1px solid rgba(0, 0, 0, 0.04);
	position: relative;
}

/* Exam Labels */
.high4_2 .timeline__exam-labels {
	position: relative;
	height: 60px;
	margin-bottom: 5px;
	margin-left: 50px;
	margin-top: 2px;
}

.high4_2 .exam-label {
	position: absolute;
	text-align: center;
	width: 120px;
	top: 2px;
}

.high4_2 .exam-label::after {
	content: '▼';
	display: block;
	color: #999999;
	font-size: 12px;
	margin-top: 5px;
}

.high4_2 .exam-label__content {
	background: #F5F5F5;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
	color: #2c3e50;
	font-weight: 600;
	text-align: center;
}

/* Month Bar */
.high4_2 .timeline__months {
	display: flex;
	width: 100%;
	height: 60px;
	background: #FFFFFF;
	position: relative;
	margin-top: 25px;
	border-left: 3px solid #666;
	border-right: 3px solid #666;
}

.high4_2 .month-cell {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 600;
	color: #2c3e50;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}

.high4_2 .month-cell--semester1 { background: #FFF0E8; }
.high4_2 .month-cell--semester2 { background: #E8F4FF; }
.high4_2 .month-cell--semester3 { background: #F0FFE8; }
.high4_2 .month-cell--semester4 { background: #FFE8F4; }

.high4_2 .month-cell:hover {
	background: #FFF3E0 !important;
	color: #FF6B35;
}

.high4_2 .month-cell:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 10px;
	bottom: 10px;
	width: 1px;
	background: #D0D0D0;
}

.high4_2 .month-cell:nth-child(2)::after,
.high4_2 .month-cell:nth-child(5)::after,
.high4_2 .month-cell:nth-child(8)::after {
	top: -20px;
	bottom: -20px;
	width: 2px;
	background: #888;
}

/* Semester Labels */
.high4_2 .timeline__semesters {
	position: relative;
	height: 30px;
	margin-top: 8px;
}

.high4_2 .semester-label {
	position: absolute;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	width: 60px;
}

.high4_2 .semester-label--1 { color: #FF9B70; left: calc(8.3% - 30px); }
.high4_2 .semester-label--2 { color: #4A90E2; left: calc(33.3% - 67px); }
.high4_2 .semester-label--3 { color: #5CB85C; left: calc(58.3% - 67px); }
.high4_2 .semester-label--4 { color: #E91E63; left: calc(83.3% - 37px); }

/* Assessment Points */
.high4_2 .timeline__assessments {
	position: relative;
	margin-top: 32px;
	height: 60px;
}

.high4_2 .assessment-point {
	position: absolute;
	text-align: center;
	width: 80px;
	top: -48px;
}

.high4_2 .assessment-point__indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 5px;
}

.high4_2 .assessment-point__arrow {
	color: #999999;
	font-size: 10px;
	line-height: 0.5;
}

.high4_2 .assessment-point__line {
	width: 1px;
	height: 20px;
	background: #999999;
}

.high4_2 .assessment-point__badge {
	display: inline-block;
	background: #666;
	color: #FFFFFF;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
}

/* ============================================
   6. Components - Letter Section
   ============================================ */
.high4_2 .letter-layout {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

.high4_2 .letter-container {
	flex: 1;
}

.high4_2 .letter-content {
	background: #FFFFFF;
	border-radius: 24px;
	padding: 45px 60px;
	box-shadow: 0 15px 50px rgba(0,0,0,0.08);
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}

/* Profile Card - 편지 안에 위치 */
.high4_2 .profile-card {
	float: right;
	width: 460px;
	margin: 0 0 30px 30px;
	background: linear-gradient(135deg, #FFF9F5 0%, #FFF5ED 100%);
	border-radius: 20px;
	padding: 20px;
	padding-top: 0;
	border: 2px solid #FFD0B3;
	box-shadow: 0 10px 30px rgba(255, 107, 53, 0.1);
}

.high4_2 .profile-header {
	text-align: center;
	padding: 15px 0 5px;
	border-bottom: 1px solid #FFE0CC;
}

.high4_2 .profile-name {
	font-size: 24px;
	font-weight: 800;
	color: #2c3e50;
	margin: 0;
}

.high4_2 .profile-body {
	display: flex;
	gap: 20px;
	padding-top: 15px;
	align-items: stretch;
}

.high4_2 .profile-photo {
	flex-shrink: 0;
}

.high4_2 .profile-photo-placeholder {
	width: 140px;
	/*height: 170px;*/
	background: #F8F9FA;
	border: 3px solid #FF6B35;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	color: #999999;
	overflow: hidden;
}

.high4_2 .profile-photo-placeholder img {
	max-width: 100%;
}

.high4_2 .profile-details {
	flex: 1;
	font-size: 14px;
	line-height: 1.45;
	color: #2c3e50;
}

.high4_2 .profile-details > div {
	margin-bottom: 2px;
}

.high4_2 .profile-badge {
	background: #FF6B35;
	color: #FFFFFF;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: 700;
	margin-top: 12px;
	text-align: center;
}

/* Letter Content */
.high4_2 .letter-paragraph {
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 18px;
	color: #2c3e50;
}

.high4_2 .letter-greeting {
	font-size: 18px;
	font-weight: 600;
}

/* Letter Section Title */
.high4_2 .letter-section-title {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-top: 30px;
	margin-bottom: 12px;
	clear: both;
}

/* 첫 번째 섹션 제목 특별 처리 */
.high4_2 .letter-section-title--first {
	clear: none !important;
	margin-top: 10px;
}

.high4_2 .letter-quote {
	background: linear-gradient(135deg, rgba(255, 184, 77, 0.3) 0%, rgba(255, 107, 53, 0.3) 100%);
	color: #FF6B35;
	border-radius: 16px;
	padding: 15px 30px;
	margin: 20px 0 5px;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	box-shadow: 0 5px 20px rgba(255, 107, 53, 0.1);
	border: 1px solid rgba(255, 107, 53, 0.2);
	clear: both;
}

.high4_2 .letter-closing {
	margin-top: 40px;
	padding-top: 25px;
	text-align: right;
	font-size: 15px;
	color: #6B7280;
	border-top: 2px solid #F8F9FA;
	clear: both;
}

/* ============================================
   7. Responsive Design
   ============================================ */
@media (max-width: 1024px) {
	.high4_2 .container {
		padding: 64px 24px;
	}

	.high4_2 .profile-card {
		width: 400px;
	}
}

@media (max-width: 767px) {
	/* 레이아웃 */
	.high4_2 .section {
		padding: 40px 0;
	}

	.high4_2 .section--warm {
		padding-top: 80px;
	}

	.high4_2 .container {
		padding: 0 8px;
	}

	/* 섹션 헤더 */
	.high4_2 .section-header {
		margin-bottom: 16px;
	}

	.high4_2 .section-header--letter {
		margin-top: -20px;
	}

	.high4_2 .section-title {
		font-size: 30px;
	}

	.high4_2 .section-subtitle {
		font-size: 12px;
		margin-bottom: 12px;
	}

	.high4_2 .section-description {
		font-size: 14px;
		padding: 12px;
		line-height: 1.8;
		margin: 8px auto 24px;
	}

	/* 타임라인 */
	.high4_2 .timeline-container {
		padding: 12px;
		border-radius: 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.high4_2 .timeline-container > div {
		min-width: 600px;
	}

	.high4_2 .timeline__exam-labels {
		display: none;
	}

	.high4_2 .timeline__months {
		height: 40px;
	}

	.high4_2 .month-cell {
		font-size: 12px;
	}

	.high4_2 .timeline__assessments {
		display: none;
	}

	/* 편지 섹션 */
	.high4_2 .letter-layout {
		flex-direction: column;
	}

	.high4_2 .letter-content {
		padding: 16px;
		border-radius: 12px;
	}

	/* 프로필 카드 모바일 - 독립적인 1줄 블록 */
	.high4_2 .profile-card {
		float: none;
		width: 100%;
		margin: 0 0 12px 0;
		padding: 8px;
		padding-top: 0;
	}

	.high4_2 .profile-header {
		padding: 8px 0 4px;
		text-align: center;
		margin-top: 4px;
	}

	.high4_2 .profile-name {
		font-size: 16px;
		line-height: 1.3;
	}

	.high4_2 .profile-body {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		padding-top: 8px;
	}

	.high4_2 .profile-photo {
		flex-shrink: 0;
	}

	.high4_2 .profile-photo-placeholder {
		width: 160px;
		/*height: 200px;*/
		display: flex;
		font-size: 11px;
	}

	.high4_2 .profile-details {
		flex: 1;
		width: 100%;
		font-size: 12px;
		line-height: 1.5;
		display: block;
		text-align: left;
	}

	.high4_2 .profile-details > div {
		margin-bottom: 2px;
	}

	.high4_2 .profile-badge {
		font-size: 13px;
		padding: 6px 10px;
		margin-top: 8px;
	}

	/* 편지 내용 */
	.high4_2 .letter-paragraph {
		font-size: 14px;
		margin-bottom: 12px;
		text-align: justify;
	}

	.high4_2 .letter-paragraph:first-of-type {
		margin-top: 24px;
	}

	.high4_2 .letter-greeting {
		font-size: 16px;
	}

	.high4_2 .letter-section-title {
		font-size: 16px;
		margin-top: 8px;
		margin-bottom: 8px;
	}

	.high4_2 .letter-quote {
		font-size: 16px;
		padding: 12px;
	}

	.high4_2 .letter-closing {
		font-size: 14px;
		margin-top: 16px;
		padding-top: 12px;
	}
}