/* 최종 상단 제목·메뉴: 기존 본문 디자인은 변경하지 않습니다. */
.centered-site-header{
  position:sticky;
  top:0;
  z-index:500;
  width:100%;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e2e8f0;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  backdrop-filter:blur(14px);
}
.centered-site-header .centered-header-wrap{
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px 0 8px;
  position:relative;
}
.centered-site-header .centered-brand{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  text-align:center;
}
.centered-site-header .centered-brand img{
  position:absolute;
  right:calc(100% + 12px);
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:contain;
  box-shadow:0 8px 22px rgba(37,99,235,.15);
}
.centered-site-header .centered-brand span{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.08;
}
.centered-site-header .centered-brand strong{
  color:#0f172a;
  font-size:29px;
  font-weight:950;
  letter-spacing:-.05em;
}
.centered-site-header .centered-brand small{
  margin-top:5px;
  color:#7c3aed;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.centered-site-header .centered-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:10px auto 0;
  flex-wrap:nowrap;
}
.centered-site-header .centered-nav .nav-item{
  position:relative;
}
.centered-site-header .centered-nav .nav-main{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  color:#334155;
  background:#fff;
  box-shadow:0 5px 14px rgba(15,23,42,.05);
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
}
.centered-site-header .centered-nav .nav-item.active .nav-main,
.centered-site-header .centered-nav .nav-main:hover{
  color:#1d4ed8;
  border-color:#bfdbfe;
  background:#eff6ff;
}
.centered-site-header .centered-nav .nav-submenu{
  position:absolute;
  top:100%;
  left:50%;
  z-index:1000;
  width:max-content;
  min-width:190px;
  max-width:280px;
  margin:0;
  padding:14px 8px 8px;
  display:flex;
  flex-direction:column;
  gap:2px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(-4px);
  border:1px solid #e2e8f0;
  border-radius:15px;
  background:#fff;
  box-shadow:0 18px 46px rgba(15,23,42,.16);
  transition:opacity .16s,transform .16s;
}
.centered-site-header .centered-nav .nav-submenu a{
  display:block;
  padding:9px 11px;
  border-radius:9px;
  color:#334155;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  white-space:nowrap;
}
.centered-site-header .centered-nav .nav-submenu a:hover{
  color:#1d4ed8;
  background:#eff6ff;
}
.centered-site-header .centered-nav .nav-item:hover .nav-submenu,
.centered-site-header .centered-nav .nav-item:focus-within .nav-submenu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.centered-site-header .centered-menu-btn{
  display:none;
  position:absolute;
  right:0;
  bottom:10px;
  border:0;
  background:none;
  color:#0f172a;
  font-size:28px;
}
@media(max-width:900px){
  .centered-site-header .centered-header-wrap{min-height:88px;padding:7px 0}
  .centered-site-header .centered-brand img{position:static;width:48px;height:48px;margin-right:9px}
  .centered-site-header .centered-brand strong{font-size:22px}
  .centered-site-header .centered-brand small{font-size:9px}
  .centered-site-header .centered-menu-btn{display:block}
  .centered-site-header .centered-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin:0;
    padding:10px 12px 14px;
    align-items:stretch;
    flex-direction:column;
    gap:4px;
    background:#fff;
    border-bottom:1px solid #e2e8f0;
    box-shadow:0 18px 30px rgba(15,23,42,.12);
  }
  .centered-site-header .centered-nav.open{display:flex}
  .centered-site-header .centered-nav .nav-main{justify-content:flex-start}
  .centered-site-header .centered-nav .nav-submenu{
    position:static;
    width:100%;
    max-width:none;
    margin:2px 0 7px;
    padding:4px 8px;
    display:none;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
    box-shadow:none;
    background:#f8fafc;
  }
  .centered-site-header .centered-nav .nav-item:hover .nav-submenu,
  .centered-site-header .centered-nav .nav-item:focus-within .nav-submenu{display:none}
  .centered-site-header .centered-nav .nav-item.open .nav-submenu{display:flex}
}
