.nav-service.is-open .services-dropdown,
.services-dropdown.is-mobile-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate3d(-50%, 0, 0);
}

.nav-service.is-open .nav-trigger,
.nav-trigger[aria-expanded="true"] {
  color: var(--brand-red-soft, #ff2424);
}

.nav-service.is-open .nav-trigger svg,
.nav-trigger[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

@media (max-width: 900px) {
  .site-header {
    z-index: 120;
  }

  .nav-shell {
    position: relative;
  }

  .nav-links {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  .nav-service {
    position: static;
  }

  .services-dropdown,
  .services-dropdown.services-mega {
    position: fixed;
    top: var(--mobile-nav-dropdown-top, 112px);
    right: 14px;
    left: 14px;
    width: auto;
    max-width: none;
    max-height: min(74dvh, var(--mobile-nav-dropdown-height, calc(100dvh - var(--mobile-nav-dropdown-top, 112px) - 16px)));
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
    overflow-y: auto;
    border-radius: 18px;
    overscroll-behavior: contain;
    transform: translate3d(0, 6px, 0);
    z-index: 999;
  }

  .nav-service.is-open .services-dropdown,
  .nav-service.is-open .services-dropdown.services-mega,
  .services-dropdown.is-mobile-open,
  .services-dropdown.services-mega.is-mobile-open {
    transform: translate3d(0, 0, 0);
  }

  .services-col {
    gap: 10px;
  }

  .services-col strong {
    font-size: 15px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
  }

  .services-dropdown.services-mega a,
  .services-dropdown a {
    min-height: 42px;
    padding: 0 4px;
    font-size: 15px;
  }
}

@media (max-width: 520px) {
  .services-dropdown,
  .services-dropdown.services-mega {
    right: 10px;
    left: 10px;
    max-height: min(78dvh, var(--mobile-nav-dropdown-height, calc(100dvh - var(--mobile-nav-dropdown-top, 112px) - 12px)));
    padding: 16px;
  }
}
