/*
       ========================================= VARIÁVEIS GLOBAIS DE CORES E FONTES =========================================
       */
    :root {
       --bg: #02040d;
       --bg-2: #050b1f;
       --bg-3: #07112e;
       --neon-blue: #00b4ff;
       --neon-cyan: #00eaff;
       --neon-pink: #ff2bd6;
       --neon-purple: #8a5bff;
       --neon-yellow: #f9f871;
       --neon-green: #39ff88;
       --text: #e8f1ff;
       --muted: #93a7d1;
       --border: rgba(0, 180, 255, 0.28);
       --glow-cyan: 0 0 12px var(--neon-cyan), 0 0 30px rgba(0, 234, 255, 0.35);
       --glow-blue: 0 0 14px var(--neon-blue), 0 0 36px rgba(0, 180, 255, 0.45);
       --glow-pink: 0 0 12px var(--neon-pink), 0 0 30px rgba(255, 43, 214, 0.4);
       --font-display: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
       --font-mono: "Cascadia Mono", Consolas, "Courier New", monospace;
       --font-body: "Segoe UI", Arial, Helvetica, sans-serif;
    }
     /*
       ========================================= RESET BÁSICO E CONFIGURAÇÕES DA PÁGINA =========================================
       */
    * {
       box-sizing: border-box;
       margin: 0;
       padding: 0;
    }
     html {
       scroll-behavior: smooth;
    }
     body {
       font-family: var(--font-body);
       background: radial-gradient(ellipse at top, var(--bg-3), var(--bg) 60%);
       color: var(--text);
       min-height: 100vh;
       overflow-x: hidden;
       line-height: 1.6;
       position: relative;
       isolation: isolate;
       -webkit-user-drag: none;
    }
     img, svg {
       max-width: 100%;
       display: block;
       -webkit-user-drag: none;
       pointer-events: none;
    }
     a {
       color: var(--neon-cyan);
       text-decoration: none;
       transition: 0.2s;
    }
     a:hover {
       color: var(--neon-blue);
       text-shadow: var(--glow-blue);
    }
     /*
       ========================================= ALINHAMENTOS SOLICITADOS (Textos curtos: Centro / Textos longos: Justificados) =========================================
       */ h1, h2, h3, h4, .hero-tag, .kicker, .price-tag, .btn, .hero-stats > div, .term b, .contact h2, .footer-grid h5, .brand, .footer-base p, .notice-flash-blue, .notice-flash-white {
       text-align: center;
       justify-content: center;
    }
     p, .lead, .hero-sub, .card p, .threat p, .tip p, .tl-item p, .faq p, .term span, .checks li, .price li, .notice-lead, .notice-sub {
       text-align: justify;
    }
     /* Exceções visuais necessárias para não quebrar a estética central */
    .hero-sub, .quote p {
       text-align: center;
    }
     .contact .lead {
       text-align: center;
    }
     /*
       ========================================= EFEITOS DE FUNDO CYBERPUNK =========================================
       */
    .bg-grid {
       position: fixed;
       inset: 0;
       z-index: 0;
       pointer-events: none;
       background-image: linear-gradient(rgba(0, 180, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 234, 255, 0.1) 1px, transparent 1px);
       background-size: 64px 64px;
       mask-image: radial-gradient(ellipse at center, #000 35%, transparent 85%);
       animation: gridMove 30s linear infinite;
    }
     @keyframes gridMove {
       to {
         background-position: 64px 64px, 64px 64px;
      }
    }
     #matrix {
       position: fixed;
       inset: 0;
       z-index: 1;
       opacity: 0.48;
       pointer-events: none;
    }
     .orb {
       position: fixed;
       border-radius: 50%;
       filter: blur(80px);
       opacity: 0.35;
       z-index: 0;
       pointer-events: none;
       animation: drift 22s ease-in-out infinite alternate;
    }
     .orb-1 {
       width: 420px;
       height: 420px;
       background: #0066ff;
       top: -120px;
       left: -120px;
    }
     .orb-2 {
       width: 360px;
       height: 360px;
       background: #6a2bff;
       bottom: -120px;
       right: -100px;
       animation-delay: -8s;
    }
     @keyframes drift {
       to {
         transform: translate(60px, 40px) scale(1.1);
      }
    }
     .scanlines {
       position: fixed;
       inset: 0;
       z-index: 1000;
       pointer-events: none;
       background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 3px);
       mix-blend-mode: overlay;
    }
     main, footer {
       position: relative;
       z-index: 2;
    }
     header.site-header, .header.site-header, body > header.nav {
       z-index: 10000 !important;
       pointer-events: auto;
       isolation: isolate;
    }
     header.site-header .nav-menu, header.site-header .nav-dropdown, header.site-header .nav-dropdown summary, header.site-header .nav-dropdown-panel, header.site-header .nav-dropdown-panel a {
       pointer-events: auto;
    }
     header.site-header .nav-dropdown {
       z-index: 10010 !important;
    }
     header.site-header .nav-dropdown-panel {
       z-index: 10020 !important;
    }
     /*
       ========================================= BARRA DE NAVEGAÇÃO SUPERIOR (HEADER) =========================================
       */
    .nav {
       position: sticky;
       top: 0;
       z-index: 50;
       display: flex;
       justify-content: space-between;
       align-items: center;
       padding: 16px 6vw;
       backdrop-filter: blur(12px);
       background: rgba(2, 4, 13, 0.7);
       border-bottom: 1px solid var(--border);
    }
     .logo {
       display: flex;
       align-items: center;
       gap: 10px;
       font-family: var(--font-display);
       font-weight: 900;
       font-size: 20px;
    }
     .logo-mark {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .logo-text {
       color: var(--text);
       letter-spacing: 1px;
       line-height: 1.1;
       text-align: left;
    }
     .accent {
       color: var(--neon-blue);
       text-shadow: var(--glow-blue);
       font-size: 0.72em;
       font-family: var(--font-mono);
       font-weight: 400;
    }
     .nav nav {
       display: flex;
       gap: 22px;
       align-items: center;
    }
     .nav nav a {
       font-family: var(--font-mono);
       font-size: 13px;
       color: var(--text);
       text-transform: uppercase;
       letter-spacing: 1px;
    }
     .cta-mini {
       padding: 8px 16px;
       border: 1px solid var(--neon-cyan);
       border-radius: 4px;
       box-shadow: var(--glow-cyan);
    }
     .cta-mini:hover {
       background: var(--neon-cyan);
       color: var(--bg) !important;
       text-shadow: none;
    }
     /* ====== Menu suspenso do cabeçalho ====== */
    .nav-menu {
       position: relative;
    }
     .nav-dropdown {
       position: relative;
       padding-bottom: 10px;
       margin-bottom: -10px;
       font-family: var(--font-mono);
    }
     .nav-dropdown::after {
       content: "";
       position: absolute;
       left: 0;
       top: 100%;
       width: 100%;
       height: 14px;
       pointer-events: auto;
    }
     .nav-dropdown summary {
       list-style: none;
       cursor: pointer;
       display: inline-flex;
       align-items: center;
       gap: 6px;
       padding: 8px 10px;
       border: 1px solid transparent;
       border-radius: 6px;
       color: var(--text);
       font-size: 13px;
       text-transform: uppercase;
       letter-spacing: 1px;
       transition: color 0.2s, border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }
     .nav-dropdown summary::-webkit-details-marker {
       display: none;
    }
     .nav-dropdown summary::after {
       content: "▾";
       color: var(--neon-cyan);
       transition: transform 0.2s;
    }
     .nav-dropdown[open] summary, .nav-dropdown:hover summary, .nav-dropdown:focus-within summary {
       color: var(--neon-cyan);
       border-color: var(--border);
       background: rgba(0, 234, 255, 0.06);
       box-shadow: 0 0 8px var(--neon-cyan), 0 0 20px rgba(0, 234, 255, 0.22);
    }
     .nav-dropdown[open] summary::after, .nav-dropdown:hover summary::after, .nav-dropdown:focus-within summary::after {
       transform: rotate(180deg);
    }
     .nav-dropdown-panel {
       position: absolute;
       top: calc(100% + 4px);
       left: 0;
       z-index: 80;
       min-width: 250px;
       padding: 10px;
       display: grid;
       gap: 6px;
       border: 1px solid var(--border);
       border-radius: 10px;
       background: rgba(2, 4, 13, 0.97);
       backdrop-filter: blur(14px);
       box-shadow: var(--glow-cyan);
       opacity: 0;
       transform: translateY(6px);
       visibility: hidden;
       pointer-events: none;
       transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    }
     .nav-dropdown[open] .nav-dropdown-panel {
       opacity: 1;
       transform: translateY(0);
       visibility: visible;
       pointer-events: auto;
    }
     .nav-dropdown-panel a {
       display: block;
       padding: 10px 12px;
       border: 1px solid transparent;
       border-radius: 6px;
       color: var(--text);
       font-family: var(--font-mono);
       font-size: 12px;
       text-transform: uppercase;
       letter-spacing: 1px;
    }
     .nav-dropdown-panel a:hover {
       color: var(--neon-cyan);
       border-color: var(--border);
       background: rgba(0, 234, 255, 0.07);
       text-shadow: none;
    }
     /*
       ========================================= SEÇÃO PRINCIPAL (HERO) =========================================
       */
    .hero {
       min-height: 92vh;
       display: flex;
       flex-direction: column;
       justify-content: center;
       align-items: center;
       padding: clamp(118px, 14vh, 154px) 6vw 40px;
       position: relative;
    }
     .hero-tag {
       display: inline-flex;
       align-items: center;
       gap: 10px;
       font-family: var(--font-mono);
       font-size: 13px;
       color: var(--neon-cyan);
       padding: 6px 14px;
       border: 1px solid var(--border);
       border-radius: 999px;
       margin-bottom: 28px;
       background: rgba(0, 234, 255, 0.05);
    }
     .dot {
       width: 8px;
       height: 8px;
       border-radius: 50%;
       background: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
       animation: pulse 1.4s infinite;
    }
     @keyframes pulse {
       0%, 100% {
         opacity: 1;
      }
       50% {
         opacity: 0.3;
      }
    }
     h1, h2, h3 {
       font-family: var(--font-display);
       letter-spacing: 1px;
    }
     h1 {
       font-size: clamp(2.4rem, 7vw, 5.5rem);
       line-height: 1.05;
       font-weight: 900;
       background: linear-gradient(90deg, var(--neon-cyan), var(--neon-blue), var(--neon-purple));
       -webkit-background-clip: text;
       background-clip: text;
       color: transparent;
       max-width: 1000px;
    }
     /* Efeito de Glitch no Título Principal */
    .glitch {
       position: relative;
    }
     .glitch::before, .glitch::after {
       content: attr(data-text);
       position: absolute;
       left: 0;
       top: 0;
       width: 100%;
       -webkit-background-clip: text;
       background-clip: text;
    }
     .glitch::before {
       color: var(--neon-blue);
       transform: translate(2px, 0);
       mix-blend-mode: screen;
       animation: glitch 3s infinite;
       opacity: 0.6;
    }
     .glitch::after {
       color: var(--neon-cyan);
       transform: translate(-2px, 0);
       mix-blend-mode: screen;
       animation: glitch 2.2s infinite reverse;
       opacity: 0.6;
    }
     @keyframes glitch {
       0%, 90%, 100% {
         clip-path: inset(0 0 0 0);
         transform: translate(0, 0);
      }
       92% {
         clip-path: inset(20% 0 50% 0);
         transform: translate(-3px, 2px);
      }
       94% {
         clip-path: inset(60% 0 10% 0);
         transform: translate(3px, -2px);
      }
       96% {
         clip-path: inset(30% 0 40% 0);
         transform: translate(-2px, 1px);
      }
    }
     .hero-sub {
       max-width: 760px;
       margin: 24px auto 30px;
       font-size: 1.15rem;
       color: var(--muted);
    }
     .hero-sub strong {
       color: var(--text);
    }
     .hero-cta {
       display: flex;
       gap: 16px;
       flex-wrap: wrap;
       justify-content: center;
       margin-bottom: 50px;
    }

/* Destaque visual do hero */
.hero-feature {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(300px, 0.94fr) minmax(280px, 1.06fr);
  align-items: center;
  gap: 34px;
  width: min(1120px, calc(100% - 32px));
  margin: 34px auto 24px;
  padding: 28px;
  border: 1px solid rgba(0, 234, 255, 0.24);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(3, 12, 27, 0.9), rgba(4, 23, 43, 0.64)),
    radial-gradient(circle at 85% 12%, rgba(255, 205, 79, 0.18), transparent 34%),
    radial-gradient(circle at 18% 82%, rgba(0, 234, 255, 0.22), transparent 35%);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.46), 0 0 42px rgba(0, 234, 255, 0.12);
  overflow: hidden;
}


