/* TrustGenic Light Executive Theme — Screenshot Matched Styling */

@layer utilities {
    .bg-hero-blue {
        background: linear-gradient(135deg, #0a448a 0%, #1059b0 50%, #176BCE 100%);
    }

    .bg-theme-cream {
        background-color: #f7f6f2;
    }

    .theme-card {
        background: #ffffff;
        border: 1px solid rgba(226, 232, 240, 0.9);
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
        border-radius: 1rem;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .theme-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
        border-color: rgba(16, 89, 176, 0.3);
    }

    .gold-gradient-text {
        color: #ffffff;
    }

    /* Infinite Marquee Scroll */
    .marquee-container {
        display: flex;
        overflow: hidden;
        user-select: none;
        gap: 2rem;
        mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
        -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    }

    .marquee-content-left {
        display: flex;
        shrink: 0;
        gap: 2rem;
        animation: marqueeLeft 35s linear infinite;
    }

    .marquee-content-right {
        display: flex;
        shrink: 0;
        gap: 2rem;
        animation: marqueeRight 35s linear infinite;
    }

    .marquee-container:hover .marquee-content-left,
    .marquee-container:hover .marquee-content-right {
        animation-play-state: paused;
    }

    /* Scroll Reveal Animations */
    .reveal-on-scroll {
        opacity: 0;
        transform: translateY(25px);
        transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    }

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

@keyframes marqueeLeft {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

@keyframes marqueeRight {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0%); }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f7f6f2;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #1059b0;
}
