/* ==========================================
   1. VARIÁVEIS OFICIAIS E BASE (TRANCADO)
   ========================================== */
:root {
    --brand: #00BCE3;         
    --brand-hover: #0096b5;
    --brand-green: #8CC63F;
    --brand-glow: rgba(0, 188, 227, 0.25);
    --bg-body: #f4f7f9;       
    --surface: #ffffff;       
    --dark-bg: #0b1120;       
    --dark-surface: #151e32;
    --text-title: #0f172a;
    --text-body: #475569;
    --text-light: #94a3b8;
    --text-muted: #64748b;
    --whatsapp: #25D366;     
    --emergency: #ef4444;    
    --warning: #f59e0b;       
    --purple: #8b5cf6;        
    --teal: #14b8a6;          
    --dark-card: #04070e;     
    --radius-pill: 100px;
    --radius-lg: 20px; 
    --radius-md: 12px;
    --shadow-micro: 0 4px 15px rgba(0,0,0,0.03);
    --shadow-soft: 0 10px 30px rgba(0,0,0,0.06);
    --shadow-float: 0 20px 40px rgba(11, 17, 32, 0.08);
    --transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-font-smoothing: antialiased; }
body { font-family: 'Poppins', sans-serif; background-color: var(--bg-body); color: var(--text-body); line-height: 1.5; overflow-x: hidden; font-size: 0.9rem; }
body.modal-open { overflow: hidden; }
h1, h2, h3, h4 { font-family: 'Montserrat', sans-serif; color: var(--text-title); letter-spacing: -0.5px; line-height: 1.2;}
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ==========================================
   2. MENU PRINCIPAL E RODAPÉ (TRANCADO)
   ========================================== */
.navbar-wrapper { position: fixed; top: 15px; left: 0; right: 0; z-index: 1000; display: flex; justify-content: center; padding: 0 20px; }
.navbar { background: linear-gradient(90deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 100%); backdrop-filter: blur(30px) saturate(150%) brightness(120%); -webkit-backdrop-filter: blur(30px) saturate(150%) brightness(120%); border: 1px solid rgba(255, 255, 255, 0.3); border-top: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--radius-pill); display: flex; justify-content: space-between; align-items: center; padding: 8px 12px 8px 24px; width: 100%; max-width: 1100px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.5); }
.logo { height: 26px; }
.nav-menu { display: flex; gap: 4px; list-style: none; align-items: center; margin-right: 10px;}
.nav-item { position: relative; } 
.nav-link { font-family: 'Poppins', sans-serif; color: var(--text-title); text-decoration: none; font-weight: 600; font-size: 0.8rem; padding: 8px 14px; border-radius: var(--radius-pill); transition: var(--transition); cursor: pointer; display: flex; align-items: center; gap: 6px; }
.nav-link i { font-size: 0.6rem; opacity: 0.6; }
.nav-item:hover .nav-link { background: rgba(255, 255, 255, 0.5); color: var(--brand); }
.dropdown { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(15px); background: #ffffff; border: 1px solid rgba(0,0,0,0.05); box-shadow: 0 30px 60px -15px rgba(11, 17, 32, 0.5); border-radius: 16px; padding: 12px; min-width: 250px; opacity: 0; visibility: hidden; transition: all 0.3s ease; display: flex; flex-direction: column; gap: 4px; z-index: 1001; }
.dropdown::before { content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%) rotate(45deg); width: 14px; height: 14px; background: #ffffff; border-top: 1px solid rgba(0,0,0,0.05); border-left: 1px solid rgba(0,0,0,0.05); z-index: 0; }
.nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.drop-link { display: flex; align-items: center; gap: 10px; padding: 10px 14px; text-decoration: none; color: var(--text-title); font-size: 0.8rem; font-weight: 600; border-radius: 10px; transition: var(--transition); position: relative; z-index: 2; }
.drop-link i { color: var(--brand); font-size: 1rem; width: 20px; text-align: center; }
.drop-link:hover { background: #f4f7f9; color: var(--brand); transform: translateX(4px); }
.drop-title { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; color: var(--text-light); letter-spacing: 1px; padding: 4px 14px; position: relative; z-index: 2;}
.nav-actions { display: flex; gap: 8px; align-items: center; }
.btn-outline { font-family: 'Poppins', sans-serif; color: var(--text-title); font-weight: 600; text-decoration: none; font-size: 0.75rem; display: flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.45); border: 1px solid rgba(255, 255, 255, 0.6); transition: var(--transition); cursor: pointer; white-space: nowrap;}
.btn-outline:hover { background: white; border-color: var(--brand); color: var(--brand); }
.btn-primary { font-family: 'Poppins', sans-serif; background: linear-gradient(135deg, var(--brand) 0%, #0096b5 100%); color: white; padding: 8px 20px; border-radius: var(--radius-pill); font-weight: 600; text-decoration: none; font-size: 0.75rem; transition: var(--transition); box-shadow: 0 4px 15px var(--brand-glow); display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: none; cursor: pointer; white-space: nowrap;}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,188,227,0.4); }
.menu-toggle { display: none; font-size: 1.3rem; color: var(--text-title); cursor: pointer; padding: 5px; }
@media (max-width: 992px) { .navbar { padding: 6px 12px 6px 20px; } .nav-menu { display: none; } .btn-outline { display: none; } .menu-toggle { display: block; } }

.mobile-menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); z-index: 2000; display: flex; flex-direction: column; padding: 30px 20px; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); overflow-y: auto; }
.mobile-menu-overlay.active { transform: translateX(0); }
.mm-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.mm-close { font-size: 1.8rem; color: var(--text-title); cursor: pointer; }
.mm-links { display: flex; flex-direction: column; gap: 8px; }
.mm-section-title { font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--brand); text-transform: uppercase; letter-spacing: 1px; margin-top: 15px; margin-bottom: 2px;}
.mm-link { text-decoration: none; color: var(--text-title); font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,0.05);}
.mm-link:last-child { border-bottom: none; }
.mm-link i { color: var(--brand); width: 22px; text-align: center;}
.mm-footer { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(0,0,0,0.05); }

