/* Motion inspired by peec.ai — restrained fade-up, subtle hover */

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal--delay-1 { transition-delay: 0.1s; }
.reveal--delay-2 { transition-delay: 0.2s; }
.reveal--delay-3 { transition-delay: 0.3s; }

.hero__dashboard.reveal {
  transform: translateY(32px);
}

.hero__dashboard.reveal.is-visible {
  transform: translateY(0);
}

.dashboard-mock {
  transition: box-shadow var(--transition-base);
}

.dashboard-mock:hover {
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.12);
}

.hero__float-card {
  animation: float-gentle 4s ease-in-out infinite;
}

@keyframes float-gentle {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-6px); }
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:active {
  transform: translateY(0);
}

.integration-card,
.solution-block {
  will-change: transform;
}

.modal {
  animation: modal-fade-in 0.25s ease forwards;
}

.modal.is-closing {
  animation: modal-fade-out 0.2s ease forwards;
}

.modal__panel {
  animation: modal-slide-up 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.modal.is-closing .modal__panel {
  animation: modal-slide-down 0.2s ease forwards;
}

@keyframes modal-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modal-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes modal-slide-up {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes modal-slide-down {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(8px) scale(0.98); }
}

.trust-bar__logo {
  transition: color var(--transition-base), transform var(--transition-base);
}

.trust-bar__logo:hover {
  transform: translateY(-1px);
}

.workflow__step .workflow__visual {
  transition: border-color var(--transition-base);
}

.workflow__step:hover .workflow__visual {
  border-color: var(--color-border-strong);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .hero__float-card {
    animation: none;
  }
}
