/* =============================================
	 about.css — 학과개요 서브페이지 전용 스타일
	 (style.css와 겹치는 공통 스타일은 제외)
	 ============================================= */

/* =============================================
	 서브페이지 히어로 배너
	 ============================================= */
.sub-hero {
	position: relative;
	padding: 4.5rem 0 3.5rem;
	background: url('/img/visual01.jpg') center 30% / cover no-repeat;
	margin-top: var(--header-height);
}

.sub-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(43,166,166,0.9) 0%,
		rgba(35,143,143,0.85) 50%,
		rgba(43,166,166,0.75) 100%
	);
}
	
.sub-hero-content {
	position: relative;
	z-index: 10;
}

/* 브레드크럼 */
.breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 1.25rem;
	font-size: 0.925rem;
	color: rgba(255,255,255,0.8);
}

.breadcrumb a {
	color: rgba(255,255,255,0.8);
	text-decoration: none;
	transition: color var(--transition);
}

.breadcrumb a:hover {
	color: #fff;
}

.breadcrumb svg {
	width: 0.9rem;
	height: 0.9rem;
	flex-shrink: 0;
}

.breadcrumb .current {
	color: #fff;
	font-weight: 600;
}

.sub-hero-title {
	font-size: 3.625rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 0.75rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.sub-hero-desc {
	font-size: 1.625rem;
	color: rgba(255,255,255,0.85);
}

/* =============================================
	 서브 탭 네비게이션
	 ============================================= */
.sub-tab-nav {
	background: #fff;
	border-bottom: 1px solid var(--border);
	position: sticky;
	top: var(--header-height);
	z-index: 40;
}

.sub-tabs {
	display: flex;
	gap: 0;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.sub-tabs::-webkit-scrollbar {
	display: none;
}

.sub-tabs li a {
	display: block;
	padding: 1rem 1.5rem;
	font-size: 1.0625rem;
	font-weight: 500;
	color: var(--fg-muted);
	white-space: nowrap;
	border-bottom: 2.5px solid transparent;
	transition: color var(--transition), border-color var(--transition);
	text-decoration: none;
}

.sub-tabs li a:hover {
	color: var(--primary);
}

.sub-tabs li a.active {
	color: var(--primary);
	font-weight: 700;
	border-bottom-color: var(--primary);
}

/* =============================================
	 학과 소개 섹션 — 정보 카드
	 ============================================= */
.info-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1.75rem;
}

.info-card {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	background: var(--bg-alt);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem 1.1rem;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.info-card:hover {
	border-color: var(--primary-light);
	box-shadow: var(--shadow-sm);
}

.info-card-icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.5rem;
	background: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.info-card-icon svg {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--primary);
}

.info-card-label {
	font-size: 1.0625rem;
	color: var(--fg-muted);
	margin-bottom: 0;
}

.info-card-value {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--fg);
}

/* =============================================
	 비전 섹션
	 ============================================= */
.vision-wrap {
	max-width: 48rem;
	margin: 0 auto;
	text-align: center;
}

.vision-icon {
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.5rem;
}

.vision-icon svg {
	width: 2rem;
	height: 2rem;
	color: var(--primary);
}

.vision-wrap .section-title {
	margin-bottom: 1.5rem;
}

.vision-quote {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--primary);
	line-height: 1.3;
	margin-bottom: 1.5rem;
	letter-spacing: -0.01em;
	border: none;
	padding: 0;
	font-style: normal;
}

.vision-desc {
	color: var(--fg-muted);
	line-height: 1.75;
	font-size: 1.0625rem;
}

/* =============================================
	 교육목표 섹션
	 ============================================= */
.goals-list {
	max-width: 54rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.goal-item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	background: #fff;
	border-radius: var(--radius);
	padding: 1.5rem 1.75rem;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition);
}

.goal-item:hover {
	box-shadow: var(--shadow-md);
	transform: translateX(4px);
}

.goal-num {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--primary);
	color: #fff;
	font-weight: 800;
	font-size: 1.0625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.goal-body h3 {
	font-weight: 700;
	font-size: 1.2rem;
	color: var(--fg);
	margin-bottom: 0.4rem;
}

.goal-body p {
	font-size: 1.0625rem;
	color: var(--fg-muted);
	line-height: 1.65;
}

/* =============================================
	 지도 섹션
	 ============================================= */
.map-wrap {
	max-width: 52rem;
	margin: 0 auto;
}

.map-wrap .section-header {
	margin-bottom: 2rem;
}

.map-container {
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--border);
}

.map-container iframe {
	display: block;
	filter: grayscale(20%);
	transition: filter 0.3s ease;
}

