/* generado a partir de cauce.css */
body.tema-deriva{
  --papel:#060606; --tinta:#ececec; --tinta-2:#c8c8c8; --lapiz:#8a8a8a; --tenue:#5e5e5e}
@media (prefers-color-scheme: dark){body.tema-deriva :root:not([data-theme="light"]){ --papel:#060606; --tinta:#ececec}
}
body.tema-deriva :root[data-theme="dark"]{ --papel:#060606; --tinta:#ececec}
body.tema-deriva ::selection{background:rgba(236,236,236,.18)}
body.tema-deriva .cabecera.baja{background:linear-gradient(rgba(6,6,6,.9),rgba(6,6,6,.6) 55%,rgba(6,6,6,0))}
body.tema-deriva .filtros{background:radial-gradient(ellipse at 30% 50%,rgba(6,6,6,.9),rgba(6,6,6,0) 75%)}
body.tema-deriva .cartel{box-shadow:0 18px 30px rgba(236,236,236,.18),0 2px 4px rgba(236,236,236,.12)}
body.tema-deriva .obra a:hover .cartel,body.tema-deriva .obra a:focus-visible .cartel{box-shadow:0 26px 40px rgba(236,236,236,.24),0 2px 4px rgba(236,236,236,.12)}
body.tema-deriva .contacto a{border-bottom:1px solid rgba(236,236,236,.25)}
body.tema-deriva .ficha{border-top:1px solid rgba(236,236,236,.2);border-bottom:1px solid rgba(236,236,236,.2)}
body.tema-deriva .fotograma{background:rgba(236,236,236,.06);border:1px solid rgba(236,236,236,.14)}
body.tema-deriva .enlace{border:1px solid rgba(236,236,236,.45)}
body.tema-deriva .enlace:hover{background:rgba(236,236,236,.06)}
body.tema-deriva .rio-abajo{border-top:1px solid rgba(236,236,236,.2)}
body.tema-deriva .gruta-logo{box-shadow:0 24px 50px rgba(236,236,236,.22)}
body.tema-deriva .gruta-ir{border-bottom:1px solid rgba(236,236,236,.3)}
body.tema-deriva .video{box-shadow:0 20px 40px rgba(236,236,236,.18)}
body.tema-deriva .festivales a{border-bottom:1px solid rgba(236,236,236,.25)}
body.tema-deriva img.fotograma{box-shadow:0 14px 30px rgba(236,236,236,.16)}
body.tema-deriva .visor::backdrop{background:rgba(6,6,6,.94)}
body.tema-deriva .visor img{box-shadow:0 30px 70px rgba(236,236,236,.3)}
body.tema-deriva .librerias a{border-bottom:1px solid rgba(236,236,236,.2)}
body.tema-deriva .relacionado img{box-shadow:0 10px 20px rgba(236,236,236,.18)}
body.tema-deriva .ver-vimeo a{border-bottom:1px solid rgba(236,236,236,.25)}
body.tema-deriva .premios a{border-bottom:1px solid rgba(236,236,236,.3)}
body.tema-deriva .bloque dl dt.grupo{border-top:1px solid rgba(236,236,236,.15)}
body.tema-deriva .proxima{background:rgba(6,6,6,.82);border:1px solid rgba(236,236,236,.25)}
body.tema-deriva .proxima:hover{background:rgba(6,6,6,.95)}
body.tema-deriva .mes{border-bottom:1px solid rgba(236,236,236,.25)}
body.tema-deriva .eventos{background:rgba(6,6,6,.78)}
body.tema-deriva .evento{border-bottom:1px solid rgba(236,236,236,.12)}
body.tema-deriva .ev-lugar{border-bottom:1px solid rgba(236,236,236,.2)}
body.tema-deriva .ev-boton{border:1px solid rgba(236,236,236,.4)}
body.tema-deriva .ev-boton:hover{background:rgba(236,236,236,.06)}
@media (max-width:760px){body.tema-deriva .eventos{background:rgba(6,6,6,.9)}
}
body.tema-deriva .sello{border:1px solid rgba(236,236,236,.25);background:rgba(6,6,6,.85)}
body.tema-deriva .sello img{box-shadow:0 8px 18px rgba(236,236,236,.2)}
body.tema-deriva .sello-ir{border-bottom:1px solid rgba(236,236,236,.3)}
@media (max-width:760px){body.tema-deriva .cabecera .indice{background:rgba(6,6,6,.995)}
}
/* ---------- DERIVA.MX: identidad del proyecto — Montserrat + Asap, negro, rojo y verde de los grafos, líneas finas, mapas en blanco y negro ---------- */
@font-face{font-family:"Montserrat";src:url("/assets/deriva/fuentes/montserrat-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/assets/deriva/fuentes/montserrat-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("/assets/deriva/fuentes/asap-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("/assets/deriva/fuentes/asap-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Asap";src:url("/assets/deriva/fuentes/asap-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

html:has(body.tema-deriva){background:#000;overflow-x:hidden}
body.tema-deriva{background:transparent!important;color:#e9e9e9;color-scheme:dark}
body.tema-deriva #grafo{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;transition:opacity .2s linear}
body.tema-deriva .cabecera.baja{background:linear-gradient(rgba(0,0,0,.96),rgba(0,0,0,.75) 55%,rgba(0,0,0,0))}
body.tema-deriva .marca-chica{opacity:1;transform:none}
body.tema-deriva .menu-boton{color:#fff}
body.tema-deriva details summary{cursor:pointer}
body.tema-deriva ::selection{background:#e8332b;color:#fff}

.dv{--blanco:#fff;--rojo:#e8332b;--verde:#56be48;--gris:#8c8c8c;--linea:rgba(255,255,255,.16);
  --titulo:"Montserrat","Helvetica Neue",Arial,sans-serif;--cuerpo:"Asap","Helvetica Neue",Arial,sans-serif;
  position:relative;max-width:80rem;margin:0 auto;padding:6.5rem 5vw 8vh;font-family:var(--cuerpo);font-size:1.06rem;line-height:1.55}
.dv h1,.dv h2,.dv h3{font-family:var(--titulo);font-weight:800;color:var(--blanco);letter-spacing:.005em;text-transform:uppercase}
.dv a{color:var(--blanco)}
.dv .volver{display:inline-flex;margin-bottom:2rem;color:var(--gris);font-family:var(--titulo);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.dv-sc,.dv-nav a,.dv-info-sc,.dv-num,.dv-dur,.pr-n,.po-n,.dv-equipo dt,.dv-cifras dd,.dv-unidades .dv-mono,.dv-pasos span,.dv-btn,.dv-cta span{font-family:var(--titulo);font-weight:700;text-transform:uppercase;letter-spacing:.07em}

/* portada */
.dv-portada{position:relative;min-height:calc(90vh - 6.5rem);display:flex;flex-direction:column;justify-content:center}
.dv-portada::after{content:"";position:absolute;right:-5vw;bottom:-8vh;width:min(62vw,880px);aspect-ratio:879/439;background:url("/assets/deriva/fuego-bandera.jpg") center/cover;mix-blend-mode:lighten;z-index:-1;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 40% 60%,#000 35%,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 40% 60%,#000 35%,transparent 75%)}
.dv-sc{color:var(--verde);font-size:.74rem;margin:0 0 1.4rem}
.dv h1{margin:0;line-height:0}
.dv h1 img{width:min(100%,940px);height:auto;filter:drop-shadow(0 0 30px #000)}
.dv-lema{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,3.2vw,2.5rem);line-height:1.05;margin:1.1rem 0 1.6rem;
  background:linear-gradient(90deg,#e8332b 0%,#f05a3c 30%,#f3e6d0 52%,#7fcf6c 72%,#56be48 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px #000)}
.dv-bajada{max-width:36rem;font-size:clamp(1.05rem,1.4vw,1.2rem);color:#d6d6d6;margin:0 0 2.2rem;text-shadow:0 0 14px #000,0 0 4px #000}
.dv-cta{display:inline-grid;grid-template-columns:auto auto;column-gap:1.2rem;align-items:end;align-self:flex-start;text-decoration:none;border:1.5px solid var(--blanco);padding:.85rem 1.3rem .95rem;background:rgba(0,0,0,.65);transition:background .3s}
.dv-cta span{grid-column:1/-1;font-size:.68rem;color:var(--gris)}
.dv-cta strong{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.05}
.dv-cta em{font-style:normal;font-size:1.5rem;color:var(--rojo);transition:transform .3s}
.dv-cta:hover{background:var(--blanco)}.dv-cta:hover strong{color:#000}.dv-cta:hover em{transform:translateY(4px)}

/* navegación */
.dv-nav{position:sticky;top:62px;z-index:6;display:flex;justify-content:center;flex-wrap:wrap;gap:.1rem 1.8rem;margin:6vh 0 0;padding:.45rem 0;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.dv-nav a{color:var(--gris);text-decoration:none;font-size:.7rem;min-height:40px;display:inline-flex;align-items:center}
.dv-nav a:hover{color:var(--blanco)}

.dv-sec{position:relative;padding:12vh 0 0;scroll-margin-top:110px}
.dv-sec>h2,.dv-cab h2{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.08;margin:0 0 2.2rem}
.dv-cab{display:grid;grid-template-columns:auto minmax(0,30rem);gap:1rem 3rem;align-items:end;justify-content:space-between;margin-bottom:2.2rem}
.dv-cab h2{margin:0}.dv-cab p{margin:0;color:#bdbdbd}

/* secciones claras: como las láminas de análisis del archivo — fondo blanco, línea negra */
.dv-claro{background:#fff;color:#111;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);padding-bottom:12vh;margin-top:12vh;--linea:#111}
.dv-claro h2,.dv-claro h3{color:#000}
.dv-claro a{color:#000}

/* visor */
.dv-visor{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:1.4rem;align-items:start}
.dv-pantalla{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--linea);overflow:hidden}
.dv-pantalla iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.dv-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.dv-poster img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:opacity .4s,transform 1.2s}
.dv-poster:hover img{opacity:1;transform:scale(1.015)}
.dv-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:2px solid #fff;background:rgba(232,51,43,.92);transition:transform .3s,background .3s}
.dv-play::after{content:"";position:absolute;left:32px;top:24px;border-style:solid;border-width:17px 0 17px 27px;border-color:transparent transparent transparent #fff}
.dv-poster:hover .dv-play{transform:scale(1.08);background:rgba(86,190,72,.92)}
.dv-info{padding:1.4rem 1.2rem 1.4rem 0;background:linear-gradient(90deg,rgba(0,0,0,.92) 70%,rgba(0,0,0,0))}
.dv-info-sc{color:var(--rojo);font-size:.72rem;margin:0 0 .4rem}
.dv-info h3{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.15;margin:0 0 .7rem}
.dv-info-datos{font-size:.88rem;color:var(--gris);margin:0 0 1rem}
.dv-info-texto{max-width:44rem;color:#d8d8d8;margin:0 0 1rem}
.dv-etiquetas{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem;font-size:.86rem}
.dv-etiquetas span{border:1px solid var(--verde);color:var(--verde);padding:.05rem .5rem}
.dv-acciones{display:flex;flex-wrap:wrap;gap:.6rem}
.dv-btn{font-size:.68rem;color:var(--blanco);background:transparent;border:1.5px solid var(--blanco);padding:.55rem .9rem;min-height:42px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .25s,color .25s}
.dv-btn:hover{background:var(--blanco);color:#000}
.dv-btn.tenue{border-color:var(--linea);color:var(--gris)}.dv-btn.tenue:hover{color:#000}
.dv-lista{position:relative;list-style:none;margin:0;padding:0 .4rem;background:rgba(0,0,0,.9);max-height:min(78vh,760px);overflow:auto;border-top:1px solid var(--linea);scrollbar-width:thin;scrollbar-color:#333 transparent}
.dv-lista li{border-bottom:1px solid var(--linea)}
.dv-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:.8rem;width:100%;text-align:left;padding:.7rem .3rem .7rem 0;background:none;border:0;color:var(--blanco);cursor:pointer;font-family:var(--cuerpo);transition:background .25s}
.dv-item:hover{background:rgba(255,255,255,.05)}
.dv-item[aria-current="true"]{background:rgba(232,51,43,.14)}
.dv-item[aria-current="true"] .dv-num{color:var(--rojo)}
.dv-item:disabled{cursor:default;opacity:.45}
.dv-mini{grid-row:1/4;align-self:center;aspect-ratio:16/9;background:#141414;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dv-mini img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:filter .4s}
.dv-item:hover .dv-mini img,.dv-item[aria-current="true"] .dv-mini img{filter:none}
.dv-sin{font-family:var(--titulo);font-weight:700;font-size:.58rem;color:var(--gris);text-transform:uppercase;letter-spacing:.06em}
.dv-num{font-size:.66rem;color:var(--gris)}
.dv-tema{grid-column:2/4;font-family:var(--titulo);font-weight:800;font-size:.95rem;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere}
.dv-donde{grid-column:2;font-size:.78rem;color:var(--gris);line-height:1.3}
.dv-dur{grid-row:1;grid-column:3;font-size:.66rem;color:var(--gris)}

/* concepto */
.dv-dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 4rem}
.dv-dos>h2{grid-column:1/-1}
.dv-prosa p{margin:0 0 1.1rem;color:#d6d6d6;text-shadow:0 0 12px #000,0 0 4px #000}
.dv-prosa h3{font-size:1rem;margin:2rem 0 .8rem;color:var(--verde);letter-spacing:.06em}
.dv-preguntas{align-self:center}
.dv-preguntas p{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.08;color:var(--rojo);margin:0 0 2rem;text-shadow:0 0 20px #000}
.dv-preguntas p:last-child{color:var(--verde)}

/* cómo funciona (claro) */
.dv-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid #111}
.dv-pasos li{padding:1.3rem 1.2rem 1.5rem;color:#333;font-size:.98rem;border-right:1.5px solid #111}
.dv-pasos li:last-child{border-right:0}
.dv-pasos span{display:block;color:#000;font-size:2.4rem;font-weight:800;letter-spacing:0;line-height:1;margin-bottom:.8rem}
.dv-pasos b{display:block;font-family:var(--titulo);font-weight:800;text-transform:uppercase;color:#000;font-size:1rem;line-height:1.15;margin-bottom:.6rem}
.dv-unidades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem;margin-top:4rem}
.dv-unidades h3{font-size:1.5rem;margin:0 0 .3rem}
.dv-unidades .dv-mono{color:#666;font-size:.68rem;margin:0 0 .7rem}
.dv-unidades p{color:#333;margin:0}
.dv-nota{max-width:46rem;margin:3rem 0 0;color:#555;font-size:.98rem}
.dv-fotos{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin:3rem 0 0}
.dv-fotos a{display:block;aspect-ratio:3/4;overflow:hidden;border:1.5px solid #111}
.dv-fotos img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15);transition:filter .5s,transform 1s}
.dv-fotos a:hover img{filter:none;transform:scale(1.05)}

/* proyecciones */
.dv-proy{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea);background:rgba(0,0,0,.82)}
.dv-proy li{display:grid;grid-template-columns:3.2rem minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 4.5rem;gap:.4rem 1.2rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--linea)}
.pr-n{color:var(--rojo);font-size:.75rem}
.pr-t{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:.98rem;line-height:1.2}
.pr-t em{font-style:normal;font-weight:700;font-size:.7rem;color:var(--verde);margin-left:.5rem;vertical-align:.1em;letter-spacing:.06em}
.pr-l,.pr-f{font-size:.9rem;color:var(--gris)}
.pr-ver{font-family:var(--titulo);font-weight:700;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--blanco);background:none;border:1px solid var(--linea);padding:.35rem .55rem;cursor:pointer;justify-self:end}
.pr-ver:hover{border-color:var(--rojo);color:var(--rojo)}
.pr-ver.off{border:0;color:#444;cursor:default}

/* postales */
.dv-postales{border-top:1px solid var(--linea);background:rgba(0,0,0,.82)}
.dv-postal{border-bottom:1px solid var(--linea)}
.dv-postal summary{list-style:none;display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:1rem 0;min-height:44px}
.dv-postal summary::-webkit-details-marker{display:none}
.po-n{color:var(--rojo);font-size:.75rem}
.po-t{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1rem,1.8vw,1.3rem);line-height:1.15;transition:color .25s}
.po-a{font-size:.9rem;color:var(--gris);text-align:right}
.dv-postal summary:hover .po-t,.dv-postal[open] .po-t{color:var(--verde)}
.po-texto{max-width:40rem;margin:0 0 2rem 4.2rem;font-size:1.12rem;line-height:1.65;color:#dcdcdc}
.po-texto p{margin:0 0 1rem}

/* cifras (claro) y equipo */
.dv-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:2rem 1.5rem;margin:0}
.dv-cifras div{margin:0;border-left:1.5px solid #111;padding-left:1rem}
.dv-cifras dt{font-family:var(--titulo);font-weight:800;font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:#000}
.dv-cifras dd{margin:.5rem 0 0;font-size:.68rem;color:#444}
.dv-equipo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6rem 2rem;margin:0}
.dv-equipo div{margin:0;border-top:1px solid var(--linea);padding-top:.8rem}
.dv-equipo dt{font-size:.66rem;color:var(--verde);margin-bottom:.35rem}
.dv-equipo dd{margin:0;font-family:var(--titulo);font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--blanco)}
.dv-licencia{margin:3rem 0 0;font-size:.95rem;color:var(--gris)}
.dv .rio-abajo{margin-top:16vh}

@media (max-width: 960px){
  .dv-visor{grid-template-columns:1fr}
  .dv-lista{max-height:none}
  .dv-pasos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-pasos li:nth-child(2){border-right:0}
  .dv-pasos li:nth-child(-n+2){border-bottom:1.5px solid #111}
  .dv-dos{grid-template-columns:1fr}
  .dv-unidades{grid-template-columns:1fr;gap:1.6rem}
  .dv-fotos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dv-proy li{grid-template-columns:2.6rem minmax(0,1fr) auto;row-gap:.1rem}
  .pr-t{grid-column:2}.pr-l{grid-column:2;grid-row:2}.pr-f{grid-column:2;grid-row:3}.pr-ver{grid-column:3;grid-row:1}
  .dv-cab{grid-template-columns:1fr}
  .dv-portada::after{width:calc(100% + 10vw);right:-5vw;bottom:-4vh;opacity:.7}
}
@media (max-width: 560px){
  .dv{padding-left:16px;padding-right:16px}
  .dv-pasos{grid-template-columns:1fr}
  .dv-pasos li{border-right:0!important;border-bottom:1.5px solid #111}
  .dv-pasos li:last-child{border-bottom:0}
  .dv-nav{gap:0 1rem}
  .dv-postal summary{grid-template-columns:2.2rem minmax(0,1fr)}
  .po-a{grid-column:2;text-align:left}
  .po-texto{margin-left:0}
  .dv-play{width:64px;height:64px;margin:-32px 0 0 -32px}
  .dv-play::after{left:24px;top:18px;border-width:13px 0 13px 21px}
}
@media (prefers-reduced-motion: reduce){.dv *{transition:none!important}}
