@charset "UTF-8";
/* ==========================================================================
 * immigration.css
 * 출입국관리직 프리패스 전용 스타일시트
 *
 * - 원본: zero_freepass_8_5.css (모든 직렬 통합)
 * - 추출: .general .integrated .immigration 컨테이너에 필요한 규칙만
 * - 제거: .national, .foreign, .taxoffice, .military, .correctional,
 *         .sec6 / .sec7 / .sec8, .tch_sec, .adviceModal, .integrated_price,
 *         .military_graph1
 * - 추가: 신규 sec4 강사진 카드 그리드 (PNG 단체사진 → 4인 카드 분기)
 *
 * 적용 페이지: /freepass2/immigration  (view: immigration.php)
 * ========================================================================== */


/* ---------- 공통 (container / modal / freepass / left / slick) ---------- */
.container h3 { padding-bottom: 0; border: 0; margin-bottom: 0; width: auto; }
.modal       { width: auto; margin: 0; }
.freepass    { position: relative; }
.left        { float: none; width: auto; margin-right: 0; }
.slick-slider {
	width: 100%;
	min-width: 100%;
	min-height: 100%;
	height: 100%;
	box-sizing: border-box;
}


/* ---------- countdown ---------- */
.countdown.sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 9999;
}
.countdown {
	width: 100%;
	height: 110px;
	background: linear-gradient(90deg, #052E3D 0%, #064E5C 100%);
	border-bottom: 2px solid #10B981;
	padding-bottom: 5px;
}
.countdown .timer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
}
.countdown .timer li {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	margin: 0 5px;
}
.countdown .timer .countdown-note {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: normal;
	width: 100%;
	text-align: center;
	line-height: 1.4;
}
/* countdown 내부 텍스트 강제 흰색 (Day / : 콜론 / 마감안내) */
.countdown .timer li,
.countdown .timer li span,
.countdown .timer .days_text,
.countdown .timer li.bold { color: #fff !important; }
.countdown .timer .countdown-note { color: rgba(255, 255, 255, 0.7) !important; }



/* ==========================================================================
 * sec1 — hero (청록 + 에메랄드 + 강사 4명 + 4박스)
 * 옛 PNG 의존 (integrated_sec1_*, immigration_sec1_*, sec1_event_*) 제거됨
 * ========================================================================== */
.sec1 {
	background: #052E3D;
	padding: 10px 0 80px;
	position: relative;
}
.sec1 .inner { max-width: 1060px; padding: 0 20px; margin: 0 auto; }

.sec1 .hero {
	position: relative;
	padding: 56px 44px 64px;
	overflow: hidden;
}
.sec1 .hero-deco-1,
.sec1 .hero-deco-2 {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.sec1 .hero-deco-1 {
	top: -100px; right: -100px;
	width: 340px; height: 340px;
	border: 1px solid rgba(52, 211, 153, 0.15);
}
.sec1 .hero-deco-2 {
	top: 30px; right: 30px;
	width: 200px; height: 200px;
	border: 1px solid rgba(52, 211, 153, 0.10);
}
.sec1 .hero-body { position: relative; z-index: 1; }

.sec1 .hero-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.35);
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 20px;
}
.sec1 .hero-label i { font-size: 18px; color: #34D399; }
.sec1 .hero-label span {
	font-size: 18px;
	font-weight: 500;
	color: #6EE7B7;
	letter-spacing: 0.3px;
}

.sec1 .hero-title {
	font-size: 110px;
	font-weight: 800;
	color: #fff;
	margin: 0 0 12px;
	letter-spacing: -4px;
	line-height: 1.1;
}
.sec1 .hero-title-sep { display: inline; }
.sec1 .hero-accent {
	font-size: 96px;
	font-weight: 800;
	color: #34D399;
	letter-spacing: -3.2px;
	line-height: 1.1;
	margin-bottom: 20px;
}
.sec1 .hero-subtext {
	font-size: 22px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 40px;
	line-height: 1.5;
	display: flex;
	align-items: center;
	gap: 10px;
}
.sec1 .hero-subtext i {
	font-size: 24px;
	color: #34D399;
	flex-shrink: 0;
}

.sec1 .hero-teachers {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 36px;
	padding-top: 30px;
	align-items: end;
}

/* 강사 카드 — 라인업 스타일 (정보 위 + 누끼 사진 아래, 카드 박스 없음) */
.sec1 .hero-teacher {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	background: transparent;
	border: none;
	padding: 0;
	min-height: 0;
}

/* 정보 카드 (사진 위) */
.sec1 .hero-teacher .info-card {
	width: 100%;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: 14px 12px 12px;
	border-radius: 12px;
	text-align: center;
	position: relative;
	margin-bottom: 18px;
}
.sec1 .hero-teacher.tone-amber .info-card {
	background: rgba(251, 191, 36, 0.12);
	border-color: rgba(251, 191, 36, 0.5);
}
.sec1 .hero-teacher.tone-teal .info-card {
	background: rgba(52, 211, 153, 0.12);
	border-color: rgba(52, 211, 153, 0.5);
}

/* 배지 — 정보 카드 위에 떠 있는 라벨 */
.sec1 .hero-teacher .badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	font-weight: 800;
	padding: 4px 12px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.sec1 .hero-teacher.tone-amber .badge { background: #FBBF24; color: #422006; }
.sec1 .hero-teacher.tone-teal  .badge { background: #34D399; color: #052E3D; }

.sec1 .hero-teacher .name {
	font-size: 26px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 4px;
	letter-spacing: -0.5px;
}
.sec1 .hero-teacher .subj {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 500;
}
.sec1 .hero-teacher.tone-amber .subj { color: #FCD34D; font-weight: 600; }
.sec1 .hero-teacher.tone-teal .subj { color: #6EE7B7; font-weight: 600; }

/* 누끼 사진 — 카드 아래 발 라인 정렬 */
.sec1 .hero-teacher .photo {
	width: 100%;
	height: 410px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg,
		rgba(207, 250, 254, 0.15) 0%,
		rgba(207, 250, 254, 0) 60%);
	border-radius: 12px 12px 0 0;
	transition: transform .35s ease;
}
.sec1 .hero-teacher.tone-amber .photo {
	background: linear-gradient(180deg,
		rgba(251, 191, 36, 0.22) 0%,
		rgba(251, 191, 36, 0) 60%);
}
.sec1 .hero-teacher.tone-teal .photo {
	background: linear-gradient(180deg,
		rgba(52, 211, 153, 0.22) 0%,
		rgba(52, 211, 153, 0) 60%);
}
.sec1 .hero-teacher .photo img {
	width: 180%;
	max-width: 180%;
	height: auto;
	display: block;
	margin: 0 auto;
	flex-shrink: 0;
	position: relative;
}
/* 황남기 (대표교수) — 살짝 더 크게 */
.sec1 .hero-teacher.tone-teal .photo img {
	width: 200%;
	max-width: 200%;
}
/* 김중일 (출입국 전담) — 가장 크게 */
.sec1 .hero-teacher.tone-amber .photo img {
	width: 220%;
	max-width: 220%;
}
/* 하단 페이드 — 사진 발 부분이 hero 배경에 녹아들도록 */
.sec1 .hero-teacher .photo::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 110px;
	background: linear-gradient(180deg,
		rgba(5, 46, 61, 0) 0%,
		rgba(5, 46, 61, 0.5) 35%,
		rgba(5, 46, 61, 0.85) 70%,
		rgba(5, 46, 61, 1) 100%);
	pointer-events: none;
	z-index: 2;
}
.sec1 .hero-teacher:hover .photo {
	transform: translateY(-4px);
}

.sec1 .hero-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.sec1 .selling-line {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.85);
}
.sec1 .selling-line i { font-size: 26px; color: #34D399; }
.sec1 .selling-line strong { color: #6EE7B7; font-weight: 700; }
.sec1 .hero-dday {
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(16, 185, 129, 0.3);
	padding: 8px 14px;
	border-radius: 10px;
}
.sec1 .hero-dday i { font-size: 18px; color: #34D399; }
.sec1 .hero-dday span {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 500;
}

/* hero-cards: 4셀링 박스 (hero에 살짝 겹쳐 올림) */
.sec1 .hero-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
	padding: 0 44px;          /* .hero 좌우 패딩과 동일 → 강사 그리드와 폭 일치 */
	position: relative;
	z-index: 2;
}
.sec1 .hero-card {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 24px;
	padding: 36px 16px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	transition: transform .3s ease, box-shadow .3s ease;
}
.sec1 .hero-card .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	background: #CFFAFE;
	border-radius: 18px;
	margin-bottom: 18px;
}
.sec1 .hero-card .icon i { font-size: 40px; color: #0E7490; }
.sec1 .hero-card.accent .icon { background: #D1FAE5; }
.sec1 .hero-card.accent .icon i { color: #047857; }
.sec1 .hero-card .cap {
	font-size: 17px;
	color: #6B7280;
	margin-bottom: 8px;
	font-weight: 500;
}
.sec1 .hero-card .ttl {
	font-size: 30px;
	font-weight: 800;
	color: #052E3D;
	letter-spacing: -0.7px;
	margin-bottom: 14px;
	line-height: 1.25;
}
.sec1 .hero-card .sub {
	font-size: 17px;
	color: #0E7490;
	font-weight: 700;
	white-space: nowrap;
	letter-spacing: -0.5px;
}
.sec1 .hero-card.accent .sub { color: #047857; }

/* hero-card.highlight — 수강료 0원 강조 (3번 카드) */
.sec1 .hero-card.highlight {
	background: radial-gradient(circle at 50% 60%, #ECFEFF 0%, #fff 70%);
	border: 2px solid #10B981;
	position: relative;
	box-shadow: 0 12px 32px rgba(16, 185, 129, 0.25);
}
.sec1 .hero-card.highlight .cap { color: #047857; font-weight: 700; }
.sec1 .hero-card.highlight .zero-circle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: linear-gradient(135deg, #10B981 0%, #047857 100%);
	color: #fff;
	margin: 14px auto 16px;
	box-shadow: 0 10px 24px rgba(16, 185, 129, 0.4);
	line-height: 1;
}
.sec1 .hero-card.highlight .zero-circle .lbl-top {
	font-size: 17px;
	font-weight: 700;
	opacity: 0.9;
	margin-bottom: 6px;
}
.sec1 .hero-card.highlight .zero-circle .num {
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
	display: inline-flex;
	align-items: baseline;
}
.sec1 .hero-card.highlight .zero-circle .num em {
	font-size: 78px;
	font-weight: 900;
	font-style: normal;
	letter-spacing: -3px;
	line-height: 1;
	margin-right: 2px;
}
.sec1 .hero-card.highlight .sub { color: #047857; font-weight: 700; }


/* ==========================================================================
 * sec1 — 액티브 효과 (호버 / 0원 펄스 / 데코 부유 / 페이드인)
 * ========================================================================== */

/* 1) hero-card 호버 — 위로 들리기 + 그림자 강화 */
.sec1 .hero-card:hover {
	transform: translateY(-6px) scale(1.01);
	box-shadow: 0 16px 36px rgba(5, 46, 61, 0.15);
}
.sec1 .hero-card.accent:hover {
	box-shadow: 0 16px 36px rgba(245, 158, 11, 0.25);
}
.sec1 .hero-card.highlight:hover {
	box-shadow: 0 20px 44px rgba(16, 185, 129, 0.4);
}

/* 2) 0원 원형 펄스 애니메이션 — 시그니처 강조 */
.sec1 .hero-card.highlight .zero-circle {
	position: relative;
	animation: zero-pulse 2s ease-in-out infinite;
}
.sec1 .hero-card.highlight .zero-circle::before {
	content: '';
	position: absolute;
	top: -8px; left: -8px; right: -8px; bottom: -8px;
	border-radius: 50%;
	border: 2px solid rgba(16, 185, 129, 0.5);
	animation: zero-ring 2s ease-out infinite;
}
@keyframes zero-pulse {
	0%, 100% { box-shadow: 0 10px 24px rgba(16, 185, 129, 0.4); }
	50%      { box-shadow: 0 14px 32px rgba(16, 185, 129, 0.6), 0 0 0 6px rgba(16, 185, 129, 0.15); }
}
@keyframes zero-ring {
	0%   { transform: scale(0.95); opacity: 1; }
	100% { transform: scale(1.25); opacity: 0; }
}

/* 3) 카드 배경 부유 데코 — 슬로우 움직임 */
.sec1 .hero-card {
	position: relative;
	overflow: hidden;
}
.sec1 .hero-card::before,
.sec1 .hero-card::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}
.sec1 .hero-card::before {
	top: -30px; right: -30px;
	width: 120px; height: 120px;
	background: rgba(16, 185, 129, 0.05);
	animation: deco-float-1 8s ease-in-out infinite;
}
.sec1 .hero-card::after {
	bottom: -40px; left: -40px;
	width: 90px; height: 90px;
	background: rgba(14, 116, 144, 0.05);
	animation: deco-float-2 6s ease-in-out infinite;
}
.sec1 .hero-card.accent::before { background: rgba(245, 158, 11, 0.08); }
.sec1 .hero-card.highlight::before { background: rgba(16, 185, 129, 0.10); }
.sec1 .hero-card > * { position: relative; z-index: 1; }

@keyframes deco-float-1 {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(-12px, 8px); }
}
@keyframes deco-float-2 {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(10px, -10px); }
}

/* 4) 페이드인 진입 애니메이션 — 카드 순차 등장 */
.sec1 .hero-card {
	opacity: 0;
	animation: hero-fade-in 0.6s ease-out forwards;
}
.sec1 .hero-card:nth-child(1) { animation-delay: 0.1s; }
.sec1 .hero-card:nth-child(2) { animation-delay: 0.2s; }
.sec1 .hero-card:nth-child(3) { animation-delay: 0.3s; }
.sec1 .hero-card:nth-child(4) { animation-delay: 0.4s; }
@keyframes hero-fade-in {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* 모션 줄이기 선호 사용자 */
@media (prefers-reduced-motion: reduce) {
	.sec1 .hero-card,
	.sec1 .hero-card::before,
	.sec1 .hero-card::after,
	.sec1 .hero-card.highlight .zero-circle,
	.sec1 .hero-card.highlight .zero-circle::before {
		animation: none;
		opacity: 1;
		transform: none;
	}
}
/* hero-card.accent 강조 — 에메랄드 그라디언트 + 리본 배지 */
.sec1 .hero-card.accent {
	background: linear-gradient(160deg, #ECFDF5 0%, #fff 100%);
	border: 2px solid #10B981;
	position: relative;
	box-shadow: 0 12px 32px rgba(16, 185, 129, 0.25);
}
.sec1 .hero-card.accent .ribbon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(90deg, #F59E0B 0%, #DC2626 100%);
	color: #fff;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 2px;
	padding: 10px 22px;
	border-radius: 8px;
	margin-bottom: 16px;
	box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}
.sec1 .hero-card.accent .ttl {
	display: inline-block;
	background: #FEF3C7;
	color: #92400E;
	padding: 8px 18px;
	border-radius: 999px;
	margin: 8px 0 14px;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.4px;
}
.sec1 .hero-card.accent .cap { color: #064E5C; font-weight: 700; }



/* ==========================================================================
 * FAQ — 자주 묻는 질문 (teacher-strip 자리 교체)
 * ========================================================================== */
.faq-sec {
	background: linear-gradient(180deg, #FFFFFF 0%, #F0FDFA 100%);
	padding: 100px 0 120px;
}
.faq-sec .inner { max-width: 880px; padding: 0 20px; margin: 0 auto; }

/* 헤더 */
.faq-head { text-align: center; margin-bottom: 56px; }
.faq-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #A7F3D0;
	padding: 8px 20px;
	border-radius: 999px;
	margin-bottom: 20px;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.1);
}
.faq-label i { font-size: 20px; color: #047857; }
.faq-label span {
	font-size: 17px; font-weight: 700; color: #047857;
	letter-spacing: -0.2px;
}
.faq-title {
	font-size: 42px; font-weight: 800; color: #052E3D;
	margin: 0 0 14px;
	letter-spacing: -1.2px; line-height: 1.25;
}
.faq-desc {
	font-size: 17px; color: #475569;
	margin: 0;
	letter-spacing: -0.2px;
	line-height: 1.6;
}

/* FAQ 리스트 */
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* FAQ 항목 (details) */
.faq-item {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover {
	border-color: #6EE7B7;
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08);
}
.faq-item[open] {
	border-color: #10B981;
	box-shadow: 0 8px 20px rgba(16, 185, 129, 0.15);
}

/* 질문 (summary) */
.faq-item summary {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 24px;
	cursor: pointer;
	list-style: none;                         /* 디폴트 마커 제거 (Firefox) */
	user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }   /* 디폴트 마커 제거 (Chrome/Safari) */
.faq-item summary::marker { display: none; content: ''; }

.faq-q-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	background: linear-gradient(135deg, #10B981 0%, #047857 100%);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	border-radius: 10px;
	flex-shrink: 0;
	letter-spacing: -0.3px;
}
.faq-q-text {
	flex: 1;
	font-size: 17px;
	font-weight: 700;
	color: #052E3D;
	letter-spacing: -0.3px;
	line-height: 1.4;
	word-break: keep-all;
}
.faq-chev {
	font-size: 22px;
	color: #94A3B8;
	transition: transform .25s ease, color .25s ease;
	flex-shrink: 0;
}
.faq-item[open] .faq-chev {
	transform: rotate(180deg);
	color: #10B981;
}

/* 답변 */
.faq-a {
	padding: 0 24px 22px 72px;             /* 좌측 패딩: Q 마크 너비(34) + gap(14) + 24 = 72 */
	color: #475569;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: -0.2px;
}
.faq-a p {
	margin: 0 0 10px;
	word-break: keep-all;
}
.faq-a p:last-child { margin-bottom: 0; }
.faq-a strong { color: #052E3D; font-weight: 800; }
.faq-a ul {
	list-style: none;
	padding: 0;
	margin: 8px 0 12px;
}
.faq-a ul li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 6px;
	word-break: keep-all;
}
.faq-a ul li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #10B981;
	font-weight: 800;
	font-size: 16px;
}
.faq-a ul li:last-child { margin-bottom: 0; }
.faq-a .faq-note {
	margin-top: 8px;
	padding: 8px 14px;
	background: #FEF3C7;
	border-left: 3px solid #FBBF24;
	border-radius: 4px;
	font-size: 13.5px;
	color: #92400E;
}

/* 마지막 항목 - 상담 버튼 */
.faq-contact-btns {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.faq-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.2px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.faq-btn i { font-size: 18px; }
.faq-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15); }
.faq-btn.faq-btn-kakao { background: #FEE500; color: #391B1B; }
.faq-btn.faq-btn-qna   { background: #052E3D; color: #fff; }


/* ==========================================================================
 * stats-bar — 합격 통계 4개 (히어로 최상단 띠)
 * ========================================================================== */
.stats-bar {
	background: linear-gradient(90deg, #0F172A 0%, #052E3D 50%, #0F172A 100%);
	padding: 30px 0 32px;
	border-bottom: 1px solid rgba(245, 158, 11, 0.15);
	position: relative;
	overflow: hidden;
}

.stats-bar .inner {
	max-width: 1060px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/* 헤더 배지 제거 (띠라서 공간 절약) - 숨김 */
.stats-head { display: none; }

.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	max-width: 960px;
	margin: 0 auto;
	position: relative;
}
/* 통계 사이 세로 구분선 */
.stats-grid::before,
.stats-grid::after {
	content: '';
	position: absolute;
	top: 8%; bottom: 8%;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(110, 231, 183, 0.3) 40%, rgba(110, 231, 183, 0.3) 60%, transparent);
	pointer-events: none;
}
.stats-grid::before { left: 25%; }
.stats-grid::after  { left: 75%; }

.stat-item {
	text-align: center;
	padding: 0 12px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
/* 가운데 구분선 추가 (50%) */
.stat-item:nth-child(2)::after {
	content: '';
	position: absolute;
	right: -1px;
	top: 8%; bottom: 8%;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(110, 231, 183, 0.3) 40%, rgba(110, 231, 183, 0.3) 60%, transparent);
}

/* 가로형 컴팩트 레이아웃: 라벨 + 큰 숫자 한 줄, 부가설명 작게 */
.stat-label {
	font-size: 13px;
	color: #6EE7B7;
	font-weight: 600;
	margin-bottom: 6px;
	letter-spacing: -0.2px;
}
.stat-value {
	font-size: 38px;
	font-weight: 800;
	color: #FCD34D;
	line-height: 1.02;
	letter-spacing: -1.4px;
	margin-bottom: 4px;
	font-feature-settings: 'tnum';
	text-shadow: 0 2px 12px rgba(245, 158, 11, 0.25);
}
.stat-value .stat-unit {
	font-size: 22px;
	font-weight: 700;
	margin-left: 2px;
}
.stat-value .stat-emphasis {
	font-size: 38px;
}
.stat-sub {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.78);
	margin-bottom: 4px;
	font-weight: 600;
	letter-spacing: -0.2px;
}
.stat-source {
	font-size: 9.5px;
	color: rgba(255, 255, 255, 0.38);
	line-height: 1.45;
	word-break: keep-all;
	letter-spacing: -0.1px;
}


/* ==========================================================================
 * sec2 / sec2_mo — 가격카드 (청록 + BEST 모자 + 호버 확대)
 * ========================================================================== */
.sec2 {
	background: linear-gradient(180deg, #052E3D 0%, #064E5C 100%);
	padding: 100px 0 240px;
}
.sec2_mo {
	background: linear-gradient(180deg, #052E3D 0%, #064E5C 100%);
	padding: 100px 0;
	display: none;
}
.pricesec { /* padding-bottom: 0 제거 — .sec2의 padding-bottom 240px이 살아야 함 */ }
.pricesec .inner,
.sec2_mo .inner { max-width: 1060px; padding: 0 20px; margin: 0 auto; }

/* 헤더 */
.sec2 .title,
.sec2_mo .title { text-align: center; margin-bottom: 56px; padding-top: 0; }
.sec2 .title .badge-line,
.sec2_mo .title .badge-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.35);
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 20px;
}
.sec2 .title .badge-line i,
.sec2_mo .title .badge-line i { font-size: 18px; color: #34D399; }
.sec2 .title .badge-line span,
.sec2_mo .title .badge-line span { font-size: 18px; font-weight: 700; color: #6EE7B7; }
.sec2 .title h2,
.sec2_mo .title h2 {
	font-size: 48px; font-weight: 800; color: #fff;
	margin: 0 0 14px; letter-spacing: -1.4px; line-height: 1.2;
}
.sec2 .title p {
	font-size: 20px; color: rgba(255,255,255,0.75); margin: 0;
}

/* 그리드 — PC 3열, 같은 높이 */
.pricesec .pass {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 980px;
	margin: 0 auto;
	align-items: stretch;
}
.sec2_mo .pass-mo {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

/* 가격카드 공통 */
.pcard {
	background: #fff;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform .3s ease, box-shadow .3s ease;
	height: 100%;
	min-height: 760px;
}
.pcard-head {
	border-radius: 18px 18px 0 0;
}
.pcard:hover {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.25);
}

/* 카드 헤더 */
.pcard-head {
	padding: 28px 22px;
	text-align: center;
	position: relative;
	min-height: 96px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.pcard-head .cap {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 6px;
}
.pcard-head .ttl {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.3px;
}
.pcard-head .cap.gold { color: #FCD34D; font-weight: 600; }

.pcard.tone-light .pcard-head { background: linear-gradient(135deg, #0E7490 0%, #155E75 100%); }
.pcard.tone-light .pcard-head .cap { color: #CFFAFE; }
.pcard.tone-mid   .pcard-head { background: linear-gradient(135deg, #10B981 0%, #047857 100%); }
.pcard.tone-mid   .pcard-head .cap { color: #D1FAE5; }
.pcard.tone-best  .pcard-head { background: linear-gradient(135deg, #052E3D 0%, #064E5C 100%); }

/* BEST 모자 (위로 솟은 라벨) */
.pcard.tone-best  { border: 3px solid #FBBF24; box-shadow: 0 16px 40px rgba(251, 191, 36, 0.3); }
.pcard.tone-best  .best-cap {
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(90deg, #F59E0B 0%, #DC2626 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	padding: 8px 24px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 6px 16px rgba(245, 158, 11, 0.45);
	z-index: 10;
}
.pcard.tone-best:hover  { transform: translateY(-12px) scale(1.04); box-shadow: 0 28px 60px rgba(251, 191, 36, 0.45); }

/* 카드 본문 */
.pcard-body {
	padding: 28px 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.pcard-body .meta {
	flex: 1;
}

/* 가격 영역 */
.pcard-body .price-area { text-align: center; margin-bottom: 22px; }
.pcard-body .price-area .origin {
	font-size: 16px; color: #94A3B8; text-decoration: line-through;
}
.pcard-body .price-area .final {
	display: flex; align-items: baseline; justify-content: center; gap: 4px;
	margin-top: 4px;
}
.pcard-body .price-area .final strong {
	font-size: 56px; font-weight: 800; color: #052E3D; letter-spacing: -2.5px; line-height: 1;
}
.pcard-body .price-area .final span {
	font-size: 22px; font-weight: 700; color: #052E3D;
}
.pcard-body .price-area .discount {
	font-size: 12px; color: #DC2626; font-weight: 700; margin-top: 8px;
}

/* 무이자 할부 */
.pcard-body .installment {
	background: #F0FDFA;
	border: 1px solid #A7F3D0;
	border-radius: 10px;
	padding: 12px 14px;
	text-align: center;
	font-size: 13px;
	color: #475569;
	margin-bottom: 22px;
}
.pcard-body .installment span {
	display: inline-block;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 5px;
	margin-left: 4px;
}
.pcard.tone-light .pcard-body .installment span { background: #0E7490; }
.pcard.tone-mid   .pcard-body .installment span { background: #10B981; }
.pcard.tone-best  .pcard-body .installment.gold { background: #FEF3C7; border-color: #FCD34D; }
.pcard.tone-best  .pcard-body .installment.gold span { background: #B45309; }

/* 메타 정보 */
.pcard-body .meta { border-top: 1px solid #E2E8F0; padding-top: 18px; }
.pcard-body .meta .row {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px dashed #E2E8F0;
}
.pcard-body .meta .row:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.pcard-body .meta .k {
	font-size: 13px;
	color: #64748B;
	font-weight: 700;
	padding-top: 2px;
}
.pcard-body .meta .v {
	font-size: 14px;
	font-weight: 700;
	color: #052E3D;
	text-align: left;
	line-height: 1.5;
}
.pcard-body .meta .v small {
	display: block;
	font-size: 11px;
	font-weight: 500;
	color: #94A3B8;
	margin-top: 3px;
	line-height: 1.4;
	letter-spacing: -0.2px;
}
.pcard-body .meta .v.premium small {
	color: #C2956A;
	font-size: 10px;
	letter-spacing: -0.4px;
	white-space: nowrap;
}
.pcard-body .meta .v.hot { color: #DC2626; }
.pcard-body .meta .v.premium { color: #B45309; line-height: 1.4; text-align: left; }

/* 제공강좌·혜택 영역 + 모두보기 버튼 */
.pcard-body .meta .v.subjects { line-height: 1.5; text-align: left; }
.pcard-body .meta .v.benefit {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	color: #475569;
	text-align: left;
}
.pcard-body .meta .v.benefit b { color: #052E3D; font-weight: 700; }
.pcard-body .view-courses-btn {
	margin-top: 20px;
	background: transparent;
	border: 1px dashed #94A3B8;
	color: #0E7490;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 0;
	border-radius: 8px;
	cursor: pointer;
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transition: background .2s ease, border-color .2s ease;
}
.pcard-body .view-courses-btn:hover {
	background: #F0FDFA;
	border-color: #10B981;
	border-style: solid;
}
.pcard-body .view-courses-btn i { font-size: 14px; }

/* ===== 제공강좌 모달 ===== */
.courses-modal {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(5, 46, 61, 0.7);
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: courses-modal-fade .25s ease-out;
}
.courses-modal.active { display: flex; }
@keyframes courses-modal-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.courses-modal-box {
	background: #fff;
	border-radius: 20px;
	max-width: 720px;
	width: 100%;
	max-height: 85vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.courses-modal-head {
	background: linear-gradient(135deg, #052E3D 0%, #064E5C 100%);
	padding: 24px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.courses-modal-head h3 {
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	margin: 0;
	letter-spacing: -0.4px;
}
.courses-modal-head .sub { color: #6EE7B7; font-size: 13px; font-weight: 500; margin-top: 4px; }
.courses-modal-head .close-btn {
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	color: #fff;
	width: 36px; height: 36px;
	border-radius: 50%;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
}
.courses-modal-head .close-btn:hover { background: rgba(255,255,255,0.25); }
.courses-modal-head .close-btn i { font-size: 18px; }
.courses-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 24px 28px 28px;
}
.courses-modal-body .subject-group {
	margin-bottom: 24px;
}
.courses-modal-body .subject-group:last-child { margin-bottom: 0; }
.courses-modal-body .subject-head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E2E8F0;
}
.courses-modal-body .subject-head .badge {
	background: #CFFAFE;
	color: #0E7490;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}
.courses-modal-body .subject-head .badge.amber {
	background: #FEF3C7;
	color: #B45309;
}
.courses-modal-body .subject-head .teacher-name {
	font-size: 14px;
	font-weight: 700;
	color: #052E3D;
	min-width: 0;
	line-height: 1.4;
	word-break: keep-all;
}
.courses-modal-body .subject-head .course-count {
	font-size: 12px;
	color: #94A3B8;
	white-space: nowrap;
}
.courses-modal-body .course-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.courses-modal-body .course-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #F8FAFC;
	border-radius: 6px;
	font-size: 13px;
	color: #334155;
}
.courses-modal-body .course-list li > i {
	font-size: 14px;
	color: #10B981;
	flex-shrink: 0;
}
.courses-modal-body .course-list li .cname {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.courses-modal-body .course-list li .cname .cstatus {
	flex-shrink: 0;
}
.courses-modal-body .course-list li .cmeta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	min-width: 140px;
	justify-content: flex-end;
}
.courses-modal-body .course-list li .ccount {
	background: #DBEAFE;
	color: #1E40AF;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	min-width: 44px;
	text-align: center;
}
.courses-modal-body .course-list li .cstatus {
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.courses-modal-body .course-list li .cstatus.updating {
	background: #ECFDF5;
	color: #047857;
}
.courses-modal-body .course-list li .cstatus.updating::before {
	content: '';
	width: 6px;
	height: 6px;
	background: #10B981;
	border-radius: 50%;
	animation: status-pulse 1.6s ease-in-out infinite;
}
@keyframes status-pulse {
	0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
	50%      { opacity: 0.6; box-shadow: 0 0 0 4px rgba(16, 185, 129, 0); }
}
.courses-modal-body .course-list li .copen {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	color: #64748B;
	font-weight: 500;
}
.courses-modal-body .course-list li .copen i {
	font-size: 12px;
	color: #94A3B8;
}
.courses-modal-body .course-list li .copen .copen-lbl {
	font-weight: 700;
	color: #475569;
	margin-right: 2px;
}
.courses-modal-foot {
	padding: 16px 28px;
	border-top: 1px solid #E2E8F0;
	background: #F8FAFC;
	text-align: center;
}
.courses-modal-foot .notice {
	font-size: 12px;
	color: #64748B;
}


/* ===== 후기 상세 모달 ===== */
.review-modal {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(5, 46, 61, 0.7);
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: courses-modal-fade .25s ease-out;
}
.review-modal.active { display: flex; }
.review-modal-box {
	background: #fff;
	border-radius: 20px;
	max-width: 720px;
	width: 100%;
	max-height: 85vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.review-modal-head {
	background: linear-gradient(135deg, #052E3D 0%, #064E5C 100%);
	padding: 22px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.review-modal-box.tone-amber .review-modal-head {
	background: linear-gradient(135deg, #B45309 0%, #92400E 100%);
}
.review-modal-head .rm-badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 999px;
	letter-spacing: -0.2px;
	margin-right: 10px;
}
.review-modal-head .rm-date {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
	font-weight: 500;
}
.review-modal-head .close-btn {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	width: 36px; height: 36px;
	border-radius: 50%;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
	flex-shrink: 0;
}
.review-modal-head .close-btn:hover { background: rgba(255, 255, 255, 0.25); }
.review-modal-head .close-btn i { font-size: 18px; }
.review-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 32px 36px 36px;
	position: relative;
}
.review-modal-body .rm-quote {
	position: absolute;
	top: 24px;
	right: 28px;
	font-size: 56px;
	color: #CFFAFE;
	line-height: 1;
	opacity: 0.6;
}
.review-modal-box.tone-amber .review-modal-body .rm-quote { color: #FEF3C7; }
.review-modal-body .rm-title {
	font-size: 20px;
	font-weight: 800;
	color: #052E3D;
	margin: 0 0 24px;
	letter-spacing: -0.5px;
	line-height: 1.4;
	padding-right: 60px;
}
.review-modal-body .rm-ment {
	font-size: 15px;
	line-height: 1.8;
	color: #334155;
	letter-spacing: -0.2px;
	white-space: pre-wrap;
	word-break: keep-all;
}


/* 수강하기 버튼 */
.pcard-cta {
	margin-top: 12px;
	border: none;
	padding: 16px 0;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.pcard.tone-light .pcard-cta { background: #0E7490; }
.pcard.tone-mid   .pcard-cta { background: #10B981; }
.pcard.tone-best  .pcard-cta {
	background: linear-gradient(90deg, #F59E0B 0%, #B45309 100%);
	box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}
.pcard-cta:hover { filter: brightness(1.1); transform: translateY(-2px); }


/* ==========================================================================
 * sec3 — 합격후기 슬라이드 (청록 톤 + quote 카드)
 * ========================================================================== */
.sec3 { padding: 100px 0; background: #fff; }
.sec3 .title { text-align: center; margin-bottom: 60px; }
.sec3 .title .badge-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 20px;
}
.sec3 .title .badge-line i { font-size: 18px; color: #047857; }
.sec3 .title .badge-line span {
	font-size: 18px; font-weight: 700; color: #047857;
}
.sec3 .title p {
	font-family: 'EsaManru'; font-size: 26px;
	letter-spacing: -0.5px; color: #64748B; margin-bottom: 12px;
}
.sec3 .title b {
	font-family: 'EsaManru'; font-weight: 700;
	font-size: 40px; letter-spacing: -1px;
	color: #052E3D; line-height: 1.3;
	word-break: keep-all;
}

/* 후기 카드 슬라이드 */
.sec3 .review { background: transparent; height: auto; overflow: hidden; }
.sec3 .review .reviewBox {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 32px 24px 28px;
	width: 280px;
	height: 300px;
	position: relative;
	cursor: pointer;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.sec3 .review .reviewBox:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(5, 46, 61, 0.1);
	border-color: #10B981;
}
.sec3 .review .reviewBox .quote-deco {
	position: absolute;
	top: 20px; right: 22px;
	font-size: 34px;
	color: #CFFAFE;
	line-height: 1;
}
.sec3 .review .reviewBox.tone-amber .quote-deco { color: #FEF3C7; }

/* 교수 배지 (tit를 배지 형태로) */
.sec3 .review .reviewBox .tit {
	display: inline-block;
	background: #ECFDF5;
	color: #047857;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 16px;
	letter-spacing: -0.2px;
}
.sec3 .review .reviewBox.tone-amber .tit {
	background: #FEF3C7;
	color: #B45309;
}

/* 게시글 제목 */
.sec3 .review .reviewBox .info {
	font-weight: 800;
	font-size: 17px;
	color: #052E3D;
	letter-spacing: -0.4px;
	line-height: 1.4;
	margin-bottom: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
}

/* 본문 */
.sec3 .review .reviewBox .text {
	font-size: 14px;
	letter-spacing: -0.2px;
	line-height: 1.6;
	color: #475569;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	margin-bottom: 0;
}

/* 슬릭 슬라이드 */
.sec3 .review .slick-slide { margin: 0 9px; padding: 12px 0 50px; }
.sec3 .review .slick-prev,
.sec3 .review .slick-next {
	width: 44px; height: 44px;
	background: #052E3D;
	border-radius: 50%;
	top: calc(50% - 22px);
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: background .2s, transform .2s;
}
.sec3 .review .slick-prev::before,
.sec3 .review .slick-next::before {
	font-family: 'tabler-icons';
	font-size: 22px;
	color: #fff;
	opacity: 1;
}
.sec3 .review .slick-prev { left: -64px; }
.sec3 .review .slick-prev::before { content: '\ea60'; }                       /* ti-chevron-left */
.sec3 .review .slick-next { right: -64px; }
.sec3 .review .slick-next::before { content: '\ea61'; }                       /* ti-chevron-right */
.sec3 .review .slick-prev:hover,
.sec3 .review .slick-next:hover { background: #10B981; transform: scale(1.08); }

/* 전체보기 버튼 */
.sec3 .btnArea { text-align: center; margin-top: 20px; }
.sec3 .btnArea button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #052E3D;
	color: #fff;
	border: none;
	padding: 18px 36px;
	height: auto;
	width: auto;
	border-radius: 999px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.3px;
	cursor: pointer;
	transition: transform .2s, background .2s;
}
.sec3 .btnArea button:hover {
	background: #10B981;
	transform: translateY(-2px);
}
.sec3 .btnArea button i { font-size: 20px; }

/* ==========================================================================
 * sec4 — 강사진 카드 그리드 [NEW] (PNG 단체사진 → 4인 카드 분기)
 * - 출입국관리직 페이지: 4번째 카드(김중일)에 tone-amber 적용
 * - 공안직 페이지에서 재사용 시: 4번째 카드(김현)에 tone-teal 등 다른 톤 적용
 * ========================================================================== */
/* ==========================================================================
 * sec4 — 교수진 모자이크 (GIORDANO 톤)
 * ========================================================================== */
.sec4 {
	background: #052E3D;
	padding: 110px 0 130px;
	position: relative;
	overflow: hidden;
}
.sec4::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background:
		radial-gradient(circle at 20% 20%, rgba(52, 211, 153, 0.08) 0%, transparent 40%),
		radial-gradient(circle at 80% 80%, rgba(251, 191, 36, 0.06) 0%, transparent 40%);
	pointer-events: none;
}
.sec4 .inner {
	max-width: 1220px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/* 타이틀 */
.sec4 .title { text-align: center; margin-bottom: 64px; }
.sec4 .title .badge-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(16, 185, 129, 0.12);
	border: 1px solid rgba(16, 185, 129, 0.35);
	padding: 8px 20px;
	border-radius: 999px;
	margin-bottom: 22px;
}
.sec4 .title .badge-line i { font-size: 20px; color: #34D399; }
.sec4 .title .badge-line span {
	font-size: 20px; font-weight: 700; color: #6EE7B7;
}
.sec4 .title p {
	font-size: 24px; color: rgba(255, 255, 255, 0.75);
	margin: 0 0 12px; letter-spacing: -0.4px;
	font-weight: 500;
}
.sec4 .title b {
	display: block;
	font-size: 50px; font-weight: 800;
	color: #FBBF24;
	letter-spacing: -1.2px; line-height: 1.25;
}

/* 모자이크 그리드 */
.sec4 .teacher-mosaic {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	max-width: 1180px;
	margin: 0 auto;
}

/* 가운데 카피 박스 - 2x2 차지 */
.sec4 .mosaic-copy {
	grid-column: 3 / 5;
	grid-row: 2 / 4;
	background: linear-gradient(135deg, #10B981 0%, #047857 100%);
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 28px 20px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(16, 185, 129, 0.35);
}
.sec4 .mosaic-copy::before {
	content: '';
	position: absolute;
	top: -40px; right: -40px;
	width: 130px; height: 130px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}
.sec4 .mosaic-copy .rm-deco {
	font-size: 32px;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 12px;
}
.sec4 .mosaic-copy .copy-sub {
	font-size: 18px;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 10px;
	font-weight: 600;
	letter-spacing: -0.2px;
}
.sec4 .mosaic-copy .copy-main {
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	margin: 0;
	line-height: 1.3;
	letter-spacing: -0.8px;
	text-align: center;
}

/* 모자이크 셀 (강사 사진) — 사진 207×175 기준 비율 (1.18:1) */
.sec4 .mosaic-cell {
	aspect-ratio: 207 / 175;
	background: linear-gradient(180deg, rgba(207, 250, 254, 0.10) 0%, rgba(207, 250, 254, 0) 70%);
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	transition: transform .3s ease, box-shadow .3s ease;
}
.sec4 .mosaic-cell.empty {
	background: rgba(207, 250, 254, 0.03);
}

/* 핵심 강사 — 톤 그라데이션 (배지는 없음) */
.sec4 .mosaic-cell.tone-amber {
	background: linear-gradient(180deg, rgba(251, 191, 36, 0.22) 0%, rgba(251, 191, 36, 0) 70%);
	border: 1.5px solid rgba(251, 191, 36, 0.55);
}
.sec4 .mosaic-cell.tone-teal {
	background: linear-gradient(180deg, rgba(52, 211, 153, 0.22) 0%, rgba(52, 211, 153, 0) 70%);
	border: 1.5px solid rgba(52, 211, 153, 0.5);
}

/* 사진 - 비율 그대로 노출, 배경 제거 */
.sec4 .mosaic-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* 사진 하단 그라데이션 오버레이 + 과목·이름 (항상 노출) */
.sec4 .mosaic-cell .mosaic-info {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	padding: 16px 10px 10px;
	background: linear-gradient(180deg,
		rgba(5, 46, 61, 0) 0%,
		rgba(5, 46, 61, 0.7) 40%,
		rgba(5, 46, 61, 0.95) 100%);
	text-align: center;
	z-index: 2;
}
.sec4 .mosaic-cell .mosaic-subj {
	font-size: 11px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 3px;
	letter-spacing: -0.2px;
	line-height: 1.2;
}
.sec4 .mosaic-cell .mosaic-name {
	font-size: 15px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.3px;
	line-height: 1.2;
}
.sec4 .mosaic-cell.tone-amber .mosaic-subj { color: #FCD34D; font-weight: 700; }
.sec4 .mosaic-cell.tone-teal .mosaic-subj { color: #6EE7B7; font-weight: 700; }

/* 호버 */
.sec4 .mosaic-cell:hover {
	transform: translateY(-4px) scale(1.04);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
	z-index: 5;
}
.sec4 .mosaic-cell.empty,
.sec4 .mosaic-cell.empty:hover {
	transform: none;
	box-shadow: none;
}


/* ==========================================================================
 * sec5 — 4개 인포카드 (공부법/검정제/모의고사/AI)
 * ========================================================================== */
.sec5 {
	background: linear-gradient(180deg, #F0FDFA 0%, #ECFDF5 100%);
	padding: 110px 0 130px;
}
.sec5 .inner { max-width: 1060px; padding: 0 20px; margin: 0 auto; }

/* 타이틀 */
.sec5 .title { text-align: center; margin-bottom: 56px; }
.sec5 .title .badge-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #A7F3D0;
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 20px;
}
.sec5 .title .badge-line i { font-size: 18px; color: #047857; }
.sec5 .title .badge-line span {
	font-size: 18px; font-weight: 700; color: #047857;
}
.sec5 .title h2 {
	font-size: 40px; font-weight: 800; color: #052E3D;
	margin: 0; letter-spacing: -1px; line-height: 1.3;
}

/* 그리드 — 2x2 */
.sec5 .info-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}

/* 카드 공통 */
.sec5 .info-card {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform .3s ease, box-shadow .3s ease;
}
.sec5 .info-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(5, 46, 61, 0.12);
}
.sec5 .info-deco {
	position: absolute;
	top: -30px; right: -30px;
	width: 140px; height: 140px;
	border-radius: 50%;
	background: rgba(8, 145, 178, 0.05);
	z-index: 0;
	pointer-events: none;
}

/* 카드 본문 */
.sec5 .info-card .info-body {
	padding: 32px 30px 24px;
	position: relative;
	z-index: 1;
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* 상단 태그 (수석합격 비법) */
.sec5 .info-card .info-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #FEF3C7;
	color: #B45309;
	font-size: 13px;
	font-weight: 800;
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 16px;
	align-self: flex-start;
	letter-spacing: -0.2px;
}
.sec5 .info-card .info-tag i { font-size: 14px; }

/* 헤드 (아이콘 + 제목) */
.sec5 .info-card .info-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}
.sec5 .info-card .info-icon {
	width: 54px; height: 54px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.sec5 .info-card .info-icon i { font-size: 28px; }
.sec5 .info-card .info-icon.icon-teal   { background: linear-gradient(135deg, #10B981 0%, #047857 100%); }
.sec5 .info-card .info-icon.icon-teal   i { color: #fff; }
.sec5 .info-card .info-icon.icon-cyan   { background: #ECFEFF; }
.sec5 .info-card .info-icon.icon-cyan   i { color: #0E7490; }
.sec5 .info-card .info-icon.icon-violet { background: #EDE9FE; }
.sec5 .info-card .info-icon.icon-violet i { color: #6D28D9; }
.sec5 .info-card .info-icon.icon-amber  { background: #FEF3C7; }
.sec5 .info-card .info-icon.icon-amber  i { color: #B45309; }

.sec5 .info-card .info-head-text { display: flex; flex-direction: column; }
.sec5 .info-card .info-cap {
	font-size: 12px; font-weight: 700;
	letter-spacing: -0.2px; margin-bottom: 3px;
}
.sec5 .info-cyan   .info-cap { color: #0E7490; }
.sec5 .info-violet .info-cap { color: #6D28D9; }
.sec5 .info-amber  .info-cap { color: #B45309; }

.sec5 .info-card .info-title {
	font-size: 22px; font-weight: 800;
	color: #052E3D; margin: 0;
	letter-spacing: -0.5px;
}
.sec5 .info-card .info-desc {
	font-size: 14px; line-height: 1.6;
	color: #475569; margin: 0 0 16px;
}

/* 강조 카드 (황남기 공부방법론) */
.sec5 .info-card.info-highlight {
	border: 2px solid #10B981;
	box-shadow: 0 12px 32px rgba(16, 185, 129, 0.18);
	cursor: pointer;
}
.sec5 .info-card.info-highlight:hover {
	box-shadow: 0 20px 44px rgba(16, 185, 129, 0.28);
}

/* 칩 (G-TELP / 한국사) */
.sec5 .info-card .info-chips {
	display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px;
}
.sec5 .info-card .info-chip {
	background: #ECFEFF; color: #0E7490;
	font-size: 12px; font-weight: 700;
	padding: 5px 11px;
	border-radius: 999px;
	letter-spacing: -0.2px;
}

/* 카드 푸터 (검정제 - 3명 교수 사진) */
.sec5 .info-card .info-foot {
	padding: 18px 30px 24px;
	border-top: 1px solid #F1F5F9;
	position: relative;
	z-index: 1;
}
.sec5 .info-card .foot-label {
	font-size: 12px;
	color: #94A3B8;
	font-weight: 600;
	margin-bottom: 12px;
	letter-spacing: -0.2px;
}
.sec5 .info-card .foot-teachers {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px 16px;
	row-gap: 20px;
}
.sec5 .info-card .foot-teacher {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	min-width: 56px;
}
.sec5 .info-card .foot-teacher img {
	width: 58px; height: 58px;
	border-radius: 50%;
	object-fit: cover;
	background: linear-gradient(135deg, #ECFEFF 0%, #CFFAFE 100%);
	display: block;
}
.sec5 .info-card .foot-teacher .foot-photo-fb {
	width: 58px; height: 58px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ECFEFF 0%, #CFFAFE 100%);
	align-items: center;
	justify-content: center;
}
.sec5 .info-card .foot-teacher .foot-photo-fb i {
	font-size: 30px; color: #0E7490;
}
.sec5 .info-card .foot-teacher .foot-name {
	font-size: 12px; font-weight: 800;
	color: #052E3D; margin-top: 2px;
}
.sec5 .info-card .foot-teacher .foot-subj {
	font-size: 10px; color: #94A3B8;
	letter-spacing: -0.2px;
}

/* 카드 썸네일 (유튜브 / 기존 이미지) */
.sec5 .info-card .info-thumb {
	margin-top: auto;
	width: 100%;
	aspect-ratio: 16 / 9;
	position: relative;
	overflow: hidden;
	background: #F1F5F9;
}
.sec5 .info-card .info-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sec5 .info-card .info-thumb img.mo { display: none; }

/* 유튜브 썸네일 오버레이 + 재생 버튼 */
.sec5 .info-card .yt-thumb { cursor: pointer; }
.sec5 .info-card .yt-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.55) 100%);
	transition: background .3s;
}
.sec5 .info-card .yt-thumb:hover .yt-overlay {
	background: linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.65) 100%);
}
.sec5 .info-card .yt-play {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 68px; height: 68px;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
	transition: transform .25s ease;
}
.sec5 .info-card .yt-thumb:hover .yt-play {
	transform: translate(-50%, -50%) scale(1.08);
}
.sec5 .info-card .yt-play i {
	font-size: 30px;
	color: #DC2626;
	margin-left: 4px;
}
.sec5 .info-card .yt-label {
	position: absolute;
	bottom: 12px; left: 14px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	background: rgba(0, 0, 0, 0.6);
	padding: 5px 10px;
	border-radius: 5px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	letter-spacing: -0.2px;
}
.sec5 .info-card .yt-label i { font-size: 14px; }

/* 카드 3·4 특징 박스 (3개 그리드) */
.sec5 .info-card .info-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 0 30px 30px;
}
.sec5 .info-card .feature-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 18px 8px;
	border-radius: 14px;
	text-align: center;
	gap: 4px;
}
.sec5 .info-card .feature-box i {
	font-size: 26px;
	margin-bottom: 6px;
}
.sec5 .info-card .feature-box strong {
	font-size: 15px;
	font-weight: 800;
	color: #052E3D;
	letter-spacing: -0.3px;
}
.sec5 .info-card .feature-box span {
	font-size: 12px;
	color: #64748B;
	letter-spacing: -0.2px;
}

/* 카드3 (보라 톤) */
.sec5 .info-violet .feature-box {
	background: linear-gradient(180deg, #F5F3FF 0%, #EDE9FE 100%);
}
.sec5 .info-violet .feature-box i { color: #6D28D9; }

/* 카드4 (앰버 톤) */
.sec5 .info-amber .feature-box {
	background: linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 100%);
}
.sec5 .info-amber .feature-box i { color: #B45309; }

/* 준비 중 배지 (AI 분석 박스) */
.sec5 .info-card .feature-box {
	position: relative;
}
.sec5 .info-card .feature-soon {
	position: absolute;
	top: 6px;
	right: 6px;
	font-size: 10px;
	font-weight: 800;
	color: #B45309;
	background: #fff;
	border: 1px solid #FCD34D;
	padding: 2px 8px;
	border-radius: 999px;
	letter-spacing: -0.2px;
	white-space: nowrap;
	box-shadow: 0 2px 4px rgba(180, 83, 9, 0.15);
}


/* ==========================================================================
 * bottomArea — 탭형 공지사항 (청록 톤)
 * ========================================================================== */
.bottomArea {
	padding: 80px 0 100px;
	background: #F8FAFC;
}
.bottomArea .inner { max-width: 1060px; padding: 0 20px; margin: 0 auto; }

/* 타이틀 */
.bottomArea .tit-area { text-align: left; margin-bottom: 24px; }
.bottomArea .tit-area strong {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #052E3D;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.4px;
}
.bottomArea .tit-area strong i {
	font-size: 26px;
	color: #10B981;
}

/* 탭 영역 */
.bottomArea .cont1 .tab-area { margin-top: 0; text-align: center; }
.bottomArea .cont1 .tab-area ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	list-style: none;
	padding: 0;
	margin: 0;
}
.bottomArea .cont1 .tab-area li {
	display: block;
	background: #fff;
	color: #475569;
	border: 1px solid #E2E8F0;
	padding: 16px 12px;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
	border-radius: 12px 12px 0 0;
	border-bottom: none;
	transition: background .2s, color .2s, transform .2s;
	position: relative;
	line-height: 1.4;
	letter-spacing: -0.3px;
}
.bottomArea .cont1 .tab-area li:hover {
	background: #F1F5F9;
	color: #052E3D;
}

/* 활성 탭 — 가격 카드 톤 그라데이션 */
.bottomArea .cont1 .tab-area li.on {
	color: #fff;
	font-weight: 700;
	z-index: 2;
	border-color: transparent;
	box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}
.bottomArea .cont1 .tab-area li.tone-light.on {
	background: linear-gradient(135deg, #0E7490 0%, #155E75 100%);
}
.bottomArea .cont1 .tab-area li.tone-mid.on {
	background: linear-gradient(135deg, #10B981 0%, #047857 100%);
}
.bottomArea .cont1 .tab-area li.tone-best.on {
	background: linear-gradient(135deg, #052E3D 0%, #064E5C 100%);
	border: 2px solid #FBBF24;
	box-shadow: 0 -4px 18px rgba(251, 191, 36, 0.35);
}

/* 콘텐츠 영역 */
.bottomArea .cont1 .tab_con {
	background: #fff;
	padding: 40px 48px 48px;
	border-radius: 0 0 14px 14px;
	border: 1px solid #E2E8F0;
	border-top: 3px solid #052E3D;
	text-align: left;
	position: relative;
}
.bottomArea .cont1 .tab_con .tab-cont { display: none; }
/* tab() JS가 show()/hide()로 처리하므로 .show 클래스는 보조 — 활성 탭에 대응하는 콘텐츠도 함께 노출 */
.bottomArea .cont1 .tab_con .tab-cont.show { display: block; }

/* 섹션 */
.notice-section { margin-bottom: 32px; }
.notice-section:last-child { margin-bottom: 0; }
.notice-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #F1F5F9;
	margin-bottom: 14px;
}
.notice-head i { font-size: 20px; flex-shrink: 0; }
.notice-head .notice-name {
	font-size: 17px;
	font-weight: 800;
	color: #052E3D;
	letter-spacing: -0.4px;
}
.notice-head.tone-teal i { color: #10B981; }
.notice-head.tone-amber i { color: #B45309; }
.notice-head.tone-red i { color: #DC2626; }

.notice-badge {
	font-size: 11px;
	font-weight: 800;
	padding: 3px 9px;
	border-radius: 999px;
	letter-spacing: -0.2px;
	margin-left: 4px;
	background: #FEF3C7;
	color: #B45309;
	border: 1px solid #FCD34D;
}

/* 본문 */
.notice-body { font-size: 14px; color: #475569; line-height: 1.75; }
.notice-body > * + * { margin-top: 10px; }
.notice-para { margin: 0; }

/* 불릿 (-) */
.notice-bullets {
	list-style: none;
	padding: 0;
	margin: 0;
}
.notice-bullets li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 4px;
}
.notice-bullets li:last-child { margin-bottom: 0; }
.notice-bullets li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #10B981;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
}

/* 번호 (1. 2. 3.) - 원본 번호 보존 */
.notice-numbered {
	list-style: none;
	padding: 0;
	margin: 0;
}
.notice-numbered > li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 8px;
}
.notice-numbered > li:last-child { margin-bottom: 0; }
.notice-numbered > li::before {
	content: attr(value) ".";
	position: absolute;
	left: 0;
	color: #10B981;
	font-weight: 800;
	font-size: 14px;
}

/* 원 (①②③) — 박스 강조 */
.notice-circles {
	background: #F8FAFC;
	border-radius: 10px;
	padding: 14px 18px;
	margin: 8px 0;
	border-left: 3px solid #10B981;
}
.notice-circles .circle-item {
	font-size: 13.5px;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 4px;
}
.notice-circles .circle-item:last-child { margin-bottom: 0; }

/* 참고 (※) */
.notice-note {
	font-size: 12.5px;
	color: #94A3B8;
	letter-spacing: -0.2px;
	margin: 6px 0 0;
	line-height: 1.6;
}

a.notice-link { color: #10B981; font-weight: 700; text-decoration: underline; }

/* 상담 박스 (전화번호 대체 - 카카오/1:1) */
.notice-contact {
	margin-top: 36px;
	padding: 28px 32px;
	background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
	border: 1px solid #6EE7B7;
	border-radius: 16px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.notice-contact::before {
	content: '';
	position: absolute;
	top: -30px; right: -30px;
	width: 120px; height: 120px;
	background: rgba(16, 185, 129, 0.12);
	border-radius: 50%;
	pointer-events: none;
}
.notice-contact-head {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	position: relative;
}
.notice-contact-head i { font-size: 22px; color: #047857; }
.notice-contact-head span {
	font-size: 16px;
	font-weight: 800;
	color: #052E3D;
	letter-spacing: -0.3px;
}
.notice-contact-desc {
	font-size: 15px;
	color: #052E3D;
	margin: 0 0 18px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.5;
	position: relative;
}
.notice-contact-btns {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	position: relative;
}
.notice-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.2px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.notice-btn i { font-size: 18px; }
.notice-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15); }
.notice-btn.btn-kakao {
	background: #FEE500;
	color: #391B1B;
}
.notice-btn.btn-qna {
	background: #052E3D;
	color: #fff;
}


/* ==========================================================================
 * checkModal — 타사 수강내역 인증 모달
 * ========================================================================== */
.checkModal {
	position: fixed;
	top: 0; bottom: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 99; display: none;
}
.checkModal .modal {
	max-width: 376px; width: 100%;
	border: 1px solid #ededed; background: #fff;
	box-shadow: 20px 20px 30px #00000029;
	position: absolute; left: 50%; top: 50%;
	transform: translate(-50%,-50%);
	padding: 35px 40px 50px;
}
.checkModal .modal h4 {
	font-size: 18px; font-weight: 700;
	text-align: center; color: #505050;
	padding-bottom: 20px;
	border-bottom: 1px solid #dbdbdb;
	display: inline-block; width: 100%;
}
.checkModal .modal h4 span { color: #7649F3; }
.checkModal .modal .closeBtn {
	position: absolute;
	background: url(/assets/images/zero_free_8/closebtn.png) no-repeat right top;
	background-size: contain;
	width: 16px; height: 16px;
	right: 20px; top: 20px;
}
.checkModal .modal .userInfo { padding: 20px 0; width: 100%; }
.checkModal .modal .userInfo p {
	color: #191919; font-size: 13px; margin-bottom: 20px;
}
.checkModal .modal .userInfo p span { font-weight: 700; color: #7649f3; }
.checkModal .modal .userInfo dl { display: flex; align-items: center; }
.checkModal .modal .userInfo dl dd { width: 100%; }
.checkModal .modal .userInfo .fileName {
	width: 68.37%; margin-right: 1.54%;
	height: 40px; border: 1px solid #7649f3;
	border-radius: 2px; vertical-align: top;
	background: #fff; padding: 0 12px;
}
.checkModal .modal .userInfo #fileInput { display: none; }
.checkModal .modal .userInfo .fileBtn {
	width: 28.91%; display: inline-block;
	height: 40px; background: #7649f3;
	border-radius: 2px; color: #fff;
	text-align: center; line-height: 40px; cursor: pointer;
}
.checkModal .modal .agree { margin-bottom: 20px; display: inline-block; }
.checkModal .modal .agree #check {
	accent-color: #7649f3; vertical-align: top;
	width: 16px; height: 16px; margin: 0 2px 0 0;
}
.checkModal .modal .privacy { width: 100%; display: inline-block; margin-bottom: 10px; }
.checkModal .modal .privacy button {
	height: 28px; background: #505050;
	color: #fff; border-radius: 2px;
	font-size: 13px; letter-spacing: -0.26px; font-weight: 400;
}
.checkModal .modal .scroll {
	background-color: #f2f2f2;
	max-height: 140px;
	overflow-y: auto;
	padding: 15px;
}
.checkModal .modal .scroll h5 {
	font-size: 13px; color: #505050;
	font-weight: 500; margin-bottom: 10px;
}
.checkModal .modal .scroll ol { font-size: 13px; color: #505050; line-height: 20px; }
.checkModal .modal .btnArea { text-align: center; margin-top: 40px; }
.checkModal .modal .btnArea button {
	width: 126px; height: 40px;
	background: #7649f3; border-radius: 2px; color: #fff;
}
.checkModal .modal .btnArea button.closeMo { display: none; }


/* ==========================================================================
 * Media queries
 * ========================================================================== */

@media all and (max-width: 1600px) {
	.sec3 .review { padding: 0 30px; }
	.sec3 .review .slick-prev { left: 0; }
	.sec3 .review .slick-next { right: 0; }
}

@media all and (max-width: 1300px) {
	.countdown { height: 80px; }
	.countdown .timer { height: inherit; }
	.countdown .timer li { font-size: 18px; }
	.countdown .timer li span.num { font-size: 35px; width: 40px; height: 50px; line-height: 50px; }
	.countdown .timer li span.days_text { font-size: 18px; }
	.countdown .timer li.seperator img { width: 5px; }
	.countdown-note { font-size: 11px; }
}

@media all and (max-width: 1200px) {
	.pricesec { display: none; }
	.sec2_mo  { display: block; }
}

@media (max-width: 950px) {
	.sec3 .review .slick-slide { margin: 0 15px; }
}

@media all and (max-width: 750px) {
	/* countdown */
	.countdown { height: auto; }
	.countdown .timer {
		display: flex; flex-wrap: wrap;
		justify-content: center; align-items: center;
		text-align: center; padding: 1rem 0 1.2rem;
	}
	.countdown .timer li {
		font-size: 0; display: flex;
		align-items: center; margin: 0 0.5rem;
	}
	.countdown .timer li:nth-of-type(1) {
		font-size: 2.9rem; display: block;
		width: 100%; margin-bottom: 1rem;
	}
	.countdown .timer li:last-child {
		font-size: 1.6rem; display: block;
		width: 100%; margin-top: 0.6rem;
	}
	.countdown .timer li span.num {
		width: 6.4rem; height: 7rem;
		line-height: 6.4rem; font-size: 5rem;
	}
	.countdown .timer li span.days_text {
		position: relative; bottom: 1rem; font-size: 2.8rem;
	}
	.countdown .timer li.seperator img { width: 0.6rem; padding-bottom: 1rem; }
	.countdown .timer li:last-of-type { display: block !important; }
	.countdown .countdown-note {
		font-size: 1.4rem; width: 100%;
		margin-top: 1rem; line-height: 1.5; color: rgba(255, 255, 255, 0.7);
	}

	/* sec2 / sec2_mo — 모바일 */
	.sec2 { padding: 8rem 0 16rem; }
	.sec2_mo { padding: 0 0 16rem; }
	.sec2 .title,
	.sec2_mo .title { margin-bottom: 6rem; padding: 0 1.6rem; }
	.sec2 .title .badge-line,
	.sec2_mo .title .badge-line {
		padding: 0.8rem 1.8rem; margin-bottom: 2rem;
	}
	.sec2 .title .badge-line span,
	.sec2_mo .title .badge-line span { font-size: 2.4rem; }
	.sec2 .title .badge-line i,
	.sec2_mo .title .badge-line i { font-size: 2.6rem; }
	.sec2 .title h2,
	.sec2_mo .title h2 { font-size: 5.4rem; letter-spacing: -0.2rem; margin-bottom: 1.4rem; }
	.sec2 .title p { font-size: 2.4rem; }
	.sec2_mo .inner { padding: 0 1.6rem; }
	.sec2_mo .pass-mo { gap: 3.6rem; }

	/* 모바일 카드 */
	.pcard { border-radius: 2.4rem; min-height: auto; }
	.pcard:hover { transform: none; }
	.pcard-head { padding: 4rem 2.4rem; border-radius: 2.4rem 2.4rem 0 0; min-height: auto; }
	.pcard-head .cap { font-size: 2.8rem; margin-bottom: 1.2rem; }
	.pcard-head .ttl { font-size: 4rem; letter-spacing: -0.12rem; }
	.pcard.tone-best .best-cap {
		top: -2.4rem;
		font-size: 2.4rem;
		padding: 1.2rem 3rem;
		letter-spacing: 0.3rem;
	}
	.pcard-body { padding: 4rem 2.8rem; }
	.pcard-body .price-area { margin-bottom: 2.4rem; }
	.pcard-body .price-area .origin { font-size: 2.6rem; }
	.pcard-body .price-area .final strong { font-size: 9rem; letter-spacing: -0.36rem; }
	.pcard-body .price-area .final span { font-size: 3.6rem; }
	.pcard-body .price-area .discount { font-size: 2.2rem; margin-top: 1.2rem; }
	.pcard-body .installment {
		padding: 1.6rem 1.8rem;
		font-size: 2.2rem;
		border-radius: 1.4rem;
		margin-bottom: 2.8rem;
	}
	.pcard-body .installment span {
		font-size: 2.2rem;
		padding: 0.5rem 1.4rem;
		margin-left: 0.6rem;
	}
	.pcard-body .meta { padding-top: 2rem; }
	.pcard-body .meta .row {
		grid-template-columns: 9rem 1fr;
		gap: 1.6rem;
		margin-bottom: 2rem;
		padding-bottom: 2rem;
	}
	.pcard-body .meta .row { margin-bottom: 1.4rem; }
	.pcard-body .meta .k { font-size: 2.4rem; padding-top: 0.2rem; }
	.pcard-body .meta .v { font-size: 2.6rem; line-height: 1.5; }
	.pcard-body .meta .v small { font-size: 1.9rem; margin-top: 0.6rem; }
	.pcard-body .meta .v.benefit { font-size: 2.4rem; gap: 0.8rem; }
	.pcard-body .meta .v.premium small { font-size: 1.9rem; white-space: normal; }
	.pcard-cta {
		margin-top: 2.6rem;
		padding: 2.4rem 0;
		font-size: 2.8rem;
		border-radius: 1.4rem;
	}

	/* 모바일 - 제공강좌 모두보기 + 모달 */
	.pcard-body .view-courses-btn { font-size: 2.2rem; padding: 1.6rem 0; border-radius: 1.2rem; }
	.pcard-body .view-courses-btn i { font-size: 2.4rem; }
	.courses-modal { padding: 1.6rem; }
	.courses-modal-box { border-radius: 2.4rem; max-height: 90vh; }
	.courses-modal-head { padding: 3rem 2.8rem; }
	.courses-modal-head h3 { font-size: 3.2rem; letter-spacing: -0.08rem; }
	.courses-modal-head .sub { font-size: 2.2rem; margin-top: 0.8rem; line-height: 1.5; }
	.courses-modal-head .close-btn { width: 5rem; height: 5rem; }
	.courses-modal-head .close-btn i { font-size: 2.8rem; }
	.courses-modal-body { padding: 2.8rem; }
	.courses-modal-body .subject-group { margin-bottom: 3.2rem; }
	.courses-modal-body .subject-head {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		gap: 1.4rem;
		margin-bottom: 1.6rem;
		padding-bottom: 1.4rem;
	}
	.courses-modal-body .subject-head .badge {
		font-size: 2rem;
		padding: 0.5rem 1.4rem;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.courses-modal-body .subject-head .teacher-name {
		font-size: 2.2rem;
		letter-spacing: -0.05rem;
		line-height: 1.4;
		min-width: 0;
		word-break: keep-all;
	}
	.courses-modal-body .subject-head .course-count {
		font-size: 2rem;
		font-weight: 600;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.courses-modal-body .course-list { gap: 1rem; }
	.courses-modal-body .course-list li {
		font-size: 2.2rem;
		padding: 2rem 2rem;
		border-radius: 1rem;
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"icon title"
			".    meta";
		column-gap: 1.4rem;
		row-gap: 1rem;
		align-items: start;
	}
	.courses-modal-body .course-list li > i {
		font-size: 2.6rem;
		grid-area: icon;
		padding-top: 0.4rem;
	}
	.courses-modal-body .course-list li .cname {
		grid-area: title;
		white-space: normal;
		line-height: 1.4;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 1rem;
	}
	.courses-modal-body .course-list li .cmeta {
		grid-area: meta;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 1.4rem;
		min-width: 0;
		margin-left: 0;
		flex-wrap: wrap;
	}
	.courses-modal-body .course-list li .ccount { font-size: 1.9rem; padding: 0.4rem 1.4rem; min-width: auto; }
	.courses-modal-body .course-list li .cstatus { font-size: 1.9rem; padding: 0.4rem 1.4rem; }
	.courses-modal-body .course-list li .cstatus.updating::before { width: 1rem; height: 1rem; }
	.courses-modal-body .course-list li .copen { font-size: 1.9rem; gap: 0.5rem; }
	.courses-modal-body .course-list li .copen i { font-size: 2.2rem; }
	.courses-modal-body .course-list li .copen .copen-lbl {
		font-weight: 700;
		color: #475569;
		margin-right: 0.2rem;
	}
	.courses-modal-foot { padding: 2.4rem; }
	.courses-modal-foot .notice { font-size: 2rem; }

	/* 후기 상세 모달 — 모바일 */
	.review-modal { padding: 1.6rem; }
	.review-modal-box { border-radius: 2.4rem; max-height: 90vh; }
	.review-modal-head { padding: 2.4rem 2.6rem; }
	.review-modal-head .rm-badge { font-size: 2rem; padding: 0.7rem 1.6rem; }
	.review-modal-head .rm-date { font-size: 1.8rem; margin-top: 0.6rem; display: block; }
	.review-modal-head .close-btn { width: 5rem; height: 5rem; }
	.review-modal-head .close-btn i { font-size: 2.8rem; }
	.review-modal-body { padding: 3rem 2.8rem 3.4rem; }
	.review-modal-body .rm-quote { font-size: 7rem; top: 2.6rem; right: 2.6rem; }
	.review-modal-body .rm-title { font-size: 2.8rem; margin-bottom: 2.4rem; padding-right: 7rem; }
	.review-modal-body .rm-ment { font-size: 2.2rem; line-height: 1.7; }

	/* sec1 hero — 모바일 (사이즈업: 다른 섹션 35-40px = 3.5-4rem 톤) */
	.sec1 { padding: 5rem 0 4rem; }
	.sec1 .inner { padding: 0 1.6rem; }
	.sec1 .hero { padding: 3.5rem 2.6rem 4rem; }
	.sec1 .hero-deco-1 { width: 22rem; height: 22rem; top: -6rem; right: -6rem; }
	.sec1 .hero-deco-2 { width: 13rem; height: 13rem; }
	.sec1 .hero-label { padding: 0.8rem 1.8rem; margin-bottom: 2.4rem; }
	.sec1 .hero-label span { font-size: 2.4rem; }
	.sec1 .hero-label i { font-size: 2.6rem; }
	.sec1 .hero-title { font-size: 10rem; letter-spacing: -0.5rem; line-height: 1.05; font-weight: 800; }
	.sec1 .hero-title-sep { display: block; height: 0; line-height: 0; font-size: 0; }
	.sec1 .hero-accent { font-size: 8.6rem; letter-spacing: -0.4rem; margin-bottom: 2.2rem; font-weight: 800; }
	.sec1 .hero-subtext { font-size: 2.8rem; line-height: 1.5; margin-bottom: 4rem; }
	.sec1 .hero-teachers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem 2rem; margin-bottom: 4rem; padding-top: 3rem; }
	.sec1 .hero-teacher { padding: 0; border-radius: 0; min-height: 0; background: transparent; border: none; }
	.sec1 .hero-teacher .info-card {
		padding: 1.8rem 1.4rem 1.4rem;
		border-radius: 1.6rem;
		margin-bottom: 1.6rem;
	}
	.sec1 .hero-teacher .badge {
		font-size: 1.8rem;
		padding: 0.5rem 1.4rem;
		top: -1.4rem;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
	.sec1 .hero-teacher .name { font-size: 3.4rem; margin-bottom: 0.6rem; letter-spacing: -0.12rem; font-weight: 800; }
	.sec1 .hero-teacher .subj { font-size: 2rem; }
	.sec1 .hero-teacher .photo {
		width: 100%;
		height: 44rem;
		margin: 0;
		border-radius: 1.6rem 1.6rem 0 0;
	}
	.sec1 .hero-bottom { flex-direction: column; align-items: stretch; gap: 1.8rem; }
	.sec1 .selling-line { font-size: 2.6rem; line-height: 1.5; }
	.sec1 .selling-line i { font-size: 3.2rem; }
	.sec1 .hero-dday { justify-content: center; padding: 1.4rem 2.2rem; border-radius: 1.6rem; }
	.sec1 .hero-dday i { font-size: 2.6rem; }
	.sec1 .hero-dday span { font-size: 2.4rem; }
	.sec1 .hero-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8rem; margin-top: 2rem; padding: 0 2.6rem; }

	/* stats-bar (모바일) */
	.stats-bar { padding: 3rem 0 3.4rem; }
	.stats-bar .inner { padding: 0 1.6rem; }
	.stats-head { display: none; }

	.stats-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.6rem 1.4rem;
		max-width: 100%;
	}
	.stats-grid::before, .stats-grid::after { display: none; }
	.stat-item { padding: 0 0.8rem; }
	.stat-item:nth-child(2)::after { display: none; }

	.stat-label { font-size: 2rem; margin-bottom: 0.8rem; }
	.stat-value { font-size: 7rem; letter-spacing: -0.3rem; margin-bottom: 0.6rem; line-height: 1.02; }
	.stat-value .stat-unit { font-size: 3.8rem; margin-left: 0.3rem; }
	.stat-value .stat-emphasis { font-size: 7rem; }
	.stat-sub { font-size: 1.9rem; margin-bottom: 0.6rem; }
	.stat-source { font-size: 1.5rem; line-height: 1.45; }

	.sec1 .hero-card { padding: 4.2rem 2.2rem; border-radius: 2.8rem; min-height: 38rem; }
	.sec1 .hero-card .icon { width: 9.4rem; height: 9.4rem; border-radius: 2.2rem; margin-bottom: 2.2rem; }
	.sec1 .hero-card .icon i { font-size: 5.2rem; }
	.sec1 .hero-card .cap { font-size: 2.2rem; margin-bottom: 1rem; }
	.sec1 .hero-card .ttl { font-size: 3.8rem; margin-bottom: 1.6rem; line-height: 1.25; font-weight: 800; }
	.sec1 .hero-card .sub { font-size: 2.2rem; }

	/* hero-card.accent — 모바일 */
	.sec1 .hero-card.accent .ribbon {
		font-size: 2rem;
		padding: 0.6rem 1.8rem;
		border-radius: 0.8rem;
		margin-bottom: 1.6rem;
		letter-spacing: 0.15rem;
	}
	.sec1 .hero-card.accent .ttl {
		font-size: 3rem;
		padding: 1rem 2.4rem;
		margin: 1rem 0 1.6rem;
	}

	/* hero-card.highlight — 모바일 */
	.sec1 .hero-card.highlight .zero-circle {
		width: 18rem;
		height: 18rem;
		margin: 1.6rem auto 1.8rem;
	}
	.sec1 .hero-card.highlight .zero-circle .lbl-top { font-size: 2.2rem; margin-bottom: 0.6rem; }
	.sec1 .hero-card.highlight .zero-circle .num { font-size: 3.8rem; }
	.sec1 .hero-card.highlight .zero-circle .num em { font-size: 9.6rem; letter-spacing: -0.4rem; margin-right: 0.3rem; }

	/* EVENT 라벨 모바일 */
	.sec1 .hero-card.accent .ribbon {
		font-size: 2.6rem !important;
		padding: 1.2rem 2.4rem !important;
	}

	/* sec2_mo */
	.sec2_mo { padding-top: 10rem; padding-bottom: 9rem; }
	.sec2_mo .title { font-size: 3.5rem; padding-top: 10rem; margin-bottom: 6rem; }
	.sec2_mo .title p { line-height: 5rem; margin-bottom: 1rem; }
	.sec2_mo .title span { font-size: 4rem; line-height: 4.8rem; }
	.sec2_mo .box {
		border: 0.5rem solid #505050;
		padding: 4rem 0 3.5rem;
		margin-bottom: 4.5rem; position: relative;
	}
	.sec2_mo .box.active { border: 0.5rem solid #2962FF; }
	.sec2_mo .box .tit {
		font-size: 3.4rem; letter-spacing: -0.68px;
		margin-bottom: 3.5rem; padding: 0 2.5rem; line-height: 4rem;
	}
	.sec2_mo .box .flexArea { padding: 0 2.5rem; }
	.sec2_mo .box ul li { margin-bottom: 1rem; }
	.sec2_mo .box ul li > p {
		margin-right: 2rem; font-size: 2.2rem;
		letter-spacing: -0.48px; line-height: 2.8rem;
	}
	.sec2_mo .box ul li > span {
		font-size: 2rem; letter-spacing: -0.4px; line-height: 2.8rem;
	}
	.sec2_mo .box ul li.lecture span { font-size: 2rem; }
	.sec2_mo .box .price { position: absolute; right: 2.5rem; }
	.sec2_mo .box .price p {
		font-size: 2.2rem; letter-spacing: -0.4px;
		line-height: 4.8rem; margin-right: 1.5rem;
	}
	.sec2_mo .box .price span {
		font-size: 2.4rem; font-weight: 700;
		letter-spacing: -0.4px; line-height: 4.8rem;
	}
	.sec2_mo .box .price span b {
		font-size: 5.1rem; letter-spacing: -1.4px; margin-right: 0.2rem;
	}
	.sec2_mo .box .price small { font-size: 2rem; line-height: 2.8rem; }
	.sec2_mo .box .lect_btn {
		width: 19rem; height: 5.7rem;
		border-radius: 0.4rem; margin-top: 1rem;
		font-size: 1.8rem; letter-spacing: -0.38px;
	}
	.sec2_mo .box .lect_btn .mo {
		padding-left: 2rem; vertical-align: initial; width: 3.1rem;
	}
	.sec2_mo .box .lect_drop {
		top: 9.8rem;
		padding: 3.3rem 4.6rem 5rem 3.8rem;
		border-radius: 4rem;
		box-shadow: 2rem 2rem 3rem #00000029;
		width: 130%;
	}
	.sec2_mo .box .lect_drop p:nth-of-type(2) { margin-top: 1rem; }
	.sec2_mo .box .lect_drop .closeBtn {
		background: url(/assets/images/zero_free_8/closebtn_mo.png) no-repeat center;
		width: 3.6rem; height: 3.6rem;
		margin-bottom: 0; background-size: contain;
	}
	.sec2_mo .box .lect_drop h3 { font-size: 3.3rem; margin-bottom: 2.1rem; }
	.sec2_mo .box .lect_drop p  { font-size: 2.6rem; line-height: 4.2rem; }
	.sec2_mo .box .option { padding: 1.5rem 2.5rem; }
	.sec2_mo .box .option p {
		margin-right: 2rem; font-size: 2.2rem;
		letter-spacing: -0.48px; line-height: 2.8rem;
	}
	.sec2_mo .box .option label {
		margin-bottom: 1.5rem; display: block;
		text-indent: -2rem; margin-left: 2rem;
		line-height: 2.8rem; font-size: 2rem;
	}
	.sec2_mo .box .option input { margin: 0 1rem 0 0; }
	.sec2_mo .btnArea { margin-top: 3rem; text-align: center; }
	.sec2_mo .btnArea button {
		width: 90%; height: 7rem;
		border-radius: 0.4rem;
		font-size: 2.2rem; letter-spacing: -0.44px;
		font-weight: 500; color: #fff; background: #2962FF;
	}
	.sec2_mo .box .event_btn {
		width: 19rem; height: 5.7rem;
		border-radius: 0.4rem; margin-top: 1rem;
		font-size: 1.8rem; letter-spacing: -0.38px;
	}
	.sec2_mo .box .event_btn .mo {
		padding-left: 2rem; vertical-align: initial; width: 3.1rem;
	}
	.sec2_mo .box .period .small { font-size: 12px; }
	.general .sec2_mo .box ul li.lecture span { font-size: 2rem; line-height: 2.8rem; font-weight: 400; }

	/* sec3 — 모바일 */
	.sec3 { padding: 8rem 0; }
	.sec3 .title { margin-bottom: 5rem; padding: 0 1.6rem; }
	.sec3 .title .badge-line { padding: 1rem 2.2rem; margin-bottom: 2.4rem; }
	.sec3 .title .badge-line span { font-size: 2.6rem; }
	.sec3 .title .badge-line i { font-size: 2.8rem; }
	.sec3 .title p { font-size: 3.6rem; margin-bottom: 1.6rem; line-height: 1.4; }
	.sec3 .title b { font-size: 5.4rem; letter-spacing: -0.22rem; line-height: 1.25; }
	.sec3 .review .reviewBox {
		width: auto;
		height: auto;
		min-height: 34rem;
		padding: 3.8rem 3rem 3.4rem;
		border-radius: 2.2rem;
	}
	.sec3 .review .reviewBox .quote-deco { font-size: 5.4rem; top: 2.4rem; right: 2.8rem; }
	.sec3 .review .reviewBox .tit { font-size: 2.2rem; padding: 0.8rem 1.8rem; margin-bottom: 2.2rem; }
	.sec3 .review .reviewBox .info { font-size: 3rem; margin-bottom: 2rem; line-height: 1.4; }
	.sec3 .review .reviewBox .text { font-size: 2.4rem; line-height: 1.6; -webkit-line-clamp: 5; }
	.sec3 .review .slick-slide { margin: 0 1rem; padding: 1.2rem 0 4rem; }
	.sec3 .review .slick-prev,
	.sec3 .review .slick-next { display: none !important; }
	.sec3 .btnArea { margin-top: 1rem; padding: 0 1.6rem; }
	.sec3 .btnArea button {
		width: 100%;
		padding: 2.6rem;
		font-size: 2.8rem;
		border-radius: 1.4rem;
	}
	.sec3 .btnArea button i { font-size: 3rem; }

	/* sec4 — 교수진 모자이크 (모바일) */
	.sec4 { padding: 9rem 0 11rem; }
	.sec4 .inner { padding: 0 1.6rem; }
	.sec4 .title { margin-bottom: 5rem; }
	.sec4 .title .badge-line { padding: 1rem 2.4rem; margin-bottom: 2.6rem; }
	.sec4 .title .badge-line span { font-size: 2.8rem; }
	.sec4 .title .badge-line i { font-size: 3rem; }
	.sec4 .title p { font-size: 3.2rem; margin-bottom: 1.6rem; line-height: 1.4; font-weight: 500; }
	.sec4 .title b { font-size: 5.6rem; letter-spacing: -0.24rem; line-height: 1.25; }
	.sec4 .teacher-mosaic {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.2rem;
		max-width: 100%;
	}
	.sec4 .mosaic-copy {
		grid-column: 2 / 4;
		grid-row: 2 / 4;
		border-radius: 2.2rem;
		padding: 3rem 2rem;
	}
	.sec4 .mosaic-copy .rm-deco { font-size: 4.2rem; margin-bottom: 1.4rem; }
	.sec4 .mosaic-copy .copy-sub { font-size: 2.2rem; margin-bottom: 1.2rem; font-weight: 600; }
	.sec4 .mosaic-copy .copy-main { font-size: 3.4rem; line-height: 1.3; letter-spacing: -0.16rem; }
	.sec4 .mosaic-cell { border-radius: 1.4rem; }
	.sec4 .mosaic-cell .mosaic-info {
		padding: 2rem 1rem 1rem;
	}
	.sec4 .mosaic-cell .mosaic-subj {
		font-size: 1.6rem;
		margin-bottom: 0.4rem;
	}
	.sec4 .mosaic-cell .mosaic-name {
		font-size: 2.2rem;
		letter-spacing: -0.1rem;
	}

	/* FAQ — 자주 묻는 질문 (모바일) */
	.faq-sec { padding: 8rem 0 10rem; }
	.faq-sec .inner { padding: 0 1.6rem; }
	.faq-head { margin-bottom: 5rem; }
	.faq-label { padding: 1rem 2.4rem; margin-bottom: 2.4rem; }
	.faq-label i { font-size: 2.8rem; }
	.faq-label span { font-size: 2.4rem; }
	.faq-title { font-size: 5rem; letter-spacing: -0.2rem; line-height: 1.25; margin-bottom: 2rem; }
	.faq-desc { font-size: 2.4rem; line-height: 1.6; }

	.faq-list { gap: 1.6rem; }
	.faq-item { border-radius: 2rem; }
	.faq-item summary { padding: 2.6rem 2.4rem; gap: 1.8rem; }
	.faq-q-mark { width: 4.4rem; height: 4.4rem; font-size: 2.2rem; border-radius: 1.4rem; }
	.faq-q-text { font-size: 2.4rem; line-height: 1.45; }
	.faq-chev { font-size: 3rem; }

	.faq-a {
		padding: 0 2.4rem 2.8rem 8.6rem;       /* 좌측: Q마크 4.4 + gap 1.8 + 2.4 = 8.6rem */
		font-size: 2.2rem;
		line-height: 1.7;
	}
	.faq-a p { margin-bottom: 1.4rem; }
	.faq-a ul { margin: 1rem 0 1.6rem; }
	.faq-a ul li { padding-left: 2.2rem; margin-bottom: 0.8rem; }
	.faq-a ul li::before { font-size: 2.4rem; }
	.faq-a .faq-note { padding: 1.2rem 1.8rem; font-size: 2rem; }

	.faq-contact-btns { gap: 1.2rem; margin-top: 2rem; }
	.faq-btn { padding: 1.4rem 2.4rem; font-size: 2.2rem; gap: 1rem; }
	.faq-btn i { font-size: 2.6rem; }



	/* sec5 — 인포카드 (모바일) */
	.sec5 { padding: 8rem 0 10rem; }
	.sec5 .inner { padding: 0 1.6rem; }
	.sec5 .title { margin-bottom: 5rem; }
	.sec5 .title .badge-line { padding: 1rem 2.2rem; margin-bottom: 2.4rem; }
	.sec5 .title .badge-line span { font-size: 2.6rem; }
	.sec5 .title .badge-line i { font-size: 2.8rem; }
	.sec5 .title h2 { font-size: 4.6rem; letter-spacing: -0.18rem; line-height: 1.3; }
	.sec5 .info-grid { grid-template-columns: 1fr; gap: 3rem; }

	.sec5 .info-card { border-radius: 2.4rem; }
	.sec5 .info-card .info-body { padding: 3.4rem 3rem 2.6rem; }
	.sec5 .info-card .info-tag { font-size: 2rem; padding: 0.7rem 1.6rem; margin-bottom: 2rem; }
	.sec5 .info-card .info-tag i { font-size: 2.2rem; }
	.sec5 .info-card .info-icon { width: 7.4rem; height: 7.4rem; border-radius: 1.8rem; }
	.sec5 .info-card .info-icon i { font-size: 3.8rem; }
	.sec5 .info-card .info-cap { font-size: 1.8rem; margin-bottom: 0.4rem; }
	.sec5 .info-card .info-title { font-size: 3.2rem; letter-spacing: -0.14rem; }
	.sec5 .info-card .info-desc { font-size: 2.2rem; line-height: 1.6; margin-bottom: 2rem; }
	.sec5 .info-card .info-chips { gap: 0.8rem; margin-bottom: 2.4rem; }
	.sec5 .info-card .info-chip { font-size: 1.8rem; padding: 0.6rem 1.4rem; }

	.sec5 .info-card .info-foot { padding: 2.4rem 3rem 3rem; }
	.sec5 .info-card .foot-label { font-size: 1.8rem; margin-bottom: 1.4rem; }
	.sec5 .info-card .foot-teachers { gap: 3rem; }
	.sec5 .info-card .foot-teacher img,
	.sec5 .info-card .foot-teacher .foot-photo-fb { width: 8rem; height: 8rem; }
	.sec5 .info-card .foot-teacher .foot-photo-fb i { font-size: 4.4rem; }
	.sec5 .info-card .foot-teacher .foot-name { font-size: 2rem; }
	.sec5 .info-card .foot-teacher .foot-subj { font-size: 1.6rem; }

	/* PC/모바일 이미지 분기 */
	.sec5 .info-card .info-thumb img.pc { display: none; }
	.sec5 .info-card .info-thumb img.mo { display: block; }

	.sec5 .info-card .yt-play { width: 8.4rem; height: 8.4rem; }
	.sec5 .info-card .yt-play i { font-size: 4rem; }
	.sec5 .info-card .yt-label { font-size: 1.8rem; padding: 0.7rem 1.4rem; bottom: 1.6rem; left: 1.8rem; }
	.sec5 .info-card .yt-label i { font-size: 2.2rem; }

	/* 카드 3·4 특징 박스 (모바일) */
	.sec5 .info-card .info-feature-grid {
		gap: 1.4rem;
		padding: 0 3rem 3.4rem;
	}
	.sec5 .info-card .feature-box {
		padding: 2.4rem 1rem;
		border-radius: 2rem;
		gap: 0.6rem;
	}
	.sec5 .info-card .feature-box i { font-size: 3.6rem; margin-bottom: 0.8rem; }
	.sec5 .info-card .feature-box strong { font-size: 2.2rem; letter-spacing: -0.12rem; }
	.sec5 .info-card .feature-box span { font-size: 1.8rem; }
	.sec5 .info-card .feature-soon {
		font-size: 1.5rem; padding: 0.3rem 1rem;
		top: 0.8rem; right: 0.8rem;
	}

	/* bottomArea — 탭형 공지사항 (모바일) */
	.bottomArea { padding: 6rem 0 8rem; }
	.bottomArea .inner { padding: 0 1.6rem; }
	.bottomArea .tit-area { margin-bottom: 2rem; }
	.bottomArea .tit-area strong { font-size: 3rem; gap: 1rem; }
	.bottomArea .tit-area strong i { font-size: 3.4rem; }

	.bottomArea .cont1 .tab-area ul { grid-template-columns: 1fr; gap: 0.6rem; }
	.bottomArea .cont1 .tab-area li {
		padding: 1.8rem 1.4rem;
		font-size: 2.4rem;
		border-radius: 1.4rem;
		border-bottom: 1px solid #E2E8F0;
	}
	.bottomArea .cont1 .tab-area li.on {
		transform: none;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	}
	.bottomArea .cont1 .tab-area li.tone-best.on {
		border: 2px solid #FBBF24;
	}

	.bottomArea .cont1 .tab_con {
		padding: 3rem 2.4rem 3.6rem;
		border-radius: 1.4rem;
		margin-top: 1rem;
		border-top: 3px solid #052E3D;
	}

	.notice-section { margin-bottom: 4rem; }
	.notice-head { gap: 1rem; padding-bottom: 1.4rem; margin-bottom: 1.8rem; }
	.notice-head i { font-size: 2.8rem; }
	.notice-head .notice-name { font-size: 2.6rem; }
	.notice-badge { font-size: 1.6rem; padding: 0.4rem 1.2rem; }

	.notice-body { font-size: 2.2rem; line-height: 1.7; }
	.notice-bullets li { padding-left: 2rem; margin-bottom: 0.6rem; }
	.notice-bullets li::before { font-size: 2.4rem; }
	.notice-numbered > li { padding-left: 3.4rem; margin-bottom: 1rem; }
	.notice-numbered > li::before { font-size: 2.2rem; }
	.notice-circles { padding: 2rem 2.4rem; border-radius: 1.4rem; border-left-width: 4px; }
	.notice-circles .circle-item { font-size: 2rem; margin-bottom: 0.6rem; }
	.notice-note { font-size: 1.8rem; }

	/* 상담 박스 (모바일) */
	.notice-contact { margin-top: 4rem; padding: 3rem 2.4rem; border-radius: 2rem; }
	.notice-contact-head i { font-size: 3rem; }
	.notice-contact-head span { font-size: 2.4rem; }
	.notice-contact-desc { font-size: 2.2rem; margin-bottom: 2.4rem; }
	.notice-contact-btns { gap: 1rem; }
	.notice-btn { padding: 1.6rem 2.4rem; font-size: 2.2rem; gap: 1rem; }
	.notice-btn i { font-size: 2.6rem; }



	/* checkModal */
	.checkModal .modal {
		max-width: 62.2rem; width: 100%;
		box-shadow: 2rem 2rem 3rem #00000029;
		padding: 5.4rem 6.6rem 8rem; border-radius: 4rem;
	}
	.checkModal .modal h4 { font-size: 3.4rem; padding-bottom: 3.2rem; }
	.checkModal .modal .closeBtn {
		background: url(/assets/images/zero_free_8/closebtn_mo.png) no-repeat right top;
		background-size: contain;
		width: 3.6rem; height: 3.6rem;
		right: 3.8rem; top: 3.3rem;
	}
	.checkModal .modal .userInfo { padding: 2.6rem 0 3rem; width: 100%; }
	.checkModal .modal .userInfo p { font-size: 2.8rem; margin-bottom: 3rem; }
	.checkModal .modal .userInfo p span { margin-bottom: 1rem; display: inline-block; }
	.checkModal .modal .userInfo .fileName {
		width: 67.96%; margin-right: 1.47%;
		height: 8.5rem; border-radius: 0.2rem;
		padding: 0 1.2rem; font-size: 2.6rem;
	}
	.checkModal .modal .userInfo .fileBtn {
		width: 28.78%; height: 8.5rem;
		background: #7649f3; border-radius: 0.2rem;
		color: #fff; text-align: center;
		line-height: 8.5rem; font-size: 2.6rem;
	}
	.checkModal .modal .agree {
		margin-bottom: 3rem; display: inline-block; font-size: 2.6rem;
	}
	.checkModal .modal .agree #check {
		accent-color: #7649f3; vertical-align: top;
		width: 3.2rem; height: 3.2rem;
		margin: 0 1.3rem 0 0;
	}
	.checkModal .modal .privacy { width: 100%; display: inline-block; margin-bottom: 1.5rem; }
	.checkModal .modal .privacy h5 { font-size: 2.2rem; }
	.checkModal .modal .scroll { max-height: 23.2rem; padding: 2.2rem 2.5rem; }
	.checkModal .modal .scroll h5 { font-size: 2.4rem; margin-bottom: 1.2rem; }
	.checkModal .modal .scroll ol { font-size: 2.4rem; line-height: 3.5rem; }
	.checkModal .modal .btnArea { text-align: center; margin-top: 7rem; }
	.checkModal .modal .btnArea button {
		width: 47.96%; height: 8.5rem;
		background: #7649f3; border-radius: 0.2rem;
		color: #fff; font-size: 2.8rem;
	}
	.checkModal .modal .btnArea button.closeMo {
		display: inline-block; background: #505050; margin-left: 1%;
	}
}

@media (min-width: 750px) {
	.sticky .timer li:nth-child(1),
	.sticky .timer li:last-child { display: inline-block !important; }
}