
/* ===== RESET ===== */
*,
*::before,
*::after { box-sizing: border-box; }

html, body, h1,h2,h3,h4,h5,h6,h7,h8,h9, div, p, span , a{ margin: 0; padding: 0; }

body {
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  color: #111;
  background: #fff;
  line-height: 1.5;
    word-break: keep-all
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; border: 0; background: transparent; cursor: pointer; }

/* ===== LAYOUT ===== */
.container {
  width: 100%;
  max-width: 1340px;
   /* min-width: 360px;*/
  margin: 0 auto;
    box-sizing: border-box
}

/* =========================
  HEADER (COMMON BASE)
========================= */
.header_main {
  position:absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}
.header_sub {
  position:relative;
}
.header_inner {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.logo img { height: 30px; width: auto; }

/* ===== MAIN HEADER LOOK ===== */
.header_main {
  background-color:transparent; 
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.header_main .gnb {
  color: rgba(255,255,255,0.88);
}

.header_main .gnb_link:hover { color: #fff; }

.header_main .menu_btn { border: 1px solid rgba(255,255,255,0.22); }
.header_main .menu_btn span { background: #fff; }

/* ===== SUB HEADER LOOK ===== */
.header_sub {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.gnb {
  display: flex;
  align-items: center;
  grid-gap: 28px;
  font-size: 18px;
  font-weight: 500;
}

.gnb_sub { color: #000; }
.gnb_sub .gnb_link:hover { color: #363D86; }

.menu_btn {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  grid-gap: 5px;
  flex-direction: column;
}

.menu_btn_sub { border: 1px solid #888;}
.menu_btn_sub span { background: rgba(17,17,17,0.90); }

.menu_btn span {
  width: 18px;
  height: 2px;
  border-radius: 999px;
}

/* =========================
  MOBILE MENU (checkbox)
========================= */
.nav_toggle { display: none; }

.drawer { position: fixed; inset: 0; pointer-events: none; z-index: 999}

.drawer_backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  transition: opacity 220ms ease;
}

.drawer_panel {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: min(360px, 86vw);
  background: #fff;
  transform: translateX(100%);
  transition: transform 260ms ease;
  padding: 18px;
  display: flex;
  flex-direction: column;
  grid-gap: 14px;
}

.drawer_top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0,0,0,0.10);
    padding-bottom: 10px
}

.drawer_title { 
    font-size: 20px; 
    letter-spacing: 0.08em; 
}

.drawer_close {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid #888;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.drawer_list { 
    display: flex; 
    flex-direction: column;
    font-size: 20px
}
.drawer_list a{
    padding: 12px 0;
    letter-spacing: 0.02em
}
.drawer_link {
  padding: 14px 8px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-weight: 800;
}

/* open state: main/sub 각각 id가 다르므로 둘 다 열리게 처리 */
#nav_toggle_main:checked ~ .drawer,
#nav_toggle_sub:checked ~ .drawer { pointer-events: auto; }

#nav_toggle_main:checked ~ .drawer .drawer_backdrop,
#nav_toggle_sub:checked ~ .drawer .drawer_backdrop { opacity: 1; }

#nav_toggle_main:checked ~ .drawer .drawer_panel,
#nav_toggle_sub:checked ~ .drawer .drawer_panel { transform: translateX(0); }

/* =========================
  FOOTER (COMMON)
========================= */
.footer {
  background: #101826;
  color: #fff;
  padding: 60px 0;
  font-weight: 400;
}

.footer_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  grid-gap: 24px;
}

.footer_logo { height: 26px; width: auto; }

.footer_info {
  margin: 16px 0 10px;
  font-size: 16px;
  line-height: 1.7;
  color: #C9CCEA;
}

.footer_copy {
  color:#727590;
  font-size: 14px;
}

.footer_right {
  display: flex;
  grid-gap: 22px;
  margin-top: 10px;
}

.footer_right a {
  font-size: 16px;
}
.footer_right a span{
    color: #C1C7FD
}

/* =========================
  RESPONSIVE (COMMON)
========================= */
@media (max-width: 1380px){
    .container
    {
        padding:0 24px   
    }
}
@media (max-width: 1024px) {
    .container{
        max-width: 900px;
    padding: 0 24px;
    }
  .gnb { gap: 22px; }
}

@media (max-width: 768px) {
    .container{
      padding: 0 20px;  
    }
  .gnb { display: none; }
  .menu_btn { display: inline-flex; }

  .footer_inner { flex-direction: column; gap: 28px; }
}
