/* ============================================
   OURMIND ENTERTAINMENT - COMPLETE CSS STYLES
   ============================================ */

/* ===== BASE STYLES & PERFORMANCE ===== */
body { 
  font-family: 'Montserrat', Arial, sans-serif; 
  margin: 0; 
  overflow-x: hidden;
  scroll-behavior: smooth;
  background-attachment: fixed;
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Accessibility & Performance */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== MOBILE-FIRST TEAM SECTION LAYOUT ===== */
#teamContainer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1rem;
  max-width: 400px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #teamContainer {
    max-width: 500px;
    gap: 2rem;
    padding: 2rem;
  }
}

.team-member-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 380px !important;
  padding: 2rem 1.5rem !important;
  margin: 0 !important;
  background: linear-gradient(135deg, #18181b 80%, #fde04722 100%);
  border-radius: 1.25rem;
  box-shadow: 0 4px 24px 0 rgba(80,0,80,0.10);
  border: 2px solid #fde04744;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  transition: box-shadow 0.3s;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative;
  z-index: 1;
}

.team-member-card .specialty-badge {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0 0.25rem 0.5rem 0.25rem;
  background: #fde04722;
  border: 1px solid #fde04744;
  color: #fde047;
  display: inline-block;
}

.team-member-card .profile-img {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fde047;
  margin-bottom: 1rem;
  box-shadow: 0 2px 12px #fde04733;
}

.team-member-card .bio-box {
  background: #18181b;
  border-radius: 0.75rem;
  padding: 1rem;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1.6;
  box-shadow: 0 2px 8px #0002;
}

.team-member-card .social-link {
  font-size: 1.35rem;
  margin: 0 0.5rem;
  color: #fde047;
  transition: color 0.2s;
}

.team-member-card .social-link:hover {
  color: #f472b6;
}

.team-member-card .profile-name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  color: #fde047;
}

.team-member-card .profile-role {
  font-size: 1.1rem;
  color: #fff;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.team-member-card .profile-handle {
  font-size: 0.95rem;
  color: #fde047;
  margin-bottom: 0.5rem;
}

.team-member-card .specialties-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fde047;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ===== ENHANCED SPLASH SCREEN STYLES ===== */
.splash-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(135deg, #000000 0%, #1a1a2e 25%, #16213e 50%, #0f0f1e 75%, #000000 100%);
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
              visibility 0s linear 2.5s;
  transform: translateZ(0);
  will-change: opacity, visibility;
  backface-visibility: hidden;
}

.splash-overlay.fade-out {
  opacity: 0;
  visibility: hidden;
}

/* Main website initially hidden with smooth transition */
.main-content {
  opacity: 0;
  transition: opacity 2s ease-in-out;
  will-change: opacity;
}

.main-content.show {
  opacity: 1;
}

/* Enhanced Starfield Background */
.starfield {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  transform: translateZ(0);
  will-change: transform;
}

