.sideMenu{
  position:fixed;
  top:0;
  left:0;
  width:var(--menu-w);
  height:100dvh;
  z-index:1200;
  display:flex;
  flex-direction:column;
  background:var(--color-header-bg);
  border-right:1px solid var(--color-border-accent);
  transform:translateX(-100%);
  transition:transform .28s ease;
  padding-top:calc(var(--header-h) + 16px);
  box-shadow:24px 0 40px rgba(0,0,0,0.16);
  overflow:hidden;
  box-sizing:border-box;
}

.sideMenu.is-open{
  transform:translateX(0);
}

.sideMenu__top{
  flex:0 0 auto;
}

.sideMenu__close{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:10px 34px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text-main);
  font:inherit;
  font-size:clamp(1rem, 3.4vw, 1.28rem);
  font-weight:800;
  line-height:1.15;
  text-align:left;
  cursor:pointer;
}

.sideMenu__closeIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:0.9em;
  transform:translateY(-0.02em);
}

.sideMenu__closeText{
  display:inline-flex;
  align-items:center;
  line-height:1.15;
}

.sideMenu__nav{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  gap:0;
  padding:18px 34px 34px;
  box-sizing:border-box;
}

.sideMenu__main{
  display:flex;
  flex-direction:column;
  gap:0;
}

.sideMenu__nav a,
.sideMenu__summary{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text-main);
  font:inherit;
  font-size:clamp(1rem, 3.4vw, 1.28rem);
  font-weight:800;
  line-height:1.15;
  text-align:left;
  cursor:pointer;
}

.sideMenu__nav a.is-active,
.sideMenu__subnav a.is-active{
  color:var(--gold);
}

.sideMenu__close:hover,
.sideMenu__nav a:hover,
.sideMenu__summary:hover{
  color:var(--gold);
}

.sideMenu__group{
  margin:0;
  padding:0;
  border:0;
}

.sideMenu__summary{
  list-style:none;
}

.sideMenu__summary::-webkit-details-marker{
  display:none;
}

.sideMenu__summary::after{
  content:"+";
  flex:0 0 auto;
  font-size:1.2em;
  line-height:1;
}

.sideMenu__group[open] > .sideMenu__summary::after{
  content:"−";
}

.sideMenu__subnav{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 0 10px 20px;
}

.sideMenu__subnav a,
.sideMenu__subnav button{
  width:100%;
  display:block;
  padding:7px 0;
  border:0;
  background:transparent;
  color:var(--text-dim);
  font:inherit;
  font-size:clamp(0.9rem, 3vw, 1.08rem);
  font-weight:700;
  line-height:1.18;
  text-align:left;
  cursor:pointer;
}

.sideMenu__subnav a:hover,
.sideMenu__subnav button:hover{
  color:var(--gold);
}

.sideMenu__divider{
  height:1px;
  margin:22px 0;
  background:var(--color-border-accent);
}

.sideMenu__bottom{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:auto;
  padding-top:28px;
}

.sideMenuBackdrop{
  position:fixed;
  inset:0;
  z-index:1100;
  background:rgba(20, 16, 14, 0.32);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}

.sideMenuBackdrop.is-open{
  opacity:1;
  pointer-events:auto;
}