
:root{--color-ink:#0F0F12;--color-ink-2:#16161B;--color-ink-3:#1F1F26;--color-paper:#EDEDEB;--color-paper-2:#E3E3E0;--color-paper-3:#D8D8D5;--color-brand:#1E8C4F;--color-brand-soft:#E8F5ED;--color-brand-dark:#145A35;--color-text-muted:#6B6B72;--color-text-subtle:#9A9AA1;--font-primary:'Inter',sans-serif;--ease-standard:cubic-bezier(.16,1,.3,1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:28px;--radius-pill:999px;--shadow-card:0 12px 32px rgba(15,15,18,.06);--shadow-elevated:0 28px 76px rgba(15,15,18,.22);--c:var(--color-ink);--c2:var(--color-ink-2);--c3:var(--color-ink-3);--g:var(--color-paper);--g2:var(--color-paper-2);--g3:var(--color-paper-3);--v:var(--color-brand);--vl:var(--color-brand-soft);--vd:var(--color-brand-dark);--gr:var(--color-text-muted);--gr2:var(--color-text-subtle);--f:var(--font-primary);--e:var(--ease-standard)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--f);background:var(--g);color:var(--c);line-height:1.5;overflow-x:hidden;font-feature-settings:"ss01","cv11"}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}svg{display:block;max-width:100%}.w{max-width:1280px;margin:0 auto;padding:0 40px;position:relative}::selection{background:var(--v);color:#fff}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.rv{opacity:1;transform:none;transition:opacity .7s var(--e),transform .7s var(--e)}.rv:not(.in){opacity:.98;transform:translateY(10px)}.rv.in{opacity:1;transform:translateY(0)}.rs>*{opacity:0;transform:translateY(24px);transition:opacity .9s var(--e),transform .9s var(--e)}.rs.in>*:nth-child(1){transition-delay:.05s;opacity:1;transform:translateY(0)}.rs.in>*:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}.rs.in>*:nth-child(3){transition-delay:.15s;opacity:1;transform:translateY(0)}.rs.in>*:nth-child(4){transition-delay:.2s;opacity:1;transform:translateY(0)}.rs.in>*:nth-child(5){transition-delay:.25s;opacity:1;transform:translateY(0)}.rs.in>*:nth-child(6){transition-delay:.3s;opacity:1;transform:translateY(0)}
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;background:rgba(237,237,235,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(15,15,18,.06);transition:padding .3s var(--e)}nav.sc{padding:12px 0}nav .w{display:flex;align-items:center;justify-content:space-between}.nl{display:flex;align-items:center;gap:12px}.nl svg{width:36px;height:36px}.nlt{font-weight:800;font-size:16px;letter-spacing:-.4px}.nm{display:flex;align-items:center;gap:32px}.nm a{font-size:13px;font-weight:500;color:var(--c);opacity:.55;transition:opacity .2s;position:relative}.nm a:hover{opacity:1}.nm a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--v);transition:width .3s var(--e)}.nm a:hover::after{width:100%}.nc{background:var(--c);color:var(--g);padding:12px 22px;border-radius:100px;font-weight:700;font-size:13px;transition:all .3s var(--e);display:inline-flex;align-items:center;gap:8px}.nc:hover{background:var(--v);color:#fff;transform:translateY(-1px)}.nc svg{width:14px;height:14px}
.ey{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--v);margin-bottom:20px}.ey::before{content:'';width:20px;height:1px;background:var(--v)}.st{font-weight:200;font-size:clamp(28px,3.5vw,48px);line-height:.95;letter-spacing:-1.8px;margin-bottom:24px}.st strong{font-weight:900}.st em{font-style:normal;color:var(--v)}.ss{font-size:15px;line-height:1.7;max-width:580px;font-weight:400;color:var(--gr);margin-bottom:48px}

/* HERO SPLIT WITH IMAGE */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;background:var(--g)}.hero-text{padding:140px 60px 80px 40px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;max-width:640px;margin-left:auto}.hero-meta{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--v);margin-bottom:32px}.hero-meta::before{content:'';width:20px;height:1px;background:var(--v)}.hero h1{font-weight:200;font-size:clamp(36px,4.5vw,64px);line-height:.93;letter-spacing:-2.5px;margin-bottom:28px}.hero h1 strong{font-weight:900}.hero h1 em{font-style:normal;color:var(--v);font-weight:600}.hero-desc{font-size:15px;line-height:1.75;color:var(--c);opacity:.6;max-width:480px;margin-bottom:36px}.hero-desc b{opacity:1;font-weight:600}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-img{position:relative;overflow:hidden}.hero-img img{width:100%;height:100%;object-fit:cover}.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--g) 0%,rgba(237,237,235,0) 30%)}
.bp{background:var(--c);color:var(--g);padding:16px 28px;border-radius:100px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:10px;transition:all .3s var(--e);position:relative;overflow:hidden}.bp::before{content:'';position:absolute;inset:0;background:var(--v);transform:translateY(100%);transition:transform .4s var(--e)}.bp:hover::before{transform:translateY(0)}.bp:hover{color:#fff}.bp>*{position:relative;z-index:1}.bp svg{width:14px;height:14px;transition:transform .3s}.bp:hover svg{transform:translateX(3px)}.bg{color:var(--c);padding:14px 4px;font-weight:500;font-size:13px;display:inline-flex;align-items:center;gap:8px;opacity:.6;transition:opacity .2s}.bg:hover{opacity:1}.bg svg{width:14px;height:14px}

/* FRASE COM FOTO FUNDO */
.frase{padding:120px 0;background:var(--c);color:var(--g);text-align:center;position:relative;overflow:hidden}.frase::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--v),transparent)}.ft{font-weight:200;font-size:clamp(22px,3.2vw,40px);line-height:1.25;letter-spacing:-1px;max-width:900px;margin:0 auto;position:relative;z-index:2}.ft strong{font-weight:900}.ft em{font-style:normal;color:var(--v)}

