Escrito por

em

<!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>

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *