/* Topic navigation and native disclosure controls for the public FAQ page. */
.project-faq-layout { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 2fr); gap: clamp(40px, 7vw, 112px); align-items: start; }
.project-faq-nav { position: sticky; top: 120px; }
.project-faq-nav a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid #d8d8d3; color: #292b26; text-decoration: none; line-height: 1.5; }
.project-faq-nav a:hover { color: #41671a; }
.project-faq-group { margin-bottom: 72px; scroll-margin-top: 120px; }
.project-faq-group:last-child { margin-bottom: 0; }
.project-faq-group h2 { margin: 0 0 28px; font-size: clamp(26px, 3vw, 36px); }
.project-faq-item { border-top: 1px solid #d8d8d3; }
.project-faq-item:last-child { border-bottom: 1px solid #d8d8d3; }
.project-faq-item summary { position: relative; padding: 24px 36px 24px 0; cursor: pointer; font-size: 19px; line-height: 1.5; font-weight: 500; list-style: none; }
.project-faq-item summary::-webkit-details-marker { display: none; }
.project-faq-item summary::after { content: '+'; position: absolute; right: 4px; top: 22px; font-size: 24px; font-weight: 400; }
.project-faq-item[open] summary::after { content: '−'; }
.project-faq-item div { max-width: 65ch; padding: 0 30px 24px 0; }
.project-faq-item p { margin: 0; line-height: 1.75; }
.project-faq-item summary:focus-visible, .project-faq-nav a:focus-visible { outline: 2px solid #41671a; outline-offset: 5px; }
@media (max-width: 800px) {
  .project-faq-layout { grid-template-columns: 1fr; gap: 48px; }
  .project-faq-nav { position: static; }
  .project-faq-group { margin-bottom: 48px; }
  .project-faq-item summary { font-size: 18px; }
  .project-faq-item div { padding-right: 0; }
}
