/* Homepage motion — brand-safe enhancements only */

.home-motion .hero h1,
.home-motion .hero .lead,
.home-motion .hero .btn-row,
.home-motion .hero-photo {
  opacity: 0;
  transform: translateY(18px);
}

.home-motion.hero-ready .hero h1,
.home-motion.hero-ready .hero .lead,
.home-motion.hero-ready .hero .btn-row,
.home-motion.hero-ready .hero-photo {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.home-motion.hero-ready .hero .lead { transition-delay: 0.08s; }
.home-motion.hero-ready .hero .btn-row { transition-delay: 0.16s; }
.home-motion.hero-ready .hero-photo { transition-delay: 0.12s; }

.home-motion .card,
.home-motion .trust-strip,
.home-motion .section h2,
.home-motion .section .sub {
  will-change: transform, opacity;
}

.home-motion .card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home-motion .card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: var(--shadow-hover);
}

.home-motion .section.alt {
  background:
    radial-gradient(1200px 280px at 80% 0%, rgba(156, 130, 224, 0.08), transparent 60%),
    var(--bg-soft);
}

.home-motion .hero-photo img,
.home-motion .photo img {
  transition: transform 0.45s ease;
}
.home-motion .hero-photo:hover img,
.home-motion .photo:hover img {
  transform: scale(1.015);
}

.home-motion .btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.home-motion .btn:hover {
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .home-motion .card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-motion .hero h1,
  .home-motion .hero .lead,
  .home-motion .hero .btn-row,
  .home-motion .hero-photo,
  .home-motion .card,
  .home-motion .btn,
  .home-motion .hero-photo img,
  .home-motion .photo img,
  .home-motion .section h2,
  .home-motion .section .sub {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
