
:root{
  --ink:#111;
  --muted:#777;
  --line:#d6d6d6;
  --sidebar:220px;
  --gutter:58px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;color:var(--ink);font-family:"Times New Roman",Times,serif}
body{font-size:18px;line-height:1.34}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
button,input,textarea{font-family:inherit}
.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:var(--gutter);padding:52px 4.4vw 72px}
.brand{font-size:31px;font-weight:700;line-height:1;margin:8px 0 52px}
.nav{display:flex;flex-direction:column;gap:8px;font-size:20px}
.nav .spacer{height:26px}
.nav a.active{color:#888}
.lang{position:fixed;top:47px;right:4.4vw;z-index:10;font-size:15px;letter-spacing:.03em}
.lang button{border:0;background:none;padding:0;cursor:pointer;font-size:inherit;color:inherit}
.lang button.active{text-decoration:underline}
.main{width:100%;max-width:1180px;padding-top:55px}
h1,h2,p{margin-top:0}
h1{font-size:34px;font-weight:400;margin-bottom:34px}
h2{font-size:27px;font-weight:400;margin:0 0 24px}

/* home */
.home .main{padding-top:46px}
.home-stage{max-width:560px}
.hero{display:block}
.hero-media{aspect-ratio:16/9;background:#efefef;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}
.hero-caption{margin-top:8px;font-size:16px}
.hero-fade{animation:fadeIn .45s ease}
@keyframes fadeIn{from{opacity:.15}to{opacity:1}}

/* section */
.section-intro{max-width:760px;margin-bottom:52px}
.section-intro p{margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 42px}
.thumb{display:block;min-width:0}
.thumb-media{aspect-ratio:16/9;background:#efefef;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}
.thumb-title{padding-top:8px;font-size:17px;line-height:1.15}
.thumb-year{color:#666;font-size:15px;margin-top:3px}

/* work */
.work h1{font-size:27px;margin-bottom:4px}
.work-year{font-size:18px;margin-bottom:40px}
.work-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,.95fr);gap:82px;align-items:start}
.work-media{aspect-ratio:16/9;background:#efefef;display:flex;align-items:center;justify-content:center;color:#888;font-size:15px}
.work-text{font-size:18px}
.work-text p{margin:0 0 22px}
.pager{border-top:1px solid var(--line);margin-top:72px;padding-top:18px;display:flex;justify-content:space-between;gap:30px;font-size:17px}
.pager>div{max-width:46%}

/* bio */
.bio-content{max-width:760px;padding-right:8vw}
.bio-content .lead{margin-bottom:48px}
.bio-content .lead p{margin-bottom:20px}
.rule{border-top:1px solid var(--line);padding-top:25px;margin-top:46px}
.cv-row{display:grid;grid-template-columns:64px 1fr;gap:18px;margin:5px 0}

/* contact */
.contact-content{max-width:690px;padding-right:8vw}
.contact-content .intro{max-width:470px;margin-bottom:70px}
.contact-content form{max-width:470px}
.field{margin-bottom:38px}
.field label{display:block;margin-bottom:12px}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:5px 0;font:inherit;outline:none}
.field textarea{min-height:115px;resize:vertical}
.send{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.prototype-note{max-width:470px;margin-top:24px;font-size:14px;color:#777}

@media(max-width:900px){
 .shell{grid-template-columns:1fr;gap:20px;padding:28px 6vw 52px}
 .brand{font-size:27px;margin-bottom:24px}
 .nav{flex-direction:row;flex-wrap:wrap;gap:10px 18px;font-size:17px}
 .nav .spacer{display:none}
 .lang{position:absolute;top:31px;right:6vw}
 .main{padding-top:18px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-layout{grid-template-columns:1fr;gap:38px}
 .bio-content,.contact-content{padding-right:0}
}
@media(max-width:560px){
 body{font-size:17px}
 h1{font-size:29px}
 .grid{grid-template-columns:1fr}
 .pager{flex-direction:column;gap:14px}
 .pager>div{max-width:100%}
}

.thumb-media img,
.hero-media img,
.work-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.work-media.has-image{
  overflow:hidden;
}


/* V5: natural image display + series */
.work-media.has-image{aspect-ratio:auto;min-height:320px;background:#fff}
.work-media.has-image img{width:100%;height:auto;max-height:68vh;object-fit:contain}
.series-intro{max-width:760px;margin-bottom:42px}
.series-intro p{margin-bottom:18px}
.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 38px}
.series-thumb{appearance:none;border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.series-thumb.empty{cursor:default}
.series-thumb-media{display:flex;aspect-ratio:4/3;background:#efefef;overflow:hidden;align-items:center;justify-content:center;color:#999;font-size:14px}
.series-thumb-media img{width:100%;height:100%;display:block;object-fit:cover}
.series-thumb-label{display:block;margin-top:7px;font-size:15px;color:#666}
.series-note{margin-top:34px;color:#777;font-size:14px}
.lightbox{position:fixed;inset:0;background:rgba(255,255,255,.97);z-index:1000;display:none;align-items:center;justify-content:center;padding:5vh 7vw}
.lightbox.open{display:flex}
.lightbox img{display:block;max-width:86vw;max-height:86vh;width:auto;height:auto;object-fit:contain;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.lightbox-close,.lightbox-nav{position:fixed;appearance:none;border:0;background:none;color:#111;font:inherit;cursor:pointer}
.lightbox-close{top:22px;right:32px;font-size:34px}
.lightbox-nav{top:50%;transform:translateY(-50%);font-size:28px}
.lightbox-prev{left:28px}.lightbox-next{right:28px}
@media(max-width:900px){.series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox img{max-width:90vw;max-height:84vh}}
@media(max-width:560px){.series-grid{grid-template-columns:1fr}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:14px}}


/* V6 — conservar proporciones originales en las miniaturas */
.thumb-media.has-image,
.hero-media.has-image{
  aspect-ratio:auto;
  background:transparent;
  display:block;
  overflow:visible;
}
.thumb-media.has-image img,
.hero-media.has-image img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
}
.series-thumb-media.has-image{
  aspect-ratio:auto;
  background:transparent;
  display:block;
  overflow:visible;
}
.series-thumb-media.has-image img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}


/* V9 — Proyecto NO8DO: mismo campo visual y alineación por la base */
.series-proyecto-no8do .series-grid{
  align-items:end;
}
.series-proyecto-no8do .series-thumb{
  display:grid;
  grid-template-rows:245px auto;
  align-items:end;
}
.series-proyecto-no8do .series-thumb-media.has-image{
  width:100%;
  height:245px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
  background:transparent;
}
.series-proyecto-no8do .series-thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:245px;
  object-fit:contain;
  display:block;
}
.series-proyecto-no8do .series-thumb-label{
  align-self:start;
}

/* V9 — el tamaño ampliado lo calcula JavaScript para cada serie */
.lightbox img{
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
}

@media(max-width:900px){
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:220px auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:220px;
  }
  .series-proyecto-no8do .series-thumb-media.has-image img{
    max-height:220px;
  }
}

/* V10 — NO8DO: verticales más grandes, misma línea de base y retícula más compacta */
.series-proyecto-no8do .series-grid{
  column-gap:24px;
  row-gap:30px;
  align-items:end;
}
.series-proyecto-no8do .series-thumb{
  grid-template-rows:330px auto;
  align-items:end;
}
.series-proyecto-no8do .series-thumb-media.has-image{
  height:330px;
  align-items:flex-end;
  justify-content:center;
}
/* Las cuatro horizontales mantienen un tamaño contenido */
.series-proyecto-no8do .series-thumb-media.has-image img{
  max-width:100%;
  max-height:225px;
}
/* 1 y 4 son verticales: crecen hacia arriba, pero comparten la misma base */
.series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
  max-height:330px;
  max-width:100%;
}

@media(max-width:900px){
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:285px auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:285px;
  }
  .series-proyecto-no8do .series-thumb-media.has-image img{
    max-height:195px;
  }
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
    max-height:285px;
  }
}

@media(max-width:560px){
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:auto auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
    width:100%;
    height:auto;
    max-height:none;
  }
}


/* V11 — NO8DO: alinear cada columna por la izquierda */
.series-proyecto-no8do .series-thumb{
  width:100%;
  justify-self:stretch;
}
.series-proyecto-no8do .series-thumb-media.has-image{
  justify-content:flex-start;
}
.series-proyecto-no8do .series-thumb-media.has-image img{
  margin-left:0;
  margin-right:auto;
}
.series-proyecto-no8do .series-thumb-label{
  text-align:left;
}


/* V12 — Ursprache: cuatro obras en una sola fila y alineadas por la base */
.section-ursprache .grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:36px;
  align-items:end;
}
.section-ursprache .thumb{
  display:grid;
  grid-template-rows:205px auto auto;
  align-items:end;
}
.section-ursprache .thumb-media,
.section-ursprache .thumb-media.has-image{
  width:100%;
  height:205px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
  background:transparent;
}
.section-ursprache .thumb-media:not(.has-image){
  background:#efefef;
  align-items:center;
  justify-content:center;
}
.section-ursprache .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:190px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}
.section-ursprache .thumb-title{
  align-self:start;
}