.star {
  position: absolute;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  animation: starTwinkle 3s ease-in-out infinite, starFadeIn 1s ease-out forwards;
  box-shadow: 0 0 2px rgba(255, 255, 255, 0.3);
  opacity: 0;
  transform: translateZ(0);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

.star.small {
  width: 1px;
  height: 1px;
}

.star.medium {
  width: 2px;
  height: 2px;
}

.star.large {
  width: 3px;
  height: 3px;
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
}

@keyframes starFadeIn {
  0% { opacity: 0; transform: scale(0) translateZ(0); }
  100% { opacity: 0.8; transform: scale(1) translateZ(0); }
}

@keyframes starTwinkle {
  0%, 100% { 
    opacity: 0.3; 
    transform: scale(1) rotate(0deg) translateZ(0); 
  }
  50% { 
    opacity: 1; 
    transform: scale(1.3) rotate(180deg) translateZ(0); 
  }
}

/* Enhanced Blue Nebula Effect */
.nebula {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: 
    radial-gradient(circle at 20% 80%, rgba(59, 130, 246, 0.15) 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(147, 197, 253, 0.12) 0%, transparent 60%),
    radial-gradient(circle at 40% 40%, rgba(29, 78, 216, 0.08) 0%, transparent 60%),
    radial-gradient(circle at 60% 90%, rgba(99, 102, 241, 0.1) 0%, transparent 50%);
  animation: nebulaFadeIn 2s ease-out forwards, nebulaFloat 10s ease-in-out infinite 2s;
  opacity: 0;
  transform: translateZ(0);
  will-change: transform, opacity;
  backface-visibility: hidden;
}

@keyframes nebulaFadeIn {
  0% { opacity: 0; }
  100% { opacity: 0.6; }
}

@keyframes nebulaFloat {
  0%, 100% { 
    transform: scale(1) rotate(0deg) translateZ(0); 
    opacity: 0.4; 
  }
  25% { 
    transform: scale(1.05) rotate(2deg) translateZ(0); 
    opacity: 0.5; 
  }
  50% { 
    transform: scale(1.1) rotate(5deg) translateZ(0); 
    opacity: 0.6; 
  }
  75% { 
    transform: scale(1.05) rotate(3deg) translateZ(0); 
    opacity: 0.5; 
  }
}

/* Enhanced Logo Container */
.splash-logo-container {
  margin-bottom: 40px;
  position: relative;
  opacity: 0;
  animation: logoFadeIn 1.5s ease-out forwards 0.5s;
  transform: translateZ(0);
  will-change: opacity, transform;
}

/* Splash Screen Gradient Text Container */
.splash-text-container {
  margin-bottom: 30px;
  position: relative;
  opacity: 0;
  animation: textFadeIn 1.8s ease-out forwards 1.2s;
  transform: translateZ(0);
  will-change: opacity, transform;
}

@keyframes textFadeIn {
  0% { opacity: 0; transform: translateY(40px) scale(0.9) translateZ(0); }
  100% { opacity: 1; transform: translateY(0) scale(1) translateZ(0); }
}

/* Splash Screen Gradient Text */
.splash-gradient-text {
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.2;
  background: linear-gradient(90deg, #fde047, #f472b6, #a78bfa, #22d3ee, #10b981, #fde047);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: splashGradientMove 4s ease-in-out infinite 2s;
  text-shadow: 0 0 30px rgba(253, 224, 71, 0.6), 0 0 60px rgba(244, 114, 182, 0.4);
  transform: translateZ(0);
  will-change: background-position;
  backface-visibility: hidden;
  font-family: 'Montserrat', Arial, sans-serif;
  text-transform: uppercase;
}

@keyframes splashGradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes logoFadeIn {
  0% { opacity: 0; transform: translateY(30px) scale(0.8) translateZ(0); }
  100% { opacity: 1; transform: translateY(0) scale(1) translateZ(0); }
}

.splash-logo {
  width: 300px;
  height: auto;
  border-radius: 20px;
  animation: logoFlash 2.5s ease-in-out infinite 2s;
  filter: drop-shadow(0 0 30px rgba(253, 224, 71, 0.7));
  transition: filter 0.5s ease;
  transform: translateZ(0);
  will-change: transform, filter;
  backface-visibility: hidden;
}

@keyframes logoFlash {
  0%, 100% {
    opacity: 1;
    transform: scale(1) translateZ(0);
    filter: drop-shadow(0 0 30px rgba(253, 224, 71, 0.7));
  }
  20% {
    opacity: 0.8;
    transform: scale(1.02) translateZ(0);
    filter: drop-shadow(0 0 40px rgba(253, 224, 71, 0.8));
  }
  50% {
    opacity: 1;
    transform: scale(1.08) translateZ(0);
    filter: drop-shadow(0 0 60px rgba(253, 224, 71, 1));
  }
  80% {
    opacity: 0.9;
    transform: scale(1.04) translateZ(0);
    filter: drop-shadow(0 0 45px rgba(253, 224, 71, 0.9));
  }
}

/* Enhanced Loading Bar */
.splash-loading-bar-container {
  width: 400px;
  height: 8px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 
    0 0 20px rgba(59, 130, 246, 0.3),
    inset 0 2px 4px rgba(0, 0, 0, 0.3);
  opacity: 0;
  animation: barFadeIn 1s ease-out forwards 1.5s;
  transform: translateZ(0);
  will-change: opacity, transform;
}

@keyframes barFadeIn {
  0% { opacity: 0; transform: scale(0.8) translateZ(0); }
  100% { opacity: 1; transform: scale(1) translateZ(0); }
}

.splash-loading-bar {
  height: 100%;
  background: linear-gradient(90deg, 
    #fde047 0%, 
    #f472b6 25%, 
    #a78bfa 50%, 
    #22d3ee 75%, 
    #10b981 100%
  );
  border-radius: 10px;
  animation: loadingProgress 4s ease-out forwards 2s;
  transform: translateX(-100%) translateZ(0);
  box-shadow: 0 0 20px rgba(253, 224, 71, 0.6);
  position: relative;
  overflow: hidden;
  will-change: transform;
  backface-visibility: hidden;
}

.splash-loading-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(255, 255, 255, 0.4) 50%, 
    transparent 100%
  );
  animation: shimmer 2s ease-in-out infinite 2s;
  transform: translateZ(0);
  will-change: transform;
}

