.faq { display: grid; gap: 12px; max-width: 820px; margin-inline: auto; }
.faq__item { border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-card); overflow: hidden; }
.faq__q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; background: transparent; border: 0; color: var(--color-text);
  font-size: 1.05rem; font-weight: 600; text-align: left;
}
.faq__icon { flex: none; width: 22px; height: 22px; position: relative; transition: transform .25s ease; }
.faq__icon::before, .faq__icon::after { content: ''; position: absolute; inset: 50% 0 auto; height: 2px; background: var(--color-accent); }
.faq__icon::after { transform: rotate(90deg); transition: transform .25s ease; }
.faq__item.is-open .faq__icon::after { transform: rotate(0); }
.faq__panel { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq__item.is-open .faq__panel { max-height: 500px; }
.faq__answer { padding: 0 22px 20px; color: var(--color-muted); }
