.straive-faq {
  --faq-accordion-width: 100%;
  --faq-item-gap: 12px;
  --faq-question-bg: #fff;
  --faq-active-bg: #071f48;
  --faq-content-bg: #071f48;
  --faq-question-color: #07182f;
  --faq-active-color: #fff;
  --faq-content-color: #fff;
  --faq-number-bg: #ff5000;
  --faq-number-color: #fff;
  --faq-toggle-color: #0b2857;
  --faq-number-size: 52px;
  --faq-toggle-size: 46px;
  width: 100%;
  padding: 0;
}

.straive-faq *, .straive-faq *::before, .straive-faq *::after { box-sizing: border-box; }
.straive-faq__layout { width: 100%; }
.straive-faq__accordion { display: grid; gap: var(--faq-item-gap); width: min(var(--faq-accordion-width),100%); min-width: 0; margin-inline: auto; }
.straive-faq__item { overflow: hidden; border: 1px solid #dde5f0; border-radius: 14px; background: var(--item-question-bg,var(--faq-question-bg)); box-shadow: 0 8px 24px rgba(7,24,47,.06); transition: box-shadow .25s ease,transform .25s ease; }
.straive-faq__item:hover { box-shadow: 0 12px 30px rgba(7,24,47,.1); transform: translateY(-1px); }
.straive-faq__question-heading { margin: 0; }
.straive-faq__question { display: grid; grid-template-columns: var(--faq-number-size) minmax(0,1fr) var(--faq-toggle-size); gap: 22px; align-items: center; width: 100%; padding: 20px 22px; border: 0; background: var(--item-question-bg,var(--faq-question-bg)); color: var(--item-question-color,var(--faq-question-color)); text-align: left; cursor: pointer; transition: background-color .28s ease,color .28s ease; }
.straive-faq__question:focus-visible { outline: 3px solid rgba(255,80,0,.38); outline-offset: -3px; }
.straive-faq__number { display: inline-flex; align-items: center; justify-content: center; width: var(--faq-number-size); height: var(--faq-number-size); border-radius: 50%; background: var(--item-number-bg,var(--faq-number-bg)); color: var(--item-number-color,var(--faq-number-color)); font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 20px; font-weight: 700; }
.straive-faq__question-text { min-width: 0; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 18px; font-weight: 600; line-height: 1.35; }
.straive-faq__toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--faq-toggle-size); height: var(--faq-toggle-size); border: 1.5px solid currentColor; border-radius: 50%; color: var(--item-toggle-color,var(--faq-toggle-color)); }
.straive-faq__toggle::before, .straive-faq__toggle::after { position: absolute; width: 15px; height: 2px; border-radius: 2px; background: currentColor; content: ''; transition: transform .25s ease; }
.straive-faq__toggle::after { transform: rotate(90deg); }
.straive-faq__answer { overflow: hidden; background: var(--item-content-bg,var(--faq-content-bg)); color: var(--item-content-color,var(--faq-content-color)); }
.straive-faq__answer-inner { position: relative; padding: 0 74px 28px 112px; color: var(--item-content-color,var(--faq-content-color)); font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 17px; line-height: 1.65; }
.straive-faq__answer-inner p, .straive-faq__answer-inner li, .straive-faq__answer-inner a, .straive-faq__answer-inner strong { color: inherit; }
.straive-faq__answer-inner::before { position: absolute; top: 0; bottom: 28px; left: 51px; width: 3px; border-radius: 999px; background: var(--item-number-bg,var(--faq-number-bg)); content: ''; }
.straive-faq__answer-inner p { margin: 0 0 12px; }
.straive-faq__answer-inner p:last-child { margin-bottom: 0; }
.straive-faq__item.is-open { background: var(--item-active-bg,var(--faq-active-bg)); }
.straive-faq__item.is-open .straive-faq__question { background: var(--item-active-bg,var(--faq-active-bg)); color: var(--item-active-color,var(--faq-active-color)); }
.straive-faq__item.is-open .straive-faq__toggle { color: var(--item-toggle-color,var(--faq-number-bg)); }
.straive-faq__item.is-open .straive-faq__toggle::after { transform: rotate(0); }
.straive-faq__item.is-opening .straive-faq__answer { animation: straiveFaqIn .28s ease both; }

@keyframes straiveFaqIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:1024px) {
  .straive-faq__question { gap: 16px; }
}

@media (max-width:767px) {
  .straive-faq__question { grid-template-columns: 42px minmax(0,1fr) 38px; gap: 12px; padding: 16px 14px; }
  .straive-faq__number { width: 42px; height: 42px; font-size: 15px; }
  .straive-faq__toggle { width: 38px; height: 38px; }
  .straive-faq__question-text { font-size: 15px; }
  .straive-faq__answer-inner { padding: 0 18px 24px 68px; font-size: 15px; }
  .straive-faq__answer-inner::before { left: 36px; bottom: 24px; }
}

@media (prefers-reduced-motion:reduce) {
  .straive-faq *, .straive-faq *::before, .straive-faq *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
