.faq-header { text-align: center; padding: 3rem 0 2rem; }
.faq-header h1 { font-family: var(--font-display); font-size: clamp(2rem,5vw,3rem); margin-bottom: 0.5rem; }
.faq-header p  { color: var(--gray-500); font-size: 1.1rem; }
.faq-list { max-width: 780px; margin: 0 auto; }
.faq-item { border: 2px solid var(--gray-200); border-radius: var(--radius-lg); margin-bottom: 1rem; overflow: hidden; transition: border-color 0.2s; }
.faq-item:hover { border-color: var(--gray-400); }
.faq-pergunta {
    display: flex; justify-content: space-between; align-items: center;
    padding: 1.25rem 1.5rem; cursor: pointer; background: var(--white);
    font-weight: 600; font-size: 1rem; gap: 1rem;
}
.faq-pergunta i { color: var(--gray-400); transition: transform 0.3s; flex-shrink: 0; }
.faq-item.open .faq-pergunta i { transform: rotate(180deg); color: var(--dark); }
.faq-resposta {
    padding: 0 1.5rem; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s;
    color: var(--gray-600); line-height: 1.75; font-size: 0.98rem;
}
.faq-item.open .faq-resposta { max-height: 200px; padding: 0 1.5rem 1.25rem; }
