/* ===== FAQ ===== */
#faq { background:white; }
.faq-layout { display:grid; grid-template-columns:1fr 1.55fr; gap:5rem; align-items:start; }
.faq-list { border:1px solid rgba(34,197,94,0.12); border-radius:18px; overflow:hidden; }
.faq-item { border-bottom:1px solid rgba(34,197,94,0.09); }
.faq-item:last-child { border-bottom:none; }
.faq-q {
  width:100%; text-align:left; padding:1.35rem 1.6rem;
  background:none; border:none;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  cursor:pointer; font-family:'Figtree',sans-serif;
  font-size:.9rem; font-weight:500; color:var(--charcoal);
  transition:color .2s;
}
.faq-q:hover,.faq-q.open { color:var(--green); }
.faq-icon {
  width:22px; height:22px; border-radius:50%;
  border:1.5px solid currentColor;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:14px;
  transition:transform .3s, background .2s;
}
.faq-q.open .faq-icon { transform:rotate(45deg); background:var(--green); border-color:var(--green); color:#fff; }
.faq-a {
  overflow:hidden; max-height:0;
  transition:max-height .4s ease, padding .3s;
  padding:0 1.6rem; font-size:.88rem; color:var(--muted); line-height:1.8;
}
.faq-a.open { max-height:300px; padding-bottom:1.4rem; }

.faq-cta {
  background:linear-gradient(135deg, var(--green-deep) 0%, var(--sage) 100%);
  border-radius:24px; padding:2.5rem 2rem;
  position:sticky; top:88px;
}
.faq-cta h3 { font-size:1.55rem; color:#fff; margin-bottom:.75rem; }
.faq-cta p { color:rgba(255,255,255,.6); font-size:.875rem; line-height:1.75; margin-bottom:1.75rem; }
