/* Top bar shared by every page — change it here only. */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: 76px;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Inter', 'Noto Sans KR', sans-serif;
  color: #fff;
  transition: background 0.3s;
}
header.scrolled {
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.brand { display: flex; align-items: center; gap: 14px; }
.brand img { width: 36px; height: 36px; object-fit: contain; }
.brand-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.25em;
  padding-right: 0.25em;
}

nav ul { display: flex; gap: 36px; list-style: none; }
nav a { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; transition: opacity 0.2s; }
nav a:hover, nav a[aria-current] { opacity: 0.6; }

.top-right { display: flex; align-items: center; gap: 16px; }
.lang { font-size: 12px; color: #a0a0a0; letter-spacing: 0.05em; }
.lang button {
  font: inherit; color: inherit; background: none; border: 0;
  padding: 10px 4px; min-width: 36px; cursor: pointer;
}
.lang button[aria-pressed="true"] { color: #fff; font-weight: 600; }

.portal {
  display: inline-flex; align-items: center;
  height: 34px; padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 2px;
  font-size: 12px; font-weight: 500; letter-spacing: 0.08em;
  transition: background 0.2s, color 0.2s;
}
.portal:hover { background: #fff; color: #000; }

@media (max-width: 900px) {
  header { height: 60px; padding: 0 20px; }
  nav { display: none; }
  .top-right { gap: 10px; }
  .portal { padding: 0 12px; }
}
