/* Mobile menu: on phones and portrait tablets the four links move into a full-screen menu opened by a button */
.mm-btn, .mm { display: none; }
@media (max-width: 768px), (orientation: portrait) and (max-width: 1024px) {
  .site-header nav, #nav { justify-content: flex-end !important; padding: 2.5vw 4vw !important; gap: 0 !important; }
  .site-header.scrolled nav, #nav.scrolled { padding-block: 1.2vw !important; }
  .site-header nav > a:not(.mm-keep), #nav > a:not(.mm-keep) { display: none; }
  .mm-btn { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .mm-btn span, .mm-btn span::before { display: block; width: 24px; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform .3s ease, background-color .3s ease; }
  .mm-btn span { position: relative; }
  .mm-btn span::before { content: ""; position: absolute; left: 0; top: 7px; }
  .mm-btn span { transform: translateY(-3.5px); }
  .mm-open .mm-btn span { transform: translateY(3.5px) rotate(45deg); }
  .mm-open .mm-btn span::before { transform: translateY(-7px) rotate(-90deg); top: 7px; }
  .mm { display: flex; position: fixed; inset: 0; z-index: 1000000; flex-direction: column; justify-content: center; align-items: center; gap: 1.4rem; background: #0b0b0e; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
  .mm-open .mm { opacity: 1; visibility: visible; transition: opacity .3s ease; }
  .mm a { color: #8c8c8c; text-decoration: none; font-size: clamp(22px, 7vw, 34px); font-weight: 300; letter-spacing: .12em; text-transform: uppercase; padding: .35em 0; }
  .mm a:hover, .mm a[aria-current="page"] { color: #fff; }
  .mm-open .site-header, .mm-open #nav { z-index: 1000001; transform: none !important; background: none !important; }
  .mm-open, .mm-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { .mm, .mm-btn span, .mm-btn span::before { transition: none; } }
