/* Web Carlos Verdú Sancho · Latidos del Alma
   Restyles the content mock-up's class vocabulary with the design system tokens (ds/styles.css). */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--marfil);color:var(--carbon);font-family:var(--font-sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--bronce-tinta);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .18s}
a:hover{color:var(--carbon)}
:focus-visible{outline:1px solid var(--bronce-tinta);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:1440px;margin:0 auto;padding:0 clamp(24px,6vw,96px)}

/* Maqueta marks: never published */
.pendiente,.nota,.aviso,.idioma{display:none!important}

/* Type */
h1,h2,h3{text-wrap:balance}
h1{font-family:var(--font-serif);font-weight:300;font-size:clamp(44px,5.6vw,88px);line-height:1.02;letter-spacing:-.015em;margin:0 0 28px}
h2{font-family:var(--font-serif);font-weight:300;font-size:clamp(32px,3.6vw,52px);line-height:1.1;letter-spacing:-.01em;margin:0 0 24px}
h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(20px,1.6vw,24px);line-height:1.2;margin:0 0 8px}
p{margin:0 0 1em;max-width:68ch;text-wrap:pretty}
ul{padding-left:1.1em;max-width:68ch}li{margin-bottom:.5em}
.antetitulo{display:block;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--bronce-tinta);margin:0 0 20px}
.antetitulo::before{content:"";display:inline-block;vertical-align:middle;width:40px;height:1px;background:var(--bronce);margin:0 14px 2px 0}
.antetitulo a{color:inherit;text-decoration:none}.antetitulo a:hover{color:var(--carbon)}
.lead{font-size:clamp(20px,1.8vw,24px);line-height:1.45;color:var(--carbon);max-width:40ch}
.rotulo{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grafito);margin:40px 0 14px}
p.resumen{font-size:16px;color:var(--grafito)}
em{font-style:italic}
blockquote{margin:32px 0 12px;font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(24px,2.4vw,34px);line-height:1.3;max-width:30ch;text-wrap:balance}
blockquote+p{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}

/* Sections */
main section{padding:clamp(72px,9vw,136px) 0}
main section+section{border-top:1px solid var(--line-hair)}
main section.franja,main section.lema,main section.invitacion,main section.hero,main section.franja+section,main section.lema+section,main section.invitacion+section,main section.hero+section{border-top:0}

/* Grids */
.dos{display:grid;gap:clamp(40px,6vw,112px);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:860px){.dos{grid-template-columns:repeat(2,minmax(0,1fr))}.dos>:is(img,figure):first-child{position:sticky;top:112px}}
.grid{display:grid;gap:56px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));margin:48px 0 8px}
.grid.libros{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}
.grid.libros h3{font-size:19px}

/* Images */
img.portada{display:block;width:100%;height:auto;background:var(--piedra-2)}
.miniatura{aspect-ratio:4/3;object-fit:cover}
.grid .tarjeta img.portada:not(.libro):not(.miniatura){aspect-ratio:4/5;object-fit:cover}
img.portada.libro{aspect-ratio:3/4;object-fit:contain;object-position:center bottom;background:none}
figure{margin:0}
figcaption{font-size:14px!important;line-height:1.45;color:var(--grafito);margin-top:12px!important;max-width:60ch}
.img{background:var(--piedra-2);display:flex;align-items:flex-end;padding:14px;aspect-ratio:4/5;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}
.img.ancha{aspect-ratio:16/9}.img.retrato{aspect-ratio:3/4}
img.ampliable{cursor:zoom-in}

/* Cards */
.tarjeta{display:flex;flex-direction:column;color:var(--carbon)}
.tarjeta img.portada,.tarjeta .img{margin:0 0 18px;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.tarjeta img.libro{margin-bottom:18px}
a.tarjeta{overflow:visible}
a.tarjeta:hover{color:var(--carbon)}
a.tarjeta:hover img.portada:not(.libro){transform:scale(1.015)}
a.tarjeta h3{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;text-decoration-thickness:1px;transition:text-decoration-color .18s}
a.tarjeta:hover h3{text-decoration-color:var(--bronce)}
.tarjeta .antetitulo{margin-bottom:10px;font-size:11px}
.tarjeta .antetitulo::before{width:20px}
.tarjeta p{margin:4px 0;font-size:15px;line-height:1.5;color:var(--grafito)}
.tarjeta h3+p{margin-top:2px}

/* Labels */
.etiquetas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px!important}
.destacada,.publica,.expo,.etiqueta-expo{display:inline-flex;align-items:center;padding:4px 8px;font-size:10.5px!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;color:var(--carbon)!important;pointer-events:none}
.destacada{background:var(--carbon);color:var(--marfil)!important}
.expo{background:var(--bronce-tinta);color:var(--marfil)!important}
.publica{border:1px solid var(--carbon)}
.etiqueta-expo{border:1px solid var(--bronce);color:var(--bronce-tinta)!important;padding:2px 6px;margin-right:8px;vertical-align:2px}

/* Buttons */
.boton{display:inline-flex;align-items:center;gap:12px;margin:24px 12px 0 0;padding:15px 28px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;text-decoration:none;color:var(--carbon);background:transparent;border:1px solid var(--carbon);cursor:pointer;flex:none;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}
.boton:hover{background:var(--carbon);color:var(--marfil)}
.boton.lleno{background:var(--carbon);color:var(--marfil)}
.boton.lleno::after{content:"→";letter-spacing:0;font-size:16px;transition:transform .18s}
.boton.lleno:hover{background:var(--bronce-tinta);border-color:var(--bronce-tinta)}
.boton.lleno:hover::after{transform:translateX(4px)}
p>.boton{margin-top:0;margin-bottom:12px}

/* Data sheets */
dl.ficha{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 32px;margin:32px 0 8px;border-top:1px solid var(--carbon)}
dl.ficha dt,dl.ficha dd{padding:14px 0;border-bottom:1px solid var(--line-hair);margin:0}
dl.ficha dt{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito);padding-top:17px}
dl.ficha dd{font-size:16px;line-height:1.5}
dl.lugar{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0;font-size:15px}
dl.lugar dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito);padding-top:3px}
dl.lugar dd{margin:0}
table{width:100%;border-collapse:collapse;font-size:16px;margin:32px 0}
th,td{text-align:left;padding:16px 12px 16px 0;border-bottom:1px solid var(--line-hair);vertical-align:top}
th{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito);border-bottom:1px solid var(--carbon)}
td:first-child{font-variant-numeric:tabular-nums;color:var(--bronce-tinta);white-space:nowrap}
@media (max-width:720px){table,tbody,tr,td{display:block}thead{display:none}tr{border-bottom:1px solid var(--line-hair);padding:14px 0}td{border:0;padding:2px 0}}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:var(--marfil);border-bottom:1px solid var(--line-hair)}
header.site .wrap{display:flex;align-items:center;gap:28px;height:84px}
header.site .firma{display:flex;align-items:center;gap:18px;font-weight:600;font-size:13px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--carbon);white-space:nowrap;margin-right:auto}
header.site .firma img{height:30px;width:auto;display:block;filter:brightness(0) saturate(100%) invert(9%) sepia(8%) saturate(600%) hue-rotate(340deg)}
header.site .firma span{padding-left:18px;border-left:1px solid var(--line-hair)}
nav.menu{display:flex;align-items:center;gap:28px;font-size:15px}
nav.menu a{color:inherit;text-decoration:none;padding:8px 0}
nav.menu a:hover{color:var(--bronce-tinta)}
nav.menu a[aria-current="page"]{box-shadow:inset 0 -1px var(--bronce)}
.desplegable{position:relative}
.submenu{display:none;position:absolute;top:100%;left:-20px;z-index:10;min-width:220px;padding:10px 0;background:var(--blanco);border:1px solid var(--line-hair)}
.submenu a{display:block;padding:9px 20px!important;font-size:15px;color:var(--carbon)!important}
.submenu a:hover{color:var(--bronce-tinta)!important;background:var(--marfil)}
.desplegable:hover .submenu,.desplegable:focus-within .submenu{display:block}
.acciones{display:flex;align-items:center;gap:12px}
.boton-visita{margin:0!important;padding:11px 18px!important;font-size:12px!important}
.boton-visita::after{display:none}
.abrir-menu{display:none;background:none;border:0;font:inherit;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:inherit;padding:12px 0;cursor:pointer}
/* Home: header over the dark hero */
body[data-pagina="index.html"] header.site{position:absolute;left:0;right:0;background:transparent;border-bottom:0;color:var(--marfil)}
body[data-pagina="index.html"] header.site .firma{color:var(--marfil)}
body[data-pagina="index.html"] header.site .firma img{filter:none}
body[data-pagina="index.html"] header.site .firma span{border-left-color:var(--line-on-dark)}
body[data-pagina="index.html"] nav.menu a:hover{color:var(--bronce-claro)}
body[data-pagina="index.html"] .boton-visita{background:var(--marfil);color:var(--carbon);border-color:var(--marfil)}
body[data-pagina="index.html"] .boton-visita:hover{background:var(--bronce-claro);border-color:var(--bronce-claro)}
@media (max-width:1100px){
header.site .wrap{flex-wrap:wrap;height:auto;min-height:84px;padding-top:18px;padding-bottom:18px;gap:0}
.abrir-menu{display:block}
nav.menu{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:16px 0 8px;margin-top:16px;border-top:1px solid var(--line-hair)}
header.site.menu-abierto nav.menu{display:flex}
nav.menu>a,.desplegable>a{display:block;padding:12px 0;font-family:var(--font-serif);font-size:24px;font-weight:300}
.desplegable .submenu{display:block;position:static;min-width:0;padding:0 0 10px 16px;border:0;background:none}
.desplegable .submenu a{padding:6px 0!important;background:none!important;color:inherit!important;font-size:16px}
.acciones{order:4;width:100%;padding:12px 0 8px}
header.site:not(.menu-abierto) .acciones{display:none}
body[data-pagina="index.html"] header.site.menu-abierto{background:var(--carbon)}
body[data-pagina="index.html"] nav.menu{border-top-color:var(--line-on-dark)}
}

