.faq-intro {
  max-width:var(--reading);
}
.faq-intro h1 {
  margin-top:20px;
}
.faq-lead {
  margin-top:18px;
  font-size:var(--fs-h3);
  font-weight:600;
  line-height:1.5;
}
.faq-description {
  max-width:42em;
  margin-top:12px;
  color:var(--muted);
}
.faq-route {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 20px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:var(--fs-sm);
}
.faq-route > span {
  color:var(--muted);
  font-size:var(--fs-xs);
}
.faq-route p {
  overflow-wrap:anywhere;
}
.faq-categories {
  margin-top:40px;
  margin-bottom:0;
}
.faq-category {
  margin-top:56px;
}
.faq-category + .faq-category {
  padding-top:48px;
  border-top:1px solid var(--line);
}
.faq-category-head {
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:24px;
}
.faq-category-head > div {
  min-width:0;
}
.faq-category-head .qs-no {
  flex-shrink:0;
  margin-top:2px;
}
.faq-category-head h2 {
  scroll-margin-top:24px;
}
.faq-category-head p {
  margin-top:8px;
  font-size:var(--fs-sm);
  color:var(--muted);
}
.faq-page .faq-answer code {
  font-family:var(--f-mono);
  color:var(--text);
  font-size:.92em;
}
.faq-next {
  margin-top:20px;
}
.faq-log-note {
  margin-top:56px;
}
@media (max-width:640px) {
  .faq-categories {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .faq-categories a {
    padding-inline:6px;
  }
  .faq-category {
    margin-top:40px;
  }
  .faq-category + .faq-category {
    padding-top:36px;
  }
  .faq-category-head {
    gap:12px;
  }
  .faq-route {
    flex-direction:column;
    gap:8px;
  }
  .faq-log-note {
    margin-top:40px;
  }
}