@charset "utf-8";

/* =========================================================
   SW전공교육 (sw-major) 전용 컴포넌트
   색상: #083C72 / #4656AA / #2773C9 / #3662AA / #1D92A8
   ========================================================= */

/* 표 첫 열(구분/학과명 등) 글자 중간 끊김 방지 */
.section_tbl table tbody th { word-break:keep-all; }
/* AI·SW 융합대학 표 - 신설 학과 강조 (하늘색보다 진한 색) */
.section_tbl table tbody th.swm_new { background-color:#bcd6ef; color:#0b3c72; font-weight:700; }
/* 표 내용 셀 가독성 */
.section_tbl table tbody td { word-break:keep-all; }

/* ---------- 5색 카드 (전공 비교과활동 등) ---------- */
.swm_card_wrap { display:flex; gap:10px; width:100%; margin-top:20px; }
.swm_card { flex:1; display:flex; flex-direction:column; border:2px solid #083C72; border-radius:10px; overflow:hidden; }
.swm_card_head { padding:11px 8px; text-align:center; background:#083C72; }
.swm_card_head span { font-size:18px; font-weight:700; color:#fff; word-break:keep-all; }
.swm_card_body { flex:1; display:flex; flex-direction:column; gap:22px; padding:20px 14px; background:#fff; }
.swm_card_lead { text-align:center; font-size:16px; font-weight:600; line-height:1.4; letter-spacing:-0.03em; color:#083C72; word-break:keep-all; }
.swm_card_list { font-size:15px; font-weight:400; line-height:1.7; letter-spacing:-0.01em; color:#333; word-break:keep-all; }
.swm_card_list li { list-style:none; padding-left:10px; text-indent:-10px; }
.swm_card_list li::before { content:"- "; }

.swm_card.c2 { border-color:#4656AA; }
.swm_card.c2 .swm_card_head { background:#4656AA; }
.swm_card.c2 .swm_card_lead { color:#4656AA; }
.swm_card.c3 { border-color:#2773C9; }
.swm_card.c3 .swm_card_head { background:#2773C9; }
.swm_card.c3 .swm_card_lead { color:#2773C9; }
.swm_card.c4 { border-color:#3662AA; }
.swm_card.c4 .swm_card_head { background:#3662AA; }
.swm_card.c4 .swm_card_lead { color:#3662AA; }
.swm_card.c5 { border-color:#1D92A8; }
.swm_card.c5 .swm_card_head { background:#1D92A8; }
.swm_card.c5 .swm_card_lead { color:#1D92A8; }

/* ---------- 네이비 배너 (이수 후 전공인증제 - 안내) ---------- */
.swm_banner { display:flex; align-items:center; gap:24px; padding:20px 28px; margin-top:20px; background:#002D5E; border-radius:10px; }
.swm_banner img { flex:0 0 auto; width:60px; height:auto; }
.swm_banner_txt strong { display:block; font-size:20px; font-weight:800; line-height:1.5; letter-spacing:-0.02em; color:#F9C73D; word-break:keep-all; }
.swm_banner_txt p { margin-top:6px; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:-0.02em; color:#fff; word-break:keep-all; }
.swm_banner_txt p b { font-weight:700; }

/* ---------- 2열 흰박스 (이수 후 전공인증제 - 대상/차이) ---------- */
.swm_twocol { display:flex; gap:10px; margin-top:15px; align-items:stretch; }
.swm_twocol > div { flex:1; display:flex; flex-direction:column; gap:10px; padding:16px 20px; background:#fff; border:1px solid #dbe4f0; border-radius:10px; }
.swm_twocol h4 { font-size:18px; font-weight:700; text-align:center; color:#333; }
.swm_twocol_row { display:flex; align-items:center; gap:10px; padding:12px 18px; background:#EEF4FD; border-radius:10px; font-size:16px; line-height:1.4; letter-spacing:-0.02em; color:#333; word-break:keep-all; }
.swm_twocol_row .lb { flex:0 0 150px; font-weight:700; }
.swm_twocol_row.hl { background:#EA8612; color:#fff; }
.swm_twocol_note { font-size:15px; color:#555; letter-spacing:-0.02em; }

/* ---------- 실전적 SW교과목 확대 (5카드) ---------- */
.swm_expand { display:flex; gap:10px; width:100%; margin-top:20px; align-items:stretch; }
.swm_expand > div { flex:1; display:flex; flex-direction:column; border:2px solid #3F74BB; border-radius:10px; overflow:hidden; }
.swm_expand_head { display:flex; align-items:center; justify-content:center; min-height:56px; padding:12px 10px; text-align:center; font-size:18px; font-weight:700; color:#fff; background:#3F74BB; word-break:keep-all; }
.swm_expand_body { flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:12px; padding:15px 10px 12px; background:#fff; }
.swm_expand_body p { font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-0.02em; color:#333; word-break:keep-all; }
.swm_expand_tag { padding:11px 16px; text-align:center; font-size:15px; font-weight:700; letter-spacing:-0.02em; color:#333; background:#EEF4FD; border-radius:10px; word-break:keep-all; }
.swm_expand > div.nv { border-color:#002D5E; }
.swm_expand > div.nv .swm_expand_head { background:#002D5E; }
.swm_expand > div.nv .swm_expand_tag { background:#002D5E; color:#fff; }

/* ---------- 산업체 요구역량: 그래프 + 3단계 ---------- */
.swm_yeok { display:flex; gap:24px; margin-top:20px; align-items:center; }
.swm_yeok_chart { flex:0 1 540px; padding:24px 26px; background:#fff; border-radius:12px; box-sizing:border-box; }
.swm_yeok_chart img { width:100%; height:auto; display:block; }
.swm_yeok_steps { flex:1 1 440px; display:flex; flex-direction:column; gap:12px; }
.swm_yeok_steps > div { border:2px solid #3F74BB; border-radius:10px; overflow:hidden; }
.swm_yeok_head { padding:11px 20px; text-align:center; background:#3F74BB; color:#fff; font-size:18px; font-weight:700; letter-spacing:-0.02em; }
.swm_yeok_desc { padding:14px 20px; background:#fff; font-size:16px; font-weight:400; line-height:1.55; letter-spacing:-0.02em; color:#333; word-break:keep-all; }
.swm_yeok_steps > div.c3 { border-color:#EA8612; }
.swm_yeok_steps > div.c3 .swm_yeok_head { background:#EA8612; }

/* ---------- 진로트랙 STAR 4카드 ---------- */
.swm_star { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.swm_star > div { display:flex; flex-direction:column; width:calc(50% - 5px); box-sizing:border-box; border:2px solid #083C72; border-radius:10px; overflow:hidden; background:#083C72; }
.swm_star_head { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 26px; background:#083C72; color:#fff; }
.swm_star_head b { font-size:20px; font-weight:600; }
.swm_star_head em { font-size:18px; font-weight:600; font-style:normal; }
.swm_star_body { flex:1; padding:16px 24px; background:#fff; }
.swm_star_body > div { display:flex; align-items:center; gap:20px; padding:3px 0; line-height:1.55; }
.swm_star_body .k { flex:0 0 74px; font-size:16px; color:#333; white-space:nowrap; }
.swm_star_body .v { font-size:18px; font-weight:500; letter-spacing:-0.03em; color:#083C72; word-break:keep-all; }
.swm_star > div.g { border-color:#2773C9; background:#2773C9; } .swm_star > div.g .swm_star_head { background:#2773C9; } .swm_star > div.g .swm_star_body .v { color:#2773C9; }
.swm_star > div.v { border-color:#4656AA; background:#4656AA; } .swm_star > div.v .swm_star_head { background:#4656AA; } .swm_star > div.v .swm_star_body .v { color:#4656AA; }
.swm_star > div.s { border-color:#1D92A8; background:#1D92A8; } .swm_star > div.s .swm_star_head { background:#1D92A8; } .swm_star > div.s .swm_star_body .v { color:#1D92A8; }

/* ---------- 오픈소스SW 활용 도구 (카테고리별 칩) ---------- */
.swm_stack { display:flex; gap:10px; width:100%; margin-top:20px; align-items:stretch; padding:26px 24px; background:#fff; border-radius:12px; box-sizing:border-box; }
.swm_stack > div { flex:1; display:flex; flex-direction:column; align-items:center; }
.swm_stack_head { z-index:1; margin-bottom:-18px; padding:12px 14px; min-width:130px; text-align:center; font-size:16px; font-weight:700; line-height:1.3; color:#fff; background:#375688; border-radius:10px; word-break:keep-all; }
.swm_stack_box { flex:1; align-self:stretch; display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:flex-start; gap:5px; padding:28px 10px 12px; background:#FFFFD7; border:2px solid #B1B18F; border-radius:10px; }
.swm_stack_box span { padding:4px 9px; font-size:13px; font-weight:400; color:#333; background:#fff; border:1px solid #375688; border-radius:8px; white-space:nowrap; height:fit-content; }

/* ---------- 반응형 ---------- */
@media screen and (max-width:900px) {
	.swm_card_wrap { flex-wrap:wrap; }
	.swm_card { flex:1 1 calc(33.333% - 7px); }
}
@media screen and (max-width:768px) {
	.swm_card { flex:1 1 calc(50% - 5px); }
	.swm_banner { flex-direction:column; text-align:center; }
	.swm_twocol { flex-direction:column; }
	.swm_twocol_row { flex-direction:column; align-items:flex-start; gap:4px; }
	.swm_twocol_row .lb { flex:none; }
	.swm_expand { flex-wrap:wrap; }
	.swm_expand > div { flex:1 1 calc(50% - 5px); }
	.swm_stack { flex-wrap:wrap; }
	.swm_stack > div { flex:1 1 calc(50% - 5px); }
	.swm_yeok { flex-direction:column; align-items:stretch; }
	.swm_yeok_chart { flex:none; }
	.swm_star > div { flex:1 1 100%; }
}
@media screen and (max-width:480px) {
	.swm_card { flex:1 1 100%; }
}

/* =========================================================
   스크롤 등장 애니메이션 + 그래프 성장 액션  2026-09
   ========================================================= */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; will-change:opacity,transform; }
.reveal.in { opacity:1; transform:none; }
.swm-stagger > * { opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
.swm-stagger.in > * { opacity:1; transform:none; }
.swm-stagger.in > *:nth-child(1){transition-delay:.00s} .swm-stagger.in > *:nth-child(2){transition-delay:.09s}
.swm-stagger.in > *:nth-child(3){transition-delay:.18s} .swm-stagger.in > *:nth-child(4){transition-delay:.27s}
.swm-stagger.in > *:nth-child(5){transition-delay:.36s} .swm-stagger.in > *:nth-child(6){transition-delay:.45s}
.swm-stagger.in > *:nth-child(7){transition-delay:.54s} .swm-stagger.in > *:nth-child(8){transition-delay:.63s}
.swm-stagger.in > *:nth-child(9){transition-delay:.72s} .swm-stagger.in > *:nth-child(n+10){transition-delay:.8s}
@media (prefers-reduced-motion:reduce) {
	.reveal, .swm-stagger > * { opacity:1 !important; transform:none !important; transition:none !important; }
	.swm_bch_fill { transition:none !important; }
}

/* ---------- 산업체 요구역량: 애니메이션 가로 막대그래프 ---------- */
.swm_bch { margin-top:20px; background:#fff; border:1px solid #e5ebf3; border-radius:12px; padding:24px 26px; }
.swm_bch_row { display:grid; grid-template-columns:150px 1fr 66px; align-items:center; gap:14px; padding:8px 0; }
.swm_bch_lb { font-size:14px; font-weight:600; color:#333; text-align:right; word-break:keep-all; letter-spacing:-0.02em; }
.swm_bch_track { height:22px; background:#eef2f7; border-radius:11px; overflow:hidden; }
.swm_bch_fill { display:block; height:100%; width:0; border-radius:11px; background:#2773C9; transition:width 1.2s cubic-bezier(.2,.7,.25,1); }
.swm_bch.in .swm_bch_fill { width:var(--v); }
.swm_bch_val { font-size:15px; font-weight:700; color:#2773C9; text-align:right; font-variant-numeric:tabular-nums; }
.swm_bch_fill.c1{background:#083C72} .swm_bch_fill.c2{background:#1f5fa8} .swm_bch_fill.c3{background:#2773C9}
.swm_bch_fill.c4{background:#4a86c9} .swm_bch_fill.c5{background:#6fa2d6} .swm_bch_fill.c6{background:#93bce2} .swm_bch_fill.c7{background:#b3d0ec}
.swm_bch_src { margin-top:12px; font-size:13px; color:#8a929c; text-align:right; }
.swm_yeok_chart.is-bch { padding:0; background:transparent; }
/* ---------- 이수 후 전공인정제 절차 (피그마 98-5820) ---------- */
.swm_circ.swm_cproc { justify-content:center; gap:6px; }
.swm_circ.swm_cproc::before { display:none; }
.swm_circ.swm_cproc .node { flex:0 0 auto; width:140px; height:140px; background:#F5F6FA; padding:15px 8px; gap:8px; }
.swm_circ.swm_cproc .node b { display:block; width:100%; }
.swm_circ.swm_cproc .node b::after { content:""; display:block; height:2px; margin-top:8px; background:repeating-linear-gradient(to right,rgba(150,150,150,.9) 0 3px,transparent 3px 6px); }
.swm_circ_arr { flex:0 0 auto; align-self:center; width:28px; height:20px; background:#424242; clip-path:polygon(0 30%, 60% 30%, 60% 3%, 100% 50%, 60% 97%, 60% 70%, 0 70%); font-size:0; }
@media screen and (max-width:600px) {
	.swm_bch { padding:18px 16px; }
	.swm_bch_row { grid-template-columns:92px 1fr 52px; gap:8px; }
	.swm_bch_lb { font-size:12px; }
	.swm_bch_val { font-size:13px; }
}

/* ---------- 인포그래픽 공통: 좌측 라벨행 + 네이비 목표박스 ---------- */
.swm_ig { margin-top:16px; }
.swm_ig_row { display:flex; align-items:center; gap:16px; margin-top:14px; }
.swm_ig_row.top { align-items:flex-start; }
.swm_ig_label { flex:0 0 168px; display:flex; align-items:center; gap:10px; text-align:left; font-size:16px; font-weight:700; line-height:1.3; color:#333; white-space:nowrap; letter-spacing:-0.02em; }
.swm_ig_row.top .swm_ig_label { padding-top:6px; }
.swm_ig_label::after { content:""; flex:1 1 auto; min-width:16px; height:2px; background:repeating-linear-gradient(to right,#adadad 0 3px,transparent 3px 6px); }
.swm_ig_body { flex:1; min-width:0; }
.swm_ig_lead { background:#0b2f5e; color:#fff; border-radius:12px; padding:0.55em 1.25em; font-size:1.125rem; font-weight:500; line-height:1.4; letter-spacing:-0.02em; word-break:keep-all; }

/* 적용대상 pill(abf) */
.swm_pills { display:flex; gap:12px; flex-wrap:wrap; }
.swm_pills span { flex:1 1 0; min-width:120px; text-align:center; padding:18px 12px; border:2px solid #d3d3d3; border-radius:10px; font-size:16px; font-weight:500; color:#333; background:#fff; word-break:keep-all; }

/* 평가기준 등급(abf) A/B/F */
.swm_grades { display:flex; gap:12px; }
.swm_grade { flex:1; }
.swm_grade_bar { display:flex; align-items:center; gap:14px; padding:8px 30px 8px 8px; border-radius:200px; color:#fff; font-size:18px; font-weight:600; letter-spacing:-0.01em; }
.swm_grade_bar b { flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:800; }
.swm_grade.a .swm_grade_bar { background:#2773C9; } .swm_grade.b .swm_grade_bar { background:#4656AA; } .swm_grade.f .swm_grade_bar { background:#AB3529; }
.swm_grade.a .swm_grade_bar b { color:#2773C9; } .swm_grade.b .swm_grade_bar b { color:#4656AA; } .swm_grade.f .swm_grade_bar b { color:#AB3529; }
.swm_grade p { margin-top:13px; padding:0 10px; font-size:15px; line-height:1.4; color:#333; word-break:keep-all; text-align:center; }

/* 헤더 카드 행(운영체계·활용단계 등) */
.swm_hcards { display:flex; gap:10px; }
.swm_hcards > div { flex:1; display:flex; flex-direction:column; border:2px solid #3F74BB; border-radius:10px; overflow:hidden; background:#fff; }
.swm_hcards .hd { padding:14px 10px; text-align:center; font-size:18px; font-weight:600; color:#fff; background:#3F74BB; word-break:keep-all; letter-spacing:-0.02em; }
.swm_hcards .bd { flex:1; padding:15px 12px; font-size:16px; line-height:1.4; color:#333; text-align:center; word-break:keep-all; letter-spacing:-0.03em; }
.swm_hcards > div.nv { border-color:#002D5E; } .swm_hcards > div.nv .hd { background:#002D5E; }
.swm_hcards > div.or { border-color:#EA8612; } .swm_hcards > div.or .hd { background:#EA8612; }
.swm_hcards.navy .hd { background:#0b3c72; }
.swm_hcards .bd ul { margin:0; }
.swm_hcards .bd li { list-style:none; padding-left:12px; text-indent:-12px; font-size:14px; line-height:1.75; color:#444; word-break:keep-all; }
.swm_hcards .bd li::before { content:"· "; color:#3F74BB; font-weight:700; }
/* 목록형 본문(학·석사 연계과정 등) */
.swm_hcards.lst { margin-top:28px; }
.swm_hcards.lst .bd { text-align:left; padding:15px 20px; }
.swm_hcards.lst .bd li { font-size:16px; line-height:1.85; color:#333; padding-left:15px; text-indent:-15px; letter-spacing:-0.02em; }
.swm_hcards.lst .bd li::before { content:"- "; color:#333; font-weight:400; }
/* chevron 2줄(제목+부제) — 학·석사 연계과정 등 */
.swm_flow3 .chev b { display:block; font-size:17px; line-height:1.25; }
.swm_flow3 .chev i { display:block; font-style:normal; font-weight:600; font-size:14px; margin-top:3px; opacity:.96; }
.swm_flow3 .chev.c4 { background:#26386f; }

/* ---------- 학·석사 연계과정: 그라디언트 화살표 바 (피그마 98-5667) ---------- */
.swm_lnk { position:relative; z-index:0; display:flex; gap:0; margin-top:20px; }
.swm_lnk .bar { position:relative; flex:1; min-width:0; margin-left:-20px; padding:15px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fff; text-align:center; word-break:keep-all; clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%); }
.swm_lnk .bar:first-child { margin-left:0; clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%); }
.swm_lnk .bar:nth-child(1){z-index:5} .swm_lnk .bar:nth-child(2){z-index:4} .swm_lnk .bar:nth-child(3){z-index:3} .swm_lnk .bar:nth-child(4){z-index:2}
.swm_lnk .bar b { font-size:19px; font-weight:800; line-height:1.35; letter-spacing:-0.02em; }
.swm_lnk .bar i { font-size:16px; font-weight:700; font-style:normal; line-height:1.35; letter-spacing:-0.02em; }
.swm_lnk .bar.y1 { background:linear-gradient(90deg,#6bc6d7,#1d92a8 56%); }
.swm_lnk .bar.y2 { background:linear-gradient(90deg,#aacdf5,#2773c9 55%); }
.swm_lnk .bar.y3 { background:linear-gradient(90deg,#b3bef8,#4656aa 54%); }
.swm_lnk .bar.y4 { background:linear-gradient(90deg,#90adca,#083c72 53%); }

/* 학년별 교육과정(pbl) / 오픈소스 교육과정(oss): 그라디언트 바 + 카드 */
.swm_year { display:flex; gap:12px; }
.swm_year.sw2 { gap:16px; }
.swm_year .col { flex:1; min-width:0; display:flex; flex-direction:column; align-items:stretch; }
.swm_year .yr { position:relative; margin-left:-30px; padding:16px 10px; text-align:center; color:#fff; font-size:20px; font-weight:700; line-height:1.35; letter-spacing:-0.02em; word-break:keep-all; clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%); }
.swm_year .col:first-child .yr { margin-left:0; clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%); }
.swm_year .col:nth-child(1) .yr { z-index:5; } .swm_year .col:nth-child(2) .yr { z-index:4; }
.swm_year .col:nth-child(3) .yr { z-index:3; } .swm_year .col:nth-child(4) .yr { z-index:2; }
.swm_year.sw2 .yr { margin-left:-36px; clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%); }
.swm_year.sw2 .col:first-child .yr { margin-left:0; clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%); }
.swm_year .yr.y1{background:linear-gradient(90deg,#6bc6d7,#1d92a8 64%)}
.swm_year .yr.y2{background:linear-gradient(90deg,#aacdf5,#2773c9 63%)}
.swm_year .yr.y3{background:linear-gradient(90deg,#b3bef8,#4656aa 61%)}
.swm_year .yr.y4{background:linear-gradient(90deg,#90adca,#083c72 61%)}
.swm_year .cd { position:relative; margin-top:24px; flex:1; border:2px solid #adadad; border-radius:10px; padding:16px 14px; text-align:center; }
.swm_year .cd::before { content:""; position:absolute; left:50%; top:-22px; width:2px; height:18px; background:repeating-linear-gradient(to bottom,#adadad 0 3px,transparent 3px 6px); }
.swm_year .cd.hl { border:2px solid #083C72; }
.swm_year .cd h5 { font-size:18px; font-weight:700; color:#333; margin-bottom:9px; line-height:1.35; word-break:keep-all; }
.swm_year .cd.hl h5 { color:#083C72; }
.swm_year .cd p { font-size:16px; color:#666; line-height:1.5; word-break:keep-all; letter-spacing:-0.03em; }

@media screen and (max-width:768px) {
	.swm_ig_row, .swm_ig_row.top { flex-direction:column; align-items:stretch; gap:8px; }
	.swm_ig_label { flex:none; white-space:normal; text-align:left; padding:0; }
	.swm_ig_row.top .swm_ig_label { padding-top:0; }
	.swm_ig_label::after { display:none; }
	.swm_grades { flex-direction:column; gap:16px; }
	.swm_grade p { margin-top:8px; }
	.swm_hcards { flex-wrap:wrap; } .swm_hcards > div { flex:1 1 100%; }
	.swm_pills span { flex:1 1 calc(50% - 6px); }
	.swm_year, .swm_year.sw2 { flex-direction:column; gap:0; }
	.swm_year .yr, .swm_year .col:first-child .yr, .swm_year.sw2 .yr, .swm_year.sw2 .col:first-child .yr { margin-left:0 !important; clip-path:none !important; border-radius:8px; }
	.swm_year .cd { margin-top:20px; margin-bottom:14px; }
	.swm_year .col:last-child .cd { margin-bottom:0; }
	.swm_lnk { flex-direction:column; gap:8px; }
	.swm_lnk .bar, .swm_lnk .bar:first-child { margin-left:0; clip-path:none; border-radius:8px; padding:14px 12px; }
}

/* =========================================================
   이미지 → HTML 재현 (반응형 인포그래픽)  2026-09
   ========================================================= */

/* 표 가로 넘침 방지(모바일 스크롤) */
.section_tbl { overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ---------- 반응형 표: 모바일에서 행→카드(라벨 자동) ---------- */
@media screen and (max-width:768px) {
	.swm_rtbl { overflow:visible; }
	.swm_rtbl table, .swm_rtbl thead, .swm_rtbl tbody, .swm_rtbl tr, .swm_rtbl th, .swm_rtbl td { display:block; width:auto !important; }
	.swm_rtbl th, .swm_rtbl td, .swm_rtbl .tbl_ul li, .swm_rtbl .tbl_ul { white-space:normal !important; word-break:keep-all; overflow-wrap:anywhere; }
	.swm_rtbl colgroup, .swm_rtbl col { display:none; }
	.swm_rtbl thead { display:none; }
	.swm_rtbl tbody tr { margin-bottom:14px; border:0; border-radius:10px; overflow:hidden; box-shadow:0 0 0 1px #cfdbea; background:#fff; }
	.swm_rtbl tbody th, .swm_rtbl tbody td { border:0 !important; }
	.swm_rtbl tbody th { text-align:center; padding:12px 14px; font-size:16px; font-weight:700; background:#083C72; color:#fff; }
	.swm_rtbl tbody th.swm_new { background:#2773C9; color:#fff; }
	.swm_rtbl tbody td { padding:13px 16px; border-top:1px solid #eef2f7 !important; font-size:15px; line-height:1.6; text-align:left; }
	.swm_rtbl tbody td::before { display:block; margin-bottom:5px; font-size:13px; font-weight:700; color:#2773C9; letter-spacing:-0.02em; }
	.swm_rtbl.t1 tbody td:nth-of-type(1)::before { content:"학과"; }
	.swm_rtbl.t1 tbody td:nth-of-type(2)::before { content:"양성 인재"; }
	.swm_rtbl.t2 tbody td:nth-of-type(1)::before { display:none; }
	.swm_rtbl .tbl_ul, .swm_rtbl .tbl_ul li { margin:0; }
}

/* ---------- 학사제도 개편: 막대그래프 ---------- */
.swm_bars { display:flex; gap:20px; margin-top:20px; }
.swm_bars .grp { flex:1; background:#fff; border:1px solid #e5ebf3; border-radius:12px; padding:46px 20px 16px; }
.swm_bars .chart { display:flex; align-items:flex-end; justify-content:center; gap:36px; height:200px; border-bottom:2px solid #ABABAB; margin-bottom:34px; }
.swm_bars .bar { position:relative; width:78px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; }
.swm_bars .bar i { display:block; width:100%; height:var(--h,100%); border-radius:10px 10px 0 0; background:#ABABAB; }
/* 0 → 목표높이 성장 애니메이션 */
.swm_bars.reveal .bar i { height:0; transition:height 1.15s cubic-bezier(.2,.7,.25,1); }
.swm_bars.reveal.in .bar i { height:var(--h); }
.swm_bars .bar .val { margin-bottom:8px; font-size:20px; font-weight:700; color:#333; white-space:nowrap; }
.swm_bars .bar .xl { position:absolute; bottom:-30px; font-size:18px; color:#333; }
.swm_bars .bar.new i { background:#2773C9; }
.swm_bars .bar.new .val { margin-bottom:12px; font-size:30px; color:#2773C9; }
.swm_bars .grp.teal .bar.new i { background:#1D92A8; }
.swm_bars .grp.teal .bar.new .val { color:#1D92A8; }
.swm_bars .cap { margin-top:6px; text-align:center; font-size:22px; font-weight:700; color:#2773C9; }
.swm_bars .grp.teal .cap { color:#1D92A8; }

/* ---------- 공통: 각 다이어그램 흰색 패널 + 서브타이틀 ---------- */
.swm_pnl { background:#fff; border-radius:12px; padding:30px 24px; margin-top:20px; }
.section_box > .setction_tit.swm_sub h3 { font-size:22px; }

/* ---------- SW전공 교육과정 4단계: 계단 (피그마 100-5909) ---------- */
.swm_stairs { display:flex; align-items:flex-end; gap:0; }
.swm_stairs .stair { position:relative; flex:1 1 0; display:flex; flex-direction:column; --c:#2672C8; }
.swm_stairs .stair.s1 { --c:#1C91A7; z-index:4; } .swm_stairs .stair.s2 { --c:#2672C8; z-index:3; }
.swm_stairs .stair.s3 { --c:#4656AA; z-index:2; } .swm_stairs .stair.s4 { --c:#083C72; z-index:1; }
.swm_stairs .stnum { text-align:center; font-size:22px; font-weight:700; letter-spacing:-0.02em; color:var(--c); margin-bottom:8px; }
.swm_stairs .stbox { position:relative; flex:1; margin-right:-3px; display:flex; flex-direction:column; align-items:center; gap:13px; padding:28px 12px 20px; background:#E6EEF6; border-top:3px solid var(--c); border-left:3px solid var(--c); border-radius:10px 0 0 0; text-align:center; }
.swm_stairs .stair.s1 .stbox { min-height:168px; }
.swm_stairs .stair.s2 .stbox { min-height:204px; }
.swm_stairs .stair.s3 .stbox { min-height:243px; }
.swm_stairs .stair.s4 .stbox { min-height:278px; margin-right:0; border-right:3px solid var(--c); border-radius:10px 10px 0 0; }
.swm_stairs .stbox h4 { margin:0; font-size:20px; font-weight:600; color:var(--c); word-break:keep-all; letter-spacing:-0.02em; }
.swm_stairs .stbox p { margin:0; font-size:16px; font-weight:400; color:#000; line-height:1.4; word-break:keep-all; letter-spacing:-0.02em; }

/* ---------- 진로트랙 흐름: 그라디언트 화살표 3블록 (피그마 79-3537) ---------- */
.swm_flow3 { display:flex; margin-top:4px; }
.swm_flow3 .cell { position:relative; flex:1 1 0; text-align:center; margin-right:-26px; }
.swm_flow3 .cell:last-child { margin-right:0; }
.swm_flow3 .cell:nth-child(1){ z-index:3; } .swm_flow3 .cell:nth-child(2){ z-index:2; } .swm_flow3 .cell:nth-child(3){ z-index:1; }
.swm_flow3 .chev { display:flex; align-items:center; justify-content:center; min-height:64px; padding:12px 30px 12px 16px; color:#fff; font-size:20px; font-weight:700; letter-spacing:-0.02em; clip-path:polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%, 26px 50%); }
.swm_flow3 .cell:first-child .chev { clip-path:polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%); }
.swm_flow3 .chev.c1 { background:linear-gradient(90deg,#6bc6d7,#1d92a8 64%); }
.swm_flow3 .chev.c2 { background:linear-gradient(90deg,#aacdf5,#2773c9 63%); }
.swm_flow3 .chev.c3 { background:linear-gradient(90deg,#b3bef8,#4656aa 61%); }
.swm_flow3 .cap { margin-top:16px; padding:0 8px; font-size:16px; font-weight:500; color:#333; line-height:1.4; word-break:keep-all; letter-spacing:-0.02em; }

/* ---------- 진로트랙 단계: 원형 노드 + 배경 밴드 (피그마 85-3829) ---------- */
.swm_circ { position:relative; display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:4px; padding:0 6px; }
.swm_circ::before { content:""; position:absolute; left:78px; right:78px; top:50%; height:62px; transform:translateY(-50%); background:linear-gradient(90deg,#E8F3FF,#DDE2FF); border-radius:4px; z-index:0; }
.swm_circ .node { position:relative; z-index:2; flex:0 0 auto; width:150px; height:150px; border-radius:50%; border:3px solid #2773C9; background:#F5F6FA; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:14px 6px; box-sizing:border-box; }
.swm_circ .node.i4 { border-color:#4656AA; }
.swm_circ .node b { font-size:20px; font-weight:700; letter-spacing:-0.02em; color:#2773C9; }
.swm_circ .node.i4 b { color:#4656AA; }
.swm_circ .node span { font-size:16px; font-weight:500; color:#333; line-height:1.35; word-break:keep-all; }
.swm_circ .conn { position:relative; z-index:1; flex:0 0 auto; font-size:16px; font-weight:600; color:#333; text-align:center; line-height:1.3; word-break:keep-all; }

/* ---------- 교육 프로세스: 노드 흐름 (피그마 89-4367) ---------- */
.swm_proc { display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:5px; margin-top:4px; }
.swm_proc .ppl { flex:0 0 auto; align-self:center; }
.swm_proc .ppl img { display:block; height:66px; width:auto; }
.swm_proc .arr { flex:0 0 auto; width:23px; height:16px; background:#424242; clip-path:polygon(0 28%, 56% 28%, 56% 0, 100% 50%, 56% 100%, 56% 72%, 0 72%); font-size:0; }
.swm_proc .pnode { flex:0 1 138px; width:138px; aspect-ratio:1; align-self:center; border-radius:50%; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:10px; box-sizing:border-box; }
.swm_proc .pnode b { font-size:20px; font-weight:700; letter-spacing:-0.03em; }
.swm_proc .pnode span { font-size:16px; font-weight:500; line-height:1.3; word-break:keep-all; letter-spacing:-0.03em; }
.swm_proc .pnode.p1 { background:#1D92A8; }
.swm_proc .pnode.p2, .swm_proc .pnode.p3, .swm_proc .pnode.p4 { background:#2773C9; }
.swm_proc .pnode.p5 { background:#083C72; }

@media screen and (max-width:900px) {
	.swm_bars { flex-direction:column; gap:14px; }
	.swm_pnl { padding:22px 16px; }
	.swm_stairs { flex-direction:column; align-items:stretch; gap:10px; }
	.swm_stairs .stair { flex-direction:row; align-items:stretch; gap:0; }
	.swm_stairs .stnum { flex:0 0 74px; display:flex; align-items:center; justify-content:center; margin:0; font-size:18px; border:2px solid var(--c); border-right:0; border-radius:10px 0 0 10px; background:#fff; }
	.swm_stairs .stbox, .swm_stairs .stair.s1 .stbox, .swm_stairs .stair.s4 .stbox { min-height:0 !important; margin-right:0; align-items:flex-start; text-align:left; border-width:2px; border-right:2px solid var(--c); border-bottom:2px solid var(--c); border-radius:0 10px 10px 0; padding:16px 18px; }
	.swm_flow3 { flex-direction:column; align-items:stretch; }
	.swm_flow3 .cell { margin:0 0 10px; }
	.swm_flow3 .cell:last-child { margin-bottom:0; }
	.swm_flow3 .chev, .swm_flow3 .cell:first-child .chev, .swm_flow3 .cell:last-child .chev { clip-path:none; border-radius:10px; padding:14px 14px; min-height:0; }
	.swm_flow3 .cell:not(:last-child)::after { content:""; display:block; width:0; height:0; margin:6px auto 0; border-left:9px solid transparent; border-right:9px solid transparent; border-top:10px solid #9fb0c8; }
	.swm_flow3 .cap { margin-top:8px; }
	.swm_circ { flex-direction:column; flex-wrap:nowrap; align-items:center; gap:0; padding:0; }
	.swm_circ::before { display:none; }
	.swm_circ .node { position:relative; z-index:1; width:132px; height:132px; }
	.swm_circ .conn { position:relative; z-index:0; width:70px; margin:-20px 0; padding:26px 5px; background:#E4EBFA; border-radius:8px; font-size:13.5px; line-height:1.3; }
	.swm_cproc .node { width:144px; height:144px; }
	.swm_circ_arr { width:20px; height:24px; margin:3px 0; clip-path:polygon(28% 0, 28% 56%, 0 56%, 50% 100%, 100% 56%, 72% 56%, 72% 0); }
	.swm_proc { flex-direction:column; gap:12px; }
	.swm_proc .ppl { align-self:center; }
	.swm_proc .ppl img { height:56px; }
	.swm_proc .pnode { flex:0 0 auto; width:132px; height:132px; aspect-ratio:auto; }
	.swm_proc .arr { width:18px; height:22px; margin:1px 0; clip-path:polygon(28% 0, 28% 56%, 0 56%, 50% 100%, 100% 56%, 72% 56%, 72% 0); }
}
@media screen and (max-width:480px) {
	.swm_circ .node { width:130px; height:130px; }
	.swm_proc .pnode { width:122px; height:122px; }
	.swm_proc .ppl img { height:50px; }
}

.pdf-viewer-popup-btn{
    display:flex;
    font-size:0.85rem;
    padding:0.5em 1.5em;
    border:1px solid #dedede;
    border-radius:4px;
    background-color:#fff;
}
.pdf-viewer-popup-btn:hover{
    background-color:#1748a4;
    border-color:#1748a4;
    color:#fff;
}

.cnt-box-gridbox{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.25rem;
}
.cnt-grid-item {
    padding:0.4em 1.25em;
    border:2px solid #083C72;
    border-radius:0.85em;
}
.cnt-grid-item .cnt-grid-item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:0.65em;
}

.cnt-grid-item .cnt-grid-item-head h4{
    font-size:1.25rem;
    font-weight:700;
    letter-spacing:-0.035em;
    color:#083C72;
    padding:0.35em 0;
}

.cnt-grid-item ul{
    
}
.cnt-grid-item ul > li{
    display:flex;
    align-items:flex-start;
    margin-bottom:0.35em;
    font-size:1.025rem;
}
.cnt-grid-item ul > li > strong{
    display:flex;
    flex:0 0 auto;
    width:80px;
    color:#083C72;
    letter-spacing:1em;
}
.cnt-grid-item ul > li p{
    font-size:1.025rem;
}

.hot{ color:#1e5ed5;}

@media(max-width:700px){
     .cnt-box-gridbox{
        display:grid;
        grid-template-columns:repeat(1,1fr);
        gap:1.25rem;
    }   
}

/* 05.php 인턴십 카드 — 헤더는 4-STAR 진로트랙(swm_star), 본문은 icf 운영전략 카드(icf_kv_body) 스타일 */
.swm_star.swm_intern { margin-top:0; }
.swm_star.swm_intern .swm_star_body { padding:18px 24px; }
.swm_star.swm_intern .swm_star_body p { position:relative; padding-left:58px; margin-bottom:12px; font-size:16px; font-weight:400; line-height:1.55; letter-spacing:-0.02em; color:#333; word-break:keep-all; }
.swm_star.swm_intern .swm_star_body p:last-child { margin-bottom:0; }
.swm_star.swm_intern .swm_star_body p span { position:absolute; left:0; top:1px; padding:2px 8px; font-size:15px; font-weight:500; line-height:1.4; color:#fff; background:#083C72; border-radius:4px; }
.swm_star.swm_intern > div.g .swm_star_body p span { background:#2773C9; }

/* =========================================================
   01.php 전공교육 강화를 위한 학사제도 개편 — 4카드
   색상: #083C72 / #2773C9 / #4656AA / #1D92A8 (4-STAR 진로트랙 카드와 동일 순서)
   ========================================================= */
.swm_edu_lead { margin-bottom:10px; font-size:18px; font-weight:500; line-height:1.55; letter-spacing:-0.03em; color:#333; word-break:keep-all; }
.swm_edu { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.swm_edu > li { --c:#083C72; display:flex; flex-direction:column; background:var(--c); border:2px solid var(--c); border-radius:10px; overflow:hidden; }
.swm_edu > li.k2 { --c:#2773C9; }
.swm_edu > li.k3 { --c:#4656AA; }
.swm_edu > li.k4 { --c:#1D92A8; }
.swm_edu_head { display:flex; align-items:center; justify-content:center; gap:12px; padding:14px 16px; }
.swm_edu_ic { display:flex; flex:0 0 auto; color:#fff; }
.swm_edu_ic svg { width:34px; height:34px; display:block; }
.swm_edu_tit { margin:0; font-size:20px; font-weight:800; line-height:1.3; letter-spacing:-0.03em; color:#fff; white-space:nowrap; }
.swm_edu_txt { flex:1; display:flex; align-items:center; justify-content:center; margin:0; padding:16px 14px; text-align:center; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:-0.03em; color:#333; word-break:keep-all; background:#fff; }
@media screen and (max-width:992px){
	.swm_edu { grid-template-columns:repeat(2,1fr); }
}
@media screen and (max-width:768px){
	.swm_edu_lead { font-size:16px; }
	.swm_edu { gap:10px; }
	.swm_edu_head { padding:12px; gap:10px; }
	.swm_edu_ic svg { width:28px; height:28px; }
	.swm_edu_tit { font-size:18px; }
	.swm_edu_txt { padding:14px 12px; font-size:15px; }
	.swm_edu_txt br { display:none; }
}
@media screen and (max-width:480px){
	.swm_edu { grid-template-columns:1fr; }
}