/* Home hero — modo escena + retrato */
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .6 0 0 0 0 .55 0 0 0 0 .5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px}
.hero .wrap,.hero .retrato{z-index:1}
.hero{position:relative;background:var(--carbon);background-image:radial-gradient(ellipse 48% 62% at 70% 42%,rgba(214,186,150,.20),rgba(214,186,150,.07) 45%,transparent 72%),radial-gradient(ellipse 90% 70% at 30% 80%,rgba(0,0,0,.35),transparent 70%);color:var(--marfil);min-height:clamp(560px,calc(100vh - 72px),880px);overflow:hidden;padding:0!important}
.hero .retrato{position:absolute;right:min(-40px,calc(50% - 720px));bottom:0;top:auto;transform:none;height:min(calc(100% - 128px),860px);max-width:none;object-fit:contain;object-position:right bottom;width:auto;display:block;filter:drop-shadow(-20px 30px 50px rgba(0,0,0,.55))}
@media (min-width:861px) and (max-width:1180px){.hero .retrato{height:calc(100% - 160px);right:-24px}}
.hero .wrap{position:relative;min-height:inherit;display:flex;flex-direction:column;justify-content:center;padding-top:112px;padding-bottom:64px;box-sizing:border-box}
.hero .txt{max-width:min(600px,calc(100% - 300px));display:flex;flex-direction:column;align-items:flex-start;margin-top:0}
.hero .antetitulo{color:var(--bronce-claro);margin:0 0 20px;font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.hero .antetitulo::before{display:none}
.hero .nombre{margin:0;font-family:var(--font-sans);font-weight:700;font-style:normal;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;font-size:clamp(56px,7.2vw,112px);color:var(--marfil)}
.hero .hero-lema{margin:28px 0 0;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(22px,2vw,32px);line-height:1.3;color:var(--marfil);max-width:22em}
.hero .hero-oficio{margin:14px 0 0;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(16px,1.3vw,20px);line-height:1.5;color:var(--ceniza)}
.hero .hero-expo{margin:24px 0 0;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(30px,3vw,46px);line-height:1.1;color:var(--marfil)}
.hero .antetitulo::before{background:var(--bronce-claro)}
.hero .firma-img{width:clamp(160px,14vw,220px);height:auto;display:block;margin-top:0}
.hero h1{margin:16px 0 0;font-style:italic;font-size:clamp(52px,6.4vw,104px);line-height:1}
.hero .regla{width:72px;height:1px;background:var(--bronce-claro);margin-top:clamp(48px,6vh,72px)}
.hero .dat{margin:14px 0 0;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ceniza);line-height:1.9}
.hero .dat strong{color:var(--marfil);font-weight:500}
.hero .botones{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px;margin-top:32px}
.hero .hero-enlace{display:inline-flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--marfil);font-family:var(--font-sans);font-size:17px;font-weight:500;color:var(--marfil);text-decoration:none;transition:color .18s,border-color .18s}
.hero .hero-enlace span{transition:transform .18s}
.hero .hero-enlace:hover{color:var(--bronce-claro);border-color:var(--bronce-claro)}
.hero .hero-enlace:hover span{transform:translateX(4px)}
.hero .boton{margin:0;border-color:var(--marfil);color:var(--marfil)}
.hero .boton:hover{background:var(--marfil);color:var(--carbon)}
.hero .boton.lleno{background:var(--marfil);color:var(--carbon)}
.hero .boton.lleno:hover{background:var(--bronce-claro);border-color:var(--bronce-claro)}
@media (prefers-reduced-motion:no-preference){
.hero .retrato{animation:cv-ent .9s cubic-bezier(.22,.61,.36,1) both .1s}
.hero .txt>*{animation:cv-sube .7s cubic-bezier(.22,.61,.36,1) both}
.hero .txt>:nth-child(2){animation-delay:.15s}.hero .txt>:nth-child(3){animation-delay:.3s}.hero .txt>:nth-child(4){animation-delay:.4s}.hero .txt>:nth-child(5){animation-delay:.5s}.hero .txt>:nth-child(6){animation-delay:.6s}.hero .txt>:nth-child(7){animation-delay:.7s}.hero .txt>:nth-child(8){animation-delay:.8s}
}
@keyframes cv-ent{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes cv-sube{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Minibanner del artista: hero compacto, retrato recortado apoyado en la base */
.hero-autor{height:clamp(420px,56vh,560px)}
.hero-autor h1{font-size:clamp(40px,4.6vw,72px)}
.hero-autor .retrato{right:clamp(24px,8vw,160px);top:auto;bottom:0;transform:none;height:min(calc(100% - 48px),calc(100vw - 680px),520px);filter:drop-shadow(-20px 20px 40px rgba(0,0,0,.5))}
.hero-autor .retrato{animation-name:cv-ent-b}
@keyframes cv-ent-b{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (max-width:1180px){
.hero-autor{height:auto}
.hero-autor .retrato{position:relative;height:auto;width:min(70%,380px);margin:24px 0 0 auto;right:auto;top:auto;transform:none;animation:none}
}
@media (max-width:860px){
.hero{height:auto}
.hero .retrato{max-width:none}
.hero .wrap{padding-top:140px;justify-content:flex-start}
.hero .retrato{position:relative;height:auto;width:min(80%,460px);margin:32px 0 0 auto;right:auto;top:auto;transform:none;animation:none}
}

/* Home: key facts strip */
.franja{background:var(--blanco);padding:44px 0!important;border-bottom:1px solid var(--line-hair)}
.franja .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.franja .datos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px;margin:0}
.franja .datos>div{border-top:1px solid var(--carbon);padding-top:14px}
.franja dt{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}
.franja dd{margin:6px 0 0;font-size:16px;line-height:1.45}
.franja .boton{margin:0}
@media (max-width:1000px){.franja .wrap{grid-template-columns:1fr}.franja .datos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Large quote — dark */
.lema{background:var(--carbon);color:var(--marfil);text-align:center}
.lema .antetitulo{color:var(--bronce-claro)}
.lema .antetitulo::before{background:var(--bronce-claro)}
.lema blockquote{margin:0 auto 28px;max-width:26ch;font-size:clamp(28px,3.4vw,48px);line-height:1.25}
.lema p{margin-left:auto;margin-right:auto;color:var(--ceniza)}
.lema .boton{border-color:var(--marfil);color:var(--marfil)}
.lema .boton:hover{background:var(--marfil);color:var(--carbon)}
.lema.lema-claro{background:var(--piedra);color:var(--carbon)}
.lema.lema-claro .antetitulo{color:var(--bronce-tinta)}
.lema.lema-claro .antetitulo::before{background:var(--bronce)}
.lema.lema-claro p{color:var(--grafito)}
.lema.lema-claro .boton{border-color:var(--carbon);color:var(--carbon)}
.lema.lema-claro .boton:hover{background:var(--carbon);color:var(--marfil)}

/* Invitation band */
.invitacion{background:var(--piedra)}
.invitacion .dos{align-items:center}
.invitacion .dos>div:last-child{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.invitacion .dos>div:last-child .boton{margin-top:0}
@media (max-width:860px){.invitacion .dos>div:last-child{align-items:flex-start;text-align:left}}

/* Exhibition notice + label legend (Escultura) */
.aviso-expo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin:48px 0 8px;padding:28px 32px;background:var(--carbon);color:var(--marfil)}
.aviso-expo p{margin:0;color:var(--ceniza);max-width:60ch}
.aviso-expo strong{color:var(--marfil);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:20px}
.aviso-expo .boton{margin:0;background:var(--marfil);color:var(--carbon);border-color:var(--marfil)}
.aviso-expo .boton:hover{background:var(--bronce-claro);border-color:var(--bronce-claro)}
.leyenda{margin-top:40px;padding:28px 32px;background:var(--blanco)}
.leyenda .rotulo{margin-top:0}
.leyenda dl{display:grid;grid-template-columns:max-content 1fr;gap:14px 24px;align-items:center;margin:0}
.leyenda dt{margin:0}.leyenda dd{margin:0;font-size:15px;color:var(--grafito)}
@media (max-width:720px){.leyenda dl{grid-template-columns:1fr}}

/* Guestbook form */
.formulario{display:grid;gap:22px;max-width:560px;margin-top:24px}
.formulario label{display:grid;gap:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}
.formulario label.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--carbon)}
.formulario input[type=text],.formulario input[type=email],.formulario select,.formulario textarea{font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:var(--carbon);padding:12px 14px;border:1px solid var(--line-hair);border-bottom-color:var(--carbon);background:var(--blanco);border-radius:0}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:1px solid var(--bronce-tinta);outline-offset:0}
.formulario textarea{min-height:140px;resize:vertical}
.formulario button{justify-self:start;margin-top:4px}
.mensaje{padding:24px 0;border-top:1px solid var(--line-hair);margin:0;font-family:var(--font-serif);font-size:20px;line-height:1.45}
.firma-mensaje{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito);margin-top:10px}

/* Maps */
.mapa{width:100%;aspect-ratio:4/3;border:1px solid var(--line-hair);z-index:0;background:var(--piedra-2)}
.mapa.ancha{aspect-ratio:16/9}
@media (max-width:720px){.mapa.ancha{aspect-ratio:4/5}}
.zonas-mapa{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 16px}
.zonas-mapa .boton{margin:0;padding:10px 18px;font-size:12px}
.leaflet-container{font-family:var(--font-sans)!important}
.leaflet-popup-content-wrapper{border-radius:0!important;box-shadow:none!important;border:1px solid var(--line-hair);background:var(--blanco)!important;max-height:380px;overflow-y:auto}
.leaflet-popup-tip{box-shadow:none!important;background:var(--blanco)!important}
.leaflet-popup-content{margin:16px 18px!important}
.ventana-mapa{font:14px/1.45 var(--font-sans)}
.ventana-mapa .obra-mapa{display:block;color:var(--carbon)!important;text-decoration:none;margin-top:6px}
.ventana-mapa .obra-mapa img{display:block;width:100%;height:110px;object-fit:cover;margin-bottom:8px}
.ventana-mapa .obra-mapa strong{font-family:var(--font-serif);font-weight:400;font-size:17px}
.ventana-mapa p{margin:4px 0 8px}
.ventana-mapa .lugar-mapa{color:var(--grafito);font-size:12px;letter-spacing:.06em;border-top:1px solid var(--line-hair);padding-top:8px}
.nombre-mapa{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--carbon)!important;color:var(--marfil)!important}
.nombre-mapa::before{display:none}

/* Footer */
footer.site{background:var(--carbon);color:var(--ceniza);padding:clamp(72px,8vw,112px) 0 40px;font-size:15px;line-height:1.6}
footer.site .wrap{display:grid;gap:40px 32px;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}
footer.site strong{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--marfil)}
footer.site a{color:var(--ceniza);text-decoration:none}footer.site a:hover{color:var(--bronce-claro)}
footer.site .pie-firma img{width:150px;height:auto;display:block;margin-bottom:20px}
footer.site .pie-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line-on-dark);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
@media (max-width:900px){footer.site .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}footer.site .pie-firma{grid-column:1/-1}}

/* Lightbox */
.visor{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--overlay);overflow:hidden;touch-action:none}
.visor[hidden]{display:none}
.visor img{max-width:90vw;max-height:82vh;box-shadow:0 24px 80px rgba(0,0,0,.35);transition:transform .15s ease-out;user-select:none;-webkit-user-drag:none}
.visor-controles{position:absolute;top:20px;right:20px;display:flex;gap:8px}
.visor-controles button{width:48px;height:48px;font-size:20px;background:transparent;color:var(--marfil);border:1px solid var(--line-on-dark);cursor:pointer;transition:background .18s,color .18s}
.visor-controles button:hover{background:var(--marfil);color:var(--carbon)}
.visor-pie{position:absolute;bottom:20px;left:24px;right:24px;margin:0 auto;color:var(--ceniza);font-size:14px;text-align:center;max-width:70ch}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* Home · apertura de la exposición */
#exposicion{background:var(--marfil);padding:0}
.expo-banner{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.expo-banner{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.expo-banner-obra{order:-1}}
.expo-banner-texto{padding:clamp(40px,5vw,72px) clamp(24px,6vw,96px) clamp(48px,6vw,88px);display:flex;flex-direction:column}
@media (min-width:1440px){.expo-banner-texto{padding-right:calc((100vw - 1440px)/2 + 96px)}}
.expo-banner-obra{background:var(--piedra);position:relative;overflow:hidden;min-height:70vw}
@media (min-width:860px){.expo-banner-obra{min-height:0}}
.expo-banner-obra img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:88%;width:auto;max-width:none;display:block}
.expo-cab{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:clamp(48px,8vw,128px)}
.expo-cab .antetitulo{margin:0}
.expo-autor{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--carbon);white-space:nowrap}
.expo-marca{margin-top:auto}
.expo-marca .trazo{width:64px;height:1px;background:var(--bronce);margin:0 0 28px}
.expo-titulo{margin:0;font-family:var(--font-serif);font-weight:300;font-size:clamp(64px,8vw,128px);line-height:.92;letter-spacing:-.01em;color:var(--carbon)}
.expo-titulo span,.expo-titulo em{display:block}
.expo-titulo em{font-style:italic;padding-left:.42em}
.expo-lectura{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,96px);padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px);align-items:start}
@media (min-width:860px){.expo-lectura{grid-template-columns:repeat(2,minmax(0,1fr))}}
.expo-lectura h2{margin-bottom:32px}
.expo-lectura p{font-size:17px;line-height:1.65;max-width:none}
.expo-lectura blockquote{color:var(--bronce-tinta);margin-top:36px}
/* Franja oscura: foto + inauguración */
.franja-oscura{background:var(--carbon);color:var(--marfil);padding:clamp(56px,7vw,104px) 0!important;border-bottom:0}
.franja-oscura .wrap{grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center}
@media (min-width:860px){.franja-oscura .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.expo-foto{margin:0}
.expo-foto img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.expo-foto figcaption{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--ceniza)}
.franja-oscura .antetitulo{color:var(--bronce-claro);margin:0 0 24px}
.franja-oscura .antetitulo::before{background:var(--bronce-claro)}
.franja-titulo{margin:0 0 20px;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(34px,3.8vw,60px);line-height:1.08;color:var(--marfil);text-wrap:balance}
.franja-lead{margin:0 0 36px;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--marfil);max-width:40em}
.franja-oscura .datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(24px,3vw,48px);padding-top:36px;border-top:1px solid rgba(244,240,232,.18)}
.franja-oscura .datos>div{display:flex;gap:16px;align-items:flex-start;border:0;padding:0}
.franja-oscura .datos>div+div{border-left:1px solid rgba(244,240,232,.18);padding-left:clamp(24px,3vw,48px)}
.franja-oscura .datos>div>div{margin:0}
.franja-oscura dt{color:var(--bronce-claro);font-size:11px;letter-spacing:.2em}
.franja-oscura dd{margin:6px 0 0;color:var(--marfil)}
.franja-oscura dd strong{display:block;font-family:var(--font-serif);font-weight:300;font-size:clamp(24px,2.2vw,34px);line-height:1.1}
.franja-oscura dd span{display:block;margin-top:6px;font-size:15px;color:var(--ceniza)}
.franja-oscura .ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;color:var(--bronce-claro)}
.franja-oscura .datos .ico{width:24px;height:24px;margin-top:2px}
.franja-oscura .boton.lleno.franja-cta{display:flex;justify-content:center;width:100%;margin:40px 0 0;background:var(--marfil);color:var(--carbon);border-color:var(--marfil);padding:19px 28px;font-size:14px;min-height:0}
.franja-oscura .boton.lleno.franja-cta:hover{background:var(--bronce-claro);border-color:var(--bronce-claro);color:var(--carbon)}
.franja-pie{display:flex;flex-wrap:wrap;gap:16px clamp(24px,3vw,40px);align-items:center;margin-top:28px;font-size:15px;color:var(--marfil)}
.franja-pie>*{display:inline-flex;align-items:center;gap:10px}
.franja-pie>a+*,.franja-pie>span+a{border-left:1px solid rgba(244,240,232,.18);padding-left:clamp(24px,3vw,40px)}
.franja-llegar{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--marfil);text-decoration:none;border-bottom:1px solid var(--bronce-claro);padding-bottom:3px;transition:color .18s}
.franja-llegar:hover{color:var(--bronce-claro)}
@media (max-width:1000px){.franja-pie>span+a{border-left:0;padding-left:0}}
@media (max-width:600px){.franja-oscura .datos{grid-template-columns:1fr}.franja-oscura .datos>div+div{border-left:0;padding-left:0}}
.expo-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:24px clamp(24px,3vw,48px);margin:clamp(40px,5vw,64px) 0 0;padding-top:24px;border-top:1px solid var(--line-hair)}
.expo-datos div{margin:0}
.expo-datos dt{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--bronce-tinta);margin:0 0 8px}
.expo-datos .ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.expo-datos dd{margin:0;font-size:15px;line-height:1.5;color:var(--carbon)}

/* Enlace a la sede (Google Maps) */
a.lugar{color:inherit;text-decoration:none;border-bottom:1px solid rgba(139,112,83,.5);transition:color .18s,border-color .18s}
a.lugar:hover{color:var(--bronce-tinta);border-color:var(--bronce-tinta)}
.hero a.lugar,footer.site a.lugar{border-color:rgba(244,240,232,.3)}
.hero a.lugar:hover,footer.site a.lugar:hover{color:var(--bronce-claro);border-color:var(--bronce-claro)}