@keyframes loadingProgress {
  0% { transform: translateX(-100%) translateZ(0); }
  100% { transform: translateX(0%) translateZ(0); }
}

@keyframes shimmer {
  0% { transform: translateX(-100%) translateZ(0); }
  100% { transform: translateX(100%) translateZ(0); }
}

/* Enhanced Pulsing Dots */
.splash-loading-dots {
  display: flex;
  gap: 15px;
  margin-top: 20px;
  opacity: 0;
  animation: dotsFadeIn 1s ease-out forwards 2s;
  transform: translateZ(0);
  will-change: opacity, transform;
}

@keyframes dotsFadeIn {
  0% { opacity: 0; transform: translateY(10px) translateZ(0); }
  100% { opacity: 1; transform: translateY(0) translateZ(0); }
}

.splash-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fde047;
  animation: dotPulse 1.8s ease-in-out infinite 3s;
  box-shadow: 0 0 15px rgba(253, 224, 71, 0.4);
  position: relative;
  transform: translateZ(0);
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.splash-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
  transform: translate(-50%, -50%) translateZ(0);
  animation: ripple 1.8s ease-out infinite 3s;
  will-change: transform, opacity;
}

.splash-dot:nth-child(2) {
  background: #f472b6;
  animation-delay: 3.3s;
  box-shadow: 0 0 15px rgba(244, 114, 182, 0.4);
}

.splash-dot:nth-child(2)::before {
  animation-delay: 3.3s;
}

.splash-dot:nth-child(3) {
  background: #a78bfa;
  animation-delay: 3.6s;
  box-shadow: 0 0 15px rgba(167, 139, 250, 0.4);
}

.splash-dot:nth-child(3)::before {
  animation-delay: 3.6s;
}

@keyframes dotPulse {
  0%, 100% {
    opacity: 0.4;
    transform: scale(1) translateZ(0);
  }
  50% {
    opacity: 1;
    transform: scale(1.4) translateZ(0);
  }
}

@keyframes ripple {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) translateZ(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.5) translateZ(0);
  }
}

/* ===== RESPONSIVE SPLASH SCREEN ===== */
@media (max-width: 768px) {
  .splash-logo {
    width: 250px;
  }
  
  .splash-loading-bar-container {
    width: 300px;
    height: 6px;
  }
  
  .splash-loading-dots {
    gap: 12px;
  }
  
  .splash-dot {
    width: 12px;
    height: 12px;
  }
  
  .splash-gradient-text {
    font-size: 2rem;
    line-height: 1.1;
    padding: 0 1rem;
  }
}

@media (max-width: 480px) {
  .splash-logo {
    width: 200px;
  }
  
  .splash-loading-bar-container {
    width: 250px;
  }
  
  .splash-gradient-text {
    font-size: 1.6rem;
    line-height: 1.1;
    padding: 0 0.5rem;
    letter-spacing: 0.03em;
  }
}

/* ===== MAIN WEBSITE STYLES ===== */
@keyframes gridColorPulse {
  0%, 100% { filter: hue-rotate(0deg) brightness(1); }
  25% { filter: hue-rotate(20deg) brightness(1.08); }
  50% { filter: hue-rotate(40deg) brightness(1.12); }
  75% { filter: hue-rotate(20deg) brightness(1.08); }
}

#movingGrid {
  animation: gridColorPulse 10s ease-in-out infinite;
  transition: filter 0.5s cubic-bezier(.4,0,.2,1);
  will-change: transform, filter;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Enhanced Pulse Animations */
@keyframes pulse-slow { 
  0%,100%{transform:scale(1) translateZ(0);} 
  50%{transform:scale(1.13) translateZ(0);} 
}
@keyframes pulse-slow2 { 
  0%,100%{transform:scale(1) translateZ(0);} 
  50%{transform:scale(1.09) translateZ(0);} 
}
@keyframes pulse-slow3 { 
  0%,100%{transform:scale(1) translateZ(0);} 
  50%{transform:scale(1.16) translateZ(0);} 
}
@keyframes pulse-slow4 { 
  0%,100%{transform:scale(1) translateZ(0);} 
  50%{transform:scale(1.07) translateZ(0);} 
}

