.s-faq {
  padding-block: clamp(3.5rem, 9vw, 6.5rem);
  background: var(--c-paper);
}

.s-faq .head {
  max-width: var(--max-w-prose);
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.s-faq .list {
  max-width: var(--max-w-prose);
  border-top: 1px solid var(--c-border);
}

.s-faq .item {
  border-bottom: 1px solid var(--c-border);
}

.s-faq .itemHead {
  margin: 0;
  font: inherit;
}

.s-faq .summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-6);
  width: 100%;
  padding: var(--s-6) 0;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  list-style: none;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  line-height: var(--lh-snug);
  color: var(--c-midnight);
  transition: color var(--d-fast) var(--e-standard);
}
.s-faq .summary::-webkit-details-marker {
  display: none;
}
.s-faq .summary:hover {
  color: var(--c-green);
}

/* Plus → minus toggle drawn in CSS. */
.s-faq .icon {
  position: relative;
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
}
.s-faq .icon::before,
.s-faq .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  background: var(--c-green);
  transform: translate(-50%, -50%);
  transition: transform var(--d-fast) var(--e-standard),
    opacity var(--d-fast) var(--e-standard);
}
.s-faq .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.s-faq .item.is-open .icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.s-faq .answer {
  padding: 0 0 var(--s-6);
  max-width: 60ch;
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--c-text);
}
.s-faq .answer[hidden] {
  display: none;
}
.s-faq .answer a {
  color: var(--c-green);
}