/* Caminos de su obra (una línea en «El artista») */
.caminos{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 0;margin:32px 0;padding:16px 0;border-top:1px solid rgba(29,26,24,.16);border-bottom:1px solid rgba(29,26,24,.16);font-size:16px}
.caminos span{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#6E583F;margin-right:16px}
.caminos a{color:inherit;text-decoration:none;transition:color 180ms}
.caminos a+a::before{content:"·";margin:0 10px;color:#A39A90}
.caminos a:hover{color:#6E583F}

/* Tarjetas que alternan fotos de su historia */
.alterna{position:relative;display:block;overflow:hidden;margin:0 0 18px}
.alterna img.portada{display:block;width:100%;margin:0}
.alterna img.extra{position:absolute;inset:0;height:100%;opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1)}
.alterna img.extra.activa{opacity:1}
@media (prefers-reduced-motion:reduce){.alterna img.extra{transition:none}}

/* Su obra en la ciudad: índice numerado + visor (piedra) */
.ciudad{background:var(--piedra)}
.ciudad-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (min-width:960px){.ciudad-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.ciudad-lista{list-style:none;margin:40px 0 40px;padding:0;border-top:1px solid var(--carbon)}
.ciudad-lista li{margin:0;border-bottom:1px solid rgba(29,26,24,.16)}
.ciudad-lista a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;color:var(--carbon);text-decoration:none}
.ciudad-n{font-size:13px;font-variant-numeric:tabular-nums;color:var(--bronce-tinta);letter-spacing:.06em}
.ciudad-mini{display:none}
.ciudad-txt{display:flex;flex-direction:column;gap:2px}
.ciudad-txt strong{font-family:var(--font-serif);font-weight:400;font-size:22px;line-height:1.25}
.ciudad-txt span{font-size:14px;color:var(--grafito)}
.ciudad-lista .flecha{opacity:0;transition:opacity .18s,transform .18s;color:var(--bronce-tinta)}
.ciudad-lista a:hover .flecha,.ciudad-lista a.activa .flecha{opacity:1;transform:translateX(4px)}
.ciudad-lista a.activa strong,.ciudad-lista a:hover strong{color:var(--bronce-tinta)}
.ciudad-visor{position:sticky;top:112px;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--piedra-2,#E8E1D6)}
.ciudad-visor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ciudad-visor img.sig{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1)}
.ciudad-visor img.sig.on{opacity:1}
.ciudad-visor figcaption{position:absolute;left:0;bottom:0;background:var(--carbon);color:var(--marfil);font-size:13px;padding:10px 14px}
@media (max-width:959px){.ciudad-visor{display:none}.ciudad-mini{display:block;width:72px;height:72px;object-fit:cover}.ciudad-lista a{grid-template-columns:28px 72px minmax(0,1fr) auto}.ciudad-lista .flecha{opacity:1}}
@media (prefers-reduced-motion:reduce){.ciudad-visor img.sig{transition:none}}

/* Inauguración como entrada: cuerpo + talón */
.franja-oscura .wrap{display:block}
.ticket{display:grid;grid-template-columns:minmax(0,1fr);max-width:1120px;margin:0 auto;border:1px solid rgba(244,240,232,.18)}
@media (min-width:860px){.ticket{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.ticket-main{padding:clamp(32px,4vw,56px)}
.ticket-main .franja-lead{margin-bottom:32px}
.ticket-main .datos{padding-top:28px}
.ticket-talon{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4vw,56px);border-top:1px solid rgba(244,240,232,.18)}
@media (min-width:860px){.ticket-talon{border-top:0;border-left:1px solid rgba(244,240,232,.18)}}
.ticket-talon p{margin:0}
.ticket-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronce-claro)}
.ticket-precio{margin-top:10px!important;font-family:var(--font-serif);font-weight:300;font-size:clamp(28px,2.6vw,40px);line-height:1.1;color:var(--marfil)}
.ticket-nota{margin-top:8px!important;font-size:15px;color:var(--ceniza)}
.ticket-talon .boton.lleno.franja-cta{margin-top:32px}
.ticket-talon .franja-llegar{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:24px}
/* Lema con foto */
.lema-foto .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center;text-align:left}
@media (min-width:860px){.lema-foto .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.lema-foto blockquote{margin:0;max-width:22ch}
.lema-foto .expo-foto figcaption{color:var(--grafito)}

/* Entrada: más compacta y protagonista */
.franja-oscura{padding:clamp(48px,6vw,88px) 0!important}
.ticket{max-width:840px;border-color:var(--bronce-claro)}
.ticket-main,.ticket-talon{padding:clamp(24px,3vw,40px)}
.ticket-talon{border-color:rgba(179,154,124,.45)!important}
.ticket .antetitulo{margin-bottom:16px;font-size:11px}
.ticket .antetitulo::before{width:24px}
.ticket .franja-titulo{font-size:clamp(26px,2.6vw,38px);margin-bottom:14px}
.ticket .franja-lead{font-size:15px;margin-bottom:24px}
.ticket .datos{padding-top:20px;gap:16px 24px}
.ticket .datos>div+div{padding-left:24px}
.ticket .datos .ico{width:20px;height:20px}
.ticket dd strong{font-size:clamp(20px,1.7vw,24px)}
.ticket dd span{font-size:13px;margin-top:4px}
.ticket-precio{font-size:clamp(22px,2vw,28px)}
.ticket-nota{font-size:13px}
.ticket-talon .boton.lleno.franja-cta{margin-top:24px;padding:14px 20px;font-size:12px}
.ticket-talon .franja-llegar{margin-top:18px;font-size:11px}

/* Entrada: menos protagonista, título «Inauguración» */
.ticket{max-width:780px;border-color:rgba(244,240,232,.18)}
.ticket-talon{border-color:rgba(244,240,232,.18)!important}
.ticket-titulo{margin:0 0 8px;font-family:var(--font-serif);font-weight:300;font-size:clamp(34px,3.4vw,52px);line-height:1;color:var(--marfil)}
.ticket-frase{margin:0 0 14px;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(17px,1.4vw,20px);line-height:1.3;color:var(--bronce-claro)}
.ticket .franja-lead{font-size:14px;color:var(--ceniza)}

/* Ciudad: jerarquía de la fila seleccionada */
.ciudad-lista a{position:relative;padding:14px 16px 14px 0;transition:background .18s,padding .18s}
.ciudad-lista a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--bronce);opacity:0;transition:opacity .18s}
.ciudad-lista .ciudad-txt strong{font-size:19px;color:var(--grafito);transition:color .18s,font-size .18s}
.ciudad-lista .ciudad-txt span{max-height:0;overflow:hidden;opacity:0;transition:max-height .32s cubic-bezier(.22,.61,.36,1),opacity .32s}
.ciudad-lista a.activa{background:rgba(250,249,246,.45);padding:20px 16px 20px 18px}
.ciudad-lista a.activa::before{opacity:1}
.ciudad-lista a.activa strong{font-size:23px;color:var(--carbon)!important}
.ciudad-lista a.activa .ciudad-txt span{max-height:3em;opacity:1;margin-top:4px}
.ciudad-lista a:hover:not(.activa) strong{color:var(--carbon)}
@media (max-width:959px){.ciudad-lista .ciudad-txt span{max-height:none;opacity:1}.ciudad-lista a.activa{padding:14px 12px 14px 14px}}

.lema-firma{display:block;width:clamp(140px,12vw,190px);height:auto;margin:8px auto 0;filter:brightness(0) saturate(100%) invert(9%) sepia(8%) saturate(600%) hue-rotate(340deg)}

/* Cabecera: solo la firma */
header.site .firma img{height:38px}
header.site .firma span{display:none}

/* Home: cabecera fija al hacer scroll */
body[data-pagina="index.html"] header.site{position:fixed;transition:background .32s cubic-bezier(.22,.61,.36,1),border-color .32s}
body[data-pagina="index.html"] header.site.fija{background:var(--carbon);border-bottom:1px solid var(--line-on-dark)}

/* Ciudad v3: fila activa sin caja, alineación fija, pie de foto fuera de la imagen */
.ciudad-lista a,.ciudad-lista a.activa{padding:16px 0 16px 0;background:none}
.ciudad-lista a{grid-template-columns:48px minmax(0,1fr) auto}
.ciudad-lista a::before{left:-20px;top:16px;bottom:16px}
.ciudad-lista a.activa strong{font-size:22px}
.ciudad-lista .ciudad-txt strong{font-size:20px}
.ciudad-lista a.activa .ciudad-n{color:var(--carbon)}
.ciudad-visor{overflow:visible;aspect-ratio:auto;background:none}
.ciudad-visor .marco{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--piedra-2,#E8E1D6)}
.ciudad-visor figcaption{position:static;background:none;color:var(--grafito);padding:12px 0 0;font-size:13px;display:flex;justify-content:space-between;gap:16px}
.ciudad-visor figcaption b{font-weight:400;color:var(--carbon)}
.ciudad-visor figcaption span{font-variant-numeric:tabular-nums;color:var(--bronce-tinta)}
@media (max-width:959px){.ciudad-lista a::before{left:-12px}}
@media (max-width:959px){.ciudad-lista a,.ciudad-lista a.activa{grid-template-columns:28px 72px minmax(0,1fr) auto}}

/* Visor: las fotos recortadas (fondo blanco) flotan sobre la piedra, sin caja ni recorte */
.ciudad-visor .marco{transition:background .32s}
.ciudad-visor.recorte .marco{background:transparent}
.ciudad-visor.recorte img{object-fit:contain;mix-blend-mode:multiply;padding:4% 0}

/* Minibanner del artista v2: misma voz que la portada (nombre en sans), retrato apoyado en la base */
.hero.hero-autor{min-height:0;height:auto}
.hero-autor .wrap{min-height:clamp(440px,60vh,600px);padding-top:clamp(120px,12vw,160px);padding-bottom:clamp(48px,6vw,80px);justify-content:center}
.hero-autor .txt{max-width:min(560px,55%)}
.hero-autor .nombre{font-size:clamp(48px,5.6vw,88px)}
.hero-autor .hero-oficio{margin-top:20px}
.hero-autor .regla{margin-top:32px}
.hero-autor .retrato{position:absolute;right:clamp(24px,8vw,160px);bottom:0;top:auto;margin:0;width:auto;height:min(calc(100% - 96px),520px);animation:cv-ent-b .9s cubic-bezier(.22,.61,.36,1) both .1s}
@media (max-width:860px){
.hero-autor .wrap{min-height:0;padding-bottom:24px}
.hero-autor .txt{max-width:100%}
.hero-autor .retrato{position:relative;right:auto;display:block;height:auto;width:min(72%,340px);margin:0 0 0 auto;animation:none}
}

/* Sección de lectura sobre carbón */
.seccion-oscura{background:var(--carbon);color:var(--marfil)}
.seccion-oscura h2,.seccion-oscura h3{color:var(--marfil)}
.seccion-oscura p,.seccion-oscura li{color:rgba(244,240,232,.86)}
.seccion-oscura a{color:var(--bronce-claro);text-decoration-color:rgba(179,154,124,.5)}
.seccion-oscura a:hover{color:var(--marfil)}
.seccion-oscura li::marker{color:var(--bronce-claro)}
.seccion-oscura em{color:var(--marfil)}

/* Minibanner v3: retrato con el corte pegado al borde, oficio más grande, firma */
.hero-autor .retrato{right:0}
.hero-autor .hero-oficio{font-size:clamp(22px,2vw,30px);color:var(--marfil);margin-top:24px}
.hero-autor .firma-img{width:clamp(150px,12vw,200px);margin-top:28px;opacity:.92}
@media (max-width:860px){.hero-autor .retrato{margin-right:calc(-1 * clamp(24px,6vw,96px))}}

/* Minibanner v4: retrato más grande y nombre monumental para equilibrar */
@media (min-width:861px){
.hero-autor .wrap{min-height:clamp(560px,78vh,760px)}
.hero-autor .retrato{height:calc(100% - 56px);max-height:720px}
.hero-autor .nombre{font-size:clamp(64px,7.4vw,124px)}
.hero-autor .txt{max-width:min(640px,52%)}
}

/* Modo escena (umbral de colección) */
.escena{background:var(--carbon);color:var(--marfil);text-align:center;padding:clamp(88px,11vw,160px) 0 clamp(48px,6vw,80px)!important}
.escena .wrap{display:flex;flex-direction:column;align-items:center}
.escena-firma{width:clamp(180px,22vw,300px);height:auto;display:block}
.escena-tit{margin:clamp(16px,2vw,28px) 0 0;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(36px,4.4vw,64px);line-height:1;color:var(--marfil)}
.escena-ln{display:block;width:clamp(96px,10vw,140px);height:1px;background:var(--bronce-claro);margin-top:clamp(24px,3vw,36px)}
.escena-dat{margin:18px 0 0;font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ceniza);font-variant-numeric:tabular-nums;text-wrap:balance}
.escena-entrar{margin-top:clamp(48px,6vw,80px);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ceniza);text-decoration:none;transition:color .18s}
.escena-entrar:hover{color:var(--bronce-claro)}

/* Logos de órdenes e instituciones */
.inst-logo{height:96px;display:flex;align-items:flex-end;margin-bottom:20px}
.inst-logo img{height:100%;width:auto;max-width:140px;object-fit:contain;display:block}
.inst-logo.foto img{width:144px;max-width:none;object-fit:cover}
/* Tauromaquia: texto, obras y luego las miradas */
.taur-intro{max-width:66ch}
.taur-miradas{margin-top:clamp(48px,6vw,88px);padding-top:40px;border-top:1px solid var(--line-hair)}
.taur-miradas blockquote{font-size:clamp(20px,1.7vw,26px);line-height:1.45}

/* Órdenes: retrato con la capa */
.inst-cab{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:end}
@media (min-width:860px){.inst-cab{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}}
.inst-retrato{margin:0}
.inst-retrato img{display:block;width:100%;max-width:420px;height:auto;mix-blend-mode:multiply}
.inst-retrato figcaption{margin-top:12px;font-size:13px;color:var(--grafito);max-width:420px}
.inst-cab .lead{margin-bottom:0}

