[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 600ms ease, transform 600ms ease;
}

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

[data-reveal="left"] {
  transform: translateX(-22px);
}

[data-reveal="right"] {
  transform: translateX(22px);
}

[data-reveal="left"].is-visible,
[data-reveal="right"].is-visible {
  transform: translateX(0);
}

.section-divider::after {
  content: "";
  display: block;
  width: min(80%, 920px);
  height: 1px;
  margin: var(--space-2xl) auto 0;
  background: linear-gradient(90deg, transparent, rgba(24, 33, 47, 0.12), transparent);
}
