.hamburger{
  display:none;
  position:relative;
  z-index:1002;
  width:48px;
  height:48px;
  padding:11px;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-shadow:none!important;
}
.hamburger span{
  display:block;
  width:27px;
  height:2px;
  flex:0 0 2px;
  background:#fff;
  transform-origin:center;
  transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .24s ease,width .45s cubic-bezier(.16,1,.3,1);
}
.hamburger span:nth-child(2){width:20px;align-self:flex-end;margin-right:0}
.hamburger.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.is-active span:nth-child(2){width:0;opacity:0}
.hamburger.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mobile-menu{
  display:flex!important;
  position:fixed;
  inset:0;
  z-index:999;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:clamp(112px,15vh,148px) 28px max(32px,env(safe-area-inset-bottom));
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(42,138,61,.24),transparent 34%),
    radial-gradient(circle at 5% 92%,rgba(21,68,32,.28),transparent 34%),
    #080d06!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,-18px,0) scale(1.018);
  transform-origin:top center;
  transition:opacity .36s ease,transform .72s cubic-bezier(.16,1,.3,1),visibility 0s .72s;
  counter-reset:mobile-nav;
  touch-action:pan-y;
}
.mobile-menu::after{
  content:'';
  position:absolute;
  z-index:-1;
  width:min(88vw,520px);
  aspect-ratio:1;
  right:-42%;
  bottom:-26%;
  border:1px solid rgba(245,240,232,.08);
  border-radius:50%;
  box-shadow:0 0 0 80px rgba(245,240,232,.012);
}
.mobile-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .36s ease,transform .72s cubic-bezier(.16,1,.3,1),visibility 0s;
}
.mobile-menu .mobile-close{display:none!important}
.mobile-menu a{
  counter-increment:mobile-nav;
  width:min(100%,560px);
  min-height:58px;
  display:grid!important;
  grid-template-columns:38px 1fr;
  align-items:center;
  padding:13px 4px;
  border-bottom:1px solid rgba(245,240,232,.1);
  color:#f5f0e8!important;
  text-decoration:none;
  text-align:left;
  font:600 clamp(16px,4.8vw,22px)/1.1 'DM Sans',sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
  opacity:0;
  transform:translate3d(25px,0,0);
  transition:color .25s,background .25s,opacity .4s ease,transform .65s cubic-bezier(.16,1,.3,1);
}
.mobile-menu a::before{
  content:'0' counter(mobile-nav);
  color:#2a8a3d;
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
}
.mobile-menu a:hover,.mobile-menu a:focus-visible{color:#fff!important;background:rgba(42,138,61,.1)}
.mobile-menu.open a{opacity:1;transform:none}
.mobile-menu.open a:nth-of-type(1){transition-delay:.10s}
.mobile-menu.open a:nth-of-type(2){transition-delay:.15s}
.mobile-menu.open a:nth-of-type(3){transition-delay:.20s}
.mobile-menu.open a:nth-of-type(4){transition-delay:.25s}
.mobile-menu.open a:nth-of-type(5){transition-delay:.30s}
.mobile-menu.open a:nth-of-type(6){transition-delay:.35s}
.mobile-menu.open a:nth-of-type(7){transition-delay:.40s}
body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
body.menu-open .navbar{background:#080d06!important;backdrop-filter:none!important}
.wizard-step h3:focus{outline:none!important}

@media(max-width:1180px){
  .nav-links{display:none!important}
  .hamburger{display:flex!important}
}
@media(max-width:560px){
  .mobile-menu{padding-left:24px;padding-right:24px}
  .mobile-menu a{min-height:54px;font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){
  .hamburger span,.mobile-menu,.mobile-menu a{transition-duration:.001ms!important;transition-delay:0ms!important}
}
