.faq__list { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 1rem; }
.faq__item { background: white; border-radius: var(--radius); border: 1px solid #e2e8f0; overflow: hidden; }
.faq__question { padding: 1.25rem 1.5rem; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; align-items: center; list-style: none; color: var(--color-primary); }
.faq__question::-webkit-details-marker { display: none; }
.faq__icon { width: 20px; height: 20px; transition: transform 0.3s ease; color: var(--color-accent); }
.faq__item[open] .faq__icon { transform: rotate(180deg); }
.faq__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease-out; }
.faq__item[open] .faq__answer { grid-template-rows: 1fr; }
.faq__answer p { padding: 0 1.5rem 1.5rem; margin: 0; color: #4a5568; line-height: 1.6; overflow: hidden; }