.map-container:hover iframe {
	filter: grayscale(0%);
}

/* =============================================
	 반응형
	 ============================================= */
@media (max-width: 768px) {
	.sub-hero {
		padding: 3rem 0 2.5rem;
	}

	.sub-hero-title {
		font-size: 2rem;
	}

	.sub-hero-desc {
		font-size: 1rem;
	}

	.sub-tabs li a {
		padding: 0.875rem 1rem;
		font-size: 0.875rem;
	}

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

	.goal-item {
		padding: 1.25rem 1.25rem;
	}

	.goal-item:hover {
		transform: none;
	}

	.vision-quote {
		font-size: 1.2rem;
	}
}

@media (max-width: 480px) {
	.sub-hero-title {
		font-size: 1.75rem;
	}

	.breadcrumb {
		font-size: 0.78rem;
	}

	.goal-item {
		gap: 1rem;
	}

	.goal-num {
		width: 2.1rem;
		height: 2.1rem;
		font-size: 0.8rem;
	}
}

/* =============================================
	 학과장 인사말 섹션
	 ============================================= */
.greeting-wrap {
	max-width: 50rem;
	margin: 0 auto;
	text-align: center;
}

.greeting-icon {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem;
}

.greeting-icon svg {
	width: 2.5rem;
	height: 2.5rem;
	color: var(--primary);
}

.greeting-quote {
	font-size: 2.375rem;
	font-weight: 700;
	color: var(--primary);
	line-height: 1.4;
	margin-bottom: 3rem;
	letter-spacing: -0.01em;
	border: none;
	padding: 0;
	font-style: normal;
}

.greeting-body {
	text-align: left;
	margin-bottom: 3rem;
}

.greeting-body p {
	color: var(--fg-muted);
	line-height: 1.85;
	font-size: 1.0625rem;
	margin-bottom: 1.75rem;
}

.greeting-body p:last-child {
	margin-bottom: 0;
	font-weight: 600;
	color: var(--fg);
	text-align: center;
}

.greeting-signature {
	text-align: right;
	padding-top: 2rem;
	border-top: 1px solid var(--border);
}

.signature-dept {
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--fg);
	margin-bottom: 0.5rem;
}

.signature-name {
	font-size: 1.625rem;
	font-weight: 700;
	color: var(--primary);
}

/* =============================================
	 반응형
	 ============================================= */
@media (max-width: 768px) {
	.sub-hero {
		padding: 3rem 0 2.5rem;
	}

	.sub-hero-title {
		font-size: 2rem;
	}

	.sub-hero-desc {
		font-size: 1rem;
	}

	.sub-tabs li a {
		padding: 0.875rem 1rem;
		font-size: 0.875rem;
	}

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

	.goal-item {
		padding: 1.25rem 1.25rem;
	}

	.goal-item:hover {
		transform: none;
	}

	.vision-quote {
		font-size: 1.2rem;
	}

	.greeting-quote {
		font-size: 1.4rem;
	}

	.greeting-body p {
		font-size: 1rem;
	}
}

@media (max-width: 480px) {
	.sub-hero-title {
		font-size: 1.75rem;
	}

	.breadcrumb {
		font-size: 0.78rem;
	}

	.goal-item {
		gap: 1rem;
	}

	.goal-num {
		width: 2.1rem;
		height: 2.1rem;
		font-size: 0.8rem;
	}

	.greeting-icon {
		width: 4rem;
		height: 4rem;
	}

	.greeting-icon svg {
		width: 2rem;
		height: 2rem;
	}

	.greeting-quote {
		font-size: 1.1rem;
	}

	.signature-name {
		font-size: 1.125rem;
	}
}



/* =============================================
	 career.css — 졸업 후 진로 전용 스타일
	 (style.css + about.css와 겹치는 것 제외)
	 ============================================= */

/* =============================================
	 자격증 배지 스트립
	 ============================================= */
.cert-strip {
	background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%);
	padding: 2.5rem 0;
	border-bottom: 1px solid var(--border);
}

.cert-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}

.cert-badge {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 1rem 1.75rem;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 1rem;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
	cursor: default;
}

.cert-badge:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
	border-color: var(--primary-light);
}

.cert-icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.cert-icon svg {
	width: 1.25rem;
	height: 1.25rem;
	color: #fff;
}

.cert-name {
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--fg);
	line-height: 1.3;
}

.cert-type {
	font-size: 1.0125rem;
	color: var(--fg-muted);
	margin-top: 0.1rem;
}

/* =============================================
	 진로 섹션 타이틀
	 ============================================= */
.career-section {
	padding-bottom: 5rem;
}

