.exhibition-wall{position:relative;width:100%;line-height:0}
.exhibition-wall>img{display:block;width:100%;height:auto}
.exhibition-wall-work{position:absolute;display:block;padding:0;border:1px solid transparent;background:transparent;cursor:pointer;color:#fff;transition:border-color .3s,box-shadow .3s}
.exhibition-wall-work span{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);padding:6px 9px;background:#080c10ed;font:11px/1.2 monospace;white-space:nowrap;opacity:0;transition:opacity .3s}
.exhibition-wall-work:hover,.exhibition-wall-work:focus-visible{border-color:#c3d5e9;box-shadow:0 0 20px #bdd3ef44;outline:2px solid #c3d5e9;outline-offset:3px}
.exhibition-wall-work:hover span,.exhibition-wall-work:focus-visible span{opacity:1}
.sacred-story .exhibition-invitation{margin-top:22px;color:#d5dfe5}
.exhibition-station-entry{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
.exhibition-station-entry label{flex-basis:100%;font-size:12px;color:#aab8c2}
.exhibition-station-entry select,.exhibition-station-entry button{font:inherit;font-size:13px;border:1px solid #45545f;background:#10171d;color:#e2e8ec;padding:10px;border-radius:3px;max-width:100%}
.exhibition-station-entry button{cursor:pointer}
.exhibition-room-open{overflow:hidden}
#exhibition-listening-room{box-sizing:border-box;width:min(1200px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;margin:auto;padding:24px;border:1px solid #35414a;border-radius:5px;background:#080b0e;color:#e2e7e9;box-shadow:0 20px 90px #000b;overflow:auto}
#exhibition-listening-room::backdrop{background:#000e;backdrop-filter:blur(8px)}
.exhibition-room-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.exhibition-room-header p{margin:0;color:#aebbc4;font:11px/1.5 monospace;letter-spacing:.18em}
#exhibition-listening-room button{cursor:pointer;color:#d8e1e7;background:#111820;border:1px solid #394650;padding:10px 14px;border-radius:3px;font:13px/1.2 inherit}
#exhibition-listening-room button:focus-visible{outline:2px solid #c3d5e9;outline-offset:3px}
.exhibition-room-stage{height:calc(94dvh - 265px);min-height:180px;background:#030405;overflow:hidden}
.exhibition-room-stage svg{display:block;width:100%;height:100%}
.exhibition-room-player{max-width:760px;margin:14px auto 0;text-align:center}
#exhibition-listening-room h2{font-size:clamp(20px,3vw,28px);font-weight:400;margin:0 0 10px;line-height:1.2}
.exhibition-room-player audio{display:block;width:100%;height:36px;color-scheme:dark}
.exhibition-room-player [role=status]{font-size:12px;color:#aebbc4;margin:5px 0;min-height:14px}
.exhibition-room-nav{display:flex;gap:10px;align-items:center;justify-content:space-between}
.exhibition-room-choices{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
#exhibition-listening-room .exhibition-room-choices button{padding:8px;font:11px/1.2 monospace}
#exhibition-listening-room button[aria-pressed=true]{background:#d7e1e8;color:#10171d}
@media(max-width:650px){#exhibition-listening-room{padding:12px;height:96dvh;max-height:96dvh}.exhibition-room-stage{height:calc(96dvh - 310px)}.exhibition-room-nav{flex-wrap:wrap;justify-content:center}.exhibition-room-choices{order:3;flex-basis:100%}.exhibition-room-header p{font-size:10px;letter-spacing:.08em}.exhibition-wall-work span{display:none}}
@media(prefers-reduced-motion:reduce){.exhibition-wall-work,.exhibition-wall-work span{transition:none}}
/* Interaction stays within the eleven physical frames on the wall. */
.exhibition-wall-work{overflow:hidden}
.exhibition-wall-work svg{display:block;position:absolute;top:0;left:0;width:100%;overflow:hidden;opacity:0;pointer-events:none;transform-origin:center}
.exhibition-wall-work.is-revealing svg{opacity:1;animation:wall-art-awaken 5s ease-in-out both}
.exhibition-wall-work[aria-pressed=true]{border-color:#b9cad6;box-shadow:0 0 16px #abc4dc38}
.exhibition-wall-work.is-playing span{opacity:1}
@keyframes wall-art-awaken{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.35);transform:scale(1.035)}}
#exhibition-wall-player{margin-top:14px;padding:14px 0;border-top:1px solid #2e3c46}
#exhibition-wall-player[hidden]{display:none}
#exhibition-wall-player [data-wall-title]{margin:0 0 10px;font-size:14px;color:#d6e1e8}
#exhibition-wall-player audio{display:block;width:100%;height:36px;color-scheme:dark}
#exhibition-wall-player [role=status]{margin:5px 0;font-size:12px}
@media(prefers-reduced-motion:reduce){.exhibition-wall-work.is-revealing svg{animation:none}}

/* Playback belongs to the artwork; keep announcements accessible. */
#exhibition-wall-player{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.exhibition-hidden-player{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* A quiet moving-image treatment inside each frame while listening. */
.exhibition-wall-work.is-revealing svg{animation:none;transform:none;filter:none;opacity:1}
.exhibition-wall-work svg image{animation:gallery-screen-motion 12s ease-in-out infinite;animation-play-state:paused}
.exhibition-wall-work:nth-of-type(3n+1) svg image{animation-duration:15s}
.exhibition-wall-work:nth-of-type(3n+2) svg image{animation-duration:18s}
.exhibition-wall-work.is-playing svg image{animation-play-state:running}
@keyframes gallery-screen-motion{0%,100%{filter:brightness(1);transform:translate(0,0)}35%{filter:brightness(1.13);transform:translate(.8px,-.6px)}70%{filter:brightness(.94);transform:translate(-.5px,.5px)}}
@media(prefers-reduced-motion:reduce){.exhibition-wall-work svg image{animation:none}}

/* Gentle, visible motion around the center of each individual artwork. */
.exhibition-wall-work svg image{transform-origin:var(--art-center-x) var(--art-center-y);animation-name:gallery-art-drift}
@keyframes gallery-art-drift{0%,100%{filter:brightness(1);transform:translate(0,0) scale(1.025)}35%{filter:brightness(1.1);transform:translate(2px,-1.5px) scale(1.055)}70%{filter:brightness(.98);transform:translate(-1.5px,1px) scale(1.04)}}

/* Animate the internal pattern, keeping the artwork and its frame fixed. */
.exhibition-wall-work svg image.gallery-flow-image{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.exhibition-wall-work svg image.gallery-flow-image{filter:none}}

@media(prefers-reduced-motion:reduce){.gallery-motion-details{display:none}}

.shared-memorial-lights{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.shared-beams-left{animation:shared-memorial-breathe 18s ease-in-out infinite}
.shared-beams-right{animation:shared-memorial-breathe 22s ease-in-out -8s infinite}
@keyframes shared-memorial-breathe{0%,100%{filter:brightness(.12)}50%{filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){.shared-beams-left,.shared-beams-right{animation:none}}

.immersive-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.immersive-beam-cycle{animation:shared-memorial-breathe 20s ease-in-out infinite}
.motion-stopped .immersive-beam-cycle{animation-play-state:paused}
.immersive-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.immersive-caption button{background:transparent;color:#adbcc6;border:1px solid #384650;border-radius:3px;padding:7px 10px;font:inherit;cursor:pointer}
.immersive-caption button:focus-visible{outline:2px solid #b7d4f0;outline-offset:3px}

.sacred-story .exhibition-credit{margin:0 0 12px;font:11px/1.6 monospace;letter-spacing:.045em;color:#9eafb9;max-width:none}
/* A quiet rounded instruction bar beneath the interactive galleries. */
.sacred-story figcaption.exhibition-invitation{box-sizing:border-box;display:block;margin:16px 0 0;padding:14px 20px;border:1px solid #2c3a44;border-radius:22px;background:linear-gradient(135deg,#111b22,#0b1218);color:#c5d2db;line-height:1.75;box-shadow:inset 0 1px 0 #ffffff04}
@media(max-width:600px){.sacred-story figcaption.exhibition-invitation{padding:12px 16px;border-radius:18px}}

.sacred-story figcaption.exhibition-invitation{display:flex;align-items:center;gap:15px}
.interaction-hand-icon{display:block;width:36px;height:36px;flex:0 0 36px;color:#b7d4e7;animation:interaction-hint-glow 6s ease-in-out infinite}
@keyframes interaction-hint-glow{0%,100%{opacity:.65;filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;filter:drop-shadow(0 0 5px #9fcdf04d)}}
@media(prefers-reduced-motion:reduce){.interaction-hand-icon{animation:none}}
