/* ANCHOR V2 floating glass header — sample design */
:root{
  --ah-blue:#1269ff;
  --ah-green:#18d78d;
  --ah-green2:#8df5c4;
  --ah-ink:#071522;
  --ah-muted:#60717c;
  --ah-line:#dfe8ed;
}

/* fixed floating bar */
.ah-site-header{
  position:fixed;
  left:22px;right:22px;top:18px;
  height:76px;
  max-width:calc(100vw - 44px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px 0 22px;
  border-radius:20px;
  z-index:1200;
  transition:.35s ease;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(4,23,34,.30);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-sizing:border-box;
}
.ah-site-header.scrolled,
.ah-site-header.is-solid{
  color:var(--ah-ink);
  background:rgba(255,255,255,.94);
  border-color:rgba(9,43,59,.08);
  box-shadow:0 14px 45px rgba(5,27,39,.10);
}

/*
 * 로그인 페이지: 헤더는 다른 서브와 동일한 플로팅 solid.
 * spacer 대신 #subbody 를 뷰포트 상단까지 확장하고 padding-top 으로 헤더 영역 확보.
 */
#subbody.ah-login-subbody,
#subbody:has(.page-cntu-login){
  min-height:100vh;
  padding-top:110px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#subbody.ah-login-subbody .mem_inner.page-cntu-login,
#subbody:has(.page-cntu-login) .mem_inner.page-cntu-login{
  width:100%;
  margin:0 auto;
  padding-top:24px;
  padding-bottom:48px;
  box-sizing:border-box;
}

/* brand */
.ah-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
  text-decoration:none;
  color:inherit;
  padding:0;
  background:transparent;
  box-shadow:none;
  border:0;
}
.ah-brand-logo{
  display:block;
  width:auto;
  height:48px;
  max-width:min(270px,32vw);
  object-fit:contain;
  object-position:left center;
}

/* GNB */


.ah-gnb{
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:auto;
  margin-right:14px;
  list-style:none;
  padding:0;
  margin-top:0;
  margin-bottom:0;
}
.ah-gnb-item{position:relative}
.ah-gnb-button,
a.ah-gnb-button{
  display:flex;
  align-items:center;
  gap:7px;
  padding:14px 14px;
  border-radius:12px;
  background:transparent;
  border:0;
  color:inherit;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  white-space:nowrap;
  text-decoration:none;
  font-family:inherit;
  line-height:1;
}
.ah-gnb-button svg{transition:.25s; flex:none}
.ah-gnb-item:hover .ah-gnb-button,
.ah-gnb-item.is-open .ah-gnb-button{
  background:rgba(255,255,255,.11);
}
.ah-site-header.scrolled .ah-gnb-item:hover .ah-gnb-button,
.ah-site-header.is-solid .ah-gnb-item:hover .ah-gnb-button,
.ah-site-header.scrolled .ah-gnb-item.is-open .ah-gnb-button,
.ah-site-header.is-solid .ah-gnb-item.is-open .ah-gnb-button{
  background:#eef5f6;
}
.ah-gnb-item:hover .ah-gnb-button svg,
.ah-gnb-item.is-open .ah-gnb-button svg{transform:rotate(180deg)}

.ah-dropdown{
  position:absolute;
  top:58px;
  left:50%;
  width:230px;
  transform:translate(-50%,10px);
  padding:10px;
  border-radius:18px;
  background:#fff;
  color:var(--ah-ink);
  box-shadow:0 24px 60px rgba(4,31,46,.18);
  opacity:0;
  visibility:hidden;
  transition:.25s ease;
  border:1px solid #e9eff2;
  z-index:1300;
  list-style:none;
  margin:0;
  box-sizing:border-box;
}
.ah-dropdown.ah-dropdown-right{
  left:auto;
  right:0;
  transform:translateY(10px);
}
.ah-gnb-item:hover .ah-dropdown,
.ah-gnb-item.is-open .ah-dropdown{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.ah-gnb-item:hover .ah-dropdown.ah-dropdown-right,
.ah-gnb-item.is-open .ah-dropdown.ah-dropdown-right{
  transform:translateY(0);
}
.ah-dropdown a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:13px 14px;
  border-radius:11px;
  font-size:13px;
  font-weight:750;
  color:var(--ah-ink);
  text-decoration:none;
}
.ah-dropdown a::after{content:"\2197";opacity:.35}
.ah-dropdown a:hover{
  background:#edf9f5;
  color:#08734b;
}

