.section-assemble--left,
.section-assemble--right,
.section-assemble--rise {
  animation-duration: 1800ms;
  animation-timing-function: var(--ease-out-expo);
  animation-delay: var(--section-assemble-delay, 0ms);
  animation-fill-mode: backwards;
}

.section-assemble--left {
  animation-name: section-assemble-left;
}

.section-assemble--right {
  animation-name: section-assemble-right;
}

.section-assemble--rise {
  animation-name: section-assemble-rise;
}

.section-assemble--faq {
  animation: section-assemble-faq-left 1800ms var(--ease-out-expo) backwards;
}

.section-assemble--faq:nth-child(even) {
  animation-name: section-assemble-faq-right;
}

.section-assemble--schedule .event-card {
  animation: section-assemble-schedule-card 1800ms var(--ease-out-expo) backwards;
}

.section-assemble--schedule .event-card-date {
  animation: section-assemble-schedule-date 700ms var(--ease-out-quart) backwards;
}

@keyframes section-assemble-left {
  from {
    opacity: 0;
    transform: translateX(-72px) rotate(-2deg);
  }
}

@keyframes section-assemble-right {
  from {
    opacity: 0;
    transform: translateX(72px) rotate(2deg);
  }
}

@keyframes section-assemble-rise {
  from {
    opacity: 0;
    transform: translateY(54px) scale(0.97);
  }
}

@keyframes section-assemble-faq-left {
  from {
    opacity: 0;
    transform: translateX(-48px);
  }
}

@keyframes section-assemble-faq-right {
  from {
    opacity: 0;
    transform: translateX(48px);
  }
}

@keyframes section-assemble-schedule-card {
  from {
    opacity: 0;
    clip-path: inset(0 0 0 100% round var(--radius-lg));
    transform: translateX(72px);
  }
}

@keyframes section-assemble-schedule-date {
  from {
    opacity: 0;
    transform: translateX(22px) scale(0.9);
  }
}

@media (max-width: 767px) {
  .section-assemble--left,
  .section-assemble--right,
  .section-assemble--faq {
    animation-name: section-assemble-rise;
  }

  .section-assemble--left,
  .section-assemble--right,
  .section-assemble--rise,
  .section-assemble--faq,
  .section-assemble--schedule .event-card {
    animation-duration: 900ms;
  }

  .section-assemble--schedule .event-card-date {
    animation-duration: 450ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section-assemble--left,
  .section-assemble--right,
  .section-assemble--rise,
  .section-assemble--faq,
  .section-assemble--schedule .event-card,
  .section-assemble--schedule .event-card-date {
    animation: none;
  }
}
