/* Versão A — pintada e viva.
   Pinceladas e anel da identidade como protagonistas, azuis saturados, verde só como sinal de meta atingida. */
@import url("../assets/fontes/fontes.css");

*{ box-sizing:border-box; }
html{ overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:76px; -webkit-text-size-adjust:100%; }
body{ margin:0; background:#fff; color:var(--cor-tinta); font-family:var(--fonte-texto); font-size:18px; line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img,svg{ display:block; max-width:100%; }
h1,h2,h3{ font-family:var(--fonte-titulo); color:var(--cor-nanquim); margin:0; font-weight:700; text-wrap:balance; }
p{ margin:0 0 1em; } a{ color:inherit; }
:focus-visible{ outline:3px solid var(--cor-vivo); outline-offset:3px; border-radius:4px; }
.skip{ position:absolute; left:-999px; top:8px; z-index:200; background:var(--cor-cobalto); color:#fff; padding:10px 16px; border-radius:8px; } .skip:focus{ left:8px; }
:root{ --gut:clamp(20px,5vw,64px); --grad:linear-gradient(135deg,#163AB8,#3867E7); --ease:cubic-bezier(.2,.7,.1,1); }
.w{ width:100%; max-width:calc(1240px + 2 * var(--gut)); margin-inline:auto; padding-inline:var(--gut); position:relative; z-index:1; }
.bloco{ position:relative; padding-block:clamp(72px,10vw,140px); }

/* progresso de rolagem */
.prog{ position:fixed; left:0; top:0; height:4px; width:100%; transform-origin:left; transform:scaleX(var(--sp,0)); background:linear-gradient(90deg,var(--cor-vivo),var(--cor-verde)); z-index:90; }

/* revelar */
.js [data-rv]{ opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease), transform 1s var(--ease); transition-delay:calc(var(--d,0) * 90ms); }
.js [data-rv].in{ opacity:1; transform:none; }
.js [data-split] .sw{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.12em; margin-bottom:-.12em; }
.js [data-split] .sw > span{ display:inline-block; transform:translateY(112%) rotate(4deg); transition:transform 1s var(--ease); transition-delay:calc(var(--i) * 45ms + 100ms); }
.js [data-split].in .sw > span{ transform:none; }

/* rótulo: gota verde */
.rot{ display:flex; align-items:center; gap:.65em; font-weight:600; font-size:.95rem; color:var(--cor-cobalto); margin:0 0 1rem; }
.rot i{ width:12px; height:12px; border-radius:50% 44% 52% 47%; background:var(--cor-verde); animation:gota 3.2s ease-in-out infinite; }
@keyframes gota{ 50%{ border-radius:44% 52% 47% 50%; transform:scale(1.25); } }
h2{ font-size:clamp(32px,4.6vw,62px); line-height:1.02; letter-spacing:-.035em; max-width:18ch; }
.lede{ font-size:1.15rem; color:var(--cor-grafite); max-width:56ch; margin-top:1.4rem; }

/* botões */
.bt{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:.5em; font-family:var(--fonte-titulo); font-weight:600; font-size:1.02rem; padding:.9em 1.55em; border-radius:999px; background:var(--grad); color:#fff; text-decoration:none; border:0; box-shadow:0 10px 28px -10px rgba(22,58,184,.7); transition:transform .3s var(--ease), box-shadow .3s; }
.bt::after{ content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%); transform:translateX(-120%); transition:transform .8s var(--ease); }
.bt:hover{ transform:translateY(-3px); box-shadow:0 16px 34px -10px rgba(22,58,184,.8); } .bt:hover::after{ transform:translateX(120%); }
.bt-vazado{ background:#fff; color:var(--cor-nanquim); box-shadow:inset 0 0 0 2px var(--cor-nanquim); }
.bt-b{ background:#fff; color:var(--cor-nanquim); box-shadow:0 10px 28px -10px rgba(0,0,0,.5); }
.bt-vazado-b{ background:transparent; color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.75); }
.acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:2rem; }

/* topo */
.topo{ position:sticky; top:0; z-index:80; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--cor-linha); }
.topo-in{ display:flex; align-items:center; gap:24px; padding-block:12px; }
.logo{ height:36px; width:auto; }
.menu{ display:flex; gap:2px; margin-left:auto; }
.menu a{ padding:8px 11px; border-radius:999px; font-weight:500; font-size:.95rem; color:var(--cor-grafite); text-decoration:none; white-space:nowrap; transition:background .2s,color .2s; }
.menu a:hover{ background:var(--cor-nevoa); color:var(--cor-cobalto); }
.topo-cta{ display:flex; align-items:center; gap:6px; } .topo-cta .bt{ padding:.6em 1.15em; font-size:.95rem; }
.entrar{ padding:8px 12px; color:var(--cor-grafite); font-weight:500; font-size:.95rem; text-decoration:none; }
.hamb{ display:none; margin-left:auto; width:44px; height:44px; border:1px solid var(--cor-linha); border-radius:50%; background:#fff; position:relative; cursor:pointer; }
.hamb i{ position:absolute; left:12px; right:12px; height:2px; background:var(--cor-nanquim); transition:transform .25s; } .hamb i:nth-child(1){ top:16px } .hamb i:nth-child(2){ top:26px }
.hamb[aria-expanded="true"] i:nth-child(1){ transform:translateY(5px) rotate(45deg) } .hamb[aria-expanded="true"] i:nth-child(2){ transform:translateY(-5px) rotate(-45deg) }
.gaveta{ display:none; }
@media (max-width:1100px){
  .menu,.topo-cta{ display:none; } .hamb{ display:block; }
  .gaveta.aberta{ display:grid; padding:6px var(--gut) 22px; background:#fff; border-top:1px solid var(--cor-linha); }
  .gaveta a{ padding:13px 2px; font-family:var(--fonte-titulo); font-weight:600; font-size:1.15rem; color:var(--cor-nanquim); text-decoration:none; border-bottom:1px solid var(--cor-linha); }
  .gaveta a.bt{ margin-top:16px; justify-content:center; color:#fff; border:0; }
}

/* ---------- topo da página ---------- */
.hero{ position:relative; overflow:hidden; padding:clamp(40px,6vw,88px) 0 clamp(110px,12vw,180px); background:radial-gradient(55% 60% at 88% 8%,#D6E0FF,transparent 70%),linear-gradient(180deg,#F2F5FF,#fff 80%); }
.h-anel{ position:absolute; right:-14%; top:-22%; width:min(64vw,860px); animation:gira 90s linear infinite; z-index:0; opacity:.95; }
.h-aguada{ position:absolute; left:-18%; bottom:-30%; width:62vw; opacity:.75; transform:translateY(var(--py,0)); z-index:0; }
.h-resp{ position:absolute; z-index:0; transform:translateY(var(--py,0)); }
.h-resp.r1{ left:47%; top:9%; width:64px; }
@keyframes gira{ to{ transform:rotate(360deg); } }
.hero-g{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,5vw,80px); align-items:center; }
.hero h1{ font-size:clamp(40px,6.3vw,90px); line-height:.97; letter-spacing:-.045em; max-width:12ch; }
.hero .sub{ margin-top:1.6rem; max-width:54ch; font-size:clamp(1.05rem,1.4vw,1.22rem); color:var(--cor-grafite); }
.ok{ display:flex; flex-wrap:wrap; gap:6px 22px; list-style:none; margin:1.5rem 0 0; padding:0; font-size:.93rem; color:var(--cor-grafite); }
.ok li{ display:flex; align-items:center; gap:8px; } .ok li::before{ content:""; width:15px; height:15px; border-radius:50%; background:var(--cor-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; }
@media (max-width:980px){ .hero-g{ grid-template-columns:1fr; } .h-anel{ opacity:.5; } }

.vis{ position:relative; }
.painel{ position:relative; background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(2,27,100,.55), 0 0 0 1px rgba(22,58,184,.08); transform:perspective(1300px) rotateY(calc(-7deg + var(--ry,0deg))) rotateX(calc(4deg + var(--rx,0deg))); transition:transform .25s var(--ease); }
.p-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 20px; background:var(--grad); color:#fff; font-size:.9rem; }
.p-top b{ font-weight:600; } .ao-vivo{ display:flex; align-items:center; gap:7px; font-size:.78rem; font-weight:600; }
.ao-vivo i{ width:8px; height:8px; border-radius:50%; background:#7DC383; box-shadow:0 0 0 0 rgba(125,195,131,.8); animation:pulso 1.8s infinite; }
@keyframes pulso{ 70%{ box-shadow:0 0 0 10px rgba(125,195,131,0); } 100%{ box-shadow:0 0 0 0 rgba(125,195,131,0); } }
.p-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--cor-linha); }
.p-kpis > div{ background:#fff; padding:14px 18px; }
.p-kpis small,.gl small{ display:block; color:var(--cor-grafite); font-size:.8rem; }
.p-kpis strong,.gl strong{ display:block; font-family:var(--fonte-titulo); font-size:2rem; letter-spacing:-.03em; color:var(--cor-nanquim); line-height:1.15; font-variant-numeric:tabular-nums; }
.bar{ display:block; height:8px; background:var(--cor-nevoa); border-radius:99px; overflow:hidden; margin-top:6px; }
.bar i{ display:block; height:100%; width:var(--w); background:var(--cor-verde); border-radius:99px; transform-origin:left; transform:scaleX(0); transition:transform 1.5s var(--ease) .7s; }
.bar.b2 i{ background:var(--cor-cobalto); } .vis.in .bar i{ transform:none; }
.tg{ display:inline-block; font-size:.78rem; font-weight:600; padding:.1em .7em; border-radius:99px; }
.tg.at{ background:var(--cor-atencao-fundo); color:var(--cor-atencao); border:1px solid var(--cor-atencao-borda); }
.p-graf{ position:relative; padding:14px 18px 0; display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:end; }
.gl em{ font-style:normal; font-weight:600; color:var(--cor-verde); font-size:.85rem; }
.p-graf svg{ width:100%; height:110px; overflow:visible; }
.ln{ stroke-dasharray:480; stroke-dashoffset:480; transition:stroke-dashoffset 2.4s var(--ease) .8s; } .vis.in .ln{ stroke-dashoffset:0; }
.ar{ opacity:0; transition:opacity 1.4s ease 2s; } .vis.in .ar{ opacity:1; }
.chip-f{ position:absolute; display:flex; align-items:center; gap:10px; padding:10px 14px; background:#fff; border-radius:14px; box-shadow:0 20px 40px -14px rgba(2,27,100,.45); font-size:.85rem; white-space:nowrap; z-index:3; animation:bob 6s ease-in-out infinite; }
.chip-f b{ display:block; color:var(--cor-nanquim); font-family:var(--fonte-titulo); } .chip-f small{ color:var(--cor-grafite); font-size:.75rem; }
.chip-f .ic{ width:34px; height:34px; border-radius:10px; background:var(--cor-verde); color:#fff; display:grid; place-items:center; } .chip-f .ic svg{ width:18px; height:18px; } .chip-f .ic.v{ background:var(--cor-vivo); }
.c1{ left:-6%; top:46%; } .c2{ right:-4%; bottom:-26px; animation-delay:-3s; }
@keyframes bob{ 50%{ translate:0 -12px; } }
.ilus{ font-family:var(--fonte-dado); font-size:.72rem; color:var(--cor-grafite); margin:1.6rem 0 0; text-align:right; }
@media (max-width:560px){ .chip-f{ display:none; } .p-kpis strong{ font-size:1.6rem; } .p-graf{ grid-template-columns:1fr; } }

/* ---------- faixa de números ---------- */
.faixa{ position:relative; background:linear-gradient(120deg,#021B64 0%,#163AB8 55%,#3867E7 100%); color:#fff; padding-block:clamp(48px,6vw,80px); margin-top:-60px; }
.faixa::before{ content:""; position:absolute; left:-4%; right:-4%; top:-64px; height:130px; background:url("../assets/pinceladas/pincelada-multitom.png") center/100% 100% no-repeat; animation:pincela 1.8s var(--ease) .5s both; z-index:2; pointer-events:none; }
@keyframes pincela{ from{ clip-path:inset(0 100% 0 0); } to{ clip-path:inset(0); } }
.faixa-g{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding-top:30px; }
.faixa strong{ display:block; font-family:var(--fonte-titulo); font-size:clamp(34px,4.6vw,64px); letter-spacing:-.04em; line-height:1; color:#fff; font-variant-numeric:tabular-nums; }
.faixa strong.txt{ font-size:clamp(24px,2.7vw,38px); line-height:1.05; padding-top:.2em; }
.faixa p{ margin:.5rem 0 0; color:rgba(255,255,255,.82); font-size:.95rem; }
@media (max-width:820px){ .faixa-g{ grid-template-columns:1fr 1fr; } }

/* ---------- obrigações ---------- */
.obr-g{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px,6vw,90px); align-items:center; }
.pills{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:2rem 0 0; padding:0; }
.pills li{ padding:.5em 1.1em; border-radius:999px; font-weight:600; font-size:.95rem; background:var(--cor-nevoa); color:var(--cor-nanquim); transition:transform .25s var(--ease), background .25s, color .25s; }
.pills li:nth-child(3n+1){ background:var(--cor-cobalto); color:#fff; } .pills li:nth-child(3n+2){ background:var(--cor-aguada); }
.pills li:hover{ transform:translateY(-4px) rotate(-2deg); }
.obr-fig{ margin:0; text-align:center; }
.obr-fig img{ width:100%; clip-path:inset(100% 0 0 0); transition:clip-path 1.6s var(--ease) .2s; }
.obr-fig.in img{ clip-path:inset(0); }
.obr-fig figcaption{ font-family:var(--fonte-dado); font-size:.75rem; color:var(--cor-grafite); margin-top:10px; }
.custo{ margin:clamp(40px,6vw,80px) 0 0; font-family:var(--fonte-titulo); font-weight:600; font-size:clamp(1.5rem,3.2vw,2.8rem); line-height:1.12; letter-spacing:-.03em; max-width:24ch; color:var(--cor-nanquim); }
.custo mark{ background:linear-gradient(transparent 58%,var(--cor-aguada) 58%); color:inherit; padding:0 .1em; }
@media (max-width:900px){ .obr-g{ grid-template-columns:1fr; } .obr-fig{ max-width:480px; } }

/* ---------- plataforma ---------- */
.plat{ background:linear-gradient(180deg,#fff,#F2F5FF); }
.bento{ display:grid; grid-template-columns:repeat(12,1fr); gap:18px; margin-top:clamp(32px,5vw,60px); }
.cx{ position:relative; overflow:hidden; border-radius:26px; padding:clamp(24px,3vw,38px); transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .25s var(--ease), opacity .9s var(--ease); }
.js .cx[data-rv]{ transition:opacity .9s var(--ease), translate .9s var(--ease), transform .25s var(--ease); }
.cx h3{ font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.1; letter-spacing:-.025em; margin:1rem 0 .6rem; color:inherit; } .cx p{ margin:0 0 1rem; max-width:48ch; }
.cx .ico{ width:54px; height:54px; padding:11px; border-radius:16px; background:rgba(255,255,255,.18); }
.mod{ font-size:.9rem; font-weight:600; opacity:.85; margin:1rem 0 0 !important; }
.cx-1{ grid-column:span 7; background:var(--grad); color:#fff; } .cx-1 h3{ color:#fff; }
.cx-2{ grid-column:span 5; background:#fff; border:1.5px solid var(--cor-linha); color:var(--cor-tinta); box-shadow:0 24px 50px -30px rgba(2,27,100,.4); } .cx-2 .ico{ background:var(--cor-nevoa); color:var(--cor-cobalto); }
.cx-3{ grid-column:span 5; background:#DFF0E1; color:#14461A; } .cx-3 h3{ color:#0E3513; } .cx-3 .ico{ background:var(--cor-verde); color:#fff; }
.cx-4{ grid-column:span 7; background:var(--cor-nanquim); color:#fff; } .cx-4 h3{ color:#fff; } .cx-4 .ico{ background:var(--cor-vivo); }
@media (max-width:900px){ .cx-1,.cx-2,.cx-3,.cx-4{ grid-column:span 12; } }
.f-mini{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.92rem; margin-top:1rem; } .f-mini span{ padding:7px 11px; border-radius:10px; background:rgba(255,255,255,.16); } .f-mini .res{ background:#fff; color:var(--cor-cobalto); font-family:var(--fonte-dado); font-weight:500; } .f-mini b{ opacity:.8; }
.b-mini{ display:flex; align-items:flex-end; gap:7px; height:110px; margin-top:16px; } .b-mini i{ flex:1; height:var(--h); background:rgba(255,255,255,.55); border-radius:5px 5px 0 0; transform-origin:bottom; transform:scaleY(0); transition:transform 1.2s var(--ease); } .b-mini i:nth-child(n){ transition-delay:calc(var(--n,0) * 70ms); }
.cx.in .b-mini i{ transform:none; } .b-mini i.m{ background:#7DC383; }
.b-mini i:nth-child(2){ --n:1 } .b-mini i:nth-child(3){ --n:2 } .b-mini i:nth-child(4){ --n:3 } .b-mini i:nth-child(5){ --n:4 } .b-mini i:nth-child(6){ --n:5 } .b-mini i:nth-child(7){ --n:6 } .b-mini i:nth-child(8){ --n:7 } .b-mini i:nth-child(9){ --n:8 } .b-mini i:nth-child(10){ --n:9 } .b-mini i:nth-child(11){ --n:10 }
.kb{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; font-size:.8rem; } .kb b{ display:block; font-size:.72rem; color:var(--cor-grafite); margin-bottom:6px; } .kb span{ display:block; padding:9px 10px; border-radius:10px; background:var(--cor-papel); border:1px solid var(--cor-linha); margin-bottom:6px; line-height:1.3; } .kb .f{ background:var(--cor-sucesso-fundo); border-color:var(--cor-verde); }
.kb .mv{ background:var(--cor-nevoa); border-color:var(--cor-vivo); animation:move 7s var(--ease) infinite; } @keyframes move{ 0%,20%{ translate:0 } 40%,70%{ translate:calc(100% + 8px) 0 } 90%,100%{ translate:0 } }
.docs{ position:relative; height:150px; margin-top:1rem; } .docs i{ position:absolute; left:50%; bottom:0; width:60%; height:130px; border-radius:12px; background:#fff; box-shadow:0 12px 28px -12px rgba(14,53,19,.5); transform-origin:bottom; transition:transform .7s var(--ease); }
.docs i:nth-child(1){ transform:translateX(-50%) rotate(-9deg) translateX(-26px); } .docs i:nth-child(2){ transform:translateX(-50%) rotate(6deg) translateX(22px); } .docs i:nth-child(3){ transform:translateX(-50%); }
.cx-3:hover .docs i:nth-child(1){ transform:translateX(-50%) rotate(-15deg) translateX(-70px) translateY(-6px); } .cx-3:hover .docs i:nth-child(2){ transform:translateX(-50%) rotate(12deg) translateX(66px) translateY(-6px); } .cx-3:hover .docs i:nth-child(3){ transform:translateX(-50%) translateY(-12px); }
.docs u{ position:absolute; right:12px; bottom:12px; text-decoration:none; font-size:.72rem; font-weight:700; background:var(--cor-verde); color:#fff; padding:4px 9px; border-radius:6px; }
.sup{ display:grid; gap:12px; font-size:.92rem; margin-top:1rem; } .sup div{ display:grid; grid-template-columns:110px 1fr 34px; gap:14px; align-items:center; } .sup i{ display:block; height:10px; width:var(--w); border-radius:99px; background:linear-gradient(90deg,var(--cor-vivo),#7DC383); transform-origin:left; transform:scaleX(0); transition:transform 1.3s var(--ease) .3s; } .cx.in .sup i{ transform:none; } .sup b{ font-family:var(--fonte-dado); font-weight:500; text-align:right; }

/* ---------- consultorias ---------- */
.cons{ background:linear-gradient(135deg,#021B64,#163AB8 70%,#3867E7); color:#fff; overflow:hidden; }
.cons h2,.cons .rot{ color:#fff; } .cons .rot{ color:#B7C9F5; } .cons .rot i{ background:#7DC383; } .cons .lede{ color:rgba(255,255,255,.85); }
.c-anel{ position:absolute; left:-14%; bottom:-30%; width:min(55vw,700px); opacity:.5; transform:translateY(var(--py,0)) rotate(calc(var(--sp,0) * 260deg)); }
.cons-g{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(32px,6vw,90px); align-items:center; }
.cons-l{ list-style:none; margin:2rem 0 1rem; padding:0; display:grid; gap:16px; } .cons-l li{ padding-left:22px; position:relative; color:rgba(255,255,255,.85); } .cons-l li::before{ content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; border-radius:50% 44% 52% 47%; background:#7DC383; } .cons-l b{ color:#fff; }
.peq{ font-size:.92rem; color:rgba(255,255,255,.7); margin:0 0 1.4rem; }
.laudo{ position:relative; display:grid; grid-template-columns:1fr 70px 1.1fr; align-items:center; gap:0; }
.l-doc,.l-reg{ background:#fff; color:var(--cor-tinta); border-radius:16px; padding:20px; box-shadow:0 30px 60px -24px rgba(0,0,0,.6); }
.l-doc{ transform:rotate(-4deg); } .l-doc b,.l-reg b{ display:block; font-family:var(--fonte-titulo); color:var(--cor-nanquim); margin-bottom:10px; }
.l-doc i{ display:block; height:7px; border-radius:4px; background:var(--cor-linha); margin-bottom:8px; } .l-doc i:nth-of-type(2){ width:80%; } .l-doc i:nth-of-type(3){ width:60%; }
.l-doc span{ display:block; margin-top:10px; padding:8px 10px; background:#FFF6D6; border-radius:8px; font-size:.82rem; line-height:1.35; }
.l-seta{ width:70px; filter:brightness(0) invert(1); clip-path:inset(0 100% 0 0); transition:clip-path 1s var(--ease) .5s; } .laudo.in .l-seta{ clip-path:inset(0); }
.l-reg{ position:relative; display:grid; gap:6px; font-size:.88rem; transform:rotate(2deg); } .l-reg em{ font-style:normal; color:var(--cor-grafite); margin-right:6px; }
.l-reg u{ position:absolute; right:-12px; top:-16px; text-decoration:none; background:var(--cor-verde); color:#fff; font-family:var(--fonte-titulo); font-weight:700; padding:7px 14px; border-radius:8px; transform:rotate(8deg) scale(0); transition:transform .5s cubic-bezier(.3,1.8,.5,1) 1.4s; } .laudo.in .l-reg u{ transform:rotate(8deg) scale(1); }
@media (max-width:900px){ .cons-g{ grid-template-columns:1fr; } .laudo{ grid-template-columns:1fr; gap:14px; } .l-seta{ transform:rotate(90deg); margin-inline:auto; } }

/* ---------- como funciona ---------- */
.passos{ position:relative; list-style:none; margin:clamp(36px,5vw,64px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.passos::before{ content:""; position:absolute; left:28px; right:28px; top:28px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--cor-vivo),var(--cor-verde)); transform-origin:left; transform:scaleX(0); transition:transform 2s var(--ease); }
.passos.in::before{ transform:none; }
.passos li{ position:relative; padding-top:76px; }
.passos .n{ position:absolute; left:0; top:0; width:58px; height:58px; border-radius:50%; background:var(--grad); color:#fff; font-family:var(--fonte-titulo); font-weight:700; font-size:1.6rem; display:grid; place-items:center; box-shadow:0 0 0 8px #fff, 0 12px 26px -8px rgba(22,58,184,.7); }
.passos h3{ font-size:1.5rem; letter-spacing:-.02em; margin-bottom:.5rem; } .passos p{ color:var(--cor-grafite); } .passos small{ display:block; margin-top:.8rem; font-weight:600; color:var(--cor-cobalto); font-size:.85rem; }
@media (max-width:820px){ .passos{ grid-template-columns:1fr; } .passos::before{ display:none; } }

/* ---------- metodologias ---------- */
.met{ background:var(--cor-papel); padding-block:clamp(64px,8vw,110px); overflow:hidden; }
.met h2{ text-align:center; margin:0 auto 40px; padding-inline:var(--gut); max-width:20ch; font-size:clamp(30px,4.2vw,56px); }
.mq{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); } .mq + .mq{ margin-top:14px; }
.trk{ display:flex; gap:14px; width:max-content; animation:corre 45s linear infinite; } .trk.rev{ animation-direction:reverse; animation-duration:55s; } .mq:hover .trk{ animation-play-state:paused; }
@keyframes corre{ to{ transform:translateX(-50%); } }
.m{ white-space:nowrap; font-family:var(--fonte-titulo); font-weight:600; font-size:clamp(20px,2.2vw,30px); padding:.55em 1.3em; border-radius:999px; letter-spacing:-.02em; }
.m1{ background:var(--cor-cobalto); color:#fff; } .m2{ background:var(--cor-verde); color:#fff; } .m3{ background:var(--cor-aguada); color:var(--cor-nanquim); } .m4{ background:var(--cor-nanquim); color:#fff; }

/* ---------- GEE ---------- */
.gee{ background:linear-gradient(180deg,#fff,#EEF2FF); }
.gee-g{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(32px,6vw,90px); align-items:center; }
.fluxo{ list-style:none; counter-reset:f; padding:0; margin:2rem 0 0; } .fluxo li{ counter-increment:f; position:relative; padding:15px 0 15px 54px; border-top:1px solid var(--cor-linha); color:var(--cor-grafite); } .fluxo li:last-child{ border-bottom:1px solid var(--cor-linha); }
.fluxo li::before{ content:counter(f); position:absolute; left:0; top:13px; width:36px; height:36px; border-radius:50%; background:var(--cor-verde); color:#fff; font-family:var(--fonte-titulo); font-weight:700; display:grid; place-items:center; } .fluxo b{ display:block; color:var(--cor-nanquim); font-family:var(--fonte-titulo); font-size:1.1rem; }
.donut{ position:relative; max-width:480px; margin-inline:auto; width:100%; }
.donut svg{ width:100%; height:auto; }
.donut circle[class]{ stroke-dasharray:0 553; transition:stroke-dasharray 1.8s var(--ease); }
.donut.in .a3{ stroke-dasharray:331.7 553; transition-delay:.2s; } .donut.in .a1{ stroke-dasharray:138.2 553; transition-delay:.9s; } .donut.in .a2{ stroke-dasharray:82.9 553; transition-delay:1.3s; }
.d-c{ position:absolute; left:0; right:0; top:0; aspect-ratio:1; display:grid; place-content:center; text-align:center; }
.d-c strong{ font-family:var(--fonte-titulo); font-size:clamp(2.4rem,6vw,3.8rem); letter-spacing:-.04em; color:var(--cor-nanquim); line-height:1; font-variant-numeric:tabular-nums; } .d-c small{ color:var(--cor-grafite); font-size:.85rem; }
.leg{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; list-style:none; padding:0; margin:1.4rem 0 0; font-size:.92rem; } .leg li{ display:flex; align-items:center; gap:8px; } .leg i{ width:12px; height:12px; border-radius:50%; }
@media (max-width:900px){ .gee-g{ grid-template-columns:1fr; } }

/* ---------- IA ---------- */
.ia-g{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:clamp(32px,5vw,56px); }
.ia-c{ border-radius:26px; padding:clamp(24px,3vw,38px); min-height:420px; display:flex; flex-direction:column; }
.ia-c:nth-child(1){ background:var(--grad); color:#fff; } .ia-c:nth-child(1) h3{ color:#fff; } .ia-c:nth-child(2){ background:#F2F5FF; border:1.5px solid #D6E0FF; }
.ia-c h3{ font-size:1.7rem; letter-spacing:-.025em; margin-bottom:.6rem; } .ia-c p{ max-width:42ch; }
.chat{ margin-top:auto; display:grid; gap:10px; font-size:.95rem; } .chat div{ padding:12px 15px; border-radius:16px; opacity:0; transform:translateY(14px); transition:all .7s var(--ease); } .chat .q{ justify-self:end; max-width:86%; background:rgba(255,255,255,.2); border-bottom-right-radius:4px; transition-delay:.4s; } .chat .r{ background:#fff; color:var(--cor-tinta); border-bottom-left-radius:4px; transition-delay:1.3s; } .chat b{ color:var(--cor-cobalto); }
.ia-c.in .chat div{ opacity:1; transform:none; }
.scan{ position:relative; margin-top:auto; padding:20px; border-radius:16px; background:#fff; box-shadow:0 12px 30px -16px rgba(2,27,100,.4); overflow:hidden; } .scan i{ display:block; height:8px; border-radius:4px; background:var(--cor-linha); margin-bottom:10px; } .scan i.hl{ background:var(--cor-aguada); }
.scan::after{ content:""; position:absolute; left:0; right:0; top:-50px; height:50px; background:linear-gradient(transparent,rgba(56,103,231,.35)); border-bottom:2px solid var(--cor-vivo); animation:scan 3s var(--ease) infinite; } @keyframes scan{ to{ top:100%; } }
.extr{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; } .extr span{ font-family:var(--fonte-dado); font-size:.78rem; padding:5px 10px; border-radius:7px; background:var(--cor-cobalto); color:#fff; }
@media (max-width:860px){ .ia-g{ grid-template-columns:1fr; } .ia-c{ min-height:auto; } }

/* ---------- planos ---------- */
.planos{ background:var(--cor-papel); }
.pl-g{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:clamp(36px,5vw,64px); align-items:stretch; }
.pl{ position:relative; display:flex; flex-direction:column; background:#fff; border:1.5px solid var(--cor-linha); border-radius:26px; padding:clamp(24px,3vw,36px); transition:transform .35s var(--ease), box-shadow .35s; }
.pl:hover{ transform:translateY(-8px); box-shadow:0 30px 60px -30px rgba(2,27,100,.45); }
.pl h3{ font-size:1.5rem; } .pl-preco{ font-family:var(--fonte-titulo); font-weight:700; font-size:2.6rem; letter-spacing:-.04em; color:var(--cor-nanquim); margin:.4rem 0 .3rem; line-height:1.05; } .pl-preco small{ font-size:1rem; font-weight:600; color:var(--cor-grafite); letter-spacing:0; }
.pl-ideal{ color:var(--cor-grafite); font-size:.95rem; } .pl ul{ list-style:none; padding:0; margin:1rem 0 1.6rem; display:grid; gap:10px; font-size:.97rem; }
.pl li{ position:relative; padding-left:28px; } .pl li::before{ content:""; position:absolute; left:0; top:.3em; width:18px; height:18px; border-radius:50%; background:var(--cor-cobalto) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; } .pl li em{ font-style:normal; font-size:.82rem; opacity:.75; }
.pl .bt{ margin-top:auto; justify-content:center; }
.pl-dest{ background:var(--grad); color:#fff; border:0; transform:translateY(-12px); box-shadow:0 40px 70px -30px rgba(22,58,184,.8); } .pl-dest:hover{ transform:translateY(-20px); } .pl-dest h3,.pl-dest .pl-preco{ color:#fff; } .pl-dest .pl-preco small,.pl-dest .pl-ideal{ color:rgba(255,255,255,.85); }
.pl-dest li::before{ background-color:#7DC383; } .pl-dest .bt{ background:#fff; color:var(--cor-nanquim); box-shadow:none; }
.pl-tag{ position:absolute; top:-14px; left:28px; background:var(--cor-verde); color:#fff; font-size:.78rem; font-weight:700; padding:5px 13px; border-radius:99px; }
@media (max-width:980px){ .pl-g{ grid-template-columns:1fr; } .pl-dest{ transform:none; } }

/* ---------- em breve / segurança ---------- */
.br-g{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:clamp(32px,5vw,56px); }
.br{ border:2px dashed var(--cor-aguada); border-radius:22px; padding:24px; transition:transform .35s var(--ease), border-color .3s, background .3s; } .br:hover{ transform:translateY(-6px) rotate(-1deg); border-style:solid; border-color:var(--cor-vivo); background:var(--cor-nevoa); }
.br-tag{ display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:700; color:var(--cor-cobalto); background:var(--cor-nevoa); padding:4px 11px; border-radius:99px; margin-bottom:1rem; } .br-tag::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--cor-vivo); animation:pulso 1.8s infinite; }
.br h3{ font-size:1.25rem; letter-spacing:-.02em; margin-bottom:.4rem; } .br p{ margin:0; color:var(--cor-grafite); font-size:.95rem; }
@media (max-width:980px){ .br-g{ grid-template-columns:1fr 1fr; } } @media (max-width:560px){ .br-g{ grid-template-columns:1fr; } }
.seg{ background:linear-gradient(180deg,#fff,#F2F5FF); }
.sg-g{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:clamp(32px,5vw,56px); }
.sg{ border-radius:20px; padding:24px 26px; background:#fff; border:1.5px solid var(--cor-linha); border-top:5px solid var(--cor-cobalto); } .sg:nth-child(3n+2){ border-top-color:var(--cor-verde); } .sg:nth-child(3n){ border-top-color:var(--cor-vivo); }
.sg h3{ font-size:1.2rem; margin-bottom:.3rem; letter-spacing:-.015em; } .sg p{ margin:0; color:var(--cor-grafite); font-size:.97rem; }
@media (max-width:860px){ .sg-g{ grid-template-columns:1fr; } }

/* ---------- depoimentos ---------- */
.depo{ background:linear-gradient(135deg,#163AB8,#3867E7); color:#fff; overflow:hidden; } .depo h2,.depo .rot{ color:#fff; } .depo .rot{ color:#C9D8FA; }
.dp-g2{ display:grid; grid-template-columns:1.25fr 1fr; gap:20px; margin-top:clamp(32px,5vw,56px); align-items:start; }
.dp{ margin:0; background:#fff; color:var(--cor-tinta); border-radius:26px; padding:clamp(26px,3.4vw,44px); position:relative; } .dp::before{ content:"“"; position:absolute; right:24px; top:6px; font-family:var(--fonte-titulo); font-size:6rem; line-height:1; color:var(--cor-aguada); }
.dp p{ font-family:var(--fonte-titulo); font-weight:600; letter-spacing:-.01em; color:var(--cor-nanquim); } .dp-g p{ font-size:clamp(1.1rem,1.8vw,1.45rem); line-height:1.4; } .dp-p p{ font-size:1.1rem; line-height:1.45; }
.dp cite{ display:block; font-style:normal; color:var(--cor-grafite); font-size:.95rem; margin-top:1.2rem; } .dp cite b{ color:var(--cor-nanquim); }
.pr{ list-style:none; padding:0; margin:clamp(32px,4vw,52px) 0 0; display:flex; flex-wrap:wrap; gap:12px; } .pr li{ background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); border-radius:99px; padding:.55em 1.2em; } .pr b{ font-family:var(--fonte-titulo); margin-right:.5em; } .pr span{ opacity:.85; font-size:.92rem; }
@media (max-width:900px){ .dp-g2{ grid-template-columns:1fr; } }

/* ---------- FAQ ---------- */
.faq-g{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,90px); align-items:start; }
.faq-g a{ color:var(--cor-cobalto); }
.fq{ border-bottom:1.5px solid var(--cor-linha); } .fq:first-child{ border-top:1.5px solid var(--cor-linha); }
.fq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; font-family:var(--fonte-titulo); font-weight:600; font-size:1.18rem; color:var(--cor-nanquim); transition:color .2s; } .fq summary:hover{ color:var(--cor-cobalto); }
.fq summary::-webkit-details-marker{ display:none; } .fq summary::after{ content:"+"; flex:none; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--cor-nevoa); color:var(--cor-cobalto); font-size:1.4rem; font-family:var(--fonte-texto); transition:transform .4s var(--ease), background .3s; }
.fq[open] summary::after{ transform:rotate(135deg); background:var(--cor-cobalto); color:#fff; } .fq p{ color:var(--cor-grafite); padding-bottom:20px; margin:0; max-width:62ch; }
@media (max-width:900px){ .faq-g{ grid-template-columns:1fr; } }

/* ---------- final ---------- */
.final{ position:relative; overflow:hidden; background:linear-gradient(135deg,#021B64,#163AB8); color:#fff; padding-block:clamp(80px,11vw,150px); }
.final h2{ color:#fff; font-size:clamp(38px,6.6vw,96px); line-height:.98; letter-spacing:-.045em; max-width:13ch; } .final .rot{ color:#B7C9F5; } .final .rot i{ background:#7DC383; }
.final .sub{ color:rgba(255,255,255,.86); font-size:1.2rem; max-width:44ch; margin-top:1.6rem; }
.f-anel{ position:absolute; right:-10%; top:50%; width:min(58vw,780px); translate:0 -50%; animation:gira 70s linear infinite; opacity:.95; }
.f-resp{ position:absolute; left:48%; bottom:12%; width:70px; transform:translateY(var(--py,0)); }
@media (max-width:760px){ .f-anel{ opacity:.35; } }

/* ---------- rodapé ---------- */
.rod{ padding:clamp(40px,6vw,64px) var(--gut) 26px; color:var(--cor-grafite); font-size:.97rem; }
.rod-in{ max-width:1240px; margin:0 auto; } .rod-top{ display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:32px; }
.rod-logo{ height:36px; width:auto; margin-bottom:14px; } .rod p{ max-width:32ch; } .rod h4{ margin:0 0 .8rem; font-family:var(--fonte-titulo); color:var(--cor-nanquim); font-size:1rem; }
.rod ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; } .rod a{ text-decoration:none; } .rod a:hover{ color:var(--cor-cobalto); text-decoration:underline; }
.rod-fim{ margin-top:34px; padding-top:20px; border-top:1px solid var(--cor-linha); font-size:.88rem; }
@media (max-width:860px){ .rod-top{ grid-template-columns:1fr 1fr; } } @media (max-width:560px){ .rod-top{ grid-template-columns:1fr; } }
.zap{ position:fixed; right:18px; bottom:18px; z-index:70; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--grad); color:#fff; box-shadow:0 14px 34px -10px rgba(22,58,184,.8); transition:transform .3s var(--ease); } .zap:hover{ transform:scale(1.1) rotate(-8deg); } .zap svg{ width:26px; height:26px; }

@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } .js [data-rv],.js [data-split] .sw > span{ opacity:1 !important; transform:none !important; } .bar i,.b-mini i,.sup i{ transform:none !important; } .ln{ stroke-dashoffset:0 !important; } .ar{ opacity:1 !important; } .obr-fig img{ clip-path:none !important; } .donut circle[class]{ transition:none !important; } .chat div{ opacity:1 !important; transform:none !important; } .l-seta{ clip-path:none !important; } .l-reg u{ transform:rotate(8deg) !important; } .passos::before{ transform:none !important; } }
