@font-face {
  font-family: 'Inter';
  src: url('fonts/Inter-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('fonts/Inter-Italic-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --color-bg: #ffffff;
  --color-muted: #a7a7a7;
  --color-text: #000000;
  --color-chip: #ebebeb;
  --color-rule: #a7a7a7;
  --page-pad: 20px;
  --gutter: 20px;
  --header-height: 74px;
  --space-10: 10px;
  --space-20: 20px;
  --space-25: 25px;
  --space-30: 30px;
  --space-50: 50px;
  --lh-label: 80%;
  --lh-footer-body: 130%;
  /* Type scale — max-width 1919px (H1 70 / H2 34 / H3 24 / P 16) */
  --fs-h1: 4.9vw;
  --fs-h2: 2.4vw;
  --fs-h3: 1.7vw;
  --fs-p: 1.11vw;
  /* 1 of 12 columns (content width minus side pads and 11 gutters) */
  --col: calc((100vw - (2 * var(--page-pad)) - (11 * var(--gutter))) / 12);
  /* news card = 5 columns + 4 gutters between them */
  --news-card-width: calc((var(--col) * 5) + (4 * var(--gutter)));
  /* hero shrink: 9 cols → 6 cols, matching Figma 1045 → 690 */
  --hero-end-width: calc((var(--col) * 6) + (5 * var(--gutter)));
  --artists-preview-max: calc((var(--col) * 5) + (4 * var(--gutter)));
}

@media (min-width: 1920px) {
  :root {
    /* H1 70 / H2 34 / H3 24 / P 16 */
    --fs-h1: 3.6vw;
    --fs-h2: 1.7vw;
    --fs-h3: 1.25vw;
    --fs-p: 0.8vw;
  }
}

@media (max-width: 1024px) {
  :root {
    /* H1 50 / H2 26 / H3 18 / P 14 */
    --fs-h1: 4.9vw;
    --fs-h2: 2.5vw;
    --fs-h3: 1.75vw;
    --fs-p: 1.4vw;
  }

  /* Figma iPad: títulos da exposição 54px, não o H1 da escala (50px) */
  .exhibition-title,
  .exhibition-artists,
  .exhibition-dates,
  .archive-past-heading,
  .detail-title,
  .shelf-intro-text,
  .artist-name,
  .empty-state-title {
    font-size: 5.273vw;
  }

  .exhibition-artists {
    line-height: 100%;
  }

  .past-dates {
    margin-top: 30px;
  }

  .footer-logo {
    grid-column: 1 / 3;
  }
}


html {
  scroll-behavior: smooth;
}

body {
  font-family: Inter, sans-serif;
  font-size: var(--fs-p);
  line-height: 125%;
  color: var(--color-text);
  background: var(--color-bg);
  width: 100%;
  padding-top: var(--header-height);
}

main,
.site-footer {
  opacity: 0;
  transition: opacity 0.45s ease;
}

body.is-ready:not(.is-leaving) main,
body.is-ready:not(.is-leaving) .site-footer {
  opacity: 1;
}

body.is-leaving main,
body.is-leaving .site-footer {
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  main,
  .site-footer {
    opacity: 1;
    transition: none;
  }
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a,
button,
input,
label {
  -webkit-tap-highlight-color: transparent;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

button,
input {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: 0;
  cursor: pointer;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 12 columns, 20px margins, 20px gutters */
.grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gutter);
  row-gap: 0;
  padding: 0 var(--page-pad);
  width: 100%;
}

.section-label {
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: var(--lh-label);
  color: var(--color-muted);
}

.section-label--dark {
  color: var(--color-text);
}

.exhibition-title {
  font-size: var(--fs-h1);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin: 0;
  padding: 0;
}

.exhibition-artists {
  font-size: var(--fs-h1);
  font-weight: 700;
  font-style: normal;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin: 0;
  padding: 0;
}

.exhibition-dates {
  font-size: var(--fs-h1);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 100%;
  color: var(--color-muted);
  margin: 0;
  padding: 0;
}

.rule {
  border: 0;
  border-top: 1px solid var(--color-rule);
  width: calc(100% - 40px);
  margin: 0 auto;
  display: block;
}

.rule--after-current {
  margin-top: var(--space-25);
}

.rule--section {
  margin-top: var(--space-25);
}

.current-type-mobile,
.past-dates--inline {
  display: none;
}

.menu-toggle {
  display: none;
}

/* Header */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: #ffffff;
  padding: 20px 0;
  transition: transform 0.3s ease;
}

.site-header.is-hidden {
  transform: translateY(-100%);
}

body.nav-open .site-header {
  transform: none;
}

.header-grid {
  align-items: center;
}

.logo {
  grid-column: 1 / 2;
  display: block;
  width: 100%;
}

.logo img {
  width: 100%;
}

.nav {
  grid-column: 4 / 11;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.nav a {
  color: var(--color-muted);
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: var(--color-text);
}

.lang {
  grid-column: 12 / 13;
  justify-self: end;
  display: flex;
  align-items: center;
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.lang-btn {
  color: var(--color-muted);
  padding: 0;
}

.lang-btn.is-active,
.lang-btn:hover {
  color: var(--color-text);
}

.lang-sep {
  color: var(--color-muted);
  padding: 0 0.35em;
}

/* Current */
.current {
  padding-top: 0;
}

.current-link {
  display: block;
  color: inherit;
  cursor: pointer;
}

.current-pin {
  position: relative;
}

.current-sticky {
  position: relative;
  z-index: 1;
  background: var(--color-bg);
}

.current-sticky.is-pinned {
  position: fixed;
  top: var(--hero-pin-top, var(--header-height));
  left: 0;
  right: 0;
  width: 100%;
}

.current-hero {
  align-items: center;
}

.current-label {
  grid-column: 1 / 4;
  align-self: center;
}

.current-figure {
  position: relative;
  grid-column: 4 / 13;
  overflow: hidden;
  width: 100%;
}

.current-figure img {
  width: 100%;
  height: auto;
}

.current-link:hover .hover-arrow {
  opacity: 1;
}

.current-meta {
  margin-top: var(--space-25);
  align-items: start;
  row-gap: 0;
}

.current-type {
  grid-column: 1 / 4;
  grid-row: 1;
  align-self: start;
  margin: 0;
  padding: 0;
}

.current-meta .exhibition-title {
  grid-column: 4 / 13;
  grid-row: 1;
}

.current-meta .exhibition-artists {
  grid-column: 1 / 10;
  grid-row: 2;
  margin-top: 15px;
}

.current-meta .exhibition-dates {
  grid-column: 4 / 13;
  grid-row: 3;
  margin-top: var(--space-30);
}

/* Upcoming */
.upcoming {
  padding-top: 250px;
}

.upcoming-label {
  grid-column: 1 / 4;
}

.upcoming-meta {
  margin-top: var(--space-25);
  padding-bottom: 250px;
  align-items: start;
  row-gap: 0;
}

.upcoming-meta .exhibition-title {
  grid-column: 4 / 13;
  grid-row: 1;
}

.upcoming-meta .exhibition-artists {
  grid-column: 1 / 10;
  grid-row: 2;
  margin-top: 15px;
}

.upcoming-meta .exhibition-dates {
  grid-column: 4 / 13;
  grid-row: 3;
  margin-top: var(--space-30);
}

/* Past */
.past-label {
  padding: 0 var(--page-pad);
}

.past .rule--section {
  margin-bottom: var(--space-25);
}

.past-grid {
  padding: 0 var(--page-pad);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
}

.past-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
  cursor: pointer;
  color: inherit;
}

.past-figure,
.current-figure {
  position: relative;
  overflow: hidden;
}

.past-figure img {
  width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.past-card:hover .past-figure img {
  opacity: 0.9;
}

.hover-arrow {
  position: absolute;
  top: 10px;
  right: 10px;
  box-sizing: border-box;
  width: calc(1.2em + 10px);
  height: calc(1.2em + 10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  background: var(--color-chip);
  border-radius: 5px;
  font-size: var(--fs-h3);
  line-height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.past-card:hover .hover-arrow {
  opacity: 1;
}

.past-title {
  font-size: var(--fs-h2);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -0.03em;
  line-height: 120%;
}

.past-artist {
  font-size: var(--fs-h2);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 120%;
}

.past-card:hover .past-title,
.past-card:hover .past-artist {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.past-dates {
  margin-top: var(--space-50);
  font-size: var(--fs-h3);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 110%;
  color: var(--color-muted);
  white-space: pre-line;
}

.past-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 150px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-chip);
  border-radius: 5px;
  padding: 10px 14px;
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 110%;
  cursor: pointer;
}

.btn:hover {
  background: #dedede;
}

/* Exposições archive */
.archive-current {
  padding-top: 180px;
}

.archive-current-link {
  display: block;
  color: inherit;
  cursor: pointer;
}

.archive-current-head {
  align-items: start;
}

.archive-current-label {
  grid-column: 1 / 4;
  grid-row: 1;
  align-self: start;
}

.archive-current-head .exhibition-title {
  grid-column: 4 / 13;
  grid-row: 1;
}

.archive-current-head .exhibition-artists {
  grid-column: 1 / 10;
  grid-row: 2;
  margin-top: 15px;
}

.archive-current-body {
  margin-top: var(--space-50);
  align-items: center;
}

.archive-current-dates {
  grid-column: 1 / 4;
  grid-row: 1;
  align-self: center;
  font-size: var(--fs-h2);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 110%;
  color: var(--color-muted);
  margin: 0;
}

.archive-current-dates--stack {
  white-space: pre-line;
}

.archive-current-dates--inline {
  display: none;
}

.archive-current-figure {
  position: relative;
  grid-column: 4 / 13;
  grid-row: 1;
  overflow: hidden;
  width: 100%;
}

.archive-current-figure img {
  width: 100%;
  height: auto;
}

.archive-current-link:hover .hover-arrow {
  opacity: 1;
}

.archive-current-curator {
  grid-column: 4 / 13;
  grid-row: 2;
  margin-top: var(--space-25);
}

.archive-past {
  padding-top: 250px;
  padding-bottom: 300px;
}

.archive-past-heading {
  padding: 0 var(--page-pad);
  font-size: var(--fs-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 110%;
}

.archive-past .rule--section {
  margin-top: var(--space-50);
  margin-bottom: var(--space-50);
}

@media (max-width: 1024px) {
  .archive-past .rule--section {
    margin-top: 30px;
    margin-bottom: 25px;
  }
}

.archive-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--gutter);
  row-gap: 150px;
}

.archive-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  color: inherit;
  cursor: pointer;
}

.archive-card .past-dates {
  margin-top: 0;
  white-space: normal;
}

.archive-card:hover .past-figure img {
  opacity: 0.9;
}

.archive-card:hover .hover-arrow {
  opacity: 1;
}

.archive-card:hover .past-title,
.archive-card:hover .past-artist {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* News */
.news {
  padding: 250px 0 300px;
  overflow: hidden;
}

.news-head {
  align-items: end;
}

.news-head .section-label:first-child {
  grid-column: 1 / 4;
}

.news-counter {
  grid-column: 4 / 6;
}

.news-controls {
  grid-column: 11 / 13;
  display: flex;
  justify-content: flex-end;
  align-items: end;
  gap: 10px;
}

.news-btn {
  box-sizing: border-box;
  width: calc(1.2em + 10px);
  height: calc(1.2em + 10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  background: var(--color-chip);
  border-radius: 5px;
  font-size: var(--fs-h3);
  line-height: 100%;
  cursor: pointer;
}

.news-btn.is-disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

.news .rule--section {
  margin-bottom: var(--space-25);
}

.news-viewport {
  overflow: hidden;
  width: 100%;
  padding-left: var(--page-pad);
  padding-right: var(--page-pad);
}

.news-track {
  display: flex;
  gap: 20px;
  transition: transform 0.4s ease;
}

.news-card {
  flex: 0 0 var(--news-card-width);
  width: var(--news-card-width);
  cursor: pointer;
  color: inherit;
}

.news-figure {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.news-card img {
  width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.news-card:hover .news-figure img {
  opacity: 0.9;
}

.news-card:hover .hover-arrow {
  opacity: 1;
}

.news-card:hover .news-title {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-category {
  margin-top: var(--space-20);
  line-height: 90%;
}

.news-title {
  margin-top: var(--space-10);
  font-size: var(--fs-h2);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 120%;
  max-width: 90%;
}

/* Footer */
.site-footer {
  background: var(--color-chip);
  padding: 150px var(--page-pad) var(--space-20);
  width: 100%;
}

.footer-grid {
  padding: 0;
  align-items: start;
}

.footer-logo {
  grid-column: 1 / 4;
  display: block;
  width: 100%;
  max-width: 217px;
}

@media (max-width: 1024px) {
  .footer-logo {
    grid-column: 1 / 3;
  }
}

.footer-logo img {
  width: 100%;
}

.footer-place {
  grid-column: 4 / 7;
  display: flex;
  flex-direction: column;
}

.footer-links-col {
  grid-column: 7 / 10;
}

.newsletter {
  grid-column: 10 / 13;
}

.footer-heading {
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: var(--lh-label);
  color: var(--color-muted);
  margin-bottom: 15px;
}

.footer-hours {
  margin-top: 48px;
}

.footer-text,
.footer-links {
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: var(--lh-footer-body);
  list-style: none;
}

.footer-text {
  white-space: pre-line;
}

.footer-maps:hover,
.footer-links a:hover {
  text-decoration: underline;
}

.newsletter input {
  display: block;
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-rule);
  padding: 0 0 8px;
  margin-bottom: 16px;
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--color-text);
  outline: none;
}

.newsletter input::placeholder {
  color: var(--color-muted);
  opacity: 1;
}

.newsletter-submit {
  padding: 8px 0 0;
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-muted);
  text-decoration: underline;
  cursor: pointer;
}

.newsletter-status {
  margin-top: 12px;
  font-size: var(--fs-p);
  color: var(--color-text);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 180px;
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-muted);
}

.footer-bottom p {
  margin: 0;
}

.footer-bottom a {
  color: var(--color-text);
  text-decoration: underline;
  margin-left: 4px;
}

.footer-bottom a:hover {
  color: var(--color-muted);
}

[hidden] {
  display: none !important;
}

.load-error::before {
  content: 'Unable to load site content. Please try again later.';
  display: block;
  background: #fee2e2;
  color: #991b1b;
  text-align: center;
  padding: 12px;
  font-size: var(--fs-p);
}

.empty-state {
  display: none;
  padding-top: 180px;
  padding-bottom: 300px;
}

.empty-state-title {
  grid-column: 1 / 11;
  font-size: var(--fs-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 100%;
}

body.is-empty .empty-state {
  display: block;
}

body.is-empty #top > :not(.empty-state) {
  display: none;
}

/* Detail / listing pages */
.detail-page,
.artists-page,
.news-page,
.shelf-page {
  padding-top: 180px;
  padding-bottom: 300px;
}

.detail-head {
  align-items: start;
  position: relative;
}

.detail-head .section-label {
  grid-column: 1 / 4;
  grid-row: 1;
}

.detail-title {
  grid-column: 1 / 11;
  grid-row: 2;
  margin-top: var(--space-25);
}

.page-exposicao .detail-head .exhibition-title {
  grid-column: 4 / 12;
  grid-row: 1;
  margin-top: 0;
}

.expo-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.expo-main {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.expo-close-slot {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  align-self: stretch;
  width: max-content;
  margin-right: 20px;
  pointer-events: none;
  z-index: 20;
}

.page-exposicao .detail-close {
  position: sticky;
  top: 85px;
  z-index: 20;
  display: inline-flex;
  margin-top: var(--expo-close-shift, 0px);
  pointer-events: auto;
  grid-column: auto;
  grid-row: auto;
  cursor: pointer;
}

.page-exposicao .detail-head .exhibition-artists {
  grid-column: 1 / 10;
  grid-row: 2;
  margin-top: 10px;
}

.page-exposicao .detail-head .exhibition-dates {
  grid-column: 4 / 13;
  grid-row: 3;
  margin-top: 15px;
}

.detail-title {
  font-size: var(--fs-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 100%;
}

.detail-head .exhibition-artists,
.detail-head .exhibition-dates {
  grid-column: 4 / 13;
}

.detail-head .exhibition-artists {
  grid-row: 3;
  margin-top: 15px;
}

.detail-head .exhibition-dates {
  grid-row: 4;
  margin-top: 15px;
}

.detail-close {
  grid-column: 12 / 13;
  grid-row: 2;
  justify-self: end;
  align-self: start;
}

.detail-hero {
  margin-top: var(--space-50);
}

.detail-hero-figure {
  grid-column: 4 / 10;
}

.detail-hero-figure--wide {
  grid-column: 4 / 13;
}

.detail-hero-figure img,
.shelf-cover img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.detail-page .rule {
  margin-top: 150px;
}

.news-page .rule {
  margin-top: 0;
}

.shelf-page .rule {
  margin-top: var(--space-25);
}

.detail-split {
  margin-top: var(--space-25);
  align-items: start;
}

.detail-split .section-label {
  grid-column: 1 / 4;
}

.detail-body,
.detail-text-col,
.detail-links {
  grid-column: 4 / 13;
}

.detail-body {
  font-size: var(--fs-h2);
  font-weight: 400;
  font-style: normal;
  letter-spacing: -0.03em;
  line-height: 130%;
  white-space: pre-wrap;
}

.detail-body.is-rich {
  white-space: normal;
}

.detail-body.is-rich p + p {
  margin-top: 16px;
}

.detail-body em,
.detail-body i {
  font-style: italic;
}

.detail-body a {
  text-decoration: underline;
}

.detail-essay-title {
  font-size: var(--fs-h2);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 100%;
  margin-bottom: var(--space-50);
}

.detail-author {
  margin-top: var(--space-30);
  font-size: var(--fs-h2);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 130%;
}

.detail-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}

.detail-link {
  font-size: 1.8vw;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 130%;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.detail-link:hover {
  color: var(--color-muted);
  cursor: pointer;
}

.expo-gallery-wrap {
  position: relative;
  margin-top: var(--space-50);
}

.expo-gallery {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--page-pad);
  padding: 0 var(--page-pad);
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  user-select: none;
}

.expo-gallery.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.expo-gallery::-webkit-scrollbar {
  display: none;
}

.expo-slide {
  display: grid;
  grid-template-columns: min-content;
  justify-items: stretch;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  margin: 0;
  scroll-snap-align: start;
}

.expo-gallery .expo-slide img {
  display: block;
  grid-column: 1;
  height: 85vh;
  width: auto;
  max-width: none;
  max-height: none;
  object-fit: unset;
  -webkit-user-drag: none;
}

.expo-caption {
  grid-column: 1;
  margin-top: 20px;
  min-width: 0;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 120%;
  color: var(--color-muted);
  text-align: left;
}

.expo-slide.is-active .expo-caption {
  color: var(--color-text);
}

.expo-gallery-btn {
  position: absolute;
  top: 40%;
  z-index: 2;
  cursor: pointer;
  pointer-events: auto;
}

.expo-gallery-prev {
  left: 30px;
}

.expo-gallery-next {
  right: 30px;
}

.expo-info {
  margin-top: var(--space-25);
  align-items: start;
}

.expo-info-label {
  grid-column: 1 / 4;
}

.expo-info-col {
  margin-bottom: 50px;
}

.expo-info-col:nth-child(even) {
  grid-column: 4 / 8;
}

.expo-info-col:nth-child(odd) {
  grid-column: 8 / 13;
}

.expo-info.is-even .expo-info-col:nth-last-child(-n+2),
.expo-info.is-odd .expo-info-col:last-child {
  margin-bottom: 0;
}

.expo-info-value,
.expo-info-col .detail-link {
  font-size: 1.8vw;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 130%;
}

.expo-info-col .detail-link {
  display: block;
  cursor: pointer;
}

.page-exposicao .expo-essay {
  margin-top: 150px;
  align-items: start;
}

.page-exposicao .expo-essay-rule {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  margin: 0;
}

.page-exposicao .expo-essay-label {
  grid-column: 1 / 4;
  grid-row: 2;
  margin-top: 25px;
}

.page-exposicao .expo-essay .detail-text-col {
  grid-column: 4 / 13;
  grid-row: 2;
  margin-top: 25px;
}

@media (max-width: 1024px) {
  .expo-gallery .expo-slide img {
    height: 40vh;
  }

  .expo-info-value,
  .expo-info-col .detail-link {
    font-size: var(--fs-p);
    letter-spacing: -0.03em;
  }
}

.artist-shows {
  display: grid;
  margin-top: var(--space-25);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px 20px;
}

.artist-show {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  row-gap: 0;
  align-items: start;
  color: inherit;
}

.artist-show .past-figure {
  grid-column: 1;
}

.artist-show-copy {
  grid-column: 2;
}

.artist-show-dates--inline {
  display: none;
}

.artist-show:hover .hover-arrow {
  opacity: 1;
}

.artist-show:hover .past-title,
.artist-show:hover .past-artist {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.artist-show-venue {
  font-size: var(--fs-h2);
  font-weight: 400;
  color: var(--color-muted);
  line-height: 120%;
}

.artist-show .past-dates {
  margin-top: var(--space-20);
}

.page-artista .detail-head {
  row-gap: 10px;
}

.page-artista .detail-head .section-label {
  font-size: var(--fs-p);
  letter-spacing: -0.02em;
  line-height: 125%;
}

.page-artista .detail-title {
  grid-column: 1 / 10;
  margin-top: 0;
}

.page-artista .detail-close,
.page-noticia .detail-close {
  position: sticky;
  top: 85px;
  z-index: 20;
  display: inline-flex;
  margin-top: var(--expo-close-shift, 0px);
  padding: 10px;
  pointer-events: auto;
  grid-column: auto;
  grid-row: auto;
  cursor: pointer;
}

.page-artista .detail-hero-figure {
  overflow: hidden;
}

.page-artista .detail-hero-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.page-artista .artist-section {
  margin-top: 150px;
  align-items: start;
}

.page-artista .artist-section .rule {
  grid-column: 1 / 13;
  grid-row: 1;
  width: 100%;
  margin: 0;
}

.page-artista .artist-section .section-label {
  grid-column: 1 / 4;
  grid-row: 2;
  margin-top: 25px;
  font-size: var(--fs-h3);
  letter-spacing: -0.02em;
  line-height: 110%;
}

.page-artista .artist-section .detail-body,
.page-artista .artist-section .detail-links {
  grid-column: 4 / 13;
  grid-row: 2;
  margin-top: 25px;
}

.page-artista .artist-section .detail-links {
  grid-column: 4 / 12;
}

.page-artista .artist-section--shows .section-label {
  grid-row: 1;
  margin-top: 0;
}

.page-artista .artist-section--shows .rule {
  grid-row: 2;
  margin-top: 25px;
}

.page-artista .artist-section--shows .artist-shows {
  grid-column: 1 / 13;
  grid-row: 3;
  margin-top: 50px;
  padding: 0;
  gap: 150px 20px;
}

.page-artista .detail-links {
  gap: 10px;
}

.page-artista .detail-link {
  font-size: 1.8vw;
  letter-spacing: -0.03em;
  line-height: 130%;
}

.page-artista .artist-show .past-dates {
  margin-top: 50px;
}

.page-noticia .news-section {
  margin-top: 150px;
  align-items: start;
}

.page-noticia .news-section .rule {
  grid-column: 1 / 13;
  grid-row: 1;
  width: 100%;
  margin: 0;
}

.page-noticia .news-section .section-label {
  grid-column: 1 / 4;
  grid-row: 2;
  margin-top: 25px;
}

.page-noticia .news-section .detail-body,
.page-noticia .news-section .detail-links {
  grid-column: 4 / 13;
  grid-row: 2;
  margin-top: 25px;
}

@media (max-width: 1024px) {
  .page-noticia .detail-hero {
    margin-top: 30px;
  }

  .page-noticia .news-section {
    margin-top: 70px;
  }

  .page-noticia .news-section .section-label {
    grid-row: 1;
    margin-top: 0;
  }

  .page-noticia .news-section .rule {
    grid-row: 2;
    margin-top: 25px;
  }

  .page-noticia .news-section .detail-body,
  .page-noticia .news-section .detail-links {
    grid-row: 3;
    margin-top: 25px;
  }
}

@media (max-width: 1024px) {
  .page-artista .detail-body {
    font-size: 2.73vw;
  }

  .page-artista .detail-link {
    font-size: var(--fs-h3);
  }

  .page-artista .artist-section--shows .artist-shows {
    margin-top: 25px;
  }

  .page-artista .artist-show .past-title,
  .page-artista .artist-show .past-artist,
  .page-artista .artist-show-venue {
    font-size: var(--fs-h3);
  }

  .page-artista .artist-show .past-dates {
    margin-top: 30px;
  }
}

@media (min-width: 601px) and (max-width: 1024px) {
  .page-artista .detail-title {
    font-size: 5.273vw;
  }
}

@media (min-width: 1920px) {
  .page-artista .detail-link {
    font-size: 1.35vw;
  }
}

.artists-page {
  position: relative;
}

.artists-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.artist-row {
  position: relative;
  z-index: 1;
  align-items: start;
  pointer-events: none;
}

.artist-row.is-active {
  z-index: 3;
}

.artists-row-more {
  grid-column: 1 / 4;
  justify-self: start;
  align-self: start;
  width: max-content;
  white-space: nowrap;
  visibility: hidden;
  pointer-events: none;
  cursor: pointer !important;
}

.artist-row.is-active .artists-row-more {
  visibility: visible;
  pointer-events: auto;
}

.artist-name {
  grid-column: 4 / 13;
  justify-self: start;
  width: max-content;
  max-width: 100%;
  font-size: var(--fs-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 100%;
  color: var(--color-chip);
  pointer-events: auto;
  cursor: pointer !important;
}

.artist-row.is-active .artist-name {
  color: var(--color-text);
}

.artists-preview {
  position: absolute;
  right: var(--page-pad);
  top: 0;
  display: block;
  width: max-content;
  max-width: var(--artists-preview-max);
  margin: 0;
  z-index: 2;
  pointer-events: auto;
  cursor: pointer !important;
}

.artists-preview img {
  width: auto;
  height: auto;
  max-width: var(--artists-preview-max);
  max-height: 60vh;
  object-fit: contain;
  pointer-events: auto;
  cursor: pointer !important;
}

@media (max-width: 1024px) {
  .artists-page {
    padding-top: 0;
    padding-bottom: 0;
  }

  .artists-list {
    gap: 15px;
    padding-top: calc(50vh - var(--header-height));
    padding-bottom: 28vh;
    padding-top: calc(50dvh - var(--header-height));
    padding-bottom: 28dvh;
  }

  .artists-preview {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
  }
}

.news-row {
  display: block;
  color: inherit;
}

.news-row-grid {
  padding-top: var(--space-25);
  padding-bottom: 150px;
  align-items: start;
}

.news-row-copy {
  grid-column: 1 / 5;
}

.news-row-copy .section-label {
  font-size: var(--fs-p);
  letter-spacing: -0.02em;
  line-height: 110%;
}

.news-row-title {
  margin: var(--space-20) 0 var(--space-25);
  font-size: var(--fs-h2);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 110%;
}

.news-row:hover .news-row-title {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-row:hover .hover-arrow {
  opacity: 1;
}

.news-row-figure {
  position: relative;
  grid-column: 5 / 9;
  overflow: hidden;
}

.news-row-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: var(--news-ratio, auto);
  object-fit: cover;
  object-position: var(--news-pos, center);
}

.news-row-excerpt {
  grid-column: 9 / 13;
  font-size: var(--fs-p);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 130%;
  color: var(--color-muted);
}

.news-row:hover .news-row-excerpt {
  color: var(--color-text);
}

.shelf-intro .grid {
  align-items: start;
}

.shelf-intro .section-label {
  grid-column: 1 / 4;
  grid-row: 1;
}

.shelf-intro-text {
  grid-column: 1 / 13;
  grid-row: 1;
  margin-top: 0;
  font-size: var(--fs-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 110%;
  text-indent: calc((100% - 11 * var(--gutter)) / 12 * 3 + 3 * var(--gutter));
}

.shelf-brand {
  color: var(--color-muted);
}

.shelf-books {
  margin-top: 200px;
}

.shelf-books-label {
  padding: 0 var(--page-pad);
}

.shelf-grid {
  margin-top: var(--space-50);
  row-gap: 150px;
  align-items: start;
}

.shelf-card {
  display: grid;
  grid-template-columns: subgrid;
  align-items: start;
  min-width: 0;
}

.shelf-cover,
.shelf-copy {
  min-width: 0;
}

.shelf-cover {
  grid-column: 1 / 3;
  overflow: hidden;
}

.shelf-copy {
  grid-column: 3 / -1;
}

.shelf-card:nth-child(4n + 1) {
  grid-column: 1 / 6;
}

.shelf-card:nth-child(4n + 2) {
  grid-column: 7 / 12;
}

.shelf-card:nth-child(4n + 3) {
  grid-column: 2 / 7;
}

.shelf-card:nth-child(4n + 4) {
  grid-column: 8 / 13;
}

.shelf-page .past-more-wrap {
  margin-top: 200px;
}

.shelf-title {
  font-size: 1.8vw;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -0.03em;
  line-height: 120%;
}

.shelf-author,
.shelf-by {
  font-size: 1.8vw;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 120%;
}

.shelf-copy .section-label {
  margin-top: var(--space-50);
  margin-bottom: 10px;
  font-size: var(--fs-p);
  letter-spacing: -0.02em;
  line-height: 120%;
}

@media (min-width: 601px) and (max-width: 1024px) {
  .shelf-copy .section-label {
    margin-top: 30px;
    margin-bottom: 5px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  :root {
    --header-height: 52px;
    --page-pad: 10px;
    --gutter: 10px;
    --fs-h1: 7.6vw;
    --fs-h2: 6vw;
    --fs-h3: 4vw;
    --fs-p: 3vw;
  }

  body.nav-open {
    overflow: hidden;
  }

  .menu-toggle {
    display: block;
    grid-column: 6 / 7;
    justify-self: end;
    font-size: var(--fs-p);
    font-weight: 700;
    color: var(--color-muted);
    z-index: 210;
  }

  .logo {
    grid-column: 1 / 3;
    z-index: 210;
  }

  .site-header {
    padding: 10px 0;
  }

  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    grid-column: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    padding: 150px 10px 0;
    background: #fff;
    z-index: 190;
    font-size: 9.95vw;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 125%;
    transform: translateY(-100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.45s ease, visibility 0s linear 0.45s;
  }

  .nav a {
    color: var(--color-muted);
  }

  body.nav-open .nav {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.45s ease, visibility 0s;
  }

  .lang {
    display: flex;
    position: fixed;
    left: 10px;
    bottom: 15px;
    z-index: 195;
    font-size: 9.95vw;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 125%;
    transform: translateY(-100dvh);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.45s ease, visibility 0s linear 0.45s;
  }

  body.nav-open .lang {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.45s ease, visibility 0s;
  }

  .grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--gutter);
    padding: 0 var(--page-pad);
  }

  .rule {
    width: calc(100% - 20px);
  }

  .rule--after-current,
  .rule--section {
    margin-top: 15px;
  }

  .section-label,
  .news-category {
    font-size: var(--fs-p);
  }

  .exhibition-title,
  .exhibition-artists,
  .exhibition-dates,
  .archive-past-heading,
  .detail-title,
  .shelf-intro-text,
  .artist-name,
  .empty-state-title {
    font-size: var(--fs-h1);
    line-height: 110%;
  }

  .current {
    padding-top: 68px;
  }

  .current-sticky,
  .current-sticky.is-pinned {
    position: static;
    top: auto;
  }

  .current-pin {
    height: auto !important;
  }

  .current-hero {
    align-items: end;
    row-gap: 10px;
  }

  .current-label {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .current-type-mobile {
    display: block;
    grid-column: 4 / 7;
    grid-row: 1;
    text-align: left;
  }

  .current-figure {
    grid-column: 1 / 7;
    grid-row: 2;
    width: 100% !important;
    height: auto;
    max-height: none;
  }

  .current-type {
    display: none;
  }

  .current-meta,
  .upcoming-meta {
    margin-top: 15px;
  }

  .current-meta {
    margin-bottom: 10px;
  }

  .current-meta .exhibition-title,
  .current-meta .exhibition-artists,
  .current-meta .exhibition-dates,
  .upcoming-meta .exhibition-title,
  .upcoming-meta .exhibition-artists,
  .upcoming-meta .exhibition-dates {
    grid-column: 1 / 7;
    margin-top: 5px;
  }

  .current-meta .exhibition-title,
  .upcoming-meta .exhibition-title {
    margin-top: 0;
  }

  .upcoming {
    padding-top: 120px;
  }

  .upcoming-label {
    grid-column: 1 / 7;
  }

  .upcoming-meta {
    padding-bottom: 0;
  }

  .past-label {
    padding: 120px var(--page-pad) 0;
  }

  .past .rule--section,
  .news .rule--section {
    margin-bottom: 15px;
  }

  .past-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 var(--page-pad);
  }

  .past-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .past-card + .past-card {
    margin-top: 70px;
    padding-top: 15px;
    border-top: 1px solid var(--color-rule);
  }

  .past-dates--inline {
    display: block;
    margin-top: 0;
    white-space: normal;
  }

  .past-dates--stack,
  .hover-arrow {
    display: none;
  }

  .past-more-wrap {
    margin-top: 70px;
  }

  .news {
    padding: 120px 0 160px;
  }

  .news-head .section-label:first-child {
    grid-column: 1 / 3;
  }

  .news-counter {
    grid-column: 3 / 5;
  }

  .news-controls {
    grid-column: 5 / 7;
  }

  .news-track {
    gap: 10px;
  }

  .news-card {
    flex: 0 0 calc(100% - 65px);
    width: calc(100% - 65px);
  }

  .site-footer {
    padding: 26px var(--page-pad) 15px;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 50px;
    padding: 0;
  }

  .footer-logo,
  .footer-place,
  .footer-links-col,
  .newsletter {
    grid-column: auto;
  }

  .footer-logo {
    grid-column: 1 / -1;
    max-width: 184px;
    width: 45.77%;
    margin-bottom: 20px;
  }

  .footer-logo img {
    width: 70%;
  }

  .footer-place {
    display: contents;
  }

  .footer-heading {
    margin-bottom: 15px;
  }

  .footer-hours {
    margin-top: 0;
  }

  .footer-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 0;
    padding-top: 100px;
    align-items: end;
  }

  .footer-bottom p {
    line-height: 130%;
  }

  .footer-bottom p:first-child {
    white-space: pre-line;
  }

  .footer-bottom p:last-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    white-space: normal;
  }

  .footer-bottom a {
    display: block;
    margin-left: 0;
  }

  .empty-state {
    padding-top: 68px;
    padding-bottom: 160px;
  }

  .empty-state-title {
    grid-column: 1 / 7;
  }

  .archive-current {
    padding-top: 68px;
  }

  .archive-current-label,
  .archive-current-head .exhibition-title,
  .archive-current-head .exhibition-artists,
  .archive-current-dates,
  .archive-current-figure,
  .archive-current-curator {
    grid-column: 1 / 7;
  }

  .archive-current-label {
    grid-row: 1;
  }

  .archive-current-head .exhibition-title {
    grid-row: 2;
    margin-top: 10px;
  }

  .archive-current-head .exhibition-artists {
    grid-row: 3;
    margin-top: 5px;
  }

  .archive-current-body {
    margin-top: 15px;
    align-items: start;
  }

  .archive-current-dates--stack {
    display: none;
  }

  .archive-current-dates--inline {
    display: block;
    grid-row: 1;
    font-size: var(--fs-h2);
    white-space: normal;
    margin-bottom: 15px;
  }

  .archive-current-figure {
    grid-row: 2;
    width: 100%;
  }

  .archive-current-curator {
    grid-row: 3;
    margin-top: 15px;
  }

  .archive-past {
    padding-top: 120px;
    padding-bottom: 200px;
  }

  .archive-past .rule--section {
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .archive-grid {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .archive-card {
    gap: 15px;
  }

  .archive-card + .archive-card {
    margin-top: 70px;
    padding-top: 15px;
    border-top: 1px solid var(--color-rule);
  }

  .archive-card .hover-arrow {
    display: none;
  }

  .archive-past .past-more-wrap {
    margin-top: 120px;
  }

  .detail-page,
  .news-page,
  .shelf-page {
    padding-top: 68px;
    padding-bottom: 160px;
  }

  .detail-title,
  .detail-head .exhibition-title,
  .detail-head .exhibition-artists,
  .detail-head .exhibition-dates,
  .detail-hero-figure,
  .detail-hero-figure--wide,
  .detail-split .section-label,
  .detail-body,
  .detail-text-col,
  .detail-links,
  .expo-info-label,
  .expo-info-col,
  .shelf-intro .section-label,
  .shelf-intro-text,
  .news-row-copy,
  .news-row-figure,
  .news-row-excerpt {
    grid-column: 1 / 7;
  }

  .artist-name {
    grid-column: 1 / 7;
  }

  .artists-row-more {
    display: none;
  }

  .artists-list {
    gap: 7px;
  }

  .artists-preview {
    width: 50%;
    max-width: 50%;
  }

  .artists-preview img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
  }

  .detail-close {
    display: none;
  }

  .page-artista .expo-layout,
  .page-noticia .expo-layout {
    display: grid;
  }

  .page-artista .expo-close-slot,
  .page-noticia .expo-close-slot {
    display: block;
    margin-right: 10px;
  }

  .page-artista .detail-close,
  .page-noticia .detail-close {
    display: inline-flex;
    position: sticky;
    top: 70px;
    margin-top: 0;
    padding: 10px;
    font-size: var(--fs-h3);
  }

  .page-artista .detail-head {
    row-gap: 5px;
  }

  .page-artista .detail-head .section-label {
    line-height: 110%;
  }

  .page-artista .detail-title,
  .page-noticia .detail-title {
    grid-column: 1 / 5;
  }

  .page-artista .detail-title {
    margin-top: 0;
  }

  .page-artista .detail-hero {
    margin-top: 25px;
  }

  .page-noticia .detail-hero {
    margin-top: 15px;
  }

  .page-noticia .news-section .section-label {
    grid-column: 1 / 7;
    font-size: var(--fs-p);
    letter-spacing: -0.02em;
    line-height: 110%;
  }

  .page-noticia .news-section .rule {
    grid-column: 1 / 7;
    margin-top: 15px;
  }

  .page-noticia .news-section .detail-body,
  .page-noticia .news-section .detail-links {
    grid-column: 1 / 7;
    margin-top: 15px;
  }

  .page-artista .detail-hero-figure {
    grid-column: 1 / 7;
  }

  .page-artista .artist-section {
    margin-top: 70px;
  }

  .page-artista .artist-section .section-label {
    grid-column: 1 / 7;
    grid-row: 1;
    margin-top: 0;
    font-size: var(--fs-p);
    letter-spacing: -0.02em;
    line-height: 110%;
  }

  .page-artista .artist-section .rule {
    grid-column: 1 / 7;
    grid-row: 2;
    margin-top: 15px;
  }

  .page-artista .artist-section .detail-body,
  .page-artista .artist-section .detail-links {
    grid-column: 1 / 7;
    grid-row: 3;
    margin-top: 15px;
  }

  .page-artista .artist-section--shows .section-label {
    grid-row: 1;
  }

  .page-artista .artist-section--shows .rule {
    grid-row: 2;
    margin-top: 15px;
  }

  .page-artista .artist-section--shows .artist-shows {
    grid-column: 1 / 7;
    grid-row: 3;
    margin-top: 15px;
    gap: 70px 10px;
  }

  .page-artista .detail-body {
    font-size: 4.5vw;
  }

  .page-artista .detail-links {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .page-artista .detail-link {
    font-size: var(--fs-h3);
  }

  .page-artista .artist-show {
    gap: 0;
  }

  .page-artista .artist-show-copy {
    margin-top: 10px;
  }

  .page-artista .artist-show-dates--inline {
    margin-bottom: 10px;
    font-size: 3.5vw;
  }

  .detail-head .exhibition-title,
  .detail-head .exhibition-dates,
  .detail-title {
    margin-top: 15px;
  }

  .detail-head .exhibition-artists,
  .page-exposicao .detail-head .exhibition-artists {
    margin-top: 5px;
  }

  .page-exposicao .detail-head .section-label,
  .page-exposicao .detail-head .exhibition-title,
  .page-exposicao .detail-head .exhibition-artists,
  .page-exposicao .detail-head .exhibition-dates {
    grid-column: 1 / 7;
    grid-row: auto;
  }

  .page-exposicao .detail-head .exhibition-title {
    margin-top: 10px;
  }

  .page-exposicao .detail-head .exhibition-artists,
  .page-exposicao .detail-head .exhibition-dates {
    margin-top: 5px;
  }

  .page-exposicao .detail-head .section-label,
  .page-exposicao .detail-split .section-label,
  .page-exposicao .expo-essay-label,
  .page-exposicao .expo-info-col .footer-heading {
    font-size: var(--fs-p);
  }

  .page-exposicao .detail-head .exhibition-dates {
    font-size: var(--fs-h2);
  }

  .page-exposicao .expo-layout {
    display: grid;
  }

  .page-exposicao .expo-close-slot {
    display: block;
    margin-right: 10px;
  }

  .page-exposicao .detail-close {
    display: inline-flex;
    position: sticky;
    top: 70px;
    margin-top: 0;
    padding: 7px;
    font-size: var(--fs-p);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 110%;
  }

  .page-exposicao .expo-gallery-wrap {
    margin-top: 15px;
  }

  .page-exposicao .expo-caption {
    margin-top: 10px;
    font-size: var(--fs-p);
    line-height: 130%;
  }

  .page-exposicao .expo-gallery {
    gap: 10px;
  }

  .page-exposicao .expo-gallery .expo-slide img {
    height: var(--expo-slide-h, 255px);
    width: auto;
    max-width: none;
    max-height: none;
  }

  .page-exposicao .expo-essay {
    margin-top: 70px;
  }

  .page-exposicao .expo-essay-label {
    grid-column: 1 / 7;
    grid-row: 1;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .page-exposicao .expo-essay-rule {
    grid-column: 1 / 7;
    grid-row: 2;
  }

  .page-exposicao .expo-essay .detail-text-col {
    grid-column: 1 / 7;
    grid-row: 3;
    margin-top: 15px;
  }

  .page-exposicao .expo-info-value,
  .page-exposicao .expo-info-col .detail-link {
    font-size: var(--fs-h3);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 130%;
  }

  .page-exposicao .expo-gallery-prev {
    left: 15px;
  }

  .page-exposicao .expo-gallery-next {
    right: 15px;
  }

  .page-exposicao .expo-info-label {
    display: none;
  }

  .page-exposicao .expo-info-col,
  .page-exposicao .expo-info.is-even .expo-info-col:nth-last-child(-n+2) {
    grid-column: 1 / 7;
    margin-bottom: 25px;
  }

  .page-exposicao .expo-info-col:last-child,
  .page-exposicao .expo-info.is-even .expo-info-col:last-child,
  .page-exposicao .expo-info.is-odd .expo-info-col:last-child {
    margin-bottom: 0;
  }

  .page-exposicao .expo-info-col .footer-heading {
    margin-bottom: 10px;
  }

  .page-exposicao .detail-essay-title {
    margin-bottom: 15px;
  }

  .detail-link,
  .expo-info-value,
  .shelf-title,
  .shelf-author,
  .shelf-by {
    font-size: var(--fs-h3);
    letter-spacing: -0.03em;
  }

  .detail-body,
  .detail-author,
  .detail-essay-title {
    font-size: var(--fs-h3);
  }

  .detail-links {
    grid-template-columns: 1fr;
  }

  .page-exposicao .expo-slide {
    max-width: none;
  }

  .artist-shows {
    grid-template-columns: 1fr 1fr;
    gap: 40px 10px;
  }

  .page-artista .artist-shows {
    gap: 70px 10px;
  }

  .shelf-grid {
    margin-top: 15px;
    row-gap: 0;
  }

  .shelf-card,
  .shelf-card:nth-child(4n + 1),
  .shelf-card:nth-child(4n + 2),
  .shelf-card:nth-child(4n + 3),
  .shelf-card:nth-child(4n + 4) {
    grid-column: 1 / 7;
  }

  .shelf-card {
    display: flex;
    align-items: flex-start;
    gap: var(--gutter);
    padding: 0 0 15px;
  }

  .shelf-cover,
  .shelf-copy {
    grid-column: auto;
  }

  .shelf-cover {
    flex: 0 0 32%;
    width: 32%;
    max-width: 32%;
    overflow: hidden;
  }

  .shelf-copy {
    flex: 1 1 auto;
  }

  .shelf-card + .shelf-card {
    padding-top: 15px;
    border-top: 1px solid var(--color-rule);
  }

  .artist-show {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0;
    border: 0;
  }

  .artist-show .past-figure,
  .artist-show-copy,
  .artist-show-dates--stack {
    grid-column: auto;
    grid-row: auto;
  }

  .artist-show-dates--stack {
    display: none;
  }

  .artist-show-dates--inline {
    display: block;
    order: 1;
    font-size: var(--fs-p);
    font-weight: 400;
    color: var(--color-muted);
    line-height: 110%;
  }

  .artist-show .past-figure {
    order: 2;
  }

  .artist-show-copy {
    order: 3;
  }

  .artist-show .hover-arrow {
    display: none;
  }


  .news-row-title {
    font-size: var(--fs-h2);
    margin: 0;
  }

  .news-row-grid {
    row-gap: 15px;
  }

  .news-row-copy {
    display: contents;
  }

  .news-row-copy .section-label {
    grid-column: 1 / 7;
    order: 1;
    font-size: var(--fs-p);
    letter-spacing: -0.02em;
    line-height: 110%;
    margin-top: 10px;
  }

  .news-row-title {
    grid-column: 1 / 7;
    order: 2;
  }

  .news-row-figure {
    order: 3;
  }

  .news-row-excerpt {
    order: 4;
  }

  .news-row-copy .btn {
    grid-column: 1 / 7;
    order: 5;
    justify-self: start;
    font-size: var(--fs-p);
    margin-top: 5px;
    padding: 7px;
  }

  .news-row .hover-arrow {
    display: none;
  }

  .shelf-books {
    margin-top: 70px;
  }

  .shelf-page .rule {
    margin-top: 15px;
  }

  .shelf-intro .section-label,
  .shelf-intro-text {
    grid-row: auto;
  }

  .shelf-intro-text {
    text-indent: 0;
    margin-top: 15px;
  }

  .news-row-grid {
    padding-bottom: 70px;
  }

  .shelf-page .past-more-wrap {
    margin-top: 120px;
  }

  .shelf-copy .section-label {
    margin-top: 15px;
    margin-bottom: 5px;
  }
}
