@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes parallaxFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-18px); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes sparkle {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}
.marquee-track {
  display: flex;
  animation: marquee 32s linear infinite;
  width: max-content;
}
.marquee-track:hover { animation-play-state: paused; }
.parallax-float { animation: parallaxFloat 6s ease-in-out infinite; }
.shimmer-text {
  background: linear-gradient(90deg, #e8d5ff 0%, #ffffff 40%, #a78bfa 60%, #e8d5ff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}
.sparkle { animation: sparkle 2s ease-in-out infinite; }
.prose { color: #e2d9f3; max-width: 100%; }
.prose h2 { color: #c4b5fd; font-size: 1.6rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; border-bottom: 1px solid #4c1d95; padding-bottom: 0.4rem; }
.prose h3 { color: #a78bfa; font-size: 1.2rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.prose p { line-height: 1.8; margin-bottom: 1rem; font-size: 1rem; }
.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; line-height: 1.7; }
.prose blockquote { border-left: 4px solid #7c3aed; padding-left: 1rem; color: #c4b5fd; font-style: italic; margin: 1.5rem 0; background: rgba(124,58,237,0.1); border-radius: 0 0.5rem 0.5rem 0; padding: 0.75rem 1rem; }
.prose a { color: #a78bfa; text-decoration: underline; }
.prose a:hover { color: #c4b5fd; }
.prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; white-space: nowrap; border-collapse: collapse; margin-bottom: 1.5rem; }
.prose th { background: #4c1d95; color: #f5f0ff; padding: 0.6rem 1rem; text-align: left; font-weight: 600; }
.prose td { padding: 0.6rem 1rem; border-bottom: 1px solid #2d1b6b; color: #e2d9f3; }
.prose tr:nth-child(even) td { background: rgba(109,40,217,0.12); }
body { background-color: #0d0a1a; color: #e2d9f3; font-family: 'Segoe UI', system-ui, sans-serif; }
.card-glass { background: rgba(26,16,48,0.85); border: 1px solid rgba(167,139,250,0.25); backdrop-filter: blur(8px); }
.btn-primary { background: linear-gradient(135deg, #7c3aed 0%, #4c1d95 100%); color: #fff; font-weight: 700; padding: 0.75rem 2rem; border-radius: 0.5rem; display: inline-block; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 24px rgba(124,58,237,0.45); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(124,58,237,0.65); }
.btn-secondary { background: transparent; border: 2px solid #a78bfa; color: #c4b5fd; font-weight: 600; padding: 0.7rem 1.8rem; border-radius: 0.5rem; display: inline-block; transition: background 0.2s, color 0.2s; }
.btn-secondary:hover { background: rgba(167,139,250,0.15); color: #fff; }
.nav-link { color: #c4b5fd; font-weight: 500; transition: color 0.2s; padding: 0.4rem 0.2rem; border-bottom: 2px solid transparent; }
.nav-link:hover { color: #fff; border-bottom-color: #7c3aed; }
.section-title { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 800; color: #f5f0ff; text-align: center; margin-bottom: 0.5rem; }
.section-subtitle { color: #a78bfa; text-align: center; margin-bottom: 2.5rem; font-size: 1.05rem; }
.star-bg { background-image: radial-gradient(circle at 20% 30%, rgba(124,58,237,0.18) 0%, transparent 60%), radial-gradient(circle at 80% 70%, rgba(76,29,149,0.22) 0%, transparent 50%); }
.badge-18 { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid #a78bfa; color: #c4b5fd; font-weight: 800; font-size: 0.75rem; flex-shrink: 0; }
.provider-tag { display: inline-block; background: rgba(124,58,237,0.2); border: 1px solid rgba(167,139,250,0.3); color: #c4b5fd; border-radius: 9999px; padding: 0.3rem 0.9rem; font-size: 0.9rem; margin: 0.25rem; transition: background 0.2s; }
.provider-tag:hover { background: rgba(124,58,237,0.4); color: #fff; }
.step-badge { width: 3rem; height: 3rem; border-radius: 50%; background: linear-gradient(135deg, #7c3aed, #4c1d95); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 800; color: #fff; flex-shrink: 0; box-shadow: 0 0 20px rgba(124,58,237,0.5); }
.faq-item { border-bottom: 1px solid rgba(167,139,250,0.2); }
.faq-answer { display: none; }
.faq-answer.open { display: block; }
