/* ==================== 기본 스타일 리셋 ==================== */
.elementary body,
.elementary ul,
.elementary li,
.elementary p,
.elementary div,
.elementary input,
.elementary textarea,
.elementary select,
.elementary table,
.elementary button,
.elementary h1,
.elementary 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 */
/* ================================================
   2. 초등부 페이지 스타일 (body.elementary1_1)
   ================================================ */

/* 레이아웃 컴포넌트 */
.elementary1_1 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* 강점 카드 그리드 */
.elementary1_1 .strengths-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	margin-top: 24px;
	padding: 0;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.elementary1_1 .strength-card__image {
	width: 100%;
	height: 330px;
	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;
	padding: 16px;
}

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

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

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

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

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

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

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

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

/* Description Box */
.elementary1_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);
}

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

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

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

/* Feature Cards */
.elementary1_1 .feature-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 40px auto;
	max-width: 1400px;
}

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

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

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

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

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

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

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

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

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

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

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

/* ================================================
   4. 모바일 반응형 (767px 이하)
   ================================================ */
@media (max-width: 767px) {
	/* 컨테이너 & 섹션 */
	.elementary1_1 .container {
		padding: 0;
		max-width: 100%;
	}

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

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

	.elementary1_1 .hero-section::before,
	.elementary1_1 .hero-section::after {
		display: none;
	}

	/* 텍스트 콘텐츠 패딩 */
	.elementary1_1 .hero-header,
	.elementary1_1 .core-strengths__header,
	.elementary1_1 .special-features {
		padding: 0 16px;
	}

	/* 히어로 섹션 */
	.elementary1_1 .hero-title {
		font-size: 26px;
		line-height: 1.2;
		margin-bottom: 8px;
	}

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

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

	/* 강점 섹션 */
	.elementary1_1 .core-strengths__title {
		font-size: 18px;
		line-height: 1.3;
		margin-bottom: 8px;
	}

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

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

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

	.elementary1_1 .strength-card-container:hover {
		transform: none !important;
	}

	.elementary1_1 .strength-card {
		padding: 12px 16px;
		border-radius: 20px 20px 0 0;
	}

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

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

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

	.elementary1_1 .strength-card__image {
		height: 240px;
		border-radius: 0 0 20px 20px;
	}

	/* Special Features */
	.elementary1_1 .special-features__text {
		font-size: 20px;
		line-height: 1;
	}

	.elementary1_1 .special-features__number {
		font-size: 24px;
		line-height: 1;
	}

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

	/* Description Box */
	.elementary1_1 .description-box {
		margin: 16px 0;
		padding: 12px 16px;
		border-radius: 0;
		width: 100vw;
		margin-left: 0;
		border-left: none;
		border-right: none;
	}

	.elementary1_1 .description-box::before {
		left: 0;
		width: 3px;
		height: 80%;
	}

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

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

	.elementary1_1 .feature-card {
		margin: 0;
		padding: 16px;
		border-radius: 20px;
		width: 100%;
		box-shadow: 0 4px 12px rgba(0,0,0,0.06);
		border: 1px solid #E8E8E8;
	}

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

	.elementary1_1 .feature-card::before {
		left: 0;
		right: 0;
		height: 3px;
	}

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

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

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

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

	.elementary1_1 .feature-card__highlight-text {
		font-size: 13px;
		line-height: 1.3;
	}

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

	.elementary1_1 :focus-visible {
		outline: 3px solid #FF6B35;
		outline-offset: 3px;
	}

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

	.elementary1_1 img {
		max-width: 100%;
		height: auto;
		object-fit: cover;
	}
}

/* ================================================
   5. 초소형 디바이스 대응
   ================================================ */

/* iPhone X 노치 대응 */
@supports (padding: env(safe-area-inset-top)) {
	.elementary1_1 .header {
		padding-top: env(safe-area-inset-top);
	}

	.elementary1_1 .container {
		padding-left: env(safe-area-inset-left);
		padding-right: env(safe-area-inset-right);
	}
}

/* 375px 이하 디바이스 */
@media (max-width: 375px) {
	.elementary1_1 .container {
		padding: 0;
	}

	.elementary1_1 .hero-title {
		font-size: 24px;
	}

	.elementary1_1 .feature-card__highlight-text {
		font-size: 12px;
	}
}

/* 360px 이하 디바이스 */
@media (max-width: 360px) {
	.elementary1_1 .hero-title {
		font-size: 22px;
	}

	.elementary1_1 .feature-card__highlight-text {
		font-size: 12px;
	}
}

/* 가로 모드 대응 */
@media (max-width: 767px) and (orientation: landscape) {
	.elementary1_1 .hero-section {
		min-height: auto;
		padding: 30px 0;
	}

	.elementary1_1 .strength-card__image {
		height: 180px;
	}

	.elementary1_1 .section {
		padding: 30px 0;
	}
}



/* 초등1-2 */
/* ==================== 초등부 페이지 스타일 ==================== */
/* 레이아웃 컨테이너 */
.elementary1_2 .container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

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

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

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

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

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

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

.elementary1_2 .curriculum__title {
	font-size: 52px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 24px;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

.elementary1_2 .curriculum__description {
	color: #1A1A1A;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
}

.elementary1_2 .curriculum__emphasis {
	color: #FF6B35;
	font-size: 18px;
	font-weight: 700;
}

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

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

/* 레벨 박스 */
.elementary1_2 .level-box {
	width: 180px;
	height: 140px;
	background: #FFFFFF;
	border: 3px solid;
	border-radius: 20px;
	padding: 24px 10px;
	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);
}

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

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

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

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

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

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