.career-section-title {
	font-size: clamp(1.6rem, 3.5vw, 2.975rem);
	font-weight: 700;
	color: var(--fg);
	margin-bottom: 1rem;
	letter-spacing: -0.025em;
	line-height: 1.3;
}

.career-section-title span {
	color: var(--primary);
}

.career-section-desc {
	font-size: 1.375rem;
	color: var(--fg-muted);
	line-height: 1.7;
	max-width: 38rem;
	margin: 0 auto;
}

/* =============================================
	 진로 카드 목록
	 ============================================= */
.career-list {
	max-width: 1100px;
	margin: 3.5rem auto 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.career-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.career-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
}

/* 상단 컬러 바 */
.career-card-bar {
	height: 5px;
	width: 100%;
}

.career-card-inner {
	padding: 1.75rem 2rem;
}

/* 카드 헤더: 아이콘 + 제목 */
.career-card-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.career-card-icon {
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.career-card-icon svg {
	width: 2rem;
	height: 2rem;
	color: #fff;
}

.career-card-num {
	display: block;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--fg-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.2rem;
}

.career-card-title {
	font-size: 1.575rem;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.3;
}

/* 진로 항목 목록 */
.career-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 1rem;
	list-style: none;
}

.career-items li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 0.5rem 0.625rem;
	border-radius: 0.4rem;
	transition: background var(--transition);
}

.career-items li:hover {
	background: var(--bg-alt);
}

.career-items li svg {
	width: 1rem;
	height: 1rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 0.2rem;
}

.career-items li span {
	font-size: 1.1625rem;
	color: rgba(45,55,72,0.88);
	line-height: 1.2;
	word-break: keep-all;
}

/* =============================================
	 CTA 섹션
	 ============================================= */
.career-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	padding: 5rem 0;
	text-align: center;
}

.career-cta-deco {
	position: absolute;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	background: rgba(255,255,255,0.07);
	filter: blur(60px);
	pointer-events: none;
}

.cta-deco-tl {
	top: -8rem;
	left: 15%;
}

.cta-deco-br {
	bottom: -8rem;
	right: 15%;
}

.career-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 36rem;
	margin: 0 auto;
}

.career-cta-title {
	font-size: clamp(1.625rem, 4vw, 2.25rem);
	font-weight: 800;
	color: #fff;
	line-height: 1.4;
	letter-spacing: -0.025em;
	margin-bottom: 1rem;
}

.career-cta-desc {
	font-size: 1.0625rem;
	color: rgba(255,255,255,0.82);
	margin-bottom: 2.25rem;
	line-height: 1.7;
}

.btn-career-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 2.25rem;
	background: #fff;
	color: var(--primary);
	font-size: 1.0625rem;
	font-weight: 700;
	border-radius: 0.75rem;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0,0,0,0.15);
	transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.btn-career-cta:hover {
	background: rgba(255,255,255,0.93);
	box-shadow: 0 12px 32px rgba(0,0,0,0.2);
	transform: translateY(-2px);
}

.btn-career-cta svg {
	width: 1.1rem;
	height: 1.1rem;
}

/* =============================================
	 반응형
	 ============================================= */
@media (max-width: 640px) {
	.cert-list {
		gap: 0.875rem;
	}

	.cert-badge {
		padding: 0.875rem 1.25rem;
	}

	.career-card-inner {
		padding: 1.5rem 1.25rem;
	}

	.career-items {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.career-card:hover {
		transform: none;
	}

	.career-cta {
		padding: 4rem 0;
	}
}

@media (max-width: 480px) {
	.career-card-head {
		gap: 0.75rem;
	}

	.career-card-icon {
		width: 2.75rem;
		height: 2.75rem;
	}

	.career-card-icon svg {
		width: 1.25rem;
		height: 1.25rem;
	}

	.career-card-title {
		font-size: 1rem;
	}
}




/* =============================================
	 greeting.css — 학과장 인사말 전용 스타일
	 (style.css + about.css와 겹치는 것 제외)
	 ============================================= */

/* =============================================
	 배경 장식 요소
	 ============================================= */
.greeting-section {
	position: relative;
	padding: 5rem 0 6rem;
	overflow: hidden;
	background: linear-gradient(
		160deg,
		var(--bg-alt) 0%,
		var(--bg) 50%,
		rgba(224, 244, 244, 0.3) 100%
	);
}

.greeting-bg-deco {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.deco-top-right {
	width: 26rem;
	height: 26rem;
	top: -6rem;
	right: -6rem;
	background: radial-gradient(circle, rgba(74,177,182,0.07) 0%, transparent 70%);
}

.deco-bottom-left {
	width: 20rem;
	height: 20rem;
	bottom: -4rem;
	left: -4rem;
	background: radial-gradient(circle, rgba(74,177,182,0.06) 0%, transparent 70%);
}

/* =============================================
	 내부 래퍼
	 ============================================= */
.greeting-wrapper {
	max-width: 1100px;
	margin: 0 auto;
}

/* =============================================
	 헤드라인 (인용 아이콘 + 메인 문구)
	 ============================================= */
.greeting-headline {
	text-align: center;
	margin-bottom: 4rem;
}

/* 인용부호 아이콘 원 */
.quote-icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5.5rem;
	height: 5.5rem;
	margin-bottom: 2rem;
}

.quote-icon-wrap svg {
	position: relative;
	z-index: 1;
	width: 3rem;
	height: 3rem;
	color: #fff;
}

/* 그라디언트 원 배경 */
.quote-icon-wrap::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	box-shadow: 0 8px 24px rgba(74,177,182,0.35);
}

