/* ===================== TOKENS ===================== */
:root{
  --navy-900:#071543;
  --navy-800:#0a1e5e;
  --navy-700:#0f2b7a;
  --navy-600:#173aa0;
  --blue-500:#2f6bff;
  --blue-400:#3b82f6;
  --blue-300:#7ea6ff;
  --sky-200:#bfdbfe;
  --ink:#0b1220;
  --slate-700:#334155;
  --slate-500:#64748b;
  --slate-300:#cbd5e1;
  --line:#e6ebf5;
  --bg:#f4f7fd;
  --card:#ffffff;
  --white:#ffffff;
  --green-500:#16a34a;
  --green-400:#22c55e;
  --amber-500:#f59e0b;
  --radius:16px;
  --shadow-sm:0 2px 8px rgba(10,30,94,.06);
  --shadow-md:0 12px 30px rgba(10,30,94,.12);
  --shadow-lg:0 30px 70px rgba(7,21,67,.28);
  --font-sans:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-head:'Sora','Manrope',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin-inline:auto}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-head);font-weight:700;font-size:.95rem;
  padding:.7rem 1.25rem;border-radius:999px;cursor:pointer;border:none;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  white-space:nowrap;
}
.btn-lg{padding:.95rem 1.6rem;font-size:1.02rem}
.btn-block{width:100%}
.btn-primary{background:linear-gradient(135deg,var(--blue-500),var(--navy-600));color:#fff;box-shadow:0 10px 24px rgba(47,107,255,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(47,107,255,.5)}
.btn-ghost{background:transparent;color:var(--navy-800)}
.btn-ghost:hover{background:rgba(15,43,122,.08)}
.btn-outline{background:transparent;color:var(--navy-700);border:2px solid var(--line)}
.btn-outline:hover{border-color:var(--blue-500);color:var(--blue-500);transform:translateY(-2px)}
.btn-play{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-play:hover{background:rgba(255,255,255,.24);transform:translateY(-3px)}
.play-ico{width:30px;height:30px;border-radius:50%;background:var(--blue-500);display:grid;place-items:center}

/* ===================== HEADER ===================== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem}
.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy-800);display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:var(--font-head);font-size:1.15rem;color:var(--navy-800)}
.brand-text small{font-size:.7rem;color:var(--slate-500);letter-spacing:.14em;text-transform:uppercase}
.main-nav{display:flex;gap:1.6rem}
.main-nav a{font-weight:600;color:var(--slate-700);font-size:.95rem;position:relative;padding:.25rem 0}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--blue-500);transition:width .3s ease}
.main-nav a:hover{color:var(--navy-800)}
.main-nav a:hover::after{width:100%}
.header-cta{display:flex;gap:.6rem;align-items:center}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{width:24px;height:2.5px;background:var(--navy-800);border-radius:2px;transition:.3s}
.mobile-nav{display:none;flex-direction:column;gap:.4rem;padding:1rem 4%;background:#fff;border-bottom:1px solid var(--line)}
.mobile-nav a{padding:.7rem;font-weight:600;color:var(--slate-700);border-radius:10px}
.mobile-nav a:hover{background:var(--bg)}
.mobile-nav.open{display:flex}

/* ===================== HERO ===================== */
.hero{
  position:relative;overflow:hidden;
  background:radial-gradient(1200px 600px at 80% -10%,#173aa0 0,transparent 60%),
             linear-gradient(160deg,var(--navy-900),var(--navy-800) 55%,var(--navy-700));
  color:#fff;padding:4.5rem 0 3rem;
}
.hero-glow{position:absolute;inset:0;background:
  radial-gradient(500px 300px at 15% 20%,rgba(59,130,246,.25),transparent 70%),
  radial-gradient(500px 300px at 90% 80%,rgba(47,107,255,.2),transparent 70%);
  pointer-events:none;animation:floatGlow 12s ease-in-out infinite alternate}
@keyframes floatGlow{from{transform:translateY(0)}to{transform:translateY(-24px)}}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;position:relative;z-index:1}
.badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.4rem .9rem;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--sky-200)}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--green-400);box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hero h1{font-family:var(--font-head);font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.08;margin:1.1rem 0;letter-spacing:-.02em;text-wrap:balance}
.grad{background:linear-gradient(90deg,#7ea6ff,#bfdbfe);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.12rem;color:#d7e0f5;max-width:34rem}
.lead strong{color:#fff}
.hero-actions{display:flex;gap:.9rem;margin:1.8rem 0 1.4rem;flex-wrap:wrap}
.hero-highlights{display:flex;gap:1.4rem;flex-wrap:wrap;list-style:none;color:#cdd7f0;font-weight:600;font-size:.92rem}
.hero-highlights li{display:flex;align-items:center;gap:.4rem}

/* Hero visual / vídeo */
.hero-visual{position:relative}
.video-frame{background:#0b153b;border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);transform:perspective(1200px) rotateY(-6deg) rotateX(3deg);transition:transform .6s ease}
.hero-visual:hover .video-frame{transform:perspective(1200px) rotateY(0) rotateX(0)}
.video-topbar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;background:#0a1234;border-bottom:1px solid rgba(255,255,255,.08)}
.tb-dot{width:11px;height:11px;border-radius:50%}
.tb-dot.red{background:#ff5f57}.tb-dot.yellow{background:#febc2e}.tb-dot.green{background:#28c840}
.tb-url{margin-left:.6rem;font-size:.78rem;color:#9fb0e0;background:rgba(255,255,255,.06);padding:.15rem .7rem;border-radius:999px}
.video-stage{position:relative;aspect-ratio:16/10;background:#050b28}
.video-stage video{width:100%;height:100%;object-fit:cover;display:block}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:radial-gradient(600px 300px at 50% 40%,#12245f,#050b28);text-align:center;color:#c7d3f2}
.video-placeholder p{font-family:var(--font-head);font-weight:700;color:#fff}
.video-placeholder span{font-size:.82rem;color:#8fa2d6}
.video-placeholder code{background:rgba(255,255,255,.1);padding:.1rem .4rem;border-radius:6px;color:#bfdbfe}
.video-play-btn{width:76px;height:76px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--blue-500),var(--navy-600));display:grid;place-items:center;box-shadow:0 10px 30px rgba(47,107,255,.6);animation:pulse 2.4s infinite;transition:transform .3s}
.video-play-btn:hover{transform:scale(1.08)}
.video-placeholder.hidden{display:none}

.floating-card{position:absolute;background:#fff;color:var(--ink);border-radius:14px;padding:.7rem .9rem;display:flex;align-items:center;gap:.6rem;box-shadow:var(--shadow-md);animation:floatCard 4s ease-in-out infinite}
.floating-card small{display:block;color:var(--slate-500);font-size:.75rem}
.floating-card strong{font-size:.9rem;font-family:var(--font-head)}
.fc-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff}
.fc-ico.ok{background:var(--green-500)}.fc-ico.blue{background:var(--blue-500);font-size:.8rem}
.fc-1{top:8%;left:-26px;animation-delay:.2s}
.fc-2{bottom:8%;right:-22px;animation-delay:1.4s}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Trust strip */
.trust-strip{display:flex;align-items:center;gap:1.2rem;margin-top:3rem;flex-wrap:wrap;position:relative;z-index:1}
.trust-strip>span{color:#9fb0e0;font-size:.9rem;font-weight:600}
.trust-pills{display:flex;gap:.5rem;flex-wrap:wrap}
.pill{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#dbe4fb;padding:.35rem .9rem;border-radius:999px;font-weight:700;font-size:.85rem;font-family:var(--font-head)}

/* ===================== SECTIONS ===================== */
.section{padding:5rem 0}
.section-head{text-align:center;max-width:44rem;margin:0 auto 3rem}
.eyebrow{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-500);margin-bottom:.8rem}
.eyebrow.light{color:var(--blue-300)}
.section-head h2{font-family:var(--font-head);font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.02em;line-height:1.15;color:var(--navy-900);text-wrap:balance}
.section-head h2.light{color:#fff}
.section-head p{margin-top:.9rem;color:var(--slate-500);font-size:1.05rem}
.light-muted{color:#b9c6ec !important}

/* Módulos grid */
.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.module-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .35s ease,box-shadow .35s ease,border-color .35s;position:relative;overflow:hidden}
.module-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--blue-500);opacity:.9}
.module-card.accent-blue::before{background:var(--blue-500)}
.module-card.accent-cyan::before{background:#06b6d4}
.module-card.accent-indigo::before{background:#4f46e5}
.module-card.accent-teal::before{background:#0d9488}
.module-card.accent-amber::before{background:#f59e0b}
.module-card.accent-violet::before{background:#7c3aed}
.module-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:transparent}
.mc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.mc-ico{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#eaf1ff,#dbe6ff);color:var(--navy-700);display:grid;place-items:center}
.mc-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--blue-500);padding:.25rem .6rem;border-radius:999px}
.module-card h3{font-family:var(--font-head);font-size:1.5rem;color:var(--navy-900);margin-bottom:.4rem}
.module-card>p{color:var(--slate-500);font-size:.95rem;margin-bottom:1rem}
.module-card ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.module-card ul li{position:relative;padding-left:1.5rem;font-size:.9rem;color:var(--slate-700)}
.module-card ul li::before{content:"✓";position:absolute;left:0;color:var(--green-500);font-weight:800}

/* ===================== SPLIT (telas) ===================== */
.section-dark{background:linear-gradient(160deg,var(--navy-900),var(--navy-800))}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.split.reverse{grid-template-columns:1.1fr .9fr}
.split.reverse .split-copy{order:2}
.split.reverse .split-mock{order:1}
.split-copy h2{font-family:var(--font-head);font-size:clamp(1.6rem,3vw,2.3rem);color:var(--navy-900);letter-spacing:-.02em;margin-bottom:.9rem;text-wrap:balance}
.split-copy h2.light{color:#fff}
.split-copy p{color:var(--slate-500);margin-bottom:1.2rem}
.check-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.6rem}
.check-list li{position:relative;padding-left:1.8rem;font-weight:600;color:var(--slate-700)}
.check-list li::before{content:"✓";position:absolute;left:0;width:20px;height:20px;border-radius:50%;background:rgba(34,197,94,.15);color:var(--green-500);display:grid;place-items:center;font-size:.75rem}
.section-dark .check-list li{color:#dbe4fb}

/* App window mock */
.app-window{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid rgba(255,255,255,.2);transition:transform .4s}
.split-mock:hover .app-window{transform:translateY(-6px)}
.app-topbar{background:linear-gradient(90deg,var(--navy-800),var(--navy-600));color:#fff;padding:.9rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.aw-title{display:flex;align-items:center;gap:.7rem}
.aw-title strong{font-family:var(--font-head);font-size:1.05rem;display:block}
.aw-title small{font-size:.75rem;color:#c3d0f5}
.aw-btn{background:#fff;color:var(--navy-800);font-weight:700;font-size:.82rem;padding:.45rem .9rem;border-radius:8px}
.app-body{padding:1.1rem;display:flex;flex-direction:column;gap:1rem;background:#f6f8fe}
.app-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem}
.app-card-title{font-family:var(--font-head);font-weight:700;color:var(--navy-800);font-size:.9rem;margin-bottom:.8rem}
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:.7rem}
.fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;font-weight:600;color:var(--slate-500)}
.fields input,.fields select{border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;font-size:.8rem;font-family:inherit;color:var(--ink);background:#fff}
.fields input:focus,.fields select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(47,107,255,.15)}
.field-btns{flex-direction:row !important;align-items:flex-end;gap:.5rem;justify-content:flex-end}
.mini-btn{padding:.5rem .8rem;border-radius:8px;font-weight:700;font-size:.78rem;cursor:pointer}
.mini-btn.ghost{background:#eef2fb;color:var(--slate-700)}
.mini-btn.solid{background:var(--navy-800);color:#fff}

.table-wrap{overflow-x:auto}
.mock-table{width:100%;border-collapse:collapse;font-size:.82rem}
.mock-table th{text-align:left;color:var(--slate-500);font-weight:700;padding:.55rem .6rem;border-bottom:2px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}
.mock-table td{padding:.6rem .6rem;border-bottom:1px solid var(--line);color:var(--slate-700)}
.mock-table tbody tr{transition:background .2s}
.mock-table tbody tr:hover{background:#f4f7fd}
.st{font-weight:700;font-size:.72rem;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}
.st.ok{background:rgba(34,197,94,.14);color:var(--green-500)}
.st.pend{background:rgba(245,158,11,.16);color:#b45309}

/* PDV mock */
.app-window.pdv .pdv-body{padding:1.1rem;background:#f6f8fe;display:flex;flex-direction:column;gap:1rem}
.pdv-inputs{display:grid;grid-template-columns:90px 1fr 120px;gap:.7rem}
.pdv-inputs label{display:flex;flex-direction:column;gap:.25rem;font-size:.68rem;font-weight:700;color:var(--slate-500)}
.pdv-inputs input{border:1px solid var(--line);border-radius:8px;padding:.55rem;font-size:.9rem;font-family:inherit}
.pdv-inputs .grow input{color:var(--slate-500)}
.pdv-cols{display:grid;grid-template-columns:1fr 240px;gap:1rem}
.pdv-items{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem}
.pdv-items-head{display:flex;justify-content:space-between;font-family:var(--font-head);font-weight:700;color:var(--navy-800);font-size:.9rem;margin-bottom:.7rem}
.pdv-items-head span{color:var(--blue-500)}
.pdv-side{display:flex;flex-direction:column;gap:.7rem}
.pdv-client{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem}
.pdv-client small{color:var(--slate-500);font-size:.7rem;font-weight:700}
.pdv-client strong{display:block;font-family:var(--font-head);color:var(--navy-800);font-size:1rem}
.pdv-keys{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pdv-keys span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem;text-align:center;font-size:.72rem;font-weight:600;color:var(--slate-700)}
.pdv-keys b{display:block;color:var(--navy-800);font-family:var(--font-head)}
.pdv-finish{background:var(--green-500);color:#fff;border:none;border-radius:12px;padding:.9rem;font-weight:800;font-family:var(--font-head);cursor:pointer;transition:.25s}
.pdv-finish b{margin-right:.3rem}
.pdv-finish:hover{background:#128a3d;transform:translateY(-2px)}
.pdv-totals div{display:flex;justify-content:space-between;font-size:.85rem;color:var(--slate-700);padding:.15rem 0}
.pdv-total-big{background:var(--navy-800);color:#fff;border-radius:12px;padding:.8rem 1rem;text-align:right}
.pdv-total-big small{font-size:.7rem;color:#c3d0f5}
.pdv-total-big strong{display:block;font-family:var(--font-head);font-size:1.6rem}

/* ===================== NUMBERS ===================== */
.section-numbers{background:radial-gradient(900px 500px at 50% -20%,#173aa0,transparent),linear-gradient(160deg,var(--navy-900),var(--navy-800));color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.stat{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:1.8rem 1rem;transition:transform .35s,background .35s}
.stat:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.stat strong{font-family:var(--font-head);font-size:clamp(1.8rem,3.5vw,2.6rem);background:linear-gradient(90deg,#fff,#bfdbfe);-webkit-background-clip:text;background-clip:text;color:transparent;display:block}
.stat span{color:#b9c6ec;font-size:.92rem;margin-top:.4rem;display:block}

/* ===================== FEATURES ===================== */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.feature:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.f-ico{font-size:1.8rem;display:inline-block;margin-bottom:.6rem}
.feature h4{font-family:var(--font-head);color:var(--navy-900);font-size:1.15rem;margin-bottom:.4rem}
.feature p{color:var(--slate-500);font-size:.92rem}

/* ===================== PLANS ===================== */
.section-plans{background:var(--bg)}
.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem 1.7rem;box-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.plan:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.plan.featured{background:linear-gradient(160deg,var(--navy-800),var(--navy-700));color:#fff;transform:scale(1.03);box-shadow:var(--shadow-lg)}
.plan.featured:hover{transform:scale(1.03) translateY(-8px)}
.plan-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue-500);color:#fff;font-weight:700;font-size:.72rem;padding:.35rem .9rem;border-radius:999px;font-family:var(--font-head)}
.plan h3{font-family:var(--font-head);font-size:1.4rem;margin-bottom:.6rem}
.price{font-family:var(--font-head);font-size:3rem;font-weight:800;line-height:1;display:flex;align-items:flex-start;gap:.2rem;color:var(--navy-900)}
.plan.featured .price{color:#fff}
.price small{font-size:1.1rem;margin-top:.6rem;color:var(--slate-500)}
.plan.featured .price small{color:#bfdbfe}
.price span{font-size:.95rem;font-weight:600;align-self:flex-end;margin-bottom:.5rem;color:var(--slate-500)}
.plan.featured .price span{color:#bfdbfe}
.plan-desc{color:var(--slate-500);margin:.6rem 0 1rem;font-size:.92rem}
.plan.featured .plan-desc{color:#c3d0f5}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.6rem;flex:1}
.plan ul li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--slate-700)}
.plan.featured ul li{color:#dbe4fb}
.plan ul li::before{content:"✓";position:absolute;left:0;color:var(--green-500);font-weight:800}
.plan.featured ul li::before{color:var(--green-400)}

/* ===================== CTA ===================== */
.cta-section{background:radial-gradient(800px 400px at 20% 20%,#173aa0,transparent),linear-gradient(160deg,var(--navy-900),var(--navy-800));color:#fff;padding:5rem 0}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.cta-copy h2{font-family:var(--font-head);font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.02em;margin-bottom:1rem;text-wrap:balance}
.cta-copy p{color:#c3d0f5;font-size:1.08rem;margin-bottom:1.4rem}
.cta-benefits{list-style:none;display:flex;flex-direction:column;gap:.6rem;color:#dbe4fb;font-weight:600}
.cta-form{background:#fff;color:var(--ink);border-radius:20px;padding:2rem;box-shadow:var(--shadow-lg)}
.cta-form h3{font-family:var(--font-head);color:var(--navy-900);font-size:1.3rem;margin-bottom:1.2rem}
.cta-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.85rem;color:var(--slate-700);margin-bottom:.9rem}
.cta-form input,.cta-form select{border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;font-family:inherit;font-size:.95rem}
.cta-form input:focus,.cta-form select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(47,107,255,.15)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form-note{margin-top:.8rem;color:var(--green-500);font-weight:700;font-size:.9rem;min-height:1.2rem;text-align:center}

/* ===================== FOOTER ===================== */
.site-footer{background:var(--navy-900);color:#c3d0f5;padding:3.5rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.footer-brand .brand-text strong{color:#fff}
.footer-brand p{margin-top:1rem;color:#9fb0e0;font-size:.92rem;max-width:22rem}
.footer-col h5{font-family:var(--font-head);color:#fff;margin-bottom:.9rem;font-size:1rem}
.footer-col a{display:block;color:#9fb0e0;font-size:.9rem;padding:.25rem 0;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;color:#7e8fc0;text-align:center}

/* Sticky CTA (mobile) */
.sticky-cta{display:none;position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:60;background:linear-gradient(135deg,var(--blue-500),var(--navy-600));color:#fff;font-family:var(--font-head);font-weight:700;padding:.9rem 1.6rem;border-radius:999px;box-shadow:0 12px 30px rgba(47,107,255,.5);white-space:nowrap}

/* ===================== REVEAL ANIM ===================== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero-glow,.floating-card,.badge .dot,.video-play-btn{animation:none}
}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1024px){
  .modules-grid,.feature-grid,.plans-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}
  .main-nav,.header-cta .btn-ghost{display:none}
}
@media (max-width:860px){
  .menu-toggle{display:flex}
  .header-cta{display:none}
  .hero-inner,.split,.split.reverse,.cta-inner,.footer-grid{grid-template-columns:1fr}
  .split.reverse .split-copy,.split.reverse .split-mock{order:0}
  .hero-visual{margin-top:1rem}
  .video-frame{transform:none}
  .footer-grid{gap:1.6rem}
  .fields{grid-template-columns:1fr 1fr}
  .pdv-cols{grid-template-columns:1fr}
  .plan.featured{transform:none}
  .sticky-cta{display:block}
  .fc-1{left:-8px}.fc-2{right:-6px}
}
@media (max-width:520px){
  .modules-grid,.feature-grid,.plans-grid,.stats-grid,.form-row{grid-template-columns:1fr}
  .pdv-inputs{grid-template-columns:1fr}
  .hero{padding-top:3rem}
  .section{padding:3.5rem 0}
}


/* ===================== AJUSTES FLYPPER / FONTAWESOME ===================== */
.brand-logo{
  width:auto;
  height:54px;
  object-fit:contain;
}
.footer-logo{
  width:auto;
  height:72px;
  object-fit:contain;
}
.footer-brand-logo-wrap{align-items:flex-start}
.hero-highlights i{
  color:var(--green-400);
  width:18px;
  text-align:center;
}
.btn i,.aw-btn i,.app-card-title i,.pdv-items-title i,.sticky-cta i{line-height:1}
.video-play-btn i{font-size:2rem;color:#fff;margin-left:3px}
.mc-ico i{font-size:1.45rem}
.aw-title>i{font-size:1rem;color:#fff}
.aw-btn{display:inline-flex;align-items:center;gap:.4rem}
.app-card-title{display:flex;align-items:center;gap:.45rem}
.field-btns .mini-btn{
  width:96px;
  min-width:96px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}
.st{display:inline-flex;align-items:center;gap:.28rem}
.st i{font-size:.64rem}
.pdv-items-title{display:inline-flex;align-items:center;gap:.45rem;color:var(--navy-800)}
.f-ico{
  width:48px;
  height:48px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eaf1ff,#dbe6ff);
  color:var(--navy-700);
  font-size:1.35rem;
}
.module-card ul li::before,
.check-list li::before,
.plan ul li::before,
.cta-benefits li::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  content:"\f00c";
}
.check-list li::before{
  font-size:.66rem;
}
.cta-benefits li{
  position:relative;
  padding-left:1.65rem;
}
.cta-benefits li::before{
  position:absolute;
  left:0;
  color:var(--green-400);
}
.sticky-cta{display:none;align-items:center;gap:.45rem}
@media (max-width:1024px){
  .brand-logo{height:50px}
}
@media (max-width:860px){
  .sticky-cta{display:inline-flex}
}
@media (max-width:520px){
  .brand-logo{height:46px}
  .field-btns{justify-content:stretch}
  .field-btns .mini-btn{flex:1;width:auto;min-width:0}
}

.site-header .brand{min-width:128px}
.footer-brand .brand{min-width:0}

/* ===================== THUMBNAIL + MODAL DO VÍDEO ===================== */
.video-thumbnail{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  overflow:hidden;
  cursor:pointer;
  background:#071536;
  box-shadow:0 30px 65px rgba(0,0,0,.32),0 0 0 1px rgba(59,130,246,.08);
  transform:perspective(1200px) rotateY(-4deg) rotateX(2deg);
  transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;
}
.video-thumbnail:hover{
  transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-4px);
  box-shadow:0 36px 78px rgba(0,0,0,.38),0 0 34px rgba(47,107,255,.18);
  border-color:rgba(126,166,255,.48);
}
.video-thumbnail img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.video-thumbnail-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,12,42,.2) 100%);pointer-events:none}
.video-thumbnail-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:82px;height:82px;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-size:1.75rem;background:rgba(14,57,158,.88);
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 16px 42px rgba(0,0,0,.36),0 0 0 10px rgba(47,107,255,.16);
  backdrop-filter:blur(8px);transition:transform .3s ease,background .3s ease,box-shadow .3s ease;
}
.video-thumbnail-play i{margin-left:4px}
.video-thumbnail:hover .video-thumbnail-play{transform:translate(-50%,-50%) scale(1.08);background:var(--blue-500);box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 0 14px rgba(47,107,255,.14)}
.video-thumbnail-label{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  color:#fff;background:rgba(6,20,60,.72);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);padding:.48rem .85rem;border-radius:999px;
  font-family:var(--font-head);font-size:.78rem;font-weight:700;white-space:nowrap;
}

body.video-modal-open{overflow:hidden}
.video-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}
.video-modal.open{display:flex}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,27,.88);backdrop-filter:blur(8px);animation:videoModalFade .22s ease}
.video-modal-dialog{
  position:relative;z-index:1;
  width:min(1180px,94vw,149vh);
  max-width:1180px;
  border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#050b1f;
  box-shadow:0 35px 100px rgba(0,0,0,.62);overflow:visible;
  animation:videoModalIn .28s ease;
}
.video-modal-player{
  position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;
  border-radius:20px;background:#000;
}
.video-modal-player iframe,.video-modal-iframe{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
  max-width:none!important;max-height:none!important;border:0!important;background:#000;
}
.video-modal-close{
  position:absolute;right:-14px;top:-14px;z-index:3;width:44px;height:44px;border-radius:50%;
  border:2px solid rgba(255,255,255,.72);background:#fff;color:var(--navy-900);cursor:pointer;
  display:grid;place-items:center;font-size:1.15rem;box-shadow:0 8px 24px rgba(0,0,0,.32);
  transition:transform .2s ease,background .2s ease;
}
.video-modal-close:hover{transform:scale(1.08);background:#eaf1ff}
@keyframes videoModalFade{from{opacity:0}to{opacity:1}}
@keyframes videoModalIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media (max-width:760px){
  .video-thumbnail{transform:none;border-radius:16px}
  .video-thumbnail-play{width:64px;height:64px;font-size:1.35rem;box-shadow:0 12px 30px rgba(0,0,0,.35),0 0 0 7px rgba(47,107,255,.14)}
  .video-thumbnail-label{bottom:10px;font-size:.7rem}
  .video-modal{padding:12px}
  .video-modal-dialog{width:100%;border-radius:15px}
  .video-modal-player{border-radius:14px}
  .video-modal-close{right:8px;top:8px;background:#fff}
}

/* ===================== RESPONSIVIDADE MOBILE COMPLETA ===================== */
/* Ajustes exclusivamente visuais: preservam conteúdo, textos e comportamento. */
html,body{max-width:100%}
button,input,select,textarea{max-width:100%}
.hero-copy,.hero-visual,.split-copy,.split-mock,.cta-copy,.cta-form,.footer-grid>*,.app-window,.app-body,.app-card,.pdv-body,.pdv-cols>*,.pdv-side{min-width:0}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.mock-table th,.mock-table td{overflow-wrap:normal;word-break:normal}

/* Entre tablet e mobile: se a navegação principal some, o menu móvel continua disponível. */
@media (max-width:1024px){
  .menu-toggle{display:flex;flex:0 0 auto}
  .mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:860px){
  .header-inner{gap:.65rem}
  .site-header .brand{min-width:0;flex:1 1 auto}
  /* Mantém o acesso "Entrar" visível no mobile; a demonstração permanece dentro do menu. */
  .header-cta{display:flex;flex:0 0 auto}
  .header-cta .btn-primary{display:none}
  .header-cta .btn-ghost{display:inline-flex;padding:.58rem .85rem}

  .hero-inner,.split,.split.reverse,.cta-inner{gap:2rem}
  .hero-copy,.split-copy{text-align:left}
  .hero-actions{align-items:stretch}
  .hero-actions .btn{max-width:100%}
  .hero-visual{width:100%;max-width:720px;margin-inline:auto}

  .split-mock{width:100%;overflow:hidden}
  .app-window{width:100%}
  .app-topbar{flex-wrap:wrap}
  .aw-title{min-width:0;flex:1 1 220px}
  .aw-title>div{min-width:0}
  .aw-title strong,.aw-title small{overflow-wrap:anywhere}
  .aw-btn{flex:0 0 auto}

  .cta-form input,.cta-form select{width:100%;min-width:0}
  .footer-brand p{max-width:none}
}

@media (max-width:600px){
  .container{width:calc(100% - 28px)}
  .header-inner{height:64px}
  .brand-logo{height:42px}
  .mobile-nav{padding:.7rem 14px 1rem;max-height:calc(100dvh - 64px)}
  .mobile-nav a{padding:.72rem .8rem}

  .btn{white-space:normal;text-align:center;max-width:100%;line-height:1.3}
  .btn-lg{padding:.88rem 1.1rem;font-size:.96rem}

  .hero{padding:2.7rem 0 2.4rem}
  .badge{max-width:100%;white-space:normal;line-height:1.35}
  .hero h1{font-size:clamp(1.9rem,9.5vw,2.5rem);line-height:1.1;margin:.95rem 0}
  .lead{font-size:1rem;line-height:1.65}
  .hero-actions{flex-direction:column;gap:.7rem;margin:1.4rem 0 1.25rem}
  .hero-actions .btn{width:100%}
  .hero-highlights{display:grid;grid-template-columns:1fr;gap:.65rem;font-size:.88rem}

  /* Os cards continuam visíveis, mas deixam de sobrepor o vídeo. */
  .hero-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.6rem}
  .hero-visual .video-thumbnail{grid-column:1/-1}
  .floating-card,.fc-1,.fc-2{position:static;inset:auto;width:100%;min-width:0;animation:none;transform:none;padding:.65rem .7rem}
  .floating-card strong{font-size:.78rem;overflow-wrap:anywhere}
  .floating-card small{font-size:.68rem}
  .fc-ico{flex:0 0 32px;width:32px;height:32px}

  .trust-strip{margin-top:2rem;align-items:flex-start;gap:.8rem}
  .trust-strip>span{width:100%}
  .trust-pills{gap:.4rem}
  .pill{padding:.32rem .7rem;font-size:.78rem}

  .section{padding:3.2rem 0}
  .section-head{margin-bottom:2rem}
  .section-head p{font-size:.97rem}
  .module-card,.feature,.plan{padding:1.3rem}

  .split{gap:1.7rem}
  .split-copy p{margin-bottom:1rem}
  .check-list{margin-bottom:1.25rem}

  .app-window{border-radius:13px}
  .app-topbar{padding:.75rem .8rem;align-items:flex-start}
  .aw-title{width:100%;flex-basis:100%}
  .aw-title strong{font-size:.94rem}
  .aw-btn{width:100%;text-align:center}
  .app-body,.app-window.pdv .pdv-body{padding:.7rem;gap:.7rem}
  .app-card,.pdv-items,.pdv-client{padding:.75rem}
  .fields{grid-template-columns:1fr;gap:.6rem}
  .field-btns{width:100%;align-items:stretch;justify-content:stretch;flex-wrap:wrap}
  .field-btns .mini-btn{min-height:40px}

  /* Tabelas de demonstração permanecem completas com rolagem horizontal local. */
  .mock-table{min-width:600px}
  .table-wrap,.pdv-items{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mock-table th,.mock-table td{padding:.5rem;font-size:.74rem}

  .pdv-inputs{grid-template-columns:1fr;gap:.55rem}
  .pdv-inputs input{width:100%;min-width:0}
  .pdv-cols{gap:.7rem}
  .pdv-items-head{gap:.6rem;align-items:flex-start;flex-wrap:wrap}
  .pdv-items-head>span{min-width:0}
  .pdv-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdv-keys span{min-width:0;overflow-wrap:anywhere}
  .pdv-finish{width:100%}
  .pdv-totals div{gap:1rem}

  .price{font-size:2.25rem}
  .plan-flag{white-space:nowrap;max-width:calc(100% - 24px)}

  .cta-section{padding:3.3rem 0}
  .cta-form{padding:1.3rem;border-radius:16px}
  .form-row{grid-template-columns:1fr}
  .cta-benefits{font-size:.94rem}

  .site-footer{padding:3rem 0 calc(6.5rem + env(safe-area-inset-bottom))}
  .footer-grid{gap:1.35rem}
  .footer-logo{height:60px}

  .sticky-cta{
    left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;
    width:auto;max-width:none;justify-content:center;white-space:normal;text-align:center;
    padding:.78rem 1rem;font-size:.9rem;line-height:1.25
  }

  .video-thumbnail-label{max-width:88%;white-space:normal;text-align:center;line-height:1.2}
  .video-modal{padding:10px}
  .video-modal-dialog{width:100%}
  .video-modal-player{width:100%;aspect-ratio:16/9}
}

@media (max-width:420px){
  .container{width:calc(100% - 24px)}
  .header-inner{gap:.4rem}
  .brand-logo{height:39px}
  .header-cta .btn-ghost{font-size:.84rem;padding:.52rem .7rem}
  .menu-toggle{padding:6px}
  .mobile-nav{padding-inline:12px}

  .hero h1{font-size:clamp(1.78rem,9.3vw,2.2rem)}
  .hero-visual{grid-template-columns:1fr}
  .hero-visual .video-thumbnail{grid-column:1}
  .video-thumbnail-play{width:56px;height:56px;font-size:1.15rem}

  .section{padding:2.8rem 0}
  .module-card h3{font-size:1.35rem}
  .section-head h2,.split-copy h2{overflow-wrap:anywhere}

  .pdv-keys{grid-template-columns:1fr 1fr}
  .pdv-total-big strong{font-size:1.35rem}

  .cta-form{padding:1.05rem}
  .cta-form h3{font-size:1.15rem}
}

@media (max-width:340px){
  .brand-logo{height:35px}
  .header-cta .btn-ghost{font-size:.78rem;padding:.48rem .55rem}
  .menu-toggle span{width:21px}
  .pdv-keys{grid-template-columns:1fr}
  .sticky-cta{font-size:.84rem}
}

.plan-flag-ciot{background:#e9f9f0!important;color:#14704a!important}
