/* ============================================
   LA FÁBRICA NARANJA — Sistema de diseño
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#FAFAF7;
  --ink:#111110;
  --bar:#0A0A0A;
  --naranja:#C7501E;
  --gris:#6B6B66;
  --linea:#E2E0D8;
  --bg-card:#F1EFE7;

  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', -apple-system, sans-serif;
  --mono:'JetBrains Mono', monospace;

  --bar-h:64px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  padding-top:var(--bar-h);
}

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

::selection{background:var(--naranja);color:#fff;}

:focus-visible{outline:2px solid var(--naranja);outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}

/* ============== BARRA DE NAVEGACIÓN ============== */
.barra{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--bar-h);
  background:var(--bar);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.barra__logo{
  display:flex;
  align-items:center;
  height:100%;
}

.barra__logo img{
  height:34px;
  width:auto;
  display:block;
}

.barra__menu{
  display:flex;
  gap:30px;
  list-style:none;
}

.barra__menu .barra__social--movil{
  display:none;
}

.barra__menu a{
  color:#cfcfc8;
  font-size:11.5px;
  letter-spacing:0.07em;
  text-transform:uppercase;
  font-weight:500;
  transition:color 0.25s ease;
  position:relative;
  padding:4px 0;
}

.barra__menu a:hover,
.barra__menu a.activo{
  color:#fff;
}

.barra__menu a.activo::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:1px;
  background:var(--naranja);
}

.barra__toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
.barra__toggle span{
  width:22px;height:1px;background:#fff;display:block;
}

.barra__derecha{
  display:flex;
  align-items:center;
  gap:18px;
}

.barra__social{
  display:flex;
  align-items:center;
  gap:14px;
}
.barra__social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;height:30px;
  color:#cfcfc8;
  transition:color 0.2s ease;
}
.barra__social a:hover{
  color:var(--naranja);
}
.barra__social svg{
  width:17px;height:17px;
  fill:currentColor;
}

@media (max-width:860px){
  .barra__menu{
    position:fixed;
    top:var(--bar-h);left:0;right:0;
    background:var(--bar);
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease;
  }
  .barra__menu.abierto{max-height:400px;}
  .barra__menu a{
    padding:16px 32px;
    width:100%;
    border-bottom:1px solid rgba(255,255,255,0.06);
  }
  .barra__toggle{display:flex;}
  .barra__social{display:none;}
  .barra__menu .barra__social--movil{
    display:flex;
    padding:20px 32px;
    gap:20px;
  }
  .barra__menu .barra__social--movil a{
    width:34px;height:34px;
  }
  .barra__menu .barra__social--movil svg{
    width:19px;height:19px;
  }
}

/* ============== TIPOGRAFÍA EDITORIAL ============== */
.eyebrow{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--naranja);
  display:block;
  margin-bottom:14px;
}

h1, h2, h3{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.05;
  letter-spacing:-0.01em;
}

.medidor{
  font-family:var(--mono);
  font-size:12px;
  color:var(--gris);
  letter-spacing:0.03em;
}

/* ============== HERO ============== */
.hero{
  position:relative;
  height:calc(100vh - var(--bar-h));
  min-height:560px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#000;
}

.hero img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0.86;
}

.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.75) 100%);
}

.hero__contenido{
  position:relative;
  z-index:2;
  padding:0 32px 64px;
  max-width:1100px;
}

.hero__claim{
  font-size:clamp(2.2rem, 6vw, 4.6rem);
  color:#fff;
  font-style:italic;
  font-weight:400;
  max-width:14ch;
}

.hero__tagline{
  font-family:var(--serif);
  font-size:clamp(14px, 1.55vw, 17px);
  color:rgba(255,255,255,0.72);
  max-width:52ch;
  line-height:1.6;
  margin-top:16px;
  font-style:italic;
}
.hero__tagline strong {
  font-weight:700;
  font-style:italic;
  color:rgba(255,255,255,0.9);
}

.hero__sub{
  color:#e8e6df;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  margin-top:20px;
}

/* ============== SECCIÓN GENÉRICA ============== */
.seccion{
  padding:110px 32px;
  max-width:1280px;
  margin:0 auto;
}
.seccion--ajustada{padding-top:70px;padding-bottom:70px;}

.seccion__cabecera{
  max-width:640px;
  margin-bottom:64px;
}

.seccion__titulo{
  font-size:clamp(1.8rem, 4vw, 2.8rem);
}

.seccion__intro{
  color:var(--gris);
  font-size:16px;
  margin-top:18px;
  line-height:1.6;
  max-width:54ch;
}

/* ============== TIRA DE FESTIVALES ============== */
.festivales{
  background:var(--bg-card);
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  padding:0 48px;
}
.festivales__logos{
  max-width:100%;
  margin:0 auto;
  height:97px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  flex-wrap:nowrap;
  padding:0;
}
.festivales__gap {
  flex:1;
  min-width:12px;
  max-width:44px;
}
.festivales__logos img{
  height:38px;
  width:auto;
  max-width:100px;
  object-fit:contain;
  filter:grayscale(100%) opacity(55%);
  transition:filter .2s;
  flex-shrink:1;
}
.festivales__logos img:hover{
  filter:grayscale(100%) opacity(90%);
}
@media (max-width:900px){
  .festivales__logos{ flex-wrap:wrap; height:auto; padding:20px 0; gap:16px 20px; }
  .festivales__logos img{ height:30px; max-width:80px; }
}

/* ============== GRID DE PROYECTOS (HOME) ============== */
.proyectos-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--linea);
  border:1px solid var(--linea);
}

.proyecto-card{
  position:relative;
  background:#000;
  aspect-ratio:4/5;
  overflow:hidden;
  display:block;
}
.proyecto-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.7s cubic-bezier(.2,.7,.2,1), opacity .5s ease;
  opacity:0.92;
}
.proyecto-card:hover img{transform:scale(1.045);opacity:1;}

