@charset "utf-8";

/* font-size 반응형  */
:root {
    --fs-64: clamp(2.5rem, 4vw, 3.7rem); 
    --fs-56: clamp(2.25rem, 3.5vw, 3.5rem);     /* 36 ~ 56 */
    --fs-48: clamp(2rem, 3vw, 3rem);            /* 32 ~ 48 */
    --fs-44: clamp(1.875rem, 2.75vw, 2.75rem);  /* 30 ~ 44 */
    --fs-40: clamp(1.75rem, 2.5vw, 2.5rem);     /* 28 ~ 40 */
    --fs-36: clamp(1.625rem, 2.25vw, 2.25rem);  /* 26 ~ 36 */
    --fs-34: clamp(1.5rem, 2.125vw, 2.125rem);  /* 24 ~ 34 */
    --fs-32: clamp(1.5rem, 2vw, 2rem);          /* 24 ~ 32 */
    --fs-30: clamp(1.375rem, 1.875vw, 1.875rem); /* 22 ~ 30 */
    --fs-28: clamp(1.25rem, 1.75vw, 1.75rem);    /* 20 ~ 28 */
    --fs-26: clamp(1.25rem, 1.625vw, 1.625rem);  /* 20 ~ 26 */
    --fs-24: clamp(1.125rem, 1.5vw, 1.5rem);     /* 18 ~ 24 */
    --fs-22: clamp(1.0625rem, 1.375vw, 1.375rem);/* 17 ~ 22 */
    --fs-20: clamp(1.0625rem, 1vw, 1.25rem);     /* 17 ~ 20 */
    --fs-18: clamp(1rem, 0.9vw, 1.125rem);       /* 16 ~ 18 */
    --fs-16: clamp(0.9375rem, 0.8vw, 1rem);      /* 15 ~ 16 */
    --fs-14: clamp(0.8125rem, 0.7vw, 0.875rem);  /* 13 ~ 14 */

    --primary: #2d7aea;
    --bg: #E9F4F9;
    --paper: 'Paperlogy', sans-serif;
}

@media (max-width: 768px) {
    :root {
        --fs-64: clamp(2rem, 8vw, 2.625rem);       /* 32 ~ 42 */
        --fs-56: clamp(1.875rem, 7vw, 2.375rem);   /* 30 ~ 38 */
        --fs-48: clamp(1.75rem, 6vw, 2.1875rem);   /* 28 ~ 35 */
        --fs-44: clamp(1.625rem, 6vw, 2rem);       /* 26 ~ 32 */
        --fs-40: clamp(1.5rem, 5vw, 1.875rem);     /* 24 ~ 30 */
        --fs-36: clamp(1.375rem, 5vw, 1.75rem);    /* 22 ~ 28 */
        --fs-34: clamp(1.3125rem, 5vw, 1.625rem);  /* 21 ~ 26 */
        --fs-32: clamp(1.25rem, 4vw, 1.5rem);      /* 20 ~ 24 */
        --fs-30: clamp(1.1875rem, 4vw, 1.375rem);  /* 19 ~ 22 */
        --fs-28: clamp(1.125rem, 3.8vw, 1.25rem);  /* 18 ~ 20 */
        --fs-26: clamp(1.0625rem, 3.5vw, 1.1875rem);/* 17 ~ 19 */
        --fs-24: clamp(1rem, 3.2vw, 1.125rem);     /* 16 ~ 18 */
        --fs-22: clamp(0.9375rem, 3vw, 1.0625rem); /* 15 ~ 17 */
        --fs-20: clamp(0.9375rem, 2.8vw, 1rem);    /* 15 ~ 16 */
        --fs-18: clamp(0.9375rem, 2.6vw, 1rem);    /* 15 ~ 16 */
        --fs-16: clamp(0.875rem, 2.5vw, 0.9375rem);/* 14 ~ 15 */
        --fs-14: clamp(0.8125rem, 2.3vw, 0.875rem);/* 13 ~ 14 */
    }
}