/* V12 — Proyecto NO8DO:
   tres columnas con anchuras distintas pero una separación visual constante.
   1/4, 2/5 y 3/6 siguen compartiendo el mismo borde izquierdo. */
.series-proyecto-no8do .series-grid{
  grid-template-columns:24% 31% 39%;
  column-gap:3%;
  row-gap:30px;
  align-items:end;
  justify-content:start;
}
.series-proyecto-no8do .series-thumb{
  width:100%;
  display:grid;
  grid-template-rows:330px auto;
  align-items:end;
  justify-self:stretch;
}
.series-proyecto-no8do .series-thumb-media.has-image{
  width:100%;
  height:330px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  background:transparent;
  overflow:visible;
}
.series-proyecto-no8do .series-thumb-media.has-image img{
  width:100%;
  height:auto;
  max-width:100%;
  max-height:330px;
  margin:0;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}

/* En las verticales, el límite de altura manda; crecen hacia arriba desde la misma base. */
.series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
  width:auto;
  max-width:100%;
  max-height:330px;
  margin-left:0;
  margin-right:auto;
}

@media(max-width:1000px){
  .section-ursprache .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .series-proyecto-no8do .series-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:28px;
  }
}

@media(max-width:560px){
  .section-ursprache .grid{
    grid-template-columns:1fr;
  }
  .section-ursprache .thumb{
    grid-template-rows:auto auto auto;
  }
  .section-ursprache .thumb-media,
  .section-ursprache .thumb-media.has-image{
    height:auto;
  }
  .section-ursprache .thumb-media.has-image img{
    width:100%;
    max-height:none;
  }

  .series-proyecto-no8do .series-grid{
    grid-template-columns:1fr;
  }
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:auto auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
    width:100%;
    max-height:none;
  }
}