.proyecto-card__info{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:22px 22px 24px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.78) 100%);
  color:#fff;
}
.proyecto-card__estado{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--naranja);
  display:block;
  margin-bottom:6px;
}
.proyecto-card__titulo{
  font-family:var(--serif);
  font-size:21px;
  font-weight:500;
}

@media (max-width:900px){
  .proyectos-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .proyectos-grid{grid-template-columns:1fr;}
}

/* ============== FILTROS DE PELÍCULAS (tipo Eldá) ============== */
.filtros-peliculas{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:48px;
  border-bottom:1px solid var(--linea);
  padding-bottom:32px;
}
.filtro-btn{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:9px 18px;
  border:1px solid var(--linea);
  background:transparent;
  color:var(--gris);
  cursor:pointer;
  transition:all 0.22s ease;
}
.filtro-btn:hover{
  border-color:var(--ink);
  color:var(--ink);
}
.filtro-btn.activo{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.peliculas-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:36px 28px;
}
@media (max-width:900px){
  .peliculas-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .peliculas-grid{grid-template-columns:1fr;}
}

.pelicula-card{
  display:block;
  transition:opacity 0.3s ease, transform 0.3s ease;
}
.pelicula-card.oculta{
  display:none;
}
.pelicula-card__estado-tag{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--naranja);
  display:block;
  margin-bottom:6px;
}
.pelicula-card__img{
  aspect-ratio:3/4;
  overflow:hidden;
  background:#000;
  margin-bottom:16px;
}
.pelicula-card__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.6s ease, filter .6s ease;
  filter:grayscale(15%);
}
.pelicula-card:hover .pelicula-card__img img{
  transform:scale(1.03);
  filter:grayscale(0%);
}
.pelicula-card__titulo{
  font-family:var(--serif);
  font-size:19px;
  margin-bottom:4px;
}
.pelicula-card__meta{
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--gris);
  letter-spacing:0.04em;
}

/* ============== HERO-VIDEO (fondo reproducible en fichas de película) ============== */
.hero-video{
  position:relative;
  height:64vh;
  min-height:420px;
  background:#000;
  overflow:hidden;
}
.hero-video__marco{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-video__marco img.hero-video__poster{
  width:100%;height:100%;object-fit:cover;
  opacity:0.78;
}
.hero-video__marco iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.hero-video::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.1) 45%, rgba(0,0,0,0.82) 100%);
  pointer-events:none;
  transition:opacity 0.4s ease;
}
.hero-video.reproduciendo::after{
  opacity:0;
}
.hero-video.reproduciendo .hero-video__contenido{
  opacity:0;
  pointer-events:none;
}

.hero-video__contenido{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 32px 56px;
  max-width:1100px;
  margin:0 auto;
  transition:opacity 0.4s ease;
}
.hero-video__titulo{
  color:#fff;
  font-size:clamp(2.2rem,5.5vw,4rem);
}
.hero-video__meta{
  color:#d8d6cf;
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-top:18px;
}

.hero-video__play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:3;
  width:84px;height:84px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.75);
  background:rgba(10,10,9,0.35);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}
.hero-video__play:hover{
  background:var(--naranja);
  border-color:var(--naranja);
  transform:translate(-50%,-50%) scale(1.08);
}
.hero-video__play svg{
  width:24px;height:24px;
  fill:#fff;
  margin-left:4px;
}
.hero-video.reproduciendo .hero-video__play{
  display:none;
}

/* Iframe de YouTube de fondo, recortado tipo "cover" */
.hero-video__marco #yt-hero-player{
  position:absolute;
  top:50%;left:50%;
  width:177.77vh; /* 16:9 calculado desde la altura */
  height:100vh;
  min-width:100%;
  min-height:56.25vw; /* 16:9 calculado desde el ancho */
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.hero-video__sonido{
  position:absolute;
  bottom:28px;
  right:32px;
  z-index:4;
  width:46px;height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.6);
  background:rgba(10,10,9,0.45);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.hero-video__sonido:hover{
  background:var(--naranja);
  border-color:var(--naranja);
  transform:scale(1.07);
}
.hero-video__sonido svg{
  width:20px;height:20px;
  fill:#fff;
}
.hero-video__sonido .icono-sonido{display:none;}
.hero-video__sonido[data-estado="sonido"] .icono-mute{display:none;}
.hero-video__sonido[data-estado="sonido"] .icono-sonido{display:block;}

/* Respaldo si el reproductor de YouTube no llega a cargar */
.hero-video.sin-video .hero-video__sonido{display:none;}
.hero-video.sin-video .hero-video__marco{
  background-image:var(--fallback-img, none);
  background-size:cover;
  background-position:center;
}

/* ============== HERO FOTOGRAMA CON PLAY (Vimeo) ============== */
.hero-fotograma{
  position:relative;
  width:100%;
  background:#0A0A0A;
  overflow:hidden;
}
.hero-fotograma__imagen{
  position:relative;
  width:100%;
  aspect-ratio:16/7;
  cursor:pointer;
  background:#0A0A0A;
}
.hero-fotograma__imagen img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
  display:block;
  opacity:.88;
  transition:opacity .3s;
}
.hero-fotograma__imagen:hover img{
  opacity:.7;
}
.hero-fotograma__play{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  background:#C7501E;
  border:none;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s, transform .2s;
  box-shadow:0 4px 24px rgba(0,0,0,.5);
}
.hero-fotograma__play:hover{
  background:#a8401a;
  transform:translate(-50%,-50%) scale(1.1);
}
.hero-fotograma__play svg{
  width:32px;
  height:32px;
  fill:#fff;
  margin-left:4px;
}
.hero-fotograma__embed{
  width:100%;
  aspect-ratio:16/7;
  background:#000;
}
.hero-fotograma__embed iframe{
  width:100%;
  height:100%;
  display:block;
}
.hero-fotograma__contenido{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:24px 40px;
  background:linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 100%);
  pointer-events:none;
}
.hero-fotograma__titulo{
  font-family:'Fraunces',serif;
  font-size:clamp(1.6rem,4vw,2.8rem);
  color:#fff;
  margin:0 0 4px;
  font-weight:600;
}
.hero-fotograma__meta{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:rgba(255,255,255,.7);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0;
}


