.faq-section {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  gap: clamp(36px, 7vw, 90px);
  padding-top: clamp(70px, 9vw, 120px);
  padding-bottom: clamp(70px, 9vw, 120px);
  border-top: 1px solid var(--line);
}

.faq-heading h2 {
  font-size: clamp(38px, 4.5vw, 62px);
}

.faq-list {
  border-top: 3px solid var(--ink);
}

.faq-list details {
  border-bottom: 2px solid var(--ink);
}

.faq-list summary {
  position: relative;
  padding: 22px 48px 22px 0;
  cursor: pointer;
  list-style: none;
  font: 600 clamp(19px, 2vw, 24px)/1.25 var(--serif);
}

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

.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 8px;
  top: 18px;
  font: 600 28px/1 var(--mono);
  color: var(--green);
}

.faq-list details[open] summary::after { content: "−"; }

.faq-list details p {
  margin: -4px 48px 24px 0;
  color: #526054;
}

@media (max-width: 760px) {
  .faq-section {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
