* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 18px;
font-family: Georgia, 'Times New Roman', Times, serif;
font-size: 16px;
  line-height: 1.4;
  background: #ffffff;
  color: #000000;
}

/* Links */

a {
  color: #000000;
  text-decoration: none;
}

a:hover {
  color: gray;
}

/* Header */

.site-header {
  position: fixed;
  top: 18px;
  left: 18px;
  width: 180px;
  z-index: 10;
  margin: 0;
}

.site-header h1 {
  margin: 0;
  font-size: 16px;
  font-weight: lighter;
  line-height: 1.1;
  letter-spacing: 0;
}

.site-header h1 a {
  color: #000000;
}

.site-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2px;
}

.site-nav a {
  font-size: 16px;
  line-height: 1.1;
}

/* Main */

main {
  width: 100%;
}

/* Page titles */

.page-title {
  margin-bottom: 50px;
}

.page-title h2 {
  margin: 0;
  font-size: 20px;
  font-weight: normal;
}

/* Home */

.home-main {
  min-height: 100vh;
}

.home-index {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 520px;
}

.home-index p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

.home-index-title {
  margin-top: 14px;
  margin-bottom: 4px;
  font-style: italic;
  opacity: 0.65;
}

.home-composition {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 16px;
  row-gap: 80px;
  padding-top: 220px;
  padding-bottom: 120px;
  align-items: start;
}

.home-figure {
  margin: 0;
}

.home-figure img {
  display: block;
  width: 100%;
  height: auto;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.home-figure a:hover img {
  opacity: 0.75;
  transform: scale(0.98);
}

.home-figure figcaption {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.1;
}

.home-poster {
  grid-column: 4 / span 4;
}

.home-text-block {
  grid-column: 8 / span 3;
  margin-top: 80px;
}

.home-text-block p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

/* Archive */

.archive-main {
  min-height: 100vh;
}

.archive-index {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 520px;
}

.archive-index p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

.archive-composition {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 16px;
  row-gap: 30px;
  padding-top: 200px;
  padding-bottom: 120px;
  align-items: start;
}

.archive-figure {
  margin: 0;
  position: relative;
  z-index: 1;
}

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

.archive-figure figcaption {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.1;
}

.archive-index-title {
  margin-top: 14px;
  margin-bottom: 4px;
  font-style: italic;
  opacity: 0.65;
}

/* Posiciones variables dentro del grid */

.archive-figure:nth-child(6n+1) {
  grid-column: 4 / span 2;
}

.archive-figure:nth-child(6n+2) {
  grid-column: 9 / span 2;
}

.archive-figure:nth-child(6n+3) {
  grid-column: 2 / span 3;
}

.archive-figure:nth-child(6n+4) {
  grid-column: 7 / span 2;
}

.archive-figure:nth-child(6n+5) {
  grid-column: 5 / span 3;
}

.archive-figure:nth-child(6n+6) {
  grid-column: 9 / span 3;
}

.archive-figure:nth-child(6n+7) {
  grid-column: 1 / span 2;
}

.archive-figure:nth-child(6n+8) {
  grid-column: 5 / span 7;
  margin-top: 200px;
}

.archive-figure a {
  display: block;
  cursor: zoom-in;
}

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

/* Superposiciones manuales */

.archive-figure.overlap-right {
  margin-left: -80px;
  margin-top: -60px;
  z-index: 3;
}

.archive-figure.overlap-left {
  margin-left: 80px;
  margin-top: -80px;
  z-index: 2;
}

.archive-figure.overlap-up {
  margin-top: -140px;
  z-index: 4;
}

/* Index principal de Archive siempre encima de las imágenes */

.archive-main > .archive-index {
  z-index: 50;
}

/* Layout específico para EARLY_WORKS */

#early-works .archive-figure:nth-child(1) {
  grid-column: 3 / span 2;
}

#early-works .archive-figure:nth-child(2) {
  grid-column: 8 / span 3;
  margin-top: -90px;
}

#early-works   .archive-figure:nth-child(3) {
  grid-column: 5 / span 2;
  margin-top: -130px;
}

#early-works .archive-figure:nth-child(4) {
  grid-column: 10 / span 2;
  margin-top: -40px;
}

#early-works .archive-figure:nth-child(5) {
  grid-column: 2 / span 3;
  margin-top: -100px;
}

#early-works .archive-figure:nth-child(6) {
  grid-column: 7 / span 2;
  margin-top: -70px;
}

#early-works .archive-figure:nth-child(7) {
  grid-column: 8 / span 6;
  margin-top: -120px;
}

#early-works .archive-figure:nth-child(8) {
  grid-column: 7 / span 2;
  margin-top: -70px;
}

#early-works .archive-figure:nth-child(9) {
  grid-column: 4 / span 2;
  margin-top: -120px;
}

/* Layout específico para AN INFINITY OF LIVES */


#An-infinity-of-lives .archive-figure:nth-child(1) {
  grid-column: 3 / span 6;
}

#An-infinity-of-lives .archive-figure:nth-child(2) {
  grid-column: 8 / span 3;
  margin-top: -90px;
}

#An-infinity-of-lives   .archive-figure:nth-child(3) {
  grid-column: 5 / span 2;
  margin-top: -130px;
}

#An-infinity-of-lives .archive-figure:nth-child(4) {
  grid-column: 10 / span 2;
  margin-top: -40px;
}

#An-infinity-of-lives .archive-figure:nth-child(5) {
  grid-column: 2 / span 3;
  margin-top: -100px;
}

#An-infinity-of-lives .archive-figure:nth-child(6) {
  grid-column: 7 / span 2;
  margin-top: -70px;
}

#An-infinity-of-lives .archive-figure:nth-child(7) {
  grid-column: 8 / span 6;
  margin-top: -120px;
}

#An-infinity-of-lives .archive-figure:nth-child(8) {
  grid-column: 7 / span 2;
  margin-top: -70px;
}

#An-infinity-of-lives .archive-figure:nth-child(9) {
  grid-column: 4 / span 2;
  margin-top: -120px;
}

#An-infinity-of-lives .archive-figure:nth-child(13) {
  grid-column: 2 / span 4;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(15) {
  grid-column: 12 / span 2;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(16) {
  grid-column: 11 / span 1;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(17) {
  grid-column: 4 / span 1;
  margin-top: 0px;
}

#An-infinity-of-lives .archive-figure:nth-child(18) {
  grid-column: 1 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(18) {
  grid-column: 5 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(19) {
  grid-column: 1 / span 1;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(20) {
  grid-column: 8 / span 3;
  margin-top: -300px;
}

#An-infinity-of-lives .archive-figure:nth-child(21) {
  grid-column: 9 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(22) {
  grid-column: 8 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(23) {
  grid-column: 1 / span 1;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(24) {
  grid-column: 8 / span 1;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(25) {
  grid-column: 3 / span 3;
  margin-top: -500px;
}

#An-infinity-of-lives .archive-figure:nth-child(26) {
  grid-column: 8 / span 6;
  margin-top: -200px;
}

#An-infinity-of-lives .archive-figure:nth-child(27) {
  grid-column: 1 / span 3;
  margin-top: 0px;
}

#An-infinity-of-lives .archive-figure:nth-child(28) {
  grid-column: 4 / span 7;
  margin-top: -100px;
}

#An-infinity-of-lives .archive-figure:nth-child(29) {
  grid-column: 3 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(30) {
  grid-column: 3 / span 3;
  margin-top: 0px;
}

#An-infinity-of-lives .archive-figure:nth-child(31) {
  grid-column: 1 / span 3;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(32) {
  grid-column: 8 / span 3;
  margin-top: -400px;
}

#An-infinity-of-lives .archive-figure:nth-child(33) {
  grid-column: 4 / span 9;
  margin-top: -100px;
}

#An-infinity-of-lives .archive-figure:nth-child(34) {
  grid-column: 5 / span 5;
  margin-top: 100px;
}

#An-infinity-of-lives .archive-figure:nth-child(35) {
  grid-column: 2 / span 3;
  margin-top: -100px;
}


/* Layout específico para still-lifes */


#still-lifes .archive-figure:nth-child(1) {
  grid-column: 2 / span 5;
}

#still-lifes .archive-figure:nth-child(2) {
  grid-column: 9 / span 3;
  margin-top: 50px;
}