/* ============== FICHA DE PELÍCULA: dos columnas, izquierda fija + derecha con scroll ============== */
.ficha-dos-columnas{
  max-width:1280px;
  margin:0 auto;
  padding:48px 32px 96px;
  display:grid;
  grid-template-columns:340px 1fr;
  gap:64px;
  align-items:start;
}
@media (max-width:860px){
  .ficha-dos-columnas{
    grid-template-columns:1fr;
    gap:40px;
    padding:32px 32px 64px;
  }
}

.ficha-col-fija{
  position:sticky;
  top:96px;
  isolation:isolate;
  z-index:2;
  background:var(--bg);
}
@media (max-width:860px){
  .ficha-col-fija{position:static;}
}

.ficha-cartel__imagen{
  width:100%;
  aspect-ratio:2/3;
  overflow:hidden;
  border:1px solid var(--linea);
}
.ficha-cartel__imagen img{
  width:100%;height:100%;object-fit:cover;
}

.ficha-col-fija__titulo{
  font-size:clamp(1.5rem, 2.6vw, 1.9rem);
  margin-top:24px;
  margin-bottom:4px;
}
.ficha-col-fija__autor{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--gris);
  display:block;
  margin-bottom:20px;
}

.ficha-col-fija .ficha-datos{
  border-top:1px solid var(--linea);
  padding-top:18px;
  margin-top:0;
}
.ficha-datos dl{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 14px;
  font-size:13px;
}
.ficha-datos dt{
  font-family:var(--mono);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--gris);
  padding-top:2px;
}
.ficha-datos dd{color:var(--ink);}

.ficha-col-fija__enlaces{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--linea);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ficha-col-fija__enlaces .boton{
  text-align:center;
  padding:11px 18px;
  font-size:11px;
}

.ficha-col-fija__social{
  display:flex;
  gap:14px;
  margin-top:18px;
  justify-content:center;
}
.ficha-col-fija__social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  border:1px solid var(--linea);
  color:var(--gris);
  transition:color 0.2s ease, border-color 0.2s ease;
}
.ficha-col-fija__social a:hover{
  color:var(--naranja);
  border-color:var(--naranja);
}
.ficha-col-fija__social svg{
  width:16px;height:16px;
  fill:currentColor;
}

.ficha-col-movil{
  min-width:0;
}

.ficha-cuerpo{
  max-width:1100px;
  margin:0 auto;
  padding:48px 32px;
}
.ficha-cuerpo--ancho{
  max-width:760px;
}

.ficha-sinopsis p{
  font-family:var(--serif);
  font-size:18px;
  line-height:1.55;
  color:#2a2a26;
  margin-bottom:16px;
}
.ficha-sinopsis p:first-child::first-letter{
  font-size:2.8em;
  float:left;
  line-height:0.85;
  padding-right:8px;
  padding-top:4px;
  color:var(--naranja);
  font-style:italic;
}

.ficha-festivales{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--linea);
}
.ficha-festivales h3{
  font-size:12.5px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  margin-bottom:10px;
  font-weight:500;
}
.ficha-festivales ul{list-style:none;}
.ficha-festivales li{
  font-family:var(--serif);
  font-size:14px;
  padding:7px 0;
  border-bottom:1px solid var(--linea);
}
.ficha-festivales li:last-child{border-bottom:none;}

.ficha-festivales li.oculto,
.ficha-prensa__item.oculto{
  display:none;
}
.ficha-festivales__toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--naranja);
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
}
.ficha-festivales__toggle svg{
  width:11px;height:11px;
  fill:currentColor;
  transition:transform 0.25s ease;
}
.ficha-festivales__toggle[aria-expanded="true"] svg{
  transform:rotate(180deg);
}

.ficha-hero{
  position:relative;
  height:78vh;
  min-height:480px;
  background:#000;
  overflow:hidden;
}
.ficha-hero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.82;
}
.ficha-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.8) 100%);
}
.ficha-hero__contenido{
  position:relative;z-index:2;
  height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 32px 56px;
  max-width:1100px;margin:0 auto;
}
.ficha-hero__titulo{
  color:#fff;
  font-size:clamp(2.2rem,5.5vw,4rem);
}
.ficha-hero__meta{
  color:#d8d6cf;
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-top:18px;
}

/* ============== GRID VÍDEOS MUSICALES ============== */
.videos-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:48px 32px;
}
@media (max-width:700px){
  .videos-grid{grid-template-columns:1fr;}
}

.video-card{
  display:block;
}

.video-card__marco{
  position:relative;
  aspect-ratio:16/9;
  background:#15140f;
  overflow:hidden;
  cursor:pointer;
}
.video-card__marco img{
  width:100%;height:100%;object-fit:cover;
  opacity:0.82;
  transition:opacity .4s ease, transform .6s ease;
}
.video-card__marco img:where([src=""],[src$="undefined"]){display:none;}
.video-card__marco:hover img{opacity:0.55;transform:scale(1.02);}

.video-card__play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:64px;height:64px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.7);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s ease, background .3s ease;
}
.video-card__marco:hover .video-card__play{
  background:var(--naranja);
  border-color:var(--naranja);
  transform:translate(-50%,-50%) scale(1.08);
}
.video-card__play svg{width:18px;height:18px;fill:#fff;margin-left:3px;}

.video-card__info{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
}
.video-card__titulo{
  font-family:var(--serif);
  font-size:18px;
}
.video-card__meta{
  font-family:var(--mono);
  font-size:11px;
  color:var(--gris);
  white-space:nowrap;
}

/* Modal de reproducción */
.modal-video{
  position:fixed;inset:0;
  background:rgba(8,8,7,0.94);
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:48px 24px;
}
.modal-video.abierto{display:flex;}
.modal-video__marco{
  width:100%;max-width:1100px;
  aspect-ratio:16/9;
  position:relative;
  background:#000;
}
.modal-video__marco iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.modal-video__cerrar{
  position:absolute;
  top:24px;right:32px;
  color:#fff;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;gap:8px;
}

/* ============== DIRECTORES ============== */
.directores-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:80px 56px;
}
@media (max-width:760px){
  .directores-grid{grid-template-columns:1fr;}
}

