.faq-main {
  width: min(800px, calc(100% - 44px));
  margin: 0 auto;
  padding: 80px 0 48px;
}
.faq-hero { margin-bottom: 48px; }
.faq-hero h1 { font-size: 40px; line-height: 1.1; }
.faq-intro,
.faq-answer p {
  margin: 20px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.8;
}
.faq-answer { margin-bottom: 48px; scroll-margin-top: 140px; }
.faq-answer h2 { font-size: 28px; line-height: 1.2; text-wrap: pretty; }
.faq-answer p { margin-top: 16px; }
.faq-answer strong { color: var(--ink); font-weight: 600; }
.faq-nowrap { white-space: nowrap; }
.faq-skip { position: fixed; top: -100px; left: 22px; z-index: 100; padding: 12px 20px; background: var(--paper-strong); }
.faq-skip:focus { top: 12px; }
@media (max-width: 620px) {
  .faq-main { width: calc(100% - 36px); padding: 44px 0 24px; }
  .faq-hero { margin-bottom: 36px; }
  .faq-hero h1 { font-size: 34px; }
  .faq-answer { margin-bottom: 36px; }
  .faq-answer h2 { font-size: 26px; }
  .faq-intro, .faq-answer p { font-size: 15px; }
}
@media print {
  .faq-page .site-header, .faq-page .site-footer, .faq-skip, .faq-page .demo-bg { display: none; }
  .faq-page, .faq-page::before { background: white; }
  .faq-main { width: 100%; padding: 0; }
  .faq-answer { break-inside: avoid; }
}
