/* Feitim — site v2 (set/2026). Escuro premium intercalado com claro-concreto. */
:root{
  --bg:#0b0d08; --bg-2:#11150e; --ink:#f3f5ef; --ink-2:#a9b0a0; --neon:#39ff14; --neon-ink:#07120a; --borda:#232a1d;
  --light:#f1f2ee; --dark-ink:#111410; --dark-ink-2:#4a5044; --green:#0c7a2f; --line:#dfe3d8;
  --d:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif; --b:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --g:clamp(16px,5vw,72px); --max:1240px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--b);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px;border-radius:6px}
.claro :focus-visible{outline-color:var(--green)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:16px;top:-60px;z-index:50;background:var(--neon);color:var(--neon-ink);padding:10px 14px;border-radius:8px;font-weight:700}
.pular:focus{top:12px}
svg.i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--d);letter-spacing:-.03em;text-wrap:balance;margin:0}
h1{font-size:clamp(38px,6vw,76px);line-height:1.02;font-weight:800}
h2{font-size:clamp(30px,4.4vw,56px);line-height:1.05;font-weight:800}
h3{font-size:clamp(19px,1.7vw,22px);line-height:1.2;font-weight:700;letter-spacing:-.015em}
h1 em,h2 em{font-style:normal;color:var(--neon)}
.claro h2 em{color:var(--green)}
.sub{font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:var(--ink-2);max-width:52ch;margin:0}
.claro .sub{color:var(--dark-ink-2)}
.selo{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(57,255,20,.55);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:rgba(11,13,8,.5)}
.selo svg{font-size:15px;color:var(--neon)}
.claro .selo{border-color:var(--green);background:#fff;color:var(--dark-ink)}
.claro .selo svg{color:var(--green)}
.fina{font-size:13px;color:var(--ink-2)}
.num{font-variant-numeric:tabular-nums}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--neon);color:var(--neon-ink);font-family:var(--d);font-weight:700;font-size:16px;border:0;border-radius:999px;padding:14px 24px;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(57,255,20,.18),0 10px 30px rgba(57,255,20,.25)}
.btn svg{font-size:19px}
.btn.sm{font-size:14px;padding:10px 16px}
.btn.verde{background:var(--green);color:#fff}
.btn.verde:hover{box-shadow:0 0 0 4px rgba(12,122,47,.15),0 10px 24px rgba(12,122,47,.2)}
.btn.contorno{background:transparent;color:var(--green);border:1.5px solid var(--green)}
.link-seta{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;color:var(--ink)}
.link-seta:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:28px;padding:14px var(--g);transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.fixa{background:rgba(11,13,8,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--borda)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--d);font-weight:800;font-size:20px;text-decoration:none;letter-spacing:-.02em}
.logo span.m{display:grid;place-items:center}
.logo img{width:30px;height:30px}
.nav .links{display:flex;gap:28px;font-size:14px;flex:1;justify-content:center}
.nav .links a{color:var(--ink-2);text-decoration:none}
.nav .links a:hover{color:var(--ink)}
@media(max-width:860px){.nav .links{display:none}.nav{justify-content:space-between}.nav .btn .longo{display:none}}

/* ---------- estrutura ---------- */
.bloco{position:relative;padding-block:clamp(56px,8vw,112px);padding-inline:var(--g)}
.escuro{background:var(--bg);color:var(--ink)}
.claro{background:var(--light);color:var(--dark-ink)}
.miolo{max-width:var(--max);margin:0 auto}
.cabeca{display:grid;gap:16px;margin-bottom:clamp(32px,4vw,56px)}
.cabeca.centro{justify-items:center;text-align:center}
.cabeca.centro .sub{margin-inline:auto}

