.faq-section { padding-block: 5rem; }
.faq-section h2 { font-size: clamp(1.9rem, 3.5vw, 2.75rem); margin-bottom: 2.5rem; text-align: center; }
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary {
  list-style: none; cursor: pointer; padding-block: 1.5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  font-family: var(--display); font-weight: 600; text-transform: none; letter-spacing: 0.01em;
  font-size: 1.15rem; line-height: 1.35;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .faq-toggle-icon { flex: 0 0 auto; color: var(--accent); transition: transform 0.2s ease-out; }
.faq-item[open] summary .faq-toggle-icon { transform: rotate(45deg); }
.faq-answer { padding: 0 0 1.5rem; max-width: 65ch; color: color-mix(in oklch, var(--ink) 80%, var(--asphalt)); }

@media (max-width: 560px) {
  .faq-item summary { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-item summary .faq-toggle-icon { transition: none; }
}
