/* ===== Mega — Global Styles ===== */

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.025;
  pointer-events: none;
  z-index: 1000;
}

.card-shine {
  background: linear-gradient(135deg, rgba(255,255,255,0.03) 0%, transparent 50%);
}
.glow-accent {
  box-shadow: 0 0 60px -15px rgba(232, 197, 71, 0.3);
}

/* --- Animations --- */
.animate-in { animation: fadeUp 0.8s ease forwards; }
.animate-in-delay-1 { animation-delay: 0.1s; }
.animate-in-delay-2 { animation-delay: 0.2s; }
.animate-in-delay-3 { animation-delay: 0.3s; }
.animate-in-delay-4 { animation-delay: 0.4s; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- Category cards --- */
.category-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  background: #141414;
  border: 1px solid rgba(42,42,42,0.5);
  transition: all 0.5s;
  cursor: pointer;
}
.category-card:hover {
  border-color: rgba(232,197,71,0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(0,0,0,0.5), 0 0 30px -10px rgba(232,197,71,0.15);
}
.category-card:hover .category-icon { transform: scale(1.1); color: #e8c547; }
.category-card:hover .category-arrow { transform: translateX(4px); opacity: 1; }

.category-icon { transition: all 0.5s; }
.category-arrow { opacity: 0; transform: translateX(-8px); transition: all 0.3s; }

/* --- Review cards --- */
.review-card {
  position: relative;
  padding: 2rem;
  border-radius: 0.75rem;
  background: #141414;
  border: 1px solid rgba(42,42,42,0.5);
  transition: all 0.5s;
}
.review-card:hover {
  border-color: rgba(232,197,71,0.2);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.4);
}

/* --- Team cards --- */
.team-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  background: #141414;
  border: 1px solid rgba(42,42,42,0.5);
  transition: all 0.5s;
}
.team-card:hover {
  border-color: rgba(232,197,71,0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(0,0,0,0.5), 0 0 30px -10px rgba(232,197,71,0.15);
}
.team-card:hover img { transform: scale(1.05); }

/* --- Social links --- */
.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0.5rem;
  background: #1a1a1a;
  border: 1px solid rgba(42,42,42,0.5);
  color: #9ca3af;
  transition: all 0.3s;
}
.social-link:hover {
  color: #e8c547;
  border-color: rgba(232,197,71,0.3);
}

/* --- Nav underline --- */
.nav-link { position: relative; }
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: #e8c547;
  transition: all 0.3s;
}
.nav-link:hover::after { width: 100%; }

/* --- Legal pages --- */
.legal-content h2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.75rem;
  color: white;
  letter-spacing: 0.05em;
  margin-top: 3rem;
  margin-bottom: 1rem;
}
.legal-content h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: white;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.legal-content p {
  color: #9ca3af;
  line-height: 1.75;
  margin-bottom: 1rem;
}
.legal-content ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  color: #9ca3af;
  margin-bottom: 1rem;
}
.legal-content ul li { margin-bottom: 0.5rem; }
.legal-content a { color: #e8c547; }
.legal-content a:hover { color: #f5d76e; }