/* Órdenes v2: retrato en panel piedra apoyado en la base + instituciones en la columna de texto */
.inst-cab{align-items:stretch}
@media (min-width:960px){.inst-cab{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.inst-retrato{background:var(--piedra);display:flex;align-items:flex-end;justify-content:center;padding:clamp(40px,5vw,72px) clamp(16px,3vw,40px) 0;min-height:420px;position:relative}
.inst-retrato img{max-width:440px;width:100%;mix-blend-mode:multiply}
@media (min-width:960px){.inst-retrato{position:sticky;top:112px;align-self:start;height:calc(100vh - 160px);max-height:760px}.inst-retrato img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom}}
.inst-cab .lead{font-size:clamp(17px,1.35vw,20px);line-height:1.6;max-width:56ch;margin-bottom:clamp(32px,4vw,48px)}
.inst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:40px 40px;border-top:1px solid var(--carbon);padding-top:32px;margin-bottom:40px}
.inst-grid .tarjeta{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:20px;align-content:start}
.inst-grid .tarjeta>*{grid-column:2}
.inst-grid .inst-logo{grid-column:1;grid-row:1/span 3;height:64px;width:64px;margin:0;align-items:flex-start;justify-content:center}
.inst-grid .inst-logo img{max-width:64px;height:64px;mix-blend-mode:multiply}
.inst-grid .antetitulo{margin-bottom:6px}
.inst-grid h3{font-size:20px;line-height:1.25;margin:0 0 8px}

/* Órdenes v3: el panel se ajusta al retrato (sin aire sobrante arriba) */
@media (min-width:960px){.inst-retrato{height:auto;max-height:none;min-height:0;padding:clamp(24px,3vw,40px) clamp(16px,2.4vw,32px) 0}.inst-retrato img{width:100%;height:auto;max-width:460px}}
.inst-grid .tarjeta:not(:has(.inst-logo img)){grid-template-columns:minmax(0,1fr)}
.inst-grid .tarjeta:not(:has(.inst-logo img))>*{grid-column:1}
.inst-grid .inst-logo:not(:has(img)){display:none}

/* Visor v2: fundido cruzado limpio, recorte por imagen (sin doble exposición) */
.ciudad-visor.recorte .marco{background:var(--piedra-2,#E8E1D6)}
.ciudad-visor.recorte img{object-fit:cover;mix-blend-mode:normal;padding:0}
.ciudad-visor .marco{background:var(--piedra)}
.ciudad-visor .marco img{transition:opacity .7s cubic-bezier(.22,.61,.36,1);background:var(--piedra)}
.ciudad-visor .marco img.rec{object-fit:contain;padding:4% 0;background:#fff}
.ciudad-visor .marco img.fuera{opacity:0}
.ciudad-visor .marco img.sig{opacity:0}
.ciudad-visor .marco img.sig.on{opacity:1}
.ciudad-visor .marco img.rec{background:transparent;mix-blend-mode:multiply}
.ciudad-visor .marco img:not(.rec){background:var(--piedra)}

/* Carrusel de destacados (prensa) */
.carr-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,4vw,48px)}
.carr-cab h2{margin:0}
.carr-nav{display:flex;gap:8px}
.carr-nav button{width:48px;height:48px;border:1px solid var(--carbon);background:transparent;color:var(--carbon);font:inherit;font-size:18px;cursor:pointer;border-radius:0;transition:background .18s,color .18s}
.carr-nav button:hover{background:var(--carbon);color:var(--marfil)}
.carr-nav button:focus-visible{outline:1px solid var(--bronce-tinta);outline-offset:3px}
.grid.carrusel{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:calc((100% - 2*clamp(16px,2vw,32px))/3);gap:clamp(16px,2vw,32px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
.grid.carrusel::-webkit-scrollbar{display:none}
.grid.carrusel>*{scroll-snap-align:start;min-width:0}
@media (max-width:900px){.grid.carrusel{grid-auto-columns:calc((100% - clamp(16px,2vw,32px))/2)}}
@media (max-width:560px){.grid.carrusel{grid-auto-columns:85%}}
@media (prefers-reduced-motion:reduce){.grid.carrusel{scroll-behavior:auto}}

/* Sala de prensa */
.sala-prensa{background:var(--piedra)}
.sp-cab{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 64px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
@media (min-width:900px){.sp-cab{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.sp-cab h2{margin:0}
.sp-cab .lead{margin:0;max-width:56ch}
.recursos{list-style:none;margin:0;padding:0;border-top:1px solid var(--carbon)}
.rec-fila{display:grid;grid-template-columns:40px 32px minmax(0,1fr) auto;gap:0 clamp(16px,2vw,28px);align-items:center;padding:clamp(22px,2.6vw,32px) 0;border-bottom:1px solid var(--line-hair,rgba(29,26,24,.16))}
.rec-n{font-size:14px;font-weight:500;color:var(--bronce-tinta);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.rec-ic{color:var(--bronce-tinta);display:block}
.rec-txt h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(22px,1.8vw,28px);line-height:1.2;margin:0 0 6px}
.rec-txt p{margin:0;font-size:16px;line-height:1.5;color:var(--grafito);max-width:60ch}
.rec-txt .rec-meta{margin-top:6px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito)}
.rec-acc{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--carbon);text-decoration:none;transition:color .18s}
a.rec-acc:hover{color:var(--bronce-tinta)}
.rec-acc.pendiente-tag{color:var(--grafito);border:1px dashed var(--grafito);padding:6px 10px}
.sp-pie{margin:24px 0 0;font-size:15px;color:var(--grafito)}
@media (max-width:640px){.rec-fila{grid-template-columns:32px minmax(0,1fr);row-gap:12px}.rec-ic{display:none}.rec-acc{grid-column:2;justify-self:start}}

/* Red de seguridad móvil */
html,body{overflow-x:clip}
img,video,iframe,svg{max-width:100%}
img{height:auto}
h1,h2,h3,p,li,dd,td,a{overflow-wrap:break-word}
@media (max-width:560px){
h1{font-size:clamp(36px,10vw,48px);line-height:1.05}
h2{font-size:clamp(28px,8vw,36px)}
.boton{min-height:48px}
.menu a{min-height:44px;display:flex;align-items:center}
.carr-nav button{width:44px;height:44px}
.escena-dat{letter-spacing:.18em}
}

/* Ajustes tras la prueba a 390 px */
.formulario{grid-template-columns:minmax(0,1fr)}
.formulario input,.formulario select,.formulario textarea{width:100%;min-width:0;max-width:100%}
.destacada,.publica,.expo,.etiqueta-expo{font-size:11px!important}
small{font-size:12px}
@media (max-width:560px){
.boton{white-space:normal;max-width:100%;text-align:left;line-height:1.35;padding:14px 20px;margin-right:0}
.aviso-expo{padding:24px 20px}
.aviso-expo .boton{width:100%;justify-content:space-between}
.escena-entrar,.franja-llegar{display:inline-flex;align-items:center;min-height:44px}
.ciudad-lista a{min-height:48px}
}
@media (max-width:560px){.leaflet-touch .leaflet-bar a{width:40px!important;height:40px!important;line-height:40px!important}.tarjeta h3 a{display:inline-block;padding:6px 0}}

/* Piezas de difusión */
.difu{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);align-items:end;margin-top:32px}
.difu-pieza{margin:0;display:flex;flex-direction:column;gap:14px}
.difu-pieza:nth-child(1){grid-column:span 2}
.difu-pieza:nth-child(2){grid-column:span 4}
.difu-pieza:nth-child(3),.difu-pieza:nth-child(4),.difu-pieza:nth-child(5){grid-column:span 2}
.difu-img{display:block;background:var(--marfil);overflow:hidden}
.difu-img img{display:block;width:100%;height:auto;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.difu-img:hover img{transform:scale(1.015)}
.difu-pieza figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding-top:12px;border-top:1px solid var(--line-hair,rgba(29,26,24,.16))}
.difu-pieza strong{font-family:var(--font-serif);font-weight:400;font-size:19px;line-height:1.25}
.difu-pieza span{grid-column:1;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grafito);font-variant-numeric:tabular-nums}
.difu-pieza figcaption a{grid-column:2;grid-row:1/span 2;align-self:center;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--carbon);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.difu-pieza figcaption a:hover{color:var(--bronce-tinta)}
@media (max-width:860px){.difu{grid-template-columns:repeat(2,minmax(0,1fr))}.difu-pieza:nth-child(n){grid-column:span 1}.difu-pieza:nth-child(2){grid-column:1/-1}}
@media (max-width:480px){.difu{gap:28px 14px}.difu-pieza strong{font-size:16px}.difu-pieza figcaption{grid-template-columns:minmax(0,1fr)}.difu-pieza figcaption a{grid-column:1;grid-row:auto;min-height:36px}}

/* Catálogo de escultura: cabecera */
#catalogo{padding-top:clamp(64px,8vw,120px)}
.cat-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:32px clamp(32px,6vw,112px);align-items:end;padding-bottom:clamp(40px,5vw,64px)}
@media (min-width:900px){.cat-intro{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.cat-intro h1{margin:0}
.cat-lead{margin:20px 0 0;font-size:clamp(18px,1.4vw,21px);line-height:1.55;color:var(--grafito);max-width:40ch}
.cat-cita{margin:0;padding:0 0 0 clamp(20px,2.4vw,32px);border-left:1px solid var(--bronce);font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(22px,2vw,30px);line-height:1.4;color:var(--carbon);max-width:34ch;text-wrap:pretty}
.cat-temas{border-top:1px solid var(--carbon);padding-top:20px}
.cat-temas .rotulo{margin:0 0 8px}
.cat-temas ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2vw,32px)}
.cat-temas a{display:flex;flex-direction:column;gap:6px;padding:20px 0 22px;border-bottom:1px solid var(--line-hair);text-decoration:none;color:var(--carbon);font-family:var(--font-serif);font-size:clamp(20px,1.6vw,24px);line-height:1.2;transition:color .18s,border-color .18s}
.cat-temas a span{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--bronce-tinta);font-variant-numeric:tabular-nums}
.cat-temas a em{font-family:var(--font-sans);font-style:normal;font-size:13px;color:var(--grafito)}
.cat-temas a:hover{color:var(--bronce-tinta);border-bottom-color:var(--bronce-tinta)}
@media (max-width:899px){.cat-temas ol{grid-template-columns:minmax(0,1fr)}.cat-temas a{flex-direction:row;align-items:baseline;gap:16px;padding:16px 0}.cat-temas a em{margin-left:auto;text-align:right}}
.cat-expo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;margin-top:clamp(32px,4vw,48px);padding:20px 0;border-top:1px solid var(--line-hair);border-bottom:1px solid var(--line-hair)}
.cat-expo p{margin:0;font-size:15px;color:var(--grafito)}
.cat-expo strong{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;color:var(--carbon)}
.cat-expo p a{color:var(--grafito)}
.cat-links{display:flex;flex-wrap:wrap;gap:8px 32px}
.cat-links a{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--carbon);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;transition:color .18s}
.cat-links a:hover{color:var(--bronce-tinta)}

/* Móvil: corrección del hero (columna de texto estrecha) */
@media (max-width:860px){
.hero .txt{max-width:100%}
.hero .nombre{font-size:clamp(48px,14vw,72px)}
.hero .antetitulo{letter-spacing:.22em}
.hero .dat{letter-spacing:.16em}
.hero .botones{gap:20px 28px}
.hero .retrato{width:min(88%,420px);margin-right:calc(-1 * clamp(24px,6vw,96px))}
}

/* Móvil: obras en 2 columnas para acortar el recorrido */
@media (max-width:560px){
:is(#destacadas,body[data-pagina="obra.html"] section) .grid:has(>.tarjeta){grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}
:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta h3{font-size:17px;line-height:1.25}
:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta p:not(.etiquetas){font-size:13px;line-height:1.45}
:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta .etiquetas span{font-size:9.5px!important;padding:3px 6px;letter-spacing:.1em}
:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta img{aspect-ratio:4/5;object-fit:cover;height:auto}
}

/* Móvil: el retrato sangra a la derecha sin ensanchar la página */
.hero,.hero-autor{overflow:hidden}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* Testimonios: banner de entrada (carbón + foto del taller) */
.test-banner{position:relative;background:var(--carbon);color:var(--marfil);padding:0!important;overflow:hidden}
.test-banner .wrap{position:relative;z-index:1;min-height:min(78vh,720px);display:flex;align-items:center;padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(56px,7vw,96px)}
.tb-txt{max-width:min(560px,46%)}
.test-banner .antetitulo{color:var(--bronce-claro)}
.test-banner .antetitulo::before{background:var(--bronce-claro)}
.test-banner h1{color:var(--marfil);margin:0;font-size:clamp(56px,7vw,112px);line-height:1}
.tb-lead{margin:24px 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ceniza);max-width:44ch}
.tb-voces{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;border-top:1px solid var(--line-on-dark,rgba(244,240,232,.18))}
.tb-voces a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:baseline;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line-on-dark,rgba(244,240,232,.18));color:var(--marfil);text-decoration:none;transition:color .18s}
.tb-voces span{font-size:12px;font-weight:500;color:var(--bronce-claro);font-variant-numeric:tabular-nums}
.tb-voces strong{font-family:var(--font-serif);font-weight:400;font-size:clamp(18px,1.4vw,21px)}
.tb-voces em{font-style:normal;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ceniza);white-space:nowrap}
.tb-voces a:hover{color:var(--bronce-claro)}
.tb-foto{position:absolute;top:0;right:0;bottom:0;width:50%;margin:0}
.tb-foto img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
@media (max-width:860px){
.test-banner .wrap{min-height:0;padding-top:48px}
.tb-txt{max-width:100%}
.tb-foto{position:relative;width:100%;height:auto;aspect-ratio:4/3}
.test-banner{display:flex;flex-direction:column-reverse}
.tb-voces a{grid-template-columns:28px minmax(0,1fr)}
.tb-voces em{grid-column:2;white-space:normal}
}
/* Etiquetas legibles en la rejilla móvil de 2 columnas */
@media (max-width:560px){:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta .etiquetas span{font-size:10.5px!important}}

