:root{
  --bg: #f4ebe0;
  --bg-alt: #ecdec8;
  --cream: #4a3628;
  --cream-dim: #8a7360;
  --gold: #8a5a34;
  --gold-dim: #6f4a29;
  --line: rgba(139,110,79,0.28);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--cream);
  font-family:'Lora', serif;
  font-size:19px;
  line-height:1.7;
}
h1,h2,h3,.brand{
  font-family:'Lora', serif;
  font-weight:600;
  letter-spacing:0.02em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 6%;
  background:linear-gradient(to bottom, rgba(244,235,224,0.94), rgba(244,235,224,0));
  transition:background .3s;
}
header.scrolled{ background:rgba(244,235,224,0.97); border-bottom:1px solid var(--line); }
.brand{font-size:1.3rem; font-weight:700; color:var(--cream); letter-spacing:0.08em; transition:color .3s;}
.brand span{color:var(--gold); transition:color .3s;}
nav ul{list-style:none; display:flex; gap:36px;}
nav a{
  font-size:0.92rem; font-weight:600; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--cream-dim); position:relative; padding-bottom:4px; transition:color .3s;
}
nav a:hover, nav a.active{color:var(--gold);}
nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--gold); transition:width .3s;
}
nav a:hover::after, nav a.active::after{width:100%;}
#menu-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
#menu-toggle span{width:26px; height:1px; background:var(--cream); transition:background .3s;}

/* Cabecera sobre el hero con foto (solo home, antes de hacer scroll):
   letras blancas y más gruesas para que se lean sobre cualquier pintura */
body.hero-page header:not(.scrolled){
  background:linear-gradient(to bottom, rgba(24,17,11,0.4), rgba(24,17,11,0));
}
body.hero-page header:not(.scrolled) .brand{color:#faf6ee; text-shadow:0 1px 10px rgba(0,0,0,0.3);}
body.hero-page header:not(.scrolled) .brand span{color:#e7c79c;}
body.hero-page header:not(.scrolled) nav a{color:rgba(250,246,238,0.92); text-shadow:0 1px 10px rgba(0,0,0,0.25);}
body.hero-page header:not(.scrolled) nav a:hover,
body.hero-page header:not(.scrolled) nav a.active{color:#ffffff;}
body.hero-page header:not(.scrolled) nav a::after{background:#ffffff;}
body.hero-page header:not(.scrolled) #menu-toggle span{background:#faf6ee;}

/* ---------- PAGE HERO (secondary pages) ---------- */
.page-hero{
  min-height:36vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:130px 6% 40px; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(236,222,200,0.7), rgba(244,235,224,0.15));
}
.page-hero .eyebrow{letter-spacing:0.35em; text-transform:uppercase; font-size:0.85rem; color:var(--gold); margin-bottom:18px;}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.6rem); color:var(--cream); font-style:italic; font-weight:400;}
.page-hero p{margin-top:16px; font-size:1.15rem; color:var(--cream-dim); max-width:560px;}

/* ---------- HOME HERO (slideshow minimalista, fijo tipo "reveal") ---------- */
.hero{
  position:fixed; inset:0; overflow:hidden; z-index:0;
  height:100vh; height:100dvh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
}
/* La sección que sigue al hero se desliza por encima y lo va tapando,
   con un leve fundido al comienzo en vez de un corte duro */
.hero + section{
  position:relative; z-index:1;
  background:linear-gradient(to bottom, rgba(244,235,224,0) 0, var(--bg) 320px);
  margin-top:100vh; margin-top:100dvh;
  box-shadow:0 -30px 60px rgba(20,14,9,0.15);
}
/* Hero compacto (ej. Historia): no ocupa toda la pantalla */
.hero.hero-compact{height:82vh; height:82dvh;}
.hero.hero-compact + section{margin-top:82vh; margin-top:82dvh;}
/* Baja el bloque de texto para no tapar la cara en la foto de Historia */
.hero.hero-compact .hero-content{
  position:absolute; left:50%; top:72%; transform:translate(-50%,-50%);
  padding:0 6%;
}
/* Todo lo que viene después (incluido el footer) debe quedar opaco y por
   encima del hero fijo, para que la slideshow no se transparente ahí abajo */
.hero ~ section, .hero ~ footer{
  position:relative; z-index:1; background:var(--bg);
}
.hero-slides{position:absolute; inset:0; z-index:0;}
.hero-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 2.2s ease;
}
.hero-slide.active{opacity:1;}
.hero-slide-placeholder{
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-alt); border:1px dashed var(--line);
}
.placeholder-label{
  position:relative; z-index:2;
  color:#f4ebe0; font-style:italic; font-size:0.95rem;
  letter-spacing:0.03em; max-width:280px; text-align:center; opacity:0.85;
  text-shadow:0 1px 8px rgba(0,0,0,0.3);
}
.hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(35,24,16,0.4), rgba(35,24,16,0.5));
}
.hero-content{position:relative; z-index:2; padding:0 6%;}
.hero-content h1{
  font-size:clamp(2.6rem,7vw,5.5rem); color:#faf5ec; font-style:italic; font-weight:400;
  text-shadow:0 2px 24px rgba(0,0,0,0.35);
  letter-spacing:0.01em;
}
.hero-content h1.soft{color:rgba(244,235,224,0.8); font-weight:400; font-style:italic; font-size:clamp(2rem,4.5vw,3.4rem);}
.hero-content .eyebrow{color:#f4ebe0; text-shadow:0 1px 10px rgba(0,0,0,0.35);}
.scroll-cue{
  margin-top:36px; display:inline-flex; flex-direction:column; align-items:center; gap:10px;
  color:#f4ebe0; letter-spacing:0.25em; text-transform:uppercase; font-size:0.95rem;
  text-shadow:0 1px 12px rgba(0,0,0,0.3); transition:opacity .3s;
}
/* En el hero de la home ya no hay título encima del slideshow;
   el cue de scroll se ancla abajo en vez de quedar flotando al centro */
#inicio .hero-content{position:absolute; left:50%; bottom:56px; transform:translateX(-50%); padding:0;}
#inicio .scroll-cue{margin-top:0;}
.scroll-cue:hover{opacity:0.75;}
.scroll-cue .arrow{font-size:1.35rem; animation:bob 2s ease-in-out infinite;}
@keyframes bob{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(6px);}
}

