body.ap-menu-open { overflow: hidden; }
.ap-mobile-menu { position: fixed; inset: 0; z-index: 80; visibility: hidden; pointer-events: none; }
.ap-mobile-menu.is-open { visibility: visible; pointer-events: auto; }
.ap-mobile-menu__backdrop { position: absolute; inset: 0; background: rgba(2, 6, 23, .45); opacity: 0; transition: opacity .2s ease; }
.ap-mobile-menu.is-open .ap-mobile-menu__backdrop { opacity: 1; }
.ap-mobile-menu__panel { position: absolute; top: 0; right: 0; width: min(22rem, 88vw); min-height: 100%; background: #fff; color: #0f172a; box-shadow: -16px 0 40px rgba(15, 23, 42, .18); transform: translateX(100%); transition: transform .24s ease; }
.dark .ap-mobile-menu__panel { background: #0f172a; color: #f8fafc; }
.ap-mobile-menu.is-open .ap-mobile-menu__panel { transform: translateX(0); }
.ap-mobile-menu__head { display: flex; align-items: center; justify-content: space-between; height: 5rem; padding: 0 1.25rem; border-bottom: 1px solid rgba(100, 116, 139, .25); font-weight: 700; }
.ap-mobile-menu__head button { width: 2.75rem; height: 2.75rem; border: 0; border-radius: 999px; background: transparent; color: inherit; font-size: 2rem; line-height: 1; cursor: pointer; }
.ap-mobile-menu nav { display: grid; padding: .75rem; }
.ap-mobile-menu nav a { padding: .9rem 1rem; border-radius: .75rem; color: inherit; font-weight: 600; text-decoration: none; }
.ap-mobile-menu nav a:hover, .ap-mobile-menu nav a:focus-visible { background: rgba(14, 116, 144, .11); outline: none; }
