.parallax-inner {
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .parallax-inner {
    transform: none !important;
  }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in-left {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fade-in-right {
  from {
    opacity: 0;
    transform: translateX(40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.8s ease-out 0.2s forwards;
}

.animate-fade-in-left {
  animation: fade-in-left 0.9s ease-out 0.2s forwards;
}

.animate-fade-in-right {
  animation: fade-in-right 0.9s ease-out 0.35s forwards;
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

.typing-effect {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  border-right: 3px solid transparent; 
  animation: 
    typing 3.5s steps(40, end),
    blink-caret .75s step-end infinite;
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: theme('colors.accent') }
}

/* Luminum Premium Formatting */
.luminum-section-header-wrap {
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    padding: 0.6rem 1rem;
    border-radius: 0.75rem;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.2);
}

.luminum-section-header-wrap:first-child {
    margin-top: 0.5rem;
}

/* Specific Section Types */
.luminum-section-verdict { border-color: rgba(16, 185, 129, 0.25) !important; color: #10B981 !important; background: rgba(16, 185, 129, 0.1) !important; }
.luminum-section-risk { border-color: rgba(244, 63, 94, 0.25) !important; color: #F43F5E !important; background: rgba(244, 63, 94, 0.1) !important; }
.luminum-section-snapshot { border-color: rgba(56, 189, 248, 0.25) !important; color: #38BDF8 !important; background: rgba(56, 189, 248, 0.1) !important; }
.luminum-section-playbook { border-color: rgba(168, 85, 247, 0.25) !important; color: #A855F7 !important; background: rgba(168, 85, 247, 0.1) !important; }
.luminum-section-evidence { border-color: rgba(234, 179, 8, 0.25) !important; color: #EAB308 !important; background: rgba(234, 179, 8, 0.1) !important; }
.luminum-section-next { border-color: rgba(156, 163, 175, 0.25) !important; color: #9CA3AF !important; background: rgba(156, 163, 175, 0.1) !important; }

/* Premium Table Styling in Prose */
.prose table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 0.8125rem !important;
    margin: 1.25rem 0 !important;
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(10, 10, 10, 0.4) !important;
    backdrop-filter: blur(4px);
}

.prose table th {
    background: rgba(255, 255, 255, 0.04) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 0.875rem 1rem !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.prose table td {
    padding: 0.875rem 1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    color: rgba(229, 231, 235, 0.85);
}

.prose table tr:last-child td {
    border-bottom: none !important;
}

.prose table tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.01) !important;
}

.prose table tr:hover td {
    background: rgba(255, 255, 255, 0.03) !important;
    color: #fff !important;
}

/* Hide Citations */
.citation-tag {
    display: none !important;
}