/* ---------- SECTION SHELL ---------- */
section{padding:120px 6%; max-width:1240px; margin:0 auto;}
section.tight{padding-top:90px;}
.expo-section{position:relative;}
.artist-mark{
  position:absolute; top:92px; right:6%;
  font-style:italic; font-size:0.95rem; letter-spacing:0.03em; color:var(--gold-dim);
}
.section-head{text-align:center; margin-bottom:70px;}
.section-head .eyebrow{letter-spacing:0.35em; text-transform:uppercase; font-size:0.8rem; color:var(--gold);}
.section-head h2{font-size:clamp(2rem,4vw,3rem); margin-top:14px; color:var(--cream); font-weight:400; font-style:italic;}
.divider{width:60px; height:1px; background:var(--gold); margin:24px auto 0;}

/* ---------- HISTORIA ---------- */
.historia{
  display:grid; grid-template-columns:280px 1fr; gap:50px; align-items:start;
  max-width:880px; margin:0 auto;
}
.historia .retrato{border:1px solid var(--line); padding:10px;}
.historia .retrato img{filter:grayscale(15%) contrast(1.02); width:100%; display:block;}
.historia .texto p{margin-bottom:14px; color:var(--cream); font-size:1.08rem; text-wrap:pretty; text-indent:1.8em;}
.historia .texto p:last-child{margin-bottom:0;}
.firma{margin-top:26px; font-family:'Lora',serif; font-style:italic; color:var(--gold); font-size:1.4rem;}

/* ---------- COMENTARIOS (testimonio del artista / ensayo crítico) ---------- */
.comentario{max-width:700px; margin:0 auto;}
.comentario p{margin-bottom:16px; font-size:1.06rem; color:var(--cream); line-height:1.75; text-wrap:pretty; text-indent:1.8em;}
.comentario p:last-of-type{margin-bottom:0;}
.comentario .firma{text-align:right;}
.comentario .titulo-ensayo{
  text-indent:0; text-align:center; font-style:italic; color:var(--gold-dim);
  font-size:1.15rem; margin-bottom:34px;
}
.comentario .epigrafe{
  text-indent:0; font-style:italic; font-size:0.95rem; color:var(--cream-dim);
  border-left:2px solid var(--line); padding-left:20px; margin-bottom:34px; line-height:1.7;
}
.comentario .epigrafe .autor{
  display:block; margin-top:10px; font-style:normal; font-size:0.78rem;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dim);
}