/* V13 — Ursprache vuelve al sistema general de tres columnas */
.section-ursprache .grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px 42px;
  align-items:start;
}
.section-ursprache .thumb{
  display:grid;
  grid-template-rows:250px auto auto;
  align-items:end;
}
.section-ursprache .thumb-media,
.section-ursprache .thumb-media.has-image{
  width:100%;
  height:250px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
}
.section-ursprache .thumb-media:not(.has-image){
  background:#efefef;
  align-items:center;
  justify-content:center;
}
.section-ursprache .thumb-media.has-image{
  background:transparent;
}
.section-ursprache .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:235px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}
.section-ursprache .thumb-title,
.section-ursprache .thumb-year{
  align-self:start;
}

/* V13 — Proyecto NO8DO:
   1/4, 2/5 y 3/6 comparten el mismo borde izquierdo.
   La distancia visual 4–5 y 5–6 es exactamente la misma. */
.series-proyecto-no8do .series-grid{
  grid-template-columns:190px 290px 290px;
  column-gap:30px;
  row-gap:30px;
  justify-content:start;
  align-items:end;
}
.series-proyecto-no8do .series-thumb{
  width:100%;
  display:grid;
  grid-template-rows:300px auto;
  align-items:end;
  justify-self:start;
}
.series-proyecto-no8do .series-thumb-media.has-image{
  width:100%;
  height:300px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
  background:transparent;
}
.series-proyecto-no8do .series-thumb-media.has-image img{
  width:100%;
  height:auto;
  max-width:100%;
  max-height:300px;
  margin:0;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}

/* Las verticales 1 y 4 usan todo el ancho de su columna y crecen hacia arriba. */
.series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
  width:190px;
  max-width:190px;
  height:auto;
  max-height:300px;
}

/* 2, 3, 5 y 6 tienen la misma anchura visual, respetando sus proporciones. */
.series-proyecto-no8do .series-thumb:nth-child(2) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(3) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(5) .series-thumb-media.has-image img,
.series-proyecto-no8do .series-thumb:nth-child(6) .series-thumb-media.has-image img{
  width:290px;
  max-width:290px;
  height:auto;
  max-height:300px;
}

