@charset "utf-8";

/* 사이트 공통 헤더 (메인·서브 동일 적용) */
#siteHeader{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eef1f5;font-family:'Pretendard','Noto Sans KR',sans-serif}
/* 좌우 여백: 메인 시안 기준 화면 폭의 약 5.5% (1920px에서 약 106px). 좁은 화면에서는 24px까지 줄어든다 */
#siteHeader .hd_inner{display:flex;align-items:center;gap:32px;height:76px;padding:0 clamp(24px,5.5vw,106px);max-width:1920px;margin:0 auto}
/* 서브페이지는 bootstrap.min.css 의 a{text-decoration:underline} 이 나중에 로드된다.
   ID 선택자로 로드 순서와 무관하게 헤더 안 링크(GNB·드롭다운·전체메뉴)의 밑줄을 없앤다 */
#siteHeader a,#siteHeader a:hover,#siteHeader a:focus{text-decoration:none}
/* 공통 헤더 조각은 #siteHeader 를 <header class=""> 로 한 번 더 감싼다. 감싼 요소의 높이가 헤더와 같아서
   sticky 가 동작하지 않는다. 메인(#sh_wrapper)에서는 감싼 요소를 없는 것처럼 처리해 상단 고정을 유지한다 */
#sh_wrapper > header:has(> #siteHeader){display:contents}
#siteHeader .hd_logo{flex:none}
#siteHeader .hd_logo img{width:150px;height:auto;object-fit:contain;display:block}

/* GNB */
#siteHeader .hd_nav{display:flex;align-items:center;gap:34px;margin:0 auto}
#siteHeader .hd_nav_item{position:relative}
#siteHeader .hd_nav_link{display:inline-flex;align-items:center;gap:5px;height:76px;font-size:16px;font-weight:600;color:#0b1324;white-space:nowrap;transition:color .2s ease}
#siteHeader .hd_nav_item:hover .hd_nav_link,#siteHeader .hd_nav_item:focus-within .hd_nav_link{color:#123a63}
#siteHeader .hd_caret{flex:none;color:#8a94a6;transition:transform .2s ease}
#siteHeader .hd_nav_item:hover .hd_caret,#siteHeader .hd_nav_item:focus-within .hd_caret{transform:rotate(180deg)}
#siteHeader .hd_sub{display:none;position:absolute;top:100%;left:-24px;min-width:200px;padding:12px 0;background:#fff;border:1px solid #eef1f5;box-shadow:0 18px 40px rgba(3,9,20,.12)}
#siteHeader .hd_nav_item:hover .hd_sub,#siteHeader .hd_nav_item:focus-within .hd_sub{display:block}
#siteHeader .hd_sub a{display:block;padding:11px 24px;font-size:15px;color:#4a5568;white-space:nowrap;transition:background .2s ease,color .2s ease}
#siteHeader .hd_sub a:hover{background:#f4f7fb;color:#123a63}

/* 우측 아이콘 */
/* PC 에서는 메뉴(hd_nav)의 좌우 auto 여백만 남겨, 로고와 아이콘 사이 정중앙에 메뉴가 오게 한다.
   아이콘에도 margin-left:auto 를 주면 남는 공간이 3등분돼 메뉴가 왼쪽으로 치우친다 */
#siteHeader .hd_util{display:flex;align-items:center;gap:6px;flex:none;margin-left:0}
#siteHeader .hd_ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:none;color:#0b1324;cursor:pointer;transition:background .2s ease,color .2s ease}
#siteHeader .hd_ic:hover{background:#f1f4f9;color:#123a63}
#siteHeader .hd_badge{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#04264e;font-size:11px;font-weight:700;line-height:18px;color:#fff;text-align:center}
#siteHeader .hd_badge[hidden]{display:none}

/* 전체 메뉴 드로어 */
#siteHeader .hd_drawer{position:fixed;inset:0;z-index:1500;visibility:hidden;pointer-events:none}
#siteHeader .hd_drawer.is-open{visibility:visible;pointer-events:auto}
#siteHeader .hd_drawer_bg{position:absolute;inset:0;background:rgba(3,9,20,.5);opacity:0;transition:opacity .25s ease}
#siteHeader .hd_drawer.is-open .hd_drawer_bg{opacity:1}
#siteHeader .hd_drawer_panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(400px,88vw);height:100%;background:#fff;box-shadow:-20px 0 50px rgba(3,9,20,.18);transform:translateX(100%);transition:transform .28s ease}
#siteHeader .hd_drawer.is-open .hd_drawer_panel{transform:translateX(0)}
#siteHeader .hd_drawer_top{display:flex;align-items:center;justify-content:space-between;flex:none;padding:22px 24px;border-bottom:1px solid #eef1f5;font-size:16px;font-weight:700;color:#0b1324}
#siteHeader .hd_drawer_close{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:#0b1324;cursor:pointer}
#siteHeader .hd_drawer_close:hover{background:#f1f4f9}
#siteHeader .hd_drawer_body{flex:1;overflow-y:auto;padding:8px 24px 24px}
#siteHeader .hd_drawer_group{padding:20px 0;border-bottom:1px solid #f2f4f8}
#siteHeader .hd_drawer_group:last-child{border-bottom:0}
#siteHeader .hd_drawer_d1{display:block;margin-bottom:12px;font-size:16px;font-weight:700;color:#0b1324}
#siteHeader .hd_drawer_d2{display:flex;flex-wrap:wrap;gap:10px 20px}
#siteHeader .hd_drawer_d2 a{font-size:14px;color:#6c7488;transition:color .2s ease}
#siteHeader .hd_drawer_d2 a:hover{color:#123a63}
#siteHeader .hd_drawer_foot{display:flex;align-items:center;gap:10px;flex:none;padding:18px 24px;border-top:1px solid #eef1f5}
#siteHeader .hd_drawer_btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:13px 16px;border-radius:8px;background:#123a63;font-size:14px;font-weight:600;color:#fff;transition:background .2s ease}
#siteHeader .hd_drawer_btn:hover{background:#0d2c4d}
#siteHeader .hd_drawer_eng{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:13px 18px;border:1px solid #d9dfe8;border-radius:8px;font-size:14px;font-weight:600;color:#3d4756;transition:border-color .2s ease,color .2s ease}
#siteHeader .hd_drawer_eng:hover{border-color:#123a63;color:#123a63}
body.drawer-open{overflow:hidden}

@media(max-width:1280px){
#siteHeader .hd_inner{gap:20px}
#siteHeader .hd_nav{gap:22px}
#siteHeader .hd_nav_link{font-size:15px}
}
@media(max-width:991px){
#siteHeader .hd_inner{height:60px;padding:0 20px;gap:12px}
#siteHeader .hd_logo img{width:126px}
#siteHeader .hd_nav{display:none}
#siteHeader .hd_util{gap:2px;margin-left:auto}
#siteHeader .hd_ic{width:40px;height:40px}
}

/* 서브 레이아웃 보정 : 기존 오버레이 헤더(#sh_hd/#shGnb)용 여백을 되돌린다 */
@media(max-width:480px){
.content-wrapper{padding-top:0}
}

