:root {
  --bg:     #04091a;
  --bg2:    #070f24;
  --bg3:    #0a1530;
  --border: rgba(255,255,255,0.07);
  --blue:   #1a6cf7;
  --blue2:  #4a90ff;
  --cyan:   #00d4ff;
  --violet: #7c5cfc;
  --vlight: #a688ff;
  --white:  #ffffff;
  --g100:   #eef3ff;
  --g200:   #c5d4f0;
  --g400:   #7a90b8;
  --g600:   #3a4e70;
  --green:  #17c964;
  --amber:  #f5a623;
  --r:      12px;
  --rl:     20px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--white);overflow-x:hidden}

/* CURSOR */
.cur{width:8px;height:8px;background:var(--cyan);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:screen}
.cur-ring{width:32px;height:32px;border:1.5px solid rgba(0,212,255,.35);border-radius:50%;position:fixed;pointer-events:none;z-index:9998}
@media(max-width:768px){.cur,.cur-ring{display:none}body{cursor:auto}}

/* AMBIENT */
.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(26,108,247,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(26,108,247,.035) 1px,transparent 1px);
  background-size:64px 64px}
.orb{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.orb1{width:700px;height:700px;background:var(--blue);opacity:.18;top:-250px;right:-180px}
.orb2{width:450px;height:450px;background:var(--violet);opacity:.16;bottom:5%;left:-180px}
.orb3{width:300px;height:300px;background:var(--cyan);opacity:.08;top:50%;right:-100px}
section,nav,footer,.strip,.cta-wrap{position:relative;z-index:1}

/* NAV */
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6%;height:70px;
  position:sticky;top:0;z-index:100;
  background:rgba(4,9,26,.82);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.5px;color:var(--white);text-decoration:none}
.logo em{font-style:normal;color:var(--cyan)}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links a{font-size:14px;color:var(--g200);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--blue)!important;color:var(--white)!important;padding:8px 18px;border-radius:8px;font-weight:500!important;transition:background .2s,transform .15s!important}
.nav-cta:hover{background:var(--blue2)!important;transform:translateY(-1px)}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.ham span{width:22px;height:2px;background:var(--white);border-radius:2px;display:block;transition:.3s}
.mob-menu{display:none;position:fixed;inset:0;top:70px;background:rgba(4,9,26,.98);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:36px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Syne',sans-serif;font-size:26px;font-weight:700;color:var(--white);text-decoration:none}

/* HERO */
.hero{min-height:calc(100vh - 70px);display:flex;align-items:center;padding:80px 6%;gap:70px}
.hero-left{flex:1;max-width:580px}
.hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(26,108,247,.1);border:1px solid rgba(26,108,247,.28);
  border-radius:20px;padding:5px 14px;
  font-size:11px;font-weight:500;color:var(--blue2);letter-spacing:.6px;
  margin-bottom:28px;
  animation:fadeUp .6s ease both;
}
.hero-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
h1{
  font-family:'Syne',sans-serif;
  font-size:clamp(38px,5.2vw,70px);
  font-weight:800;line-height:1.03;letter-spacing:-2.5px;
  margin-bottom:22px;
  animation:fadeUp .6s .08s ease both;
}
h1 .c{color:var(--cyan)}
h1 .v{color:var(--vlight)}
.hero-sub{font-size:17px;font-weight:300;line-height:1.72;color:var(--g200);margin-bottom:38px;max-width:460px;animation:fadeUp .6s .16s ease both}
.btns{display:flex;gap:12px;flex-wrap:wrap;animation:fadeUp .6s .24s ease both}
.btn-p{
  background:var(--blue);color:var(--white);
  padding:13px 26px;border-radius:10px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;
  text-decoration:none;border:none;cursor:pointer;
  transition:background .2s,transform .15s;
  display:inline-flex;align-items:center;gap:7px;
}
.btn-p:hover{background:var(--blue2);transform:translateY(-2px)}
.btn-o{
  background:transparent;color:var(--white);
  padding:13px 26px;border-radius:10px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;
  text-decoration:none;border:1px solid rgba(255,255,255,.18);cursor:pointer;
  transition:border-color .2s,transform .15s;
  display:inline-flex;align-items:center;gap:7px;
}
.btn-o:hover{border-color:rgba(255,255,255,.45);transform:translateY(-2px)}