/* MOSAIC PORTFOLIO */
.mosaic{background:var(--c);padding:0 0 2px;overflow:hidden}.mosaic-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:2px}.mosaic-cell{position:relative;overflow:hidden}.mosaic-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e)}.mosaic-cell:hover img{transform:scale(1.04)}.mosaic-cell::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,15,18,.65) 0%,rgba(15,15,18,.05) 50%);pointer-events:none}.mosaic-cell:first-child{grid-row:1/3}.mosaic-label{position:absolute;bottom:16px;left:18px;z-index:2;color:var(--g)}.mosaic-label span{display:block}.mosaic-label .ml-tag{font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:4px}.mosaic-label .ml-name{font-weight:700;font-size:14px;letter-spacing:-.2px}

/* SOLUÇÕES */
.sol{padding:140px 0;background:var(--g)}.sol-header{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:64px}.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sc{background:#fff;border:.5px solid rgba(15,15,18,.08);border-radius:16px;padding:28px 24px;position:relative;overflow:hidden;transition:all .35s var(--e);display:flex;flex-direction:column;min-height:260px}.sc:hover{border-color:var(--c);transform:translateY(-3px)}.sc::before{content:'';position:absolute;top:-40px;right:-40px;width:100px;height:100px;border-radius:50%;background:rgba(30,140,79,.03);transition:transform .4s var(--e)}.sc:hover::before{transform:scale(1.6);background:rgba(30,140,79,.06)}.sc-icon{width:48px;height:48px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;margin-bottom:20px;position:relative;z-index:1}.sc-icon svg{width:22px;height:22px;color:var(--g)}.sc-icon::after{content:'';position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--v);border:2.5px solid #fff}.sc-name{font-weight:800;font-size:16px;line-height:1.2;letter-spacing:-.3px;margin-bottom:8px;position:relative;z-index:1}.sc-desc{font-size:12px;line-height:1.7;color:var(--gr);position:relative;z-index:1;flex-grow:1}.sc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px;position:relative;z-index:1}.sc-tag{font-size:9px;font-weight:600;letter-spacing:.3px;padding:4px 10px;border-radius:100px;background:var(--g);color:var(--c)}.sc-tag.v{background:var(--vl);color:var(--vd)}

/* KITS — IMAGE BLEED */
.kits{padding:0;background:var(--v);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:auto}.kits-text{padding:48px 60px 48px 40px;display:flex;flex-direction:column;justify-content:center;max-width:580px;margin-left:auto;position:relative;z-index:2}.kits .ey{color:#fff;opacity:.8}.kits .ey::before{background:#fff}.kits-t{font-weight:200;font-size:clamp(28px,3.5vw,44px);line-height:.95;letter-spacing:-1.5px;margin-bottom:20px;color:#fff}.kits-t strong{font-weight:900}.kits-desc{font-size:13px;line-height:1.6;color:#fff;opacity:.75;margin-bottom:24px}.kits-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.kl{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;background:rgba(15,15,18,.25);border-radius:14px;backdrop-filter:blur(8px);transition:background .3s}.kl:hover{background:rgba(15,15,18,.4)}.kl-num{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.kl-content{}.kl-name{font-weight:700;font-size:14px;color:#fff;margin-bottom:4px}.kl-desc{font-size:11px;color:rgba(255,255,255,.65);line-height:1.6}
.kits-cta{background:var(--c);color:var(--g);padding:16px 28px;border-radius:100px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:10px;transition:all .3s var(--e);align-self:flex-start}.kits-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,15,18,.3)}.kits-cta svg{width:14px;height:14px}
.kits-img{position:relative;overflow:hidden}.kits-img img{width:100%;height:100%;object-fit:cover;object-position:center}.kits-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to left,transparent 50%,var(--v) 100%)}

