
.zp-faq { max-width: 900px; margin: 2rem auto; }
.zp-faq h2 { font-size: clamp(1.25rem, 2vw, 1.75rem); margin-bottom: 1rem; }
.zp-faq .faq-item { border-bottom: 1px solid rgba(0,0,0,.12); }
.zp-faq button.faq-q { width: 100%; text-align: left; padding: 1rem 0; font: inherit; background: none; border: 0; cursor: pointer; line-height: 1.5; }
.zp-faq button.faq-q:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.zp-faq .faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.zp-faq .faq-a-inner { padding: 0 0 1rem 0; }
.zp-faq .open .faq-a { max-height: 1000px; }
.zp-faq .qtext { display: inline-flex; align-items: center; gap: .5rem; }
.zp-faq .chev { inline-size: 1rem; block-size: 1rem; transform: rotate(0); transition: transform .2s; }
.zp-faq .open .chev { transform: rotate(180deg); }
@media (max-width: 420px) { .zp-faq button.faq-q { padding: .8rem 0; } .zp-faq h2 { margin-bottom: .5rem; } }
