.exhibitions-heading{padding:32px 0 26px;border-bottom:1px solid var(--line);margin-bottom:36px}
.exhibitions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 40px;padding-bottom:64px}
.exhibition-card{display:block;min-width:0}
.exhibition-card-image{aspect-ratio:3/2;overflow:hidden;background:#fff}
.exhibition-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.exhibition-card-contain img{object-fit:contain}
.exhibition-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:20px}
.exhibition-card h2{font-size:25px;letter-spacing:-.025em}
.exhibition-card-year{font-size:13px;color:var(--muted);white-space:nowrap;margin:0}
.exhibition-card-venue{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.exhibition-card:hover h2{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.exhibitions-index-footer{display:flex;gap:28px;border-top:1px solid var(--line);padding:30px 0 44px;font-size:14px}
.exhibitions-index-footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.exhibitions-grid{gap:44px 26px}}
@media(max-width:680px){.exhibitions-heading{padding-top:24px;padding-bottom:20px;margin-bottom:26px}.exhibitions-grid{grid-template-columns:1fr;gap:40px}.exhibition-card-heading{margin-top:16px}.exhibition-card h2{font-size:24px}.exhibitions-index-footer{flex-wrap:wrap}}

/* Exhibitions map: Natural Earth land drawn inline, one pin per city (exhibitions_map.py, exhibitions-map.js). */
.exhibitions-heading:has(.exhibitions-map-toggle){display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.exhibitions-map{margin:0 0 44px}
/* The map toggle matches the header's Works and Exhibitions menus. */
.exhibitions-map-toggle{flex-shrink:0;margin:0;padding:5px 0;border:0;background:none;font:inherit;font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);cursor:pointer}
.exhibitions-map-toggle::after{content:'';display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 0 3px 9px}
.exhibitions-map-toggle[aria-expanded=true]::after{transform:rotate(225deg);margin-bottom:0}
.exhibitions-map-toggle:is(:hover,:focus-visible),.exhibitions-map-toggle[aria-expanded=true]{color:var(--ink);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.exhibitions-map-frame{position:relative;width:100%}
.exhibitions-map-frame svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.exhibitions-map-frame path{fill:#ecece7;stroke:none}
.map-pin{position:absolute;width:0;height:0}
.map-dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;padding:0;border:2px solid var(--paper);border-radius:50%;background:var(--ink);cursor:pointer}
.map-dot::before{content:"";position:absolute;inset:-8px;border-radius:50%}
.map-dot:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.map-pin:is(:hover,.is-open) .map-dot{background:var(--paper);border-color:var(--ink)}
.map-card{display:none;position:absolute;z-index:5;left:-20px;bottom:14px;width:max-content;max-width:min(300px,calc(100vw - 36px));padding:9px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 24px #0000000c;font-size:14px;line-height:1.5}
.map-pin:is(:hover,.is-open,:focus-within) .map-card{display:block}
.map-pin:is(:hover,.is-open,:focus-within){z-index:6}
.map-pin-right .map-card{left:auto;right:-20px}
.map-pin-below .map-card{bottom:auto;top:14px}
.map-city{margin:0;padding:6px 10px 4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.map-card a{display:block;padding:8px 10px}
.map-card a:hover{background:#f5f5f5}
.map-card a span{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.exhibitions-map-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:14px;font-size:13px;line-height:1.6;color:var(--muted)}
.exhibitions-map-caption p{margin:0}
/* Below 1000px the closest cities share a pin, which would otherwise sit too close to tap. */
.map-pin-group{display:none}
@media(max-width:1000px){.map-pin-grouped{display:none}.map-pin-group{display:block}}
@media(max-width:680px){.exhibitions-map{margin-bottom:32px}.map-dot{left:-6px;top:-6px;width:12px;height:12px}.map-dot::before{inset:-6px}}