.animate-pulse-slow { 
  animation: pulse-slow 7s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
  transform: translateZ(0);
}
.animate-pulse-slow2 { 
  animation: pulse-slow2 9s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
  transform: translateZ(0);
}
.animate-pulse-slow3 { 
  animation: pulse-slow3 8s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
  transform: translateZ(0);
}
.animate-pulse-slow4 { 
  animation: pulse-slow4 11s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
  transform: translateZ(0);
}

/* Enhanced Gradient Animation */
@keyframes gradient-move {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.animate-gradient {
  background-image: linear-gradient(270deg, #fde047, #f472b6, #a78bfa, #fde047);
  background-size: 200% 200%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: gradient-move 5s ease-in-out infinite;
  will-change: background-position;
}

/* Enhanced Fade and Slide Animations */
@keyframes fade-in { 
  from { opacity: 0; transform: translateY(30px) translateZ(0); } 
  to { opacity: 1; transform: translateY(0) translateZ(0); } 
}
.animate-fade-in { 
  animation: fade-in 1.2s cubic-bezier(.4,0,.2,1) both; 
  will-change: opacity, transform;
}

@keyframes slide-up { 
  from { opacity: 0; transform: translateY(40px) translateZ(0); } 
  to { opacity: 1; transform: translateY(0) translateZ(0); } 
}
.animate-slide-up { 
  animation: slide-up 1.2s cubic-bezier(.4,0,.2,1) both; 
  will-change: opacity, transform;
}

/* Enhanced Hero Glow */
.hero-glow {
  text-shadow: 0 0 24px #fde047cc, 0 0 48px #a78bfa99;
}

/* Enhanced Bounce Animations */
@keyframes bounce-slow2 { 
  0%,100%{transform:translateY(0) translateZ(0);} 
  50%{transform:translateY(-10px) translateZ(0);} 
}
@keyframes bounce-slow3 { 
  0%,100%{transform:translateY(0) translateZ(0);} 
  50%{transform:translateY(-18px) translateZ(0);} 
}
.animate-bounce-slow2 { 
  animation: bounce-slow2 3.5s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
}
.animate-bounce-slow3 { 
  animation: bounce-slow3 5s infinite cubic-bezier(.4,0,.2,1); 
  will-change: transform;
}

/* ===== HERO SECTION STYLES ===== */
/* Matte Dark Container */
.matte-container {
  background: rgba(15, 15, 15, 0.8);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem;
  padding: 3rem 2rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
}

.matte-container:hover {
  background: rgba(20, 20, 20, 0.85);
  border-color: rgba(255, 214, 0, 0.2);
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

/* PNG Logo Glow Effect */
.logo-glow {
  transition: all 0.3s ease;
  filter: drop-shadow(0 0 20px rgba(255, 214, 0, 0.4)) 
          drop-shadow(0 0 40px rgba(255, 110, 196, 0.3)) 
          drop-shadow(0 0 60px rgba(139, 92, 246, 0.2));
}

.logo-glow:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 30px rgba(255, 214, 0, 0.6)) 
          drop-shadow(0 0 50px rgba(255, 110, 196, 0.4)) 
          drop-shadow(0 0 70px rgba(139, 92, 246, 0.3));
}

/* ===== ENHANCED TEAM SECTION STYLES ===== */
.team-card, .artist-card {
  min-height: 220px !important;
  max-height: 320px !important;
  overflow: hidden;
  max-width: 320px;
  margin: 0 auto;
  padding: 1.25rem 0.75rem !important;
  position: relative;
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
  box-sizing: border-box;
  will-change: transform;
  backface-visibility: hidden;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1;
}

.team-card .line-clamp-2, .artist-card .line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.team-card:hover {
  transform: translateY(-8px) translateZ(0);
}

.bio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(30,27,75,0.98) 0%, rgba(0,0,0,0.92) 100%);
  backdrop-filter: blur(28px) saturate(1.3);
  border-radius: 1.25rem;
  box-shadow: 0 8px 40px 0 rgba(139,92,246,0.25), 0 1.5px 0 0 #fde04744;
  border: 2.5px solid transparent;
  background-clip: padding-box;
  border-image: linear-gradient(120deg, #fde047 10%, #f472b6 60%, #8b5cf6 100%) 1;
  opacity: 0;
  transform: translateY(30px) scale(0.98) translateZ(0);
  transition: all 0.5s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
  z-index: 40;
  padding: 2.5rem 1.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow-y: auto;
  will-change: opacity, transform;
  animation: bio-fade-in 0.7s cubic-bezier(.4,0,.2,1) both;
}

