html { scroll-behavior: smooth; }

.header-gradient {
    background: linear-gradient(135deg, #0f1f4d 0%, #1e3a8a 100%);
}

/* ---------- Hero: animated graduation banner + tint ---------- */
/* Slider: crossfade + প্রতিটি active slide-এ slow zoom */
.hero-slide {
    position: absolute; inset: 0;
    background-color: #1e3a8a;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1);
    transition: opacity 1.4s ease;
    will-change: transform, opacity;
}
.hero-slide.active {
    opacity: 1;
    animation: kenburns 9s ease-out forwards;
}

.hero-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 20;
    width: 48px; height: 48px; border-radius: 9999px;
    background: rgba(255,255,255,.15); color: #fff;
    border: 1px solid rgba(255,255,255,.4);
    backdrop-filter: blur(4px);
    transition: background .3s, transform .3s;
}
.hero-arrow:hover { background: #f59e0b; transform: translateY(-50%) scale(1.1); }
.hero-dot {
    width: 12px; height: 12px; border-radius: 9999px;
    background: rgba(255,255,255,.5);
    transition: width .4s, background .4s;
}
.hero-dot.active { width: 36px; background: #fbbf24; }
@media (max-width: 767px) { .hero-arrow { display: none; } }

/* নীল + লাল tint, ধীরে ধীরে রং বদলায় */
.hero-tint {
    background: linear-gradient(120deg,
        rgba(15, 31, 77, 0.88) 0%,
        rgba(30, 58, 138, 0.80) 45%,
        rgba(153, 27, 27, 0.65) 100%);
    background-size: 200% 200%;
    animation: tintShift 12s ease-in-out infinite;
}

/* ভেসে বেড়ানো আলোর glow */
.hero-glow {
    background:
        radial-gradient(circle at 20% 30%, rgba(251, 191, 36, 0.28), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(220, 38, 38, 0.22), transparent 45%);
    animation: glowDrift 14s ease-in-out infinite alternate;
    mix-blend-mode: screen;
}

@keyframes kenburns {
    from { transform: scale(1) translate(0, 0); }
    to   { transform: scale(1.15) translate(-1.5%, -1.5%); }
}
@keyframes tintShift {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
@keyframes glowDrift {
    from { transform: translate(-3%, -2%) scale(1); }
    to   { transform: translate(3%, 2%) scale(1.1); }
}

/* ---------- Loading screen ---------- */
.loading-bar { width: 0; animation: loadBar 2s ease-in-out forwards; }
@keyframes loadBar { to { width: 100%; } }
#loading-screen { transition: opacity .6s ease, visibility .6s ease; }
#loading-screen.hide { opacity: 0; visibility: hidden; }

/* ---------- Shared animations ---------- */
.animate-float { animation: float 5s ease-in-out infinite; }
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-16px); }
}

.animate-blob { animation: blob 9s infinite; }
.animation-delay-2000 { animation-delay: 2s; }
.animation-delay-4000 { animation-delay: 4s; }
@keyframes blob {
    0%   { transform: translate(0, 0) scale(1); }
    33%  { transform: translate(30px, -50px) scale(1.1); }
    66%  { transform: translate(-20px, 20px) scale(.9); }
    100% { transform: translate(0, 0) scale(1); }
}

.animate-slide-down { animation: slideDown .3s ease-out; }
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.animate-scale-in { animation: scaleIn .3s ease-out; }
@keyframes scaleIn {
    from { opacity: 0; transform: scale(.85); }
    to   { opacity: 1; transform: scale(1); }
}

/* ---------- Small details ---------- */
.nav-link { position: relative; }
.nav-link::after {
    content: ""; position: absolute; left: 0; bottom: -4px;
    width: 0; height: 2px; background: #fbbf24; transition: width .3s;
}
.nav-link:hover::after { width: 100%; }

.feature-icon { transition: transform .3s; }
.feature-card:hover .feature-icon { transform: scale(1.12) rotate(-4deg); }

.course-option:has(input:checked) {
    border-color: #1e3a8a;
    background: #eff6ff;
}

.whatsapp-btn { animation: waPulse 2.2s infinite; }
@keyframes waPulse {
    0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); }
    70%  { box-shadow: 0 0 0 18px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide.active, .hero-tint, .hero-glow, .animate-float, .animate-blob, .whatsapp-btn { animation: none; }
}
