/* Vértice — design system compartilhado (Home + páginas de braço) */
.vx *{box-sizing:border-box;}
.vx{--bg:#070a08;--card:#0a0f0d;--line:rgba(255,255,255,.09);--tx:#eaf1ec;--mut:#93a399;
  --g:#39d353;--t:#1f9e8f;--r:#ff4b2b;
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--tx);line-height:1.6;margin:0;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;}
.vx a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:rgba(7,10,8,.72);border-bottom:1px solid var(--line);}
.nav .wrap{display:flex;align-items:center;gap:16px;height:62px;}
.nav-logo{height:30px;}
.nav .back{color:var(--mut);font-size:14px;}
.nav .back:hover{color:var(--tx);}
.nav-links{display:flex;gap:26px;margin-left:auto;font-size:14.5px;color:var(--mut);}
.nav-links a:hover{color:var(--tx);}
@media(max-width:760px){.nav-links{display:none;}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;
  padding:11px 20px;border-radius:999px;background:linear-gradient(90deg,var(--g),var(--t));
  color:#04180c;transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(57,211,83,.28);}
.btn-lg{padding:15px 30px;font-size:16px;}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--tx);}
.btn-ghost:hover{box-shadow:none;border-color:rgba(255,255,255,.28);}
.nav .btn{margin-left:auto;}
.nav .nav-links + .btn{margin-left:4px;}

/* hero (home) */
.hero{position:relative;text-align:center;padding:88px 0 76px;}
.hero::before{content:"";position:absolute;inset:-20% 0 auto;height:520px;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 0%,rgba(31,158,143,.20),transparent 70%);}
.hero-logo{width:min(360px,72vw);margin:0 auto 18px;display:block;position:relative;}
.eyebrow{text-transform:uppercase;letter-spacing:3.5px;font-size:12px;color:var(--mut);position:relative;}
.hero h1{font-size:clamp(38px,7vw,72px);line-height:1.02;margin:14px auto 0;max-width:12ch;
  font-weight:800;letter-spacing:-1.5px;text-wrap:balance;position:relative;
  background:linear-gradient(120deg,#fff 40%,#bfe0cf);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.sub{max-width:60ch;margin:22px auto 0;color:#c3cfc7;font-size:clamp(16px,2.2vw,19px);position:relative;}
.hero-cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;position:relative;}

/* hero (produto) */
.hero.prod{padding:66px 0 40px;}
.hero.prod::before{inset:-10% 0 auto;height:420px;background:radial-gradient(60% 60% at 50% 0%,rgba(31,158,143,.18),transparent 70%);}
.hero.prod img.prod-logo{width:min(230px,60vw);position:relative;filter:drop-shadow(0 8px 30px rgba(0,0,0,.5));}
.hero.prod .tag{position:relative;text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--t);font-weight:700;margin-top:6px;}
.hero.prod h1{font-size:clamp(30px,5.4vw,50px);font-weight:800;letter-spacing:-1px;margin:12px auto 0;max-width:16ch;text-wrap:balance;
  background:linear-gradient(120deg,#fff 45%,#bfe0cf);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;}
.hero.prod p{position:relative;color:#c3cfc7;max-width:56ch;margin:18px auto 0;font-size:clamp(16px,2vw,18px);}

.rule{height:4px;width:min(460px,80vw);margin:56px auto 0;border-radius:3px;
  background:linear-gradient(90deg,var(--g),var(--t),var(--r));opacity:.9;}
.hero.prod .rule{margin:34px auto 0;width:min(420px,80vw);}

section.blk{padding:76px 0;}
.hero.prod ~ section.blk{padding:64px 0;}
.sec-head{text-align:center;max-width:64ch;margin:0 auto 44px;}
.sec-head h2{font-size:clamp(27px,4vw,40px);font-weight:800;letter-spacing:-.8px;margin:10px 0 0;text-wrap:balance;}
.sec-head p{color:var(--mut);font-size:17px;margin:14px 0 0;}
.kicker{text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700;
  background:linear-gradient(90deg,var(--g),var(--t));-webkit-background-clip:text;background-clip:text;color:transparent;}

/* home: bracos */
.bracos{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:720px){.bracos{grid-template-columns:1fr;}}
.braco{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 26px 30px;
  transition:transform .2s ease,border-color .2s ease;}
.braco:hover{transform:translateY(-4px);border-color:rgba(57,211,83,.35);}
.braco-logo{height:118px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.braco-logo img{max-height:118px;max-width:78%;object-fit:contain;}
.braco-tag{font-size:12.5px;text-transform:uppercase;letter-spacing:2px;color:var(--t);font-weight:700;}
.braco-slo{font-style:italic;color:#dbe6df;margin:6px 0 8px;font-size:15.5px;}
.braco-desc{color:var(--mut);font-size:14.5px;margin:0;}

/* home: pilares */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:720px){.pilares{grid-template-columns:1fr;}}
.pilar{padding:26px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);}
.pilar .dot{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--g),var(--t));color:#04180c;font-weight:800;margin-bottom:14px;font-size:18px;}
.pilar h3{margin:0 0 6px;font-size:18px;}
.pilar p{margin:0;color:var(--mut);font-size:14.5px;}

/* home: cases (portfolio) */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:720px){.cases{grid-template-columns:1fr;}}
.case{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;gap:20px;align-items:center;}
.case-logo{width:120px;min-width:120px;height:84px;display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:12px;padding:12px;}
.case-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.case h3{margin:0 0 4px;font-size:18px;}
.case .role{font-size:12.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--t);font-weight:700;}
.case p{margin:8px 0 0;color:var(--mut);font-size:14px;}

