/* Páginas internas (Sobre, Soluções, IA, Clientes, Blog, Contato, páginas legais) */
body.inner{background:#fff}
main{display:block}
.page-hero{position:relative;padding:150px 0 64px;background:radial-gradient(800px 380px at 90% 0%,rgba(0,114,188,.08),transparent 60%),radial-gradient(600px 300px at 0% 100%,rgba(255,138,0,.07),transparent 60%),var(--bg-2);border-bottom:1px solid var(--line);overflow:hidden}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;margin:1rem 0 1rem;max-width:20ch}
.page-hero .lead{font-size:1.15rem;color:var(--ink-2);max-width:56ch}
.crumbs{font-size:.85rem;color:var(--ink-2);margin-bottom:1.4rem}
.crumbs a{color:var(--blue)}
.crumbs a:hover{text-decoration:underline}
.page-hero .trail-deco{position:absolute;right:-30px;top:40px;width:340px;opacity:.55;pointer-events:none}
.page-hero .trail-deco path{fill:none;stroke-linecap:round;stroke-linejoin:round}

.sec{padding:76px 0}
.sec.alt{background:var(--bg-2)}
.sec h2{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;margin:.9rem 0 1rem}
.sec .sub{color:var(--ink-2);max-width:60ch;font-size:1.05rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2rem}
.card{padding:1.7rem;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.card h3{font-size:1.25rem;margin-bottom:.5rem}
.card p{color:var(--ink-2);font-size:.97rem}
.card .ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;margin-bottom:1rem;background:rgba(0,114,188,.1);color:var(--blue)}
.card:nth-child(even) .ico{background:rgba(255,138,0,.14);color:#d97500}
.card .ico svg{width:26px;height:26px}
.checks{list-style:none;display:grid;gap:.55rem;margin-top:1rem}
.checks li{position:relative;padding-left:1.7rem;color:var(--ink-2);font-size:.97rem}
.checks li::before{content:"";position:absolute;left:0;top:.45rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,138,0,.18)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2rem}
.stats div{border-left:4px solid var(--blue);padding-left:1.1rem}
.stats div:nth-child(even){border-color:var(--orange)}
.stats b{display:block;font:800 clamp(2rem,3.6vw,3rem) var(--font-h);letter-spacing:-.03em}
.stats span{color:var(--ink-2);font-size:.92rem}

.band{background:var(--blue);color:#fff;border-radius:34px;padding:clamp(2rem,5vw,3.6rem);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.band h2{color:#fff;margin:0;max-width:20ch;font-size:clamp(1.6rem,3vw,2.4rem)}
.band p{opacity:.9;max-width:44ch;margin-top:.6rem}
.band-wrap{padding:30px 0 80px}

/* módulos detalhados */
.mblock{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.mblock:first-of-type{border-top:0}
.mblock .n{font:700 .9rem var(--font-h);color:var(--orange)}
.mblock h3{font-size:1.7rem;margin:.3rem 0 .4rem}
.mblock .p{color:var(--ink-2)}
.mblock ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem 1.5rem}
.mblock li{color:var(--ink-2);font-size:.95rem;padding-left:1.3rem;position:relative}
.mblock li::before{content:"";position:absolute;left:0;top:.5rem;width:.55rem;height:.55rem;border-radius:3px;background:var(--blue)}
.mblock li b{color:var(--ink);font-weight:600}
.note{margin-top:1.2rem;padding:1rem 1.2rem;border-radius:14px;background:rgba(0,114,188,.07);color:var(--ink-2);font-size:.92rem}

/* recursos de IA */
.feat{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;padding:3rem 0;border-top:1px solid var(--line)}
.feat:first-of-type{border-top:0}
.feat.rev .feat-txt{order:2}
.feat h3{font-size:1.8rem;margin:.6rem 0}
.feat p{color:var(--ink-2)}
.feat img{border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(11,59,69,.5);cursor:zoom-in;background:#fff}
.tag{display:inline-block;font:600 .74rem var(--font-b);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:rgba(0,114,188,.1);padding:.35rem .7rem;border-radius:99px}

/* clientes */
.logo-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem}
.logo-cards a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:190px;padding:1.4rem;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.logo-cards a:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 24px 40px -28px rgba(0,114,188,.55)}
.logo-cards img{max-height:72px;max-width:80%;width:auto;height:auto}
.logo-cards span{font-size:.85rem;color:var(--ink-2);text-align:center}
.logo-cards em{font-style:normal;color:var(--blue);font-weight:600;font-size:.82rem}

