/* The collection uses the homepage's real frames, fixtures and mineral rooms. */
.collection-page { --room-height: max(100svh, 860px); background: #22231e; }
.collection-page h1, .collection-page > section h2, .collection-room-heading h2, .collection-spotlight__copy > h2 { font-weight: 400; font-size: clamp(34px, 3.25vw, 48px); line-height: 1.12; letter-spacing: -.025em; }
.collection-page h1 em, .collection-page h2 em { color: #d5bc90; }
.collection-visit, .collection-passage, .collection-selection { position: relative; scroll-margin-top: calc(0px - var(--site-header-height) - 20px); }
.collection-visit:focus, .collection-passage:focus, .collection-selection:focus { outline: none; }
.collection-visit__stage { position: relative; }
.collection-visit__world { display: none; }
.collection-visit__pagination { position: absolute; z-index: 4; bottom: 34px; right: 8%; display: flex; gap: 16px; }
.collection-visit__pagination a { display: flex; align-items: center; gap: 8px; min-height: 44px; color: #beb5a6; font: 400 10px/1 var(--sans); }
.collection-visit__pagination a > span:last-child { width: 20px; height: 1px; background: var(--gold); transform: scaleX(.15); transform-origin: left; opacity: .45; transition: transform 200ms var(--ease-out), opacity 160ms ease; }
.collection-visit__pagination a[aria-current] { color: var(--gold); }
.collection-visit__pagination a[aria-current] > span:last-child { transform: scaleX(1); opacity: 1; }
.has-visit .collection-visit__stage { height: 100svh; overflow: clip; isolation: isolate; }
.has-visit .collection-visit__track { position: relative; isolation: isolate; display: flex; height: 100%; }
/* The wall and floor are one image, crossing the panel edges without a join. */
.has-visit .collection-visit__world { display: block; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; width: calc(var(--collection-bays) * 100%); background: url('images/collection-panorama.webp') left top / 100% 125% no-repeat; }
.has-visit .collection-visit__world::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 42%), transparent 28%, transparent 70%, rgb(0 0 0 / 15%)), linear-gradient(90deg, rgb(0 0 0 / 12%), transparent 12%, transparent 88%, rgb(0 0 0 / 16%)); }
.has-visit .collection-room__world { display: none; }
.has-visit .collection-passage { flex: 0 0 100%; min-width: 0; }
.has-visit .collection-room { --room-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px)); --hanging-unit: min(.205vw, calc((var(--room-height) - var(--site-top) - 380px) / 150)); height: var(--room-height); min-height: 0; }
.has-visit .collection-room--opening { --hanging-unit: min(.205vw, calc((var(--room-height) - var(--collection-intro-height) - 230px) / 150)); }
.has-visit .collection-wall { margin-top: 50px; }
.has-visit .collection-room--spotlight { --hanging-unit: min(.29vw, calc((var(--room-height) - var(--site-top) - 330px) / 150)); }
.has-visit .collection-room--wide { --hanging-unit: min(.175vw, calc((var(--room-height) - var(--site-top) - 380px) / 150)); }
.collection-room { --hanging-unit: min(.205vw, calc((var(--room-height) - var(--site-top) - 420px) / 150)); position: relative; isolation: isolate; min-height: var(--room-height); overflow: clip; padding-bottom: 140px; }
.collection-room__world { position: absolute; z-index: -2; inset: 0; background: url('images/collection-panorama.webp') var(--collection-wall-position, 0%) top / calc(var(--collection-bays) * 100%) 125% no-repeat; }
.collection-room__world::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 42%), transparent 28%, transparent 70%, rgb(0 0 0 / 15%)), linear-gradient(90deg, rgb(0 0 0 / 12%), transparent 25%, transparent 70%, rgb(0 0 0 / 16%)); }
.collection-introduction { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 28px; padding: calc(var(--site-top) + 30px) 8% 0 10%; }
.collection-introduction h1 { margin-top: 12px; }
.collection-introduction__lead { margin-top: 13px; color: #c9c4b9; font: 400 15px/1.8 var(--sans); }
.collection-tools { display: flex; align-items: center; gap: 22px; padding-bottom: 2px; }
.collection-tools nav { display: flex; gap: 28px; }
/* The two levels of the collection read as tabs: larger, brighter, with a firm gold underline on the current one. */
.collection-tools nav a { display: inline-flex; align-items: center; min-height: 44px; padding-bottom: 4px; border-bottom: 1px solid rgb(238 232 220 / 35%); font: 400 17px/1.4 var(--serif); letter-spacing: .01em; color: #ece4d4; text-shadow: 0 1px 8px rgb(0 0 0 / 45%); transition: color 160ms ease, border-color 160ms ease; white-space: nowrap; }
.collection-tools nav a[aria-current] { color: var(--gold); border-bottom: 2px solid var(--gold); padding-bottom: 3px; }
.collection-filter { display: flex; gap: 12px; align-items: center; }
.collection-filter select { min-height: 44px; width: 182px; padding: 10px 28px 10px 13px; border: 1px solid rgb(196 164 116 / 45%); border-radius: 3px; color: #e4d8c3; background: #27271f; font: 400 11px/1.6 var(--sans); }
.collection-filter select:focus-visible { outline-offset: 4px; }
.collection-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; column-gap: 4%; margin: 64px 9% 0 10%; }
.collection-piece { min-width: 0; text-align: center; scroll-margin-top: 130px; }
.collection-piece__hang { display: flex; align-items: center; justify-content: center; height: calc(150 * var(--hanging-unit)); }
.collection-piece .artwork { width: calc(var(--work-width) * var(--hanging-unit)); max-width: 100%; flex: 0 0 auto; }
.collection-piece .artwork__mount { isolation: isolate; }
.collection-piece .artwork__frame img { object-fit: cover; object-position: center; }
.collection-piece .picture-lamp { bottom: calc(100% - 8px); }
.collection-piece__cartel { position: relative; z-index: 2; margin-top: calc((var(--work-height) - 150) * var(--hanging-unit) / 2); padding-top: 18px; }
.collection-piece__cartel h2 { margin: 0; font: 400 clamp(19px, 1.7vw, 26px)/1.15 var(--serif); letter-spacing: -.015em; text-wrap: balance; }
.collection-piece__cartel > p { margin-top: 7px; color: #c8c0b2; font: 400 10px/1.7 var(--sans); letter-spacing: .03em; }
.collection-piece__status { display: inline-block; margin-top: 10px; color: #c4b08b; font: 400 9px/1.6 var(--sans); }
.collection-piece__status::before { content: ''; display: inline-block; width: 3px; height: 3px; margin-right: 7px; border-radius: 50%; background: currentColor; vertical-align: middle; }
.collection-next { position: absolute; z-index: 3; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; flex-direction: column; gap: 9px; min-height: 44px; color: #d9cfbb; font: 400 9px/1.6 var(--sans); text-transform: uppercase; letter-spacing: .13em; text-align: center; }
.collection-next > span:last-child { font: 25px/1 var(--serif); color: var(--gold); transition: transform 200ms var(--ease-out); }
.collection-next--catalogue { flex-direction: row; justify-content: center; gap: 24px; bottom: 30px; min-height: 48px; padding: 10px 20px; border: 1px solid rgb(196 164 116 / 65%); color: #e4cfaa; background: rgb(23 23 18 / 55%); }
.collection-room--spotlight { --hanging-unit: min(.29vw, calc((var(--room-height) - var(--site-top) - 335px) / 150)); }
.collection-room__label { padding: calc(var(--site-top) + 28px) 10% 0; }
.collection-spotlight { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 10%; margin: 62px 12% 0; }
.collection-spotlight__copy > h2 { margin-top: 20px; }
.collection-spotlight__introduction { margin-top: 25px; }
.collection-spotlight__story { margin-top: 23px; }
.collection-spotlight__story p + p { margin-top: 18px; }
.collection-spotlight__technique { margin-top: 22px; color: #b7ab95; font: 400 10px/1.7 var(--sans); }
.collection-spotlight__copy > .text-link { margin-top: 20px; }
.collection-room--wide { --hanging-unit: min(.175vw, calc((var(--room-height) - var(--site-top) - 395px) / 150)); }
.collection-room-heading { padding: calc(var(--site-top) + 28px) 10% 0; }
.collection-room-heading h2 { margin-top: 15px; }
.collection-room--wide .collection-wall { margin-top: 35px; }
.collection-room--wide .collection-piece .picture-lamp { width: calc(60 * var(--hanging-unit)); left: 50%; transform: translateX(-50%); }
.collection-selection { isolation: isolate; overflow: clip; padding: calc(var(--site-top) + 35px) 10% 100px; }
.collection-selection__world { position: absolute; z-index: -1; inset: 0; }
/* One stationary wall follows the long catalogue (pinned by the motion engine), without tiled image joins. */
/* The pinned wall is as tall as the largest viewport: when a phone hides its toolbar, no band of page shows below it. */
.collection-selection__wall { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; height: 100lvh; background: linear-gradient(rgb(24 24 20 / 12%), rgb(24 24 20 / 12%)), url('images/collection-wall.webp') center / cover no-repeat; }
.collection-selection__introduction { display: flex; justify-content: space-between; align-items: end; gap: 25px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.collection-selection__introduction h2 { margin-top: 15px; }
.collection-selection__introduction > div > p:last-child { margin-top: 15px; color: #c9c4b9; font: 400 15px/1.8 var(--sans); }
.collection-selection__tools { display: flex; align-items: center; gap: 22px; }
.collection-selection__count { color: #c7b899; font: 400 10px/1.8 var(--sans); white-space: nowrap; }
.collection-selection__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 64px 8%; padding-top: 48px; }
.collection-selection__item .collection-piece__hang { height: clamp(260px, 24vw, 420px); align-items: center; }
.collection-selection__item .artwork { width: min(100%, calc(var(--work-width) / var(--work-height) * clamp(260px, 24vw, 420px))); }
.collection-selection__item .collection-piece__cartel { margin-top: 0; padding-top: 22px; }
.collection-selection__item .collection-piece__cartel h2 { font-size: clamp(20px, 1.6vw, 25px); }
.collection-selection__item .collection-piece__status { color: #b3ab9c; }
.collection-selection__empty { padding: 55px 0; color: var(--muted); font: 400 15px/1.8 var(--sans); }
.collection-selection__empty a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.collection-contact { position: relative; isolation: isolate; overflow: clip; display: grid; align-items: center; min-height: min(80svh, 780px); padding: 110px 12%; }
.collection-contact__world { position: absolute; z-index: -1; inset: -3%; background: linear-gradient(rgb(9 9 7 / 16%), rgb(9 9 7 / 16%)), url('images/contact-room.webp') center / 100% 100% no-repeat; }
.collection-contact__copy { width: 48%; margin-left: auto; }
.collection-contact h2 { margin-top: 20px; }
.collection-contact__copy > p:not(.eyebrow) { margin-top: 26px; color: #c9c4b9; font: 400 15px/1.85 var(--sans); }
.collection-contact .text-link { margin-top: 25px; }
.has-observer .collection-piece__details { display: none; }
.collection-piece__details { margin-top: 20px; text-align: left; color: var(--muted); font: 400 13px/1.8 var(--sans); }
.collection-piece__details summary { cursor: pointer; color: var(--gold); }
.collection-piece__details .prose { margin-top: 15px; }
.collection-piece__technique { margin-top: 15px; }
@media (hover: hover) and (pointer: fine) {
  .collection-tools nav a:hover, .collection-piece__cartel h2 a:hover { color: var(--gold); }
  .collection-next:hover > span:last-child { transform: translateY(4px); }
}
@media (max-width: 1200px) {
  .collection-introduction { grid-template-columns: 1fr; gap: 14px; }
  .collection-tools { justify-content: space-between; }
  .collection-wall { margin-top: 52px; }
  .collection-room { --hanging-unit: min(.205vw, calc((var(--room-height) - var(--site-top) - 430px) / 150)); }
  .collection-room--spotlight { --hanging-unit: min(.30vw, calc((var(--room-height) - var(--site-top) - 250px) / 150)); }
  .collection-room--wide { --hanging-unit: min(.175vw, calc((var(--room-height) - var(--site-top) - 395px) / 150)); }
  .collection-spotlight { gap: 7%; margin-inline: 9%; }
  .collection-spotlight__introduction { display: none; }
  .collection-selection__tools { flex-direction: column; align-items: end; gap: 10px; }
}
@media (min-width: 761px) and (max-height: 879px) {
  .collection-spotlight__introduction { display: none; }
}
@media (min-width: 761px) {
  .collection-room.collection-room--four { --hanging-unit: min(.12vw, calc((var(--room-height) - var(--site-top) - 380px) / 150)); }
  .collection-room--four .collection-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3%; }
}
@media (min-width: 961px) and (max-height: 740px) {
  .has-visit .collection-spotlight { margin-top: 36px; }
  .has-visit .collection-spotlight__story p + p { display: none; }
  .has-visit .collection-spotlight__copy > h2 { font-size: 36px; }
}
@media (max-width: 760px) {
  .collection-page { --room-height: auto; }
  .collection-page h1, .collection-page > section h2, .collection-room-heading h2, .collection-spotlight__copy > h2 { font-size: 35px; }
  .collection-room { min-height: 0; padding-bottom: 100px; }
  .collection-room__world { background-size: auto 100%; background-position: 48% center; }
  .collection-room__world::after { background: linear-gradient(180deg, rgb(17 18 15 / 25%), rgb(17 18 15 / 20%) 50%, rgb(17 18 15 / 65%)); }
  .collection-introduction { padding: calc(var(--site-top) + 28px) 28px 0; gap: 24px; }
  .collection-introduction__lead { font-size: 14px; }
  .collection-tools { flex-wrap: wrap; gap: 18px; }
  .collection-tools nav { width: 100%; gap: 22px; }
  .collection-tools nav a { font-size: 16px; }
  .collection-filter select { width: 170px; font-size: 11px; }
  .collection-wall { display: flex; flex-direction: column; gap: 72px; margin: 72px 28px 0; }
  .collection-wall .collection-piece { width: 100%; }
  .collection-piece__hang { height: auto; }
  .collection-piece .artwork { width: calc(var(--work-width) * min(.60vw, (100vw - 56px) / 140)); max-width: 100%; }
  .collection-piece .picture-lamp { bottom: calc(100% - 5px); }
  .collection-piece__cartel { margin-top: 0; }
  .collection-piece__cartel h2 { font-size: 25px; }
  .collection-piece__cartel > p { font-size: 10px; }
  .collection-next { font-size: 8px; bottom: 24px; width: 80%; }
  .collection-room__label { padding: calc(var(--site-top) + 25px) 28px 0; }
  .collection-spotlight { display: flex; flex-direction: column; gap: 38px; margin: 70px 28px 0; }
  .collection-spotlight .collection-piece { width: 100%; }
  .collection-spotlight__copy { width: 100%; }
  .collection-spotlight__introduction { display: block; }
  .collection-spotlight__copy > h2 { margin-top: 14px; }
  .collection-spotlight__copy .prose { font-size: 14px; }
  .collection-room-heading { padding: calc(var(--site-top) + 25px) 28px 0; }
  .collection-room--wide .collection-wall { margin-top: 70px; }
  .collection-room--wide .collection-piece .picture-lamp { width: 45%; }
  .collection-selection { padding: calc(var(--site-top) + 28px) 28px 70px; }
  .collection-selection__introduction { align-items: start; flex-direction: column; gap: 22px; }
  .collection-selection__introduction > div > p:last-child { font-size: 14px; }
  .collection-selection__tools { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
  .collection-selection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 22px; padding-top: 34px; }
  .collection-selection__item .collection-piece__hang { height: 46vw; }
  .collection-selection__item .artwork { width: min(100%, calc(var(--work-width) / var(--work-height) * 46vw)); }
  .collection-selection__item .collection-piece__cartel { padding-top: 15px; }
  .collection-selection__item .collection-piece__cartel h2 { font-size: 20px; }
  .collection-selection__item .collection-piece__cartel > p { font-size: 9px; letter-spacing: 0; }
  .collection-selection__item .collection-piece__status { font-size: 8px; margin-top: 6px; }
  .collection-contact { min-height: 640px; padding: 90px 28px; }
  .collection-contact__world { background-size: auto 100%; background-position: 75% center; }
  .collection-contact__copy { width: 100%; padding: 25px 0; }
  .collection-contact__copy > p:not(.eyebrow) { font-size: 14px; }
}
/* Phones: the introduction stays at the top while the opening works cross beneath it, one per screen, to scale. */
@media (min-width: 360px) and (max-width: 760px) and (min-height: 640px) {
  /* The tallest work ends above the floor line of the wall photograph, about three quarters down the screen. */
  .has-hanging .collection-room--opening { --hanging-unit: min((100vw - 56px) / 140, (72svh - var(--collection-intro-height, 330px) - 34px) / 150); height: 100svh; min-height: 0; padding-bottom: 0; }
  .has-hanging .collection-room--opening .collection-wall { display: flex; flex-direction: row; gap: 0; margin: 34px 0 0; }
  .has-hanging .collection-room--opening .collection-piece { flex: 0 0 100%; width: 100%; padding: 0 28px; }
  .has-hanging .collection-room--opening .collection-piece__hang { height: calc(150 * var(--hanging-unit)); }
  .has-hanging .collection-room--opening .collection-piece .artwork { width: calc(var(--work-width) * var(--hanging-unit)); }
  .has-hanging .collection-room--opening .collection-piece__cartel { margin-top: calc((var(--work-height) - 150) * var(--hanging-unit) / 2); padding-top: 16px; }
  .has-hanging .collection-room--opening .collection-piece__cartel h2 { font-size: 23px; }
  .has-hanging .collection-introduction { padding-top: calc(var(--site-top) + 18px); gap: 16px; }
  .has-hanging .collection-introduction h1 { font-size: 31px; margin-top: 10px; }
  .has-hanging .collection-introduction__lead { margin-top: 8px; font-size: 13px; line-height: 1.6; }
  .has-hanging .collection-tools nav a { min-height: 40px; font-size: 15px; }
  /* The photograph grows from the top so its floor line passes below the cartel, not through the title. */
  .has-hanging .collection-room--opening { overflow-x: clip; overflow-y: visible; }
  /* The photograph is taller than the held room, so its floor simply continues when the phone toolbar hides. */
  .has-hanging .collection-room--opening .collection-room__world { bottom: calc(-1 * var(--toolbar-gap)); background-size: auto 112svh; }
  .has-hanging .collection-room--opening .collection-room__world { background-position-y: 0; }
}
/* Shorter phones keep the title and the two tabs; the painting needs the room more than the lead. */
@media (min-width: 360px) and (max-width: 760px) and (min-height: 640px) and (max-height: 760px) {
  .has-hanging .collection-introduction__lead { display: none; }
}
@media (max-width: 359px) {
  .collection-selection__grid { grid-template-columns: 1fr; gap: 45px; }
  .collection-selection__item .collection-piece__hang { height: 85vw; }
  .collection-selection__item .artwork { width: min(100%, calc(var(--work-width) / var(--work-height) * 85vw)); }
}
@media (prefers-reduced-motion: reduce) {
  .collection-next > span:last-child { transition: none; }
}
