/* generado a partir de cauce.css */
body.tema-noche{
  --papel:#0a0909; --tinta:#efe4cc; --tinta-2:#c9bfa8; --lapiz:#8f877a; --tenue:#6b645b}
@media (prefers-color-scheme: dark){body.tema-noche :root:not([data-theme="light"]){ --papel:#0a0909; --tinta:#efe4cc}
}
body.tema-noche :root[data-theme="dark"]{ --papel:#0a0909; --tinta:#efe4cc}
body.tema-noche ::selection{background:rgba(239,228,204,.18)}
body.tema-noche .cabecera.baja{background:linear-gradient(rgba(10,9,9,.9),rgba(10,9,9,.6) 55%,rgba(10,9,9,0))}
body.tema-noche .filtros{background:radial-gradient(ellipse at 30% 50%,rgba(10,9,9,.9),rgba(10,9,9,0) 75%)}
body.tema-noche .cartel{box-shadow:0 18px 30px rgba(239,228,204,.18),0 2px 4px rgba(239,228,204,.12)}
body.tema-noche .obra a:hover .cartel,body.tema-noche .obra a:focus-visible .cartel{box-shadow:0 26px 40px rgba(239,228,204,.24),0 2px 4px rgba(239,228,204,.12)}
body.tema-noche .contacto a{border-bottom:1px solid rgba(239,228,204,.25)}
body.tema-noche .ficha{border-top:1px solid rgba(239,228,204,.2);border-bottom:1px solid rgba(239,228,204,.2)}
body.tema-noche .fotograma{background:rgba(239,228,204,.06);border:1px solid rgba(239,228,204,.14)}
body.tema-noche .enlace{border:1px solid rgba(239,228,204,.45)}
body.tema-noche .enlace:hover{background:rgba(239,228,204,.06)}
body.tema-noche .rio-abajo{border-top:1px solid rgba(239,228,204,.2)}
body.tema-noche .gruta-logo{box-shadow:0 24px 50px rgba(239,228,204,.22)}
body.tema-noche .gruta-ir{border-bottom:1px solid rgba(239,228,204,.3)}
body.tema-noche .video{box-shadow:0 20px 40px rgba(239,228,204,.18)}
body.tema-noche .festivales a{border-bottom:1px solid rgba(239,228,204,.25)}
body.tema-noche img.fotograma{box-shadow:0 14px 30px rgba(239,228,204,.16)}
body.tema-noche .visor::backdrop{background:rgba(10,9,9,.94)}
body.tema-noche .visor img{box-shadow:0 30px 70px rgba(239,228,204,.3)}
body.tema-noche .librerias a{border-bottom:1px solid rgba(239,228,204,.2)}
body.tema-noche .relacionado img{box-shadow:0 10px 20px rgba(239,228,204,.18)}
body.tema-noche .ver-vimeo a{border-bottom:1px solid rgba(239,228,204,.25)}
body.tema-noche .premios a{border-bottom:1px solid rgba(239,228,204,.3)}
body.tema-noche .bloque dl dt.grupo{border-top:1px solid rgba(239,228,204,.15)}
body.tema-noche .proxima{background:rgba(10,9,9,.82);border:1px solid rgba(239,228,204,.25)}
body.tema-noche .proxima:hover{background:rgba(10,9,9,.95)}
body.tema-noche .mes{border-bottom:1px solid rgba(239,228,204,.25)}
body.tema-noche .eventos{background:rgba(10,9,9,.78)}
body.tema-noche .evento{border-bottom:1px solid rgba(239,228,204,.12)}
body.tema-noche .ev-lugar{border-bottom:1px solid rgba(239,228,204,.2)}
body.tema-noche .ev-boton{border:1px solid rgba(239,228,204,.4)}
body.tema-noche .ev-boton:hover{background:rgba(239,228,204,.06)}
body.tema-noche .ev-cal{border-bottom:1px solid rgba(239,228,204,.25)}
@media (max-width:760px){body.tema-noche .eventos{background:rgba(10,9,9,.9)}
}
body.tema-noche .sello{border:1px solid rgba(239,228,204,.25);background:rgba(10,9,9,.85)}
body.tema-noche .sello img{box-shadow:0 8px 18px rgba(239,228,204,.2)}
body.tema-noche .sello-ir{border-bottom:1px solid rgba(239,228,204,.3)}
@media (max-width:760px){body.tema-noche .cabecera .indice{background:rgba(10,9,9,.995)}
}

/* ---------- La Noche sin sombra: noche, papel viejo y niebla ---------- */
@keyframes anochecer-ns{from{background-color:#f1ede3}to{background-color:#06070a}}
html:has(body.tema-noche){background:radial-gradient(ellipse at 50% 0%,#0d1018 0%,#07080c 55%,#050506 100%) fixed #06070a}
body.tema-noche{background:transparent!important;color:#e9dfc8;color-scheme:dark}
html:has(body.tema-noche){animation:anochecer-ns 1.2s ease both}
body.tema-noche #cielo{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
body.tema-noche #niebla{position:fixed;inset:-5%;width:110%;height:110%;z-index:-1;pointer-events:none;filter:blur(18px)}
body.tema-noche .cabecera.baja{background:linear-gradient(rgba(10,9,9,.95),rgba(10,9,9,.7) 55%,rgba(10,9,9,0))}
body.tema-noche .marca-chica{opacity:1;transform:none}
body.tema-noche .menu-boton{color:#efe4cc}
body.tema-noche details summary{cursor:pointer}
.ns{--crema:#efe4cc;--rojo:#b43a3f;--gris:#8f877a;position:relative;max-width:74rem;margin:0 auto;padding:6.5rem 6vw 8vh}
.ns h1,.ns h2,.ns h3{font-family:"Archivo Black",sans-serif;font-weight:400;color:var(--crema);letter-spacing:.01em}
.ns-sc,.ns-tipo,.ns-cred dt,.ns-ficha dt,.ns-nav a,.ns-historias,.ns-mapa-piezas small{font-variant:small-caps;letter-spacing:.06em}
.ns .volver{display:inline-flex;margin-bottom:2.4rem;color:var(--gris)}
.ns-portada-grid{display:grid;grid-template-columns:minmax(220px,420px) minmax(0,1fr);gap:clamp(1.8rem,5vw,4.4rem);align-items:center}
.ns-cartel img{width:100%;height:auto;display:block;box-shadow:0 30px 70px -30px #000}
.ns-sc{color:var(--rojo);font-size:1.15rem;margin:0 0 .6rem}
.ns h1{font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:.95;text-transform:uppercase;margin:0 0 1.4rem}
.ns-bajada{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.5;font-weight:300;max-width:34rem;margin:0 0 2rem}
.ns-cta{display:inline-grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:1.2rem;align-items:end;text-decoration:none;border:1px solid var(--crema);padding:1rem 1.4rem 1.1rem;background:rgba(10,9,9,.55);transition:background .35s,color .35s}
.ns-cta span{grid-column:1/-1;font-variant:small-caps;letter-spacing:.06em;color:var(--gris);font-size:1rem;transition:color .35s}
.ns-cta strong{font-family:"Archivo Black",sans-serif;font-weight:400;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;color:var(--crema);transition:color .35s}
.ns-cta em{font-style:normal;font-size:1.8rem;color:var(--rojo);transition:transform .35s}
.ns-cta:hover{background:var(--crema)}.ns-cta:hover strong{color:#0a0909}.ns-cta:hover span{color:#5c554c}.ns-cta:hover em{transform:translate(4px,-4px)}
.ns-ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.6rem;margin:2.4rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(239,228,204,.18);max-width:34rem}
.ns-ficha div{margin:0}.ns-ficha dt{color:var(--rojo);font-size:.95rem}.ns-ficha dd{margin:.1rem 0 0;font-size:1rem}
.ns-nav{position:sticky;top:62px;z-index:6;display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 2rem;margin:8vh 0 0;padding:.6rem 0;background:rgba(10,9,9,.9);backdrop-filter:blur(6px);border-top:1px solid rgba(239,228,204,.15);border-bottom:1px solid rgba(239,228,204,.15)}
.ns-nav a{color:var(--gris);text-decoration:none;font-size:1.05rem;min-height:40px;display:inline-flex;align-items:center}
.ns-nav a:hover{color:var(--crema)}
.ns-sec{position:relative;padding:13vh 0 0;scroll-margin-top:110px}
.ns-sec>h2{font-size:clamp(2.2rem,4.6vw,3.6rem);text-transform:uppercase;margin:0 0 2.4rem;line-height:1}
.ns-prosa p{font-size:clamp(1.1rem,1.45vw,1.28rem);line-height:1.6;font-weight:300;max-width:40rem;margin:0 0 1.3em}
.ns-texto-sec .ns-prosa{margin-left:clamp(0rem,10vw,9rem)}
.ns-destacado{font-variant:small-caps;letter-spacing:.04em;color:var(--crema);font-weight:400!important;font-size:clamp(1.25rem,1.8vw,1.5rem)!important}
.recorte{mix-blend-mode:lighten;display:block;height:auto}
.deco{position:absolute;pointer-events:none;opacity:.9}
.d1{right:0;top:13vh;width:min(22vw,190px)}
.d2{left:-2vw;bottom:-4rem;width:min(12vw,110px)}
.d3{right:2vw;top:16vh;width:min(18vw,170px)}
.d4{right:6vw;bottom:-3rem;width:min(22vw,220px);transform:rotate(-4deg)}
.d5{right:4vw;top:12vh;width:min(12vw,120px);transform:rotate(6deg)}
.d6{right:6vw;bottom:9rem;width:min(10vw,100px)}
.ns-universo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start}
.ns-historias{list-style:none;margin:0;padding:0;columns:2 12rem;column-gap:2rem;font-size:1.15rem;line-height:1.7;color:var(--crema)}
.ns-mapa-piezas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.6rem;align-items:end}
.ns-mapa-piezas a{text-decoration:none;display:grid;gap:.6rem;justify-items:center;text-align:center;transition:transform .5s}
.ns-mapa-piezas a:hover{transform:translateY(-6px) rotate(-1deg)}
.ns-mapa-piezas img{width:100%;max-height:190px;object-fit:contain}
.ns-mapa-piezas span{font-family:"Archivo Black",sans-serif;font-size:.86rem;color:var(--crema);line-height:1.2}
.ns-mapa-piezas small{display:block;font-family:"Newsreader",serif;color:var(--gris);font-size:.95rem;margin-top:.2rem}
.ns-pieza{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.6rem,4vw,4rem);align-items:center;padding:4rem 0;border-top:1px solid rgba(239,228,204,.12);scroll-margin-top:110px}
.ns-pieza:nth-child(odd of .ns-pieza){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.ns-pieza:nth-child(odd of .ns-pieza) .ns-pieza-img{order:2}
.ns-pieza-img{position:relative;display:grid;justify-items:center}
.ns-pieza-img img{width:100%;max-width:440px;max-height:420px;object-fit:contain}
.ns-pieza-img .flota{position:absolute;right:0;bottom:-2rem;width:55%;transform:rotate(-3deg)}
.ns-pieza h3{font-size:clamp(1.6rem,3vw,2.3rem);text-transform:uppercase;margin:0;line-height:1.05}
.ns-tipo{color:var(--rojo);font-size:1.3rem;margin:.3rem 0 .4rem}
.ns-datos{color:var(--gris);font-size:.98rem;margin:0 0 1rem}
.ns-texto{font-weight:300;line-height:1.55;margin:0 0 1.4rem;max-width:36rem}
.ns-cred{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.25rem 1.2rem;margin:0 0 1.6rem;font-size:.98rem}
.ns-cred dt{color:var(--rojo)}.ns-cred dd{margin:0}
.ns-proximos{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:2rem 1.6rem;align-items:center}
.ns-prox{position:relative;display:block;text-decoration:none}
.ns-prox img{width:100%;height:auto;display:block;mix-blend-mode:lighten;transition:transform .5s}
a.ns-prox:hover img{transform:scale(1.04) rotate(-1deg)}
.ns-ver{position:absolute;right:0;bottom:-1.4rem;font-variant:small-caps;letter-spacing:.06em;color:var(--rojo)}
.ns-h3{font-size:1rem!important;color:var(--gris)!important;margin-bottom:.8rem!important}
#premio{padding-top:9vh}
#premio a{color:var(--crema);text-decoration-color:rgba(239,228,204,.35)}
.ns-nosotros{max-width:40rem}
.ns-nosotros p{font-size:1.15rem;line-height:1.6;font-weight:300}
.ns-nosotros b{font-weight:500;color:var(--crema)}
.ns-contacto a{color:var(--crema)}
.ns-cta.grande{display:inline-grid;margin-top:5rem;max-width:44rem;justify-content:start}
.ns-cta.grande strong{font-size:clamp(2.4rem,6vw,4.6rem)}
.ns .rio-abajo{margin-top:12vh}
@media (max-width:860px){
  .ns-portada-grid,.ns-universo,.ns-pieza,.ns-pieza:nth-child(odd of .ns-pieza){grid-template-columns:1fr}
  .ns-pieza:nth-child(odd of .ns-pieza) .ns-pieza-img{order:0}
  .ns-cartel{max-width:70%}
  .ns-texto-sec .ns-prosa{margin-left:0}
  .deco{display:none}
  .ns-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:1.2rem;top:56px}.ns-nav a{white-space:nowrap}
  .ns-ficha{grid-template-columns:1fr 1fr}
}
body.tema-noche main.ns{z-index:auto;animation:none;filter:none}
.ns-mapa-piezas{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.2rem}.ns-mapa-piezas img{max-height:150px}@media (max-width:860px){.ns-mapa-piezas{grid-template-columns:repeat(2,minmax(0,1fr))}}