/* Ajuste tablet */
@media(max-width:1000px){
  .section-ursprache .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .series-proyecto-no8do .series-grid{
    grid-template-columns:160px 245px;
    column-gap:26px;
  }
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:260px auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:260px;
  }
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
    width:160px;
    max-width:160px;
  }
  .series-proyecto-no8do .series-thumb:nth-child(2) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(3) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(5) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(6) .series-thumb-media.has-image img{
    width:245px;
    max-width:245px;
  }
}

/* Móvil */
@media(max-width:560px){
  .section-ursprache .grid{
    grid-template-columns:1fr;
  }
  .section-ursprache .thumb{
    grid-template-rows:auto auto auto;
  }
  .section-ursprache .thumb-media,
  .section-ursprache .thumb-media.has-image{
    height:auto;
  }
  .section-ursprache .thumb-media.has-image img{
    width:100%;
    max-height:none;
  }

  .series-proyecto-no8do .series-grid{
    grid-template-columns:1fr;
  }
  .series-proyecto-no8do .series-thumb{
    grid-template-rows:auto auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image{
    height:auto;
  }
  .series-proyecto-no8do .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(2) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(3) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(5) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(6) .series-thumb-media.has-image img{
    width:100%;
    max-width:100%;
    height:auto;
    max-height:none;
  }
}


/* V15 — La tela de Penélope: imágenes alineadas por la base */
.section-penelope .grid{
  align-items:start;
}
.section-penelope .thumb{
  display:grid;
  grid-template-rows:250px auto auto;
  align-items:end;
}
.section-penelope .thumb-media,
.section-penelope .thumb-media.has-image{
  width:100%;
  height:250px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
}
.section-penelope .thumb-media:not(.has-image){
  background:#efefef;
  align-items:center;
  justify-content:center;
}
.section-penelope .thumb-media.has-image{
  background:transparent;
}
.section-penelope .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:235px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}
.section-penelope .thumb-title,
.section-penelope .thumb-year{
  align-self:start;
}

/* Imperativo categórico: 25 % más pequeño dentro de la retícula */
.section-penelope .thumb[href*="imperativo-categorico"] .thumb-media.has-image img{
  max-width:75%;
  max-height:176px;
}

/* V15 — Tautótes: imágenes alineadas por la base */
.section-tautotes .grid{
  align-items:start;
}
.section-tautotes .thumb{
  display:grid;
  grid-template-rows:250px auto auto;
  align-items:end;
}
.section-tautotes .thumb-media,
.section-tautotes .thumb-media.has-image{
  width:100%;
  height:250px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
}
.section-tautotes .thumb-media:not(.has-image){
  background:#efefef;
  align-items:center;
  justify-content:center;
}
.section-tautotes .thumb-media.has-image{
  background:transparent;
}
.section-tautotes .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:235px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}
.section-tautotes .thumb-title,
.section-tautotes .thumb-year{
  align-self:start;
}

@media(max-width:560px){
  .section-penelope .thumb,
  .section-tautotes .thumb{
    grid-template-rows:auto auto auto;
  }
  .section-penelope .thumb-media,
  .section-penelope .thumb-media.has-image,
  .section-tautotes .thumb-media,
  .section-tautotes .thumb-media.has-image{
    height:auto;
  }
  .section-penelope .thumb-media.has-image img,
  .section-tautotes .thumb-media.has-image img{
    width:100%;
    max-height:none;
  }
  .section-penelope .thumb[href*="imperativo-categorico"] .thumb-media.has-image img{
    width:75%;
    max-width:75%;
    max-height:none;
  }
}


/* V16 — ajustes puntuales de escala */

/* Ursprache:
   Museo imaginario y Autorretrato quedan con un peso visual parecido,
   manteniendo cada uno su proporción original. */
.section-ursprache .thumb[href*="museo-imaginario"] .thumb-media.has-image img{
  width:92%;
  max-width:92%;
  height:auto;
  max-height:235px;
}
.section-ursprache .thumb[href*="autorretrato"] .thumb-media.has-image img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:235px;
}

/* Naturaleza muerta: +25 % respecto al tamaño de V15. */
.section-ursprache .thumb[href*="naturaleza-muerta"] .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:294px;
}

/* Tautótes:
   El mapa no es el territorio recupera la escala anterior a V15.
   Sigue apoyado en la misma línea de base que las demás miniaturas. */
.section-tautotes .thumb[href*="el-mapa-no-es-el-territorio"] .thumb-media.has-image img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
}

