/* =====================================================
   BRNEURAL — animations.css
   Keyframes, transitions, interactive effects
   ===================================================== */

/* ===== PULSE DOT (hero badge) ===== */
@keyframes pulse-dot {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.5;
		transform: scale(0.8);
	}
}

/* ===== SCROLL LINE (hero scroll hint) ===== */
@keyframes scroll-fade {
	0% {
		opacity: 0;
		transform: scaleY(0);
		transform-origin: top;
	}
	40% {
		opacity: 1;
		transform: scaleY(1);
		transform-origin: top;
	}
	80% {
		opacity: 0;
		transform: scaleY(1);
		transform-origin: bottom;
	}
	100% {
		opacity: 0;
	}
}

/* ===== HERO ROTATING TEXT ===== */
@keyframes text-fade-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes text-fade-out {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-8px);
	}
}

.hero-rotating-text.fading-out {
	animation: text-fade-out 0.35s ease forwards;
}

.hero-rotating-text.fading-in {
	animation: text-fade-in 0.35s ease forwards;
}

/* ===== GLOW PULSE (ambient) ===== */
@keyframes glow-pulse {
	0%, 100% {
		opacity: 0.6;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.05);
	}
}

/* ===== FLOAT (decorative elements) ===== */
@keyframes float {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
}

.detail-icon-large {
	animation: float 4s ease-in-out infinite;
}

/* ===== GRADIENT BORDER SHIMMER ===== */
@keyframes border-shimmer {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/* ===== STEP NUMBER GLOW ON HOVER ===== */
.process-step:hover .step-number {
	animation: step-glow 1s ease-in-out infinite;
}

@keyframes step-glow {
	0%, 100% {
		box-shadow: 0 0 20px rgba(124, 77, 255, 0.2);
	}
	50% {
		box-shadow: 0 0 40px rgba(124, 77, 255, 0.5);
	}
}

/* ===== HERO CONTENT ENTRY ===== */
@keyframes hero-slide-up {
	from {
		opacity: 0;
		transform: translateY(32px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-badge {
	animation: hero-slide-up 0.6s ease 0.1s both;
}

.hero-headline {
	animation: hero-slide-up 0.6s ease 0.2s both;
}

.hero-rotating-wrapper {
	animation: hero-slide-up 0.6s ease 0.3s both;
}

.hero-subtext {
	animation: hero-slide-up 0.6s ease 0.4s both;
}

.hero-ctas {
	animation: hero-slide-up 0.6s ease 0.5s both;
}

/* ===== IMPACT BULLETS SLIDE IN ===== */
.impact-bullet {
	transition: all 0.3s ease;
}

.impact-bullet:nth-child(1) { transition-delay: 0.05s; }
.impact-bullet:nth-child(2) { transition-delay: 0.1s; }
.impact-bullet:nth-child(3) { transition-delay: 0.15s; }
.impact-bullet:nth-child(4) { transition-delay: 0.2s; }
.impact-bullet:nth-child(5) { transition-delay: 0.25s; }
.impact-bullet:nth-child(6) { transition-delay: 0.3s; }

/* ===== CARD SHIMMER ON LOAD ===== */
@keyframes card-shimmer {
	0% {
		background-position: -200% 0;
	}
	100% {
		background-position: 200% 0;
	}
}

/* ===== VIDEO FADE IN ===== */
.hero-video {
	animation: video-fade 1.5s ease forwards;
}

@keyframes video-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 0.45;
	}
}

/* ===== LANGUAGE SWITCHER TRANSITION ===== */
body {
	transition: none;
}

[data-en] {
	transition: opacity 0.2s ease;
}
