* { box-sizing: border-box; }
:root { color-scheme: light; --font: "Helvetica Neue", Helvetica, Arial, sans-serif; }
body { font-family: var(--font); margin: 0; background: #fff; color: #191919; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible, summary:focus-visible { outline: 1px solid #191919; outline-offset: 6px; }
header { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; padding: 22px 6%; font: 13px/1.5 var(--font); }
.identity { flex-shrink: 0; }
nav { display: flex; flex-wrap: wrap; gap: 30px; color: #707070; }
nav a:hover, nav a[aria-current="page"] { color: #191919; }
nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.home { min-height: calc(100svh - 64px); display: flex; align-items: center; padding: 64px 10% 128px; }
h1 { margin: 0; font: 400 clamp(40px, 6vw, 80px)/1.08 var(--font); letter-spacing: -0.035em; }
.article { max-width: 1800px; margin: 0 auto; padding: 20px 6% 48px; }
.article-heading { margin-bottom: 38px; }
.eyebrow { margin: 0 0 16px; color: #707070; font: 10px/1.6 var(--font); letter-spacing: .1em; }
.article h1 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 500; }
.intro { margin: 18px 0 0; max-width: 490px; color: #666; font: 17px/1.7 var(--font); }
.article-body section { display: grid; grid-template-columns: minmax(180px, 1fr) 3fr; gap: 32px; padding: 26px 0 30px; border-top: 1px solid #e8e8e8; }
h2 { margin: 0; font: 400 23px/1.35 var(--font); letter-spacing: -.02em; }
.subheading { display: block; margin-top: 12px; color: #707070; font: 11px/1.6 var(--font); letter-spacing: 0; }
section p, .plain-copy p { max-width: 590px; margin: 0 0 14px; color: #444; font: 15px/1.75 var(--font); }
section p:last-child, .plain-copy p:last-child { margin-bottom: 0; }
sup { margin-left: 4px; font: 9px/1 var(--font); }
sup a { padding: 3px; text-decoration: underline; text-underline-offset: 2px; }
.sources { margin-top: 24px; color: #707070; font: 11px/1.8 var(--font); }
.sources summary { cursor: pointer; width: fit-content; }
.sources ol { padding-left: 20px; }
.sources li { padding: 5px 0; }
.sources a { text-decoration: underline; text-underline-offset: 3px; }
.next-page { display: flex; justify-content: space-between; gap: 30px; margin-top: 36px; padding-top: 20px; border-top: 1px solid #e8e8e8; font: 12px/1.6 var(--font); }
.next-page:hover { color: #707070; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1; padding: 12px; background: #191919; color: white; font: 13px var(--font); }
.skip-link:focus { top: 12px; }
@media (max-width: 700px) {
  header { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px 7%; }
  nav { gap: 14px 24px; font-size: 11px; }
  .home { min-height: calc(100svh - 120px); padding: 60px 7% 130px; }
  .article-heading { margin-bottom: 30px; }
  .intro { font-size: 16px; }
  .article-body section { grid-template-columns: 1fr; gap: 18px; padding: 24px 0 28px; }
  h2 { font-size: 23px; }
  .subheading { margin-top: 8px; }
  section p, .plain-copy p { font-size: 14px; }
  .next-page { margin-top: 30px; }
}

.plain-copy { max-width: 650px; }

.editorial .article-heading { margin-bottom: 22px; }
.editorial-copy { max-width: 720px; }
.editorial-copy p { max-width: 580px; margin: 0 0 24px; color: #444; font: 16px/1.7 var(--font); }
.editorial-copy .lead { max-width: none; margin-bottom: 32px; color: #191919; font: 400 clamp(20px, 2vw, 26px)/1.45 var(--font); letter-spacing: -.025em; }
@media (max-width: 700px) {
  .editorial-copy p { font-size: 15px; }
}

.home-page { background: #171411; color: #fff; }
.home-art { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -2; }
.home-page::before { content: ''; position: fixed; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.12) 35%, rgba(0,0,0,.48)); pointer-events: none; }
.home-page nav { color: rgba(255,255,255,.85); }
.home-page nav a:hover { color: #fff; }
.home-page header, .home-page h1 { text-shadow: 0 1px 12px rgba(0,0,0,.4); }
.home-page a:focus-visible { outline-color: #fff; }

.art-credit { margin: 0; position: fixed; bottom: 24px; right: 6%; left: 6%; text-align: right; color: #fff; font: 9px/1.6 var(--font); text-shadow: 0 1px 5px #000; }

.about-postmodernism { margin-top: 36px; }
.about-postmodernism h2 { margin-bottom: 18px; }


/* Neutral exhibition surfaces leave each image intact. */
header { position: relative; z-index: 1; }
.exhibition { padding: 20px 6% 48px; max-width: 1800px; margin: auto; }
.exhibition-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.exhibition-category { margin: 0 0 10px; color: #666; font: 12px/1.5 var(--font); }
.exhibition h1 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 500; letter-spacing: -.035em; }
.exhibition-note { margin: 0; color: #666; font: 12px/1.7 var(--font); }
.wall-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 24px; }
.wall-grid figure { margin: 0; min-width: 0; }
.study-open { display: block; width: 100%; padding: 0; background: #f3f2f0; border: 0; cursor: zoom-in; }
.study-open img { display: block; width: 100%; height: auto; }
.wall-grid figcaption { display: flex; justify-content: space-between; padding-top: 13px; font: 12px/1.6 var(--font); }
.wall-grid figcaption span:last-child { color: #777; font-size: 10px; }
button { font: inherit; color: inherit; }
button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.study-dialog { width: 100vw; height: 100dvh; max-width: none; max-height: none; padding: 20px 4%; border: 0; margin: 0; background: #f8f7f5; color: #191919; }
.study-dialog[open] { display: flex; flex-direction: column; gap: 16px; }
.study-dialog::backdrop { background: #f8f7f5; }
.study-dialog img { display: block; width: 100%; flex: 1; min-height: 0; object-fit: contain; }
.viewer-bar,.viewer-controls { display: flex; justify-content: space-between; align-items: center; gap: 16px; font: 12px/1.6 var(--font); }
.viewer-bar button,.viewer-controls button { background: none; border: 0; padding: 10px 0; cursor: pointer; }
body:has(.study-dialog[open]) { overflow: hidden; }
@media (max-width: 1000px) { .wall-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .article, .exhibition { padding: 18px 7% 40px; } .exhibition-heading { align-items: start; flex-direction: column; gap: 8px; } .wall-grid { grid-template-columns: 1fr; gap: 30px; } }

/* A quiet, uniform surface connects the inner pages to the image-led entrance. */
.interior-page { background: #d4d5ce; color: #252923; min-height: 100svh; color-scheme: light; }
.interior-page nav { color: #565c53; }
.interior-page nav a:hover, .interior-page nav a[aria-current="page"] { color: #252923; }
.interior-page a:focus-visible { outline-color: #252923; }
.interior-page .editorial-copy p { color: #42483f; }
.interior-page .editorial-copy .lead { color: #252923; }
.interior-page .exhibition-category, .interior-page .exhibition-note, .interior-page figcaption span:last-child { color: #565c53; }
.study-open { background: #c7c9c0; }
.study-dialog, .study-dialog::backdrop { background: #d4d5ce; color: #252923; }
.exhibition-list { display: grid; gap: 40px; }
.exhibition-card { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(250px, 1fr); gap: 40px; align-items: center; }
.exhibition-cover { background: #c7c9c0; padding: 24px; }
.exhibition-cover img { display: block; width: 100%; height: 440px; object-fit: contain; }
.exhibition-card h2 { font-size: clamp(26px, 2.5vw, 36px); font-weight: 500; margin: 10px 0 24px; }
.exhibition-enter, .exhibition-back { font: 12px/1.6 var(--font); }
.exhibition-enter { display: inline-flex; align-items: center; gap: 40px; padding-bottom: 7px; border-bottom: 1px solid #7a8173; }
.exhibition-card:hover .exhibition-enter { border-color: #252923; }
.exhibition-back { display: inline-block; color: #565c53; margin-bottom: 12px; }
@media(max-width: 700px) {
 .exhibition-card { grid-template-columns: 1fr; gap: 24px; }
 .exhibition-cover { padding: 16px; }
 .exhibition-cover img { height: 350px; }
 .exhibition-card h2 { margin-bottom: 20px; }
}

.exhibition-card + .exhibition-card { border-top: 1px solid #afb3a8; padding-top: 28px; }

.exhibition-arrow { width: 14px; height: 14px; flex: none; }
@media (max-width: 700px) {
  .art-credit { left: 7%; right: 7%; bottom: max(12px, env(safe-area-inset-bottom)); font-size: 8px; line-height: 1.3; }
}
