:root {
  --reher-header-top: 2rem;
  --reher-header-bottom: calc(var(--reher-header-top) + 4rem);
  --reher-header-inline: 1rem;
  --reher-admin-bar-offset: 0px;
  --reher-header-radius: 0.875rem;
  --reher-header-control-radius: 0.625rem;
  --reher-header-foreground: var(--foreground, oklch(14.7% 0.004 49.3));
  --reher-header-surface: color-mix(
    in oklab,
    var(--card, oklch(98.6% 0.002 67.8)) 58%,
    transparent
  );
  --reher-header-panel: color-mix(
    in oklab,
    var(--card, oklch(98.6% 0.002 67.8)) 92%,
    transparent
  );
  --reher-header-border: color-mix(
    in oklab,
    var(--foreground, oklch(14.7% 0.004 49.3)) 12%,
    transparent
  );
  --reher-header-hover: color-mix(
    in oklab,
    var(--foreground, oklch(14.7% 0.004 49.3)) 8%,
    transparent
  );
  --reher-header-focus: var(--ring, oklch(54.7% 0.021 43.1));
}

.dark {
  --reher-header-foreground: var(--foreground, oklch(1 0 0));
  --reher-header-surface: color-mix(
    in oklab,
    var(--card, oklch(21.4% 0.009 43.1)) 74%,
    transparent
  );
  --reher-header-panel: color-mix(
    in oklab,
    var(--card, oklch(21.4% 0.009 43.1)) 94%,
    transparent
  );
  --reher-header-border: color-mix(
    in oklab,
    var(--foreground, oklch(1 0 0)) 14%,
    transparent
  );
  --reher-header-hover: color-mix(
    in oklab,
    var(--foreground, oklch(1 0 0)) 10%,
    transparent
  );
}

.site-header {
  position: fixed;
  top: calc(var(--reher-header-top) + var(--reher-admin-bar-offset));
  left: 50%;
  z-index: 1000;
  width: min(calc(100% - (2 * var(--reher-header-inline))), 72rem);
  color: var(--reher-header-foreground);
  font-family: "Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
  transform: translateX(-50%);
}

.admin-bar {
  --reher-admin-bar-offset: 32px;
}

.site-header,
.site-header * {
  box-sizing: border-box;
}

.site-header__surface {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  gap: 1rem;
  min-height: 4rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--reher-header-border);
  border-radius: var(--reher-header-radius);
  background: var(--reher-header-surface);
  box-shadow:
    inset 1px 0.5px 0 color-mix(in oklab, white 70%, transparent),
    inset -1px -0.5px 0 color-mix(in oklab, white 55%, transparent),
    0 12px 32px color-mix(in oklab, black 10%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-header__surface::before,
.site-header__surface::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  content: "";
}

.site-header__surface::before {
  background: linear-gradient(
    135deg,
    color-mix(in oklab, white 58%, transparent),
    transparent 55%
  );
  opacity: 0.5;
}

.site-header__surface::after {
  background: linear-gradient(
    315deg,
    color-mix(in oklab, white 24%, transparent),
    transparent 55%
  );
  opacity: 0.35;
}

.dark .site-header__surface {
  box-shadow:
    inset 1px 0.5px 0 color-mix(in oklab, white 14%, transparent),
    inset -1px -0.5px 0 color-mix(in oklab, white 7%, transparent),
    0 12px 32px color-mix(in oklab, black 28%, transparent);
}

.dark .site-header__surface::before,
.dark .site-header__surface::after {
  opacity: 0.12;
}