/* LOGOS */
.logos{padding:80px 0;background:var(--g2);text-align:center;border-top:.5px solid rgba(15,15,18,.06);border-bottom:.5px solid rgba(15,15,18,.06)}.logos-header{margin-bottom:48px}.lg{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:.5px solid rgba(15,15,18,.08);border-left:.5px solid rgba(15,15,18,.08);max-width:900px;margin:0 auto}.lc{aspect-ratio:2;display:flex;align-items:center;justify-content:center;border-right:.5px solid rgba(15,15,18,.08);border-bottom:.5px solid rgba(15,15,18,.08);font-weight:700;font-size:14px;color:var(--c);opacity:.45;transition:all .3s var(--e);letter-spacing:-.3px;cursor:default}.lc:hover{opacity:1;background:var(--c);color:var(--g)}.ls{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px;padding-top:48px;border-top:.5px solid rgba(15,15,18,.08);max-width:900px;margin-left:auto;margin-right:auto}.lsi{position:relative}.lsi::before{content:'';position:absolute;top:-48px;left:0;width:20px;height:1px;background:var(--v)}.lsn{font-weight:200;font-size:48px;line-height:.9;letter-spacing:-2px;margin-bottom:6px;display:flex;align-items:baseline;gap:3px}.lsn strong{font-weight:900}.lsn span{font-size:18px;font-weight:400;color:var(--v)}.lsl{font-size:11px;color:var(--gr);line-height:1.5}

/* PROCESSO */
.proc{padding:140px 0;background:var(--c);color:var(--g);text-align:center}.proc-header{margin-bottom:80px}.proc-header .st{max-width:700px;margin:0 auto 20px;color:var(--g)}.proc-header .ss{margin:0 auto;color:var(--g);opacity:.6}.proc-header .ey{justify-content:center}.pf{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;position:relative}.pf::before{content:'';position:absolute;top:36px;left:6%;right:6%;height:1px;background:linear-gradient(to right,transparent,rgba(237,237,235,.12) 10%,rgba(237,237,235,.12) 90%,transparent);z-index:0}.ps{text-align:center;position:relative;z-index:1}.pc{width:72px;height:72px;border-radius:50%;background:var(--c);border:1px solid var(--g);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;transition:all .35s var(--e)}.ps:hover .pc{background:var(--g);transform:translateY(-4px)}.pc svg{width:26px;height:26px;color:var(--g);transition:color .35s}.ps:hover .pc svg{color:var(--c)}.pc::after{content:'';position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--v);border:2.5px solid var(--c)}.pnum{position:absolute;top:-6px;left:-4px;font-size:10px;font-weight:700;color:var(--v)}.pname{font-weight:700;font-size:12px;margin-bottom:4px}.pdesc{font-size:10px;color:var(--gr2);line-height:1.5;max-width:110px;margin:0 auto}

