/* PSM shared navigation – single visual system for homepage and public subpages */
:root{--psm-shared-header-mobile:64px;--psm-shared-drawer-width:min(86vw,340px)}

@media(max-width:759px){
  /* Same hamburger / X */
  body.psm26-homepage .p8-menu-button,
  .pp-menu-button{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    padding:0!important;
    background:#242426!important;
    border:1px solid rgba(255,255,255,.38)!important;
    border-radius:2px!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  body.psm26-homepage .p8-menu-button span,
  body.psm26-homepage .p8-menu-button::before,
  body.psm26-homepage .p8-menu-button::after,
  .pp-menu-button span,
  .pp-menu-button::before,
  .pp-menu-button::after{
    content:""!important;
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    height:2px!important;
    background:#fff!important;
    border-radius:999px!important;
    transition:.2s ease!important;
  }
  body.psm26-homepage .p8-menu-button span,
  .pp-menu-button span{top:20px!important;transform:none!important}
  body.psm26-homepage .p8-menu-button::before,
  .pp-menu-button::before{top:13px!important;transform:none!important}
  body.psm26-homepage .p8-menu-button::after,
  .pp-menu-button::after{top:27px!important;transform:none!important}
  body.psm26-homepage .p8-menu-button[aria-expanded="true"] span,
  .pp-menu-button[aria-expanded="true"] span{opacity:0!important}
  body.psm26-homepage .p8-menu-button[aria-expanded="true"]::before,
  .pp-menu-button[aria-expanded="true"]::before{top:20px!important;transform:rotate(45deg)!important}
  body.psm26-homepage .p8-menu-button[aria-expanded="true"]::after,
  .pp-menu-button[aria-expanded="true"]::after{top:20px!important;transform:rotate(-45deg)!important}

  /* Same backdrop */
  body.psm26-homepage .p8-drawer-backdrop,
  .pp-menu-backdrop{
    position:fixed!important;
    inset:var(--psm-shared-header-mobile) 0 0 0!important;
    z-index:5998!important;
    background:rgba(0,0,0,.62)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .22s ease!important;
  }
  body.psm26-homepage .p8-drawer-backdrop.open,
  .pp-menu-backdrop.open{
    opacity:.72!important;
    pointer-events:auto!important;
  }

  /* Same drawer */
  body.psm26-homepage .p8-drawer,
  .pp-menu-drawer{
    position:fixed!important;
    left:0!important;
    right:auto!important;
    top:var(--psm-shared-header-mobile)!important;
    bottom:0!important;
    width:var(--psm-shared-drawer-width)!important;
    height:calc(100dvh - var(--psm-shared-header-mobile))!important;
    z-index:5999!important;
    display:flex!important;
    flex-direction:column!important;
    padding:28px 18px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    background:#0b0b0c!important;
    color:#fff!important;
    border:0!important;
    border-right:1px solid rgba(255,255,255,.16)!important;
    box-shadow:20px 0 55px rgba(0,0,0,.28)!important;
    transform:translateX(-104%)!important;
    transition:transform .24s ease!important;
  }
  body.psm26-homepage .p8-drawer.open,
  .pp-menu-drawer.open{transform:translateX(0)!important}

  /* No second logo / no separate close row inside drawer */
  body.psm26-homepage .p8-drawer-head,
  .pp-menu-head{display:none!important}

  /* Identical divider + label */
  body.psm26-homepage .p8-menu-label,
  .pp-menu-label{
    display:block!important;
    margin:0 0 18px!important;
    padding:20px 16px 0!important;
    border-top:1px solid rgba(255,255,255,.58)!important;
    color:#fff!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:.76rem!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }

  /* Identical menu list */
  body.psm26-homepage .p8-drawer-nav,
  .pp-menu-links{
    display:grid!important;
    grid-auto-rows:58px!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  body.psm26-homepage .p8-drawer-link,
  .pp-menu-link{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:0 16px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    background:transparent!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.58)!important;
    border-radius:2px!important;
    text-decoration:none!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:780!important;
    letter-spacing:-.015em!important;
  }
  body.psm26-homepage .p8-drawer-link:hover,
  body.psm26-homepage .p8-drawer-link.active,
  .pp-menu-link:hover,
  .pp-menu-link.active{
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    border-color:#fff!important;
  }

  body.pp-menu-open{overflow:hidden!important}
}

/* Tablet uses same visual geometry */
@media(min-width:760px) and (max-width:980px){
  .pp-menu-button{display:flex!important}
}


/* Remove legacy duplicate navigation heading from public-page menu */
@media(max-width:759px){
  .pp-menu-links::before{
    content:none!important;
    display:none!important;
  }
}

@media(max-width:759px){
  .pp-header{
    min-height:64px!important;
    height:64px!important;
  }
}
