/* IAMTD sitewide mobile navigation v2
   Full-viewport-safe menu sheet. Desktop header behavior remains unchanged. */

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

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

  body{
    overflow-x:hidden;
  }

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

  .site-header{
    position:relative !important;
    z-index:2147483000 !important;
    overflow:visible !important;
    isolation:auto !important;
  }

  .site-header .site-menu-toggle{
    appearance:none !important;
    -webkit-appearance:none !important;
    position:relative !important;
    z-index:2147483646 !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;
    flex:0 0 48px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(32,37,54,.16) !important;
    border-radius:13px !important;
    background:#ffffff !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;
    -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:2147482997 !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-header > nav[aria-label="Main navigation"]{
    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;
    bottom:auto !important;
    z-index:2147483645 !important;

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

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !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;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch;

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

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    clip:auto !important;
    clip-path:none !important;
    filter:none !important;

    color:#202536 !important;
    text-align:left !important;
  }

  .site-header.nav-open > nav[aria-label="Main navigation"]{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .site-header > nav[aria-label="Main navigation"] a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;

    margin:0 !important;
    padding:12px 14px !important;

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

    color:#202536 !important;
    font-family:inherit !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;
    transform:none !important;
    filter:none !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .site-header > nav[aria-label="Main navigation"] a:hover,
  .site-header > nav[aria-label="Main navigation"] a:focus-visible{
    background:#f7f7fb !important;
    color:#202536 !important;
    outline:2px solid rgba(99,91,255,.28) !important;
    outline-offset:-2px !important;
  }

  .site-header > nav[aria-label="Main navigation"] a.active,
  .site-header > nav[aria-label="Main navigation"] a[aria-current="page"]{
    background:#f0efff !important;
    color:#5149e8 !important;
  }

  .site-header > .header-cta{
    display:none !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-header > nav[aria-label="Main navigation"]{
    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{
    transition:none !important;
  }
}
