.room-menu-toggle {
  position:fixed; top:24px; right:clamp(22px,4vw,64px); z-index:320;
  display:grid; width:32px; height:32px; padding:0; place-items:center;
  border:0; border-radius:0; background:transparent; color:#f3f1eb;
  font:200 1.25rem/1 'IBM Plex Mono',monospace; cursor:pointer;
  box-shadow:none;
}
.room-menu {
  position:fixed; inset:0 0 0 auto; z-index:310; width:min(520px,100%);
  padding:34px clamp(26px,6vw,72px); background:#242220; color:#f3f1eb;
  transform:translateX(100%); transition:transform .55s cubic-bezier(.76,0,.24,1);
}
.room-menu.is-open { transform:none; }
.room-menu-close { float:right; border:0; background:none; color:inherit; font:400 .75rem/1.2 'IBM Plex Mono',monospace; cursor:pointer; }
.room-menu nav { clear:both; display:flex; flex-direction:column; padding-top:14vh; }
.room-menu nav a { padding:18px 0; border:0; color:inherit; font:400 clamp(1.1rem,3vw,2rem)/1.2 'IBM Plex Mono',monospace; text-decoration:none; }
body.nav-open { overflow:hidden; }
.room-sound-toggle { z-index:322; }
@media (max-width:700px) {
  .room-menu-toggle { top:16px; right:16px; }
  .room-menu { padding:26px 24px; }
}
