/* FAQ accordion */
.faq__list { display: flex; flex-direction: column; gap: var(--space-faq); }
.faq__item {
  background: var(--bg-dark);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.faq__question { margin: 0; }
.faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: var(--pad-card);
  text-align: left;
  color: var(--white);
  font-size: var(--fs-body);
  font-weight: 600;
  transition: color var(--transition);
}
.faq__trigger:hover { color: var(--heading); }
.faq__icon {
  position: relative;
  flex: 0 0 auto;
  width: 18px; height: 18px;
}
.faq__icon::before, .faq__icon::after {
  content: "";
  position: absolute;
  background: var(--heading);
  transition: transform var(--transition), opacity var(--transition);
}
.faq__icon::before { top: 8px; left: 0; width: 18px; height: 2px; }
.faq__icon::after { left: 8px; top: 0; width: 2px; height: 18px; }
.faq__trigger[aria-expanded="true"] .faq__icon::after { transform: scaleY(0); opacity: 0; }

.faq__answer { overflow: hidden; transition: height var(--transition); }
.faq__answer[hidden] { display: none; }
.faq__answer-inner { padding: 0 var(--pad-card) var(--pad-card); color: var(--text); }
.faq__answer-inner p { margin-bottom: 0.75rem; }
.faq__answer-inner p:last-child { margin-bottom: 0; }
