.navigation .brand-lockup {
  gap: 7px;
}

.navigation .wordmark {
  display: inline-grid;
  grid-template-rows: auto auto;
  justify-items: center;
  align-items: center;
  margin-left: -9px;
  min-width: 78px;
  text-align: center;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1;
  letter-spacing: 0.11em;
  line-height: 0.86;
  white-space: nowrap;
}

.navigation .wordmark > span {
  display: block;
  margin-top: 5px;
  padding-left: 0.16em;
  font-size: 0.7em;
  letter-spacing: 0.16em;
  line-height: 1;
}

@media (max-width: 600px) {
  .navigation .brand-lockup {
    gap: 5px;
  }

  .navigation .wordmark {
    min-width: 70px;
    letter-spacing: 0.1em;
  }

  .navigation .wordmark > span {
    margin-top: 4px;
  }
}

/* Arrow-free control language. Decorative arrows disappear; essential
   navigation keeps a clear typographic label. */
:is(a, button) > svg[class*="lucide-arrow-"] {
  display: none;
}

button[aria-label^="Previous"],
button[aria-label^="Next"] {
  width: auto;
  min-width: 64px;
  padding-inline: 12px;
}

button[aria-label^="Previous"]::after,
button[aria-label^="Next"]::after,
a[aria-label="BACK TO TOP"]::after {
  color: currentColor;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1;
}

button[aria-label^="Previous"]::after {
  content: "PREV";
}

button[aria-label^="Next"]::after {
  content: "NEXT";
}

a[aria-label="BACK TO TOP"] {
  width: auto;
  min-width: 52px;
  padding-inline: 11px;
}

a[aria-label="BACK TO TOP"]::after {
  content: "TOP";
}

/* Keep the gold atmospheric field clearly alive on touch devices. */
@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {
  .hero-atmosphere,
  .section-atmosphere {
    mix-blend-mode: screen;
    opacity: 0.58 !important;
  }

  .hero-atmosphere canvas,
  .section-atmosphere canvas {
    opacity: 0.76 !important;
  }

  .hero-atmosphere::before,
  .section-atmosphere::before {
    opacity: 0.22;
    animation-duration: 14s;
  }

  .hero[data-atmosphere="fallback"] .hero-atmosphere,
  [data-atmosphere-host][data-atmosphere="fallback"] .section-atmosphere {
    opacity: 0.52 !important;
  }
}

/* Polished fixed navigation: content must never compete with the header. */
.navigation {
  isolation: isolate;
}

.navigation.scrolled,
.navigation.nav-open,
.navigation.nav-hidden:hover,
.navigation.nav-hidden:focus-within {
  background: rgba(8, 8, 7, 0.97) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

body:has(.side-navigation.is-visible) .navigation:not(.nav-hidden) {
  background: rgba(8, 8, 7, 0.97) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

@media (max-width: 980px) {
  .navigation .brand-lockup {
    min-height: 44px;
  }

  .mobile-nav-head {
    display: none;
  }

  .mobile-nav {
    padding-top: 8px;
  }

  .side-navigation {
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  .side-navigation nav a {
    min-height: 38px;
  }
}

@media (max-width: 600px) {
  .camp-gallery .camp-gallery-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .camp-gallery-tabs button {
    min-width: 44px;
    min-height: 44px;
  }

  .footer-top > .wordmark,
  .footer-top nav a,
  .footer-top nav span {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
