.sq-landing__faq {
  display: flex; flex-direction: column; align-items: center; gap: 64px;
  padding: 100px 80px; background: var(--sq-bg); box-sizing: border-box;
}
.sq-landing__faq-list { width: 100%; max-width: 600px; display: flex; flex-direction: column; }
.sq-landing__faq-item {
  box-sizing: border-box; padding: 32px 0; border-bottom: 1px solid #1f1f23;
}
.sq-landing__faq-item:first-child { border-top: 1px solid #1f1f23; }
.sq-landing__faq-item { display: flex; flex-direction: column; gap: 24px; }
.sq-landing__faq-q {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  list-style: none; cursor: default;
}
button.sq-landing__faq-q {
  width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit;
  font: inherit; text-align: left; cursor: pointer;
}
button.sq-landing__faq-q:focus-visible { outline: 2px solid #7097f9; outline-offset: 4px; }
.sq-landing__faq-qtext {
  flex: 1 1 0; min-width: 0;
  font: 600 24px/32px var(--sq-font-display); color: var(--sq-text-default);
}
.sq-landing__faq-icon { flex: none; display: flex; width: 24px; height: 24px; }
.sq-landing__faq-icon img { display: block; width: 24px; height: 24px; }
.sq-landing__faq-icon-up { display: none !important; }
.sq-landing__faq-item.is-open .sq-landing__faq-icon-up { display: block !important; }
.sq-landing__faq-item.is-open .sq-landing__faq-icon-down { display: none !important; }
.sq-landing__faq-a {
  margin: 0; font: 400 16px/24px var(--sq-font-body); color: #8c8c8c;
}

/* Transitions */
.sq-landing__faq-qtext { transition: color .2s; }
button.sq-landing__faq-q:hover .sq-landing__faq-qtext { color: #fff; }
.sq-landing__faq-item { transition: background-color .2s; }

/* Collapsible answer: always rendered, toggled instantly; margin-top cancels the 24px gap while closed. */
.sq-landing__faq-body {
  display: grid; grid-template-rows: 0fr; margin-top: -24px; opacity: 0; visibility: hidden;
}
.sq-landing__faq-body-in { min-height: 0; overflow: hidden; }
.sq-landing__faq-item.is-open .sq-landing__faq-body {
  grid-template-rows: 1fr; margin-top: 0; opacity: 1; visibility: visible;
}
@media (prefers-reduced-motion: reduce) {
  .sq-landing__faq-body { transition: none; }
}
