.faq-intro {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 16% 30%, var(--c-glow-white), var(--c-clear) 62%),
    var(--c-bg);
  color: var(--c-text);
}

.faq-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
  align-items: center;
  gap: 72px;
}

.faq-intro__grid > * {
  min-width: 0;
}

.faq-intro__lead {
  max-width: 34em;
  margin-bottom: 32px;
  color: var(--c-muted);
  font-size: var(--text-lead);
  line-height: var(--leading-prose);
}

.faq-intro__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 8px;
  color: var(--c-accent-dark);
  font-size: var(--text-sm);
}

.faq-check {
  padding: 32px;
  border: var(--stroke) solid var(--c-line-dark);
  border-radius: var(--r-card);
  background: var(--c-ink-panel);
  color: var(--c-on-dark);
  box-shadow: var(--sh-dark);
}

.faq-check__label {
  display: block;
  margin-bottom: 16px;
  color: var(--c-terra-soft);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-code);
}

.faq-check h2 {
  font-size: var(--text-h3);
  margin-bottom: 24px;
}

.faq-check ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.faq-check li {
  display: grid;
  grid-template-columns: 3em minmax(0, 1fr);
  gap: 12px;
  padding-block: 13px;
  border-top: var(--stroke) solid var(--c-line-dark);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

.faq-check li span {
  color: var(--c-on-dark-muted);
}

.faq-check p {
  margin-bottom: 0;
  color: var(--c-on-dark-muted);
  font-size: var(--text-sm);
  line-height: var(--leading-prose);
}

.faq-category {
  display: grid;
  grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 72px;
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
  scroll-margin-top: calc(var(--nav-h) + 100px);
}

.faq-category + .faq-category {
  border-top: var(--stroke) solid var(--c-border);
}

.faq-category > * {
  min-width: 0;
}

.faq-category__intro .badge {
  margin-bottom: 24px;
}

.faq-category__intro h2 {
  line-height: 1.3;
}

.faq-category__intro p {
  color: var(--c-muted);
  line-height: var(--leading-prose);
}

.faq-category__intro > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--c-accent-dark);
  font-size: var(--text-sm);
}

.faq-category__answers {
  border-top: var(--stroke) solid var(--c-border);
}

.faq-category__answers summary {
  overflow-wrap: anywhere;
  line-height: var(--leading-body);
}

.faq-category__answers .faq-item[open] summary {
  color: var(--c-accent-dark);
}

.faq-category__answers .faq-item__body {
  max-width: 42em;
  line-height: var(--leading-prose);
  overflow-wrap: anywhere;
}

@media (max-width: 960px) {
  .faq-intro__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }

  .faq-category {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .faq-category__intro {
    max-width: 42em;
  }
}

@media (max-width: 640px) {
  .faq-intro__lead {
    font-size: var(--text-base);
  }

  .faq-check {
    padding: 24px;
  }

  .faq-category {
    scroll-margin-top: calc(var(--nav-h) + 96px);
  }
}