@media (prefers-reduced-motion: no-preference) {
  .hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -25%;
    pointer-events: none;
    background: radial-gradient(ellipse at 74% 44%, rgba(193, 205, 174, 0.13), transparent 34%);
    animation: hero-glow 11s ease-in-out infinite alternate;
  }

  .hero-content .overline,
  .hero h1,
  .hero-description,
  .hero .solid-button,
  .hero-slogan {
    opacity: 0;
    animation: hero-enter 0.85s cubic-bezier(.2,.7,.2,1) forwards;
  }

  .hero h1 { animation-delay: 0.12s; }
  .hero-description { animation-delay: 0.25s; }
  .hero .solid-button { animation-delay: 0.36s; }
  .hero-slogan { animation-delay: 0.45s; }

  .reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.7s ease, transform 0.8s cubic-bezier(.2,.7,.2,1);
  }

  .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .advantages-list article:nth-child(2) { transition-delay: 80ms; }
  .advantages-list article:nth-child(3) { transition-delay: 160ms; }
  .advantages-list article:nth-child(4) { transition-delay: 240ms; }
  .advantages-list article:nth-child(5) { transition-delay: 320ms; }

  .solid-button,
  .form-button,
  .outline-button,
  .telegram,
  .service-list summary {
    transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
  }

  .solid-button:hover,
  .form-button:hover { transform: translateY(-4px); background: #d1d8c3; }
  .outline-button:hover { transform: translateY(-3px); background: var(--light); color: var(--dark); }
  .telegram:hover { transform: translateY(-3px); background: #d1d8c3; }
  .service-list summary:hover { transform: translateX(8px); }
  .service-list details[open] summary { animation: accordion-open .35s ease-out both; }
  .service-list details[open] ul { animation: list-enter .38s ease-out both; }
  .stairs-about { animation: architecture-drift 10s ease-in-out infinite alternate; }
  .stairs-audit { animation: architecture-drift 12s 1s ease-in-out infinite alternate; }

  @keyframes hero-enter {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes hero-glow {
    from { transform: translate3d(-2%, -1%, 0) scale(.98); opacity: .35; }
    to { transform: translate3d(2%, 2%, 0) scale(1.08); opacity: 1; }
  }

  @keyframes architecture-drift {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-14px, -9px, 0); }
  }

  @keyframes accordion-open {
    from { opacity: .45; }
    to { opacity: 1; }
  }

  @keyframes list-enter {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
