        :root {
            --primary-red: #ff3333;
            --dark-bg: #0a0a0a;
            --card-bg: #141414;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background: var(--dark-bg);
            color: white;
            overflow-x: hidden;
        }

        /* Disable pointer events for everything */
        * {
            pointer-events: none;
        }

        /* Enable pointer events for interactive elements */
        a,
        img,
        canvas,
        button,
        .service-card,
        input,
        select,
        textarea,
        label,
        summary,
        [role="button"] {
            pointer-events: auto;
        }

        /* Smooth Scroll Length */
        html.lenis {
            height: auto;
            overflow-x: hidden;
        }


        #canvas3d {
            position: fixed;
            top: 0;
            left: 0;
            outline: none;
            z-index: 0;
            pointer-events: none;
        }

        .lenis.lenis-smooth {
            scroll-behavior: auto;
        }

        .lenis.lenis-smooth [data-lenis-prevent] {
            overscroll-behavior: contain;
        }

        /* Custom Red Glow */
        .red-glow {
            box-shadow: 0 0 20px rgba(255, 0, 50, 0.2);
        }

        .text-gradient {
            background: linear-gradient(to right, #ffffff, #ff0032);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .glass-nav {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .service-card:hover {
            border-color: var(--primary-red);
            transform: translateY(-10px);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        /* Hero Animation */
        .hero-shape {
            position: absolute;
            filter: blur(80px);
            z-index: -1;
            border-radius: 50%;
            background: rgba(255, 0, 50, 0.15);
        }


        .sitelogo {
            display: flex;
        }

        .sitelogo img {
            height: 40px;
            width: auto;
        }

        /* icons */
        .icon {
            width: 24px;
            height: 24px;
        }



        .contact-section {
            display: flex;
            align-items: center;
        }



        /* Fix section heights for mobile - avoid 100vh layout breaks with keyboard/address bar */
        section {
            position: fixe;
            min-height: 100vh;
            padding: 80px 0;
            /* Ensures content doesn't hit the nav */
            display: flex;
            align-items: center;
            justify-content: center;

        }

        /* Mobile font scaling for Hero */
        @media (max-width: 768px) {
            .text-5xl {
                font-size: 2.75rem !important;
            }

            section {
                height: auto;
                padding: 100px 20px;
            }

            .social-icons span {
                display: none;
            }
        }

        .social-fa {
            font-size: 1.5rem !important;
        }


        /* Side Menu Open Class */
        #side-menu.active {
            transform: translateX(0);
        }

        .mobi-menu {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

        }

        /* Mobile Menu Close Button */
        .mobi-menu .close-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
        }

        #side-menu {
            position: fixed;
            top: 0;
            right: 0;
            width: 100%;
            height: 100%;
            background: rgba(10, 10, 10, 0.5);
            backdrop-filter: blur(10px);
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
        }

        #side-menu .flex.social-icons {
            display: flex;
            align-items: center !important;
            justify-content: center;
        }

        #side-menu .text-sm {
            display: flex;
            align-items: center;
            justify-content: center;
        }




        #footer {
            backdrop-filter: blur(10px);
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            min-height: fit-content !important;
            padding: 0px;
        }


        a.nav-link {
            color: white;
            font-weight: 600 !important;
            font-size: 1em !important;
            transition: all 0.4s ease !important;
            border: none !important;
            stroke: none !important;
        }


        a.nav-link.active {
            color: var(--primary-red);
            font-weight: 900 !important;
            transition: all 0.4s ease !important;
        }

        a.nav-link:hover {
            color: var(--primary-red);
            font-weight: 900 !important;
            transition: all 0.4s ease !important;
        }



        .bg-canvas {
            position: fixed;
            width: 100%;
            height: 100vh;
            background: var(--dark-bg);
            z-index: 0;
        }

        .dg.ac {
            display: none;
            z-index: 99999 !important;
        }