/* 바깥 링 */
.quote-icon-ring {
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 2px solid rgba(74,177,182,0.25);
	animation: ringPulse 2.4s ease-in-out infinite;
}

@keyframes ringPulse {
	0%, 100% { opacity: 0.4; transform: scale(1); }
	50%			 { opacity: 0.9; transform: scale(1.06); }
}

/* 메인 인용 문구 */
.greeting-main-quote {
	font-size: clamp(1.5rem, 3vw, 2.525rem);
	font-weight: 700;
	color: var(--primary);
	line-height: 1.45;
	letter-spacing: -0.025em;
	border: none;
	padding: 0;
	font-style: normal;
}

.greeting-main-quote span {
	background: linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* =============================================
	 본문 2단 그리드
	 ============================================= */
.greeting-body-grid {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 3rem;
	align-items: start;
}

/* =============================================
	 왼쪽 사이드 (사진 + 통계 카드)
	 ============================================= */
.greeting-aside {
	position: sticky;
	top: calc(var(--header-height) + 80px);
}

/* 사진 */
.greeting-photo {
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: var(--shadow-md);
	margin-bottom: 1.25rem;
}

.greeting-photo img {
	width: 100%;
	height: 18rem;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.greeting-photo:hover img {
	transform: scale(1.04);
}

.greeting-photo-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(35,143,143,0.45) 0%,
		transparent 55%
	);
	pointer-events: none;
}

/* 통계 카드 묶음 */
.greeting-stats {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.gstat-card {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 0.875rem 1rem;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.gstat-card:hover {
	border-color: var(--primary-light);
	box-shadow: 0 6px 20px rgba(74,177,182,0.12);
	transform: translateX(3px);
}

.gstat-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 0.5rem;
	background: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gstat-icon svg {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--primary);
}

.gstat-title {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.3;
}

.gstat-sub {
	font-size: 0.8125rem;
	color: var(--fg-muted);
	margin-top: 0.1rem;
}

/* =============================================
	 오른쪽 본문 영역
	 ============================================= */
.greeting-text-col {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* 문단 — 왼쪽 컬러 보더 */
.greeting-para {
	position: relative;
	padding: 0 0 0 1.5rem;
	margin-bottom: 1.75rem;
	border-left: 3px solid rgba(74,177,182,0.25);
	transition: border-color 0.3s ease;
}

.greeting-para:hover {
	border-left-color: var(--primary);
}

.greeting-para p {
	font-size: 1.25rem;
	line-height: 1.9;
	color: rgba(45,55,72,0.9);
	word-break: keep-all;
}

/* 감사합니다 */
.greeting-thanks {
	font-size: 1.25rem;
	color: rgba(45,55,72,0.75);
	font-weight: 500;
	padding-top: 0.5rem;
	margin-bottom: 2.5rem;
}

/* 서명 카드 */
.greeting-sign-card {
	padding: 1.5rem 2rem;
	border-radius: 1rem;
	background: linear-gradient(
		135deg,
		rgba(224,244,244,0.7) 0%,
		rgba(214,240,240,0.5) 100%
	);
	border: 1px solid var(--border);
}

.sign-univ {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--fg);
	margin-bottom: 0.35rem;
}

.sign-name {
	font-size: 1.9rem;
	font-weight: 800;
	color: var(--primary);
	letter-spacing: -0.02em;
}

/* =============================================
	 반응형
	 ============================================= */
@media (max-width: 960px) {
	.greeting-body-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.greeting-aside {
		position: static;
		/* 모바일에서 사진만, 통계카드 숨김 */
	}

	.greeting-photo img {
		height: 22rem;
	}
}

@media (max-width: 768px) {
	.greeting-section {
		padding: 3.5rem 0 4.5rem;
	}

	.greeting-headline {
		margin-bottom: 2.75rem;
	}

	.greeting-photo img {
		height: 16rem;
	}

	.greeting-para p {
		font-size: 1rem;
		line-height: 1.85;
	}

	.sign-name {
		font-size: 1.3rem;
	}
}

@media (max-width: 480px) {
	.quote-icon-wrap {
		width: 4.5rem;
		height: 4.5rem;
	}

	.quote-icon-wrap svg {
		width: 2.1rem;
		height: 2.1rem;
	}

	.greeting-para {
		padding-left: 1.1rem;
		margin-bottom: 1.4rem;
	}

	.greeting-sign-card {
		padding: 1.25rem 1.5rem;
	}
}




/* =============================================
	 curriculum.css — 교육과정 페이지 전용 스타일
	 (style.css + about.css와 겹치는 것 제외)
	 ============================================= */
	
/* =============================================
	 정보 카드 3개 (상단)
	 ============================================= */
.curr-info-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	max-width: 1000px;
	margin: 0 auto;
}

