.faq-section { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--color-gray-200); }
.faq-item summary { padding: var(--space-5) 0; font-size: var(--fs-base); font-weight: var(--fw-semibold); color: var(--color-gray-800); cursor: pointer; display: flex; align-items: center; justify-content: space-between; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: ''; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform var(--transition-fast); flex-shrink: 0; }
.faq-item[open] summary::after { transform: rotate(180deg); }
.faq-item .faq-answer { padding: 0 0 var(--space-5); font-size: var(--fs-sm); color: var(--color-gray-600); line-height: var(--lh-relaxed); }
