:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#0b1220;
  --muted:#475569;
  --muted2:#64748b;
  --primary:#2563eb;
  --primary2:#0ea5e9;
  --ok:#10b981;
  --ring:rgba(37,99,235,.25);
  --shadow: 0 20px 55px rgba(2,6,23,.12);
  --shadow-sm: 0 10px 25px rgba(2,6,23,.10);
  --radius:18px;
  --radius2:24px;
  --border:rgba(15,23,42,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 18% -8%, rgba(37,99,235,.13), transparent 60%),
    radial-gradient(900px 620px at 92% 2%, rgba(14,165,233,.11), transparent 55%),
    radial-gradient(900px 620px at 80% 92%, rgba(99,102,241,.10), transparent 55%),
    var(--bg);
}

a{color:inherit}
.container{width:min(1120px, 92vw); margin:0 auto}

.topbar{
  position:sticky; top:0; z-index:60;
  backdrop-filter: blur(12px) saturate(130%);
  background: rgba(246,248,251,.78);
  border-bottom:1px solid rgba(15,23,42,.06);
}
.topbar .inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:12px;
}
.brand{
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
}
.brand img{height:40px; width:auto}
.brand .txt{display:flex; flex-direction:column; line-height:1.05}
.brand .t1{font-size:12px; color:var(--muted2); letter-spacing:.2px}
.brand .t2{font-size:16px; font-weight:900; letter-spacing:.4px}

.nav{
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.nav a{
  text-decoration:none;
  padding:10px 12px;
  border-radius:12px;
  color:var(--muted);
  border:1px solid transparent;
}
.nav a:hover{background:rgba(15,23,42,.05); color:var(--text)}
.nav a.active{
  background:rgba(37,99,235,.10);
  border-color: rgba(37,99,235,.18);
  color:var(--primary);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  background:linear-gradient(135deg, var(--primary), #3b82f6);
  color:white;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
  box-shadow: 0 14px 26px rgba(37,99,235,.24);
  border:1px solid rgba(255,255,255,.25);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:hover{transform: translateY(-1px); filter:brightness(1.02)}
.btn:active{transform: translateY(0px)}
.btn.ghost{
  background:rgba(255,255,255,.65);
  color:var(--text);
  box-shadow:none;
  border:1px solid var(--border);
}
.btn.small{padding:10px 12px; border-radius:12px; font-weight:900}

.hero{padding:56px 0 18px}
.hero .grid{
  display:grid; grid-template-columns: 1.15fr .85fr; gap:18px;
  align-items:center;
}
.kicker{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.18);
  color: var(--primary);
  font-weight:950;
  letter-spacing:.2px;
}
.h1{
  margin:14px 0 10px 0;
  font-size:46px;
  line-height:1.06;
  letter-spacing:-.9px;
}
.p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
.cta{display:flex; gap:12px; margin-top:18px; flex-wrap:wrap}
.note{
  margin-top:10px;
  color:var(--muted2);
  font-size:13px;
  line-height:1.6;
}
.panel{
  background: rgba(255,255,255,.70);
  border:1px solid var(--border);
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.panel .pad{padding:16px}
.panel .imgwrap{border-top:1px solid rgba(15,23,42,.06); background:white}
.panel img{display:block; width:100%; height:auto}
.stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
}
.stat{
  background: rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:10px 12px;
}
.stat .n{font-weight:950}
.stat .l{color:var(--muted2); font-size:12px; margin-top:3px}

.section{padding:30px 0}
.head{
  display:flex; justify-content:space-between; align-items:end; gap:14px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.h2{margin:0; font-size:26px; letter-spacing:-.3px}
.sub{margin:6px 0 0 0; color:var(--muted2); font-size:14px; line-height:1.6}

.grid3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}
.card{
  background: rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.09);
  border-radius: var(--radius2);
  padding:16px;
  box-shadow: var(--shadow-sm);
}
.card h3{margin:0 0 6px 0; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.6; font-size:14px}
.card .mini{margin-top:10px; font-size:13px; color:var(--muted2)}
.split{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}

.store-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
}
.app-card{
  background: rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.10);
  border-radius: var(--radius2);
  padding:14px;
  box-shadow: var(--shadow-sm);
  display:flex; flex-direction:column; gap:10px;
}
.app-card .top{display:flex; gap:12px; align-items:center}
.icon{
  width:58px; height:58px; border-radius:18px;
  border:1px solid rgba(15,23,42,.08);
  background:white; overflow:hidden; flex:0 0 auto;
}
.icon img{width:100%; height:100%; object-fit:cover}
.app-card h3{margin:0; font-size:16px}
.badges{display:flex; gap:8px; flex-wrap:wrap}
.badge{
  font-size:12px; font-weight:950;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(15,23,42,.05);
  color:var(--muted);
  border:1px solid rgba(15,23,42,.08);
}
.badge.primary{background: rgba(37,99,235,.10); color: var(--primary); border-color: rgba(37,99,235,.18)}
.badge.ok{background: rgba(16,185,129,.10); color: var(--ok); border-color: rgba(16,185,129,.18)}
.app-card p{margin:0; color:var(--muted); font-size:13px; line-height:1.6}
.actions{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap}

