/* CRADLE V89-R8 mobile header correction layer.
   Loaded after mobile-v89.css so the bounded mobile menu and commercial C alignment
   cannot be superseded by earlier responsive rules. Desktop presentation is untouched. */

@media (max-width: 760px), (max-width: 900px) and (pointer: coarse) {
  /* V89-R15: match the higher-specificity #site-header containment owner.
     The earlier mobile containment rule uses #site-header with !important,
     so a class-only overflow reset cannot release the dropdown below the
     fixed 76px header even though the menu state and close icon activate. */
  body.mobile-v89-lite #site-header {
    z-index: 5200 !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  body.mobile-v89-lite .nav-shell,
  body.mobile-v89-lite .site-header.is-scrolled .nav-shell {
    overflow: visible !important;
    isolation: isolate;
  }

  body.mobile-v89-lite .mobile-menu-button {
    position: relative !important;
    z-index: 5202 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
  }

  body.mobile-v89-lite #primary-links {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 76px) !important;
    right: 12px !important;
    bottom: auto !important;
    left: 12px !important;
    z-index: 5201 !important;
    display: none !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 92px) !important;
    box-sizing: border-box;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    border: 1px solid rgba(186, 118, 255, .34) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(18, 6, 37, .985), rgba(6, 2, 16, .99)),
      radial-gradient(circle at 50% -15%, rgba(151, 64, 255, .18), transparent 58%) !important;
    box-shadow:
      0 28px 80px rgba(0, 0, 0, .68),
      inset 0 1px 0 rgba(255, 255, 255, .065),
      0 0 32px rgba(117, 42, 230, .12) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
  }

  body.mobile-v89-lite .site-header.menu-open #primary-links {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  body.mobile-v89-lite #primary-links > a {
    display: flex !important;
    min-height: 44px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px !important;
    border: 1px solid transparent;
    border-radius: 10px;
    color: rgba(244, 236, 255, .9);
    background: rgba(255, 255, 255, .018);
  }

  body.mobile-v89-lite #primary-links > a:hover,
  body.mobile-v89-lite #primary-links > a:focus-visible,
  body.mobile-v89-lite #primary-links > a.is-active {
    border-color: rgba(183, 112, 255, .22);
    background: rgba(117, 39, 221, .16);
  }

  body.mobile-v89-lite #primary-links .mobile-nav-actions-v89r6 {
    display: grid !important;
  }

  /* The platform aperture is at 45% of the mobile engine stage, not the viewport center. */
  body.mobile-v89-lite .commercial-section-v58[data-commercial-fix="65"] .commercial-engine-stage-v59 {
    --projection-x: 45% !important;
  }
}
