/* ============================================
   FAQ
   ============================================ */
.faq-list { margin-top: 46px; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question {
  width: 100%; background: none; border: none; padding: 24px 0;
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-display); font-size: 19px; font-weight: 500; color: var(--text); text-align: left;
}
.faq-plus { position: relative; width: 18px; height: 18px; flex-shrink: 0; margin-left: 20px; }
.faq-plus::before, .faq-plus::after { content: ""; position: absolute; background: var(--text); transition: transform 0.25s ease, background 0.25s ease; }
.faq-plus::before { width: 100%; height: 1.5px; top: 8px; left: 0; }
.faq-plus::after { width: 1.5px; height: 100%; left: 8px; top: 0; }
.faq-item.is-open .faq-plus::after { transform: rotate(90deg); }
.faq-item.is-open .faq-plus::before,
.faq-item.is-open .faq-plus::after { background: var(--coral); }
.faq-item.is-open .faq-question { color: var(--coral-deep); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-answer p { padding-bottom: 26px; color: var(--text-soft); font-size: 15px; max-width: 62ch; }
.faq-item.is-open .faq-answer { max-height: 240px; }
