.faq {
  padding-top: var(--section-padding-top);
  padding-bottom: var(--section-padding-bottom);
}
.faq__wrapper {
  display: flex;
  justify-content: space-between;
  gap: 72px;
}
@media (max-width: 991.98px) {
  .faq__wrapper {
    flex-direction: column;
    gap: 40px;
  }
}
.faq__header {
  flex: 1;
  max-width: 516px;
  width: 100%;
  gap: 32px;
  flex-direction: column;
  display: flex;
}
.faq__contact a {
  color: #282723;
  font-weight: 700;
  text-decoration: none;
}
.faq__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 744px;
}
.faq__buttons {
  display: flex;
  gap: 16px;
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .faq__buttons {
    flex-direction: column;
  }
}
.faq-item {
  border-radius: 8px;
  border: 1px solid #2a4d69;
  background: #ffffff;
  position: relative;
  overflow: hidden;
  will-change: transform;
}
.faq-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #2a4d69;
  transform: translateY(101%);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  will-change: transform;
  backface-visibility: hidden;
}
.faq-item__header {
  position: relative;
  display: flex;
  padding: 16px 24px;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  cursor: pointer;
  text-align: left;
  z-index: 1;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  transform: translateZ(0);
}
.faq-item__header:focus-visible {
  outline: 2px solid #2a4d69;
  outline-offset: -2px;
  border-radius: 8px;
}
@media (max-width: 575.98px) {
  .faq-item__header {
    padding: 20px 16px;
  }
}
.faq-item__header h3 {
  flex: 1;
  color: #142532;
  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  will-change: color;
}
.faq-item__icon {
  width: 28px;
  height: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M7 14H14M21 14H14M14 14V7M14 14V21M25.375 14C25.375 17.0168 24.1766 19.9101 22.0433 22.0433C19.9101 24.1766 17.0168 25.375 14 25.375C10.9832 25.375 8.08989 24.1766 5.95666 22.0433C3.82343 19.9101 2.625 17.0168 2.625 14C2.625 10.9832 3.82343 8.08989 5.95666 5.95666C8.08989 3.82343 10.9832 2.625 14 2.625C17.0168 2.625 19.9101 3.82343 22.0433 5.95666C24.1766 8.08989 25.375 10.9832 25.375 14Z' stroke='%23282723' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
  will-change: transform;
  transform: translateZ(0);
}
.faq-item__content {
  position: relative;
  display: block;
  padding: 0 24px;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  z-index: 1;
  will-change: max-height, opacity;
  transform: translateZ(0);
}
.faq-item__content p {
  color: #ffffff;
  padding-bottom: 24px;
  transform: translateY(-8px);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  backface-visibility: hidden;
}
.faq-item__content p:last-child {
  padding-bottom: 0;
}
.faq-item__content ul {
  color: #ffffff;
}
.faq-item.active::before {
  transform: translateY(0);
}
.faq-item.active .faq-item__header h3 {
  color: #ffffff;
}
.faq-item.active .faq-item__icon {
  transform: rotate(180deg) translateZ(0);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M7 14H21M25.375 14C25.375 17.0168 24.1766 19.9101 22.0433 22.0433C19.9101 24.1766 17.0168 25.375 14 25.375C10.9832 25.375 8.08989 24.1766 5.95666 22.0433C3.82343 19.9101 2.625 17.0168 2.625 14C2.625 10.9832 3.82343 8.08989 5.95666 5.95666C8.08989 3.82343 10.9832 2.625 14 2.625C17.0168 2.625 19.9101 3.82343 22.0433 5.95666C24.1766 8.08989 25.375 10.9832 25.375 14Z' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
}
.faq-item.active .faq-item__content {
  max-height: 1000px;
  opacity: 1;
  visibility: visible;
  padding-bottom: 16px;
}
.faq-item.active .faq-item__content p {
  transform: translateY(0) translateZ(0);
}