@media (min-width: 901px) {
  .nav { position: relative; }
  .nav-links {
    position: absolute;
    left: 42%;
    margin-right: 0;
    transform: translateX(-50%);
    gap: 38px;
  }
  .nav-links a { font-size: 18px; }
  .nav-actions { margin-left: auto; }
  .header-partner { flex: 0 0 auto; }
}

.nav-links a {
  position: relative;
  transition: color .2s, text-shadow .2s;
}

.nav-links a.is-active,
.nav-links a[aria-current="page"] {
  padding: 8px 12px;
  border-radius: 6px;
  background: rgba(255, 226, 122, .14);
  color: #ffe27a !important;
  font-weight: 700;
  text-shadow: 0 0 8px rgba(255, 226, 122, .75), 0 0 20px rgba(244, 207, 85, .45);
}

.nav-links a.is-active::after,
.nav-links a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 24px;
  height: 2px;
  border-radius: 99px;
  background: #ffe27a;
  box-shadow: 0 0 8px #ffe27a, 0 0 18px rgba(244, 207, 85, .75);
  transform: translateX(-50%);
}

.image-action[aria-current="page"] {
  border-color: #ffe27a !important;
  background: rgba(255, 226, 122, .14);
  box-shadow: 0 0 10px #ffe27a, 0 0 28px rgba(244, 207, 85, .75) !important;
  transform: translateY(-2px) scale(1.04);
}

@media (max-width: 900px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .nav {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }
  .nav > .logo {
    grid-column: 1;
  }
  .nav-actions.image-actions {
    position: static;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    display: flex !important;
    margin: 0 !important;
    gap: 6px !important;
    transform: none;
  }
  .image-action img {
    width: 92px !important;
  }
  .menu {
    position: relative;
    z-index: 4;
    grid-column: 3;
    grid-row: 1;
    display: block !important;
    justify-self: end;
    margin: 0;
    padding: 8px 0 8px 8px;
  }
  .header-partner {
    display: none !important;
  }
  .nav.open .nav-links {
    grid-column: 1 / -1;
    z-index: 3;
    transform: none;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .5);
  }
}

@media (max-width: 600px) {
  .brand-logo { width: 108px !important; }
  .image-action { padding: 2px !important; }
  .image-action img { width: 64px !important; }
  .menu { font-size: 26px; }
  .nav.open .nav-links { top: 68px; }
}

@media (max-width: 360px) {
  .brand-logo { width: 90px !important; }
  .image-action img { width: 56px !important; }
}
