/* 서브페이지 상단 비주얼 영역을 위로 더 넓혀 fixed 헤더와 자연스럽게 겹치게 함.
   메인페이지에는 #sub_visual이 없으므로 자동으로 영향 없음. */
#sub_visual {
	padding-top: 160px;
}
@media (max-width: 1240px) {
	#sub_visual {
		padding-top: 68px;
	}
}

/* ---------- 헤더 (PC) ---------- */
/* layout.css의 #header { position:relative; background:#fff; border-bottom; } 를 이기기 위해 #header.header-renewal 로 specificity 강화 */
#header.header-renewal {
	position: fixed;
	width: 100%;
	z-index: 9999;
	background: transparent;
	border-bottom: 0 none;
	box-shadow: none;
	transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
}
#header.header-renewal.scrolled {
}
/* main_renewal.css의 .n_m2d_inwrap (max-width:1700px; margin:0 auto) 보다 우선하도록 specificity 강화.
   서브페이지에는 .n_m2d_inwrap 스타일이 없으므로 max-width를 헤더 자체에 부여한다 */
#header.header-renewal .header-renewal-wrap{
	display: flex;
	width: 100%;
	max-width: 1700px;
	margin: 3vh auto 0;
	justify-content: space-between;
	align-items: flex-start;
}

.header-renewal-logo {
	position: relative;
	top: 16px;
	display: flex;
	gap: 8px;
}

.header-renewal-logo img {
	height: 42px;
	width: auto;
	display: block;
	max-width: none;
}
/* 스크롤 전: 기본 로고만 표시 / 스크롤 후: 어두운 로고로 교체 */
.header-renewal-logo .logo-scrolled { display: none; }
#header.header-renewal.scrolled .header-renewal-logo .logo-default  { display: none; }
#header.header-renewal.scrolled .header-renewal-logo .logo-scrolled { display: block; }

/* 중앙 메뉴 — 너비 960px, 5개 메뉴 균등 분할 */
.header-pill {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin-left: 2vw;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 40px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.10);
	padding: 4px 0;
	transition: border-radius 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
.header-pill:hover {
	border-radius: 30px;
	box-shadow: 0 6px 28px rgba(0,0,0,0.14);
}

.header-pill-menu {
	display: flex;
}
.header-pill-menu .pill-item {
	flex: 1 1 0;
	text-align: center;
}
.header-pill-menu .pill-link {
	display: block;
	font-weight: 500;
	color: #222;
	line-height: 56px;
	letter-spacing: -0.5px;
	transition: color 0.2s ease;
}
.header-pill-menu .pill-item:hover .pill-link,
.header-pill-menu .pill-item.active .pill-link {
	color: #033896;
}

/* 호버 시 안쪽으로 펼쳐지는 메가메뉴 — 높이는 콘텐츠에 맞춰 자동 조절 */
.pill-mega {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.35s ease, opacity 0.25s ease;
	padding: 0 14px;
}
.header-pill:hover .pill-mega {
	grid-template-rows: 1fr;
	opacity: 1;
	/* 위/아래 동일한 여백 — 닫혔을 때 leak 없음 */
	padding: 18px 0;
}
.pill-mega-inner {
	display: flex;
	overflow: hidden;
	min-height: 0;
}
.pill-mega-col {
	flex: 1;
	text-align: center;
}
.pill-mega-col > .pill-mega-list > li > a {
	display: block;
	padding: 7px 0;
	font-size: 17px;
	color: #444;
	font-weight: 500;
	transition: color 0.15s ease;
}
.pill-mega-col > .pill-mega-list > li > a:hover {
	color: #033896;
}
.pill-mega-col.active > .pill-mega-list > li > a {
	color: #111;
}

/* 2뎁스 서브메뉴 */
.pill-mega-sub li {
	padding: 6px 0;
}
.pill-mega-sub li a {
	font-size: 16px;
	color: #555;
	line-height: 1.4;
	text-align: center;
	transition: color 0.15s ease;
}
.pill-mega-sub li a:hover {
	color: #033896;
}

/* 우측 유틸 — 기존 .utility-area 의 폰트/모양 그대로 사용 */
#header.header-renewal .utility-area {
	position: relative;
	top: 32px;
	right: 0;
}
/* 글씨 색만 화이트 (영상 위 가독성) */
#header.header-renewal .utility-area,
#header.header-renewal .utility-area li,
#header.header-renewal .utility-area a,
#header.header-renewal .utility-area .lang-combobox .langElem button {
	color: #fff;
	font-weight: 400;
}
#header.header-renewal .utility-area .lang-combobox .langElem button {
	padding: 0 26px 0 14px;
	border-radius: 999px;
	transition: background-color 0.2s ease, color 0.2s ease;
}
#header.header-renewal .utility-area .lang-combobox .langElem button::after {
	right: 10px;
	border-top-color: #fff;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
#header.header-renewal .utility-area .lang-combobox .langElem.on button::after {
	border-bottom-color: #033896;
}

/* 활성(드롭다운 열림) 상태: 토글 버튼을 화이트 */
#header.header-renewal .utility-area .lang-combobox .langElem.on button {
	background-color: #fff;
	color: #033896;
	font-weight: 500;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* 드롭다운 패널 — 둥근 모서리·부드러운 그림자 */
#header.header-renewal .utility-area .lang-combobox .langElemItem {
	margin-top: 4px;
	padding: 4px;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}
