#cortometraje {
    width: 92%;
    max-width: 1120px;
    margin: 70px auto 100px;
    color: #222551;
}

#cortometraje section {
    margin: 0 0 80px;
}

#cortometraje [hidden] {
    display: none;
}

#cortometraje h1,
#cortometraje h2 {
    text-align: center;
    line-height: 1.2;
    color: #252989;
    margin: 12px 0 30px;
}

#cortometraje h1 {
    font-size: clamp(2rem, 5vw, 3.6rem);
}

#cortometraje h2 {
    font-size: clamp(1.7rem, 4vw, 2.6rem);
}

#cortometraje .corto-etiqueta,
#cortometraje .corto-intro {
    text-align: center;
    text-indent: 0;
    margin: 0 0 20px;
}

#cortometraje .corto-etiqueta {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .85rem;
    font-weight: 600;
}

#cortometraje .corto-reproductor {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0;
    border: 0;
    background: #15151e;
}

#cortometraje .corto-texto {
    max-width: 760px;
    margin: 32px auto 0;
}

#cortometraje .corto-texto p {
    margin: 0 0 20px;
    text-align: left;
    text-indent: 0;
    line-height: 1.8;
}

#cortometraje #backstage {
    scroll-margin-top: 100px;
}

#cortometraje .corto-galeria {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

#cortometraje .corto-galeria a {
    display: block;
    background: #17191f;
}

#cortometraje .corto-galeria img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    object-fit: contain;
}

#cortometraje .corto-paginacion {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 28px 0 0;
}

#cortometraje .corto-paginacion a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid #252989;
    border-radius: 4px;
    color: #252989;
    background: #fff;
}

#cortometraje .corto-paginacion a[aria-current],
#cortometraje .corto-paginacion a:hover {
    color: #fff;
    background: #252989;
}

#cortometraje a:focus-visible {
    outline: 3px solid #691fde;
    outline-offset: 4px;
}

#cortometraje .corto-equipo {
    padding: 48px 24px;
    background: rgba(255, 255, 255, .7);
}

#cortometraje .corto-cifras {
    display: flex;
    justify-content: center;
    gap: clamp(35px, 10vw, 120px);
    margin: 30px 0;
}

#cortometraje .corto-cifras p {
    text-align: center;
    text-indent: 0;
    margin: 0;
}

#cortometraje .corto-cifras strong,
#cortometraje .corto-cifras span {
    display: block;
}

#cortometraje .corto-cifras strong {
    color: #691fde;
    font-size: clamp(2.5rem, 7vw, 4rem);
    line-height: 1.2;
}

#cortometraje .corto-roles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
    list-style: none;
    max-width: 760px;
    padding: 0;
    margin: 32px auto 0;
}

@media (max-width: 600px) {
    #cortometraje {
        margin-top: 40px;
    }

    #cortometraje .corto-galeria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    #cortometraje .corto-equipo {
        padding: 32px 16px;
    }
}