/* ---------- fio de luz entre blocos (desenhado pela rolagem) ---------- */
.fio{position:relative;height:clamp(72px,9vw,128px);pointer-events:none;z-index:2}
.fio.ec{background:linear-gradient(180deg,var(--bg) 0%,#2c3128 45%,var(--light) 100%)}
.fio.ce{background:linear-gradient(180deg,var(--light) 0%,#2c3128 55%,var(--bg) 100%)}
.fio.ee{background:var(--bg)}
.fio svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fio path{fill:none;stroke-width:2}
.fio .base{stroke:rgba(57,255,20,.1)}
.fio.ce .base,.fio.ec .base{stroke:rgba(120,140,110,.18)}
.fio .luz{filter:drop-shadow(0 0 4px rgba(57,255,20,.8)) drop-shadow(0 0 12px rgba(57,255,20,.45))}
.fio .faisca,.fio .no{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.fio .faisca{width:8px;height:8px;background:#eaffdf;box-shadow:0 0 10px 3px var(--neon),0 0 26px 8px rgba(57,255,20,.45);opacity:calc(var(--p,0) * 4 - (var(--p,0) - .9) * 40)}
.fio .no{width:14px;height:14px;border:2px solid var(--neon);background:var(--bg);opacity:.35;transition:opacity .3s,box-shadow .4s,background .3s}
.fio .no.aceso{opacity:1;background:var(--neon);box-shadow:0 0 0 6px rgba(57,255,20,.16),0 0 24px rgba(57,255,20,.8);animation:pulso 2.4s ease-out infinite}
.fio.ec .no{border-color:var(--green)}
.fio.ec .no.aceso{background:var(--green);box-shadow:0 0 0 6px rgba(12,122,47,.14),0 0 18px rgba(12,122,47,.55)}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(57,255,20,.5),0 0 24px rgba(57,255,20,.8)}70%{box-shadow:0 0 0 14px rgba(57,255,20,0),0 0 24px rgba(57,255,20,.8)}100%{box-shadow:0 0 0 0 rgba(57,255,20,0),0 0 24px rgba(57,255,20,.8)}}

/* ---------- vídeo (blocos com vídeo rodando sozinho) ---------- */
.media{background:#0b0d08 center/cover no-repeat}
.media video{transition:opacity .6s ease}
.media video.apaga{opacity:0}
.replay{position:absolute;z-index:3;right:14px;bottom:14px;display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.3);background:rgba(11,13,8,.6);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}
.replay[hidden]{display:none}

/* 1 · HERO */
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(600px,94vh,900px);padding:0}
.hero .media{position:absolute;inset:0}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.hero .media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,13,8,.96) 0%,rgba(11,13,8,.72) 34%,rgba(11,13,8,0) 60%),linear-gradient(0deg,rgba(11,13,8,.9) 0%,rgba(11,13,8,0) 22%)}
.hero .copy{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:120px var(--g) 48px;max-width:calc(680px + var(--g) * 2)}
.hero .acoes{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.confianca{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--borda);background:rgba(11,13,8,.86);backdrop-filter:blur(6px)}
.confianca li{display:flex;gap:12px;align-items:center;justify-content:center;padding:18px 12px;font-size:14px;color:var(--ink)}
.confianca li+li{border-left:1px solid var(--borda)}
.confianca svg{font-size:22px;color:var(--neon)}
.confianca ul,.lista-limpa{list-style:none;margin:0;padding:0}

