/* =========================================================
   MS Metais Perfurados — Site público e Área do cliente
   ========================================================= */
:root{
  --aco-900:#0c1015;
  --aco-800:#11161c;
  --aco-700:#1a2129;
  --aco-600:#28313b;
  --aco-400:#5c6875;
  --aco-300:#8a95a1;
  --aco-200:#c9d0d6;
  --aco-100:#e6eaee;
  --aco-50:#f3f5f7;
  --branco:#fff;
  --brasa:#e86a1f;
  --brasa-escuro:#c4520e;
  --brasa-claro:#fde9dc;
  --texto:#1a2027;
  --texto-suave:#55616d;
  --verde:#1d8a52; --verde-claro:#e2f4ea;
  --azul:#2563b8; --azul-claro:#e3edfb;
  --amarelo:#a86b00; --amarelo-claro:#fbf0d9;
  --vermelho:#c0362c; --vermelho-claro:#fbe5e3;
  --raio:10px;
  --raio-g:18px;
  --sombra:0 1px 2px rgba(12,16,21,.06),0 8px 24px rgba(12,16,21,.08);
  --sombra-g:0 24px 60px rgba(12,16,21,.18);
  --fonte-titulo:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --fonte:'Barlow',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --larg:1200px;
  --furos:radial-gradient(circle at center,rgba(255,255,255,.07) 2.2px,transparent 2.6px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:clip;font-family:var(--fonte);font-size:17px;line-height:1.6;color:var(--texto);background:var(--branco)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--fonte-titulo);line-height:1.08;margin:0 0 .5em;letter-spacing:.2px;color:var(--aco-800)}
