/* Shared responsive shell for public pages.
   Page-specific styles may vary, but navigation must not drift into horizontal
   overflow on phones. Keep this file loaded after each page's inline styles. */

@media (max-width: 640px) {
  nav .container,
  nav .nav-inner {
    min-width: 0;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  nav .logo {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  nav .nav-links {
    display: flex !important;
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
    gap: 0 !important;
  }

  nav .nav-links > a:not(.nav-cta) {
    display: none !important;
  }

  nav .nav-links > .nav-cta {
    display: inline-block !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  article table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  article img,
  article svg,
  article video,
  article iframe,
  main img,
  main svg,
  main video,
  main iframe {
    max-width: 100%;
  }
}
