@keyframes reveal-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.reveal,
.section-heading,
.card,
.benefit-list article,
.process-list li,
.role-card,
.scenario-board article,
.flow-step,
.flow-roles li,
.flow-council-chamber,
.hero-council-system,
.hero-council-stage,
.hero-council-caption,
.audience-grid article,
.faq-list article,
.quote-card,
.metric-card,
.contact-card {
  animation: reveal-up 700ms ease both;
}

.role-card,
.scenario-board article {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.role-card:hover,
.scenario-board article:hover,
.audience-grid article:hover,
.faq-list article:hover {
  border-color: var(--color-border-strong);
  transform: translateY(-3px);
}

@supports not (animation-timeline: auto) {
  .reveal {
    opacity: 1;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
}