/* Testimonios: retrato de cada autor */
.test-autor{margin:32px 0 16px;max-width:420px}
.test-autor img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
#mirada-barrera .test-autor img{object-position:center 20%}
.test-autor figcaption{margin-top:12px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito)}
.test-autor figcaption strong{color:var(--carbon);font-weight:600}
.test-bio{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-hair);font-size:15px;line-height:1.55;color:var(--grafito);max-width:52ch}
.test-obra img{aspect-ratio:auto;object-fit:contain}

/* Libros: estante */
.estante-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;padding-bottom:20px;border-bottom:1px solid var(--carbon)}
.estante-cab h2,.estante-cab .rotulo{margin:0}
.estante{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:clamp(40px,5vw,64px);counter-reset:libro}
.estante .tarjeta{display:flex;flex-direction:column;counter-increment:libro}
.estante-tapa{height:clamp(220px,22vw,320px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:0;border-bottom:1px solid var(--carbon)}
.estante-tapa img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;margin:0;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.estante .tarjeta:hover .estante-tapa img{transform:translateY(-6px)}
.estante .tarjeta h3{margin:18px 0 4px;font-size:clamp(18px,1.4vw,21px);line-height:1.25}
.estante .tarjeta h3::before{content:counter(libro,decimal-leading-zero);display:block;margin-bottom:6px;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--bronce-tinta);font-variant-numeric:tabular-nums}
.estante .tarjeta p{margin:0;font-size:14px;color:var(--grafito)}
@media (max-width:900px){.estante{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px}}
@media (max-width:560px){.estante{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 16px}.estante-tapa{height:200px}}
.estante .estante-tapa img.portada.libro{margin:0;aspect-ratio:auto;width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;object-position:center bottom}
.estante .estante-tapa img[src*="libro-la-capa-espanola"]{transform:translateY(12.5%)}
.estante .tarjeta:hover .estante-tapa img[src*="libro-la-capa-espanola"]{transform:translateY(calc(12.5% - 6px))}

/* Hero v-aire: menos saturado */
@media (min-width:861px){
.hero .nombre{font-size:clamp(52px,5.6vw,88px)}
.hero .hero-lema{font-size:clamp(19px,1.6vw,24px);max-width:24em;margin-top:24px;color:var(--ceniza)}
.hero .regla{margin-top:clamp(36px,4.5vh,56px)}
.hero .hero-expo{font-size:clamp(26px,2.4vw,36px);margin-top:18px}
.hero .botones{margin-top:28px}
.hero .retrato{height:min(calc(100% - 200px),700px);right:max(24px,calc(50% - 680px))}
}

/* Libros: catálogo editorial */
.catalogo{list-style:none;margin:0;padding:0}
.catalogo li{border-bottom:1px solid var(--line-hair)}
.cat-fila{display:grid;grid-template-columns:clamp(120px,14vw,200px) 48px minmax(0,1fr) auto;gap:0 clamp(20px,3vw,48px);align-items:center;padding:clamp(28px,3.5vw,48px) 0;color:var(--carbon);text-decoration:none}
.cat-tapa{background:var(--piedra);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;padding:14%}
.cat-tapa img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.cat-fila:hover .cat-tapa img{transform:scale(1.03)}
.cat-n{align-self:start;padding-top:8px;font-size:13px;font-weight:500;color:var(--bronce-tinta);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.cat-info{display:flex;flex-direction:column;gap:10px;min-width:0}
.cat-info strong{font-family:var(--font-serif);font-weight:300;font-size:clamp(30px,3.2vw,48px);line-height:1.05;transition:color .18s}
.cat-meta{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito);font-variant-numeric:tabular-nums}
.cat-desc{font-size:16px;line-height:1.55;color:var(--grafito);max-width:52ch}
.cat-ir{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:color .18s}
.cat-fila:hover strong,.cat-fila:hover .cat-ir{color:var(--bronce-tinta)}
@media (max-width:720px){.cat-fila{grid-template-columns:104px minmax(0,1fr);gap:0 20px;align-items:start}.cat-n{display:none}.cat-ir{display:none}.cat-info strong{font-size:26px}.cat-desc{font-size:15px}}

/* Auditoría móvil 375 px */
@media (max-width:480px){
footer.site .wrap{grid-template-columns:minmax(0,1fr)!important}
.destacada,.publica,.expo,.etiqueta-expo{font-size:11px!important}
:is(#destacadas,body[data-pagina="obra.html"] section) .grid>.tarjeta .etiquetas span{font-size:11px!important}
.rec-acc{min-height:44px;display:inline-flex;align-items:center}
.rec-acc.pendiente-tag{min-height:0}
.hero .botones{flex-direction:column;align-items:flex-start}
}
@media (max-width:899px){
.cat-temas a{flex-wrap:wrap}
.cat-temas a em{margin-left:0;flex-basis:100%;text-align:left;padding-left:calc(12px + 16px + 1.2em)}
}

/* Hero: Media Verónica (figura completa, sin sangrar) */
@media (min-width:861px){.hero .retrato-torero{height:min(calc(100% - 220px),640px);bottom:56px;right:max(32px,calc(50% - 660px));filter:drop-shadow(0 0 60px rgba(214,186,150,.10))}}
@media (max-width:860px){.hero .retrato-torero{width:min(86%,400px);margin:40px auto 32px;display:block;right:auto}}

/* Esculturas: banner + temas con imagen */
.cat-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:40px clamp(32px,5vw,80px);align-items:center;padding-bottom:clamp(48px,6vw,80px)}
@media (min-width:900px){.cat-banner{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.cb-txt h1{margin:0}
.cb-trazo{display:block;width:64px;height:1px;background:var(--bronce);margin:28px 0 24px}
.cb-lead{margin:0;font-size:clamp(18px,1.4vw,21px);line-height:1.55;color:var(--grafito);max-width:40ch}
.cb-ir{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bronce-tinta);text-decoration:none;border-bottom:1px solid var(--bronce)}
.cb-ir:hover{color:var(--carbon);border-color:var(--carbon)}
.cb-foto{margin:0;background:var(--piedra);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cb-foto img{height:92%;width:auto;max-width:100%;object-fit:contain;display:block;mix-blend-mode:multiply}
.cat-temas2{border-top:1px solid var(--carbon);padding-top:20px}
.cat-temas2 .rotulo{margin:0 0 20px}
.cat-temas2 ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(16px,2vw,32px)}
.cat-temas2 a{display:flex;flex-direction:column;gap:14px;color:var(--carbon);text-decoration:none}
.tema-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--piedra-2,#E8E1D6)}
.tema-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.cat-temas2 a:hover .tema-img img{transform:scale(1.015)}
.tema-txt{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--line-hair)}
.tema-txt strong{font-family:var(--font-serif);font-weight:400;font-size:clamp(20px,1.7vw,26px);line-height:1.2;transition:color .18s}
.tema-txt strong span{font-family:var(--font-sans);font-size:.6em;font-weight:500;color:var(--bronce-tinta);font-variant-numeric:tabular-nums;vertical-align:.15em}
.tema-txt em{font-style:normal;font-size:14px;color:var(--grafito)}
.cat-temas2 a:hover strong{color:var(--bronce-tinta)}
@media (max-width:560px){.cat-temas2 ol{gap:28px 12px}.tema-txt strong{font-size:17px}.tema-txt em{font-size:13px}}

/* Temas: esculturas recortadas sobre carbón */
.cat-temas2 .tema-img{background:var(--carbon);display:flex;align-items:center;justify-content:center;padding:8% 10%}
.cat-temas2 .tema-img img{width:100%;height:100%;object-fit:contain}
.cat-temas2 a:hover .tema-img img{transform:scale(1.03)}

/* Temas v2: nombre en la voz del artista (sans 700, mayúsculas) dentro del panel carbón */
.cat-temas2 .tema-img{position:relative;aspect-ratio:1/1;padding:12% 10% 30%;align-items:center}
.tema-n{position:absolute;top:clamp(16px,2vw,28px);left:clamp(16px,2vw,28px);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--bronce-claro);font-variant-numeric:tabular-nums}
.tema-nom{position:absolute;left:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);max-width:60%;font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:-.015em;line-height:.92;font-size:clamp(22px,2.6vw,40px);color:var(--marfil);transition:color .18s}
.tema-sub{position:absolute;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(14px,1.3vw,20px);color:var(--marfil);text-align:right;max-width:38%}
.cat-temas2 a:hover .tema-nom{color:var(--bronce-claro)}
@media (max-width:560px){.cat-temas2 .tema-img{padding:14% 8% 42%}.tema-nom{font-size:18px;max-width:none;right:12px;bottom:34px}.tema-sub{left:12px;right:auto;bottom:12px;text-align:left;max-width:none;font-size:13px}.tema-n{top:10px;left:12px;font-size:11px}}

/* Temas v3: esculturas recortadas al contorno, más grandes y a la misma escala visual */
.cat-temas2 .tema-img{padding:7% 8% 22%}
.cat-temas2 .tema-img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
@media (max-width:560px){.cat-temas2 .tema-img{padding:12% 7% 36%}}

/* Filtros de obra */
.filtros{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:clamp(32px,4vw,48px);padding:18px 0;border-top:1px solid var(--line-hair);border-bottom:1px solid var(--line-hair)}
.filtros .rotulo{margin:0 8px 0 0}
.filtro{font-family:var(--font-sans);font-size:11px!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:9px 12px!important;min-height:36px;cursor:pointer;border-radius:0;transition:opacity .18s,box-shadow .18s,background .18s;line-height:1}
.filtro.destacada{border:1px solid var(--carbon)}
.filtro.expo{border:1px solid var(--bronce-tinta)}
.filtro.publica{background:transparent;color:var(--carbon)}
.filtros:has(.filtro[aria-pressed="true"]) .filtro[aria-pressed="false"]{opacity:.4}
.filtro[aria-pressed="true"]{box-shadow:0 0 0 2px var(--marfil),0 0 0 3px var(--carbon)}
.filtro:focus-visible,.filtro-info:focus-visible{outline:1px solid var(--bronce-tinta);outline-offset:3px}
.filtro-info{background:none;border:0;padding:8px 4px;min-height:36px;font:inherit;font-size:15px;color:var(--grafito);cursor:pointer}
.filtro-info:hover{color:var(--bronce-tinta)}
.filtro-cuenta{margin-left:auto;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--bronce-tinta);cursor:pointer}
.filtro-cuenta:empty{display:none}
.leyenda-filtros{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 24px;margin:16px 0 0;font-size:15px}
.leyenda-filtros[hidden]{display:none}
.leyenda-filtros dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.leyenda-filtros dd{margin:0;color:var(--grafito)}
section.filtro-vacia{display:none}
.tarjeta[hidden]{display:none!important}
@media (max-width:560px){.leyenda-filtros{grid-template-columns:minmax(0,1fr)}.leyenda-filtros dd{margin-bottom:8px}.filtro-cuenta{margin-left:0;flex-basis:100%}}
.cat-temas2 .tema-img img[src*="tc-fe-2"]{max-height:none;height:128%;align-self:flex-start;margin-top:-2%}
@media (max-width:560px){.cat-temas2 .tema-img img[src*="tc-fe-2"]{height:150%}}

/* Sobre Carlos: semblanza como artículo de revista */
.articulo{padding:clamp(64px,9vw,140px) 0}
.art-cab{max-width:900px;margin:0 auto;text-align:center}
.art-cab .antetitulo{justify-content:center}
.art-cab h2{margin:8px 0 0;font-size:clamp(44px,6vw,92px);line-height:1;font-weight:300}
.art-entradilla{margin:24px auto 0;max-width:44ch;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.8vw,26px);line-height:1.4;color:var(--grafito)}
.art-fig{margin:0}
.art-fig img{display:block;width:100%;height:auto}
.art-fig figcaption{margin-top:10px;font-size:13px;line-height:1.45;color:var(--grafito)}
.art-abre{margin:clamp(48px,6vw,88px) auto clamp(48px,6vw,80px);max-width:1200px}
.art-ancha{margin:clamp(48px,6vw,88px) auto;max-width:1200px}
.art-ancha img{aspect-ratio:16/9;object-fit:cover}
.art-cuerpo{max-width:68ch;margin:0 auto;font-size:clamp(17px,1.2vw,19px);line-height:1.7}
.art-cuerpo::after{content:"";display:block;clear:both}
.art-cuerpo p{margin:0 0 1.1em}
.art-capitular::first-letter{float:left;font-family:var(--font-serif);font-weight:300;font-size:5.2em;line-height:.82;margin:.06em .1em 0 0;color:var(--bronce-tinta)}
.art-ladillo{margin:2em 0 .8em;font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.2vw,34px);line-height:1.15}
.art-der,.art-izq{width:min(46%,340px);margin-bottom:1em}
.art-der{float:right;margin-left:clamp(20px,3vw,40px);margin-right:calc(-1 * clamp(0px,8vw,160px))}
.art-izq{float:left;margin-right:clamp(20px,3vw,40px);margin-left:calc(-1 * clamp(0px,8vw,160px))}
.art-der img,.art-izq img{aspect-ratio:4/5;object-fit:cover}
.art-par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,32px);max-width:1000px;margin:clamp(40px,5vw,72px) auto}
.art-par img{aspect-ratio:4/3;object-fit:cover}
.art-par .art-fig:nth-child(2){margin-top:clamp(32px,5vw,80px)}
.art-destacado{margin:1.6em 0;padding:28px 0;border-top:1px solid var(--carbon);border-bottom:1px solid var(--line-hair);font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(30px,3.2vw,48px);line-height:1.15;color:var(--carbon);text-align:center}
.art-destacado span{display:block;margin-top:14px;font-family:var(--font-sans);font-style:normal;font-size:14px;line-height:1.5;color:var(--grafito)}
.art-tira{margin-top:clamp(56px,7vw,100px);padding-top:20px;border-top:1px solid var(--carbon)}
.art-tira>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);margin-top:20px}
.art-tira img{aspect-ratio:1/1;object-fit:cover}
.art-tira figcaption{font-size:12px}
@media (max-width:900px){.art-der,.art-izq{margin-left:0;margin-right:0}.art-der{margin-left:20px}.art-izq{margin-right:20px}.art-tira>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.art-der,.art-izq{float:none;width:100%;margin:0 0 1.2em}.art-par{grid-template-columns:minmax(0,1fr)}.art-par .art-fig:nth-child(2){margin-top:0}.art-tira>div{grid-template-columns:repeat(2,minmax(0,1fr))}.art-capitular::first-letter{font-size:4.2em}}
.art-cuerpo .art-destacado + p{text-transform:none;letter-spacing:0;font-size:inherit;font-weight:400;color:inherit;line-height:inherit}
.articulo .art-destacado{max-width:none}
.art-cab .antetitulo{display:flex;justify-content:center;align-items:center}
.art-cab .antetitulo{max-width:none;margin-left:auto;margin-right:auto}
body[data-pagina="artista.html"] main>.articulo:first-child{padding-top:clamp(56px,7vw,112px)}
body[data-pagina="artista.html"] .hero-autor{margin-top:0}

