/* =========================================================
   GLOBAL ATMOSPHERE ANIMATIONS
========================================================= */

.flash-news-track {
  animation: marqueeMove 34s linear infinite;
}

@keyframes marqueeMove {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.orb-1 {
  animation: orbFloatOne 12s ease-in-out infinite;
}

.orb-2 {
  animation: orbFloatTwo 16s ease-in-out infinite;
}

.orb-3 {
  animation: orbFloatThree 14s ease-in-out infinite;
}

@keyframes orbFloatOne {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(24px, 10px) scale(1.04); }
  50% { transform: translate(10px, 24px) scale(1.08); }
  75% { transform: translate(-10px, 14px) scale(1.03); }
}

@keyframes orbFloatTwo {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(-20px, 18px) scale(1.06); }
  50% { transform: translate(-6px, 28px) scale(1.1); }
  75% { transform: translate(8px, 14px) scale(1.04); }
}

@keyframes orbFloatThree {
  0%, 100% { transform: translate(0, 0) scale(1); }
  30% { transform: translate(20px, -12px) scale(1.05); }
  60% { transform: translate(-16px, 18px) scale(1.09); }
  80% { transform: translate(10px, 12px) scale(1.03); }
}

.bg-electric-lines {
  animation: electricBackgroundShift 16s linear infinite;
}

@keyframes electricBackgroundShift {
  0% { background-position: 0 0, 0 0; }
  100% { background-position: 280px 0, 0 280px; }
}

/* =========================================================
   ENTRY / REVEAL
========================================================= */

.top-bar,
.flash-news-bar,
.college-header,
.association-strip,
.hero-pamphlet-section,
.hero-highlights-section,
.leadership-section,
.committee-table-section,
.sponsors-section,
.guidelines-section,
.registration-section,
.main-footer {
  animation: sectionFadeUp 0.9s ease both;
}

@keyframes sectionFadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.reveal-card {
  opacity: 0;
  transform: translateY(30px) scale(0.985);
}

.reveal-card.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease,
    filter 0.9s ease;
}

/* =========================================================
   GLASS / NEON / TEXT SHIMMER
========================================================= */

.glass-shine {
  animation: glassSweep 6.5s linear infinite;
}

@keyframes glassSweep {
  0% {
    transform: translateX(-18%);
    opacity: 0.45;
  }
  50% {
    transform: translateX(8%);
    opacity: 0.8;
  }
  100% {
    transform: translateX(18%);
    opacity: 0.45;
  }
}

.neon-card::after {
  animation: neonPulse 2.8s ease-in-out infinite;
}

@keyframes neonPulse {
  0%, 100% {
    opacity: 0.75;
    box-shadow:
      0 0 18px rgba(72,219,251,0.08),
      0 0 28px rgba(139,92,246,0.06),
      inset 0 0 18px rgba(255,255,255,0.02);
  }
  50% {
    opacity: 1;
    box-shadow:
      0 0 26px rgba(72,219,251,0.15),
      0 0 42px rgba(139,92,246,0.1),
      0 0 55px rgba(255,79,216,0.05),
      inset 0 0 22px rgba(255,255,255,0.03);
  }
}

.hero-main-title,
.section-title h3,
.college-header-text h1,
.association-cell h4,
.hero-prize-title,
.registration-form-card h3 {
  animation: textShimmerMove 5.2s linear infinite;
}

@keyframes textShimmerMove {
  0% { background-position: 0% center; }
  100% { background-position: 220% center; }
}

.title-glow-line {
  animation: titleLineGlow 3.2s ease-in-out infinite;
}

@keyframes titleLineGlow {
  0%, 100% {
    box-shadow:
      0 0 16px rgba(72,219,251,0.22),
      0 0 24px rgba(139,92,246,0.08);
  }
  50% {
    box-shadow:
      0 0 26px rgba(72,219,251,0.34),
      0 0 36px rgba(139,92,246,0.16),
      0 0 48px rgba(255,145,77,0.08);
  }
}

/* =========================================================
   HEADER LOGOS / TOP ELEMENTS
========================================================= */

.logo-float {
  animation: logoFloat 4.4s ease-in-out infinite;
}

@keyframes logoFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-9px); }
}

.top-badge {
  animation: badgeBreath 2.8s ease-in-out infinite;
}

@keyframes badgeBreath {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 10px 24px rgba(79,124,255,0.25);
  }
  50% {
    transform: scale(1.04);
    box-shadow:
      0 14px 30px rgba(79,124,255,0.35),
      0 0 26px rgba(72,219,251,0.12);
  }
}

/* =========================================================
   ASSOCIATION CELLS
========================================================= */

.circuit-left-top,
.circuit-left-bottom {
  animation: techLineFlow 2.6s linear infinite;
}

.circuit-right-top,
.circuit-right-bottom {
  animation: partnerLineFlow 2.9s linear infinite;
}

