/* Homepage snail icon; larger postage-stamp logo on all inner pages. */
nav .logo .logo-img {
  display: block;
  width: auto;
  height: 64px;
  border-radius: 0;
  object-fit: contain;
}
nav .logo .logo-text { display: none; }
/* Keep the homepage mark as approved; give inner-page branding more presence. */
nav > a.logo .logo-img { height: 80px; }
@media (max-width: 480px) {
  nav .logo .logo-img { height: 48px; }
  nav > a.logo .logo-img { height: 64px; }
}
.app-nav .nav-map-compact { display: none; }
@media (max-width: 760px) {
  /* The app router sets inline display:flex; preserve the mobile hamburger. */
  .app-nav .nav-actions { display: none !important; }
  .app-nav .nav-hamburger { min-width: 44px; min-height: 44px; }
  .app-nav .nav-hamburger { display: flex !important; }
  .app-nav .nav-map-compact { display: inline-flex; margin-left: auto; margin-right: 16px; align-items: center; min-height: 44px; white-space: nowrap; }
}

.brand-menu { position: relative; z-index: 110; }
.brand-menu > summary {
  list-style: none;
  cursor: pointer;
  width: fit-content;
  border-radius: 8px;
}
.brand-menu > summary::-webkit-details-marker { display: none; }
.brand-menu > summary:focus-visible,
.brand-menu-panel a:focus-visible {
  outline: 3px solid var(--coral, #D14B2E);
  outline-offset: 4px;
}
.brand-menu-chevron {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin: 0 4px 4px 0;
  color: var(--ink-soft, #6F5B47);
}
.brand-menu[open] .brand-menu-chevron {
  transform: rotate(225deg);
  margin-bottom: -4px;
}
.brand-menu-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: min(272px, calc(100vw - 40px));
  max-height: calc(100dvh - 120px);
  overflow-y: auto;
  padding: 8px;
  background: #FFFCF7;
  color: #241D16;
  border: 1px solid rgba(111, 91, 71, .2);
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(36, 29, 22, .18);
}
.brand-menu-panel a,
.brand-menu-upcoming {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 9px;
  font: inherit;
  font-size: .95rem;
  font-weight: 600;
  color: inherit;
  text-decoration: none;
}
.brand-menu-upcoming { gap: 12px; }
.brand-menu-badge {
  margin-left: auto;
  padding: 3px 7px;
  border-radius: 5px;
  background: #F3EADD;
  color: #6F5B47;
  font-size: .68rem;
  font-weight: 500;
  white-space: nowrap;
}
.brand-menu-panel a:hover,
.brand-menu-panel a:focus-visible { background: #F3EADD; }
.brand-menu-panel [hidden] { display: none; }
.brand-menu-panel .brand-menu-primary { color: #A83A22; }
.brand-menu-secondary {
  border-top: 1px solid rgba(111, 91, 71, .16);
  margin-top: 4px;
  padding-top: 4px;
}
.brand-menu-legal { display: flex; }
.brand-menu-legal a { font-size: .8rem; color: #6F5B47; }
