/* imp-motion: scroll reveal and hero entrance (imp-motion-standard). Hidden states exist only under html.imp-anim, which the script adds only when reduced motion is not requested. */
html.imp-anim [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;}
html.imp-anim [data-reveal].in-view{opacity:1;transform:none;will-change:auto;}
@keyframes impHeroIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
html.imp-anim .imp-hi{animation:impHeroIn .6s cubic-bezier(.16,1,.3,1) calc(.05s + var(--hi,0) * .09s) backwards;}
@media (prefers-reduced-motion:reduce){html.imp-anim [data-reveal]{opacity:1;transform:none;transition:none;}html.imp-anim .imp-hi{animation:none;}}
@media print{html.imp-anim [data-reveal]{opacity:1;transform:none;}}
