/* 공통 색상 변수 / 기본 리셋 / 접근성 / 상단 네비게이션
   index, works, about, press, contact 5개 페이지에서 공유합니다.
   Haedal 페이지는 구조가 달라 별도 인라인 스타일을 유지합니다. */
:root{
  --bg:#0b0b0f;
  --bg-2:#111420;
  --navy:#1b2a4a;
  --gold:#c9a227;
  --gold-dim:rgba(201,162,39,0.35);
  --ivory:#f5f0e6;
  --ivory-dim:rgba(245,240,230,0.62);
  --ivory-faint:rgba(245,240,230,0.32);
  --status-ok-bg:#1f4d3a; --status-ok-fg:#8fe0b8;
  --status-done-bg:#5c2323; --status-done-fg:#f0a6a6;
  --status-nfs-bg:#4a3a22; --status-nfs-fg:#e0c48f;
}
*{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ivory);
  font-family:'Noto Sans KR', sans-serif;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
}

/* nav */
nav{
  position:relative; z-index:3;
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:26px 32px; max-width:1180px; margin:0 auto;
}
.logo-block{display:flex; flex-direction:column; gap:5px;}
.logo{font-family:'Black Han Sans', sans-serif; font-size:20px; letter-spacing:1px; color:var(--ivory); text-decoration:none;}
.nav-icons{display:flex; align-items:center; gap:16px; padding-top:2px;}
.lang{display:flex; align-items:center; gap:5px;}
.lang button{border:none; background:none; padding:11px 4px; margin:-11px -4px; cursor:pointer; color:var(--ivory-dim); font-family:'Space Mono','Noto Sans KR',monospace; font-size:12px; font-weight:700; letter-spacing:.5px;}
.lang button:hover{color:var(--ivory);}
.lang button.on{color:var(--ivory);}
.lang .lang-sep{color:var(--ivory-faint); font-family:'Space Mono','Noto Sans KR',monospace; font-size:12px;}
.nav-menu{display:flex; gap:24px; list-style:none; margin:0 8px 0 0; padding:0; align-items:center; font-family:'Space Mono','Noto Sans KR',monospace; font-size:12px;}
.nav-menu a{font-family:'Space Mono','Noto Sans KR',monospace; font-size:12px; letter-spacing:.5px; color:var(--ivory-dim); text-decoration:none;}
.nav-menu a:hover, .nav-menu a.on{color:var(--ivory);}
.nav-menu .soon{font-family:'Space Mono','Noto Sans KR',monospace; font-size:12px; letter-spacing:.5px; color:var(--ivory-faint); cursor:default;}
.nav-overlay{position:fixed; inset:0; background:rgba(6,7,12,.97); z-index:50; display:none; flex-direction:column; align-items:center; justify-content:center;}
.nav-overlay.open{display:flex;}
.overlay-close{position:absolute; top:22px; right:24px; font-size:20px;}
.overlay-links{display:flex; flex-direction:column; gap:26px; text-align:center;}
.overlay-links a, .overlay-links .soon{font-family:'Black Han Sans',sans-serif; font-size:26px; color:var(--ivory); text-decoration:none; padding:6px 0;}
.overlay-links .soon{color:var(--ivory-faint);}
.overlay-links .overlay-ig{font-family:'Space Mono','Noto Sans KR',monospace; font-size:13px; color:var(--ivory-dim); margin-top:10px;}
.icon-btn{background:none; border:none; color:var(--ivory); cursor:pointer; display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:-12px; opacity:0.85;}
.icon-btn.menu-btn{display:none;}
@media(max-width:900px){ .nav-menu{display:none;} .icon-btn.menu-btn{display:flex;} }
.icon-btn:hover{opacity:1;}

footer{border-top:1px solid rgba(245,240,230,.1); padding:30px 28px 44px; text-align:center; font-family:'Space Mono','Noto Sans KR',monospace; font-size:11px; color:var(--ivory-faint);}
