.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

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

@media (min-width: 640px) {
  .hero__features {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero__actions {
    flex-direction: row;
    justify-content: center;
    max-width: none;
  }

  .cards--3,
  .cards--4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .pricing,
  .videos {
    grid-template-columns: repeat(2, 1fr);
  }

  .form-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }

  .form__field--full,
  .form-consent,
  .form-status,
  .form button[type="submit"] {
    grid-column: 1 / -1;
  }
}

@media (min-width: 768px) {
  .nav,
  .header-contacts {
    display: flex;
  }

  .burger {
    display: none;
  }

  .section {
    padding: 5.5rem 0;
  }

  .hero__container {
    align-items: flex-start;
    text-align: left;
  }

  .hero__subtitle {
    margin-left: 0;
  }

  .hero__features {
    justify-content: flex-start;
  }

  .hero__feature {
    justify-content: flex-start;
  }

  .hero__actions {
    justify-content: flex-start;
  }

  .cards--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .cards--4 {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing,
  .videos {
    grid-template-columns: repeat(3, 1fr);
  }

  .contacts {
    grid-template-columns: 1fr 1fr;
  }

  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 1024px) {
  .cards--4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .section {
    padding: 7rem 0;
  }

  .section__lead {
    margin-bottom: 3rem;
  }

  .scenarios-visual img {
    height: 100%;
  }
}

@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;
  }
}
