/* Solvere — estilos do site (sobre assets/css/cores.css e componentes.css, que vêm do pacote de identidade).
   Só o que o pacote não traz: cabeçalho, painel de exemplo, planos, FAQ, rodapé. Cores sempre pelos tokens. */

html{ scroll-behavior:smooth; scroll-padding-top:84px; }
img,svg{ max-width:100%; }
a{ text-underline-offset:3px; }
.sx-btn, .sx-btn:hover, .sx-nav a, .sx-foot a{ text-decoration:none; }
.sx-section > .sx-wide{ max-width:var(--sx-width); }
.sx-section > h2.sx-wide, .sx-section > p.sx-wide{ max-width:var(--sx-width); }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:-999px; top:8px; z-index:200; background:var(--cor-cobalto); color:#fff; padding:10px 16px; border-radius:var(--raio-controle); }
.skip:focus{ left:8px; }
:focus-visible{ outline:3px solid var(--cor-aguada); outline-offset:2px; }

/* ---------- Cabeçalho ---------- */
.sx-top{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--cor-linha); }
.sx-top-in{ max-width:var(--sx-width); margin:0 auto; padding:12px clamp(20px,4vw,32px); display:flex; align-items:center; gap:24px; }
.sx-top .sx-logo{ height:36px; }
.sx-nav{ display:flex; gap:4px; margin-left:auto; }
.sx-nav a{ white-space:nowrap; padding:8px 10px; border-radius:var(--raio-controle); color:var(--cor-grafite); font-size:.95rem; font-weight:500; }
.sx-nav a:hover{ color:var(--cor-nanquim); background:var(--cor-nevoa); }
.sx-top-cta{ display:flex; align-items:center; gap:8px; }
.sx-top-cta .sx-btn{ padding:.6em 1.1em; font-size:.95rem; }
.sx-login{ padding:8px 12px; color:var(--cor-grafite); font-weight:500; font-size:.95rem; text-decoration:none; }
.sx-burger{ display:none; margin-left:auto; width:44px; height:44px; border:1px solid var(--cor-linha); border-radius:var(--raio-controle); background:#fff; cursor:pointer; position:relative; }
.sx-burger span{ position:absolute; left:12px; right:12px; height:2px; background:var(--cor-nanquim); border-radius:2px; transition:transform .2s ease; }
.sx-burger span:nth-child(1){ top:16px; } .sx-burger span:nth-child(2){ top:26px; }
.sx-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
.sx-burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-5px) rotate(-45deg); }
.sx-menu{ display:none; }
@media (max-width:1100px){
  .sx-nav, .sx-top-cta{ display:none; }
  .sx-burger{ display:block; }
  .sx-menu.open{ display:grid; gap:2px; padding:8px clamp(20px,4vw,32px) 20px; border-top:1px solid var(--cor-linha); background:#fff; }
  .sx-menu a{ padding:12px 4px; color:var(--cor-nanquim); font-family:var(--fonte-titulo); font-weight:600; font-size:1.1rem; text-decoration:none; border-bottom:1px solid var(--cor-linha); }
  .sx-menu a.sx-btn{ margin-top:14px; text-align:center; color:#fff; border-bottom:0; }
}

/* ---------- Topo ---------- */
.sx-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px); align-items:center; }
.sx-hero-grid > *{ min-width:0; }
.sx-hero h1{ font-size:clamp(36px,5vw,56px); margin:.2em 0 .5em; }
.sx-grifo{ position:relative; display:inline-block; white-space:nowrap; z-index:0; }
.sx-grifo::after{ content:""; position:absolute; left:-2%; right:-4%; bottom:-.12em; height:.42em; z-index:-1;
  background:url("../pinceladas/grifo-aguada.png") center/100% 100% no-repeat; }
.sx-hero .sx-lede{ max-width:56ch; }
.sx-acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:1.8rem; }
.sx-notas{ display:flex; flex-wrap:wrap; gap:6px 22px; margin:1.4rem 0 0; padding:0; list-style:none; font-size:.9rem; color:var(--cor-grafite); }
.sx-notas li{ margin:0; display:flex; align-items:center; gap:8px; }
.sx-notas li::before{ content:""; width:14px; height:14px; background:var(--cor-verde); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:980px){ .sx-hero-grid{ grid-template-columns:1fr; } }