.director-card{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:28px;
  padding:14px;
  margin:-14px;
  border-radius:2px;
}
@media (max-width:480px){
  .director-card{grid-template-columns:1fr;}
}
.director-card__foto{
  aspect-ratio:3/4;
  overflow:hidden;
  background:#000;
}
.director-card__foto img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(40%);
}
.director-card__nombre{
  font-size:21px;
  margin-bottom:4px;
}
.director-card__rol{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--naranja);
  margin-bottom:14px;
  display:block;
}
.director-card__bio{
  font-size:14.5px;
  line-height:1.65;
  color:#3a3a35;
}

/* Destacado al llegar por enlace desde una ficha de vídeo (#paloma-zapata) */
.director-card:target{
  animation:destacar-director 2.4s ease-out;
  scroll-margin-top:110px;
}
@keyframes destacar-director{
  0%{ box-shadow:0 0 0 2px var(--naranja); background:#fbe9df; }
  100%{ box-shadow:0 0 0 0px transparent; background:transparent; }
}
.director-card:target .director-card__nombre{
  color:var(--naranja);
  transition:color 0.4s ease;
}
@media (prefers-reduced-motion: reduce){
  .director-card:target{animation:none; box-shadow:0 0 0 2px var(--naranja);}
}

/* Tarjeta de director ampliada (perfil extenso con biografía larga) */
.director-card--destacada{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:56px;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
  padding:14px;
}
.director-card--destacada .director-card__foto{
  position:sticky;
  top:96px;
  align-self:start;
}
@media (max-width:760px){
  .director-card--destacada{grid-template-columns:1fr;gap:28px;}
  .director-card--destacada .director-card__foto{position:static; max-width:280px;}
}

.director-card__premios{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.director-card__premio{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--naranja);
  border:1px solid var(--naranja);
  padding:5px 10px;
}

.director-card--destacada .director-card__bio{
  margin-bottom:16px;
}
.director-card--destacada .director-card__bio:last-of-type{
  margin-bottom:0;
}

.director-card__logos{
  display:flex;
  align-items:center;
  gap:36px;
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid var(--linea);
  flex-wrap:wrap;
}
.director-card__logos img{
  height:48px;
  width:auto;
  object-fit:contain;
  opacity:0.85;
}
.director-card__logos--superior{
  margin-top:0;
  margin-bottom:28px;
  padding-top:0;
  padding-bottom:24px;
  border-top:none;
  border-bottom:1px solid var(--linea);
}
.director-card__logos--superior img{
  height:40px;
}
.director-card__logos--superior a{
  display:inline-flex;
  transition:opacity 0.2s ease;
}
.director-card__logos--superior a:hover{
  opacity:0.65;
}

.director-card__enlaces{
  display:flex;
  gap:24px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--linea);
}
.director-card__enlaces a{
  font-family:var(--mono);
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  transition:color 0.2s ease;
  border-bottom:1px solid transparent;
}
.director-card__enlaces a:hover{
  color:var(--naranja);
  border-bottom-color:var(--naranja);
}

/* ============== DIRECTORES — TRES COLUMNAS ============== */
.directores-tres-columnas {
  padding-top: 80px;
}
.directores-grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px 80px;
}
@media (max-width: 900px) {
  .directores-grid-3col { grid-template-columns: 1fr 1fr; gap: 40px 28px; }
}
@media (max-width: 560px) {
  .directores-grid-3col { grid-template-columns: 1fr; padding: 0 20px 60px; }
}

.dir-col__foto {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #111;
  margin-bottom: 20px;
}
.dir-col__foto img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(30%);
  transition: filter .3s;
}
.dir-col:hover .dir-col__foto img { filter: grayscale(0%); }

.dir-col__logos {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--linea);
}
.dir-col__logos img {
  height: 28px;
  width: auto;
  object-fit: contain;
  opacity: 0.8;
}
.dir-col__logos a { display: inline-flex; transition: opacity .2s; }
.dir-col__logos a:hover { opacity: 0.6; }

.dir-col__premios {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 16px;
}
.dir-col__premio {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--naranja);
}

.dir-col__nombre {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--tinta);
}
.dir-col__rol {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--naranja);
  display: block;
  margin-bottom: 14px;
}
.dir-col__bio {
  font-family: var(--sans);
  font-size: 13.5px;
  line-height: 1.65;
  color: #3a3a35;
  margin-bottom: 12px;
}
.dir-col__bio a { color: inherit; border-bottom: 1px solid var(--linea); text-decoration: none; }
.dir-col__bio a:hover { color: var(--naranja); border-bottom-color: var(--naranja); }

.dir-col__enlaces {
  display: flex;
  gap: 18px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--linea);
  flex-wrap: wrap;
}
.dir-col__enlaces a {
  font-family: var(--mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gris);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.dir-col__enlaces a:hover {
  color: var(--naranja);
  border-bottom-color: var(--naranja);
}


/* ============== DIRECTORES — EXPAND ON CLICK ============== */
.dir-col__trigger {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.dir-col__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .25s;
}
.dir-col__trigger:hover .dir-col__overlay,
.dir-col--abierto .dir-col__overlay { opacity: 1; }
.dir-col__overlay span {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  border: 1px solid rgba(255,255,255,.6);
  padding: 8px 14px;
}
.dir-col__trigger .dir-col__foto { position: relative; margin-bottom: 0; }
.dir-col--abierto .dir-col__foto img { filter: grayscale(0%); }

.dir-col__expand {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--linea);
  animation: expand-in .25s ease;
}
@keyframes expand-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.dir-col__filmografia {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--linea);
}
.dir-col__filmografia-titulo {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gris);
  display: block;
  margin-bottom: 10px;
}
.dir-col__filmografia ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.dir-col__filmografia li { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:13px; }
.dir-col__filmografia li a,
.dir-col__filmografia li .no-link { color:var(--tinta); text-decoration:none; border-bottom:1px solid var(--linea); transition:color .2s,border-color .2s; }
.dir-col__filmografia li a:hover { color:var(--naranja); border-bottom-color:var(--naranja); }
.dir-col__filmografia li span { font-family:var(--mono); font-size:10px; color:var(--gris); white-space:nowrap; flex-shrink:0; }
.dir-col__ver-perfil {
  display: inline-block;
  margin-top: 18px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--naranja);
  text-decoration: none;
  border-bottom: 1px solid var(--naranja);
  transition: opacity .2s;
}
.dir-col__ver-perfil:hover { opacity: .7; }