#still-lifes .archive-figure:nth-child(3) {
  grid-column: 3 / span 2;
  margin-top: -50px;
}
/* ============================= */
/* COLLECTION PAGE / ARCHIVE PANEL */
/* ============================= */

.collection-page {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 90;

  width: 100%;
  height: 100vh;

  background: white;

  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;

  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    transform 0.8s ease,
    opacity 0.8s ease,
    visibility 0.8s ease;
}

/* Colección abierta */
.collection-page:target,
.collection-page.is-open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Index de la colección encima */
.collection-page .archive-index {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 520px;
  z-index: 95;
}

/* Las imágenes de la colección */
.collection-page .archive-composition {
  min-height: 100vh;
}

/* Evita doble scroll cuando una colección o lightbox está abierto */
html:has(.collection-page.is-open),
html:has(.collection-page:target),
html:has(.lightbox:target),
body:has(.collection-page.is-open),
body:has(.collection-page:target),
body:has(.lightbox:target) {
  overflow: hidden;
  height: 100vh;
}

/* Mobile */

@media (max-width: 700px) {
  .archive-index {
    position: static;
    width: auto;
    margin-bottom: 60px;
  }

  .archive-composition {
    display: block;
    padding-top: 0;
    padding-bottom: 80px;
  }

  .archive-figure {
    width: 100%;
    margin-bottom: 60px;
  }

  .archive-figure.overlap-right,
  .archive-figure.overlap-left,
  .archive-figure.overlap-up {
    margin-left: 0;
    margin-top: 0;
  }
}

/* Exhibitions */

.exhibition {
  max-width: 780px;
  margin-bottom: 100px;
}

.exhibition-info {
  margin-bottom: 34px;
}

.exhibition-info h2 {
  margin: 0 0 6px 0;
  font-size: 20px;
  font-weight: normal;
}

.exhibition-info p {
  margin: 0;
}

.exhibition-images {
  margin-bottom: 40px;
}

.exhibition-images img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  margin-bottom: 24px;
}

.exhibition-text {
  max-width: 620px;
  margin-bottom: 40px;
}

.exhibition-text p {
  margin: 0;
}

.exhibition-works {
  max-width: 620px;
}

.exhibition-works h3 {
  margin: 0 0 14px 0;
  font-size: 16px;
  font-weight: normal;
}

.exhibition-works ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.exhibition-works li {
  margin-bottom: 6px;
}

/* Publications */

/* PUBLICATIONS INDEX */

.publications-main {
  min-height: 100vh;
  padding-top: 220px;
}

.publications-index {
  width: min(1000px, calc(100vw - 32px));
  margin: 0 auto;
}

.publication-item {
  margin: 0;
}

.open-publication {
  display: block;
  color: black;
  text-decoration: none;
}

.publication-thumb {
  display: block;
  width: 100%;
  height: auto;
}

.publication-caption {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.1;
  color: black;
}


/* ============================= */
/* PUBLICATIONS PAGE */
/* ============================= */

.publications-main {
  min-height: 100vh;
  padding-top: 100px;
}

.publications-index {
  width: 100%;
  margin: 0;
}

.publication-item {
  margin: 0px;
  margin-bottom: 100px;
}

.open-publication {
  display: block;
  color: black;
  text-decoration: none;
}

.publication-thumb {
  display: block;
  width: 54vw;
  height: auto;
  margin: 0 auto;
}

.publication-caption {
  display: block;
  width: 54vw;
  margin: 8px auto 0 auto;

  font-size: 14px;
  line-height: 1.1;
  color: black;
}

.publication-caption em {
  font-style: italic;
}


/* ============================= */
/* PUBLICATION GALLERY */
/* ============================= */

.publication-gallery {
  position: fixed;
  inset: 0;
  z-index: 100;

  background: white;

  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;

  transition:
    transform 0.65s ease,
    opacity 0.65s ease;

  overflow-y: auto;
  overflow-x: hidden;
}

body.no-scroll {
  overflow: hidden;
}
.publication-gallery.is-open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}


/* contenedor general de la galería */

.publication-gallery-content {
  width: 100%;
  margin: 0;
  padding-top: 100px;
  padding-bottom: 80px;
}


/* imagen de la galería */

.publication-image-frame {
  position: relative;
  width: 54vw;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1fr auto;
  row-gap: 4px;
}

.publication-image-frame img {
  display: none;
  width: 100%;
  height: auto;

  grid-column: 1 / -1;
  grid-row: 1;
}

.publication-image-frame img.is-active {
  display: block;
}

.publication-image-frame img.is-active {
  cursor: pointer;
}

/* ============================= */
/* CLOSE BUTTON */
/* ============================= */

.close-publication {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 200;

  padding: 0;
  border: 0;
  background: transparent;

  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  color: black;

  cursor: pointer;
}


/* ============================= */
/* COUNTER */
/* ============================= */

.publication-counter {
  position: static;

  grid-column: 1;
  grid-row: 2;

  justify-self: start;

  font-size: 13px;
  line-height: 1;
  color: black;
}

.publication-controls {
  position: static;

  grid-column: 2;
  grid-row: 2;

  justify-self: end;

  display: flex;
  gap: 14px;
}

/* ============================= */
/* PREV / NEXT BUTTONS */
/* ============================= */

.publication-controls button {
  padding: 0;
  border: 0;
  background: transparent;

  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  color: black;

  cursor: pointer;
}

.publication-controls button:hover {
  font-style: none;
}


/* ============================= */
/* PUBLICATION INFO */
/* ============================= */

.publication-info {
  width: 54vw;
  margin: 50px auto 0 auto;

  font-size: 14px;
  line-height: 1.1;
  color: black;
}

.publication-info p {
  margin: 0;
}

.publication-info em {
  font-style: italic;
}


/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 900px) {

  .publications-main {
    padding-top: 160px;
  }

  .publication-gallery-content {
    padding-top: 160px;
  }

  .publication-thumb,
  .publication-caption,
  .publication-image-frame,
  .publication-info {
    width: 82vw;
  }

  .close-publication {
    top: 24px;
    right: 16px;
  }

}



/* ============================= */
/* BIOGRAPHY & BIBLIOGRAPHY / INFO */
/* ============================= */

.bio-page {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 120;

  width: 100%;
  height: 100vh;

  background: white;

  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;

  transform: translateY(100%);
  transition: transform 0.8s ease;
}

/* Cuando se abre Info */
.bio-page:target,
.bio-page:has(:target),
body.info-open .bio-page {
  transform: translateY(0);
}

/* Botón close */
.bio-close {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 130;

  font-size: 14.4px;
  line-height: 1.1;
  color: black;
  text-decoration: none;
}

.bio-close:hover {
  color: gray;
}

/* Contenido principal */
.bio-content {
  width: 100%;

  padding-top: 120px;
  padding-bottom: 120px;
}

/* Título e índice quedan a la derecha */

.bio-content h2,
.bio-index {
  width: 520px;
  margin-left: auto;
  margin-right: 18px;
}

/* Índice interno */
.bio-index {
  margin-bottom: 70px;
}

.bio-index p {
  margin: 0;

  font-size: 14.4px;
  line-height: 1.1;
}

.bio-index a {
  color: black;
  text-decoration: none;
}

.bio-index a:hover {
  color: gray;
}

/* Secciones */
/* Cuerpo del texto pasa a la izquierda */

.bio-section {
  width: 520px;
  margin-left: 18px;
  margin-right: auto;
  margin-bottom: 70px;

  scroll-margin-top: 120px;
}

#biography,
#statement {
  width: 600px;
}

/* Sube solo el primer bloque de texto de la izquierda */
.bio-section:first-of-type {
  margin-top: -140px;
}
.bio-section h3 {
  margin: 0 0 14px 0;

  font-size: 14.4px;
  line-height: 1.1;
  font-weight: normal;
  font-style: italic;
  opacity: 0.65;
}

.bio-section p {
  margin: 0 0 18px 0;

  font-size: 14.4px;
  line-height: 1.1;
  font-weight: normal;
}

.bio-section em {
  font-style: italic;
}

/* CV layout con fecha + información */

.bio-cv {
  width: calc(100vw - 36px);
  max-width: none;
}

