/* Return visits have their own entrance, independent of the splash handoff. */
html.return-visit body.home:not(.playing) :is(main,footer,.guide-launch,.header,.header .brand,.header nav,.header .menu-toggle){opacity:1!important;visibility:visible!important;animation:none!important}
html.return-visit body.home:not(.playing) :is(.page-reveal,.headline-line,.hero-art,.hero-actions>a){animation:none;transform:none}
html.return-visit body.home:not(.playing) .hero{animation:return-entry .75s cubic-bezier(.22,1,.36,1) both}
@keyframes return-entry{from{transform:translateY(14px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html.return-visit body.home:not(.playing) .hero{animation:none}}
/* Each hero element has a separate, visible entrance; the section stays still. */
html.return-visit body.home:not(.playing) .hero{animation:none}
html.return-visit body.home:not(.playing) .hero .eyebrow{animation:entry-rise .7s .05s both}
html.return-visit body.home:not(.playing) .hero .headline-line{animation:entry-title .95s .12s cubic-bezier(.22,1,.36,1) both}
html.return-visit body.home:not(.playing) .hero .headline-line.accent{animation-delay:.28s}
html.return-visit body.home:not(.playing) .hero .hero-meta{animation:entry-rise .75s .38s both}
html.return-visit body.home:not(.playing) .hero .hero-actions>a{animation:entry-rise .85s .48s cubic-bezier(.22,1,.36,1) both}
html.return-visit body.home:not(.playing) .hero .hero-actions>a:nth-child(2){animation-delay:.62s}
@keyframes entry-title{from{transform:translateY(90%);opacity:.25}to{transform:translateY(0);opacity:1}}
@keyframes entry-rise{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){html.return-visit body.home:not(.playing) .hero :is(.eyebrow,.headline-line,.hero-meta,.hero-actions>a){animation:none}}
