/* Restrained, visible motion with a no-JS-safe baseline. */
:root {
  --motion-base: 220ms;
  --motion-ease: cubic-bezier(.2,.72,.25,1);
}

.button,
.brand-lockup > img,
.platform-links a,
.journey-grid article,
.impact-grid article,
.mission-grid article,
.person-card,
.advisor-card {
  transition: transform var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),opacity var(--motion-base) var(--motion-ease);
}

.motion-intro {
  animation: agrythm-intro 720ms var(--motion-ease) both;
  animation-delay: var(--motion-delay,0ms);
}

.motion-reveal {
  opacity: 0;
  transform: translate3d(0,28px,0);
  transition: opacity 680ms var(--motion-ease),transform 680ms var(--motion-ease);
  transition-delay: var(--motion-delay,0ms);
  will-change: opacity,transform;
}

.motion-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}

@keyframes agrythm-intro {
  from { opacity: 0; transform: translate3d(0,24px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@media (hover:hover) and (pointer:fine) {
  .button:hover { transform: translate3d(0,-2px,0); }
  .brand-lockup:hover > img { transform: translateY(-23%) scale(1.025); }
  .platform-links a:hover,
  .journey-grid article:hover,
  .impact-grid article:hover,
  .mission-grid article:hover,
  .person-card:hover,
  .advisor-card:hover { transform: translate3d(0,-2px,0); }
  .logo-marquee:hover .logo-track { animation-play-state: paused; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  .motion-reveal,.motion-intro { opacity:1!important;transform:none!important; }
}