.footer { background: var(--dark-surface); padding: 50px 0 20px; color: #94a3b8; border-top: 4px solid var(--brand-green); margin-top: 0;} 
.footer-grid { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1.5fr; gap: 30px; margin-bottom: 30px; }
@media (max-width: 992px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; } }
@media (max-width: 600px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-brand img { height: 26px; filter: brightness(0) invert(1); margin-bottom: 15px; opacity: 0.9;}
.footer-brand p { font-size: 0.75rem; max-width: 320px; line-height: 1.5; margin-bottom: 15px;}
.social-icons { display: flex; gap: 10px; }
.social-icons a { width: 32px; height: 32px; background: rgba(255,255,255,0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; transition: var(--transition); font-size: 0.85rem;}
.social-icons a:hover { background: var(--brand); transform: translateY(-3px); box-shadow: 0 5px 15px var(--brand-glow);}
.footer-title { font-size: 0.8rem; margin-bottom: 15px; color: white; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.footer-links a { color: #cbd5e1; text-decoration: none; transition: var(--transition); font-size: 0.75rem; }
.footer-links a:hover { color: var(--brand); padding-left: 6px; }
.footer-contact li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.75rem; margin-bottom: 10px; color: #cbd5e1; line-height: 1.4;}
.footer-contact i { color: var(--brand); font-size: 1rem; margin-top: 2px; }
.footer-bottom { padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); display: flex; justify-content: space-between; align-items: center; font-size: 0.7rem; }

/* ==========================================
   3. HERO BANNER BIONIC COMPACTO
   ========================================== */
.bionic-hero { 
    position: relative; background-color: var(--dark-bg); 
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start; overflow: hidden; 
    padding: 160px 5% 120px; 
    text-align: center; z-index: 1; min-height: auto;
}
.hero-bg-grid-perspective { 
    position: absolute; inset: -40%; z-index: -2; 
    background-image: linear-gradient(to right, rgba(0, 188, 227, 0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 188, 227, 0.04) 1px, transparent 1px); 
    background-size: 50px 50px; 
    transform: perspective(300px) rotateX(55deg) translateY(-20px) translateZ(-100px); 
    animation: gridMove perspective 15s linear infinite; 
} 
@keyframes gridMove { 100% { transform: perspective(300px) rotateX(55deg) translateY(0px) translateZ(-100px); } }

.hero-glow-1 { position: absolute; top: -15%; left: -15%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(0, 188, 227, 0.12) 0%, transparent 60%); z-index: -1; filter: blur(50px); }
.hero-glow-2 { position: absolute; bottom: 0%; right: -15%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(140, 198, 63, 0.08) 0%, transparent 60%); z-index: -1; filter: blur(50px); }

.hero-content { position: relative; z-index: 10; max-width: 900px; display: flex; flex-direction: column; align-items: center; margin-bottom: 40px; } 
.hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(140, 198, 63, 0.08); border: 1px solid rgba(140, 198, 63, 0.25); color: var(--brand-green); padding: 7px 18px; border-radius: var(--radius-pill); font-family: 'Space Mono', monospace; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; box-shadow: 0 0 15px rgba(140, 198, 63, 0.08); }
.hero-badge .led { width: 7px; height: 7px; background: var(--brand-green); border-radius: 50%; box-shadow: 0 0 8px var(--brand-green); animation: pulseLed 1.2s infinite alternate; }