/* blog */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.article{max-width:760px;margin:0 auto}
.article .meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;color:var(--ink-2);font-size:.9rem;margin-bottom:1.6rem}
.article .meta b{color:var(--blue);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.page-hero.post h1{max-width:24ch}
.prose{max-width:760px}
.prose h2{font-size:1.6rem;margin:2.2rem 0 .7rem;font-weight:700}
.prose h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
.prose p{margin:.8rem 0;color:#27474f;font-size:1.04rem;line-height:1.7}
.prose ul,.prose ol{margin:.8rem 0 .8rem 1.3rem;display:grid;gap:.45rem;color:#27474f;line-height:1.65}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose blockquote{margin:1.4rem 0;padding:1rem 1.3rem;border-left:4px solid var(--orange);background:var(--bg-2);border-radius:0 14px 14px 0;color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.prose .updated{color:var(--ink-2);font-size:.9rem}
.article-end{margin-top:2.4rem;padding:1.6rem;border-radius:var(--r);background:var(--bg-2);display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.article-end p{margin:0;max-width:38ch}
.back{display:inline-block;margin-top:2rem;font-weight:600;color:var(--blue)}

/* contato */
.chan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.chan{display:flex;flex-direction:column;gap:.6rem;padding:1.8rem;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.chan:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 24px 40px -28px rgba(0,114,188,.55)}
.chan .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff}
.chan.wa .ico{background:#25D366}
.chan.sup .ico{background:var(--blue)}
.chan.mail .ico{background:var(--orange)}
.chan .ico svg{width:26px;height:26px}
.chan h3{font-size:1.3rem}
.chan p{color:var(--ink-2);font-size:.95rem;flex:1}
.chan .go{font-weight:600;color:var(--blue)}
button.chan{font:inherit;text-align:left;cursor:pointer}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding:160px 0 80px}
.nf b{display:block;font:800 clamp(5rem,16vw,10rem)/1 var(--font-h);color:var(--blue);letter-spacing:-.05em}
.nf b span{color:var(--orange)}
.nf p{color:var(--ink-2);margin:.6rem 0 1.6rem}

@media(max-width:900px){
  .grid-2,.grid-3,.grid-4,.stats,.logo-cards,.post-grid,.chan-grid{grid-template-columns:1fr 1fr}
  .mblock,.feat{grid-template-columns:1fr}
  .feat.rev .feat-txt{order:0}
  .mblock ul{grid-template-columns:1fr}
  .page-hero{padding:120px 0 48px}
  .page-hero .trail-deco{display:none}
}
@media(max-width:560px){.grid-2,.grid-3,.grid-4,.stats,.logo-cards,.post-grid,.chan-grid{grid-template-columns:1fr}}

/* mapa do Brasil (clientes) */
.map-sec{display:grid;grid-template-columns:.95fr 1.05fr;gap:3rem;align-items:center}
.map-txt h2{margin-top:.9rem}
.stats.compact{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.stats.compact b{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.uf-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.6rem}
.uf-chips li{padding:.32rem .75rem;border-radius:99px;background:#fff;border:1px solid var(--line);font:600 .8rem var(--font-b);color:var(--ink-2);cursor:default;transition:background .2s,color .2s,border-color .2s}
.uf-chips li.sede{border-color:rgba(255,138,0,.55);color:#a85a00}
.uf-chips li.hl{background:var(--blue);border-color:var(--blue);color:#fff}
.uf-chips li.sede.hl{background:var(--orange);border-color:var(--orange);color:#fff}
.legend{margin-top:1.2rem;color:var(--ink-2);font-size:.85rem;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .6rem}
.legend i{display:inline-block;width:12px;height:12px;border-radius:4px}
.legend .d1{background:var(--blue)}
.legend .d2{background:var(--orange);margin-left:.8rem}
.map-card{position:relative;margin:0;padding:0;background:none;border:0;box-shadow:none}
.br-map{display:block;width:100%;height:auto;max-height:600px}
.br-map path{fill:#B4C7DC;stroke:rgba(255,255,255,.55);stroke-width:1.2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .25s,filter .25s}
.br-map path.on{stroke:#fff}
.br-map path.on{--c:var(--blue)}
.br-map path.on.sede{--c:var(--orange)}
.br-map.go path.on{animation:uf .8s ease forwards;animation-delay:calc(var(--i) * 90ms)}
@keyframes uf{from{fill:#B4C7DC}to{fill:var(--c)}}
.br-map path:hover,.br-map path.hl{filter:brightness(.88)}
.br-map path:not(.on):hover{fill:#A8BDD4}
.map-tip{position:absolute;left:0;bottom:0;padding:.4rem .8rem;border-radius:10px;background:var(--ink);color:#fff;font:600 .85rem var(--font-b);opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.map-tip.show{opacity:1;transform:none}
@media(max-width:900px){.map-sec{grid-template-columns:1fr}.stats.compact{grid-template-columns:repeat(3,1fr)}}

/* blog: imagens dos artigos e dos cartões */
.article .cover{margin:0 0 1.8rem}
.article .cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2)}
