@layer components {

.kn-faq__list { max-width: var(--measure); }
.kn-faq__item { border-bottom: 0.5px solid var(--border); }
.kn-faq__item:first-child { border-top: 0.5px solid var(--border); }
.kn-faq__question { margin: 0; }
.kn-faq__toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 22px 0; background: none; border: none; cursor: pointer; text-align: left;
  font-family: inherit; font-size: 1rem; font-weight: 600; color: var(--text-primary); line-height: 1.4;
}
.kn-faq__toggle:hover { color: var(--accent-ink); }
.kn-faq__toggle span:first-child { max-width: var(--measure); }
.kn-faq__icon { position: relative; flex-shrink: 0; width: 12px; height: 12px; }
.kn-faq__icon::before,
.kn-faq__icon::after {
  content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 1.5px;
  background: var(--accent); transform: translateY(-50%); transition: transform 0.25s ease;
}
.kn-faq__icon::after { transform: translateY(-50%) rotate(90deg); }
.kn-faq__item.is-open .kn-faq__icon::after { transform: translateY(-50%) rotate(0deg); }
.kn-faq__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; }
.kn-faq__answer-inner { overflow: hidden; min-height: 0; }
.kn-faq__item.is-open .kn-faq__answer { grid-template-rows: 1fr; }
.kn-faq__answer p { margin: 0; padding: 0 0 24px; color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.65; max-width: var(--measure); }

}
