/* Contenedor y fondo del león */
.gallery{ position:relative; z-index:1; overflow:hidden; }
.gallery__bg{
  position:absolute; inset:0; display:flex; justify-content:center; align-items:flex-start;
  z-index:0; pointer-events:none;
}
.gallery__bg img{
  max-width: clamp(420px, 70vw, 880px);
  width: 100%; height: auto; opacity: .06; object-fit: contain;
  margin-top: 120px; width: 20rem; position: absolute; top: -15rem; right: 31rem;
}

/* Asegura que título + slider queden por encima */
.gallery > .container, .gallery > div { position:relative; z-index:2; }

/* Slide imagen + overlays */
.gallery__image{ position:relative; }

/* Degradado superior->inferior para legibilidad del texto */
.gallery__image::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 10%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.85) 100%);
  z-index:1;
}

/* Tu degradado inferior existente (lo dejo, complementa la base) */
.gallery__image::after{
  content: '';
  position: absolute; bottom: 0; width: 100%; height: 100px;
  background: linear-gradient(0deg, rgba(32,0,0,1) 0%, rgba(0,0,0,0) 100%);
  z-index:1;
}

/* Caja de textos centrada y por encima de los degradados */
.gallery__caption{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom: 48px; width: calc(100% - 48px); max-width: 640px;
  text-align:center; color:#fff; z-index:2; pointer-events:none;
}

/* Estilos de textos como en la maqueta */
.gallery__claim{
  margin: 0 0 14px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.4; font-weight: 500;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.gallery__name{
  margin: 0; font-weight: 700; font-size: 14px;
}
.gallery__role{
  margin: 2px 0 0; font-size: 12px; opacity: .9;
}

/* Alturas */
.gallery--s .gallery__image{ height:450px; }
.tidy--height-600{ height:600px; } /* por si tu helper no fija exactamente la altura */

/* Paginación */
.slider .swiper-pagination{ margin-bottom: 40px; }

/* Títulos */
.gallery-padding{ padding-top:9rem; }
.entienden__title, .entienden__subtitle{ font-family: Bebas Neue, sans-serif; }
.entienden__subtitle{
  color:#d20909; font-size: clamp(24px, 5.5vw, 56px);
  line-height:.95; letter-spacing:.04em; margin:0 0 4rem;
}
.entienden__title{
  text-transform:uppercase; letter-spacing:.12em; opacity:.8; font-size:1.25rem;
  color:#000; margin:0;
}

/* Responsive */
@media (max-width: 980px){
  .tidy--height-600{ height:520px; }
    .gallery-padding{padding:0;
}
@media (max-width: 570px){
  .gallery{padding:0}
  .gallery__image{ height:450px; }
  .gallery__bg img{ margin-top:100px; max-width: clamp(340px, 90vw, 680px); }
  .gallery__caption{ bottom: 32px; }
  .gallery__claim{ font-size: 15px; }
}
