/* Boomerang hero animation */
#hero-boomerang svg {
  filter: drop-shadow(0 0 30px rgba(244, 37, 37, 0.3));
}
#hero-boomerang .boom-red {
  animation: redPulse 2s ease-in-out infinite;
}
@keyframes redPulse {
  0%, 100% { opacity: 1; filter: brightness(1); }
  50% { opacity: 0.7; filter: brightness(1.5); }
}

/* Base styles */
body {
  background-color: #0e0e0e;
  color: #e5e2e1;
  font-family: "Inter", sans-serif;
  overflow-x: hidden;
}
.font-headline {
  font-family: "Space Grotesk", sans-serif;
}
.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.bg-noise {
  background-image: url(https://lh3.googleusercontent.com/aida-public/AB6AXuBfewGD-_k6aClTltFQ6sIv0_JscjvGE9qLGWNN3q3iNvP0OfvtM76ao73AB0L7sFt_tjQPWYRVbaS-zSRnVf09jcZuKtHTaiLnBfZVrZqxXTV2LbFgJXWJoM6BlxMNnjWqUNrdCLKrMhRFICqTBt_Hdyg-F_GPCQKpq8j8-eqK2Akz7YSwA82hDLSWbK79Lp2y95eMGt59Nfs_YPydTqDu87900Wo9hkTlChpPpwfIgz5okyPXESJE15w2WyeuFEBhACrqPnmOazX_);
  opacity: 0.05;
}
.vertical-line {
  width: 1px;
  background: linear-gradient(to bottom, transparent, #f42525, transparent);
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Ripple button animation (magic5 style) */
@keyframes ripple {
  0% { outline: 0em solid transparent; outline-offset: -0.1em; }
  50% { outline: 0.15em solid rgba(244,37,37,0.3); outline-offset: 0.2em; }
  100% { outline: 0.3em solid transparent; outline-offset: 0.3em; }
}
@keyframes colorize {
  0% { background: #f42525; }
  50% { background: #dc2020; }
  100% { background: #f42525; }
}
button.cta-primary:hover {
  animation: ripple 1s linear infinite, colorize 1s infinite;
  box-shadow: 0 0 1em 0 #f42525;
}

/* Glass border effect */
.glass-border {
  position: relative;
}
.glass-border::before, .glass-border::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.glass-border::before {
  border: 1px solid rgba(255,255,255,0.1);
  mask-image: linear-gradient(135deg, rgba(255,255,255,0.4), transparent 50%);
  -webkit-mask-image: linear-gradient(135deg, rgba(255,255,255,0.4), transparent 50%);
}
.glass-border::after {
  border: 1px solid rgba(244,37,37,0.3);
  mask-image: linear-gradient(135deg, transparent 50%, rgba(255,255,255,0.3));
  -webkit-mask-image: linear-gradient(135deg, transparent 50%, rgba(255,255,255,0.3));
}

/* Gradient text for hero accent */
.gradient-text {
  background: linear-gradient(135deg, #f42525, #ff6b6b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Animated underline for nav */
nav a { position: relative; }
nav a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #f42525;
  box-shadow: 0 2px 8px rgba(244,37,37,0.5);
  transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
nav a:hover::after { width: 100%; }

/* Counter animation helper */
.counter { display: inline-block; }

/* Reveal animations */
.reveal-up { opacity: 0; transform: translateY(60px); }
.reveal-left { opacity: 0; transform: translateX(-60px); }
.reveal-right { opacity: 0; transform: translateX(60px); }
.reveal-scale { opacity: 0; transform: scale(0.9); }

/* Card hover glow */
.card-glow {
  transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.card-glow:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 30px rgba(244,37,37,0.15);
}

/* Vertical line pulse */
.vertical-line {
  animation: linePulse 3s ease-in-out infinite;
}
@keyframes linePulse {
  0%, 100% { opacity: 0.1; }
  50% { opacity: 0.25; }
}

/* Metric number glow on scroll */
.metric-glow {
  text-shadow: 0 0 0px transparent;
  transition: text-shadow 0.8s;
}
.metric-glow.active {
  text-shadow: 0 0 20px rgba(244,37,37,0.4);
}
