/* Shared preview navigation: match the existing Contact button typography. */
.site-header { --menu-font-size: .88rem; }
.site-header .main-nav > a,
.site-header .main-nav .language-switch,
.site-header .menu-toggle { font-size: var(--menu-font-size); font-weight: 600; }
.site-header .main-nav > a { white-space: nowrap; }

/* Open the existing compact menu before larger labels crowd the header. */
@media (min-width: 851px) and (max-width: 1200px) {
  .site-header .header-inner { height: auto; min-height: 84px; padding-block: 15px; flex-wrap: wrap; }
  .site-header .main-nav { width: 100%; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
  .js .site-header .header-inner { height: 84px; padding-block: 0; flex-wrap: nowrap; }
  .js .site-header .menu-toggle { display: flex; align-items: center; gap: 12px; min-height: 46px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); padding: 12px 0 12px 12px; }
  .site-header .menu-lines { width: 20px; height: 10px; border-block: 1px solid currentColor; }
  .js .site-header .main-nav { display: none; position: absolute; top: 84px; left: 0; right: 0; width: 100%; padding: 16px 24px 23px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 14px 28px rgb(37 56 46 / 10%); align-items: stretch; flex-direction: column; gap: 8px; }
  .js .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav > a:not(.button) { width: 100%; }
  .site-header .main-nav > .button { align-self: flex-start; margin-top: 6px; }
  .site-header .language-switch { align-self: flex-start; }
}
