/* FAQ accordion, after the lassie.ai treatment: each question is its own
   white card on the page ground, separated by a small gap rather than by
   rules, with a generous radius and a chevron that gains a soft disc once
   the card is open.

   Built on <details>/<summary> so it works with no JavaScript, is keyboard
   operable, and keeps every answer in the document for find-in-page and
   assistive tech. */

/* Width is the section's business, not the component's: both consumers
   already cap and centre their own wrapper. */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.faq-item {
  background: var(--white);
  border-radius: 24px;
  overflow: hidden;
}

.faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 22px 24px 30px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.3px;
  line-height: 1.35;
  color: var(--dark);
  text-wrap: balance;
}

.faq-item summary::-webkit-details-marker { display: none; }

/* The disc is transparent until the card opens, so a row of closed
   questions reads as bare chevrons and the open one is unmistakable. */
.faq-item summary::after {
  content: "";
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C0A1D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  transition: transform 0.25s ease, background-color 0.25s ease;
}

.faq-item[open] summary::after {
  transform: rotate(180deg);
  background-color: var(--grey-100);
}

/* Inset, because a positive offset would be clipped by the card. The radius
   is inherited so the mobile override below only has to be written once. */
.faq-item summary:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: -3px;
  border-radius: inherit;
}

.faq-answer-inner {
  padding: 0 30px 28px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--grey);
}

.faq-answer-inner p + p { margin-top: 14px; }

@media (hover: hover) {
  .faq-item summary:hover::after { background-color: var(--grey-100); }
}

@media (max-width: 640px) {
  .faq-item { border-radius: 20px; }
  .faq-item summary {
    padding: 20px 14px 20px 22px;
    font-size: 16px;
    gap: 12px;
  }
  .faq-item summary::after { width: 38px; height: 38px; background-size: 20px 20px; }
  .faq-answer-inner { padding: 0 22px 22px; font-size: 15px; }
}