/* SOBRE — IMAGEM FUNDO */
.sobre{padding:0;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:var(--g)}.sobre-img{position:relative;overflow:hidden}.sobre-img img{width:100%;height:100%;object-fit:cover}.sobre-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to left,var(--g) 0%,rgba(237,237,235,0) 50%)}.sobre-text{padding:72px 40px 72px 60px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.sobre-t{font-weight:200;font-size:clamp(28px,3.5vw,44px);line-height:.95;letter-spacing:-1.5px;margin-bottom:28px}.sobre-t strong{font-weight:900}.sobre-t em{font-style:normal;color:var(--v)}.sobre-p{font-size:14px;line-height:1.8;color:var(--c);opacity:.7;margin-bottom:20px;max-width:480px}.sobre-p b{opacity:1;font-weight:600}

/* CTA */
.cta{padding:160px 0;background:var(--c);color:var(--g);text-align:center;position:relative;overflow:hidden}.cta-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;opacity:.12;z-index:0}.cta-ct{position:relative;z-index:2}.cta .ey{justify-content:center}.cta-t{font-weight:200;font-size:clamp(34px,4.5vw,60px);line-height:.95;letter-spacing:-2px;margin-bottom:28px;max-width:800px;margin-left:auto;margin-right:auto}.cta-t strong{font-weight:900}.cta-t em{font-style:normal;color:var(--v)}.cta-d{font-size:16px;opacity:.6;max-width:540px;margin:0 auto 48px;line-height:1.7}.bm{background:var(--v);color:#fff;padding:20px 44px;border-radius:100px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:14px;transition:all .4s var(--e);position:relative;overflow:hidden}.bm::before{content:'';position:absolute;inset:0;background:var(--g);transform:translateY(100%);transition:transform .4s var(--e)}.bm:hover::before{transform:translateY(0)}.bm:hover{color:var(--c);transform:translateY(-2px)}.bm>*{position:relative;z-index:1}.bm svg{width:16px;height:16px;transition:transform .3s}.bm:hover svg{transform:translateX(4px)}

footer{padding:60px 0 32px;background:var(--c);color:var(--g);border-top:.5px solid rgba(237,237,235,.06)}.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.fb{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.fb svg{width:44px;height:44px}.fn{font-weight:800;font-size:18px;letter-spacing:-.4px;margin-bottom:3px}.ftg{font-size:10px;color:var(--gr2);letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.fd{font-size:13px;color:var(--gr2);line-height:1.7;max-width:340px}.fc h4{font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;color:var(--g)}.fc ul{list-style:none}.fc li{margin-bottom:10px}.fc a{font-size:12px;color:var(--gr2);transition:color .2s}.fc a:hover{color:var(--v)}.fsoc{display:flex;gap:10px;margin-top:20px}.fsoc a{width:36px;height:36px;border-radius:50%;border:.5px solid rgba(237,237,235,.12);display:flex;align-items:center;justify-content:center;transition:all .3s var(--e)}.fsoc a:hover{border-color:var(--v);background:var(--v)}.fsoc a svg{width:16px;height:16px;color:var(--gr2);transition:color .3s}.fsoc a:hover svg{color:#fff}.fbot{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:.5px solid rgba(237,237,235,.06);font-size:11px;color:var(--gr2)}

@media(max-width:1024px){.w{padding:0 28px}.hero{grid-template-columns:1fr}.hero-img{min-height:300px}.hero-text{padding:120px 28px 40px;max-width:100%}.sol-header{grid-template-columns:1fr;gap:28px}.sol-grid{grid-template-columns:1fr}.mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}.mosaic-cell:first-child{grid-row:auto}.kits{grid-template-columns:1fr}.kits-img{min-height:340px}.kits-text{padding:80px 28px;max-width:100%}.lg{grid-template-columns:repeat(3,1fr)}.ls{grid-template-columns:repeat(2,1fr);gap:48px 28px}.pf{grid-template-columns:repeat(3,1fr);gap:28px 16px}.pf::before{display:none}.sobre{grid-template-columns:1fr}.sobre-img{min-height:300px}.sobre-img::after{background:linear-gradient(to top,var(--g) 0%,rgba(237,237,235,0) 40%)}.sobre-text{padding:60px 28px}.fg{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.w{padding:0 20px}.nm{display:none}.hero-text{padding:100px 20px 40px}.hero-actions{flex-direction:column;align-items:stretch}.bp,.bg{justify-content:center}.mosaic-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,180px)}.lg{grid-template-columns:repeat(2,1fr)}.ls{grid-template-columns:1fr;gap:40px}.pf{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr;gap:32px}.fbot{flex-direction:column;gap:10px;text-align:center}}

/* ===== IMPRESSOS INTELIGENTES (diferencial concentrado) ===== */
.smart{padding:140px 0;background:var(--c);color:var(--g);overflow:hidden}
.smart .w{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.smart .ey{color:var(--v)}.smart .st{color:var(--g)}.smart .ss{color:var(--g);opacity:.6;margin-bottom:0}
.smart-list{list-style:none;margin:28px 0 0;display:flex;flex-direction:column}
.smart-list li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:15px 0;border-top:.5px solid rgba(237,237,235,.1);font-size:15px;line-height:1.5}
.smart-list li:first-child{border-top:none}
.smart-list .k{width:20px;height:20px;border-radius:50%;border:1px solid rgba(237,237,235,.28);position:relative;flex:none;margin-top:2px}
.smart-list .k::after{content:'';position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--v);border:2px solid var(--c)}
.smart-list b{color:#fff;font-weight:700}.smart-list .t{color:var(--gr2)}
.smart-chips{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}
.smart-chips span{font-size:11px;font-weight:700;color:var(--v);border:.5px solid rgba(30,140,79,.45);padding:7px 14px;border-radius:100px}
.smart-fig{position:relative;border-radius:20px;overflow:hidden;border:.5px solid rgba(237,237,235,.1)}
.smart-fig img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block}
.smart-fig .bdg{position:absolute;left:16px;bottom:16px;background:rgba(15,15,18,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--g);font-size:11px;font-weight:600;padding:9px 15px;border-radius:100px}

/* ===== SUSTENTABILIDADE RASTREÁVEL ===== */
.sust{padding:140px 0;background:var(--g)}
.sust .w{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.sust .st{margin-bottom:20px}
.sust-stats{display:flex;gap:40px;flex-wrap:wrap;margin:28px 0 0}
.sust-stats .n{font-weight:200;font-size:46px;line-height:.9;letter-spacing:-2px;display:flex;align-items:baseline;gap:2px}
.sust-stats .n strong{font-weight:900}.sust-stats .n span{color:var(--v);font-size:18px;font-weight:400}
.sust-stats .l{font-size:11px;color:var(--gr);margin-top:8px;max-width:15ch;line-height:1.5}
.trace{background:var(--c);color:var(--g);border-radius:22px;padding:34px 36px;position:relative;overflow:hidden}
.trace::before{content:'';position:absolute;width:280px;height:280px;border:.5px solid rgba(30,140,79,.3);border-radius:50%;right:-130px;top:-100px}
.trace-h{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:.5px solid rgba(237,237,235,.1);margin-bottom:6px;position:relative}
.trace-fsc{flex:none;width:70px;background:#fff;border-radius:10px;padding:10px}
.trace-tt{font-weight:800;font-size:16px;letter-spacing:-.3px}.trace-ts{font-size:12px;color:var(--gr2);margin-top:3px}
.trace ol{list-style:none;counter-reset:t;position:relative}
.trace ol li{counter-increment:t;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;padding:13px 0;border-bottom:.5px solid rgba(237,237,235,.07);font-size:14px}
.trace ol li:last-child{border-bottom:none}
.trace ol li::before{content:counter(t,decimal-leading-zero);width:28px;height:28px;border-radius:50%;border:1px solid var(--v);color:var(--v);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}

@media(max-width:1024px){.smart .w,.sust .w{grid-template-columns:1fr;gap:40px}.smart-fig img{aspect-ratio:16/10}}

/* ===== ACABAMENTO — design-taste + impeccable ===== */

/* ===== HOME V2 — premium industrial editorial ===== */
.home-v2 {
  --f: 'Inter', sans-serif;
  --display: 'Inter', sans-serif;
  --nb-text-strong: #151518;
  --nb-text-body: rgba(15, 15, 18, .78);
  --nb-text-muted: #555559;
  background: var(--g);
}

.home-v2 nav {
  background: rgba(237, 237, 235, .88);
}

.home-v2 .nm a {
  opacity: .82;
}

.home-v2 .nm a:hover {
  opacity: 1;
}

.nb-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 20px;
  color: var(--v);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.nb-kicker::before {
  content: '';
  width: 24px;
  height: 1px;
  background: currentColor;
}

.nb-hero {
  position: relative;
  min-height: 100vh;
  padding: 132px 0 80px;
  overflow: hidden;
}

.nb-hero::before {
  content: '';
  position: absolute;
  inset: 82px 28px 28px;
  border: 1px solid rgba(15, 15, 18, .08);
  border-radius: 28px;
  pointer-events: none;
}

.nb-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(420px, 1.04fr);
  gap: 64px;
  align-items: center;
}

.nb-hero-copy h1 {
  max-width: 780px;
  margin: 0 0 26px;
  color: var(--nb-text-strong);
  font-size: clamp(48px, 6.8vw, 92px);
  font-weight: 760;
  letter-spacing: -4.8px;
  line-height: .88;
}

.nb-hero-copy h1 span {
  color: var(--v);
  font-weight: 850;
}

.nb-hero-copy p {
  max-width: 620px;
  margin: 0 0 34px;
  color: var(--nb-text-body);
  font-size: 17px;
  line-height: 1.72;
}

.nb-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.nb-actions.center {
  justify-content: center;
}

.nb-primary,
.nb-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  transition: transform .28s var(--e), background .28s var(--e), color .28s var(--e), border-color .28s var(--e);
}

.nb-primary {
  background: var(--c);
  color: var(--g);
  box-shadow: 0 12px 34px rgba(15, 15, 18, .16);
}

.nb-primary.dark,
.nb-primary:hover {
  background: var(--v);
  color: #fff;
  transform: translateY(-2px);
}

.nb-primary.dark:hover {
  background: var(--g);
  color: var(--c);
}

.nb-secondary {
  border: 1px solid rgba(15, 15, 18, .24);
  color: var(--c);
  background: rgba(255, 255, 255, .45);
}

.nb-secondary:hover {
  border-color: var(--v);
  color: var(--v);
  transform: translateY(-2px);
}

.nb-secondary.light {
  border-color: rgba(237, 237, 235, .22);
  color: var(--g);
}

.nb-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 620px;
  margin-top: 44px;
}

