.faq {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 8vw;
  background: #fff;
}
.faq .section-heading p:last-child { color: var(--muted); }
.faq-list { border-top: 1px solid #ccdde4; }
.faq details { border-bottom: 1px solid #ccdde4; padding: 22px 0; }
.faq summary {
  cursor: pointer;
  list-style: none;
  font: 600 1.2rem/1.4 "Fraunces", serif;
  color: var(--navy);
  padding-right: 42px;
  position: relative;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+";
  position: absolute;
  right: 5px;
  top: -2px;
  font: 400 1.8rem "DM Sans";
  color: var(--blue);
}
.faq details[open] summary::after { content: "−"; }
.faq details p { color: var(--muted); margin: 16px 45px 4px 0; }
@media (max-width: 900px) { .faq { grid-template-columns: 1fr; } }