.site-header__brand,
.site-header__actions,
.site-header__nav {
  position: relative;
  z-index: 1;
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.site-header__brand-monogram,
.site-header__brand-wordmark {
  display: block;
  width: auto;
  object-fit: contain;
}

.site-header__brand-monogram {
  height: 1.75rem;
}

.site-header__brand-wordmark {
  height: 1rem;
}

.dark .site-header__brand-monogram,
.dark .site-header__brand-wordmark {
  filter: invert(1);
}

.site-header__nav {
  display: none;
  min-width: 0;
}

.site-header__menu,
.site-header__mobile-menu,
.site-header__cta-menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__menu {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.site-header__menu a:where(:not(.reher-button)),
.site-header__mobile-menu a:where(:not(.reher-button)) {
  display: flex;
  align-items: center;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 180ms ease,
    color 180ms ease;
}

.site-header__menu a:where(:not(.reher-button)) {
  min-height: 2.25rem;
  padding: 0.5rem 0.625rem;
  border-radius: var(--reher-header-control-radius);
}

.site-header__menu a:where(:not(.reher-button)):hover,
.site-header__menu .current-menu-item > a:where(:not(.reher-button)),
.site-header__menu .current_page_item > a:where(:not(.reher-button)),
.site-header__mobile-menu a:where(:not(.reher-button)):hover,
.site-header__mobile-menu .current-menu-item > a:where(:not(.reher-button)),
.site-header__mobile-menu .current_page_item > a:where(:not(.reher-button)) {
  background: var(--reher-header-hover);
}

.site-header__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.site-header__language-switcher {
  flex: 0 0 auto;
  /* Balance the mode icon's inset against the next button's visible edge. */
  margin-inline-end: 0.75rem;
}

.site-header__language-switcher .wpml-ls {
  clear: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.site-header__language-switcher .wpml-ls ul,
.site-header__language-switcher .wpml-ls li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__language-switcher .wpml-ls > ul,
.site-header__language-switcher .wpml-ls-current-language {
  position: relative;
}

.site-header__language-switcher .wpml-ls-flag,
.site-header__language-switcher .wpml-ls-display,
.site-header__language-switcher .wpml-ls-bracket {
  display: none;
}

.site-header__language-switcher .wpml-ls a.wpml-ls-item-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-height: 2.5rem;
  padding: 0 0.5rem;
  border: 0;
  border-radius: var(--reher-header-control-radius);
  background: transparent;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: 0;
  text-decoration: none;
  transition: color 180ms ease;
}

.site-header__language-switcher .wpml-ls-item-toggle .wpml-ls-native {
  display: none;
}

.site-header__language-switcher .wpml-ls-item-toggle::before {
  content: attr(lang);
  text-transform: uppercase;
}

/* Keep the visible label short without changing WPML's full language tags. */
.site-header__language-switcher .wpml-ls-item-toggle[lang|="de" i]::before {
  content: "DE";
}

.site-header__language-switcher .wpml-ls-item-toggle[lang|="en" i]::before {
  content: "EN";
}

.site-header__language-switcher
  .wpml-ls.wpml-ls-legacy-dropdown-click
  a.wpml-ls-item-toggle::after {
  position: static;
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: translateY(-0.09375rem) rotate(45deg);
}

.site-header__language-switcher .wpml-ls .wpml-ls-current-language:hover > a,
.site-header__language-switcher .wpml-ls a.wpml-ls-item-toggle:focus,
.site-header__language-switcher
  .wpml-ls
  a.wpml-ls-item-toggle[aria-expanded="true"] {
  background: transparent;
  color: inherit;
}

.site-header__language-switcher .wpml-ls-sub-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  left: auto;
  z-index: 101;
  min-width: 7.5rem;
  padding: 0.25rem;
  visibility: hidden;
  border: 1px solid var(--reher-header-border);
  border-radius: var(--reher-header-control-radius);
  background: var(--reher-header-panel);
  box-shadow: 0 12px 28px color-mix(in oklab, black 14%, transparent);
}

.site-header__language-switcher #wpml-ls-submenu-click-default {
  background: var(--reher-header-panel);
}

.site-header__language-switcher .wpml-ls-sub-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  width: 100%;
  height: 0.375rem;
  content: "";
}

.site-header:has(.site-header__mobile-noscript)
  .site-header__language-switcher
  .wpml-ls-current-language:hover
  > .wpml-ls-sub-menu,
