Evolutionary theory explains the origin of complex organismal features through a combination of reusing and extending information from less-complex traits, and by needing to exploit only one of many unlikely pathways to a viable solution. While the appearance of a new trait may seem sudden, we show that the underlying information associated with each trait evolves gradually. We study this process using digital organisms, self-replicating computer programs that mutate and evolve novel traits, including complex logic operations. When a new complex trait first appears, its proper function immediately requires the coordinated operation of many genomic positions. As the information associated with a trait increases, the probability of its simultaneous introduction drops exponentially, so it is nearly impossible for a significantly complex trait to appear without reusing existing information. We show that the total information stored in the genome increases only marginally when a trait first appears. Furthermore, most of the information associated with a new trait is either correlated with existing traits or co-opted from traits that were lost in conjunction with the appearance of the new trait. Thus, while total genomic information increases incrementally, traits that require much more information can still arise during the evolutionary process.