.h-burger {
  display: none;
  position: relative;
  z-index: 95;
  width: 32px;
  height: 32px;
  padding: 4px;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  color: var(--mid);
  cursor: pointer;
  touch-action: manipulation;
  flex: 0 0 32px;
}

.h-burger svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

body.site-menu-open {
  overflow: hidden;
}

body.site-menu-open header {
  z-index: 140 !important;
}

.site-menu-backdrop {
  display: none;
  position: fixed;
  inset: var(--site-menu-top, 50px) 0 0;
  z-index: 70;
  background: rgba(10, 10, 12, 0.62);
}

.site-menu-backdrop.open {
  display: block;
}

@media (hover: none) and (pointer: coarse), (max-width: 760px) {
  .h-burger {
    display: inline-flex !important;
  }

  .h-nav {
    display: flex !important;
    position: fixed !important;
    top: var(--site-menu-top, 50px) !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    z-index: 120 !important;
    width: min(286px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 18px) !important;
    min-width: 0 !important;
    height: calc(100svh - var(--site-menu-top, 50px)) !important;
    max-height: calc(100svh - var(--site-menu-top, 50px)) !important;
    min-height: calc(100svh - var(--site-menu-top, 50px)) !important;
    padding: 20px 18px 24px !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 1px solid var(--rule) !important;
    background: var(--bg) !important;
    box-shadow: -18px 0 48px rgba(0, 0, 0, 0.34) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 13px !important;
    overflow-y: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scaleX(0) !important;
    transform-origin: right top !important;
    transition: transform 0.24s ease, opacity 0.24s ease !important;
  }

  .h-nav.open {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: scaleX(1) !important;
  }

  .h-nav a {
    width: 100%;
    text-align: left;
  }
}

@media (max-width: 480px) {
  :root {
    --site-menu-top: 48px;
  }

  .site-menu-backdrop {
    inset: var(--site-menu-top, 48px) 0 0;
  }

  .h-nav {
    width: calc(100vw - 18px) !important;
  }
}