@keyframes techLineFlow {
  0% {
    transform: translateX(-12px);
    opacity: 0.35;
  }
  50% {
    transform: translateX(10px);
    opacity: 1;
  }
  100% {
    transform: translateX(-12px);
    opacity: 0.35;
  }
}

@keyframes partnerLineFlow {
  0% {
    transform: translateX(10px);
    opacity: 0.35;
  }
  50% {
    transform: translateX(-10px);
    opacity: 1;
  }
  100% {
    transform: translateX(10px);
    opacity: 0.35;
  }
}

.electric-dot-1 {
  animation: electricDotA 2.2s ease-in-out infinite;
}

.electric-dot-2 {
  animation: electricDotB 2.5s ease-in-out infinite;
}

@keyframes electricDotA {
  0%, 100% {
    transform: scale(1) translateY(0);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.35) translateY(-4px);
    opacity: 1;
  }
}

@keyframes electricDotB {
  0%, 100% {
    transform: scale(1) translateX(0);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.3) translateX(4px);
    opacity: 1;
  }
}

.orb-c {
  animation: warmOrbFloat 6s ease-in-out infinite;
}

.orb-d {
  animation: warmOrbFloatAlt 7.5s ease-in-out infinite;
}

@keyframes warmOrbFloat {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.45;
  }
  50% {
    transform: translate(-8px, 10px) scale(1.18);
    opacity: 0.75;
  }
}

@keyframes warmOrbFloatAlt {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.35;
  }
  50% {
    transform: translate(10px, -8px) scale(1.14);
    opacity: 0.65;
  }
}

.technewill-theme-card {
  animation: techPanelBreath 5.4s ease-in-out infinite;
}

@keyframes techPanelBreath {
  0%, 100% {
    box-shadow:
      0 0 36px rgba(72,219,251,0.16),
      0 0 70px rgba(79,124,255,0.08),
      inset 0 0 28px rgba(72,219,251,0.08);
  }
  50% {
    box-shadow:
      0 0 46px rgba(72,219,251,0.22),
      0 0 90px rgba(79,124,255,0.14),
      0 0 120px rgba(72,219,251,0.05),
      inset 0 0 34px rgba(72,219,251,0.12);
  }
}

.company-cell {
  animation: partnerPanelBreath 5.8s ease-in-out infinite;
}

@keyframes partnerPanelBreath {
  0%, 100% {
    box-shadow:
      0 0 34px rgba(255,145,77,0.12),
      inset 0 0 26px rgba(255,145,77,0.05);
  }
  50% {
    box-shadow:
      0 0 46px rgba(255,145,77,0.2),
      0 0 70px rgba(255,79,216,0.06),
      inset 0 0 34px rgba(255,145,77,0.08);
  }
}

.technewill-main-text {
  animation: techTextFlicker 3.8s ease-in-out infinite;
}

@keyframes techTextFlicker {
  0%, 100% {
    text-shadow:
      0 0 10px rgba(72,219,251,0.35),
      0 0 26px rgba(79,124,255,0.18);
  }
  20% {
    text-shadow:
      0 0 14px rgba(72,219,251,0.5),
      0 0 30px rgba(79,124,255,0.24);
  }
  22% {
    text-shadow:
      0 0 8px rgba(72,219,251,0.2),
      0 0 18px rgba(79,124,255,0.14);
  }
  50% {
    text-shadow:
      0 0 15px rgba(72,219,251,0.48),
      0 0 36px rgba(79,124,255,0.24);
  }
}

/* =========================================================
   HERO LEFT SIDE
========================================================= */

.hero-electric-line-1 {
  animation: heroElectricRunLeft 4s linear infinite;
}

.hero-electric-line-2 {
  animation: heroElectricRunRight 4.6s linear infinite;
}

@keyframes heroElectricRunLeft {
  0% {
    transform: translateX(-120%);
    opacity: 0.25;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(220%);
    opacity: 0.25;
  }
}

@keyframes heroElectricRunRight {
  0% {
    transform: translateX(120%);
    opacity: 0.25;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(-220%);
    opacity: 0.25;
  }
}

.hero-core-card {
  animation: heroCardDepthShift 7s ease-in-out infinite;
}

@keyframes heroCardDepthShift {
  0%, 100% {
    transform: translateY(0) rotateX(0deg);
  }
  50% {
    transform: translateY(-3px) rotateX(1deg);
  }
}

.hero-prize-box {
  animation: prizeGlassPulse 4.4s ease-in-out infinite;
}

@keyframes prizeGlassPulse {
  0%, 100% {
    box-shadow:
      0 0 20px rgba(72,219,251,0.06),
      0 0 30px rgba(139,92,246,0.05);
  }
  50% {
    box-shadow:
      0 0 34px rgba(72,219,251,0.12),
      0 0 48px rgba(139,92,246,0.09),
      0 0 66px rgba(255,79,216,0.04);
  }
}

