body
{
   background-color: #FFFFFF;
   color: #000000;
   font-family: Arial;
   font-weight: normal;
   font-size: 16px;
   line-height: 1.1875;
   margin: 0;
   padding: 0;
}
/* Desabilitar seleção de texto */
body {
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none;    /* Firefox */
-ms-user-select: none;     /* IE/Edge */
user-select: none;         /* Padrão */
}
        :root {
            /* CORES */
            --color-primary: #0f766e; /* Teal 700 */
            --color-secondary: #b45309; /* Amber 700 */
            
            /* Contraste Otimizado */
            --color-text: #1e293b; /* Slate 800 */
            --color-dark-blue: #0f172a; /* Slate 900 */
            
            --color-bg-light: #f8fafc; 
            --color-danger-bg: #1c1917; 
            --color-danger-text: #e7e5e4; 
            --color-danger-accent: #dc2626; 
        }
        
        html { scroll-behavior: smooth; }
        body {
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
            font-family: 'Inter', sans-serif;
            background-color: white;
            color: var(--color-text);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        body.ready { opacity: 1; }

        /* Títulos com kerning apertado (padrão) */
        h1, h2, h3, h4, h5 { font-weight: 800; letter-spacing: -0.025em; color: var(--color-dark-blue); }
        p, li { font-size: 1.125rem; line-height: 1.8; color: var(--color-text); }
        strong { font-weight: 700; color: var(--color-dark-blue); }

        /* --- Header & Footer --- */
        footer p { font-size: initial; line-height: initial; }

        /* --- DESIGN --- */
        
        /* --- HERO SECTION COM IMAGEM DIFERENCIADA --- */
        .hero {
            color: white;
            padding: 8rem 1rem;
            text-align: center;
            position: relative;
            border-bottom: 4px solid var(--color-secondary);
            background-color: var(--color-dark-blue); 
            overflow: hidden; 
        }

        /* Camada da Imagem (Desktop por defeito) */
        .hero::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            /* Imagem para PC/Tablet */
            background-image: url('https://vozativa.blog/files/GreveGeral.webp');
            
            /* Desktop: contain garante que aparece toda */
            background-size: contain; 
            background-position: center;
            background-repeat: no-repeat;
            z-index: 0;
        }

        /* Camada do Gradiente Escuro (PADRÃO PARA PC) */
        .hero::after {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background-image: linear-gradient(to bottom, rgba(15, 23, 42, 0.6), rgba(15, 23, 42, 0.9));
            z-index: 1;
        }

        /* --- LÓGICA PARA TELEMÓVEL --- */
        @media (max-width: 768px) {
            .hero {
                /* Espaço no topo para a imagem ficar limpa e o texto em baixo */
                padding-top: 65vw; 
                padding-bottom: 3rem;
            }

            .hero::before {
                /* Imagem específica para TM */
                background-image: url('https://vozativa.blog/files/GreveGeral_TM.webp');
                
                /* Garante que no telemóvel não corta e fica no topo */
                background-size: contain;
                background-position: top center; 
                background-repeat: no-repeat;
            }

            /* NOVA REGRA: REMOVE O FILTRO ESCURO NO TELEMÓVEL */
            .hero::after {
                display: none;
            }
        }

        .hero h1 {
            position: relative;
            z-index: 2;
            color: white;
            font-size: 2.5rem;
            line-height: 1.2;
            text-shadow: 0 4px 10px rgba(0,0,0,0.5);
        }
        @media (min-width: 768px) { .hero h1 { font-size: 4rem; } }
        /* --------------------------------------------------------- */


        .intro-section {
            background-color: white;
            padding: 4rem 1.5rem;
        }
        .intro-paragraph {
            text-align: justify;
            max-w-4xl mx-auto;
            font-size: 1.35rem;
            line-height: 1.8;
            color: var(--color-dark-blue);
        }
        @media (min-width: 768px) {
            .intro-paragraph { text-align: center; }
        }
        .intro-paragraph strong { color: var(--color-primary); }

        .section-title {
            font-size: 2rem;
            line-height: 1.2;
            color: var(--color-dark-blue);
            text-align: center;
            margin-bottom: 1rem;
        }
        @media (min-width: 768px) { 
            .section-title { font-size: 3rem; }
        }
        
        .section-subtitle {
            text-align: center;
            max-w-4xl mx-auto;
            margin-bottom: 4rem;
            color: #1e293b; /* Slate 800 */
            font-size: 1.25rem;
            font-weight: 500;
        }
        
        .highlight-card-grid {
            border-radius: 0.75rem;
            padding: 2rem;
            display: flex;
            flex-direction: column;
            height: 100%;
            transition: transform 0.2s ease;
        }
        
        .card-gov {
            background-color: #f1f5f9;
            border: 1px solid #cbd5e1;
            border-left: 5px solid #64748b;
        }
        
        .card-real {
            background-color: #fff7ed;
            border: 1px solid #fed7aa;
            border-left: 5px solid #ea580c;
        }

        .highlight-card-grid h3 { font-size: 1.4rem; margin-bottom: 1rem; }
        .highlight-card-grid h3 span { margin-right: 0.5rem; }

        .interactive-card {
            background: white;
            border-radius: 1rem;
            border: 1px solid #e2e8f0;
            border-top: 5px solid var(--color-primary);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .interactive-card:hover {
            transform: translateY(-8px);
            border-top-color: var(--color-secondary);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
        }
        .card-content {
            padding: 2rem;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }
        .interactive-card .card-title {
            font-size: 1.5rem;
            color: var(--color-dark-blue);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
        }
        .interactive-card .card-title span { 
            margin-right: 0.75rem; 
            background: #f0fdfa; 
            padding: 0.5rem; 
            border-radius: 0.5rem;
            font-size: 1.25rem;
        }
        .interactive-card .card-description {
            flex-grow: 1;
            color: var(--color-text);
            margin-bottom: 1.5rem;
        }
        .benefits-list {
            list-style: none;
            padding: 0;
            margin-top: auto;
            border-top: 1px solid #e2e8f0;
            padding-top: 1rem;
        }
        .benefits-list li {
            position: relative;
            padding-left: 1.75rem;
            font-size: 0.95rem;
            color: #334155;
            margin-bottom: 0.5rem;
        }
        .benefits-list li::before {
            content: '✓';
            position: absolute;
            left: 0;
            top: 4px;
            color: var(--color-primary);
            font-weight: 900;
        }
        
        .history-card {
            background: #f8fafc;
            padding: 2rem;
            border-radius: 0.75rem;
            border: 1px solid #e2e8f0;
            border-left: 5px solid #334155;
        }
        .history-card h3 {
            color: #0f172a;
            font-size: 1.35rem;
            margin-bottom: 1rem;
        }
        
        .danger-zone { 
            background-color: var(--color-danger-bg); 
            border-radius: 1rem; 
            padding: 2rem 1.5rem; 
            margin-top: 5rem; 
            border: 1px solid #44403c;
        }
        @media (min-width: 768px) { .danger-zone { padding: 4rem; } }
        
        .danger-zone h2 { color: white; }
        .danger-zone p, .danger-zone li { color: var(--color-danger-text); }
        /* CORREÇÃO APLICADA: Garante que o strong é branco por defeito nesta zona */
        .danger-zone strong { color: white; }
        
        .danger-point-new { 
            background: rgba(255, 255, 255, 0.05); 
            padding: 1.5rem; 
            border-radius: 0.5rem; 
            border: 1px solid rgba(255,255,255,0.1);
        }
        .danger-point-new h3 { font-size: 1.25rem; margin-bottom: 0.5rem; color: #fca5a5; }
        .danger-point-new h3 span { margin-right: 0.75rem; }

        .final-cta-dark { 
            background-color: #020617; 
            background-image: radial-gradient(circle at center top, rgba(180, 83, 9, 0.15), transparent 70%);
            color: white; 
            text-align: center; 
            border-radius: 1.5rem; 
            padding: 4rem 2rem; 
            border: 1px solid #1e293b;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            margin-bottom: 2rem;
        }
        .final-cta-dark h2 { color: white; letter-spacing: -0.05em; }
        .final-cta-dark p { color: #cbd5e1; } 
        .final-cta-dark strong { color: #fbbf24; } 
        
        .cta-highlight-box {
            background: rgba(255, 255, 255, 0.03);
            border-left: 4px solid #fbbf24;
            padding: 2rem;
            margin-top: 3rem;
            margin-bottom: 3rem;
            text-align: left;
            border-radius: 0.5rem;
        }

    