/*
Theme Name: AG Político
Author: AG Político
Version: 22.0 - SUPREME TECH EDITION
Description: Tema Oficial AG Político - Animações Premium, War Room e Blindagem de Leitura
Text Domain: agpolitico
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap');

:root { 
    --bg-dark:#0a0f1a; --bg-body:#ffffff; --bg-gray-light:#f4f6f9; 
    --text-main:#1a1a1a; --text-light:#e0e6ed; --accent:#2c3e50; 
    --gold:#d4af37; --tech-blue: #4a90e2; --tech-orange: #f59e0b;
    --button-dark:#1c2536; --transition-smooth:all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); 
    --border: rgba(255,255,255,0.08); --error: #ff4d4d; --success: #2ecc71;
    --border-tech: rgba(74, 144, 226, 0.2);
    --alert-red: #ff4d4d;
}

* { margin:0; padding:0; box-sizing:border-box; }

/* ======== CORREÇÃO DE LARGURA PARA MOBILE ======== */
html, body { 
    font-family:'Inter', sans-serif; 
    color:var(--text-main); 
    line-height:1.6; 
    background-color:var(--bg-dark) !important; 
    overflow-x:hidden; 
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4 { font-family:'Playfair Display', serif; font-weight:600; }
a { text-decoration:none; color:inherit; }

/* ANIMAÇÕES DE BASE */
@keyframes fadeInUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:translateY(0); } }
.fade-in { opacity:0; animation:fadeInUp 1s cubic-bezier(0.25,0.46,0.45,0.94) forwards; }
.delay-1 { animation-delay:0.2s; } .delay-2 { animation-delay:0.4s; }
.btn-hover-effect { transition:var(--transition-smooth); position:relative; overflow:hidden; }
.btn-hover-effect::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:2px; background-color:var(--gold); transform:scaleX(0); transition:var(--transition-smooth); transform-origin:bottom right; }
.btn-hover-effect:hover::after { transform:scaleX(1); transform-origin:bottom left; }

