.faq{
  padding: clamp(48px, 6vw, 88px) 16px;
  background: #fff;
}

.faq__inner{
  max-width: 980px;
  margin: 0 auto;
}

.faq__title{
  margin: 0 0 26px;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #000;
}

/* list */
.faq__list{
  display: grid;
  gap: 16px;
}

/* item line look like screenshot */
.faq-item{
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding-bottom: 14px;
}

.faq-q{
  width: 100%;
  border: 0;
  background: transparent;
  padding: 8px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  text-align: left;
}

.faq-q__text{
  font-size: 22px;
  line-height: 1.25;
  color: rgba(0,0,0,0.78);
  transition: color 180ms ease;
}

.faq-q__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(0,0,0,0.85);
  transition: transform 260ms cubic-bezier(.4,0,.2,1),
              color 180ms ease;
  transform: rotate(180deg); /* closed = down */
}

.faq-q:hover .faq-q__icon{
  color: rgba(0,0,0,1);
  transform: rotate(180deg) translateY(1px);
}

/* open state → arrow up */
.faq-item.is-open .faq-q__icon{
  transform: rotate(0deg);
}

/* hover interaction */
.faq-q:hover .faq-q__text{
  color: rgba(0,0,0,0.92);
}

/* answer collapse animation (smooth height using grid trick) */
.faq-a{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 320ms ease;
}

.faq-a__inner{
  overflow: hidden;
  padding-top: 10px;
  font-size: 22px;
  line-height: 1.25;
  color: rgba(0,0,0,0.90);
}

.faq-item.is-open .faq-a{
  grid-template-rows: 1fr;
}

@media (max-width: 640px){
  .faq-q__text, .faq-a__inner{ font-size: 18px; }
}

.faq__title{
  margin: 0 0 26px;
  font-family: var(--font-body); /* ✅ Outfit */
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #000;
}