/* Preserve the existing overlay, typography and colors; keep submenus in flow. */
.nav .side-navigation-items .wrapper .main-items .submenu { height: auto; }
.nav .side-navigation-items .wrapper .main-items .main-item .sub-items,
.nav .side-navigation-items .wrapper .main-items .main-item .sub-items.open {
  transform: none; opacity: 1; transition: none; margin: 18px 0 0 54px; padding: 0;
}
.nav .side-navigation-items .wrapper .main-items .main-item .sub-items[hidden] { display: none; }
.nav .side-navigation-items .wrapper .main-items .main-item .submenu-button { gap: 12px; }
.nav .submenu-button::after { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -5px 0 0 7px; }
.nav .submenu-button[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: 5px; }
.nav .side-navigation-items .wrapper .main-items .main-item .sub-items a { min-height: 32px; align-items: center; }
.nav .side-navigation-items .wrapper .main-items .main-item .submenu-button.active { color: #fff !important; }
.nav .side-navigation-items .wrapper .main-items .main-item .nav-main-link { max-width: 100%; }
@media (max-width: 700px) {
  .nav .side-navigation-items { padding-left: 24px; padding-right: 24px; }
  .nav .side-navigation-items .wrapper { flex-direction: column; gap: 40px; margin-top: 76px; }
  .nav .side-navigation-items .wrapper .nav-main-items { width: 100%; }
  .nav .side-navigation-items .wrapper .main-items { width: 100%; gap: 24px; }
  .nav .side-navigation-items .wrapper .main-items .main-item .sub-items,
  .nav .side-navigation-items .wrapper .main-items .main-item .sub-items.open { margin-left: 26px; gap: 8px; }
  .nav .side-navigation-items .wrapper .main-items .main-item .sub-items a { min-height: 40px; }
  .nav .side-navigation-items .wrapper .teaser-wrapper { width: 100%; gap: 28px; }
  .nav .side-navigation-items .wrapper .blogpost-teaser { min-width: 0; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .nav .side-navigation-items, .nav .side-navigation-items .wrapper, .nav .side-navigation-items .main-item { transition: none !important; }
}

/* Keep semantic footer headings at the original compact navigation size. */
footer .footer-content .footer-heading {
  font: 700 1.062rem/1.375rem SourceSansPro !important;
  margin: 0 0 18px;
}
footer .footer-content .footer-heading a {
  color: var(--footer-link-color);
  font: inherit;
  text-decoration: none;
}
footer .footer-content .footer-heading a:hover {
  color: var(--footer-link-hover-color);
  text-decoration: underline;
}

/* Keep the four footer columns comfortably spaced; allow wrapping on small screens. */
footer .footer-content { gap: 64px clamp(24px, 4vw, 64px); }
