/* ================================================================
   ALIFY 2.8 Runtime Reset — Push Menu V2
   Independent mobile/tablet page directory. Desktop untouched.
   ================================================================ */

.primary-nav__frame,.push-menu__scrim{display:none}

@media (min-width:1024px){
  .primary-nav__desktop{display:block}
}

@media (max-width:1023px){
  :root{--push-menu-width:min(460px,48vw);--push-header-height:68px}
  html.menu-lock,body.menu-open{overflow:hidden;overscroll-behavior:none}
  body{overflow-x:hidden}
  .primary-nav__desktop{display:none!important}

  .site-push-canvas{
    position:relative;
    z-index:1;
    width:100%;
    min-height:100vh;
    background:var(--dark);
    transform:translate3d(0,0,0);
    transition:transform .44s cubic-bezier(.22,.76,.24,1),filter .44s ease;
    will-change:transform;
  }
  body.menu-open .site-push-canvas{
    transform:translate3d(calc(-1 * var(--push-menu-width)),0,0);
    filter:saturate(.76) brightness(.7);
  }

  .push-menu__scrim{
    display:block;
    position:fixed;
    z-index:97;
    top:var(--push-header-height);
    right:var(--push-menu-width);
    bottom:0;
    left:0;
    width:auto;
    height:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:rgba(13,13,13,.58);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .32s ease,visibility .32s ease;
    backdrop-filter:blur(2px);
  }
  body.menu-open .push-menu__scrim{opacity:1;visibility:visible;pointer-events:auto}

  .alify-ui-v3 .primary-nav{
    display:block!important;
    position:fixed!important;
    z-index:99;
    top:var(--push-header-height)!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:var(--push-menu-width)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--navy)!important;
    border:0!important;
    border-left:1px solid var(--teal)!important;
    transform:translate3d(100%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .44s cubic-bezier(.22,.76,.24,1),visibility .44s ease;
    box-shadow:-32px 0 80px rgba(0,0,0,.34);
  }
  .alify-ui-v3 .primary-nav::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg,rgba(99,157,117,.08) 1px,transparent 1px),
      linear-gradient(rgba(99,157,117,.07) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 78%);
  }
  .alify-ui-v3 .primary-nav.is-open{transform:none;visibility:visible;pointer-events:auto}

  .alify-ui-v3 .primary-nav__frame{
    position:relative;
    z-index:1;
    display:flex!important;
    flex-direction:column;
    width:100%!important;
    height:100%;
    min-height:100%!important;
    margin:0!important;
    padding:0 28px 26px!important;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--sage) transparent;
  }

  .push-menu__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:58px;
    border-bottom:1px solid rgba(255,255,255,.16);
    font-family:var(--v3-label);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sage);
  }
  .push-menu__head span:last-child{color:var(--sand)}

  .push-nav{display:block;width:100%;padding:22px 0 24px}
  .push-nav__section+.push-nav__section{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
  .push-nav__label{
    display:block;
    margin-bottom:9px;
    font-family:var(--v3-label);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sage);
  }

  .push-nav__list,.push-nav__secondary{list-style:none;margin:0;padding:0}
  .push-nav__list li{position:relative;border-bottom:1px solid rgba(255,255,255,.14)}
  .push-nav__list li:first-child{border-top:1px solid rgba(255,255,255,.14)}
  .push-nav__list li::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-28px;
    width:2px;
    background:transparent;
  }
  .push-nav__list li.is-current::before{background:var(--green)}
  .push-nav__list a{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 10px;
    align-items:center;
    gap:9px;
    min-height:60px;
    padding:8px 0!important;
    color:var(--white)!important;
    text-decoration:none;
  }
  .push-nav__index{
    font-family:var(--v3-label);
    font-size:8px;
    letter-spacing:.06em;
    color:var(--sage);
  }
  .push-nav__title{
    font-family:var(--v3-display);
    font-size:clamp(22px,3.4vw,31px);
    font-weight:600;
    line-height:1;
    letter-spacing:-.035em;
  }
  .push-nav__signal{
    width:8px;
    height:8px;
    border:1px solid var(--sage);
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
  }
  .push-nav__list a:hover .push-nav__signal,
  .push-nav__list a:focus-visible .push-nav__signal,
  .push-nav__list .is-current .push-nav__signal{background:var(--green);border-color:var(--green);transform:translate(2px,-2px)}
  .push-nav__list a:hover .push-nav__title,
  .push-nav__list a:focus-visible .push-nav__title,
  .push-nav__list .is-current .push-nav__title{color:var(--sand)}

  .push-nav__secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
  .push-nav__secondary li{border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
  .push-nav__secondary a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:52px;
    padding:0 13px!important;
    font-family:var(--v3-label)!important;
    font-size:8px!important;
    font-weight:700!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    color:var(--white)!important;
  }
  .push-nav__minor-signal{width:7px;height:7px;border:1px solid var(--sage);flex:0 0 auto}
  .push-nav__secondary .is-current a{background:var(--teal);color:var(--white)!important}
  .push-nav__secondary .is-current .push-nav__minor-signal,
  .push-nav__secondary a:hover .push-nav__minor-signal,
  .push-nav__secondary a:focus-visible .push-nav__minor-signal{background:var(--green);border-color:var(--green)}

  .alify-ui-v3 .primary-nav__mobile-meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%;
    margin:auto 0 0!important;
    padding:22px 0 0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    font-family:var(--v3-label)!important;
    font-size:8px!important;
    line-height:1.45!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    color:var(--sage)!important;
  }
  .alify-ui-v3 .primary-nav__mobile-meta>a{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    width:max-content;
    max-width:100%;
    padding:0!important;
    font-family:var(--v3-label)!important;
    font-size:9px!important;
    line-height:1.45!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
    color:var(--white)!important;
    overflow-wrap:anywhere;
  }
  .alify-ui-v3 .primary-nav__mobile-meta>a:last-child{
    justify-content:space-between!important;
    width:100%;
    min-height:44px;
    margin-top:7px;
    padding:0 14px!important;
    background:var(--green)!important;
    color:var(--black)!important;
    text-transform:uppercase!important;
    letter-spacing:.08em!important;
    font-size:8px!important;
    font-weight:800!important;
  }

  .alify-ui-v3 .menu-toggle{position:relative;z-index:102;display:grid!important;place-items:center!important;background:var(--dark)!important}
  body.alify-ui-v3.menu-open .menu-toggle{background:var(--green)!important;border-color:var(--green)!important;color:var(--black)!important}
  body.menu-open .site-header--v3{background:var(--dark)!important;border-color:var(--teal)!important}

  body.admin-bar.alify-ui-v3 .primary-nav,
  body.admin-bar .push-menu__scrim{top:calc(var(--push-header-height) + 32px)!important}
}

@media (max-width:767px){
  :root{--push-menu-width:min(88vw,390px);--push-header-height:72px}
  .alify-ui-v3 .primary-nav__frame{padding:0 20px 22px!important}
  .push-menu__head{min-height:52px}
  .push-nav{padding-top:16px}
  .push-nav__list li::before{left:-20px}
  .push-nav__list a{grid-template-columns:25px minmax(0,1fr) 9px;min-height:55px}
  .push-nav__title{font-size:clamp(22px,7vw,29px)}
  .push-nav__secondary{grid-template-columns:1fr}
  .primary-nav__mobile-meta{padding-top:18px!important}
  body.admin-bar.alify-ui-v3 .primary-nav,
  body.admin-bar .push-menu__scrim{top:calc(var(--push-header-height) + 46px)!important}
}

@media (prefers-reduced-motion:reduce){
  .site-push-canvas,.alify-ui-v3 .primary-nav,.push-menu__scrim{transition:none!important}
}
