.body {
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden;
    margin: 0;
}

/* ================= HERO ================= */
.hero-slide {
    position: relative;
    min-height: 100vh;
    color: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Background */
.parallax-bg {
    position: absolute;
    inset: 0;
    background: url("uploads/include/main.jpeg") center/cover no-repeat;
    z-index: 1;
    transition: transform .2s ease-out;
    animation: zoomInOut 20s ease-in-out infinite alternate;
}

/* Overlay */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0,43,92,.65), rgba(0,43,92,.75));
    z-index: 2;
}

/* Content */
.hero-content {
    position: relative;
    z-index: 3;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

/* Glass panel UI */
.glass {
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    font-size:16px;
}
.glass:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}

/* Logo card */
.logo-card {
    border-radius: 16px;
    padding: 1rem;
    animation: logoIn .9s ease forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.logo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}
.logo-card img {
    max-height: 100px;
    width: auto;
}

/* Counters */
.counter-number {
    font-size: 2.2rem;
    font-weight: 900;
    color: #fff;
}
.counter small {
    color: #fff;
    font-weight:700;
}

/* Carousel images */
.carousel-image {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    animation: zoomInOut 20s ease-in-out infinite alternate;
}

/* ================= STYLISH CAROUSEL CAPTION ================= */
.carousel-caption {
    bottom: 3%;
    text-align: left;
    color: #fff;
    background: rgba(0, 43, 92, 0.35);
    backdrop-filter: blur(8px);
    padding: 1rem 1.5em;
    border-radius: 20px;
    width:600px;
    max-width: 95%;
    left: 50%;
    transform: translateX(-50%);
    animation: captionZoomFade 1.5s ease forwards;
    text-transform: uppercase;
}

.carousel-caption h5 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 0.3rem;
    text-shadow: 1px 1px 8px rgba(0,0,0,0.5);
    text-transform: uppercase;
}

.carousel-caption p {
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
    text-shadow: 1px 1px 6px rgba(0,0,0,0.4);
    text-transform: uppercase;
}

/* ================= ANIMATIONS ================= */
@keyframes fadeUp {
    from { opacity:0; transform:translateY(30px); }
    to { opacity:1; transform:translateY(0); }
}
.fade-up { animation: fadeUp 1s ease forwards; }
.delay-1 { animation-delay: .2s; }
.delay-2 { animation-delay: .4s; }
.delay-3 { animation-delay: .6s; }

@keyframes logoIn {
    from { opacity:0; transform:translateY(20px) scale(.9); }
    to { opacity:1; transform:none; }
}

/* Zoom/fade animation for captions */
@keyframes captionZoomFade {
    0% { opacity:0; transform:translateY(20px) scale(0.95); }
    100% { opacity:1; transform:translateY(0) scale(1); }
}

/* Zoom in/out animation for background and images */
@keyframes zoomInOut {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* ================= MOBILE FIXES ================= */
@media (max-width: 767px) {

    /* Hero slide full height */
    .hero-slide {
        min-height: 150vh !important;
    }

    /* Disable zoom/parallax animation for mobile */
    .hero-slide .parallax-bg,
    .hero-slide .carousel-image {
        height: 100vh;
        object-fit: cover;
        animation: none !important;
        transition: none !important;
    }

    /* Stack DB slides vertically and static */
    #mainCarousel .carousel-inner {
        display: block;
    }
    #mainCarousel .carousel-item {
        position: relative !important;
        display: block !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        margin-bottom: 2rem;
    }

    /* Hide carousel controls */
    #mainCarousel .carousel-control-prev,
    #mainCarousel .carousel-control-next { 
        display: none; 
    }

    /* Caption adjustments */
    .carousel-caption {
        bottom: 3%;
        max-width: 95%;
        padding: 1.5rem;
        left: 50%;
        transform: translateX(-50%);
    }

    .carousel-caption h5 { font-size: 1.2rem; }
    .carousel-caption p { font-size: 1rem; }

    /* Logo & counter tweaks */
    .logo-card, .glass { padding: 0.8rem; font-size: 0.9rem; }

    /* Disable parallax movement */
    .parallax-bg { transform: none !important; }
}
