#span-menu-overlay{
  align-items:stretch!important;
  justify-content:flex-end!important;
  background:transparent!important;
}

#span-menu-panel{
  width:456px!important;
  max-width:calc(100vw - 72px)!important;
  flex:0 0 456px!important;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:#f7f7f7!important;
  box-shadow:none!important;
  color:#111!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
}

#span-menu-close{
  position:absolute!important;
  top:34px!important;
  right:48px!important;
  width:32px!important;
  height:32px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;
  font-size:0!important;
  padding:0!important;
  box-shadow:none!important;
}

#span-menu-close::before,
#span-menu-close::after{
  content:""!important;
  position:absolute!important;
  left:15px!important;
  top:1px!important;
  width:1px!important;
  height:30px!important;
  background:#111!important;
  transform:rotate(45deg)!important;
}

#span-menu-close::after{
  transform:rotate(-45deg)!important;
}

#span-menu-close:hover{
  background:transparent!important;
  opacity:.55!important;
}

.span-menu-reference{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:34px!important;
  padding:84px 58px 76px 72px!important;
  box-sizing:border-box!important;
}

.span-menu-group{
  display:grid!important;
  grid-template-columns:112px 40px minmax(132px,1fr)!important;
  align-items:start!important;
  column-gap:22px!important;
  width:100%!important;
  min-width:0!important;
}

.span-menu-section-title{
  font-family:"Helvetica Neue",Inter,"Neue Haas Unica W1G",Helvetica,Arial,sans-serif!important;
  font-size:20px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  font-weight:300!important;
  text-transform:uppercase!important;
  color:#111!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

.span-menu-rule{
  height:1px!important;
  width:40px!important;
  background:#c7c7c7!important;
  margin-top:12px!important;
}

.span-menu-sublist{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding-top:0!important;
  min-width:0!important;
  overflow:visible!important;
}

.span-menu-sublist a{
  font-family:"Helvetica Neue",Inter,"Neue Haas Unica W1G",Helvetica,Arial,sans-serif!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  color:#111!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}

.span-menu-section-title:hover,
.span-menu-sublist a:hover{
  opacity:.55!important;
}

#span-menu-panel .span-menu-columns,
#span-menu-panel #span-menu-foot,
#span-menu-panel #span-menu-image-banner,
#span-menu-panel #span-menu-search{
  display:none!important;
}

@media(max-width:768px){
  #span-menu-panel{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    flex:0 0 calc(100vw - 28px)!important;
  }
  #span-menu-close{
    top:24px!important;
    right:30px!important;
  }
  .span-menu-reference{
    padding:74px 24px 50px 36px!important;
    gap:28px!important;
  }
  .span-menu-group{
    grid-template-columns:96px 28px minmax(126px,1fr)!important;
    column-gap:12px!important;
  }
  .span-menu-section-title{
    font-size:19px!important;
  }
  .span-menu-rule{
    width:32px!important;
  }
  .span-menu-sublist{
    gap:10px!important;
  }
  .span-menu-sublist a{
    font-size:10.5px!important;
  }
}

@media(max-width:520px){
  #span-menu-panel{
    width:100vw!important;
    max-width:100vw!important;
    flex:0 0 100vw!important;
  }
  .span-menu-reference{
    padding:76px 22px 46px 28px!important;
    gap:24px!important;
  }
  .span-menu-group{
    grid-template-columns:96px 24px minmax(118px,1fr)!important;
    column-gap:10px!important;
  }
  .span-menu-section-title{
    font-size:18px!important;
  }
  .span-menu-rule{
    width:24px!important;
  }
  .span-menu-sublist a{
    font-size:10px!important;
    line-height:1.15!important;
  }
}
