/* Sticky nav + scroll compact animation */

.preview-banner {
  position: relative !important;
  /* scrolls away; nav sticks to top */
}

.nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  transition:
    background-color 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    backdrop-filter 0.35s ease;
  will-change: background-color, box-shadow;
}

.nav .nav-inner {
  transition: min-height 0.35s ease, padding 0.35s ease;
}

.nav .brand-logo {
  transition: height 0.35s ease, opacity 0.35s ease;
}

.nav .brand-suffix {
  transition: opacity 0.35s ease, transform 0.35s ease;
}

/* At rest (top of page) — lighter glass */
body.with-site-bg .nav:not(.is-scrolled) {
  background: rgba(1, 3, 15, 0.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom-color: transparent;
  box-shadow: none;
}

/* Scrolled — denser bar + shadow */
.nav.is-scrolled,
body.with-site-bg .nav.is-scrolled {
  background: rgba(1, 3, 15, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom-color: rgba(38, 63, 107, 0.85);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

.nav.is-scrolled .nav-inner {
  min-height: 52px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.nav.is-scrolled .brand-logo {
  height: 22px;
}

@media (prefers-reduced-motion: reduce) {

  .nav,
  .nav .nav-inner,
  .nav .brand-logo,
  .nav .brand-suffix {
    transition: none;
  }
}