.hero-feature::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    linear-gradient(110deg, transparent 0 42%, rgba(0, 234, 255, 0.16) 48%, transparent 56%),
    repeating-linear-gradient(90deg, transparent 0 26px, rgba(255, 205, 79, 0.05) 27px 28px, transparent 29px 54px);
  opacity: 0.5;
  transform: rotate(-8deg);
  pointer-events: none;
}

.hero-feature__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px 6px;
}


.hero-feature__eyebrow {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.hero-feature__copy h2,
.hero-feature__headline {
  max-width: 610px;
  margin: 0 auto;
  color: var(--text-primary);
  font-size: 2.7rem;
  line-height: 1.08;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 0 24px rgba(0, 234, 255, 0.36), 0 0 46px rgba(0, 180, 255, 0.22);
}


.hero-feature__copy p:not(.hero-feature__eyebrow) {
  margin: 16px auto 22px;
  color: var(--text-secondary);
  font-size: 1.05rem;
  line-height: 1.62;
  text-align: center;
}


.hero-matrix-portrait {
  position: relative;
  z-index: 2;
  display: block;
  width: min(100%, 430px);
  justify-self: center;
  margin: 0;
  border-radius: 24px;
  border: 1px solid rgba(255, 205, 79, 0.36);
  background: rgba(1, 8, 18, 0.78);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.56),
    0 0 42px rgba(0, 234, 255, 0.26),
    0 0 0 8px rgba(0, 234, 255, 0.035);
  overflow: hidden;
  isolation: isolate;
  animation: heroPortraitFloat 7s ease-in-out infinite;
}