.cv-category {
  margin: 40px 0 12px 0;
  font-style: italic;
  opacity: 0.65;
}

.cv-row {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 14px;

  margin-bottom: 6px;

  font-size: 16px;
  line-height: 1.15;
}

.cv-year {
  grid-column: 1;
}

.cv-info {
  grid-column: 2;
  max-width: 1200px;
}

.cv-info em {
  font-style: italic;
}

.bio-line {
  width: 30%;
  margin: 24px 0 6px 0;
  border: 0;
  border-top: 1px solid black;
}


/* Evita doble scroll cuando Info está abierta */

html.info-open,
body.info-open {
  overflow: hidden;
  height: 100vh;
}

/* Contact debajo del índice de Biography & Bibliography */

.bio-contact {
  width: 520px;
  margin-left: auto;
  margin-right: 18px;
  margin-bottom: 70px;

  font-size: 14.4px;
  line-height: 1.1;
}

.bio-contact p {
  margin: 0;
}

.bio-contact-title {
  margin-top: 14px;
  margin-bottom: 4px;
  font-style: none;
  opacity: 0.65;
}

.bio-contact a {
  color: black;
  text-decoration: none;
}

.bio-contact a:hover {
  color: gray;
}

/* Responsive */
@media (max-width: 700px) {
  .bio-content {
    width: 100%;

    padding-top: 100px;
    padding-bottom: 100px;
  }

  .bio-content h2,
  .bio-index,
  .bio-contact,
  .bio-section {
    width: auto;
    margin-left: 18px;
    margin-right: 18px;
  }
}

.bio-cv {
  width: auto;
}

.cv-row {
  grid-template-columns: 70px 1fr;
  column-gap: 20px;
  font-size: 13px;
}

/* Mobile */

@media (max-width: 700px) {
  body {
    padding: 24px;
  }

  .site-header {
    margin-bottom: 60px;
  }

  .site-header h1 {
    font-size: 26px;
  }

  .site-nav {
    gap: 14px;
  }

  .featured {
    margin-bottom: 70px;
  }

  .archive-item,
  .publication-item {
    margin-bottom: 60px;
  }

  .exhibition-images img {
    margin-bottom: 18px;
  }
}

.home-index {
  position: static;
  width: auto;
  margin-bottom: 60px;
}

.home-composition {
  display: block;
  padding-top: 0;
  padding-bottom: 80px;
}

.home-figure {
  width: 100%;
  margin-bottom: 40px;
}

.home-text-block {
  margin-top: 0;
}

.home-index {
  position: static;
  width: auto;
  margin-bottom: 60px;
}

.home-composition {
  display: block;
  padding-top: 0;
  padding-bottom: 80px;
}

.home-figure {
  width: 100%;
  margin-bottom: 40px;
}

.home-text-block {
  margin-top: 0;
}
.exhibitions-index {
  position: static;
  width: auto;
  margin-bottom: 60px;
}

.exhibitions-composition {
  display: block;
  padding-top: 0;
  padding-bottom: 80px;
}

.exhibition-cover {
  width: 100%;
  margin-bottom: 40px;
}

.exhibition-info-block {
  margin-top: 0;
}

.gallery-panel-index {
  position: static;
  width: auto;
  margin-bottom: 60px;
}

.gallery-images {
  display: block;
  padding-top: 80px;
}

.gallery-images figure {
  width: 100%;
  margin-bottom: 60px;
}

.gallery-work-list {
  position: static;
  width: auto;
  margin-bottom: 60px;
}

.gallery-work-list ul {
  columns: 1;
}

.gallery-images {
  padding-top: 40px;
}

/* ============================= */
/* LIGHTBOX */
/* ============================= */

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #ffffff;
  padding: 18px;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.45s ease,
    visibility 0.45s ease;
}

.lightbox:target {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lightbox img {
  max-width: 90vw;
  max-height: 82vh;
  width: auto;
  height: auto;

  opacity: 0;
  transform: scale(0.92);
  transform-origin: center center;

  transition:
    opacity 0.45s ease,
    transform 0.45s ease;
}

.lightbox:target img {
  opacity: 1;
  transform: scale(1);
}

.lightbox p {
  margin: 8px 0 0 0;
  font-size: 12px;
  line-height: 1.1;

  opacity: 0;
  transition: opacity 0.45s ease;
}

.lightbox:target p {
  opacity: 1;
}

.lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  font-size: 13px;
  z-index: 101;
}

.archive-figure a {
  display: block;
  cursor: zoom-in;
}

.archive-figure img {
  display: block;
  width: 100%;
  height: auto;

  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.archive-figure a:hover img {
  opacity: 0.75;
  transform: scale(0.98);
}

/* HOME — layout inspired by Archive */

.home-main {
  min-height: 100vh;
}

/* News / Current arriba a la derecha */
.home-index {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 520px;
  z-index: 2;
}

.home-index p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

.home-index-title {
  margin-top: 14px;
  margin-bottom: 4px;
  font-style: italic;
  opacity: 0.65;
}

/* Composición visual */
.home-composition {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 16px;
  row-gap: 20px;
  padding-top: 160px;
  padding-bottom: 0px;
  align-items: start;
}

/* Imagen principal */
.home-figure {
  margin: 0;
}

.home-figure img {
  display: block;
  width: 100%;
  height: auto;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.home-figure a:hover img {
  opacity: 0.75;
  transform: scale(0.98);
}

.home-figure figcaption {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.1;
}

/* Tamaño y posición del poster */
.home-figure:nth-child(3n+1) {
  grid-column: 1 / span 8;
}

.home-figure:nth-child(3n+2) {
  grid-column: 8 / span 3;
  margin-top: 120px;
}

.home-figure:nth-child(3n+3) {
  grid-column: 4 / span 4;
  margin-top: 40px;
}

/* Hide menu on scroll — Home only */

.home-page .site-nav {
  transition:
    opacity 0.45s ease,
    transform 0.45s ease,
    max-height 0.45s ease,
    margin-top 0.45s ease;
  overflow: hidden;
  max-height: 120px;
}

.home-page.hide-menu .site-nav {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  max-height: 0;
  margin-top: 0;
}

/* Exhibitions */

.exhibitions-main {
  min-height: 100vh;
}

.exhibitions-index {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 520px;
  z-index: 2;

  opacity: 1;
  transform: translateY(0);
  will-change: transform, opacity;
}

.exhibitions-index p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

.exhibitions-index-title {
  margin-top: 14px;
  margin-bottom: 4px;
  font-style: italic;
  opacity: 0.65;
}

.exhibitions-composition {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 16px;
  row-gap: 80px;
  padding-top: 220px;
  padding-bottom: 120px;
  align-items: start;
}

.exhibition-cover {
  grid-column: 1 / span 8;
  margin: 0;
}

.exhibition-cover a {
  display: block;
  cursor: pointer;
}

.exhibition-cover img {
  display: block;
  width: 100%;
  height: auto;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.exhibition-cover figcaption {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.1;
}

.exhibition-info-block {
  grid-column: 9 / span 3;
  margin-top: 80px;
}

.exhibition-info-block p {
  margin: 0;
  font-size: 13px;
  line-height: 1.1;
}

/* Exhibition gallery slide-up panel */

.exhibition-gallery-panel {
  position: fixed;
  top: 100vh;
  left: 0;
  right: 0;
  height: 100vh;

  z-index: 100;
  background: #ffffff;
  padding: 18px;
  box-sizing: border-box;

  overflow-y: auto;
  overflow-x: hidden;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    top 0.7s ease,
    opacity 0.7s ease,
    visibility 0.7s ease;
}

.exhibition-gallery-panel:target {
  top: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.gallery-close {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 101;
  font-size: 13px;
}

.gallery-panel-index {
  position: fixed;
  top: 18px;
  left: 18px;
  width: 500px;
  z-index: 101;
}

.gallery-panel-index p {
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
}

.gallery-images {
  display: block;
  height: auto;
  overflow: visible;

  padding-top: 100px;
  padding-bottom: 120px;
}

.gallery-images figure {
  margin: 0 0 15px 0;
}

.gallery-images img {
  display: block;
  width: auto;
  height: auto;
  max-width: 80vw;
  max-height: 84vh;
}

.gallery-images figure.vertical img {
  width: 40vw;
  height: auto;
  max-width: none;
  max-height: none;
}

.gallery-images figure:nth-child(3n+1) {
  grid-column: 3 / span 7;
}

.gallery-images figure:nth-child(3n+2) {
  grid-column: 7 / span 5;
}

.gallery-images figure:nth-child(3n+3) {
  grid-column: 1 / span 6;
}

.gallery-images figcaption {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.1;
}

.gallery-work-list {
  position: fixed;
  top: 18px;
  right: 90px;
  width: 620px;
  z-index: 101;
}

.gallery-work-list-title {
  margin: 0 0 6px 0;
  font-style: italic;
  opacity: 0.65;
}

.gallery-work-list ul {
  columns: 1;
  column-gap: 40px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.gallery-work-list li {
  break-inside: avoid;
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
}

body:has(.exhibition-gallery-panel:target) {
  overflow: hidden;
}

.no-break {
  white-space: nowrap;
}

/* Quitar efecto hover dentro de colecciones */

.collection-page .archive-figure img {
  transition: none;
}

.collection-page .archive-figure a:hover img {
  opacity: 1;
  transform: none;
}

.collection-page .archive-figure a {
  cursor: pointer;
}

/* Footer */

.site-footer {
  position: relative;
  left: 18px;
  bottom: 18px;
  z-index: 300;

  margin: 0;
  padding: 0;

  font-size: 13px;
  line-height: 1.1;
  font-family: inherit;
  color: black;

  pointer-events: none;
}

.site-footer p {
  margin: 0;
}

/* ============================= */
/* CV FINAL LAYOUT */
/* ============================= */

#cv.bio-cv {
  width: calc(100vw - 36px);
  max-width: none;
}

#cv .cv-row {
  display: flex !important;
  align-items: baseline;
  gap: 0 !important;

  margin: 0 0 4px 0;

  font-size: 14.4px;
  line-height: 1.15;
}

#cv .cv-year {
  flex: 0 0 50px;
  width: 95px;
  margin: 0;
}

#cv .cv-info {
  flex: 1;
  margin: 0;
  max-width: 950px;
}

/* ============================= */
/* INFO — BODY FONT SIZE ONLY */
/* ============================= */

:root {
  --bio-body-size: 14.4px;
}

/* Cuerpo de Biography, Statement, Texts, Lectures, Press */
.bio-section p {
  font-size: var(--bio-body-size);
  line-height: 1.1;
}

/* Cuerpo de Contact */
.bio-contact,
.bio-contact p {
  font-size: var(--bio-body-size);
  line-height: 1.1;
}

/* Cuerpo del CV: año + información */
#cv .cv-row,
#cv .cv-year,
#cv .cv-info {
  font-size: var(--bio-body-size);
  line-height: 1.15;
}

