:root{--f:#ED4497;--fp:#C4236F;--fs:#FCE3EF;--n:#0E0D10;--t:#2A2630;--g:#6E6672;--l:#E6DEE3;--h:#F7F3F5;--pa:#0F5E6B;
--d:"Archivo","Arial Black",Arial,sans-serif;--b:"Figtree","Segoe UI",Arial,sans-serif;--m:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--b);color:var(--t);background:#fff}
a{color:inherit}
.in{max-width:1120px;margin:0 auto;padding-inline:20px}
.kick{font:500 12px var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--fp)}
.h2{font:900 italic clamp(30px,5vw,48px)/1 var(--d);letter-spacing:-.02em;color:var(--n);margin:8px 0 0} .h2 i{color:var(--f)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:99px;background:var(--f);color:var(--n);font:800 16px var(--b);padding:14px 26px;cursor:pointer;text-decoration:none}
.btn:hover{background:#F25AA5} .btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--f);outline-offset:2px}
.lg{display:block;height:auto;aspect-ratio:455/279;color:var(--f)}
/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(14,13,16,.96);backdrop-filter:blur(6px)}
.top .in{display:flex;justify-content:space-between;align-items:center;height:64px}
.top .lg{width:84px}
.top .btn{padding:9px 18px;font-size:14px}
/* hero */
.hero{background:var(--n);color:#fff;overflow:hidden}
.hgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-block:48px 56px}
.hero h1{font:900 italic clamp(44px,7vw,84px)/.92 var(--d);letter-spacing:-.035em;margin:14px 0 18px} .hero h1 i{color:var(--f)}
.hero p{font-size:19px;color:#D8D0D5;max-width:36ch;margin:0 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips span{border:1px solid #3A343D;border-radius:99px;padding:6px 12px;font-size:13px;color:#E6DEE3}
.hphoto{position:relative}
.hphoto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px;display:block}
.hbadge{position:absolute;left:-16px;bottom:28px;background:var(--f);color:var(--n);border-radius:16px;padding:12px 16px;font:900 italic 20px/1.05 var(--d);max-width:210px}
/* beneficios */
section.sec{padding-block:64px}
.ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.ben div{background:var(--h);border-radius:18px;padding:18px}
.ben .ic{width:40px;height:40px;border-radius:50%;background:var(--f);color:var(--n);display:grid;place-items:center;font:900 italic 18px var(--d)}
.ben b{display:block;font:800 17px var(--d);color:var(--n);margin-top:10px}
.ben span{font-size:14.5px;color:var(--g)}
.soon{font:500 10px var(--m);background:var(--n);color:#fff;border-radius:5px;padding:2px 6px;margin-left:6px;vertical-align:middle}
/* pasos */
.steps{background:var(--n);color:#fff}
.steps .h2{color:#fff}
.sgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:28px}
.sgrid div{border-top:3px solid var(--f);padding-top:12px}
.sgrid .n{font:900 italic 34px/1 var(--d);color:var(--f)}
.sgrid b{display:block;font:800 16px var(--d);margin:6px 0 4px}
.sgrid span{font-size:13.5px;color:#CFC6CC}
/* formulario */
.fwrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start;margin-top:28px}
form{background:#fff;border:1px solid var(--l);border-radius:22px;padding:24px;display:grid;gap:14px;box-shadow:0 30px 50px -36px rgba(14,13,16,.5)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label.f{display:grid;gap:5px;font:700 13.5px var(--b);color:var(--n)}
label.f small{font-weight:500;color:var(--g)}
input[type=text],input[type=tel],input[type=email],textarea{border:1.5px solid var(--l);border-radius:12px;padding:11px 12px;font:500 15px var(--b);color:var(--n);width:100%;background:#fff}
textarea{resize:vertical;min-height:70px}
.upload{display:flex;gap:14px;align-items:center;border:1.5px dashed var(--f);border-radius:14px;padding:12px;cursor:pointer}
.upload .av{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;border:3px solid var(--f)}
.upload .av img,.upload .av svg{width:100%;height:100%;object-fit:cover;display:block}
.upload b{color:var(--n);display:block} .upload small{color:var(--g)}
.upload input{position:absolute;width:1px;height:1px;opacity:0}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--t)}
.chk input{width:20px;height:20px;accent-color:var(--f);flex:none;margin-top:2px}
.chk .req{color:var(--fp);font-weight:700}
.err{color:#B3261E;font-size:13px;font-weight:700;display:none}
form.bad .err{display:block}
.sent{display:none;text-align:center;padding:10px 4px;gap:12px}
.sent.on{display:grid}
.sent .big{font:900 italic 36px/1 var(--d);color:var(--n)} .sent .big i{color:var(--f)}
.status{display:grid;gap:8px;text-align:left;background:var(--h);border-radius:14px;padding:14px}
.status div{display:flex;gap:10px;align-items:center;font-size:14px}
.dot{width:12px;height:12px;border-radius:50%;background:var(--l);flex:none}
.dot.ok{background:#2F8A4E} .dot.wait{background:var(--f);animation:p 1.2s infinite}
@keyframes p{50%{opacity:.3}}
.wa{background:#EFE7DE;border-radius:14px;padding:12px;text-align:left;font-size:14px}
.wa div{background:#fff;border-radius:10px;padding:10px}
/* tarjeta preview */
.prev{position:sticky;top:88px;display:grid;gap:10px;justify-items:center}
.prev .kick{text-align:center}
.card{width:300px;aspect-ratio:54/85.6;border-radius:18px;background:var(--n);color:#fff;padding:18px;display:flex;flex-direction:column;box-shadow:0 26px 50px -26px rgba(14,13,16,.75)}
.card .ct{display:flex;justify-content:space-between;align-items:flex-start}
.card .lg{width:84px}
.card .qr{background:#fff;border-radius:7px;padding:5px;width:68px} .card .qr svg{display:block;width:100%}
.card .code{font:500 10px var(--m);text-align:center;margin-top:3px;letter-spacing:.08em}
.card .mid{display:flex;gap:12px;align-items:center;margin-top:10px}
.card .ph{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid var(--f);flex:none}
.card .ph img,.card .ph svg{width:100%;height:100%;object-fit:cover;display:block}
.card .bigc{font:900 italic 32px/.9 var(--d)} .card .bigc i{color:var(--f);display:block}
.card .nm{font:700 17px/1.2 var(--b);margin-top:14px;min-height:40px}
.card .dr{display:inline-flex;background:var(--f);color:var(--n);font:800 11.5px var(--b);border-radius:99px;padding:5px 11px;margin-top:8px;align-self:flex-start;max-width:100%}
.card .rule{height:3px;background:#fff;margin:14px -18px 0}
.card .cb{margin-top:auto;font-size:11px;color:#CFC6CC;text-align:center}
.prev p{font-size:13px;color:var(--g);text-align:center;max-width:300px;margin:0}
/* términos + faq */
.terms{background:var(--h)}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.tgrid div{background:#fff;border-radius:16px;padding:16px 18px;font-size:14.5px}
.tgrid b{display:block;color:var(--n);font:800 16px var(--d);margin-bottom:4px}
details{border-bottom:1px solid var(--l);padding:14px 0}
summary{font:800 17px var(--d);color:var(--n);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}
summary::after{content:"+";color:var(--f);font-size:22px;line-height:1} details[open] summary::after{content:"–"}
details p{margin:8px 0 0}
footer{background:var(--n);color:#A9A0A6;padding:36px 0;font-size:13.5px}
footer .lg{width:100px;margin-bottom:10px}
@media (max-width:900px){
 .hgrid,.fwrap{grid-template-columns:1fr} .hphoto{order:-1} .hphoto img{aspect-ratio:16/12} .hbadge{left:12px;bottom:12px;font-size:16px}
 .ben{grid-template-columns:1fr 1fr} .sgrid{grid-template-columns:1fr 1fr} .tgrid{grid-template-columns:1fr}
 .prev{position:static;order:-1}
}
@media (max-width:560px){ .ben{grid-template-columns:1fr} .row2{grid-template-columns:1fr} section.sec{padding-block:44px} }