.site-header:has(.site-header__mobile-noscript)
  .site-header__language-switcher
  .wpml-ls-current-language:focus-within
  > .wpml-ls-sub-menu {
  visibility: visible;
}

.site-header__language-switcher .wpml-ls-sub-menu a {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.625rem 0.75rem;
  border: 0;
  border-radius: calc(var(--reher-header-control-radius) - 0.25rem);
  background: transparent;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__language-switcher .wpml-ls-sub-menu a:hover,
.site-header__language-switcher .wpml-ls-sub-menu a:focus {
  background: var(--reher-header-hover);
  color: inherit;
}

.dark .site-header__language-switcher .wpml-ls-sub-menu {
  box-shadow: none;
}

.site-header__theme-mode-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: var(--reher-header-control-radius);
  background: transparent;
  box-shadow: none;
  color: inherit;
  cursor: pointer;
  transition: color 180ms ease;
}

.site-header__theme-mode-trigger:hover,
.site-header__language-switcher .wpml-ls a.wpml-ls-item-toggle:hover {
  color: var(--muted-foreground, currentColor);
}

.site-header__theme-mode-trigger[hidden] {
  display: none;
}

.site-header__theme-mode-icon {
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 180ms ease;
}

.site-header__theme-mode-icon--sun {
  transform: rotate(0deg) scale(1);
}

.site-header__theme-mode-icon--moon {
  transform: rotate(90deg) scale(0);
}

.dark .site-header__theme-mode-icon--sun {
  transform: rotate(-90deg) scale(0);
}

.dark .site-header__theme-mode-icon--moon {
  transform: rotate(0deg) scale(1);
}

.site-header__cta-menu > li:not(:first-child) {
  display: none;
}

.site-header__cta--desktop {
  display: none;
}

.site-header__menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  width: 2.5rem;
  min-width: 0;
  max-width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--reher-header-border);
  border-radius: var(--reher-header-control-radius);
  background: var(--reher-header-hover);
  color: inherit;
}

.site-header__menu-toggle[hidden],
.site-header__mobile-panel[hidden] {
  display: none;
}

