:root {
	--line-color: #1a3761;
	--bg-gray: #f4f6f8;
	--node-border: #b2b2b2;
	--team-gray: #e0e0e0;
}

.org-wrapper {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.node {
	background: #ffffff;
	padding: 8px 10px;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 55px;
	position: relative;
	z-index: 2;
}

.center-group {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 20px;
}

.ceo-node { width: 240px; padding: 15px; background: #1d3b5d; color: #fff; font-size: 17px; margin-bottom: 20px; }
.ceo-node::after { content: ''; position: absolute; top: 100%; left: 50%; width: 1px; height: 120px;background: #dbdbdb;}
.ceo-node::before { content: '';position: absolute; left: -13%; top: 170%; width: 152px; height: 1px; background: #dbdbdb;}

.board-row {	display: flex; width: 100%; justify-content: center; align-items: flex-end; gap: 20px; margin-bottom: 50px;}
.board-node { width: 240px; background: #1d3b5d; color: #fff; font-size: 17px;}

.board-node::after {content: ''; position: absolute; top: 100%; left: 50%; width: 1px; height: 130px; background: #dbdbdb;}

.side-area { flex: 1; display: flex; justify-content: center; }
.side-stack { position: relative; display: flex; flex-direction: column; gap: 15px; width: 220px; align-items: flex-end; margin-top: -160px;}
.side-stack::after { content: ''; position: absolute; left: 145%; top: 14%;	width: 1px; height: 71px; background: #dbdbdb;}
.side-stack .node {background: #222; color: #fff; width: 240px;}
.side-stack.org_eng .node {width: 300px;}
.side-stack .node::after { content: '';position: absolute; left: 100%; top: 50%;	width: 100px; height: 1px; background: #dbdbdb;}
.side-stack .node:last-child::after { content: '';position: absolute; left: 100%; top: 50%;	width: 200px; height: 1px; background: #dbdbdb;}

.committee-box { width: 240px; padding: 15px 15px 15px 25px; background: #222; color: #fff; position: relative; }
.committee-box.org_eng { width: 350px;  }
.committee-box::before { content: ''; position: absolute; right: 100%; top: 82%;	width: 200px; height: 1px; background: #dbdbdb;}
.committee-box ul li { list-style: none; text-align: left; line-height: 1.8; color: #fff;}
.bottom-section { display: flex; justify-content: center;	align-items: flex-start;	gap: 30px; width: 100%; position: relative;padding-top: 80px; }

/* 메인 가로선 (IB 제외 나머지 본부 연결용) */
.bottom-section::before {
	content: '';
	position: absolute;
	top: 60px;
	left: 10.9%; right: 50%; /* IB 이전까지만 연결 */
	height: 1px; width:488px;
	background: #dbdbdb;
}

.dept-column {display: flex;flex-direction: column;flex: 0.9;min-width: 170px;position: relative;}
.dept-column:nth-child(3), .dept-column:nth-child(4) { flex:0.3; min-width: 100px;}
.dept-column:nth-child(5) { flex:1.2; }
.dept-column:nth-child(3) .dept-header, .dept-column:nth-child(5) .dept-header {background:none; color:none; text-indent:-100000px;}

.dept-header { background: #555; color:#fff; margin-bottom: 20px; min-height: 60px; }
.dept-header::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 20px;background: #dbdbdb;}
.dept-column:nth-child(5) .dept-header::before { left: 50%; width: 1px; height: 140px; bottom: 32%;}

.ib-column {	margin-top: -70px; }

.ib-column .dept-header::before {content: '';position: absolute;bottom: 50%; left: -114px; width: 114px;	height: 1px;	background: #dbdbdb;}
.ib-stack { display: flex; flex-direction: column; gap: 10px; width: 100%; position: relative; }
.ib-stack::before {	content: '';	position: absolute; top: -20px; left: 50%;width: 1px; height: 20px; background: #dbdbdb;}

.team-row { position: relative;display: flex; gap: 10px; width: 100%; }
.dept-column:nth-child(3) .team-row::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 100px;background: #dbdbdb;}
.team-node { background: #c5c5c5; color: #333; font-weight: normal; flex: 1; min-height: 60px; }
.team-node::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 20px;background: #dbdbdb; z-index: -1;}
.dept-column:nth-child(5) .team-node::before { height: 40px;}
.dept-column:nth-child(4) .team-node::before { height: 16px;}

/* 지원 부서(오른쪽 끝) 선 연결 */
.support-column::before {	content: ''; position: absolute; top: 40px; left: 24.5%; width:51.5%; height: 1px; background: #dbdbdb;	z-index: 1;}
.support-column::after {	content: ''; position: absolute; top: -99px; left: -243px; width: 412px; height: 1px; background: #dbdbdb;	z-index: 1;}

/* 반응형 */
@media (max-width: 1200px) {
	.ceo-node, .board-node { width: 240px;}
	.board-row { justify-content: center; align-items: center; gap: 10px;  margin-bottom: 20px; flex-direction: column;}
	.side-stack { margin-top:0; gap:5px; align-items: center; }
	.side-stack.org_eng .node {width: 350px;}
	.team-node br { display:none; }
	.ib-column { margin-top: 0; }
	.bottom-section { flex-wrap: wrap; flex-direction: column; align-items: center; padding-top:20px;}
	.dept-column { width: 100%; max-width: 400px; margin-bottom: 20px; }
	.dept-column:nth-child(3) .team-node::before, .dept-column:nth-child(5) .team-node::before, .dept-column:nth-child(3) .team-row::before, .ceo-node::before, .ceo-node::after, .committee-box::before, .support-column::after, .support-column::before, .board-node::after, .side-stack .node::after, .side-stack::before, .side-stack::after, .bottom-section::before, .dept-header::before, .ib-column .dept-header::before { display: none; }
	.dept-column:nth-child(3) .dept-header, .dept-column:nth-child(5) .dept-header {display: none; }
}