/* ---------- FAQ ---------- */
.faq { width: 100%; padding: 56px 0; background: var(--connect-color-white); }
.faq__container { width: 100%; max-width: 1000px; margin: 0 auto; padding: 0 24px; }
.faq__title { margin: 0 0 26px; color: var(--connect-color-dark); font-family: var(--connect-font-heading); font-size: 26px; line-height: 1.2; font-weight: 800; letter-spacing: -.025em; }
.faq__items { width: 100%; }
.faq__item { border-bottom: 1px solid #dce3e8; }
.faq__trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 24px; padding: 17px 0; border: 0; background: transparent; color: var(--connect-color-dark); font: inherit; text-align: left; cursor: pointer; }
.faq__question { color: var(--connect-color-dark); font-family: var(--connect-font-heading); font-size: 16px; line-height: 1.45; font-weight: 600; }
.faq__icon { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; color: #77869f; transition: transform .28s ease; }
.faq__item.is-open .faq__icon { transform: rotate(180deg); }
.faq__panel { height: 0; overflow: hidden; transition: height .32s ease; }
.faq__answer { padding: 2px 42px 18px 0; color: var(--connect-color-text); font-size: 15px; line-height: 1.8; }
.faq__answer p { margin: 0 0 12px; }
.faq__answer p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.faq { padding: 48px 0; }
	.faq__container { padding: 0 20px; }
	.faq__title { margin-bottom: 20px; font-size: 24px; }
	.faq__trigger { gap: 16px; padding: 16px 0; }
	.faq__question { font-size: 15px; }
	.faq__answer { padding: 0 0 18px; font-size: 15px; line-height: 1.7; }
}