.site-header__menu-icon {
  width: 1.125rem;
  height: 1.125rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-header__menu-icon--close {
  display: none;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon--open {
  display: none;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon--close {
  display: block;
}

.site-header__mobile-panel,
.site-header__mobile-noscript {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  left: 0;
  z-index: 2;
  padding: 0.5rem;
  max-height: calc(
    100svh - var(--reher-header-top) - var(--reher-admin-bar-offset) -
      var(--reher-header-height, 5rem) - 1rem
  );
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--reher-header-border);
  border-radius: var(--reher-header-radius);
  background: var(--card, oklch(98.6% 0.002 67.8));
  box-shadow: 0 16px 40px color-mix(in oklab, black 16%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.site-header__mobile-menu {
  flex-direction: column;
  gap: 0.125rem;
}

.site-header__mobile-menu a {
  min-height: 2.75rem;
  padding: 0.75rem;
  border-radius: var(--reher-header-control-radius);
}

.site-header__mobile-cta {
  margin-top: 0.5rem;
}

.site-header__cta-menu--mobile,
.site-header__cta-menu--mobile > li,
.site-header__cta-menu--mobile a {
  width: 100%;
}

.site-header a:not(.reher-button):focus-visible,
.site-header button:focus-visible {
  outline: 3px solid var(--reher-header-focus);
  outline-offset: 2px;
}

@media (max-width: 23.5rem) {
  .site-header__surface {
    gap: 0.5rem;
    padding-inline: 0.75rem;
  }

  .site-header__brand {
    gap: 0.375rem;
  }

  .site-header__brand-wordmark {
    height: 0.875rem;
  }
}

@media (max-width: 48.875rem) {
  .admin-bar {
    --reher-admin-bar-offset: 46px;
  }
}

/* A permanent no-script menu must reserve space instead of covering Page content. */
@media (width < 64rem) {
  .site-header:has(.site-header__mobile-noscript) {
    position: relative;
    top: auto;
    margin-top: var(--reher-header-top);
  }

  .site-header__surface > noscript:has(.site-header__mobile-noscript) {
    grid-column: 1 / -1;
  }

  .site-header__mobile-noscript {
    position: static;
    max-height: none;
    margin-top: 0.5rem;
    overflow: visible;
  }
}

@media (min-width: 64rem) {
  :root {
    --reher-header-inline: 2rem;
  }

  .site-header__surface {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
    gap: 1.25rem;
  }

  .site-header__nav {
    display: block;
  }

  .site-header__cta--desktop {
    display: block;
  }

  .site-header__menu-toggle,
  .site-header__mobile-panel,
  .site-header__mobile-noscript {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__menu a,
  .site-header__mobile-menu a,
  .site-header__cta-menu a {
    transition: none;
  }

  .site-header__theme-mode-trigger,
  .site-header__language-switcher .wpml-ls a.wpml-ls-item-toggle,
  .site-header__theme-mode-icon {
    transition: none;
  }
}

/* Native disclosure navigation: the same menu tree serves all three views. */
.site-header__group-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
  min-height: 2.75rem;
  padding: 0.75rem;
  border-radius: var(--reher-header-control-radius);
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  list-style: none;
  cursor: pointer;
}

.site-header__group-trigger::-webkit-details-marker {
  display: none;
}

.site-header__group-trigger::marker {
  content: "";
}

.site-header__group-trigger:hover,
.site-header__group[open] > .site-header__group-trigger,
.current-menu-ancestor > .site-header__group > .site-header__group-trigger {
  background: var(--reher-header-hover);
}

.site-header__group-trigger:focus-visible {
  outline: 3px solid var(--reher-header-focus);
  outline-offset: 2px;
}

.site-header__group-chevron {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  transition: transform 180ms ease;
}

.site-header__group-label {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.site-header__group[open]
  > .site-header__group-trigger
  .site-header__group-chevron {
  transform: rotate(180deg);
}

.site-header__mega-panel,
.site-header__dropdown-panel {
  min-width: 0;
  padding: 0.5rem;
  color: var(--reher-header-foreground);
  overflow-wrap: anywhere;
}

.site-header__mega-panel :where(li, ul, div),
.site-header__dropdown-panel :where(li, ul, div) {
  min-width: 0;
}

.site-header__submenu-nested {
  display: grid;
  gap: 0.25rem;
  margin: 0.25rem 0 0;
  padding: 0 0 0 1rem;
  list-style: none;
  border-inline-start: 1px solid var(--reher-header-border);
}

.site-header__mega-intro {
  padding: 0.5rem 0.75rem;
}

.site-header__mega-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--muted-foreground);
  font-size: 0.6875rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-header__mega-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.site-header__mega-copy {
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  font-size: 0.875rem;
  line-height: 1.65;
}

.site-header__submenu {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__submenu a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0.75rem;
  border-radius: var(--reher-header-control-radius);
  white-space: normal;
  overflow-wrap: anywhere;
}

.site-header__group .site-header__submenu a,
.site-header__group .site-header__submenu-nested a {
  display: grid;
  white-space: normal;
}

.site-header__mega-cta-list {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__submenu-label {
  grid-column: 1;
  font-weight: 500;
  line-height: 1.4;
}

.site-header__submenu-description {
  grid-column: 1;
  grid-row: 2;
  display: block;
  margin-top: 0.25rem;
  color: var(--muted-foreground);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
}

.site-header__submenu-arrow {
  grid-column: 2;
  grid-row: 1;
  width: 1rem;
  height: 1rem;
}

.site-header__submenu-description ~ .site-header__submenu-arrow {
  grid-row: 1 / span 2;
}

.site-header__submenu-arrow svg {
  width: 100%;
  height: 100%;
}

.site-header__mega-cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.75rem;
  padding: 1.25rem;
  border-radius: var(--reher-header-control-radius);
  background: var(--reher-header-hover);
}

.site-header__mega-cta-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.025em;
}

.site-header__mega-cta .site-header__mega-cta-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 0.5rem;
  align-items: center;
  min-height: 2.75rem;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
}

.site-header__mega-cta-button .site-header__submenu-description {
  color: inherit;
}

.site-header__mega-cta .site-header__mega-cta-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.5rem;
  min-height: 2.75rem;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
}

.site-header__mega-cta-secondary svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

@media (width < 64rem) {
  .site-header__mega-eyebrow,
  .site-header__mega-copy,
  .site-header__mega-cta-title {
    display: none;
  }

  .site-header__mega-title {
    color: var(--muted-foreground);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .site-header__mega-cta {
    gap: 0.25rem;
    padding: 0.5rem;
  }
}

@media (min-width: 64rem) {
  .site-header__nav {
    position: static;
  }

  .site-header__group-trigger {
    justify-content: flex-start;
    min-height: 2.25rem;
    padding: 0.5rem 0.625rem;
    white-space: nowrap;
  }

  .site-header__mega-panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    left: 0;
    z-index: 3;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 1.5rem;
    max-height: calc(
      100svh - var(--reher-header-top) - var(--reher-admin-bar-offset) -
        var(--reher-header-height, 5rem) - 1rem
    );
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.75rem;
    border: 1px solid var(--reher-header-border);
    border-radius: var(--reher-header-radius);
    background: var(--card, oklch(98.6% 0.002 67.8));
    box-shadow: 0 16px 40px color-mix(in oklab, black 16%, transparent);
  }

  .site-header__group[open] > .site-header__mega-panel {
    display: grid;
  }

  .site-header__mega-panel--no-cta {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 2.2fr);
  }

  .site-header__mega-panel--no-intro {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }

  .site-header__mega-panel--no-intro.site-header__mega-panel--no-cta {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-header__group-item--dropdown {
    position: relative;
  }

  .site-header__dropdown-panel {
    position: absolute;
    inset-block-start: calc(100% + 0.5rem);
    inset-inline-start: 0;
    z-index: 3;
    width: min(21rem, calc(100vw - 3rem));
    max-height: calc(
      100svh - var(--reher-header-top) - var(--reher-admin-bar-offset) -
        var(--reher-header-height, 5rem) - 1rem
    );
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.75rem;
    border: 1px solid var(--reher-header-border);
    border-radius: var(--reher-header-radius);
    background: var(--card, oklch(98.6% 0.002 67.8));
    box-shadow: 0 16px 40px color-mix(in oklab, black 16%, transparent);
  }

  .site-header[data-reher-header-ready] .site-header__dropdown-panel {
    transform: translateX(var(--reher-header-dropdown-shift, 0px));
  }

  .site-header__mega-intro {
    padding: 0.5rem 0;
  }

  .site-header__mega-links {
    align-self: center;
  }

  .site-header__submenu a {
    padding-block: 1rem;
  }

  .site-header__mega-cta {
    margin-top: 0;
  }

  /* Without scripts the expanded navigation participates in document flow. */
  .site-header:has(.site-header__mobile-noscript):has(
      .site-header__group[open]
    ) {
    position: relative;
    top: auto;
    margin-top: var(--reher-header-top);
  }

  .site-header:has(.site-header__mobile-noscript) .site-header__mega-panel,
  .site-header:has(.site-header__mobile-noscript) .site-header__dropdown-panel {
    position: static;
    max-height: none;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0.75rem;
    padding: 0.75rem;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .site-header[data-reher-header-ready]
    .site-header__group[open]
    > .site-header__mega-panel {
    animation: reher-menu-reveal 200ms ease-out;
  }
}

@keyframes reher-menu-reveal {
  from {
    opacity: 0;
    transform: translateY(-0.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__group-chevron {
    transition: none;
  }
}
