.faq-section { max-width: 820px; padding-block: 24px 40px; }
.faq-heading { display: block; }
.faq-heading h2 { font: 500 clamp(30px,3.5vw,40px)/1.2 Inter,sans-serif; letter-spacing: -.035em; }
.faq-section .faq-layout { margin-top: 40px; }
.faq-section .faq-list { border-top: 1px solid #ffffff12; }
.faq-section .faq-list details { border-bottom: 1px solid #ffffff12; }
.faq-section .faq-list summary { gap: 24px; padding-block: 24px; color: var(--text); font-size: 19px; font-weight: 500; line-height: 1.45; letter-spacing: -.02em; cursor: pointer; }
.faq-section .faq-list summary:focus-visible { outline-offset: -2px; border-radius: 4px; }
.faq-section .faq-list p { max-width: 68ch; padding: 0 44px 24px 0; color: #a7a5b3; font-size: 16px; line-height: 1.7; }
.faq-section .faq-list .faq-toggle { position: relative; flex: 0 0 20px; width: 20px; height: 20px; color: #929299; transform: none; transition: color .18s ease; }
.faq-toggle::before,.faq-toggle::after { content: ''; position: absolute; top: 9px; left: 4px; width: 12px; height: 1px; background: currentColor; }
.faq-toggle::after { transform: rotate(90deg); transition: transform .18s ease; }
.faq-section .faq-list details[open] .faq-toggle { color: var(--text); }
.faq-section .faq-list details[open] .faq-toggle::after { transform: rotate(0); }
.faq-section + .author-support-section { padding-block: 48px 64px; }
@media(max-width:560px) {
 .faq-section { padding-block: 20px 24px; }
 .faq-section .faq-layout { margin-top: 28px; }
 .faq-section .faq-list summary { gap: 16px; padding-block: 20px; font-size: 17px; }
 .faq-section .faq-list p { padding: 0 0 20px; font-size: 15px; }
 .faq-section + .author-support-section { padding-block: 32px 40px; }
}
@media(prefers-reduced-motion:reduce) {
 .faq-section .faq-toggle,.faq-toggle::after { transition: none; }
}
