.collection-wall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 64px) clamp(12px, 1.35vw, 30px);
}
.collection-card { display: grid; min-width: 0; align-content: start; }
.collection-cover, .exhibit-hero { position: relative; isolation: isolate; overflow: hidden; }
.collection-cover {
  aspect-ratio: 1.42;
  color: #fff;
  background: #8f532b;
  border-radius: 3px;
}
.collection-cover picture, .collection-cover img, .exhibit-frame picture, .exhibit-frame img {
  display: block;
  width: 100%;
  height: 100%;
}
.collection-cover img, .exhibit-frame img { object-fit: cover; }
.collection-cover img { object-position: 60% center; transition: transform 790ms cubic-bezier(.21,.8,.22,1); }
.collection-forma .collection-cover { background: #c6ac89; }
.collection-text .collection-cover { background: var(--fg); }
.collection-cover::after, .exhibit-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(0deg, rgb(11 8 6 / 69%), transparent 40%);
}
.collection-caption {
  position: absolute;
  inset-inline: clamp(18px, 2.1vw, 40px);
  bottom: clamp(18px, 2vw, 36px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  z-index: 2;
}
.collection-caption h3 {
  font-size: clamp(35px, 4.15vw, 80px);
  font-weight: 520;
  letter-spacing: -.075em;
  line-height: .99;
  overflow-wrap: anywhere;
}
.collection-forma h3, .exhibit-forma .exhibit-heading h1 {
  font-family: 'Times New Roman', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.068em;
}
.collection-arrow {
  display: grid;
  place-items: center;
  flex: none;
  width: clamp(37px, 3vw, 54px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgb(255 255 255 / 75%);
  background: rgb(28 20 13 / 19%);
  transition: color .25s, background .25s;
}
.collection-notes {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 24px;
  padding-block: 14px;
  flex-wrap: wrap;
}
.collection-notes p { font-size: clamp(14px, 1.12vw, 20px); font-weight: 500; line-height: 1.35; }
.collection-notes span { font-size: 11px; line-height: 1.35; color: var(--muted); }
.exhibit-hero {
  color: white;
  background: #754d30;
  min-height: 450px;
  height: min(77svh, 950px);
}
.exhibit-frame { position: absolute; inset: 0; }
.exhibit-frame img { object-position: 55% center; }
.exhibit-forma .exhibit-frame img { object-position: 64% center; }
.exhibit-detail-frame { opacity: 0; transition: opacity .65s ease; }
.exhibit-hero[data-angle="close"] .exhibit-detail-frame { opacity: 1; }
.exhibit-hero::after {
  background: linear-gradient(0deg, rgb(20 13 6 / 69%), transparent 43%), linear-gradient(130deg, rgb(20 13 6 / 20%), transparent 29%);
}
.exhibit-overlay {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  width: min(100% - clamp(40px,7vw,144px), 1680px);
  height: 100%;
  padding-block: clamp(20px, 3vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: space-between;
  align-items: end;
  column-gap: 24px;
}
.exhibit-nav { grid-column: 1 / -1; }
.exhibit-nav a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 100px;
  font-size: 13px;
  background: rgb(20 15 13 / 76%);
}
.exhibit-nav svg { transform: rotate(180deg); }
.exhibit-heading span { font-size: 13px; }
.exhibit-heading h1 {
  font-size: clamp(64px, 8.8vw, 175px);
  line-height: .95;
  font-weight: 530;
  letter-spacing: -.08em;
  overflow-wrap: anywhere;
  margin: 16px 0 0;
}
.exhibit-switch {
  display: inline-flex;
  justify-self: start;
  padding: 4px;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 100px;
  background: rgb(20 15 13 / 78%);
}
.exhibit-switch button {
  min-height: 38px;
  color: #fff;
  border-radius: 100px;
  padding: 8px 16px;
  font-size: 13px;
  white-space: nowrap;
}
.exhibit-switch button[aria-pressed="true"] { background: #fff; color: #171613; }
.exhibit-switch button:focus-visible, .exhibit-nav a:focus-visible { outline-color: #fff; }
.exhibit-story {
  display: grid;
  grid-template-columns: minmax(175px, .47fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 110px);
  padding-block: clamp(52px, 7.8vw, 135px);
}
.exhibit-format { display: grid; align-content: start; gap: 10px; }
.exhibit-format span, .exhibit-next span { font-size: 13px; color: var(--muted); }
.exhibit-format strong { font-size: clamp(18px, 2vw, 34px); font-weight: 500; letter-spacing: -.04em; line-height: 1.12; max-width: 14em; }
.exhibit-copy h2 { font-size: 14px; font-weight: 550; margin: 0 0 15px; }
.exhibit-lead {
  font-size: clamp(25px, 2.6vw, 48px);
  letter-spacing: -.055em;
  line-height: 1.15;
  max-width: 26em;
  white-space: pre-line;
}
.exhibit-pair { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(20px,3vw,54px); margin-top: clamp(28px,4.2vw,72px); }
.exhibit-pair section { border-top: 1px solid var(--line); padding-top: 15px; }
.exhibit-pair h3 { font-size: 19px; font-weight: 550; letter-spacing: -.04em; margin: 0 0 8px; }
.exhibit-pair p { color: var(--muted); line-height: 1.56; font-size: 15px; }
.exhibit-next {
  display: grid;
  grid-template-columns: minmax(0, .47fr) minmax(0, .85fr) auto;
  align-items: center;
  gap: clamp(12px, 4vw, 80px);
  padding: 25px 0;
  border-top: 1px solid var(--line);
  margin: 0 0 clamp(35px, 5vw, 85px);
}
.exhibit-next strong { font-size: clamp(25px,3.3vw,64px); line-height: 1.08; letter-spacing: -.065em; font-weight: 500; }
.exhibit-status { position: absolute; inset: auto 12px 4px auto; z-index: 4; font-size: 12px; color: white; background: #151515; }
.cms-exhibit > img { display: block; max-width: 100%; height: auto; }
.campaign-close {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: #060924;
}
.close-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; z-index: -2; }
.campaign-close::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgb(5 7 28 / 62%),transparent 72%); }
.campaign-close .cta-inner { min-height: clamp(310px, 29vw, 520px); flex-direction: column; align-items: flex-start; justify-content: center; }
.campaign-close h2 { font-size: clamp(49px, 5.7vw, 112px); max-width: 8.6em; letter-spacing: -.074em; font-weight: 500; line-height: .99; }
.campaign-close .button.primary { background: #fff; color: #101226; border-color: transparent; }
.campaign-close .button.primary:hover { background: #d9e2ff; }
.campaign-close .button.primary:focus-visible { outline-color: white; }
@supports (animation-timeline: view()) {
  @media(prefers-reduced-motion: no-preference) {
    .close-photo { animation: glass-settle linear both; animation-timeline: view(); animation-range: entry 0% cover 65%; }
    @keyframes glass-settle { from { transform: translateY(2%) scale(1.085); } to { transform: translateY(0) scale(1); } }
  }
}
@media (hover: hover) {
  .collection-card:hover img { transform: scale(1.045); }
  .collection-card:hover .collection-arrow, .collection-card:focus-visible .collection-arrow { color: #181818; background: #fff; }
  .exhibit-next svg { transition: transform .25s ease; }
  .exhibit-next:hover svg { transform: translateX(5px); }
  .exhibit-switch button[aria-pressed="false"]:hover { background: rgb(255 255 255 / 14%); }
}
@media (prefers-reduced-motion: no-preference) {
  .collection-cover.is-present picture { animation: exhibit-enter .92s cubic-bezier(.2,.65,.25,1) both; }
  @keyframes exhibit-enter { from { clip-path: inset(2.4% 0 0); } to { clip-path: inset(0); } }
}
@media(max-width: 850px) {
  .exhibit-story { grid-template-columns: minmax(120px,.32fr) minmax(0,1fr); gap: 28px; }
  .exhibit-overlay { column-gap: 15px; }
  .exhibit-switch button { padding-inline: 10px; }
}
@media(max-width: 670px) {
  .campaign-close::before { background: linear-gradient(90deg,rgb(5 7 28 / 78%),rgb(5 7 28 / 20%)); }
  .campaign-close .cta-inner { min-height: 380px; align-items: flex-start; }
  .campaign-close h2 { max-width: 6.8em; }
  .campaign-close .close-photo { object-position: 62% center; }
  .collection-wall { grid-template-columns: 1fr; gap: 24px; }
  .collection-cover { aspect-ratio: 1.07; }
  .collection-caption h3 { font-size: clamp(36px, 10vw, 62px); }
  .collection-notes { padding-block: 10px; flex-direction: column; gap: 3px; }
  .exhibit-hero { min-height: 420px; height: min(76svh,675px); }
  .exhibit-overlay { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
  .exhibit-heading { margin-top: auto; }
  .exhibit-heading h1 { font-size: clamp(44px, 14.2vw, 82px); }
  .exhibit-heading span { font-size: 12px; }
  .exhibit-switch { margin-top: 0; }
  .exhibit-switch button { min-height: 36px; padding-inline: 15px; }
  .exhibit-story { grid-template-columns: 1fr; gap: 32px; }
  .exhibit-format { gap: 6px; }
  .exhibit-format strong { max-width: 100%; }
  .exhibit-pair { grid-template-columns: 1fr; }
  .exhibit-next { grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; }
  .exhibit-next span { grid-column: 1 / -1; }
}
@media(prefers-reduced-motion: reduce) {
  .collection-card img, .collection-arrow, .exhibit-detail-frame, .exhibit-next svg { transition: none; }
  .collection-card:hover img, .exhibit-next:hover svg { transform: none; }
}
