/* ===== FAQ accordion — flow layout (grows with open answers) ===== */
.faq { background: #f5f5f7; padding: clamp(40px, 3.4vw, 65px) 16px clamp(48px, 4vw, 76px); }
.faq__title {
  text-align: center; font-weight: 400; color: #000;
  font-size: clamp(24px, 2.19vw, 42px); line-height: 1.15;
}
.faq__list {
  width: min(635px, 100%); margin: clamp(28px, 2.3vw, 44px) auto 0;
  display: flex; flex-direction: column; gap: 14px;
}
.faq__item { background: #fff; box-shadow: 0 0 10px rgba(7,28,55,.1); }
.faq__q { display: flex; direction: ltr; align-items: center; gap: 18px; padding: 16px 20px; cursor: pointer; }
.faq__plus { flex: 0 0 22px; width: 22px; height: 22px; position: relative; }
.faq__plus::before, .faq__plus::after { content: ""; position: absolute; background: #b58d41; transition: transform .25s, opacity .25s; }
.faq__plus::before { left: 0; top: 10px; width: 22px; height: 2px; }
.faq__plus::after { top: 0; left: 10px; width: 2px; height: 22px; }
.faq__item.open .faq__plus::after { transform: rotate(90deg); opacity: 0; }
.faq__qtext { flex: 1; text-align: right; font-size: clamp(17px, 1.1vw, 21px); color: #000; line-height: 1.3; }
.faq__a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq__item.open .faq__a { max-height: 400px; }
.faq__a p { padding: 0 20px 18px 58px; font-size: clamp(15px, .95vw, 18px); line-height: 1.55; color: #444; text-align: right; }
