/* faq.css */
.faq { display: grid; gap: 12px; }
.faq__item {
  background: #fff; border: 1.5px solid var(--ink); border-radius: 16px;
  box-shadow: 3px 3px 0 var(--ink); overflow: hidden;
  transition: box-shadow 0.18s ease;
}
.faq__item[open] { box-shadow: 3px 3px 0 var(--blue); border-color: var(--blue-deep); }
.faq__item summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; font-weight: 700; color: var(--ink); font-size: 1.02rem;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
  content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
  background-color: var(--ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1.5v11M1.5 7h11' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 14px 14px;
  transition: transform 0.2s, background-color 0.2s;
}
.faq__item[open] summary::after { transform: rotate(45deg); background-color: var(--blue); }
.faq__a { padding: 0 22px 20px; }
.faq__a p { font-size: 0.98rem; margin: 0; }