#header.header-renewal .utility-area .lang-combobox .langElemItem a {
	border-radius: 8px;
	color: #444;
	font-weight: 500;
	transition: background-color 0.15s ease, color 0.15s ease;
}
#header.header-renewal .utility-area .lang-combobox .langElemItem a.on {
	background-color: #033896;
	color: #fff;
}
#header.header-renewal .utility-area .lang-combobox .langElemItem a:hover,
#header.header-renewal .utility-area .lang-combobox .langElemItem a:focus {
	background-color: #f0f4ff;
	color: #033896;
}
#header.header-renewal .utility-area .lang-combobox .langElemItem a.on:hover,
#header.header-renewal .utility-area .lang-combobox .langElemItem a.on:focus {
	background-color: #033896;
	color: #fff;
}

/* 스크롤 시 글씨색을 원래대로 복구 */
#header.header-renewal.scrolled .utility-area,
#header.header-renewal.scrolled .utility-area li,
#header.header-renewal.scrolled .utility-area a,
#header.header-renewal.scrolled .utility-area .lang-combobox .langElem button {
	color: #151111;
}
#header.header-renewal.scrolled .utility-area .lang-combobox .langElem button::after {
	border-top-color: #888;
}
#header.header-renewal.scrolled .utility-area .lang-combobox .langElem.on button::after {
	border-bottom-color: #033896;
}
#header.header-renewal.scrolled .utility-area .lang-combobox .langElem.on button {
	color: #033896;
	box-shadow: none;
}

/* ---------- 모바일 대응 ---------- */
@media (max-width: 1440px) {
	.header-renewal-wrap{
		padding: 0 40px;
		gap: 80px;
	}
	.header-pill-menu .pill-link,
	.pill-mega-col > .pill-mega-list > li > a {
		font-size: 16px;
	}
	.pill-mega-sub li a {
		font-size: 15px;
	}

}
@media (max-width: 1240px) {
	.header-pill{
		padding: 4px 20px;
	}
	.pill-mega-col > .pill-mega-list > li > a,
	.header-pill-menu .pill-link  {
		font-size: 15px;
	}
	.pill-mega-sub li a{
		font-size: 14px;
	}
}

@media (max-width: 1240px) {
	.header-renewal {
		padding: 0;
	}
	#header.header-renewal .header-renewal-wrap {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	#header.header-renewal .header-renewal-logo,
	#header.header-renewal .header-pill,
	#header.header-renewal .header-renewal-utility {
		display: none;
	}
	#header.header-renewal #kr_mobile_header {
		display: block;
	}

	/* 스크롤 전(영상 위): 헤더 배경 투명 + 모바일 헤더 글씨/아이콘 흰색 */
	#header.header-renewal #kr_mobile_header .header_top {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 68px;
		background: transparent;
	}
	#header.header-renewal #kr_mobile_header .btn_menu {
		top: 50%;
		transform: translateY(-50%);
	}
	#header.header-renewal #kr_mobile_header .btn_menu,
	#header.header-renewal #kr_mobile_header .top_util a img {
		filter: brightness(0) invert(1);
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElem button {
		color: #fff;
		font-weight: 500;
		padding: 0 26px 0 14px;
		border-radius: 999px;
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElem button::after {
		right: 10px;
		border-top-color: #fff;
		transition: border-color 0.2s ease, transform 0.2s ease;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElem.on button::after {
		border-bottom-color: #033896;
	}
	/* 활성(드롭다운 열림) 상태: 토글 버튼을 화이트 알약 형태로 */
	#header.header-renewal #kr_mobile_header .lang-combobox .langElem.on button {
		background-color: #fff;
		color: #033896;
		font-weight: 500;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	}
	/* 드롭다운 패널 — 둥근 모서리·부드러운 그림자 */
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem {
		margin-top: 4px;
		padding: 4px;
		border-radius: 10px;
		background: #fff;
		overflow: hidden;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a {
		border-radius: 8px;
		color: #444;
		font-weight: 500;
		transition: background-color 0.15s ease, color 0.15s ease;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a.on {
		background-color: #033896;
		color: #fff;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a:hover,
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a:focus {
		background-color: #f0f4ff;
		color: #033896;
	}
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a.on:hover,
	#header.header-renewal #kr_mobile_header .lang-combobox .langElemItem a.on:focus {
		background-color: #033896;
		color: #fff;
	}

	/* 모바일 헤더 로고 — PC와 동일하게 default/scrolled 토글 (사이즈는 layout.css 기본값 유지) */
	#header.header-renewal #kr_mobile_header .m-logo-link .logo-scrolled { display: none; }
	#header.header-renewal.scrolled #kr_mobile_header .m-logo-link .logo-default  { display: none; }
	#header.header-renewal.scrolled #kr_mobile_header .m-logo-link .logo-scrolled { display: inline-block; }

	/* 스크롤 후: 기존 흰 배경 + 기본 색상 복구 */
	#header.header-renewal.scrolled {
		background: rgba(255,255,255,0.96);
		box-shadow: 0 2px 12px rgba(0,0,0,0.08);
	}
	#header.header-renewal.scrolled #kr_mobile_header .header_top {
		background: #fff;
	}
	#header.header-renewal.scrolled #kr_mobile_header .btn_menu,
	#header.header-renewal.scrolled #kr_mobile_header .top_util a img {
		filter: none;
	}
	#header.header-renewal.scrolled #kr_mobile_header .lang-combobox .langElem button {
		color: #151111;
	}
	#header.header-renewal.scrolled #kr_mobile_header .lang-combobox .langElem button::after {
		border-top-color: #888;
	}
	#header.header-renewal.scrolled #kr_mobile_header .lang-combobox .langElem.on button::after {
		border-bottom-color: #033896;
	}
	#header.header-renewal.scrolled #kr_mobile_header .lang-combobox .langElem.on button {
		color: #033896;
		box-shadow: none;
	}
}
