/* Native disclosures keep package answers available without JavaScript. */
.pricing-faq { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; margin-top: 38px; padding-top: 32px; border-top: 1px solid var(--line); }
.pricing-faq h2 { margin: 0; font: 400 clamp(28px, 3vw, 38px)/1.15 var(--serif); }
.pricing-faq-items { min-width: 0; }
.pricing-faq details { border-bottom: 1px solid var(--line); }
.pricing-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 52px; padding: 14px 0; list-style: none; color: var(--paper); font-size: 16px; font-weight: 500; line-height: 1.6; }
.pricing-faq summary::-webkit-details-marker { display: none; }
.pricing-faq summary:focus-visible { outline: 2px solid var(--paper); outline-offset: 5px; border-radius: 2px; }
.pricing-faq .faq-toggle { position: relative; flex: 0 0 14px; width: 14px; height: 14px; }
.pricing-faq .faq-toggle::before, .pricing-faq .faq-toggle::after { content: ''; position: absolute; background: currentColor; }
.pricing-faq .faq-toggle::before { width: 12px; height: 1px; left: 1px; top: 6px; }
.pricing-faq .faq-toggle::after { width: 1px; height: 12px; left: 6px; top: 1px; }
.pricing-faq details[open] .faq-toggle::after { display: none; }
.pricing-faq details p { max-width: 62ch; margin: 0; padding: 0 30px 18px 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
@media (max-width: 700px) {
  .pricing-faq { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 28px; padding-top: 28px; }
}
