:root{--purple:#4c078d;--purple2:#7300c7;--deep:#270044;--teal:#10d5b4;--coral:#ff5f5b;--yellow:#ffc928;--ink:#251536;--muted:#6e6478;--cream:#fffaf1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--purple);font-weight:900;font-size:34px;letter-spacing:-2px}.brand img{width:42px;height:42px;border-radius:13px}.navlinks{display:flex;align-items:center;gap:34px}.navlinks a{color:#4d4356;text-decoration:none;font-size:14px;font-weight:700}.navlinks .navCta{background:var(--purple);color:#fff;padding:12px 20px;border-radius:12px}.hero{min-height:760px;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbf7ff 72%,#fff 100%)}.heroGlow{position:absolute;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,#eedcff 0%,rgba(246,235,255,.35) 55%,transparent 72%);right:-80px;top:-110px}.heroGrid{display:grid;grid-template-columns:.93fr 1.07fr;align-items:center;min-height:610px;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:900;color:var(--purple);margin:0 0 20px}.eyebrow span{color:var(--teal);font-size:10px;margin-right:8px}.heroCopy h1,.section h2,.ctaSection h2{font-size:68px;line-height:1.02;letter-spacing:-4px;margin:0 0 24px;font-weight:900}.heroCopy h1 em,.section h2 em,.ctaSection h2 em{font-style:normal;color:var(--purple)}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:570px;margin:0 0 30px}.heroActions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 22px;border-radius:12px;text-decoration:none;font-weight:900;font-size:14px;border:0;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 14px 28px rgba(76,7,141,.22)}.button.secondary{border:1px solid #d9d0df;color:var(--purple);background:#fff}.comingSoon{display:inline-flex;align-items:center;gap:10px;margin-top:24px;color:#332b39}.comingSoon .playIcon{width:36px;height:36px;border-radius:11px;background:#151515;color:#fff;display:grid;place-items:center;font-size:13px}.comingSoon div{display:flex;flex-direction:column}.comingSoon small{font-size:8px;letter-spacing:1px}.comingSoon strong{font-size:17px}.heroVisual{height:590px;position:relative}.phone{position:absolute;z-index:3;width:270px;height:548px;background:#fff;left:50%;top:18px;transform:translateX(-42%);border:7px solid #24102f;border-radius:38px;box-shadow:0 35px 70px rgba(61,12,101,.28);padding:17px 14px;overflow:hidden}.phoneTop{font-size:8px;font-weight:800;display:flex;justify-content:space-between;color:#24102f}.appHeader{display:flex;justify-content:space-between;align-items:center;margin:17px 0 12px}.appHeader div{display:flex;flex-direction:column;gap:3px}.appHeader small{font-size:9px;color:#746a79}.appHeader strong{font-size:14px;color:var(--purple)}.avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e8d5ff;color:var(--purple);font-size:9px;font-weight:bold}.search{font-size:8px;background:#f4f0f6;border:1px solid #ebe4ef;color:#958a9c;padding:10px;border-radius:10px}.miniTitle{display:flex;justify-content:space-between;font-size:8px;margin:13px 0 7px}.miniTitle span{color:var(--purple)}.offer{height:94px;border-radius:15px;padding:12px 15px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff}.offer:after{content:"%";position:absolute;right:-6px;bottom:-29px;font-size:105px;font-weight:900;color:rgba(255,255,255,.14)}.offer span{font-size:7px;letter-spacing:1px}.offer b{font-size:30px}.offer small{font-size:8px}.offer.purple{background:linear-gradient(135deg,#640aad,#35105b)}.stampCard{border:1px solid #ece5ef;padding:10px;border-radius:13px;box-shadow:0 7px 14px rgba(46,17,61,.06)}.stampHead{display:flex;justify-content:space-between}.stampHead div{display:flex;flex-direction:column}.stampHead small{font-size:8px}.stampHead strong{font-size:10px;color:var(--purple);margin-top:2px}.stamps{display:flex;gap:4px;margin-top:8px}.stamps img{width:37px;height:37px;object-fit:contain}.appNav{position:absolute;bottom:0;left:0;right:0;height:54px;background:#fff;border-top:1px solid #eee;display:flex;justify-content:space-around;align-items:center;color:#8f8596;font-size:13px}.appNav span{display:flex;flex-direction:column;align-items:center;gap:2px}.appNav small{font-size:6px}.appNav .scan{background:var(--purple);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;transform:translateY(-10px);border:4px solid #fff}.heroMascot{position:absolute;z-index:5;width:210px;height:210px;object-fit:contain;right:-5px;bottom:20px;filter:drop-shadow(0 22px 22px rgba(50,7,77,.24))}.blob{position:absolute;border-radius:50%}.blobOne{width:420px;height:420px;background:var(--purple);right:20px;top:90px;opacity:.07}.blobTwo{width:190px;height:190px;background:var(--teal);right:5px;top:40px;opacity:.13}.floatBadge{position:absolute;z-index:6;background:#fff;box-shadow:0 12px 30px rgba(55,25,70,.15);border-radius:14px}.badgeOffer{left:0;top:122px;padding:13px 18px;display:flex;flex-direction:column}.badgeOffer b{color:var(--coral);font-size:23px}.badgeOffer small,.badgeStamp small{font-size:8px;color:#716477}.badgeStamp{right:12px;top:314px;padding:11px 14px;display:flex;align-items:center;gap:8px}.badgeStamp>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#fff}.badgeStamp div{display:flex;flex-direction:column}.badgeStamp b{font-size:10px;color:var(--purple)}.socialProof{border-top:1px solid #eee6f3;display:flex;align-items:center;justify-content:space-between;padding:22px 0}.socialProof p{font-weight:900;color:var(--purple)}.socialProof div{display:flex;gap:26px;color:#756a7d;font-size:12px}.section{padding:110px 0}.center{text-align:center}.section h2{font-size:52px;text-align:center}.sectionIntro{max-width:620px;margin:0 auto 60px;text-align:center;color:var(--muted);font-size:17px;line-height:1.7}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.step{text-align:center;position:relative;padding:0 12px}.stepIcon{width:90px;height:90px;border-radius:28px;background:#f3e9ff;margin:0 auto 20px;display:grid;place-items:center;font-size:30px;color:var(--purple);position:relative}.stepIcon b{position:absolute;right:-8px;top:-8px;background:var(--purple);color:#fff;border-radius:10px;padding:6px;font-size:9px}.step h3{margin:0 0 10px;font-size:20px}.step p{font-size:13px;color:var(--muted);line-height:1.65}.connector{position:absolute;right:-27px;top:34px;color:#cbb9dc;font-style:normal;font-size:26px}.qrExplainer{margin-top:80px;background:var(--cream);display:grid;grid-template-columns:210px 1fr 230px;align-items:center;gap:40px;padding:30px 50px;border-radius:28px}.qrExplainer>img{width:200px;height:180px;object-fit:contain}.qrExplainer h3{font-size:27px;margin:0 0 12px;color:var(--purple)}.qrExplainer p:not(.eyebrow){color:var(--muted);line-height:1.65;margin:0}.qrFlow{display:flex;align-items:center;gap:12px;justify-content:center}.merchantPhone,.customerPhone{height:110px;width:74px;border:5px solid var(--deep);border-radius:14px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--purple);font-size:32px}.merchantPhone small,.customerPhone small{font-size:7px;font-weight:900;margin-top:10px}.qrFlow>span{font-size:28px;color:var(--teal)}.businessSection{background:linear-gradient(135deg,var(--deep),var(--purple));color:#fff;overflow:hidden}.businessGrid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px}.businessVisual{position:relative;min-height:510px;display:flex;align-items:center;justify-content:center}.businessVisual img{width:390px;height:390px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 28px 25px rgba(15,0,27,.35))}.yellowDisc{position:absolute;width:390px;height:390px;border-radius:50%;background:var(--yellow);opacity:.96}.metricCard{position:absolute;z-index:3;bottom:25px;right:0;background:#fff;color:var(--purple);padding:16px 22px;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 18px 30px rgba(0,0,0,.22)}.metricCard strong{font-size:22px}.metricCard small{color:var(--muted)}.eyebrow.light{color:#fff}.businessCopy h2{text-align:left;color:#fff}.businessCopy h2 em{color:var(--yellow)}.businessCopy>p:not(.eyebrow){color:#d7c8e4;line-height:1.7}.businessCopy ul{list-style:none;padding:0;margin:28px 0}.businessCopy li{display:flex;gap:14px;margin:18px 0}.businessCopy li>b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:var(--deep)}.businessCopy li span{display:flex;flex-direction:column;gap:4px}.businessCopy li small{color:#c9b7d7}.button.yellow{background:var(--yellow);color:var(--deep);box-shadow:0 12px 24px rgba(255,201,40,.18)}.rewardsGrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.rewardsGrid h2{text-align:left}.sectionIntro.left{text-align:left;margin:0 0 30px}.featureList{display:flex;flex-direction:column;gap:0}.featureList span{padding:17px 0;border-bottom:1px solid #ece4f0;font-weight:800}.featureList b{color:var(--teal);font-size:12px;margin-right:14px}.rewardScene{height:500px;background:#f4e8ff;border-radius:40px;position:relative;display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden}.rewardScene>img{width:310px;height:310px;object-fit:contain;position:relative;z-index:2}.rewardCard{position:absolute;left:35px;top:55px;width:310px;z-index:3;background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 50px rgba(73,19,111,.2);display:flex;flex-direction:column}.rewardCard>span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.rewardCard>strong{font-size:18px;color:var(--purple);margin:5px 0 15px}.fullStamps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fullStamps img{width:56px;height:56px;object-fit:contain}.rewardCard>small{margin-top:10px;color:var(--muted)}.ctaSection{padding:100px 0;background:var(--coral);color:#fff}.ctaGrid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.ctaSection h2{font-size:49px}.ctaSection h2 em{color:var(--yellow)}.ctaSection p:not(.eyebrow){font-size:17px;line-height:1.7;color:#fff1ef}.interestForm{background:#fff;padding:28px;border-radius:24px;display:grid;gap:15px;color:var(--ink)}.interestForm label{font-size:11px;font-weight:900;display:grid;gap:7px}.interestForm input,.interestForm select{width:100%;height:45px;border:1px solid #ded5e2;border-radius:10px;padding:0 12px;background:#fff;color:var(--ink)}.interestForm>small{text-align:center;color:var(--muted);font-size:9px}.success{text-align:center;padding:35px 20px}.success span{width:60px;height:60px;border-radius:50%;background:var(--teal);display:grid;place-items:center;margin:auto;color:#fff;font-size:30px}.success h3{color:var(--purple);font-size:24px;margin:16px 0 8px}.success p{color:var(--muted)!important;font-size:13px!important}.footerGrid{height:120px;display:flex;align-items:center;justify-content:space-between}.footerGrid p{font-size:12px;color:#786d80}.brand.inverse{font-size:28px}
@media(max-width:900px){.navlinks a:not(.navCta){display:none}.heroGrid,.businessGrid,.rewardsGrid,.ctaGrid{grid-template-columns:1fr}.heroCopy{padding-top:50px;text-align:center}.heroCopy .lead{margin-left:auto;margin-right:auto}.heroActions{justify-content:center}.heroVisual{margin-top:30px}.heroCopy h1{font-size:58px}.socialProof{flex-direction:column}.steps{grid-template-columns:repeat(2,1fr)}.connector{display:none}.qrExplainer{grid-template-columns:170px 1fr}.qrFlow{grid-column:1/-1}.businessVisual{order:2}.businessCopy{text-align:center}.businessCopy h2{text-align:center}.businessCopy li{text-align:left}.rewardsGrid{gap:30px}.ctaGrid{gap:40px}}
@media(max-width:580px){.wrap{width:min(100% - 28px,1160px)}.nav{height:70px}.brand{font-size:28px}.brand img{width:36px;height:36px}.navCta{padding:10px 14px!important}.heroGrid{min-height:auto}.heroCopy h1,.section h2,.ctaSection h2{font-size:42px;letter-spacing:-2px}.lead{font-size:16px}.heroVisual{height:520px;transform:scale(.9);transform-origin:top center;margin-bottom:-40px}.phone{left:48%}.heroMascot{right:-35px}.badgeOffer{left:-10px}.badgeStamp{right:-20px}.socialProof div{flex-direction:column;gap:10px;text-align:center}.section{padding:78px 0}.steps{grid-template-columns:1fr}.qrExplainer{grid-template-columns:1fr;padding:25px;text-align:center}.qrExplainer>img{margin:auto}.businessGrid{gap:20px}.businessVisual{min-height:380px}.businessVisual img{width:300px;height:300px}.yellowDisc{width:300px;height:300px}.metricCard{right:10px}.rewardScene{height:460px}.rewardCard{left:20px;top:25px;width:calc(100% - 40px)}.rewardScene>img{width:230px;height:230px}.ctaSection{padding:75px 0}.footerGrid{height:auto;padding:35px 0;flex-direction:column;gap:12px;text-align:center}}

/* Landing extras: cupones web + legales */
.heroNote{margin:18px 0 0;max-width:520px;font-size:14px;line-height:1.55;color:var(--muted)}
.footerGridLegal{height:auto;padding:36px 0;gap:18px;flex-wrap:wrap}
.footerLinks{display:flex;gap:22px;flex-wrap:wrap}
.footerLinks a{color:var(--purple);text-decoration:none;font-size:13px;font-weight:800}
.legalPage{padding:40px 0 80px}
.legalPage h1{font-size:40px;letter-spacing:-1.5px;margin:0 0 12px;color:var(--purple)}
.legalPage .legalMeta{color:var(--muted);font-size:14px;margin:0 0 28px}
.legalPage h2{font-size:22px;margin:28px 0 10px;color:var(--ink)}
.legalPage p,.legalPage li{color:var(--muted);line-height:1.7;font-size:15px}
.legalPage ul{padding-left:20px}
.cuponesPage{padding:20px 0 80px;background:linear-gradient(180deg,#fbf7ff 0%,#fff 40%)}
.cuponesCard{background:#fff;border:1px solid #ece5ef;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(55,25,70,.08);max-width:480px;margin:0 auto}
.cuponesCard h1{font-size:28px;margin:0 0 8px;color:var(--purple);letter-spacing:-1px}
.cuponesCard .lead{font-size:15px;margin:0 0 20px}
.cuponesCard label{font-size:12px;font-weight:900;display:grid;gap:7px;margin-bottom:12px}
.cuponesCard input{width:100%;height:48px;border:1px solid #ded5e2;border-radius:12px;padding:0 14px;font-size:16px}
.cuponesCard .button{width:100%;margin-top:8px}
.cuponesError{background:#ffecec;color:#9b1c1c;border-radius:12px;padding:12px 14px;font-size:13px;margin-bottom:12px}
.cuponesHint{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center}
.cuponesToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 18px;max-width:720px}
.cuponesToolbar h1{font-size:28px;margin:0;color:var(--purple)}
.cuponesList{display:grid;gap:14px;max-width:720px;margin:0 auto}
.couponItem,.stampItem{background:#fff;border:1px solid #ece5ef;border-radius:18px;padding:16px 18px;box-shadow:0 8px 18px rgba(46,17,61,.06)}
.couponItem.pending{border-color:#10d5b4}
.couponItem .tag{display:inline-block;font-size:11px;font-weight:900;padding:4px 10px;border-radius:999px;background:#e8fff9;color:#0a7a66;margin-bottom:8px}
.couponItem .tag.claimed{background:#f1ebf6;color:#6e6478}
.stampItem .progress{height:8px;background:#f1ebf6;border-radius:99px;overflow:hidden;margin-top:10px}
.stampItem .progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--teal))}
.emptyState{text-align:center;color:var(--muted);padding:40px 16px;max-width:480px;margin:0 auto}
.button.ghost{background:transparent;border:1px solid #d9d0df;color:var(--purple);min-height:42px;padding:0 14px}
.sectionTitle{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--purple);margin:24px auto 10px;max-width:720px}

/* Planes / precios */
.pricingSection{background:linear-gradient(180deg,#fbf7ff 0%,#fff 100%)}
.pricingGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.priceCard{position:relative;background:#fff;border:1px solid #ece5ef;border-radius:22px;padding:28px 24px;box-shadow:0 14px 32px rgba(55,25,70,.08);display:flex;flex-direction:column;gap:14px}
.priceCard.featured{border-color:var(--purple);box-shadow:0 18px 40px rgba(76,7,141,.18);transform:translateY(-6px)}
.priceBadge{position:absolute;top:14px;right:14px;background:var(--yellow);color:var(--deep);font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px}
.priceCard h3{margin:0;font-size:22px;color:var(--purple)}
.priceAmount{margin:0;font-size:36px;font-weight:900;letter-spacing:-1px;color:var(--ink)}
.priceAmount small{font-size:14px;font-weight:700;color:var(--muted)}
.priceCard ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px;flex:1}
.priceCard li{font-size:14px;color:var(--muted);padding-left:22px;position:relative}
.priceCard li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}
.priceCard .button{width:100%}
.pricingLoading,.pricingError,.pricingNote{text-align:center;color:var(--muted);font-size:14px}
.pricingNote{margin-top:28px}
.pricingError{color:#9b1c1c}

.qrReader{width:100%;max-width:360px;margin:12px auto;overflow:hidden;border-radius:16px;background:#111}
.qrReader video{width:100%!important;border-radius:16px}

@media(max-width:900px){.pricingGrid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.priceCard.featured{transform:none}}
@media(max-width:580px){.legalPage h1{font-size:30px}.cuponesToolbar{flex-direction:column;align-items:flex-start}}
