/* One image belongs to one story. Motion reveals a scene without copying it. */
.exhibit-stage:has(.contextual-photo){grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:5%}
.contextual-photo{margin:0;min-width:0}
.contextual-photo .living-canvas{position:relative;aspect-ratio:3/2;min-height:0;overflow:hidden;border-radius:2px;background:var(--sage)}
.contextual-photo .living-base{width:100%;height:100%;object-fit:cover}
.contextual-photo .photo-place{position:absolute;left:24px;bottom:22px;background:rgba(238,229,206,.94);padding:9px 14px;color:var(--ink);font-size:12px;letter-spacing:.04em;z-index:4}
.contextual-photo .photo-place:before{content:'';display:inline-block;width:22px;height:1px;background:var(--wine);margin:0 10px 4px 0;transform-origin:left}
.contextual-photo figcaption{font-size:10px;line-height:1.7;padding-top:10px;max-width:590px;color:var(--ink);opacity:.72}
.photo-companions{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:12px}
.photo-companions a{border-bottom:1px solid var(--line);padding-bottom:4px}
.contextual-spread{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;gap:6%;padding-top:45px;padding-bottom:55px;border-top:1px solid var(--line);scroll-margin-top:130px}
.contextual-copy h3{font:450 clamp(30px,3.4vw,48px)/1.22 var(--serif);letter-spacing:-.04em;margin:22px 0}
.contextual-copy p{font-size:17px;line-height:1.9;max-width:36em}
.contextual-copy>small{font-size:10px;color:var(--wine);display:block;margin-top:25px}
.contextual-copy .word-motion{display:inline-block}
.js-motion .contextual-photo .living-canvas{clip-path:inset(8% 8% 8% 8%);opacity:.6;transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),opacity 1.2s ease}
.js-motion .contextual-photo.scene-arrived .living-canvas{clip-path:inset(0);opacity:1}
.js-motion .contextual-photo.scene-in-view .photo-place:before{animation:context-line 1.3s cubic-bezier(.16,1,.3,1) both}
@keyframes context-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.motion-off .contextual-photo .living-canvas{clip-path:none!important;opacity:1!important;transition:none!important}
.motion-off .contextual-photo .photo-place:before{animation:none!important;transform:none!important}
@media(max-width:800px){
 .exhibit-stage:has(.contextual-photo),.contextual-spread{grid-template-columns:1fr;gap:25px}
 .contextual-spread{padding-top:35px;padding-bottom:40px}
 .contextual-copy h3{font-size:34px}.contextual-copy p{font-size:16px}
 .contextual-photo .photo-place{left:14px;bottom:14px;font-size:11px;padding:7px 10px}
 .contextual-photo figcaption{font-size:9px}.photo-companions{font-size:11px;gap:9px 14px}
}
@media(prefers-reduced-motion:reduce){.contextual-photo .living-canvas{clip-path:none!important;opacity:1!important;transition:none!important}.contextual-photo .photo-place:before{animation:none!important;transform:none!important}}
