section.faq {
  --margin-block: clamp(1.5rem, 0.9153rem + 1.4124vw, 2rem);
}
section.faq h2 {
  font-size: clamp(2.5rem, 1.9153rem + 1.4124vw, 3rem);
  margin-bottom: clamp(1.5rem, 1.1667rem + 0.434vw, 2rem);
}
section.faq h2:where(:not(:first-of-type)) {
  margin-top: clamp(4rem, 3.3333rem + 0.8681vw, 5rem);
}
section.faq h2 + .faq-question:before {
  content: "";
  height: 1px;
  background-color: var(--wp--preset--color--blue);
  opacity: 0.4;
  position: absolute;
  left: 0;
  right: 0;
}
section.faq > .container .faq-column:first-of-type {
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  section.faq > .container {
    display: flex;
    gap: var(--grid-gap);
  }
  section.faq > .container .faq-column {
    flex-basis: 50%;
  }
  section.faq > .container .faq-column:first-of-type {
    margin-bottom: 0;
  }
}
section.faq .faq-question {
  position: relative;
}
section.faq .faq-question:after {
  content: "";
  height: 1px;
  background-color: var(--wp--preset--color--blue);
  opacity: 0.4;
  position: absolute;
  left: 0;
  right: 0;
}
section.faq .faq-question:is(:not(.active)) .question-heading::before, section.faq .faq-question:is(:not(.active)) .question-heading::after {
  opacity: 1;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1) 0.2s, opacity 0.2s ease-in-out;
}
section.faq .faq-question:is(:not(.active)) .question-heading::before {
  transform: translate(-50%, -50%) rotate(180deg);
}
section.faq .faq-question:is(:not(.active)) .question-heading::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
section.faq .faq-question .question-heading {
  align-items: center;
  padding: var(--margin-block) 30px var(--margin-block) 0;
  cursor: pointer;
  margin: 0;
  position: relative;
}
section.faq .faq-question .question-heading::before, section.faq .faq-question .question-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  height: 3px;
  width: 12px;
  background: var(--wp--preset--color--purple);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1.1), opacity 0.2s ease-in-out 0.3s;
  pointer-events: none;
}
section.faq .faq-question .faq-answer {
  overflow: hidden;
  transition: height 0.35s ease-in-out;
}
section.faq .faq-question .faq-answer:where(:not(.active)) {
  display: none;
}
section.faq .faq-question .faq-answer p {
  font-size: var(--static-paragraph-default-fontsize);
  margin-bottom: var(--margin-block);
  margin-right: 90px;
}

[data-type="acf/faq"] section.faq .container > .acf-innerblocks-container {
  display: contents;
}
[data-type="acf/faq"] section.faq .container > .acf-innerblocks-container [data-type="acf/faqcolumn"] {
  flex-basis: 50%;
  padding: 20px 0;
}
[data-type="acf/faq"] section.faq .faq-question .faq-answer, [data-type="acf/faq"] section.faq .faq-question .faq-answer:where(:not(.active)) {
  display: block;
}