/* Visor de obras por categoría */
.vobra{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;margin-top:clamp(32px,4vw,48px);background:var(--blanco,#FAF9F6);border-top:1px solid var(--carbon)}
.visor-foto{background:var(--piedra-2,#E8E1D6);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.visor-foto img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.visor-foto img.entra{opacity:0;transform:translateY(12px)}
.visor-sin{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}
.visor-ficha{display:flex;flex-direction:column;padding:clamp(24px,3vw,48px)}
.visor-etq{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}
.visor-tit{margin:18px 0 0;font-family:var(--font-serif);font-weight:300;font-size:clamp(28px,2.8vw,44px);line-height:1.08}
.visor-dat{margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--grafito);max-width:44ch}
.visor-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-hair)}
.visor-links a{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--carbon);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;transition:color .18s}
.visor-links a:hover{color:var(--bronce-tinta)}
.visor-nav{margin-top:auto;padding-top:24px;display:flex;align-items:center;gap:8px}
.visor-pos{margin-right:auto;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito);font-variant-numeric:tabular-nums}
.visor-nav button{width:44px;height:44px;border:1px solid var(--carbon);background:transparent;color:var(--carbon);font:inherit;font-size:18px;cursor:pointer;border-radius:0;transition:background .18s,color .18s}
.visor-nav button:hover{background:var(--carbon);color:var(--marfil)}
.grid.tira-obras{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:clamp(120px,12vw,168px);gap:14px!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;margin-top:16px!important;padding-bottom:10px}
.tira-obras>.tarjeta{scroll-snap-align:start;cursor:pointer;opacity:.62;transition:opacity .18s}
.tira-obras>.tarjeta:hover,.tira-obras>.tarjeta.activa{opacity:1}
.tira-obras>.tarjeta img,.tira-obras>.tarjeta .img{aspect-ratio:1/1!important;object-fit:cover;width:100%;height:auto;margin:0 0 8px!important;border-bottom:2px solid transparent}
.tira-obras>.tarjeta.activa img,.tira-obras>.tarjeta.activa .img{border-bottom-color:var(--bronce-tinta)}
.tira-obras>.tarjeta .etiquetas,.tira-obras>.tarjeta p:not(.etiquetas),.tira-obras>.tarjeta dl{display:none!important}
.tira-obras>.tarjeta h3{font-size:13px!important;line-height:1.3!important;margin:0!important;font-family:var(--font-sans);font-weight:500}
.tira-obras>.tarjeta.activa h3{color:var(--bronce-tinta)}
@media (max-width:860px){.vobra{grid-template-columns:minmax(0,1fr)}.visor-foto{aspect-ratio:1/1}.visor-ficha{padding:24px 20px}}
@media (max-width:560px){.grid.tira-obras{grid-auto-columns:104px}}
.visor-nav{position:relative}
.vobra-barra{position:absolute;left:0;right:0;top:12px;height:1px;background:var(--line-hair);overflow:hidden}
.vobra-barra::after{content:"";position:absolute;inset:0;background:var(--bronce-tinta);transform:scaleX(0);transform-origin:left}
.vobra-barra.corre::after{animation:vobra-avance 6s linear forwards}
@keyframes vobra-avance{to{transform:scaleX(1)}}
.vobra:hover .vobra-barra::after,.vobra:focus-within .vobra-barra::after{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.vobra-barra{display:none}}

/* Tauromaquia: miradas resumidas (texto completo en Testimonios) */
.taur-miradas2{margin-top:clamp(48px,6vw,80px);padding-top:20px;border-top:1px solid var(--carbon)}
.taur-miradas2 .rotulo{margin:0 0 8px}
.taur-miradas2 ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px)}
.taur-miradas2 li a{display:flex;flex-direction:column;gap:12px;padding:20px 0;border-bottom:1px solid var(--line-hair);color:var(--carbon);text-decoration:none}
.taur-miradas2 q{font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.7vw,26px);line-height:1.35;quotes:"«" "»";text-wrap:pretty}
.taur-miradas2 li span{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grafito)}
.taur-miradas2 li a:hover q{color:var(--bronce-tinta)}
.taur-ir{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bronce-tinta);text-decoration:none}
.taur-ir:hover{color:var(--carbon)}
@media (max-width:720px){.taur-miradas2 ul{grid-template-columns:minmax(0,1fr)}}

/* Órdenes v4: retrato + intro arriba, instituciones como lista a todo el ancho */
#instituciones .inst-cab{align-items:center}
@media (min-width:960px){#instituciones .inst-cab{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}#instituciones .inst-retrato{position:static;height:auto;max-height:none}}
#instituciones .inst-retrato{max-width:420px}
.inst-grid.inst-lista{display:block;margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--carbon);padding-top:0}
.inst-lista .tarjeta{display:grid!important;grid-template-columns:72px minmax(0,4fr) minmax(0,6fr);column-gap:clamp(20px,3vw,48px);align-items:start;padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--line-hair)}
.inst-lista .tarjeta>*{grid-column:3}
.inst-lista .tarjeta>.inst-logo{grid-column:1;grid-row:1/span 4;width:72px;height:72px;margin:0}
.inst-lista .tarjeta>.inst-logo img{max-width:72px;height:72px}
.inst-lista .tarjeta>.antetitulo{grid-column:2;grid-row:1;margin:4px 0 8px}
.inst-lista .tarjeta>h3{grid-column:2;grid-row:2;margin:0;font-size:clamp(22px,1.8vw,28px);line-height:1.2}
.inst-lista .tarjeta>p:not(.antetitulo){grid-row:1/span 3;margin:0;font-size:16px;line-height:1.6;color:var(--grafito);max-width:60ch}
.inst-lista .tarjeta:not(:has(.inst-logo img)){grid-template-columns:72px minmax(0,4fr) minmax(0,6fr)}
.inst-lista .tarjeta:not(:has(.inst-logo img))>.antetitulo{grid-column:2}
.inst-lista .tarjeta:not(:has(.inst-logo img))>h3{grid-column:2}
.inst-lista .tarjeta:not(:has(.inst-logo img))>p:not(.antetitulo){grid-column:3}
#instituciones .boton{margin-top:32px}
@media (max-width:760px){.inst-lista .tarjeta,.inst-lista .tarjeta:not(:has(.inst-logo img)){grid-template-columns:56px minmax(0,1fr)}.inst-lista .tarjeta>*,.inst-lista .tarjeta:not(:has(.inst-logo img))>p:not(.antetitulo){grid-column:2!important;grid-row:auto!important}.inst-lista .tarjeta>.inst-logo{grid-column:1!important;grid-row:1/span 2!important;width:56px;height:56px}.inst-lista .tarjeta>.inst-logo img{max-width:56px;height:56px}.inst-lista .tarjeta>p:not(.antetitulo){margin-top:12px}}
#instituciones .inst-retrato{min-height:0;height:auto;padding-top:clamp(24px,3vw,40px)}
#instituciones .inst-retrato img{width:100%;height:auto;max-height:none}

/* Órdenes: retrato sobre carbón, como las piezas de difusión */
#instituciones .inst-retrato{background:var(--carbon);background-image:radial-gradient(ellipse 60% 55% at 50% 38%,rgba(214,186,150,.16),transparent 70%);padding:clamp(32px,4vw,56px) clamp(20px,3vw,40px) 0;position:relative}
#instituciones .inst-retrato img{mix-blend-mode:normal;display:block}

/* Órdenes v5: el retrato se apoya sobre la línea que abre la lista (sin solaparse) */
#instituciones .inst-cab{align-items:end;padding-bottom:0;margin-bottom:0}
#instituciones .inst-cab>div:last-child{padding-bottom:clamp(24px,3vw,40px)}
#instituciones .inst-retrato{align-self:end;overflow:hidden;margin:0;display:block;line-height:0}
#instituciones .inst-retrato img{margin:0 auto;max-width:100%}
#instituciones .inst-grid.inst-lista{margin-top:0;position:relative;z-index:1;background:var(--marfil)}

/* Separación: Órdenes en banda piedra tras el reportaje */
body[data-pagina="artista.html"] .articulo{padding-bottom:clamp(56px,7vw,96px)}
#instituciones{background:var(--piedra);padding-top:clamp(64px,8vw,120px)}
#instituciones .inst-grid.inst-lista{background:transparent}
#instituciones .inst-lista .tarjeta{border-bottom-color:rgba(29,26,24,.18)}
#instituciones{padding-bottom:clamp(56px,7vw,96px)}

/* CTA Miradas: banner */
.cta-miradas{padding:0!important;background:var(--carbon)}
.cm-banner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(72vh,620px);color:var(--marfil);text-decoration:none}
.cm-foto{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.cm-txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(24px,6vw,112px)}
.cm-txt .antetitulo{color:var(--bronce-claro);margin:0}
.cm-txt .antetitulo::before{background:var(--bronce-claro)}
.cm-tit{display:block;margin-top:16px;font-family:var(--font-serif);font-weight:300;font-size:clamp(40px,4.6vw,72px);line-height:1.02;color:var(--marfil)}
.cm-cita{display:block;margin-top:clamp(28px,3vw,40px);padding-left:20px;border-left:1px solid var(--bronce-claro);font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(19px,1.6vw,24px);line-height:1.4;color:var(--ceniza);max-width:36ch}
.cm-voces{display:block;margin-top:24px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ceniza)}
.cm-ir{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;margin-top:clamp(32px,4vw,48px);padding:16px 28px;background:var(--marfil);color:var(--carbon);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:background .18s}
.cm-ir span{transition:transform .18s}
.cm-banner:hover .cm-ir{background:var(--bronce-claro)}
.cm-banner:hover .cm-ir span{transform:translateX(4px)}
.cm-banner:hover .cm-tit{color:var(--bronce-claro)}
@media (max-width:860px){.cm-banner{grid-template-columns:minmax(0,1fr)}.cm-foto{aspect-ratio:4/3;height:auto}}

/* Libros: banner de entrada (variante del CTA miradas, foto a la derecha) */
.libros-banner .cm-banner{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.libros-banner .cm-foto{object-position:62% 40%}
.libros-banner h1.cm-tit{margin:16px 0 0;font-size:clamp(56px,6.4vw,104px)}
.libros-banner .cm-cita{font-style:normal;font-family:var(--font-sans);font-size:clamp(17px,1.35vw,20px);line-height:1.6;max-width:42ch}
.libros-banner a.cm-ir{text-decoration:none}
.libros-banner a.cm-ir:hover{background:var(--bronce-claro)}
.libros-banner a.cm-ir:hover span{transform:translateY(3px)}
#catalogo{scroll-margin-top:110px}
@media (max-width:860px){.libros-banner .cm-banner{grid-template-columns:minmax(0,1fr)}.libros-banner .cm-foto{order:-1}}
.libros-banner .cm-banner:hover .cm-tit{color:var(--marfil)}
.libros-banner .cm-banner:hover .cm-ir{background:var(--marfil)}
.libros-banner .cm-banner:hover .cm-ir span{transform:none}
.libros-banner a.cm-ir:hover{background:var(--bronce-claro)!important}
.libros-banner .cm-cita{font-weight:400;color:var(--marfil);opacity:.86;border-left:0;padding-left:0;margin-top:24px}
.libros-banner .cm-foto{object-position:62% 22%}

.tb-cta{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:4px 16px;margin-top:16px;padding:18px 20px 18px 0;background:transparent;border:1px solid var(--bronce-claro);border-left:0;border-right:0;color:var(--marfil);text-decoration:none;transition:background .18s,color .18s}
.tb-cta-n{font-size:12px;font-weight:500;color:var(--bronce-claro);font-variant-numeric:tabular-nums}
.tb-cta-txt{display:flex;flex-direction:column;gap:4px}
.tb-cta strong{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.6vw,24px);color:var(--bronce-claro)}
.tb-cta em{font-style:normal;font-size:13px;color:var(--ceniza)}
.tb-cta-ir{font-size:20px;color:var(--bronce-claro);transition:transform .18s}
.tb-cta:hover strong,.tb-cta:hover .tb-cta-ir{color:var(--marfil)}
.tb-cta:hover .tb-cta-ir{transform:translateX(4px)}