.hero-feature-chip {
  animation: chipFloat 5.5s ease-in-out infinite;
}

.hero-feature-chip:nth-child(2) {
  animation-delay: 0.5s;
}
.hero-feature-chip:nth-child(3) {
  animation-delay: 1s;
}
.hero-feature-chip:nth-child(4) {
  animation-delay: 1.5s;
}

@keyframes chipFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* =========================================================
   POSTER CELL - NEXT LEVEL MOTION
========================================================= */

.pamphlet-poster-card::after {
  animation: posterAuraRotate 12s linear infinite;
}

@keyframes posterAuraRotate {
  0% {
    transform: rotate(0deg) scale(1);
    opacity: 0.8;
  }
  50% {
    transform: rotate(180deg) scale(1.03);
    opacity: 1;
  }
  100% {
    transform: rotate(360deg) scale(1);
    opacity: 0.8;
  }
}

.poster-glow-ring {
  animation: ringPulsePrimary 3.8s ease-in-out infinite;
}

.second-ring {
  animation: ringPulseSecondary 4.4s ease-in-out infinite;
}

@keyframes ringPulsePrimary {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.4;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.07);
    opacity: 0.82;
  }
}

@keyframes ringPulseSecondary {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.35;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.12);
    opacity: 0.7;
  }
}

.pamphlet-poster-card {
  animation: posterCardBreath 5.5s ease-in-out infinite;
}

@keyframes posterCardBreath {
  0%, 100% {
    box-shadow:
      0 0 50px rgba(72,219,251,0.14),
      0 0 90px rgba(139,92,246,0.08),
      inset 0 0 30px rgba(72,219,251,0.08);
  }
  50% {
    box-shadow:
      0 0 70px rgba(72,219,251,0.2),
      0 0 120px rgba(139,92,246,0.12),
      0 0 160px rgba(255,79,216,0.05),
      inset 0 0 42px rgba(72,219,251,0.12);
  }
}

.premium-poster {
  animation: posterFloat 6.4s ease-in-out infinite;
}

@keyframes posterFloat {
  0%, 100% {
    transform: translateY(0px) rotateZ(0deg) scale(1);
  }
  25% {
    transform: translateY(-6px) rotateZ(0.4deg) scale(1.01);
  }
  50% {
    transform: translateY(-10px) rotateZ(0deg) scale(1.015);
  }
  75% {
    transform: translateY(-5px) rotateZ(-0.4deg) scale(1.01);
  }
}

/* =========================================================
   HIGHLIGHTS - DIFFERENT MOTION WALK
========================================================= */

.quick-highlight-card:nth-child(1) {
  animation: walkCardOne 5.4s ease-in-out infinite;
}

.quick-highlight-card:nth-child(2) {
  animation: walkCardTwo 5.8s ease-in-out infinite;
}

.quick-highlight-card:nth-child(3) {
  animation: walkCardThree 6.2s ease-in-out infinite;
}

.quick-highlight-card:nth-child(4) {
  animation: walkCardFour 6.6s ease-in-out infinite;
}

@keyframes walkCardOne {
  0%, 100% { transform: translateY(0) rotateX(0deg); }
  50% { transform: translateY(-7px) rotateX(1.5deg); }
}

@keyframes walkCardTwo {
  0%, 100% { transform: translateY(0) rotateY(0deg); }
  50% { transform: translateY(-8px) rotateY(1.2deg); }
}

@keyframes walkCardThree {
  0%, 100% { transform: translateY(0) rotateX(0deg); }
  50% { transform: translateY(-6px) rotateX(-1.2deg); }
}

@keyframes walkCardFour {
  0%, 100% { transform: translateY(0) rotateY(0deg); }
  50% { transform: translateY(-9px) rotateY(-1.4deg); }
}

/* =========================================================
   LEADERSHIP CARDS
========================================================= */

.leader-card:nth-child(1) {
  animation: leaderPulseCyan 5s ease-in-out infinite;
}

.leader-card:nth-child(2) {
  animation: leaderPulsePurple 5.6s ease-in-out infinite;
}

.leader-card:nth-child(3) {
  animation: leaderPulsePink 5.8s ease-in-out infinite;
}

.leader-card:nth-child(4) {
  animation: leaderPulseOrange 6.2s ease-in-out infinite;
}

@keyframes leaderPulseCyan {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(72,219,251,0.08), 0 0 28px rgba(72,219,251,0.06); }
  50% { box-shadow: inset 0 0 0 1px rgba(72,219,251,0.16), 0 0 44px rgba(72,219,251,0.12); }
}

