:root {
  --blue: #1e3a8a;
  --orange: #ea580c;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Vazirmatn', system-ui, sans-serif;
  background: #f8fafc;
  color: #0f172a;
}

/* Hero background */
.hero-bg {
  background: linear-gradient(135deg, #172554 0%, #1e3a8a 55%, #7c2d12 130%);
  position: relative;
}
.hero-glow {
  position: absolute;
  top: -120px;
  left: -80px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(234,88,12,0.45), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
}

.about-bg {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
}

/* Flame flicker */
.flame {
  display: inline-block;
  animation: flicker 2.2s infinite ease-in-out;
}
@keyframes flicker {
  0%, 100% { transform: scale(1) rotate(0deg); }
  40% { transform: scale(1.12) rotate(-4deg); }
  70% { transform: scale(0.95) rotate(3deg); }
}

/* Pulse button */
.pulse-btn { animation: pulse 2.4s infinite; }
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(234,88,12,0.55); }
  70% { box-shadow: 0 0 0 14px rgba(234,88,12,0); }
  100% { box-shadow: 0 0 0 0 rgba(234,88,12,0); }
}

/* Hero reveal */
.reveal {
  animation: rise 0.8s ease both;
}
@keyframes rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Toast */
.toast-in { animation: toastUp 0.4s ease both; }
@keyframes toastUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Persian number-friendly inputs */
input, select, textarea, button { font-family: inherit; }

html { scroll-behavior: smooth; }