@media (max-width: 1180px) and (min-width: 901px) {
  .site-header nav { gap: 20px; }
  .site-header nav a { font-size: 12px; }
  .nav-cta { padding: 10px 14px; font-size: 12px; }
}

@media (max-width: 900px) {
  body.nav-open { overflow: hidden; }

  body.nav-open .site-header {
    position: fixed;
    background: #102a45;
    border-bottom-color: rgba(255,255,255,.12);
  }

  body.nav-open .site-header nav {
    display: flex;
    position: absolute;
    top: 82px;
    left: 0;
    right: 0;
    height: calc(100vh - 82px);
    padding: 42px 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: #102a45;
  }

  body.nav-open .site-header nav a {
    width: 100%;
    padding: 19px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font: 500 27px Manrope, sans-serif;
    letter-spacing: -1px;
  }

  .menu { position: relative; z-index: 2; }
}
