/* NOPPON APPLICATION v50 — professional brand identity */
.brand .logo {
  width: 58px;
  min-width: 58px;
  height: 58px;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  position: relative;
  isolation: isolate;
}

.brand .logo::before {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: -1;
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(4, 39, 21, .25), 0 0 25px rgba(var(--theme-highlight-rgb), .18);
}

.brand .logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 10px rgba(2, 26, 13, .24));
}

.brand h1 {
  letter-spacing: -.015em;
}

.gate-logo {
  width: 94px;
  height: 94px;
  padding: 0;
  border-radius: 26px;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(7, 56, 30, .24));
}

@media (max-width: 620px) {
  .brand .logo {
    width: 50px;
    min-width: 50px;
    height: 50px;
  }
}

@media (max-width: 390px) {
  .brand .logo {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand .logo img,
  .gate-logo { transition: none !important; }
}