.searchbar{
  display:flex; gap:10px; align-items:center;
  background: rgba(255,255,255,.88);
  border:1px solid rgba(15,23,42,.12);
  border-radius: 999px;
  padding:10px 12px;
  box-shadow: var(--shadow-sm);
  min-width:min(560px,92vw);
}
.searchbar input{
  border:none; outline:none; background:transparent;
  width:100%;
  font-size:14px;
}
.pill{
  font-size:12px; font-weight:950;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  color: var(--muted);
  cursor:pointer;
}
.pill.active{
  background: rgba(37,99,235,.10);
  color: var(--primary);
  border-color: rgba(37,99,235,.18);
}

.details{
  margin-top:8px;
  border-top:1px dashed rgba(15,23,42,.14);
  padding-top:10px;
  display:none;
}
.details.show{display:block}
.details ul{margin:10px 0 0 18px; color:var(--muted); line-height:1.7; font-size:13px}
.details .row{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.kv{font-size:12px; color:var(--muted2); border:1px solid rgba(15,23,42,.10); padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.7)}

.pricing{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}
.plan{
  background: rgba(255,255,255,.88);
  border:1px solid rgba(15,23,42,.12);
  border-radius: var(--radius2);
  padding:16px;
  box-shadow: var(--shadow-sm);
  display:flex;
  flex-direction:column;
}
.plan h3{margin:0 0 6px 0}
.price{font-size:28px; font-weight:950; margin:0 0 8px 0}
.plan ul{margin:10px 0 0 18px; color:var(--muted); line-height:1.75; font-size:14px}
.tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:12px;
  background: rgba(37,99,235,.10);
  color: var(--primary);
  border:1px solid rgba(37,99,235,.18);
  margin-bottom:10px;
}
.plan.highlight{
  border-color: rgba(37,99,235,.26);
  box-shadow: 0 22px 50px rgba(37,99,235,.16);
}

.plan .actions{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap; padding-top:12px}
.plan .actions .btn{flex:1; justify-content:center}

.pricing.pr2{grid-template-columns:repeat(2,1fr)}

/* WhatsApp floating button */
.fab-whatsapp{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(16,185,129,.95);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 45px rgba(2,6,23,.22);
  border: 1px solid rgba(255,255,255,.28);
  transform: translateY(0);
  transition: transform .18s ease, filter .18s ease;
}
.fab-whatsapp:hover{transform: translateY(-2px); filter: brightness(1.02)}
.fab-whatsapp:active{transform: translateY(0)}
.fab-ico{display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; background: rgba(255,255,255,.18); border-radius:999px}
.fab-txt{font-weight:950; letter-spacing:.2px; font-size:13px}

@media (max-width: 520px){
  .fab-txt{display:none}
  .fab-whatsapp{padding:12px}
}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius: var(--radius2);
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.9);
  box-shadow: var(--shadow-sm);
}
.table th,.table td{
  padding:12px 12px;
  border-bottom:1px solid rgba(15,23,42,.08);
  text-align:left;
  font-size:14px;
}
.table th{font-weight:950}
.table tr:last-child td{border-bottom:none}
.table .muted{color:var(--muted2); font-size:13px}

.faq details{
  background: rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.12);
  border-radius: var(--radius2);
  padding:12px 14px;
  box-shadow: var(--shadow-sm);
}
.faq details + details{margin-top:10px}
.faq summary{cursor:pointer; font-weight:950}
.faq p{margin:8px 0 0 0; color:var(--muted); line-height:1.65}

.footer{
  padding:26px 0 40px 0;
  color:var(--muted2);
  font-size:13px;
}
.footer .cols{
  display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:14px;
}
.footer a{color:var(--muted2); text-decoration:none}
.footer a:hover{color:var(--text)}
.hr{height:1px; background:rgba(15,23,42,.08); margin:18px 0}

@media (max-width: 900px){
  .hero .grid{grid-template-columns:1fr}
  .h1{font-size:38px}
  .grid3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
  .pricing.pr2{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
}

.mini__k{display:block; color: rgba(156,163,175,.95); font-weight:800; font-size:12px}
.mini__v{display:block; font-weight:900; margin-top:4px; text-decoration:none}

/* Reveal animations */
.reveal{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{opacity:1; transform: translateY(0)}