/* ---------- floating menu (shared across all pages) ---------- */
.menu-toggle{
  position:fixed;
  top:1.4rem;
  right:1.4rem;
  z-index:50;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(214,182,255,.25);
  background:rgba(20,10,36,.6);
  backdrop-filter:blur(6px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease;
}
.menu-toggle:hover{ transform:translateY(-2px); background:rgba(20,10,36,.85); }
.menu-toggle span{
  width:20px;
  height:2px;
  background:#f2e9ff;
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.menu-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2){ opacity:0; }
.menu-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.menu-panel{
  position:fixed;
  top:0;
  right:0;
  height:100vh;
  width:min(280px, 78vw);
  background:linear-gradient(180deg, #1c0e33 0%, #140a24 100%);
  border-left:1px solid rgba(214,182,255,.18);
  z-index:49;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1.2rem;
  padding:2rem 2.4rem;
  transform:translateX(100%);
  transition:transform .35s ease;
}
.menu-panel.open{ transform:translateX(0); }

.menu-panel a{
  font-family:"Cormorant Garamond", serif;
  font-style:italic;
  font-size:1.4rem;
  color:#f2e9ff;
  text-decoration:none;
  position:relative;
  transition:color .25s ease;
}
.menu-panel a:hover,
.menu-panel a.active{
  color:#8fd3ff;
}
.menu-panel a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:1px;
  background:#8fd3ff;
  transition:width .25s ease;
}
.menu-panel a:hover::after,
.menu-panel a.active::after{
  width:100%;
}

.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,5,20,.5);
  z-index:48;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.menu-overlay.open{
  opacity:1;
  pointer-events:auto;
}
