.faq-section{
  margin-top:24px;
  padding:18px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.faq-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:14px;
}

.faq-header-left{
  max-width:640px;
}

.faq-header-left span{
  display:block;
  margin-bottom:6px;
  color:#4f46e5;
  font-size:9px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
}

.faq-header-left h2{
  margin:0 0 6px;
  font-size:20px;
  color:#0f172a;
}

.faq-header-left p{
  font-size:11px;
  line-height:1.6;
  color:#64748b;
}

.faq-more{
  margin-left:auto;
  color:#4f46e5;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
}

.faq-more::after{
  content:" →";
}

.faq-accordion{
  display:grid;
  gap:8px;
}

.faq-hidden{
  display:none;
  gap:8px;
}

.faq-hidden.is-open{
  display:grid;
}

.faq-item{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.faq-item summary{
  min-height:46px;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  list-style:none;
  font-size:12px;
  font-weight:700;
  color:#0f172a;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary i{
  width:30px;
  height:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#4f46e5;
  font-style:normal;
  flex-shrink:0;
}

.faq-item summary span{
  flex:1;
}

.faq-item summary b{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#eef2ff;
  flex-shrink:0;
  display:grid;
  place-items:center;
}

.faq-item summary b::before{
  content:"+";
  color:#4f46e5;
  font-size:15px;
  font-weight:900;
}

.faq-item[open] summary b{
  background:linear-gradient(135deg,#6d28d9,#2563eb);
}

.faq-item[open] summary b::before{
  content:"−";
  color:#fff;
}

.faq-answer{
  padding:0 14px 14px 56px;
}

.faq-answer p{
  padding:10px 12px;
  border-radius:12px;
  background:#f8fafc;
  font-size:11px;
  line-height:1.6;
  color:#64748b;
}

.faq-show-more{
  margin:14px auto 0;
  height:38px;
  padding:0 22px;
  border:0;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  color:#fff;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:700px){
  .faq-header{
    align-items:flex-start;
  }

  .faq-more{
    align-self:flex-start;
  }

  .faq-answer{
    padding:0 12px 12px;
  }

  .faq-show-more{
    width:100%;
  }
}