:root {
            --color-bg: #F3F3F1;
            --color-text: #0A0A0A;
            --color-primary: #3b82f6;
            /* Atualizado para Azul */
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--color-bg);
            color: var(--color-text);
            overflow-x: hidden;
        }

        .font-playfair {
            font-family: 'Playfair Display', serif;
        }

        .font-space {
            font-family: 'Space Grotesk', sans-serif;
        }

        /* Typography & Outlines */
        .text-transparent-outline {
            color: transparent;
            -webkit-text-stroke: 1.5px rgba(0, 0, 0, 0.3);
            background-clip: text;
        }

        .text-transparent-outline:hover {
            color: rgba(0, 0, 0, 0.02);
            -webkit-text-stroke: 1.5px rgba(0, 0, 0, 0.8);
            transition: all 0.4s ease;
        }

        /* Glassmorphism Surface */
        .glass {
            background: rgba(255, 255, 255, 0.6);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.05);
        }

        /* Buttons & VFX */
        .lumina-btn {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
            color: white;
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
        }

        .lumina-btn:hover {
            transform: scale(1.03);
            box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.3);
        }

        .lumina-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: all 0.6s ease-in-out;
        }

        .lumina-btn:hover::before {
            left: 100%;
        }

        /* Floating particles inside button */
        .particles-wrap {
            position: absolute;
            inset: 0;
            pointer-events: none;
            overflow: hidden;
        }

        .particle {
            position: absolute;
            bottom: -10px;
            width: 3px;
            height: 3px;
            background: white;
            border-radius: 50%;
            opacity: 0;
            animation: rise 2s infinite ease-in;
        }

        @keyframes rise {
            0% {
                transform: translateY(0);
                opacity: 1;
            }

            100% {
                transform: translateY(-40px);
                opacity: 0;
            }
        }

        .particle:nth-child(1) {
            left: 20%;
            animation-delay: 0.1s;
            animation-duration: 2.3s;
        }

        .particle:nth-child(2) {
            left: 50%;
            animation-delay: 0.5s;
            animation-duration: 1.8s;
        }

        .particle:nth-child(3) {
            left: 80%;
            animation-delay: 0.3s;
            animation-duration: 2.5s;
        }

        /* Ambient Animations */
        @keyframes pulseGlow {

            0%,
            100% {
                opacity: 0.4;
                transform: scale(1) translate(0px, 0px);
            }

            50% {
                opacity: 0.8;
                transform: scale(1.1) translate(20px, -20px);
            }
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0px) rotate(0deg);
            }

            50% {
                transform: translateY(-15px) rotate(2deg);
            }
        }

        @keyframes float-reverse {

            0%,
            100% {
                transform: translateY(0px) rotate(0deg);
            }

            50% {
                transform: translateY(15px) rotate(-2deg);
            }
        }

        @keyframes shimmer {
            0% {
                transform: translateX(-100%);
            }

            100% {
                transform: translateX(200%);
            }
        }

        /* Initial states for GSAP */
        .gsap-reveal {
            opacity: 0;
            visibility: hidden;
        }

.border-gradient {
                position: relative;
            }

            .border-gradient::before {
                content: "";
                position: absolute;
                inset: 0;
                padding: 1px;
                background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 100%);
                -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
                mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
                pointer-events: none;
            }

            /* Efeitos herdados do design_system2.html */
            .card-floating {
                transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.6s ease;
            }

            .card-floating:hover {
                box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.15) !important;
                z-index: 20;
            }

            .lumina-btn {
                position: relative;
                overflow: hidden;
            }

            .lumina-btn::before {
                content: '';
                position: absolute;
                top: 0;
                left: -100%;
                width: 100%;
                height: 100%;
                background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
                transition: all 0.5s ease;
            }

            .lumina-btn:hover::before {
                left: 100%;
            }