:root{--b950:#172554;--b900:#1e3a8a;--b800:#1e40af;--b700:#1d4ed8;--b600:#2563eb;--b500:#3b82f6;--c300:#67e8f9;--c400:#22d3ee;--c500:#06b6d4;--c600:#0891b2;--ind:#4f46e5;--wa:#25D366;--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--soft:#f8fafc}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
section{padding:88px 0}
.sec-head{text-align:center;max-width:760px;margin:0 auto 48px}
.sec-head h2{font-size:clamp(28px,4vw,42px);line-height:1.15;font-weight:700;letter-spacing:-.02em}
.sec-head p{color:var(--muted);margin-top:10px;font-size:17px}
.bg-soft{background:var(--soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-weight:600;font-size:16px;border-radius:12px;padding:14px 26px;min-height:52px;border:2px solid transparent;cursor:pointer;transition:.2s}
.btn svg{width:20px;height:20px;flex:none}
.btn-cyan{background:var(--c500);color:#fff;box-shadow:0 10px 24px rgba(6,182,212,.3)}.btn-cyan:hover{background:var(--c600)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}.btn-ghost:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5)}
.btn-blue{background:var(--b600);color:#fff}.btn-blue:hover{background:var(--b700)}
.btn-outline{background:#fff;color:var(--b600);border-color:var(--b600)}.btn-outline:hover{background:#eff6ff}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 10px 24px rgba(37,211,102,.3)}.btn-wa:hover{background:#1ebe5a}
/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--b900),var(--b800) 50%,var(--b950));padding:110px 0 150px;text-align:center}
.hero .glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.25}
.hero .g1{width:380px;height:380px;background:var(--c500);top:40px;left:5%}
.hero .g2{width:340px;height:340px;background:var(--b500);bottom:40px;right:6%}
.hero .container{position:relative;z-index:1}
.logo-card{display:inline-block;background:#fff;border-radius:10px;padding:6px 10px;margin-bottom:28px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.logo-card img{height:62px;width:auto}
.hero h1{font-size:clamp(36px,6vw,64px);line-height:1.08;font-weight:700;letter-spacing:-.02em}
.hero h1 span{color:var(--c300)}
.hero .lead{max-width:720px;margin:20px auto 0;font-size:clamp(17px,2vw,20px);color:#dbeafe}
.hero .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.hero .note{margin-top:22px;color:#bfdbfe;font-size:14px}
.wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.wave svg{width:100%;height:auto;display:block}
/* cards */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.card .ic{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:#dbeafe;color:var(--b600);margin-bottom:16px}
.card .ic.c{background:#cffafe;color:var(--c600)}
.card .ic.solid{background:var(--b600);color:#fff}
.card .ic svg{width:22px;height:22px}
.card h3{font-size:17px;font-weight:700;margin-bottom:8px}
.card p{font-size:15px;color:var(--muted)}
/* audience */
.aud{background:linear-gradient(180deg,#eff6ff,#fff)}
/* mockups */
.mock{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.12);border:1px solid #eef2f7}
.mock-head{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:20px;padding:18px 22px}
.mock-head svg{width:24px;height:24px}
.h-blue{background:linear-gradient(90deg,var(--b600),var(--b700))}
.h-teal{background:linear-gradient(90deg,var(--c600),#0e7490)}
.h-ind{background:linear-gradient(90deg,var(--ind),#4338ca)}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#475569;background:#f8fafc;padding:14px 18px;border-bottom:1px solid var(--line)}
td{padding:14px 18px;border-bottom:1px solid #f1f5f9;color:#0f172a}
td.b{font-weight:600}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.p-ok{background:#dcfce7;color:#166534}.p-cx{background:#fee2e2;color:#991b1b}.p-dr{background:#f1f5f9;color:#475569}
.bar{display:inline-block;height:12px;border-radius:6px;background:#e2e8f0;vertical-align:middle}
.code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:#f1f5f9;padding:3px 8px;border-radius:6px}
.price{color:#16a34a;font-weight:600}
.acts{color:#64748b;display:flex;gap:12px}.acts svg{width:16px;height:16px}
.shot{margin:22px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f1f5f9}
.shot img{width:100%;height:auto}
.form-mock{padding:22px}
.fm-step{display:flex;align-items:center;gap:10px;font-weight:700;margin:6px 0 16px}
.fm-step b{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:#dbeafe;color:var(--b700);font-size:13px}
.fm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.fm-grid label{display:block;font-size:13px;color:#334155;margin-bottom:6px;font-weight:500}
.fm-grid div.in{border:1px solid #cbd5e1;border-radius:6px;padding:11px 12px;font-size:14px;color:#334155;background:#f8fafc}
.mockup-stack{display:grid;gap:56px}
/* pricing */
.free-note{display:flex;justify-content:center;margin:-18px 0 36px}
.free-note span{background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc;font-weight:600;padding:10px 18px;border-radius:999px;font-size:15px;text-align:center}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 24px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.plan h3{font-size:22px;font-weight:700}
.plan .valid{color:var(--muted);font-size:14px;margin-top:2px}
.plan .amt{margin:20px 0 4px;font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1}
.plan .amt small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.plan .per{font-size:15px;color:var(--c600);font-weight:600}
.plan ul{list-style:none;margin:20px 0 24px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:9px;flex:1}
.plan li{display:flex;gap:9px;font-size:14.5px;color:#334155}
.plan li svg{flex:none;width:18px;height:18px;color:var(--c500);margin-top:2px}
.plan .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--c500);color:#fff;font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:999px;white-space:nowrap}
.plan.pop{background:linear-gradient(160deg,var(--b800),var(--b950));color:#fff;border-color:transparent;box-shadow:0 22px 44px rgba(30,64,175,.35);transform:translateY(-8px)}
.plan.pop .valid,.plan.pop .amt small{color:#bfdbfe}
.plan.pop .per{color:var(--c300)}
.plan.pop ul{border-color:rgba(255,255,255,.18)}
.plan.pop li{color:#e0f2fe}
.plan.pop li svg{color:var(--c300)}
.consume{margin-top:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}
.consume .box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.consume h3{font-size:19px;margin-bottom:10px}
.consume p,.consume li{color:#334155;font-size:15.5px}
.consume ul{margin:10px 0 0 20px;display:grid;gap:6px}
.consume .pac{background:linear-gradient(135deg,#eff6ff,#ecfeff)}
/* faq */
.faq{max-width:820px;margin:0 auto;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:24px;color:var(--b600);line-height:1}
.faq details[open] summary:after{content:"−"}
.faq details p{color:var(--muted);margin-top:10px;font-size:15.5px}
/* final cta */
.final{position:relative;overflow:hidden;color:#fff;text-align:center;background:linear-gradient(135deg,var(--b800),var(--b700) 50%,#312e81)}
.final .ic-top{width:56px;height:56px;border-radius:14px;background:var(--c500);display:grid;place-items:center;margin:0 auto 22px}
.final .ic-top svg{width:28px;height:28px}
.final h2{font-size:clamp(30px,4.5vw,48px);line-height:1.12;font-weight:700}
.final h2 span{color:var(--c300)}
.final .lead{color:#dbeafe;margin:16px auto 0;max-width:560px;font-size:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:760px;margin:40px auto}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:22px}
.stat b{display:block;font-size:34px;color:var(--c300)}
.stat span{color:#dbeafe;font-size:15px}
.final .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.final .note{margin-top:22px;color:#bfdbfe;font-size:14px}
/* contact */
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto}
.c-item{display:flex;align-items:center;gap:16px;border-radius:16px;padding:22px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.c-item .ic{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:var(--b600);color:#fff;flex:none}
.c-item .ic svg{width:24px;height:24px}
.c-item small{display:block;color:var(--muted);font-size:13px}
.c-item b{font-size:19px}
.c-item.wa{background:var(--wa);border-color:var(--wa);color:#fff}
.c-item.wa .ic{background:rgba(255,255,255,.22)}
.c-item.wa small{color:#eafff1}
/* footer */
footer{background:var(--b950);color:#cbd5e1;padding:44px 0 26px}
footer .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer .logo-card{margin:0;padding:4px 8px}
footer .logo-card img{height:48px}
footer nav{display:flex;gap:22px;flex-wrap:wrap;font-size:15px}
footer nav a:hover{color:#fff}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.wa-float svg{width:30px;height:30px}
/* registro */
.reg{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,var(--b900),var(--b800) 50%,var(--b950));color:#fff}
.reg .left{padding:64px clamp(24px,6vw,80px);display:flex;flex-direction:column;justify-content:center}
.reg .back{color:#bfdbfe;font-size:14px;display:inline-flex;gap:6px;align-items:center;margin-bottom:22px}
.reg h1{font-size:clamp(32px,4.5vw,46px);line-height:1.1}
.reg h1 span{color:var(--c400)}
.reg .lead{color:#dbeafe;margin:16px 0 26px;font-size:17px;max-width:460px}
.reg .feat{display:flex;gap:14px;margin-bottom:16px}
.reg .feat .ic{width:40px;height:40px;border-radius:8px;background:rgba(59,130,246,.3);display:grid;place-items:center;color:var(--c300);flex:none}
.reg .feat .ic svg{width:20px;height:20px}
.reg .feat b{display:block}.reg .feat span{color:#bfdbfe;font-size:14px}
.reg .right{display:flex;align-items:center;justify-content:center;padding:40px 20px}
.reg form{background:#fff;color:var(--ink);border-radius:14px;padding:30px;width:100%;max-width:560px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.reg form h2{font-size:24px}
.reg form .sub{color:var(--muted);margin-bottom:20px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:#1e293b}
.field input,.field select{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid #94a3b8;border-radius:6px;color:var(--ink);background:#fff}
.field input:focus,.field select:focus{outline:2px solid #bfdbfe;border-color:var(--b600)}
.err{display:none;color:#dc2626;font-size:14px;margin-bottom:12px}
.hint{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
/* responsive */
@media (max-width:1000px){.grid4,.plans{grid-template-columns:1fr 1fr}.plan.pop{transform:none}.consume{grid-template-columns:1fr}}
@media (max-width:860px){.grid3{grid-template-columns:1fr 1fr}.reg{grid-template-columns:1fr}.reg .left{padding-bottom:10px}}
@media (max-width:640px){
 section{padding:64px 0}.hero{padding:72px 0 110px}
 .grid4,.grid3,.plans,.stats,.contact .grid,.f2{grid-template-columns:1fr}
 .fm-grid{grid-template-columns:1fr}
 .hero .cta .btn,.final .cta .btn{width:100%}
 .shot{margin:12px}
 .plans{max-width:420px;margin:0 auto}
 .plan{padding-top:34px}
}
.mockup-stack>*,.mock,.grid4>*,.grid3>*,.plans>*,.consume>*{min-width:0}html,body{overflow-x:hidden}
.legal-top{background:linear-gradient(135deg,var(--b900),var(--b800) 50%,var(--b950));padding:18px 0}
.legal-top .container{display:flex;align-items:center;justify-content:space-between}
.legal-top .back{color:#dbeafe;font-size:14px}
.legal{background:#f8fafc;padding:56px 0 72px}
.legal article{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:44px 48px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.legal h1{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.02em}
.legal .upd{color:var(--muted);font-size:14px;margin:6px 0 22px}
.legal h2{font-size:20px;font-weight:700;margin:28px 0 8px;color:var(--b900)}
.legal p,.legal li{color:#334155;line-height:1.65;font-size:16px}
.legal p+p{margin-top:10px}
.legal ul{margin:8px 0 0 22px;display:grid;gap:4px}
.legal a{color:var(--b600);text-decoration:underline}
.hint a{color:var(--b600);text-decoration:underline}
.stat b{font-size:clamp(24px,3vw,34px)}
@media (max-width:640px){.legal article{padding:28px 22px}.legal{padding:32px 0 48px}}
.stat b{font-size:clamp(24px,2.6vw,30px);white-space:nowrap}