/* ============== PÁGINA INDIVIDUAL DE DIRECTOR ============== */
.director-perfil__hero {
  display: grid;
  grid-template-columns: 360px 1fr;
  min-height: 520px;
  background: #0A0A0A;
}
@media (max-width: 780px) {
  .director-perfil__hero { grid-template-columns: 1fr; }
}
.director-perfil__hero-foto {
  overflow: hidden;
}
.director-perfil__hero-foto img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(20%);
}
.director-perfil__hero-texto {
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
}
@media (max-width: 780px) {
  .director-perfil__hero-texto { padding: 32px 24px; }
}
.director-perfil__empresa {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--naranja);
  margin: 0 0 16px;
}
.director-perfil__empresa a { color: inherit; text-decoration: none; }
.director-perfil__nombre {
  font-family: var(--serif);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.1;
}
.director-perfil__rol {
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.55);
  margin: 0 0 28px;
}
.director-perfil__premios-hero {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 28px;
}
.director-perfil__premios-hero span {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--naranja);
  border-left: 2px solid var(--naranja);
  padding-left: 10px;
}
.director-perfil__logos-hero {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.director-perfil__logos-hero img {
  height: 30px;
  width: auto;
  object-fit: contain;
  opacity: .75;
  filter: brightness(0) invert(1);
}
.director-perfil__enlaces-hero {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.director-perfil__enlaces-hero a {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.3);
  transition: color .2s, border-color .2s;
}
.director-perfil__enlaces-hero a:hover {
  color: var(--naranja);
  border-bottom-color: var(--naranja);
}

.director-perfil__seccion {
  padding: 72px 32px 96px;
}
.director-perfil__interior {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 80px;
  align-items: start;
}
@media (max-width: 900px) {
  .director-perfil__interior { grid-template-columns: 1fr; gap: 48px; }
}
.director-perfil__bio-col p {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a35;
  margin-bottom: 20px;
}
.director-perfil__bio-col p em { font-style: italic; }
.director-perfil__h2 {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 600;
  color: var(--tinta);
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--linea);
}
.director-perfil__aside {
  position: sticky;
  top: 96px;
}
.director-perfil__grupo {
  margin-bottom: 32px;
}
.director-perfil__grupo-titulo {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gris);
  margin: 0 0 12px;
}
.director-perfil__lista-films {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.director-perfil__lista-films li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--linea);
}
.director-perfil__lista-films li:last-child { border-bottom: none; }
.director-perfil__lista-films a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.director-perfil__lista-films a:hover .director-perfil__film-titulo {
  color: var(--naranja);
}
.director-perfil__film-titulo {
  font-family: var(--sans);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--tinta);
  transition: color .2s;
}
.director-perfil__film-meta {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--gris);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ============== GALERÍA NOSOTROS (contacto.html) ============== */
.nosotros-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 3px;
  background: #111;
  height: 100%;
  min-height: 520px;
}
@media (max-width: 700px) {
  .nosotros-gallery { min-height: auto; }
}
.nosotros-gallery__item {
  display: block;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #000;
}
.nosotros-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  filter: grayscale(15%);
  transition: transform .4s ease, filter .3s ease;
  background: #000;
}
.nosotros-gallery__item:hover img {
  transform: scale(1.04);
  filter: grayscale(0%);
}

/* ============== NOSOTROS HERO ============== */
.nosotros-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 64px);
  margin-top: 64px;
}
@media (max-width: 860px) {
  .nosotros-hero { grid-template-columns: 1fr; margin-top: 56px; }
}
.nosotros-hero__foto {
  position: relative;
  background: #111;
  overflow: hidden;
}
.nosotros-hero__foto a {
  display: block;
  width: 100%;
  height: 100%;
}
.nosotros-hero__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  opacity: .9;
  transition: opacity .3s;
}
.nosotros-hero__foto a:hover img { opacity: 1; }
.nosotros-hero__caption {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.45);
}
.nosotros-hero__texto {
  padding: 80px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bg);
}
@media (max-width: 1100px) {
  .nosotros-hero__texto { padding: 56px 36px; }
}
.nosotros-hero__h1 {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 400;
  font-style: italic;
  color: var(--tinta);
  line-height: 1.15;
  margin: 16px 0 32px;
}
.nosotros-hero__p {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a35;
  margin-bottom: 16px;
  max-width: 48ch;
}
.nosotros-hero__festivales {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gris);
  line-height: 2;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--linea);
  max-width: 48ch;
}

/* ============== COLABORACIONES ============== */
.colaboraciones-seccion {
  background: #111110;
  padding: 72px 48px 80px;
}
.colaboraciones-seccion__eyebrow {
  color: var(--naranja);
  display: block;
  margin-bottom: 48px;
}
.colaboraciones-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 1280px;
}
@media (max-width: 860px) {
  .colaboraciones-grid { grid-template-columns: 1fr; }
}
.colaboraciones-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 860px) {
  .colaboraciones-grid--2col { grid-template-columns: 1fr; }
}

  padding: 36px 32px;
  border-left: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.colaboraciones-card:first-child { border-left: none; }
