.header-tools {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
}

.member-login {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 0.32em;
  padding: 0 15px;
  border: 1px solid var(--bright);
  border-radius: 4px;
  background: rgba(8, 102, 255, 0.13);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: 0.16s;
}

.member-login:hover,
.member-login:focus-visible {
  background: var(--blue);
  box-shadow: 0 0 0 3px rgba(22, 128, 255, 0.16);
  transform: translateY(-1px);
}

@media (max-width: 1050px) and (min-width: 901px) {
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 17px; }
  .desktop-nav a { font-size: 0.72rem; }
  .member-login { padding-inline: 11px; font-size: 0.63rem; }
}

@media (max-width: 640px) {
  .header-inner { gap: 10px; }
  .header-tools { gap: 8px; }
  .member-login {
    width: 86px;
    min-height: 46px;
    flex-direction: column;
    gap: 2px;
    padding: 5px 8px;
    font-size: 0.61rem;
    letter-spacing: 0.055em;
    line-height: 1.05;
  }
}

@media (max-width: 370px) {
  .brand-name { font-size: 1.08rem; }
  .brand-mark { width: 48px; height: 48px; }
  .member-login { width: 76px; font-size: 0.55rem; }
  .mobile-nav summary { width: 42px; height: 42px; }
}
