.mobile-menu-button,
.mobile-menu-secondary,
.utility .mobile-menu-panel {
  display: none;
}

@media (max-width: 1024px) {
  .mobile-nav-ready .mobile-menu-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 11px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: transparent;
    color: var(--ink, var(--soft-black, var(--black)));
    cursor: pointer;
  }

  .mobile-menu-button span {
    width: 20px;
    height: 2px;
    flex: none;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
  }

  .mobile-menu-open .mobile-menu-button span:first-child {
    transform: translateY(7px) rotate(45deg);
  }

  .mobile-menu-open .mobile-menu-button span:nth-child(2) {
    opacity: 0;
  }

  .mobile-menu-open .mobile-menu-button span:last-child {
    transform: translateY(-7px) rotate(-45deg);
  }

  .mobile-menu-button:focus-visible,
  .mobile-nav-ready .main-nav a:focus-visible,
  .mobile-nav-ready .mobile-menu-panel a:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
  }

  .mobile-nav-ready .site-header .shell {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-items: stretch;
    gap: 12px;
  }

  .mobile-nav-ready .site-header .brand {
    justify-self: start;
  }

  .mobile-nav-ready .site-header .header-tools {
    display: none;
  }

  .mobile-nav-ready .site-header .main-nav {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 100;
    width: min(340px, calc(100vw - 32px));
    max-height: calc(100dvh - 105px);
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 0;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--mint);
    box-shadow: 0 14px 30px rgba(17, 17, 17, .12);
    text-align: left;
    white-space: normal;
  }

  .mobile-nav-ready .site-header .mobile-menu-open .main-nav {
    display: flex;
  }

  .mobile-nav-ready .site-header .main-nav > a,
  .mobile-nav-ready .site-header .mobile-menu-secondary a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 44px;
    padding: 10px 18px;
  }

  .mobile-nav-ready .site-header .mobile-menu-secondary {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--line);
  }

  .mobile-nav-ready .utility {
    position: relative;
    z-index: 30;
  }

  .mobile-nav-ready .utility .shell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .mobile-nav-ready .utility .shell > nav:not(.mobile-menu-panel) {
    display: none;
  }

  .mobile-nav-ready .utility .mobile-menu-panel {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 100;
    width: min(340px, calc(100vw - 32px));
    max-height: calc(100dvh - 105px);
    overflow-y: auto;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 8px 0;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--sage);
    box-shadow: 0 14px 30px rgba(17, 17, 17, .12);
  }

  .mobile-nav-ready .utility .mobile-menu-open .mobile-menu-panel {
    display: flex;
  }

  .mobile-nav-ready .utility .mobile-menu-panel a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 18px;
    font-size: 12px;
  }
}

@media (max-width: 620px) {
  .mobile-nav-ready .hero {
    margin-top: 86px;
  }

  .mobile-nav-ready .hero,
  .mobile-nav-ready .hero-content {
    min-height: calc(100svh - 86px);
  }
}

@media (min-width: 500px) and (max-width: 620px) and (max-height: 500px) {
  .mobile-nav-ready .hero {
    margin-top: 60px;
  }

  .mobile-nav-ready .hero,
  .mobile-nav-ready .hero-content {
    min-height: calc(100svh - 60px);
  }
}