/* HEADER DESKTOP PADRÃO - AJUSTE DE COR SÓLIDA NO SCROLL */
header { background-color:transparent; color:white; padding:25px 5%; display:flex; justify-content:space-between; align-items:center; position:fixed; top:0; left:0; width:100%; z-index:1000; transition:var(--transition-smooth); }
header.scrolled { background-color:#05080f !important; padding:15px 5%; box-shadow:0 5px 30px rgba(0,0,0,0.8); border-bottom: 1px solid rgba(255,255,255,0.05); }
.logo { font-size:24px; display:flex; align-items:center; gap:10px; cursor:pointer; position: relative; z-index: 2005;}
.logo-ag { font-family:'Playfair Display', serif; font-weight:700; font-size:28px; letter-spacing:-1px; }
.logo-politico { font-family:'Inter', sans-serif; font-weight:300; font-size:14px; letter-spacing:4px; color:#a0aabf; }
header.scrolled .logo-ag { color:white; } header.scrolled .logo-politico { color:#8a94a6; }
nav ul { list-style:none; display:flex; gap:30px; }
nav ul li a { font-size:13px; text-transform:uppercase; letter-spacing:1px; font-weight:600; color:#c0ccda; transition:color 0.3s; padding-bottom: 4px; border-bottom: 2px solid transparent;}
header.scrolled nav ul li a { color:#a0aabf; } 
nav ul li a:hover { color:white; border-color: var(--gold); }
.btn-header { background-color:transparent; color:white; padding:10px 24px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1px; border:1px solid white; cursor:pointer; transition:var(--transition-smooth); }
header.scrolled .btn-header { background-color:transparent; color:white; border:1px solid white; }
.btn-header:hover { background-color:white; color:var(--bg-dark); box-shadow: 0 0 15px rgba(255,255,255,0.3); }

/* ====================================================================
   SEÇÃO DO HERO DA HOME (NEBULOSA AZUL RESTAURADA E ANIMADA)
   ==================================================================== */
@keyframes blueOrb {
    0% { opacity: 0.2; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.15); }
    100% { opacity: 0.2; transform: scale(1); }
}
@keyframes pulseGrid { 0% { opacity: 0.2; } 100% { opacity: 0.5; } }

.hero { background-color:var(--bg-dark); color:white; padding:180px 5% 150px; text-align:center; position:relative; overflow: hidden;}
.hero::after { 
    content:''; position:absolute; top:0; left:0; width:100%; height:100%; 
    background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 40px 40px; z-index:1; animation: pulseGrid 4s infinite alternate ease-in-out; 
}
.hero::before { 
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    /* ORBE AZUL DE FUNDO */
    background: radial-gradient(circle at 50% 40%, rgba(74, 144, 226, 0.25) 0%, transparent 60%);
    animation: blueOrb 6s infinite ease-in-out; z-index: 1; pointer-events: none; 
}
.hero * { position:relative; z-index:3; }

/* TAGLINE COM EFEITO APPLE "SHINE SCAN" */
@keyframes shineText { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }
.tagline, .hero-tagline, .hero h6 { 
    font-size:12px !important; text-transform:uppercase !important; letter-spacing:4px !important; margin-bottom:25px !important; display:inline-block !important; font-weight: 700 !important;
    background: linear-gradient(90deg, #55627a 0%, #ffffff 50%, #55627a 100%) !important;
    background-size: 200% auto !important; color: transparent !important; -webkit-background-clip: text !important; background-clip: text !important;
    animation: shineText 4s linear infinite !important; 
}

.hero h1 { font-size:58px; max-width:950px; margin:0 auto 35px; line-height:1.2; letter-spacing:-1px; }
.hero p { font-size:19px; color:var(--text-light); max-width:750px; margin:0 auto 60px; font-weight:300; }

/* BOTÕES PRINCIPAIS COM AURA ENERGÉTICA */
@keyframes btnAura { 0% { box-shadow: 0 0 0 rgba(212, 175, 55, 0); } 100% { box-shadow: 0 0 25px rgba(212, 175, 55, 0.4); } }
.btn-primary { background-color:transparent; color:white; padding:16px 36px; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; border:1px solid white; cursor:pointer; transition:var(--transition-smooth); animation: btnAura 2s infinite alternate; }
.btn-primary:hover { background-color:white; color:var(--bg-dark); }

/* SEÇÕES DA HOME */
.manifesto, .track-record, .dedicated-team, .process-ponta-ponta { padding:120px 5%; text-align:center; }
.manifesto { background-color:var(--bg-body); }
.manifesto-tag { font-size:11px; color:#7f8c8d; text-transform:uppercase; letter-spacing:2px; margin-bottom:15px; display:block; }
.manifesto h2 { font-size:44px; margin-bottom:40px; color:var(--text-main); max-width:900px; margin:0 auto; }
.manifesto p { font-size:19px; max-width:850px; margin:0 auto; color:#444; font-weight:300; }
.track-record { background-color:var(--bg-gray-light); border-top:1px solid #eaeaea; text-align:left; }
.track-container { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.track-text h2 { font-size:38px; margin-bottom:25px; line-height:1.2; }
.track-text p { font-size:17px; color:#555; margin-bottom:20px; font-weight:300; }
.service-list { margin-top:30px; display:flex; flex-wrap:wrap; gap:10px; }
.service-pill { background:white; border:1px solid #ddd; padding:8px 16px; font-size:13px; font-weight:600; color:var(--bg-dark); border-radius:20px; transition: 0.3s; }
.service-pill.highlight { border-color:var(--gold); background:rgba(212,175,55,0.05); color:#8a7020; box-shadow: 0 0 10px rgba(212, 175, 55, 0.2);}
.btn-outline-dark { display:inline-block; margin-top:35px; padding:14px 32px; border-radius:6px; background:transparent; border:1px solid var(--bg-dark); color:var(--bg-dark); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1px; transition:var(--transition-smooth); }
.btn-outline-dark:hover { background:var(--bg-dark); color:white; }
.track-stats { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.stat-item { background:white; padding:30px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,0.03); border-left:3px solid var(--accent); transition: 0.4s; }
.stat-item:hover { transform: translateY(-5px); box-shadow:0 15px 40px rgba(0,0,0,0.08); }
.stat-item h4 { font-family:'Inter', sans-serif; font-size:42px; font-weight:700; color:var(--bg-dark); margin-bottom:5px; letter-spacing:-1px; }
.stat-item p { font-size:13px; text-transform:uppercase; letter-spacing:1px; color:#777; font-weight:600; }

/* ====================================================================
   QUADRO DO ECOSSISTEMA NA HOME (FLUTUAÇÃO E LASERS DE DADOS)
   ==================================================================== */
.tech-ecosystem { padding:120px 5%; background-color:var(--bg-dark); color:white; position:relative; overflow:hidden; }
.tech-ecosystem::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(circle, rgba(44,62,80,0.4) 0%, rgba(10,15,26,1) 60%); z-index:1; }
.tech-ecosystem > * { position:relative; z-index:2; }
.tech-container { max-width:1200px; margin:0 auto 100px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.tech-content h2 { font-size:40px; margin-bottom:25px; line-height:1.2; }
.tech-content p { font-size:17px; color:var(--text-light); margin-bottom:20px; font-weight:300; }
.tech-badge { display:inline-block; background-color:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); padding:8px 16px; font-size:12px; text-transform:uppercase; letter-spacing:2px; margin-bottom:20px; border-radius:4px; color:var(--gold);}
.tech-discreet-link { display:inline-block; margin-top:20px; color:#a0aabf; font-size:14px; border-bottom:1px solid rgba(160,170,191,0.3); padding-bottom:2px; transition:var(--transition-smooth); }
.tech-discreet-link:hover { color:white; border-color:white; }

@keyframes dashFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(0,0,0,0.8); } }
.tech-dashboard { background-color:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1); border-radius:8px; padding:40px; box-shadow:0 20px 50px rgba(0,0,0,0.5); animation: dashFloat 6s ease-in-out infinite;}

@keyframes pulseDataLine { 0% { left: -50%; } 100% { left: 100%; } }
.dash-line { height:4px; background-color:rgba(255,255,255,0.1); margin-bottom:20px; border-radius:2px; position:relative; overflow:hidden;}
.dash-line::after { content:''; position:absolute; top:0; left:0; height:100%; width:40%; background: linear-gradient(90deg, transparent, var(--tech-blue), transparent); animation: pulseDataLine 2s linear infinite; }


/* CALCULADORA (HOME) OCULTANDO CTA */
@keyframes floatBox { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); box-shadow:0 30px 60px rgba(0,0,0,0.7); } }
.ag-calculadora { max-width:980px; margin:0 auto; padding:40px; border-radius:12px; background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.08); box-shadow:0 20px 50px rgba(0,0,0,0.5); backdrop-filter:blur(10px); animation: floatBox 6s ease-in-out infinite;}
.ag-header { margin-bottom:30px; text-align:center; }
.ag-header h3 { margin:0 0 10px; font-size:32px; font-family:'Playfair Display', serif; color:white; }
.ag-header p { margin:0; font-size:16px; color:#a0aabf; font-weight:300; }
.ag-controles { display:grid; grid-template-columns:1fr 1fr auto; gap:20px; align-items:end; margin-bottom:30px; }
.ag-input-group label { display:block; font-size:12px; font-weight:600; color:#a0aabf; margin-bottom:8px; text-transform:uppercase; letter-spacing:1px; }
.ag-input-group select { width:100%; height:50px; border-radius:6px; border:1px solid rgba(255,255,255,0.2); padding:0 16px; font-size:15px; background-color:rgba(0,0,0,0.3); color:white; cursor:pointer; appearance:none; }
.ag-input-group select:focus { outline:none; border-color:var(--gold); }
.ag-btn-calcular { height:50px; border-radius:6px; border:1px solid var(--gold); background:transparent; color:white; padding:0 32px; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:var(--transition-smooth); animation: btnAura 2s infinite alternate;}
.ag-btn-calcular:hover { background:var(--gold); color:var(--bg-dark); }
.ag-contexto { display:flex; justify-content:space-between; background:rgba(0,0,0,0.3); border-radius:8px; padding:20px 30px; margin-bottom:30px; border-left:2px solid var(--gold); }
.ag-contexto-item { font-size:13px; color:#a0aabf; text-transform:uppercase; letter-spacing:1px; }
.ag-contexto-item strong { display:block; font-size:20px; color:white; margin-top:5px; font-family:'Playfair Display', serif;}
.ag-resultados { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.ag-card-resultado { padding:30px 20px; border-radius:8px; background:rgba(0,0,0,0.2); border:1px solid rgba(255,255,255,0.05); text-align:center; transition:var(--transition-smooth); border-top:2px solid rgba(255,255,255,0.1); }
.ag-card-resultado:hover { transform:translateY(-5px); background:rgba(0,0,0,0.4); border-top-color:var(--gold); }
.ag-label-resultado { font-size:12px; font-weight:600; color:#a0aabf; margin-bottom:10px; text-transform:uppercase; letter-spacing:1px; }
.ag-valor-resultado { font-size:40px; font-family:'Playfair Display', serif; color:white; }
.ag-aviso-estrategico { margin-top:30px; padding:20px; background:rgba(212,175,55,0.05); border:1px solid rgba(212,175,55,0.2); border-radius:8px; font-size:14px; color:#e0e6ed; line-height:1.6; display:flex; gap:15px; align-items:flex-start; font-weight:300; }
.ag-aviso-estrategico strong { color:white; font-weight:600; }
/* Esconde o botão de Receber Orçamento abaixo da Calculadora */
.ag-cta-container { display: none !important; }

.dedicated-team { background-color:var(--bg-body); color:var(--text-main); }
.team-container { max-width:1200px; margin:0 auto; text-align:center; }
.team-container h2 { font-size:38px; margin-bottom:25px; }
.team-container p { font-size:18px; max-width:800px; margin:0 auto 60px; color:#555; font-weight:300; }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; text-align:left; }
.team-card { background-color:var(--bg-gray-light); padding:50px 40px; border-left:4px solid var(--accent); box-shadow:0 10px 40px rgba(0,0,0,0.03); }
.team-card h3 { font-family:'Inter', sans-serif; font-size:20px; margin-bottom:15px; text-transform:uppercase; letter-spacing:1px; }
.team-card p { font-size:15px; color:#555; }

/* =========================================================
   CICLO DE PONTA A PONTA (PULSO E SEQUÊNCIA MAGNÉTICA)
   ========================================================= */
.process-ponta-ponta { background-color:var(--bg-gray-light); border-top:1px solid #eaeaea; }
.process-header { text-align:center; margin-bottom:80px; }
.process-header h2 { font-size:40px; }
.process-timeline { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; position:relative; }

/* Fio de Energia na Linha */
@keyframes energyFlow { 0% { background-position: 200% center; } 100% { background-position: -200% center; } }
.process-timeline::before { 
    content:''; position:absolute; top:35px; left:5%; width:90%; height:3px; z-index:1; 
    background: linear-gradient(90deg, #dddddd 0%, #a0aabf 50%, #dddddd 100%);
    background-size: 200% auto; animation: energyFlow 3s infinite linear;
}

.process-step { width:20%; text-align:center; position:relative; z-index:2; }

/* Os Ícones acendem um por um na sequência */
@keyframes seqPulse {
    0%, 100% { background-color: white; color: var(--accent); border-color: #ddd; box-shadow: none; transform: scale(1); }
    10%, 30% { background-color: var(--bg-dark); color: var(--gold); border-color: var(--gold); box-shadow: 0 0 20px rgba(212,175,55,0.4); transform: scale(1.1); }
    40% { background-color: white; color: var(--accent); border-color: #ddd; box-shadow: none; transform: scale(1); }
}
.process-icon { width:70px; height:70px; background-color:white; border:2px solid #ddd; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 30px; font-family:'Playfair Display', serif; font-size:24px; font-weight:700; color:var(--accent); transition:var(--transition-smooth); }

.process-step:nth-child(1) .process-icon { animation: seqPulse 8s infinite 0s; }
.process-step:nth-child(2) .process-icon { animation: seqPulse 8s infinite 1.5s; }
.process-step:nth-child(3) .process-icon { animation: seqPulse 8s infinite 3s; }
.process-step:nth-child(4) .process-icon { animation: seqPulse 8s infinite 4.5s; }
.process-step:nth-child(5) .process-icon { animation: seqPulse 8s infinite 6s; }

.process-step h4 { font-family:'Inter', sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:1px; margin-bottom:15px; }
.process-step p { font-size:14px; color:#666; font-weight:300; }

/* MEGA FOOTER - AJUSTADO PARA PADRONIZAÇÃO */
.big-footer { background-color:#05080f; color:#a0aabf; padding:80px 5% 40px; font-size:13px; font-weight:300; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:40px; max-width:1200px; margin:0 auto; border-bottom:1px solid rgba(255,255,255,0.1); padding-bottom:50px; }
.footer-col h4 { color:white; font-family:'Inter', sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:25px; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:18px; line-height: 1.4; } /* Espaçamento padronizado */
.footer-col ul li a { color:#8a94a6; transition:color 0.3s; }
.footer-col ul li a:hover { color:white; }
.footer-contact p { margin-bottom:10px; color:#8a94a6; }
.footer-contact strong { color:white; display:block; margin-top:20px; margin-bottom:5px; }
.footer-bottom { max-width:1200px; margin:40px auto 0; text-align:left; font-size:11px; color:#55627a; line-height:1.8; }
.footer-bottom p { margin-bottom:15px; }
.footer-bottom-flex { display:flex; justify-content:space-between; align-items:center; margin-top:30px; border-top:1px solid rgba(255,255,255,0.05); padding-top:20px; }


/* ====================================================================
   PÁGINAS INTERNAS (ECOSSISTEMA RESTAURADO / COMPLIANCE)
   ==================================================================== */
@keyframes scanline { 0% { top: -10%; } 100% { top: 110%; } }
@keyframes dataDrop { 0% { top: -20%; opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { top: 120%; opacity: 0; } }

.page-hero { height: 60vh; min-height: 450px; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; color: white; background-color: var(--bg-dark); border-bottom: 1px solid rgba(255,255,255,0.05); overflow: hidden; }
.page-hero::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(74, 144, 226, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(74, 144, 226, 0.05) 1px, transparent 1px); background-size: 40px 40px; opacity: 0.6; z-index: 1; animation: none;}
.page-hero::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: rgba(74, 144, 226, 0.5); box-shadow: 0 0 15px rgba(74, 144, 226, 0.8); z-index: 2; animation: scanline 10s linear infinite; opacity: 0.4; }

.data-stream { position: absolute; width: 1px; background: linear-gradient(to bottom, transparent, rgba(74, 144, 226, 0.9), transparent); z-index: 2; opacity: 0; }
.ds-1 { left: 15%; height: 150px; animation: dataDrop 4s linear infinite; animation-delay: 0.5s; }
.ds-2 { left: 35%; height: 250px; animation: dataDrop 5s linear infinite; animation-delay: 2s; }
.ds-3 { left: 55%; height: 120px; animation: dataDrop 3.5s linear infinite; animation-delay: 1s; }
.ds-4 { left: 75%; height: 300px; animation: dataDrop 6s linear infinite; animation-delay: 0s; }
.ds-5 { left: 90%; height: 200px; animation: dataDrop 4.5s linear infinite; animation-delay: 3s; }

.page-hero-content { position: relative; z-index: 3; padding: 0 5%; max-width: 1000px; }
.page-hero h1 { font-size: 52px; line-height: 1.1; margin-bottom: 20px; letter-spacing: -1px; text-shadow: 0 10px 30px rgba(0,0,0,0.8); }

.content-section { background-color: var(--bg-dark); padding: 100px 5%; color: white; width: 100%; }
.container { max-width: 1000px; margin: 0 auto; width: 100%; }
.intro-text { text-align: center; margin-bottom: 80px; }
.intro-text h2 { font-size: 36px; margin-bottom: 20px; color: white; }
.intro-text p { font-size: 18px; color: #a0aabf; line-height: 1.8; font-weight: 300; margin-bottom: 20px; }
.intro-text strong { color: white; font-weight: 600; }

.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 80px; text-align: center; }
.stat-box { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 40px 20px; }
.stat-number { font-family: 'Playfair Display', serif; font-size: 48px; color: var(--tech-blue); line-height: 1; margin-bottom: 10px; }
.stat-label { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: #e0e6ed; font-weight: 600; }
.section-title { font-size: 28px; margin-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 15px; color: white; }

/* =========================================================
   RADAR DE NARRATIVAS (AGORA VIVO E EM TEMPO REAL)
   ========================================================= */
.radar-dashboard { background: #ffffff; border-radius: 12px; padding: 30px; margin-bottom: 60px; box-shadow: 0 20px 50px rgba(0,0,0,0.5); display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dashboard-header { grid-column: 1 / -1; display: flex; justify-content: space-between; border-bottom: 2px solid #0A1F44; padding-bottom: 15px; font-family: 'Inter', sans-serif; font-size: 12px; color: #334155; font-weight: 500; }
.dashboard-header .update-btn { background: #0A1F44; color: white; padding: 6px 16px; border-radius: 6px; font-weight: 600; }
.dash-box { border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; text-align: center; }
.dash-box h5 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; color: #0A1F44; margin-bottom: 20px; font-weight: 700; }
.dash-box.thermometer .degree { font-size: 56px; font-weight: 800; color: #f59e0b; font-family: 'Inter', sans-serif; line-height: 1; margin-bottom: 5px; }
.dash-box.thermometer .status { font-size: 18px; color: #334155; font-weight: 600; margin-bottom: 15px; }
.dash-box.thermometer .tag { display: inline-block; font-size: 11px; background: #f1f5f9; border: 1px solid #cbd5e1; padding: 4px 12px; border-radius: 20px; color: #475569; font-weight: 600; }
.dash-box.focus { text-align: left; }
.focus-item { margin-bottom: 16px; }
.focus-item label { display: flex; justify-content: space-between; font-size: 12px; color: #475569; margin-bottom: 6px; font-weight: 500; }

/* Barras do Radar Vivas */
@keyframes radarMotion { 0% { width: 10%; } 100% { width: 95%; } }
.focus-bar { width: 100%; height: 6px; background: #f1f5f9; border-radius: 3px; overflow: hidden; position: relative; }
.focus-bar-fill { 
    height: 100%; border-radius: 3px; position: absolute; left: 0; top: 0; 
    background: linear-gradient(90deg, var(--tech-blue), #60a5fa); 
    animation: radarMotion 2s infinite cubic-bezier(0.4, 0, 0.2, 1) alternate;
}
.focus-item:nth-child(2) .focus-bar-fill { 
    background: linear-gradient(90deg, var(--gold), #fcd34d); 
    animation-duration: 3.5s; 
    animation-delay: -1s; 
}

.dash-box.protagonist { grid-column: span 2; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0A1F44; border: none; padding: 30px; }
.dash-box.protagonist span { font-size: 12px; color: #a0aabf; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; font-weight: 600; }
.dash-box.protagonist strong { font-size: 36px; font-weight: 800; color: white; }
.service-block { display: grid; grid-template-columns: 1fr 2.5fr; gap: 40px; margin-bottom: 60px; align-items: center; }
.service-title h3 { font-size: 24px; margin-bottom: 10px; color: white; }
.service-title span { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--tech-blue); text-transform: uppercase; letter-spacing: 1px; }
.service-desc p { font-size: 16px; color: #a0aabf; margin-bottom: 15px; line-height: 1.7; font-weight: 300; }
.btn-text { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 2px; transition: color 0.3s, border-color 0.3s; }
.btn-text:hover { color: white; border-color: white; }

.reputation-form-container { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; padding: 50px; margin-bottom: 60px; backdrop-filter: blur(10px); box-shadow: 0 20px 50px rgba(0,0,0,0.3); }
.reputation-header { margin-bottom: 35px; text-align: center; }
.reputation-header h3 { font-family: 'Playfair Display', serif; font-size: 32px; color: white; margin-bottom: 10px; }
.reputation-header p { font-size: 15px; color: #a0aabf; font-weight: 300; }

.restriction-alert { display: flex; align-items: center; justify-content: center; gap: 10px; background: rgba(245, 158, 11, 0.05); border: 1px solid rgba(245, 158, 11, 0.3); padding: 12px 20px; border-radius: 6px; margin-bottom: 30px; font-size: 13px; color: #fbd38d; font-weight: 400; text-align: center; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px; }
.input-group { display: flex; flex-direction: column; }
.input-group.full-width { grid-column: 1 / -1; }
.input-group label { font-size: 12px; color: #e0e6ed; margin-bottom: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.input-group input { background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.15); border-radius: 6px; padding: 0 16px; height: 50px; color: white; font-size: 15px; font-family: 'Inter', sans-serif; transition: border-color 0.3s, box-shadow 0.3s; }
.input-group input:focus { outline: none; border-color: var(--tech-blue); box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1); }
.btn-submit-primary { width: 100%; height: 55px; background: white; color: var(--bg-dark); border: none; border-radius: 6px; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: var(--transition-smooth); margin-bottom: 25px; }
.btn-submit-primary:hover { background: #e0e6ed; transform: translateY(-2px); }
.form-disclaimer { text-align: center; font-size: 11px; color: #55627a; line-height: 1.6; }
.form-disclaimer strong { color: #8a94a6; font-weight: 600; display: block; margin-bottom: 4px; }

.hero-compliance { height: 50vh; min-height: 400px; background-color: #05080f; }
.hero-compliance::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(rgba(212, 175, 55, 0.05) 1px, transparent 1px); background-size: 40px 40px; z-index: 1; }
.hero-compliance::before { display: none; } 
.badge { display: inline-block; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.2); color: white; padding: 6px 16px; font-size: 11px; text-transform: uppercase; letter-spacing: 2px; border-radius: 4px; margin-bottom: 20px; }
.content-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: start; }
.sticky-sidebar { position: sticky; top: 120px; }
.sticky-sidebar h2 { font-size: 36px; line-height: 1.2; margin-bottom: 20px; }
.sticky-sidebar p { font-size: 18px; color: #a0aabf; font-weight: 300; }
.sticky-sidebar .line-accent { width: 60px; height: 3px; background-color: var(--tech-blue); margin-bottom: 30px; }
.btn-outline-white { display: inline-block; margin-top: 20px; padding: 14px 32px; border-radius: 6px; background: transparent; border: 1px solid rgba(255,255,255,0.3); color: white; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: var(--transition-smooth); }
.btn-outline-white:hover { background: white; color: var(--bg-dark); border-color: white; }
.main-content p { font-size: 17px; color: #e0e6ed; margin-bottom: 25px; font-weight: 300; line-height: 1.8; }
.tools-list { display: flex; flex-direction: column; gap: 20px; margin-top: 40px; }
.tool-card { background: rgba(255,255,255,0.01); border: 1px solid rgba(255,255,255,0.05); border-radius: 12px; padding: 35px; border-left: 3px solid #64748b; margin-bottom: 20px;}
.tool-name { font-family: 'Inter', sans-serif; font-size: 18px; font-weight: 700; color: white; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.5px; }
.tool-desc { font-size: 15px; color: #a0aabf; line-height: 1.7; font-weight: 300; }
.hero-contabilidade { height: 50vh; min-height: 400px; background-color: #05080f; }
.hero-contabilidade::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px); background-size: 50px 50px; z-index: 1; }
.hero-contabilidade::before { display: none; } 

/* ====================================================================
   FIX NUCLEAR DEFINITIVO: CARREIRAS E FORNECEDORES (CORREÇÃO DE TEXTO)
   ==================================================================== */
.tech-bg-fixed { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; background-color: var(--bg-dark); }
.grid-matrix { position: absolute; width: 200%; height: 200%; top: -50%; left: -50%; background-image: linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px); background-size: 50px 50px; transform: perspective(500px) rotateX(60deg); opacity: 0.15; }
.carreiras-hero { text-align: center; margin-bottom: 80px; padding-top: 50px; }
.carreiras-hero h1 { font-family: 'Playfair Display', serif; font-size: 52px; color: var(--gold); margin-bottom: 20px; }
.carreiras-hero p { color: #a0aabf; font-size: 18px; max-width: 800px; margin: 0 auto; font-weight: 300; }

.selector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }

/* FORÇANDO COR BRANCA ABSOLUTA PARA DESTRUIR REGRAS DO ELEMENTOR */
body .selector .opt { background: rgba(255,255,255,0.02) !important; border: 1px solid rgba(255,255,255,0.2) !important; padding: 30px 20px !important; border-radius: 8px !important; cursor: pointer !important; text-align: center !important; transition: 0.4s !important; }
body .selector .opt h4, body .selector .opt span, body .selector .opt p { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; fill: #ffffff !important; font-size: 18px !important; font-weight: 600 !important; }
body .selector .opt:hover { border-color: var(--tech-blue) !important; box-shadow: 0 0 20px rgba(74,144,226,0.2) !important; }
body .selector .opt.active { border-color: var(--gold) !important; background: rgba(212, 175, 55, 0.05) !important; }
body .selector .opt.active h4 { color: var(--gold) !important; -webkit-text-fill-color: var(--gold) !important; }

.terminal { background: rgba(10, 15, 26, 0.8); border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 1.4fr 1fr; overflow: hidden; box-shadow: 0 50px 100px rgba(0,0,0,0.5); backdrop-filter: blur(20px); }
.form-side { padding: 50px; border-right: 1px solid var(--border); }
.log-side { padding: 50px; background: rgba(0,0,0,0.2); font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #55627a; }
.group { margin-bottom: 25px; position: relative; }
.group label { display: block; font-size: 11px; color: var(--gold); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; font-weight: 700; }
.form-side input, .form-side textarea, .form-side select { width: 100%; background: rgba(0,0,0,0.3); border: 1px solid var(--border); padding: 15px; color: #fff; border-radius: 4px; transition: 0.3s; font-family: 'Inter'; }
.form-side input:focus { border-color: var(--tech-blue); outline: none; background: rgba(0,0,0,0.5); }
.btn-submit { width: 100%; padding: 20px; background: #fff; color: #000; border: none; border-radius: 4px; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: 0.4s; margin-top: 25px; }
.btn-submit:hover:not(:disabled) { background: var(--gold); transform: translateY(-2px); }
.log-line { margin-bottom: 8px; opacity: 0.8; }
.log-line span { color: var(--tech-blue); }

/* PÁGINAS LEGAIS E NDA - BLINDAGEM DE LEITURA NUCLEAR */
.legal-container, .nda-container, .post-content, .post-content p, .post-content li, .post-content span {
    color: #cbd5e1 !important; /* Platinum/Gray para leitura confortável */
    -webkit-text-fill-color: #cbd5e1 !important;
}
.legal-container h1, .legal-container h2, .nda-container h1, .nda-container h2, .post-content h1, .post-content h2 {
    color: var(--gold) !important;
    -webkit-text-fill-color: var(--gold) !important;
    font-family: 'Playfair Display', serif !important;
}
.legal-container strong, .nda-container strong, .post-content strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* PÁGINA DE OBRIGADO */
.thanks-container { min-height: 80vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 100px 5%; color: white; }
.thanks-content { max-width: 600px; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.08); padding: 60px 40px; border-radius: 16px; backdrop-filter: blur(10px); border-top: 4px solid var(--gold); }
.thanks-icon { font-size: 50px; margin-bottom: 25px; display: inline-block; color: var(--gold); animation: btnAura 2s infinite alternate; }
.btn-back-home { display: inline-block; padding: 14px 30px; border: 1px solid rgba(255,255,255,0.2); color: white; text-transform: uppercase; font-size: 12px; letter-spacing: 2px; font-weight: 600; transition: 0.3s; border-radius: 4px; }


/* ====================================================================
   MÓDULO DE MENU: WAR ROOM (HUD) - EXCLUSIVO PARA MOBILE E TABLET
   ==================================================================== */
.cyber-toggle { display: none; } 
.war-room-menu { display: none; }

/* Position Fixed e altura em viewport garantem que o menu acompanhe o scroll */
.war-room-menu.active-mobile { 
    position: fixed; top: 0; left: 0; width: 100vw; height: auto; min-height: 100vh; padding-top: 80px; padding-bottom: 30px; 
    background: rgba(2, 4, 10, 0.98); flex-direction: column; justify-content: flex-start; align-items: center; 
    z-index: 1500; opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1); 
    border-bottom: 1px solid var(--gold); box-shadow: 0 20px 50px rgba(0,0,0,0.8);
}
.war-room-menu.active-mobile.active { opacity: 1; visibility: visible; clip-path: inset(0 0 0 0); pointer-events: auto; }

.wr-status { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--tech-blue); text-transform: uppercase; letter-spacing: 2px; z-index: 2; display: flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(-10px); transition: all 0.5s 0.4s; }
.wr-status::before { content: ''; width: 6px; height: 6px; background: var(--tech-blue); border-radius: 50%; box-shadow: 0 0 8px var(--tech-blue); animation: wrBlink 1s infinite; }
@keyframes wrBlink { 50% { opacity: 0.3; } }
.war-room-menu.active-mobile.active .wr-status { opacity: 1; transform: translateY(0); }

.war-room-menu.active-mobile ul { list-style: none; text-align: center; width: 100%; z-index: 2; margin-top: 30px; display: flex !important; flex-direction: column; gap: 15px; padding:0;}
.war-room-menu.active-mobile ul li { margin: 10px 0; display: block;}
.wr-link { color: white; text-decoration: none; font-family: 'Playfair Display', serif; font-size: 28px; letter-spacing: 1px; position: relative; display: inline-block; transition: 0.3s; }
.wr-link::before, .wr-link::after { position: absolute; top: 50%; transform: translateY(-50%); font-family: 'JetBrains Mono', monospace; font-size: 20px; color: var(--gold); opacity: 0; transition: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.wr-link::before { content: '['; left: -25px; }
.wr-link::after { content: ']'; right: -25px; }
.wr-link:hover { color: var(--gold); text-shadow: 0 0 15px rgba(212, 175, 55, 0.4); }
.wr-link:hover::before { opacity: 1; left: -15px; }
.wr-link:hover::after { opacity: 1; right: -15px; }
.wr-id { display: block; font-family: 'JetBrains Mono', monospace; font-size: 9px; color: #55627a; margin-bottom: 5px; letter-spacing: 4px; text-align: center;}

.fechar-discreto { display: inline-block; margin-top: 30px; color: #55627a; font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: 0.3s; text-decoration: none; z-index: 2; opacity: 0; }
.war-room-menu.active-mobile.active .fechar-discreto { opacity: 1; transition: opacity 0.5s 1s; }
.fechar-discreto:hover { color: var(--alert-red); }


/* ====================================================================
   RESPONSIVIDADE MASTER
   ==================================================================== */
@media (min-width: 1400px) {
    .container, .content-grid, .tech-container, .track-container, .legal-container { max-width: 1300px; }
    .hero h1 { font-size: 68px; max-width: 1100px; }
    .hero p { font-size: 22px; max-width: 900px; }
}

@media (max-width: 1024px) {
    /* TABLET: ESCONDE MENU ANTIGO, MOSTRA ÍCONE WAR ROOM */
    header nav#desktop-nav { display: none !important; width: 0 !important; height: 0 !important; overflow: hidden !important; }
    header .btn-header { display: none !important; width: 0 !important; height: 0 !important; overflow: hidden !important; }
    
    .cyber-toggle { display: block !important; width: 35px; height: 20px; position: relative; cursor: pointer; z-index: 2500; flex-shrink: 0; margin-left: auto; }
    .cyber-toggle span { display: block; position: absolute; height: 2px; width: 100%; background: var(--gold); transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); box-shadow: 0 0 8px rgba(212, 175, 55, 0.4); }
    .cyber-toggle span:nth-child(1) { top: 0; right: 0; }
    .cyber-toggle span:nth-child(2) { top: 9px; right: 0; width: 70%; }
    .cyber-toggle span:nth-child(3) { bottom: 0; right: 0; width: 40%; }
    .cyber-toggle.active span:nth-child(1) { top: 9px; transform: rotate(45deg); width: 100%; background: var(--alert-red); box-shadow: 0 0 10px rgba(255,77,77,0.6); }
    .cyber-toggle.active span:nth-child(2) { opacity: 0; width: 0; }
    .cyber-toggle.active span:nth-child(3) { bottom: 9px; transform: rotate(-45deg); width: 100%; background: var(--alert-red); box-shadow: 0 0 10px rgba(255,77,77,0.6); }
    
    .war-room-menu { display: flex !important; }
    
    .content-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .radar-dashboard { grid-template-columns: 1fr; }
    .dash-box.protagonist { grid-column: span 1; }
    .service-block { grid-template-columns: 1fr 2fr; gap: 30px; }
    .ag-controles { grid-template-columns: 1fr 1fr; gap: 15px; }
    .ag-resultados { grid-template-columns: 1fr 1fr; gap: 15px; }
    .hero h1, .page-hero h1 { font-size: 48px; }
}

@media (max-width: 768px) {
    /* MOBILE: REFORÇO NO HEADER E REAJUSTE DE PÁGINAS INTERNAS */
    header { padding: 15px 5% !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; display: flex !important; } 
    header nav#desktop-nav { display: none !important; } 
    header .btn-header { display: none !important; }
    .cyber-toggle { display: block !important; flex-shrink: 0 !important; }
    .war-room-menu { display: flex !important; }
    
    .logo { gap: 8px; align-items: center; flex-shrink: 0 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important;}
    .logo-ag { font-size: 22px !important; line-height: 1 !important;}
    .logo-politico { font-size: 9px !important; letter-spacing: 3px !important; margin-top: 2px !important;}
    
    .hero h1, .page-hero h1, .carreiras-hero h1 { font-size: 38px; }
    .hero p, .page-hero p { font-size: 16px; padding: 0 10px; }
    
    /* RECONSTRUÇÃO DA RESPONSIVIDADE (CORRIGE AS PÁGINAS QUE QUEBRARAM) */
    .content-grid { grid-template-columns: 1fr !important; gap: 40px; } 
    .stats-grid { grid-template-columns: 1fr !important; gap: 20px; } 
    .service-block { grid-template-columns: 1fr !important; gap: 20px; } 
    .form-grid { grid-template-columns: 1fr !important; gap: 20px; } 
    
    .track-container, .tech-container, .team-grid, .terminal, .selector { grid-template-columns: 1fr; gap: 40px; }
    .ag-controles { grid-template-columns: 1fr; gap: 20px; } 
    .ag-btn-calcular { width: 100%; margin-top: 10px; } 
    .ag-contexto { flex-direction: column; gap: 16px; }
    .ag-resultados { grid-template-columns: 1fr; gap: 15px; } 
    .process-timeline { flex-direction: column; gap: 30px; } 
    .process-timeline::before { display: none; } 
    .process-step { width: 100%; }
    .footer-bottom-flex { flex-direction: column; text-align: left; gap: 15px; align-items: flex-start; }
    .log-side { display: none; }
    .reputation-form-container { padding: 30px 20px; }
    .sticky-sidebar { position: static; }
}

@media (max-width: 480px) {
    .hero h1, .page-hero h1 { font-size: 32px; }
    .manifesto h2 { font-size: 30px; }
    .track-text h2, .tech-content h2, .team-container h2 { font-size: 28px; line-height: 1.1; }
    .stat-number { font-size: 36px; }
    .stat-number { font-size: 36px; }
    .ag-valor-resultado { font-size: 30px; }
    .ag-header h3 { font-size: 24px; }
}