/* ===== FAQ accordion — flow layout (grows with open answers) ===== */
.faq { background: #f5f5f7; padding: clamp(40px, 3.4vw, 65px) 16px clamp(48px, 4vw, 76px); padding: 0 0 20px; }
.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; direction: rtl; 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; }
@media (max-width: 1024px) {
    .faq {
        padding: 24px 0 46px;
    }
    .faq__title {font-size: 36px;}
    .faq__qtext, .faq__a p {
        font-size: 19px!important;
    }
    .faq__list {
        width: calc(100% - 32px);
    }
}

/* ===== Auto Q&A accordion (service pages + articles) =====
   Rendered by the auto-accordion in interactions.js. The answer wrapper has
   no 400px ceiling (homepage FAQ ceiling); long answers with multiple
   paragraphs or lists need room. */
.faq__list--auto { width: 100%; max-width: min(900px, 100%); margin: 24px auto 32px; display: flex; flex-direction: column; gap: 14px; }
.faq__list--auto .faq__item { background: #fff; box-shadow: 0 0 10px rgba(7,28,55,.1); }
.faq__list--auto .faq__q { background: transparent; border: 0; width: 100%; font: inherit; text-align: inherit; cursor: pointer; display: flex; direction: ltr; align-items: center; gap: 18px; padding: 16px 20px; }
.faq__list--auto .faq__q:focus-visible { outline: 2px solid #b58d41; outline-offset: 2px; }
.faq__list--auto .faq__item.open .faq__plus::after { transform: rotate(90deg); opacity: 0; }
.faq__list--auto .faq__a { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.faq__list--auto .faq__item.open .faq__a { max-height: 4000px; }
.faq__list--auto .faq__a > :is(p, ul, ol, blockquote) { margin: 0 0 12px; padding: 0 20px 0 58px; font-size: clamp(15px, .95vw, 18px); line-height: 1.6; color: #1a1a1a; text-align: right; }
.faq__list--auto .faq__a > :is(ul, ol) { padding-inline-start: 76px; }
.faq__list--auto .faq__a > :first-child { padding-top: 4px; }
.faq__list--auto .faq__a > :last-child { padding-bottom: 18px; }
@media (max-width: 1024px) {
  .faq__list--auto { max-width: 100%; }
  .faq__list--auto .faq__a > :is(p, ul, ol, blockquote) { padding: 0 16px 0 36px; font-size: 18px; line-height: 1.65; }
  .faq__list--auto .faq__a > :is(ul, ol) { padding-inline-start: 46px; }
}