/* Nexora Sec — cores extraídas do papel timbrado */
@font-face{font-family:"Sora";src:url("../fonts/sora-latin-wght-normal.woff2") format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --navy:#060F2C;        /* timbrado: cabeçalho de tabelas / texto do logo */
  --navy-2:#0B1840;
  --navy-3:#112257;
  --blue:#023AD1;        /* timbrado: azul principal (linhas e "SEC") */
  --blue-hi:#3D6BFF;     /* tom mais claro do mesmo azul, legível sobre o navy */
  --cyan:#5CC8FF;
  --ink:#1F2937;         /* timbrado: texto */
  --muted:#5B6475;       /* timbrado: texto secundário */
  --line:#D5DAE3;        /* timbrado: bordas */
  --soft:#F1F3F7;        /* timbrado: fundo de linhas */
  --white:#fff;
  --wa:#25D366;
  --radius:18px;
  --max:1200px;
  --head:"Sora",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--head);line-height:1.15;letter-spacing:-.02em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--blue);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--blue-hi);outline-offset:3px;border-radius:6px}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:1rem;padding:14px 24px;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px -10px rgba(2,58,209,.8)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(61,107,255,.9);background:#0846F0}
.btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04)}
.btn-ghost:hover{border-color:var(--blue-hi);background:rgba(61,107,255,.12)}
.btn-wa{background:var(--wa);color:#05301A}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 14px 36px -12px rgba(37,211,102,.8)}

/* Cabeçalho */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.top.scrolled{background:rgba(6,15,44,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:26px}
.nav a{white-space:nowrap;color:rgba(255,255,255,.78);font-size:.95rem;font-weight:500;transition:color .2s}
.nav a:hover{color:#fff}
.nav .btn{padding:10px 18px;font-size:.9rem}
.menu-btn{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:8px}
.menu-btn svg{width:28px;height:28px}

/* Hero */
.hero{position:relative;background:radial-gradient(1200px 600px at 80% 10%,rgba(2,58,209,.45),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(61,107,255,.18),transparent 60%),var(--navy);color:#fff;padding:150px 0 110px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 60% 40%,#000 25%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 25%,transparent 75%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--cyan);background:rgba(92,200,255,.08);border:1px solid rgba(92,200,255,.25);padding:7px 14px;border-radius:999px;margin-bottom:24px}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 0 rgba(37,211,102,.7);animation:ping 2s infinite}
.hero h1{font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:700;margin-bottom:22px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--blue-hi),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:rgba(255,255,255,.75);max-width:560px;margin-bottom:34px}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-tags{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px;color:rgba(255,255,255,.6);font-size:.9rem}
.hero-tags span{display:flex;align-items:center;gap:8px}
.hero-tags svg{width:18px;height:18px;color:var(--blue-hi)}

/* Ilustração de rede */
.net{position:relative;aspect-ratio:1/1;max-width:520px;width:100%;justify-self:end}
.net svg{width:100%;height:100%}
.net .ln{stroke:rgba(61,107,255,.45);stroke-width:1.5;fill:none;stroke-dasharray:6 8;animation:flow 3s linear infinite}
.net .ln.b{animation-duration:4.5s;stroke:rgba(92,200,255,.35)}
.net .nd{fill:var(--navy-2);stroke:var(--blue-hi);stroke-width:2}
.net .nd.c{fill:var(--blue);stroke:var(--cyan)}
.net .halo{fill:rgba(61,107,255,.25);transform-box:fill-box;transform-origin:center;animation:pulse 3s ease-out infinite}
.net .halo.d2{animation-delay:1s}.net .halo.d3{animation-delay:2s}
.net .shield{fill:url(#sg);stroke:rgba(255,255,255,.35);stroke-width:1.5}
.net .ck{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.net .ring{fill:none;stroke:rgba(61,107,255,.3);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:spin 40s linear infinite;stroke-dasharray:2 10}
.net .tag{fill:rgba(255,255,255,.85);font:600 13px var(--body)}
.net .tagbg{fill:rgba(11,24,64,.85);stroke:rgba(61,107,255,.4)}
.float{animation:float 6s ease-in-out infinite}

/* Faixa de tecnologias */
.stack{background:var(--navy-2);color:rgba(255,255,255,.55);padding:22px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.06)}
.marquee{display:flex;gap:56px;width:max-content;animation:marquee 40s linear infinite;font-family:var(--head);font-weight:600;font-size:1.05rem;letter-spacing:.02em}
.marquee span{display:flex;align-items:center;gap:56px}
.marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-hi)}

/* Seções */
section{padding:110px 0}
.kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.sec-head{max-width:720px;margin-bottom:56px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--navy);margin-bottom:16px}
.sec-head p{color:var(--muted);font-size:1.1rem}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* Serviços */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}
.card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(6,15,44,.35);border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#1E5BFF);color:#fff;margin-bottom:22px;box-shadow:0 10px 24px -10px rgba(2,58,209,.7)}
.ico svg{width:28px;height:28px}
.card h3{font-size:1.25rem;color:var(--navy);margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem;margin-bottom:16px}
.card ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.card li{font-size:.78rem;font-weight:600;color:var(--blue);background:#EEF2FF;padding:4px 10px;border-radius:999px}
.card.feat{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);border-color:transparent;color:#fff}
.card.feat h3{color:#fff}.card.feat p{color:rgba(255,255,255,.72)}
.card.feat li{background:rgba(61,107,255,.2);color:#C9D7FF}
.card .new{position:absolute;top:22px;right:22px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--cyan);color:var(--navy);padding:4px 10px;border-radius:999px}

/* Prova: praticamos o que vendemos */
.proof{background:var(--soft)}
.proof .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.proof h2{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--navy);margin-bottom:18px}
.proof p{color:var(--muted);font-size:1.08rem;margin-bottom:14px}
.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.score{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;text-align:center}
.score b{display:block;font-family:var(--head);font-size:2.6rem;line-height:1;color:var(--blue);margin-bottom:10px}
.score span{font-size:.88rem;color:var(--muted);font-weight:500}
.checks{list-style:none;margin-top:22px;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:.98rem}
.checks svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}

/* Processo */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{position:relative;padding:30px 24px;border-radius:var(--radius);border:1px solid var(--line);background:#fff}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--head);font-weight:700;font-size:2.4rem;line-height:1;background:linear-gradient(135deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:16px}
.step h3{font-size:1.12rem;color:var(--navy);margin-bottom:8px}
.step p{color:var(--muted);font-size:.95rem}

/* Casos */
.cases{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cases::before{content:"";position:absolute;width:700px;height:700px;right:-250px;top:-250px;background:radial-gradient(circle,rgba(2,58,209,.4),transparent 65%)}
.cases .sec-head h2{color:#fff}.cases .sec-head p{color:rgba(255,255,255,.7)}.cases .kicker{color:var(--cyan)}
.case{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:30px 28px;backdrop-filter:blur(6px);transition:border-color .3s,background .3s}
.case:hover{border-color:rgba(61,107,255,.6);background:rgba(61,107,255,.08)}
.case small{display:block;color:var(--cyan);font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.case h3{font-size:1.18rem;margin-bottom:12px}
.case p{color:rgba(255,255,255,.7);font-size:.95rem}
.case .res{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;color:#fff;display:flex;gap:8px}
.case .res svg{width:18px;height:18px;color:var(--wa);flex:none;margin-top:3px}

/* Contato */
.contact .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:stretch}
.cbox{background:linear-gradient(150deg,var(--blue) 0%,#0A2A9E 55%,var(--navy) 100%);color:#fff;border-radius:28px;padding:56px 48px;position:relative;overflow:hidden}
.cbox::after{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 40px rgba(255,255,255,.04),0 0 0 80px rgba(255,255,255,.03)}
.cbox .kicker{color:#9FD9FF}
.cbox h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:16px}
.cbox p{color:rgba(255,255,255,.82);font-size:1.08rem;margin-bottom:30px;max-width:460px}
.clist{display:grid;gap:16px}
.citem{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s,transform .2s;background:#fff}
a.citem:hover{border-color:var(--blue);box-shadow:0 14px 34px -20px rgba(2,58,209,.6);transform:translateX(4px)}
.citem .ico{margin:0;width:50px;height:50px}
.citem .ico.wa{background:var(--wa);color:#05301A;box-shadow:0 10px 24px -10px rgba(37,211,102,.7)}
.citem small{display:block;color:var(--muted);font-size:.85rem}
.citem strong{font-family:var(--head);font-size:1.15rem;color:var(--navy)}

/* Rodapé */
footer{background:var(--navy);color:rgba(255,255,255,.6);padding:60px 0 30px;font-size:.92rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
footer img{height:38px;width:auto;margin-bottom:16px}
footer h4{font-family:var(--head);color:#fff;font-size:.95rem;margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:8px}
footer a:hover{color:#fff}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:.84rem}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px;color:#fff}

/* Página interna */
.page-hero{background:var(--navy);color:#fff;padding:140px 0 60px}
.page-hero h1{font-size:clamp(2rem,4vw,3rem)}
.prose{max-width:780px;padding:70px 20px 100px;margin:0 auto}
.prose h2{font-size:1.4rem;color:var(--navy);margin:36px 0 12px}
.prose p,.prose li{color:var(--ink);margin-bottom:12px}
.prose ul{padding-left:22px}
.prose a{color:var(--blue);text-decoration:underline}

@media (max-width:1100px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:76px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:rgba(6,15,44,.97);backdrop-filter:blur(14px);padding:12px 20px 24px;transform:translateY(-130%);transition:transform .35s;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav.open{transform:none}
  .nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav .btn{margin-top:14px;justify-content:center;padding:14px}
}

/* Revelação ao rolar (só se o JS rodar) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}

@keyframes flow{to{stroke-dashoffset:-56}}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{50%{transform:translateY(-12px)}}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes marquee{to{transform:translateX(-50%)}}

@media (max-width:1000px){
  .hero .wrap,.proof .wrap,.contact .wrap{grid-template-columns:1fr}
  .net{justify-self:center;max-width:420px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .top{background:rgba(6,15,44,.9);backdrop-filter:blur(14px)}
  .hero{padding:120px 0 80px}
  .net{display:none}
  .grid,.steps,.scores{grid-template-columns:1fr}
  .scores{grid-template-columns:repeat(3,1fr)}
  .score{padding:18px 8px}.score b{font-size:1.9rem}
  section{padding:80px 0}
  .cbox{padding:40px 26px}
  .fgrid{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}
  .nav .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}

/* Produto: Sistema de Gestão */
.product{background:linear-gradient(180deg,#fff 0%,#EEF2FF 100%);position:relative;overflow:hidden}
.prod-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;margin-bottom:56px}
.product h2{font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--navy);margin-bottom:16px}
.lead-dark{color:var(--muted);font-size:1.1rem;margin-bottom:22px}
.pilot{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:14px 18px;margin-bottom:28px;color:var(--ink);font-size:.97rem}
.pilot svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.mock{background:var(--navy);border-radius:18px;box-shadow:0 40px 80px -30px rgba(6,15,44,.55),0 0 0 1px rgba(255,255,255,.06) inset;overflow:hidden;transform:perspective(1400px) rotateY(-6deg) rotateX(2deg)}
.mock-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.06)}
.mock-bar i{width:10px;height:10px;border-radius:50%;background:#2A3A6B}
.mock-bar span{margin-left:12px;font-size:.75rem;color:rgba(255,255,255,.45);background:rgba(255,255,255,.05);padding:3px 12px;border-radius:6px}
.mock-body{display:grid;grid-template-columns:54px 1fr;min-height:300px}
.mock-side{background:#081433;padding:16px 12px;display:grid;gap:12px;align-content:start}
.mock-side b{display:block;height:28px;border-radius:8px;background:rgba(255,255,255,.06)}
.mock-side b.on{background:var(--blue)}
.mock-main{padding:20px;display:grid;gap:16px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpis div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px 12px}
.kpis small{display:block;font-size:.68rem;color:rgba(255,255,255,.5)}
.kpis strong{font-family:var(--head);color:#fff;font-size:1.05rem}
.bars{display:flex;align-items:flex-end;gap:8px;height:84px;padding:0 4px;border-bottom:1px solid rgba(255,255,255,.08)}
.bars span{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--blue-hi),var(--blue));transform-origin:bottom;animation:grow 1.2s ease-out both}
.bars span:nth-child(1){height:38%}.bars span:nth-child(2){height:55%;animation-delay:.1s}.bars span:nth-child(3){height:46%;animation-delay:.2s}.bars span:nth-child(4){height:70%;animation-delay:.3s}.bars span:nth-child(5){height:62%;animation-delay:.4s}.bars span:nth-child(6){height:84%;animation-delay:.5s}.bars span:nth-child(7){height:96%;animation-delay:.6s;background:linear-gradient(180deg,var(--cyan),var(--blue-hi))}
.rows{display:grid;gap:8px}
.rows p{display:flex;align-items:center;gap:10px;font-size:.78rem;color:rgba(255,255,255,.75);background:rgba(255,255,255,.03);padding:8px 10px;border-radius:8px}
.rows em{font-style:normal;font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:999px}
.rows em.ok{background:rgba(37,211,102,.15);color:#5BE59A}
.rows em.wait{background:rgba(92,200,255,.15);color:var(--cyan)}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mod{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px 20px;position:relative;transition:transform .3s,box-shadow .3s}
.mod::before{content:"";position:absolute;left:22px;top:0;width:36px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.mod:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(6,15,44,.35)}
.mod h3{font-size:1.05rem;color:var(--navy);margin:6px 0 6px}
.mod p{color:var(--muted);font-size:.93rem}
.prod-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;margin-top:40px;color:var(--navy);font-weight:600;font-size:.95rem}
.prod-trust li{display:flex;align-items:center;gap:8px}
.prod-trust svg{width:20px;height:20px;color:var(--blue)}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (max-width:1000px){.prod-grid{grid-template-columns:1fr}.mock{transform:none}.mods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.mods{grid-template-columns:1fr}.kpis strong{font-size:.9rem}.prod-trust{justify-content:flex-start}}