.curr-info-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.curr-info-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
	border-color: var(--primary-light);
}

.curr-card-bar {
	height: 6px;
	width: 100%;
}

.curr-info-inner {
	padding: 2rem 1.75rem;
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.curr-info-icon {
	width: 4rem;
	height: 4rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.curr-info-icon svg {
	width: 2rem;
	height: 2rem;
	color: #fff;
}

.curr-info-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--fg);
	margin-bottom: 0.5rem;
}

.curr-info-value {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.3;
}

.curr-info-sub {
	font-size: 0.9375rem;
	color: var(--fg-muted);
	margin-top: 0.2rem;
}

/* =============================================
	 학년별 교육과정
	 ============================================= */
.curr-year-list {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.curr-year-block {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition);
}

.curr-year-block:hover {
	box-shadow: var(--shadow-md);
}

/* 학년 헤더 */
.curr-year-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 2rem;
	background: linear-gradient(135deg, rgba(43,166,166,0.08) 0%, rgba(224,244,244,0.5) 100%);
	border-bottom: 1px solid var(--border);
}

.curr-year-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 0.75rem;
	background: var(--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(43,166,166,0.25);
}

.curr-year-icon svg {
	width: 2rem;
	height: 2rem;
	color: #fff;
}

.curr-year-title {
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--primary);
	line-height: 1.3;
}

.curr-year-sub {
	font-size: 0.9375rem;
	color: var(--fg-muted);
	margin-top: 0.2rem;
}

/* 학기 그리드 */
.curr-semesters {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-left: 1px solid var(--border);
}

.curr-semester {
	border-right: 1px solid var(--border);
}

.curr-semester:last-child {
	border-right: none;
}

/* 테이블 스타일 */
.curr-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.0625rem;
}

.curr-table thead tr {
	background: rgba(43,166,166,0.05);
	border-bottom: 1px solid var(--border);
}

.curr-table th {
	padding: 0.875rem 1rem;
	text-align: left;
	font-weight: 700;
	color: var(--fg);
	font-size: 1.2rem;
}

.curr-table-credit {
	width: 5rem;
	text-align: center !important;
}

.curr-table tbody tr {
	border-bottom: 1px solid rgba(43,166,166,0.1);
	transition: background var(--transition);
}

.curr-table tbody tr:hover {
	background: rgba(43,166,166,0.03);
}

.curr-table td {
	padding: 0.75rem 1rem;
	color: var(--fg);
}

.credit-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--accent);
	color: var(--primary);
	font-weight: 700;
	font-size: 0.875rem;
}

.curr-total-row {
	background: rgba(43,166,166,0.06) !important;
	border-top: 2px solid rgba(43,166,166,0.2) !important;
	font-weight: 700;
}

.curr-total-row td {
	font-weight: 700;
	color: var(--fg);
}

.credit-total {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--primary);
	color: #fff;
	font-weight: 800;
	font-size: 0.9375rem;
}

/* =============================================
	 자격증 카드
	 ============================================= */
.cert-section-wrap {
	max-width: 1000px;
	margin: 0 auto;
}

.cert-cards-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.cert-detail-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.cert-detail-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
	border-color: var(--primary-light);
}

.cert-detail-bar {
	height: 4px;
	width: 100%;
}

.cert-detail-inner {
	padding: 2rem 2.5rem;
}

