.faq-hero {
  border-bottom: 1px solid var(--color-border);
}

.faq-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  align-items: end;
  gap: var(--space-8);
}

.faq-lead {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--color-text-muted);
  font-size: 18px;
}

.faq-checklist {
  padding: var(--space-5);
  border: 1px solid var(--color-border-strong);
  background: var(--color-panel);
}

.faq-checklist .mono-note {
  margin-bottom: var(--space-4);
}

.faq-checklist ol {
  margin-bottom: 0;
  padding-left: 1.4em;
  color: var(--color-text-muted);
}

.faq-checklist li::marker {
  color: var(--color-accent-dark);
  font-family: var(--font-mono);
}

.faq-nav-section {
  position: relative;
  z-index: 20;
  padding-top: var(--space-5);
  padding-bottom: var(--space-5);
  background: var(--color-bg);
}

.faq-category {
  scroll-margin-top: calc(var(--header-height) + var(--space-5));
}

.faq-category-head {
  display: grid;
  grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
  gap: var(--space-7);
  align-items: end;
  margin-bottom: var(--space-7);
}

.faq-category-head h2,
.faq-category-head p {
  margin-bottom: 0;
}

.faq-category-head > p {
  max-width: 720px;
  color: var(--color-text-muted);
}

.faq-category .faq-list {
  background: var(--color-bg);
}

.faq-category .faq-item summary {
  padding-left: var(--space-5);
}

.faq-category .faq-answer {
  padding-left: var(--space-5);
}

.faq-category .faq-answer p:last-child {
  margin-bottom: 0;
}

.faq-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  align-items: center;
  gap: var(--space-7);
}

.faq-next h2 {
  margin-bottom: var(--space-3);
}

.faq-next p:last-child {
  margin-bottom: 0;
}

.faq-next .button-row {
  justify-content: flex-end;
}

@media (max-width: 768px) {
  .faq-hero-grid,
  .faq-category-head,
  .faq-next {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-hero-grid {
    gap: var(--space-7);
  }

  .faq-lead {
    font-size: 17px;
  }

  .faq-category-head {
    gap: var(--space-4);
  }

  .faq-next .button-row {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .faq-checklist {
    padding: var(--space-4);
  }

  .faq-category .faq-item summary {
    padding-left: var(--space-4);
  }

  .faq-category .faq-answer {
    padding-left: var(--space-4);
  }
}