/* Licitando · site público (dark premium) */
:root{
  --bg:#070A13;--bg2:#0B1020;--sf:rgba(255,255,255,.035);--sf2:rgba(255,255,255,.06);
  --bd:rgba(255,255,255,.08);--bd2:rgba(255,255,255,.14);
  --tx:#F5F7FB;--mt:#8A93A8;--mt2:#5D667B;
  --ac:#34D399;--ac2:#10B981;--acs:rgba(52,211,153,.14);
  --vi:#818CF8;--vis:rgba(129,140,248,.18);
  --r:20px;--rs:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--tx);font-family:Inter,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
.tbl{overflow-x:auto}
a{color:inherit;text-decoration:none}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
.grad{background:linear-gradient(100deg,#fff 10%,#A7F3D0 55%,#818CF8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* nav */
nav.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
nav.top.on{background:rgba(7,10,19,.72);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-color:var(--bd)}
nav.top .w{display:flex;justify-content:space-between;align-items:center;height:72px}
.logo{display:flex;gap:10px;align-items:center;font-weight:800;font-size:19px;letter-spacing:-.02em}
.logo i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-size:15px;color:#04130D;background:linear-gradient(135deg,var(--ac),#A7F3D0)}
.links{display:flex;gap:26px;align-items:center;font-size:14.5px;color:var(--mt)}
.links a:hover{color:var(--tx)}

/* botões */
.bt{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:14.5px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}
.bt:hover{transform:translateY(-1px)}
.bt.p{background:var(--ac);color:#04130D;box-shadow:0 0 0 1px rgba(52,211,153,.4),0 10px 30px -8px rgba(52,211,153,.55)}
.bt.p:hover{background:#6EE7B7}
.bt.g{background:var(--sf);border-color:var(--bd2);color:var(--tx)}
.bt.g:hover{background:var(--sf2)}
.bt.lg{padding:15px 26px;font-size:15.5px}
.bt .ar{transition:transform .2s}.bt:hover .ar{transform:translateX(3px)}

/* hero */
.hero{position:relative;padding:150px 0 40px;text-align:center;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-10% -20% auto;height:820px;z-index:-1;
  background:radial-gradient(600px 380px at 50% 18%,rgba(129,140,248,.30),transparent 70%),radial-gradient(520px 320px at 72% 36%,rgba(52,211,153,.20),transparent 70%),radial-gradient(420px 300px at 25% 40%,rgba(99,102,241,.16),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 60% 50% at 50% 30%,#000 30%,transparent 75%)}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 14px 6px 6px;border-radius:999px;background:var(--sf);border:1px solid var(--bd2);font-size:13px;color:var(--mt)}
.pill b{background:var(--acs);color:var(--ac);padding:3px 9px;border-radius:999px;font-weight:600;font-size:12px}
.hero h1{font-size:clamp(40px,7vw,82px);line-height:1.02;letter-spacing:-.045em;font-weight:800;margin:26px auto 20px;max-width:900px}
.hero p.lead{font-size:clamp(16px,2vw,19px);color:var(--mt);max-width:560px;margin:0 auto;line-height:1.55}
.hero .cta{display:flex;gap:12px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.hero small.note{display:block;margin-top:16px;color:var(--mt2);font-size:13px}

/* mockup */
.stage{perspective:1600px;margin-top:70px}
.mock{position:relative;max-width:1060px;margin:0 auto;border-radius:18px;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.02));
  transform:rotateX(14deg) scale(.96);transform-origin:50% 0;transition:transform .2s linear;box-shadow:0 60px 120px -30px rgba(0,0,0,.8),0 0 120px -20px rgba(129,140,248,.35)}
.mock-in{border-radius:17px;background:#0C1122;overflow:hidden;display:grid;grid-template-columns:190px 1fr;min-height:470px;text-align:left}
.mk-side{border-right:1px solid var(--bd);padding:18px 14px;display:flex;flex-direction:column;gap:6px}
.mk-dots{display:flex;gap:6px;margin-bottom:14px}.mk-dots i{width:10px;height:10px;border-radius:50%;background:#252B3D}
.mk-it{height:30px;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 10px;font-size:12.5px;color:var(--mt)}
.mk-it.on{background:var(--sf2);color:var(--tx)}
.mk-it::before{content:"";width:14px;height:14px;border-radius:4px;background:#252B3D}.mk-it.on::before{background:var(--ac)}
.mk-main{padding:22px;display:flex;flex-direction:column;gap:16px}
.mk-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mk-k{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:14px}
.mk-k span{font-size:11px;color:var(--mt);text-transform:uppercase;letter-spacing:.08em}
.mk-k b{display:block;font-size:24px;letter-spacing:-.03em;margin-top:6px}
.mk-k em{font-style:normal;font-size:11.5px;color:var(--ac)}
.mk-row{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;flex:1}
.mk-card{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:9px}
.mk-card h6{margin:0 0 4px;font-size:12px;color:var(--mt);font-weight:600}
.mk-l{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;font-size:12px;padding:8px;border-radius:9px;background:rgba(255,255,255,.02)}
.mk-l .sc{height:28px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--acs);color:var(--ac)}
.mk-l .sc.v{background:var(--vis);color:var(--vi)}
.mk-l .tt{color:#C9CFDC;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-l .tt small{display:block;color:var(--mt2);font-size:11px}
.mk-l .vl{color:var(--tx);font-weight:600}
.bid{display:flex;flex-direction:column;gap:10px;flex:1;justify-content:center}
.bid .big{font-size:30px;font-weight:800;letter-spacing:-.03em}
.bid .bar{height:8px;border-radius:9px;background:#1A2034;overflow:hidden}.bid .bar i{display:block;height:100%;width:72%;background:linear-gradient(90deg,var(--vi),var(--ac));border-radius:9px;animation:bar 3.2s ease-in-out infinite alternate}
@keyframes bar{from{width:38%}to{width:84%}}
.bid .tag{align-self:flex-start;font-size:11px;padding:4px 9px;border-radius:999px;background:var(--acs);color:var(--ac);font-weight:600}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ac)}.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* marquee */
.marq{padding:70px 0 20px;text-align:center}
.marq p{color:var(--mt2);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 26px}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq-t{display:flex;gap:56px;width:max-content;animation:mq 38s linear infinite}
.mq-t span{font-size:19px;font-weight:700;color:#4B5468;letter-spacing:-.02em;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}

/* seções */
section.s{padding:130px 0}
.eb{display:inline-block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ac);font-weight:600;margin-bottom:16px}
h2.h{font-size:clamp(32px,4.6vw,56px);line-height:1.05;letter-spacing:-.04em;margin:0;font-weight:800;max-width:760px}
.hd{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;flex-wrap:wrap}
.hd p{color:var(--mt);max-width:360px;margin:0;font-size:16px;line-height:1.55}
.ctr{text-align:center}.ctr h2.h{margin:0 auto}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(240px,auto);gap:16px}
.bx{position:relative;overflow:hidden;border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid var(--bd);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;transition:border-color .3s,transform .3s}
.bx:hover{border-color:var(--bd2);transform:translateY(-3px)}
.bx::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 220px at var(--mx,50%) var(--my,0%),rgba(255,255,255,.06),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.bx:hover::before{opacity:1}
.bx h3{margin:0;font-size:22px;letter-spacing:-.025em}
.bx p{margin:8px 0 0;color:var(--mt);font-size:14.5px;line-height:1.5;max-width:340px}
.bx .vis{flex:1;display:flex;align-items:center;justify-content:center;margin-bottom:22px;min-height:120px}
.c4{grid-column:span 4}.c2{grid-column:span 2}.c3{grid-column:span 3}
.ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sf2);border:1px solid var(--bd2);margin-bottom:auto}
.ico svg{width:22px;height:22px;stroke:var(--ac);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* visuais do bento */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:520px}
.chips span{padding:8px 14px;border-radius:999px;background:var(--sf);border:1px solid var(--bd);font-size:13px;color:#C9CFDC}
.chips span.a{background:var(--acs);border-color:rgba(52,211,153,.35);color:var(--ac)}
.ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ac) 0 82%,#1A2034 82% 100%);position:relative}
.ring::after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0D1224}
.ring b{position:relative;z-index:1;font-size:32px;letter-spacing:-.04em}
.ring b small{display:block;font-size:11px;color:var(--mt);font-weight:500;text-align:center;letter-spacing:0}
.ladder{display:flex;align-items:flex-end;gap:10px;height:120px}
.ladder i{width:22px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--vi),rgba(129,140,248,.15))}
.ladder i:last-child{background:linear-gradient(180deg,var(--ac),rgba(52,211,153,.15))}
.doc{width:180px;border-radius:12px;background:var(--sf);border:1px solid var(--bd);padding:14px;display:flex;flex-direction:column;gap:7px}
.doc i{height:7px;border-radius:4px;background:#232A3F}.doc i.hl{background:rgba(250,204,21,.5);width:70%}.doc i.s{width:55%}
.kan{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:300px}
.kan div{display:flex;flex-direction:column;gap:6px}
.kan i{height:26px;border-radius:7px;background:var(--sf2);border:1px solid var(--bd)}
.kan i.a{background:var(--acs);border-color:rgba(52,211,153,.3)}

/* números */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.nums div{padding:46px 24px;border-right:1px solid var(--bd)}.nums div:last-child{border-right:0}
.nums b{display:block;font-size:clamp(36px,4.6vw,58px);font-weight:800;letter-spacing:-.045em}
.nums span{color:var(--mt);font-size:14px}

/* passos */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.st{padding:30px;border-radius:var(--r);border:1px solid var(--bd);background:var(--sf)}
.st em{font-style:normal;font-size:13px;color:var(--mt2);font-weight:600}
.st h3{margin:46px 0 6px;font-size:22px;letter-spacing:-.025em}
.st p{margin:0;color:var(--mt);font-size:14.5px;line-height:1.5}

/* planos */
.planos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.pl{border-radius:var(--r);border:1px solid var(--bd);background:var(--sf);padding:32px;display:flex;flex-direction:column;position:relative}
.pl.rec{background:linear-gradient(180deg,rgba(52,211,153,.10),rgba(129,140,248,.05));border-color:rgba(52,211,153,.4);box-shadow:0 30px 80px -30px rgba(52,211,153,.35)}
.pl .bdg{position:absolute;top:22px;right:22px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--ac);color:#04130D}
.pl h3{margin:0;font-size:18px;color:var(--mt);font-weight:600}
.pl .pr{font-size:50px;font-weight:800;letter-spacing:-.05em;margin:14px 0 0}
.pl .pr small{font-size:15px;color:var(--mt);font-weight:500;letter-spacing:0}
.pl .an{color:var(--mt2);font-size:13px}
.pl ul{list-style:none;padding:0;margin:26px 0 30px;flex:1;display:flex;flex-direction:column;gap:12px}
.pl li{padding-left:28px;position:relative;font-size:14.5px;color:#C9CFDC}
.pl li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--acs) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334D399' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat}
.pl .bt{justify-content:center}
.comp{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:20px}
.comp th,.comp td{padding:16px 12px;border-bottom:1px solid var(--bd);text-align:left}
.comp th{color:var(--mt);font-weight:600;font-size:13px}
.comp td:not(:first-child),.comp th:not(:first-child){text-align:center}
.comp td{color:#C9CFDC}.comp .y{color:var(--ac);font-weight:700}

/* CTA final */
.final{position:relative;border-radius:28px;overflow:hidden;padding:90px 30px;text-align:center;border:1px solid var(--bd2);
  background:radial-gradient(600px 300px at 50% 0%,rgba(52,211,153,.25),transparent 70%),radial-gradient(500px 300px at 50% 100%,rgba(129,140,248,.25),transparent 70%),#0A0F1E}
.final h2{font-size:clamp(32px,5vw,60px);letter-spacing:-.045em;line-height:1.04;margin:0 auto 26px;max-width:760px}

footer{padding:50px 0;color:var(--mt2);font-size:13.5px}
footer .w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--bd);padding-top:30px}
footer a:hover{color:var(--tx)}

/* formulários (login/cadastro) */
.auth{min-height:100vh;display:grid;place-items:center;padding:110px 20px 60px;position:relative;isolation:isolate}
.auth::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(500px 340px at 50% 10%,rgba(129,140,248,.22),transparent 70%),radial-gradient(420px 300px at 60% 60%,rgba(52,211,153,.12),transparent 70%)}
.form{width:100%;max-width:440px;background:rgba(13,18,36,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--bd2);border-radius:24px;padding:36px;box-shadow:0 40px 100px -40px rgba(0,0,0,.8)}
.form.lg{max-width:620px}
.form h1{font-size:30px;letter-spacing:-.035em;margin:0 0 6px}
.form .sub{color:var(--mt);margin:0 0 24px;font-size:14.5px}
.form label{display:block;font-weight:500;font-size:13px;margin:14px 0 6px;color:#C9CFDC}
.form input,.form select{width:100%;padding:13px 14px;border:1px solid var(--bd2);border-radius:12px;font:inherit;font-size:14.5px;background:rgba(255,255,255,.03);color:var(--tx);outline:none;transition:border-color .2s,box-shadow .2s}
.form select option{background:#0D1224}
.form input:focus,.form select:focus{border-color:var(--ac);box-shadow:0 0 0 4px rgba(52,211,153,.12)}
.form .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form .bt{width:100%;justify-content:center;margin-top:24px}
.form .alt{text-align:center;font-size:13.5px;color:var(--mt);margin:20px 0 0}.form .alt a{color:var(--ac);font-weight:600}
.ufs{display:flex;flex-wrap:wrap;gap:6px}
.ufs label{margin:0;cursor:pointer}
.ufs input{position:absolute;opacity:0;width:0;height:0}
.ufs span{display:inline-block;padding:6px 9px;border-radius:8px;border:1px solid var(--bd);font-size:12px;color:var(--mt);transition:all .15s}
.ufs input:checked+span{background:var(--acs);border-color:rgba(52,211,153,.45);color:var(--ac)}
.chk{display:flex!important;gap:10px;align-items:center;font-weight:400!important;color:var(--mt)!important;margin-top:18px!important}
.chk input{width:16px!important;height:16px;accent-color:var(--ac)}
.chk a{color:var(--ac);text-decoration:underline}
.erro{background:rgba(248,113,113,.1);color:#FCA5A5;border:1px solid rgba(248,113,113,.3);padding:11px 13px;border-radius:12px;margin-bottom:8px;font-size:13.5px}
.prosa{max-width:760px}.prosa p{color:#C9CFDC;line-height:1.7}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.mq-t,.bid .bar i{animation:none}.mock{transform:none}}

@media(max-width:960px){
  .bento{grid-template-columns:1fr}.c4,.c2,.c3{grid-column:auto}
  .planos,.steps{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr 1fr}.nums div:nth-child(2){border-right:0}.nums div:nth-child(-n+2){border-bottom:1px solid var(--bd)}
  .mock-in{grid-template-columns:1fr}.mk-side{display:none}.mk-kpis{grid-template-columns:1fr 1fr}.mk-row{grid-template-columns:1fr}
  .links .esc{display:none}.links{gap:14px}.comp{font-size:13px}.comp th,.comp td{padding:12px 6px}
  .hero{padding-top:120px}.mock{transform:none!important}section.s{padding:90px 0}.form .g2{grid-template-columns:1fr}
}