@keyframes bio-fade-in {
  from { opacity: 0; transform: translateY(40px) scale(0.95) translateZ(0); }
  to { opacity: 1; transform: translateY(0) scale(1) translateZ(0); }
}

.team-card:hover .bio-overlay {
  opacity: 1;
  transform: translateY(0) scale(1) translateZ(0);
  pointer-events: auto;
  box-shadow: 0 16px 64px 0 rgba(253,224,71,0.18), 0 0 32px 0 rgba(139,92,246,0.18);
  border-color: #fde047;
}

.bio-overlay .bio-close-btn {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  background: rgba(253,224,71,0.13);
  border: none;
  border-radius: 50%;
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #fde047;
  cursor: pointer;
  box-shadow: 0 2px 8px #fde04733;
  z-index: 100;
  transition: background 0.2s;
}

.bio-overlay .bio-close-btn:hover {
  background: rgba(253,224,71,0.25);
  color: #fff;
}

.bio-overlay .bio-title {
  font-size: 2rem;
  font-weight: 800;
  color: #fde047;
  margin-bottom: 0.5rem;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 12px #fde04733;
}

.bio-overlay .bio-role {
  font-size: 1.1rem;
  color: #f472b6;
  font-weight: 600;
  margin-bottom: 1.2rem;
}

.bio-overlay .bio-content {
  font-size: 1.08rem;
  color: #fff;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  text-shadow: 0 1px 4px #0008;
}

.bio-overlay .bio-socials {
  display: flex;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
  justify-content: center;
}

.bio-overlay .bio-socials a {
  color: #fde047;
  font-size: 1.3rem;
  transition: color 0.2s, transform 0.2s;
}

.bio-overlay .bio-socials a:hover {
  color: #f472b6;
  transform: scale(1.15);
}

.bio-overlay .bio-specialties {
  font-size: 0.98rem;
  color: #a78bfa;
  text-align: center;
  margin-bottom: 0.5rem;
}

.bio-overlay .bio-img {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 1.2rem auto;
  border: 3px solid #fde047;
  box-shadow: 0 0 16px #fde04755;
  display: block;
}

@media (max-width: 768px) {
  .bio-overlay {
    position: fixed;
    top: 8%;
    left: 5%;
    right: 5%;
    bottom: 8%;
    z-index: 1000;
    border-radius: 1.25rem;
    max-height: 84vh;
    padding: 2.5rem 1rem 1.5rem 1rem;
  }
  .bio-overlay .bio-title {
    font-size: 1.4rem;
  }
  .bio-overlay .bio-img {
    width: 3.2rem;
    height: 3.2rem;
  }
}

/* ===== GALLERY STYLES WITH CSS ANIMATION ===== */
#infiniteGalleryWrapper {
  height: 600px;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  transform: translateZ(0);
}

#infiniteGallery {
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  animation: galleryScroll 60s linear infinite !important;
}

#infiniteGallery:hover {
  animation-play-state: paused !important;
}

/* CSS-based gallery scrolling animation */
@keyframes galleryScroll {
  0% {
    transform: translateY(0) translateZ(0);
  }
  100% {
    transform: translateY(-50%) translateZ(0);
  }
}

/* Responsive gallery scroll speeds */
@media (max-width: 768px) {
  #infiniteGallery {
    animation-duration: 80s !important; /* Slower on mobile */
  }
}

@media (max-width: 480px) {
  #infiniteGallery {
    animation-duration: 100s !important; /* Even slower on small screens */
  }
}

.gallery-img, .gallery-yt {
  user-select: none;
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

.gallery-item {
  break-inside: avoid;
  margin-bottom: 1rem;
  transform: translateZ(0);
}

.gallery-img {
  transition: transform 0.3s ease-out;
}

.gallery-img:hover {
  transform: scale(1.05) translateZ(0);
}

.gallery-collage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  grid-auto-rows: minmax(200px, auto);
  padding: 1rem 0;
  /* Duplicate content for seamless loop */
  min-height: 200vh !important;
}

@media (min-width: 768px) {
  .gallery-collage {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(200px, auto);
  }
}

.gallery-item {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  background: #18181b;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  transition: box-shadow 0.25s, transform 0.25s;
}

.gallery-item.col-span-2 {
  grid-column: span 2 / span 2;
}

.gallery-item.row-span-2 {
  grid-row: span 2 / span 2;
}