/* painel de exemplo (dados ilustrativos) */
.sx-painel{ background:#fff; border:1px solid var(--cor-linha); border-radius:var(--raio-cartao); box-shadow:var(--sombra); overflow:hidden; }
.sx-painel-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; background:var(--cor-papel); border-bottom:1px solid var(--cor-linha); font-weight:600; color:var(--cor-nanquim); font-size:.92rem; }
.sx-painel-top span{ font-family:var(--fonte-dado); font-weight:500; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cor-grafite); }
.sx-painel-body{ padding:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.sx-tile{ border:1px solid var(--cor-linha); border-radius:var(--raio-controle); padding:12px 14px; min-width:0; }
.sx-tile small{ display:block; margin-bottom:2px; }
.sx-tile .sx-kpi{ font-size:1.7rem; margin:0; }
.sx-tile .sx-kpi small{ font-size:.85rem; }
.sx-tile.wide{ grid-column:1/-1; }
.sx-bar{ height:8px; border-radius:99px; background:var(--cor-nevoa); overflow:hidden; margin-top:8px; }
.sx-bar i{ display:block; height:100%; width:var(--w); border-radius:99px; background:var(--cor-cobalto); }
.sx-bar.verde i{ background:var(--cor-verde); }
.sx-lista-ob{ list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:.9rem; }
.sx-lista-ob li{ margin:0; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.sx-lista-ob li span:first-child{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sx-aviso{ font-family:var(--fonte-dado); font-size:.7rem; letter-spacing:.06em; color:var(--cor-grafite); text-align:center; margin:12px 0 0; }

/* números */
.sx-numeros{ max-width:var(--sx-width); margin:clamp(40px,6vw,72px) auto 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--cor-linha); }
.sx-num{ padding:22px 20px 0 0; }
.sx-num + .sx-num{ padding-left:22px; border-left:1px solid var(--cor-linha); }
.sx-num .sx-kpi{ margin:0 0 .2rem; }
.sx-num p{ margin:0; color:var(--cor-grafite); font-size:.92rem; }
@media (max-width:720px){
  .sx-numeros{ grid-template-columns:1fr 1fr; }
  .sx-num:nth-child(3){ padding-left:0; border-left:0; }
  .sx-num{ padding-bottom:20px; }
}

/* clientes */
.sx-clientes{ padding-block:clamp(36px,5vw,56px); border-top:1px solid var(--cor-linha); border-bottom:1px solid var(--cor-linha); }
.sx-clientes p.sx-rot{ text-align:center; font-family:var(--fonte-dado); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cor-grafite); max-width:none; margin-bottom:1.4rem; }
.sx-clientes ul{ list-style:none; margin:0 auto; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px; max-width:var(--sx-width); }
.sx-clientes li{ margin:0; font-family:var(--fonte-titulo); font-weight:600; font-size:1.2rem; color:var(--cor-grafite); }

/* chips */
.sx-chips{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:1.6rem 0 0; }
.sx-chips li{ margin:0; padding:.45em 1em; border:1px solid var(--cor-linha); background:#fff; border-radius:999px; font-weight:500; font-size:.95rem; color:var(--cor-nanquim); }
.sx-alt .sx-chips li{ background:#fff; }
.sx-custo{ margin-top:1.6rem; font-family:var(--fonte-titulo); font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.3; color:var(--cor-grafite); max-width:46ch; }
.sx-custo strong{ color:var(--cor-nanquim); }
.sx-modulo{ font-family:var(--fonte-dado); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cor-cobalto); margin:0 0 .5rem; }

/* cartões de módulo */
.sx-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:2.5rem; }
.sx-cards .sx-card{ display:flex; flex-direction:column; }
.sx-cards .sx-card h3{ font-size:1.35rem; }
.sx-cards .sx-card p{ color:var(--cor-grafite); }
.sx-mini{ margin-top:auto; padding-top:1rem; }
.sx-formula{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.9rem; }
.sx-formula span{ padding:6px 10px; border:1px solid var(--cor-linha); border-radius:var(--raio-controle); background:var(--cor-papel); }
.sx-formula .res{ background:var(--cor-cobalto); border-color:var(--cor-cobalto); color:#fff; font-family:var(--fonte-dado); font-weight:500; }
.sx-formula .op{ border:0; background:none; padding:0; color:var(--cor-cobalto); font-weight:700; }
.sx-barras{ display:flex; align-items:flex-end; gap:6px; height:90px; margin-top:14px; }
.sx-barras i{ flex:1; height:var(--h); background:var(--cor-cobalto); border-radius:4px 4px 0 0; opacity:.85; }
.sx-barras i.m{ background:var(--cor-aguada); opacity:1; }
.sx-kanban{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; font-size:.78rem; }
.sx-kanban b{ display:block; font-family:var(--fonte-dado); font-weight:500; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cor-grafite); margin-bottom:6px; }
.sx-kanban div div{ padding:8px 9px; border:1px solid var(--cor-linha); border-radius:6px; background:var(--cor-papel); margin-bottom:6px; line-height:1.35; color:var(--cor-tinta); }
.sx-kanban .ok{ border-color:var(--cor-verde); background:var(--cor-sucesso-fundo); }
.sx-evid{ display:grid; gap:8px; font-size:.9rem; }
.sx-evid div{ display:flex; justify-content:space-between; gap:10px; align-items:center; padding:9px 12px; border:1px solid var(--cor-linha); border-radius:var(--raio-controle); background:var(--cor-papel); }
.sx-forn{ display:grid; gap:10px; font-size:.9rem; }
.sx-forn div{ display:grid; grid-template-columns:110px 1fr 34px; gap:12px; align-items:center; color:var(--cor-grafite); }
.sx-forn div .sx-bar{ margin:0; }
.sx-forn b{ text-align:right; font-family:var(--fonte-dado); font-weight:500; color:var(--cor-nanquim); }
@media (max-width:860px){ .sx-cards{ grid-template-columns:1fr; } }

/* passos */
.sx-passos{ list-style:none; padding:0; margin:2.5rem 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:p; }
.sx-passos li{ margin:0; counter-increment:p; }
.sx-passos li::before{ content:"0" counter(p); display:block; font-family:var(--fonte-dado); font-weight:500; color:var(--cor-cobalto); letter-spacing:.1em; margin-bottom:.6rem; }
.sx-passos h3{ margin-bottom:.4rem; }
.sx-passos p{ color:var(--cor-grafite); }
.sx-pills{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.sx-pills span{ font-size:.8rem; padding:3px 10px; border-radius:99px; background:var(--cor-nevoa); color:var(--cor-nanquim); }
@media (max-width:860px){ .sx-passos{ grid-template-columns:1fr; } }

/* GEE / duas colunas */
.sx-duas{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.sx-duas > *{ min-width:0; }
.sx-fluxo{ list-style:none; padding:0; margin:1.6rem 0 0; counter-reset:f; }
.sx-fluxo li{ margin:0; position:relative; padding:14px 0 14px 46px; border-top:1px solid var(--cor-linha); color:var(--cor-grafite); }
.sx-fluxo li:last-child{ border-bottom:1px solid var(--cor-linha); }
.sx-fluxo li::before{ counter-increment:f; content:counter(f,decimal-leading-zero); position:absolute; left:0; top:15px; font-family:var(--fonte-dado); font-size:.85rem; font-weight:500; color:var(--cor-verde); }
.sx-fluxo b{ display:block; color:var(--cor-nanquim); font-family:var(--fonte-titulo); font-size:1.05rem; }
.sx-escopos .sx-kpi small{ display:inline; }
.sx-esc{ display:grid; gap:14px; margin-top:1rem; }
.sx-esc div{ display:grid; grid-template-columns:90px 1fr 44px; gap:12px; align-items:center; font-size:.92rem; color:var(--cor-grafite); }
.sx-esc .sx-bar{ margin:0; height:10px; }
.sx-esc b{ font-family:var(--fonte-dado); font-weight:500; color:var(--cor-nanquim); text-align:right; }
.sx-bar.aguada i{ background:var(--cor-aguada); }
.sx-bar.nanquim i{ background:var(--cor-nanquim); }
@media (max-width:860px){ .sx-duas{ grid-template-columns:1fr; } }

/* IA */
.sx-chat{ display:grid; gap:10px; font-size:.92rem; }
.sx-chat div{ max-width:90%; padding:10px 14px; border-radius:12px; line-height:1.5; }
.sx-chat .q{ justify-self:end; background:var(--cor-papel); border:1px solid var(--cor-linha); }
.sx-chat .a{ background:var(--cor-nevoa); color:var(--cor-tinta); }
.sx-extr{ display:flex; flex-wrap:wrap; gap:8px; }
.sx-extr span{ font-family:var(--fonte-dado); font-size:.78rem; padding:5px 10px; border-radius:6px; background:var(--cor-nevoa); color:var(--cor-nanquim); }

/* planos */
.sx-planos{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:2.5rem; align-items:stretch; }
.sx-plano{ display:flex; flex-direction:column; position:relative; }
.sx-plano h3{ font-size:1.4rem; margin-bottom:.2rem; }
.sx-preco{ font-family:var(--fonte-titulo); font-weight:700; font-size:2.2rem; color:var(--cor-nanquim); letter-spacing:-.02em; line-height:1.1; margin:.3rem 0 .2rem; }
.sx-ideal{ color:var(--cor-grafite); font-size:.95rem; margin-bottom:0; }
.sx-plano ul{ list-style:none; padding:0; margin:1.2rem 0 1.6rem; display:grid; gap:10px; font-size:.95rem; }
.sx-plano li{ margin:0; padding-left:26px; position:relative; }
.sx-plano li::before{ content:""; position:absolute; left:0; top:.35em; width:14px; height:14px; background:var(--cor-cobalto); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.sx-plano li em{ font-style:normal; font-size:.8rem; color:var(--cor-grafite); }
.sx-plano .sx-btn{ margin-top:auto; text-align:center; }
.sx-plano-tag{ position:absolute; top:-12px; left:24px; font-family:var(--fonte-dado); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; background:var(--cor-cobalto); color:#fff; padding:4px 12px; border-radius:99px; }
@media (max-width:980px){ .sx-planos{ grid-template-columns:1fr; } }

/* em breve + segurança */
.sx-breve{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:2.5rem; }
.sx-breve .sx-card{ box-shadow:none; border-style:dashed; }
.sx-breve h3{ font-size:1.15rem; }
.sx-breve p{ color:var(--cor-grafite); font-size:.93rem; margin:0; }
.sx-breve .sx-tag{ margin-bottom:.9rem; border-color:var(--cor-aguada); background:var(--cor-nevoa); color:var(--cor-nanquim); font-family:var(--fonte-dado); font-weight:500; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:980px){ .sx-breve{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .sx-breve{ grid-template-columns:1fr; } }
.sx-seg{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px; margin-top:2.2rem; }
.sx-seg > div{ padding:20px 0; border-top:1px solid var(--cor-linha); }
.sx-seg h3{ font-size:1.1rem; margin-bottom:.3rem; }
.sx-seg p{ margin:0; color:var(--cor-grafite); font-size:.95rem; }
@media (max-width:860px){ .sx-seg{ grid-template-columns:1fr; } }

/* depoimentos e prêmios */
.sx-depo{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:2.5rem; }
.sx-depo .sx-quote p{ font-size:1.05rem; line-height:1.6; }
.sx-premios{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:2.5rem auto 0; list-style:none; padding:0; }
.sx-premios li{ margin:0; padding:18px 20px; border:1px solid var(--cor-linha); border-radius:var(--raio-cartao); background:#fff; }
.sx-premios b{ display:block; font-family:var(--fonte-titulo); color:var(--cor-nanquim); font-size:1.1rem; }
.sx-premios span{ color:var(--cor-grafite); font-size:.9rem; }
@media (max-width:860px){ .sx-depo, .sx-premios{ grid-template-columns:1fr; } }

/* FAQ */
.sx-faq{ max-width:var(--sx-read); margin:2rem 0 0; }
.sx-faq details{ border-bottom:1px solid var(--cor-linha); }
.sx-faq details:first-child{ border-top:1px solid var(--cor-linha); }
.sx-faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 0; font-family:var(--fonte-titulo); font-weight:600; font-size:1.1rem; color:var(--cor-nanquim); }
.sx-faq summary::-webkit-details-marker{ display:none; }
.sx-faq summary::after{ content:"+"; flex:none; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--cor-linha); border-radius:50%; font-family:var(--fonte-texto); font-weight:400; color:var(--cor-cobalto); }
.sx-faq details[open] summary::after{ content:"–"; background:var(--cor-cobalto); color:#fff; border-color:var(--cor-cobalto); }
.sx-faq details p{ color:var(--cor-grafite); padding-bottom:16px; margin:0; }
.sx-section > .sx-faq{ max-width:var(--sx-read); margin-left:0; }

/* faixa final */
.sx-cta .sx-acoes{ margin-top:1.6rem; }
.sx-cta .sx-eyebrow{ color:var(--cor-broto); }
.sx-cta .sx-eyebrow::before{ background:var(--cor-broto); box-shadow:0 0 0 4px rgba(125,195,131,.2); }

/* rodapé */
.sx-foot{ border-top:1px solid var(--cor-linha); padding:clamp(40px,6vw,64px) clamp(20px,4vw,32px) 24px; color:var(--cor-grafite); font-size:.95rem; }
.sx-foot-in{ max-width:var(--sx-width); margin:0 auto; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:32px; }
.sx-foot .sx-logo{ height:36px; margin-bottom:14px; }
.sx-foot p{ max-width:34ch; }
.sx-foot h4{ font-family:var(--fonte-dado); font-weight:500; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cor-grafite); margin-bottom:.9rem; }
.sx-foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.sx-foot li{ margin:0; }
.sx-foot a{ color:var(--cor-grafite); }
.sx-foot a:hover{ color:var(--cor-cobalto); }
.sx-foot-fim{ max-width:var(--sx-width); margin:36px auto 0; padding-top:20px; border-top:1px solid var(--cor-linha); font-size:.85rem; }
@media (max-width:860px){ .sx-foot-in{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .sx-foot-in{ grid-template-columns:1fr; } }

/* WhatsApp */
.sx-wa{ position:fixed; right:18px; bottom:18px; z-index:45; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--cor-cobalto); color:#fff; box-shadow:var(--sombra); }
.sx-wa:hover{ background:var(--cor-cobalto-hover); color:#fff; }
.sx-wa svg{ width:26px; height:26px; }

/* ---------- Alinhamento ----------
   O componentes.css centraliza cada filho da seção (margin auto) e limita título e texto a 780px;
   com isso o título fica no meio e a etiqueta na borda. Aqui tudo alinha na mesma margem esquerda,
   dentro de uma coluna de 1180px centralizada. */
.sx-section{ padding-inline:max(clamp(20px,4vw,32px), calc((100% - var(--sx-width)) / 2)); }
.sx-section > *{ margin-left:0; margin-right:0; max-width:none; }
.sx-section > h2, .sx-section > p, .sx-section > ul, .sx-section > ol{ max-width:var(--sx-read); }
.sx-section > .sx-lede{ max-width:62ch; }
.sx-section > .sx-wide, .sx-section > .sx-grid, .sx-section > .sx-cards, .sx-section > .sx-planos,
.sx-section > .sx-breve, .sx-section > .sx-seg, .sx-section > .sx-depo, .sx-section > .sx-premios,
.sx-section > .sx-passos, .sx-section > .sx-numeros, .sx-section > .sx-chips{ max-width:none; }
.sx-section > .sx-chips{ max-width:none; }
.sx-section > .sx-custo{ max-width:46ch; }
.sx-clientes > ul, .sx-clientes > p.sx-rot{ max-width:none; margin-left:auto; margin-right:auto; }
.sx-numeros{ margin-left:0; margin-right:0; }
.sx-top-in{ max-width:var(--sx-width); }