/* Sala de prensa v2: fichas en rejilla (3 documentos + 2 bancos de imagen) */
@media (min-width:861px){
.recursos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);border-top:0}
.rec-fila{grid-column:span 2;display:flex!important;flex-direction:column;align-items:flex-start;gap:0;padding:clamp(22px,2.2vw,32px);background:var(--blanco,#FAF9F6);border:0!important;border-top:1px solid var(--carbon)!important;min-height:100%}
.rec-fila:nth-child(n+4){grid-column:span 3}
.rec-fila .rec-n{order:1}
.rec-fila .rec-ic{order:0;margin-bottom:28px;width:28px;height:28px}
.rec-fila .rec-txt{order:2;margin-top:8px;flex:1}
.rec-fila .rec-txt h3{font-size:clamp(22px,1.7vw,26px)}
.rec-fila .rec-acc{order:3;margin-top:24px;padding-top:16px;border-top:1px solid var(--line-hair);width:100%;justify-content:space-between;display:flex}
.rec-fila .rec-acc.pendiente-tag{border:1px dashed var(--grafito);width:auto;padding:6px 10px}
}

/* Home: Deja tu latido como banner (hermano de Miradas) */
.latido-banner .cm-tit{margin:16px 0 0}
.latido-banner .cm-banner:hover .cm-tit{color:var(--marfil)}
.latido-banner .cm-banner:hover .cm-ir{background:var(--marfil)}
.latido-banner a.cm-ir{text-decoration:none}
.latido-banner a.cm-ir:hover{background:var(--bronce-claro)!important}
.latido-banner a.cm-ir:hover span{transform:translateX(4px)}
.latido-banner .cm-cita{margin-bottom:0}
.cm-nota{margin:20px 0 0;font-size:14px;line-height:1.55;color:var(--ceniza);max-width:44ch}
.cm-nota a{color:var(--marfil);border-bottom:1px solid rgba(244,240,232,.4);text-decoration:none}
.cm-nota a:hover{color:var(--bronce-claro);border-color:var(--bronce-claro)}
.latido-banner .cm-foto{object-position:40% 40%}

/* Sala de prensa: mockup de documento */
.rec-mock{display:none}
@media (min-width:861px){
.rec-fila:has(.rec-mock) .rec-ic{display:none}
.rec-mock{display:flex;order:-1;align-self:stretch;justify-content:center;align-items:center;background:var(--piedra);margin:calc(-1 * clamp(22px,2.2vw,32px)) calc(-1 * clamp(22px,2.2vw,32px)) 24px;padding:clamp(24px,3vw,40px) 0;position:relative}
.rm-hoja{position:relative;width:min(62%,200px);aspect-ratio:1/1.414;background:var(--blanco,#FAF9F6);display:flex;flex-direction:column;padding:12% 11%;transform:rotate(-2.5deg);transition:transform .32s cubic-bezier(.22,.61,.36,1);outline:1px solid rgba(29,26,24,.12)}
.rm-hoja::before,.rm-hoja::after{content:"";position:absolute;inset:0;background:var(--blanco,#FAF9F6);outline:1px solid rgba(29,26,24,.10);z-index:-1}
.rm-hoja::before{transform:translate(7px,6px) rotate(2.5deg)}
.rm-hoja::after{transform:translate(13px,11px) rotate(4.5deg);background:#F1EEE8}
.rec-fila:hover .rm-hoja{transform:rotate(0) translateY(-4px)}
.rm-e{font-size:7px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--bronce-tinta)}
.rm-t{margin-top:14%;font-family:var(--font-serif);font-weight:300;font-size:clamp(17px,1.5vw,22px);line-height:1.05;color:var(--carbon)}
.rm-t i{font-style:italic}
.rm-l{display:block;width:28%;height:1px;background:var(--bronce);margin-top:10%}
.rm-d{margin-top:8%;font-size:6.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--grafito)}
.rm-f{margin-top:auto;font-family:var(--font-serif);font-style:italic;font-size:11px;color:var(--carbon);opacity:.7}
}

/* Home: tarjeta final «Ver todas las esculturas» dentro de la rejilla */
.tarjeta.obras-mas{display:flex!important;flex-direction:column;justify-content:flex-end;gap:10px;background:var(--carbon);color:var(--marfil);text-decoration:none;padding:clamp(20px,2vw,28px);min-height:100%;aspect-ratio:auto;transition:background .18s}
.obras-mas .om-n{font-family:var(--font-serif);font-weight:300;font-size:56px;line-height:1;color:var(--bronce-claro);margin-bottom:auto}
.obras-mas .om-t{font-family:var(--font-serif);font-weight:300;font-size:clamp(24px,2vw,30px);line-height:1.1}
.obras-mas .om-d{font-size:14px;color:var(--ceniza)}
.obras-mas .om-ir{margin-top:12px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bronce-claro);transition:transform .18s}
.obras-mas:hover{background:var(--carbon-2,#2A2623)}
.obras-mas:hover .om-ir{transform:translateX(4px)}
@media (max-width:560px){.tarjeta.obras-mas{grid-column:1/-1;min-height:180px}}

/* Libros: retrato recortado sobre carbón con halo cálido */
.libros-banner .cm-banner{background:var(--carbon);background-image:radial-gradient(ellipse 42% 60% at 74% 46%,rgba(214,186,150,.20),rgba(214,186,150,.06) 50%,transparent 74%)}
.libros-banner .cm-foto.cm-recorte{object-fit:contain;object-position:right bottom;align-self:end;height:auto;max-height:100%;padding-top:clamp(32px,4vw,64px)}
@media (max-width:860px){.libros-banner .cm-foto.cm-recorte{aspect-ratio:auto;padding-top:32px;width:92%;margin-left:auto}}

/* Visor de obras: ampliar imagen */
.visor-ampliar{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--carbon);cursor:pointer;transition:color .18s}
.visor-ampliar:hover{color:var(--bronce-tinta)}
.obra-lb{position:fixed;inset:0;z-index:200;background:rgba(29,26,24,.94);display:none;align-items:center;justify-content:center;padding:clamp(56px,6vw,88px) clamp(56px,7vw,120px)}
.obra-lb.on{display:flex;animation:lbIn .32s cubic-bezier(.22,.61,.36,1)}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.obra-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:100%;max-height:100%}
.obra-lb img{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.obra-lb figcaption{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;color:var(--marfil)}
.obra-lb .lb-t{font-family:var(--font-serif);font-size:22px;font-weight:300}
.obra-lb .lb-d{font-size:13px;color:var(--ceniza)}
.obra-lb button{position:absolute;background:none;border:1px solid rgba(244,240,232,.3);color:var(--marfil);width:48px;height:48px;font-size:20px;cursor:pointer;transition:border-color .18s,color .18s}
.obra-lb button:hover{border-color:var(--bronce-claro);color:var(--bronce-claro)}
.obra-lb .lb-x{top:20px;right:20px;font-size:26px}
.obra-lb .lb-p{left:clamp(8px,2vw,32px);top:50%;transform:translateY(-50%)}
.obra-lb .lb-n{right:clamp(8px,2vw,32px);top:50%;transform:translateY(-50%)}
@media (max-width:640px){.obra-lb{padding:64px 12px 88px}.obra-lb .lb-p,.obra-lb .lb-n{top:auto;bottom:20px;transform:none}.obra-lb .lb-p{left:calc(50% - 56px)}.obra-lb .lb-n{right:calc(50% - 56px)}}

/* Libros: foto a la izquierda, mirando hacia el texto */
.libros-banner .cm-foto.cm-recorte{order:-1;object-position:left bottom;justify-self:start}
.libros-banner .cm-banner{background-image:radial-gradient(ellipse 42% 60% at 26% 46%,rgba(214,186,150,.20),rgba(214,186,150,.06) 50%,transparent 74%)}
@media (max-width:860px){.libros-banner .cm-foto.cm-recorte{margin-left:0;margin-right:auto}}

/* Su obra en la ciudad · recorrido inmersivo con mapa */
.recorrido{background:var(--carbon);color:var(--marfil);padding:0!important}
.rc-grid{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.rc-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.rc-mapa-col{position:sticky;top:0;height:42vh;z-index:2;background:var(--carbon);border-bottom:1px solid rgba(244,240,232,.18)}
@media (min-width:960px){.rc-mapa-col{height:100vh;border-bottom:0;border-right:1px solid rgba(244,240,232,.18)}}
.rc-mapa{position:absolute;inset:0;background:var(--carbon)}
.rc-mapa .leaflet-tile-pane{filter:sepia(.85) saturate(1.6) hue-rotate(-8deg) brightness(1.25) contrast(1.05)}
.rc-mapa .leaflet-control-attribution{background:transparent;color:var(--ceniza);font-size:10px}
.rc-mapa .leaflet-control-attribution a{color:var(--ceniza)}
.rc-mapa-pie{position:absolute;left:clamp(20px,3vw,40px);bottom:clamp(16px,3vw,36px);margin:0;z-index:500;display:flex;gap:12px;align-items:baseline;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--marfil);pointer-events:none}
.rc-mapa-n{color:var(--bronce-claro);font-variant-numeric:tabular-nums}
.rc-pin{background:none;border:0}
.rc-pin span{display:block;transform:translate(-50%,-50%);white-space:nowrap;padding:6px 9px;background:var(--carbon);border:1px solid var(--bronce-claro);color:var(--bronce-claro);font:500 11px/1 var(--font-sans);letter-spacing:.08em;font-variant-numeric:tabular-nums;transition:background .32s,color .32s}
.rc-pin.on span{background:var(--bronce-claro);color:var(--carbon)}
.rc-col{padding:0 var(--margin,clamp(24px,6vw,96px))}
.rc-cab{padding:clamp(72px,10vw,160px) 0 clamp(40px,6vw,80px);max-width:56ch}
.rc-cab .antetitulo{color:var(--bronce-claro)}
.rc-cab h2{color:var(--marfil)}
.rc-cab p{color:var(--ceniza)}
.rc-guia{margin-top:32px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.rc-parada{min-height:88vh;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:28px;padding:clamp(40px,6vw,80px) 0;border-top:1px solid rgba(244,240,232,.18);opacity:.35;transition:opacity .7s cubic-bezier(.22,.61,.36,1)}
.rc-parada.on{opacity:1}
@media (min-width:1200px){.rc-parada{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:40px}}
.rc-foto{display:block;background:var(--carbon-2);aspect-ratio:4/5;overflow:hidden}
.rc-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.rc-foto img[src$=".png"]{object-fit:contain;padding:6% 8% 0;object-position:center bottom}
.rc-foto:hover img{transform:scale(1.015)}
.rc-lugar{display:flex;gap:14px;align-items:baseline;margin:0 0 14px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ceniza)}
.rc-n{color:var(--bronce-claro);font-variant-numeric:tabular-nums}
.rc-txt h3{font-family:var(--font-serif);font-weight:300;font-size:clamp(28px,2.6vw,40px);line-height:1.12;color:var(--marfil);margin:0 0 14px;text-wrap:balance}
.rc-txt p:not(.rc-lugar){color:var(--ceniza);font-size:16px;line-height:1.6;margin:0 0 20px;max-width:46ch}
.rc-ir{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--marfil);text-decoration:none;transition:color .18s}
.rc-ir:hover{color:var(--bronce-claro)}
.rc-fin{padding:clamp(48px,6vw,96px) 0 clamp(72px,10vw,160px);border-top:1px solid rgba(244,240,232,.18)}
.boton.claro{background:var(--marfil);color:var(--carbon);border-color:var(--marfil)}
.boton.claro:hover{background:var(--bronce-claro);border-color:var(--bronce-claro);color:var(--carbon)}
@media (max-width:959px){.rc-parada{min-height:0;opacity:1}.rc-foto{aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.rc-parada{transition:none}}

/* Sala de prensa: portadas reales de los PDF */
.rm-hoja.rm-real{padding:0!important;background:#fff}
.rm-hoja.rm-real img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:top}

/* Dossier abierto: doble página interior */
.rec-mock.rm-abierto{display:flex;align-items:center;justify-content:center;perspective:1200px}
.rm-abierto{--w:min(42%,150px)}
.rm-pag{position:relative;width:var(--w);aspect-ratio:210/297;background:var(--blanco-calido,#FAF9F6);display:flex;flex-direction:column;padding:9% 8%;box-sizing:border-box;transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.rm-izq{transform:rotateY(14deg);transform-origin:right center;box-shadow:inset -10px 0 14px -10px rgba(29,26,24,.28)}
.rm-der{transform:rotateY(-14deg);transform-origin:left center;padding:0;background:#2A2623;box-shadow:inset 10px 0 14px -10px rgba(0,0,0,.5)}
.rec-fila:hover .rm-izq{transform:rotateY(8deg)}
.rec-fila:hover .rm-der{transform:rotateY(-8deg)}
.rm-der img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rm-cap{position:absolute;left:8%;right:8%;bottom:6%;font-family:var(--font-serif);font-size:7px;color:var(--marfil);line-height:1.2}
.rm-abierto .rm-e{font-size:5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronce-tinta)}
.rm-abierto .rm-t{margin-top:8%;font-family:var(--font-serif);font-weight:300;font-size:13px;line-height:1.05;color:var(--carbon)}
.rm-abierto .rm-l{display:block;width:26%;height:1px;background:var(--bronce);margin:10% 0 12%}
.rm-tx{display:block;height:2px;background:rgba(29,26,24,.18);margin-bottom:6px;box-shadow:0 5px 0 rgba(29,26,24,.18),0 10px 0 rgba(29,26,24,.18),0 15px 0 rgba(29,26,24,.18);margin-bottom:24px}
.rm-tx.corta{width:62%;box-shadow:none}
.rm-pie{margin-top:auto;font-size:5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grafito)}
@media (prefers-reduced-motion:reduce){.rm-pag{transition:none}}

/* Descarga evidente: tarjeta entera clicable + botón sólido */
.rec-desc{position:relative;cursor:pointer}
.rec-desc .rec-btn::after{content:"";position:absolute;inset:0;z-index:2}
.rec-btn{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:0 20px;background:var(--carbon);color:var(--marfil)!important;border:0!important;letter-spacing:.16em;transition:background .18s}
.rec-btn svg{flex:none}
.rec-desc:hover .rec-btn,.rec-btn:focus-visible{background:var(--bronce-tinta)}
.rec-desc:hover .rec-btn svg{transform:translateY(2px);transition:transform .18s}
.rec-btn:focus-visible{outline:1px solid var(--bronce-tinta);outline-offset:3px}
.rm-badge{position:absolute;top:14px;right:14px;z-index:3;background:var(--carbon);color:var(--marfil);font-size:11px;font-weight:600;letter-spacing:.14em;padding:6px 10px;transition:background .18s}
.rec-desc:hover .rm-badge{background:var(--bronce-tinta)}
.rec-mock{position:relative}
.pendiente-tag{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:52px;box-sizing:border-box}

.rec-mock.rm-abierto{min-height:285px;box-sizing:border-box}
.rm-abierto .rm-t{font-size:11px}
.rm-abierto .rm-izq{padding:9% 7%}

/* Tira de miniaturas en dos renglones */
.grid.tira-obras{grid-auto-columns:clamp(112px,10.5vw,148px);row-gap:20px!important;align-items:start}
.tira-obras>.tarjeta h3{min-height:2.6em}
@media (max-width:560px){.grid.tira-obras{grid-auto-columns:96px}}

/* Visor: ficha siempre visible + lupa al pasar el cursor */
.visor-foto{position:relative;overflow:hidden}
.visor-foto.con-lupa{cursor:zoom-in}
.visor-foto>img{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.visor-foto.lupa>img{transform:scale(2.2);transition:transform .18s ease-out}
.visor-sobre{position:absolute;left:clamp(16px,2vw,24px);bottom:clamp(16px,2vw,24px);z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:var(--carbon);color:var(--marfil)!important;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background .18s,opacity .18s}
.visor-sobre:hover{background:var(--bronce-tinta)}
.visor-sobre span{transition:transform .18s}.visor-sobre:hover span{transform:translateX(4px)}
.visor-foto.lupa .visor-sobre{opacity:0;pointer-events:none}
.visor-links .visor-cta{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;background:var(--carbon);color:var(--marfil)!important;text-decoration:none;transition:background .18s}
.visor-links .visor-cta:hover{background:var(--bronce-tinta)}
.visor-links .visor-cta span{transition:transform .18s}.visor-links .visor-cta:hover span{transform:translateX(4px)}
.visor-links{align-items:center}
@media (prefers-reduced-motion:reduce){.visor-foto>img,.visor-foto.lupa>img{transition:none}}

/* Volver a Esculturas */
.volver-barra{padding:clamp(20px,2.4vw,32px) 0 0}
.volver-barra+section{padding-top:clamp(28px,3.4vw,48px)!important}
.volver-obras{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--carbon);text-decoration:none;transition:color .18s}
.volver-obras span{transition:transform .18s}
.volver-obras:hover{color:var(--bronce-tinta)}.volver-obras:hover span{transform:translateX(-4px)}
.volver-obras em{font-style:normal;color:var(--grafito);letter-spacing:.16em;padding-left:12px;border-left:1px solid var(--line-hair,rgba(29,26,24,.16))}
.volver-pie{padding:clamp(32px,4vw,56px) 0!important;border-top:1px solid var(--line-hair,rgba(29,26,24,.16))}
.volver-obras.abajo{min-height:52px;padding:0 24px;border:1px solid var(--carbon)}
.volver-obras.abajo:hover{background:var(--carbon);color:var(--marfil)}.volver-obras.abajo:hover em{color:var(--ceniza)}
@media (max-width:560px){.volver-obras em{display:none}}
.volver-obras.en-ficha{margin-top:32px}
.volver-obras.en-ficha+*{margin-top:16px}
.ficha dd .dim{color:var(--grafito);font-size:.86em}
.ficha dd{font-variant-numeric:tabular-nums}

/* Filtros de Esculturas: reutilizan las clases de etiqueta (que no reciben clics); aquí se reactivan.
   Reposo con contorno; activo, relleno. */
.filtro.destacada,.filtro.expo,.filtro.publica{pointer-events:auto;background:transparent;color:var(--carbon)!important;border:1px solid var(--carbon);min-height:44px}
.filtro.expo{border-color:var(--bronce-tinta);color:var(--bronce-tinta)!important}
.filtro.destacada[aria-pressed="true"]{background:var(--carbon);color:var(--marfil)!important}
.filtro.expo[aria-pressed="true"]{background:var(--bronce-tinta);color:var(--marfil)!important}
.filtro.publica[aria-pressed="true"]{background:var(--carbon);color:var(--marfil)!important}
.filtro[aria-pressed="true"]{box-shadow:none}

/* Libro de visitas: estados del envío */
.form-estado{margin:16px 0 0;font-size:16px;line-height:1.5;min-height:1.5em}
.form-estado.ok{color:var(--carbon);border-top:1px solid var(--carbon);padding-top:12px}
.form-estado.error{color:var(--terracota,#8A3B2E)}
.mensajes-vacio{color:var(--grafito);font-style:italic}

/* Portada en móvil: la escultura primero, debajo nombre, fechas y registro */
@media (max-width:860px){
.hero{display:flex;flex-direction:column}
.hero .retrato-torero{order:-1;width:auto;max-width:80%;max-height:min(42vh,340px);margin:100px auto 0}
.hero .wrap{padding-top:32px}
}

/* Barra inferior de registro (solo móvil, durante la exposición) */
.barra-expo{display:none}
@media (max-width:860px){
.barra-expo{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom)) 16px;background:var(--carbon);color:var(--marfil);border-top:1px solid rgba(244,240,232,.18);transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .32s}
.barra-expo.oculta{transform:translateY(100%);opacity:0;pointer-events:none}
.barra-expo p{margin:0;flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.barra-expo em{font-family:var(--font-serif);font-weight:300;font-size:18px}
.barra-expo span{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ceniza)}
.barra-expo .boton{margin:0;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;background:var(--marfil);color:var(--carbon);border-color:var(--marfil);white-space:nowrap}
.barra-expo .boton::after{content:none}
.barra-cerrar{background:none;border:0;color:var(--ceniza);font-size:24px;line-height:1;width:44px;height:44px;cursor:pointer}
body.con-barra{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
.vobra-barra{display:none}

/* Sala de prensa: ficha rápida de datos */
.ficha-prensa{margin:clamp(24px,3vw,40px) 0 0;max-width:72ch}

/* Sala de prensa: contacto */
.contacto-prensa{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--carbon);max-width:40em}
.contacto-prensa .antetitulo{margin-bottom:12px}
.cp-nombre{margin:0;font-family:var(--font-serif);font-weight:300;font-size:clamp(26px,2.4vw,34px);line-height:1.15}
.cp-cargo{margin:6px 0 0;color:var(--grafito)}
.cp-tel{margin:14px 0 0;font-size:20px;font-weight:500}
.cp-tel a{display:inline-flex;align-items:center;min-height:44px;color:var(--carbon);text-decoration-color:var(--bronce)}
.contacto-prensa .sp-pie{margin-top:8px}

/* Mapa del recorrido: puntos sin números. En reposo, un punto pequeño;
   en la parada activa, el punto muestra la obra y el lugar. */
.rc-pin span{display:block;transform:translate(-5px,-5px);width:10px;height:10px;padding:0;overflow:hidden;background:var(--carbon);border:1px solid var(--bronce-claro);font-size:0;transition:none}
.rc-pin span b,.rc-pin span i{display:none}
.rc-pin.on{z-index:1000!important}
.rc-pin.on span{width:auto;height:auto;overflow:visible;transform:translate(-50%,calc(-100% - 10px));padding:8px 11px 9px;background:var(--bronce-claro);border-color:var(--bronce-claro);color:var(--carbon);font:500 13px/1.2 var(--font-sans);text-align:left;white-space:nowrap;animation:rc-pin-in .25s cubic-bezier(.23,1,.32,1)}
.rc-pin.on span b{display:block;font-weight:600;letter-spacing:.02em}
.rc-pin.on span i{display:block;font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:3px}
.rc-pin.on span::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;margin-left:-5px;background:var(--bronce-claro);transform:rotate(45deg)}
@keyframes rc-pin-in{from{opacity:0;transform:translate(-50%,calc(-100% - 4px))}}
.rc-mapa-n{font-variant-numeric:normal;letter-spacing:.12em}
/* Paradas con varios lugares (San Josemaría): solo el lugar, a la derecha del punto, para que no se pisen */
.rc-pin.on.multi span{transform:translate(-5px,-50%);padding:5px 8px 5px 18px;font-size:11px;background:var(--bronce-claro);animation:none}
.rc-pin.on.multi span b,.rc-pin.on.multi span::after{display:none}
.rc-pin.on.multi span i{margin:0;opacity:1;font-size:10px}
.rc-pin.on.multi span::before{content:"";position:absolute;left:5px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--carbon)}

/* Órdenes: el retrato heredaba top:112px de la versión «sticky» y, al ser relative, bajaba 112 px sobre la lista */
#instituciones .inst-retrato{top:auto}

/* Sala de prensa: contacto a dos columnas (quién / cómo) */
.contacto-prensa{display:grid;grid-template-columns:minmax(0,1fr);gap:24px clamp(32px,5vw,80px);align-items:end;max-width:none;margin-top:clamp(48px,6vw,80px);padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--carbon);border-bottom:1px solid rgba(29,26,24,.18)}
@media (min-width:860px){.contacto-prensa{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.contacto-prensa p{margin:0}
.cp-nombre{font-size:clamp(30px,3vw,44px);line-height:1.05}
.cp-cargo{margin-top:8px!important}
.cp-tel{font-size:clamp(24px,2.2vw,30px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.cp-tel a{text-decoration:none;color:var(--carbon);min-height:0}
.cp-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px!important}
.cp-acciones .boton{margin:0;min-height:44px;display:inline-flex;align-items:center}
.cp-nota{margin-top:14px!important;font-size:14px;color:var(--grafito)}

/* Testimonios: la cabecera cabe en una pantalla (alto de ventana menos la barra de menú) */
@media (min-width:861px){
.test-banner .wrap{min-height:calc(100svh - 84px);max-height:none;padding-top:clamp(28px,5vh,64px);padding-bottom:clamp(28px,5vh,64px)}
.test-banner h1{font-size:clamp(48px,min(6.4vw,11vh),104px)}
.tb-lead{margin-top:clamp(12px,2.4vh,24px);font-size:clamp(16px,min(1.3vw,2.3vh),20px);line-height:1.5}
.tb-voces{margin-top:clamp(20px,4vh,56px)}
.tb-voces a{padding:clamp(9px,1.6vh,16px) 0}
.tb-cta{margin-top:clamp(10px,1.6vh,16px);padding-top:clamp(10px,1.8vh,18px);padding-bottom:clamp(10px,1.8vh,18px)}
}

/* Inauguración como entrada: cuerpo y talón separados por un perforado con dos muescas */
.franja-oscura .ticket{position:relative;background:var(--carbon-2,#2A2623);border:1px solid rgba(179,154,124,.45);overflow:visible}
.franja-oscura .ticket-talon{position:relative;border-color:transparent!important;border-top:2px dashed rgba(179,154,124,.55)!important;padding-right:clamp(48px,5vw,64px)}
@media (min-width:860px){.franja-oscura .ticket-talon{border-top:0!important;border-left:2px dashed rgba(179,154,124,.55)!important}}
/* muescas: medio círculo del color del fondo que «muerde» el borde del billete */
.franja-oscura .ticket-talon::before,.franja-oscura .ticket-talon::after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:var(--carbon);border:1px solid rgba(179,154,124,.45);box-sizing:border-box}
.franja-oscura .ticket-talon::before{top:-16px;left:-15px;clip-path:inset(0 0 0 50%)}
.franja-oscura .ticket-talon::after{top:-16px;right:-15px;clip-path:inset(0 50% 0 0)}
@media (min-width:860px){
.franja-oscura .ticket-talon::before{top:-15px;left:-15px;clip-path:inset(50% 0 0 0)}
.franja-oscura .ticket-talon::after{top:auto;bottom:-15px;right:auto;left:-15px;clip-path:inset(0 0 50% 0)}
}
/* número de entrada en vertical, en el borde del talón */
.ticket-serie{position:absolute;top:50%;right:clamp(14px,1.6vw,22px);transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(179,154,124,.7);white-space:nowrap;pointer-events:none}
@media (min-width:860px){.franja-oscura .ticket{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.franja-oscura .ticket-talon .boton.lleno.franja-cta{align-self:flex-start;max-width:100%;white-space:nowrap}
@media (min-width:860px){.franja-oscura .ticket{max-width:920px;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.franja-oscura .ticket dd strong{white-space:nowrap}}

/* Menú: Esculturas y Sobre Carlos, las dos secciones principales, destacan con más peso y un punto de bronce */
nav.menu a.menu-destacada{font-weight:600;display:inline-flex;align-items:center;gap:8px}
nav.menu a.menu-destacada::before{content:"";width:5px;height:5px;background:var(--bronce);flex:none}
body[data-pagina="index.html"] nav.menu a.menu-destacada::before{background:var(--bronce-claro)}
header.menu-abierto nav.menu a.menu-destacada{font-weight:400;gap:14px}
header.menu-abierto nav.menu a.menu-destacada::before{width:7px;height:7px}
/* Menú móvil: el punto cuelga en el margen para no desplazar el texto; la barra de registro no tapa el menú abierto */
header.menu-abierto nav.menu a.menu-destacada{position:relative}
header.menu-abierto nav.menu a.menu-destacada::before{position:absolute;left:-18px;top:50%;margin-top:-3.5px}
body:has(header.menu-abierto) .barra-expo{display:none}
