@charset "UTF-8";
/* CSS Document */


:root{
  --accent:#F37021;
  --nav-height:60px;
  --bg:#050509;
  --text:#e8eaf0;
  --muted:#a8b0bf;
}


*{ box-sizing:border-box; }
html,body{ height:100%; }
html{    background: #000;}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  color:var(--text);
  background:transparent;
  overflow:hidden;
  height:100%;
}

/* SCROLL-SHELL + 스크롤바 */
.scroll-shell{
  position:fixed;
  inset:0;
  z-index:1;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling: touch;

  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.25) transparent;
}
.scroll-shell::-webkit-scrollbar{ width:10px; }
.scroll-shell::-webkit-scrollbar-track{ background:transparent; }
.scroll-shell::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.18);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}

/* 메뉴 */
.navbar{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--nav-height);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  z-index:1200;

  background:rgba(10,10,14,0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:box-shadow .3s ease, background .3s ease;
}
.navbar.scrolled{
  background:rgba(10,10,14,0.78);
  box-shadow:0 10px 24px rgba(0,0,0,0.45);
}
.navbar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,0.14) 0, transparent 55%),
    radial-gradient(circle at 85% 10%, rgba(255,255,255,0.10) 0, transparent 60%),
    radial-gradient(circle at 50% 130%, rgba(255,255,255,0.08) 0, transparent 65%);
  mix-blend-mode:screen;
  opacity:0;
  animation:waveGloss 10s ease-in-out infinite alternate;
}
.navbar.scrolled::before{ opacity:0.55; }
@keyframes waveGloss{
  0%{ transform:translate3d(-10px,-4px,0) scale(1.05); }
  40%{ transform:translate3d(6px,3px,0) scale(1.03); }
  70%{ transform:translate3d(-4px,5px,0) scale(1.08); }
  100%{ transform:translate3d(8px,0,0) scale(1.04); }
}

.navbar-left{
  position:absolute;
  left:20px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
}
.logo_ori{width:140px; display:block;padding-top: 6px; margin-right: 10px; }
.logo{height:36px; width:140px; display:block; }
.logo-dark{ display:none; }
.logo-light{ display:block; }

.nav-menu{
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:center;
  padding:0 110px;
  width:100%;
}
.navbar.scrolled .nav-menu{ gap:10px; }

.nav-menu a{
  position:relative;
  padding:6px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  transition:transform .2s, padding .2s;
}
.navbar.scrolled .nav-menu a{ padding:4px 6px; }

.nav-menu .nav-icon,
.mobile-links .nav-icon,
.sns-btn img{
  width:24px;
  height:24px;
  filter: brightness(0) invert(1);
  opacity:0.95;
  transition:transform .2s, opacity .2s, width .2s, height .2s;
}
.navbar.scrolled .nav-menu .nav-icon{ width:14px;height:14px;opacity:1; }

.nav-menu a:hover{ background:transparent; transform:translateY(-1px); }
.nav-menu a:hover .nav-icon{ transform:scale(1.08); opacity:1; }
.nav-line{ display:none !important; }

.nav-menu .nav-label{
  font-size:11px;
  font-weight:600;
  color:var(--text);
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  max-width:0;
  opacity:0;
  transition:opacity .2s ease, max-width .2s ease;
}
.navbar.scrolled .nav-menu .nav-label{ max-width:200px; opacity:1; }

a[data-tip]{ position:relative; }
a[data-tip]::before{ display:none; }
a[data-tip]::after{
  content:attr(data-tip);
  position:absolute;
  top:calc(100% + 4px);
  left:50%;
  transform:translateX(-50%);
  padding:6px 10px;
  background:rgba(0,0,0,0.78);
  color:#fff;
  font-size:12px;
  border-radius:4px;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(0,0,0,0.45);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
a[data-tip]:hover::after{ opacity:1; }
.navbar.scrolled a[data-tip]::after{ display:none; }


.navbar .logo_favicon{
  display:none;
}
@media (max-width:1170px){
  .navbar.scrolled .logo_ori{
    display:none;
  }
  .navbar.scrolled .logo_favicon{
    display:inline-block;
  }
  .navbar.scrolled .logo_favicon.is-compact{ 
	  width: 18px;
        height: auto;
        opacity: 1;
        transform: translateY(1px);
        filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.12));
        padding-top: 3px;
  }
}


.sns-group{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  gap:12px;
}
.sns-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4px;
  border-radius:8px;
  transition:transform .2s;
}
.sns-btn:hover{ background:transparent; transform:translateY(-1px); }
.sns-btn:hover img{ transform:scale(1.12); }

.hamburger{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  width:36px;height:36px;
  display:none;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:none;
  cursor:pointer;
}
.hamburger-box{ width:24px;height:18px; position:relative; }
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after{
  position:absolute;
  left:0;
  width:24px;height:2px;
  background:#fff;
  border-radius:2px;
  content:"";
  transition:transform .25s ease, top .25s ease, opacity .2s ease;
}
.hamburger-inner{ top:50%; margin-top:-1px; }
.hamburger-inner::before{ top:-6px; }
.hamburger-inner::after{ top:6px; }
.hamburger.is-open .hamburger-inner{ background:transparent; }
.hamburger.is-open .hamburger-inner::before{ top:0; transform:rotate(45deg); }
.hamburger.is-open .hamburger-inner::after{ top:0; transform:rotate(-45deg); }

.mobile-panel{
  position:fixed;
  top:var(--nav-height);
  right:0;
  width:70%;
  max-width:360px;
  bottom:0;
  background:linear-gradient(180deg, rgba(18,18,24,0.98), rgba(12,12,16,0.98));
  border-left:1px solid rgba(255,255,255,0.08);
  transform:translateX(100%);
  opacity:0;
  transition:transform .3s ease, opacity .3s ease;
  z-index:1100;
  box-shadow:-10px 0 28px rgba(0,0,0,0.45);
  display:flex;
  flex-direction:column;
}
.mobile-panel.open{ transform:translateX(0); opacity:1; }

.mobile-links{ display:flex; flex-direction:column; }
.mobile-links a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:var(--text);
  text-decoration:none;
}
.mobile-links a:hover{ background:transparent; }

.mobile-sns{
  margin-top:auto;
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  display:flex;
  justify-content:center;
  gap:14px;
  border-top:1px solid rgba(255,255,255,0.08);
}
.mobile-sns .sns-btn{
  padding:6px;
  border-radius:10px;
  background:transparent;
}
.mobile-sns .sns-btn:hover{
  background:transparent;
  transform:translateY(-1px);
}
.mobile-sns img{
  width:24px;
  height:24px;
  filter: brightness(0) invert(1);
  opacity:0.95;
}

@media(max-width:960px){
  .nav-menu{ display:none; }
  .sns-group{ display:none; }
  .hamburger{ display:flex; }
}

/*  Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}
