/* ==================== 기본 스타일 리셋 ==================== */
.middle body,
.middle ul,
.middle li,
.middle p,
.middle div,
.middle input,
.middle textarea,
.middle select,
.middle table,
.middle button,
.middle h1,
.middle 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 */
/* ==================== 중등부 메인 페이지 스타일 ==================== */

/* 레이아웃 시스템 */
.middle1_1 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

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

/* 히어로 섹션 */
.middle1_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;
}

.middle1_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;
}

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

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

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

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

/* 핵심 강점 섹션 */
.middle1_1 .core-strengths {
	margin-top: 64px;
	animation: fadeInUp 0.8s ease 0.2s both;
}

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

.middle1_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);
}

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

.middle1_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;
}

/* 강점 카드 그리드 */
.middle1_1 .strengths-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin-top: 24px;
	padding: 0;
	overflow: visible !important;
}

.middle1_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;
}

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

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

.middle1_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);
}

.middle1_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);
}

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

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

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

/* 강점 카드 스타일 */
.middle1_1 .strength-card {
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 20px 20px 0 0;
	padding: 0;
	text-align: center;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.middle1_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;
}

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

.middle1_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;
}

.middle1_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;
}

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

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

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

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

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

/* Special Features */
.middle1_1 .special-features {
	text-align: center;
	margin: 80px 0 32px 0;
	padding-top: 80px;
}

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

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

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

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

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

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

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

.middle1_1 .description-box__text strong {
	color: #FF6B35;
	font-weight: 700;
}

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

.middle1_1 .feature-card {
	background: #FFFFFF;
	border-radius: 20px;
	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;
}

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

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

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

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

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

.middle1_1 .feature-card__highlight {
	border: 2px solid #FFB84D;
	border-radius: 12px;
	padding: 16px;
	background: #FFF3E0;
}

.middle1_1 .feature-card__highlight-text {
	font-size: 20px;
	color: #6B7280;
	margin: 0;
}

/* 유틸리티 클래스 */
.middle1_1 .mobile-break {
	display: none;
}

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

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ==================== 태블릿 반응형 (768px-1024px) ==================== */
@media (min-width: 768px) {
	.middle1_1 .container {
		padding: 0 24px;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.middle1_1 .strengths-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.middle1_1 .feature-cards {
		grid-template-columns: 1fr;
	}
}

/* ==================== 모바일 반응형 (767px 이하) ==================== */
@media (max-width: 767px) {
	.middle1_1 .mobile-break {
		display: inline;
	}

	.middle1_1 .container {
		padding: 0;
		max-width: 100%;
	}

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

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

	/* 히어로 섹션 */
	.middle1_1 .hero-header {
		padding: 0 16px;
	}

	.middle1_1 .hero-title {
		font-size: 26px;
		line-height: 1.2;
		margin-bottom: 8px;
	}

	.middle1_1 .hero-subtitle {
		font-size: 14px;
		line-height: 1.3;
	}

	/* 핵심 강점 헤더 */
	.middle1_1 .core-strengths__header {
		padding: 0 16px;
	}

	.middle1_1 .core-strengths__badge {
		font-size: 15px;
		padding: 4px 8px;
		margin-bottom: 8px;
	}

	.middle1_1 .core-strengths__title {
		font-size: 20px;
		line-height: 1.3;
		margin-bottom: 8px;
	}

	/* 강점 카드 그리드 */
	.middle1_1 .strengths-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 16px;
		margin: 0;
		width: 100%;
	}

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

	/* 호버 효과 제거 */
	.middle1_1 .strength-card-container:hover {
		transform: none !important;
		z-index: auto !important;
	}

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

	.middle1_1 .strength-card-container:hover .strength-card__title,
	.middle1_1 .strength-card-container:hover .strength-card__icon {
		color: inherit;
		transform: none;
	}

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

	/* 강점 카드 스타일 */
	.middle1_1 .strength-card {
		padding: 12px 8px;
	}

	.middle1_1 .strength-card__icon {
		width: 40px;
		height: 40px;
		margin: 8px auto 8px;
		font-size: 20px;
	}

	.middle1_1 .strength-card__title {
		font-size: 18px;
		line-height: 1.44;
		margin-bottom: 4px;
	}

	.middle1_1 .strength-card__description {
		font-size: 13px;
		line-height: 1.68;
		margin-bottom: 8px;
		padding: 0 4px;
	}

	.middle1_1 .strength-card__image {
		height: 240px;
	}

	/* Special Features */
	.middle1_1 .special-features {
		padding: 0 16px;
		padding-top: 32px;
		margin-top: 32px;
	}

	.middle1_1 .special-features__text {
		font-size: 24px;
		line-height: 1;
	}

	.middle1_1 .special-features__number {
		font-size: 28px;
		line-height: 1;
	}

	.middle1_1 .special-features__description {
		font-size: 18px;
		line-height: 1.3;
	}

	/* Description Box */
	.middle1_1 .description-box {
		margin: 16px 0;
		padding: 12px 16px;
		border-radius: 0;
		width: 100%;
	}

	.middle1_1 .description-box__text {
		font-size: 14px;
		line-height: 1.4;
		padding-left: 16px;
	}

	.middle1_1 .description-box::before {
		left: 8px;
		height: 80%;
	}

	/* Feature Cards */
	.middle1_1 .feature-cards {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 32px 16px 0 16px;
		margin: 0;
		width: 100%;
	}

	.middle1_1 .feature-card {
		margin: 0;
		padding: 16px;
		border-radius: 20px;
		width: 100%;
	}

	.middle1_1 .feature-card:hover {
		transform: none;
	}

	.middle1_1 .feature-card__number {
		font-size: 24px;
		margin-bottom: 4px;
		line-height: 1;
	}

	.middle1_1 .feature-card__title {
		font-size: 20px;
		margin-bottom: 8px;
		line-height: 1.73;
	}

	.middle1_1 .feature-card__description {
		font-size: 14px;
		line-height: 1.56;
		margin-bottom: 12px;
	}

	.middle1_1 .feature-card__highlight {
		margin: 0;
		padding: 8px;
	}

	.middle1_1 .feature-card__highlight-text {
		font-size: 13px;
		line-height: 1.56;
	}

	/* 터치 최적화 */
	.middle1_1 button, 
	.middle1_1 a, 
	.middle1_1 .touchable {
		min-height: 44px;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}
}

/* ==================== 작은 모바일 반응형 (360px 이하) ==================== */
@media (max-width: 360px) {
	.middle1_1 .hero-title {
		font-size: 24px;
	}

	.middle1_1 .feature-card__highlight-text {
		font-size: 13px;
	}
}



/* 중등1-2 */
/* ==================== Body 기본 스타일 ==================== */
.middle1_2 {
	font-family: 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
	color: #2c3e50;
	background: #FFFFFF;
	word-break: keep-all;
	line-height: 1.7;
}

/* ==================== 레이아웃 컨테이너 ==================== */
.middle1_2 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.middle1_2 .section {
	padding: 80px 24px;
}

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

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

.middle1_2 .section__title--main {
	font-size: 52px;
}

.middle1_2 .section__description {
	font-size: 18px;
	line-height: 1.6;
	color: #1A1A1A;
}

.middle1_2 .section__description-highlight {
	color: #FF6B35;
	font-weight: 700;
}

/* ==================== 커리큘럼 섹션 ==================== */
.middle1_2 .curriculum-section {
	background: linear-gradient(135deg, #FFF9F0 0%, #FFFFFF 100%);
	padding-top: 88px;
	padding-bottom: 53px;
}

.middle1_2 .curriculum-section__header {
	text-align: center;
	margin-bottom: 64px;
}

/* ==================== 레벨 박스 ==================== */
.middle1_2 .level-container {
	display: flex;
	justify-content: center;
	gap: 16px;
	align-items: center;
	margin: 24px 0 30px 0;
}

.middle1_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 4px 12px rgba(0,0,0,0.06);
}

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