.nb-proof div {
  padding: 16px 18px;
  border: 1px solid rgba(15, 15, 18, .12);
  border-radius: 18px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 12px 32px rgba(15, 15, 18, .06);
}

.nb-proof strong {
  display: block;
  color: var(--c);
  font-family: var(--display);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1;
}

.nb-proof span {
  display: block;
  margin-top: 7px;
  color: var(--nb-text-muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.nb-image-board {
  display: grid;
  grid-template-columns: 1fr .74fr;
  grid-template-rows: 310px 280px;
  gap: 14px;
}

.nb-shot {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(15, 15, 18, .14);
  border-radius: var(--radius-lg);
  background: var(--c);
  box-shadow: var(--shadow-elevated);
}

.nb-shot-main {
  grid-row: 1 / 3;
}

.nb-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  filter: saturate(1.04) contrast(1.05);
}

.nb-shot-main img {
  object-position: center;
}

.nb-shot::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 36%, rgba(15, 15, 18, .72) 100%);
}

.nb-shot figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  left: 18px;
  color: var(--g);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.nb-shot figcaption span {
  display: block;
  margin-bottom: 5px;
  color: rgba(237, 237, 235, .7);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.nb-statement {
  padding: 80px 0;
  background: var(--c);
  color: var(--g);
}

.nb-statement p {
  max-width: 1080px;
  margin: 0 auto;
  font-family: var(--display);
  font-size: clamp(30px, 4.8vw, 64px);
  font-weight: 600;
  letter-spacing: -2.8px;
  line-height: 1.02;
  text-align: center;
}

.nb-statement strong {
  color: var(--v);
  font-weight: 800;
}

.nb-section {
  padding: 130px 0;
}

.nb-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .58fr);
  gap: 46px;
  align-items: end;
  margin-bottom: 42px;
}

