/* Seção FAQ: à esquerda o título fixo com um cartão de contato; à direita as perguntas em cartões.
   A pergunta aberta acende e a resposta abre com animação de altura. */
.fq { position: relative; padding: 120px 0; border-top: 1px solid rgba(150, 180, 225, 0.07);
  background: radial-gradient(800px 480px at 0% 30%, rgba(1, 34, 75, 0.75), rgba(1, 34, 75, 0) 70%), radial-gradient(700px 420px at 100% 100%, rgba(255, 195, 15, 0.05), transparent 70%); }
.fq-in { max-width: 1320px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr); gap: 72px; align-items: start; }

.fq-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 18px; }
.fq-eyebrow { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(255, 195, 15, 0.35); background: rgba(255, 195, 15, 0.08);
  font: 700 11px 'Plus Jakarta Sans', sans-serif; letter-spacing: 0.14em; text-transform: uppercase; color: #FFC30F; }
.fq-side h2 { margin: 0; font: 700 clamp(38px, 4.4vw, 58px)/1.02 'Funnel Display', sans-serif; letter-spacing: -0.03em; color: #D9C8B7; text-wrap: balance; }
.fq-side h2 span { color: #FFC30F; }
.fq-side > p { margin: 0; max-width: 440px; font: 400 17px/1.6 'Plus Jakarta Sans', sans-serif; color: #A3B1C8; text-wrap: pretty; }

/* cartão de contato embaixo do título */
.fq-cta { margin-top: 14px; display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 18px; border: 1px solid rgba(150, 180, 225, 0.14);
  background: radial-gradient(320px 180px at 0% 0%, rgba(23, 150, 212, 0.18), transparent 70%), #0B1A30; box-shadow: 0 30px 70px rgba(1, 34, 75, 0.45); }
.fq-cta-top { display: flex; align-items: center; gap: 12px; }
.fq-cta-top img { width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: #06101F; border: 1px solid rgba(255, 195, 15, 0.35); box-shadow: 0 0 22px rgba(255, 195, 15, 0.18); }
.fq-cta-top b { display: block; font: 600 18px/1.2 'Funnel Display', sans-serif; color: #F5F6FA; }
.fq-cta-top small { display: flex; align-items: center; gap: 6px; margin-top: 3px; font: 500 12px 'Plus Jakarta Sans', sans-serif; color: #8090AC; }
.fq-cta-top small::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #58D417; box-shadow: 0 0 8px #58D417; animation: hePulse 1.6s infinite; }
.fq-cta p { margin: 0; font: 400 14px/1.55 'Plus Jakarta Sans', sans-serif; color: #A3B1C8; }
.fq-cta button { align-self: flex-start; border: 0; border-radius: 8px; padding: 13px 20px; background: #FFC30F; color: #06101F; font: 700 14px 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: background 0.2s, transform 0.2s; }
.fq-cta button:hover { background: #CC9900; transform: translateY(-1px); }

/* perguntas */
.fq-list { display: flex; flex-direction: column; gap: 10px; }
.fq-item { border-radius: 14px; border: 1px solid rgba(150, 180, 225, 0.12); background: #0A1628; transition: border-color 0.3s, background 0.3s, box-shadow 0.3s; }
.fq-item:hover { border-color: rgba(150, 180, 225, 0.28); }
.fq-item.is-open { border-color: rgba(255, 195, 15, 0.45); background: radial-gradient(420px 160px at 0% 0%, rgba(255, 195, 15, 0.08), transparent 70%), #0B1A30; box-shadow: 0 20px 50px rgba(1, 34, 75, 0.45); }
.fq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; background: transparent; border: 0; text-align: left; cursor: pointer; }
.fq-q > span { font: 600 18px/1.35 'Funnel Display', sans-serif; color: #D9C8B7; transition: color 0.3s; }
.fq-item.is-open .fq-q > span { color: #F5F6FA; }
.fq-q > i { flex: none; position: relative; width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(150, 180, 225, 0.25); transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.3s, border-color 0.3s; }
.fq-q > i::before, .fq-q > i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 2px; background: #FFC30F; transition: background 0.3s; }
.fq-q > i::after { transform: rotate(90deg); }
.fq-item.is-open .fq-q > i { transform: rotate(45deg); background: #FFC30F; border-color: #FFC30F; }
.fq-item.is-open .fq-q > i::before, .fq-item.is-open .fq-q > i::after { background: #06101F; }
/* resposta: abre animando a altura */
.fq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.fq-item.is-open .fq-a { grid-template-rows: 1fr; }
.fq-a > div { overflow: hidden; }
.fq-a p { margin: 0; padding: 0 22px 22px; max-width: 680px; font: 400 15.5px/1.65 'Plus Jakarta Sans', sans-serif; color: #A3B1C8; text-wrap: pretty; opacity: 0; transition: opacity 0.3s; }
.fq-item.is-open .fq-a p { opacity: 1; transition-delay: 0.1s; }

@media (max-width: 960px) {
  .fq-in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .fq-side { position: static; }
}
@media (max-width: 760px) {
  .fq { padding: 64px 0; }
  .fq-in { padding: 0 20px; gap: 28px; }
  .fq-side h2 { font-size: 34px; }
  .fq-side > p { font-size: 16px; }
  .fq-cta { display: none; }
  .fq-q { padding: 16px; gap: 14px; }
  .fq-q > span { font-size: 16px; }
  .fq-q > i { width: 28px; height: 28px; }
  .fq-a p { padding: 0 16px 18px; font-size: 14.5px; }
}
.fq-cta--m { display: none; }
@media (max-width: 760px) { .fq-cta--m { display: flex; margin-top: 8px; } }
@media (prefers-reduced-motion: reduce) {
  .fq-a, .fq-a p, .fq-q > i { transition: none; }
}
