.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

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

.hero-figure img,
.showcase-figure img {
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-media:hover .hero-figure img,
.showcase-figure:hover img {
  transform: scale(1.03);
}

[data-tilt] {
  transform-style: preserve-3d;
  transition: transform 180ms ease;
}

.feature-item,
.step-item,
.faq-item,
.metric-item,
.language-cloud span,
.cta-panel {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.feature-item:hover,
.step-item:hover,
.faq-item:hover,
.metric-item:hover,
.language-cloud span:hover,
.cta-panel:hover {
  transform: translateY(-3px);
  border-color: rgba(31, 26, 22, 0.18);
  box-shadow: 0 18px 38px rgba(42, 30, 19, 0.08);
}

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

  .reveal {
    opacity: 1;
    transform: none;
  }
}
