:root{
  --header-height:56px;
  --transition-he:250ms;
  --color-light:#fff;
  --color-dark:#000;
}

/* 서브페이지(홈·프론트페이지만 제외)에서 헤더 기본 상태를 dark로 변경 */
body:not(.home):not(.front-page) .site-header {
  color: var(--color-dark);        /* 텍스트/아이콘 검정으로 */
}
/* 로고 이미지 전환 (두 img 방식 사용하는 경우) */
body:not(.home):not(.front-page) .site-logo__img--light { opacity: 0; pointer-events: none; }
body:not(.home):not(.front-page) .site-logo__img--dark  { opacity: 1; }
/* 햄버거 색상도 상속받도록 보장(이미 설정되어 있으면 중복 불필요) */
body:not(.home):not(.front-page) .mobile-toggle { color: var(--color-dark) !important; }
/* 네비 링크 등도 검정으로 */
body:not(.home):not(.front-page) .site-nav__list a { color: var(--color-dark); }

.site-header{
  position: fixed;
/*   top:0; left:0; right:0; */
  z-index: 9999;
  width: 100%;
  transition: background var(--transition-he) ease, color var(--transition-he) ease, box-shadow var(--transition-he) ease;
  background: transparent;
  color: var(--color-light);
  height: var(--header-height);
  display: flex;
  align-items: center;
}
.site-header__inner{
  max-width:1600px;
  width: 1600px;
  margin: 0 auto;
  padding: 0 1.5rem;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* brand (left) */
.site-header__brand{ flex:0 0 auto; display:flex; align-items:center; }
.site-logo{ display:inline-flex; align-items:center; text-decoration:none; }
/* two logo imgs stacked: show only one at a time */
.site-logo__img{ display:block; height:20px; width:auto; transition:opacity 180ms ease; }
.site-logo__img--light{ opacity:1; }
.site-logo__img--dark{ opacity:0; position:absolute; /* layer on top */ }
/* when scrolled: show dark, hide light */
.site-header.is-scrolled .site-logo__img--light{ opacity:0; }
.site-header.is-scrolled .site-logo__img--dark { opacity:1; }
/* scrolled state (스크롤 시) */
.site-header.is-scrolled {
  background:#fff;
  color:var(--color-dark);
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.08);
}

/* nav wrapper (center area) */
.site-nav-war{ flex:1 1 auto; display:flex; align-items:center; justify-content:center; }
/* nav list horizontal style - ensure it's applied */
.site-nav__list{
  display:flex;
  gap:50px;
  list-style:none;
  margin:0;
  padding:0;
  align-items:center;
}
.site-nav__list li{ display:flex; }
.site-nav__list a{ color:inherit; text-decoration:none; padding:8px 4px; font-size: 1.1rem; line-height: 1.3em; }


/* mobile toggle button (default hidden on desktop) */
.mobile-toggle{ display:none; background:transparent; color: inherit; border:0; cursor:pointer; flex:0 0 auto; }
.hamburger{ width:24px; height:2px; background:currentColor; position:relative; display:block; border-radius: 30%; }
.hamburger::before, .hamburger::after{ content:''; position:absolute; left:0; width:24px; height:2px; background:currentColor; border-radius: 30%; }
.hamburger::before{ top:-7px } .hamburger::after{ top:7px }
/* mobile side */
.mobile-side{ position:fixed; top:0; right:0; height:100vh; width:270px; max-width:70vw; transform:translateX(100%); transition:transform var(--transition-he) cubic-bezier(.2,.9,.3,1); z-index:10010; display: flex; align-items: stretch; overflow: hidden;}
.mobile-side[aria-hidden="false"]{ transform:translateX(0); }
/* 내부 래퍼 */
.mobile-side__inner{ display:block; width:100%; height:100%; }
/* CONTENT: 흰 배경 패널 */
.mobile-side__content{
  width:100%;
  height:100%;
  background:#ffffff;     
  color:#111;
  padding: 32px 28px 40px 28px;
  box-sizing: border-box;
  overflow-y: auto;
  position: relative;
}
/* 닫기 버튼: 오른쪽 상단 */
.mobile-side__close{
  position: absolute;
  top: 13px; right: 20px;
  width: 30px; height: 30px;
  padding: 0;
  margin: 0;
  line-height: 1;
  font-size: 30px; 
  color: #111;
  background: transparent; 
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
}
.mobile-side__close svg { display:block; width:28px; height:28px; }
/* 닫기 포커스 접근성 */
.mobile-side__close:focus{
  outline: 2px solid rgba(17,17,17,0.06);
  outline-offset: 2px;
}
/* 메뉴 리스트 */
.mobile-side__list{
  list-style: none;
  margin: 30px 0 0 0; /* 닫기 버튼 아래에서 시작 */
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
/* 메뉴 항목 스타일 */
.mobile-side__list li{ margin: 0; padding: 0; }
.mobile-side__list a{
  display: inline-block;
  text-decoration: none;
  color: #767676;
  font-size: 18px;
  line-height: 1.2;
  padding: 6px 0;
}
/*메뉴 active*/
.mobile-side__list li.current-menu-item > a,
.mobile-side__list li.current_page_item > a,
.mobile-side__list li.current-menu-ancestor > a,
.mobile-side__list li.current-menu-parent > a { font-weight: 700;color: #000; }
.mobile-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.45); opacity:0; pointer-events:none; transition:opacity var(--transition-he) ease; z-index:10005; }
body.menu-open .mobile-overlay{ opacity:1; pointer-events:auto; }
/* body.menu-open{ overflow:hidden; } */

@media screen and (min-width:1921px){

}
@media screen and (min-width:1024px) and (max-width: 1920px){
	.site-header__brand{ padding-left: 2rem;}
}
@media screen and (min-width:769px) and (max-width:1024px){
	.site-nav__list{ gap:35px; }
}
@media screen and (max-width: 768px){
	.site-nav{ display:none; }     /* hide desktop nav */
	.mobile-toggle{ display:block;height:35px; } /* show hamburger */
	.site-nav-war{ justify-content:flex-end; } /* keep layout stable */
	/* make sure logo stays left */
	.site-header__inner{ justify-content:space-between; }
}