.faq{
  --fq-bg:#070a12;
  --fq-line:rgba(255,255,255,.1);
  --fq-accent:#5b73d6;
  background:var(--fq-bg);
  color:#fff;
  padding:clamp(56px,9vw,120px) 24px;
}
.faq__inner{
  max-width:680px;
  margin:0 auto;
}

.faq__eyebrow{
  margin:0 0 18px;
  font-family:'JetBrains Mono',monospace;
  font-weight:500;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--fq-accent);
}
.faq__title{
  margin:0 0 48px;
  font-family:'Space Grotesk',sans-serif;
  font-weight:500;
  font-size:clamp(28px,4vw,40px);
  letter-spacing:-.02em;
  line-height:1.1;
}

/* Lista */
.faq__list{
  border-top:1px solid var(--fq-line);
}
.faq__item{
  border-bottom:1px solid var(--fq-line);
}
.faq__item h3{ margin:0; }

.faq__q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  background:none;
  border:0;
  color:#fff;
  text-align:left;
  cursor:pointer;
  font-family:'Space Grotesk',sans-serif;
  font-weight:500;
  font-size:15px;
  line-height:1.35;
}
.faq__q:focus-visible{
  outline:2px solid var(--fq-accent);
  outline-offset:4px;
  border-radius:4px;
}
.faq__q:hover span{ color:#c9d2ff; }

/* Icono + que se vuelve × */
.faq__icon{
  position:relative;
  flex:none;
  width:12px;
  height:12px;
  transition:transform .35s ease;
}
.faq__icon::before,
.faq__icon::after{
  content:"";
  position:absolute;
  background:var(--fq-accent);
  border-radius:1px;
}
.faq__icon::before{ left:0; right:0; top:50%; height:1.5px; transform:translateY(-50%); }
.faq__icon::after{ top:0; bottom:0; left:50%; width:1.5px; transform:translateX(-50%); }
.faq__item.is-open .faq__icon{ transform:rotate(45deg); }

/* Respuesta animada */
.faq__a{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .4s ease;
}
.faq__a > div{
  overflow:hidden;
  min-height:0;
}
.faq__item.is-open .faq__a{ grid-template-rows:1fr; }
.faq__a p{
  margin:0;
  padding:0 40px 24px 0;
  max-width:560px;
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  line-height:1.75;
  color:rgba(255,255,255,.65);
}

/* Logo */
.faq__logo{
  display:flex;
  justify-content:flex-end;
  margin-top:40px;
}
.faq__logo img{
  width:min(220px,55%);
  height:auto;
}

/* Entrada */
.faq__eyebrow,.faq__title,.faq__list,.faq__logo{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease, transform .7s ease;
}
.faq.is-visible .faq__eyebrow,
.faq.is-visible .faq__title,
.faq.is-visible .faq__list,
.faq.is-visible .faq__logo{
  opacity:1;
  transform:none;
}
.faq.is-visible .faq__title{ transition-delay:.08s; }
.faq.is-visible .faq__list{ transition-delay:.16s; }
.faq.is-visible .faq__logo{ transition-delay:.24s; }

@media (max-width:640px){
  .faq{ padding:56px 16px; }
  .faq__title{ margin-bottom:32px; }
  .faq__q{ font-size:14px; padding:18px 0; }
  .faq__a p{ padding-right:0; }
  .faq__logo{ justify-content:center; }
}

@media (prefers-reduced-motion:reduce){
  .faq__a,.faq__icon{ transition:none; }
  .faq__eyebrow,.faq__title,.faq__list,.faq__logo{
    opacity:1; transform:none; transition:none;
  }
}