.menu-toggle { display: none; }
.skip { z-index: 20; }

@media (max-width: 760px) {
  header.site-header.menu-ready,
  body.home-page header.site-header.menu-ready {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: auto;
    gap: 8px;
    padding: 12px 5%;
    z-index: 10;
  }
  body.home-page header.site-header.menu-ready { position: absolute; }
  .site-header.menu-ready .brand,
  body.home-page .site-header.menu-ready .brand {
    grid-column: 1;
    grid-row: 1;
    font-size: 20px;
  }
  .site-header.menu-ready .brand span,
  body.home-page .site-header.menu-ready .brand span { font-size: 9px; letter-spacing: .12em; margin-top: 4px; }
  .site-header.menu-ready .languages,
  body.home-page .site-header.menu-ready .languages {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    align-items: center;
    margin: 0;
    gap: 4px;
    font-size: 11px;
  }
  .site-header.menu-ready .languages a { display: flex; align-items: center; min-height: 40px; }
  .site-header.menu-ready .menu-toggle {
    grid-column: 3;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-height: 44px;
    padding: 6px 2px 6px 8px;
    border: 0;
    color: inherit;
    background: transparent;
    font-size: 13px;
    cursor: pointer;
  }
  .site-header.menu-ready .menu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
  .menu-icon { position: relative; display: block; width: 19px; height: 14px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
  .menu-icon::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1.5px solid currentColor; transform: translateY(-50%); }
  .menu-open .menu-icon { border-color: transparent; }
  .menu-open .menu-icon::before { transform: translateY(-50%) rotate(45deg); }
  .menu-open .menu-icon::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1.5px solid currentColor; transform: translateY(-50%) rotate(-45deg); }
  .site-header.menu-ready .site-nav,
  body.home-page .site-header.menu-ready .site-nav {
    position: absolute;
    inset: calc(100% + 4px) 5% auto;
    grid-area: auto;
    justify-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: auto;
    max-height: calc(100svh - 100px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    white-space: normal;
    padding: 10px 18px;
    gap: 0;
    border: 1px solid #dfe3e6;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 40px #04132626;
  }
  body.home-page .site-header.menu-ready .site-nav { background: #0b2135fa; border-color: #ffffff29; }
  .site-header.menu-ready:not(.menu-open) .site-nav,
  body.home-page .site-header.menu-ready:not(.menu-open) .site-nav { display: none; }
  .site-header.menu-ready .site-nav a,
  body.home-page .site-header.menu-ready .site-nav a {
    flex: 0 0 auto;
    justify-content: flex-start;
    min-height: 48px;
    padding: 10px 2px;
    font-size: 18px;
    line-height: 1.4;
    text-align: left;
    text-shadow: none;
  }
  .site-header.menu-ready .site-nav a + a { border-top: 1px solid #dfe3e6; }
  body.home-page .site-header.menu-ready .site-nav a + a { border-top-color: #ffffff26; }
  .site-header.menu-ready .site-nav a::before,
  .site-header.menu-ready .site-nav a::after { display: none; }
  .site-header.menu-ready .site-nav a[aria-current] { font-weight: 600; }
  .site-header.menu-ready .site-nav a:focus-visible { outline-offset: -2px; }
  body.home-page:has(.site-header.menu-ready) .hero-copy { padding-top: 125px; }
}
