@media (prefers-reduced-motion: no-preference) {
  .home-page .hero__content > * {
    opacity: 0;
    transform: translateY(24px);
    animation: hero-rise .75s cubic-bezier(.2,.75,.25,1) forwards;
  }
  .home-page .hero__content > :nth-child(1) { animation-delay: .08s; }
  .home-page .hero__content > :nth-child(2) { animation-delay: .16s; }
  .home-page .hero__content > :nth-child(3) { animation-delay: .25s; }
  .home-page .hero__content > :nth-child(4) { animation-delay: .34s; }
  .home-page .hero__content > :nth-child(5) { animation-delay: .45s; }

  .home-page .hero__visual {
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    opacity: 0;
    transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.96);
    transform-origin: center;
    animation: visual-enter .95s .2s cubic-bezier(.2,.8,.2,1) forwards;
    transition: transform .25s ease-out, box-shadow .25s ease-out;
  }
  .home-page .hero__visual:hover {
    box-shadow: 30px 32px 0 #bbd5a2, 0 30px 65px rgba(38,69,43,.18);
  }
  .home-page .hero-card { animation: card-float 5s 1.2s ease-in-out infinite; }
  .home-page .hero-badge { animation: badge-float 4s .8s ease-in-out infinite; }
  .home-page .orbit--one { animation: orbit-spin 28s linear infinite; }
  .home-page .orbit--two { animation: orbit-spin 20s linear infinite reverse; }
  .home-page .hero-card__graph i {
    transform: scaleY(0);
    transform-origin: bottom;
    animation: bar-grow .7s cubic-bezier(.2,.8,.25,1) forwards;
  }
  .home-page .hero-card__graph i:nth-child(1) { animation-delay: .8s; }
  .home-page .hero-card__graph i:nth-child(2) { animation-delay: .9s; }
  .home-page .hero-card__graph i:nth-child(3) { animation-delay: 1s; }
  .home-page .hero-card__graph i:nth-child(4) { animation-delay: 1.1s; }
  .home-page .hero-card__graph i:nth-child(5) { animation-delay: 1.2s; }

  .motion-ready .motion-item {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .65s ease var(--motion-delay, 0ms), transform .75s cubic-bezier(.2,.75,.25,1) var(--motion-delay, 0ms);
  }
  .motion-ready .motion-item.is-visible { opacity: 1; transform: translateY(0); }
  .motion-ready .steps li.motion-item:nth-child(even) { transform: translateY(52px); }
  .motion-ready .steps li.motion-item.is-visible { transform: translateY(0); }

  .home-page .service-card::after,
  .home-page .article-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.3) 50%, transparent 65%);
    transform: translateX(-130%);
    transition: transform .65s ease;
    pointer-events: none;
  }
  .home-page .service-card,
  .home-page .article-card { position: relative; overflow: hidden; }
  .home-page .service-card:hover::after,
  .home-page .article-card:hover::after { transform: translateX(130%); }
  .home-page .service-card i,
  .home-page .button span,
  .home-page .article-card i { transition: transform .25s ease; }
  .home-page .service-card:hover i,
  .home-page .button:hover span { transform: translate(4px,-4px); }
  .home-page .article-card:hover i { transform: translateX(5px); }
  .home-page .about__number { animation: number-breathe 5s ease-in-out infinite; }

  @keyframes hero-rise { to { opacity: 1; transform: translateY(0); } }
  @keyframes visual-enter {
    to { opacity: 1; transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1); }
  }
  @keyframes card-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-12px) rotate(1deg); } }
  @keyframes badge-float { 0%,100% { transform: translateY(0) rotate(4deg); } 50% { transform: translateY(9px) rotate(1deg); } }
  @keyframes orbit-spin { to { transform: rotate(360deg); } }
  @keyframes bar-grow { to { transform: scaleY(1); } }
  @keyframes number-breathe { 0%,100% { color: #f4dc59; } 50% { color: #fff19a; } }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
