body {
    background-image: url(img/bg.png);
    background-size: cover;
    background-position: top right;
    background-repeat: no-repeat;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.92) translateY(12px);
    }
    100% {
        opacity: 0.95;
        transform: scale(1) translateY(0);
    }
}

.animate-logo-load {
    animation: fadeInScale 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

#hero-text {
    flex: 1;
    padding-top: 180px;
    width: 768px;
}

#hero-text > h1 {
    font-family: "Raleway", sans-serif;
    font-weight: 700;
}

#hero-text > p {
    font-family: "Raleway", sans-serif;
    font-weight: 100;
    width: 500px;
    padding-top: 40px;
    font-style: italic;
}

#hero-section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    height: 410px;
    overflow: hidden;
}

#hero-image {
    flex: 1;
    display: flex;
    justify-content: center;
    height: 60%;
    width: 60%;
    margin-top: 168px;
    perspective: 1000px;
}

#hero-image img {
    max-width: 100%;
    height: auto;
}

/* --- VIBRANT ROTATING RADIAL LIGHT EFFECT ON CARDS --- */
.pipeline-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 1.5px;
    background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(168,85,247,0) 50%, rgba(255,255,255,0.02) 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    transition: all 0.5s ease;
}

.pipeline-card:hover::before {
    background: linear-gradient(135deg, rgba(147, 0, 105) 0%, rgba(168,85,247,0.05) 40%, rgba(255,255,255,0.1) 100%);
    box-shadow: inset 0 0 20px rgba(168, 85, 247, 0.15);
}


/* ==========================================================================
   FIXED MOBILE RESPONSIVE OVERRIDE LAYER (Logo Top, Headline Bottom)
   ========================================================================== */

@media (max-width: 1024px) {
    /* Set to standard column layout so lower order numbers sit on top */
    #hero-section {
        display: flex !important;
        flex-direction: column !important; 
        height: auto !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible !important;
        text-align: center !important;
        gap: 1.5rem !important;
    }

    /* Force Logo to the absolute top */
    #hero-image {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 140px !important; /* Elegant, compact logo size */
        margin-top: 10px !important;  
        height: auto !important;
        order: 1 !important;          /* 1 comes first = top position */
    }

    /* Force Headline Text directly beneath the logo */
    #hero-text {
        width: 100% !important;
        max-width: 100% !important;
        padding-top: 0px !important;  /* Strip desktop spacing completely */
        order: 2 !important;          /* 2 comes second = below logo */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Keep the text nicely centered */
    #hero-text > h1 {
        text-align: center !important;
        margin: 0 auto !important;
        font-size: 2.25rem !important; 
    }

    /* Fix the fixed 500px paragraph box constraint */
    #hero-text > p {
        width: 100% !important;
        max-width: 440px !important;   
        margin: 0 auto !important;
        padding-top: 15px !important;
        text-align: center !important;
    }

    /* Ensure early access form deck is nicely spaced below everything */
    main > div.w-full.max-w-md.mt-6 {
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 2rem !important;
    }
}

/* Smart scaling for tiny smartphone screens */
@media (max-width: 640px) {
    #hero-text > h1 {
        font-size: 1.85rem !important;
        line-height: 1.25 !important;
    }
}