.middle1_2 .level-box--alpha { 
	border-color: #4CAF50;
	background: linear-gradient(135deg, #FFFFFF, #E8F5E9);
}

.middle1_2 .level-box--bravo { 
	border-color: #2196F3;
	background: linear-gradient(135deg, #FFFFFF, #E3F2FD);
}

.middle1_2 .level-box--charlie { 
	border-color: #FF6B6B;
	background: linear-gradient(135deg, #FFFFFF, #FFEBEE);
}

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

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

.middle1_2 .level-box--alpha .level-box__name { color: #4CAF50; }
.middle1_2 .level-box--bravo .level-box__name { color: #2196F3; }
.middle1_2 .level-box--charlie .level-box__name { color: #FF6B6B; }
.middle1_2 .level-box--delta .level-box__name { color: #FF6B35; }

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

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

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

/* ==================== 테이블 섹션 ==================== */
.middle1_2 .table-section {
	background: linear-gradient(135deg, #FFF9F0 0%, #FFFFFF 100%);
	padding-top: 0;
	padding-bottom: 80px;
}

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

/* ==================== 테이블 스타일 ==================== */
.middle1_2 .table {
	width: 100%;
	border-collapse: collapse;
	border: 2px solid #C0C0C0;
}

.middle1_2 .table th,
.middle1_2 .table td {
	border: 1px solid #C0C0C0;
	text-align: center;
}

.middle1_2 .table thead th {
	background: #E8E8E8;
	color: #1A1A1A;
	padding: 15px 4px;
	font-weight: 700;
	font-size: 17px;
}

.middle1_2 .table tbody td {
	padding: 15px 4px;
	font-weight: 600;
	font-size: 17px;
}

.middle1_2 .table__header-cell {
	background: #FFF3E0;
	font-weight: 700;
	color: #1A1A1A;
}

.middle1_2 .table__cell--alpha { 
	background: rgba(76,175,80,0.15); 
	color: #4CAF50;
	font-weight: 700;
}

.middle1_2 .table__cell--bravo { 
	background: rgba(33,150,243,0.15); 
	color: #2196F3;
	font-weight: 700;
}

.middle1_2 .table__cell--charlie { 
	background: rgba(255,107,107,0.15); 
	color: #FF6B6B;
	font-weight: 700;
}

.middle1_2 .table__cell--delta { 
	background: rgba(255,184,77,0.25); 
	color: #FF9500;
	font-weight: 700;
}

.middle1_2 .table__level-cell {
	font-size: 30px !important;
	font-weight: 900;
	padding: 20px 4px;
}

/* ==================== 레벨 카드 ==================== */
.middle1_2 .level-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1100px;
	margin: 32px auto;
}

.middle1_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;
}

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

.middle1_2 .level-card--alpha:hover { border-color: #4CAF50; }
.middle1_2 .level-card--bravo:hover { border-color: #2196F3; }
.middle1_2 .level-card--charlie:hover { border-color: #FF6B6B; }
.middle1_2 .level-card--delta:hover { border-color: #FF6B35; }

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

.middle1_2 .level-card__badge {
	width: 40px;
	height: 40px;
	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);
}

.middle1_2 .level-card__badge--alpha { 
	background: linear-gradient(135deg, #4CAF50, #66BB6A); 
}
.middle1_2 .level-card__badge--bravo { 
	background: linear-gradient(135deg, #2196F3, #42A5F5); 
}
.middle1_2 .level-card__badge--charlie { 
	background: linear-gradient(135deg, #FF6B6B, #FF8A80); 
}
.middle1_2 .level-card__badge--delta { 
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%); 
}

.middle1_2 .level-card__info {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

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

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

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

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

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

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

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

.middle1_2 .level-card--alpha .level-card__objective-item::before { color: #4CAF50; }
.middle1_2 .level-card--bravo .level-card__objective-item::before { color: #2196F3; }
.middle1_2 .level-card--charlie .level-card__objective-item::before { color: #FF6B6B; }
.middle1_2 .level-card--delta .level-card__objective-item::before { color: #FF6B35; }

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

.middle1_2 .level-card--alpha .level-card__toggle { 
	background: rgba(76,175,80,0.1); 
	color: #4CAF50;
}

.middle1_2 .level-card--bravo .level-card__toggle { 
	background: rgba(33,150,243,0.1); 
	color: #2196F3;
}

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

.middle1_2 .level-card--delta .level-card__toggle { 
	background: #FFF3E0; 
	color: #FF6B35;
}

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

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

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

/* ==================== 배경 유틸리티 ==================== */
.middle1_2 .bg-warm { 
	background: linear-gradient(135deg, #FFF9E6 0%, #FFFFFF 100%); 
}

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

/* ==================== 태블릿 이상 미디어 쿼리 ==================== */
@media (min-width: 768px) {
	.middle1_2 .container {
		padding: 0 24px;
	}

	.middle1_2 .table__level-cell {
		font-size: 30px !important;
	}
}

/* ==================== 태블릿 반응형 (1024px 이하) ==================== */
@media (max-width: 1024px) {
	.middle1_2 .level-cards {
		grid-template-columns: 1fr;
	}
}

/* ==================== 모바일 반응형 (767px 이하) ==================== */
@media (max-width: 767px) {
	/* 기본 설정 */
	.middle1_2 {
		line-height: 1.4;
	}

	.middle1_2 .container {
		padding: 0 8px;
		max-width: 100%;
	}

	.middle1_2 .section {
		padding: 40px 8px;
	}

	/* 타이틀 크기 조정 */
	.middle1_2 .section__title {
		font-size: 28px;
		line-height: 1.2;
		margin-bottom: 4px;
	}

	.middle1_2 .section__title--main {
		font-size: 32px;
	}

	.middle1_2 .section__description {
		font-size: 16px;
		line-height: 1.3;
	}

	/* 커리큘럼 섹션 */
	.middle1_2 .curriculum-section {
		padding-top: 80px;
		padding-bottom: 22px;
	}

	.middle1_2 .curriculum-section__header {
		padding: 0 8px;
		margin-bottom: 32px;
	}

	.middle1_2 .section__header {
		padding: 0 8px;
		margin-bottom: 16px;
	}

	/* 레벨 박스 2x2 그리드 */
	.middle1_2 .level-container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin: 8px 0;
	}

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

	.middle1_2 .level-box__name {
		font-size: 20px;
	}

	.middle1_2 .level-box__grade {
		font-size: 12px;
	}

	.middle1_2 .level-box__duration {
		font-size: 11px;
	}

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

	/* 테이블 섹션 */
	.middle1_2 .table-section {
		padding-bottom: 40px;
	}

	.middle1_2 .table-container {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		/*margin: 0 -8px;*/
		/*padding: 0 8px;*/
		border-radius: 0;
	}

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

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

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

	.middle1_2 .table__level-cell {
		font-size: 20px !important;
		padding: 12px 2px;
	}

	/* 학습 목표 섹션 */
	.middle1_2 .bg-warm {
		padding-top: 80px;
	}

	/* 레벨 카드 */
	.middle1_2 .level-cards {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 0;
	}

	.middle1_2 .level-card {
		padding: 8px;
		border-radius: 12px;
	}

	.middle1_2 .level-card__name {
		font-size: 20px;
	}

	.middle1_2 .level-card__desc {
		font-size: 13px;
		white-space: normal;
	}

	.middle1_2 .level-card__objectives {
		padding: 4px 0 4px 12px;
	}

	.middle1_2 .level-card__objectives-title {
		font-size: 14px;
		margin-top: 0;
	}

	.middle1_2 .level-card__objective-item {
		font-size: 13px;
		line-height: 1.3;
		margin-bottom: 4px;
		padding-left: 20px;
	}

	.middle1_2 .level-card__objective-item::before {
		left: 5px;
		font-size: 13px;
	}

	.middle1_2 .level-card__toggle {
		padding: 4px 8px;
		font-size: 14px;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}

	.middle1_2 .level-card__detail {
		font-size: 13px;
		line-height: 1.5;
		padding: 4px;
	}

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

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

/* ==================== 작은 모바일 (375px 이하) ==================== */
@media (max-width: 375px) {
	.middle1_2 .level-box {
		height: 90px;
	}

	.middle1_2 .level-box__name {
		font-size: 18px;
	}

	.middle1_2 .level-box__grade,
	.middle1_2 .level-box__duration {
		font-size: 11px;
	}
}

/* ==================== 아주 작은 모바일 (360px 이하) ==================== */
@media (max-width: 360px) {
	.middle1_2 .section__title {
		font-size: 24px;
	}

	.middle1_2 .section__title--main {
		font-size: 28px;
	}
}



/* 중등2 */
/* ==================== Layout Components ==================== */
.middle2 .container {
	max-width: 1200px;
	margin: 0 auto;
}

/* 태블릿 이상에서만 container 패딩 추가 */
@media (min-width: 768px) {
	.middle2 .container {
		padding: 0 20px;
	}
}

.middle2 .section {
	padding: 80px 24px;
}

.middle2 .section--hero {
	padding: 100px 24px 48px;
	background: linear-gradient(135deg, #FFF9E6 0%, #FFEDD0 100%);
	position: relative;
	overflow: hidden;
}

.middle2 .section--gray {
	background: #F8F9FA;
	padding-top: 48px;
}

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

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

.middle2 .page-title__number {
	font-size: 80px;
	color: #FF6B35;
}

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

.middle2 .section-subtitle {
	display: inline-block;
	background: #FFB84D;
	padding: 8px 24px;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 24px;
}

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

/* ==================== Grid System ==================== */
.middle2 .grid {
	display: grid;
	gap: 24px;
}

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

.middle2 .grid--5 { 
	grid-template-columns: repeat(5, 1fr); 
}

/* ==================== Card Components ==================== */
.middle2 .card {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
}

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

/* Area Cards */
.middle2 .area-card {
	position: relative;
	padding: 32px 16px 48px;
	border-top: 4px solid;
	text-align: center;
}

.middle2 .area-card--grammar { 
	border-top-color: #4CAF50; 
}

.middle2 .area-card--reading { 
	border-top-color: #2196F3; 
}

.middle2 .area-card--listening { 
	border-top-color: #9C27B0; 
}

.middle2 .area-card--vocabulary { 
	border-top-color: #FF6F00; 
}

.middle2 .area-card--book { 
	border-top-color: #E91E63; 
}

.middle2 .area-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 900;
	margin: 0 auto 16px;
}

.middle2 .area-card--grammar .area-card__icon { 
	background: #4CAF50; 
}

.middle2 .area-card--reading .area-card__icon { 
	background: #2196F3; 
}

.middle2 .area-card--listening .area-card__icon { 
	background: #9C27B0; 
}

.middle2 .area-card--vocabulary .area-card__icon { 
	background: #FF6F00; 
}

.middle2 .area-card--book .area-card__icon { 
	background: #E91E63; 
}

.middle2 .area-card__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin: 16px 0 24px;
	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);
}

.middle2 .area-card--grammar .area-card__title { 
	border-color: #4CAF50; 
}

.middle2 .area-card--reading .area-card__title { 
	border-color: #2196F3; 
}

.middle2 .area-card--listening .area-card__title { 
	border-color: #9C27B0; 
}

.middle2 .area-card--vocabulary .area-card__title { 
	border-color: #FF6F00; 
}

.middle2 .area-card--book .area-card__title { 
	border-color: #E91E63; 
}

.middle2 .area-card__quote {
	font-size: 18px;
	font-weight: 600;
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

.middle2 .area-card--grammar .area-card__quote { 
	color: #4CAF50; 
}

.middle2 .area-card--reading .area-card__quote { 
	color: #2196F3; 
}

.middle2 .area-card--listening .area-card__quote { 
	color: #9C27B0; 
}

.middle2 .area-card--vocabulary .area-card__quote { 
	color: #FF6F00; 
}

.middle2 .area-card--book .area-card__quote { 
	color: #E91E63; 
}

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

/* ==================== Button Components ==================== */
.middle2 .btn {
	padding: 8px 24px;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	border: none;
	outline: none;
}

.middle2 .btn--toggle {
	position: absolute;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	color: #FFFFFF;
	opacity: 0.9;
}

.middle2 .btn--toggle:hover {
	transform: translateX(-50%) scale(1.05);
	opacity: 1;
}

.middle2 .btn--toggle.active {
	opacity: 1;
}

.middle2 .area-card--grammar .btn--toggle { 
	background: rgba(76, 175, 80, 0.6); 
}

.middle2 .area-card--reading .btn--toggle { 
	background: rgba(33, 150, 243, 0.6); 
}

.middle2 .area-card--listening .btn--toggle { 
	background: rgba(156, 39, 176, 0.6); 
}

.middle2 .area-card--vocabulary .btn--toggle { 
	background: rgba(255, 111, 0, 0.6); 
}

.middle2 .area-card--book .btn--toggle { 
	background: rgba(233, 30, 99, 0.6); 
}

.middle2 .area-card--grammar .btn--toggle:hover,
.middle2 .area-card--grammar .btn--toggle.active { 
	background: #4CAF50; 
}

.middle2 .area-card--reading .btn--toggle:hover,
.middle2 .area-card--reading .btn--toggle.active { 
	background: #2196F3; 
}

.middle2 .area-card--listening .btn--toggle:hover,
.middle2 .area-card--listening .btn--toggle.active { 
	background: #9C27B0; 
}

.middle2 .area-card--vocabulary .btn--toggle:hover,
.middle2 .area-card--vocabulary .btn--toggle.active { 
	background: #FF6F00; 
}

.middle2 .area-card--book .btn--toggle:hover,
.middle2 .area-card--book .btn--toggle.active { 
	background: #E91E63; 
}

/* ==================== Accordion Components ==================== */
.middle2 .accordion {
	max-width: 1100px;
	margin: 0 auto;
	margin-top: 48px;
}

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

.middle2 .accordion__item.show {
	display: block;
}

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

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

.middle2 .accordion__header-text {
	flex: 1;
}

.middle2 .accordion__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
}

.middle2 .accordion__subtitle {
	font-size: 18px;
	color: #6B7280;
	margin-top: 8px;
}

.middle2 .accordion__badge {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border-radius: 12px;
	padding: 16px 32px;
	color: #FFFFFF;
	text-align: center;
	flex: 1;
	margin-left: 24px;
}

.middle2 .accordion__badge-title {
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
}

.middle2 .accordion__badge-desc {
	font-size: 16px;
	margin-top: 8px;
}

/* Process Steps */
.middle2 .process-steps {
	display: flex;
	gap: 8px;
	margin-top: 24px;
}

.middle2 .process-step {
	flex: 1;
	background: #F8F9FA;
	border-radius: 8px;
	padding: 24px;
	text-align: center;
}

.middle2 .process-step__number {
	width: 48px;
	height: 48px;
	background: #FF6B35;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	margin: 0 auto 16px;
}

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

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

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

/* Special Circle Steps */
.middle2 .circle-step {
	width: 80px;
	height: 80px;
	background: #FFFFFF;
	border: 3px solid #2196F3;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.middle2 .circle-step__icon {
	font-size: 24px;
}

.middle2 .circle-step__label {
	color: #2196F3;
	font-size: 12px;
	font-weight: 700;
}

/* Book Process Number */
.middle2 .book-process-number {
	width: 64px;
	height: 64px;
	background: #E91E63;
	color: #FFFFFF;
	font-size: 32px;
	font-weight: 900;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

/* 7-Step Learning System */
.middle2 .learning-system {
	margin-top: 32px;
}

.middle2 .learning-system__title {
	font-size: 24px;
	font-weight: 700;
	color: #FF6B35;
	text-align: center;
	margin-bottom: 8px;
}

.middle2 .learning-system__subtitle {
	font-size: 16px;
	color: #6B7280;
	text-align: center;
	margin-bottom: 24px;
}

.middle2 .learning-steps {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 24px;
	padding: 0 8px;
}

.middle2 .learning-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 1;
}

.middle2 .learning-step__circle {
	width: 90px;
	height: 90px;
	background: #FFD54F;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	box-shadow: 0 3px 6px rgba(255, 213, 79, 0.3);
}

.middle2 .learning-step__icon {
	font-size: 24px;
	color: #1A1A1A;
}

.middle2 .learning-step__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

.middle2 .learning-step__desc {
	font-size: 18px;
	color: #6B7280;
}

/* Promise Cards */
.middle2 .promise-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.middle2 .promise-card {
	background: #FFE8E0;
	border-radius: 12px;
	padding: 32px;
	text-align: center;
	transition: all 0.3s ease;
	animation: fadeInUp 0.8s ease backwards;
	position: relative;
	overflow: hidden;
}

.middle2 .promise-card:nth-child(1) { 
	animation-delay: 0.2s; 
}

.middle2 .promise-card:nth-child(2) { 
	animation-delay: 0.4s; 
}

.middle2 .promise-card:nth-child(3) { 
	animation-delay: 0.6s; 
}

.middle2 .promise-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 35px rgba(255,107,53,0.2);
}

.middle2 .promise-card__emoji {
	font-size: 48px;
	margin-bottom: 16px;
	animation: bounce 2s infinite;
}

.middle2 .promise-card:nth-child(1) .promise-card__emoji { 
	animation-delay: 0s; 
}

.middle2 .promise-card:nth-child(2) .promise-card__emoji { 
	animation-delay: 0.2s; 
}

.middle2 .promise-card:nth-child(3) .promise-card__emoji { 
	animation-delay: 0.4s; 
}

.middle2 .promise-card__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 16px;
}

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

/* AI System Components */
.middle2 .ai-system {
	display: flex;
	gap: 32px;
	align-items: center;
	margin-top: 24px;
	justify-content: space-between;
}

.middle2 .ai-system__steps {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

.middle2 .ai-step {
	width: 160px;
	height: 150px;
	border: 2px solid #9C27B0;
	border-radius: 8px;
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 8px;
}

.middle2 .ai-step--active {
	background: #9C27B0;
	color: #FFFFFF;
}

.middle2 .ai-step__icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.middle2 .ai-step__title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px;
}

.middle2 .ai-step__desc {
	font-size: 16px;
	text-align: center;
}

.middle2 .ai-step--active .ai-step__title,
.middle2 .ai-step--active .ai-step__desc {
	color: #FFFFFF;
}

.middle2 .ai-arrow {
	font-size: 24px;
	color: #9C27B0;
}

.middle2 .ai-report {
	width: 240px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.middle2 .ai-report__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 16px;
	text-align: center;
}

.middle2 .ai-report__screen {
	width: 240px;
	height: 240px;
	background: #F8F9FA;
	border: 2px solid #E8E8E8;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999999;
	font-size: 14px;
	overflow: hidden;
}

.middle2 .ai-report__screen img {
	max-width: 100%;
	max-height: 100%;
}

/* Mobile break - 데스크톱에서는 inline */
.middle2 .mobile-break {
	display: inline;
}

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

@keyframes bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/* ==================== Responsive Design ==================== */
/* 모바일 전용 (767px 이하) */
@media (max-width: 767px) {
	/* Container 모바일 최적화 */
	.middle2 .container {
		padding: 0 16px;
		max-width: 100%;
	}

	/* Grid adjustments */
	.middle2 .grid--3 { 
		grid-template-columns: 1fr; 
	}

	.middle2 .grid--5 { 
		grid-template-columns: 1fr;
		gap: 8px;
	}

	/* Typography adjustments */
	.middle2 .page-title { 
		font-size: 28px;
		word-break: keep-all;
	}

	.middle2 .section-title { 
		font-size: 24px;
		word-break: keep-all;
	}

	.middle2 .section-subtitle {
		font-size: 12px;
		padding: 4px 8px;
	}

	.middle2 .section-description {
		font-size: 16px;
	}

	/* Section padding 최적화 */
	.middle2 .section {
		padding: 40px 0;
	}

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

	.middle2 .section--gray {
		padding-top: 32px;
	}

	/* 텍스트 콘텐츠만 내부 패딩 */
	.middle2 .section-header {
		padding: 0 16px;
		margin-bottom: 16px;
	}

	/* Area cards 모바일 최적화 */
	.middle2 .card {
		border-radius: 12px;
		margin: 0 16px 16px 16px;
		padding: 16px;
	}

	.middle2 .area-card {
		padding: 12px 8px 12px;
	}

	.middle2 .area-card__icon {
		width: 48px;
		height: 48px;
		font-size: 20px;
	}

	.middle2 .area-card__title {
		font-size: 20px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.middle2 .area-card__quote {
		font-size: 14px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.middle2 .area-card__quote br {
		display: none;
	}

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

	.middle2 .area-card__desc br {
		display: none;
	}

	/* 클릭 버튼 숨김 */
	.middle2 .btn--toggle {
		display: none;
	}

	/* 아코디언 모바일에서 숨김 */
	.middle2 .accordion {
		display: none;
	}

	/* Promise cards 모바일 */
	.middle2 .promise-cards {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 0 16px;
	}

	.middle2 .promise-card {
		padding: 12px;
	}

	.middle2 .promise-card__title {
		font-size: 18px;
	}

	.middle2 .promise-card__desc {
		font-size: 14px;
	}

	.middle2 .promise-card__emoji {
		font-size: 32px;
	}

	/* AI system 모바일 레이아웃 */
	.middle2 .ai-system {
		flex-direction: column;
		gap: 12px;
	}

	.middle2 .ai-system__steps {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
	}

	.middle2 .ai-step {
		width: calc(50% - 4px);
		height: 120px;
		font-size: 14px;
	}

	.middle2 .ai-step__icon {
		font-size: 20px;
	}

	.middle2 .ai-step__title {
		font-size: 16px;
	}

	.middle2 .ai-step__desc {
		font-size: 12px;
	}

	.middle2 .ai-arrow {
		display: none;
	}

	.middle2 .ai-report {
		width: 100%;
	}

	.middle2 .ai-report__screen {
		width: 200px;
		height: 200px;
		margin: 0 auto;
	}

	.middle2 .ai-report__title {
		font-size: 18px;
	}

	/* Learning steps 모바일 */
	.middle2 .learning-steps {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.middle2 .learning-step {
		flex: none;
	}

	.middle2 .learning-step__circle {
		width: 70px;
		height: 70px;
	}

	.middle2 .learning-step__icon {
		font-size: 18px;
	}

	.middle2 .learning-step__title {
		font-size: 14px;
	}

	.middle2 .learning-step__desc {
		font-size: 12px;
	}

	.middle2 .learning-system__title {
		font-size: 18px;
	}

	.middle2 .learning-system__subtitle {
		font-size: 14px;
	}

	/* Process steps 모바일 */
	.middle2 .process-steps {
		flex-direction: column;
		gap: 8px;
	}

	.middle2 .process-step {
		padding: 8px;
	}

	.middle2 .process-step__number {
		width: 40px;
		height: 40px;
		font-size: 14px;
	}

	.middle2 .process-step__title {
		font-size: 16px;
	}

	.middle2 .process-step__desc {
		font-size: 14px;
	}

	.middle2 .process-step__icon {
		font-size: 20px;
	}

	/* Accordion 모바일 최적화 */
	.middle2 .accordion {
		padding: 0 16px;
	}

	.middle2 .accordion__item {
		padding: 12px;
		margin-bottom: 8px;
		border-radius: 8px;
	}

	.middle2 .accordion__header {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}

	.middle2 .accordion__icon {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.middle2 .accordion__title {
		font-size: 18px;
	}

	.middle2 .accordion__subtitle {
		font-size: 14px;
	}

	.middle2 .accordion__badge {
		margin-left: 0;
		margin-top: 8px;
		padding: 8px;
	}

	.middle2 .accordion__badge-title {
		font-size: 14px;
		white-space: normal;
		line-height: 1.4;
	}

	.middle2 .accordion__badge-desc {
		font-size: 12px;
	}

	/* Circle step 모바일 */
	.middle2 .circle-step {
		width: 60px;
		height: 60px;
		border-width: 2px;
	}

	.middle2 .circle-step__icon {
		font-size: 18px;
	}

	.middle2 .circle-step__label {
		font-size: 10px;
	}

	/* Book process number 모바일 */
	.middle2 .book-process-number {
		width: 48px;
		height: 48px;
		font-size: 20px;
	}

	/* Page title number */
	.middle2 .page-title__number {
		font-size: 40px;
	}

	/* Touch optimization */
	.middle2 button,
	.middle2 .btn {
		min-height: 44px;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}

	/* Smooth scrolling */
	html {
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}

	/* 호버 효과 제거 (터치 디바이스) */
	.middle2 .card:hover {
		transform: none;
	}

	.middle2 .area-card:hover {
		transform: none;
	}

	.middle2 .promise-card:hover {
		transform: none;
	}
}

/* 작은 모바일 디바이스 (360px 이하) */
@media (max-width: 360px) {
	.middle2 .page-title {
		font-size: 24px;
	}

	.middle2 .page-title__number {
		font-size: 32px;
	}

	.middle2 .area-card__title {
		font-size: 16px;
	}

	.middle2 .learning-steps {
		grid-template-columns: 1fr;
	}

	.middle2 .ai-step {
		width: 100%;
	}

	.middle2 .container {
		padding: 0 12px;
	}

	.middle2 .section-header,
	.middle2 .promise-cards,
	.middle2 .accordion {
		padding: 0 12px;
	}

	.middle2 .card {
		margin: 0 12px;
	}
}

/* 태블릿 specific adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
	.middle2 .grid--5 { 
		grid-template-columns: repeat(3, 1fr); 
	}

	.middle2 .promise-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	.middle2 .learning-steps {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 12px;
	}

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

	.middle2 .section-title {
		font-size: 36px;
	}

	.middle2 .page-title__number {
		font-size: 68px;
	}
}



/* 중등3 */
/* ========================================
   중등부 Daily 스타일
   ======================================== */
.middle3 .keep-together {
	display: inline-block;
}

.middle3 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

.middle3 .section {
	padding: 48px 16px;
	margin: 0;
}

.middle3 .section-hero {
	padding: 56px 16px 48px;
}

.middle3 .section-compact {
	padding: 40px 8px;
}

.middle3 .section-achievement {
	padding-top: 96px;
	padding-bottom: 48px;
	padding-left: 16px;
	padding-right: 16px;
}

.middle3 .section__header {
	text-align: center;
	margin-bottom: 32px;
}

.middle3 .section__title {
	font-size: 28px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 4px;
	letter-spacing: -0.5px;
	line-height: 1.3;
	word-break: keep-all;
	word-spacing: -0.05em;
}

.middle3 .page-title {
	font-size: 36px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 8px;
	word-break: keep-all;
	line-height: 1.3;
}

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

.middle3 .bg-white {
	background: #FFFFFF;
}

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

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

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

/* Common Components */
.middle3 .subtitle-badge {
	display: inline-block;
	padding: 8px 32px;
	border-radius: 50px;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
}

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

.middle3 .touchable {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
	min-height: 44px;
}

.middle3 .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;
}

/* Section 1: Daily Tasks */
.middle3 .daily__box {
	max-width: 800px;
	margin: 0 auto;
	background: #FFFFFF;
	border: 2px solid #FFB84D;
	border-radius: 30px;
	padding: 24px;
	text-align: center;
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.middle3 .daily__highlight {
	font-size: 20px;
	font-weight: 900;
	color: #FF6B35;
	margin-bottom: 8px;
	word-break: keep-all;
	line-height: 1.4;
}

.middle3 .daily__description {
	font-size: 14px;
	line-height: 1.8;
	color: #6B7280;
	margin-bottom: 24px;
	word-break: keep-all;
}

.middle3 .daily__text--orange {
	color: #FF6B35;
	font-weight: 700;
}

.middle3 .time-boxes {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.middle3 .time-box {
	width: 100%;
	max-width: 300px;
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 20px;
	padding: 16px 24px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

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

.middle3 .time-box__label {
	font-size: 14px;
	color: #6B7280;
	font-weight: 600;
	line-height: 1.2;
	margin-top: 2px;
}

.middle3 .time-box--total {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	border: none;
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.middle3 .time-box--total .time-box__number {
	color: #FFFFFF;
	background: none;
	-webkit-text-fill-color: #FFFFFF;
}

.middle3 .time-box--total .time-box__label {
	color: rgba(255,255,255,0.9);
}

/* Section 2: Study Time */
.middle3 .study-time__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 32px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.middle3 .study-time__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 8px 24px rgba(0,0,0,0.08);
	flex-shrink: 0;
}

.middle3 .study-time__description {
	flex: 1;
}

.middle3 .study-time__text {
	font-size: 14px;
	line-height: 1.8;
	color: #6B7280;
	margin-bottom: 4px;
	word-break: keep-all;
}

.middle3 .study-time__warning {
	font-size: 14px;
	color: #FF6B35;
	font-weight: 700;
	margin-top: 8px;
	word-break: keep-all;
}

.middle3 .study-cards {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
}

.middle3 .study-card {
	width: 100%;
	background: linear-gradient(135deg, #F8F9FA 0%, #FFFFFF 100%);
	border: 2px solid #E8E8E8;
	border-radius: 20px;
	padding: 16px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

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

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

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

/* Section 3: Test System */
.middle3 .test__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 32px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.middle3 .test__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 8px 24px rgba(0,0,0,0.08);
}

.middle3 .test__description {
	flex: 1;
}

.middle3 .test__text {
	font-size: 14px;
	line-height: 1.8;
	color: #6B7280;
	margin-bottom: 8px;
	word-break: keep-all;
}

.middle3 .test__highlight {
	font-size: 14px;
	color: #FF6B35;
	font-weight: 700;
	word-break: keep-all;
}

.middle3 .process {
	max-width: 1000px;
	margin: 0 auto;
}

.middle3 .process__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 32px 0 0;
}

.middle3 .process__item {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.middle3 .process__circle {
	width: 120px;
	height: 120px;
	border: 3px 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: 8px;
}

.middle3 .process__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;
}

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

.middle3 .process__test {
	text-align: center;
	padding-top: 8px;
}

.middle3 .process__test-name {
	font-size: 16px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 4px;
	word-break: keep-all;
}

.middle3 .process__test-detail {
	font-size: 12px;
	color: #6B7280;
	line-height: 1.4;
	word-break: keep-all;
}

/* Section 4: Parent Communication */
.middle3 .parent__box {
	background: rgba(255,255,255,0.95);
	border-radius: 30px;
	padding: 4px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	box-shadow: 0 15px 40px rgba(0,0,0,0.1);
	max-width: 1100px;
	margin: 0 auto;
}

.middle3 .parent__content {
	padding: 16px;
}

.middle3 .parent__title {
	font-size: 20px;
	font-weight: 900;
	color: #1A1A1A;
	text-align: center;
	margin-bottom: 16px;
	word-break: keep-all;
}

.middle3 .parent__checklist {
	margin-bottom: 16px;
}

.middle3 .check-item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	transition: all 0.3s ease;
}

.middle3 .check-item__mark {
	color: #4CAF50;
	font-size: 20px;
	font-weight: 700;
}

.middle3 .check-item__text {
	font-size: 16px;
	color: #2C3E50;
	word-break: keep-all;
}

.middle3 .parent__warning {
	font-size: 16px;
	color: #FF6B35;
	font-weight: 700;
	margin: 16px 0 24px;
	word-break: keep-all;
}

.middle3 .icon-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4px;
}

.middle3 .icon-grid__item {
	text-align: center;
	transition: all 0.3s ease;
}

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

.middle3 .icon-grid__label {
	font-size: 12px;
	color: #6B7280;
	font-weight: 600;
	line-height: 1.2;
}

.middle3 .parent__photos {
	width: 100%;
	/*height: 300px;*/
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
	padding: 0 16px;
}

.middle3 .photo-placeholder {
	background: linear-gradient(135deg, #F0F0F0, #E0E0E0);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999999;
	font-size: 12px;
	padding: 6px;
	overflow: hidden;
}

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

/* Section 5: Achievement */
.middle3 .achievement__cards {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
}

.middle3 .achievement-card {
	width: 100%;
	max-width: 320px;
	background: #FFFFFF;
	border: 2px solid #E8E8E8;
	border-radius: 30px;
	padding: 24px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	position: relative;
	overflow: hidden;
}

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

.middle3 .achievement-card__icon {
	font-size: 48px;
	margin-bottom: 16px;
}

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

.middle3 .achievement-card__label {
	font-size: 18px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
	word-break: keep-all;
}

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

.middle3 .achievement-card__badge {
	width: 80px;
	height: 80px;
	border: 3px solid #FF6B35;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	color: #FF6B35;
	margin: 12px auto 16px;
}

/* Section 6: FAQ */
.middle3 .faq__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	max-width: 1100px;
	margin: 24px auto 0;
}

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

.middle3 .faq-card__question-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	margin-bottom: 0;
	padding: 8px 16px;
	padding-left: 72px;
	padding-right: 52px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	min-height: 40px;
}

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

.middle3 .faq-card__question {
	font-size: 16px;
	font-weight: 700;
	color: #1A1A1A;
	line-height: 1.3;
	flex: 1;
	word-break: keep-all;
	padding-right: 4px;
}

.middle3 .faq-card__toggle {
	width: 28px;
	height: 28px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border: none;
	border-radius: 50%;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	flex-shrink: 0;
	z-index: 1;
}

.middle3 .faq-card__toggle.active {
	transform: translateY(-50%) rotate(45deg);
}

.middle3 .faq-card__answer {
	font-size: 14px;
	line-height: 1.8;
	color: #6B7280;
	padding: 0 16px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.3s ease;
	word-break: keep-all;
}

.middle3 .faq-card__answer.show {
	max-height: 300px;
	opacity: 1;
	padding: 8px 16px 16px;
}

/* ========================================
   Tablet Responsive
   ======================================== */
@media (min-width: 768px) {
	.middle3 .container {
		padding: 0 20px;
	}

	.middle3 .section {
		padding: 56px 28px;
	}

	.middle3 .section-hero {
		padding: 68px 28px 56px;
	}

	.middle3 .section-achievement {
		padding-top: 112px;
		padding-bottom: 56px;
		padding-left: 28px;
		padding-right: 28px;
	}

	.middle3 .section__title {
		font-size: 36px;
		margin-bottom: 6px;
	}

	.middle3 .page-title {
		font-size: 44px;
		margin-bottom: 12px;
	}

	.middle3 .subtitle-badge {
		padding: 12px 36px;
		font-size: 19px;
		margin-bottom: 20px;
	}

	.middle3 .daily__box {
		padding: 36px;
	}

	.middle3 .daily__highlight {
		font-size: 22px;
		margin-bottom: 12px;
	}

	.middle3 .daily__description {
		font-size: 15px;
		margin-bottom: 28px;
	}

	.middle3 .time-box__number {
		font-size: 44px;
	}

	.middle3 .time-box__label {
		font-size: 15px;
	}

	.middle3 .study-cards {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.middle3 .study-card {
		min-width: calc(50% - 6px);
	}

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

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

/* ========================================
   Desktop Responsive
   ======================================== */
@media (min-width: 1024px) {
	.middle3 .container {
		padding: 0 24px;
	}

	.middle3 .section {
		padding: 100px 24px;
	}

	.middle3 .section-hero {
		padding: 120px 24px 100px;
	}

	.middle3 .section-achievement {
		padding-top: 200px;
		padding-bottom: 100px;
		padding-left: 24px;
		padding-right: 24px;
	}

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

	.middle3 .section__header {
		margin-bottom: 40px;
	}

	.middle3 .section__title {
		font-size: 42px;
		margin-bottom: 8px;
	}

	.middle3 .page-title {
		font-size: 52px;
		margin-bottom: 16px;
	}

	.middle3 .subtitle-badge {
		padding: 16px 40px;
		font-size: 20px;
	}

	.middle3 .daily__box {
		padding: 40px;
		border-width: 3px;
	}

	.middle3 .daily__highlight {
		font-size: 24px;
	}

	.middle3 .daily__description {
		font-size: 16px;
		margin-bottom: 32px;
	}

	.middle3 .time-boxes {
		flex-direction: row;
		justify-content: center;
		gap: 32px;
		flex-wrap: wrap;
	}

	.middle3 .time-box {
		width: auto;
		max-width: none;
		padding: 32px 40px;
	}

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

	.middle3 .time-box__number {
		font-size: 44px;
	}

	.middle3 .time-box__label {
		font-size: 16px;
	}

	.middle3 .study-time__intro {
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
	}

	.middle3 .study-time__badge {
		font-size: 20px;
	}

	.middle3 .study-time__text {
		font-size: 16px;
	}

	.middle3 .study-time__warning {
		font-size: 16px;
		margin-top: 16px;
	}

	.middle3 .study-cards {
		flex-direction: row;
		gap: 16px;
	}

	.middle3 .study-card {
		width: auto;
		min-width: auto;
		flex: 1;
		padding: 32px 24px;
	}

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

	.middle3 .study-card__icon {
		font-size: 48px;
		height: 60px;
	}

	.middle3 .study-card__title {
		font-size: 18px;
	}

	.middle3 .study-card__time {
		font-size: 20px;
	}

	.middle3 .test__intro {
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
	}

	.middle3 .test__badge {
		font-size: 20px;
	}

	.middle3 .test__text {
		font-size: 16px;
	}

	.middle3 .test__highlight {
		font-size: 16px;
	}

	.middle3 .process__grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 32px;
	}

	.middle3 .process__circle {
		width: 154px;
		height: 154px;
		border-width: 4px;
	}

	.middle3 .process__circle:hover {
		transform: scale(1.1);
		background: #FFF3E0;
		border-color: #FF6B35;
	}

	.middle3 .process__number {
		font-size: 60px;
	}

	.middle3 .process__label {
		font-size: 28px;
	}

	.middle3 .process__test-name {
		font-size: 24px;
	}

	.middle3 .process__test-detail {
		font-size: 16px;
	}

	.middle3 .parent__box {
		flex-direction: row;
		padding: 40px;
		gap: 64px;
	}

	.middle3 .parent__content {
		padding: 0;
		flex: 1;
	}

	.middle3 .parent__title {
		font-size: 24px;
		text-align: left;
	}

	.middle3 .check-item:hover {
		transform: translateX(10px);
	}

	.middle3 .check-item__text {
		font-size: 20px;
	}

	.middle3 .icon-grid {
		display: flex;
		gap: 32px;
	}

	.middle3 .icon-grid__item:hover {
		transform: translateY(-10px);
	}

	.middle3 .icon-grid__box {
		width: 80px;
		height: 80px;
		font-size: 36px;
		margin-bottom: 16px;
	}

	.middle3 .icon-grid__label {
		font-size: 14px;
	}

	.middle3 .parent__photos {
		flex: 1.5;
		/*height: 400px;*/
		padding: 0;
	}

	.middle3 .photo-placeholder {
		padding: 10px;
	}

	.middle3 .achievement__cards {
		flex-direction: row;
		gap: 32px;
		justify-content: center;
		flex-wrap: wrap;
	}

	.middle3 .achievement-card {
		width: 280px;
		max-width: none;
		padding: 40px 32px;
	}

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

	.middle3 .achievement-card__icon {
		font-size: 56px;
	}

	.middle3 .achievement-card__percentage {
		font-size: 48px;
	}

	.middle3 .achievement-card__label {
		font-size: 20px;
	}

	.middle3 .achievement-card__desc {
		font-size: 14px;
	}

	.middle3 .faq-card {
		padding: 0;
	}

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

	.middle3 .faq-card__question-wrapper {
		padding: 16px 32px;
		padding-left: 80px;
		padding-right: 60px;
	}

	.middle3 .faq-card__icon {
		width: 36px;
		height: 36px;
		font-size: 18px;
		left: 20px;
	}

	.middle3 .faq-card__question {
		font-size: 20px;
	}

	.middle3 .faq-card__toggle {
		width: 32px;
		height: 32px;
		font-size: 18px;
		right: 20px;
	}

	.middle3 .faq-card__toggle:hover {
		transform: translateY(-50%) scale(1.1);
		box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	}

	.middle3 .faq-card__toggle.active {
		transform: translateY(-50%) rotate(45deg);
	}

	.middle3 .faq-card__toggle.active:hover {
		transform: translateY(-50%) rotate(45deg) scale(1.1);
	}

	.middle3 .faq-card__answer {
		padding: 0 60px;
		font-size: 16px;
	}

	.middle3 .faq-card__answer.show {
		padding: 16px 60px 32px;
	}
}



/* 중등4-1 */
/* ===========================
   중등부 전용 스타일 (middle4_1)
   =========================== */
.middle4_1 .container {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}

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

/* Background System */
.middle4_1 .bg-light {
	background: #F8F9FA;
	padding: 80px 0;
}

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

.middle4_1 .bg-white {
	background: #FFFFFF;
	padding: 80px 0;
}

.middle4_1 .bg-light-custom {
	background: #F8F9FA;
	padding: 100px 0 80px 0;
}

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

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

.middle4_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;
}

.middle4_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;
}

.middle4_1 .section-subdesc {
	font-size: 17px;
	color: #6B7280;
	margin: 16px auto 0;
	text-align: center;
}

/* Table Styles */
.middle4_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);
	overflow: visible;
}

.middle4_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;
}

.middle4_1 .table-subtitle {
	font-weight: 400;
	color: #6B7280;
}

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

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

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

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

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

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

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

.middle4_1 .text-left-padded {
	text-align: left;
	padding-left: 80px;
}

/* Remainder Section */
.middle4_1 .remainder-layout {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

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

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

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

.middle4_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;
	overflow: hidden;
}

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

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

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

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

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

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

.middle4_1 .cell-light {
	background: #F8F9FA;
	font-weight: 600;
}

.middle4_1 .cell-highlight {
	background: #FFF3E0;
	color: #FF6B35;
	font-weight: 700;
}

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

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

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

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

.middle4_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;
}

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

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

.middle4_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;
}

.middle4_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;
}

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

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

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

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

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

/* LMS Section */
.middle4_1 .lms-grid-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
}

.middle4_1 .lms-section-header {
	text-align: center;
	margin-bottom: 32px;
	padding-top: 80px;
}

.middle4_1 .lms-title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
	display: block;
	text-align: center;
	line-height: 1.4;
}

.middle4_1 .lms-badge {
	display: block;
	background: #FF6B35;
	color: white;
	padding: 4px 12px;
	border-radius: 6px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.5px;
	margin: 0 auto 8px;
	width: fit-content;
}

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

.middle4_1 .lms-card {
	text-align: center;
}

.middle4_1 .lms-card-image {
	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;
}

.middle4_1 .lms-card-image img {
	max-width: 100%;
}

.middle4_1 .lms-card-title {
	margin-top: 8px;
	font-size: 16px;
	font-weight: 600;
	color: #2c3e50;
}

/* ===========================
   Mobile Responsive
   =========================== */
@media (max-width: 767px) {
	.middle4_1 .bg-light,
	.middle4_1 .bg-warm,
	.middle4_1 .bg-white,
	.middle4_1 .bg-light-custom {
		padding: 40px 0;
	}

	.middle4_1 .bg-light-custom {
		padding-top: 48px;
	}

	.middle4_1 .container {
		padding: 0 12px;
		max-width: 100%;
	}

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

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

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

	.middle4_1 .section-desc {
		font-size: 14px;
		padding: 12px 24px;
		margin: 4px 8px 16px;
		line-height: 1.4;
	}

	.middle4_1 .section-subdesc {
		font-size: 14px !important;
		padding: 0 12px !important;
		margin-top: 4px !important;
	}

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

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

	.middle4_1 .table-subtitle {
		font-size: 14px;
	}

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

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

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

	.middle4_1 .table-wrapper table {
		min-width: 550px;
		font-size: 13px;
	}

	.middle4_1 .table-box:first-child .table-wrapper table {
		min-width: 500px;
	}

	.middle4_1 .table-box:last-child .table-wrapper table {
		min-width: 650px;
	}

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

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

	.middle4_1 .remainder-content {
		padding: 12px !important;
		border-radius: 12px !important;
	}

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

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

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

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

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

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

	.middle4_1 .remainder-content table {
		min-width: unset;
		width: 100%;
	}

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

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

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

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

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

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

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

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

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

	.middle4_1 .lms-section-header {
		margin-bottom: 12px !important;
		padding-top: 12px !important;
	}

	.middle4_1 .lms-title {
		font-size: 18px !important;
		display: block !important;
		text-align: center !important;
		line-height: 1.4 !important;
	}

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

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

	.middle4_1 .lms-card-image {
		/*height: 100px !important;*/
		font-size: 10px !important;
		border-radius: 8px !important;
	}

	.middle4_1 .lms-card-title {
		font-size: 11px !important;
		margin-top: 6px !important;
		line-height: 1.3 !important;
	}

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

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

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

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



/* 중등4-2 */
/* ===================================
   2. 중등부 전용 스타일
   =================================== */

/* 레이아웃 컴포넌트 */
.middle4_2 .section {
	position: relative;
	overflow: hidden;
}

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

.middle4_2 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/* 섹션 헤더 */
.middle4_2 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

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

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

.middle4_2 .section-description {
	font-size: 16px;
	color: #6B7280;
	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;
}

/* 텍스트 분기 */
.middle4_2 .text-desktop { display: inline; }
.middle4_2 .text-mobile { display: none; }

/* Info Button */
.middle4_2 .info-button {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #FF6B35;
	color: #FFFFFF;
	border: none;
	border-radius: 50%;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	margin-left: 10px;
	vertical-align: middle;
	transition: all 0.3s ease;
}

.middle4_2 .info-button:hover {
	background: #FF8E53;
	transform: scale(1.1);
}

.middle4_2 .info-button--active {
	font-size: 20px;
}

.middle4_2 .info-tooltip {
	display: none;
	position: absolute;
	left: calc(100% + 20px);
	top: -10px;
	width: 350px;
	z-index: 400;
}

.middle4_2 .info-tooltip--visible {
	display: block;
}

.middle4_2 .info-box {
	background: linear-gradient(135deg, #FFF3E0 0%, #FFE8D6 100%);
	border: 1px solid #FFD0B3;
	border-radius: 12px;
	padding: 20px 25px;
	box-shadow: 0 10px 30px rgba(255, 107, 53, 0.15);
}

.middle4_2 .info-box__title {
	font-size: 20px;
	font-weight: 700;
	color: #FF6B35;
	margin-bottom: 10px;
}

.middle4_2 .info-box__text {
	font-size: 16px;
	line-height: 1.8;
	color: #2c3e50;
	margin: 0;
}

/* 타임라인 컨테이너 */
.middle4_2 .timeline-container {
	background: #FFFFFF;
	border-radius: 24px;
	padding: 96px 40px;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.04);
}

.middle4_2 .timeline-wrapper {
	position: relative;
	margin-top: -50px;
}

/* 내신대비 레이블 */
.middle4_2 .timeline__exam-labels {
	position: relative;
	height: 80px;
	margin-bottom: 8px;
	margin-left: 50px;
	margin-top: 20px;
}

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

.middle4_2 .exam-label__content {
	background: #F8F9FA;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
	color: #2c3e50;
	font-weight: 600;
}

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

/* 월별 바 */
.middle4_2 .timeline__months {
	display: flex;
	width: 100%;
	height: 60px;
	background: #FFFFFF;
	position: relative;
	margin-top: 32px;
	border-left: 3px solid #666;
	border-right: 3px solid #666;
}

.middle4_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 ease;
	position: relative;
}

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

.middle4_2 .month-cell:hover {
	background: #FFF3E0 !important;
	color: #FF6B35;
	transform: scale(1.02);
}

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

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

/* 학기 레이블 */
.middle4_2 .timeline__semesters {
	position: relative;
	height: 30px;
	margin-top: 8px;
}

.middle4_2 .semester-label {
	position: absolute;
	font-size: 22px;
	font-weight: 700;
}

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

/* 형성평가 포인트 */
.middle4_2 .timeline__assessments {
	position: relative;
	margin-top: 32px;
	height: 80px;
}

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

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

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

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

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

/* 모바일 안내 */
.middle4_2 .timeline-mobile-notice {
	display: none;
	background: linear-gradient(135deg, #FFF9F0 0%, #FFFFFF 100%);
	border: 1px dashed #FF6B35;
	border-radius: 12px;
	padding: 32px;
	text-align: center;
}

.middle4_2 .timeline-mobile-notice__icon {
	font-size: 32px;
	margin-bottom: 16px;
}

.middle4_2 .timeline-mobile-notice__text {
	font-size: 18px;
	color: #2c3e50;
	font-weight: 600;
	margin: 0;
}

/* 편지 섹션 */
.middle4_2 .letter {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

.middle4_2 .letter__container {
	flex: 1;
}

.middle4_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;
}

.middle4_2 .letter__profile {
	float: right;
	width: 460px;
	margin: 0 0 30px 30px;
}

.middle4_2 .letter__paragraph {
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 18px;
	color: #2c3e50;
}

.middle4_2 .letter__greeting {
	font-size: 18px;
	font-weight: 600;
}

.middle4_2 .letter__section-title {
	font-size: 19px;
	font-weight: 800;
	color: #FF6B35;
	margin-top: 20px;
	margin-bottom: 10px;
	padding-left: 15px;
	border-left: 4px solid #FF6B35;
}

.middle4_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: 8px;
	padding: 15px 30px;
	margin-top: 20px;
	margin-bottom: 5px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	box-shadow: 0 5px 20px rgba(255, 107, 53, 0.1);
	border: 1px solid rgba(255, 107, 53, 0.2);
}

.middle4_2 .letter__closing {
	margin-top: 40px;
	padding-top: 25px;
	text-align: right;
	font-size: 15px;
	color: #6B7280;
	border-top: 2px solid #F8F9FA;
}

/* 프로필 카드 */
.middle4_2 .profile-card {
	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);
}

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

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

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

.middle4_2 .profile-card__photo {
	flex-shrink: 0;
}

.middle4_2 .profile-card__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;
}

.middle4_2 .profile-card__photo-placeholder img {
	max-width: 100%;
}

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

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

/* ===================================
   3. 데스크톱 미디어 쿼리
   =================================== */
@media (min-width: 768px) {
	.middle4_2 .container {
		padding: 80px 24px;
	}

	.middle4_2 .timeline-mobile-notice {
		display: none;
	}
}

/* ===================================
   4. 모바일 미디어 쿼리
   =================================== */
@media (max-width: 767px) {
	/* 컨테이너 */
	.middle4_2 .container {
		padding: 40px 8px;
		max-width: 100%;
	}

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

	/* 학부모님께 섹션 */
	.middle4_2 .section--warm .container {
		padding-top: 24px;
		padding-bottom: 40px;
	}

	.middle4_2 .section--warm .section-header {
		margin-top: -35px;
	}

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

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

	.middle4_2 .section-title {
		font-size: 28px;
		line-height: 1.2;
		margin-bottom: 4px;
	}

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

	.middle4_2 .section-description {
		padding: 16px 24px;
		font-size: 14px;
		line-height: 1.4;
		margin: 4px auto 24px;
	}

	/* 텍스트 분기 */
	.middle4_2 .text-desktop { display: none; }
	.middle4_2 .text-mobile { display: inline; }

	/* Info Button 숨김 */
	.middle4_2 .info-button,
	.middle4_2 .info-tooltip {
		display: none;
	}

	/* 타임라인 */
	.middle4_2 .timeline-container {
		display: none;
	}

	.middle4_2 .timeline-mobile-notice {
		display: block;
		padding: 16px;
		margin-top: 24px;
	}

	.middle4_2 .timeline-mobile-notice__icon {
		font-size: 28px;
		margin-bottom: 4px;
	}

	.middle4_2 .timeline-mobile-notice__text {
		font-size: 16px;
		line-height: 1.3;
	}

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

	.middle4_2 .letter__content {
		padding: 32px 16px;
		border-radius: 20px;
	}

	.middle4_2 .letter__profile {
		float: none;
		width: 100%;
		margin: 0 0 24px 0;
	}

	.middle4_2 .letter__paragraph {
		font-size: 14px;
		line-height: 1.68;
		margin-bottom: 12px;
		text-align: justify;
	}

	.middle4_2 .letter__paragraph:first-of-type {
		margin-top: 32px;
	}

	.middle4_2 .letter__greeting {
		font-size: 16px;
	}

	.middle4_2 .letter__section-title {
		font-size: 16px;
		margin-top: 16px;
		margin-bottom: 8px;
		padding-left: 8px;
	}

	.middle4_2 .letter__quote {
		padding: 12px 16px;
		margin-top: 16px;
		margin-bottom: 4px;
		font-size: 16px;
		line-height: 1.3;
	}

	.middle4_2 .letter__closing {
		margin-top: 32px;
		padding-top: 16px;
		font-size: 14px;
		line-height: 1.68;
	}

	/* 프로필 카드 */
	.middle4_2 .profile-card {
		padding: 8px;
		padding-top: 0;
	}

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

	.middle4_2 .profile-card__name {
		font-size: 18px;
		line-height: 1.2;
	}

	.middle4_2 .profile-card__body {
		flex-direction: column;
		align-items: center;
		text-align: left;
		gap: 12px;
		padding-top: 8px;
	}

	.middle4_2 .profile-card__photo-placeholder {
		width: 140px;
		height: 168px;
		font-size: 11px;
		flex-shrink: 0;
	}

	.middle4_2 .profile-card__details {
		font-size: 12px;
		line-height: 1.3;
		width: 100%;
		text-align: left;
		padding: 0 8px;
	}

	.middle4_2 .profile-card__details > div {
		margin-bottom: 4px;
	}

	.middle4_2 .profile-card__badge {
		font-size: 14px;
		padding: 4px 8px;
		margin-top: 8px;
	}
}

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

	.middle4_2 .letter__quote {
		font-size: 14px;
		padding: 8px 12px;
	}

	.middle4_2 .profile-card__name {
		font-size: 16px;
	}
}