/* ========== PREGUNTAS FRECUENTES ========== */
.faq-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 60px; align-items: start; }
.faq-copy { position: sticky; top: calc(var(--nav-h) + 30px); }
.faq-copy .section-title { margin-bottom: 18px; }
.faq-list { display: grid; gap: 16px; }
.faq-item {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg);
  transition: border-color .3s var(--ease);
}
.faq-item.is-open { border-color: rgba(45, 212, 191, .35); }
.faq-q { font-family: var(--font-body); font-size: 19px; font-weight: 400; }
.faq-btn {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  width: 100%;
  padding: 22px 24px;
  border: 0;
  border-radius: var(--radius);
  background: none;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.faq-plus { flex: none; display: grid; place-items: center; color: var(--ink); transition: transform .4s var(--ease), color .3s; }
.faq-item.is-open .faq-plus { transform: rotate(45deg); color: var(--accent-text); }
.faq-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .45s var(--ease);
}
.faq-item.is-open .faq-a { grid-template-rows: 1fr; }
.faq-a-inner { overflow: hidden; }
.faq-a p { padding: 0 24px 24px; color: var(--muted); font-size: 17px; line-height: 1.6; }
html:not(.js) .faq-a { grid-template-rows: 1fr; }

@media (max-width: 991px) {
  .faq-grid { grid-template-columns: 1fr; gap: 40px; }
  .faq-copy { position: static; }
}
.js .faq-a-inner { visibility: hidden; transition: visibility 0s linear .45s; }
.js .faq-item.is-open .faq-a-inner { visibility: visible; transition: none; }
