 :root {
            --bg-black: #000000;
            --text-white: #FFFFFF;
            --accent-green: #5CB338;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Red Hat Text', sans-serif;
        }

        body {
            background-color: var(--bg-black);
            color: var(--text-white);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- LAYOUT UTILS --- */
        .container-custom {
            padding-left: 8%;
            padding-right: 8%;
        }

        .section-separator {
            height: 1px;
            background-color: var(--accent-green);
            width: 100%;
            opacity: 0.6;
        }

        /* --- HEADER --- */
        header {
            border-bottom: 1px solid var(--accent-green);
            background: rgba(0,0,0,0.8);
            backdrop-filter: blur(10px);
        }

        .nav-link {
            transition: all 0.3s ease;
            position: relative;
            font-weight: 500;
        }

        .nav-link:hover {
            color: var(--accent-green);
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--accent-green);
            transition: 0.3s;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* --- HERO ANIMATIONS --- */
        .reveal-text {
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
            transform: translateY(50px);
            animation: revealUp 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
        }

        @keyframes revealUp {
            to {
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
                transform: translateY(0);
            }
        }

        .hero-img-container {
            margin: 40px;
            border: 1px solid var(--accent-green);
            position: relative;
            overflow: hidden;
        }

        .hero-img-container img {
            transition: transform 1.5s ease;
        }

        .hero-img-container:hover img {
            transform: scale(1.05);
        }

        /* --- MARQUEE --- */
        .marquee-wrapper {
            background: var(--bg-black);
            border-top: 1px solid var(--accent-green);
            border-bottom: 1px solid var(--accent-green);
            padding: 20px 0;
            overflow: hidden;
            display: flex;
        }

        .marquee-content {
            display: flex;
            white-space: nowrap;
            animation: scroll 30s linear infinite;
        }

        .marquee-wrapper:hover .marquee-content {
            animation-play-state: paused;
        }

        @keyframes scroll {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }

        .marquee-item {
            font-weight: 700;
            font-size: 1.5rem;
            margin-right: 50px;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        /* --- CARDS & INTERACTION --- */
        .feature-card {
            background: #050505;
            border: 1px solid var(--accent-green);
            padding: 40px;
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease-out;
        }

        .feature-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .feature-card:hover {
            box-shadow: 0 0 25px rgba(92, 179, 56, 0.2);
        }

        /* --- BUTTONS --- */
        .btn-primary {
            background: var(--accent-green);
            color: white;
            padding: 14px 32px;
            font-weight: 700;
            border: 1px solid var(--accent-green);
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .btn-primary:hover {
            background: white;
            color: black;
            border-color: white;
        }

        .btn-outline {
            border: 1px solid var(--accent-green);
            padding: 12px 28px;
            transition: 0.3s;
        }

        .btn-outline:hover {
            background: var(--accent-green);
            box-shadow: 0 0 15px var(--accent-green);
        }

        /* --- PAGE VIEWS --- */
        .page-view { display: none; }
        .page-view.active { display: block; }

        /* --- MODAL --- */
        #quick-view-modal {
            background: rgba(0,0,0,0.95);
            display: none;
            position: fixed;
            inset: 0;
            z-index: 1000;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        #mobile-menu {
    transition: all 0.3s ease-in-out;
}
