/* ============================================================
   hero.css
   Hero section: particle canvas, grid backdrop, headline, CTA.
   ============================================================ */

.hero {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  position: relative; padding: 120px 32px 80px;
  overflow: hidden;
}
#particle-canvas {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  z-index: 0; opacity: 0.6;
}
.hero-grid {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background-image:
    linear-gradient(rgba(0, 240, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  z-index: 1; pointer-events: none;
}
.hero-content {
  position: relative; z-index: 2; text-align: center; max-width: 900px;
}
.hero-badge {
  display: inline-block; padding: 6px 16px; border-radius: 100px;
  border: 1px solid var(--border); background: var(--accent-dim);
  font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent);
  margin-bottom: 24px; letter-spacing: 2px; text-transform: uppercase;
}
.hero h1 {
  margin-bottom: 24px;
  background: linear-gradient(135deg, #fff 0%, var(--accent) 50%, var(--secondary) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; filter: drop-shadow(0 0 30px rgba(0, 240, 255, 0.2));
}
.hero-subtitle {
  font-size: 1.15rem; color: var(--text-dim); max-width: 700px;
  margin: 0 auto 32px; line-height: 1.7;
}
.hero-terms {
  font-family: var(--font-mono); font-size: 0.9rem; color: var(--text-muted);
  margin-bottom: 40px; height: 24px;
}
.hero-terms span {
  color: var(--accent); text-shadow: 0 0 10px var(--accent-glow);
  border-right: 2px solid var(--accent);
  padding-right: 4px; animation: blink 1s step-end infinite;
}
@keyframes blink { 50% { border-color: transparent; } }
.hero-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
