/* Cinematic scroll reveals — ADD-ON layer. Only active when <html> has .anim
   (added by animate.js). If JS fails, nothing is hidden. No design/layout change. */
html.anim [data-anim]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
html.anim [data-anim].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.anim [data-anim]{opacity:1!important;transform:none!important;transition:none!important}}
