:root{--pink:#ef476f;--yellow:#ffd166;--green:#06d6a0;--blue:#118ab2;--navy:#073b4c;--ink:#031a23;--text:#eaf4f7;--muted:#9bb8c2;--line:rgba(255,255,255,.12);--glass:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));--f:"Sora","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",system-ui,sans-serif;background:var(--ink);color:var(--text);line-height:1.55;overflow-x:hidden;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(60% 50% at 15% 0,rgba(17,138,178,.35),transparent),radial-gradient(50% 45% at 90% 20%,rgba(239,71,111,.25),transparent),radial-gradient(60% 50% at 50% 100%,rgba(6,214,160,.18),transparent)}
body:after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.25;mask-image:radial-gradient(ellipse at 50% 0,#000,transparent 75%)}
#snow{position:fixed;inset:0;z-index:5;pointer-events:none}
.garland{position:fixed;top:0;left:0;right:0;height:34px;z-index:40;display:flex;justify-content:space-around;pointer-events:none;background:linear-gradient(#0000,#0000)}
.garland:before{content:"";position:absolute;left:0;right:0;top:6px;height:14px;border-bottom:2px solid #0a2a36;border-radius:0 0 50% 50%/0 0 100% 100%}
.garland i{width:10px;height:15px;border-radius:50% 50% 55% 55%;margin-top:14px;animation:tw 2.2s infinite ease-in-out;background:var(--c);box-shadow:0 0 14px 4px var(--c)}
.garland i:nth-child(4n+1){--c:var(--pink)}.garland i:nth-child(4n+2){--c:var(--yellow);animation-delay:.4s}.garland i:nth-child(4n+3){--c:var(--green);animation-delay:.8s}.garland i:nth-child(4n){--c:var(--blue);animation-delay:1.2s}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.35}}
.wrap{width:min(1180px,92%);margin:0 auto}
.bar{display:flex;align-items:center;gap:18px;padding:10px 18px;border:1px solid var(--line);border-radius:22px;background:rgba(3,26,35,.7);backdrop-filter:blur(14px)}
.bar img{height:38px}.bar a{color:var(--text);text-decoration:none}.bar nav a:hover{color:var(--yellow)}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:600 .92rem var(--f);padding:13px 22px;border-radius:14px;color:#031a23;background:linear-gradient(110deg,var(--pink),var(--yellow));text-decoration:none;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 28px -8px var(--pink)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px var(--pink)}.btn.g{background:linear-gradient(110deg,var(--green),var(--blue));color:#fff;box-shadow:0 8px 28px -8px var(--green)}
.btn.o{background:none;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn:disabled{opacity:.5;cursor:wait}
.cartbtn{position:relative;background:var(--glass);border:1px solid var(--line);color:var(--text);padding:10px 16px;border-radius:14px;cursor:pointer;font:600 .9rem var(--f)}
.cartbtn b{position:absolute;top:-7px;right:-7px;background:var(--pink);border-radius:99px;font-size:.7rem;padding:2px 7px}
.hero{padding:90px 0 50px;text-align:center}.tag{display:inline-block;padding:7px 16px;border:1px solid rgba(255,209,102,.4);border-radius:99px;color:var(--yellow);font-size:.8rem;letter-spacing:.08em;font-weight:600;background:rgba(255,209,102,.08)}
h1{font:800 clamp(2.4rem,6vw,4.6rem)/1.05 var(--f);margin:22px auto;max-width:900px}.grad{background:linear-gradient(110deg,var(--pink),var(--yellow) 50%,var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--muted);max-width:620px;margin:0 auto 28px;font-size:1.05rem}
.count{display:flex;gap:12px;justify-content:center;margin-top:38px}.count div{min-width:84px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--glass)}.count b{display:block;font:800 1.9rem var(--f);color:var(--yellow)}.count small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
section{padding:60px 0}h2{font:700 clamp(1.7rem,3.4vw,2.4rem) var(--f);text-align:center;margin-bottom:10px}.sub{text-align:center;color:var(--muted);margin-bottom:38px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.card{position:relative;padding:30px;border-radius:26px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);transition:transform .35s,border-color .35s;overflow:hidden}
.card:hover{transform:translateY(-8px);border-color:rgba(255,209,102,.5)}.card.hot{border-color:rgba(239,71,111,.6);box-shadow:0 0 60px -20px var(--pink)}
.card .ribbon{position:absolute;top:18px;right:-34px;transform:rotate(38deg);background:var(--pink);font:700 .68rem var(--f);padding:4px 40px;letter-spacing:.08em}
.card h3{font:700 1.3rem var(--f);margin-bottom:6px}.price{font:800 2.3rem var(--f);margin:14px 0}.price small{font-size:.9rem;color:var(--muted);font-weight:500}
.card ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:9px;font-size:.92rem;color:#cfe3ea}.card li:before{content:"❄";color:var(--green);margin-right:9px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.steps .card{padding:24px}.steps span{font:800 2rem var(--f);color:var(--pink)}
footer{padding:40px 0 90px;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
.fab{position:fixed;right:22px;bottom:22px;z-index:45;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px -6px #25d366;text-decoration:none;font-size:1.7rem;animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(37,211,102,0)}}
/* panel / modal */
.veil{position:fixed;inset:0;z-index:60;background:rgba(1,12,17,.7);backdrop-filter:blur(6px);display:none;justify-content:flex-end}.veil.on{display:flex}
.panel{width:min(460px,100%);height:100%;overflow:auto;padding:26px;background:#052330;border-left:1px solid var(--line);animation:in .35s}@keyframes in{from{transform:translateX(40px);opacity:0}}
.panel h3{font:700 1.4rem var(--f);margin-bottom:16px}.x{float:right;background:none;border:0;color:var(--text);font-size:1.5rem;cursor:pointer}
.line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem}.line button{background:none;border:0;color:var(--pink);cursor:pointer}
.tot{display:flex;justify-content:space-between;font:700 1.2rem var(--f);margin:18px 0}
label{display:block;font-size:.78rem;color:var(--muted);margin:12px 0 5px}input,textarea,select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font:inherit}input:focus,textarea:focus{outline:2px solid var(--blue)}
.err{color:#ff8fa6;font-size:.85rem;margin-top:10px;min-height:1em}#brick{margin-top:16px;border-radius:14px;overflow:hidden}
/* éxito */
.ok{position:fixed;inset:0;z-index:80;display:none;place-items:center;background:rgba(1,12,17,.92);text-align:center;padding:20px}.ok.on{display:grid}
.ok .box{max-width:460px;animation:pop .7s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{from{transform:scale(.4);opacity:0}}
.gift{font-size:5rem;animation:bounce 1s infinite}@keyframes bounce{50%{transform:translateY(-14px) rotate(-6deg)}}
.chk{width:110px;height:110px;margin:0 auto 10px}.chk circle{stroke:var(--green);stroke-width:5;fill:none;stroke-dasharray:300;stroke-dashoffset:300;animation:dr .8s .2s forwards}.chk path{stroke:var(--yellow);stroke-width:7;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:dr .5s .9s forwards}@keyframes dr{to{stroke-dashoffset:0}}
.codebox{margin:18px 0;padding:16px;border:2px dashed var(--yellow);border-radius:16px;font:800 1.7rem var(--f);letter-spacing:.12em;color:var(--yellow);user-select:all}
.conf{position:fixed;top:-12px;width:9px;height:14px;z-index:90;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}
@media(max-width:720px){.bar nav{display:none}.bar{justify-content:space-between}.cartbtn{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

header{position:sticky;top:38px;z-index:30;margin-top:40px}
.bar nav{margin-left:auto;display:flex;gap:6px;font-size:.88rem;font-weight:600}.bar nav a{padding:9px 14px;border-radius:12px;color:var(--muted)}.bar nav a:hover,.bar nav a.on{color:#fff;background:rgba(255,255,255,.08)}
.cartbtn{text-decoration:none;display:inline-flex;gap:6px;align-items:center}.burger{display:none;background:none;border:1px solid var(--line);color:#fff;border-radius:12px;padding:8px 12px;font-size:1.1rem}
.cnt{position:static!important;background:var(--pink);border-radius:99px;font-size:.72rem;padding:1px 8px}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;text-align:left}.two h1{margin-left:0}.two p{margin-left:0}
.mock{padding:22px}.mock .row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.mock .row:last-child{border:0}.mock b{color:var(--green)}
.hero{padding:70px 0 30px;text-align:left}.hero .count{justify-content:flex-start}.btns{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:6px 12px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;background:rgba(255,255,255,.05)}
.strip{padding:26px 0}.strip .chips{justify-content:center}.strip .chips span{font-size:.9rem;padding:10px 18px}
.plan{display:flex;flex-direction:column}.plan ul{flex:1}.plan .pill{align-self:flex-start;font:700 .68rem var(--f);letter-spacing:.12em;padding:5px 12px;border-radius:99px;background:rgba(6,214,160,.15);color:var(--green)}.plan.hot .pill{background:rgba(239,71,111,.2);color:#ff8fa6}
.plan h3{margin-top:14px;font-size:1.6rem}.price small{font-size:1rem;margin-right:4px;color:var(--muted)}.gold{background:linear-gradient(110deg,var(--yellow),#f4a62a);color:#031a23;font:700 .74rem var(--f);padding:8px 12px;border-radius:10px;margin-bottom:18px;text-align:center}
.plan .btn{justify-content:center}.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.feat .card{padding:24px}.feat span{font-size:1.8rem}.feat h3{margin:8px 0 4px;font-size:1.05rem}.feat p{color:var(--muted);font-size:.9rem}
details{border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:10px;background:var(--glass)}summary{cursor:pointer;font-weight:600}details p{color:var(--muted);margin-top:10px}
.cta{text-align:center;padding:50px 24px!important}.page{padding:50px 0 30px}.page h1{font-size:clamp(2rem,4.5vw,3rem);text-align:center}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:28px;text-align:left;margin-bottom:26px}.fgrid h4{font:700 .85rem var(--f);margin-bottom:10px;color:#fff}.fgrid a{display:block;color:var(--muted);text-decoration:none;margin:6px 0}.fgrid a:hover{color:var(--yellow)}.fgrid p{margin-top:12px}.copy{border-top:1px solid var(--line);padding-top:18px}
.co{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}.co h3{font:700 1.15rem var(--f);margin-bottom:6px}.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.meths{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.mt{padding:14px;border:1px solid var(--line);border-radius:16px;cursor:pointer;background:rgba(255,255,255,.04);text-align:left;color:var(--text);font:inherit;transition:.25s}.mt b{display:block;font:700 .95rem var(--f)}.mt small{color:var(--muted);font-size:.75rem}.mt.on{border-color:var(--yellow);background:rgba(255,209,102,.1);box-shadow:0 0 24px -8px var(--yellow)}
.mp{display:none;margin-top:8px}.mp.on{display:block}.fld{height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);display:flex;align-items:center;overflow:hidden}.fld iframe{height:46px!important}
.note{font-size:.82rem;color:var(--muted);margin-top:10px;padding:12px;border-radius:12px;background:rgba(17,138,178,.12);border:1px solid rgba(17,138,178,.3)}.sum .line b{color:var(--yellow)}.sum{position:sticky;top:130px}
.empty{text-align:center;padding:40px 10px;color:var(--muted)}.lock{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;margin-top:12px}
.okp{max-width:560px;margin:40px auto;text-align:center;padding:40px}.okp h1{font-size:2rem}.dl{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.ch label{margin:0;padding:14px;text-align:center;border:1px solid var(--line);border-radius:14px;cursor:pointer;color:var(--text)}.ch input{display:none}.ch label:has(input:checked){border-color:var(--yellow);background:rgba(255,209,102,.1);color:var(--yellow)}
.ok{display:none}.cb{margin:18px 0;padding:16px;border:2px dashed var(--yellow);border-radius:16px;font:800 1.7rem var(--f);letter-spacing:.12em;color:var(--yellow);user-select:all}
@media(max-width:860px){.two,.co{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}.sum{position:static}.burger{display:block}.bar nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#052330;border:1px solid var(--line);border-radius:18px;padding:10px}.bar nav.open{display:flex}.cartbtn span{display:none}.burger{margin-left:0}}
@media(max-width:520px){.g2,.meths{grid-template-columns:1fr}}