h1{font-size:clamp(2.4rem,5.4vw,4.3rem);font-weight:700}
h2{font-size:clamp(2rem,3.6vw,2.9rem);font-weight:700}
h3{font-size:1.45rem;font-weight:600}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--larg);margin:0 auto;padding:0 20px}
.ico{flex:none;vertical-align:middle}
.pular{position:absolute;left:-999px;top:0;background:var(--brasa);color:#fff;padding:10px 16px;z-index:200}
.pular:focus{left:10px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
:focus-visible{outline:3px solid var(--brasa);outline-offset:2px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;border:2px solid transparent;font:600 15px/1.2 var(--fonte);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primario{background:var(--brasa);color:#fff}
.btn-primario:hover{background:var(--brasa-escuro)}
.btn-escuro{background:var(--aco-800);color:#fff}
.btn-escuro:hover{background:var(--aco-600)}
.btn-linha{border-color:var(--aco-200);color:var(--aco-800);background:transparent}
.btn-linha:hover{border-color:var(--aco-800)}
.btn-claro{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.btn-claro:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-g{padding:16px 26px;font-size:16px}
.btn-p{padding:8px 14px;font-size:14px}
.btn-bloco{width:100%}

/* ---------- Topbar / Cabeçalho ---------- */
.topbar{background:var(--aco-900);color:var(--aco-200);font-size:14px}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.topbar-info{display:flex;gap:22px;flex-wrap:wrap}
.topbar a,.topbar span{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.topbar a:hover{color:#fff}
.topbar-cta{color:#7fe0a8!important;font-weight:600}
.cabecalho{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--aco-100);transition:box-shadow .2s}
.cabecalho.rolou{box-shadow:0 6px 24px rgba(12,16,21,.08)}
.cabecalho-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:28px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul a{display:block;padding:10px 14px;text-decoration:none;font-weight:500;color:var(--aco-600);border-radius:6px;position:relative}
.nav ul a:hover{color:var(--aco-900)}
.nav ul a[aria-current]{color:var(--aco-900)}
.nav ul a[aria-current]::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:2px;background:var(--brasa)}
.nav-acoes{display:flex;gap:10px}
.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--aco-800)}
.menu-toggle .fecha{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--aco-800);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:var(--furos);background-size:22px 22px;mask-image:linear-gradient(100deg,transparent 30%,#000 75%);-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 75%);z-index:-1}
.hero::after{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-240px;background:radial-gradient(circle,rgba(232,106,31,.35),transparent 65%);z-index:-1}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:96px 20px 110px}
.etiqueta{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--fonte);letter-spacing:2px;text-transform:uppercase;color:var(--brasa)}
.etiqueta::before{content:"";width:28px;height:2px;background:currentColor}
.hero h1{color:#fff;margin:18px 0 20px}
.hero h1 em{font-style:normal;color:var(--brasa)}
.hero-texto{font-size:1.18rem;color:var(--aco-200);max-width:560px;margin-bottom:34px}
.hero-botoes{display:flex;gap:12px;flex-wrap:wrap}
.hero-numeros{display:flex;gap:40px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
.hero-numeros strong{display:block;font:700 2.4rem/1 var(--fonte-titulo);color:#fff}
.hero-numeros span{font-size:14px;color:var(--aco-300)}
.hero-visual{position:relative;aspect-ratio:1/1.05}
.hero-visual .placa{position:absolute;border-radius:var(--raio-g);overflow:hidden;box-shadow:var(--sombra-g);border:1px solid rgba(255,255,255,.12)}
.hero-visual .placa img{width:100%;height:100%;object-fit:cover}
.placa-a{inset:0 18% 22% 0;transform:rotate(-3deg)}
.placa-b{inset:30% 0 0 30%;transform:rotate(4deg)}
.hero-selo{position:absolute;left:-10px;bottom:8%;background:#fff;color:var(--aco-800);border-radius:14px;padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:var(--sombra-g);font-size:14px;max-width:250px}
.hero-selo .ico{color:var(--brasa)}
.hero-selo strong{display:block;font-size:15px}

/* ---------- Seções ---------- */
.secao{padding:96px 0}
.secao-cinza{background:var(--aco-50)}
.secao-escura{background:var(--aco-800);color:var(--aco-200)}
.secao-escura h2,.secao-escura h3{color:#fff}
.cabeca-secao{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;flex-wrap:wrap}
.cabeca-secao p{max-width:540px;color:var(--texto-suave);margin:0}
.secao-escura .cabeca-secao p{color:var(--aco-300)}
.cabeca-secao h2{margin:10px 0 0;max-width:640px}

/* Faixa de materiais */
.faixa-materiais{background:var(--brasa);color:#fff;overflow:hidden}
.faixa-materiais .trilho{display:flex;gap:46px;padding:18px 0;white-space:nowrap;animation:correr 38s linear infinite;width:max-content}
.faixa-materiais span{font:600 1.25rem/1 var(--fonte-titulo);letter-spacing:1px;text-transform:uppercase;display:inline-flex;gap:46px;align-items:center}
.faixa-materiais span::after{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6)}
@keyframes correr{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa-materiais .trilho{animation:none}}

/* Cards de produto */
.grade-produtos{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card-produto{display:flex;flex-direction:column;background:#fff;border:1px solid var(--aco-100);border-radius:var(--raio-g);overflow:hidden;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.card-produto:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--aco-200)}
.card-produto figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--aco-100);position:relative}
.card-produto figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card-produto:hover figure img{transform:scale(1.06)}
.card-produto .cat{position:absolute;left:14px;top:14px;background:rgba(17,22,28,.82);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:20px;letter-spacing:.3px}
.card-produto .corpo{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card-produto h3{margin-bottom:8px}
.card-produto p{color:var(--texto-suave);font-size:15px;flex:1}
.card-produto .mais{display:inline-flex;align-items:center;gap:6px;color:var(--brasa-escuro);font-weight:600;font-size:15px}

/* Sobre / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-img{position:relative;border-radius:var(--raio-g);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--sombra)}
.split-img img{width:100%;height:100%;object-fit:cover}
.split-img .tag{position:absolute;right:18px;bottom:18px;background:var(--aco-800);color:#fff;padding:14px 18px;border-radius:12px;font-size:14px}
.split-img .tag strong{display:block;font:700 1.8rem/1 var(--fonte-titulo);color:var(--brasa)}
.lista-check{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:12px}
.lista-check li{display:flex;gap:12px;align-items:flex-start}
.lista-check .ico{color:var(--brasa);margin-top:3px}

/* Serviços */
.grade-servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.08);border-radius:var(--raio-g);overflow:hidden}
.servico{background:var(--aco-800);padding:34px 30px;transition:background .25s}
.servico:hover{background:var(--aco-700)}
.servico .icone{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;background:rgba(232,106,31,.14);color:var(--brasa);margin-bottom:20px}
.servico h3{font-size:1.4rem}
.servico p{color:var(--aco-300);margin:0;font-size:15.5px}
.secao:not(.secao-escura) .grade-servicos{background:var(--aco-100)}
.secao:not(.secao-escura) .servico{background:#fff}
.secao:not(.secao-escura) .servico:hover{background:var(--aco-50)}
.secao:not(.secao-escura) .servico p{color:var(--texto-suave)}
.secao:not(.secao-escura) .servico h3{color:var(--aco-800)}

/* Passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:passo}
.passo{position:relative;padding:28px 24px;border-radius:var(--raio-g);background:#fff;border:1px solid var(--aco-100)}
.passo::before{counter-increment:passo;content:"0" counter(passo);font:700 3rem/1 var(--fonte-titulo);color:var(--brasa-claro);-webkit-text-stroke:1px var(--brasa);display:block;margin-bottom:14px}
.passo h3{font-size:1.3rem}
.passo p{color:var(--texto-suave);font-size:15px;margin:0}

/* Aplicações */
.grade-aplicacoes{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.aplicacao{background:#fff;border:1px solid var(--aco-100);border-radius:14px;padding:22px 16px;text-align:center;font-weight:600;font-size:15px;color:var(--aco-700)}
.aplicacao .ico{display:block;margin:0 auto 12px;color:var(--brasa)}

/* CTA */
.cta{position:relative;background:var(--brasa);color:#fff;border-radius:24px;padding:56px;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.22) 3px,transparent 3.5px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent 40%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000);z-index:-1}
.cta h2{color:#fff;margin-bottom:10px}
.cta p{margin:0;font-size:1.1rem;color:#fff3ea;max-width:620px}
.cta .btn-escuro{background:var(--aco-900)}

/* ---------- Páginas internas ---------- */
.banner-interno{position:relative;background:var(--aco-800);color:#fff;padding:72px 0 64px;overflow:hidden;isolation:isolate}
.banner-interno::before{content:"";position:absolute;inset:0;background:var(--furos);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent 35%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);z-index:-1}
.banner-interno h1{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);margin:12px 0 10px}
.banner-interno p{color:var(--aco-200);max-width:640px;margin:0;font-size:1.1rem}
.trilha{font-size:14px;color:var(--aco-300)}
.trilha a{text-decoration:none}
.trilha a:hover{color:#fff}
.texto-rico p{color:var(--texto-suave);font-size:1.06rem}
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.mvv div{padding:28px;border-radius:var(--raio-g);background:var(--aco-50);border-top:4px solid var(--brasa)}
.mvv p{margin:0;color:var(--texto-suave)}

/* Filtro produtos */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.filtros a{padding:9px 16px;border-radius:30px;border:1px solid var(--aco-200);text-decoration:none;font-size:15px;font-weight:500;color:var(--aco-600)}
.filtros a:hover{border-color:var(--aco-800);color:var(--aco-800)}
.filtros a.ativo{background:var(--aco-800);border-color:var(--aco-800);color:#fff}

/* Produto detalhe */
.produto-det{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.produto-det .galeria{border-radius:var(--raio-g);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sombra);position:sticky;top:110px}
.produto-det .galeria img{width:100%;height:100%;object-fit:cover}
.tabela-spec{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:15.5px}
.tabela-spec th,.tabela-spec td{padding:12px 14px;border-bottom:1px solid var(--aco-100);text-align:left;vertical-align:top}
.tabela-spec th{width:40%;color:var(--aco-600);font-weight:600;background:var(--aco-50)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 30px}
.chips span{padding:7px 13px;border-radius:30px;background:var(--brasa-claro);color:var(--brasa-escuro);font-size:14px;font-weight:600}

/* Contato */
.contato-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.contato-info{display:grid;gap:14px}
.contato-item{display:flex;gap:16px;padding:20px;border-radius:14px;background:var(--aco-50)}
.contato-item .ico{color:var(--brasa);margin-top:2px}
.contato-item strong{display:block;font-size:14px;color:var(--aco-400);font-weight:500}
.mapa{margin-top:20px;border-radius:14px;overflow:hidden;border:1px solid var(--aco-100);aspect-ratio:16/10}
.mapa iframe{width:100%;height:100%;border:0}

/* ---------- Formulários ---------- */
.cartao{background:#fff;border:1px solid var(--aco-100);border-radius:var(--raio-g);padding:32px;box-shadow:var(--sombra)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .inteiro{grid-column:1/-1}
.campo label{display:block;font-weight:600;font-size:14px;color:var(--aco-700);margin-bottom:6px}
.campo .ajuda{font-size:13px;color:var(--aco-400);margin-top:5px}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;border:1.5px solid var(--aco-200);border-radius:8px;font:16px/1.4 var(--fonte);color:var(--texto);background:#fff;transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--brasa);box-shadow:0 0 0 4px rgba(232,106,31,.15)}
.campo input[type=file]{padding:10px;background:var(--aco-50);border-style:dashed}
.obrig{color:var(--brasa)}
.form-rodape{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;flex-wrap:wrap}
.form-rodape small{color:var(--aco-400);display:flex;gap:6px;align-items:center}
.alerta{padding:14px 18px;border-radius:10px;margin-bottom:18px;font-weight:500;border:1px solid}
.alerta-sucesso{background:var(--verde-claro);color:#155c38;border-color:#bfe5cf}
.alerta-erro{background:var(--vermelho-claro);color:#8f241c;border-color:#f3c3be}
.alerta-aviso{background:var(--amarelo-claro);color:#7a4d00;border-color:#efd8a6}
.alerta-info{background:var(--azul-claro);color:#1d4a87;border-color:#c4d8f4}

/* ---------- Área do cliente ---------- */
.auth-pagina{min-height:calc(100vh - 118px);display:grid;grid-template-columns:1fr 1fr;background:var(--aco-50)}
.auth-lado{position:relative;background:var(--aco-800);color:#fff;padding:72px 56px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate}
.auth-lado::before{content:"";position:absolute;inset:0;background:url("../img/padroes/redondo.svg") center/cover;opacity:.12;z-index:-1}
.auth-lado h2{color:#fff;font-size:2.6rem}
.auth-lado p{color:var(--aco-200)}
.auth-lado ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.auth-lado li{display:flex;gap:12px;color:var(--aco-100)}
.auth-lado li .ico{color:var(--brasa)}
.auth-form{display:flex;align-items:center;justify-content:center;padding:56px 24px}
.auth-form .cartao{width:100%;max-width:470px}
.auth-form h1{font-size:2.3rem;margin-bottom:6px}
.auth-form .sub{color:var(--texto-suave);margin-bottom:26px}
.auth-form .campo{margin-bottom:16px}
.auth-troca{text-align:center;margin-top:20px;font-size:15px;color:var(--texto-suave)}
.auth-troca a{color:var(--brasa-escuro);font-weight:600}

.painel-cli{background:var(--aco-50);min-height:70vh;padding:40px 0 80px}
.painel-topo{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.painel-topo h1{font-size:2.4rem;margin:0}
.painel-topo p{margin:4px 0 0;color:var(--texto-suave)}
.abas-cli{display:flex;gap:6px;margin-bottom:26px;border-bottom:1px solid var(--aco-200);overflow-x:auto}
.abas-cli a{padding:12px 16px;text-decoration:none;font-weight:600;font-size:15px;color:var(--aco-400);border-bottom:3px solid transparent;margin-bottom:-1px;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.abas-cli a:hover{color:var(--aco-800)}
.abas-cli a.ativa{color:var(--aco-900);border-color:var(--brasa)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.kpi{background:#fff;border:1px solid var(--aco-100);border-radius:14px;padding:20px}
.kpi span{font-size:14px;color:var(--aco-400)}
.kpi strong{display:block;font:700 2.3rem/1.1 var(--fonte-titulo);color:var(--aco-800)}
.tabela-wrap{background:#fff;border:1px solid var(--aco-100);border-radius:14px;overflow:auto}
.tabela{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.tabela th{background:var(--aco-50);text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--aco-400);padding:12px 16px;font-weight:600}
.tabela td{padding:14px 16px;border-top:1px solid var(--aco-100);vertical-align:middle}
.tabela tr:hover td{background:#fafbfc}
.tabela a.cod{font-weight:600;color:var(--aco-800);text-decoration:none}
.tabela a.cod:hover{color:var(--brasa-escuro)}
.vazio{text-align:center;padding:56px 20px;color:var(--texto-suave)}
.vazio .ico{color:var(--aco-200);margin:0 auto 12px;display:block}
.badge{display:inline-block;padding:4px 11px;border-radius:30px;font-size:12.5px;font-weight:600;white-space:nowrap}
.badge-novo{background:var(--azul-claro);color:var(--azul)}
.badge-analise{background:var(--amarelo-claro);color:var(--amarelo)}
.badge-enviado{background:var(--brasa-claro);color:var(--brasa-escuro)}
.badge-aprovado{background:var(--verde-claro);color:var(--verde)}
.badge-recusado,.badge-cancelado{background:var(--vermelho-claro);color:var(--vermelho)}
.secao-form{margin-bottom:28px}
.secao-form h2{font-size:1.5rem;display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--aco-100);margin-bottom:20px}
.secao-form h2 .num{width:30px;height:30px;border-radius:50%;background:var(--brasa);color:#fff;display:grid;place-items:center;font-size:16px}
.det-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.lista-dados{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0}
.lista-dados div{padding:12px 0;border-bottom:1px solid var(--aco-100)}
.lista-dados dt{font-size:13px;color:var(--aco-400)}
.lista-dados dd{margin:2px 0 0;font-weight:600}
.proposta{border:2px solid var(--brasa);background:linear-gradient(180deg,var(--brasa-claro),#fff 50%)}
.proposta .valor{font:700 2.6rem/1 var(--fonte-titulo);color:var(--aco-900);margin:6px 0 4px}
.chat{display:grid;gap:12px;margin-bottom:18px;max-height:420px;overflow:auto;padding-right:4px}
.msg{max-width:88%;padding:12px 16px;border-radius:14px;font-size:15px}
.msg small{display:block;font-size:12px;opacity:.7;margin-top:4px}
.msg-cliente{background:var(--aco-800);color:#fff;justify-self:end;border-bottom-right-radius:4px}
.msg-admin{background:var(--aco-100);justify-self:start;border-bottom-left-radius:4px}
.linha-tempo{list-style:none;padding:0;margin:0;position:relative}
.linha-tempo li{padding:0 0 16px 26px;position:relative;font-size:14.5px;color:var(--aco-400)}
.linha-tempo li::before{content:"";position:absolute;left:5px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--aco-200)}
.linha-tempo li::after{content:"";position:absolute;left:9.5px;top:18px;bottom:0;width:1px;background:var(--aco-200)}
.linha-tempo li:last-child::after{display:none}
.linha-tempo li.feito{color:var(--aco-800);font-weight:600}
.linha-tempo li.feito::before{background:var(--brasa)}

/* ---------- Rodapé ---------- */
.rodape{position:relative;background:var(--aco-900);color:var(--aco-300);padding-top:80px;font-size:15px;overflow:hidden}
.rodape-furos{position:absolute;inset:0;background:var(--furos);background-size:22px 22px;opacity:.5;mask-image:linear-gradient(180deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);pointer-events:none}
.rodape-grid{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.rodape h3{color:#fff;font-size:1.15rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rodape a{text-decoration:none}
.rodape a:hover{color:#fff}
.rodape-marca p{margin:18px 0}
.redes{display:flex;gap:10px;flex-wrap:wrap}
.redes a{padding:7px 13px;border:1px solid var(--aco-600);border-radius:30px;font-size:13px}
.rodape-contato p{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.rodape-contato .ico{color:var(--brasa);margin-top:3px}
.rodape-base{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--aco-700);margin-top:56px;padding-top:22px;padding-bottom:26px;font-size:14px}
.whats-flutuante{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1fae5b;color:#fff;box-shadow:0 10px 30px rgba(31,174,91,.4);z-index:60;transition:transform .2s}
.whats-flutuante:hover{transform:scale(1.08)}

/* Revelação ao rolar */
.revela{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.revela.visivel{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.revela{opacity:1;transform:none;transition:none}}

/* ---------- Responsivo ---------- */
@media (max-width:1080px){
  .nav{gap:14px}
  .nav ul a{padding:10px 9px}
  .grade-aplicacoes{grid-template-columns:repeat(3,1fr)}
  .rodape-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .menu-toggle{display:block}
  .cabecalho{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .nav{position:fixed;inset:var(--nav-top,118px) 0 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:20px;gap:20px;opacity:0;transform:translateY(-10px);visibility:hidden;transition:opacity .25s,transform .25s,visibility 0s .25s;overflow:auto}
  body.menu-aberto .nav{opacity:1;transform:none;visibility:visible;transition:opacity .25s,transform .25s}
  body.menu-aberto .menu-toggle .abre{display:none}
  body.menu-aberto .menu-toggle .fecha{display:block}
  body.menu-aberto{overflow:hidden}
  .nav ul{flex-direction:column}
  .nav ul a{padding:14px 6px;font-size:1.15rem;border-bottom:1px solid var(--aco-100);border-radius:0}
  .nav ul a[aria-current]::after{left:6px;right:auto;width:30px}
  .nav-acoes{flex-direction:column}
  .hero-in{grid-template-columns:1fr;padding:64px 20px 72px;gap:40px}
  .hero-visual{max-width:460px;width:100%;margin:0 auto}
  .split,.produto-det,.contato-grid,.det-grid{grid-template-columns:1fr;gap:36px}
  .produto-det .galeria{position:static}
  .grade-servicos,.grade-produtos{grid-template-columns:1fr 1fr}
  .passos{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr;padding:40px 30px}
  .auth-pagina{grid-template-columns:1fr}
  .auth-lado{padding:48px 24px}
  .kpis{grid-template-columns:1fr 1fr}
  .mvv{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .topbar-info a:nth-child(2){display:none}
  .so-desktop{display:none!important}
  .secao{padding:64px 0}
  .grade-servicos,.passos,.grade-produtos{grid-template-columns:1fr}
  .grade-aplicacoes{grid-template-columns:1fr 1fr}
  .form-grid,.lista-dados{grid-template-columns:1fr}
  .rodape-grid{grid-template-columns:1fr}
  .hero-numeros{gap:24px}
  .hero-numeros strong{font-size:2rem}
  .cartao{padding:22px}
  .hero-selo{left:0;bottom:0}
  .logo img{height:40px}
}