.colaboraciones-card__num {
  font-family: var(--mono);
  font-size: 10px;
  color: rgba(255,255,255,.25);
  letter-spacing: .1em;
}
.colaboraciones-card__titulo {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: #FAFAF7;
  line-height: 1.25;
}
.colaboraciones-card__texto {
  font-family: var(--sans);
  font-size: 13.5px;
  line-height: 1.7;
  color: rgba(255,255,255,.45);
  flex: 1;
}
.colaboraciones-card__email {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--naranja);
  text-decoration: none;
  border-bottom: 1px solid rgba(199,80,30,.3);
  padding-bottom: 2px;
  align-self: flex-start;
  transition: border-color .2s;
  margin-top: 8px;
}
.colaboraciones-card__email:hover { border-bottom-color: var(--naranja); }

/* ============== CONTACTO DIRECTO ============== */
.contacto-directo {
  background: var(--bg);
  border-top: 1px solid var(--linea);
}
.contacto-directo__interior {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 860px) {
  .contacto-directo__interior { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .contacto-directo__interior { grid-template-columns: 1fr; }
}
.contacto-directo__bloque {
  padding: 40px 32px;
  border-right: 1px solid var(--linea);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contacto-directo__bloque:last-child { border-right: none; }
.contacto-directo__bloque .eyebrow { margin-bottom: 4px; }
.contacto-directo__email {
  font-family: var(--serif);
  font-size: 14px;
  color: var(--tinta);
  text-decoration: none;
  border-bottom: 1px solid var(--linea);
  padding-bottom: 2px;
  align-self: flex-start;
  transition: color .2s, border-color .2s;
}
.contacto-directo__email:hover {
  color: var(--naranja);
  border-bottom-color: var(--naranja);
}
.contacto-directo__desc {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gris);
}


.pie{
  background:var(--bar);
  color:#cfcfc8;
  padding:64px 32px 32px;
}
.pie__interior{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:40px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.pie__logo{
  display:block;
}
.pie__logo img{
  height:46px;
  width:auto;
}
.pie__contacto a{
  display:block;
  font-size:14px;
  margin-top:8px;
  color:#cfcfc8;
  transition:color .2s ease;
}
.pie__contacto a:hover{color:#fff;}
.pie__base{
  max-width:1280px;
  margin:0 auto;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:var(--mono);
  font-size:11px;
  color:#7c7c76;
  flex-wrap:wrap;
  gap:10px;
}
.pie__social{
  display:flex;
  align-items:center;
  gap:12px;
}
.pie__siguenos{
  font-family:var(--mono);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7c7c76;
}
.pie__social a{
  color:#7c7c76;
  display:flex;
  align-items:center;
  transition:color .2s;
}
.pie__social a:hover{ color:var(--naranja); }

/* ============== FICHA DE VIDEOCLIP ============== */
.videoclip-marco{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  max-width:1100px;
  margin:0 auto;
}
.videoclip-marco iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.videoclip-yt-link{
  position:absolute;inset:0;display:block;
}
.videoclip-yt-link img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.videoclip-yt-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  opacity:.9;transition:opacity .2s;pointer-events:none;
}
.videoclip-yt-link:hover .videoclip-yt-play{opacity:1;}

.videoclip-cuerpo{
  max-width:1100px;
  margin:0 auto;
  padding:56px 32px 90px;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:64px;
}
@media (max-width:800px){
  .videoclip-cuerpo{grid-template-columns:1fr;gap:36px;}
}

.videoclip-titulo{
  font-size:clamp(1.8rem, 4vw, 2.6rem);
  margin-bottom:10px;
}
.videoclip-artista{
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--naranja);
}

.videoclip-datos dl{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:11px 16px;
  font-size:13px;
  border-top:1px solid var(--linea);
  padding-top:20px;
}
.videoclip-datos dt{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  padding-top:2px;
}
.videoclip-datos dd{color:var(--ink);}

.videoclip-sello-logo{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--linea);
}
.videoclip-sello-logo img{
  height:28px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  opacity:0.82;
}
.videoclip-sello-logo img[src*="sony-music"]{
  height:16px;
}
.videoclip-sello-logo img[src*="logo-warner-music"]{
  height:36px;
}
.videoclip-sello-logo img[src*="logo-subterfuge"]{
  height:36px;
}
.dato-pendiente{
  color:#b8b6ac;
  font-style:italic;
}
.boton{
  display:inline-block;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:14px 26px;
  border:1px solid var(--ink);
  transition:background .25s ease, color .25s ease;
}
.boton:hover{background:var(--ink);color:#fff;}

.volver{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--mono);
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--gris);
  margin-bottom:28px;
  transition:color .2s ease;
}
.volver:hover{color:var(--ink);}

/* ============== CIFRAS Y DATOS DESTACADOS (cabecera de sección) ============== */
.manifiesto__cifras{
  display:flex;
  gap:56px;
  flex-wrap:wrap;
  align-items:flex-start;
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  padding:32px 0;
}
.manifiesto__cifra-num{
  font-family:var(--serif);
  font-size:2.4rem;
  color:var(--naranja);
  line-height:1;
  display:block;
}
.manifiesto__cifra-label{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--gris);
  margin-top:6px;
  display:block;
}
.manifiesto__sellos-label{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  display:block;
}
.manifiesto__sellos-lista{
  font-family:var(--serif);
  font-size:16px;
  color:var(--ink);
  line-height:1.4;
}

.manifiesto__sellos-logos{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  margin-top:18px;
}
.manifiesto__sellos-logos img{
  height:22px;
  width:auto;
  object-fit:contain;
  opacity:0.8;
  filter:grayscale(15%);
  transition:opacity 0.2s ease;
}
.manifiesto__sellos-logos img[src*="sony-music"]{
  height:9px;
}
.manifiesto__sellos-logos img[src*="logo-warner-music"]{
  height:29px;
}
.manifiesto__sellos-logos img.logo-panoramico{
  height:14px;
}
.manifiesto__sellos-logos img:hover{
  opacity:1;
}

.manifiesto__texto{
  margin-top:28px;
}
.manifiesto__texto p{
  font-size:14px;
  line-height:1.7;
  color:#5a5a54;
  margin-bottom:14px;
}
.manifiesto__texto p:last-child{margin-bottom:0;}

.manifiesto__texto--columnas{
  column-count:2;
  column-gap:48px;
}
@media (max-width:760px){
  .manifiesto__texto--columnas{column-count:1;}
}