/* La tela de Penélope:
   Imperativo categórico duplica la dimensión de la versión reducida de V15.
   Conserva la proporción y crece hacia arriba desde la línea de base. */
.section-penelope .thumb[href*="imperativo-categorico"] .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:352px;
}

@media(max-width:560px){
  .section-ursprache .thumb[href*="museo-imaginario"] .thumb-media.has-image img,
  .section-ursprache .thumb[href*="autorretrato"] .thumb-media.has-image img{
    width:100%;
    max-width:100%;
    max-height:none;
  }
  .section-ursprache .thumb[href*="naturaleza-muerta"] .thumb-media.has-image img,
  .section-tautotes .thumb[href*="el-mapa-no-es-el-territorio"] .thumb-media.has-image img,
  .section-penelope .thumb[href*="imperativo-categorico"] .thumb-media.has-image img{
    width:100%;
    max-width:100%;
    max-height:none;
  }
}


/* V17 — correcciones de separación y escala */

/* La tela de Penélope:
   Imperativo categórico crece hacia arriba; bajamos completa la fila 4
   para que no invada ni oculte la fila anterior (Salta la reja, etc.). */
.section-penelope .thumb:nth-child(10),
.section-penelope .thumb:nth-child(11),
.section-penelope .thumb:nth-child(12){
  margin-top:120px;
}

/* Tautótes:
   El mapa no es el territorio recuperó un tamaño mayor en V16.
   Bajamos la primera fila para que la imagen no invada el texto introductorio. */
.section-tautotes .grid{
  margin-top:100px;
}

/* Ursprache:
   Museo imaginario usa ahora exactamente el mismo criterio de escala
   que Autorretrato: mismo ancho máximo y misma altura máxima. */
.section-ursprache .thumb[href*="museo-imaginario"] .thumb-media.has-image img,
.section-ursprache .thumb[href*="autorretrato"] .thumb-media.has-image img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:235px;
}

/* En móvil no necesitamos esas separaciones extra. */
@media(max-width:560px){
  .section-penelope .thumb:nth-child(10),
  .section-penelope .thumb:nth-child(11),
  .section-penelope .thumb:nth-child(12){
    margin-top:0;
  }
  .section-tautotes .grid{
    margin-top:40px;
  }
}


/* V18 — El mapa no es el territorio: 2 filas de 3 y alineación inferior */
.series-el-mapa-no-es-el-territorio .series-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:38px;
  row-gap:52px;
  align-items:end;
}
.series-el-mapa-no-es-el-territorio .series-thumb{
  display:grid;
  grid-template-rows:360px auto;
  align-items:end;
  width:100%;
}
.series-el-mapa-no-es-el-territorio .series-thumb-media.has-image{
  width:100%;
  height:360px;
  aspect-ratio:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
  background:transparent;
}

/* Mapas completos: visualmente mayores y verticales. */
.series-el-mapa-no-es-el-territorio .series-item-map .series-thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:350px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}

/* Detalles: algo más pequeños, conservando su formato más cuadrado. */
.series-el-mapa-no-es-el-territorio .series-item-detail .series-thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:82%;
  max-height:255px;
  object-fit:contain;
  object-position:left bottom;
  display:block;
}

/* En Tautótes, TOTAL funciona como miniatura representativa sin invadir el texto. */
.section-tautotes .thumb[href*="el-mapa-no-es-el-territorio"] .thumb-media.has-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:330px;
  object-fit:contain;
  object-position:left bottom;
}

@media(max-width:900px){
  .series-el-mapa-no-es-el-territorio .series-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .series-el-mapa-no-es-el-territorio .series-grid{
    grid-template-columns:1fr;
  }
  .series-el-mapa-no-es-el-territorio .series-thumb{
    grid-template-rows:auto auto;
  }
  .series-el-mapa-no-es-el-territorio .series-thumb-media.has-image{
    height:auto;
  }
  .series-el-mapa-no-es-el-territorio .series-item-map .series-thumb-media.has-image img,
  .series-el-mapa-no-es-el-territorio .series-item-detail .series-thumb-media.has-image img{
    width:100%;
    max-width:100%;
    max-height:none;
  }
}


/* V25 — ajustes exclusivos de la página de inicio */
.home-hero-scaled{
  width:calc(var(--home-scale, 1) * 100%);
  margin-left:auto;
  margin-right:auto;
}
.home-hero-scaled .hero-media.has-image img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}


