/* FAQ */
.faq-section {
  border-top: 1px solid var(--line);
  background: rgba(18,60,42,0.14);
}
.faq-wrap {
  max-width: 900px;
  margin: 0 auto;
}
.faq-section h2 {
  margin-bottom: 14px;
}
.faq-list {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}
.faq-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
  overflow: hidden;
  transition: border-color 0.22s, transform 0.22s;
}
.faq-item:hover,
.faq-item[open] {
  border-color: var(--line-strong);
}
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--off-white);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  color: var(--aurora);
  font-family: var(--font-mono);
  font-size: 1rem;
}
.faq-item[open] summary::after { content: "-"; }
.faq-item p {
  margin: 0;
  padding: 0 20px 20px;
  color: var(--grey-green);
  font-size: 0.98rem;
}
@media (max-width: 640px) {
  .faq-item summary { padding: 16px; }
  .faq-item p { padding: 0 16px 16px; }
}
.article-content .article-faq { margin:46px 0 34px; padding:26px; border:1px solid var(--line); border-radius:14px; }
.article-content .article-faq h2 { margin:0 0 14px; }
.article-content .faq-item p { margin:0; }
.faq-item summary:focus-visible { outline:2px solid var(--aurora); outline-offset:-3px; }
@media(max-width:640px) { .article-content .article-faq { padding:18px; } }
