/* Single-exhibit pages: a live wall, then the label, then the way onward. */
.doc-top .rm-prev, .doc-top .rm-next{
  font-family:var(--mono); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--paper-faint); text-decoration:none; padding:.35em .7em;
  border:1px solid var(--hair); border-radius:2px; transition:all .3s var(--ease);
  white-space:nowrap; max-width:11rem; overflow:hidden; text-overflow:ellipsis;
}
.doc-top .rm-prev{ margin-right:.4rem; }
.doc-top .rm-prev:hover, .doc-top .rm-next:hover{
  color:var(--ink); background:var(--accent); border-color:var(--accent);
}

.rm-stage-wrap{ position:relative; height:min(68vh, 620px); min-height:340px; overflow:hidden;
                border-bottom:1px solid var(--hair); background:#050607; }
.rm-stage{ position:absolute; inset:0; }
.rm-stage canvas{ position:absolute; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; }
.rm-stage-veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to top, rgba(8,9,11,.94) 0%, rgba(8,9,11,.45) 26%, transparent 55%),
    radial-gradient(120% 100% at 50% 40%, transparent 55%, rgba(8,9,11,.6) 100%);
}
.rm-caption{ position:absolute; left:var(--pad); bottom:clamp(1.2rem,4vh,2.2rem); z-index:2; pointer-events:none; }
.rm-room{
  font-family:var(--mono); font-size:.58rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent); margin:0 0 .6rem;
}
.rm-title{
  font-family:var(--display); font-weight:300; font-size:clamp(2.6rem,8vw,5.4rem);
  line-height:.94; letter-spacing:-.025em; margin:0 0 .5rem;
  font-variation-settings:"opsz" 144,"WONK" 1;
}
.rm-attr{ font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; color:var(--paper-dim); margin:0; max-width:44ch; line-height:1.7; }
.rm-tools{
  position:absolute; right:var(--pad); bottom:clamp(1.2rem,4vh,2.2rem); z-index:2;
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; justify-content:flex-end;
}
.rm-readout{
  font-family:var(--mono); font-size:.55rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--paper-faint); font-variant-numeric:tabular-nums;
}
@media(max-width:700px){
  .rm-tools{ left:var(--pad); justify-content:flex-start; bottom:auto; top:calc(100% + .8rem); position:relative; right:auto; padding:1rem var(--pad) 0; }
  .rm-stage-wrap{ height:52vh; }
}
.rm-hint{
  font-family:var(--mono) !important; font-size:.68rem !important; line-height:1.75 !important;
  color:var(--paper-faint) !important; border-left:2px solid var(--accent); padding-left:.9rem; margin-top:1.4rem !important;
}
.rm-note{ font-size:.8rem !important; color:var(--paper-faint) !important; }
.rm-cite{ font-size:.86rem !important; line-height:1.8 !important; }
.rm-cite i{ color:var(--paper-dim); }
.oth-grid{ display:grid; gap:.5rem; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); margin-bottom:1.2rem; }
.oth{
  display:block; text-decoration:none !important; border:1px solid var(--hair) !important;
  border-radius:2px; padding:.8rem .85rem; transition:all .3s var(--ease);
}
.oth:hover{ border-color:var(--accent) !important; background:rgba(255,255,255,.025); }
.oth-n{ display:block; font-family:var(--mono); font-size:.5rem; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:.35rem; }
.oth-t{ display:block; font-family:var(--display); font-size:1.1rem; color:var(--paper); line-height:1.1; }
.oth-s{ display:block; font-family:var(--mono); font-size:.53rem; letter-spacing:.06em; color:var(--paper-faint); margin-top:.3rem; line-height:1.5; }
