.et-section-bleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.et-faq {
  --faq-blue: var(--et-primary-blue);
  --faq-border: var(--et-border-light);
  --faq-close-bg: #BABBBD;
  --faq-q-color: var(--et-text-mid);
  --faq-q-open: var(--et-text-dark);
  --faq-answer: #6E6E6E;
  --faq-radius: 16px;
  --faq-gap: 22px;
  --faq-icon-top: 14px;
  --faq-icon-right: 14px;
  font-family: var(--et-font-onest);
  padding: var(--et-section-padding) 0;
  position: relative;
}
.et-faq--compact { --faq-gap: 14px; }

.et-faq-title {
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.14;
  margin: 0 0 40px;
  font-weight: var(--et-font-weight-semibold);
  letter-spacing: -0.02em;
  color: var(--et-text-dark);
}

.et-faq-grid {
  display: grid;
  gap: var(--faq-gap);
}
.et-faq--two-col .et-faq-grid { grid-template-columns:1fr; }
@media (min-width:992px){
  .et-faq--two-col .et-faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.et-faq-item {
  border: 1px solid var(--faq-border);
  border-radius: var(--faq-radius);
  background: #fff;
  position: relative;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
  opacity: 0;
  transform: translateY(24px);
  display: flex;
  flex-direction: column;
  will-change: opacity, transform;
}
.et-faq-item.is-inview {
  opacity:1;
  transform:none;
  transition:opacity .55s ease, transform .55s ease;
}
.et-faq-item.is-open {
  border-color:var(--faq-blue);
  box-shadow:0 0 0 1px rgba(83,114,225,0.16), 0 4px 16px -6px rgba(83,114,225,0.2);
}
@media (prefers-reduced-motion:reduce){
  .et-faq-item { transition:none !important; transform:none !important; opacity:1 !important; }
}

.et-faq-item-wrap { position:relative; display:flex; flex-direction:column; }

.et-faq-question { margin: 0; font-size: 0; }
.et-faq-toggle {
  all:unset;
  display:block;
  width:100%;
  cursor:pointer;
  padding:18px 96px 16px 24px;
  position:relative;
  font-size:24px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:-0.01em;
  color:var(--faq-q-color);
  border-radius:var(--faq-radius);
  box-sizing:border-box;
  word-break:break-word;
  overflow-wrap:break-word;
}
.et-faq-item.is-open .et-faq-toggle {
  color:var(--faq-q-open);
  font-weight:700;
}
.et-faq-toggle:focus-visible {
  outline:none;
  box-shadow:0 0 0 3px rgba(83,114,225,.35);
}

.et-faq-icon {
  position:absolute;
  top:var(--faq-icon-top);
  right:var(--faq-icon-right);
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--faq-blue);
  font-size:22px;
  line-height:1;
  font-weight:600;
  color:#fff;
  pointer-events:none;
  transition:background .3s ease;
}
.et-faq-item.is-open .et-faq-icon { background:var(--faq-close-bg); }
.et-faq-icon-layer {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .22s ease, transform .28s ease;
}
.et-faq-icon-plus { opacity:1; transform:scale(1); }
.et-faq-icon-close { opacity:0; transform:scale(.35); font-size:28px; font-weight:400; }
.et-faq-item.is-open .et-faq-icon-plus { opacity:0; transform:scale(.4); }
.et-faq-item.is-open .et-faq-icon-close { opacity:1; transform:scale(1); }

.et-faq-answer {
  overflow:hidden;
  max-height:0;
  padding:0 24px;
  opacity:0;
  transition:max-height .46s cubic-bezier(.65,.05,.36,1),
             opacity .28s ease,
             padding-top .25s ease,
             padding-bottom .25s ease;
  font-size:15px;
  line-height:1.58;
  color:var(--faq-answer);
  box-sizing:border-box;
}
.et-faq-item.is-open .et-faq-answer {
  opacity:1;
  padding-top:4px;
  padding-bottom:28px;
}
.et-faq-answer[hidden] {
  display:block !important; height:0 !important;
  padding:0 24px !important; opacity:0 !important;
}

.et-faq-answer-content p { margin:0 0 12px; }
.et-faq-answer-content p:last-child { margin-bottom:0; }

.et-faq--compact .et-faq-toggle { padding:14px 86px 12px 18px; font-size:21px; }
.et-faq--compact .et-faq-answer { padding-left:18px; padding-right:18px; }
.et-faq--compact .et-faq-item.is-open .et-faq-answer { padding-bottom:22px; }
.et-faq--compact .et-faq-icon { width:38px;height:38px; }

@media (max-width:767.98px){
  .et-faq { padding-top:44px; padding-bottom:60px; }
  .et-faq-toggle { font-size:21px; padding:18px 86px 16px 18px; }
  .et-faq-answer { padding:0 18px; }
  .et-faq-item.is-open .et-faq-answer { padding-bottom:26px; }
  .et-faq-icon { width:40px; height:40px; }
  .et-faq-icon-close { font-size:26px; }
}

@media (prefers-reduced-motion:reduce){
  .et-faq-item,
  .et-faq-answer { transition:none !important; opacity:1 !important; transform:none !important; }
}

.et-faq [hidden] { visibility:hidden !important; }