/* 2 · JÁ SABE USAR */
.jasabe .miolo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}
.card-video{position:relative;width:100%;aspect-ratio:3/4;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(17,20,16,.18)}
.card-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jasabe .texto{display:grid;gap:20px}
.chips{display:flex;flex-wrap:wrap;gap:10px;max-width:640px;margin:8px 0 0;padding:0;list-style:none}
.chip{background:#fff;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:15px;box-shadow:0 6px 18px rgba(17,20,16,.06);display:flex;gap:10px;align-items:baseline;transition:opacity .45s,transform .45s}
.chip small{font-size:11px;color:#6c7362;white-space:nowrap}
.chip b{color:var(--green);font-weight:600;font-size:12px}
.js .chip:not(.on){opacity:0;transform:translateY(12px) scale(.98)}

/* 3 · COMO FUNCIONA */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);position:relative;margin:0;padding:0;list-style:none}
.passo{background:linear-gradient(180deg,#12170f,#0d100a);border:1px solid var(--borda);border-radius:20px;padding:24px;display:grid;gap:10px;align-content:start;position:relative}
.passo h3{display:flex;gap:10px;align-items:baseline}
.passo h3 span{font-size:44px;line-height:1;color:var(--neon);font-weight:800}
.passo p{margin:0;color:var(--ink-2)}
.passo+.passo::before{content:"";position:absolute;left:calc(-1 * clamp(16px,2vw,28px));top:62px;width:clamp(16px,2vw,28px);height:2px;background:var(--neon);box-shadow:0 0 8px var(--neon)}
.tela{margin-top:14px;border:1px solid var(--borda);border-radius:14px;background:#0a0c07;padding:14px;min-height:170px;display:grid;gap:10px;align-content:center}
.audio{display:flex;align-items:center;gap:10px;background:#16301a;border-radius:14px 14px 4px 14px;padding:10px 12px;justify-self:end;width:min(100%,260px)}
.audio .play{width:28px;height:28px;border-radius:50%;background:var(--neon);color:var(--neon-ink);display:grid;place-items:center;font-size:12px;flex:none}
.onda{display:flex;gap:2px;align-items:center;height:22px;flex:1}
.onda i{flex:1;background:#8fdc7a;border-radius:2px;height:30%;animation:onda 1.2s ease-in-out infinite}
.onda i:nth-child(3n){animation-delay:.2s}.onda i:nth-child(3n+1){animation-delay:.45s}.onda i:nth-child(4n){animation-delay:.7s}
@keyframes onda{0%,100%{height:25%}50%{height:95%}}
.audio small{font-size:11px;color:#a7c79c}
.msg-in{font-size:13px;background:#1a1f16;border-radius:14px 14px 14px 4px;padding:9px 12px;color:var(--ink);max-width:88%}
.itens li{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:9px 12px;font-size:13px}
.itens{display:grid;gap:7px}
.itens .rot{display:inline-flex;gap:8px;align-items:center}
.itens svg{color:var(--neon);font-size:16px}
.tag-neon{font-size:11px;color:var(--neon);border:1px solid rgba(57,255,20,.4);border-radius:999px;padding:3px 8px;justify-self:start}
.pdf{background:#fff;color:#1a1d17;border-radius:8px;padding:14px;font-size:10.5px;display:grid;gap:8px;box-shadow:0 0 30px rgba(57,255,20,.15);transform:rotate(-1.5deg)}
.pdf .topo{display:flex;justify-content:space-between;align-items:start}
.pdf .topo b{font-size:12px;letter-spacing:.04em}
.pdf .marca{border:1px dashed #b8bfae;border-radius:5px;padding:4px 7px;color:#6c7362;font-size:9px}
.pdf .faixa{background:var(--neon);height:6px;border-radius:2px}
.pdf table{width:100%;border-collapse:collapse}
.pdf td{padding:3px 0;border-bottom:1px solid #eceee8}
.pdf td:last-child{text-align:right}
.pdf .total td{border:0;font-weight:800;font-size:12px;padding-top:6px}

/* 4 · UM DIA NO CANTEIRO */
.linha-tempo{position:relative}
.trilho{position:relative;height:2px;background:var(--line);margin:0 10% 26px;border-radius:2px}
.trilho i{position:absolute;inset:0;background:var(--green);transform-origin:left;transform:scaleX(var(--p,0));box-shadow:0 0 8px rgba(12,122,47,.5)}
.trilho b{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--light);border:2px solid var(--line);transform:translate(-50%,-50%);transition:.3s}
.trilho b.aceso{border-color:var(--green);background:#fff;box-shadow:0 0 0 5px rgba(12,122,47,.12),0 0 12px rgba(12,122,47,.5)}
.momentos{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0;padding:0;list-style:none}
.momento{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 10px 14px;display:grid;gap:10px;align-content:start;box-shadow:0 10px 30px rgba(17,20,16,.05)}
.momento img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#ddd}
.momento time{font-family:var(--d);font-weight:800;font-size:20px;padding-left:4px}
.bolha{display:flex;gap:9px;align-items:flex-start;background:#eef5ec;border-radius:12px;padding:10px;font-size:13.5px;line-height:1.35}
.bolha svg{font-size:18px;color:var(--green);margin-top:1px}
.seta{justify-self:center;color:var(--green);font-size:16px}
.resultado{display:flex;gap:9px;align-items:center;border:1.5px solid rgba(12,122,47,.4);border-radius:12px;padding:10px;font-size:13.5px;line-height:1.35;background:#f7fbf6}
.resultado svg{font-size:13px;color:#fff;background:var(--green);border-radius:50%;padding:4px;width:22px;height:22px;stroke-width:3}
.fotos-mini{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dark-ink-2)}
.fotos-mini span{display:flex}
.fotos-mini img{width:34px;height:26px;border-radius:5px;border:2px solid #fff;margin-left:-8px;object-fit:cover}
.fotos-mini img:first-child{margin-left:0}
.fecho{text-align:center;margin:40px 0 0;font-size:18px;color:var(--dark-ink-2)}

/* 5 · EQUIPE */
.equipe{overflow:hidden}
.equipe::before{content:"";position:absolute;right:-20%;top:-10%;width:60%;height:70%;background:radial-gradient(closest-side,rgba(57,255,20,.14),transparent);pointer-events:none}
.equipe::after{content:"";position:absolute;left:-20%;bottom:-20%;width:50%;height:60%;background:radial-gradient(closest-side,rgba(57,255,20,.1),transparent);pointer-events:none}
.papeis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;position:relative;z-index:1}
.papel{border:1px solid var(--borda);border-radius:18px;padding:26px 24px;background:rgba(17,21,14,.7);display:grid;gap:10px;transition:border-color .3s,transform .3s}
.papel:hover{border-color:rgba(57,255,20,.5);transform:translateY(-2px)}
.papel svg{font-size:40px;color:var(--neon);stroke-width:1.5}
.papel p{margin:0;color:var(--ink-2)}

/* 6 · DOIS CAMINHOS */
.caminhos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,32px)}
.caminho{background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px 12px 28px;display:grid;gap:18px;align-content:start;box-shadow:0 20px 50px rgba(17,20,16,.06)}
.caminho img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:14px}
.caminho .corpo{display:grid;gap:16px;padding:0 clamp(8px,2vw,24px)}
.caminho .tit{display:flex;gap:14px;align-items:center}
.caminho .tit svg{font-size:44px;color:var(--green);stroke-width:1.5}
.caminho .tit h3{font-size:clamp(24px,2.4vw,30px)}
.caminho .tit p{margin:2px 0 0;color:var(--dark-ink-2);font-size:15px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px}
.checks svg{font-size:18px;color:var(--green);stroke-width:2.6;margin-top:2px}
.escuro .checks svg{color:var(--neon)}
.caminho .btn{justify-self:stretch;margin-top:4px}

/* 7 · PORTAL */
.portal{position:relative;overflow:hidden;min-height:clamp(560px,90vh,860px);display:flex;align-items:center;padding:0}
.portal .media{position:absolute;inset:0}
.portal video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.portal .media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,13,8,.96) 0%,rgba(11,13,8,.72) 34%,rgba(11,13,8,0) 60%)}
.portal .copy{position:relative;z-index:2;padding:96px var(--g);max-width:calc(640px + var(--g) * 2);display:grid;gap:22px;justify-items:start}
.flutua{position:absolute;z-index:2;right:clamp(16px,5vw,80px);background:rgba(11,13,8,.8);border:1px solid rgba(57,255,20,.6);border-radius:14px;padding:12px 16px;font-size:14px;display:flex;gap:12px;align-items:center;backdrop-filter:blur(6px);box-shadow:0 0 30px rgba(57,255,20,.15);transition:opacity .5s,transform .5s}
.js .flutua:not(.on){opacity:0;transform:translateX(18px)}
.flutua svg{width:34px;height:34px;padding:7px;border-radius:9px;background:var(--neon);color:var(--neon-ink);stroke-width:2.2}
.f1{top:22%}.f2{top:36%}

/* 8 · PAINEL */
.painel .duo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}
.painel .texto{display:grid;gap:20px;justify-items:start}
.app{background:#0d100a;color:var(--ink);border-radius:18px;border:1px solid #1f2619;box-shadow:0 40px 80px rgba(17,20,16,.28);display:grid;grid-template-columns:150px 1fr;overflow:hidden;font-size:12px}
.app aside{border-right:1px solid #1f2619;padding:16px 10px;display:grid;gap:4px;align-content:start}
.app aside .logo{font-size:15px;margin:0 6px 12px}
.app aside .logo img{width:17px;height:17px}
.app aside a{display:flex;gap:8px;align-items:center;padding:7px 8px;border-radius:8px;color:var(--ink-2);text-decoration:none}
.app aside a.at{background:#16301a;color:var(--neon)}
.app aside svg{font-size:14px}
.app main{padding:16px;display:grid;gap:12px;min-width:0}
.app .obra{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.app .obra b{font-family:var(--d);font-size:15px}
.app .obra small{color:var(--ink-2)}
.kpis{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}
.kpi{border:1px solid #1f2619;border-radius:12px;padding:12px;display:grid;gap:6px}
.kpi small{color:var(--ink-2)}
.kpi strong{font-family:var(--d);font-size:22px;color:var(--neon);letter-spacing:-.02em}
.barra{height:8px;background:#1b2216;border-radius:9px;overflow:hidden}
.barra i{display:block;height:100%;width:51%;background:var(--neon);border-radius:9px}
.kpi svg.curva{width:100%;height:70px}
.tabela-app{width:100%;border-collapse:collapse}
.tabela-app th{text-align:left;color:var(--ink-2);font-weight:500;padding:6px 4px;border-bottom:1px solid #1f2619}
.tabela-app td{padding:7px 4px;border-bottom:1px solid #171d13}
.tabela-app td:nth-child(3){text-align:right;white-space:nowrap}
.st{font-size:10.5px;border-radius:999px;padding:2px 8px;background:#16301a;color:var(--neon)}
.st.pend{background:#2d2a12;color:#e8d54a}
.legenda{font-size:12px;color:var(--dark-ink-2);margin-top:10px;text-align:right}

/* 8b · TUDO CONECTADO — canteiro com as linhas saindo do celular, desenhadas pela rolagem.
   No computador o bloco é alto e a cena fica PRESA na tela (sticky) enquanto a rolagem avança os quadros. */
.conectado{position:relative;height:210vh;padding:0}
.conectado .fixo{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden;display:flex;align-items:center}
.cx-media{position:absolute;inset:60px 0 0 0;background:#0b0d08 center/cover no-repeat}   /* começa abaixo da barra do topo: os logos de cima não ficam escondidos */
.cx-media canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cx-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,13,8,.97) 0%,rgba(11,13,8,.82) 30%,rgba(11,13,8,0) 52%),linear-gradient(0deg,rgba(11,13,8,.6) 0%,rgba(11,13,8,0) 18%),linear-gradient(180deg,rgba(11,13,8,.6) 0%,rgba(11,13,8,0) 14%)}
.conectado .copy{position:relative;z-index:2;padding:80px var(--g) 28px;max-width:calc(600px + var(--g) * 2);display:grid;gap:14px;justify-items:start}
.integracoes{display:grid;gap:8px;width:100%;max-width:440px;margin-top:4px}
.conectado h2{font-size:clamp(30px,3.6vw,48px)}
.conectado .sub{font-size:16px}
.integracoes li{display:flex;align-items:center;gap:14px;padding:8px 14px;border:1px solid rgba(57,255,20,.22);border-radius:14px;background:rgba(11,13,8,.62);font-size:15px;font-weight:500;opacity:.5;transition:opacity .35s,border-color .35s,box-shadow .35s}
.integracoes li.on{opacity:1;border-color:rgba(57,255,20,.65);box-shadow:0 0 18px rgba(57,255,20,.12)}
.integracoes .lg{width:30px;height:26px;display:grid;place-items:center;flex:none}
.integracoes .lg svg{width:26px;height:24px}
.integracoes .lg svg.i{width:22px;height:22px}
.govbr{width:auto!important;font-family:var(--d);font-weight:800;font-size:15px;letter-spacing:-.03em;display:flex!important}
.govbr i{font-style:normal;color:#2670e8}.govbr u{text-decoration:none;color:#ffcd07}
.integracoes b{margin-left:auto;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px}
.st-ok{background:var(--neon);color:var(--neon-ink)}
.st-breve{background:#1c2419;color:var(--ink-2)}
.rede-nota{display:flex;gap:8px;align-items:center;margin:4px 0 0;font-size:13px;color:var(--ink-2)}
.rede-nota svg{font-size:16px;color:var(--neon)}

/* 9 · COMPARE */
.compare{overflow:hidden}
.compare::after{content:"";position:absolute;right:-15%;top:10%;width:45%;height:80%;background:radial-gradient(closest-side,rgba(57,255,20,.12),transparent);pointer-events:none}
.rolagem-x{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;z-index:1;padding:4px}
.tab-compare{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:15px}
.tab-compare th,.tab-compare td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--borda)}
.tab-compare thead th{font-family:var(--d);font-weight:600;font-size:15px;vertical-align:bottom}
.tab-compare thead th .cab{display:flex;gap:10px;align-items:center}
.tab-compare thead svg{font-size:22px;color:var(--ink-2)}
.tab-compare tbody th{font-weight:500;color:var(--ink)}
.tab-compare tbody th .cab{display:flex;gap:12px;align-items:center}
.tab-compare tbody th svg{font-size:19px;color:var(--ink-2)}
.tab-compare td{color:var(--ink-2)}
.tab-compare .fe{background:rgba(57,255,20,.05);color:var(--ink);border-left:1.5px solid var(--neon);border-right:1.5px solid var(--neon)}
.tab-compare thead .fe{border-top:1.5px solid var(--neon);border-radius:14px 14px 0 0;font-size:18px;color:var(--ink)}
.tab-compare thead .fe svg{color:var(--neon)}
.tab-compare tbody tr:last-child .fe{border-bottom:1.5px solid var(--neon);border-radius:0 0 14px 14px}
.tab-compare tbody tr:last-child th,.tab-compare tbody tr:last-child td{border-bottom:0}
.tab-compare .fe .ok{display:flex;gap:10px;align-items:center}
.tab-compare .fe .ok svg{font-size:13px;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--neon);color:var(--neon-ink);stroke-width:3}
.compare .rodape-cta{text-align:center;margin-top:36px;position:relative;z-index:1}

/* 10 · PREÇOS + FAQ */
.selo-oferta{display:inline-flex;gap:8px;align-items:center;border:1.5px solid var(--green);border-radius:999px;padding:8px 16px;color:var(--green);font-weight:600;font-size:15px;background:#fff}
.planos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;max-width:1040px;margin:0 auto;padding:0;list-style:none}
.plano{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;display:grid;gap:16px;position:relative;box-shadow:0 14px 40px rgba(17,20,16,.05)}
.plano.rec{border:2px solid var(--green);box-shadow:0 20px 50px rgba(12,122,47,.14);margin-top:-8px}
.plano .fita{position:absolute;right:16px;top:16px;background:var(--green);color:#fff;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px}
.plano>svg{font-size:34px;color:var(--green);stroke-width:1.6}
.plano h3{font-size:26px}
.preco{font-family:var(--d);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1}
.preco small{font-family:var(--b);font-weight:400;font-size:15px;color:var(--dark-ink-2);letter-spacing:0}
.preco .de{display:block;font-family:var(--b);font-size:13px;font-weight:400;color:var(--dark-ink-2);letter-spacing:0;margin-bottom:4px}
.preco.consulta{font-family:var(--b);font-weight:400;font-size:20px;color:var(--dark-ink-2);letter-spacing:0}
.plano hr{border:0;border-top:1px solid var(--line);margin:0}
.faq{max-width:1040px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{font-size:20px;color:var(--green);transition:transform .25s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 18px 18px;color:var(--dark-ink-2);line-height:1.55}

/* CTA FINAL + RODAPÉ */
.cta-final{text-align:center;overflow:hidden;background:radial-gradient(60% 120% at 0% 50%,rgba(57,255,20,.28),transparent 60%),radial-gradient(60% 120% at 100% 50%,rgba(57,255,20,.28),transparent 60%),var(--bg)}
.cta-final .miolo{display:grid;gap:22px;justify-items:center}
.rodape{border-top:1px solid var(--borda);padding:28px var(--g) calc(28px + env(safe-area-inset-bottom,0px));background:#080a06;color:var(--ink-2);font-size:14px}
.rodape .miolo{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.rodape nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--ink)}

/* ---------- peças que só existem no celular (escondidas no desktop) ---------- */
.menu-btn,.menu-cel,.barra-cta,.segmento,.abas-app,.dots{display:none}

/* ---------- tablet ---------- */
@media(max-width:980px){
  .momentos{grid-template-columns:1fr 1fr}
  .momento:last-child{grid-column:1/-1}
  .trilho{display:none}
  .papeis{grid-template-columns:1fr 1fr}
  .painel .duo{grid-template-columns:1fr}
}

/* ---------- celular: layout próprio, não o desktop encolhido ---------- */
@media(max-width:820px){
  body{font-size:15px}
  .bloco{padding-block:48px}
  .cabeca{margin-bottom:24px;gap:12px}
  .fio{height:56px}
  h2{font-size:clamp(28px,8vw,36px)}

  /* topo: logo + menu; o CTA vai pra barra fixa embaixo */
  .nav{padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .nav-cta{display:none}
  .menu-btn{display:grid;gap:5px;align-content:center;justify-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;cursor:pointer;padding:0;margin-right:-10px}
  .menu-btn span{display:block;width:24px;height:2px;border-radius:2px;background:#fff;transition:transform .25s,opacity .2s}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-cel{display:grid;position:fixed;z-index:29;inset:0 0 auto;padding:calc(76px + env(safe-area-inset-top,0px)) 16px 24px;background:rgba(11,13,8,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--borda);gap:4px}
  .menu-cel[hidden]{display:none}
  .menu-cel a:not(.btn){font-family:var(--d);font-weight:700;font-size:24px;letter-spacing:-.02em;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--borda)}
  .menu-cel .btn{margin-top:18px}

  /* barra fixa de WhatsApp (aparece depois do topo) */
  .barra-cta{display:grid;gap:4px;justify-items:center;position:fixed;z-index:28;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(11,13,8,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--borda);transform:translateY(110%);transition:transform .3s ease}
  .barra-cta.mostra{transform:none}
  .barra-cta .btn{width:100%;padding:13px 18px}
  .barra-cta small{font-size:11px;color:var(--ink-2)}

  /* 1 · hero: texto em cima, vídeo VERTICAL grande embaixo, de ponta a ponta */
  .hero{min-height:0}
  .hero .copy{order:1;padding:calc(84px + env(safe-area-inset-top,0px)) 16px 8px;gap:16px}
  .hero .selo{font-size:11px;padding:6px 12px}
  .hero .sub{font-size:16px}
  .hero .acoes .btn{width:100%}
  .hero .media,.portal .media{position:relative;inset:auto;order:2;aspect-ratio:1200/1080;margin:0}
  .portal .media{aspect-ratio:960/1080}
  .hero .media::after,.portal .media::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(11,13,8,0) 16%,rgba(11,13,8,0) 78%,var(--bg) 100%)}
  .hero video,.portal video{object-position:50% 50%}
  .confianca{order:3;display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;padding:4px 16px 8px;border:0;background:transparent;backdrop-filter:none}
  .confianca::-webkit-scrollbar{display:none}
  .confianca li{flex:none;padding:9px 14px;font-size:13px;border:1px solid var(--borda);border-radius:999px;white-space:nowrap}
  .confianca li+li{border-left:1px solid var(--borda)}
  .confianca svg{font-size:17px}

  /* 2 · já sabe usar: título → vídeo → frases como mensagens enviadas */
  .jasabe .miolo{grid-template-columns:1fr;gap:16px}
  .jasabe .texto{display:contents}
  .jasabe h2{order:1}.jasabe .sub{order:2}.jasabe .card-video{order:3}.jasabe .chips{order:4}
  .card-video{aspect-ratio:4/5;border-radius:20px}
  .chips{flex-direction:column;align-items:flex-end;gap:8px;margin:0}
  .chip{font-size:14px;padding:9px 12px;border:0;background:#dff3d6;border-radius:14px 14px 4px 14px;max-width:90%;box-shadow:0 2px 6px rgba(17,20,16,.06)}

  /* carrosséis de deslizar (como funciona, um dia no canteiro) */
  .carrossel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-inline:-16px;padding:4px 16px 6px;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}
  .carrossel::-webkit-scrollbar{display:none}
  .carrossel>li{flex:0 0 84%;scroll-snap-align:center}
  .dots{display:flex;justify-content:center;gap:2px;margin-top:10px}
  .dots button{width:28px;height:28px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer}
  .dots button i{display:block;width:8px;height:8px;border-radius:99px;background:#39402f;transition:width .25s,background .25s}
  .dots button.at i{width:22px;background:var(--neon)}
  .claro .dots button i{background:#c9cfbf}
  .claro .dots button.at i{background:var(--green)}
  .dots.tempo{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:6px;margin:0 -16px 12px;padding:0 16px}
  .dots.tempo::-webkit-scrollbar{display:none}
  .dots.tempo button{width:auto;height:auto;flex:none;font-family:var(--d);font-weight:700;font-size:14px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--dark-ink-2)}
  .dots.tempo button.at{background:var(--green);border-color:var(--green);color:#fff}
  .passo+.passo::before{display:none}
  .passo{padding:20px}
  .momento .seta{display:none}

  /* 5 · equipe em grade 2×3 compacta */
  .papeis{gap:10px}
  .papel{padding:16px;gap:6px;border-radius:16px}
  .papel svg{font-size:30px}
  .papel h3{font-size:16px}
  .papel p{font-size:13px;line-height:1.4}

  /* 6 · dois caminhos: abas em vez de dois cards empilhados */
  .segmento{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px;margin:-6px 0 16px}
  .segmento button{flex:1;display:inline-flex;gap:8px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 8px;background:transparent;font:600 14px var(--b);color:var(--dark-ink-2);cursor:pointer}
  .segmento button svg{font-size:18px}
  .segmento button[aria-selected="true"]{background:var(--green);color:#fff}
  .caminhos{grid-template-columns:1fr}
  .caminho:not(.ativo){display:none}
  .caminho img{aspect-ratio:4/3}
  .caminho .tit svg{font-size:36px}

  /* 7 · portal: texto → vídeo vertical com os avisos por cima */
  .portal{flex-direction:column;align-items:stretch;min-height:0}
  .portal .copy{order:1;padding:48px 16px 8px;gap:16px}
  .portal .copy .btn{width:100%}
  .flutua{right:auto;left:12px;max-width:calc(100% - 24px);font-size:13px;padding:10px 12px;z-index:3}
  .flutua svg{width:28px;height:28px;padding:6px}
  .f1{top:auto;bottom:86px}.f2{top:auto;bottom:28px}

  /* 8 · painel em formato de celular */
  .painel .duo{gap:24px}
  .app{grid-template-columns:1fr;max-width:340px;margin:0 auto;border-radius:38px;border:8px solid #1b1f18;box-shadow:0 30px 60px rgba(17,20,16,.3)}
  .app::before{content:"";justify-self:center;width:96px;height:24px;background:#1b1f18;border-radius:0 0 16px 16px}
  .app aside{display:none}
  .app main{padding:10px 14px 0;gap:10px}
  .kpis{grid-template-columns:1fr}
  .kpi svg.curva{height:56px}
  .abas-app{display:flex;justify-content:space-around;border-top:1px solid #1f2619;margin:0 -14px;padding:10px 4px 16px;font-size:10px;color:var(--ink-2)}
  .abas-app span{display:grid;justify-items:center;gap:3px}
  .abas-app svg{font-size:18px}
  .abas-app .at{color:var(--neon)}
  .legenda{text-align:center}

  /* 9 · compare: cada linha vira um card, Feitim em destaque */
  .rolagem-x{overflow:visible;padding:0}
  .tab-compare,.tab-compare tbody{display:grid;gap:10px;min-width:0}
  .tab-compare thead{display:none}
  .tab-compare tr{display:grid;gap:4px;border:1px solid var(--borda);border-radius:16px;padding:14px 16px;background:rgba(17,21,14,.75)}
  .tab-compare th,.tab-compare td{display:block;padding:0;border:0!important;border-radius:0!important;background:none!important}
  .tab-compare tbody th{order:0;font-size:13px;color:var(--ink-2)}
  .tab-compare tbody th svg{font-size:16px}
  .tab-compare td.fe{order:1;font-family:var(--d);font-weight:700;font-size:17px;margin:4px 0 8px}
  .tab-compare td:not(.fe){order:2;font-size:13px}
  .tab-compare td:not(.fe)::before{content:attr(data-l) " · ";color:#8a9280}


  /* 8b · conectado no celular: texto → cena vertical (quadros pela rolagem) → lista */
  .conectado{height:auto}
  .conectado .fixo{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch}
  .conectado .copy{display:contents}
  .conectado .copy>.selo,.conectado .copy>h2,.conectado .copy>.sub{margin-inline:16px}
  .conectado .copy>.selo{order:1;justify-self:start;align-self:flex-start;margin-top:48px}
  .conectado .copy>h2{order:2;margin-top:14px}
  .conectado .copy>.sub{order:3;margin-top:12px}
  .cx-media{position:relative;inset:auto;order:4;aspect-ratio:960/1080;margin-top:16px}
  .cx-media::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(11,13,8,0) 14%,rgba(11,13,8,0) 82%,var(--bg) 100%)}
  .integracoes{order:5;max-width:none;width:auto;margin:-8px 16px 0;position:relative;z-index:2}
  .integracoes li{font-size:14.5px;padding:9px 12px}
  .rede-nota{order:6;margin:14px 16px 48px}
  /* 10 · preços */
  .planos{grid-template-columns:1fr;gap:14px}
  .plano{padding:22px}
  .plano.rec{margin-top:0;order:-1}
  .faq{grid-template-columns:1fr;margin-top:28px}

  .cta-final .btn{width:100%}
  .rodape .miolo{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .tabela-app th:nth-child(2),.tabela-app td:nth-child(2){display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .chip:not(.on),.js .flutua:not(.on){opacity:1;transform:none}
}
