.faq-section {
  box-sizing: border-box;
  width: 100%;
  padding: 100px 20px;
}

.faq-section__inner {
  max-width: 576px;
  margin: 0 auto;
}

.faq-section__heading {
  margin-bottom: 40px;
  text-align: center;
}

.faq-section__heading .template-text {
  --framer-text-alignment: center !important;
}

.faq-section__heading h2 { margin-top: 16px; }

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-item {
  padding: 20px;
  border-radius: 20px;
  background: rgb(245, 245, 245);
}

.faq-item summary {
  position: relative;
  padding-right: 30px;
  color: rgb(10, 10, 10);
  font: 500 16px/1.5 Inter, sans-serif;
  cursor: pointer;
  list-style: none;
}

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

.faq-item summary::after {
  content: "+";
  position: absolute;
  top: 0;
  right: 0;
  color: rgb(100, 100, 100);
  font: 400 22px/1 Inter, sans-serif;
}

.faq-item[open] summary::after { content: "−"; }
.faq-item summary:focus-visible { outline: 2px solid rgb(100, 100, 100); outline-offset: 4px; }
.faq-item p { margin-top: 10px; color: rgb(100, 100, 100); }
.faq-section__contact { --framer-text-alignment: center; margin-top: 28px; text-align: center; color: rgb(100, 100, 100); }
.faq-section__contact a { color: inherit; text-decoration: underline; }

@media (max-width: 809px) {
  .faq-section { padding: 70px 20px; }
  .faq-section__heading { margin-bottom: 32px; }
}