.hero-matrix-portrait::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(180deg, rgba(0, 234, 255, 0.08), transparent 24%, rgba(0, 0, 0, 0.18)),
    radial-gradient(circle at 48% 18%, rgba(0, 234, 255, 0.18), transparent 36%);
  mix-blend-mode: screen;
  opacity: 0.36;
  pointer-events: none;
}


.hero-matrix-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.06), transparent 18%, transparent 76%, rgba(0, 0, 0, 0.32)),
    radial-gradient(circle at 50% 20%, rgba(0, 234, 255, 0.16), transparent 35%);
  pointer-events: none;
}

.hero-matrix-portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1280 / 1848;
  object-fit: cover;
  filter: saturate(0.96) contrast(1.05) brightness(0.96);
}

.hero-matrix-portrait__rain {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(9, minmax(12px, 1fr));
  align-items: start;
  gap: 3px;
  padding: 0 7%;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: 0.48;
}


.hero-matrix-portrait__rain span {
  display: block;
  min-height: 160%;
  color: rgba(0, 234, 255, 0.72);
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.18;
  text-align: center;
  text-shadow: 0 0 7px rgba(0, 234, 255, 0.72), 0 0 16px rgba(0, 180, 255, 0.34);
  transform: translateY(-58%);
  animation: heroMatrixCodeFall 5.4s linear infinite;
}

.hero-matrix-portrait__rain span:nth-child(2n) {
  color: rgba(40, 205, 255, 0.64);
  animation-duration: 6.8s;
  animation-delay: -1.4s;
}

.hero-matrix-portrait__rain span:nth-child(3n) {
  color: rgba(255, 205, 79, 0.42);
  animation-duration: 7.6s;
  animation-delay: -2.1s;
  text-shadow: 0 0 8px rgba(255, 205, 79, 0.48), 0 0 18px rgba(0, 234, 255, 0.2);
}

.hero-matrix-portrait__rain span:nth-child(4n) {
  opacity: 0.62;
  animation-duration: 4.9s;
  animation-delay: -0.7s;
}



.hero-feature__headline span {
  display: block;
}

.hero-feature__headline span + span {
  margin-top: 10px;
  color: var(--accent);
  text-shadow: 0 0 24px rgba(255, 205, 79, 0.34), 0 0 38px rgba(0, 234, 255, 0.22);
}

.hero-feature__purpose {
  margin-top: 26px;
}

.hero-between-actions {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  width: min(980px, calc(100% - 32px));
  margin: 0 auto 28px;
}

.hero-between-actions .btn {
  min-width: 220px;
}

.home-generated-visual--hero-restored {
  margin-top: -18px;
  margin-bottom: 40px;
}

@keyframes heroMatrixCodeFall {
  from {
    transform: translateY(-62%);
  }
  to {
    transform: translateY(42%);
  }
}


@keyframes heroPortraitFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes heroMatrixRain {
  from {
    background-position: 0 0, 0 0;
  }
  to {
    background-position: 0 260px, 0 360px;
  }
}

@keyframes heroMatrixRainFast {
  from {
    background-position: 0 0, 0 0;
  }
  to {
    background-position: 0 220px, 0 420px;
  }
}

@media (max-width: 920px) {
  .hero-feature {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 18px;
  }

  .hero-feature__copy {
    text-align: center;
    padding: 4px 0 0;
  }

  .hero-feature__copy h2,
  .hero-feature__headline {
    font-size: 2.15rem;
  }

  .hero-matrix-portrait {
    width: min(100%, 390px);
  }
}