/* actions */
.ah-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.ah-login-btn,
a.ah-login-btn,
button.ah-login-btn{
  height:44px;
  padding:0 17px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:#071522;
  font-size:12px;
  font-weight:900;
  border:0;
  cursor:pointer;
  text-decoration:none;
  font-family:inherit;
  white-space:nowrap;
  box-sizing:border-box;
}
.ah-site-header.scrolled .ah-login-btn,
.ah-site-header.is-solid .ah-login-btn{
  background:var(--ah-ink);
  color:#fff;
}
.ah-login-btn.ah-login-ghost{
  background:rgba(255,255,255,.12);
  color:inherit;
  border:1px solid rgba(255,255,255,.22);
}
.ah-site-header.scrolled .ah-login-btn.ah-login-ghost,
.ah-site-header.is-solid .ah-login-btn.ah-login-ghost{
  background:#edf3f5;
  color:var(--ah-ink);
  border-color:transparent;
}
.ah-menu-btn{
  width:44px;
  height:44px;
  border-radius:13px;
  display:none;
  place-items:center;
  background:rgba(255,255,255,.12);
  color:inherit;
  cursor:pointer;
  border:0;
  font-size:18px;
}
.ah-site-header.scrolled .ah-menu-btn,
.ah-site-header.is-solid .ah-menu-btn{
  background:#edf3f5;
  color:var(--ah-ink);
}

/* mobile */
.ah-mobile-backdrop{
  position:fixed;
  inset:0;
  z-index:1390;
  background:rgba(0,16,25,.54);
  opacity:0;
  visibility:hidden;
  transition:.3s;
  backdrop-filter:blur(5px);
}
.ah-mobile-backdrop.open{opacity:1;visibility:visible}
.ah-mobile-panel{
  position:fixed;
  right:0;top:0;bottom:0;
  width:min(420px,90vw);
  z-index:1400;
  background:#f8fbfb;
  padding:28px;
  transform:translateX(105%);
  transition:.4s cubic-bezier(.2,.8,.2,1);
  overflow:auto;
  box-sizing:border-box;
  color:var(--ah-ink);
}
.ah-mobile-panel.open{transform:none}
.ah-mobile-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:30px;
}
.ah-mobile-close{
  width:46px;height:46px;
  border-radius:14px;
  background:#e9f0f1;
  border:0;
  cursor:pointer;
  font-size:18px;
  color:var(--ah-ink);
}
.ah-mobile-group{border-bottom:1px solid #dfe8ea}
.ah-mobile-main{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:21px 0;
  background:none;
  border:0;
  font-weight:900;
  font-size:19px;
  cursor:pointer;
  color:var(--ah-ink);
  font-family:inherit;
  text-align:left;
}
.ah-mobile-sub{
  display:none;
  padding:0 0 18px;
  grid-template-columns:1fr;
  gap:0;
}
.ah-mobile-group.active .ah-mobile-sub{display:grid}
.ah-mobile-sub a{
  padding:11px 14px;
  border-radius:10px;
  color:#596b74;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}
.ah-mobile-sub a:hover{background:#eaf8f2;color:#08734b}
.ah-mobile-direct{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:21px 0;
  border-bottom:1px solid #dfe8ea;
  font-size:19px;
  font-weight:900;
  color:var(--ah-ink);
  text-decoration:none;
}
.ah-mobile-login{
  margin-top:28px;
  width:100%;
  min-height:54px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#071522 !important;
  color:#fff !important;
  font-weight:900;
  text-decoration:none;
  border:0;
  cursor:pointer;
  font-family:inherit;
}
body.ah-menu-open{overflow:hidden}

/* spacer for non-home fixed header */
.ah-header-spacer{
  height:110px;
  width:100%;
  pointer-events:none;
}

/* auth compact on header */
.ah-auth-form{display:inline-flex;align-items:center;gap:6px;margin:0}

@media(max-width:1320px){
  .ah-gnb-button,a.ah-gnb-button{padding-inline:10px;font-size:13px}
  .ah-login-btn{padding-inline:13px}
  .ah-brand-logo{max-width:230px}
}
@media(max-width:1160px){
  .ah-gnb{display:none}
  .ah-menu-btn{display:grid}
}
@media(max-width:860px){
  .ah-site-header{
    left:10px;right:10px;top:10px;
    height:68px;
    padding:0 11px 0 14px;
    max-width:calc(100vw - 20px);
  }
  .ah-brand-logo{height:42px;max-width:230px}
  
  .ah-login-btn span.ah-login-label{display:none}
  .ah-header-spacer{height:90px}
  #subbody.ah-login-subbody,
  #subbody:has(.page-cntu-login){
    padding-top:90px;
  }
}
@media(max-width:600px){
  .ah-brand-logo{height:38px;max-width:205px}
  
  .ah-auth-form .ah-login-btn:not(.ah-login-primary){display:none}
}
