/* BJ Automação — identidade: painel elétrico (grafite) + amarelo segurança */
:root{
  --grafite:#16181C;
  --grafite2:#1E2126;
  --aco:#EEF0F2;
  --aco2:#E2E5E9;
  --azul:#3272FF;
  --azul-claro:#6E9BFF;
  --linha:#383C43;
  --texto-claro:#F4F5F7;
  --texto-suave:#A9AFB8;
  --texto-escuro:#1A1D22;
  --mono:'IBM Plex Mono',monospace;
  --sans:'Source Sans 3',system-ui,sans-serif;
  --display:'Montserrat',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--texto-escuro);background:var(--grafite)}
img{max-width:100%;display:block}
a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:.5em}
h3{font-size:1.15rem;margin-bottom:.4em}

/* Plaquetas (etiquetas de identificação) */
.plaqueta{
  display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;color:var(--azul-claro);border:1px solid var(--linha);
  padding:6px 12px;margin-bottom:20px;background:rgba(50,114,255,.10)
}
.plaqueta-escura{color:#2258CC;border-color:#c9ccd2;background:rgba(50,114,255,.10)}

/* Botões */
.btn{display:inline-block;font-weight:600;text-decoration:none;padding:14px 22px;
  font-size:.98rem;border:1px solid transparent;transition:transform .12s ease,background .12s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
.btn-zap{background:#1FA855;color:#fff}
.btn-zap:hover{background:#178A45}
.btn-fantasma{border-color:var(--linha);color:var(--texto-claro)}
.btn-fantasma:hover{border-color:var(--azul);color:var(--azul-claro)}
.btn-escuro{background:var(--grafite);color:#fff;margin-top:8px}
.btn-grande{font-size:1.1rem;padding:18px 30px}

/* Topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(22,24,28,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linha)}
.topo-inner{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--azul-claro);text-decoration:none}
.logo img{width:44px;height:44px}
.logo span{color:var(--texto-claro);font-weight:600;letter-spacing:.06em;font-size:.95rem;margin-left:2px}
.menu{display:flex;gap:22px;margin-left:auto}
.menu a{color:var(--texto-suave);text-decoration:none;font-size:.95rem}
.menu a:hover{color:var(--azul-claro)}
.topo-zap{padding:10px 16px;font-size:.9rem}

/* Hero */
.hero{position:relative;background:var(--grafite);color:var(--texto-claro);overflow:hidden}
.hero-esquema{position:absolute;right:-40px;top:0;height:100%;width:min(52vw,640px);
  color:var(--linha);opacity:.55;pointer-events:none}
.hero-inner{position:relative;padding:110px 24px 120px;max-width:760px;margin-left:calc((100% - 1120px)/2 + 0px)}
@media(max-width:1180px){.hero-inner{margin-left:0}}
.hero h1 em{font-style:normal;color:var(--azul-claro)}
.hero-sub{margin:22px 0 34px;color:var(--texto-suave);font-size:1.12rem;max-width:560px}
.hero-acoes{display:flex;gap:14px;flex-wrap:wrap}
.faixa-zebra{height:14px;background:repeating-linear-gradient(-45deg,#2258CC 0 18px,var(--grafite) 18px 36px)}

/* Seções */
.secao{padding:88px 0}
.secao-clara{background:var(--aco);color:var(--texto-escuro)}
.secao-escura{background:var(--grafite2);color:var(--texto-claro)}

/* Serviços */
.grade-servicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:36px}
.cartao{background:#fff;border:1px solid #D8DBE0;border-top:3px solid var(--azul);padding:26px 22px}
.cartao p{font-size:.95rem;color:#4A4F57}
.cartao-tag{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  color:#2258CC;margin-bottom:12px}
.cartao-cta{background:var(--grafite);border-color:var(--grafite)}
.cartao-cta h3{color:var(--texto-claro)}
.cartao-cta p{color:var(--texto-suave)}
.cartao-cta .cartao-tag{color:var(--azul-claro)}
.cartao-cta .btn-escuro{background:var(--azul);color:#fff}

/* Galeria */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:36px}
.galeria-item{background:var(--grafite);border:1px solid var(--linha)}
.galeria-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.galeria-item figcaption{font-family:var(--mono);font-size:.78rem;color:var(--texto-suave);
  padding:12px 14px;border-top:1px solid var(--linha)}
.galeria-vazia{margin-top:24px;color:var(--texto-suave);max-width:560px}
.galeria-vazia a{color:var(--azul-claro)}

/* Sobre */
.sobre-grade{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start}
.sobre-texto p+p{margin-top:16px}
@media(max-width:820px){.sobre-grade{grid-template-columns:1fr}}

/* Contato */
.contato-sub{color:var(--texto-suave);max-width:540px;margin-bottom:32px}
.contato-linhas{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.contato-item{font-family:var(--mono);font-size:.95rem;color:var(--texto-suave);text-decoration:none}
a.contato-item:hover{color:var(--azul-claro)}

/* Rodapé */
.rodape{background:var(--grafite);border-top:1px solid var(--linha);color:var(--texto-suave);font-size:.85rem}
.rodape-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:26px 24px}
.rodape-mono{font-family:var(--mono)}

/* WhatsApp flutuante */
.zap-flutuante{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;background:#1FA855;color:#fff;
  border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.35);text-decoration:none}
.zap-flutuante:hover{background:#178A45}

/* Mobile */
@media(max-width:720px){
  .menu{display:none}
  .topo-zap{margin-left:auto}
  .hero-inner{padding:72px 24px 88px}
  .hero-esquema{opacity:.25;width:90vw}
  .secao{padding:64px 0}
}

/* Cartão destaque: especialidade em pontes rolantes */
.cartao-destaque{grid-column:1/-1;background:var(--grafite);border-color:var(--grafite);
  border-top:3px solid var(--azul);display:flex;flex-direction:column;align-items:flex-start}
.cartao-destaque h3{color:var(--texto-claro);font-size:1.5rem}
.cartao-destaque p{color:var(--texto-suave);font-size:1.02rem;max-width:820px}
.cartao-destaque .cartao-tag{color:var(--azul-claro)}
.cartao-destaque .btn-escuro{background:var(--azul);color:#fff}

/* Subtítulo de seção */
.secao-sub{color:#4A4F57;max-width:640px;margin:-6px 0 8px}
.secao-escura .secao-sub{color:var(--texto-suave)}

/* Barra de números */
.numeros{background:var(--grafite2);border-bottom:1px solid var(--linha);color:var(--texto-claro)}
.numeros-grade{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:34px 24px}
.numero strong{display:block;font-family:var(--display);font-size:1.7rem;font-weight:800;color:var(--azul-claro)}
.numero span{font-size:.86rem;color:var(--texto-suave)}
@media(max-width:760px){.numeros-grade{grid-template-columns:repeat(2,1fr)}}

/* Setores atendidos */
.setores-lista{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.setores-lista span{font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;
  border:1px solid var(--linha);padding:10px 16px;color:var(--texto-claro);background:rgba(50,114,255,.06)}
.setores-estados{color:var(--texto-suave);max-width:640px}
.setores-estados strong{color:var(--azul-claro);font-family:var(--mono);font-weight:600;letter-spacing:.06em}

/* Galeria: paginação e ver todos */
.ver-todos{margin-top:30px}
.paginacao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:34px}
.pag-link,.pag-atual{font-family:var(--mono);font-size:.9rem;padding:8px 13px;text-decoration:none}
.pag-link{color:var(--texto-suave);border:1px solid var(--linha)}
.pag-link:hover{color:var(--azul-claro);border-color:var(--azul)}
.pag-atual{color:var(--grafite);background:var(--azul-claro);font-weight:600}
.contato-final{text-align:left}
.contato-final .btn{margin-top:8px}

/* Galeria: link para página completa */

/* Lightbox: foto ampliada na própria página */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,12,16,.95);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px;cursor:zoom-out}
.lightbox[hidden]{display:none}
.lightbox img{max-width:94vw;max-height:80vh;object-fit:contain;border:1px solid var(--linha)}
.lb-legenda{font-family:var(--mono);font-size:.9rem;color:var(--texto-suave);margin-top:14px;text-align:center}
.lb-fechar{position:absolute;top:10px;right:18px;background:none;border:0;color:#fff;
  font-size:2.4rem;line-height:1;cursor:pointer}
.galeria-item a{cursor:zoom-in}

/* Páginas de serviço */
.hero-pagina .hero-inner{padding:80px 24px 70px}
.conteudo-servico h2{margin-top:38px}
.conteudo-servico h2:first-child{margin-top:0}
.conteudo-servico p{max-width:760px;color:#3A3F47}
.lista-incluso{margin:10px 0 0 0;padding:0;list-style:none;max-width:760px}
.lista-incluso li{padding:11px 0 11px 30px;border-bottom:1px solid #DDE0E5;position:relative}
.lista-incluso li::before{content:"";position:absolute;left:2px;top:17px;width:14px;height:14px;
  background:var(--azul);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 0,38% 68%)}
.faq{max-width:760px;margin-top:26px}
.faq-item{border:1px solid var(--linha);background:var(--grafite);margin-bottom:10px}
.faq-item summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--texto-claro);list-style:none}
.faq-item summary::before{content:"+ ";color:var(--azul-claro);font-family:var(--mono)}
.faq-item[open] summary::before{content:"− "}
.faq-item p{padding:0 18px 16px;color:var(--texto-suave)}
.galeria-clara .galeria-item{background:#fff;border-color:#D8DBE0}
.galeria-clara .galeria-item figcaption{color:#5A5F67;border-color:#D8DBE0}
.outros-servicos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:26px}
.outro-servico{font-family:var(--mono);font-size:.88rem;padding:14px 16px;border:1px solid var(--linha);
  color:var(--texto-claro);text-decoration:none;background:rgba(50,114,255,.05)}
.outro-servico:hover{border-color:var(--azul);color:var(--azul-claro)}
.cartao h3 a{color:inherit;text-decoration:none}
.cartao h3 a:hover{color:#2258CC}
.cartao .saiba-mais{font-family:var(--mono);font-size:.78rem;color:#2258CC;text-decoration:none;display:inline-block;margin-top:10px}
