/* ==========================================================================
   CS Network - Cinematic Logo Intro Overlay Styles
   GPU-accelerated, responsive, 60fps GSAP Build & Staggered Hero Entrance
   ========================================================================== */

:root {
  --intro-bg-start: #0B1E36;
  --intro-bg-mid:   #061122;
  --intro-bg-end:   #03070E;
  --intro-glow-cyan: rgba(6, 182, 212, 0.65);
  --intro-glow-teal: rgba(14, 116, 144, 0.45);
}

/* Fullscreen fixed overlay container (z-index highest) */
#csn-intro-overlay,
.csn-intro-fixed-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: radial-gradient(circle at center, var(--intro-bg-start) 0%, var(--intro-bg-mid) 50%, var(--intro-bg-end) 100%);
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}

/* Vignette overlay */
.csn-intro-fixed-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 35%, rgba(0, 0, 0, 0.75) 100%);
  pointer-events: none;
}

/* Inner transformable layer for zoom & fade transitions */
.csn-intro-inner-layer {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  will-change: transform, opacity;
}

/* Canvas for faint floating light particles / star dust */
#csn-intro-particles,
.csn-intro-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.75;
}

/* Logo wrapper: responsive (logo width about 70vw on mobile, max 420px on desktop) */
.csn-intro-logo-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(70vw, 420px);
  max-width: 90%;
  opacity: 1;
}

/* SVG Logo Styles */
.csn-intro-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 0 15px rgba(6, 182, 212, 0.45));
  will-change: filter;
}

/* Soft ambient teal/cyan backlight pulse */
.csn-intro-backlight {
  position: absolute;
  width: 120%;
  height: 120%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--intro-glow-cyan) 0%, var(--intro-glow-teal) 45%, transparent 70%);
  filter: blur(40px);
  opacity: 0;
  transform: scale(0.6);
  pointer-events: none;
  will-change: opacity, transform;
  z-index: 1;
}

/* Skip button (bottom right) */
.csn-intro-skip-btn {
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 10;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
  padding: 0.45rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: all 0.2s ease;
  outline: none;
}

.csn-intro-skip-btn:hover,
.csn-intro-skip-btn:focus-visible {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(34, 211, 238, 0.6);
  color: #FFFFFF;
  transform: translateY(-1px);
}

/* ==========================================================================
   Hero Staggered Entrance Animation (after intro finishes)
   Heading, subtitle, date pill, countdown, chips, arrow (0.15s apart)
   ========================================================================== */

.hero-stagger-item {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* When intro finishes, body gets .intro-complete */
body.intro-complete .hero-stagger-item {
  opacity: 1;
  transform: translateY(0);
}

body.intro-complete .hero-stagger-1 { transition-delay: 0.05s; } /* Heading */
body.intro-complete .hero-stagger-2 { transition-delay: 0.20s; } /* Subtitle */
body.intro-complete .hero-stagger-3 { transition-delay: 0.35s; } /* Date Pill */
body.intro-complete .hero-stagger-4 { transition-delay: 0.50s; } /* Local Time */
body.intro-complete .hero-stagger-5 { transition-delay: 0.65s; } /* Countdown */
body.intro-complete .hero-stagger-6 { transition-delay: 0.80s; } /* Trust Badges */
body.intro-complete .hero-stagger-7 { transition-delay: 0.95s; } /* Register arrow */

/* If user prefers reduced motion, disable all delays and transitions */
@media (prefers-reduced-motion: reduce) {
  #csn-intro-overlay,
  .csn-intro-fixed-overlay {
    display: none !important;
  }
  .hero-stagger-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


