/* vars: --c-accent,--c-accent-dim,--c-ink,--c-ink-ghost,--c-ink-mid,--c-surface,--f-sans,--f-serif */
.faq-section { padding: clamp(60px, 8vw, 100px) clamp(16px, 5vw, 80px); }
.faq-section .container { max-width: 800px; margin: 0 auto; }
.faq-section h2 {
  font-family: var(--f-serif); font-size: clamp(1.75rem, 4vw, 2.5rem);
  text-transform: uppercase; margin-bottom: 40px;
}
.faq-accordion { display: flex; flex-direction: column; gap: 8px; }
.faq-item {
  background: var(--c-surface); border: 1px solid var(--c-ink-ghost);
  border-radius: 4px; overflow: hidden;
}
.faq-item[open] { border-color: var(--c-accent-dim); }
.faq-item__q {
  font-family: var(--f-sans); font-size: 1rem; font-weight: 600;
  color: var(--c-ink); padding: 16px 24px; cursor: pointer;
  list-style: none; display: flex; justify-content: space-between; align-items: center;
  gap: 16px;
}
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q::after {
  content: '+'; font-size: 1.375rem; font-weight: 300;
  color: var(--c-accent); flex-shrink: 0; line-height: 1;
  transition: transform 0.2s;
}
.faq-item[open] .faq-item__q::after { content: '−'; }
.faq-item__a {
  font-size: 0.9375rem; color: var(--c-ink-mid); line-height: 1.7;
  padding: 0 24px 16px;
}
