@font-face {
    font-family: "Aquire";
    font-style: normal;
    font-weight: 400;
    src: url("fonts/Aquire-BW0ox.otf") format("opentype");
}

@font-face {
    font-family: "Aquire";
    font-style: normal;
    font-weight: 700;
    src: url("fonts/AquireBold-8Ma60.otf") format("opentype");
}

@font-face {
    font-family: "Aquire";
    font-style: normal;
    font-weight: 300;
    src: url("fonts/AquireLight-YzE0o.otf") format("opentype");
}

/* Base structural styling */
body {
    background-color: #0B1221;
    color: white;
    border: 2px solid #E91E63;
    min-height: 100vh;
    margin: 0;
    padding: 2px;
}

/* Custom scrollbar to match the theme */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0B1221;
}

::-webkit-scrollbar-thumb {
    background: #E91E63;
}

/* Scroll Animation Classes */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Floating animation for the hero button */
.float-anim {
    animation: float 4s ease-in-out infinite;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

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

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