/* ============== GALERÍA DE MAKING OF ============== */
.making-of{
  border-top:1px solid var(--linea);
  padding:80px 32px;
  max-width:1280px;
  margin:0 auto;
}
.ficha-col-movil .making-of{
  padding:56px 0 0;
  max-width:none;
  margin:0;
  margin-top:40px;
}
.making-of__cabecera{
  margin-bottom:40px;
}
.making-of__titulo{
  font-size:clamp(1.5rem, 3vw, 2rem);
}
.making-of__credito{
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--gris);
  margin-top:10px;
  display:block;
}
.making-of__grid{
  columns:4 220px;
  column-gap:14px;
}
@media (max-width:760px){
  .making-of__grid{columns:2 180px;}
}
.making-of__grid figure{
  margin:0 0 14px;
  break-inside:avoid;
  background:#000;
}
.making-of__grid figure .making-of__marco{
  overflow:hidden;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.making-of__grid figcaption{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.03em;
  color:var(--gris);
  padding:8px 2px 0;
  background:var(--bg);
}
.making-of__grid img{
  width:100%;
  display:block;
  transition:transform 0.5s ease, opacity 0.3s ease;
  opacity:0.94;
}
.making-of__grid img:hover{
  transform:scale(1.03);
  opacity:1;
}

/* ============== PRENSA / BLOG ============== */
.prensa-filtros{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:48px;
  border-bottom:1px solid var(--linea);
  padding-bottom:32px;
}

.prensa-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--linea);
  border:1px solid var(--linea);
}
@media (max-width:900px){
  .prensa-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .prensa-grid{grid-template-columns:1fr;}
}

.prensa-card{
  background:var(--bg);
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  min-height:240px;
  transition:background 0.25s ease;
}
.prensa-card:hover{
  background:var(--bg-card);
}
.prensa-card__tipo{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--naranja);
  margin-bottom:14px;
}
.prensa-card__titulo{
  font-family:var(--serif);
  font-size:19px;
  line-height:1.3;
  margin-bottom:14px;
  flex-grow:1;
}
.prensa-card__meta{
  font-family:var(--mono);
  font-size:11px;
  color:var(--gris);
  letter-spacing:0.02em;
}
.prensa-card__pelicula{
  font-family:var(--mono);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--ink);
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--linea);
}

/* Bloque "En prensa" dentro de fichas de película */
.ficha-prensa{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--linea);
}
.ficha-prensa h3{
  font-size:12.5px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  margin-bottom:14px;
  font-weight:500;
}
.ficha-prensa__item{
  display:block;
  padding:12px 0;
  border-bottom:1px solid var(--linea);
}
.ficha-prensa__item:last-child{border-bottom:none;}
.ficha-prensa__titulo{
  font-family:var(--serif);
  font-size:15px;
  color:var(--ink);
  transition:color 0.2s ease;
}
.ficha-prensa__item:hover .ficha-prensa__titulo{
  color:var(--naranja);
}
.ficha-prensa__meta{
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--gris);
  letter-spacing:0.03em;
  display:block;
  margin-top:4px;
}

/* ============== LIGHTBOX (visor ampliado de galerías) ============== */
.making-of__grid figure{
  cursor:zoom-in;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:300;
  background:rgba(8,8,7,0.96);
  display:none;
  align-items:center;
  justify-content:center;
  padding:64px 24px;
}
.lightbox.abierto{
  display:flex;
}
.lightbox__img-wrap{
  max-width:1200px;
  max-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:#000;
  line-height:0;
}
.lightbox__img{
  max-width:100%;
  max-height:78vh;
  object-fit:contain;
  display:block;
  background:#000;
  vertical-align:bottom;
}
.lightbox__caption{
  color:#d8d6cf;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.04em;
  margin-top:18px;
  text-align:center;
}
.lightbox__contador{
  color:var(--gris);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.06em;
  margin-top:6px;
}

.lightbox__cerrar{
  position:absolute;
  top:24px;right:32px;
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.05);
  color:#fff;
  font-family:var(--mono);
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.2s ease, border-color 0.2s ease;
}
.lightbox__cerrar:hover{
  background:var(--naranja);
  border-color:var(--naranja);
}

.lightbox__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.4);
  background:rgba(255,255,255,0.05);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background 0.2s ease, border-color 0.2s ease;
}
.lightbox__nav:hover{
  background:var(--naranja);
  border-color:var(--naranja);
}
.lightbox__nav svg{
  width:22px;height:22px;
  fill:#fff;
}
.lightbox__prev{left:24px;}
.lightbox__next{right:24px;}

@media (max-width:680px){
  .lightbox{padding:24px 16px;}
  .lightbox__nav{width:42px;height:42px;}
  .lightbox__prev{left:8px;}
  .lightbox__next{right:8px;}
  .lightbox__cerrar{top:14px;right:14px;}
}

/* ============== ENLACES DENTRO DEL CUERPO DE TEXTO ============== */
.ficha-sinopsis a,
.ficha-datos dd a,
.ficha-festivales a,
.ficha-cartel__bajada a,
.director-card__bio a,
.making-of__credito a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--linea);
  transition:color 0.2s ease, border-color 0.2s ease;
}
.ficha-sinopsis a:hover,
.ficha-datos dd a:hover,
.ficha-festivales a:hover,
.ficha-cartel__bajada a:hover,
.director-card__bio a:hover,
.making-of__credito a:hover{
  color:var(--naranja);
  border-color:var(--naranja);
}

/* ============== LAURELES DE FESTIVALES ============== */
.laureles{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--linea);
}
.laureles__titulo{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  margin-bottom:18px;
  display:block;
}

.hero-video__cita {
  position: absolute;
  bottom: 32px;
  right: 40px;
  text-align: right;
  z-index: 3;
  width: 320px;
}
.hero-cita-slide {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
  pointer-events: none;
}
.hero-cita-slide.activa {
  opacity: 1;
  position: relative;
}
.hero-video__cita blockquote,
.hero-cita-slide blockquote {
  font-family: var(--serif);
  font-size: clamp(13px, 1.3vw, 16px);
  font-style: italic;
  color: rgba(255,255,255,0.85);
  margin: 0 0 4px;
  padding: 0;
  line-height: 1.4;
}
.hero-video__cita cite,
.hero-cita-slide cite {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,0.5);
  font-style: normal;
}


