.faq-hero{
  position:relative;
  padding:5rem 2rem 3rem;
  background:radial-gradient(circle at top, rgba(20,30,60,.25), rgba(10,15,30,.98));
  text-align:center;
}

.faq-hero::after{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:200px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,rgba(79,140,255,0),rgba(79,140,255,.9),rgba(240,150,60,.9),rgba(240,150,60,0));
}

.faq-hero-inner{
  max-width:900px;
  margin:auto;
}

.faq-hero-title{
  position:relative;
  display:inline-block;
}

.faq-hero-title::after{
  content:"";
  display:block;
  height:3px;
  width:120px;
  margin:14px auto 0;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    #ff7a18,
    #ff9f43,
    #ffd166,
    #38bdf8,
    #2563eb
  );
  opacity:.85;
}

.faq-hero-subtitle{
  margin-top:1rem;
  color:rgba(255,255,255,.75);
  line-height:1.6;
}

.faq-hero-icon{
  font-size:2rem;
  margin-bottom:1rem;
  opacity:.85;
}

.faq-topics{
  padding:4rem 2rem;
  background:linear-gradient(180deg, rgba(10,15,30,.98), rgba(10,15,30,1));
}

.faq-inner{
  max-width:1000px;
  margin:auto;
}

.faq-topic{
  margin-bottom:1.6rem;
  border-radius:18px;
  background:
  radial-gradient(140% 140% at 10% 0%, rgba(255,255,255,0.07), transparent 60%),
  linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
  box-shadow:
  0 25px 60px rgba(0,0,0,0.45),
  inset 0 0 0 1px rgba(255,255,255,0.06);
  transition:
  transform .25s ease,
  box-shadow .25s ease;
}

.faq-topic:hover{
  transform: translateY(-3px);
  box-shadow:
  0 35px 70px rgba(0,0,0,.55),
  inset 0 0 0 1px rgba(255,255,255,.10);
}

.faq-topic-toggle{
  width:100%;
  padding:1.1rem 1.4rem 1.1rem 2rem;
  text-align:left;
  font-weight:600;
  font-size:1.05rem;
  background:none;
  border:none;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}

.faq-topic-toggle::before{
  content:"";
  position:absolute;
  left:0.9rem;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:18px;
  border-radius:4px;
  background:linear-gradient(180deg,#ff8a00,#3aa0ff);
  opacity:.85;
}

.faq-topic-toggle::after{
  content:"▾";
  font-size:.9rem;
  opacity:.6;
  transition:transform .25s ease;
}

.faq-topic.open .faq-topic-toggle::after{
  transform:rotate(180deg);
}

.faq-topic-content{
  display:none;
  padding:0 1.2rem 1.2rem;
  animation:faqFade .25s ease;
}

@keyframes faqFade{
  from{opacity:0;transform:translateY(-4px);}
  to{opacity:1;transform:translateY(0);}
}

.faq-topic.open .faq-topic-content{
  display:block;
}

.faq-item{
  margin-top:.8rem;
  scroll-margin-top:120px;
}

.faq-question{
  width:100%;
  text-align:left;
  padding:.75rem .9rem;
  border-radius:12px;
  background:rgba(255,255,255,.05);
  border:none;
  color:#fff;
  cursor:pointer;
  font-weight:500;
  transition:all .25s ease;
}

.faq-question:hover{
    background:rgba(255,255,255,.08);
    box-shadow:0 0 0 1px rgba(255,255,255,.05),
    0 10px 25px rgba(0,0,0,.35);
    transform:translateY(-1px);
}

.faq-answer{
  display:none;
  padding:.8rem .9rem;
  color:rgba(255,255,255,.78);
  line-height:1.6;
  font-size:.95rem;
}

.faq-item.open .faq-answer{
  display:block;
}

.faq-item{
  scroll-margin-top:120px;
}

.faq-cta{
  position:relative;
  margin-top:0;
  padding:3.5rem 2rem 4.5rem;
  background:
    radial-gradient(circle at top, rgba(79,140,255,0.18), transparent 60%),
    linear-gradient(180deg, rgba(8,12,22,0.98), rgba(8,12,22,1));
  text-align:center;
  border-top:1px solid rgba(255,255,255,0.06);
}

.faq-cta-inner{
  max-width:900px;
  margin:0 auto;
}

.faq-cta h2{
  font-size:clamp(2rem,3.5vw,2.6rem);
  margin-bottom:1rem;
  color:#fff;
}

.faq-cta-text{
  max-width:720px;
  margin:0 auto 1.8rem auto;
  color:rgba(255,255,255,.75);
  line-height:1.6;
  font-size:1.05rem;
  opacity:.9;
}

.faq-cta-actions{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.faq-cta-link{
  color:#8fb9ff;
  text-decoration:none;
  font-weight:500;
}

.faq-cta-link:hover{
  text-decoration:underline;
}

.faq-divider{
height:1px;
margin:3rem auto;
max-width:900px;
background:linear-gradient(90deg,transparent,#ff8a00,#3aa0ff,transparent);
opacity:.7;
}