:root {
            --color-primary-bg: #0A192F;
            --color-text: #E0E7FF;
            --color-accent: #3B82F6;
            --color-accent-hover: #2563EB;
            --color-card-dark: #1A2E4B;
            --color-secondary-dark-bg: #081424;
        }

        /* Apply custom colors to Tailwind classes */
        .bg-primary-bg { background-color: var(--color-primary-bg); }
        .text-text { color: var(--color-text); }
        .bg-accent { background-color: var(--color-accent); }
        .hover\:bg-accent-hover:hover { background-color: var(--color-accent-hover); }
        .bg-card-dark { background-color: var(--color-card-dark); }
        .bg-secondary-dark-bg { background-color: var(--color-secondary-dark-bg); }
        .border-accent { border-color: var(--color-accent); }

        body {
            font-family: 'Inter', sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            background-color: var(--color-primary-bg); /* Default background */
            color: var(--color-text); /* Default text color */
        }

        /* Smooth scroll for anchor links */
        html {
            scroll-behavior: smooth;
        }

        /* Animation for sections on scroll */
        .fade-in-up {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        .fade-in-up.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Custom styles for the "Mais Popular" plan */
        .plan-card.popular {
            border: 3px solid var(--color-accent);
            box-shadow: 0 0 20px rgba(59, 130, 246, 0.5); /* Blue glow */
            transform: scale(1.03); /* Slightly larger */
            transition: all 0.3s ease-in-out;
        }

        .plan-card.popular .popular-badge {
            display: block;
        }
        .text-blue-primary {
            color: #3B82F6; /* Um azul mais vibrante para destaque */
        }
        .bg-blue-darker {
            background-color: #081424; /* Ainda mais escuro para certos elementos */
        }
        .btn-primary {
            background-color: #3B82F6; /* Azul primário para botões */
            color: white;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 600;
            transition: background-color 0.3s ease;
        }
        .btn-primary:hover {
            background-color: #2563EB; /* Tom mais escuro no hover */
        }
        .card {
            background-color: #1A2E4B; /* Fundo para cards, um azul acinzentado escuro */
            border-radius: 1rem;
            padding: 2rem;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
        }
        .card:hover {
            transform: translateY(-5px);
        }
        .section-heading {
            font-size: 2.5rem;
            font-weight: 700;
            color: #E0E7FF;
            margin-bottom: 2rem;
            text-align: center;
        }
        /* Estilo para o menu fixo */
        .header-fixed {
            position: fixed;
            width: 100%;
            top: 0;
            left: 0;
            z-index: 1000;
            background-color: #0A192F; /* Mesma cor do fundo para uma transição suave */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        }
        
        /* Estilos para a seção de transformações */
        .transformation-card {
            transition: all 0.3s ease;
        }
        
        .transformation-card:hover {
            box-shadow: 0 20px 40px rgba(59, 130, 246, 0.2);
        }
        
        /* Estilos para ícones sociais */
        .social-icon {
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }
        
        .social-icon:hover {
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
            transform: translateY(-2px) scale(1.1);
        }
        
        /* Estilos específicos para o header */
        header nav {
            min-height: 90px;
            padding: 10px 0;
        }
        
        .logo-header {
            height: 80px !important;
            width: auto !important;
            min-width: 120px;
            max-width: 300px;
            object-fit: contain;
            image-rendering: -webkit-optimize-contrast;
            image-rendering: crisp-edges;
            display: block;
            filter: brightness(1.1) contrast(1.1);
        }
        
        /* Responsividade para o header */
        @media (max-width: 768px) {
            .logo-header {
                height: 70px !important;
                min-width: 100px;
                max-width: 250px;
            }
            header nav {
                min-height: 80px;
            }
        }
        
        @media (max-width: 480px) {
            .logo-header {
                height: 60px !important;
                min-width: 80px;
                max-width: 200px;
            }
        }
        /* Animações sutis ao rolar - exemplo com hover para demonstração */
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }



        /* Plan Tabs */
        .tab-button {
            border: none;
            cursor: pointer;
            outline: none;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .tab-button.active {
            background-color: var(--color-accent);
            color: white;
        }

        .tab-button:first-of-type {
            border-top-left-radius: 9999px;
            border-bottom-left-radius: 9999px;
        }

        .tab-button:last-of-type {
            border-top-right-radius: 9999px;
            border-bottom-right-radius: 9999px;
        }

        .tab-content {
            transition: opacity 0.5s ease-in-out;
        }

        .tab-content {
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
        }

        .tab-content.active {
            opacity: 1;
        }

        .tab-content.hidden {
            display: none;
        }    



        /* FAQ Styles */
        .faq-item {
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
        }

        .faq-item:hover {
            border-color: var(--color-accent);
            box-shadow: 0 4px 20px rgba(59, 130, 246, 0.1);
        }

        .faq-question {
            background: transparent;
            border: none;
            color: inherit;
            font-family: inherit;
        }

        .faq-question:hover {
            background-color: rgba(255, 255, 255, 0.05) !important;
        }

        .faq-icon.rotated {
            transform: rotate(180deg);
        }

        .faq-answer {
            transition: max-height 0.3s ease, padding 0.3s ease;
        }

        .faq-answer.open {
            max-height: 200px !important;
        }

        /* Contact Form Styles */
        .contact-form input,
        .contact-form select,
        .contact-form textarea {
            transition: all 0.3s ease;
        }

        .contact-form input:focus,
        .contact-form select:focus,
        .contact-form textarea:focus {
            transform: translateY(-2px);
            box-shadow: 0 4px 20px rgba(59, 130, 246, 0.2);
        }

        /* Scroll to Top Button */
        .scroll-to-top {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 50px;
            height: 50px;
            background: var(--color-accent);
            color: white;
            border: none;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            transition: all 0.3s ease;
            opacity: 0;
            visibility: hidden;
            z-index: 1000;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }

        .scroll-to-top.visible {
            opacity: 1;
            visibility: visible;
        }

        .scroll-to-top:hover {
            background: var(--color-accent-hover);
            transform: translateY(-3px);
            box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4);
        }

        /* Enhanced Animations */
        .fade-in-up.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Loading States */
        .button-loader {
            display: none;
        }

        .loading .button-text {
            display: none;
        }

        .loading .button-loader {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Notification Styles */
        .notification {
            position: fixed;
            top: 2rem;
            right: 2rem;
            padding: 1rem 1.5rem;
            border-radius: 0.5rem;
            color: white;
            font-weight: 600;
            z-index: 1001;
            transform: translateX(100%);
            transition: transform 0.3s ease;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }

        .notification.show {
            transform: translateX(0);
        }

        .notification.success {
            background: #10b981;
        }

        .notification.error {
            background: #ef4444;
        }

        /* Enhanced Mobile Responsiveness */
        @media (max-width: 768px) {
            .scroll-to-top {
                bottom: 1rem;
                right: 1rem;
                width: 45px;
                height: 45px;
                font-size: 1rem;
            }
            
            .notification {
                top: 1rem;
                right: 1rem;
                left: 1rem;
                transform: translateY(-100%);
            }
            
            .notification.show {
                transform: translateY(0);
            }
            
            .faq-answer.open {
                max-height: 300px !important;
            }
        }