/* =========================
           main
========================= */
/* ── hero ── */
.hero-section {position:relative; width:100%; height:85vh; overflow:hidden;}
.hero-swiper {position:absolute; inset:0;}
.hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide {height:100%;}
.hero-slide-bg {position:absolute; inset:-8%; background:center/cover no-repeat; transform-origin:center; will-change:transform;}
.hero-section::after {content:''; position:absolute; inset:0; background:linear-gradient(to right, rgba(10,26,77,0.55) 0%, rgba(10,26,77,0.38) 60%, rgba(10,26,77,0.08) 100%); z-index:1; pointer-events:none;}
.swiper {transition:opacity 0.3s;}
.hero-content-wrap{position:absolute; inset:0; z-index:2; top:57%; transform:translateY(-50%);}
.hero-content {color:#fff; text-align:center;}
.hero-label {font-size:var(--fs-14); letter-spacing:0.22em; text-transform:uppercase; opacity:0.75; margin-bottom:20px;}
.hero-title {font:700 var(--fs-64) var(--paper); line-height:1.2; margin-bottom:28px; word-break:keep-all;}
.hero-desc {font-size:var(--fs-22); line-height:1.4; opacity:0.8; word-break:keep-all;}
.hero-progress {display:flex; align-items:center; gap:12px; margin-top:3vmin; justify-content:center;}
.prog-current {font-size:var(--fs-16); font-weight:900; color:#fff;}
.prog-bar {width:200px; height:1px; background:rgba(255,255,255,0.4); position:relative;}
.prog-fill {position:absolute; left:0; top:0; height:100%; width:100%; background:#fff; transform-origin:left center; will-change:transform;}
.prog-total {font-size:var(--fs-16); font-weight:900; color:rgba(255,255,255,0.5);}
.hero-section .swiper-button-prev,.hero-section .swiper-button-next {position:static; width:28px; height:28px; margin:0; opacity:0.7; transition:opacity 0.2s; flex-shrink:0;}
.hero-section .swiper-button-prev:hover,.hero-section .swiper-button-next:hover {opacity:1;}
.hero-section .swiper-button-prev::after,.hero-section .swiper-button-next::after {content:''; display:block; width:10px; height:10px; border-top:2px solid #fff; border-right:2px solid #fff;}
.hero-section .swiper-button-prev::after {transform:rotate(-135deg);}
.hero-section .swiper-button-next::after {transform:rotate(45deg);}
@media (max-width:1400px) {
	.hero-section{height:60dvh}
	.hero-title{font-size:var(--fs-56);}
	.hero-desc{font-size:var(--fs-20);}
}
@media (max-width:768px) {
	.br-hide{display:none}
	.hero-section{height:400px}
	.hero-content-wrap{left:0; text-align:center;padding-top:40px;}
	.hero-title{font-size:var(--fs-48);}
	.hero-progress {display:none}
	.prog-bar {width:120px;}
	.hero-label, .hero-title{margin-bottom:10px}
	.hero-desc{line-height:1.4}
}

/* ── dept-stats ── */
.dept-stats {width:100%;position: relative;}
.stats-inner {display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;height:160px;max-width:1400px;margin:0 auto;position: absolute;top: -80px;z-index: 1;right: 0;left: 0;}
.stat-item {display:flex; align-items:center; justify-content:center; gap:16px; padding:0 28px; position:relative;}
.stat-item:nth-child(1) {background:#00b5f7;}
.stat-item:nth-child(2) {background:#2088FF;}
.stat-item:nth-child(3) {background:#1355CF;  }
.stat-item:nth-child(3) .stat-label {font-size:var(--fs-22); line-height:1.3;}
.stat-item.stat-wide {background:#2088FF; padding:0 36px;}
.stat-icon {width:64px; height:64px; object-fit:contain; flex-shrink:0;}
.stat-item.stat-wide .stat-icon{width:92px}
.stat-label {font-size:var(--fs-20); color:#fff; line-height:1.3; font-weight:700; white-space:nowrap;}
.stat-value {font-size:var(--fs-32); color:#02FBDE; font-weight:700; line-height:1.1;}
.stat-value.stat-text{font-size:var(--fs-22);}
.stat-title {font-size:var(--fs-26); color:#fff; font-weight:600; word-break:keep-all;}
.stat-title em {color:#02FBDE; font-style:normal;}
@media (max-width:1200px) {
   .stats-inner {position:static; grid-template-columns:1fr 1fr; height:auto;}
   .stat-item {padding:4vmin 24px;}
   .stat-item.stat-wide {background:#1c3481;}
   .stat-item + .stat-item::before {display:none;}
   .dept-main {padding:5vmin 0!important;}
}
@media (max-width:768px) {
   .stats-inner {grid-template-columns:1fr 1fr;}
   .stat-icon {width:48px; height:48px;}
   .stat-item {gap:10px; padding:3vmin 16px;}
   .stat-value {font-size:var(--fs-28);}
   .stat-title {font-size:var(--fs-18);}
   .stat-item.stat-wide .stat-label{display:none}
   .stat-item.stat-wide .stat-icon{width:55px;}
   .stat-item:nth-child(3) .stat-label{font-size:var(--fs-20);}
}

/* ── dept-main ── */
.dept-main {background:#EDF2F9;padding:105px 0 5vmin}
.edu-goal-wrap{background:url(../img/content/main/dept_goal_bg.jpg) no-repeat center / cover; padding:1vh 5vw 0;  display:grid; grid-template-columns:1fr 1fr; align-items:center; justify-content:space-between}
.edu-goal-left .section-h2 {font:700 var(--fs-36) var(--paper); color:#2b54db; margin-bottom:2vmin;}
.edu-goal-desc {font-size:var(--fs-20); color:#1c3481; line-height:1.6; margin-bottom:4vmin; word-break:keep-all;}
.edu-goal-btns {display:flex; gap:1%;}
.edu-goal-btn {display:inline-flex; align-items:center; gap:8px; padding:10px; min-width:170px; border:1px solid #2B54DB; color:#2B54DB; font:700 var(--fs-20) var(--paper); transition:background 0.2s, color 0.2s;}
.edu-goal-btn img{width:36px}
.edu-goal-btn span{display:inline-block;width:100%;text-align:center;}
.edu-goal-btn:hover {background:#1C3481; color:#fff;}
.edu-goal-right img {width:100%; height:450px; object-fit:contain; border-radius:12px; display:block;}
.video-notice-wrap {display:grid; grid-template-columns:2fr 3fr; gap:20px; align-items:start; margin-top:20px;}
.video-notice-wrap .video-thumb {overflow:hidden; background:#578AE8; padding:16px; align-content:center;}
.video-notice-wrap .video-thumb iframe, 
.video-notice-wrap .video-thumb video {width:100%; display:block; aspect-ratio:16/9; object-fit:cover; border:none}
.video-notice-wrap .video-caption {background:#1C3481; color:#fff; text-align:center; padding:10px 0; font:600 var(--fs-20) var(--paper); margin-top:-4px;}
.notice-wrap{background:#fff; padding:2vmin 40px; height:100%; display:flex; flex-flow:column; justify-content:space-around}
.notice-header {display:flex; justify-content:space-between; align-items:center; padding-bottom:1vmin; border-bottom:1px solid #ddd; margin-bottom:0;}
.notice-title {font:700 var(--fs-28) var(--paper); color:#222;}
.notice-wrap .more-btn {font-size:var(--fs-16); }
.notice-wrap .more-btn:hover {color:#1C3481;}
.more-btn{color:#A3A3A3; }
.more-btn:after{display:inline-block;content:"";width:8px;height:8px;border:2px solid; vertical-align:0px; margin-left:4px; border-bottom:none; border-left:none; transform:rotate(45deg)}
.notice-list {list-style:none; margin:0; padding:0;}
.notice-list li {border-bottom:1px solid var(--border);}
.notice-list li a {display:flex; justify-content:space-between; align-items:center; padding:12px 0;  gap:16px;}
.notice-list li a:hover .notice-text {color:#1C3481;}
.notice-text {font-size:var(--fs-18); color:#222; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1;}
.notice-date {font-size:var(--fs-14); color:#A3A3A3; white-space:nowrap; flex-shrink:0;}
.quicklink-list {display:grid; grid-template-columns:repeat(9,1fr); list-style:none; margin-top:20px;}
.quicklink-list li {border-right:1px solid var(--border);}
.quicklink-list li:first-child {border-left:1px solid var(--border);}
.quicklink-list li a {display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 8px;  color:#222; transition:color 0.2s;}
.quicklink-list li a:hover {color:#1C3481;}
.quicklink-list li a img {width:48px; height:48px; object-fit:contain;}
.quicklink-list li a span {font:600 var(--fs-20) var(--paper); text-align:center; line-height:1.4; word-break:keep-all;}
@media (max-width:1200px) {
   .edu-goal-wrap{gap:40px; width:96%}
   .edu-goal-right img {height:320px;}
   .quicklink-list li a img {width:40px; height:40px;}
   .video-notice-wrap .video-wrap{height:100%}
   .video-notice-wrap .video-thumb{height:calc(100% - 36px)}
}
@media (max-width:768px) {
	.notice-wrap{padding:2vmin 20px; }
   .edu-goal-wrap{grid-template-columns:100%; gap:4vmin; padding:4vh 3vw 0;}
   .edu-goal-right img {height:240px;}
   .edu-goal-left{text-align:center;}
   .edu-goal-btns {gap:10px;justify-content:center;}
   .edu-goal-btn {padding:10px 18px;min-width:auto}
   .edu-goal-btn img{width:30px;}
   .video-notice-wrap {grid-template-columns:100%; gap:5vmin;}
   .quicklink-list {grid-template-columns:repeat(3,1fr);}
   .quicklink-list li {border-right:1px solid var(--border); border-bottom:1px solid var(--border);}
   .quicklink-list li:first-child {border-left:1px solid var(--border);}
   .quicklink-list li:nth-child(3n+1) {border-left:1px solid var(--border);}
}
@media (max-width:500px) {
	.edu-goal-btn img{display:none}
	.stat-item.stat-wide{padding:0 32px;}
	.quicklink-list li a{gap:0; padding:8px;}
}

/* ── dept-vision ── */
.dept-vision {padding:8vmin 0; background:#fff;}
.dept-vision .section-head {margin-bottom:4vmin; text-align:center;}
.dept-vision .section-head h2 {font:700 var(--fs-36) var(--paper); color:#222;}
.dept-vision .section-head p {color:#A3A3A3;}
.dept-vision .vision-card {position:relative; height:380px; overflow:hidden;}
.dept-vision .vision-card img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease;}
.dept-vision .vision-card::after {content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 55%); pointer-events:none;}
.dept-vision .vision-card:hover img {transform:scale(1.05);}
.dept-vision .vision-card-body {position:absolute; bottom:0; left:0; right:0; z-index:1; padding:32px;}
.dept-vision .vision-card-body span {display:block; font-size:var(--fs-18); color:rgba(255,255,255,0.85); margin-bottom:4px; font-weight:400;}
.dept-vision .vision-card-body strong {display:block; font-size:var(--fs-24); color:#fff; font-weight:700; line-height:1.4;}

.vision-btn-prev,
.vision-btn-next {position:absolute; top:50%; transform:translateY(-50%); opacity:0.5; z-index:10; width:48px; height:48px; background:rgba(255,255,255,0.95); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.18); transition:background 0.2s, box-shadow 0.2s, transform 0.2s; color:#222;}
.vision-btn-prev {left:16px;}
.vision-btn-next {right:16px;}
.vision-btn-prev:hover,
.vision-btn-next:hover {background:var(--primary); color:#fff; box-shadow:0 6px 20px rgba(0,0,0,0.28); opacity:1}
.vision-btn-prev:hover {transform:translateY(-50%) scale(1.08);}
.vision-btn-next:hover {transform:translateY(-50%) scale(1.08);}
.vision-btn-prev svg,
.vision-btn-next svg {width:22px; height:22px; }
/*slide 3개 이하일 때 버튼 숨김*/
.vision-btn-prev.swiper-button-lock,
.vision-btn-next.swiper-button-lock {display: none;}
@media (max-width:768px) {
	.dept-vision .vision-card {height:300px;}
	.dept-vision .vision-card::after{background:linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 55%);}
	.dept-vision .vision-card-body strong {font-size:var(--fs-20);}
	.vision-btn-prev, .vision-btn-next{width:32px; height:32px;}
}
@media (max-width:500px) {
	.dept-vision .vision-card {height:230px;}
}

/* ── dept-intro ── */
.dept-intro {background:var(--bg); padding:8vmin 0;}
.dept-intro-top {align-items:start; gap:2%; display:grid; grid-template-columns:30% 68%;}
.employ-block, .gallery-block{width:100%;height:100%;}
.dept-intro .block-header {display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}
.dept-intro .block-header .section-h2 {margin:0; font:700 var(--fs-28) var(--paper);}
.dept-intro .block-header .more-btn{font-size:var(--fs-16);}
.dept-intro .employ-list {list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
.dept-intro .employ-tag {display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid #728DF4; color:#3771C8; font-size:var(--fs-18); font-weight:800; padding:16px 20px; width:100%; transition:background 0.2s;}
.dept-intro .employ-tag span {font-weight:400; }
.dept-intro .employ-tag:hover {background:#d8e5f5;}
.dept-intro .gallery-swiper {overflow:hidden; width:100%; height:calc(100% - 60px);}
.dept-intro .gallery-card {display:inline-block; border:1px solid var(--border); overflow:hidden; transition:box-shadow 0.3s;}
.dept-intro .gallery-card:hover {box-shadow:0 8px 30px rgba(0,0,0,0.12);}
.dept-intro .gallery-card>a{display:inline-block;height:100%;width:100%;}
.dept-intro .gallery-thumb {overflow:hidden; height:calc(100% - 82px);  aspect-ratio:4/3;}
.dept-intro .gallery-thumb img {width:100%; height:100%; object-fit:cover; transition:transform 0.4s;}
.dept-intro .gallery-card:hover .gallery-thumb img {transform:scale(1.05);}
.dept-intro .gallery-body {padding:16px 16px 18px;background:#fff;}
.dept-intro .gallery-body p {font-size:var(--fs-18); font-weight:600; color:#222; margin:0 0 6px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.dept-intro .gallery-body span {font-size:var(--fs-14); color:#A3A3A3;}
.dept-intro .info-bar {display:grid; grid-template-columns:repeat(3,1fr); background:#EDF2F9; margin-top:2vmin; overflow:hidden;}
.dept-intro .info-item {display:flex; justify-content:space-between; align-items:center; gap:20px; padding:1.5vh 36px;  color:inherit; position:relative; transition:background 0.2s;}
.dept-intro .info-item:nth-of-type(odd) {background:#95DAF8;}
.dept-intro .info-item:nth-of-type(2) {background:#A8E5FF;}
.dept-intro .info-item img {width:125px; object-fit:contain; flex-shrink:0;}
.dept-intro.info-text {display:flex; flex-direction:column; gap:6px;}
.dept-intro .info-sub {display:block; font-size:var(--fs-16); color:rgba(0,0,0,0.7); margin-bottom:4px;}
.dept-intro .info-text strong {font:700 var(--fs-24) var(--paper);color:#222;}
.dept-intro .info-tel {font-size:var(--fs-16); color:#1C3481; font-weight:700;}
@media (max-width:1200px) {
	.dept-intro-top {gap:32px;}
	.dept-intro .info-item {padding:24px;}
	.dept-intro .info-item img {width:90px;}
	.dept-intro .employ-tag{flex-flow:column wrap;}
	.dept-intro .employ-tag span{font-size:14px}
}
@media (max-width:768px) {
	.dept-intro-top {grid-template-columns:100%;}
	.dept-intro .info-bar {grid-template-columns:100%;}
	.dept-intro .info-item + .info-item::before {top:0; left:20%; width:60%; height:1px;}
	.dept-intro .info-item {padding:20px 24px;}
	.employ-list{display:grid!important; grid-template-columns:1fr 1fr;}
	.dept-intro .employ-tag{padding:16px 14px; text-align:center;}
	.dept-intro .gallery-body p{margin-bottom:0;}
}
@media (max-width:600px){
	.dept-intro .gallery-thumb{width:100%;}
	.dept-intro .info-item{padding:0 24px;}
}


/* =========================
            sub
========================= */
/* Color Tokens — 신규 학과 작업 시 이 값만 교체 */
:root {--dept-primary: #4aade8; --dept-dark: #1b3a5c;}

/* SNB 2차 메뉴 */
.second-menu {margin:4vmin auto; width:1400px; max-width:100%; }
.second-menu ul{display:flex;align-items:center;justify-content:center;border-bottom: 1px solid #f1f1f1;}
.second-menu ul li{ text-align:center;}
.second-menu ul li a{display:inline-block;font-size:var(--fs-20);width:100%;padding: 16px 3vmin;color:#ccc;border-bottom: 3px solid transparent; transition:all 0.2s ease;}
.second-menu ul li.active a,
.second-menu ul li:hover a{color:#222;border-bottom: 3px solid #000;font-weight: 600;}
@media (max-width:1024px){
	.second-menu ul{border-bottom:none; flex-wrap:wrap;gap:4px;}
	.second-menu ul li{flex:0 0 calc((100% - 12px) / 4);}
	.second-menu ul li a{font-size:var(--fs-16); padding:6px 0;border:1px solid #eee; border-radius:50px;}
	.second-menu ul li.active a,
	.second-menu ul li:hover a{border-bottom:none; background:var(--primary); color:#fff;}
}
@media (max-width:600px){
	.second-menu ul li{flex-basis:calc((100% - 8px) / 3);}
}

/*grid*/
.sub-2box{display:grid; grid-template-columns:repeat(2, 1fr);}
.sub-3box{display:grid; grid-template-columns:repeat(3, 1fr);}
.sub-4box{display:grid; grid-template-columns:repeat(4, 1fr);}
@media (max-width:1024px){
	.sub-4box{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:768px){
	.sub-2box, .sub-3box, .sub-4box{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:500px){
	.sub-2box, .sub-3box, .sub-4box{grid-template-columns:repeat(1, 1fr);}
}

/* Section Head */
.section-head {margin-bottom: 3vmin;}
.section-head sup {display: block; font-size: var(--fs-14); font-weight: 700; color: var(--dept-primary); margin-bottom: 1vmin;}
.section-head h2 {font-size: var(--fs-36); font-weight: 800; color: #1A1A1A; line-height: 1.35; margin-bottom: 16px;}
.section-head h2 .highlight {color: var(--dept-primary);}
.section-head p {font-size: var(--fs-20); color: #4A4A4A; line-height: 1.9; max-width: 700px; margin: 0 auto; word-break: keep-all;}
.section-head.center {text-align: center;}
.section-head.dark sup {color: var(--dept-accent);}
.section-head.dark h2 {color: #fff;}
.section-head.dark p {color: rgba(255,255,255,0.8);}
@media (max-width:768px) {
	.section-head h2 {font-size: var(--fs-24); margin-bottom: 10px;}
}

/* Text */
.title-divider {width: 56px; height: 4px; background: var(--dept-primary); border-radius: 2px; margin-bottom: 36px;}
.description {font-size: var(--fs-20); line-height: 1.8; color: #555; margin-bottom: 20px; word-break: keep-all;}
.description:last-child {margin-bottom: 0;}
.description strong {font-weight: 700; color: var(--dept-dark);}
@media (max-width:768px) {
	.title-divider {margin-bottom: 15px;}
}

/* Font Utilities */
.fs-44 {font-size: var(--fs-44);}
.fs-32 {font-size: var(--fs-32);}

/* sub43 학과소개 */
.overview-section {width: 100%;  position: relative; padding:6vmin 0; }
.overview-section .content-wrap {display: flex;  justify-content: space-between; align-items: center; max-width: 1400px; margin:0 auto;}
.overview-section .content-wrap.reverse {flex-direction: row-reverse; }
.overview-section .text-content,
.overview-section .overview-img {flex: 0 0 620px;}
.overview-section.bg-light {background-color: #f3f9fe; }
.overview-img {position: relative; }
.overview-img-box {width:620px; height: 440px; border-radius: 16px; overflow: hidden; position: relative; z-index: 1; }
.overview-img-box img {width: 100%; height: 100%; object-fit: cover; }
.overview-img-box.shadow-blue {box-shadow: 0px 25px 60px -15px rgba(74, 173, 232, 0.13); }
.overview-img-box.shadow-dark {box-shadow: 0px 25px 60px -15px rgba(27, 58, 92, 0.13); }

@media (max-width: 1280px) {
    .overview-section {padding: 60px 80px; }
    .overview-section .content-wrap {gap: 48px; }
    .overview-section .text-content, 
    .overview-section .overview-img {flex: 0 0 calc(50% - 24px); }
    .overview-section .overview-img-box {width: 100%; height: auto; aspect-ratio: 4/3; }
}
@media (max-width: 768px) {
    .overview-section {padding: 40px 20px; }
    .overview-section .text-content,
    .overview-section .overview-img {flex: 1 1 100%; width: 100%; }
    .overview-section .content-wrap, 
    .overview-section .content-wrap.reverse {flex-direction: column; }
}

/* sub44 교육목표 */
.edu-goal-container {max-width: 1400px; margin: 6vmin auto;}
.edu-section + .edu-section {margin-top: 6vmin;}
.goal-cards {display: flex;  gap: 16px; margin: 40px 0 32px; }
.goal-card {flex: 1; padding:3vmin 4vmin; background: #f3f9fe; border: 1px solid rgba(74, 173, 232, 0.08); border-radius: 14px; }
.goal-card-icon {margin-bottom:10px; width: 40px; height: 40px; flex-shrink: 0; background: rgba(74, 173, 232, 0.09); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.goal-card-icon img {width: 20px; height: 20px; }
.goal-card-text {font-size: var(--fs-22); font-weight: 700; color: var(--dept-dark); line-height: 1.5; }
@media (max-width:500px){
	.goal-cards{flex-flow:column wrap;}
	.edu-section + .edu-section {margin-top: 3vmin;}
}

/* sub45 학과장 인사말 */
.greeting-container {margin:0 auto 6vmin;}
.greeting-hero {position: relative;width: 100%; padding-top:6vmin; background:url(../img/content/sub/greeting-hero-bg.jpg) no-repeat center / cover; text-align:center;}
.greeting-hero img {width: 1400px; max-width:95%; height:400px; margin:0 auto; object-fit: cover;  border-radius: 30px; position:relative; bottom:-60px}
.greeting-banner {border-radius: 20px 0 20px 20px;display: flex; flex-flow:column ; justify-content:center;  overflow: hidden; }
.greeting-banner-title {font-size:var(--fs-36); font-weight: 700; color: #fff; line-height: 1.3; letter-spacing: -1.92px; position: relative; z-index: 1; }
.greeting-banner-dept {font-size:var(--fs-28); font-weight: 700; color: rgba(255, 255, 255, 0.15); line-height: 1.2; margin-bottom:10px;}
.greeting-quote {text-align:center; margin-top: 8vmin; font-size:var(--fs-36); font-weight: 800; color: var(--dept-dark); letter-spacing: -1px; }
.greeting-quote .quote-mark {color: rgba(27, 58, 92, 0.22); }
.greeting-body {text-align:center; margin: 32px auto 0; max-width: 1000px; }
.greeting-body .description {font-size:var(--fs-22); line-height: 1.8; word-break:keep-all; }
.greeting-body .description + .description { margin-top: 20px; }
.greeting-signature {text-align:center; margin-top: 5vmin; font-size:var(--fs-28); font-weight: 800; color: var(--dept-dark); line-height: 1.35; }
@media (max-width:1024px){
	.greeting-banner {width:100%; position:relative; bottom:0; border-radius:0 0 20px 20px;}
	.greeting-hero img{height:200px;  bottom:-20px}
}
@media (max-width:500px){
	.greeting-hero img{height:150px;  bottom:-15px}
}

/* sub46 학과연혁 */
.history-container {max-width: 1100px; margin:6vmin auto;}
.timeline {position: relative; padding-left: 148px; }
.timeline::before {content: ''; position: absolute; left: 125px; top: 0; bottom: 0; width: 1px; background: #e2e7ed; }
.timeline-year {position: relative; }
.timeline-year + .timeline-year {margin-top: 16px; }
.timeline-year-label {position: absolute; left: -148px; top: 18px; font-size:var(--fs-36); font-weight: 900; color: var(--dept-primary); letter-spacing: -0.5px; width: 96px; }
.timeline-item {z-index:0; position: relative; margin-bottom: 16px; }
.timeline-item::before {content: ''; position: absolute; left: -30px; top: 28px; width: 11px; height: 11px; background: #fff; border: 2px solid #c8d3df; border-radius: 50%; z-index: 1; transition: all 0.3s ease; }
.timeline-item.active::before,
.timeline-item:hover::before {width: 13px; height: 13px; background: #2d7aea; border-color: #2d7aea; left: -30px; top: 27px; }
.timeline-card {background: #fff; border: 1px solid #edf0f4; border-radius: 16px; padding: 25px; display: flex; gap: 16px; align-items: flex-start; transition: background 0.3s ease, box-shadow 0.3s ease; }
.timeline-item.active .timeline-card,
.timeline-item:hover .timeline-card {background: #eff3f9; box-shadow: 0 2px 12px rgba(45, 122, 234, 0.06); }
.timeline-card-year {flex-shrink: 0; width: 102px; font-size:var(--fs-28); font-weight: 900; color: #b0bec9; text-align: center; letter-spacing: -0.52px; padding-top: 2px; transition: color 0.3s ease; }
.timeline-item.active .timeline-card-year,
.timeline-item:hover .timeline-card-year {color: #4589ec; }
.timeline-card-divider {width: 1px; min-height: 64px; background: #e2e7ed; flex-shrink: 0; }
.timeline-card-content {flex: 1; display: flex; flex-direction: column; gap: 8px; }
.timeline-card-header {display: flex; align-items: center; gap: 10px; }
.timeline-card-icon {width: 32px; height: 32px; background: #f3f9fe; border-radius: 10px; flex-shrink: 0; display: none;}
.timeline-card-icon img {width: 16px; height: 16px; }
.timeline-card-date {font-size: var(--fs-24); font-weight: 700; color: #0f2b4c;  padding-left: 4vmin; }
.timeline-card-desc {font-size:var(--fs-20); color: #6b7d93; line-height: 1.75; padding-left: 4vmin; }
@media (max-width: 768px) {
    .history {padding: 40px 20px; }
    .timeline {padding-left: 120px; }
    .timeline::before {left: 112px; }
    .timeline-year-label {left: -120px; font-size: 22px; width: 80px; }
    .timeline-card {padding: 20px; }
    .timeline-card-year {width: 80px; font-size: 22px; }
    .timeline-card-date {font-size: 15px; }
    .timeline-card-desc {font-size: 13px; padding-left: 0; }
}
@media (max-width: 480px) {
    .history {padding: 30px 16px; }
    .timeline {padding-left: 0; }
    .timeline::before {display: none; }
    .timeline-year-label {position: relative; left: 0; top: 0; margin-bottom: 12px; font-size: 20px; width: auto; }
    .timeline-item::before {display: none; }
    .timeline-item {margin-bottom: 12px; }
    .timeline-card {flex-direction: column; gap: 12px; padding: 16px; border-radius: 12px; }
    .timeline-card-year {display: none; }
    .timeline-card-divider {display: none; }
    .timeline-card-header {gap: 8px; }
    .timeline-card-icon {width: 28px; height: 28px; border-radius: 8px; }
    .timeline-card-icon img {width: 14px; height: 14px; }
    .timeline-card-date {font-size: 14px; }
    .timeline-card-desc {font-size: 13px; padding-left: 36px; line-height: 1.6; }
}

/* sub48 졸업후 진로 */
.career-container{margin-top:6vmin;}
.career-section + .career-section {margin-top: 80px; }
.career-section.bg-light {background: #f8f9fb; padding:6vmin 0;}
.cert-grid {gap: 16px; margin-top: 40px; }
.cert-card {display: flex; gap: 12px; align-items: flex-start; padding:3vmin 2vmin; background: #fff; border: 1px solid #f3f4f6; border-radius: 14px; }
.cert-card-icon {font-size:var(--fs-20); font-weight:700; color:var(--primary); width: 40px; height: 40px; flex-shrink: 0; background: rgba(27, 58, 92, 0.05); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.cert-card-icon img {width: 20px; height: 20px; }
.cert-card-body {display: flex; align-items:flex-start; flex-direction: column; gap: 6px; }
.cert-card-tag {display: inline-block; padding: 2px 8px; background: #e6f0ff; border-radius: 4px; font-size: 12px; font-weight: 500; color: #2d7aea; line-height: 1.5; }
.cert-card-title {font-size:var(--fs-24); font-weight: 700; color:#505050; line-height: 1.2; word-break:keep-all;}
.cert-card-desc {font-size:var(--fs-16); color: #999; line-height: 1.5; word-break:keep-all;}

/* sub49 오시는 길 */
/*지도*/
.maph3{border:1px solid #dedede;font-size:36px;color:#383838;font-weight:600;padding:20px;margin-bottom:10px;}
.mapwc{display:flex;color:#fff;margin-bottom:65px;}
.mapwt{width:400px;background:#304347;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.mapwtit{font-size:var(--fs-48);font-weight:700;letter-spacing:-2px;color:#fff;}
.mapwstit{font-size:var(--fs-24);color:#fff;}

.mapwb{background:#304da6;font-size:var(--fs-22);padding:0 45px 0 80px;width:calc(100% - 400px);display:flex;flex-direction:column;justify-content:space-evenly;}
.mapwbm{border-bottom:1px solid rgb(255 255 255 / 20%);display:flex;align-items:center;padding-bottom:13px;}
.mapwbm:nth-child(2){border-bottom:none;padding-bottom:0;}
.maptu a{display:block;border:1px solid rgb(255 255 255 / 50%);font-size:16px;padding:5px 20px;display:flex;align-items:center;justify-content:space-around;}
.maptu a:hover{background:#192d6a;border:1px solid #192d6a;transition:all 0.2s ease-in;}
.maptu{margin-left:auto;}

.mapwtm{display:flex;}
.mapwtm p{margin-right:40px;}
.mapimg{padding-right:30px;}

.mapusimg{text-align: center;display: flex;flex-flow: column;flex-basis: 150px;align-items: center;}
.mapus{width:135px;height:135px;background:#dce7f9;line-height:135px;border-radius:50%;text-align:center;}
.mapust{font-size:var(--fs-28);color:#1572ba;font-weight:700;/* text-align:center;*/;}
.mapustxt{/* display:flex;*/justify-content:space-between;align-items:center;width:calc(100% - 215px);box-sizing:border-box;float:left;}
.mapusm{font-size:var(--fs-26);color:#383838;font-weight:600;display:inline;}
.mapurl a{display:inline-block;border:1px solid #1572ba;color:#1572ba;font-size:16px;padding:5px 35px 5px 15px;background:url("../img/content/sub/map_url.png") no-repeat 78px center;}
.mapurl a:hover{background:#1572ba url("../img/content/sub/ico_url_w.png") no-repeat 78px center;;border:1px solid #1572ba;transition:all 0.2s ease-in;color:#fff;}
.mapusdetail{font-size:var(--fs-18);color:#6b6b6b;line-height:200%;padding-top:20px;word-wrap:break-word;word-break:keep-all;}
.mapc1{padding-right:12px;}
.mapustit{display:flex;}
.mapusm{padding-right:30px;}
.mapuslist{border-bottom:1px solid #e6e6e6;padding-bottom:30px;margin-bottom:30px;}
.mapusbox{border-bottom:1px solid #e6e6e6;display:flex;gap:4%; padding:40px 0;margin:0 60px;justify-content:flex-start;overflow:hidden;}
.mapurtit{font-size:var(--fs-22);color:#383838;font-weight:600;margin-bottom:10px;}
.mapustit p{display:inline;}
.mapurboxw{display:flex;align-items:flex-start;justify-content:space-between;}
.mapurbox{display:flex;flex:1;width:100%;justify-content:space-between;}

.maptnc{ display:flex;align-items:center;}
.mapuslist:nth-child(2){border-bottom:none;padding:0;margin:0;}
.mapubus .mapurbox{display:block;margin-right:0;}
.mapurbw{display:flex;justify-content:space-between;margin-bottom:30px;}
.mapurbw:nth-child(2){margin-bottom:0;}
.mapurboxw .mapurbox:nth-child(2){padding-left:100px;}
.mapTw{margin-bottom:70px;}
.mapcamtit{font-size:var(--fs-28);color:#0d62a9;font-weight:700;background:url("../img/content/sub/maph4.png") no-repeat left 1px;padding-left:47px;padding-bottom:35px;/* display:flex;*/;}
.mapcambox{margin-bottom:65px;}
.maptable table{border-top:3px solid #67585b;}
.maptable table th{background:#f3f3f3;text-align:center;font-size:var(--fs-20);color:#363636;font-weight:600;padding:15px 0;border-bottom:1px solid #ccc;}
.maptable table td{font-size:var(--fs-18);color:#6c6c6c;border-right:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center;padding:20px 0;}
.maptable table td:last-child{border-right:none}
.maptable table td.tst{background:#f7f7f7;font-size:var(--fs-20);font-weight:600;text-align:center;width:170px;}
.mapcation ul li{font-size:16px;color:#555555;position:relative;padding-left:10px;/* margin-bottom:10px;*/line-height:200%;}
.mapcation ul li:before{width:4px;height:4px;background:#a8a8a8;border-radius:10px;position:absolute;content:'';top:13px;left:0px;}
.mapjinchw{ display:flex;justify-content:space-between;}
.mapcation{padding-top:30px;}
.mapjinimg{text-align:right;}
.maptime p{display:flex;justify-content:space-around;/* padding:5px 0;*/height:40px;}
.maptime p > span{flex:3;}
.maptime p > span:nth-child(2){/* width:60px;*/flex:1;}
.mapjinchw .maptable{width:740px;}
.maptime{margin:0 50px;}
.maptime p > span:nth-child(1){flex:2;/*text-align:justify;text-justify:inter-word;margin:0 50px;*/}
.maptime p > span:nth-child(1):after{ content:"";display:inline-block;width:100%;}

.mapcation .cblue{color:#0957a6;}
.cont .section_address{display:none}
@media only all and (max-width:1030px){
	.mapwt{width:200px;}
	.mapwb{width:calc(100% - 200px);padding:0 10px;}
	.mapwc{margin-bottom:20px;}
	.mapurboxw{display:block;}
	.mapurbox{margin-bottom:10px;}
	.mapurboxw .mapurbox:nth-child(2){padding-left:0;}
	.maptime{margin:0;}
	.mapjinchw .maptable{width:100%;}
	.mapjinchw{display:block;}
	.mapjinimg{text-align:center;}
	.mapurbw:nth-child(2){margin-bottom:10px;}
}

@media only all and (max-width:760px){
	.maph3{font-size:var(--fs-20);padding:10px;width:100%;box-sizing:border-box;}
	.root_daum_roughmap{width:100% !important;height:300px !important;}
	.mapwc{display:block;}
	.mapwb{width:100%;box-sizing:border-box;padding:20px;}
	.mapwt{width:100%;height:auto;/* display:block;*/padding:10px 0;}
	.mapusbox{margin:0;padding:30px 0;}
	.mapusimg{width:100%;float:none;}
	.mapustxt{width:100%;}
	.maptnc{display:block;}
	.mapwbm{display:block;text-align:center;}
	.mapcamtit{font-size:var(--fs-20);}
	.maptable table th{font-size:14px;padding:10px 0;}
	.maptable table td{font-size:14px;}
	.maptable table td.tst{font-size:14px;width:auto;padding:0 5px;}
	.mapcambox{margin-bottom:20px;}
	.mapwtit{font-size:var(--fs-36);}
	.mapwb{font-size:var(--fs-18);}
	.mapwtm{display:flex;justify-content:space-around;}
	.mapwtm p{margin-right:0;padding:10px 0 0;}
	.mapimg{padding-right:0;display:block;text-align:center;}
	.mapimg img{width:30px;}
	.maptu{margin-top:10px;}
	.mapus{margin:0 auto;width:120px;height:120px;line-height:120px;}
	.mapust{text-align:center;font-size:var(--fs-20);margin-bottom:20px;}
	.mapusm{font-size:var(--fs-20);}
	.mapustit{display:flex;justify-content:space-between;}
	.mapurl a{font-size:13px;}
	.mapusdetail{font-size:14px;line-height:160%;margin-bottom:20px;}
	.mapurtit{font-size:16px;}
	.mapurbox{margin-bottom:15px;}
	.mapurbw{margin-bottom:15px;}
	.maptime p > span:nth-child(1){margin:0 5px;flex:1.7;}
	.mapTw{margin-bottom:20px;}
	.maptime p > span:nth-child(2){flex:0.7;}
	.maptime p{height:30px;}
	.mapusbox{flex-flow:column;}
	.mapcamtit{background-size:24px;padding-left:30px;padding-bottom:20px}
}