.gallery-item img,
.gallery-item .gallery-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-item:hover {
  z-index: 2;
  transform: scale(1.03);
  box-shadow: 0 8px 32px rgba(0,0,0,0.32);
}

.gallery-item .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.52);
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem;
  transition: opacity 0.25s;
}

.gallery-item:hover .overlay {
  opacity: 1;
}

.overlay-title {
  font-weight: bold;
  color: #fde047;
  font-size: 1rem;
  margin-bottom: 0.2rem;
}

.overlay-desc {
  color: #fff;
  font-size: 0.85rem;
  opacity: 0.85;
}

.gallery-item .play-icon {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  background: rgba(0,0,0,0.65);
  border-radius: 50%;
  padding: 0.6rem;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 2rem;
  pointer-events: none;
}

/* ===== ENHANCED TEAM CARD STYLING ===== */
.enhanced-team-card {
  position: relative;
  background: linear-gradient(145deg, rgba(0,0,0,0.8) 0%, rgba(30,27,75,0.6) 100%);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.5s cubic-bezier(.4,0,.2,1);
  transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
}

.enhanced-team-card:hover {
  transform: translateY(-12px) scale(1.02) translateZ(0);
  border-color: rgba(255,255,255,0.3);
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

/* Line Clamp Fix for Compatibility */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== EXPERT BADGE STYLES ===== */
.expert-badge {
  display: inline-block;
  padding: 0.4rem 1.2rem;
  font-size: 0.95rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  border-radius: 9999px;
  background: linear-gradient(90deg, #fde047, #f472b6, #a78bfa, #fde047);
  color: #222;
  box-shadow: 0 0 16px 4px #fde04788, 0 0 8px #f472b688;
  border: 2px solid #fff;
  text-shadow: 0 1px 8px #fde04788, 0 0 8px #a78bfa88;
  margin-bottom: 0.2rem;
  opacity: 0.97;
  pointer-events: none;
  user-select: none;
}

@keyframes expert-badge-pop {
  0% { opacity: 0; transform: scale(0.7) rotate(-8deg); }
  60% { opacity: 1; transform: scale(1.1) rotate(2deg); }
  100% { opacity: 0.97; transform: scale(1) rotate(-2deg); }
}

.animate-expert-badge {
  animation: expert-badge-pop 0.8s cubic-bezier(.4,0,.2,1) both;
}

/* ===== TEAM MODAL OVERLAY ===== */
#teamModalOverlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(16,16,32,0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  opacity: 0;
  pointer-events: none;
}

#teamModalOverlay.active {
  opacity: 1;
  pointer-events: auto;
}

