/* Online Family premium motion layer — intentionally subtle, no autoplay video. */
:root { --of-motion-ease: cubic-bezier(.2,.7,.2,1); }
.of-motion-enabled [data-of-motion] {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity .72s var(--of-motion-ease), transform .72s var(--of-motion-ease);
  transition-delay: var(--of-motion-delay, 0ms);
  will-change: opacity, transform;
}
.of-motion-enabled [data-of-motion="left"] { transform: translate3d(-22px, 0, 0); }
.of-motion-enabled [data-of-motion="right"] { transform: translate3d(22px, 0, 0); }
.of-motion-enabled [data-of-motion="scale"] { transform: scale(.975); }
.of-motion-enabled [data-of-motion].of-motion-visible { opacity: 1; transform: none; }
/* Photo movement is restrained and only begins once the hero is in view. */
.home .hero-art .main-photo,
.hero .hero-art .main-photo { transition: transform .75s var(--of-motion-ease), box-shadow .75s var(--of-motion-ease); }
.hero-art:hover .main-photo { transform: translateY(-3px) rotate(-.25deg); }
.industry-hero-collage figure { transition: transform .7s var(--of-motion-ease), box-shadow .7s var(--of-motion-ease); }
.industry-hero-collage figure:nth-child(2) { transition-delay: 60ms; }
.industry-hero-collage figure:nth-child(3) { transition-delay: 110ms; }
.industry-hero-collage figure:hover { transform: translateY(-4px) rotate(0deg); }
.industry-ai-feature-main > img,
.industry-ai-feature-side > img,
.industry-type-card > img,
.industry-info-image { transition: transform .65s var(--of-motion-ease), filter .65s var(--of-motion-ease); }
.industry-ai-feature-main:hover > img,
.industry-ai-feature-side:hover > img,
.industry-type-card:hover > img,
.industry-info:hover .industry-info-image { transform: scale(1.035); }
.industry-type-card,
.industry-process-step,
.industry-info,
.service,
.platform-card,
.step { transition: transform .32s var(--of-motion-ease), box-shadow .32s var(--of-motion-ease), border-color .32s ease; }
.industry-type-card:hover,
.industry-process-step:hover,
.industry-info:hover,
.service:hover,
.platform-card:hover { transform: translateY(-3px); }
/* Do not introduce animation for visitors who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .of-motion-enabled [data-of-motion],
  .of-motion-enabled [data-of-motion].of-motion-visible,
  .hero-art .main-photo,
  .industry-hero-collage figure,
  .industry-ai-feature-main > img,
  .industry-ai-feature-side > img,
  .industry-type-card > img,
  .industry-info-image,
  .industry-type-card,
  .industry-process-step,
  .industry-info,
  .service,
  .platform-card,
  .step { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; }
}