.nb-section-head h2,
.nb-showcase-copy h2,
.nb-split-copy h2,
.nb-final-cta h2 {
  margin: 0;
  color: var(--c);
  font-size: clamp(34px, 5vw, 68px);
  font-weight: 700;
  letter-spacing: -3px;
  line-height: .94;
}

.nb-section-head p,
.nb-showcase-copy p,
.nb-split-copy p,
.nb-final-cta p {
  margin: 0;
  color: rgba(15, 15, 18, .72);
  font-size: 15px;
  line-height: 1.72;
}

.nb-solution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.nb-solution {
  min-height: 280px;
  padding: 24px;
  border: 1px solid rgba(15, 15, 18, .08);
  border-radius: 24px;
  background: rgba(255, 255, 255, .55);
  transition: transform .28s var(--e), border-color .28s var(--e), background .28s var(--e);
}

.nb-solution:hover {
  transform: translateY(-5px);
  border-color: rgba(30, 140, 79, .5);
  background: #fff;
}

.nb-solution.is-green {
  background: var(--c);
  color: var(--g);
}

.nb-solution span {
  display: block;
  margin-bottom: 66px;
  color: var(--v);
  font-size: 12px;
  font-weight: 900;
}

.nb-solution h3 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.8px;
  line-height: 1;
}

.nb-solution p {
  margin: 0;
  color: var(--nb-text-muted, var(--gr));
  font-size: 13px;
  line-height: 1.6;
}

.nb-solution.is-green p {
  color: rgba(237, 237, 235, .68);
}

.nb-showcase {
  padding: 110px 0;
  background: var(--c);
  color: var(--g);
  overflow: hidden;
}

.nb-showcase-grid {
  display: grid;
  grid-template-columns: .55fr 1fr;
  gap: 52px;
  align-items: center;
}

.nb-showcase-copy h2,
.nb-showcase-copy p {
  color: var(--g);
}

.nb-showcase-copy p {
  margin: 24px 0 28px;
  color: rgba(237, 237, 235, .65);
}

.nb-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 10px;
}

.nb-gallery figure {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border-radius: 22px;
  background: #111;
}

.nb-gallery figure:nth-child(even) {
  transform: translateY(42px);
}

.nb-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.95) contrast(1.03);
}

.nb-gallery figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(15, 15, 18, .68);
  color: var(--g);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  backdrop-filter: blur(12px);
}

.nb-process {
  padding: 130px 0;
}

.nb-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(15, 15, 18, .1);
  border-radius: 28px;
  background: rgba(15, 15, 18, .1);
}

.nb-process-grid div {
  min-height: 240px;
  padding: 28px;
  background: rgba(255, 255, 255, .58);
}

.nb-process-grid span {
  display: block;
  margin-bottom: 70px;
  color: var(--v);
  font-size: 12px;
  font-weight: 900;
}

.nb-process-grid h3 {
  margin: 0 0 10px;
  font-size: 21px;
  letter-spacing: -.8px;
}

.nb-process-grid p {
  margin: 0;
  color: var(--nb-text-muted, var(--gr));
  font-size: 13px;
  line-height: 1.62;
}

.nb-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 560px;
  background: #fff;
}

.nb-split-image {
  display: grid;
  place-items: center;
  padding: 70px;
  background:
    radial-gradient(circle at center, rgba(30, 140, 79, .15), transparent 42%),
    var(--g2);
}

.nb-split-image img {
  width: min(280px, 70%);
  filter: drop-shadow(0 24px 54px rgba(15, 15, 18, .18));
}

.nb-split-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 76px min(8vw, 110px);
}

.nb-split-copy p {
  margin: 24px 0 30px;
  max-width: 620px;
}

.nb-final-cta {
  padding: 128px 0;
  background: var(--c);
  color: var(--g);
  text-align: center;
}

.nb-final-cta .nb-kicker {
  justify-content: center;
}

.nb-final-cta h2 {
  max-width: 860px;
  margin: 0 auto;
  color: var(--g);
}

.nb-final-cta p {
  max-width: 560px;
  margin: 24px auto 34px;
  color: rgba(237, 237, 235, .65);
}