.elementary1_2 .level-box--beginner .level-box__name { color: #4CAF50; }
.elementary1_2 .level-box--junior .level-box__name { color: #2196F3; }
.elementary1_2 .level-box--ace .level-box__name { color: #FF6B6B; }
.elementary1_2 .level-box--master .level-box__name { color: #FF6B35; }

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

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

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

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

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

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

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

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

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

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

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

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

.elementary1_2 .table__cell--master { 
	background: rgba(255,152,0,0.15); 
	color: #FF9800;
	font-weight: 700;
}

.elementary1_2 .table tbody tr.table__row--level td[colspan] {
	font-size: 30px !important;
	font-weight: 700 !important;
	padding: 20px 4px;
	letter-spacing: 1px;
}

.elementary1_2 .table tbody tr.table__row--level td:first-child {
	font-size: 17px !important;
	font-weight: 700 !important;
	padding: 15px 4px !important;
}

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

/* 레벨 카드 */
.elementary1_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;
}

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

.elementary1_2 .level-card--beginner:hover { border-color: #4CAF50; }
.elementary1_2 .level-card--junior:hover { border-color: #2196F3; }
.elementary1_2 .level-card--ace:hover { border-color: #FF6B6B; }
.elementary1_2 .level-card--master:hover { border-color: #FF6B35; }

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

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

.elementary1_2 .level-card__badge--beginner { 
	background: linear-gradient(135deg, #4CAF50, #66BB6A); 
}
.elementary1_2 .level-card__badge--junior { 
	background: linear-gradient(135deg, #2196F3, #42A5F5); 
}
.elementary1_2 .level-card__badge--ace { 
	background: linear-gradient(135deg, #FF6B6B, #FF8A80); 
}
.elementary1_2 .level-card__badge--master { 
	background: linear-gradient(135deg, #FFB84D, #FF6B35); 
}

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

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

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

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

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

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

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

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

.elementary1_2 .level-card--beginner .level-card__objective-item::before { color: #4CAF50; }
.elementary1_2 .level-card--junior .level-card__objective-item::before { color: #2196F3; }
.elementary1_2 .level-card--ace .level-card__objective-item::before { color: #FF6B6B; }
.elementary1_2 .level-card--master .level-card__objective-item::before { color: #FF6B35; }

.elementary1_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;
	border: none;
	width: 100%;
}

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

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

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

.elementary1_2 .level-card--master .level-card__toggle { 
	background: #FFF3E0; 
	color: #FF6B35;
}

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

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

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

/* 배경색 유틸리티 */
.elementary1_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); 
	}
}

/* ==================== 모바일 반응형 (767px 이하) ==================== */
@media (max-width: 767px) {
	.elementary1_2 .container {
		padding: 0;
		max-width: 100%;
	}

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

	.elementary1_2 .curriculum-section {
		padding: 48px 0;
	}

	.elementary1_2 .curriculum-section__header {
		padding: 0 16px;
	}

	.elementary1_2 .section__header {
		padding: 0 16px;
	}

	.elementary1_2 .curriculum__title {
		font-size: 28px;
		line-height: 1.3;
	}

	.elementary1_2 .level-container { 
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		padding: 0 16px;
		margin: 12px 0 30px 0;
	}

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

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

	.elementary1_2 .level-box__grade {
		font-size: 13px;
	}

	.elementary1_2 .level-box__duration {
		font-size: 13px;
	}

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

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

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

	.elementary1_2 .table {
		min-width: 700px;
		font-size: 13px;
	}

	.elementary1_2 .table thead th {
		font-size: 14px;
		padding: 12px 4px;
	}

	.elementary1_2 .table tbody td {
		font-size: 14px;
		padding: 12px 4px;
	}

	.elementary1_2 .table tbody tr.table__row--level td[colspan] {
		font-size: 20px !important;
		padding: 16px 4px;
	}

	.elementary1_2 .table tbody tr.table__row--level td:first-child {
		font-size: 14px !important;
		padding: 12px 4px !important;
	}

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

	.elementary1_2 .level-cards {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 0 10px;
		margin: 24px 0;
		max-width: calc(100% - 10px);
	}

	.elementary1_2 .level-card {
		padding: 12px;
		border-radius: 12px;
		margin: 0;
		width: 100%;
		max-width: calc(100vw - 20px);
	}

	.elementary1_2 .level-card__header {
		margin-bottom: 8px;
		padding-bottom: 8px;
	}

	.elementary1_2 .level-card__badge {
		width: 36px;
		height: 36px;
		font-size: 14px;
	}

	.elementary1_2 .level-card__name {
		font-size: 22px;
	}

	.elementary1_2 .level-card__desc {
		font-size: 13px;
	}

	.elementary1_2 .level-card__objectives {
		padding: 8px 0 8px 24px;
	}

	.elementary1_2 .level-card__objectives-title {
		font-size: 14px;
	}

	.elementary1_2 .level-card__objective-item {
		font-size: 13px;
		margin-bottom: 4px;
		line-height: 1.3;
	}

	.elementary1_2 .level-card__objective-item::before {
		font-size: 13px;
	}

	.elementary1_2 .level-card__toggle {
		padding: 8px;
		font-size: 14px;
	}

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

	.elementary1_2 .section__title {
		font-size: 24px;
	}

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

	.elementary1_2 .level-box:hover,
	.elementary1_2 .level-card:hover {
		transform: none !important;
	}

	.elementary1_2 .table-container::-webkit-scrollbar {
		height: 6px;
	}

	.elementary1_2 .table-container::-webkit-scrollbar-track {
		background: #f1f1f1;
	}

	.elementary1_2 .table-container::-webkit-scrollbar-thumb {
		background: #FF6B35;
		border-radius: 3px;
	}
}

/* 작은 모바일 (360px 이하) */
@media (max-width: 360px) {
	.elementary1_2 .curriculum__title {
		font-size: 24px;
	}

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

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



/* 초등2 */
/* ==================== Elementary Page Styles ==================== */

/* Layout Components */
.elementary2 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

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

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

.elementary2 .section--gray {
	background: #F8F9FA;
}

/* Typography Components */
.elementary2 .section-header {
	text-align: center;
	margin-bottom: 16px;
}

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

.elementary2 .page-title__number {
	font-size: 56px;
	color: #FF6B35;
}

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

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

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

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

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

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

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

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

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

.elementary2 .area-card--grammar { 
	border-top-color: #4CAF50; 
}
.elementary2 .area-card--reading { 
	border-top-color: #2196F3; 
}
.elementary2 .area-card--listening { 
	border-top-color: #9C27B0; 
}
.elementary2 .area-card--vocabulary { 
	border-top-color: #FF9800; 
}
.elementary2 .area-card--book { 
	border-top-color: #E91E63; 
}

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

.elementary2 .area-card--grammar .area-card__icon { 
	background: #4CAF50; 
}
.elementary2 .area-card--reading .area-card__icon { 
	background: #2196F3; 
}
.elementary2 .area-card--listening .area-card__icon { 
	background: #9C27B0; 
}
.elementary2 .area-card--vocabulary .area-card__icon { 
	background: #FF9800; 
}
.elementary2 .area-card--book .area-card__icon { 
	background: #E91E63; 
}

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

.elementary2 .area-card--grammar .area-card__title { 
	border-color: #4CAF50; 
}
.elementary2 .area-card--reading .area-card__title { 
	border-color: #2196F3; 
}
.elementary2 .area-card--listening .area-card__title { 
	border-color: #9C27B0; 
}
.elementary2 .area-card--vocabulary .area-card__title { 
	border-color: #FF9800; 
}
.elementary2 .area-card--book .area-card__title { 
	border-color: #E91E63; 
}

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

.elementary2 .area-card--grammar .area-card__quote { 
	color: #4CAF50; 
}
.elementary2 .area-card--reading .area-card__quote { 
	color: #2196F3; 
}
.elementary2 .area-card--listening .area-card__quote { 
	color: #9C27B0; 
}
.elementary2 .area-card--vocabulary .area-card__quote { 
	color: #FF9800; 
}
.elementary2 .area-card--book .area-card__quote { 
	color: #E91E63; 
}

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

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

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

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

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

.elementary2 .area-card--grammar .btn--toggle { 
	background: rgba(76, 175, 80, 0.6); 
}
.elementary2 .area-card--reading .btn--toggle { 
	background: rgba(33, 150, 243, 0.6); 
}
.elementary2 .area-card--listening .btn--toggle { 
	background: rgba(156, 39, 176, 0.6); 
}
.elementary2 .area-card--vocabulary .btn--toggle { 
	background: rgba(255, 152, 0, 0.6); 
}
.elementary2 .area-card--book .btn--toggle { 
	background: rgba(233, 30, 99, 0.6); 
}

.elementary2 .area-card--grammar .btn--toggle:hover,
.elementary2 .area-card--grammar .btn--toggle.active { 
	background: #4CAF50; 
}
.elementary2 .area-card--reading .btn--toggle:hover,
.elementary2 .area-card--reading .btn--toggle.active { 
	background: #2196F3; 
}
.elementary2 .area-card--listening .btn--toggle:hover,
.elementary2 .area-card--listening .btn--toggle.active { 
	background: #9C27B0; 
}
.elementary2 .area-card--vocabulary .btn--toggle:hover,
.elementary2 .area-card--vocabulary .btn--toggle.active { 
	background: #FF9800; 
}
.elementary2 .area-card--book .btn--toggle:hover,
.elementary2 .area-card--book .btn--toggle.active { 
	background: #E91E63; 
}

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

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

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

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

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

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

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

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

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

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

.elementary2 .process-step__number {
	width: 40px;
	height: 40px;
	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;
}

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

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

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

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

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

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

/* Special Styles */
.elementary2 .listening-line {
	position: absolute;
	top: 60px;
	left: 10%;
	right: 10%;
	height: 2px;
	background: #9C27B0;
	z-index: 0;
}

.elementary2 .ai-step {
	background: #9C27B0;
	color: #FFFFFF;
	padding: 4px 12px;
	border-radius: 20px;
	display: inline-block;
}

.elementary2 .lexile-badge {
	background: black;
	color: white;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: bold;
	display: inline-block;
}

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

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

.elementary2 .promise-card:nth-child(1) { 
	animation-delay: 0.2s; 
}
.elementary2 .promise-card:nth-child(2) { 
	animation-delay: 0.4s; 
}
.elementary2 .promise-card:nth-child(3) { 
	animation-delay: 0.6s; 
}

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

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

.elementary2 .promise-card:nth-child(1) .promise-card__emoji { 
	animation-delay: 0s; 
}
.elementary2 .promise-card:nth-child(2) .promise-card__emoji { 
	animation-delay: 0.2s; 
}
.elementary2 .promise-card:nth-child(3) .promise-card__emoji { 
	animation-delay: 0.4s; 
}

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

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

/* Vocabulary Highlight Box */
.elementary2 .vocabulary-highlight {
	background: linear-gradient(135deg, #FF9800 0%, #FFB74D 100%);
	border-radius: 12px;
	padding: 20px;
	text-align: center;
	color: white;
	margin-top: 20px;
}

.elementary2 .vocabulary-highlight__icon {
	font-size: 24px;
	margin-bottom: 8px;
}

.elementary2 .vocabulary-highlight__title {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 8px;
}

.elementary2 .vocabulary-highlight__desc {
	font-size: 14px;
	line-height: 1.5;
}

/* 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); }
}

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

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

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

	.elementary2 .section-header,
	.elementary2 .grid,
	.elementary2 .accordion,
	.elementary2 .promise-cards {
		padding: 0 16px;
	}

	/* Grid */
	.elementary2 .grid--3,
	.elementary2 .grid--5 { 
		grid-template-columns: 1fr;
		gap: 12px;
	}

	/* Typography */
	.elementary2 .page-title { 
		font-size: 26px;
		line-height: 1.2;
		margin-bottom: 8px;
	}

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

	.elementary2 .section-title { 
		font-size: 20px !important;
		line-height: 1.3;
		margin-bottom: 8px;
	}

	.elementary2 .section-subtitle {
		font-size: 13px;
		padding: 4px 8px;
		margin-bottom: 8px;
	}

	.elementary2 .section-description {
		font-size: 14px;
		line-height: 1.3;
	}

	/* Area Cards */
	.elementary2 .area-card {
		padding: 12px 8px;
		border-radius: 0;
	}

	.elementary2 .area-card__icon {
		width: 40px;
		height: 40px;
		font-size: 20px;
		margin: 8px auto 4px;
	}

	.elementary2 .area-card__title {
		font-size: 22px !important;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 4px;
	}

	.elementary2 .area-card__quote {
		font-size: 13px;
		line-height: 1.2;
		margin-bottom: 4px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

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

	.elementary2 .area-card__desc {
		font-size: 12px;
		line-height: 1.2;
		margin-bottom: 8px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.elementary2 .btn--toggle {
		display: none;
	}

	/* Process Steps */
	.elementary2 .process-steps {
		flex-direction: column;
		gap: 8px;
	}

	.elementary2 .process-step {
		padding: 12px 8px;
		border-radius: 0;
	}

	.elementary2 .process-step__number {
		width: 32px;
		height: 32px;
		font-size: 14px;
		margin-bottom: 4px;
	}

	.elementary2 .process-step__icon {
		font-size: 20px;
		margin-bottom: 4px;
	}

	.elementary2 .process-step__title {
		font-size: 14px;
		line-height: 1.2;
		margin-bottom: 4px;
	}

	.elementary2 .process-step__desc {
		font-size: 13px;
		line-height: 1.3;
	}

	/* Circle Steps */
	.elementary2 .circle-step {
		width: 40px;
		height: 40px;
		margin-bottom: 4px;
	}

	.elementary2 .circle-step__icon {
		font-size: 16px;
	}

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

	/* Accordion */
	.elementary2 .accordion {
		padding: 0 8px;
	}

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

	.elementary2 .accordion__header {
		flex-direction: column;
		text-align: center;
		gap: 4px;
		margin-bottom: 8px;
		padding-bottom: 8px;
	}

	.elementary2 .accordion__icon {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}

	.elementary2 .accordion__title {
		font-size: 16px;
		line-height: 1.2;
	}

	.elementary2 .accordion__subtitle {
		font-size: 13px;
		line-height: 1.3;
		margin-top: 4px;
	}

	/* Promise Cards */
	.elementary2 .promise-cards {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.elementary2 .promise-card {
		padding: 16px 12px;
		border-radius: 0;
	}

	.elementary2 .promise-card__emoji {
		font-size: 24px;
		margin-bottom: 4px;
	}

	.elementary2 .promise-card__title {
		font-size: 18px !important;
		line-height: 1.2;
		margin-bottom: 8px;
	}

	.elementary2 .promise-card__desc {
		font-size: 15px !important;
		line-height: 1.3;
	}

	/* Vocabulary Highlight */
	.elementary2 .vocabulary-highlight {
		padding: 12px;
		margin: 12px -12px 0;
		border-radius: 0;
	}

	.elementary2 .vocabulary-highlight__icon {
		font-size: 20px;
		margin-bottom: 4px;
	}

	.elementary2 .vocabulary-highlight__title {
		font-size: 14px;
		line-height: 1.3;
		margin-bottom: 4px;
	}

	.elementary2 .vocabulary-highlight__desc {
		font-size: 12px;
		line-height: 1.3;
	}

	/* Special Styles */
	.elementary2 .lexile-badge {
		font-size: 12px;
		padding: 4px 8px;
	}

	.elementary2 .ai-step {
		font-size: 12px;
		padding: 2px 8px;
	}

	.elementary2 .listening-line {
		top: 45px;
		left: 5%;
		right: 5%;
		height: 1px;
	}

	.elementary2 #book-accordion .process-step:last-child {
		min-height: 150px;
	}

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

	/* Remove Hover Effects */
	.elementary2 .card:hover,
	.elementary2 .promise-card:hover,
	.elementary2 .area-card:hover {
		transform: none !important;
		box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
	}

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

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

	.elementary2 .page-title__number {
		font-size: 28px;
	}

	.elementary2 .area-card__title {
		font-size: 20px !important;
	}

	.elementary2 .section-title {
		font-size: 18px !important;
	}
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
	.elementary2 .grid--5 { 
		grid-template-columns: repeat(3, 1fr); 
	}

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



/* 초등3 */
/* ========================================
   2. elementary3 페이지 스타일
   ======================================== */

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

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

.elementary3 .section {
	padding: 100px 24px;
	margin: 0;
}

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

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

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

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

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

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

/* 타이포그래피 */
.elementary3 .section__header {
	text-align: center;
	margin-bottom: 40px;
}

.elementary3 .section__title {
	font-size: 42px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 32px;
	letter-spacing: -0.5px;
	line-height: 1.2;
	word-break: keep-all;
}

.elementary3 .page-title {
	font-size: 52px;
	font-weight: 900;
	color: #1A1A1A;
	margin-bottom: 16px;
	word-break: keep-all;
}

.elementary3 .subtitle-badge {
	display: inline-block;
	padding: 16px 40px;
	border-radius: 50px;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 24px;
}

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

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

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

.elementary3 .daily__highlight {
	font-size: 24px;
	font-weight: 900;
	color: #FF6B35;
	margin-bottom: 16px;
	word-break: keep-all;
}

.elementary3 .daily__description {
	font-size: 16px;
	line-height: 1.7;
	color: #6B7280;
	margin-bottom: 32px;
	word-break: keep-all;
}

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

.elementary3 .time-boxes {
	display: flex;
	justify-content: center;
	gap: 32px;
	flex-wrap: wrap;
}

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

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

.elementary3 .time-box__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: 0;
	line-height: 1;
}

.elementary3 .time-box__label {
	font-size: 16px;
	color: #6B7280;
	font-weight: 600;
	line-height: 1;
	margin-top: 8px;
}

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

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

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

.elementary3 .daily__bottom-text {
	text-align: center;
	font-size: 16px;
	line-height: 1.8;
	color: #FF6B35;
	font-weight: 500;
	word-break: keep-all;
	margin-top: 32px;
}

/* Section 2 - Study Time */
.elementary3 .study-time__intro {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	margin-bottom: 40px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.elementary3 .study-time__badge {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	padding: 16px 40px;
	border-radius: 50px;
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	flex-shrink: 0;
}

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

.elementary3 .study-time__text {
	font-size: 16px;
	line-height: 1.6;
	color: #6B7280;
	margin-bottom: 8px;
	word-break: keep-all;
}

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

.elementary3 .study-cards {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	width: 100%;
}

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

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

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

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

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

/* Section 3 - Test System */
.elementary3 .test__intro {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	margin-bottom: 40px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.elementary3 .test__badge {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	color: #FFFFFF;
	padding: 16px 40px;
	border-radius: 50px;
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.elementary3 .test__description {
	flex: 1;
}

.elementary3 .test__text {
	font-size: 16px;
	line-height: 1.7;
	color: #6B7280;
	margin-bottom: 16px;
	word-break: keep-all;
}

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

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

.elementary3 .process__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin: 40px 0 0;
}

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

.elementary3 .process__circle {
	width: 154px;
	height: 154px;
	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: 10px;
}

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

.elementary3 .process__number {
	font-size: 60px;
	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;
}

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

.elementary3 .process__test {
	text-align: center;
	padding-top: 10px;
}

.elementary3 .process__test-name {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
	word-break: keep-all;
}

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

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

.elementary3 .parent__content {
	flex: 1;
}

.elementary3 .parent__title {
	font-size: 24px;
	font-weight: 900;
	color: #1A1A1A;
	text-align: left;
	margin-bottom: 24px;
	word-break: keep-all;
}

.elementary3 .parent__checklist {
	margin-bottom: 24px;
}

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

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

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

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

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

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

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

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

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

.elementary3 .icon-grid__label {
	font-size: 14px;
	color: #6B7280;
	font-weight: 600;
}

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

.elementary3 .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: 10px;
	overflow: hidden;
}

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

/* Section 5 - Achievement */
.elementary3 .achievement__cards {
	display: flex;
	gap: 32px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 32px;
}

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

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

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

.elementary3 .achievement-card__icon {
	font-size: 56px;
	margin-bottom: 24px;
}

.elementary3 .achievement-card__percentage {
	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: 16px;
}

.elementary3 .achievement-card__label {
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 16px;
	word-break: keep-all;
}

.elementary3 .achievement-card--special::before {
	background: linear-gradient(135deg, #FF0000, #CC0000);
}

.elementary3 .achievement-card--special .achievement-card__percentage {
	color: #FF0000;
	background: none;
	-webkit-text-fill-color: #FF0000;
}

.elementary3 .achievement__message {
	text-align: center;
	max-width: 700px;
	margin: 40px auto 0;
}

.elementary3 .achievement__message-title {
	font-size: 20px;
	color: #FF6B35;
	font-weight: 600;
	margin-bottom: 16px;
	word-break: keep-all;
}

.elementary3 .achievement__message-text {
	font-size: 16px;
	line-height: 1.7;
	color: #6B7280;
	word-break: keep-all;
}

/* Section 6 - FAQ */
.elementary3 .faq__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 1100px;
	margin: 32px auto 0;
}

.elementary3 .faq-card {
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	border: none;
	border-radius: 20px;
	padding: 0;
	position: relative;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.06);
	overflow: hidden;
}

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

.elementary3 .faq-card__icon {
	position: absolute;
	top: 18px;
	left: 24px;
	width: 24px;
	height: 24px;
	background: #FFFFFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FF6B35;
	font-size: 14px;
	font-weight: 700;
	z-index: 2;
}

.elementary3 .faq-card__question-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 56px 16px 56px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	min-height: 56px;
	background: linear-gradient(135deg, #FFB84D 0%, #FF6B35 100%);
	position: relative;
}

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

.elementary3 .faq-card__toggle {
	width: 22px;
	height: 22px;
	background: #FFFFFF;
	border: none;
	border-radius: 50%;
	color: #FF6B35;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 16px;
	flex-shrink: 0;
}

.elementary3 .faq-card__toggle:hover {
	transform: scale(1.1);
}

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

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

.elementary3 .faq-card__answer.show {
	max-height: 300px;
	padding: 24px 56px;
}

/* ========================================
   3. 모바일 반응형
   ======================================== */
@media (max-width: 767px) {
	/* Mobile break 표시 */
	.elementary3 .mobile-break {
		display: inline;
	}

	/* Container와 Section */
	.elementary3 .container {
		padding: 0;
		max-width: 100%;
	}

	.elementary3 .section {
		padding: 48px 0;
	}

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

	/* 특정 섹션 상단 여백 추가 */
	.elementary3 #test-title,
	.elementary3 #achievement-title {
		padding-top: 48px;
	}

	/* 텍스트 콘텐츠 패딩 */
	.elementary3 .section__header {
		padding: 0 12px;
	}

	.elementary3 .section__title {
		font-size: 28px;
		margin-bottom: 16px;
	}

	.elementary3 .page-title {
		font-size: 32px;
	}

	/* Daily Section */
	.elementary3 .daily__box {
		padding: 16px;
		border-width: 2px;
		margin: 0 12px;
		border-radius: 20px;
	}

	.elementary3 .daily__highlight {
		font-size: 20px;
	}

	.elementary3 .daily__description {
		font-size: 14px;
		margin-bottom: 16px;
	}

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

	.elementary3 .time-box {
		width: 100%;
		max-width: 300px;
		padding: 12px 16px;
	}

	.elementary3 .time-box__number {
		font-size: 36px;
	}

	.elementary3 .time-box__label {
		font-size: 14px;
	}

	.elementary3 .daily__bottom-text {
		font-size: 14px;
		margin-top: 16px;
	}

	/* Study Section */
	.elementary3 .study-time__intro {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		padding: 0 12px;
		margin-bottom: 24px;
	}

	.elementary3 .study-time__badge {
		font-size: 18px;
		padding: 8px 24px;
	}

	.elementary3 .study-time__text {
		font-size: 14px;
	}

	.elementary3 .study-time__warning {
		font-size: 14px;
		margin-top: 8px;
	}

	.elementary3 .study-cards {
		flex-direction: column;
		gap: 8px;
		padding: 0 12px;
	}

	.elementary3 .study-card {
		width: 100%;
		padding: 12px;
	}

	.elementary3 .study-card__icon {
		font-size: 36px;
		height: 48px;
	}

	.elementary3 .study-card__title {
		font-size: 16px;
	}

	.elementary3 .study-card__time {
		font-size: 18px;
	}

	/* Test Section */
	.elementary3 .test__intro {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		padding: 0 12px;
		margin-bottom: 24px;
	}

	.elementary3 .test__badge {
		font-size: 18px;
		padding: 8px 24px;
	}

	.elementary3 .test__text,
	.elementary3 .test__highlight {
		font-size: 14px;
	}

	.elementary3 .process__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		padding: 0 12px;
		margin-top: 24px;
	}

	.elementary3 .process__circle {
		width: 120px;
		height: 120px;
		border-width: 3px;
	}

	.elementary3 .process__number {
		font-size: 48px;
	}

	.elementary3 .process__label {
		font-size: 20px;
	}

	.elementary3 .process__test-name {
		font-size: 16px;
	}

	.elementary3 .process__test-detail {
		font-size: 12px;
	}

	/* Parent Section */
	.elementary3 .parent__box {
		flex-direction: column;
		padding: 16px;
		gap: 16px;
		margin: 0 12px;
		border-radius: 20px;
	}

	.elementary3 .photo-placeholder {
		padding: 6px;
	}

	.elementary3 .parent__content {
		padding: 0;
	}

	.elementary3 .parent__title {
		font-size: 20px;
		text-align: center;
	}

	.elementary3 .parent__checklist {
		margin-bottom: 12px;
	}

	.elementary3 .check-item {
		gap: 8px;
		margin-bottom: 8px;
	}

	.elementary3 .check-item__mark {
		font-size: 20px;
	}

	.elementary3 .check-item__text {
		font-size: 16px;
	}

	.elementary3 .parent__warning {
		font-size: 16px;
		margin: 12px 0 16px;
	}

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

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

	.elementary3 .icon-grid__label {
		font-size: 12px;
	}

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

	/* Achievement Section */
	.elementary3 .achievement__cards {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		padding: 0 12px;
		margin-top: 16px;
	}

	.elementary3 .achievement-card {
		width: 100%;
		max-width: 320px;
		padding: 16px;
	}

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

	.elementary3 .achievement-card__percentage {
		font-size: 36px;
		margin-bottom: 8px;
	}

	.elementary3 .achievement-card__label {
		font-size: 18px;
		margin-bottom: 8px;
	}

	.elementary3 .achievement__message {
		padding: 0 12px;
		margin-top: 24px;
	}

	.elementary3 .achievement__message-title {
		font-size: 18px;
		margin-bottom: 8px;
	}

	.elementary3 .achievement__message-text {
		font-size: 14px;
	}

	/* FAQ Section */
	.elementary3 .faq__grid {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 0 12px;
		margin-top: 16px;
	}

	.elementary3 .faq-card {
		padding: 0;
		position: relative;
	}

	.elementary3 .faq-card__icon {
		position: absolute;
		width: 20px;
		height: 20px;
		font-size: 12px;
		left: 12px;
		top: 18px;
		z-index: 2;
	}

	.elementary3 .faq-card__question-wrapper {
		position: relative;
		padding: 12px 48px 12px 40px;
		min-height: 44px;
	}

	.elementary3 .faq-card__question {
		font-size: 14px;
		line-height: 1.3;
	}

	.elementary3 .faq-card__toggle {
		width: 28px;
		height: 28px;
		font-size: 16px;
		position: absolute;
		right: 8px;
		top: 50%;
		transform: translateY(-50%);
		min-height: 28px;
	}

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

	.elementary3 .faq-card__answer {
		font-size: 14px;
	}

	.elementary3 .faq-card__answer.show {
		padding: 16px;
	}

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

	.elementary3 .faq-card__toggle {
		min-height: 28px;
	}
}

/* Tablet Responsive */
@media (min-width: 768px) and (max-width: 1023px) {
	.elementary3 .section {
		padding: 80px 20px;
	}

	.elementary3 .section-hero {
		padding: 100px 20px 80px;
	}

	.elementary3 .section__title {
		font-size: 36px;
		margin-bottom: 28px;
	}

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

	.elementary3 .study-cards {
		flex-wrap: wrap;
	}

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

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

/* 작은 모바일 (375px 이하) */
@media (max-width: 375px) {
	.elementary3 .process__grid {
		gap: 8px;
	}

	.elementary3 .process__circle {
		width: 100px;
		height: 100px;
	}

	.elementary3 .process__number {
		font-size: 40px;
	}

	.elementary3 .process__label {
		font-size: 18px;
	}
}

/* 아주 작은 모바일 (360px 이하) */
@media (max-width: 360px) {
	.elementary3 .page-title {
		font-size: 28px;
	}

	.elementary3 .section__title {
		font-size: 24px;
	}

	.elementary3 .time-box__number {
		font-size: 32px;
	}

	.elementary3 .achievement-card__percentage {
		font-size: 32px;
	}
}

/* Hover 효과 비활성화 (터치 디바이스) */
@media (hover: none) {
	.elementary3 .time-box:hover,
	.elementary3 .study-card:hover,
	.elementary3 .process__circle:hover,
	.elementary3 .check-item:hover,
	.elementary3 .icon-grid__item:hover,
	.elementary3 .photo-placeholder:hover,
	.elementary3 .achievement-card:hover,
	.elementary3 .faq-card:hover {
		transform: none;
	}
}

/* 유틸리티 클래스 */
.elementary3 .touchable {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
}

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



/* 초등4-1 */
/* ===========================
   Layout Components
   =========================== */
.elementary4_1 .section {
	position: relative;
	overflow: hidden;
}

.elementary4_1 .section--light {
	background-color: #F8F9FA;
}

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

.elementary4_1 .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 24px;
}

.elementary4_1 .container--compact {
	padding: 64px 24px;
}

/* ===========================
   Typography Components
   =========================== */
.elementary4_1 .section__header {
	text-align: center;
	margin-bottom: 40px;
}

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

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

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

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

.elementary4_1 .table-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 2px solid #F8F9FA;
}

.elementary4_1 .table-card__title {
	font-size: 20px;
	font-weight: 700;
	color: #2c3e50;
}

.elementary4_1 .table-card__subtitle {
	font-weight: 400;
	color: #6B7280;
}

.elementary4_1 .table-card__badge {
	background: #FF6B35;
	color: #FFFFFF;
	padding: 6px 18px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
}

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

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

.elementary4_1 .table__header {
	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;
}

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

.elementary4_1 .table__cell--time {
	font-weight: 600;
	color: #1A1A1A;
}

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

.elementary4_1 .table__sub-time {
	display: block;
	font-size: 14px;
	color: #6B7280;
	margin-top: 2px;
}

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

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

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

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

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

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

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

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

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

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

.elementary4_1 .lms-section {
	width: 100%;
}

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

.elementary4_1 .lms-section__title {
	font-size: 24px;
	font-weight: 700;
	color: #1A1A1A;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
}

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

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

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

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

.elementary4_1 .lms-card__image:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	border-color: #FF6B35;
}
.elementary4_1 .lms-card__image img {
	max-width: 100%;
}

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

/* ===========================
   Utility Classes
   =========================== */
.elementary4_1 .remainder-images {
	width: 320px;
	align-self: stretch;
}

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

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

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

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

/* ===========================
   Mobile Responsive (767px 이하)
   =========================== */
@media (max-width: 767px) {
	.elementary4_1 .container,
	.elementary4_1 .container--compact {
		padding: 40px 12px;
		max-width: 100%;
	}

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

	.elementary4_1 .section__subtitle {
		font-size: 11px;
		margin-bottom: 8px;
	}

	.elementary4_1 .section__description {
		padding: 12px 24px;
		font-size: 14px;
		line-height: 1.4;
	}

	.elementary4_1 .mobile-br {
		display: inline !important;
	}

	.elementary4_1 .table-card {
		padding: 12px;
		margin-bottom: 12px;
		border-radius: 12px;
	}

	.elementary4_1 .table-card__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.elementary4_1 .table-card__title {
		font-size: 18px;
		line-height: 1.2;
	}

	.elementary4_1 .table-card__subtitle {
		font-size: 14px;
	}

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

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

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

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

	.elementary4_1 .table__header,
	.elementary4_1 .table__cell {
		padding: 6px 8px;
		font-size: 13px;
		line-height: 1.2;
	}

	.elementary4_1 .table__sub-time {
		font-size: 10px;
		margin-top: 1px;
	}

	/* 나머지학습 섹션 모바일 */
	.elementary4_1 div[style*="display: flex"][style*="gap: 50px"] {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.elementary4_1 div[style*="flex: 1"] {
		width: 100% !important;
	}

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

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

	/* FAQ 아코디언 모바일 */
	.elementary4_1 .faq-accordion-wrapper {
		width: 100% !important;
		margin: 16px 0 0 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.elementary4_1 .faq-item {
		width: calc(100% - 4px) !important;
		margin: 0 auto 8px auto !important;
		box-sizing: border-box !important;
	}

	.elementary4_1 .faq-header {
		padding: 8px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		display: flex !important;
		gap: 8px !important;
	}

	.elementary4_1 .faq-question-text {
		font-size: 14px !important;
		gap: 6px !important;
		flex: 1 !important;
		min-width: 0 !important;
		display: flex !important;
		align-items: center !important;
	}

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

	.elementary4_1 .faq-question-content {
		font-size: 13px !important;
		word-break: keep-all !important;
		line-height: 1.3 !important;
	}

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

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

	/* 학습관리 시스템 모바일 */
	.elementary4_1 .lms-container {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.elementary4_1 .lms-section__header {
		margin-bottom: 12px !important;
	}

	.elementary4_1 .lms-section__title {
		font-size: 18px !important;
		flex-wrap: wrap !important;
	}

	.elementary4_1 .lms-badge {
		font-size: 14px !important;
		padding: 3px 8px !important;
	}

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

	.elementary4_1 .lms-card__image {
		height: 100px !important;
		font-size: 10px !important;
		border-radius: 8px !important;
	}

	.elementary4_1 .lms-card__title {
		font-size: 11px !important;
		margin-top: 6px !important;
		line-height: 1.3 !important;
	}

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

	/* 호버 효과 제거 */
	.elementary4_1 .table-card:hover,
	.elementary4_1 .faq-item:hover,
	.elementary4_1 .lms-card__image:hover {
		transform: none !important;
		box-shadow: none !important;
	}
}

/* Small Mobile: 360px 이하 */
@media (max-width: 360px) {
	.elementary4_1 .section__title {
		font-size: 24px !important;
	}

	.elementary4_1 .lms-grid {
		grid-template-columns: 1fr !important;
	}

	.elementary4_1 .table {
		min-width: 500px;
	}
}



/* 초등4-2 */
/* ===================================
   2. 레이아웃 컴포넌트
   =================================== */
.elementary4_2 .section {
	position: relative;
	overflow: hidden;
}

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

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

/* ===================================
   3. 섹션 헤더 컴포넌트
   =================================== */
.elementary4_2 .section-header {
	text-align: center;
	margin-bottom: 40px;
}

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

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

.elementary4_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: 8px auto 40px;
}

/* ===================================
   4. Info Button 컴포넌트
   =================================== */
.elementary4_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;
}

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

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

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

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

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

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

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

/* ===================================
   5. 타임라인 컴포넌트
   =================================== */
.elementary4_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);
}

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

.elementary4_2 .timeline-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 0;
	border-left: 2px solid #666;
	border-right: 2px solid #666;
	border-radius: 12px;
	overflow: hidden;
}

.elementary4_2 .timeline-month {
	padding: 32px 0;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: #2c3e50;
	border-right: 1px solid #D0D0D0;
}

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

.elementary4_2 .timeline-month:nth-child(3n) {
	border-right: 3px solid #666;
}

.elementary4_2 .timeline-month:last-child {
	border-right: none;
}

.elementary4_2 .timeline-semesters {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin-top: 12px;
}

.elementary4_2 .timeline-semester {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
}

.elementary4_2 .timeline-semester--1 { color: #FF9B70; }
.elementary4_2 .timeline-semester--2 { color: #4A90E2; }
.elementary4_2 .timeline-semester--3 { color: #5CB85C; }
.elementary4_2 .timeline-semester--4 { color: #E91E63; }

.elementary4_2 .timeline-evaluations {
	position: relative;
	margin-top: -44px;
}

.elementary4_2 .timeline-evaluation {
	position: absolute;
	text-align: center;
	width: 75px;
}

.elementary4_2 .timeline-evaluation--1 { left: calc(24% - 25px); }
.elementary4_2 .timeline-evaluation--2 { left: calc(49% - 25px); }
.elementary4_2 .timeline-evaluation--3 { left: calc(74% - 30px); }
.elementary4_2 .timeline-evaluation--4 { 
	left: calc(98% + 50px); 
	transform: translateX(-100%);
}

.elementary4_2 .timeline-evaluation__arrow {
	color: #999;
	font-size: 10px;
	line-height: 0.5;
	transform: rotate(180deg);
}

.elementary4_2 .timeline-evaluation__line {
	width: 1px;
	height: 20px;
	background: #999;
	margin: 0 auto;
}

.elementary4_2 .timeline-evaluation__badge {
	display: inline-block;
	background: #666;
	color: #FFFFFF;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	margin-top: 5px;
}

/* 타임라인 모바일 안내 */
.elementary4_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;
}

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

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

/* ===================================
   6. 편지 섹션 컴포넌트
   =================================== */
.elementary4_2 .letter {
	display: flex;
	gap: 50px;
	align-items: flex-start;
}

.elementary4_2 .letter__container {
	flex: 1;
}

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

.elementary4_2 .letter__profile {
	float: right;
	width: 465px;
	margin: 0 0 30px 30px;
}

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

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

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

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

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

/* ===================================
   7. 프로필 카드 컴포넌트
   =================================== */
.elementary4_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);
}

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

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

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

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

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

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

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

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

/* ===================================
   8. 유틸리티 클래스
   =================================== */
/* 모바일 전용 줄바꿈 */
.elementary4_2 .mobile-br {
	display: none;
}

/* ===================================
   9. 데스크톱 미디어 쿼리
   =================================== */
@media (min-width: 768px) {
	/* 컨테이너 패딩 - 데스크톱에서만 적용 */
	.elementary4_2 .container {
		padding: 80px 24px;
	}

	/* 타임라인 모바일 안내 숨김 */
	.elementary4_2 .timeline-mobile-notice {
		display: none;
	}
}

/* ===================================
   10. 모바일 미디어 쿼리 (767px 이하)
   =================================== */
@media (max-width: 767px) {
	/* 모바일 줄바꿈 표시 */
	.elementary4_2 .mobile-br {
		display: inline;
	}

	/* 컨테이너 및 섹션 */
	.elementary4_2 .container {
		padding: 40px 8px;
		max-width: 100%;
	}

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

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

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

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

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

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

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

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

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

	/* 타임라인 숨김 및 모바일 안내 표시 */
	.elementary4_2 .timeline-container {
		display: none;
	}

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

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

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

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

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

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

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

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

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

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

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

	.elementary4_2 .letter__closing {
		margin-top: 32px;
		padding-top: 16px;
		font-size: 14px;
		line-height: 1.68;
		text-align: right;
	}

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

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

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

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

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

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

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

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

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

	/* 호버 효과 비활성화 */
	.elementary4_2 *:hover {
		transform: none !important;
	}
}

/* ===================================
   11. 작은 모바일 미디어 쿼리 (360px 이하)
   =================================== */
@media (max-width: 360px) {
	.elementary4_2 .section-title {
		font-size: 24px;
	}

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

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