/* D112: one exhibition wall; full, unchanged portraits with attached labels. */
#map .exhibit-rail {
  --rail-brass: #cbb385;
  max-width: none;
  padding: 72px max(40px, calc((100vw - 1240px) / 2)) 80px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  color: var(--paper);
  background: radial-gradient(ellipse at 50% 0, #53222b 0, #361018 58%, #290b13 100%);
  border-block: 1px solid #927446;
  box-shadow: inset 0 7px 0 #21060d, inset 0 8px 0 #765932;
  scroll-margin-top: 72px;
}
#map .exhibit-rail .section-heading {
  grid-column: 1 / -1;
  display: block;
  margin: 0 0 8px;
  padding: 0 0 30px;
  border-bottom: 1px solid #cbb38555;
}
#map .exhibit-rail .section-heading .eyebrow { color: var(--rail-brass); }
#map .exhibit-rail .section-heading h2 {
  max-width: 900px;
  color: var(--paper);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 1.1;
}
#map .exhibit-rail .exhibit-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
  padding: 0;
  color: var(--paper);
  background: none;
  border: 0;
  box-shadow: none;
}
#map .exhibit-rail .rail-object { margin: 0; flex: 1; }
#map .exhibit-rail .rail-poster-mount {
  position: relative;
  display: block;
  width: min(100%, 300px);
  margin: 4px auto 38px;
  padding: 9px;
  background: #211713;
  border: 1px solid #a48b5c;
  outline-offset: 6px;
  box-shadow: 0 14px 22px #12050966, 0 2px 4px #09030399, inset 0 0 0 3px #443023;
  transform: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
#map .exhibit-rail .rail-poster-mount:hover,
#map .exhibit-rail .rail-poster-mount:focus-visible {
  transform: translateY(-6px) rotate(-.7deg);
  box-shadow: 0 20px 30px #12050988, 0 2px 4px #09030399, inset 0 0 0 3px #443023;
}
#map .exhibit-rail .rail-poster-mount:focus-visible,
#map .exhibit-rail .rail-entry:focus-visible { outline: 3px solid #ead5a3; outline-offset: 6px; }
#map .exhibit-rail .rail-poster-mount img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: contain;
}
#map .exhibit-rail .rail-inspect {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  color: #dbc9a8;
  font-family: var(--sans);
  font-size: .65rem;
  letter-spacing: .06em;
}
#map .exhibit-rail .rail-object-label { padding: 22px 0 0; border-top: 1px solid #cbb38555; }
#map .exhibit-rail .rail-label-heading { display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 12px; align-items: start; }
#map .exhibit-rail .exhibit-number {
  width: auto;
  padding: 3px 0 0;
  color: var(--rail-brass);
  font-size: 1.8rem;
  line-height: 1;
  text-align: left;
  background: none;
  border: 0;
}
#map .exhibit-rail .card-kicker {
  min-height: 2.8em;
  margin: 0 0 7px;
  color: #ddc8a3;
  font-size: .6rem;
  line-height: 1.4;
}
#map .exhibit-rail .exhibit-card h3 {
  margin: 0 0 16px;
  color: var(--paper);
  font-family: var(--serif);
  font-size: clamp(1.6rem, 2.3vw, 2.15rem);
  font-weight: 400;
  line-height: 1.08;
}
#map .exhibit-rail .rail-description { margin: 0 0 18px; color: #e8ddc9; font-size: .95rem; line-height: 1.6; }
#map .exhibit-rail .rail-provenance { margin: 0; color: #cdbb9b; font-size: .7rem; line-height: 1.65; }
#map .exhibit-rail .text-action.rail-entry {
  align-self: stretch;
  min-height: 48px;
  margin: 18px 0 0;
  padding: 16px 0 4px;
  color: #f2dfb8;
  border-top: 1px solid #cbb38555;
  font-size: .69rem;
  line-height: 1.5;
  text-align: left;
}
#map .exhibit-rail .rail-entry:hover { color: #fff9e7; }
/* The existing viewer appends its caption to body, outside the map. */
.an-static-viewer .rail-object-label { padding-top: 22px; color: var(--ink); }
.an-static-viewer .rail-object-label .rail-label-heading { display: grid; grid-template-columns: 34px 1fr; gap: 12px; }
.an-static-viewer .rail-object-label .exhibit-number { font-size: 1.6rem; line-height: 1; }
.an-static-viewer .rail-object-label .card-kicker { margin: 0 0 6px; font-size: .65rem; }
.an-static-viewer .rail-object-label h3 { margin: 0 0 14px; }
.an-static-viewer .rail-object-label .rail-description { margin: 0 0 12px; }
.an-static-viewer .rail-object-label .rail-provenance { margin: 0; font-size: .75rem; line-height: 1.6; }
@media (max-width: 1100px) {
  #map .exhibit-rail { gap: 32px; padding-inline: 32px; }
  #map .exhibit-rail .rail-label-heading { grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }
}
@media (max-width: 800px) {
  #map .exhibit-rail { grid-template-columns: minmax(0, 1fr); gap: 64px; padding: 56px 28px; }
  #map .exhibit-rail .section-heading { margin-bottom: -12px; }
  #map .exhibit-rail .exhibit-card { width: 100%; max-width: 440px; justify-self: center; }
  #map .exhibit-rail .rail-poster-mount { width: min(100%, 320px); }
  #map .exhibit-rail .card-kicker { min-height: 0; }
  #map .exhibit-rail .exhibit-card h3 { font-size: 2rem; }
}
@media (max-width: 380px) {
  #map .exhibit-rail { padding-inline: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  #map .exhibit-rail .exhibit-card .rail-poster-mount { transform: none; transition: none; }
}
