.sf-faq { max-width: 880px; margin: 0 auto; padding: 8px 16px 64px; font-size: 17px; line-height: 1.6; color: #1d1d1f; }
.sf-faq__intro { color: #555; margin: 0 0 32px; }
.sf-faq__intro a, .sf-faq__a a, .sf-faq__cta a { color: #5E00FF; }
.sf-faq__nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 40px; padding: 0; list-style: none; }
.sf-faq__nav a { display: inline-block; padding: 8px 16px; border: 1px solid #c9c9cf; border-radius: 999px; color: #1d1d1f; text-decoration: none; font-size: 15px; }
.sf-faq__nav a:hover { border-color: #1d1d1f; }
.sf-faq h2 { font-size: 26px; font-weight: 600; margin: 48px 0 12px; scroll-margin-top: 100px; }
.sf-faq details { border-bottom: 1px solid #e5e5ea; }
.sf-faq summary { cursor: pointer; list-style: none; padding: 18px 40px 18px 0; position: relative; font-weight: 500; font-size: 18px; }
.sf-faq summary::-webkit-details-marker { display: none; }
.sf-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-size: 24px; font-weight: 300; }
.sf-faq details[open] summary::after { content: "−"; }
.sf-faq summary h3 { display: inline; font: inherit; margin: 0; }
.sf-faq__a { padding: 0 0 20px; color: #333; }
.sf-faq__a p { margin: 0 0 12px; }
.sf-faq__a ul { margin: 0 0 12px; padding-left: 20px; }
.sf-faq__cta { margin-top: 48px; padding: 24px; background: #F5F5F7; border-radius: 16px; }
.sf-faq__cta p { margin: 0; }
@media (max-width: 767px) {
  .sf-faq { font-size: 16px; }
  .sf-faq h2 { font-size: 22px; margin-top: 36px; }
  .sf-faq summary { font-size: 17px; }
}