/* Shared entrance, hover, and count-up motion.
   Loaded after each page stylesheet so these rules win ties.
   Hover lifts use transform; entrances use translate, so the two can run together. */
@media (prefers-reduced-motion: no-preference){
  @keyframes motionRise{
    from{opacity:0;translate:0 22px;}
    to{opacity:1;translate:0 0;}
  }
  @keyframes cardIn{
    from{opacity:0;translate:0 18px;}
    to{opacity:1;translate:0 0;}
  }
  @keyframes imgSettle{
    from{scale:1.05;}
    to{scale:1;}
  }
  @keyframes goldDraw{
    from{transform:scaleX(0);}
    to{transform:scaleX(1);}
  }
  @keyframes faqIn{
    from{opacity:0;translate:0 -8px;}
    to{opacity:1;translate:0 0;}
  }

  .phero .eyebrow,.phero__sub,
  .phero p:has(.btn){
    opacity:0;
    animation:motionRise .7s ease both;
  }
  .phero .eyebrow{animation-delay:.1s;}
  .phero__sub{animation-delay:.36s;}
  .phero p:has(.btn){animation-delay:.5s;}

  .phero__media{
    opacity:0;
    animation:cardIn .75s ease .52s both;
  }
  .phero__media img{animation:imgSettle 1s ease .52s both;}
  .hero-card::before{
    transform-origin:left center;
    animation:goldDraw .55s cubic-bezier(.22,.8,.24,1) .85s both;
  }

  .reveal{
    opacity:0;
    transform:none;
    translate:0 22px;
    transition:none;
  }
  .reveal.is-visible{
    opacity:0;
    transform:none;
    animation:motionRise .7s ease both;
  }

  .pcard.reveal,.feedcol.reveal,.person.reveal,.presscard.reveal,.solcard.reveal,.platcard.reveal{
    transition:transform .28s ease, box-shadow .28s ease;
  }
  .person.reveal.is-visible:hover,
  .presscard.reveal.is-visible:hover,
  .solcard.reveal.is-visible:hover,
  .platcard.reveal.is-visible:hover{
    transform:translateY(-3px);
  }
  .pcard.reveal.is-visible:hover,
  .feedcol.reveal.is-visible:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 34px rgba(0,0,0,.16);
  }

  .phero__media img,.hero__media img,
  .person .ph img,.mediacard__media img,.about__media img,.split__media img,.photocard .ph img{
    transition:transform .45s ease;
  }
  .phero__media:hover img,.hero__media:hover img,.hero-card:hover img,
  .person:hover .ph img,.mediacard:hover .mediacard__media img,.awardcard:hover .mediacard__media img,
  .about__media:hover img,.split__media:hover img,
  .photocard:hover .ph.is-on img,.photocard:hover button > .ph:only-child img{
    transform:scale(1.045);
  }
  .person.reveal.is-visible .ph img,
  .about__media.reveal.is-visible img,
  .split__media.reveal.is-visible img,
  .mediacard.reveal.is-visible .mediacard__media img,
  .awardcard.reveal.is-visible .mediacard__media img{
    animation:imgSettle .8s ease both;
  }

  .faq details[open] .faq__a{animation:faqIn .4s ease;}

  .pstat b.is-counting,.stat__val.is-counting,.ticker__item b.is-counting{
    font-variant-numeric:tabular-nums;
  }
}
