.faq-section {
  padding-block: clamp(64px, 8vw, 112px);
  background: #fff;
  scroll-margin-top: 88px;
}
.faq-section__grid {
  display: grid;
  grid-template-columns: minmax(240px, 370px) minmax(0, 1fr);
  gap: clamp(32px, 7vw, 92px);
  align-items: start;
}
.faq-section__grid > header h2 { font-size: clamp(30px, 3vw, 40px); }
.faq-list { border-top: 1px solid var(--dx-border-strong, #cbd4df); }
.faq-list details { border-bottom: 1px solid var(--dx-border, #e3e8ef); }
.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  color: var(--dx-ink, #18273e);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
  cursor: pointer;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 2px solid rgba(245, 100, 37, 0.38); outline-offset: -2px; }
.faq-item__icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: var(--dx-navy, #1e3156);
  border: 1px solid var(--dx-border-strong, #cbd4df);
  border-radius: 6px;
  font-size: 20px;
  font-weight: 500;
}
.faq-item__icon::before { content: "+"; }
.faq-list details[open] .faq-item__icon::before { content: "−"; }
.faq-list details[open] summary { color: var(--dx-navy, #1e3156); }
.faq-list details > p { max-width: 680px; margin: -2px 56px 24px 0; color: var(--dx-muted, #617089); font-size: 15px; line-height: 1.75; }
@media (max-width: 800px) {
  .faq-section__grid { grid-template-columns: 1fr; gap: 24px; }
}