@keyframes leaderPulsePurple {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(139,92,246,0.08), 0 0 28px rgba(139,92,246,0.06); }
  50% { box-shadow: inset 0 0 0 1px rgba(139,92,246,0.16), 0 0 44px rgba(139,92,246,0.12); }
}

@keyframes leaderPulsePink {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,79,216,0.06), 0 0 28px rgba(255,79,216,0.05); }
  50% { box-shadow: inset 0 0 0 1px rgba(255,79,216,0.14), 0 0 42px rgba(255,79,216,0.09); }
}

@keyframes leaderPulseOrange {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,145,77,0.08), 0 0 28px rgba(255,145,77,0.06); }
  50% { box-shadow: inset 0 0 0 1px rgba(255,145,77,0.16), 0 0 42px rgba(255,145,77,0.1); }
}

/* =========================================================
   TABLES
========================================================= */

.table-row-fade {
  animation: rowFadeIn 0.8s ease both;
}

@keyframes rowFadeIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.committee-table tbody tr {
  animation: tableRowBreath 6s ease-in-out infinite;
}

.committee-table tbody tr:nth-child(even) {
  animation-delay: 0.4s;
}

@keyframes tableRowBreath {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(2px);
  }
}

/* =========================================================
   SPONSORS
========================================================= */

.sponsor-card:nth-child(1) {
  animation: sponsorFloatOne 5s ease-in-out infinite;
}

.sponsor-card:nth-child(2) {
  animation: sponsorFloatTwo 5.8s ease-in-out infinite;
}

.sponsor-card:nth-child(3) {
  animation: sponsorFloatThree 6.2s ease-in-out infinite;
}

.sponsor-card:nth-child(4) {
  animation: sponsorFloatFour 6.8s ease-in-out infinite;
}

@keyframes sponsorFloatOne {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@keyframes sponsorFloatTwo {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

@keyframes sponsorFloatThree {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes sponsorFloatFour {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* =========================================================
   GUIDELINES
========================================================= */

.guideline-card:nth-child(1) {
  animation: guidelineGlowOne 5.2s ease-in-out infinite;
}

.guideline-card:nth-child(2) {
  animation: guidelineGlowTwo 5.8s ease-in-out infinite;
}

.guideline-card:nth-child(3) {
  animation: guidelineGlowThree 6.4s ease-in-out infinite;
}

@keyframes guidelineGlowOne {
  0%, 100% { box-shadow: 0 0 22px rgba(72,219,251,0.05); }
  50% { box-shadow: 0 0 38px rgba(72,219,251,0.1); }
}

@keyframes guidelineGlowTwo {
  0%, 100% { box-shadow: 0 0 22px rgba(139,92,246,0.05); }
  50% { box-shadow: 0 0 38px rgba(139,92,246,0.1); }
}

@keyframes guidelineGlowThree {
  0%, 100% { box-shadow: 0 0 22px rgba(255,145,77,0.05); }
  50% { box-shadow: 0 0 38px rgba(255,145,77,0.1); }
}

/* =========================================================
   CTA / BUTTONS / FLOATING ACTION
========================================================= */

.registration-form-card {
  animation: ctaPulseBox 5.6s ease-in-out infinite;
}

@keyframes ctaPulseBox {
  0%, 100% {
    box-shadow:
      0 20px 50px rgba(0,0,0,0.35),
      0 0 20px rgba(72,219,251,0.06);
  }
  50% {
    box-shadow:
      0 28px 70px rgba(0,0,0,0.42),
      0 0 34px rgba(72,219,251,0.12),
      0 0 48px rgba(139,92,246,0.08);
  }
}

.registration-energy-line {
  animation: energyLineShift 2.8s ease-in-out infinite;
}

@keyframes energyLineShift {
  0%, 100% {
    transform: scaleX(1);
    opacity: 0.8;
  }
  50% {
    transform: scaleX(1.14);
    opacity: 1;
  }
}

.pulse-btn {
  animation: buttonPulse 2.2s ease-in-out infinite;
}

@keyframes buttonPulse {
  0%, 100% {
    box-shadow:
      0 0 0 0 rgba(72,219,251,0.22),
      0 18px 30px rgba(79,124,255,0.22);
  }
  50% {
    box-shadow:
      0 0 0 14px rgba(72,219,251,0),
      0 22px 36px rgba(79,124,255,0.3);
  }
}

.floating-register-btn {
  animation: floatingButtonBob 3.2s ease-in-out infinite;
}

@keyframes floatingButtonBob {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-7px) scale(1.02);
  }
}

/* =========================================================
   RESPONSIVE TONE DOWN
========================================================= */

@media (max-width: 768px) {
  .quick-highlight-card,
  .leader-card,
  .sponsor-card,
  .guideline-card,
  .hero-feature-chip,
  .premium-poster,
  .pamphlet-poster-card,
  .technewill-theme-card,
  .company-cell {
    animation-duration: 7s;
  }
}