.cert-detail-head {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

.cert-detail-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.cert-detail-icon svg {
	width: 1.75rem;
	height: 1.75rem;
	color: #fff;
}

.cert-detail-title {
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.3;
	margin-bottom: 0.35rem;
}

.cert-badge-label {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	border-radius: 1rem;
}

.cert-detail-desc {
	font-size: 1.0625rem;
	color: var(--fg-muted);
	line-height: 1.75;
	margin-bottom: 1.25rem;
}

.cert-detail-req {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.875rem 1.25rem;
	background: rgba(43,166,166,0.08);
	border-radius: 0.5rem;
}

.cert-detail-req svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--primary);
	flex-shrink: 0;
}

.cert-detail-req span {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--fg);
}

/* =============================================
	 CTA 섹션
	 ============================================= */
.curr-cta-section {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	padding: 5rem 0;
	text-align: center;
}

.curr-cta-bg-deco {
	position: absolute;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	background: rgba(255,255,255,0.07);
	pointer-events: none;
}

.curr-cta-deco-tl {
	top: -8rem;
	left: 15%;
}

.curr-cta-deco-br {
	bottom: -8rem;
	right: 15%;
}

.curr-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 36rem;
	margin: 0 auto;
}

.curr-cta-title {
	font-size: clamp(1.75rem, 4vw, 2.375rem);
	font-weight: 800;
	color: #fff;
	line-height: 1.4;
	letter-spacing: -0.025em;
	margin-bottom: 1rem;
}

.curr-cta-desc {
	font-size: 1.0625rem;
	color: rgba(255,255,255,0.85);
	margin-bottom: 2.25rem;
	line-height: 1.7;
}

.btn-curr-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 2.25rem;
	background: #fff;
	color: var(--primary);
	font-size: 1.0625rem;
	font-weight: 700;
	border-radius: 0.75rem;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0,0,0,0.15);
	transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.btn-curr-cta:hover {
	background: rgba(255,255,255,0.93);
	box-shadow: 0 12px 32px rgba(0,0,0,0.2);
	transform: translateY(-2px);
}

.btn-curr-cta svg {
	width: 1.1rem;
	height: 1.1rem;
}

/* =============================================
	 반응형
	 ============================================= */
@media (max-width: 960px) {
	.curr-info-cards {
		grid-template-columns: 1fr;
	}

	.curr-semesters {
		grid-template-columns: 1fr;
	}

	.curr-semester {
		border-right: none;
		border-bottom: 1px solid var(--border);
	}

	.curr-semester:last-child {
		border-bottom: none;
	}
}

@media (max-width: 768px) {
	.curr-info-inner {
		flex-direction: column;
		text-align: center;
		padding: 1.75rem 1.5rem;
	}

	.curr-year-header {
		padding: 1.25rem 1.5rem;
	}

	.curr-table th,
	.curr-table td {
		padding: 0.625rem 0.75rem;
		font-size: 0.875rem;
	}

	.cert-detail-inner {
		padding: 1.5rem 1.5rem;
	}

	.cert-detail-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.curr-cta-section {
		padding: 4rem 0;
	}
}

@media (max-width: 640px) {
	.curr-info-card:hover {
		transform: none;
	}

	.curr-year-block:hover {
		box-shadow: var(--shadow-sm);
	}

	.cert-detail-card:hover {
		transform: none;
	}

	.curr-table-credit {
		width: 3.5rem;
	}

	.credit-badge {
		width: 1.75rem;
		height: 1.75rem;
		font-size: 0.75rem;
	}

	.credit-total {
		width: 2.1rem;
		height: 2.1rem;
		font-size: 0.8125rem;
	}
}