.team-modal-card {
  background: linear-gradient(135deg, #18181b 80%, #fde04722 100%);
  border-radius: 2rem;
  max-width: 480px;
  width: 95vw;
  padding: 2.5rem 2rem 2rem 2rem;
  box-shadow: 0 8px 48px #fde04733, 0 2px 24px #000a;
  border: 2.5px solid #fde04788;
  position: relative;
  animation: modal-pop 0.5s cubic-bezier(.4,0,.2,1);
}

@keyframes modal-pop {
  0% { opacity: 0; transform: scale(0.85) translateY(40px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

.team-modal-close {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  background: #fde047;
  color: #18181b;
  border: none;
  border-radius: 9999px;
  font-size: 1.3rem;
  font-weight: bold;
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px #fde04755;
  cursor: pointer;
  transition: background 0.2s;
}

.team-modal-close:hover {
  background: #f472b6;
  color: #fff;
}

.team-modal-img {
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fde047;
  box-shadow: 0 0 24px #fde04788, 0 0 8px #f472b688;
  margin-bottom: 1.2rem;
}

.team-modal-name {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fde047;
  margin-bottom: 0.2rem;
  text-align: center;
}

.team-modal-title {
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 0.7rem;
}

.team-modal-bio {
  color: #fff;
  font-size: 1.02rem;
  text-align: center;
  margin-bottom: 1.2rem;
  line-height: 1.6;
}

/* ===== GLASSMORPHISM NAVBAR ===== */
.glass-navbar {
  background: rgba(24, 24, 32, 0.72);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border-bottom: 1.5px solid rgba(255,255,255,0.13);
  box-shadow: 0 4px 32px 0 rgba(80, 0, 80, 0.08), 0 1.5px 0 0 #fde04744;
  transition: background 0.3s, box-shadow 0.3s;
}

.glass-navbar-mobile {
  background: rgba(24, 24, 32, 0.97);
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
  box-shadow: 0 8px 32px 0 rgba(80, 0, 80, 0.13);
}

.logo-navbar-glow {
  box-shadow: 0 0 24px 4px #fde04755, 0 0 12px 2px #f472b655;
}

/* Navbar Links */
.nav-link {
  position: relative;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.5rem 0.9rem;
  border-radius: 0.7rem;
  transition: color 0.2s, background 0.2s, box-shadow 0.2s;
  overflow: hidden;
  z-index: 1;
}

.nav-link:hover, .nav-link.active {
  color: #fde047;
  background: linear-gradient(90deg, #fde04722 0%, #f472b622 100%);
  box-shadow: 0 2px 12px #fde04733;
}

.nav-link-cta {
  background: linear-gradient(90deg, #fde047, #f472b6, #a78bfa);
  color: #222;
  font-weight: bold;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  box-shadow: 0 2px 16px #fde04744, 0 0 8px #f472b644;
  transition: transform 0.2s, box-shadow 0.2s;
}

.nav-link-cta:hover, .nav-link-cta.active {
  color: #fff;
  background: linear-gradient(90deg, #f472b6, #fde047, #a78bfa);
  transform: scale(1.07);
  box-shadow: 0 4px 24px #fde04766, 0 0 16px #f472b666;
}

/* Mobile Nav Links */
.nav-link-mobile {
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.7rem 0.5rem;
  border-radius: 0.7rem;
  transition: color 0.2s, background 0.2s;
  display: block;
}

.nav-link-mobile:hover, .nav-link-mobile.active {
  color: #fde047;
  background: linear-gradient(90deg, #fde04722 0%, #f472b622 100%);
}

@media (max-width: 768px) {
  .glass-navbar {
    background: rgba(24, 24, 32, 0.97);
    box-shadow: 0 2px 16px 0 rgba(80, 0, 80, 0.13);
  }
}

/* ===== SCROLL REVEAL ANIMATIONS ===== */
.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

.scroll-text-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}

.scroll-text-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ===== DYNAMIC ARTIST BADGES ===== */
.artist-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 10;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: bold;
  border-radius: 9999px;
  letter-spacing: 0.08em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  text-shadow: 0 1px 4px rgba(0,0,0,0.12);
  border: 2px solid white;
  opacity: 0.95;
  pointer-events: none;
  user-select: none;
  animation: badge-pop 0.7s cubic-bezier(.4,0,.2,1) both;
}

.artist-badge-celeb {
  background: linear-gradient(90deg, #fde047 60%, #f472b6 100%);
  color: #7c2d12;
  border-color: #fde047;
  box-shadow: 0 0 16px 2px #fde04799, 0 0 8px #f472b666;
}

.artist-badge-upcoming {
  background: linear-gradient(90deg, #a78bfa 60%, #fde047 100%);
  color: #312e81;
  border-color: #a78bfa;
  box-shadow: 0 0 12px 2px #a78bfa99, 0 0 8px #fde04766;
}

@keyframes badge-pop {
  0% { opacity: 0; transform: scale(0.7) rotate(-12deg); }
  60% { opacity: 1; transform: scale(1.1) rotate(3deg); }
  100% { opacity: 0.95; transform: scale(1) rotate(-2deg); }
}

/* Extra Glow for Celebs/Upcoming */
.celeb-glow {
  box-shadow: 0 0 32px 8px #fde04755, 0 0 16px 4px #f472b655, 0 0 0 0 #fff0 !important;
  border-color: #fde047 !important;
}

.upcoming-glow {
  box-shadow: 0 0 24px 6px #a78bfa55, 0 0 12px 2px #fde04755, 0 0 0 0 #fff0 !important;
  border-color: #a78bfa !important;
}

/* ===== CLEAN GLOW HOVER EFFECTS ===== */
.glow-hover {
  transition: all 0.3s ease;
}

.glow-hover:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 30px rgba(255,214,0,0.25), 0 0 20px rgba(255,110,196,0.15);
  border-color: rgba(255,214,0,0.6);
}

/* Artist Image Glow */
.artist-img-glow {
  box-shadow: 0 0 20px 4px rgba(255,110,196,0.3), 0 0 40px 8px rgba(255,214,0,0.2);
  transition: box-shadow 0.3s ease;
}

.glow-hover:hover .artist-img-glow {
  box-shadow: 0 0 30px 6px rgba(255,110,196,0.5), 0 0 60px 12px rgba(255,214,0,0.4);
}

/* ===== MISSION STATEMENT ANIMATIONS ===== */
@keyframes mission-glow {
  0%,100% { box-shadow: 0 0 32px 8px #fde04788, 0 0 0 #fff0; }
  50% { box-shadow: 0 0 64px 16px #fde047cc, 0 0 0 #fff0; }
}

.animate-mission-glow { 
  animation: mission-glow 3.5s ease-in-out infinite; 
}

@keyframes mission-fade {
  from { opacity: 0; transform: translateY(40px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.animate-mission-fade { 
  animation: mission-fade 1.2s cubic-bezier(.4,0,.2,1) both; 
}

@keyframes mission-text-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.animate-mission-text { 
  animation: mission-text-fade 1.8s 0.5s both; 
}

/* ===== CHRIS LIGHTLY MEMORIAL GRADIENT ===== */
.chris-lightly-gradient {
  background: linear-gradient(90deg, #ffd600, #ff6ec4, #6a82fb, #43e660, #ff5500, #ffd600);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: fast-gradient 3.2s ease-in-out infinite;
  font-weight: bold;
  letter-spacing: 0.02em;
}

@keyframes fast-gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ===== ENHANCED MOBILE OPTIMIZATIONS ===== */
@media (max-width: 768px) {
  .team-card {
    min-height: 400px;
    height: auto;
  }
  
  .bio-overlay {
    position: fixed;
    top: 8%;
    left: 5%;
    right: 5%;
    bottom: 8%;
    z-index: 1000;
    border-radius: 1rem;
    max-height: 84vh;
    padding: 3rem 1.5rem 1.5rem 1.5rem;
  }
  
  .team-card:hover {
    transform: none;
  }
  
  .team-card:hover .bio-overlay {
    opacity: 0;
    pointer-events: none;
  }

  /* Reduce animations on mobile for performance */
  .animate-pulse-slow,
  .animate-pulse-slow2,
  .animate-pulse-slow3,
  .animate-pulse-slow4 {
    animation-duration: 10s;
  }
  
  .glow-hover:hover {
    transform: translateY(-3px);
  }
  
  .artist-card {
    padding: 1.5rem;
  }
  
  .artist-img-glow {
    width: 6rem;
    height: 6rem;
  }
  
  .matte-container {
    padding: 2rem 1.5rem;
  }
  
  .logo-glow:hover {
    transform: scale(1.02);
  }
}

/* ===== PRINT STYLES ===== */
@media print {
  .splash-overlay,
  .starfield,
  .nebula {
    display: none !important;
  }
  
  .main-content {
    opacity: 1 !important;
  }
}

/* ===== FOOTER STYLES ===== */
@media (min-width: 1024px) {
  .footer-grid {
    display: grid;
    grid-template-columns: 2.5fr 1.2fr 1.2fr;
    gap: 3rem;
  }
}

@media (max-width: 1023px) {
  .footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

footer a { 
  transition: all 0.3s ease; 
}

footer a:hover { 
  transform: scale(1.03); 
}

/* ===== FIXED GRADIENT GLOW CSS ===== */
@keyframes glow-gradient-fixed {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes text-glow {
  0% { text-shadow: 0 0 16px #ffd60088, 0 0 24px #ff6ec488, 0 0 32px #6a82fb88; }
  100% { text-shadow: 0 0 32px #ffd600cc, 0 0 48px #ff6ec4cc, 0 0 64px #6a82fbcc; }
}

.glowing-gradient-text {
  background: linear-gradient(90deg, #ffd600, #ff6ec4, #6a82fb, #ffd600);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: glow-gradient-fixed 4s ease-in-out infinite;
  font-weight: bold;
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  text-shadow: 0 0 16px #ffd60088, 0 0 24px #ff6ec488, 0 0 32px #6a82fb88;
  transform: translateZ(0);
  will-change: background-position;
  backface-visibility: hidden;
}

/* Mobile optimizations for gradient text */
@media (max-width: 768px) {
  .glowing-gradient-text {
    font-size: 2.2rem;
    animation-duration: 5s;
    text-shadow: 0 0 8px #ffd60066, 0 0 16px #ff6ec466;
  }
}

@media (max-width: 480px) {
  .glowing-gradient-text {
    font-size: 1.8rem;
    animation-duration: 6s;
  }
}

/* ===== CONTAINER VISIBILITY FIXES ===== */
#teamContainer, #celebrities-cards, #upcoming-cards {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative;
  z-index: 1;
}

#teamContainer {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 2rem !important;
}

#celebrities-cards, #upcoming-cards {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 2rem !important;
}

/* ===== END OF STYLES ===== */