/* HERO VISUAL */
.hero-right{flex:1;max-width:500px;animation:fadeUp .7s .35s ease both}
.dash{background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:20px;backdrop-filter:blur(12px)}
.dash-bar{display:flex;align-items:center;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:16px}
.dot{width:10px;height:10px;border-radius:50%}
.dash-title{font-size:12px;color:var(--g400);margin-left:4px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.kpi{background:rgba(255,255,255,.04);border-radius:10px;padding:13px 10px}
.kpi-v{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;line-height:1}
.kpi-l{font-size:10px;color:var(--g400);margin-top:3px}
.chart-wrap{background:rgba(255,255,255,.03);border-radius:10px;padding:12px;margin-bottom:12px}
.bars{display:flex;align-items:flex-end;gap:5px;height:72px}
.b{flex:1;border-radius:3px 3px 0 0;animation:growB .9s ease both}
@keyframes growB{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}
.mods{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mod{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:8px}
.mod-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px}
.mod-n{font-size:12px;font-weight:500;color:var(--g200)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* STRIP */
.strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.snum{padding:44px 30px;text-align:center;border-right:1px solid var(--border);transition:background .3s}
.snum:last-child{border-right:none}
.snum:hover{background:rgba(26,108,247,.05)}
.snum-v{font-family:'Syne',sans-serif;font-size:48px;font-weight:800;color:var(--cyan);line-height:1}
.snum-l{font-size:13px;color:var(--g400);margin-top:5px}

/* SECTION BASE */
.sec{padding:96px 6%}
.stag{font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--blue2);text-transform:uppercase;display:block;margin-bottom:10px}
h2{font-family:'Syne',sans-serif;font-size:clamp(28px,3.8vw,46px);font-weight:800;letter-spacing:-1.5px;line-height:1.08;margin-bottom:18px}
.sdesc{font-size:16px;color:var(--g400);font-weight:300;line-height:1.72;max-width:500px}
.sec-alt{background:var(--bg2)}

/* SOBRE */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-feats{display:flex;flex-direction:column;gap:16px;margin-top:36px}
.afeat{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:var(--r);border:1px solid var(--border);background:rgba(255,255,255,.02);transition:border-color .3s,background .3s}
.afeat:hover{border-color:rgba(26,108,247,.3);background:rgba(26,108,247,.05)}
.afeat-ic{width:38px;height:38px;border-radius:10px;background:rgba(26,108,247,.14);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.afeat-t{font-size:14px;font-weight:500;margin-bottom:3px}
.afeat-d{font-size:12px;color:var(--g400);line-height:1.55}
.about-card{background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:30px}
.about-q{font-family:'Syne',sans-serif;font-size:19px;font-weight:700;line-height:1.45;color:var(--white);margin-bottom:22px}
.about-q span{color:var(--cyan)}
.tags-wrap{display:flex;flex-wrap:wrap;gap:7px}
.tag{padding:5px 13px;border-radius:20px;font-size:11px;font-weight:500}
.tag.bl{background:rgba(26,108,247,.12);border:1px solid rgba(26,108,247,.28);color:var(--blue2)}
.tag.vl{background:rgba(124,92,252,.12);border:1px solid rgba(124,92,252,.28);color:var(--vlight)}
.tag.cl{background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.2);color:var(--cyan)}

/* SERVIÇOS */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.srv{background:rgba(255,255,255,.028);border:1px solid var(--border);border-radius:var(--rl);padding:32px 26px;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}
.srv::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;border-radius:inherit}
.srv.s1::before{background:radial-gradient(ellipse at top left,rgba(26,108,247,.09),transparent 70%)}
.srv.s2::before{background:radial-gradient(ellipse at top left,rgba(124,92,252,.09),transparent 70%)}
.srv.s3::before{background:radial-gradient(ellipse at top left,rgba(0,212,255,.06),transparent 70%)}
.srv:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.16)}
.srv:hover::before{opacity:1}
.srv-ic{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:22px}
.s1 .srv-ic{background:rgba(26,108,247,.14)}
.s2 .srv-ic{background:rgba(124,92,252,.14)}
.s3 .srv-ic{background:rgba(0,212,255,.1)}
.srv-t{font-family:'Syne',sans-serif;font-size:19px;font-weight:700;margin-bottom:10px;letter-spacing:-.4px}
.srv-d{font-size:13px;color:var(--g400);line-height:1.7;margin-bottom:18px}
.srv-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.srv-list li{font-size:12px;color:var(--g200);display:flex;align-items:center;gap:7px}
.srv-list li::before{content:'→';color:var(--blue2);font-size:11px}

/* PROCESSO */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:56px;border-radius:var(--rl);overflow:hidden}
.proc-step{background:var(--bg);padding:32px 24px;position:relative;transition:background .3s}
.proc-step:hover{background:rgba(26,108,247,.05)}
.proc-n{font-family:'Syne',sans-serif;font-size:42px;font-weight:800;color:rgba(26,108,247,.15);line-height:1;margin-bottom:14px}
.proc-t{font-size:15px;font-weight:500;margin-bottom:6px}
.proc-d{font-size:12px;color:var(--g400);line-height:1.6}
.proc-arrow{position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--g400);z-index:2}
.proc-step:last-child .proc-arrow{display:none}