@media (max-width: 480px) {
	.curr-year-icon {
		width: 2.5rem;
		height: 2.5rem;
	}

	.curr-year-icon svg {
		width: 1.25rem;
		height: 1.25rem;
	}

	.curr-year-title {
		font-size: 1.1rem;
	}

	.curr-year-sub {
		font-size: 0.8125rem;
	}

	.cert-detail-icon {
		width: 3rem;
		height: 3rem;
	}

	.cert-detail-icon svg {
		width: 1.5rem;
		height: 1.5rem;
	}

	.cert-detail-title {
		font-size: 1.125rem;
	}
}



    /* ── 하이라이트 배너 ── */
    .highlight-bar {
      background: linear-gradient(to right, rgba(224,244,244,0.5), rgba(245,250,250,0.3));
      padding: 1.75rem 0;
      border-bottom: 1px solid var(--border);
    }

    .highlight-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 2.5rem;
    }

    .highlight-item {
      display: flex;
      align-items: center;
      gap: 0.875rem;
    }

    .highlight-icon {
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 0.75rem;
      background: rgba(74,177,182,0.12);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .highlight-icon svg {
      width: 1.25rem;
      height: 1.25rem;
      color: var(--primary);
    }

    .highlight-label {
      font-weight: 700;
      color: var(--fg);
      font-size: 1.0625rem;
      margin-bottom: 0.15rem;
    }

    .highlight-sub {
      font-size: 0.9375rem;
      color: var(--fg-muted);
    }

    /* ── 입학조건 & 제출서류 ── */
    .adm-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2.5rem;
      max-width: 1100px;
      margin: 0 auto;
    }

    .adm-section-title {
      font-size: 2.375rem;
      font-weight: 700;
      color: var(--fg);
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .adm-title-icon {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 0.625rem;
      background: var(--primary);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .adm-title-icon svg {
      width: 1.25rem;
      height: 1.25rem;
      color: #fff;
    }

    /* 입학조건 카드 */
    .condition-list {
      display: flex;
      flex-direction: column;
      gap: 0.875rem;
    }

    .condition-card {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 1.1rem 1.25rem;
      box-shadow: var(--shadow-sm);
      transition: box-shadow var(--transition), transform var(--transition);
    }

    .condition-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    .condition-num {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 50%;
      background: var(--accent);
      color: var(--primary);
      font-weight: 700;
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .condition-body strong {
      display: block;
      font-weight: 700;
      color: var(--fg);
      margin-bottom: 0.1rem;
	  font-size:1.0625rem;
    }

    .condition-body span {
      font-size: 1.0625rem;
      color: var(--fg-muted);
    }

    /* 제출서류 카드 */
    .docs-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
    }

    .docs-card-bar {
      height: 0.375rem;
      background: linear-gradient(to right, var(--primary), rgba(74,177,182,0.55));
    }

    .docs-card-body {
      padding: 1.75rem;
    }

    .docs-list {
      display: flex;
      flex-direction: column;
      gap: 1.1rem;
    }

    .docs-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
    }

    .docs-check {
      width: 1.8rem;
      height: 1.8rem;
      border-radius: 50%;
      background: rgba(74,177,182,0.12);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-top: 0.1rem;
    }

    .docs-check svg {
      width: 1rem;
      height: 1rem;
      color: var(--primary);
    }

    .docs-item span {
      color: var(--fg);
      line-height: 1.5;
	  font-size:1.0625rem;
    }

    /* ── 전형 일정 ── */
    .steps-wrap {
      max-width: 100%;
      margin: 0 auto;
    }

    /* 데스크탑 스텝 */
    .steps-desktop {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      position: relative;
    }

    .steps-desktop::before {
      content: '';
      position: absolute;
      top: 2.5rem;
      left: 12.5%;
      right: 12.5%;
      height: 2px;
      background: linear-gradient(to right, rgba(74,177,182,0.3), var(--primary), rgba(74,177,182,0.3));
      z-index: 0;
    }

    .step-item {
      text-align: center;
      padding: 0 1rem;
      position: relative;
    }

    .step-icon {
      width: 5rem;
      height: 5rem;
      border-radius: 1rem;
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1.25rem;
      box-shadow: 0 8px 20px rgba(74,177,182,0.3);
      position: relative;
      z-index: 1;
      transition: transform var(--transition), box-shadow var(--transition);
    }

    .step-icon:hover {
      transform: scale(1.08);
      box-shadow: 0 12px 28px rgba(74,177,182,0.4);
    }

    .step-icon svg {
      width: 2rem;
      height: 2rem;
      color: #fff;
    }

    .step-label {
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--primary);
      letter-spacing: 0.08em;
      margin-bottom: 0.35rem;
    }

    .step-title {
      font-weight: 700;
      color: var(--fg);
      font-size: 1.375rem;
      margin-bottom: 0.3rem;
    }

    .step-desc {
      font-size: 1.0625rem;
      color: var(--fg-muted);
    }

    /* 모바일 스텝 */
    .steps-mobile {
      display: none;
      flex-direction: column;
      gap: 0.875rem;
    }

    .step-card-mobile {
      display: flex;
      align-items: center;
      gap: 1rem;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 1.1rem 1.25rem;
      box-shadow: var(--shadow-sm);
    }

    .step-icon-sm {
      width: 3.5rem;
      height: 3.5rem;
      border-radius: 0.75rem;
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 4px 12px rgba(74,177,182,0.25);
    }

    .step-icon-sm svg {
      width: 1.5rem;
      height: 1.5rem;
      color: #fff;
    }

    /* ── 등록금 & 장학혜택 ── */
    .scholarship-wrap {
      max-width: 900px;
      margin: 0 auto;
    }

    .scholarship-card {
      background: #fff;
      border: 1px solid rgba(74,177,182,0.25);
      border-radius: 0.75rem;
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: box-shadow var(--transition);
    }

    .scholarship-card:hover {
      box-shadow: var(--shadow-md);
    }

    .scholarship-card-bar {
      height: 0.375rem;
      background: linear-gradient(to right, #f6b93b, var(--primary), #1abc9c);
    }

    .scholarship-card-inner {
      padding: 2.25rem 2.5rem;
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
    }

    .scholarship-icon {
      width: 4rem;
      height: 4rem;
      border-radius: 1rem;
      background: linear-gradient(135deg, #f6b93b 0%, #f0a11a 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 6px 16px rgba(246,185,59,0.35);
    }

    .scholarship-icon svg {
      width: 2rem;
      height: 2rem;
      color: #fff;
    }

    .scholarship-content h3 {
      font-size: 1.875rem;
      font-weight: 700;
      color: var(--fg);
      margin-bottom: 1rem;
    }

    .scholarship-highlight {
      background: rgba(74,177,182,0.08);
      border: 1px solid var(--border);
      border-radius: 0.625rem;
      padding: 1.1rem 1.25rem;
    }

    .scholarship-highlight p:first-child {
      font-size: 1.625rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 0.5rem;
    }

    .scholarship-highlight p:last-child {
      font-size: 1.0625rem;
      color: var(--fg-muted);
      line-height: 1.7;
    }

    /* ── 상담 CTA ── */
    /* (cta-section 은 style.css 에 있음) */
    .cta-section-adm {
      padding: 5.5rem 0;
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .cta-section-adm::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .cta-deco {
      position: absolute;
      border-radius: 50%;
      background: rgba(255,255,255,0.08);
      pointer-events: none;
    }

    .cta-deco-tl {
      width: 22rem;
      height: 22rem;
      top: -6rem;
      left: 10%;
    }

    .cta-deco-br {
      width: 16rem;
      height: 16rem;
      bottom: -4rem;
      right: 12%;
    }

    .cta-inner {
      position: relative;
      z-index: 1;
    }

    .cta-section-adm .cta-title {
      font-size: 2.75rem;
      font-weight: 700;
      color: #fff;
      margin-bottom: 0.875rem;
      letter-spacing: -0.02em;
    }

    .cta-section-adm .cta-desc {
      color: rgba(255,255,255,0.82);
      font-size: 1.0625rem;
      margin-bottom: 2.25rem;
    }

    .cta-btns {
      display: flex;
      justify-content: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .btn-cta-solid {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.875rem 2rem;
      background: #fff;
      color: var(--primary);
      font-weight: 700;
      font-size: 1.0625rem;
      border-radius: 0.75rem;
      text-decoration: none;
      box-shadow: 0 8px 20px rgba(0,0,0,0.15);
      transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    }

    .btn-cta-solid:hover {
      background: rgba(255,255,255,0.92);
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(0,0,0,0.2);
    }

    .btn-cta-solid svg {
      width: 1.1rem;
      height: 1.1rem;
    }

    .btn-cta-ghost {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.875rem 2rem;
      background: transparent;
      border: 1.5px solid rgba(255,255,255,0.4);
      color: #fff;
      font-weight: 700;
      font-size: 1.0625rem;
      border-radius: 0.75rem;
      text-decoration: none;
      transition: background var(--transition);
    }

    .btn-cta-ghost:hover {
      background: rgba(255,255,255,0.12);
    }

    .btn-cta-ghost svg {
      width: 1.1rem;
      height: 1.1rem;
    }

    /* ── 반응형 ── */
    @media (max-width: 860px) {
      .adm-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
    }

    @media (max-width: 768px) {
      .section {
        padding: 3.5rem 0;
      }

      .section-title {
        font-size: 1.75rem;
      }

      .highlight-list {
        gap: 1.25rem;
      }

      .steps-desktop {
        display: none;
      }

      .steps-mobile {
        display: flex;
      }

      .scholarship-card-inner {
        flex-direction: column;
        padding: 1.75rem 1.5rem;
      }

      .cta-section-adm .cta-title {
        font-size: 1.75rem;
      }

      .cta-btns {
        flex-direction: column;
        align-items: center;
      }

      .cta-btns a {
        width: 100%;
        max-width: 300px;
        justify-content: center;
      }
    }

    @media (max-width: 480px) {
      .highlight-list {
        justify-content: flex-start;
        gap: 1rem;
        padding: 0 0.25rem;
      }

      .cta-section-adm .cta-title {
        font-size: 1.5rem;
      }
    }
	
	
	
	.center {text-align:center !important;}