.faq-list{
  overflow:hidden;
}

.faq-wrap .faq-title {
  padding-bottom:30px;
}

.faq-wrap .faq-title, .faq-wrap .faq-title h2, .faq-wrap .faq-title p {
  text-align:center;
  margin:auto;
}

.faq {
  border-top:1px solid #D6D6D6; 
  background:#fff; 
  padding:10px 0;
}

.faq:first-child{
  border-top:0;
  padding-top:0;
}

.faq summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:20px;
  cursor:pointer;
  padding:18px 20px 12px 0;
  font-weight:600;
  font-size:20px;
  outline:none;
  margin-bottom: 0;
  padding-bottom: 8px;
}

.faq summary::-webkit-details-marker{display:none;}
.faq summary:focus-visible{box-shadow:0 0 0 3px rgba(43,110,242,.35) inset}

.faq .caret{
  margin-left:auto;
  transition:transform .25s ease, color .25s ease;
  color:#0054FF;
}

.faq[open] .caret{
  transform:rotate(180deg);
  color:#000;
}

.faq .answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .28s ease;
  padding:0 20px 0 0; /
}
.faq[open] .answer{ grid-template-rows:1fr; }

.faq .answer > .answer-inner{
  overflow:hidden;          
  color:#404D61;
  font-size:16px;
  line-height:1.5;
  padding:0 0 18px 0;
}

/* Optional subtle hover */
.faq summary:hover .caret{ color:var(--faq-accent); }

@media (prefers-reduced-motion: reduce){
  .faq .caret, .faq .answer{ transition:none; }
}