/* ---------- ENSAYO DESPLEGABLE (ej. Diez Pinturas) ---------- */
.ensayo{border-top:1px solid var(--line); max-width:820px; margin:70px auto 0;}
.ensayo summary{
  cursor:pointer; list-style:none; padding:34px 0;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.ensayo summary::-webkit-details-marker{display:none;}
.ensayo summary .eyebrow{letter-spacing:0.3em; text-transform:uppercase; font-size:0.75rem; color:var(--gold);}
.ensayo summary h3{margin-top:10px; font-size:1.5rem; font-weight:400; font-style:italic; color:var(--cream);}
.ensayo-toggle{
  position:relative; flex:none; width:26px; height:26px; border:1px solid var(--line); border-radius:50%;
}
.ensayo-toggle::before, .ensayo-toggle::after{
  content:""; position:absolute; top:50%; left:50%; background:var(--gold);
  transform:translate(-50%,-50%);
}
.ensayo-toggle::before{width:11px; height:1px;}
.ensayo-toggle::after{width:1px; height:11px; transition:opacity .25s;}
.ensayo[open] .ensayo-toggle::after{opacity:0;}
.ensayo .comentario{padding:6px 0 44px;}

/* ---------- CARDS (landing preview + exposiciones overview) ---------- */
.cards-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:34px;}
.card{border:1px solid var(--line); background:var(--bg-alt); transition:transform .3s, border-color .3s; display:block;}
.card:hover{transform:translateY(-6px); border-color:var(--gold);}
.card .cover{aspect-ratio:4/3; overflow:hidden;}
.card .cover img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.card:hover .cover img{transform:scale(1.06);}
.card .body{padding:22px 22px 26px;}
.card .num{font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dim);}
.card h3{font-size:1.5rem; color:var(--cream); font-weight:400; font-style:italic; margin-top:8px;}
.card .anios{font-size:0.9rem; color:var(--gold); margin-top:4px; letter-spacing:0.05em;}
.card p{color:var(--cream-dim); margin-top:12px; font-size:0.98rem;}
.card .ver{margin-top:16px; display:inline-block; font-size:0.85rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold);}

/* ---------- THREE QUICK LINKS (home) ---------- */
.quick-links{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; text-align:center;}
.quick-links a{border:1px solid var(--line); padding:44px 24px; transition:.3s; display:block;}
.quick-links a:hover{border-color:var(--gold); background:var(--bg-alt);}
.quick-links .eyebrow{letter-spacing:0.3em; text-transform:uppercase; font-size:0.75rem; color:var(--gold);}
.quick-links h3{margin-top:14px; font-size:1.4rem; font-weight:400; font-style:italic; color:var(--cream);}
.quick-links p{margin-top:10px; color:var(--cream-dim); font-size:0.95rem;}

/* ---------- GALERÍA (páginas de exposición) ---------- */
.expo-meta-row{display:flex; align-items:baseline; gap:18px; justify-content:center; margin-top:6px;}
.expo-meta-row .anios{color:var(--gold); font-size:1rem; letter-spacing:0.08em;}
.expo-meta-row .galeria{color:var(--cream-dim); font-size:0.95rem; font-style:italic; letter-spacing:0.04em;}
.expo-meta-row .msep{color:var(--gold-dim);}
.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:26px;}
.obra{cursor:pointer;}
.obra .marco{border:1px solid var(--line); padding:8px; background:var(--bg-alt); transition:border-color .3s, transform .3s; overflow:hidden;}
.obra:hover .marco{border-color:var(--gold); transform:translateY(-4px);}
.obra .marco img{width:100%; height:auto; display:block;}
.obra .info{margin-top:12px; text-align:center;}
.obra .info .titulo{font-size:1.05rem; color:var(--cream); font-style:italic;}
.obra .info .tecnica{font-size:0.82rem; color:var(--cream-dim); margin-top:5px;}
.obra .info .dimensiones{font-size:0.82rem; color:var(--cream-dim); margin-top:2px;}
.obra .info .meta{font-size:0.85rem; color:var(--gold-dim); letter-spacing:0.05em; margin-top:4px;}