/* produto: dor / grid2 */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:720px){.grid2{grid-template-columns:1fr;}}
.dor{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;}
.dor .ic{font-size:26px;}
.dor h3{margin:8px 0 4px;font-size:17px;}
.dor p{margin:0;color:var(--mut);font-size:14.5px;}

/* produto: solucao */
.sol{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.sol:last-child{border-bottom:none;}
.sol .n{min-width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#04180c;background:linear-gradient(135deg,var(--g),var(--t));}
.sol h3{margin:2px 0 4px;font-size:17px;}
.sol p{margin:0;color:var(--mut);font-size:14.5px;}

/* produto: telas */
.shot{margin:26px 0;}
.frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0d1512;box-shadow:0 18px 50px rgba(0,0,0,.45);}
.frame .bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#0f1613;border-bottom:1px solid var(--line);}
.frame .bar i{width:11px;height:11px;border-radius:50%;display:inline-block;}
.frame .bar .u{margin-left:12px;font-size:12px;color:var(--mut);}
.frame img{width:100%;display:block;}
.shot .cap{margin:12px 4px 0;}
.shot .cap b{font-size:16px;}
.shot .cap span{color:var(--mut);font-size:14.5px;}

/* produto: em construcao */
.soon{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:60px 28px;text-align:center;}
.soon .emoji{font-size:44px;}

/* produto: beneficios */
.bens{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(max-width:720px){.bens{grid-template-columns:1fr;}}
.ben{padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);}
.ben b{font-size:16px;}
.ben p{margin:6px 0 0;color:var(--mut);font-size:14.5px;}

/* produto: a conta */
.conta{background:linear-gradient(180deg,rgba(255,75,43,.06),rgba(10,15,13,.4));border:1px solid var(--line);border-radius:22px;padding:34px 28px;}
table.cmp{width:100%;border-collapse:collapse;margin:8px 0 6px;font-size:15px;}
table.cmp td{padding:12px 8px;border-bottom:1px solid var(--line);}
table.cmp td.v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;}
table.cmp tr.sum td{border-top:2px solid rgba(255,255,255,.18);border-bottom:none;font-size:17px;padding-top:16px;}
table.cmp tr.sum td.v{color:#ff8a72;}
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-top:22px;}
@media(max-width:640px){.vs{grid-template-columns:1fr;} .vs .mid{display:none;}}
.vscard{border-radius:16px;padding:22px;text-align:center;}
.vscard .lbl{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--mut);}
.vscard .big{font-size:34px;font-weight:800;margin:6px 0 2px;font-variant-numeric:tabular-nums;}
.vscard .sub{color:var(--mut);font-size:13.5px;}
.vscard.gente{background:rgba(255,75,43,.08);border:1px solid rgba(255,75,43,.25);}
.vscard.gente .big{color:#ff8a72;}
.vscard.sis{background:rgba(57,211,83,.09);border:1px solid rgba(57,211,83,.3);}
.vscard.sis .big{color:var(--g);}
.vs .mid{display:flex;align-items:center;justify-content:center;color:var(--mut);font-weight:800;font-size:18px;}
.note{color:var(--mut);font-size:13px;margin-top:16px;line-height:1.55;}
.soft{margin-top:18px;font-size:15.5px;color:#dbe6df;text-align:center;}
.soft b{color:#fff;}

/* final CTA */
.final{text-align:center;background:linear-gradient(180deg,rgba(31,158,143,.10),transparent);
  border:1px solid var(--line);border-radius:24px;padding:56px 28px;margin:20px 0;}
.final h2{font-size:clamp(26px,4vw,38px);font-weight:800;margin:0 0 10px;letter-spacing:-.6px;}
.final p{color:var(--mut);max-width:52ch;margin:0 auto 26px;font-size:17px;}

footer.ft{border-top:1px solid var(--line);padding:40px 0;color:var(--mut);font-size:13.5px;}
footer.ft .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.btn,.braco{transition:none;}}