@media (max-width: 560px) {
  .hero-feature {
    width: min(100%, calc(100% - 20px));
    margin-top: 24px;
    border-radius: 22px;
  }

  .hero-feature__copy h2,
  .hero-feature__headline {
    font-size: 1.72rem;
  }

  .hero-between-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .hero-feature__copy p:not(.hero-feature__eyebrow) {
    font-size: 0.98rem;
  }
}

     /* Botões Globais */
    .btn {
       display: inline-flex;
       justify-content: center;
       align-items: center;
       gap: 8px;
       font-family: var(--font-display);
       font-weight: 700;
       padding: 14px 28px;
       border-radius: 4px;
       cursor: pointer;
       text-transform: uppercase;
       font-size: 13px;
       letter-spacing: 1.5px;
       transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
       border: 0;
    }
     .btn-primary {
       background: linear-gradient(135deg, var(--neon-blue), var(--neon-purple));
       color: #fff;
       box-shadow: var(--glow-blue);
    }
     .btn-primary:hover {
       transform: translateY(-2px);
       box-shadow: 0 0 20px var(--neon-blue), 0 0 50px var(--neon-purple);
       color: #fff;
       text-shadow: none;
    }
     .btn-ghost {
       background: transparent;
       color: var(--neon-cyan);
       border: 1px solid var(--neon-cyan);
       box-shadow: var(--glow-cyan);
    }
     .btn-ghost:hover {
       background: var(--neon-cyan);
       color: var(--bg);
       text-shadow: none;
    }
     .btn-outline {
       background: transparent;
       color: var(--text);
       border: 1px solid var(--border);
    }
     .btn-outline:hover {
       border-color: var(--neon-cyan);
       color: var(--neon-cyan);
    }
     /* Estatísticas do Hero */
    .hero-stats {
       display: flex;
       gap: 40px;
       flex-wrap: wrap;
       justify-content: center;
       font-family: var(--font-mono);
    }
     .hero-stats > div {
       padding: 14px 18px;
       border: 1px solid var(--border);
       border-radius: 8px;
       background: rgba(0, 180, 255, 0.04);
       min-width: 150px;
    }
     .hero-stats b {
       display: block;
       font-family: var(--font-display);
       font-size: 1.8rem;
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .hero-stats span {
       font-size: 11px;
       color: var(--muted);
       text-transform: uppercase;
       letter-spacing: 2px;
    }
     .scroll-hint {
       position: absolute;
       bottom: 20px;
       color: var(--neon-cyan);
       animation: bounce 2s infinite;
       font-size: 1.4rem;
    }
     @keyframes bounce {
       0%, 100% {
         transform: translateY(0);
      }
       50% {
         transform: translateY(8px);
      }
    }
     /*
       ========================================= CONFIGURAÇÕES COMUNS DE SEÇÕES E CARDS =========================================
       */
    .section {
       padding: 100px 6vw;
       max-width: 1300px;
       margin: 0 auto;
       position: relative;
    }
     .kicker {
       font-family: var(--font-mono);
       color: var(--neon-cyan);
       letter-spacing: 4px;
       font-size: 13px;
       margin-bottom: 12px;
       display: flex;
       align-items: center;
       gap: 8px;
       flex-wrap: wrap;
       width: 100%;
    }
     h2 {
       font-size: clamp(1.8rem, 4vw, 3rem);
       margin-bottom: 16px;
       color: var(--text);
       line-height: 1.15;
    }
     h2 .hi {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .lead {
       color: var(--muted);
       max-width: 780px;
       margin: 0 auto 50px auto;
       font-size: 1.1rem;
    }
     /* Cards Genéricos e Grid */
    .grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
       gap: 24px;
    }
     .card {
       position: relative;
       padding: 30px 26px;
       border-radius: 10px;
       background: linear-gradient(160deg, rgba(0, 180, 255, 0.08), rgba(138, 91, 255, 0.04));
       border: 1px solid var(--border);
       transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
       overflow: hidden;
    }
     .card .ic {
       width: 44px;
       height: 44px;
       margin-bottom: 14px;
       padding: 8px;
       border-radius: 10px;
       background: rgba(0, 234, 255, 0.08);
       border: 1px solid var(--border);
       color: var(--neon-cyan);
       filter: drop-shadow(0 0 6px rgba(0, 234, 255, 0.6));
    }
     .card::after {
       content: "";
       position: absolute;
       inset: 0;
       background: linear-gradient(90deg, transparent, rgba(0, 234, 255, 0.18), transparent);
       transform: translateX(-100%);
       transition: transform 0.7s;
       pointer-events: none;
    }
     .card:hover {
       transform: translateY(-6px);
       border-color: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
    }
     .card:hover::after {
       transform: translateX(100%);
    }
     .card h3 {
       font-size: 1.2rem;
       margin-bottom: 10px;
       color: var(--neon-cyan);
    }
     .card p {
       color: var(--muted);
    }

/* Cards clicáveis da seção Missões */
.mission-card {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  min-height: 100%;
}
.mission-card p {
  flex: 1;
}
.mission-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  margin-top: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(0, 234, 255, 0.55);
  border-radius: 6px;
  color: var(--neon-cyan);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.mission-card:hover .mission-card__link,
.mission-card:focus-visible .mission-card__link {
  background: var(--neon-cyan);
  color: var(--bg);
  text-shadow: none;
}
.mission-card:focus-visible {
  outline: 2px solid var(--neon-yellow);
  outline-offset: 4px;
}

     /*
       ========================================= SEÇÃO: SOBRE (Visual e Checklists) =========================================
       */
    .about {
       display: grid;
       grid-template-columns: 1.2fr 1fr;
       gap: 60px;
       align-items: center;
    }
     @media (max-width: 860px) {
       .about {
         grid-template-columns: 1fr;
      }
    }
     .checks {
       list-style: none;
       margin-top: 24px;
       display: grid;
       gap: 10px;
    }
     .checks li {
       color: var(--text);
       font-size: 1.05rem;
       padding-left: 8px;
    }
     /* Animação Holograma */
    .about-visual {
       display: flex;
       justify-content: center;
    }
     .hologram {
       position: relative;
       width: 320px;
       height: 320px;
       display: grid;
       place-items: center;
    }
     .ring {
       position: absolute;
       inset: 0;
       border-radius: 50%;
       border: 2px dashed var(--neon-cyan);
       opacity: 0.55;
       animation: spin 14s linear infinite;
    }
     .r2 {
       inset: 32px;
       border-color: var(--neon-blue);
       animation-duration: 10s;
       animation-direction: reverse;
    }
     .r3 {
       inset: 64px;
       border-color: var(--neon-purple);
       animation-duration: 7s;
    }
     .r4 {
       inset: 96px;
       border-style: dotted;
       border-color: var(--neon-cyan);
       animation-duration: 5s;
       animation-direction: reverse;
    }
     .core {
       width: 130px;
       height: 130px;
       border-radius: 50%;
       display: grid;
       place-items: center;
       font-family: var(--font-display);
       font-weight: 900;
       font-size: 2.4rem;
       color: #fff;
       background: radial-gradient(circle, var(--neon-blue), var(--neon-purple));
       box-shadow: 0 0 50px var(--neon-blue), inset 0 0 30px rgba(0, 0, 0, 0.4);
       animation: pulse2 3s ease-in-out infinite;
    }
     @keyframes spin {
       to {
         transform: rotate(360deg);
      }
    }
     @keyframes pulse2 {
       0%, 100% {
         transform: scale(1);
      }
       50% {
         transform: scale(1.06);
      }
    }
     /*
       ========================================= SEÇÃO: NÍVEIS (Planos de Preço) =========================================
       */
    .pricing .card {
       display: flex;
       flex-direction: column;
    }
     .price-tag {
       font-family: var(--font-display);
       font-size: 1.6rem;
       color: var(--neon-yellow);
       margin: 12px 0 18px;
       text-shadow: 0 0 10px rgba(249, 248, 113, 0.5);
    }
     .price ul {
       list-style: none;
       margin-bottom: 24px;
       flex: 1;
    }
     .price li {
       padding: 7px 0;
       color: var(--text);
       border-bottom: 1px dashed rgba(255, 255, 255, 0.06);
    }
     .price.featured {
       border-color: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
       transform: scale(1.03);
    }
     .price.featured::before {
       content: "RECOMENDADO";
       position: absolute;
       top: 12px;
       right: 12px;
       font-family: var(--font-mono);
       font-size: 10px;
       letter-spacing: 2px;
       color: var(--bg);
       background: var(--neon-cyan);
       padding: 4px 8px;
       border-radius: 4px;
    }
     /*
       ========================================= SEÇÃO: CYBERZONE E AMEAÇAS =========================================
       */
    .cyberzone {
       text-align: center;
       background: radial-gradient(circle at 20% 50%, rgba(0, 180, 255, 0.18), transparent 50%), radial-gradient(circle at 80% 50%, rgba(138, 91, 255, 0.15), transparent 50%);
       border-top: 1px solid var(--border);
       border-bottom: 1px solid var(--border);
       border-radius: 14px;
    }
     .cyberzone .lead {
       margin-left: auto;
       margin-right: auto;
       margin-bottom: 30px;
    }
     .threat-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
       gap: 20px;
    }
     .threat {
       padding: 22px;
       border-radius: 10px;
       border-left: 3px solid var(--neon-pink);
       background: linear-gradient(135deg, rgba(255, 43, 214, 0.06), rgba(0, 180, 255, 0.04));
       transition: transform 0.3s;
    }
     .threat:hover {
       transform: translateX(6px);
    }
     .threat h3 {
       font-family: var(--font-display);
       color: var(--neon-pink);
       margin-bottom: 8px;
       font-size: 1rem;
       text-shadow: 0 0 8px rgba(255, 43, 214, 0.4);
    }
     .threat p {
       color: var(--muted);
       font-size: 0.98rem;
    }
     /*
       ========================================= SEÇÃO: DICAS (TIPS) E LINHA DO TEMPO (TIMELINE) =========================================
       */
    .tips {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
       gap: 18px;
    }
     .tip {
       padding: 20px;
       border-radius: 10px;
       background: rgba(0, 180, 255, 0.06);
       border: 1px solid var(--border);
       display: flex;
       gap: 14px;
       align-items: flex-start;
    }
     .tip .num {
       font-family: var(--font-display);
       font-size: 1.6rem;
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
       min-width: 36px;
    }
     .tip p {
       color: var(--text);
    }
     .timeline {
       position: relative;
       padding-left: 28px;
       margin-top: 30px;
    }
     .timeline::before {
       content: "";
       position: absolute;
       left: 8px;
       top: 8px;
       bottom: 8px;
       width: 2px;
       background: linear-gradient(to bottom, var(--neon-cyan), var(--neon-purple));
       box-shadow: var(--glow-cyan);
    }
     .tl-item {
       position: relative;
       padding: 0 0 28px 24px;
    }
     .tl-item::before {
       content: "";
       position: absolute;
       left: -25px;
       top: 6px;
       width: 14px;
       height: 14px;
       border-radius: 50%;
       background: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
    }
     .tl-item b {
       font-family: var(--font-display);
       color: var(--neon-cyan);
       display: block;
       font-size: 1.05rem;
       margin-bottom: 4px;
       letter-spacing: 1px;
    }
     .tl-item p {
       color: var(--muted);
    }
     /*
   ========================================= SEÇÃO: NOVO CICLO DIGITAL =========================================
   */