/* ---------- NAV ENTRE EXPOSICIONES ---------- */
.expo-nav{display:flex; justify-content:space-between; align-items:center; margin-top:90px; padding-top:34px; border-top:1px solid var(--line); flex-wrap:wrap; gap:20px;}
.expo-nav a{font-size:0.95rem; letter-spacing:0.08em; color:var(--cream-dim); transition:.3s;}
.expo-nav a:hover{color:var(--gold);}
.expo-nav .dir{display:block; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.2em; color:var(--gold-dim); margin-bottom:4px;}
.back-link{display:inline-block; margin-bottom:36px; font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dim); transition:.3s;}
.back-link:hover{color:var(--gold);}

/* ---------- CONTACTO ---------- */
.contacto-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
.contacto-info p{color:var(--cream-dim); margin-bottom:26px; font-size:1.1rem;}
.contacto-info .item{margin-bottom:22px;}
.contacto-info .label{display:block; letter-spacing:0.2em; text-transform:uppercase; font-size:0.78rem; color:var(--gold); margin-bottom:6px;}
.contacto-info .value{font-size:1.15rem; color:var(--cream);}
.redes{display:flex; gap:22px; margin-top:30px;}
.redes a{border:1px solid var(--line); padding:10px 20px; font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; transition:.3s;}
.redes a:hover{border-color:var(--gold); color:var(--gold);}

form{display:flex; flex-direction:column; gap:22px;}
.campo{display:flex; flex-direction:column; gap:8px;}
.campo label{font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dim);}
.campo input, .campo textarea{
  background:transparent; border:none; border-bottom:1px solid var(--line);
  color:var(--cream); font-family:'Lora',serif; font-size:1.1rem;
  padding:8px 2px; outline:none; transition:border-color .3s;
}
.campo input:focus, .campo textarea:focus{border-color:var(--gold);}
.campo textarea{resize:vertical; min-height:100px;}
form button{
  align-self:flex-start; margin-top:10px; padding:14px 38px;
  background:transparent; border:1px solid var(--gold); color:var(--gold);
  letter-spacing:0.15em; text-transform:uppercase; font-size:0.85rem; cursor:pointer; transition:.3s;
}
form button:hover{background:var(--gold); color:var(--bg);}
.form-msg{font-size:0.9rem; color:var(--gold); display:none; margin-top:6px;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line); padding:36px 6%; text-align:center; color:var(--gold-dim); font-size:0.85rem; letter-spacing:0.08em;}
.footer-contact{display:flex; justify-content:center; align-items:center; gap:16px; margin-bottom:14px; flex-wrap:wrap;}
.footer-contact a{color:var(--cream); font-size:0.95rem; letter-spacing:0.05em; transition:.3s;}
.footer-contact a:hover{color:var(--gold-dim);}
.footer-contact .sep{color:var(--cream-dim);}
.footer-contact .ig-link{display:inline-flex; align-items:center; gap:8px;}
.footer-contact .ig-icon{width:18px; height:18px; flex:none; transition:transform .3s;}
.footer-contact .ig-link:hover .ig-icon{transform:scale(1.12);}