.singla-citas {
  background: #FAFAF7;
  border: 1px solid #E2E0D8;
  border-left: 3px solid #C7501E;
  padding: 24px 28px 20px;
  margin-bottom: 24px;
  min-height: 90px;
  position: relative;
}
.singla-slide {
  display: none;
  animation: cita-in .4s ease;
}
.singla-slide.activo {
  display: block;
}
@keyframes cita-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.singla-slide blockquote {
  font-family: var(--serif);
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-style: italic;
  color: #111110;
  line-height: 1.45;
  margin: 0 0 10px;
  padding: 0;
}
.singla-slide cite {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #C7501E;
  font-style: normal;
}
.singla-slide cite a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #C7501E55;
  transition: border-color .2s;
}
.singla-slide cite a:hover { border-bottom-color: #C7501E; }
/* ============== LOGOS INSTITUCIONALES (La Singla) ============== */
.singla-apoyos {
  background: #FAFAF7;
  border-top: 1px solid #E2E0D8;
  padding: 40px 32px;
  max-width: 1280px;
  margin: 0 auto;
}
.singla-apoyos__titulo {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--gris);
  margin-bottom: 24px;
}
.singla-apoyos__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 29px 37px;
}
.singla-apoyos__logos img {
  height: 36px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  filter: grayscale(100%) opacity(70%);
  transition: opacity .2s;
}
.singla-apoyos__logos img:hover {
  filter: grayscale(100%) opacity(100%);
}
@media (max-width: 600px) {
  .singla-apoyos__logos img { height: 28px; max-width: 100px; }
}


  font-family: var(--serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--naranja);
  margin-bottom: 16px !important;
  letter-spacing: .01em;
}

  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px 64px;
}
.singla-citas--prensa {
  margin-bottom: 20px;
}


  display: flex;
  gap: 8px;
  margin-top: 14px;
}
.singla-prev, .singla-next {
  background: none;
  border: 1px solid #E2E0D8;
  color: #C7501E;
  font-size: 16px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s;
  padding: 0;
  line-height: 1;
}
.singla-prev:hover, .singla-next:hover {
  background: #C7501E;
  border-color: #C7501E;
  color: #fff;
}


/* ============== BARRA LOGOS EL COLOR VERD ============== */
.colorverd-logobar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 28px;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--linea);
}
.colorverd-logobar img {
  height: 32px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  filter: grayscale(100%) opacity(65%);
  transition: filter .2s;
}
.colorverd-logobar img:hover { filter: grayscale(100%) opacity(100%); }

/* ============== BARRA DE FESTIVALES (La Singla) ============== */
.singla-festivalbar {
  background: var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  padding: 0 32px;
  height: 93px;
  gap: 8px;
  overflow: hidden;
  border-top: 1px solid var(--linea);
  border-bottom: 1px solid var(--linea);
}
.singla-festivalbar img {
  height: 44px;
  width: auto;
  max-width: 80px;
  object-fit: contain;
  flex-shrink: 1;
  filter: grayscale(100%) opacity(55%);
  transition: filter .2s;
}
.singla-festivalbar img:hover { filter: grayscale(100%) opacity(90%); }










.singla-festivalbar img.singla-festivalbar__grande {
  height: 68px;
  max-width: 110px;
}
.singla-festivalbar img.singla-festivalbar__mediana {
  height: 56px;
  max-width: 95px;
}
.singla-festivalbar img:hover { opacity: 1; }
@media (max-width: 860px) {
  .singla-festivalbar { height: auto; padding: 14px 24px; flex-wrap: wrap; gap: 12px; justify-content: center; }
  .singla-festivalbar img { height: 34px; max-width: 60px; }
  .singla-festivalbar img.singla-festivalbar__grande { height: 48px; max-width: 80px; }
}
@media (max-width: 560px) {
  .singla-festivalbar { padding: 12px 16px; gap: 10px; }
  .singla-festivalbar img { height: 28px; max-width: 50px; }
  .singla-festivalbar img.singla-festivalbar__grande { height: 40px; max-width: 65px; }
}

.laureles__grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  align-items:center;
  justify-items:center;
  gap:28px 20px;
}
.laureles__grid img{
  height:64px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:0.7;
  transition:opacity 0.25s ease, filter 0.25s ease;
}
.laureles__grid img.laurel-grande{
  height:84px;
}
@media (max-width:760px){
  .laureles__grid img.laurel-grande{height:62px;}
}
@media (max-width:760px){
  .laureles__grid{grid-template-columns:repeat(3, 1fr);gap:22px 16px;}
  .laureles__grid img{height:48px;}
}
@media (max-width:420px){
  .laureles__grid{grid-template-columns:repeat(2, 1fr);}
}
.laureles__grid img:hover{
  opacity:1;
  filter:grayscale(0%);
}

/* ============== BANDA SONORA (Spotify embebido) ============== */
.bso{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--linea);
}
.bso h3{
  font-size:12.5px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:var(--gris);
  margin-bottom:14px;
  font-weight:500;
}
.bso__grid{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.bso__item iframe{
  border-radius:8px;
  display:block;
}

.videoclip-prensa{
  max-width:1100px;
  margin:0 auto;
  padding:32px 32px 48px;
  border-top:1px solid var(--linea);
}
.videoclip-prensa h3{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--tinta);
  opacity:.5;
  margin-bottom:12px;
}
.videoclip-prensa__lista{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.videoclip-prensa__lista a{
  font-family:var(--serif);
  font-size:1rem;
  color:var(--tinta);
  text-decoration:underline;
  text-underline-offset:3px;
}
.videoclip-prensa__lista li{
  font-size:.85rem;
  color:var(--tinta);
  opacity:.75;
}
