/* IAMTD sitewide mobile navigation — canonical release candidate V62
   Desktop navigation remains unchanged. Mobile uses one body-level menu panel. */

.site-menu-toggle,
.site-menu-backdrop,
.site-mobile-menu-panel{
  display:none;
}

@media (max-width:900px){
  html,
  body{
    overflow-x:hidden;
  }

  body.site-menu-open{
    overflow:hidden !important;
    touch-action:none;
  }

  .site-header{
    position:relative !important;
    z-index:2147483000 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 48px !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    column-gap:12px !important;
    overflow:visible !important;
    isolation:auto !important;
  }

  .site-header > .brand-link{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }

  .site-header > nav[aria-label="Main navigation"]{
    display:none !important;
  }

  .site-header > .header-cta{
    display:none !important;
  }

  .site-header > button:not(.site-menu-toggle){
    display:none !important;
  }

  .resume-mobile-menu-toggle{
    display:none !important;
  }

  .site-header .site-menu-toggle{
    appearance:none !important;
    -webkit-appearance:none !important;
    position:relative !important;
    z-index:2147483646 !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;

    display:inline-flex !important;
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;

    align-items:center !important;
    justify-content:center !important;

    border:1px solid rgba(32,37,54,.16) !important;
    border-radius:13px !important;
    background:#fff !important;
    color:#202536 !important;
    box-shadow:0 8px 22px rgba(32,37,54,.11) !important;

    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    overflow:visible !important;
    text-shadow:none !important;
    mix-blend-mode:normal !important;

    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .site-menu-toggle-box{
    position:relative;
    display:block;
    width:22px;
    height:17px;
    pointer-events:none;
  }

  .site-menu-toggle-line{
    position:absolute;
    left:0;
    display:block;
    width:22px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform-origin:center;
    transition:transform .18s ease,opacity .14s ease,top .18s ease;
  }

  .site-menu-toggle-line:nth-child(1){top:0}
  .site-menu-toggle-line:nth-child(2){top:7.5px}
  .site-menu-toggle-line:nth-child(3){top:15px}

  .site-header.nav-open .site-menu-toggle-line:nth-child(1){
    top:7.5px;
    transform:rotate(45deg);
  }

  .site-header.nav-open .site-menu-toggle-line:nth-child(2){
    opacity:0;
  }

  .site-header.nav-open .site-menu-toggle-line:nth-child(3){
    top:7.5px;
    transform:rotate(-45deg);
  }

  .site-menu-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:2147483600 !important;
    display:block !important;

    background:rgba(22,26,38,.48) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;

    transition:opacity .16s ease,visibility .16s ease;
  }

  body.site-menu-open .site-menu-backdrop{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .site-mobile-menu-panel{
    position:fixed !important;
    top:var(--site-mobile-menu-top,76px) !important;
    left:max(12px,env(safe-area-inset-left)) !important;
    right:max(12px,env(safe-area-inset-right)) !important;
    z-index:2147483645 !important;

    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;

    width:auto !important;
    max-height:calc(100dvh - var(--site-mobile-menu-top,76px) - 12px) !important;

    margin:0 !important;
    padding:10px !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;

    border:1px solid #e2e5ee !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 24px 70px rgba(18,24,38,.32) !important;

    color:#202536 !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
  }

  .site-mobile-menu-panel.is-open{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  #site-mobile-navigation-panel > .site-mobile-menu-link,
  #site-mobile-navigation-panel > .site-mobile-menu-link:visited{
    all:unset !important;
    position:relative !important;
    float:none !important;
    clear:both !important;
    inset:auto !important;
    transform:none !important;
    clip:auto !important;
    clip-path:none !important;
    filter:none !important;
    content-visibility:visible !important;
    contain:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:50px !important;
    max-height:none !important;
    margin:0 !important;
    padding:12px 14px !important;

    border:0 !important;
    border-radius:11px !important;
    background:#fff !important;

    color:#202536 !important;
    -webkit-text-fill-color:#202536 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    text-decoration:none !important;
    text-transform:none !important;

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
    -webkit-text-size-adjust:100% !important;
  }

  #site-mobile-navigation-panel > .site-mobile-menu-link:hover,
  #site-mobile-navigation-panel > .site-mobile-menu-link:focus-visible{
    background:#f7f7fb !important;
    color:#202536 !important;
    outline:2px solid rgba(99,91,255,.28) !important;
    outline-offset:-2px !important;
  }

  #site-mobile-navigation-panel > .site-mobile-menu-link.active,
  #site-mobile-navigation-panel > .site-mobile-menu-link[aria-current="page"]{
    background:#f0efff !important;
    color:#5149e8 !important;
  }
}

@media (max-width:560px){
  .site-header{
    gap:10px !important;
  }

  .site-header > .brand-link{
    min-width:0 !important;
    max-width:calc(100% - 60px) !important;
  }

  .site-header .brand,
  .site-header .brand-copy{
    min-width:0 !important;
  }

  .site-header .brand-copy strong,
  .site-header .brand-copy small{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .site-mobile-menu-panel{
    left:max(8px,env(safe-area-inset-left)) !important;
    right:max(8px,env(safe-area-inset-right)) !important;
    border-radius:14px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-menu-toggle-line,
  .site-menu-backdrop,
  .site-mobile-menu-panel{
    transition:none !important;
  }
}