.digital-cycle {
  max-width: 1380px;
}
.digital-cycle .lead,
.digital-cycle-bridge {
  text-align: center;
}
.digital-cycle-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  gap: 26px;
  align-items: stretch;
  margin: 34px auto 28px;
}
.digital-cycle-copy,
.digital-cycle-panel,
.cycle-card {
  position: relative;
  border: 1px solid rgba(0, 234, 255, 0.26);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(5, 11, 31, 0.9), rgba(2, 4, 13, 0.96));
  box-shadow: 0 0 34px rgba(0, 180, 255, 0.14), inset 0 0 24px rgba(0, 234, 255, 0.04);
  overflow: hidden;
}
.digital-cycle-copy {
  padding: clamp(24px, 4vw, 42px);
}
.digital-cycle-copy::before,
.digital-cycle-panel::before,
.cycle-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(0, 234, 255, 0.13), transparent);
  transform: translateX(-100%);
  transition: transform 0.9s;
}
.digital-cycle-copy:hover::before,
.digital-cycle-panel:hover::before,
.cycle-card:hover::before {
  transform: translateX(100%);
}
.digital-cycle-status,
.cycle-panel-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 16px;
  padding: 7px 12px;
  border: 1px solid rgba(57, 255, 136, 0.38);
  border-radius: 999px;
  color: var(--neon-green);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 1px;
  text-align: left;
}
.digital-cycle-copy h3 {
  color: var(--text);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  margin-bottom: 14px;
  text-align: left;
}
.digital-cycle-copy p,
.cycle-card p,
.cycle-note,
.cycle-steps p {
  color: var(--muted);
}
.cycle-checks {
  display: grid;
  gap: 10px;
  margin: 22px 0 26px;
  list-style: none;
}
.cycle-checks li {
  padding: 12px 14px;
  border: 1px solid rgba(0, 180, 255, 0.22);
  border-radius: 8px;
  background: rgba(0, 180, 255, 0.05);
  color: var(--muted);
}
.cycle-checks b {
  color: var(--neon-cyan);
}
.digital-cycle-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.digital-cycle-panel {
  padding: clamp(22px, 3.2vw, 34px);
}
.cycle-steps {
  display: grid;
  gap: 14px;
  list-style: none;
  counter-reset: none;
}
.cycle-steps li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
}
.cycle-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 234, 255, 0.36);
  border-radius: 50%;
  color: var(--neon-cyan);
  font-family: var(--font-mono);
  box-shadow: inset 0 0 14px rgba(0, 234, 255, 0.12);
}
.cycle-note {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 234, 255, 0.16);
  font-size: 0.96rem;
}
.digital-cycle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.cycle-card {
  padding: 24px;
}
.cycle-card > span {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--neon-yellow);
  font-family: var(--font-mono);
  font-size: 1.25rem;
  text-shadow: 0 0 14px rgba(249, 248, 113, 0.28);
}
.cycle-card h3 {
  color: var(--neon-cyan);
  margin-bottom: 10px;
}
.digital-cycle-bridge {
  max-width: 860px;
  margin: 26px auto 0;
  color: var(--text);
  font-size: 1.05rem;
}
@media (max-width: 980px) {
  .digital-cycle-shell,
  .digital-cycle-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .digital-cycle-copy,
  .digital-cycle-panel,
  .cycle-card {
    padding: 20px;
  }
  .digital-cycle-actions .btn {
    width: 100%;
  }
}