/* ERPs */
.erp-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;flex-wrap:wrap}
.erp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.erp-card{border:1px solid var(--border);border-radius:var(--rl);background:rgba(255,255,255,.02);overflow:hidden;transition:border-color .3s,transform .3s}
.erp-card:hover{border-color:rgba(124,92,252,.4);transform:translateY(-4px)}
.erp-head{padding:22px 22px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:13px}
.erp-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.erp-nm{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;margin-bottom:3px}
.erp-seg{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.erp-body{padding:18px 22px}
.erp-desc{font-size:12px;color:var(--g400);line-height:1.65;margin-bottom:12px}
.erp-feats{display:flex;flex-direction:column;gap:5px}
.erp-feat{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--g200)}
.erp-feat::before{content:'✓';color:var(--cyan);font-size:10px}
.erp-live{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--green);text-transform:uppercase;margin-top:12px}
.erp-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 2s infinite}

/* PORTFÓLIO */
.pf-filters{display:flex;gap:7px;margin:32px 0 36px}
.fbtn{padding:7px 18px;border-radius:20px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--g200);transition:all .2s}
.fbtn.on,.fbtn:hover{background:var(--blue);border-color:var(--blue);color:var(--white)}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pf-item{border-radius:var(--rl);overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.025);transition:border-color .3s,transform .3s;cursor:pointer}
.pf-item:hover{transform:translateY(-4px);border-color:rgba(26,108,247,.38)}
.pf-thumb{height:160px;display:flex;align-items:center;justify-content:center;font-size:36px;border-bottom:1px solid var(--border)}
.pf-info{padding:14px 16px}
.pf-nm{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:3px}
.pf-tp{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:1px}

/* CTA */
.cta-wrap{padding:0 6% 80px}
.cta-box{background:linear-gradient(130deg,rgba(10,21,63,.95) 0%,rgba(12,18,50,.9) 50%,rgba(40,20,80,.4) 100%);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:80px 60px;text-align:center;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;width:350px;height:350px;border-radius:50%;background:rgba(26,108,247,.18);filter:blur(90px);top:-120px;right:-60px;pointer-events:none}
.cta-box::after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(124,92,252,.18);filter:blur(70px);bottom:-90px;left:-50px;pointer-events:none}
.cta-box h2{font-size:clamp(26px,3.5vw,42px);margin-bottom:14px;position:relative;z-index:1}
.cta-box p{font-size:16px;color:var(--g200);margin-bottom:34px;position:relative;z-index:1}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.wa-btn{background:#17c964;color:var(--white);padding:13px 26px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;text-decoration:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .15s}
.wa-btn:hover{background:#12a854;transform:translateY(-2px)}

/* CONTATO */
.ct-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;margin-top:50px}
.ct-info{display:flex;flex-direction:column;gap:22px}
.ct-item{display:flex;align-items:flex-start;gap:13px}
.ct-ic{width:42px;height:42px;border-radius:11px;background:rgba(26,108,247,.13);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.ct-lbl{font-size:12px;color:var(--g400);margin-bottom:2px}
.ct-val{font-size:15px;font-weight:500}
.ct-form{display:flex;flex-direction:column;gap:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea,select{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 15px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--white);outline:none;transition:border-color .2s}
input::placeholder,textarea::placeholder{color:var(--g600)}
input:focus,textarea:focus,select:focus{border-color:rgba(26,108,247,.5)}
textarea{resize:vertical;min-height:110px}
select option{background:var(--bg3)}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:56px 6% 28px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
.ft-logo{font-family:'Syne',sans-serif;font-size:19px;font-weight:800;margin-bottom:10px}
.ft-logo em{font-style:normal;color:var(--cyan)}
.ft-tag{font-size:13px;color:var(--g400);line-height:1.65;max-width:210px}
.ft-htitle{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--g400);margin-bottom:14px}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.ft-links a{font-size:13px;color:var(--g200);text-decoration:none;transition:color .2s}
.ft-links a:hover{color:var(--white)}
.socials{display:flex;gap:8px;margin-top:18px}
.soc{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;text-decoration:none;color:var(--g200);transition:all .2s}
.soc:hover{background:rgba(26,108,247,.2);border-color:rgba(26,108,247,.4);color:var(--white)}
.ft-bot{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--g600)}

/* FLOAT */
.waf{position:fixed;bottom:26px;right:26px;z-index:1000;width:54px;height:54px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 20px rgba(37,211,102,.4);text-decoration:none;color:white;transition:transform .2s,box-shadow .2s;animation:fadeUp .8s .5s ease both}
.waf:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.5)}

/* REVEAL */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:960px){
  .nav-links{display:none}.ham{display:flex}
  .hero{flex-direction:column;padding:56px 6%}
  .hero-right{max-width:100%}
  .strip{grid-template-columns:repeat(2,1fr)}
  .snum{border-bottom:1px solid var(--border)}
  .about-grid,.ct-grid{grid-template-columns:1fr}
  .srv-grid,.pf-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr 1fr}
  .proc-arrow{display:none}
  .ft-top{grid-template-columns:1fr 1fr}
  .erp-intro{flex-direction:column;align-items:flex-start}
  .cta-box{padding:48px 28px}
}
@media(max-width:580px){
  .proc-grid{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .pf-grid{grid-template-columns:1fr}
  .erp-grid{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(1,1fr)}
}