@media (max-width: 1100px) {
  .nb-hero-grid,
  .nb-showcase-grid,
  .nb-section-head,
  .nb-split {
    grid-template-columns: 1fr;
  }

  .nb-image-board {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 300px 250px;
  }

  .nb-shot-main {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .nb-solution-grid,
  .nb-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .nb-hero {
    padding: 108px 0 52px;
  }

  .nb-hero::before {
    inset: 72px 10px 14px;
    border-radius: 20px;
  }

  .nb-hero-copy h1 {
    font-size: clamp(42px, 14vw, 60px);
    letter-spacing: -3px;
  }

  .nb-hero-copy p {
    font-size: 15px;
  }

  .nb-proof,
  .nb-image-board,
  .nb-solution-grid,
  .nb-process-grid,
  .nb-gallery {
    grid-template-columns: 1fr;
  }

  .nb-shot,
  .nb-gallery figure {
    min-height: 260px;
  }

  .nb-image-board {
    grid-template-rows: auto;
  }

  .nb-section,
  .nb-process,
  .nb-showcase {
    padding: 78px 0;
  }

  .nb-statement {
    padding: 62px 0;
  }

  .nb-statement p,
  .nb-section-head h2,
  .nb-showcase-copy h2,
  .nb-split-copy h2,
  .nb-final-cta h2 {
    letter-spacing: -1.8px;
  }

  .nb-gallery figure:nth-child(even) {
    transform: none;
  }

  .nb-split-image,
  .nb-split-copy {
    padding: 54px 22px;
  }

  .nb-actions,
  .nb-actions.center {
    align-items: stretch;
    flex-direction: column;
  }
}
/* quebra de linha ótica em títulos */
h1,h2,.st,.kits-t,.sobre-t,.cta-t,.ft,.hero h1{text-wrap:balance}
/* nav fixo não cobre o título ao pular por âncora */
section[id]{scroll-margin-top:88px}
/* estado ACTIVE (pressionado) — feedback tátil */
.bp:active,.bm:active,.nc:active,.kits-cta:active{transform:translateY(1px) scale(.99)}
.sc:active,.mosaic-cell:active{transform:translateY(-1px)}
/* FOCO acessível p/ teclado (anel 2.5px, offset, contraste) — invisível no mouse */
a:focus{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2.5px solid var(--v);outline-offset:3px;border-radius:6px}
.bp:focus-visible,.bm:focus-visible,.nc:focus-visible,.kits-cta:focus-visible{outline-offset:4px}
.mosaic-cell:focus-visible{outline-offset:-3px}
/* elevação só onde comunica hierarquia — sombra tintada na cor da marca, sutil */
.sc{transition:border-color .35s var(--e),transform .35s var(--e),box-shadow .35s var(--e)}
.sc:hover{box-shadow:0 18px 42px -26px rgba(30,140,79,.30)}
.mosaic-label .ml-name{transition:transform .45s var(--e)}
.mosaic-cell:hover .ml-name{transform:translateY(-2px)}
/* reveals: timing de entrada impeccable (~.8s, expo) em vez de 1.1s */
.rv,.rs>*{transition-duration:.8s}
/* momentos orquestrados de movimento (guardados por reduced-motion) */
@media(prefers-reduced-motion:no-preference){
  .hero-img img{animation:heroIn 1.5s var(--e) both}
  @keyframes heroIn{from{transform:scale(1.06)}to{transform:scale(1)}}
  .cta-orb svg{transform-origin:center;animation:orbing 90s linear infinite}
  @keyframes orbing{to{transform:rotate(360deg)}}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.rs>*{opacity:1!important;transform:none!important}}

/* ===== páginas internas ===== */
.phero{padding:170px 0 86px;background:var(--g);position:relative;overflow:hidden}
.phero .w{position:relative;z-index:2}
.phero .st{max-width:18ch}.phero.center .st,.phero.center .ss{margin-left:auto;margin-right:auto;text-align:center}
.phero.center .ey{justify-content:center}
.phero-orb{position:absolute;right:-180px;top:-120px;width:560px;height:560px;opacity:.5;z-index:0}
.phero-lead{font-size:17px;line-height:1.75;max-width:560px;color:var(--gr);margin-top:8px}
.pcrumb{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gr2);margin-bottom:22px}
.pcrumb a{color:var(--gr2)}.pcrumb a:hover{color:var(--v)}
/* filtros (cases) */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 36px}
.fbtn{font-size:13px;font-weight:600;padding:9px 18px;border-radius:100px;border:.5px solid rgba(15,15,18,.16);color:var(--c);background:transparent;transition:all .25s var(--e)}
.fbtn:hover{border-color:var(--c)}
.fbtn.on{background:var(--c);color:var(--g);border-color:var(--c)}
/* grade de cases full */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ccard{position:relative;border-radius:14px;overflow:hidden;border:.5px solid rgba(15,15,18,.08);background:#fff;aspect-ratio:4/3;transition:transform .4s var(--e),box-shadow .4s var(--e)}
.ccard:hover{transform:translateY(-4px);box-shadow:0 22px 46px -26px rgba(15,15,18,.32)}
.ccard img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e)}
.ccard:hover img{transform:scale(1.05)}
.ccard .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(15,15,18,.82) 100%);pointer-events:none}
.ccard .info{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;color:#fff;z-index:2}
.ccard .tag{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#fff;opacity:.92;margin-bottom:8px}
.ccard .tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--v)}
.ccard h3{font-size:16px;letter-spacing:-.3px}
.ccard.hide{display:none}
/* depoimentos */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.qc{background:#fff;border:.5px solid rgba(15,15,18,.08);border-radius:16px;padding:30px 28px;position:relative}
.qc .mk{font-size:46px;line-height:.6;color:var(--v);font-weight:900;height:24px}
.qc p{font-size:15px;line-height:1.6;color:var(--c);font-style:italic;margin:14px 0 18px}
.qc .who{font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--gr)}
/* dashboard mock (impressos inteligentes) */
.dash{background:var(--c);color:var(--g);border-radius:22px;padding:30px 32px;border:.5px solid rgba(237,237,235,.08)}
.dash-h{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:.5px solid rgba(237,237,235,.1);margin-bottom:22px}
.dash-h .t{font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}
.dash-h .t .dot{width:8px;height:8px;border-radius:50%;background:var(--v)}
.dash-h .ex{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--gr2)}
.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.dash-kpi .n{font-weight:200;font-size:34px;letter-spacing:-1.5px;line-height:1}
.dash-kpi .n strong{font-weight:900}.dash-kpi .n span{color:var(--v);font-size:15px;font-weight:500}
.dash-kpi .l{font-size:11px;color:var(--gr2);margin-top:6px}
.dash-bars{display:flex;align-items:flex-end;gap:9px;height:120px;padding-top:8px}
.dash-bars .bar{flex:1;background:linear-gradient(to top,var(--vd),var(--v));border-radius:4px 4px 0 0;min-height:8px;transition:height .8s var(--e)}
.dash-bars .bar:last-child{background:var(--g)}
.dash-x{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:var(--gr2);letter-spacing:.5px}
/* timeline (A NB) */
.tl{border-top:.5px solid rgba(15,15,18,.1)}
.tl .row{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:30px 0;border-bottom:.5px solid rgba(15,15,18,.1);transition:padding-left .35s var(--e)}
.tl .row:hover{padding-left:8px}
.tl .yr{font-weight:200;font-size:40px;letter-spacing:-2px;line-height:1}.tl .yr strong{font-weight:900}
.tl .ct h3{font-size:18px;letter-spacing:-.3px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.tl .ct h3::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--v);flex:none}
.tl .ct p{font-size:14.5px;line-height:1.65;color:var(--gr);max-width:60ch}
/* imagem split genérica reutilizável já existe (.sobre) */
.split-rev .sobre-img{order:2}.split-rev .sobre-img::after{background:linear-gradient(to right,var(--g) 0%,rgba(237,237,235,0) 50%)}
@media(max-width:1024px){.cgrid,.quotes,.dash-kpis{grid-template-columns:1fr 1fr}.phero .st{max-width:100%}}
@media(max-width:700px){.cgrid,.quotes,.dash-kpis{grid-template-columns:1fr}.tl .row{grid-template-columns:1fr;gap:6px}.tl .yr{font-size:32px}}
/* ===== menu mobile (hambúrguer) ===== */
.burger{display:none;width:42px;height:42px;border-radius:50%;border:.5px solid rgba(15,15,18,.16);background:transparent;align-items:center;justify-content:center;cursor:pointer;flex:none}
.burger span{position:relative;display:block;width:18px;height:1.7px;background:var(--c);border-radius:2px;transition:.3s var(--e)}
.burger span::before,.burger span::after{content:'';position:absolute;left:0;width:18px;height:1.7px;background:var(--c);border-radius:2px;transition:.3s var(--e)}
.burger span::before{top:-6px}.burger span::after{top:6px}
nav.open .burger span{background:transparent}
nav.open .burger span::before{top:0;transform:rotate(45deg)}
nav.open .burger span::after{top:0;transform:rotate(-45deg)}
.nm-cta{display:none}
@media(max-width:980px){
  .nm{display:none}.burger{display:flex}.nc{display:none}
  nav.open .nm{display:flex;position:fixed;top:62px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--g);border-bottom:.5px solid rgba(15,15,18,.1);padding:6px 0 14px;box-shadow:0 24px 50px -24px rgba(15,15,18,.32)}
  nav.open .nm a{padding:15px 28px;font-size:15px;opacity:1;border-bottom:.5px solid rgba(15,15,18,.06)}
  nav.open .nm a::after{display:none}
  nav.open .nm .nm-cta{display:block;margin:12px 24px 0;text-align:center;background:var(--c);color:var(--g);border-radius:100px;padding:15px;font-weight:700;border-bottom:none}
}
/* ===== verticais ===== */
.vlist{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:2px}
.vlist li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:14px 0;border-top:.5px solid rgba(15,15,18,.1);font-size:15px;line-height:1.55}
.vlist li:first-child{border-top:none}
.vlist .k{width:18px;height:18px;border-radius:50%;border:1px solid var(--g3);position:relative;flex:none;margin-top:3px}
.vlist .k::after{content:'';position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:var(--v);border:2px solid var(--g)}
.vlist b{font-weight:700}.vlist .t{color:var(--gr)}
