body .wrapper .faq { background-color: var(--osa-paper); }
body .wrapper .faq .faq-head { margin-bottom: 28px; }
body .wrapper .faq .faq-tagline { margin: 14px 0 0; font-size: 20px; font-weight: 700; color: #6B5BA8; letter-spacing: -0.4px; }

body .wrapper .faq .faq-list { list-style: none; margin: 0; padding: 0; max-width: 900px; }
body .wrapper .faq .faq-item { border-bottom: 1px solid var(--osa-line); }
body .wrapper .faq .faq-question { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: 17px; font-weight: 700; color: var(--osa-ink); cursor: pointer; }
body .wrapper .faq .faq-question:hover { color: var(--osa-muted); }
body .wrapper .faq .faq-icon { flex-shrink: 0; display: inline-flex; transition: transform 0.3s ease; }
body .wrapper .faq .faq-item.is-open .faq-icon { transform: rotate(45deg); }
body .wrapper .faq .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
body .wrapper .faq .faq-answer p { margin: 0; padding: 0 0 24px; font-size: 15px; line-height: 1.75; color: var(--osa-muted); max-width: 760px; }

@media (min-width: 768px) {
  body .wrapper .faq .faq-question { font-size: 19px; }
  body .wrapper .faq .faq-tagline { font-size: 24px; }
}
