/* Die Navigation bleibt stehen, waehrend der Seiteninhalt darunter scrollt. */
:root { --navigation-height: 112px; }
html { scroll-padding-top: calc(var(--navigation-height) + 24px); }
.menu-toggle[aria-expanded="true"] svg { display: none; }
.menu-toggle[aria-expanded="true"]::before { content: '\00d7'; font-size: 32px; line-height: 1; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--charcoal, #222525);
  box-shadow: 0 1px 0 #ffffff14, 0 5px 18px #00000012;
}
@media (max-width: 1050px) {
  :root { --navigation-height: 94px; }
}
@media (max-width: 700px) {
  :root { --navigation-height: 87px; }
  .site-header .mobile-nav {
    max-height: calc(100vh - var(--navigation-height));
    max-height: calc(100dvh - var(--navigation-height));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (min-width: 701px) {
  .site-header .mobile-nav { display: none!important; }
}
@media print {
  html { scroll-padding-top: 0; }
  .site-header { position: static; box-shadow: none; }
}
.footer-legal { flex-wrap: wrap; }
@media (min-width: 1051px) {
  .footer-inner { grid-template-columns: .85fr 1.3fr 1fr max-content; }
  .footer-legal { flex-wrap: nowrap; gap: 20px; padding-left: 24px; }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .site-header .desktop-nav { gap: 16px; }
  .site-header .desktop-nav a { font-size: 14px; white-space: nowrap; }
  .site-header .header-inner { gap: 22px; }
}