.hero-title { font-family: 'Montserrat', sans-serif; font-size: clamp(2.2rem, 5.5vw, 3.8rem); font-weight: 900; color: #ffffff; line-height: 1.1; margin-bottom: 20px; letter-spacing: -0.02em; }
.text-gradient { background: linear-gradient(135deg, #00BCE3 0%, #8CC63F 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block; }
.hero-description { font-size: clamp(0.95rem, 2.2vw, 1.1rem); color: #94a3b8; max-width: 650px; margin-bottom: 30px; line-height: 1.5; }

.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.btn-primary-hero { background: var(--brand); color: white; border: none; padding: 14px 32px; border-radius: var(--radius-pill); font-family: 'Poppins', sans-serif; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 8px; text-decoration: none; box-shadow: 0 8px 20px rgba(0, 188, 227, 0.25), inset 0 1px 0 rgba(255,255,255,0.1); }
.btn-primary-hero:hover { background: #00a0c2; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 188, 227, 0.3); }
.btn-glass-hero { background: rgba(255, 255, 255, 0.04); color: white; border: 1px solid rgba(255, 255, 255, 0.08); padding: 14px 32px; border-radius: var(--radius-pill); font-family: 'Poppins', sans-serif; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 8px; text-decoration: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.btn-glass-hero:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); transform: translateY(-2px); }

/* Link Terciário (SLA) */
.hero-tertiary-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; font-family: 'Poppins', sans-serif; font-size: 0.85rem; font-weight: 600; color: var(--brand); text-decoration: none; transition: all 0.3s; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.hero-tertiary-link:hover { color: #ffffff; border-bottom: 1px solid var(--brand); transform: translateX(4px); }

/* Portal de Métricas */
.hero-metrics-strip { position: relative; width: 100%; max-width: 900px; background: var(--dark-card); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border: 1px solid rgba(0, 188, 227, 0.15); border-top: 1px solid rgba(0, 188, 227, 0.3); border-radius: var(--radius-md); padding: 16px 30px; display: flex; gap: 40px; box-shadow: 0 15px 35px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05); z-index: 20; overflow: hidden;}
.hero-metrics-strip::before { content: ''; position: absolute; inset: -50%; background-image: radial-gradient(rgba(0, 188, 227, 0.06) 1px, transparent 1px); background-size: 15px 15px; transform: scale(0.6); opacity: 0.1; }
.metric-item-tactic { display: flex; align-items: center; gap: 12px; flex: 1; position: relative; z-index: 2; }
.metric-icon-tactic { width: 34px; height: 34px; background: rgba(0, 188, 227, 0.06); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--brand); font-size: 1rem; border: 1px solid rgba(0, 188, 227, 0.15); box-shadow: 0 0 10px rgba(0, 188, 227, 0.06); }
.metric-icon-tactic.green { color: var(--brand-green); background: rgba(140,198,63,0.06); border-color: rgba(140,198,63,0.15); box-shadow: 0 0 10px rgba(140,198,63,0.06); }
.metric-icon-tactic.alert { color: #fca5a5; background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.15); box-shadow: 0 0 10px rgba(239,68,68,0.06); }

.metric-text-tactic { display: flex; flex-direction: column; text-align: left; }
.metric-text-tactic strong { font-family: 'Montserrat'; font-size: 0.9rem; color: white; font-weight: 700; line-height: 1.1;}
.metric-text-tactic span { font-family: 'Space Mono', monospace; font-size: 0.6rem; color: #cbd5e1; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.8; }

@media (max-width: 900px) { 
    .hero-metrics-strip { flex-direction: column; gap: 18px; padding: 22px; } 
    .hero-actions { flex-direction: column; width: 100%; } 
    .btn-primary-hero, .btn-glass-hero { width: 100%; justify-content: center; } 
    .bionic-hero { padding-bottom: 60px; } 
    .metric-item-tactic { width: 100%; }
}

/* ==========================================
   4. ESTRUTURA BASE DE SECÇÕES
   ========================================== */
.page-section { padding: 120px 20px; display: flex; flex-direction: column; align-items: center; width: 100%; }
.bg-light { background-color: var(--bg-body); }
.bg-dark { background-color: #cbd5e1; } 

.scroll-bridge { margin-top: 20px; padding: 20px; text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--text-muted); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: color 0.3s; }
.scroll-bridge:hover { color: var(--brand); }
.scroll-bridge i { font-size: 1.2rem; animation: floatDown 2s infinite ease-in-out; }
@keyframes floatDown { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

/* ==========================================
   5. CARD 1: MONITOR CLÍNICO B2B (LIGHT)
   ========================================== */
.bionic-threat-wrapper { width: 100%; max-width: 1200px; background: var(--surface); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 50px rgba(11, 17, 32, 0.08); border: 1px solid rgba(0,0,0,0.04); position: relative; margin: 0 auto;}
.blueprint-grid-light { position: absolute; inset: 0; background-size: 40px 40px; background-image: linear-gradient(to right, rgba(0, 188, 227, 0.02) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 188, 227, 0.02) 1px, transparent 1px); z-index: 0; pointer-events: none; }
.section-header { position: relative; z-index: 2; text-align: center; padding: 40px 30px 10px; }
.section-header .badge-micro { display: inline-flex; align-items: center; gap: 6px; background: rgba(239, 68, 68, 0.08); color: var(--emergency); padding: 6px 14px; border-radius: var(--radius-pill); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border: 1px solid rgba(239, 68, 68, 0.2); margin-bottom: 16px; font-family: 'Space Mono', monospace;}
.section-header h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 800; color: var(--text-title); margin-bottom: 12px; }
.section-header p { font-size: clamp(0.85rem, 2vw, 0.95rem); color: var(--text-muted); max-width: 650px; margin: 0 auto 20px; line-height: 1.6;}

.nav-wrapper-ui { position: relative; z-index: 2; display: flex; padding: 10px 20px 30px; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; justify-content: center; }
.nav-wrapper-ui::-webkit-scrollbar { display: none; }
.segment-tabs-ui { display: flex; background: rgba(11, 17, 32, 0.03); padding: 5px; border-radius: var(--radius-pill); gap: 4px; border: 1px solid rgba(0, 0, 0, 0.03); box-shadow: inset 0 2px 5px rgba(0,0,0,0.02); flex-shrink: 0; margin: 0 auto; }
.threat-tab { background: transparent; border: none; padding: 10px 24px; border-radius: var(--radius-pill); font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 0.8rem; color: var(--text-muted); cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; }
.threat-tab:hover { color: var(--text-title); background: rgba(0,0,0,0.02); }
.threat-tab.active { background: var(--surface); color: var(--brand); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); border: 1px solid rgba(0, 0, 0, 0.02); }
@media (max-width: 768px) { .nav-wrapper-ui { justify-content: flex-start; } .segment-tabs-ui { margin: 0; } .threat-tab { padding: 8px 18px; font-size: 0.75rem; } }

.threat-pane { display: none; padding: 20px 40px 40px; position: relative; z-index: 2; }
.threat-pane.active { display: grid; grid-template-columns: 350px 1fr; gap: 30px; animation: paneFade 0.4s ease forwards; align-items: stretch; }
@keyframes paneFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) { .threat-pane.active { grid-template-columns: 1fr; gap: 24px;} .threat-pane { padding: 16px 20px 30px; } }

.t-profile-improved { background: var(--dark-bg); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 15px 35px rgba(11,17,32,0.15), inset 0 0 30px rgba(0,188,227,0.05); position: sticky; top: 100px; height: 100%; overflow: hidden;}
@media (max-width: 900px) { .t-profile-improved { position: relative; top: 0; } }
.tech-photo-wrapper { position: relative; width: 100%; border-radius: 12px; padding: 6px; background: rgba(0, 188, 227, 0.05); border: 1px solid rgba(0, 188, 227, 0.2); margin-bottom: 20px; overflow: hidden; }
.tech-photo-wrapper::before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px; border-top: 2px solid var(--brand); border-left: 2px solid var(--brand); border-top-left-radius: 12px; z-index: 5;}
.tech-photo-wrapper::after { content: ''; position: absolute; bottom: 0; right: 0; width: 30px; height: 30px; border-bottom: 2px solid var(--brand); border-right: 2px solid var(--brand); border-bottom-right-radius: 12px; z-index: 5;}
.tech-photo-wrapper img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; filter: contrast(110%) brightness(0.9); }
.photo-scanner { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--brand); box-shadow: 0 0 15px 2px var(--brand); z-index: 10; animation: droneScan 3s infinite ease-in-out alternate; opacity: 0.7;}
@keyframes droneScan { 0% { top: 0%; } 100% { top: 100%; } }
.severity-badge { position: absolute; top: 12px; right: 12px; font-family: 'Space Mono', monospace; font-size: 0.6rem; font-weight: 700; padding: 4px 8px; border-radius: 4px; z-index: 20; animation: alertBlink 1.5s infinite; letter-spacing: 0.5px; }
.severity-critical { background: rgba(239, 68, 68, 0.2); color: #fca5a5; border: 1px solid rgba(239, 68, 68, 0.5); box-shadow: 0 0 10px rgba(239, 68, 68, 0.4); }
.severity-high { background: rgba(245, 158, 11, 0.2); color: #fcd34d; border: 1px solid rgba(245, 158, 11, 0.5); box-shadow: 0 0 10px rgba(245, 158, 11, 0.4); }
@keyframes alertBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

.t-taxon { font-family: 'Space Mono', monospace; font-size: 0.65rem; color: var(--brand-green); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 5px; display: block;}
.t-profile-improved h3 { color: white; margin-bottom: 10px; font-size: 1.8rem;}
.t-profile-improved p { font-size: 0.8rem; color: #94a3b8; margin-bottom: 30px;}

.metric-row { margin-bottom: 16px; }
.metric-row:last-child { margin-bottom: 0; }
.metric-label { display: flex; justify-content: space-between; align-items: flex-end; font-size: 0.7rem; color: #cbd5e1; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; font-family: 'Poppins'; }
.metric-label strong { color: white; font-family: 'Space Mono'; font-size: 1rem; text-shadow: 0 0 10px rgba(255,255,255,0.2);}
.progress-track { width: 100%; height: 6px; background: rgba(255,255,255,0.05); border-radius: 10px; overflow: hidden; }
.progress-fill-improved { height: 100%; width: 0; border-radius: 10px; transition: width 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s; }
.threat-pane.active .progress-fill-improved { width: var(--risk-level); }

.t-impacts-improved { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-content: start; height: 100%; }
@media (max-width: 600px) { .t-impacts-improved { grid-template-columns: 1fr; gap: 16px;} }

.impact-card-improved { background: rgba(244, 247, 249, 0.6); border: var(--border-light); padding: 22px; border-radius: 16px; transition: all 0.3s ease; display: flex; flex-direction: column; gap: 12px; position: relative; cursor: pointer; }
@media (hover: hover) {
    .impact-card-improved:hover { background: var(--surface); border-color: rgba(0, 188, 227, 0.3); transform: translateY(-4px); box-shadow: 0 15px 35px rgba(11,17,32,0.08); }
    .impact-card-improved:hover .impact-icon-improved { transform: scale(1.1) translateY(-3px); }
    .impact-card-improved:hover .ic-red { animation: pulseRed 1.5s infinite; }
    .impact-card-improved:hover .ic-blue { animation: pulseBlue 1.5s infinite; }
    .impact-card-improved:hover .ic-green { animation: pulseGreen 1.5s infinite; }
    .impact-card-improved:hover .ic-warn { animation: pulseWarn 1.5s infinite; }
    .impact-card-improved:hover .ic-purple { animation: pulsePurple 1.5s infinite; }
    .impact-card-improved:hover .ic-teal { animation: pulseTeal 1.5s infinite; }
}
.action-hint { font-size: 0.7rem; color: var(--brand); font-weight: 600; display: flex; align-items: center; gap: 5px; margin-top: auto; opacity: 0.7; transition: opacity 0.3s; }
.impact-card-improved:hover .action-hint { opacity: 1; }
.impact-icon-improved { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; flex-shrink: 0; transition: all 0.4s ease; }
.impact-tag { font-family: 'Space Mono'; font-size: 0.55rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; display: block; }
.tag-red { color: var(--emergency); } .tag-blue { color: var(--brand); } .tag-green { color: var(--brand-green); } .tag-warn { color: var(--warning); } .tag-purple { color: var(--purple); } .tag-teal { color: var(--teal); }
.impact-text-improved { flex: 1; display: flex; flex-direction: column;}
.impact-text-improved h4 { font-size: 0.95rem; margin-bottom: 6px; }
.impact-text-improved p { font-size: 0.8rem; margin: 0 0 10px 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 

.ic-red { background: rgba(239, 68, 68, 0.1); color: var(--emergency); border: 1px solid rgba(239, 68, 68, 0.2); }
.ic-blue { background: rgba(0, 188, 227, 0.1); color: var(--brand); border: 1px solid rgba(0, 188, 227, 0.2); }
.ic-green { background: rgba(140, 198, 63, 0.1); color: var(--brand-green); border: 1px solid rgba(140, 198, 63, 0.2); }
.ic-warn { background: rgba(245, 158, 11, 0.1); color: var(--warning); border: 1px solid rgba(245, 158, 11, 0.2); }
.ic-purple { background: rgba(139, 92, 246, 0.1); color: var(--purple); border: 1px solid rgba(139, 92, 246, 0.2); }
.ic-teal { background: rgba(20, 184, 166, 0.1); color: var(--teal); border: 1px solid rgba(20, 184, 166, 0.2); }

@keyframes pulseRed { 0%, 100% { box-shadow: 0 0 15px rgba(239, 68, 68, 0.2); } 50% { box-shadow: 0 0 25px rgba(239, 68, 68, 0.6); } }
@keyframes pulseBlue { 0%, 100% { box-shadow: 0 0 15px rgba(0, 188, 227, 0.2); } 50% { box-shadow: 0 0 25px rgba(0, 188, 227, 0.6); } }
@keyframes pulseGreen { 0%, 100% { box-shadow: 0 0 15px rgba(140, 198, 63, 0.2); } 50% { box-shadow: 0 0 25px rgba(140, 198, 63, 0.6); } }
@keyframes pulseWarn { 0%, 100% { box-shadow: 0 0 15px rgba(245, 158, 11, 0.2); } 50% { box-shadow: 0 0 25px rgba(245, 158, 11, 0.6); } }
@keyframes pulsePurple { 0%, 100% { box-shadow: 0 0 15px rgba(139, 92, 246, 0.2); } 50% { box-shadow: 0 0 25px rgba(139, 92, 246, 0.6); } }
@keyframes pulseTeal { 0%, 100% { box-shadow: 0 0 15px rgba(20, 184, 166, 0.2); } 50% { box-shadow: 0 0 25px rgba(20, 184, 166, 0.6); } }
.report-content { display: none; }

/* ==========================================
   6. CARD 2: HUD BIONIC TÁTICO (DARK) E CORREÇÃO DE IMAGENS
   ========================================== */
.bio-hud-wrapper { width: 100%; max-width: 1200px; background: var(--dark-card); border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px rgba(11, 17, 32, 0.4), inset 0 0 0 1px rgba(0, 188, 227, 0.15); position: relative; margin: 0 auto;}
.blueprint-grid-dark { position: absolute; inset: 0; background-size: 40px 40px; background-image: linear-gradient(to right, rgba(0, 188, 227, 0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 188, 227, 0.03) 1px, transparent 1px); z-index: 0; pointer-events: none;}
.horizontal-radar-sweep { position: absolute; left: 0; width: 100%; height: 2px; background: var(--brand); box-shadow: 0 0 20px 2px var(--brand); opacity: 0.15; z-index: 1; animation: scanRadar 3s ease-in-out infinite alternate; pointer-events: none;}
.bionic-status { position: absolute; top: 24px; right: 30px; display: flex; align-items: center; gap: 8px; font-family: 'Space Mono'; font-size: 0.6rem; color: var(--brand-green); letter-spacing: 1px; z-index: 30; background: rgba(140, 198, 63, 0.08); padding: 6px 14px; border-radius: var(--radius-pill); border: 1px solid rgba(140, 198, 63, 0.2); }
.status-dot { width: 6px; height: 6px; background-color: var(--brand-green); border-radius: 50%; animation: pulseDot 1s infinite alternate; }

.hud-nav-wrapper { display: flex; justify-content: center; padding: 16px 0; background: rgba(255,255,255,0.015); border-bottom: 1px solid rgba(0, 188, 227, 0.1); width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
.hud-nav-wrapper::-webkit-scrollbar { display: none; }
.hud-nav { display: flex; background: rgba(0,0,0,0.6); padding: 5px; border-radius: 100px; gap: 4px; border: 1px solid rgba(0, 188, 227, 0.2); box-shadow: inset 0 0 15px rgba(0,0,0,0.8); flex-shrink: 0; margin: 0 auto;}

.h-tab { background: transparent; border: none; padding: 10px 24px; border-radius: var(--radius-pill); font-weight: 600; font-size: 0.8rem; color: #64748b; cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 8px; text-transform: uppercase; white-space: nowrap; }
.h-tab:hover { color: white; background: rgba(255,255,255,0.05); }
.h-tab.active { background: rgba(0, 188, 227, 0.15); color: white; border: 1px solid rgba(0, 188, 227, 0.4); }
.h-tab.active i { color: var(--brand); }

.hud-pane { display: none; }
.hud-pane.active { display: grid; grid-template-columns: 280px 1fr; animation: paneFade 0.4s ease forwards; position: relative; z-index: 2;}
@media (max-width: 900px) { .hud-pane.active { grid-template-columns: 1fr; } }

.bio-sidebar { background: rgba(255, 255, 255, 0.005); border-right: 1px solid rgba(0, 188, 227, 0.1); position: relative; z-index: 5;}
.bio-sidebar-header { padding: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.03); background: rgba(0, 0, 0, 0.4); text-align: center; font-family: 'Space Mono'; color: var(--brand-green); font-size: 0.65rem; letter-spacing: 2px;}
.target-list { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.target-item { display: flex; align-items: center; padding: 14px 16px; border-radius: 12px; cursor: pointer; border: 1px solid rgba(255,255,255,0.03); background: rgba(0, 0, 0, 0.3); position: relative; overflow: hidden; transition: all 0.4s; }
.target-item:hover { background: rgba(0, 188, 227, 0.05); transform: translateX(4px); }
.target-item.active { background: linear-gradient(90deg, rgba(0, 188, 227, 0.15) 0%, rgba(0,0,0,0.6) 100%); border-color: rgba(0, 188, 227, 0.4); transform: translateX(8px); }
.target-item.active::before { content: ''; position: absolute; left: 0; top: 0; height: 100%; width: 4px; background: var(--brand); }
.t-id { font-weight: 900; font-size: 1.2rem; color: rgba(255, 255, 255, 0.15); margin-right: 16px; z-index: 2;}
.target-item.active .t-id { color: white; text-shadow: 0 0 12px var(--brand); }
.t-info h4 { font-size: 0.85rem; color: #94a3b8; margin-bottom: 2px; }
.target-item.active .t-info h4 { color: var(--brand); }
.t-info span { font-size: 0.65rem; color: #475569; text-transform: uppercase; }
.target-item.active .t-info span { color: white; }

.bio-display { position: relative; min-height: 540px; background: radial-gradient(circle at center, #0a101d 0%, #04070e 100%); display: flex; align-items: center; justify-content: space-between; padding: 30px; gap: 24px; overflow: hidden;}
@media (max-width: 1100px) { .bio-display { flex-direction: column; padding-top: 70px; } .bionic-status{top:15px; right:15px; font-size: 0.5rem;} }

.view-toggle { position: absolute; top: 20px; left: 24px; background: rgba(0,0,0,0.7); border: 1px solid rgba(0, 188, 227, 0.2); border-radius: 8px; padding: 4px; display: inline-flex; z-index: 30; }
.view-btn { background: transparent; border: none; color: #64748b; font-size: 0.65rem; font-weight: 600; padding: 6px 16px; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 6px; text-transform: uppercase;}
.view-btn.active { background: rgba(0, 188, 227, 0.2); color: white; }

.radar-box { position: relative; flex: 1.2; display: flex; justify-content: center; align-items: center; z-index: 2; width: 100%; min-height: 380px; }
.radar-box::before { content: ''; position: absolute; width: 70%; padding-bottom: 70%; background: radial-gradient(circle, rgba(0, 188, 227, 0.08) 0%, transparent 60%); border-radius: 50%; }

/* --- A CORREÇÃO DE IMAGENS TRANCADAS E REDONDAS --- */
.radar-box img { 
    width: 100%; 
    max-width: 480px; 
    height: 380px; 
    object-fit: contain; /* Encaixa o inseto sem cortar pernas ou antenas */
    background-color: #ffffff; /* Cria o fundo branco sólido */
    padding: 20px; /* Dá espaço para o inseto respirar */
    border-radius: 24px; /* Bordas perfeitamente redondas */
    transition: all 0.5s; 
    position: relative; 
    z-index: 1;
    box-shadow: 0 15px 40px rgba(0,0,0,0.8);
}

.radar-box img.mode-xray { 
    filter: invert(1) hue-rotate(180deg) brightness(1.3) drop-shadow(0 0 25px rgba(0, 188, 227, 0.4)); 
    mix-blend-mode: screen; 
    opacity: 0.95; 
    background-color: transparent; 
    box-shadow: none; 
    border: none;
}

.hud-point { position: absolute; width: 20px; height: 20px; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; z-index: 10; opacity: 0; pointer-events: none; }
.hud-point.active { opacity: 1; }
.point-core { width: 10px; height: 10px; background: white; border-radius: 50%; position: relative; z-index: 3; }
.hud-point.active .point-core { background: var(--brand); box-shadow: 0 0 20px var(--brand); }
.pulse-ring { 
    position: absolute; 
    width: 40px; 
    height: 40px; 
    border: 2px solid var(--brand); 
    border-radius: 50%; 
    opacity: 0; 
    z-index: 2; 
}

/* ESTA É A LINHA QUE FALTAVA PARA LIGAR O MOTOR DO FLASH */
.hud-point.active .pulse-ring { 
    animation: radarPulse 1.5s infinite cubic-bezier(0.215, 0.61, 0.355, 1); 
}

.connector { position: absolute; top: 50%; left: 50%; height: 2px; width: 0; background: linear-gradient(90deg, #ffffff 0%, var(--brand) 10%, rgba(0,188,227,0.1) 100%); transform: translateY(-50%); transform-origin: left center; z-index: -1; opacity: 0; transition: width 0.4s 0.1s, opacity 0.2s 0.1s; }
@media (max-width: 1100px) { .connector { display: none !important; } }

.tech-data-panel { width: 320px; flex-shrink: 0; position: relative; z-index: 20; }
@media (max-width: 1100px) { .tech-data-panel { width: 100%; max-width: 500px; margin: 0 auto; } }
.tech-content { background: rgba(10, 16, 29, 0.95); backdrop-filter: blur(20px); border: 1px solid rgba(0, 188, 227, 0.3); border-left: 3px solid var(--brand); border-radius: 16px; padding: 24px; display: none; }
.tech-content.active { display: block; animation: techSlide 0.4s ease-out forwards; }
.tech-badge { display: inline-block; background: rgba(0, 188, 227, 0.15); color: var(--brand); font-family: 'Space Mono'; font-size: 0.65rem; padding: 4px 10px; border-radius: 4px; margin-bottom: 12px; text-transform: uppercase; border: 1px solid rgba(0,188,227,0.2); }
.tech-content h5 { color: white; font-size: 1.1rem; margin-bottom: 8px;}
.tech-content p { color: #94a3b8; font-size: 0.8rem; margin-bottom: 24px; }
.tech-metric-bar .metric-info { display: flex; justify-content: space-between; font-size: 0.7rem; color: #64748b; text-transform: uppercase; margin-bottom: 8px; }
.tech-metric-bar .metric-pct { color: white; font-weight: 700; }
.bar-track { width: 100%; height: 6px; background: rgba(255,255,255,0.05); border-radius: 10px; overflow: hidden; }
.bar-fill { height: 100%; width: 0; border-radius: 10px; transition: width 1s 0.5s; }
.tech-content.active .bar-fill { width: var(--target-width); }

/* ==========================================
   7. CARD 3: CRONOLOGIA E PROTOCOLO (DARK)
   ========================================== */
.bionic-protocol-wrapper { width: 100%; max-width: 1000px; background: var(--dark-card); border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px rgba(11, 17, 32, 0.4), inset 0 0 0 1px rgba(0, 188, 227, 0.15); position: relative; margin: 0 auto;}

.protocol-header { position: relative; z-index: 2; text-align: center; padding: 50px 30px 20px; border-bottom: 1px solid rgba(0, 188, 227, 0.1); background: rgba(255,255,255,0.01); }
.protocol-header .badge-micro { display: inline-flex; align-items: center; gap: 6px; background: rgba(0, 188, 227, 0.1); color: var(--brand); padding: 6px 16px; border-radius: var(--radius-pill); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border: 1px solid rgba(0, 188, 227, 0.3); margin-bottom: 16px; font-family: 'Space Mono', monospace;}
.protocol-header h2 { font-family: 'Montserrat'; font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 800; color: white; margin-bottom: 12px; line-height: 1.2;}
.protocol-header p { font-size: clamp(0.85rem, 2vw, 0.95rem); color: #94a3b8; max-width: 650px; margin: 0 auto; line-height: 1.6;}

.protocol-nav-wrapper { position: relative; z-index: 2; display: flex; padding: 25px 20px; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; justify-content: center; border-bottom: 1px solid rgba(0, 188, 227, 0.1); }
.protocol-nav-wrapper::-webkit-scrollbar { display: none; }

.proto-tabs-container { display: flex; background: rgba(0,0,0,0.6); padding: 5px; border-radius: 100px; gap: 4px; border: 1px solid rgba(0, 188, 227, 0.2); box-shadow: inset 0 0 15px rgba(0,0,0,0.8); flex-shrink: 0; margin: 0 auto; }
.proto-tab { background: transparent; border: none; padding: 10px 24px; border-radius: var(--radius-pill); font-weight: 600; font-size: 0.8rem; color: #64748b; cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 8px; text-transform: uppercase; white-space: nowrap; }
.proto-tab:hover { color: white; background: rgba(255,255,255,0.05); }
.proto-tab.active { background: rgba(0, 188, 227, 0.15); color: white; border: 1px solid rgba(0, 188, 227, 0.4); }
.proto-tab.active i { color: var(--brand); }
@media (max-width: 768px) { .protocol-nav-wrapper { justify-content: flex-start; } .proto-tabs-container { margin: 0; } .proto-tab { padding: 8px 18px; font-size: 0.75rem; } }

.proto-pane { display: none; padding: 40px; position: relative; z-index: 2; }
.proto-pane.active { display: block; }
@media (max-width: 768px) { .proto-pane { padding: 30px 20px; } }

.timeline-container { position: relative; max-width: 800px; margin: 0 auto; padding-left: 40px; padding-bottom: 20px;}
.timeline-container::before { content: ''; position: absolute; left: 14px; top: 0; width: 2px; height: 100%; background: rgba(255,255,255,0.05); z-index: 1; border-radius: 2px; }
.timeline-laser { position: absolute; left: 14px; top: 0; width: 2px; height: 0%; background: linear-gradient(to bottom, transparent, var(--brand) 80%, white 100%); box-shadow: 0 0 15px 2px var(--brand); z-index: 2; }
.proto-pane.active .timeline-laser { animation: shootDown 2s forwards; }

.timeline-container:has(.tl-item:hover) .tl-item:not(:hover), .timeline-container:has(.tl-final-result:hover) .tl-item { opacity: 0.3 !important; filter: grayscale(50%); transform: scale(0.98); }
.timeline-container:has(.tl-item:hover) .tl-final-result { opacity: 0.3 !important; filter: grayscale(50%); }

.tl-item { position: relative; margin-bottom: 40px; opacity: 0; transform: translateX(20px); transition: all 0.4s; }
.tl-item:hover { transform: translateX(8px) scale(1.02); z-index: 10; }
.proto-pane.active .tl-item:nth-child(2) { animation: slideInNode 0.5s forwards 0.2s; }
.proto-pane.active .tl-item:nth-child(3) { animation: slideInNode 0.5s forwards 0.4s; }
.proto-pane.active .tl-item:nth-child(4) { animation: slideInNode 0.5s forwards 0.6s; }
.proto-pane.active .tl-item:nth-child(5) { animation: slideInNode 0.5s forwards 0.8s; }

.tl-node { position: absolute; left: -40px; top: 0; width: 30px; height: 30px; transform: translateX(-50%); background: var(--dark-card); border: 2px solid rgba(0, 188, 227, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 3; color: var(--brand); font-size: 0.75rem; transition: all 0.3s; }
.proto-pane.active .tl-item:nth-child(2) .tl-node { animation: nodeGlow 0.5s forwards 0.2s; }
.proto-pane.active .tl-item:nth-child(3) .tl-node { animation: nodeGlow 0.5s forwards 0.4s; }
.proto-pane.active .tl-item:nth-child(4) .tl-node { animation: nodeGlow 0.5s forwards 0.6s; }
.proto-pane.active .tl-item:nth-child(5) .tl-node { animation: nodeGlow 0.5s forwards 0.8s; }
.tl-item:hover .tl-node { background: var(--brand); color: white; box-shadow: 0 0 20px var(--brand); transform: translateX(-50%) scale(1.2); }

.tl-content { background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(10px); border: 1px solid rgba(0, 188, 227, 0.15); border-radius: 16px; padding: 24px; transition: all 0.4s; overflow: hidden; }
.tl-item:hover .tl-content { background: rgba(0, 188, 227, 0.05); border-color: rgba(0, 188, 227, 0.4); box-shadow: 0 15px 40px rgba(0,0,0,0.6); }

.tl-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.tl-timeframe { font-family: 'Space Mono'; font-size: 0.65rem; font-weight: 700; color: white; background: rgba(255, 255, 255, 0.1); padding: 4px 10px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.1); }
.tl-time-warning { color: #fcd34d; background: rgba(245, 158, 11, 0.1); border-color: rgba(245, 158, 11, 0.2); }
.tl-op-tag { font-family: 'Space Mono'; font-size: 0.6rem; font-weight: 700; color: #10b981; background: rgba(16, 185, 129, 0.1); padding: 4px 8px; border-radius: 4px; border: 1px solid rgba(16, 185, 129, 0.3); display: inline-flex; align-items: center; gap: 6px;}

.tl-title { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.tl-title h4 { color: white; font-size: 1.1rem; margin: 0;}
.tl-title i { color: var(--brand); font-size: 1.2rem; }
.tl-content p { font-size: 0.85rem; color: #94a3b8; margin: 0; }

.tl-final-result { position: relative; margin-top: 50px; margin-left: 20px; padding: 24px; background: linear-gradient(90deg, rgba(140, 198, 63, 0.08) 0%, rgba(0,0,0,0.5) 100%); border: 1px solid rgba(140, 198, 63, 0.3); border-left: 4px solid var(--brand-green); border-radius: 12px; display: flex; align-items: center; gap: 20px; opacity: 0; transform: translateY(20px); transition: all 0.4s ease; }
.tl-final-result:hover { background: linear-gradient(90deg, rgba(140, 198, 63, 0.15) 0%, rgba(0,0,0,0.5) 100%); transform: translateY(-4px) scale(1.02); }
.proto-pane.active .tl-final-result { animation: slideInResult 0.6s forwards 1s; }
.result-icon { font-size: 2.2rem; color: var(--brand-green); animation: pulseGreenIcon 2s infinite; }
.result-text h4 { font-family: 'Space Mono'; font-size: 1.1rem; color: white; margin-bottom: 6px;}
.result-text p { font-size: 0.85rem; color: #94a3b8; margin: 0; }
.result-text strong { color: var(--brand-green); }

@media (max-width: 600px) { .timeline-container { padding-left: 30px; } .timeline-container::before, .timeline-laser { left: 9px; } .tl-node { left: -30px; width: 22px; height: 22px; font-size: 0.6rem; } .tl-final-result { margin-left: 0; flex-direction: column; align-items: flex-start; text-align: left; } }

/* ==========================================
   8. MODAL B2B (POP-UP) E ANIMAÇÕES
   ========================================== */
.bionic-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(11, 17, 32, 0.85); backdrop-filter: blur(8px); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.4s; padding: 20px; }
.bionic-modal-overlay.active { opacity: 1; visibility: visible; }
.bionic-modal-box { background: var(--surface); width: 100%; max-width: 750px; border-radius: 20px; border: 1px solid rgba(0, 188, 227, 0.2); transform: translateY(30px) scale(0.95); transition: all 0.4s; display: flex; flex-direction: column; max-height: 90vh; }
.bionic-modal-overlay.active .bionic-modal-box { transform: translateY(0) scale(1); }
.modal-close-btn { position: absolute; top: 16px; right: 20px; font-size: 1.2rem; color: var(--text-muted); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0,0,0,0.03); z-index: 10; }
.modal-header { padding: 30px 30px 20px; display: flex; gap: 16px; border-bottom: var(--border-light); background: rgba(244, 247, 249, 0.3); }
.modal-header .modal-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; }
.modal-header-text .modal-tag { font-family: 'Space Mono'; font-size: 0.65rem; font-weight: 700; display: block; margin-bottom: 6px; }
.modal-header-text h3 { font-size: 1.4rem; margin: 0;}
.modal-body { padding: 30px; font-size: 0.95rem; line-height: 1.7; overflow-y: auto; }
.modal-body .lead { font-size: 1.05rem; font-weight: 500; margin-bottom: 24px; color: var(--text-title); }
.modal-infographic { display: flex; align-items: center; justify-content: center; gap: 10px; background: rgba(11, 17, 32, 0.03); padding: 20px; border-radius: 12px; margin: 24px 0; flex-wrap: wrap;}
.info-step { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; width: 100px; }
.info-step i { font-size: 1.8rem; color: var(--brand); background: white; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.info-step span { font-size: 0.75rem; font-weight: 600; color: var(--text-title);}
.impact-list { list-style: none; padding-left: 0; margin: 20px 0; display: grid; gap: 12px; }
.impact-list li { display: flex; gap: 12px; background: white; padding: 16px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.04); }
.impact-list li i { color: var(--brand); font-size: 1.2rem; margin-top: 2px; }
.impact-list strong { color: var(--text-title); display: block; margin-bottom: 4px; font-size: 0.95rem;}
.report-alert { background: rgba(239, 68, 68, 0.05); border-left: 4px solid var(--emergency); padding: 16px 20px; border-radius: 0 8px 8px 0; margin-top: 30px; display: flex; gap: 16px; align-items: center; }
.report-alert i { color: var(--emergency); font-size: 1.5rem; }
.modal-footer { padding: 20px 30px; background: rgba(244, 247, 249, 0.8); border-top: var(--border-light); text-align: right; }

/* 9. CTA SECTION */
.cta-section { text-align: center; padding: 100px 5%; background: white; border-top: var(--border-light); width: 100%;}
.btn-elite { display: inline-flex; align-items: center; gap: 10px; background: var(--text-title); color: white; border: none; padding: 16px 40px; border-radius: var(--radius-pill); font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.3s; text-decoration: none; margin-top: 24px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.15); }
.btn-elite:hover { background: var(--brand); transform: translateY(-3px); box-shadow: 0 15px 35px rgba(0, 188, 227, 0.3); color: white;}

/* ==========================================
   CHAVES DE ANIMAÇÃO GERAIS
   ========================================== */
@keyframes slideInNode { 
    to { opacity: 1; transform: translateX(0); } 
}
@keyframes nodeGlow { 
    100% { border-color: var(--brand); box-shadow: 0 0 15px var(--brand); background: rgba(0, 188, 227, 0.1); color: white;} 
}
@keyframes slideInResult { 
    to { opacity: 1; transform: translateY(0); } 
}
@keyframes pulseGreenIcon { 
    0%, 100% { transform: scale(1); } 
    50% { transform: scale(1.1); } 
}
@keyframes scanRadar { 
    0% { top: 85px; } 
    100% { top: 98%; } 
}
@keyframes radarPulse { 
    0% { transform: scale(0.2); opacity: 1; border-width: 2px;} 
    100% { transform: scale(1.5); opacity: 0; border-width: 0.5px;} 
}







/* ==========================================
   ÍCONES BIONIC SVG CUSTOMIZADOS
   ========================================== */
.bionic-svg-icon {
    width: 1.2em;
    height: 1.2em;
    opacity: 0.6;
    transition: all 0.3s;
    vertical-align: middle;
}
.threat-tab.active .bionic-svg-icon, 
.h-tab.active .bionic-svg-icon, 
.proto-tab.active .bionic-svg-icon {
    opacity: 1;
    color: var(--brand);
    filter: drop-shadow(0 0 5px var(--brand));
}

/* ==========================================
   EFEITO TERMOGRAFIA (MAMÍFEROS / ROEDORES)
   ========================================== */
.radar-box.thermal-radar img.mode-xray {
    filter: sepia(100%) saturate(700%) hue-rotate(330deg) contrast(150%) brightness(0.9) drop-shadow(0 0 40px rgba(239, 68, 68, 0.6));
    mix-blend-mode: screen;
    background-color: transparent;
    box-shadow: none;
    border: none;
}












