/* 공통 초기화 */
* { box-sizing: border-box; }
body { margin: 0; font-family: sans-serif; }

/* ----- PC 헤더 공통 ----- */
.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #eee;
  z-index: 1000;
}
.header-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo img {
 width: 250px;  
  height: auto;  
  display: block;
}

/* PC용 메뉴 */
.gnb-pc .depth1 {
  list-style: none;
  display: flex;
  gap: 110px;
  margin: 0;
  padding: 0;
}
.gnb-pc .depth1 > li {
  position: relative;
}
.gnb-pc .depth1 > li > a {
  text-decoration: none;
  color: #222;
  font-size: 17px;
  font-weight: 600;
  padding: 10px 0;
  display: block;
letter-spacing:0.07em;
}
.gnb-pc .depth1 > li:hover > a {
  color: #283593;
}

/* PC 드롭다운 */
.gnb-pc .depth2 {
  list-style: none;
  position: absolute;
  top: 66px;
  left: 0;
  background: #103460;
  min-width: 200px;
  margin: 0;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transition: .2s;
}
.gnb-pc .depth2 li a {
  display: block;
  padding: 15px 18px;
  color: #fff;
  font-size: 15px;
  text-decoration: none;
letter-spacing:0.07em;
}
.gnb-pc .depth2 li a:hover {
  background: rgba(255,255,255,.15);
}
.gnb-pc .depth1 > li:hover .depth2 {
  opacity: 1;
  visibility: visible;
}

/* 햄버거 버튼 기본 (PC에서는 숨김) */
.hamburger {
  display: none;
  width: 32px;
  height: 24px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.hamburger span {
  display: block;
  height: 3px;
  margin-bottom: 5px;
  background: #222;
}

/* ----- 모바일 메뉴 패널 ----- */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 260px;
  height: 100%;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0,0,0,.2);
  transition: right .3s;
  z-index: 2000;
}
.mobile-menu.open {
  right: 0;
}
.mobile-menu-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}
.mobile-logo {
  font-weight: 700;
  font-size: 16px;
}
.mobile-close {
  border: none;
  background: none;
  font-size: 24px;
  cursor: pointer;
}
.mobile-menu-list {
  list-style: none;
  margin: 0;
  padding: 0 0 40px;
}
.mm-depth1 {
  width: 100%;
  text-align: left;
  padding: 16px 20px;
  border: none;
  background: none;
  border-bottom: 1px solid #eee;
  font-size: 16px;
  cursor: pointer;
}
.mm-depth2 {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  background: #f5f5f7;
}
.mm-depth2 li a {
  display: block;
  padding: 10px 26px;
  font-size: 14px;
  text-decoration: none;
  color: #333;
}
.mm-link {
  display: block;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  text-decoration: none;
  color: #222;
}

/* depth1 열렸을 때 */
.mobile-menu-list li.open .mm-depth2 {
  display: block;
}

/* ----- 반응형 ----- */

/* 1200px 이하: PC GNB 숨기고 모바일만 사용 */
@media (max-width: 1200px) {
  .gnb-pc {
    display: none;
  }
  .hamburger {
    display: block;
  }
}

/* 1201px 이상: 모바일 메뉴 숨김 */
@media (min-width: 1201px) {
  .mobile-menu {
    display: none;
  }
}
