/* Prevent layout shift before style.css loads */
        nav { position: fixed; top: 1.5rem; left: 50%; transform: translateX(-50%); width: fit-content; height: 60px; background: rgba(10, 10, 10, 0.4); backdrop-filter: blur(40px); border: 1px solid rgba(255,255,255,0.1); border-radius: 100px; padding: 0 1.5rem 0 2rem; display: flex; align-items: center; gap: 2.5rem; z-index: 5000; }
        .hero { padding-top: 140px; }
        .hero img { width: 350px; height: 200px; aspect-ratio: 350 / 200; object-fit: contain; }
        .reveal { opacity: 0; transform: translateY(15px); }
        .reveal.active { opacity: 1; transform: translateY(0); transition: 0.8s cubic-bezier(0.16, 1, 0.3, 1); }

        @media (max-width: 768px) {
            nav { width: 95vw; justify-content: space-between; }
            .nav-links { display: none; }
            .mobile-toggle { display: block; }
            .hero img { width: 280px; height: auto; }
        }

        /* FOUC: hide mobile overlay until JS activates it */
        .mobile-overlay { display: none; visibility: hidden; }
        .overlay-link { display: none; }
        .mobile-overlay.active { display: flex !important; visibility: visible !important; }
        .mobile-overlay.active .overlay-link { display: block !important; opacity: 1 !important; visibility: visible !important; }

        /* Prevent horizontal scroll */
        html, body { overflow-x: hidden !important; }

        /* 3D Dynamic Card reveals & Depth stack */
        .reveal {
            opacity: 0;
            transform: translateY(20px) scale(0.98) rotateX(2deg);
            transform-style: preserve-3d;
            perspective: 1000px;
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0) scale(1) rotateX(0deg);
        }

        /* 3D Stacking Layer Depth CSS */
        .depth-card {
            transform-style: preserve-3d;
            perspective: 1000px;
            transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
            position: relative;
        }
        .depth-card-bg {
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(199, 0, 255, 0.05), rgba(42, 101, 229, 0.05));
            border-radius: inherit;
            z-index: 1;
            transition: opacity 0.5s;
            opacity: 0.5;
            pointer-events: none;
        }
        .depth-card:hover .depth-card-bg {
            opacity: 1;
        }
        .depth-card-content {
            position: relative;
            transform: translateZ(30px);
            z-index: 2;
            transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
        }
        .depth-card-float {
            transform: translateZ(60px);
            z-index: 3;
            transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* Competitor Comparison Section */
        .comp-container {
            width: 100%;
            max-width: 1000px;
            margin: 0 auto;
            background: rgba(255, 255, 255, 0.02);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 32px;
            padding: 3rem;
            margin-top: 4rem;
        }
        .comp-table {
            width: 100%;
            border-collapse: collapse;
            text-align: left;
        }
        .comp-table th, .comp-table td {
            padding: 1.2rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }
        .comp-table th {
            font-family: 'Outfit', sans-serif;
            font-size: 0.95rem;
            font-weight: 800;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.4);
        }
        .comp-table td {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.8);
        }
        .comp-table tr:hover td {
            background: rgba(255, 255, 255, 0.01);
        }
        .comp-table .feature {
            font-weight: 600;
            color: white;
            font-family: 'Outfit', sans-serif;
        }
         .comp-table .waverate-col {
            color: #C700FF;
            font-weight: 800;
        }
        .comp-table-wrapper {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        @media (max-width: 768px) {
            .comp-container {
                padding: 1.5rem 1rem !important;
                border-radius: 20px !important;
            }
            .comp-table th, .comp-table td {
                padding: 0.8rem 0.6rem !important;
                font-size: 0.75rem !important;
                min-width: 120px;
            }
            .comp-table th:first-child, .comp-table td:first-child {
                min-width: 140px;
                position: sticky;
                left: 0;
                background: rgba(15, 7, 30, 0.95);
                backdrop-filter: blur(10px);
                z-index: 10;
                border-right: 1px solid rgba(255, 255, 255, 0.05);
            }
            /* Sleek custom scrollbar */
            .comp-table-wrapper::-webkit-scrollbar {
                height: 4px;
            }
            .comp-table-wrapper::-webkit-scrollbar-track {
                background: rgba(255, 255, 255, 0.01);
            }
            .comp-table-wrapper::-webkit-scrollbar-thumb {
                background: rgba(199, 0, 255, 0.3);
                border-radius: 10px;
            }
        }

        /* FAQ Accordion Section */
        .faq-container {
            width: 100%;
            max-width: 1000px;
            margin: 4rem auto 0 auto;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }
        .faq-item {
            background: rgba(255, 255, 255, 0.02);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            overflow: hidden;
            transition: 0.3s;
        }
        .faq-item:hover {
            border-color: rgba(199, 0, 255, 0.3);
            background: rgba(255, 255, 255, 0.03);
        }
        .faq-trigger {
            width: 100%;
            padding: 1.5rem 2rem;
            background: none;
            border: none;
            color: white;
            font-family: 'Outfit', sans-serif;
            font-size: 1.15rem;
            font-weight: 700;
            text-align: left;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            outline: none;
        }
        .faq-trigger i {
            font-size: 0.9rem;
            transition: transform 0.3s;
            color: var(--p-base);
        }
        .faq-trigger.active i {
            transform: rotate(180deg);
        }
        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out, padding 0.3s ease-out;
            padding: 0 2rem;
            font-size: 0.9rem;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.6);
        }
        .faq-content.active {
            padding: 0 2rem 1.5rem 2rem;
        }