@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css');
/* Header-scoped defaults keep legacy member and portal styles out of navigation. */
#sh_hd{--primary:#005fff;--k-font:'Pretendard';display:block;padding:0;margin:0;letter-spacing:normal;line-height:1.5}
#sh_hd *,#sh_hd *::before,#sh_hd *::after{box-sizing:border-box}
#sh_hd p,#sh_hd ul,#sh_hd li{margin:0;padding:0;list-style:none}
#sh_hd a{text-decoration:none}
#sh_hd .hd_gnb{display:block;padding:0;margin:0}
#topNavWrap{display:flex;align-items:center;justify-content:center;width:100%}
#topNav > li > a{position:relative}
#topNav > li > a::before{content:'';position:absolute;bottom:0;height:2px;transform:scaleX(0)}
#topNav > li > a:hover::before{transform:scaleX(1)}
#sh_hd .hd_start{display:inline-flex;align-items:center;justify-content:center;background:#005fff;color:#fff}
.hq-auth,.hanq-portal{padding-top:80px}
@media(max-width:1024px){.hq-auth,.hanq-portal{padding-top:64px}}
/* Header has no transformed ancestor: fixed mobile panels stay viewport-sized. */
#sh_hd{--hd-height:80px;position:fixed;inset:0 0 auto;z-index:1000;width:100%;font-family:var(--k-font),sans-serif;background:#fff;border-bottom:1px solid #e8edf5}
#sh_hd.sub{position:fixed}
#topNavWrap,#topmenuM{transform:none;opacity:1;visibility:visible}
#topNavWrap{height:80px;background:#fff;box-shadow:none}
#topNavWrap .inner{display:grid;grid-template-columns:160px minmax(0,1fr) 196px;align-items:center;gap:24px;width:100%;max-width:1344px;margin:auto;padding:0 32px;position:relative}
#top_logo{position:static;transform:none;line-height:1}
#top_logo a,#m_logo a{display:inline-flex;align-items:center;min-height:44px}
.hq-wordmark{font-family:Arial,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.1px;color:#1d2945;line-height:1}
#topNav{display:flex;justify-content:center;gap:8px}
#topNav > li{position:relative;transition:none}
#topNav > li > a,#topNavWrap.on #topNav > li > a{display:flex;align-items:center;height:80px;padding:0 18px;line-height:1;font-size:15px;font-weight:600;white-space:nowrap;color:#46516a;transition:color .15s}
#topNav > li > a::before{left:18px;right:18px;width:auto;background:var(--primary)}
#topNav > li.is-current > a{color:var(--primary)}
#topNav > li.is-current > a::before{transform:scaleX(1)}
#topNav > li > a:hover{color:var(--primary)}
.top_nav_bg{display:none!important}
#topNavWrap .hd_util{position:static;transform:none;display:flex;align-items:center;justify-content:flex-end;gap:12px}
#topNavWrap .hd_login{position:static;inset:auto;transform:none;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;font-size:14px;font-weight:600;color:#46516a;white-space:nowrap}
#sh_hd #topNavWrap .hd_util .btn--primary{position:static;transform:none;width:auto;min-width:106px;max-width:none;height:44px!important;padding:0 20px;border-radius:10px!important;font-size:14px!important;font-weight:600;box-shadow:none;white-space:nowrap}
#sh_hd a:focus-visible,#sh_hd button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:8px}
#topmenuM{display:none}
#navWrap{display:none}
html.hq-nav-open,html.hq-nav-open body{overflow:hidden}
html.hq-nav-open #toTop{visibility:hidden;pointer-events:none}
@media(min-width:1025px) and (max-width:1200px){
#topNavWrap .inner{grid-template-columns:110px minmax(0,1fr) 180px;gap:12px;padding:0 24px}
#topNav{gap:0}
#topNav > li > a,#topNavWrap.on #topNav > li > a{padding:0 12px;font-size:14px}
}
@media(max-width:1024px){
#sh_hd{--hd-height:64px}
#topNavWrap{display:none}
#topmenuM{display:flex;align-items:center;gap:12px;height:64px;padding:0 20px;line-height:1;background:#fff;box-shadow:none;position:static}
#topmenuM #m_logo{margin-right:auto}
#topmenuM .hq-wordmark{font-size:27px}
#topmenuM .m_start{position:static;transform:none;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:84px;padding:0 16px;border-radius:10px;background:var(--primary);color:#fff;font-size:14px;font-weight:600}
#m_navBtn{position:relative;inset:auto;transform:none;z-index:1030;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #e7ecf4;border-radius:10px;background:#fff;appearance:none;cursor:pointer}
#m_navBtn span{position:absolute;left:10px;top:50%;width:22px;height:2px;margin:0;transform:translateY(-50%)}
#m_navBtn span::before,#m_navBtn span::after{content:'';position:absolute;left:0;right:auto;width:22px;height:2px;background:#1d2945;transition:transform .15s,top .15s}
#m_navBtn span::before{top:-4px}
#m_navBtn span::after{top:4px}
#m_navBtn.on{position:fixed;top:10px;right:20px;transform:none}
#m_navBtn.on span::before{top:0;right:auto;transform:rotate(45deg)}
#m_navBtn.on span::after{top:0;right:auto;width:22px;transform:rotate(-45deg)}
#navWrap{position:fixed;inset:0;z-index:1020;width:100%;height:100vh;height:100dvh;background:rgba(15,23,42,.42)}
#navWrap.on{display:block}
#navWrap .inner,#navWrap.on .inner{position:absolute;inset:0 0 0 auto;display:flex;flex-direction:column;gap:0;width:min(420px,100%);min-width:0;height:100%;padding:0 24px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#fff;opacity:1;transform:none;transition:none}
#navWrap .inner::before,#navWrap .inner::after{display:none}
#navWrap .m_panel_brand{position:sticky;top:0;z-index:1;background:#fff;order:0;display:flex;align-items:center;height:72px;min-height:72px;border-bottom:1px solid #e8edf5}
#navWrap .m_lnb{order:1;flex:none;padding:16px 0 24px}
#topmenuM .m_lnb .m_bmenu{display:flex;justify-content:space-between;align-items:center;width:100%;height:58px;padding:0 8px;border:0;border-bottom:1px solid #edf0f5;border-radius:0;background:none;font:600 17px var(--k-font),sans-serif;line-height:1.5;color:#1d2945;text-align:left}
#topmenuM .m_lnb .m_bmenu::after{content:none}
#topmenuM .m_lnb .m_bmenu.on,#topmenuM .m_lnb .is-current > .m_bmenu{color:var(--primary)}
#navWrap .m_util{order:2;display:flex;flex:none;gap:10px;padding:20px 0 0;margin-top:auto;border-top:1px solid #e8edf5}
#navWrap .m_btn{display:flex;align-items:center;justify-content:center;flex:1;min-height:48px;border-radius:10px;font-size:15px;font-weight:600;line-height:1.4}
#navWrap .m_btn--primary{background:var(--primary);color:#fff}
#navWrap .m_btn--line{border:1px solid #d8dfeb;color:#1d2945}
#navWrap .inner .mo_hd_copy{order:3;position:static;min-width:0;width:auto;margin-top:24px;font-size:12px;line-height:1.5;color:#788398;text-align:left}
}
@media(max-width:480px){#navWrap .inner{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){#sh_hd *{transition:none!important}}

/* Shared footer: consistent reading contrast, alignment and touch spacing. */
#sh_ft .inner{box-sizing:border-box;padding-left:24px;padding-right:24px}
#sh_ft .start-banner{padding-top:100px;padding-bottom:80px}
#sh_ft .start-banner p{color:#b5bdcf;max-width:680px;margin:0 auto;line-height:1.7}
#sh_ft .ft__menu{padding-bottom:24px;gap:28px}
#sh_ft .ft__menu ul{flex-wrap:wrap;gap:8px 24px}
#sh_ft .ft__menu a,#sh_ft .ft__admin .admin a{display:inline-flex;align-items:center;min-height:44px}
#sh_ft address{padding-bottom:40px;color:#a9b2c6;font-size:14px}
#sh_ft .ft__admin{gap:16px;padding:20px 0 28px}
#sh_ft .ft__admin small,#sh_ft .ft__admin .admin a{color:#a9b2c6;line-height:1.7}
#sh_ft .ft__admin .admin{gap:8px 24px}
#sh_ft a:focus-visible{outline:2px solid #91b7ff;outline-offset:4px;border-radius:4px}
body.hq-footer-visible #toTop{visibility:hidden;pointer-events:none}
@media(max-width:768px){
#sh_ft .inner{padding-left:20px;padding-right:20px}
#sh_ft .start-banner{padding:56px 0 48px}
#sh_ft .start-banner h2{font-size:24px;line-height:1.45;padding-bottom:16px}
#sh_ft .start-banner p{font-size:15px;padding-bottom:24px}
#sh_ft .ft__menu{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:16px}
#sh_ft .ft__menu ul{justify-content:flex-start;gap:0 22px}
#sh_ft address{padding-bottom:24px;text-align:left}
#sh_ft .ft__admin{align-items:flex-start;gap:12px;text-align:left}
#sh_ft .ft__admin .admin{justify-content:flex-start;gap:0 20px}
#sh_ft .ft__admin small{font-size:12px}
#sh_ft .start-banner .btn-wrap .btn--primary{min-height:48px}
}
