@media (max-width: 700px) {
  .header, .site-header { position: relative; z-index: 50; height: 88px; }
  .mobile-menu summary, body .site-header .menu-toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
    min-width: 100px; min-height: 48px; padding: 10px 0 10px 12px;
    border: 0; border-radius: 0; background: transparent; color: #f7f5ef;
    font: inherit; font-size: 12px; cursor: pointer; text-decoration: none;
  }
  .menu-glyph { display: flex; flex-direction: column; gap: 7px; width: 29px; }
  .menu-glyph i { display: block; width: 29px; height: 2px; background: #ffb832; transition: transform .2s, width .2s; }
  .menu-glyph i:last-child { width: 18px; align-self: flex-end; }
  body .menu-toggle[aria-expanded="true"], .mobile-menu[open] summary { background: transparent; color: #f7f5ef; }
  .menu-toggle[aria-expanded="true"] .menu-glyph i:first-child { transform: translateY(4.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-glyph i:last-child { width: 29px; transform: translateY(-4.5px) rotate(-45deg); }
  body .site-header #navigation, .mobile-menu nav {
    position: absolute; top: 78px; left: 0; right: 0; z-index: 60;
    padding: 12px; margin: 0; border: 0; border-left: 3px solid #ffb832;
    border-radius: 0; background: #f7f5ef; color: #271a3b;
    box-shadow: 0 20px 40px #0003; max-height: calc(100dvh - 100px);
    overflow-y: auto; overscroll-behavior: contain; gap: 0;
  }
  body .site-header #navigation.is-open { display: flex; align-items: stretch; }
  body .site-header #navigation > a, .mobile-menu nav > a {
    display: flex; align-items: center; min-height: 47px; padding: 12px 14px;
    border: 0; border-bottom: 1px solid #271a3b26; border-radius: 0;
    color: #271a3b; background: transparent; font-size: 14px;
    line-height: 1.5; text-decoration: none; justify-content: flex-start;
  }
  body .site-header #navigation > a:hover, .mobile-menu nav > a:hover { background: #e9e1f0; color: #523475; }
  body .site-header #navigation > .nav-contact, .mobile-menu nav > a:last-child {
    margin-top: 8px; border: 0; border-radius: 0; background: #ffb832; color: #271a3b;
  }
  .menu-toggle:focus-visible, .mobile-menu summary:focus-visible,
  #navigation a:focus-visible, .mobile-menu nav a:focus-visible { outline: 2px solid #ffb832; outline-offset: 3px; }
}
