* { box-sizing: border-box; border-color: var(--border); }
body {
  margin: 0;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}
::selection { background: var(--primary-tint-30); color: var(--fg); }
.gradient-text {
  background: linear-gradient(135deg, #ffffff 0%, var(--neon-green) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.text-white-heading { color: var(--fg); -webkit-text-fill-color: var(--fg); }
.neon-text { color: var(--neon-green); text-shadow: 0 0 10px var(--neon-glow), 0 0 20px var(--neon-glow); }
.eyebrow { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--primary); text-transform: uppercase; letter-spacing: var(--tracking-wider); }
.glass-card {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur-glass));
  -webkit-backdrop-filter: blur(var(--blur-glass));
  border: 1px solid var(--glass-border);
  transition: all var(--dur-base) ease;
}
.glass-card:hover, .glass-card-hover { border-color: var(--neon-green); box-shadow: var(--glow-md); transform: translateY(-2px); }
.glass-button { background: var(--primary-tint-20); color: var(--primary); border: 1px solid var(--primary-tint-30); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.glass-button:hover { background: var(--primary-tint-30); border-color: rgba(89, 255, 115, 0.5); box-shadow: var(--glow-lg); }
.btn-magnetic { transition: all var(--dur-fast) ease; }
.btn-magnetic:hover { transform: scale(1.05); box-shadow: var(--glow-sm); }
.btn-magnetic:active { transform: scale(0.98); }
@keyframes float-gentle { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }
.animate-float { animation: float-gentle 5s ease-in-out infinite; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } }
.animate-in { animation: fadeInUp var(--dur-slow) var(--ease-out) forwards; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
