.section-accordion-item {
  opacity: 0;
  transform: translateX(var(--accordion-reveal-offset, 40px));
  transition:
    opacity 0.58s ease-out,
    transform 0.58s ease-out,
    border-color 0.36s ease,
    box-shadow 0.36s ease,
    background-color 0.36s ease;
  will-change: opacity, transform;
}

.section-accordion-item--from-right {
  --accordion-reveal-offset: 40px;
}

.section-accordion-item--from-left {
  --accordion-reveal-offset: -40px;
}

.section-accordion-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.service-accordion-card[data-accordion-item],
.faq-item[data-accordion-item] {
  transition:
    border-color 0.36s ease,
    box-shadow 0.36s ease,
    background-color 0.36s ease,
    opacity 0.58s ease-out,
    transform 0.58s ease-out;
}

.service-accordion-card[data-accordion-state='open'],
.faq-item[data-accordion-state='open'] {
  border-color: rgba(83, 216, 193, 0.34);
  box-shadow:
    0 0 0 1px rgba(0, 255, 170, 0.2),
    0 0 20px rgba(0, 255, 170, 0.15),
    0 16px 34px -24px rgba(0, 0, 0, 0.42);
}

.service-accordion-card[data-accordion-item] .accordion-content,
.faq-item[data-accordion-item] .accordion-content {
  display: block;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.38s ease,
    opacity 0.34s ease;
  will-change: max-height, opacity;
}

.service-accordion-card[data-accordion-item] .accordion-content__inner,
.faq-item[data-accordion-item] .accordion-content__inner {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.32s ease,
    transform 0.38s ease;
  will-change: opacity, transform;
}

.service-accordion-card[data-accordion-state='open'] .accordion-content,
.faq-item[data-accordion-state='open'] .accordion-content {
  opacity: 1;
}

.service-accordion-card[data-accordion-state='open'] .accordion-content__inner,
.faq-item[data-accordion-state='open'] .accordion-content__inner {
  opacity: 1;
  transform: translateY(0);
}

.service-accordion-card[data-accordion-item] .service-accordion__chevron {
  transition:
    transform 0.3s ease,
    color 0.3s ease;
  transform-origin: center;
  will-change: transform;
}

.faq-item[data-accordion-item] .faq-item__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.3s ease,
    color 0.3s ease;
  transform-origin: center;
  will-change: transform;
}

.faq-item[data-accordion-item] .faq-item__toggle svg {
  width: 1.2rem;
  height: 1.2rem;
}

.service-accordion-card[data-accordion-state='open'] .service-accordion__chevron {
  transform: rotate(180deg);
  color: #7de2cf;
}

.faq-item[data-accordion-state='open'] .faq-item__toggle {
  transform: rotate(180deg);
  color: #7de2cf;
}

@media (prefers-reduced-motion: reduce) {
  .section-accordion-item {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .service-accordion-card[data-accordion-item] .accordion-content,
  .faq-item[data-accordion-item] .accordion-content,
  .service-accordion-card[data-accordion-item] .accordion-content__inner,
  .faq-item[data-accordion-item] .accordion-content__inner,
  .service-accordion-card[data-accordion-item] .service-accordion__chevron,
  .faq-item[data-accordion-item] .faq-item__toggle {
    transition: none;
  }
}