/*
       ========================================= SEÇÃO: FAQ E GLOSSÁRIO =========================================
       */
    .faq {
       display: grid;
       gap: 14px;
    }
     .faq details {
       padding: 18px 22px;
       border: 1px solid var(--border);
       border-radius: 8px;
       background: rgba(0, 180, 255, 0.04);
       transition: border-color 0.2s, box-shadow 0.2s;
    }
     .faq details[open] {
       border-color: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
    }
     .faq summary {
       cursor: pointer;
       font-family: var(--font-display);
       color: var(--text);
       letter-spacing: 0.5px;
       font-size: 1rem;
       list-style: none;
       display: flex;
       justify-content: space-between;
       align-items: center;
       gap: 14px;
    }
     .faq summary::after {
       content: "+";
       color: var(--neon-cyan);
       font-size: 1.5rem;
       transition: transform 0.2s;
    }
     .faq details[open] summary::after {
       transform: rotate(45deg);
    }
     .faq p {
       margin-top: 12px;
       color: var(--muted);
    }
     .glossary {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
       gap: 16px;
    }
     .term {
       padding: 16px 18px;
       border-radius: 8px;
       background: rgba(2, 4, 13, 0.55);
       border: 1px solid var(--border);
    }
     .term b {
       display: block;
       font-family: var(--font-mono);
       color: var(--neon-cyan);
       margin-bottom: 6px;
       letter-spacing: 1px;
    }
     .term span {
       color: var(--muted);
       font-size: 0.96rem;
       display: block;
    }
     .faq-index {
       display: flex;
       flex-wrap: wrap;
       gap: 10px;
       justify-content: center;
       margin: -20px auto 35px;
    }
     .faq-index a {
       padding: 8px 14px;
       border: 1px solid var(--border);
       border-radius: 999px;
       font-family: var(--font-mono);
       font-size: 12px;
    }
     /*
       ========================================= SEÇÃO: CITAÇÃO (QUOTE) =========================================
       */
    .quote {
       text-align: center;
       padding: 50px 6vw;
       margin: 40px auto;
       max-width: 900px;
       border-top: 1px solid var(--border);
       border-bottom: 1px solid var(--border);
    }
     .quote p {
       font-family: var(--font-display);
       font-size: clamp(1.2rem, 2.4vw, 1.8rem);
       color: var(--text);
       line-height: 1.4;
    }
     .quote p::before, .quote p::after {
       content: '"';
       color: var(--neon-cyan);
       font-size: 2rem;
    }
     .quote span {
       display: block;
       margin-top: 16px;
       font-family: var(--font-mono);
       color: var(--neon-cyan);
       letter-spacing: 2px;
       font-size: 13px;
    }
     /*
       ========================================= SEÇÃO: CONTATO E RODAPÉ =========================================
       */
    .contact {
       text-align: center;
    }
     .contact h2 {
       margin-bottom: 16px;
    }
     .contact ul {
       list-style: none;
       display: inline-flex;
       flex-wrap: wrap;
       gap: 18px;
       justify-content: center;
       margin: 12px 0 26px;
    }
     .contact ul li {
       padding: 8px 16px;
       border: 1px solid var(--border);
       border-radius: 999px;
       font-family: var(--font-mono);
       color: var(--neon-cyan);
       font-size: 13px;
       letter-spacing: 1px;
    }
     .contact-signature {
       display: block;
       margin-top: 6px;
       color: var(--text);
       font-weight: 700;
       letter-spacing: 0;
    }
     .email-cta {
       display: inline-flex;
       align-items: center;
       gap: 12px;
       padding: 18px 30px;
       background: linear-gradient(135deg, rgba(0, 180, 255, 0.15), rgba(138, 91, 255, 0.15));
       border: 1px solid var(--neon-cyan);
       border-radius: 10px;
       font-family: var(--font-display);
       font-size: 1.05rem;
       color: var(--text);
       box-shadow: var(--glow-cyan);
       transition: transform 0.2s, box-shadow 0.2s;
    }
     .email-cta:hover {
       transform: translateY(-2px);
       background: linear-gradient(135deg, rgba(0, 180, 255, 0.3), rgba(138, 91, 255, 0.3));
       color: var(--text);
       text-shadow: none;
    }
     .email-cta svg {
       color: var(--neon-cyan);
    }
     .contact-links {
       display: flex;
       flex-wrap: wrap;
       gap: 22px;
       margin-top: 40px;
       font-family: var(--font-mono);
       justify-content: center;
    }
     .footer-link {
       display: inline-flex;
       align-items: center;
       gap: 8px;
       padding: 8px 14px;
       border: 1px solid var(--border);
       border-radius: 6px;
       transition: 0.2s;
    }
     .footer-link:hover {
       border-color: var(--neon-cyan);
       background: rgba(0, 234, 255, 0.06);
    }
     .icon-blue {
       color: var(--neon-cyan);
    }
     .footer {
       padding: 50px 6vw 30px;
       border-top: 1px solid var(--border);
       font-family: var(--font-mono);
       color: var(--muted);
       font-size: 13px;
       background: rgba(2, 4, 13, 0.5);
    }
     .footer-grid {
       display: grid;
       grid-template-columns: 1.4fr 1fr 1fr;
       gap: 40px;
       max-width: 1300px;
       margin: 0 auto 30px;
    }
     @media (max-width: 760px) {
       .footer-grid {
         grid-template-columns: 1fr;
      }
    }
     .footer-grid h5 {
       font-family: var(--font-display);
       color: var(--neon-cyan);
       margin-bottom: 14px;
       font-size: 13px;
       letter-spacing: 2px;
    }
     .footer-grid p, .footer-grid li {
       line-height: 1.7;
       text-align: left;
    }
     .footer-grid ul {
       list-style: none;
       display: grid;
       gap: 6px;
    }
     .brand {
       display: inline-flex;
       align-items: center;
       gap: 8px;
       font-family: var(--font-display);
       font-weight: 900;
       margin-bottom: 14px;
       font-size: 18px;
    }
     .brand__mark {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .brand__text span {
       color: var(--neon-blue);
    }
     .footer-base {
       text-align: center;
       padding-top: 24px;
       border-top: 1px dashed var(--border);
       max-width: 1300px;
       margin: 0 auto;
    }
     .footer-base p {
       margin: 4px 0;
       text-align: center;
    }
     .footer-base a {
       color: var(--neon-cyan);
    }
     /* ====== Utilitários (Marquee, Reveal, Animações em Geral) ====== */
    .reveal {
       opacity: 0;
       transform: translateY(30px);
       transition: opacity 0.8s, transform 0.8s;
    }
     .reveal.show {
       opacity: 1;
       transform: translateY(0);
    }
     .marquee {
       overflow: hidden;
       border-top: 1px solid var(--border);
       border-bottom: 1px solid var(--border);
       background: rgba(0, 180, 255, 0.04);
       padding: 12px 0;
       margin: 0;
    }
     .marquee-track {
       display: inline-flex;
       gap: 48px;
       white-space: nowrap;
       font-family: var(--font-mono);
       color: var(--neon-cyan);
       letter-spacing: 3px;
       font-size: 13px;
       animation: scroll 30s linear infinite;
    }
     @keyframes scroll {
       from {
         transform: translateX(0);
      }
       to {
         transform: translateX(-50%);
      }
    }
     .marquee-track span::before {
       content: "◢◤ ";
       color: var(--neon-blue);
    }
     @media (max-width: 640px) {
       html {
         overflow-x: hidden;
       }
       .nav {
         flex-wrap: wrap;
         gap: 12px;
       }
       .hero {
         min-height: auto;
         justify-content: flex-start;
         padding-top: 205px;
       }
       .nav nav {
         width: 100%;
         justify-content: center;
         gap: 10px;
         flex-wrap: wrap;
      }
       .nav nav a, .nav-dropdown summary {
         font-size: 12px;
      }
       .nav-dropdown {
         padding-bottom: 0;
         margin-bottom: 0;
      }
       .nav-dropdown::after {
         display: none;
      }
       .nav-dropdown[open] {
         width: 100%;
      }
       .nav-dropdown-panel {
         position: static;
         width: 100%;
         min-width: auto;
         margin-top: 8px;
         opacity: 1;
         transform: none;
         visibility: visible;
         pointer-events: auto;
      }
       .section {
         padding: 70px 6vw;
      }
       .hero-stats > div {
         min-width: 130px;
      }
    }
     /* ====== Aviso Iluminado ====== */
    .notice-glow-box {
       background: rgba(5, 11, 31, 0.55);
       border: 1px solid rgba(0, 234, 255, 0.25);
       border-radius: 16px;
       padding: 1.5rem;
       margin: 2.5rem auto;
       max-width: 780px;
       text-align: center;
       backdrop-filter: blur(8px);
       box-shadow: 0 0 35px rgba(0, 234, 255, 0.15), inset 0 0 20px rgba(0, 180, 255, 0.1);
    }
     .notice-glow-box .notice-lead {
       font-size: 1.05rem;
       color: var(--text);
       opacity: 0.9;
       margin-bottom: 1.2rem;
    }
     .notice-glow-box .notice-title {
       font-size: 1.2rem;
       font-family: var(--font-display), sans-serif;
       color: var(--neon-cyan);
       text-shadow: 0 0 10px rgba(0, 234, 255, 0.4);
       margin-bottom: 1.2rem;
       line-height: 1.4;
    }
     .notice-glow-box .notice-sub {
       font-size: 0.95rem;
       color: var(--muted);
       margin: 0.5rem 0;
       font-family: var(--font-body), sans-serif;
    }
     @keyframes blink-bg-blue {
       0%, 100% {
         background-color: rgba(0, 180, 255, 0.8);
         box-shadow: 0 0 15px rgba(0, 180, 255, 0.6);
      }
       50% {
         background-color: rgba(0, 180, 255, 0.15);
         box-shadow: 0 0 0px transparent;
      }
    }
     @keyframes blink-bg-white {
       0%, 100% {
         background-color: rgba(255, 255, 255, 0.9);
         box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
      }
       50% {
         background-color: rgba(255, 255, 255, 0.15);
         box-shadow: 0 0 0px transparent;
      }
    }
     .notice-flash-blue {
       font-size: 1.2rem;
       font-family: var(--font-display), sans-serif;
       color: #ffffff;
       padding: 0.6rem 1rem;
       border-radius: 8px;
       margin: 1rem 0;
       display: block;
       animation: blink-bg-blue 1.5s infinite ease-in-out;
    }
     .notice-flash-white {
       font-size: 1.2rem;
       font-family: var(--font-display), sans-serif;
       color: var(--neon-blue);
       padding: 0.6rem 1rem;
       border-radius: 8px;
       margin: 1rem 0;
       display: block;
       animation: blink-bg-white 1.5s infinite ease-in-out;
    }
     @media (prefers-reduced-motion: reduce) {
       *, *::before, *::after {
         animation-duration: 0.001ms !important;
         animation-iteration-count: 1 !important;
         transition: none !important;
      }
    }
     @media print {
       body {
         display: none !important;
      }
    }
     /*
       ========================================= CABEÇALHO PADRÃO INDEX E RODAPÉ PADRÃO GUIA =========================================
       */ header.site-header {
       position: fixed;
       top: 0;
       left: 0;
       z-index: 100;
       width: 100%;
       display: flex;
       justify-content: space-between;
       align-items: center;
       gap: 18px;
       padding: 16px 6vw;
       background: rgba(2, 4, 13, 0.86);
       border-bottom: 1px solid var(--border);
       backdrop-filter: blur(12px);
    }
     header.site-header .logo {
       display: flex;
       align-items: center;
       gap: 10px;
       color: var(--text);
       text-decoration: none;
       font-family: var(--font-display);
       font-weight: 900;
       font-size: 20px;
       letter-spacing: 1px;
       line-height: 1.1;
    }
     header.site-header .logo-mark {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     header.site-header .logo-text {
       color: var(--text);
       text-align: left;
    }
     header.site-header .accent {
       color: var(--neon-blue);
       text-shadow: var(--glow-blue);
       font-family: var(--font-mono);
       font-size: 0.72em;
       font-weight: 400;
    }
     header.site-header .nav-menu {
       position: relative;
       display: flex;
       align-items: center;
       gap: 22px;
    }
     header.site-header .nav-menu > a, header.site-header .nav-dropdown summary {
       color: var(--text);
       font-family: var(--font-mono);
       font-size: 13px;
       font-weight: 600;
       text-decoration: none;
       text-transform: uppercase;
       letter-spacing: 1px;
    }
     header.site-header .nav-menu > a:hover {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     header.site-header .cta-mini, header.site-header .btn-nav {
       padding: 8px 16px;
       border: 1px solid var(--neon-cyan);
       border-radius: 4px;
       color: var(--neon-cyan);
       box-shadow: var(--glow-cyan);
    }
     header.site-header .cta-mini:hover, header.site-header .btn-nav:hover {
       background: var(--neon-cyan);
       color: var(--bg) !important;
       text-shadow: none;
    }
     header.site-header .nav-dropdown {
       position: relative;
       padding-bottom: 10px;
       margin-bottom: -10px;
       font-family: var(--font-mono);
    }
     header.site-header .nav-dropdown::after {
       content: "";
       position: absolute;
       top: 100%;
       left: 0;
       width: 100%;
       height: 14px;
       pointer-events: auto;
    }
     header.site-header .nav-dropdown summary {
       list-style: none;
       cursor: pointer;
       display: inline-flex;
       align-items: center;
       gap: 6px;
       padding: 8px 10px;
       border: 1px solid transparent;
       border-radius: 6px;
       transition: color 0.2s, border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }
     header.site-header .nav-dropdown summary::-webkit-details-marker {
       display: none;
    }
     header.site-header .nav-dropdown summary::after {
       content: "▾";
       color: var(--neon-cyan);
       transition: transform 0.2s;
    }
     header.site-header .nav-dropdown[open] summary, header.site-header .nav-dropdown:hover summary, header.site-header .nav-dropdown:focus-within summary {
       color: var(--neon-cyan);
       border-color: var(--border);
       background: rgba(0, 234, 255, 0.06);
       box-shadow: 0 0 8px var(--neon-cyan), 0 0 20px rgba(0, 234, 255, 0.22);
    }
     header.site-header .nav-dropdown[open] summary::after, header.site-header .nav-dropdown:hover summary::after, header.site-header .nav-dropdown:focus-within summary::after {
       transform: rotate(180deg);
    }
     header.site-header .nav-dropdown-panel {
       position: absolute;
       top: calc(100% + 4px);
       left: 0;
       z-index: 120;
       min-width: 250px;
       padding: 10px;
       display: grid;
       gap: 6px;
       border: 1px solid var(--border);
       border-radius: 10px;
       background: rgba(2, 4, 13, 0.97);
       backdrop-filter: blur(14px);
       box-shadow: var(--glow-cyan);
       opacity: 0;
       transform: translateY(6px);
       visibility: hidden;
       pointer-events: none;
       transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    }
     header.site-header .nav-dropdown[open] .nav-dropdown-panel {
       opacity: 1;
       transform: translateY(0);
       visibility: visible;
       pointer-events: auto;
    }
     header.site-header .nav-dropdown-panel a {
       display: block;
       padding: 10px 12px;
       border: 1px solid transparent;
       border-radius: 6px;
       color: var(--text);
       text-decoration: none;
       font-family: var(--font-mono);
       font-size: 12px;
       text-transform: uppercase;
       letter-spacing: 1px;
    }
     header.site-header .nav-dropdown-panel a:hover {
       color: var(--neon-cyan);
       border-color: var(--border);
       background: rgba(0, 234, 255, 0.07);
       text-shadow: none;
    }
     .footer {
       position: relative;
       z-index: 2;
       padding: 50px 6vw 30px;
       border-top: 1px solid var(--border);
       background: rgba(2, 4, 13, 0.72);
       color: var(--muted);
       font-family: var(--font-mono);
       font-size: 13px;
    }
     .footer-grid {
       max-width: 1300px;
       margin: 0 auto 30px;
       display: grid;
       gap: 24px;
    }
     .footer-grid--enhanced {
       grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    }
     .footer-brand-block p, .footer-grid li {
       line-height: 1.7;
       text-align: left;
    }
     .brand {
       display: inline-flex;
       align-items: center;
       gap: 8px;
       margin-bottom: 14px;
       color: var(--text);
       font-family: var(--font-display);
       font-weight: 900;
       font-size: 18px;
    }
     .brand__mark {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .brand__text span {
       color: var(--neon-blue);
    }
     .footer-dropdown {
       padding: 14px 16px;
       border: 1px solid rgba(0, 180, 255, 0.18);
       border-radius: 10px;
       background: rgba(0, 180, 255, 0.035);
    }
     .footer-dropdown summary {
       cursor: pointer;
       list-style: none;
       display: flex;
       align-items: center;
       justify-content: space-between;
       color: var(--neon-cyan);
       font-family: var(--font-display);
       font-size: 13px;
       letter-spacing: 2px;
       text-transform: uppercase;
    }
     .footer-dropdown summary::-webkit-details-marker {
       display: none;
    }
     .footer-dropdown summary::after {
       content: "+";
       font-size: 18px;
       transition: transform 0.2s;
    }
     .footer-dropdown[open] summary::after {
       transform: rotate(45deg);
    }
     .footer-dropdown ul {
       list-style: none;
       display: grid;
       gap: 7px;
       margin-top: 14px;
    }
     .footer-dropdown a {
       color: var(--muted);
       text-decoration: none;
    }
     .footer-dropdown a:hover {
       color: var(--neon-cyan);
       text-shadow: var(--glow-cyan);
    }
     .footer-base {
       max-width: 1300px;
       margin: 0 auto;
       padding-top: 24px;
       border-top: 1px dashed var(--border);
       text-align: center;
    }
     .footer-base p {
       margin: 4px 0;
       text-align: center;
    }
     @media (max-width: 900px) {
       .footer-grid--enhanced {
         grid-template-columns: 1fr;
      }
    }
     @media (max-width: 768px) {
       header.site-header {
         flex-direction: column;
         align-items: center;
         padding: 14px 5vw;
      }
       header.site-header .nav-menu {
         width: 100%;
         justify-content: center;
         flex-wrap: wrap;
         gap: 10px;
      }
       header.site-header .nav-menu > a, header.site-header .nav-dropdown summary {
         font-size: 12px;
      }
       header.site-header .nav-dropdown[open] {
         width: 100%;
      }
       header.site-header .nav-dropdown-panel {
         position: static;
         width: 100%;
         min-width: auto;
         margin-top: 8px;
      }
    }
.section-subheading {
  margin: 40px 0 20px;
  color: var(--neon-cyan);
  font-size: 1.4rem;
}
/* Imagens geradas para a home */
.home-generated-visual {
  position: relative;
  width: min(100%, 1120px);
  margin: 30px auto 36px;
  border: 1px solid rgba(0, 234, 255, 0.26);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(2, 4, 13, 0.72);
  box-shadow: 0 0 28px rgba(0, 180, 255, 0.16), inset 0 0 22px rgba(0, 234, 255, 0.06);
}
.home-generated-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 234, 255, 0.06), transparent 24%, rgba(0, 0, 0, 0.14));
}
.home-generated-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.06) contrast(1.04);
}
.home-generated-visual--hero {
  width: min(100%, 980px);
  margin: 0 auto 36px;
}
.home-generated-visual--hero img {
  max-height: min(34vh, 360px);
}
.about-visual--stack {
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.about-visual--stack .hologram {
  width: min(320px, 78vw);
  height: min(320px, 78vw);
}
.about-generated-image {
  display: block;
  width: min(100%, 430px);
  margin: 0 auto;
}
.home-generated-visual--threats,
.home-generated-visual--protocol,
.home-generated-visual--cyberzone {
  margin-top: 28px;
}
.cyberzone .home-generated-visual {
  width: min(100%, 1040px);
}
@media (max-width: 860px) {
  .about-visual--stack {
    margin-top: 26px;
  }
  .about-generated-image {
    width: min(100%, 460px);
  }
}
@media (max-width: 768px) {
  .home-generated-visual {
    margin: 24px auto 30px;
  }
  .home-generated-visual--hero {
    margin-bottom: 30px;
  }
  .home-generated-visual--hero img {
    max-height: 280px;
  }
}
/* ===== Guias visuais legais ===== */
.visual-hub-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 32px;
}
.visual-hub-card {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(5,11,31,.92), rgba(2,4,13,.96));
  box-shadow: 0 0 34px rgba(0,180,255,.12);
  text-align: left;
}
.visual-hub-card strong {
  font-family: var(--font-display);
  font-size: clamp(3.7rem, 8vw, 6rem);
  line-height: .9;
}
.visual-hub-card h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
}
.visual-hub-card p {
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
}
.visual-hub-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid currentColor;
  border-radius: 6px;
  color: var(--neon-cyan);
  font-family: var(--font-mono);
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}
.visual-hub-card a:hover {
  background: var(--neon-cyan);
  color: var(--bg);
  text-shadow: none;
}
.visual-hub-card--cyan strong { color: var(--neon-cyan); }
.visual-hub-card--green strong { color: var(--neon-green); }
.visual-hub-card--pink strong { color: var(--neon-pink); }
.visual-hub-card--yellow strong { color: var(--neon-yellow); }
@media (max-width: 1100px) {
  .visual-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .visual-hub-grid {
    grid-template-columns: 1fr;
  }
}