/* Nota del CV */
.cv-note {
  font-size: var(--bio-body-size);
  line-height: 1.1;
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 768px) {

  .site-header {
    position: static;
    padding: 18px;
  }

  .site-header h1 {
    font-size: 13px;
  }

  .site-nav {
    position: static;
    width: auto;
    margin-top: 16px;
  }

  .site-nav a {
    display: block;
    font-size: 13px;
    line-height: 1.2;
  }

  .archive-index {
    position: static;
    width: auto;
    padding: 18px;
  }

  .archive-composition {
    display: block;
    padding: 80px 18px 120px 18px;
  }

  .archive-figure {
    margin-bottom: 40px;
  }

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

  .bio-content {
    width: auto;
    padding: 80px 18px 120px 18px;
  }

  .bio-grid,
  .cv-grid,
  .work-grid {
    display: block;
  }

  .bio-close,
  .gallery-close {
    top: 18px;
    right: 18px;
    font-size: 13px;
  }
}

/* ============================= */
/* MOBILE MENU */
/* ============================= */

.mobile-menu-open {
  display: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;

  font-family: inherit;
  font-size: 13px;
  line-height: 1.1;
  color: black;
  cursor: pointer;
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 300;

  background: white;
  color: black;

  overflow-y: auto;

  transform: translateY(-100%);
  transition: transform 0.6s ease;
}

body.mobile-menu-active .mobile-menu {
  transform: translateY(0);
}

body.mobile-menu-active {
  overflow: hidden;
}

.mobile-menu-inner {
  min-height: 100dvh;
  padding: 28px 32px 80px 32px;
}

.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.mobile-menu-title,
.mobile-menu-close {
  font-family: inherit;
  font-size: 14px;
  line-height: 1.1;
  color: black;
  text-decoration: none;
}

.mobile-menu-close {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.mobile-menu-nav {
  margin-top: 100px;
}

.mobile-menu-group {
  padding-bottom: 10px;
  margin-bottom: 36px;
  border-bottom: 1px solid black;
}

.mobile-menu-group a {
  display: block;

  font-size: 14px;
  line-height: 1.15;
  color: black;
  text-decoration: none;
}

.mobile-menu-group a:hover {
  color: gray;
}

/* ============================= */
/* MOBILE ONLY */
/* ============================= */

@media (max-width: 768px) {

  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;

    width: 100%;
    box-sizing: border-box;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    padding: 28px 32px;

    background: white;
  }

  .site-header h1 {
    margin: 0;
    font-size: 14px;
    line-height: 1.1;
  }

  .site-header h1 a {
    color: black;
    text-decoration: none;
  }

  .site-nav {
    display: none;
  }

  .mobile-menu-open {
    display: block;
    font-size: 14px;
  }

}

@media (max-width: 768px) {

  body {
    padding: 0;
  }

  .site-header {
    padding: 28px 32px 0 32px;
  }

  .archive-index,
  .collection-page .archive-index {
    position: static;
    width: auto;

    padding: 150px 32px 0 32px;
    margin: 0 0 42px 0;
  }

  .archive-index p {
    margin: 0;
  }

  .archive-index-title {
    margin-top: 14px;
    margin-bottom: 4px;
  }

  .archive-composition,
  .collection-page .archive-composition {
    display: block;

    padding: 0 32px 120px 32px;
  }

  .archive-figure {
    width: 100%;
    margin: 0 0 52px 0;
  }

  .archive-figure.overlap-right,
  .archive-figure.overlap-left,
  .archive-figure.overlap-up {
    margin-left: 0;
    margin-top: 0;
  }

}

/* ============================= */
/* MOBILE — GALLERIES CLEAN VIEW */
/* ============================= */

@media (max-width: 768px) {

  /* La galería queda por encima del sitio normal */
  .collection-page,
  .exhibition-gallery-panel,
  .publication-gallery {
    z-index: 500;
  }

  /* Oculta SOLO el header móvil: Eliseo Díaz + menu */
  body:has(.collection-page:target) .site-header,
  body:has(.collection-page.is-open) .site-header,
  body:has(.exhibition-gallery-panel:target) .site-header,
  body:has(.publication-gallery.is-open) .site-header {
    display: none;
  }

  /* Mantiene visible el index de la colección */
  .collection-page .archive-index {
    display: block;
    position: static;
    width: auto;

    padding: 28px 32px 0 32px;
    margin: 0 0 80px 0;
  }

  .collection-page .archive-index p {
    margin: 0;
    font-size: 14px;
    line-height: 1.1;
  }

  /* Close visible encima de todo */
  .collection-page .gallery-close,
  .collection-page .collection-close,
  .exhibition-gallery-panel .gallery-close,
  .publication-gallery .close-publication {
    display: block;
    position: fixed;

    top: 28px;
    right: 32px;
    z-index: 700;

    font-size: 14px;
    line-height: 1.1;
    color: black;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    text-decoration: none;
  }

  /* Imágenes limpias en una columna */
  .collection-page .archive-composition {
    display: block;
    padding: 0 32px 120px 32px;
  }

  .collection-page .archive-figure {
    width: 100%;
    margin: 0 0 130px 0;
  }

  .collection-page .archive-figure img {
    display: block;
    width: 100%;
    height: auto;
  }

  .collection-page .archive-figure:nth-child(n) {
    grid-column: auto;
    margin-left: 0;
    margin-top: 0;
  }

}

/* ============================= */
/* MOBILE — RESET COLLECTION LAYOUT */
/* ============================= */

