/* Pellaworks mobile nav overlay - full-screen animated menu.
   Loaded after the bundled layout CSS; active only at the mobile breakpoint.
   The overlay sits below the nav bar (z-index 20) so the brand and the
   hamburger/close button stay visible on top of it. */
.pw-nav-overlay { display: none; }

@media (max-width: 900px) {
  /* The bundled dropdown menu is replaced by this overlay. */
  .nav-links { display: none !important; }

  .pw-nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 15;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 8vw 40px;
    background: linear-gradient(160deg, #087dd9 0%, #0a91eb 55%, #0a78cf 100%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
  }
  .pw-nav-overlay.open {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.35s ease;
  }

  .pw-nav-overlay .pw-nav-links {
    display: flex;
    flex-direction: column;
  }
  .pw-nav-overlay a {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 18px 0;
    color: #fff;
    font: 700 clamp(42px, 10vw, 60px) Manrope, sans-serif;
    letter-spacing: -0.045em;
    line-height: 1.05;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.45s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-tap-highlight-color: transparent;
  }
  .pw-nav-overlay.open a { opacity: 1; transform: none; }
  .pw-nav-overlay.open a:nth-child(1) { transition-delay: 0.10s; }
  .pw-nav-overlay.open a:nth-child(2) { transition-delay: 0.18s; }
  .pw-nav-overlay.open a:nth-child(3) { transition-delay: 0.26s; }

  .pw-nav-overlay a .pw-idx {
    font: 600 12px Manrope, sans-serif;
    letter-spacing: 0.15em;
    opacity: 0.55;
  }

  .pw-overlay-foot {
    margin: 46px 0 0;
    color: rgba(255, 255, 255, 0.65);
    font: 600 11px Manrope, sans-serif;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.45s ease 0.34s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.34s;
  }
  .pw-nav-overlay.open .pw-overlay-foot { opacity: 1; transform: none; }

  /* Hamburger morphs into a close icon. */
  .menu span {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease, background-color 0.2s;
  }
  .menu.pw-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu.pw-open span:nth-child(2) { opacity: 0; }
  .menu.pw-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

html.pw-lock, body.pw-lock { overflow: hidden; }
