/* public/css/style.css */

/* Force dark everywhere */
:root {
    color-scheme: dark;
}

html,
body {
    background: #0B1220;
}

/* Smooth fonts */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Utility animations (Tailwind-compatible names used in markup) */
@keyframes bgpan {
    0% {
        background-position: 0% 0%
    }

    100% {
        background-position: 100% 100%
    }
}

.animate-bgpan {
    animation: bgpan 24s linear infinite alternate;
}

/* Make the spinning hero graphic smooth on GPU */
#hero-graphic {
    will-change: transform;
}






/* nava bar  */
/* Safe-area padding for top bars in mobile */
/* Safe-area padding for top bars (iPhone notch ইত্যাদি) */
/* Mobile scroll lock (html এ লাগবে) */
/* Scroll lock utility (html এ লাগবে) */
html.o-hidden,
html.o-hidden body {
    overflow: hidden !important;
    height: 100%;
}

/* Drawer scroll bleed fix */
.overscroll-contain {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}





/* hero section */
/* spin slow */
@keyframes spin-slow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.animate-spin-slow {
    animation: spin-slow 40s linear infinite;
}

/* ping slow */
@keyframes ping-slow {
    0% {
        transform: scale(1);
        opacity: .6;
    }

    80%,
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

.animate-ping-slow {
    animation: ping-slow 6s cubic-bezier(0, 0, .2, 1) infinite;
}






/* social proof section */
/* smooth marquee (mobile) */
/* float up-down animation */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}



@keyframes marquee {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
    }
}

.animate-marquee {
    display: inline-flex;
    min-width: 200%;
    animation: marquee 18s linear infinite;
}


/* features grid section */
/* optional subtle float on hover */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

.group:hover {
    animation: float 3s ease-in-out infinite;
}



/* performance section */
/* subtle pulse for glowing blobs */
.animate-pulse {
    animation: pulse 4s ease-in-out infinite;
}