.site-header {
  position: fixed;
  z-index: 50;
  background: linear-gradient(180deg, rgba(5,36,66,.62), rgba(5,36,66,.12));
  transition: background .25s, box-shadow .25s, border-color .25s;
}
.nav-wrap, .brand img { transition: height .25s, width .25s; }
.site-header.is-compact {
  background: rgba(5,36,66,.97);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 8px 30px rgba(3,25,45,.22);
}
.site-header.is-compact .nav-wrap { height: 72px; }
.site-header.is-compact .brand img { width: 155px; }
.site-header.is-compact nav a { font-size: .82rem; }
.section { padding-top: 86px; padding-bottom: 86px; }
#galerie, #getraenke, #anfahrt { scroll-margin-top: 94px; }
.subpage-main { padding-top: 170px; }
.subpage .site-header { position: fixed; background: rgba(5,36,66,.97); }
.site-header nav { gap: clamp(12px, 1.7vw, 25px); }
.site-header nav a { white-space: nowrap; font-size: clamp(.76rem, 1.1vw, .88rem); }
.site-header nav a { position: relative; }
.site-header nav a[aria-current] { color: #c8e6ff; text-decoration: none; }
.site-header nav a[aria-current]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 3px;
  border-radius: 2px;
  background: #71bfff;
}
.site-header nav a:focus-visible, .menu-button:focus-visible { outline: 3px solid #9fd3ff; outline-offset: 5px; }

@media (max-width: 1050px) {
  .nav-wrap { height: 92px; }
  .brand img { width: 190px; }
  .menu-button { display: block; background: rgba(255,255,255,.09); color: #fff; border: 1px solid rgba(255,255,255,.44); padding: 10px 13px; }
  .site-header nav { display: none; position: absolute; top: 92px; left: 0; right: 0; max-height: calc(100vh - 92px); overflow-y: auto; background: rgba(5,36,66,.99); padding: 22px 28px; flex-direction: column; align-items: stretch; gap: 2px; }
  .site-header nav.open { display: flex; }
  .site-header nav a { padding: 11px 0; font-size: .9rem; }
  .site-header nav a[aria-current]::after { left: -12px; right: auto; top: 8px; bottom: 8px; width: 3px; height: auto; }
  .site-header.is-compact .nav-wrap { height: 64px; }
  .site-header.is-compact .brand img { width: 135px; }
  .site-header.is-compact nav { top: 64px; }
  .section { padding-top: 68px; padding-bottom: 68px; }
  #galerie, #getraenke, #anfahrt { scroll-margin-top: 78px; }
  .subpage-main { padding-top: 140px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .nav-wrap, .brand img { transition: none; }
}
