html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

.bg-gradient-fire { background: linear-gradient(135deg, #d62828, #f77f00); }
.bg-gradient-dark { background: linear-gradient(180deg, #1c1a18, #0f0e0d); }
.text-gradient-fire {
  background: linear-gradient(135deg, #d62828, #f77f00);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.grid-lines {
  background-image:
    linear-gradient(rgba(28,26,24,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,26,24,0.05) 1px, transparent 1px);
  background-size: 48px 48px;
}

@keyframes ping {
  75%, 100% { transform: scale(2); opacity: 0; }
}
.animate-ping { animation: ping 1.6s cubic-bezier(0,0,0.2,1) infinite; }
