/* ═══════════ LDCODE — grafite + verde de programação (28/10/2026) ═══════════
   Pedido do Luiz: base de cor diferente das outras marcas — cinza com verde "de programação"
   e efeito Matrix (a chuva de código fica no topo, em app.js). O logo continua o original.
   Carregado por ÚLTIMO, no lugar de cinza.css; só redefine cores. Voltar = trocar o <link>. */

:root{
  --bg:#0a0c0b; --bg-2:#0f1211; --bg-3:#151917;
  --ink:#e9efeb; --muted:#9aa5a0; --muted-2:#5f6a65;
  --line:rgba(160,255,200,.08); --line-2:rgba(160,255,200,.16);
  --blue:#2fd27a; --blue-2:#45e08c;             /* acento principal = verde */
  --cyan:#39ff88;                               /* verde terminal */
  --violet:#7d8a84; --violet-2:#9aa8a1;         /* detalhes em cinza */
  --grad:linear-gradient(105deg,#eef3f0 0%,#a9b6af 45%,#39ff88 100%);
  --grad-soft:linear-gradient(105deg,rgba(57,255,136,.10),rgba(150,165,158,.07),rgba(57,255,136,.12));
  --glow-blue:0 0 40px rgba(57,255,136,.20);
}
[data-theme="light"]{
  --bg:#eef1ef; --bg-2:#ffffff; --bg-3:#e2e7e4;
  --ink:#121815; --muted:#4b5650; --muted-2:#838d88;
  --line:rgba(16,24,20,.10); --line-2:rgba(16,24,20,.17);
  --blue:#15803d; --blue-2:#16a34a; --cyan:#15803d; --violet:#4b5650; --violet-2:#5f6a65;
  --grad:linear-gradient(105deg,#18201c 0%,#4b5650 50%,#15803d 100%);
  --grad-soft:linear-gradient(105deg,rgba(21,128,61,.10),rgba(75,86,80,.06),rgba(21,128,61,.12));
  --glow-blue:0 0 28px rgba(21,128,61,.18);
}

/* tipografia de código: os rótulos < /> ficam verdes como num editor */
.eyebrow{color:var(--cyan)}
.eyebrow::before,.eyebrow::after{color:var(--muted-2)}

/* botão principal: verde terminal com texto escuro */
.btn-primary{background:linear-gradient(180deg,#5dffa0 0%,#2fd27a 100%);color:#04140b;
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 1px rgba(57,255,136,.35), inset 0 1px 0 rgba(255,255,255,.45)}
.btn-primary:hover{box-shadow:0 16px 40px rgba(0,0,0,.55), 0 0 30px rgba(57,255,136,.45), inset 0 1px 0 rgba(255,255,255,.5)}
[data-theme="light"] .btn-primary{background:linear-gradient(180deg,#1c2420,#0e1411);color:#5dffa0;
  box-shadow:0 10px 26px rgba(16,24,20,.28), inset 0 1px 0 rgba(255,255,255,.10)}

/* luzes de fundo: grafite com brilho verde */
.orb.b{background:radial-gradient(circle,#3d4642,transparent 65%)}
.orb.c{background:radial-gradient(circle,#1f6b42,transparent 65%);opacity:.35}
.orb.v{background:radial-gradient(circle,#2fd27a,transparent 65%);opacity:.18}

/* bolinhas de status: verde "online" */
.hero-badge .dot,.scarcity .dot{background:#39ff88;box-shadow:0 0 10px #39ff88}

/* chuva de código em toda a página (canvas fixo #site-canvas, app.js); a do topo saiu */
#hero-canvas{display:none}
#site-canvas{opacity:.42}
[data-theme="light"] #site-canvas{opacity:.30}

/* cores fixas que vinham do azul antigo */
.form input:focus,.form select:focus,.form textarea:focus{box-shadow:0 0 0 3px rgba(57,255,136,.15)}
.avatars span,.test .who .av{color:#c9f5da}

/* brilhos e fundos que estavam fixos no azul/violeta antigo */
.btn-ghost:hover,.theme-toggle:hover,.slider-arrows button:hover,.banner-arrow:hover,.footer .socials a:hover{border-color:rgba(57,255,136,.55);background:rgba(57,255,136,.07)}
.card:hover{box-shadow:0 26px 50px -24px rgba(57,255,136,.35)}
.port-card:hover{box-shadow:0 26px 50px -24px rgba(57,255,136,.30)}
.faq-item.open{border-color:rgba(57,255,136,.4)}
.browser,.gsearch{box-shadow:0 30px 70px -28px rgba(57,255,136,.28)}
.promo-track{box-shadow:0 24px 60px -30px rgba(57,255,136,.30)}
.phone{background:#0b0f0d;box-shadow:0 30px 70px -26px rgba(57,255,136,.30)}
.site-mock .sm-hero{background:radial-gradient(ellipse at 30% 0%,rgba(57,255,136,.14),transparent 60%)}
.shop-top{background:radial-gradient(ellipse at 50% 0%,rgba(57,255,136,.16),transparent 65%)}
.cta-box{background:linear-gradient(135deg,rgba(57,255,136,.09),rgba(150,165,158,.05) 50%,rgba(57,255,136,.06));border-color:rgba(57,255,136,.18)}
.cta-box p{color:#c3cec8}
[data-theme="light"] .cta-box{background:linear-gradient(135deg,rgba(21,128,61,.10),rgba(75,86,80,.05),rgba(21,128,61,.08))}
[data-theme="light"] .cta-box p{color:var(--muted)}

/* imagens que eram azuis: prints dos sistemas em cinza (cor volta no mouse); arte do site em grafite-verde */
img[src*="assets/sistemas/"]{filter:grayscale(1) contrast(1.05) brightness(.95);transition:filter .5s}
a:hover img[src*="assets/sistemas/"],img[src*="assets/sistemas/"]:hover{filter:none}
img[src*="profissional"]{filter:grayscale(1) sepia(.35) hue-rotate(75deg) saturate(1.6) brightness(.95)}

/* 4 sistemas no ar (28/10/2026): grade de 4, 2 no celular */
.port-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.port-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.port-grid{grid-template-columns:1fr}}
#projetos .port-card .ph{height:500px;overflow:hidden;display:block}
#projetos .port-card .ph img{width:100%;height:100%;object-fit:cover;object-position:top}
@media(max-width:900px){#projetos .port-card .ph{height:380px}}
