/* Final header layout: horizontal VI logo and one-line right-aligned navigation. */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: clamp(28px, 5vw, 72px) !important;
  min-height: 108px !important;
  padding: 0 clamp(28px, 6vw, 92px) !important;
  background: var(--brand-yellow, #fad300) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.14) !important;
}

.brand {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.brand-logo {
  display: block !important;
  width: clamp(154px, 22vw, 332px) !important;
  height: auto !important;
  max-height: 56px !important;
  object-fit: contain !important;
}

.nav {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 2.6vw, 42px) !important;
  width: auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  color: rgba(17, 17, 17, 0.62) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}

.nav::-webkit-scrollbar {
  display: none !important;
}

.nav a {
  position: relative !important;
  display: grid !important;
  flex: 0 0 auto !important;
  gap: 4px !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}

.nav a span {
  font-size: clamp(0.95rem, 1.05vw, 1.12rem) !important;
  font-weight: 700 !important;
}

.nav a em {
  color: rgba(17, 17, 17, 0.46) !important;
  font-size: 0.72rem !important;
  font-style: normal !important;
  letter-spacing: 0.01em !important;
}

.nav a::after {
  right: 0 !important;
  bottom: -12px !important;
  left: 0 !important;
  height: 2px !important;
  background: #111111 !important;
}

.nav a:hover,
.nav a.is-active {
  color: #111111 !important;
}

.footer-logo img {
  width: min(250px, 54vw) !important;
  height: auto !important;
  filter: invert(1) !important;
}

@media (max-width: 920px) {
  .topbar {
    flex-wrap: nowrap !important;
    align-items: center !important;
    min-height: 88px !important;
    gap: 18px !important;
    padding: 0 18px !important;
  }

  .brand {
    flex-basis: clamp(184px, 38vw, 238px) !important;
    max-width: clamp(184px, 38vw, 238px) !important;
  }

  .brand-logo {
    width: 100% !important;
    max-height: 42px !important;
  }

  .nav {
    min-width: 0 !important;
    flex-basis: auto !important;
    justify-content: flex-end !important;
    gap: 20px !important;
    overflow-x: auto !important;
    padding: 16px 12px 16px 0 !important;
    scroll-padding: 0 12px 0 0 !important;
  }
}

@media (max-width: 640px) {
  .topbar {
    gap: 14px !important;
    padding: 0 14px !important;
  }

  .brand {
    flex-basis: 186px !important;
    max-width: 186px !important;
  }

  .nav {
    justify-content: flex-start !important;
    gap: 18px !important;
    padding: 14px 12px 14px 0 !important;
  }

  .nav a span {
    font-size: 0.92rem !important;
  }
}
