@keyframes pulse-neon {
  0%, 100% { box-shadow: 0 0 8px #00e5ff, 0 0 20px #00e5ff44; }
  50% { box-shadow: 0 0 18px #00e5ff, 0 0 40px #7c3aed88; }
}
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes glow-violet {
  0%, 100% { box-shadow: 0 0 10px #7c3aed, 0 0 30px #7c3aed44; }
  50% { box-shadow: 0 0 22px #7c3aed, 0 0 50px #00e5ff44; }
}
.neon-pulse { animation: pulse-neon 2.5s ease-in-out infinite; }
.violet-glow { animation: glow-violet 2.5s ease-in-out infinite; }
.marquee-track { animation: marquee 28s linear infinite; white-space: nowrap; }
.float-anim { animation: float 4s ease-in-out infinite; }
.hero-bg {
  background-image: url('/images/hero.webp');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.prose { color: #e2e8f0; max-width: 100%; line-height: 1.85; font-size: 1rem; }
.prose h2 { color: #22d3ee; font-size: 1.6rem; font-weight: 700; margin: 2rem 0 0.85rem; border-left: 4px solid #7c3aed; padding-left: 0.75rem; }
.prose h3 { color: #a78bfa; font-size: 1.25rem; font-weight: 600; margin: 1.5rem 0 0.6rem; }
.prose p { margin-bottom: 1.1rem; }
.prose a { color: #22d3ee; text-decoration: underline; }
.prose a:hover { color: #a78bfa; }
.prose ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1rem; }
.prose ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1rem; }
.prose li { margin-bottom: 0.4rem; }
.prose blockquote { border-left: 4px solid #7c3aed; padding: 0.5rem 1rem; background: #1a1a3a; color: #c4b5fd; margin: 1.25rem 0; border-radius: 0 8px 8px 0; }
.prose img { max-width: 100%; border-radius: 12px; margin: 1.25rem auto; display: block; }
.prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; white-space: nowrap; border-collapse: collapse; margin: 1.25rem 0; }
.prose th { background: #1e1b4b; color: #22d3ee; padding: 0.65rem 1rem; text-align: left; border: 1px solid #312e81; }
.prose td { padding: 0.6rem 1rem; border: 1px solid #1e1b4b; color: #e2e8f0; background: #0f0f2a; }
.prose tr:nth-child(even) td { background: #13133a; }
.card-dark { background: linear-gradient(135deg, #0f0f2a 0%, #1a0a3a 100%); border: 1px solid #2d2d6b; border-radius: 16px; }
.btn-primary { background: linear-gradient(90deg, #00e5ff, #7c3aed); color: #fff; font-weight: 700; border-radius: 50px; padding: 0.75rem 2rem; transition: opacity 0.2s, transform 0.2s; display: inline-block; text-align: center; }
.btn-primary:hover { opacity: 0.88; transform: translateY(-2px); }
.btn-secondary { background: transparent; border: 2px solid #00e5ff; color: #00e5ff; font-weight: 700; border-radius: 50px; padding: 0.7rem 2rem; transition: background 0.2s, color 0.2s; display: inline-block; text-align: center; }
.btn-secondary:hover { background: #00e5ff22; }
.section-title { color: #22d3ee; font-size: 2rem; font-weight: 800; text-align: center; margin-bottom: 0.5rem; }
.section-sub { color: #a78bfa; text-align: center; margin-bottom: 2.5rem; font-size: 1rem; }
.faq-item { border: 1px solid #2d2d6b; border-radius: 12px; background: #0f0f2a; margin-bottom: 1rem; overflow: hidden; }
.faq-q { color: #22d3ee; font-weight: 700; padding: 1rem 1.25rem; cursor: pointer; }
.faq-a { color: #cbd5e1; padding: 0 1.25rem 1rem; font-size: 0.95rem; line-height: 1.75; }