@media (max-width: 768px) {

  .collection-page .archive-composition,
  #early-works .archive-composition,
  #An-infinity-of-lives .archive-composition {
    display: block !important;
    padding: 0 32px 120px 32px !important;
  }

  .collection-page .archive-figure,
  .collection-page .archive-figure:nth-child(n),
  #early-works .archive-figure,
  #early-works .archive-figure:nth-child(n),
  #An-infinity-of-lives .archive-figure,
  #An-infinity-of-lives .archive-figure:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 56px !important;
  }

  .collection-page .archive-figure img,
  #early-works .archive-figure img,
  #An-infinity-of-lives .archive-figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .collection-page .archive-figure figcaption,
  #early-works .archive-figure figcaption,
  #An-infinity-of-lives .archive-figure figcaption {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
  }

}

/* ============================= */
/* MOBILE — DISABLE IMAGE LIGHTBOX / ZOOM */
/* ============================= */

@media (max-width: 768px) {

  .archive-figure a,
  .collection-page .archive-figure a {
    pointer-events: none;
    cursor: default;
  }

  .archive-figure img,
  .collection-page .archive-figure img {
    cursor: default;
  }

  .archive-figure a:hover img,
  .collection-page .archive-figure a:hover img {
    opacity: 1;
    transform: none;
  }

}

/* ============================= */
/* MOBILE — INFO FIX */
/* ============================= */

@media (max-width: 768px) {

  .bio-content {
    padding: 120px 32px 100px 32px;
  }

  .bio-content h2,
  .bio-index,
  .bio-contact,
  .bio-section {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }

  #biography,
  #statement {
    width: auto;
  }

  .bio-section:first-of-type {
    margin-top: 0;
  }

  .bio-index {
    margin-bottom: 80px;
  }

  .bio-contact {
    margin-bottom: 80px;
  }

  .bio-section {
    margin-bottom: 80px;
  }

}

/* ============================= */
/* MOBILE — INFO TEXT WIDTH FIX */
/* ============================= */

@media (max-width: 768px) {

  .bio-page {
    overflow-x: hidden;
  }

  .bio-content {
    width: 100%;
    padding: 120px 32px 100px 32px;
  }

  .bio-section,
  .bio-contact,
  .bio-index,
  .bio-content h2 {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .bio-section p,
  .bio-contact p,
  .bio-index p,
  .cv-info {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  #biography,
  #statement,
  #cv.bio-cv {
    width: 100%;
    max-width: 100%;
  }

  #cv .cv-row {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 12px;

    width: 100%;
    max-width: 100%;

    font-size: var(--bio-body-size);
    line-height: 1.15;
  }

  #cv .cv-year {
    width: auto;
    flex: none;
  }

  #cv .cv-info {
    min-width: 0;
    max-width: 100%;
  }

}

/* ============================= */
/* MOBILE — EXHIBITIONS CLEAN FIX */
/* ============================= */

