/* =========================================================================
   ANIMATIONS
   ========================================================================= */
@keyframes float-card {
  from { transform: translateY(-6px); }
  to   { transform: translateY(8px); }
}

@keyframes float-a {
  from { transform: translateY(-10px) rotate(-6deg); }
  to   { transform: translateY(12px) rotate(8deg); }
}

@keyframes float-b {
  from { transform: translateY(10px) rotate(6deg); }
  to   { transform: translateY(-12px) rotate(-8deg); }
}

@keyframes pulse-q {
  0%, 100% { opacity: 1; text-shadow: 0 0 14px rgba(129, 182, 76, .8); }
  50%      { opacity: .55; text-shadow: 0 0 4px rgba(129, 182, 76, .3); }
}

@keyframes vault-glow {
  from { background-position: 0 0, 0 0, 0 0, 0% 50%; }
  to   { background-position: 0 0, 0 0, 0 0, 300% 50%; }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(-5px); }
  75%      { transform: translateX(5px); }
}

@keyframes pulse-green {
  0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, .55); }
  100% { box-shadow: 0 0 0 14px rgba(16, 185, 129, 0); }
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1000px) {
  .hero { grid-template-columns: 1fr; padding-top: 56px; text-align: center; }
  .hero-copy h1 { font-size: 2.7rem; }
  .hero-sub { margin-left: auto; margin-right: auto; }
  .right-sidebar-pane { grid-template-columns: 1fr 1fr; }
  .chart-card { display: none; }
}
