<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PontoX — Gestão Inteligente de Pessoas</title>
<meta name="description" content="PontoX: controle de ponto, banco de horas, relatórios em PDF/Excel e backup diário automático. Conformidade com a legislação trabalhista, sem planilha.">
<link rel="icon" type="image/png" href="assets/favicon.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{
--void:#04070f;
--panel:#0a1120;
--panel-2:#0e1830;
--line:#1b2740;
--blue-300:#7cb2ff;
--blue-500:#2e7ef7;
--blue-700:#0f3e8c;
--steel:#c9d0dc;
--ink:#f4f6fa;
--ink-dim:#8f99ad;
--green:#34c77b;
--radius-sm:10px;
--radius-md:16px;
--container:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
margin:0;
background:var(--void);
color:var(--ink);
font-family:'Inter',sans-serif;
font-size:16px;
line-height:1.55;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
font-family:'Space Grotesk',sans-serif;
color:var(--ink);
margin:0;
line-height:1.15;
font-weight:600;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{
max-width:var(--container);
margin:0 auto;
padding:0 28px;
}
section{padding:112px 0;}
@media (max-width:780px){ section{padding:76px 0;} }
::selection{background:var(--blue-700);color:var(--ink);}
:focus-visible{outline:2px solid var(--blue-300);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
*{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}
/* ---------- shared bits ---------- */
.eyebrow-free-label{
color:var(--blue-300);
font-weight:600;
font-size:14.5px;
letter-spacing:0.01em;
}
.lede{
color:var(--ink-dim);
font-size:18px;
max-width:52ch;
}
.btn{
display:inline-flex;
align-items:center;
gap:8px;
padding:14px 24px;
border-radius:999px;
font-weight:600;
font-size:15.5px;
font-family:'Inter',sans-serif;
border:1px solid transparent;
cursor:pointer;
transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{
background:linear-gradient(135deg,var(--blue-500),var(--blue-700));
color:#fff;
box-shadow:0 8px 24px -8px rgba(46,126,247,.6);
}
.btn-primary:hover{box-shadow:0 12px 28px -8px rgba(46,126,247,.75);}
.btn-ghost{
background:transparent;
color:var(--ink);
border-color:var(--line);
}
.btn-ghost:hover{border-color:var(--blue-300);}
/* ---------- nav ---------- */
header{
position:sticky;
top:0;
z-index:50;
background:rgba(4,7,15,.82);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line);
}
.nav{
display:flex;
align-items:center;
justify-content:space-between;
padding:14px 0;
}
.brand{
display:flex;
align-items:center;
gap:10px;
}
.brand img{height:34px;width:auto;}
.brand .word{
font-family:'Space Grotesk',sans-serif;
font-weight:700;
font-size:20px;
letter-spacing:.01em;
}
.brand .word span{color:var(--blue-500);}
.nav-links{
display:flex;
align-items:center;
gap:34px;
}
.nav-links a{
font-size:14.5px;
color:var(--ink-dim);
font-weight:500;
transition:color .15s ease;
}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-toggle{display:none;}
@media (max-width:900px){
.nav-links{display:none;}
.nav-cta .btn-ghost{display:none;}
}
/* ---------- hero ---------- */
.hero{
padding:88px 0 100px;
position:relative;
overflow:hidden;
}
.hero .container{
display:grid;
grid-template-columns:1.05fr 0.95fr;
gap:56px;
align-items:center;
}
@media (max-width:940px){
.hero .container{grid-template-columns:1fr;}
.hero{padding:56px 0 64px;}
}
.hero h1{
font-size:clamp(32px,4.4vw,50px);
letter-spacing:-0.01em;
}
.hero .lede{font-size:19px; margin-top:20px;}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:34px;
}
.trust-chips{
display:flex;
flex-wrap:wrap;
gap:10px 22px;
margin-top:40px;
padding-top:28px;
border-top:1px solid var(--line);
}
.trust-chips span{
font-size:13.5px;
color:var(--ink-dim);
display:flex;
align-items:center;
gap:7px;
}
.trust-chips span::before{
content:"";
width:6px;height:6px;border-radius:50%;
background:var(--green);
flex:none;
}
.hero-visual{position:relative;}
.clock-ring{
position:absolute;
top:50%;left:50%;
width:560px;height:560px;
transform:translate(-50%,-50%);
border-radius:50%;
border:1px dashed rgba(124,178,255,.18);
animation:spin 90s linear infinite;
z-index:0;
}
.clock-ring::before{
content:"";
position:absolute;
inset:44px;
border-radius:50%;
border:1px solid rgba(124,178,255,.1);
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.device-frame{
position:relative;
z-index:1;
background:var(--panel);
border:1px solid var(--line);
border-radius:var(--radius-md);
padding:10px;
transform:rotate(-2.5deg);
box-shadow:0 40px 80px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(124,178,255,.05);
}
.device-frame .bar{
display:flex;
gap:6px;
padding:4px 8px 10px;
}
.device-frame .bar i{
width:9px;height:9px;border-radius:50%;
background:var(--line);
display:block;
}
.device-frame img{
border-radius:8px;
border:1px solid var(--line);
}
.float-badge{
position:absolute;
z-index:2;
background:var(--panel-2);
border:1px solid var(--line);
border-radius:var(--radius-sm);
padding:12px 16px;
font-size:13.5px;
box-shadow:0 20px 40px -20px rgba(0,0,0,.8);
}
.float-badge b{display:block;font-family:'Space Grotesk',sans-serif;font-size:18px;color:var(--ink);}
.float-badge.b1{ top:-22px; right:18px; }
.float-badge.b2{ bottom:-24px; left:-14px; }
@media (max-width:940px){
.clock-ring{width:380px;height:380px;}
.device-frame{transform:rotate(0deg);}
.float-badge{display:none;}
}
/* ---------- video ---------- */
.video-section{
background:var(--panel);
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
}
.video-head{
max-width:640px;
margin:0 auto 48px;
text-align:center;
}
.video-head h2{font-size:clamp(26px,3.4vw,36px);}
.video-head .lede{margin:14px auto 0;text-align:center;}
.video-wrap{
position:relative;
max-width:920px;
margin:0 auto;
border-radius:var(--radius-md);
overflow:hidden;
border:1px solid var(--line);
background:#000;
box-shadow:0 50px 100px -40px rgba(0,0,0,.8);
}
.video-wrap video{
width:100%;
display:block;
aspect-ratio:16/9;
background:#000;
}
.video-fallback{
position:absolute;
inset:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:14px;
background:linear-gradient(180deg, rgba(4,7,15,.35), rgba(4,7,15,.75)), url('assets/screenshot-relatorios.png') center/cover;
text-align:center;
padding:20px;
}
.play-btn{
width:70px;height:70px;
border-radius:50%;
background:var(--blue-500);
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 10px 30px -6px rgba(46,126,247,.7);
}
.play-btn svg{margin-left:4px;}
.video-fallback p{color:var(--ink-dim);font-size:14px;max-width:38ch;}
.video-fallback strong{color:var(--ink);font-family:'Space Grotesk',sans-serif;font-size:17px;}
/* ---------- timeline ---------- */
.timeline-head{max-width:560px;margin-bottom:64px;}
.timeline-head h2{font-size:clamp(26px,3.4vw,36px);}
.timeline-head .lede{margin-top:14px;}
.timeline{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:0;
position:relative;
}
.timeline::before{
content:"";
position:absolute;
top:19px;
left:0;right:0;
height:1px;
background:var(--line);
}
.t-step{
position:relative;
padding-top:52px;
padding-right:28px;
}
.t-dot{
position:absolute;
top:0;left:0;
width:40px;height:40px;
border-radius:50%;
background:var(--panel-2);
border:1px solid var(--blue-500);
display:flex;align-items:center;justify-content:center;
font-family:'Space Grotesk',sans-serif;
font-size:12px;
color:var(--blue-300);
font-weight:600;
}
.t-step .time{
font-family:'Space Grotesk',sans-serif;
color:var(--blue-300);
font-weight:600;
font-size:14px;
margin-bottom:6px;
display:block;
}
.t-step h4{font-size:17px;margin-bottom:8px;}
.t-step p{color:var(--ink-dim);font-size:14.5px;}
@media (max-width:860px){
.timeline{grid-template-columns:1fr;gap:34px;}
.timeline::before{left:19px;top:0;bottom:0;width:1px;height:auto;right:auto;}
.t-step{padding-top:0;padding-left:56px;padding-right:0;}
.t-dot{top:-2px;}
}
/* ---------- features ---------- */
.feature-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:64px;
align-items:center;
padding:64px 0;
border-top:1px solid var(--line);
}
.feature-row:first-of-type{border-top:none;}
.feature-row.reverse .f-text{order:2;}
.feature-row.reverse .f-visual{order:1;}
@media (max-width:860px){
.feature-row, .feature-row.reverse{grid-template-columns:1fr;gap:32px;}
.feature-row.reverse .f-text, .feature-row.reverse .f-visual{order:initial;}
}
.f-text h3{font-size:clamp(22px,2.6vw,28px);margin-bottom:14px;}
.f-text p{color:var(--ink-dim);font-size:15.5px;max-width:44ch;}
.f-visual img{
border-radius:var(--radius-md);
border:1px solid var(--line);
box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
}
.mock{
background:var(--panel-2);
border:1px solid var(--line);
border-radius:var(--radius-md);
padding:26px;
min-height:220px;
display:flex;
flex-direction:column;
gap:12px;
justify-content:center;
}
.mock .row{
display:flex;
align-items:center;
gap:12px;
background:var(--panel);
border:1px solid var(--line);
border-radius:8px;
padding:12px 14px;
}
.mock .dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none;}
.mock .row.locked .dot{background:#e2574c;}
.mock .row span{font-size:13.5px;color:var(--ink-dim);}
.mock .row strong{font-size:13.5px;color:var(--ink);font-weight:600;}
/* ---------- security ---------- */
.security{
background:var(--panel);
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
}
.sec-grid{
display:grid;
grid-template-columns:0.9fr 1.1fr;
gap:64px;
align-items:center;
}
@media (max-width:900px){ .sec-grid{grid-template-columns:1fr;gap:44px;} }
.sec-grid h2{font-size:clamp(26px,3.4vw,34px);}
.sec-grid .lede{margin-top:16px;}
.sec-list{margin-top:30px;display:flex;flex-direction:column;gap:16px;}
.sec-list div{display:flex;gap:12px;align-items:flex-start;}
.sec-list .num{
font-family:'Space Grotesk',sans-serif;
color:var(--blue-300);
font-size:13px;
font-weight:600;
border:1px solid var(--line);
border-radius:50%;
width:24px;height:24px;
display:flex;align-items:center;justify-content:center;
flex:none;
margin-top:2px;
}
.sec-list p{color:var(--ink-dim);font-size:14.5px;}
.sec-list strong{color:var(--ink);}
.flow{
background:var(--void);
border:1px solid var(--line);
border-radius:var(--radius-md);
padding:32px;
}
.flow-step{
display:flex;
align-items:center;
gap:16px;
padding:16px 0;
}
.flow-step .ic{
width:42px;height:42px;
border-radius:10px;
background:var(--panel-2);
border:1px solid var(--line);
display:flex;align-items:center;justify-content:center;
flex:none;
}
.flow-step strong{display:block;font-size:14.5px;}
.flow-step span{display:block;font-size:13px;color:var(--ink-dim);margin-top:2px;}
.flow-line{
width:1px;
height:22px;
background:var(--line);
margin-left:21px;
}
/* ---------- compliance strip ---------- */
.compliance{
padding:80px 0;
}
.compliance .container{
display:grid;
grid-template-columns:0.8fr 1.2fr;
gap:56px;
align-items:start;
}
@media (max-width:860px){ .compliance .container{grid-template-columns:1fr;gap:28px;} }
.compliance h2{font-size:clamp(24px,3vw,32px);}
.compliance .lede{margin-top:14px;}
.compliance-note{
background:var(--panel-2);
border:1px solid var(--line);
border-left:3px solid var(--blue-500);
border-radius:0 var(--radius-sm) var(--radius-sm) 0;
padding:20px 22px;
font-size:14px;
color:var(--ink-dim);
}
.compliance-note strong{color:var(--ink);display:block;margin-bottom:6px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;}
/* ---------- pricing ---------- */
.pricing{
background:var(--panel);
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
}
.pricing-head{text-align:center;max-width:520px;margin:0 auto 48px;}
.pricing-head h2{font-size:clamp(26px,3.4vw,36px);}
.pricing-head .lede{margin:14px auto 0;text-align:center;}
.price-card{
max-width:520px;
margin:0 auto;
background:linear-gradient(180deg, var(--panel-2), var(--void));
border:1px solid var(--line);
border-radius:20px;
padding:44px;
position:relative;
box-shadow:0 40px 90px -40px rgba(46,126,247,.35);
}
.price-badge{
position:absolute;
top:-14px;left:44px;
background:var(--blue-500);
color:#fff;
font-size:12.5px;
font-weight:600;
padding:6px 14px;
border-radius:999px;
}
.price-tag{
display:flex;
align-items:baseline;
gap:8px;
margin-top:10px;
}
.price-tag .num{
font-family:'Space Grotesk',sans-serif;
font-size:52px;
font-weight:700;
}
.price-tag .unit{color:var(--ink-dim);font-size:15px;}
.price-desc{color:var(--ink-dim);font-size:14.5px;margin-top:8px;}
.price-list{
margin:30px 0 32px;
display:flex;
flex-direction:column;
gap:14px;
}
.price-list div{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;}
.price-list div::before{
content:"";
width:16px;height:16px;
margin-top:3px;
flex:none;
border-radius:50%;
background:rgba(52,199,123,.15);
border:1px solid var(--green);
}
.price-card .btn{width:100%;justify-content:center;}
.price-compare{
text-align:center;
margin-top:22px;
font-size:13px;
color:var(--ink-dim);
}
/* ---------- contact ---------- */
.contact .container{
display:grid;
grid-template-columns:1fr 1fr;
gap:64px;
}
@media (max-width:900px){ .contact .container{grid-template-columns:1fr;gap:36px;} }
.contact h2{font-size:clamp(26px,3.4vw,36px);}
.contact .lede{margin-top:16px;}
.contact-links{margin-top:30px;display:flex;flex-direction:column;gap:14px;}
.contact-links a{
display:flex;
align-items:center;
gap:10px;
font-size:14.5px;
color:var(--ink-dim);
transition:color .15s ease;
}
.contact-links a:hover{color:var(--blue-300);}
form{
background:var(--panel);
border:1px solid var(--line);
border-radius:var(--radius-md);
padding:32px;
display:flex;
flex-direction:column;
gap:16px;
}
form label{font-size:13.5px;color:var(--ink-dim);margin-bottom:6px;display:block;}
form input, form textarea{
width:100%;
background:var(--void);
border:1px solid var(--line);
border-radius:8px;
padding:12px 14px;
color:var(--ink);
font-family:'Inter',sans-serif;
font-size:14.5px;
}
form input:focus, form textarea:focus{border-color:var(--blue-500);outline:none;}
form textarea{resize:vertical;min-height:90px;}
form button{margin-top:6px;}
/* ---------- footer ---------- */
footer{padding:48px 0;}
.footer-row{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:20px;
padding-top:32px;
border-top:1px solid var(--line);
}
.footer-row .brand .word{font-size:17px;}
footer .fine{color:var(--ink-dim);font-size:13px;}
</style>
</head>
<body>
<header>
<div class="container nav">
<a href="#top" class="brand">
<img src="assets/logo-icon.png" alt="PontoX">
<span class="word">PONTO<span>X</span></span>
</a>
<nav class="nav-links">
<a href="#recursos">Recursos</a>
<a href="#como-funciona">Como funciona</a>
<a href="#seguranca">Segurança</a>
<a href="#precos">Preços</a>
<a href="#contato">Contato</a>
</nav>
<div class="nav-cta">
<a href="#contato" class="btn btn-ghost">Falar com a gente</a>
<a href="#video" class="btn btn-primary">Ver demonstração</a>
</div>
</div>
</header>
<main id="top">
<!-- HERO -->
<section class="hero">
<div class="container">
<div class="hero-text">
<h1>Chega de planilha para controlar o ponto da sua equipe.</h1>
<p class="lede">O PontoX registra a jornada de cada funcionário, calcula o banco de horas e deixa o relatório pronto pra exportar — com backup automático todos os dias e uma trilha de auditoria para cada edição.</p>
<div class="hero-actions">
<a href="#video" class="btn btn-primary">Assistir demonstração</a>
<a href="#contato" class="btn btn-ghost">Falar com a gente</a>
</div>
<div class="trust-chips">
<span>Exportação em PDF e Excel</span>
<span>Backup diário automático</span>
<span>Modo Quiosque</span>
<span>Auditoria completa</span>
</div>
</div>
<div class="hero-visual">
<div class="clock-ring" aria-hidden="true"></div>
<div class="device-frame">
<div class="bar"><i></i><i></i><i></i></div>
<img src="assets/screenshot-relatorios.png" alt="Tela de relatórios do PontoX, com exportação em Excel e PDF">
</div>
<div class="float-badge b1">
<b>525 min</b>
meta diária calculada sozinha
</div>
<div class="float-badge b2">
<b>2 cliques</b>
do filtro ao relatório exportado
</div>
</div>
</div>
</section>
<!-- VIDEO -->
<section class="video-section" id="video">
<div class="container">
<div class="video-head">
<span class="eyebrow-free-label">Demonstração</span>
<h2 style="margin-top:10px;">Veja o PontoX rodando de verdade</h2>
<p class="lede">Um passeio rápido pelas telas de admin e de funcionário: bater o ponto, editar um registro, gerar e exportar um relatório.</p>
</div>
<div class="video-wrap">
<video id="demo-video" controls preload="none" poster="assets/screenshot-relatorios.png">
<!-- Substitua "assets/demo.mp4" pelo arquivo real do vídeo de demonstração -->
<source src="assets/demo.mp4" type="video/mp4">
</video>
<div class="video-fallback" id="video-fallback">
<div class="play-btn">
<svg width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M6 4L18 11L6 18V4Z" fill="white"/></svg>
</div>
<strong>Vídeo de demonstração em breve</strong>
<p>Assim que o arquivo for adicionado em <code>assets/demo.mp4</code>, ele aparece direto aqui.</p>
</div>
</div>
</div>
</section>
<!-- TIMELINE / COMO FUNCIONA -->
<section id="como-funciona">
<div class="container">
<div class="timeline-head">
<span class="eyebrow-free-label">Como funciona</span>
<h2 style="margin-top:10px;">O dia inteiro, sem planilha</h2>
<p class="lede">Do primeiro ao último registro, o PontoX acompanha a jornada e fecha as contas sozinho.</p>
</div>
<div class="timeline">
<div class="t-step">
<div class="t-dot">1</div>
<span class="time">08:00 — Entrada</span>
<h4>Bate o ponto pelo app</h4>
<p>O funcionário registra a entrada e o horário fica salvo na hora, sem depender de planilha ou papel.</p>
</div>
<div class="t-step">
<div class="t-dot">2</div>
<span class="time">1h15 — Intervalo</span>
<h4>Pausa registrada</h4>
<p>O intervalo entra automaticamente no cálculo da jornada, seguindo a configuração de turno da empresa.</p>
</div>
<div class="t-step">
<div class="t-dot">3</div>
<span class="time">18:00 — Saída</span>
<h4>Modo Quiosque protege o fechamento</h4>
<p>Se passar do horário sem bater o ponto, a tela trava até o registro ou a liberação por um supervisor.</p>
</div>
<div class="t-step">
<div class="t-dot">4</div>
<span class="time">Fim do dia</span>
<h4>Banco de horas atualizado</h4>
<p>O saldo do dia é calculado sozinho e já fica disponível pra conferência e exportação.</p>
</div>
</div>
</div>
</section>
<!-- FEATURES -->
<section id="recursos">
<div class="container">
<div class="feature-row">
<div class="f-text">
<h3>Relatórios que fecham a folha em minutos</h3>
<p>Filtre por período ou por funcionário e exporte direto em Excel ou PDF. O que hoje leva uma tarde inteira de planilha, no PontoX é um filtro e dois cliques.</p>
</div>
<div class="f-visual">
<img src="assets/screenshot-relatorios.png" alt="Tela de relatórios do PontoX com filtros de data e exportação em PDF e Excel">
</div>
</div>
<div class="feature-row reverse">
<div class="f-text">
<h3>Banco de horas sempre visível</h3>
<p>Cada funcionário acompanha o próprio ponto, o total de horas trabalhadas e o saldo do banco de horas direto no app — sem precisar perguntar pro RH.</p>
</div>
<div class="f-visual">
<div class="mock">
<div class="row"><span class="dot"></span><span>Entrada</span><strong style="margin-left:auto">08:02</strong></div>
<div class="row"><span class="dot"></span><span>Intervalo</span><strong style="margin-left:auto">1h15</strong></div>
<div class="row"><span class="dot"></span><span>Saída</span><strong style="margin-left:auto">18:04</strong></div>
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Banco de horas</span><strong style="margin-left:auto">+0h06</strong></div>
</div>
</div>
</div>
<div class="feature-row">
<div class="f-text">
<h3>Auditoria de cada edição</h3>
<p>Toda alteração manual de ponto — abono, atestado, ajuste de horário — fica registrada: quem editou, quando e o motivo. Segurança pra empresa e pro funcionário.</p>
</div>
<div class="f-visual">
<div class="mock">
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Ajuste de saída — Diretoria</span></div>
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Abono de atestado — Financeiro</span></div>
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Edição de intervalo — Operações</span></div>
</div>
</div>
</div>
<div class="feature-row reverse">
<div class="f-text">
<h3>Modo Quiosque</h3>
<p>Depois do fim do expediente, a tela trava em tela cheia até o funcionário bater a saída — ou até um supervisor liberar com senha. Ninguém esquece de fechar o ponto.</p>
</div>
<div class="f-visual">
<div class="mock">
<div class="row locked"><span class="dot"></span><span>18:10 — tela travada</span></div>
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Aguardando registro de saída</span></div>
<div class="row"><span class="dot" style="background:var(--blue-500)"></span><span>Liberação por senha de supervisor</span></div>
</div>
</div>
</div>
</div>
</section>
<!-- SECURITY -->
<section class="security" id="seguranca">
<div class="container sec-grid">
<div>
<span class="eyebrow-free-label">Segurança</span>
<h2 style="margin-top:10px;">Seus dados, guardados a sério</h2>
<p class="lede">Backup automático, todos os dias, sem que ninguém precise lembrar de fazer nada.</p>
<div class="sec-list">
<div>
<span class="num">1</span>
<p><strong>Backup diário de madrugada</strong> — os registros do dia são copiados automaticamente, sem intervenção manual.</p>
</div>
<div>
<span class="num">2</span>
<p><strong>Armazenamento redundante</strong> — cópia guardada em servidor dedicado, com quase 3 TB de capacidade só pra isso.</p>
</div>
<div>
<span class="num">3</span>
<p><strong>Sem custo extra</strong> — o armazenamento e o backup já estão inclusos no plano, sem cobrança separada.</p>
</div>
</div>
</div>
<div class="flow">
<div class="flow-step">
<div class="ic"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--blue-300)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3.5 2"/></svg></div>
<div><strong>Ponto registrado</strong><span>Entrada, intervalo ou saída batida pelo app</span></div>
</div>
<div class="flow-line"></div>
<div class="flow-step">
<div class="ic"><svg width="21" height="21" viewBox="0 0 24 24" fill="none" stroke="var(--blue-300)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 18a4 4 0 0 1-.5-7.97A5.5 5.5 0 0 1 16.5 8.5 4.5 4.5 0 0 1 17 18H6.5Z"/></svg></div>
<div><strong>Salvo na nuvem</strong><span>Gravado no banco de dados em tempo real</span></div>
</div>
<div class="flow-line"></div>
<div class="flow-step">
<div class="ic"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--blue-300)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5A8.5 8.5 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z"/></svg></div>
<div><strong>Backup automático</strong><span>Cópia gerada de madrugada, todos os dias</span></div>
</div>
<div class="flow-line"></div>
<div class="flow-step">
<div class="ic"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--blue-300)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="6" rx="7" ry="2.6"/><path d="M5 6v6c0 1.4 3.1 2.6 7 2.6s7-1.2 7-2.6V6"/><path d="M5 12v6c0 1.4 3.1 2.6 7 2.6s7-1.2 7-2.6v-6"/></svg></div>
<div><strong>Armazenamento redundante</strong><span>Guardado em servidor dedicado, fora da nuvem principal</span></div>
</div>
</div>
</div>
</section>
<!-- COMPLIANCE -->
<section class="compliance">
<div class="container">
<div>
<span class="eyebrow-free-label">Conformidade</span>
<h2 style="margin-top:10px;">De olho na legislação trabalhista</h2>
<p class="lede">Cada registro fica rastreável, com data, hora e autor — pensado pra dar segurança jurídica pros dois lados.</p>
</div>
<div class="compliance-note">
<strong>Sobre a Portaria 671/2021</strong>
O PontoX foi desenvolvido com atenção às exigências do Ministério do Trabalho para o registro eletrônico de jornada — trilha de auditoria, histórico de edições e relatórios exportáveis para fiscalização. Se a sua empresa precisa de um sistema homologado como REP-P com certificação ICP-Brasil, fale com a gente antes de contratar pra confirmar se o enquadramento atual atende esse requisito específico.
</div>
</div>
</section>
<!-- PRICING -->
<section class="pricing" id="precos">
<div class="container">
<div class="pricing-head">
<span class="eyebrow-free-label">Preço</span>
<h2 style="margin-top:10px;">Um plano simples, sem letra miúda</h2>
<p class="lede">Um valor por usuário, com o que a maioria dos concorrentes cobra à parte já incluso.</p>
</div>
<div class="price-card">
<span class="price-badge">Promocional</span>
<div class="price-tag">
<span class="num">R$ 19,90</span>
<span class="unit">/ usuário / mês</span>
</div>
<p class="price-desc">Banco de dados incluso para empresas com até 50 funcionários.</p>
<div class="price-list">
<div>Relatórios ilimitados em PDF e Excel</div>
<div>Backup diário automático, todos os dias</div>
<div>Armazenamento incluso, sem cobrança extra</div>
<div>Auditoria completa de edições de ponto</div>
<div>Modo Quiosque para fechamento de turno</div>
</div>
<a href="#contato" class="btn btn-primary">Quero testar o PontoX</a>
<p class="price-compare">Sistemas parecidos no mercado costumam cobrar entre R$18 e R$22 por usuário — geralmente sem backup nem armazenamento inclusos.</p>
</div>
</div>
</section>
<!-- CONTACT -->
<section class="contact" id="contato">
<div class="container">
<div>
<span class="eyebrow-free-label">Contato</span>
<h2 style="margin-top:10px;">Bora tirar o ponto da planilha</h2>
<p class="lede">Preenche os dados abaixo ou chama direto — a gente te mostra o PontoX funcionando na sua empresa.</p>
<div class="contact-links">
<a href="mailto:[email protected]"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m4 7 8 6 8-6"/></svg> [email protected]</a>
<a href="https://wa.me/5500000000000" target="_blank" rel="noopener"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20.5 3.5 12.5 11.5"/><path d="M20.5 3.5 14 20.5l-3-6.5-6.5-3Z"/></svg> Falar no WhatsApp</a>
</div>
<p class="fine" style="margin-top:22px;">* E-mail e WhatsApp acima são placeholders — troque pelos contatos reais do PontoX antes de publicar.</p>
</div>
<form action="mailto:[email protected]" method="post" enctype="text/plain">
<div>
<label for="nome">Nome</label>
<input type="text" id="nome" name="nome" required>
</div>
<div>
<label for="empresa">Empresa</label>
<input type="text" id="empresa" name="empresa" required>
</div>
<div>
<label for="email">E-mail ou WhatsApp</label>
<input type="text" id="email" name="contato" required>
</div>
<div>
<label for="mensagem">Quantos funcionários você quer controlar?</label>
<textarea id="mensagem" name="mensagem"></textarea>
</div>
<button type="submit" class="btn btn-primary">Solicitar demonstração</button>
</form>
</div>
</section>
</main>
<footer>
<div class="container">
<div class="footer-row">
<a href="#top" class="brand">
<img src="assets/logo-icon.png" alt="PontoX">
<span class="word">PONTO<span>X</span></span>
</a>
<span class="fine">Gestão inteligente de pessoas, sem planilha.</span>
<span class="fine">© 2026 PontoX</span>
</div>
</div>
</footer>
<script>
// Mostra o vídeo real assim que assets/demo.mp4 existir; até lá, mantém o fallback com poster.
(function(){
var video = document.getElementById('demo-video');
var fallback = document.getElementById('video-fallback');
var source = video.querySelector('source');
function showFallback(){ fallback.style.display = 'flex'; }
function hideFallback(){ fallback.style.display = 'none'; }
showFallback();
fallback.addEventListener('click', function(){
video.load();
video.play().catch(function(){ /* arquivo ainda não existe */ });
});
video.addEventListener('loadeddata', hideFallback);
video.addEventListener('error', showFallback);
})();
</script>
</body>
</html>
Deixe um comentário