@media (max-width: 768px) {

  /* ============================= */
  /* EXHIBITIONS INDEX / MAIN PAGE */
  /* ============================= */

  .exhibitions-main {
    min-height: 100vh;
  }

  .exhibitions-index {
    position: static !important;
    width: auto !important;

    padding: 150px 32px 0 32px !important;
    margin: 0 0 42px 0 !important;

    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .exhibitions-index p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  .exhibitions-index-title {
    margin-top: 14px !important;
    margin-bottom: 4px !important;
    font-style: italic !important;
    opacity: 0.65 !important;
  }

  .exhibitions-composition {
    display: block !important;

    padding: 0 32px 120px 32px !important;
    margin: 0 !important;
  }

  .exhibition-cover,
  .exhibition-cover:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    grid-column: auto !important;

    margin: 0 0 56px 0 !important;
    padding: 0 !important;
  }

  .exhibition-cover img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;

    opacity: 1 !important;
    transform: none !important;
  }

  .exhibition-cover a:hover img {
    opacity: 1 !important;
    transform: none !important;
  }

  .exhibition-cover figcaption {
    margin-top: 5px !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
  }


  /* ============================= */
  /* EXHIBITION GALLERY — MOBILE */
  /* ============================= */

  .exhibition-collection.collection-page {
    position: fixed !important;
    inset: 0 !important;
    z-index: 500 !important;

    width: 100% !important;
    height: 100dvh !important;

    background: white !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    transition: none !important;
  }

  .exhibition-collection.collection-page:target {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:has(.exhibition-collection:target) .site-header {
    display: none !important;
  }

  .exhibition-collection .gallery-close {
    display: block !important;
    position: fixed !important;

    top: 28px !important;
    right: 32px !important;
    z-index: 800 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;

    color: black !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .exhibition-collection .archive-index {
    position: static !important;

    width: auto !important;
    max-width: none !important;

    padding: 72px 32px 0 32px !important;
    margin: 0 0 42px 0 !important;
  }

  .exhibition-collection .archive-index p {
    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  .exhibition-collection .gallery-work-list {
    display: block !important;
    position: static !important;

    width: auto !important;
    max-width: none !important;

    padding: 0 32px !important;
    margin: 0 0 56px 0 !important;
  }

  .exhibition-collection .gallery-work-list-title {
    margin: 0 0 6px 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    font-style: italic !important;
    opacity: 0.65 !important;
  }

  .exhibition-collection .gallery-work-list ul {
    columns: 1 !important;
    column-gap: 0 !important;

    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .exhibition-collection .gallery-work-list li {
    break-inside: avoid !important;

    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  .exhibition-collection .archive-composition {
    display: block !important;

    width: auto !important;

    padding: 0 32px 120px 32px !important;
    margin: 0 !important;
  }

  .exhibition-collection .archive-composition figure,
  .exhibition-collection .archive-composition figure:nth-child(n),
  .exhibition-collection .archive-figure,
  .exhibition-collection .vertical {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 56px 0 !important;
    padding: 0 !important;
  }

  .exhibition-collection .archive-composition figure img,
  .exhibition-collection .archive-figure img,
  .exhibition-collection .vertical img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;

    opacity: 1 !important;
    transform: none !important;
  }

  .exhibition-collection .archive-composition figcaption {
    margin-top: 5px !important;
    margin-bottom: 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
  }

}

/* ============================= */
/* MOBILE — HIDE EXHIBITIONS INDEX */
/* ============================= */

@media (max-width: 768px) {

  .exhibitions-index {
    display: none !important;
  }

  .exhibitions-composition {
    padding: 150px 32px 120px 32px !important;
  }

}

/* ============================= */
/* MOBILE ONLY — EXHIBITION GALLERY LIKE ARCHIVE */
/* ============================= */

@media (max-width: 768px) {

  body:has(.exhibition-collection:target) .site-header {
    display: flex !important;
  }

  .exhibition-collection > .gallery-close {
    display: block !important;
    position: static !important;

    padding: 150px 32px 0 32px !important;
    margin: 0 0 42px 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    color: black !important;
    text-decoration: none !important;
  }

  .exhibition-collection .archive-index {
    position: static !important;
    width: auto !important;
    padding: 0 32px !important;
    margin: 0 0 42px 0 !important;
  }

  .exhibition-collection .gallery-work-list {
    display: block !important;
    position: static !important;
    width: auto !important;
    padding: 0 32px !important;
    margin: 0 0 56px 0 !important;
  }

  .exhibition-collection .archive-composition {
    display: block !important;
    padding: 0 32px 120px 32px !important;
  }

  .exhibition-collection .archive-composition figure,
  .exhibition-collection .archive-composition figure:nth-child(n),
  .exhibition-collection .archive-figure,
  .exhibition-collection .vertical {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: auto !important;
    margin: 0 0 56px 0 !important;
  }

  .exhibition-collection .archive-composition figure img,
  .exhibition-collection .archive-composition figure.vertical img,
  .exhibition-collection .archive-figure img,
  .exhibition-collection .vertical img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
  }

}

/* ============================= */
/* MOBILE — EXHIBITION GALLERIES */
/* estilo limpio tipo Tillmans */
/* NO toca escritorio */
/* ============================= */

@media (max-width: 768px) {

  /* Panel abierto: pantalla completa, scroll interno */
  .exhibition-gallery-panel {
    position: fixed !important;
    inset: 0 !important;
    top: 100vh !important;

    width: 100% !important;
    height: 100dvh !important;

    z-index: 600 !important;
    background: white !important;

    padding: 0 !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition:
      top 0.7s ease,
      opacity 0.7s ease,
      visibility 0.7s ease !important;
  }

  .exhibition-gallery-panel:target {
    top: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Cuando una galería está abierta, ocultar Eliseo Díaz + menu */
  body:has(.exhibition-gallery-panel:target) .site-header {
    display: none !important;
  }

  body:has(.exhibition-gallery-panel:target) {
    overflow: hidden !important;
  }

  /* Close fijo arriba a la derecha */
  .exhibition-gallery-panel .gallery-close {
    display: block !important;
    position: fixed !important;

    top: 28px !important;
    right: 32px !important;
    z-index: 900 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    color: black !important;
    text-decoration: none !important;

    background: transparent !important;
  }

  /* Título / datos de exposición arriba */
  .exhibition-gallery-panel .gallery-panel-index {
    position: static !important;

    width: auto !important;
    max-width: none !important;

    padding: 28px 92px 0 32px !important;
    margin: 0 0 42px 0 !important;

    z-index: auto !important;
  }

  .exhibition-gallery-panel .gallery-panel-index p {
    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  /* Permite que la fecha se rompa y no se salga de pantalla */
  .exhibition-gallery-panel .no-break {
    white-space: normal !important;
  }

  /* Lista de obras: visible, pero ya no fija */
  .exhibition-gallery-panel .gallery-work-list {
    display: block !important;
    position: static !important;

    width: auto !important;
    max-width: none !important;

    padding: 0 32px !important;
    margin: 0 0 56px 0 !important;

    z-index: auto !important;
  }

  .exhibition-gallery-panel .gallery-work-list-title {
    margin: 0 0 6px 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    font-style: italic !important;
    opacity: 0.65 !important;
  }

  .exhibition-gallery-panel .gallery-work-list ul {
    columns: 1 !important;
    column-gap: 0 !important;

    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .exhibition-gallery-panel .gallery-work-list li {
    break-inside: avoid !important;

    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  /* Imágenes en columna limpia */
  .exhibition-gallery-panel .gallery-images {
    display: block !important;

    width: auto !important;

    padding: 0 32px 120px 32px !important;
    margin: 0 !important;

    height: auto !important;
    overflow: visible !important;
  }

  .exhibition-gallery-panel .gallery-images figure,
  .exhibition-gallery-panel .gallery-images figure:nth-child(n),
  .exhibition-gallery-panel .gallery-images figure.vertical {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 15px 0 !important;
    padding: 0 !important;
  }

  .exhibition-gallery-panel .gallery-images img,
  .exhibition-gallery-panel .gallery-images figure.vertical img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;

    opacity: 1 !important;
    transform: none !important;
  }

  .exhibition-gallery-panel .gallery-images figcaption {
    margin-top: 5px !important;
    margin-bottom: 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
  }

}

@media (max-width: 768px) {

  .publications-main {
    padding-top: 150px !important;
  }

}

@media (max-width: 768px) {

  .publications-main {
    padding-top: 0 !important;
  }

  .publications-index {
    padding-top: 150px !important;
  }

}

/* ============================= */
/* MOBILE — EXHIBITIONS WIDTH FIX */
/* ============================= */

@media (max-width: 768px) {

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .exhibitions-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .exhibitions-index {
    width: 100% !important;
    max-width: 100% !important;

    padding-left: 32px !important;
    padding-right: 32px !important;

    box-sizing: border-box !important;
  }

  .exhibitions-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding-left: 24px !important;
    padding-right: 24px !important;

    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .exhibition-cover,
  .exhibition-cover:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 72px !important;

    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .exhibition-cover a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .exhibition-cover img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .exhibition-cover figcaption {
    width: 100% !important;
    max-width: 100% !important;

    overflow-wrap: break-word;
  }

}
/* ================================================= */
/* MOBILE GLOBAL SYSTEM — SAME MARGINS EVERYWHERE */
/* SOLO MÓVIL — NO TOCA ESCRITORIO */
/* ================================================= */

@media (max-width: 768px) {

  :root {
    --mobile-margin: 24px;
    --mobile-top: 150px;
    --mobile-bottom: 100px;
    --mobile-gap: 56px;
    --mobile-text: 14px;
    --mobile-small: 13px;
    --mobile-caption: 12px;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    padding: 0 !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  a {
    color: black !important;
    text-decoration: none !important;
  }

  /* ============================= */
  /* HEADER MOBILE GLOBAL */
  /* ============================= */

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 300 !important;

    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;

    padding: 28px var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 !important;

    background: white !important;
  }

  .site-header h1 {
    margin: 0 !important;
    padding: 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
    font-weight: normal !important;
  }

  .site-header h1 a {
    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .site-nav {
    display: none !important;
  }

  .mobile-menu-open {
    display: block !important;

    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
    color: black !important;

    cursor: pointer !important;
  }

  /* ============================= */
  /* MOBILE MENU */
  /* ============================= */

  .mobile-menu {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;

    background: white !important;
  }

  .mobile-menu-inner {
    width: 100% !important;
    min-height: 100dvh !important;

    padding: 28px var(--mobile-margin) 80px var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .mobile-menu-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;

    width: 100% !important;
    margin: 0 0 56px 0 !important;
  }

  .mobile-menu-title,
  .mobile-menu-close,
  .mobile-menu-group a {
    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
    font-weight: normal !important;
  }

  .mobile-menu-close {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    color: black !important;
  }

  .mobile-menu-nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-menu-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;

    margin: 0 0 42px 0 !important;
  }

  .mobile-menu-group a {
    display: block !important;
    margin: 0 !important;
  }

  body.mobile-menu-active,
  body.menu-open {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* GLOBAL MAIN PAGES */
  /* ============================= */

  main,
  .home-main,
  .archive-main,
  .exhibitions-main,
  .publications-main {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    overflow-x: hidden !important;
  }

  /* ============================= */
  /* HOME */
  /* ============================= */

  .home-index {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: var(--mobile-top) var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;
  }

  .home-index p,
  .home-index-title {
    margin: 0 !important;

    font-size: var(--mobile-small) !important;
    line-height: 1.1 !important;
  }

  .home-index-title {
    margin-top: 14px !important;
    margin-bottom: 4px !important;
  }

  .home-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .home-main .home-composition:last-of-type {
    padding-bottom: var(--mobile-bottom) !important;
  }

  .home-figure,
  .home-poster,
  .home-figure:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
    padding: 0 !important;
  }

  .home-figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .home-figure figcaption {
    margin: 5px 0 0 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  .home-figure a:hover img {
    opacity: 1 !important;
    transform: none !important;
  }

  .home-text-block {
    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
  }

  .home-text-block p {
    font-size: var(--mobile-small) !important;
    line-height: 1.1 !important;
  }

  /* ============================= */
  /* ARCHIVE */
  /* ============================= */

  .archive-index {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: var(--mobile-top) var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;
  }

  .archive-index p,
  .archive-index-title {
    margin: 0 !important;

    font-size: var(--mobile-small) !important;
    line-height: 1.1 !important;
  }

  .archive-index-title {
    margin-top: 14px !important;
    margin-bottom: 4px !important;
  }

  .archive-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .archive-figure,
  .archive-figure:nth-child(n),
  .archive-figure.overlap-right,
  .archive-figure.overlap-left,
  .archive-figure.overlap-up {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
    padding: 0 !important;
  }

  .archive-figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .archive-figure figcaption {
    margin: 5px 0 0 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  /* ============================= */
  /* ARCHIVE COLLECTION PANELS */
  /* ============================= */

  .collection-page {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  .collection-page .archive-index {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 28px var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;
  }

  .collection-page .archive-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .collection-page .archive-figure,
  .collection-page .archive-figure:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
    padding: 0 !important;
  }

  .collection-page .archive-figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .collection-page .lightbox-close,
  .collection-page .gallery-close,
  .collection-page .collection-close {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  body:has(.collection-page:target) .site-header,
  body:has(.collection-page.is-open) .site-header {
    display: none !important;
  }

  body:has(.collection-page:target),
  body:has(.collection-page.is-open) {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* LIGHTBOX */
  /* ============================= */

  .lightbox {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    padding: 72px var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  .lightbox img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
  }

  .lightbox p {
    width: 100% !important;
    max-width: 100% !important;

    margin: 5px 0 0 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  .lightbox-close {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  body:has(.lightbox:target) .site-header {
    display: none !important;
  }

  body:has(.lightbox:target) {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* EXHIBITIONS INDEX */
  /* ============================= */

  .exhibitions-index {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: var(--mobile-top) var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;
  }

  .exhibitions-index p,
  .exhibitions-index-title {
    margin: 0 !important;

    font-size: var(--mobile-small) !important;
    line-height: 1.1 !important;
  }

  .exhibitions-index-title {
    margin-top: 14px !important;
    margin-bottom: 4px !important;
  }

  /* ============================= */
  /* EXHIBITIONS COMPOSITION */
  /* ============================= */

  .exhibitions-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .exhibition-cover,
  .exhibition-cover:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
    padding: 0 !important;
  }

  .exhibition-cover a {
    display: block !important;
    width: 100% !important;
  }

  .exhibition-cover img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .exhibition-cover figcaption {
    margin: 5px 0 0 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  .exhibition-cover a:hover img {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ============================= */
  /* EXHIBITION GALLERY PANELS */
  /* ============================= */

  .exhibition-gallery-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  .exhibition-gallery-panel .gallery-close {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .gallery-panel-index {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 28px 88px 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;
  }

  .gallery-panel-index p {
    margin: 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .gallery-work-list {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) !important;
    margin: 0 0 56px 0 !important;
  }

  .gallery-work-list-title {
    margin: 0 0 14px 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .gallery-work-list ul {
    columns: 1 !important;

    width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    list-style: none !important;
  }

  .gallery-work-list li {
    margin: 0 0 4px 0 !important;

    font-size: var(--mobile-small) !important;
    line-height: 1.1 !important;
  }

  .gallery-images {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .gallery-images figure,
  .gallery-images figure:nth-child(n),
  .gallery-images figure.vertical {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 0 15px 0 !important;
    padding: 0 !important;
  }

  .gallery-images img,
  .gallery-images figure.vertical img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
  }

  .gallery-images figcaption {
    margin: 5px 0 0 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  body:has(.exhibition-gallery-panel:target) .site-header {
    display: none !important;
  }

  body:has(.exhibition-gallery-panel:target) {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* PUBLICATIONS INDEX */
  /* También corrige tu caso donde el main usa exhibitions-main */
  /* ============================= */

  body:has(.publications-index) .exhibitions-main,
  .publications-main {
    padding-top: 0 !important;
  }

  .publications-index {
    width: 100% !important;
    max-width: 100% !important;

    padding: var(--mobile-top) var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .publication-item {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 var(--mobile-gap) 0 !important;
    padding: 0 !important;
  }

  .open-publication {
    display: block !important;
    width: 100% !important;
  }

  .publication-thumb,
  .publication-caption {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .publication-thumb {
    height: auto !important;
  }

  .publication-caption {
    margin-top: 5px !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

  /* ============================= */
  /* PUBLICATION GALLERY */
  /* ============================= */

  .publication-gallery {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  .publication-gallery-content {
    width: 100% !important;
    max-width: 100% !important;

    padding: 72px var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .publication-image-frame {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    display: grid !important;
    grid-template-columns: 1fr auto !important;
    row-gap: 4px !important;
  }

  .publication-image-frame img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
  }

  .publication-info {
    width: 100% !important;
    max-width: 100% !important;

    margin: 50px 0 0 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .publication-info p {
    margin: 0 !important;
  }

  .close-publication {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
    color: black !important;
  }

  .publication-counter {
    grid-column: 1 !important;
    grid-row: 2 !important;

    justify-self: start !important;

    font-size: var(--mobile-small) !important;
    line-height: 1 !important;
  }

  .publication-controls {
    grid-column: 2 !important;
    grid-row: 2 !important;

    justify-self: end !important;

    display: flex !important;
    gap: 14px !important;
  }

  .publication-controls button {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;

    font-family: inherit !important;
    font-size: var(--mobile-small) !important;
    line-height: 1 !important;
    color: black !important;
  }

  body:has(.publication-gallery.is-open) .site-header {
    display: none !important;
  }

  body:has(.publication-gallery.is-open) {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* INFO / BIOGRAPHY PAGE */
  /* ============================= */

  .bio-page {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  .bio-content {
    width: 100% !important;
    max-width: 100% !important;

    padding: var(--mobile-top) var(--mobile-margin) var(--mobile-bottom) var(--mobile-margin) !important;
    margin: 0 !important;
  }

  .bio-content h2,
  .bio-index,
  .bio-contact,
  .bio-section,
  #biography,
  #statement,
  #cv,
  .bio-cv {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bio-content h2 {
    margin: 0 0 28px 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
    font-weight: normal !important;
  }

  .bio-index {
    margin: 0 0 56px 0 !important;
  }

  .bio-index p,
  .bio-contact p,
  .bio-section p,
  .bio-section h3 {
    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .bio-index p,
  .bio-contact p,
  .bio-section p {
    margin: 0 0 14px 0 !important;
  }

  .bio-section {
    margin-bottom: 70px !important;
  }

  .bio-section:first-of-type {
    margin-top: 0 !important;
  }

  .bio-section h3 {
    margin: 0 0 14px 0 !important;

    font-weight: normal !important;
  }

  .bio-contact {
    margin: 0 0 70px 0 !important;
  }

  .bio-close {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .cv-row {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    column-gap: 12px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-bottom: 6px !important;

    font-size: var(--mobile-small) !important;
    line-height: 1.15 !important;
  }

  .cv-year {
    grid-column: 1 !important;
  }

  .cv-info {
    grid-column: 2 !important;

    min-width: 0 !important;
    max-width: 100% !important;

    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .cv-category {
    margin: 40px 0 12px 0 !important;

    font-size: var(--mobile-text) !important;
    line-height: 1.1 !important;
  }

  .bio-line {
    width: 30% !important;
    margin: 24px 0 6px 0 !important;
  }

  body:has(.bio-page:target) .site-header {
    display: none !important;
  }

  body:has(.bio-page:target) {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  /* ============================= */
  /* FOOTER */
  /* ============================= */

  .site-footer,
  footer {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) 28px var(--mobile-margin) !important;
    margin: 0 !important;

    font-size: var(--mobile-caption) !important;
    line-height: 1.1 !important;
  }

}

/* ================================================= */
/* MOBILE — EXHIBITIONS LIKE PUBLICATIONS */
/* ================================================= */

@media (max-width: 768px) {

  /* Oculta el índice de Exhibitions en móvil */
  .exhibitions-index {
    display: none !important;
  }

  /* Hace que las imágenes empiecen igual que Publications */
  .exhibitions-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 150px 24px 100px 24px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
  }

  .exhibition-cover,
  .exhibition-cover:nth-child(n) {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 56px 0 !important;
    padding: 0 !important;

    grid-column: auto !important;
    grid-row: auto !important;

    box-sizing: border-box !important;
  }

  .exhibition-cover a {
    display: block !important;
    width: 100% !important;
  }

  .exhibition-cover img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
  }

  .exhibition-cover figcaption {
    width: 100% !important;
    max-width: 100% !important;

    margin: 5px 0 0 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
  }

}

/* ================================================= */
/* MOBILE — FORCE ARCHIVE COLLECTIONS UNIVERSAL MARGINS */
/* Pegar hasta el final del CSS */
/* ================================================= */

@media (max-width: 768px) {

  :root {
    --mobile-margin: 24px;
  }

  /* Panel abierto de colección */
  .collection-page,
  #early-works.collection-page,
  #An-infinity-of-lives.collection-page,
  #still-lifes.collection-page,
  #landscapes.collection-page {
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;

    box-sizing: border-box !important;
  }

  /* Index interno de cada colección */
  .collection-page .archive-index,
  #early-works .archive-index,
  #An-infinity-of-lives .archive-index,
  #still-lifes .archive-index,
  #landscapes .archive-index {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 28px var(--mobile-margin) 0 var(--mobile-margin) !important;
    margin: 0 0 42px 0 !important;

    box-sizing: border-box !important;
  }

  .collection-page .archive-index p,
  #early-works .archive-index p,
  #An-infinity-of-lives .archive-index p,
  #still-lifes .archive-index p,
  #landscapes .archive-index p {
    margin: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  /* Close de las colecciones, incluso cuando no tiene clase */
  .collection-page .archive-index a[href="#archive"],
  .collection-page .archive-index .lightbox-close,
  .collection-page .archive-index .gallery-close,
  .collection-page .archive-index .collection-close {
    position: fixed !important;
    top: 28px !important;
    right: var(--mobile-margin) !important;
    z-index: 950 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    color: black !important;
    text-decoration: none !important;
  }

  /* Contenedor de imágenes de todas las colecciones */
  .collection-page .archive-composition,
  #early-works .archive-composition,
  #An-infinity-of-lives .archive-composition,
  #still-lifes .archive-composition,
  #landscapes .archive-composition {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 var(--mobile-margin) 100px var(--mobile-margin) !important;
    margin: 0 !important;

    box-sizing: border-box !important;
  }

  /* Reset total de figuras dentro de colecciones */
  .collection-page .archive-figure,
  .collection-page .archive-figure:nth-child(n),
  .collection-page .archive-figure.overlap-right,
  .collection-page .archive-figure.overlap-left,
  .collection-page .archive-figure.overlap-up,

  #early-works .archive-figure,
  #early-works .archive-figure:nth-child(n),
  #early-works .archive-figure.overlap-right,
  #early-works .archive-figure.overlap-left,
  #early-works .archive-figure.overlap-up,

  #An-infinity-of-lives .archive-figure,
  #An-infinity-of-lives .archive-figure:nth-child(n),
  #An-infinity-of-lives .archive-figure.overlap-right,
  #An-infinity-of-lives .archive-figure.overlap-left,
  #An-infinity-of-lives .archive-figure.overlap-up,

  #still-lifes .archive-figure,
  #still-lifes .archive-figure:nth-child(n),
  #still-lifes .archive-figure.overlap-right,
  #still-lifes .archive-figure.overlap-left,
  #still-lifes .archive-figure.overlap-up,

  #landscapes .archive-figure,
  #landscapes .archive-figure:nth-child(n),
  #landscapes .archive-figure.overlap-right,
  #landscapes .archive-figure.overlap-left,
  #landscapes .archive-figure.overlap-up {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 56px !important;

    padding: 0 !important;

    box-sizing: border-box !important;
  }

  /* Imágenes */
  .collection-page .archive-figure img,
  #early-works .archive-figure img,
  #An-infinity-of-lives .archive-figure img,
  #still-lifes .archive-figure img,
  #landscapes .archive-figure img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
  }

  /* Captions */
  .collection-page .archive-figure figcaption,
  #early-works .archive-figure figcaption,
  #An-infinity-of-lives .archive-figure figcaption,
  #still-lifes .archive-figure figcaption,
  #landscapes .archive-figure figcaption {
    width: 100% !important;
    max-width: 100% !important;

    margin: 5px 0 0 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;
  }

}

/* ============================= */
/* MOBILE — ONLY INNER INFO LINES */
/* ============================= */

@media (max-width: 768px) {

  /* Solo las líneas del índice:
     General Biography / Statement / CV / etc. */
  .bio-index p {
    margin: 0 0 2px 0 !important;
    line-height: 1.05 !important;
  }

  /* Mantiene el bloque Contact donde está */
  .bio-contact {
    margin-bottom: 70px !important;
  }

  /* NO tocar el título Contact */
  .bio-contact-title {
    margin: 0 0 14px 0 !important;
  }

  /* Solo el contenido debajo de Contact */
  .bio-contact p:not(.bio-contact-title) {
    margin: 0 0 8px 0 !important;
    line-height: 1.05 !important;
  }

  /* Quita el espacio enorme antes de Mexico City */
  .bio-contact br {
    display: none !important;
  }

  /* Si quieres que Mexico City tenga un pequeño respiro */
  .bio-contact p:last-child {
    margin-top: 22px !important;
  }

}

/* ============================= */
/* MOBILE — CONTACT LINKS UNDERLINE */
/* ============================= */

@media (max-width: 768px) {

  .bio-contact a {
    text-decoration: underline !important;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
  }

}

/* ============================= */
/* GLOBAL FONT */
/* ============================= */

body,
button,
input,
textarea {
  font-family: Helvetica, Arial, sans-serif;
}

/* ============================= */
/* PAGE TRANSITION — FADE IN / OUT */
/* ============================= */

.page-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;

  background: white;

  opacity: 0;
  transition: opacity 0.65s ease;

  pointer-events: none;
  will-change: opacity;
}

.page-transition-overlay.is-active {
  opacity: 1;
}

.page-transition-overlay.is-reveal {
  opacity: 0;
}


/* ============================= */
/* DESKTOP ONLY — PUBLICATIONS DOWN */
/* ============================= */

@media (min-width: 769px) {

  body:has(.publications-index) .publications-index {
    margin-top: 220px !important;
  }

}

/* ============================= */
/* DESKTOP ONLY — HEADER / NAME FIX */
/* keeps hover active */
/* ============================= */

@media (min-width: 769px) {

  /* Estado normal: nombre completamente negro */
  .site-header h1,
  .site-header h1 a {
    color: #000000 !important;
    opacity: 1 !important;
    font-weight: 400 !important;
  }

  /* Separación entre Eliseo Díaz y el grupo del menú */
  .site-nav {
    margin-top: 8px !important;
    gap: 0 !important;
  }

  /* Estado normal del menú */
  .site-nav a {
    color: #000000 !important;
    opacity: 1 !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
  }

  /* Hover del nombre y del menú */
  .site-header h1 a:hover,
  .site-nav a:hover {
    color: gray !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-decoration-color: #FF0000 !important;
  }

}


/* ============================= */
/* PRIVACY PAGE */
/* ============================= */

.privacy-page {
  min-height: 100vh;
  padding-top: 180px;
}

.privacy-content {
  width: 42vw;
  margin-left: 0px;

  font-size: 14.4px;
  line-height: 1.25;
}

.privacy-content h2 {
  margin: 0 0 40px 0;
  font-size: 13px;
  font-weight: normal;
}

.privacy-content p {
  margin: 0 0 18px 0;
}

.privacy-content a {
  color: black;
  text-decoration: none;
}

.privacy-content a:hover {
  color: gray;
}

/* Mobile */
@media (max-width: 768px) {
  .privacy-page {
    padding-top: 120px;
  }

  .privacy-content {
    width: auto;
    margin-left: 24px;
    margin-right: 24px;
  }
}


/* ============================= */
/* FOOTER */
/* ============================= */

.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;

  padding: 80px 18px 18px 18px;

  font-size: 13px;
  line-height: 1.1;
}

.site-footer p {
  margin: 0;
}

.footer-links {
  display: flex;
  gap: 18px;
}

.footer-links a {
  color: black;
  text-decoration: none;
}

.footer-links a:hover {
  color: gray;
}

/* Mobile */
@media (max-width: 768px) {
  .site-footer {
    display: block;
    padding: 60px 24px 24px 24px;
  }

  .footer-links {
    margin-top: 8px;
    gap: 12px;
    flex-wrap: wrap;
  }
}

.site-footer {
  position: relative;
  z-index: 20;
}

.footer-links,
.footer-links a {
  position: relative;
  z-index: 21;
  pointer-events: auto;
}

/* ============================= */
/* MOBILE — FOOTER PRIVACY INLINE */
/* SOLO MÓVIL */
/* ============================= */

@media (max-width: 768px) {

  .site-footer {
    left: auto !important;
    bottom: auto !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 18px !important;

    width: 100% !important;

    padding: 0 var(--mobile-margin, 24px) 48px var(--mobile-margin, 24px) !important;
    margin: 0 !important;

    font-size: var(--mobile-text, 14px) !important;
    line-height: 1.1 !important;

    pointer-events: auto !important;
  }

  .site-footer p {
    margin: 0 !important;
  }

  .site-footer a {
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    pointer-events: auto !important;
  }

}

/* ============================= */
/* DESKTOP — ARCHIVE INDEX TITLE AIR */
/* SOLO ESCRITORIO */
/* ============================= */

@media (min-width: 769px) {

  .archive-index p.archive-index-title {
    margin-top: 14px !important;
    margin-bottom: 12px !important;
  }

}
