.faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.faq__lead { max-width: 40ch; }
.faq__list { overflow: hidden; border: 1px solid var(--vf-border); border-radius: var(--vf-radius); background: #FFFFFF; }
.faq__item + .faq__item { border-top: 1px solid var(--vf-line); }
.faq__question { margin: 0; font-size: inherit; }
.faq__toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 62px; padding: 16px 22px; border: none; background: #FFFFFF; font-size: 17px; font-weight: 600; color: var(--vf-text); text-align: left; cursor: pointer; }
.faq__toggle:hover { background: var(--vf-bg); }
.faq__toggle:focus { outline: none; }
.faq__toggle:focus-visible { box-shadow: inset 0 0 0 3px var(--vf-focus); }
.faq__arrow { color: var(--vf-text-subtle); transition: transform 220ms ease; }
.faq__item.is-open .faq__arrow { transform: rotate(180deg); }
.faq__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 220ms ease; }
.faq__item.is-open .faq__panel { grid-template-rows: 1fr; }
.faq__panel-inner { overflow: hidden; visibility: hidden; transition: visibility 220ms; }
.faq__item.is-open .faq__panel-inner { visibility: visible; }
.faq__answer { margin: 0; padding: 0 22px 22px; font-size: 16px; line-height: 1.65; color: var(--vf-text-body); text-wrap: pretty; }
.faq__answer a { color: var(--vf-blue); font-weight: 600; }
.faq__answer a:hover { text-decoration: underline; }
@media (max-width: 1180px) { .faq__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .faq__grid { gap: 28px; } }
