/* Scroll-in motion for every page. Elements fade and rise into place once, as they enter the viewport;
   siblings cascade (delay set by motion.js). html.js-motion is added by an inline script in <head> before
   first paint, so nothing flashes. Reduced-motion users get no motion; a CSS failsafe reveals everything
   after 3 s even if motion.js never runs. The header, demo dialog, Field Academy app and Manthan slides
   (which have their own behaviour) are left alone. */

@media (prefers-reduced-motion:no-preference){
  html.js-motion :is(
    /* home */
    .hm-hero-head > *, .hm-hero-media, .hm-proof-grid > *, .hm-head, .hm-about-grid > *, .hm-svc,
    .hm-split-grid > *, .hm-why-band, .hm-why-card, .hm-results-lead, .hm-quote, .hm-arrows, .hm-person,
    .hm-team-reach, .hm-faq-lead, .hm-accordion details, .hm-cta-band, .hm-note,
    /* inner pages */
    .page-hero .container > *, .pr-hero-grid > *, .pr-hero > .container > *, .lib-hero .container > *, .mk-hero .container > *, .pb-grid > *,
    .offer-hero .container > *, .rhero .container > *, .section-head, .section > .container > h2,
    .card, .rcard, .kpi, .stat, .prose > *, .toc, .faq details, .cta-band, .cta-strip .container,
    .datastrip, .table-wrap, .brief > *, .legal-page > *, .tools-jump,
    /* footer */
    .hm-foot-top > *, .hm-foot-links > *, .hm-foot-bar
  ):not(.reveal):not(.hm-dialog *):not(.site-header *):not(#view *):not(.mb-slide *){
    opacity:0;
    transform:translate3d(0,22px,0);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);
    transition-delay:var(--anim-delay,0ms);
    animation:icf-motion-failsafe 0s 3s forwards;
  }
  /* Large media settles with a slight scale instead of a rise */
  html.js-motion :is(.hm-hero-media, .hm-why-band, .hm-cta-band, .offer-hero, .rhero){transform:scale(.985)}
  html.js-motion .is-in{opacity:1!important;transform:none!important;animation:none!important}
}
@keyframes icf-motion-failsafe{to{opacity:1;transform:none}}
