/* ============ HEADER / NAV ============ */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
  transition: var(--transition);
}
.header.scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: var(--shadow-sm);
}
.nav-container {
  max-width: 1320px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 40px; height: 72px;
}
.logo {
  display: flex; align-items: center;
  text-decoration: none;
}
.logo-img {
  height: 68px; width: auto;
  object-fit: contain;
}
.nav-menu { display: flex; gap: 4px; list-style: none; }
.nav-item { position: relative; }
.nav-link {
  display: flex; align-items: center; gap: 4px;
  padding: 8px 18px; font-size: 14.5px; font-weight: 500;
  color: var(--gray-800); text-decoration: none;
  border-radius: 8px; transition: var(--transition);
  cursor: pointer;
}
.nav-link:hover { background: var(--gray-50); color: var(--blue); }
.nav-link.active { color: var(--blue); font-weight: 700; }
.nav-link .arrow { font-size: 10px; transition: transform 0.2s; opacity: 0.5; }
.nav-item:hover .arrow { transform: rotate(180deg); }
.nav-right { display: flex; align-items: center; gap: 12px; }
.lang-switch {
  display: flex; align-items: center;
  background: var(--gray-50); border-radius: 8px;
  overflow: hidden; border: 1px solid var(--gray-100);
}
.lang-btn {
  padding: 6px 12px; font-size: 12px; font-weight: 600;
  background: none; border: none; cursor: pointer;
  color: var(--gray-400); transition: var(--transition);
  font-family: var(--font-en); text-decoration: none; display: block;
}
.lang-btn.active { background: var(--white); color: var(--navy); box-shadow: var(--shadow-sm); }
.btn-track {
  padding: 8px 18px; font-size: 13.5px; font-weight: 600;
  background: none; border: 1.5px solid var(--gray-200);
  border-radius: 8px; cursor: pointer;
  color: var(--gray-800); transition: var(--transition);
  font-family: var(--font-ko); text-decoration: none;
}
.btn-track:hover { border-color: var(--blue); color: var(--blue); }
.btn-quote {
  padding: 8px 22px; font-size: 13.5px; font-weight: 600;
  background: var(--blue); border: none; border-radius: 8px;
  color: var(--white); cursor: pointer; transition: var(--transition);
  font-family: var(--font-ko); text-decoration: none;
}
.btn-quote:hover { background: var(--blue-light); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(30,109,212,0.3); }

/* ============ MEGA MENU ============ */
.mega-menu {
  position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--gray-100);
  padding: 28px 32px;
  opacity: 0; visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
  transform: translateX(-50%) translateY(8px);
  min-width: 580px;
}
.nav-item:hover .mega-menu,
.nav-item.touch-open .mega-menu {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.mega-menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.mega-menu-section { margin-bottom: 8px; }
.mega-menu-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.2px; color: var(--gray-400);
  padding: 8px 12px 6px; margin-bottom: 2px;
}
.mega-menu-link {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 12px; border-radius: 10px;
  text-decoration: none; transition: var(--transition);
}
.mega-menu-link:hover { background: var(--blue-pale); }
.mega-menu-link strong { font-size: 14px; font-weight: 600; color: var(--gray-800); }
.mega-menu-link span { font-size: 12.5px; color: var(--gray-400); font-weight: 400; }