/* V27 — vídeo incrustado en las páginas de obra */
.video-media{
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  background:#000;
}
.video-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:#000;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.video-poster-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#000;
}
.video-poster-placeholder{
  color:#aaa;
  font:inherit;
}
.video-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(255,255,255,.90);
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-left:4px;
  font-size:24px;
  line-height:1;
  box-shadow:0 0 0 1px rgba(0,0,0,.10);
}
.video-poster:hover .video-play,
.video-poster:focus-visible .video-play{
  transform:translate(-50%,-50%) scale(1.06);
}
.video-media iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}


/* V31 — ajustes responsive finales */

/* Navegación inferior en móvil:
   anterior a la izquierda y siguiente a la derecha. */
@media(max-width:560px){
  .pager{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:18px;
    align-items:start;
  }
  .pager>div{
    max-width:none;
    min-width:0;
  }
  .pager>div:first-child{
    text-align:left;
  }
  .pager>div:last-child{
    text-align:right;
  }

  /* El mapa no es el territorio:
     los detalles mantienen una jerarquía menor que los mapas completos. */
  .series-el-mapa-no-es-el-territorio .series-item-detail .series-thumb-media.has-image img{
    width:80%;
    max-width:80%;
    height:auto;
    max-height:none;
    margin-left:0;
    margin-right:auto;
    object-fit:contain;
    object-position:left bottom;
  }
}


/* V32 — ajustes específicos de tablet (561–1000 px) */
@media(min-width:561px) and (max-width:1000px){

  /* La tela de Penélope:
     dos columnas, bases alineadas y separación uniforme entre filas. */
  .section-penelope .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:42px;
    row-gap:54px;
    align-items:start;
  }

  .section-penelope .thumb{
    display:grid;
    grid-template-rows:300px auto auto;
    align-items:end;
    margin-top:0 !important;
  }

  .section-penelope .thumb-media,
  .section-penelope .thumb-media.has-image{
    width:100%;
    height:300px;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    overflow:visible;
  }

  .section-penelope .thumb-media.has-image img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:285px;
    object-fit:contain;
    object-position:left bottom;
  }

  /* Imperativo categórico conserva su carácter vertical,
     pero comparte la misma línea de base que 33. */
  .section-penelope .thumb[href*="imperativo-categorico"] .thumb-media.has-image img{
    width:auto;
    max-width:100%;
    max-height:300px;
  }

  /* Proyecto NO8DO:
     dos columnas regulares, misma separación y filas más compactas. */
  .series-proyecto-no8do .series-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:42px;
    row-gap:54px;
    align-items:end;
    justify-content:start;
  }

  .series-proyecto-no8do .series-thumb{
    width:100%;
    display:grid;
    grid-template-rows:300px auto;
    align-items:end;
    justify-self:stretch;
  }

  .series-proyecto-no8do .series-thumb-media.has-image{
    width:100%;
    height:300px;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    overflow:visible;
  }

  /* Horizontales */
  .series-proyecto-no8do .series-thumb:nth-child(2) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(3) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(5) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(6) .series-thumb-media.has-image img{
    width:100%;
    max-width:100%;
    height:auto;
    max-height:260px;
    margin:0;
    object-fit:contain;
    object-position:left bottom;
  }

  /* Verticales */
  .series-proyecto-no8do .series-thumb:nth-child(1) .series-thumb-media.has-image img,
  .series-proyecto-no8do .series-thumb:nth-child(4) .series-thumb-media.has-image img{
    width:auto;
    max-width:100%;
    height:auto;
    max-height:300px;
    margin:0;
    object-fit:contain;
    object-position:left bottom;
  }
}


/* V33 — formulario de contacto activo */
.form-honey{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* V35 — alineación vertical de los títulos de sección en escritorio
   El título de la sección queda a la misma altura que la primera
   sección de la barra lateral. */
@media(min-width:901px){
  .section-page{
    padding-top:36px;
  }
}


/* V36 — alineación común de los títulos principales en escritorio.
   La tela de Penélope, Tautótes, Ursprache, Bio y Contacto
   comparten exactamente el mismo desplazamiento vertical. */
@media(min-width:901px){
  .section-page,
  .bio-content,
  .contact-content{
    padding-top:32px;
  }
}


/* V37 — alineación real por línea de base.
   El ajuste final lo calcula app.js según la tipografía renderizada
   en cada navegador, en lugar de aproximarlo con un padding fijo. */
@media(min-width:901px){
  .section-page,
  .bio-content,
  .contact-content{
    padding-top:0;
  }
}