/* ---------- LIGHTBOX ---------- */
.lightbox{position:fixed; inset:0; background:rgba(34,24,16,0.95); z-index:200; display:none; align-items:center; justify-content:center; flex-direction:column; padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-height:78vh; max-width:90vw; border:1px solid var(--line);}
.lightbox .cap{margin-top:18px; text-align:center;}
.lightbox .cap-titulo{font-size:1.1rem; color:#faf5ec; font-weight:700; font-style:italic;}
.lightbox .cap-tecnica{font-size:0.88rem; color:#faf5ec; font-weight:700; margin-top:6px;}
.lightbox .cap-dim{font-size:0.88rem; color:#faf5ec; font-weight:700; margin-top:2px;}
.lightbox .cap-anio{font-size:0.85rem; color:#faf5ec; font-weight:700; letter-spacing:0.05em; margin-top:4px;}
.lightbox .close{position:absolute; top:30px; right:6%; font-size:1.8rem; color:var(--cream); cursor:pointer; font-family:'Lora',serif;}
.lightbox .close:hover{color:var(--gold);}
.lightbox .lb-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:3rem; line-height:1; color:#faf5ec; cursor:pointer;
  opacity:0.75; transition:color .3s, opacity .3s; user-select:none;
  padding:20px; z-index:2; font-family:'Lora',serif;
}
.lightbox .lb-prev{left:2%;}
.lightbox .lb-next{right:2%;}
.lightbox .lb-arrow:hover{color:var(--gold); opacity:1;}
.lightbox .fs{position:absolute; bottom:28px; right:6%; color:#faf5ec; cursor:pointer; opacity:0.85; transition:color .3s, opacity .3s;}
.lightbox .fs:hover{color:var(--gold); opacity:1;}
.lightbox .fs svg{display:block; width:22px; height:22px;}
.lightbox.max .cap{display:none;}
.lightbox.max img{max-height:96vh; max-width:98vw;}
.lightbox:fullscreen{background:#160f09;}

/* ---------- EXPO SLIDESHOW ---------- */
.expo-slideshow{padding:0 6%; margin-top:52px;}
.slideshow-viewport{position:relative; max-width:780px; margin:0 auto;}
.slideshow-dots{position:relative; display:flex; justify-content:center; gap:8px; margin-bottom:16px;}
.slideshow-dots .dot{width:7px; height:7px; border-radius:50%; background:var(--line); cursor:pointer; transition:background .25s, transform .25s;}
.slideshow-dots .dot:hover{background:var(--gold-dim);}
.slideshow-dots .dot.active{background:var(--gold); transform:scale(1.25);}
.slideshow-frame{position:relative; height:78vh; min-height:480px; display:flex; align-items:center; justify-content:center; user-select:none;}
.slideshow-frame img{display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border:1px solid var(--line); background:var(--bg-alt); opacity:1; transition:opacity .35s ease;}
.slideshow-zone{position:absolute; top:0; bottom:0; width:50%; cursor:pointer; display:flex; align-items:center; z-index:2;}
.zone-prev{left:0; justify-content:flex-start;}
.zone-next{right:0; justify-content:flex-end;}
.slideshow-zone::after{content:""; opacity:0; transition:opacity .25s;}
.zone-prev::after{content:"‹"; margin-left:6px; font-size:2.4rem; color:var(--gold); text-shadow:0 1px 8px rgba(0,0,0,0.35);}
.zone-next::after{content:"›"; margin-right:6px; font-size:2.4rem; color:var(--gold); text-shadow:0 1px 8px rgba(0,0,0,0.35);}
.slideshow-zone:hover::after{opacity:0.9;}
.slideshow-cap{text-align:center; margin-top:18px; padding:0 20px;}
.slideshow-cap .cap-titulo{font-size:1.1rem; color:var(--cream); font-weight:600; font-style:italic;}
.slideshow-cap .cap-tecnica{font-size:0.85rem; color:var(--cream-dim); margin-top:6px;}
.slideshow-cap .cap-dim{font-size:0.85rem; color:var(--cream-dim); margin-top:2px;}
.slideshow-cap .cap-anio{font-size:0.82rem; color:var(--gold-dim); letter-spacing:0.05em; margin-top:4px;}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.show{opacity:1; transform:translateY(0);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:860px){
  .contacto-wrap{grid-template-columns:1fr;}
  .artist-mark{position:static; display:block; text-align:center; margin-bottom:14px; font-size:0.85rem;}
  nav ul{
    position:fixed; top:0; right:-100%; height:100vh; width:70%;
    background:var(--bg-alt); flex-direction:column; justify-content:center;
    align-items:flex-start; padding:0 40px; gap:30px; transition:right .35s;
    border-left:1px solid var(--line);
  }
  nav ul.open{right:0;}
  #menu-toggle{display:flex;}
  section{padding:90px 6%;}
  .page-hero{padding-top:120px;}
  .historia{grid-template-columns:1fr;}
  .historia .retrato{width:220px; margin:0 auto;}
  .slideshow-frame{height:52vh; min-height:340px;}
  .zone-prev::after, .zone-next::after{font-size:1.9rem;}
  /* El panel del menú móvil siempre es claro, aunque el header esté sobre el hero */
  body.hero-page header:not(.scrolled) nav ul.open a{color:var(--cream-dim); text-shadow:none;}
  body.hero-page header:not(.scrolled) nav ul.open a:hover,
  body.hero-page header:not(.scrolled) nav ul.open a.active{color:var(--gold);}
}

/* ---------- TÁCTIL (iPhone / tablets): controles siempre visibles ---------- */
@media (hover:none){
  .slideshow-zone::after{opacity:0.8;}
  .lightbox .lb-arrow{opacity:0.85;}
  .slideshow-dots .dot{width:11px; height:11px;}
  .slideshow-dots{gap:12px;}
}

/* ---------- TELÉFONOS ---------- */
@media (max-width:600px){
  section{padding:70px 5%;}
  .page-hero{min-height:30vh; padding:110px 5% 34px;}
  .page-hero h1{font-size:2rem;}
  .page-hero p{font-size:1rem;}
  .expo-slideshow{padding:0 5%; margin-top:36px;}
  .slideshow-frame{height:46vh; min-height:280px;}
  .slideshow-cap .cap-titulo{font-size:1rem;}
  .slideshow-cap .cap-tecnica, .slideshow-cap .cap-dim{font-size:0.8rem;}
  .grid{grid-template-columns:repeat(2,1fr); gap:16px;}
  .obra .marco{padding:5px;}
  .obra .info{margin-top:9px;}
  .obra .info .titulo{font-size:0.9rem;}
  .obra .info .tecnica, .obra .info .dimensiones{font-size:0.72rem;}
  .obra .info .meta{font-size:0.75rem;}
  .cards-grid{grid-template-columns:1fr; gap:24px;}
  .expo-nav{flex-direction:column; align-items:flex-start; gap:24px; margin-top:60px;}
  .expo-nav a[style]{text-align:left !important;}
  .lightbox{padding:16px;}
  .lightbox img{max-height:70vh; max-width:96vw;}
  .lightbox .lb-arrow{font-size:2.3rem; padding:14px;}
  .lightbox .lb-prev{left:0;}
  .lightbox .lb-next{right:0;}
  .lightbox .close{top:16px; right:5%;}
  .lightbox .fs{bottom:18px; right:5%;}
  .lightbox .cap-titulo{font-size:0.95rem;}
  .lightbox .cap-tecnica, .lightbox .cap-dim{font-size:0.8rem;}
  /* Slideshow de inicio: más compacto, arriba, obra completa sin recorte ni bordes oscuros */
  .home .hero{bottom:auto; height:52dvh; margin-top:64px;}
  .home .hero + section{margin-top:calc(52dvh + 64px); background:var(--bg); box-shadow:none;}
  #inicio .hero-slide{background-size:contain; background-repeat:no-repeat; background-color:var(--bg);}
  #inicio .hero-overlay{display:none;}
  #inicio .hero-content{display:none;}
  body.home.hero-page header:not(.scrolled){background:var(--bg);}
  body.home.hero-page header:not(.scrolled) .brand{color:var(--cream); text-shadow:none;}
  body.home.hero-page header:not(.scrolled) .brand span{color:var(--gold);}
  body.home.hero-page header:not(.scrolled) nav a{color:var(--cream-dim); text-shadow:none;}
  body.home.hero-page header:not(.scrolled) #menu-toggle span{background:var(--cream);}
  /* Textos de Historia: letra levemente menor y párrafos limpios */
  .historia .texto p{font-size:0.95rem; line-height:1.7; text-indent:1.3em; hyphens:auto; -webkit-hyphens:auto;}
  .comentario p{font-size:0.95rem; line-height:1.7; text-indent:1.3em; hyphens:auto; -webkit-hyphens:auto;}
  .comentario .epigrafe{font-size:0.88rem;}
  .ensayo summary h3{font-size:1.1rem;}
  #inicio .hero-content{bottom:0; width:100%;}
  .footer-contact{flex-direction:column; gap:10px;}
  .footer-contact .sep{display:none;}
}
