.brand {
  display: flex;
  align-items: center;
  text-decoration: none;
  margin-right: auto;
}

.brand img {
  display: block;
  width: 255px;
  max-width: 38vw;
  height: 58px;
  object-fit: contain;
  object-position: left center;
}

.logo-wrap {
  display: block !important;
  position: relative;
  width: 255px;
  max-width: 38vw;
  height: 58px;
}

.logo-wrap img {
  width: 100%;
  max-width: none;
}

.animated-door {
  display: block !important;
  position: absolute;
  left: 8.25%;
  top: 35.2%;
  width: 5.8%;
  height: 30.5%;
  border-radius: 1px;
  background: linear-gradient(90deg, #c98a27, #ffd76a);
  transform-origin: left center;
  animation: door-open 5.5s ease-in-out 1s infinite;
  box-shadow: inset -1px 0 rgba(80,45,0,.25);
}

.animated-door::after {
  content: "";
  position: absolute;
  right: 16%;
  top: 48%;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fff2bd;
}

.brand:hover .animated-door,
.brand:focus-visible .animated-door {
  animation: door-hover 1.4s ease-in-out;
}

@keyframes door-open {
  0%, 18%, 82%, 100% { transform: perspective(90px) rotateY(0deg); }
  38%, 62% { transform: perspective(90px) rotateY(-68deg); }
}

@keyframes door-hover {
  0%, 100% { transform: perspective(90px) rotateY(0deg); }
  50% { transform: perspective(90px) rotateY(-72deg); }
}

.brand-mark,
.brand > span {
  display: none;
}

footer img {
  width: 190px;
  height: 50px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
}

@media (max-width: 600px) {
  .logo-wrap { width: 185px; max-width: 62vw; height: 46px; }
  .brand img { width: 100%; max-width: none; height: 46px; }
  footer img { width: 175px; }
}

@media (prefers-reduced-motion: reduce) {
  .animated-door { animation: none; }
}
