/* "accordion_list" layout: heading + hairline accordion (single-open) + footer link, in the narrow container. */
.faq-list { padding-block: 0 var(--section-pad); }
.faq-list {
  display: block;
  background: rgba(var(--color-background));
  color: rgba(var(--color-text));
}
.faq-list__heading { margin-bottom: var(--faq-list-heading-gap, 28px); }
.faq-list__acc { display: block; border-top: 1px solid var(--theme-line-2); }
.faq-list__item { border-bottom: 1px solid var(--theme-line-2); }
.faq-list__btn {
  width: 100%; background: none; border: 0; cursor: pointer; text-align: left; padding: 22px 0;
  display: flex; gap: 20px; align-items: center;
  font: 700 18px/1.3 var(--font-body); color: rgba(var(--color-text));
  transition: color 0.15s ease;
}
.faq-list__btn:hover { color: var(--theme-link-hover); }
.faq-list__sign { font-family: var(--font-mono); font-size: 22px; color: var(--theme-text-mono); transition: transform 0.2s ease; }
.faq-list__panel {
  display: none; padding-bottom: 24px; max-width: 66ch;
  color: rgba(var(--color-light-text)); font-size: 16px; line-height: 1.6; text-wrap: pretty;
}
.faq-list__item.is-open .faq-list__panel { display: block; animation: theme-rise 0.25s ease both; }
.faq-list__footer { margin-top: 26px; }
@media (max-width: 760px) {
  .faq-list__btn { font-size: 16px; padding: 18px 0; gap: 14px; }
  .faq-list__panel { font-size: 15px; }
}
