/* FOI Reveal v2.1 — Progressive enhancement (no blank screen if JS fails)
   Default: elements are visible. We only apply hidden state when JS adds .foi-init.
*/
.fade-on-view{ /* default visible; JS may override under .foi-init */ }
.slideanim{ /* default visible; JS may override under .foi-init */ }

/* Hidden state only after script signals readiness */
.foi-init .fade-on-view{opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease; will-change:opacity,transform;}
.foi-init .fade-on-view.is-in{opacity:1; transform:none;}

.foi-init .slideanim{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.foi-init .slideanim.slide-up{opacity:1; transform:none;}

@media (prefers-reduced-motion: reduce){
  .foi-init .fade-on-view,
  .foi-init .slideanim{transition:none !important; opacity:1 !important; transform:none !important;}
}
