.faq-section { background: var(--surface); }
.faq-section h1 { font-size: clamp(2.2rem, 4.5vw, 4.4rem); line-height: 1.1; }
.faq-list { display: grid; gap: 14px; }
.faq-item { border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg); overflow: hidden; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 30px; cursor: pointer; list-style: none; font-weight: 700; font-size: 1.08rem; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary > span:first-child { overflow-wrap: anywhere; }
.faq-item summary:hover { color: var(--accent); }
.faq-item summary:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; border-radius: var(--radius); }
.faq-icon { position: relative; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: white; }
.faq-icon::before, .faq-icon::after { content: ""; position: absolute; top: 13px; left: 8px; width: 12px; height: 2px; background: currentColor; }
.faq-icon::after { transform: rotate(90deg); }
.faq-item[open] .faq-icon::after { transform: rotate(0); }
.faq-item[open] { border-color: var(--accent); }
.faq-answer { padding: 0 30px 28px; max-width: 900px; color: var(--muted); line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    .faq-item summary { padding: 22px 20px; gap: 16px; font-size: 1rem; }
    .faq-answer { padding: 0 20px 24px; }
}
