/* Vuelve · Portada (vuelvecard.app): tarjeta que se sella, ticket, "Así de fácil" y botones de entrada. */
/* ---------- Portada (landing) ---------- */
.lp{--mono:'IBM Plex Mono', ui-monospace, Menlo, monospace;--paper:#FFFDF7;--inkg:#0F5A45;--inkr:#9A5B12;position:relative;}
.lp-top{display:flex;align-items:center;justify-content:space-between;}
.lp-enter{background:none;border:none;font-family:var(--sans);font-weight:700;font-size:.88rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px;cursor:pointer;padding:6px 0;}
.lp-h1{font-family:var(--display);font-weight:700;font-size:clamp(2.75rem,13vw,3.7rem);line-height:.93;letter-spacing:-.04em;margin:30px 0 0;color:var(--ink);}
.lp-h1 .l2{display:block;padding-left:.9em;}
.lp-h1 em{font-style:italic;font-weight:600;color:var(--brand);position:relative;display:inline-block;}
.lp-h1 em svg{position:absolute;left:-2%;bottom:-.16em;width:104%;height:.32em;overflow:visible;}
.lp-h1 em path{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260;animation:lpDraw 1s .5s cubic-bezier(.6,.1,.2,1) forwards;}
@keyframes lpDraw{to{stroke-dashoffset:0}}
.lp-sub{font-size:1.02rem;color:var(--ink-2);max-width:31ch;margin:18px 0 0;line-height:1.5;}
.lp-sub b{color:var(--ink);}
.lp-stage{position:relative;margin:58px 6px 0;}
.lp-cardwrap{filter:drop-shadow(0 22px 22px rgba(19,35,29,.16)) drop-shadow(0 2px 2px rgba(19,35,29,.08));transform:rotate(-2.2deg);}
.lp-card{position:relative;background:var(--paper);border-radius:16px;padding:18px 20px 16px;cursor:pointer;user-select:none;-webkit-user-select:none;
  background-image:radial-gradient(rgba(19,35,29,.035) 1px, transparent 1px);background-size:5px 5px;
  -webkit-mask:radial-gradient(circle 11px at left 58%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at right 58%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at left 58%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at right 58%,#0000 98%,#000) right/51% 100% no-repeat;}
.lp-card:active{transform:scale(.99);}
.lp-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.lp-card-h b{font-family:var(--display);font-size:1.5rem;letter-spacing:-.02em;color:var(--ink);}
.lp-card-h span{font-family:var(--mono);font-size:.68rem;color:#8C8570;letter-spacing:.06em;}
.lp-card-rule{font-family:var(--mono);font-size:.7rem;color:#6F6A58;margin:2px 0 14px;letter-spacing:.02em;}
.lp-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;padding-top:12px;border-top:1.5px dashed #DCD3BE;}
.lp-slot{aspect-ratio:1;border-radius:50%;border:1.5px dashed #CFC5AD;position:relative;display:grid;place-items:center;color:#B9AE93;}
.lp-slot.last{border-style:solid;border-color:#C9973A;color:#C9973A;}
.lp-ink{position:absolute;inset:-5px;color:var(--inkg);transform:rotate(var(--r));opacity:.9;mix-blend-mode:multiply;}
.lp-ink.new{animation:lpStamp .34s cubic-bezier(.2,1.5,.45,1) both;}
.lp-ink svg{width:100%;height:100%;display:block;}
@keyframes lpStamp{0%{transform:rotate(var(--r)) scale(1.9);opacity:0}55%{opacity:.95}100%{transform:rotate(var(--r)) scale(1);opacity:.9}}
.lp-prize{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;}
.lp-prize div{font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1;color:var(--inkr);border:4px double var(--inkr);border-radius:12px;padding:10px 16px 12px;transform:rotate(-9deg);background:rgba(255,253,247,.9);text-align:center;animation:lpStampBig .42s cubic-bezier(.2,1.5,.45,1) both;filter:url(#lp-rough);}
.lp-prize small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;margin-top:6px;}
@keyframes lpStampBig{0%{transform:rotate(-9deg) scale(2.2);opacity:0}100%{transform:rotate(-9deg) scale(1);opacity:1}}
.lp-seal{position:absolute;right:-16px;top:-74px;width:96px;height:96px;z-index:2;pointer-events:none;}
.lp-seal svg{width:100%;height:100%;animation:lpSpin 22s linear infinite;}
.lp-seal .c{position:absolute;inset:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.25rem;transform:rotate(-8deg);}
@keyframes lpSpin{to{transform:rotate(360deg)}}
.lp-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 4px 0;font-size:.86rem;color:var(--ink-2);}
.lp-hint span{display:flex;align-items:center;gap:8px;}
.lp-hint svg{color:var(--accent);flex-shrink:0;}
.lp-count{font-family:var(--mono);font-weight:600;font-size:.95rem;color:var(--ink);letter-spacing:.04em;}
.lp-sec{margin-top:56px;}
.lp-h2{font-family:var(--display);font-weight:700;font-size:2rem;line-height:1;letter-spacing:-.03em;color:var(--ink);margin:0;}
.lp-h2 em{font-style:italic;font-weight:600;color:var(--brand);}
.lp-rwrap{filter:drop-shadow(0 16px 18px rgba(19,35,29,.14));transform:rotate(1.2deg);margin:26px 8px 0;}
.lp-receipt{background:#fff;padding:26px 20px 30px;font-family:var(--mono);font-size:.78rem;line-height:1.5;color:#26302C;
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 51% repeat-x;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 51% repeat-x;}
.lp-r-c{text-align:center;}
.lp-r-t{font-weight:600;letter-spacing:.14em;}
.lp-r-m{color:#8A918D;font-size:.7rem;}
.lp-r-hr{border:none;border-top:1.5px dashed #BFC6C2;margin:12px 0;}
.lp-r-row{display:flex;align-items:baseline;font-weight:600;margin-top:10px;}
.lp-r-row .d{flex:1;border-bottom:1.5px dotted #AEB6B2;margin:0 6px 4px;min-width:12px;}
.lp-r-row .n{color:var(--brand);margin-right:8px;}
.lp-r-note{color:#7C8480;padding-left:26px;font-size:.72rem;}
.lp-r-tot{display:flex;justify-content:space-between;font-weight:600;font-size:.9rem;align-items:flex-start;}
.lp-r-tot span:last-child{text-align:right;color:var(--brand);}
.lp-bars{height:38px;margin:16px auto 6px;width:78%;background:repeating-linear-gradient(90deg,#26302C 0 2px,#fff 2px 4px,#26302C 4px 5px,#fff 5px 8px,#26302C 8px 11px,#fff 11px 12px,#26302C 12px 13px,#fff 13px 16px);}
.lp-receipt .ln{opacity:0;transform:translateY(-4px);}
.lp-receipt.print .ln{animation:lpPrint .3s ease forwards;}
@keyframes lpPrint{to{opacity:1;transform:none}}
.lp-biz{margin:56px -18px 0;padding:44px 22px 36px;background:#0A2A20;color:#E9F1EC;position:relative;overflow:hidden;}
.lp-biz::before{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;border:34px solid rgba(201,151,58,.14);}
.lp-biz .lp-h2{color:#fff;position:relative;}
.lp-biz .lp-h2 em{color:#E8C274;}
.lp-price{position:relative;margin:26px 0 0;padding:16px 18px 14px;border:1.5px dashed rgba(232,194,116,.45);border-radius:18px;background:rgba(255,255,255,.03);}
.lp-price-tag{display:inline-block;background:#E8C274;color:#3A2600;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;}
.lp-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px;}
.lp-price-big{font-family:var(--display);font-weight:700;font-size:2.4rem;line-height:1;color:#fff;letter-spacing:-.02em;}
.lp-price-big small{font-family:var(--sans);font-size:.9rem;font-weight:600;color:rgba(233,241,236,.65);margin-left:3px;letter-spacing:0;}
.lp-price-alt{font-size:.8rem;color:rgba(233,241,236,.8);text-align:right;line-height:1.45;}
.lp-price-alt s{color:rgba(233,241,236,.5);}
.lp-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px;}
.lp-dots i{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(232,194,116,.6);}
.lp-dots i.on{background:#E8C274;border-color:#E8C274;}
.lp-price-foot{font-size:.8rem;line-height:1.45;color:rgba(233,241,236,.75);margin:10px 0 0;}
.lp-price-foot b{color:#fff;}
.demo-price{font-size:.84rem !important;margin:10px 0 14px !important;opacity:.95;position:relative;z-index:1;}
.demo-price s{opacity:.6;margin-left:2px;}
.lp-dash{margin-top:24px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:16px;position:relative;}
.lp-dash-h{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#9FB8AD;}
.lp-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;}
.lp-nums b{display:block;font-family:var(--display);font-size:2.2rem;line-height:1;color:#fff;letter-spacing:-.03em;}
.lp-nums span{display:block;font-size:.72rem;color:#B9CCC3;margin-top:5px;line-height:1.3;}
.lp-chart{display:flex;align-items:flex-end;gap:7px;height:70px;margin-top:18px;}
.lp-chart div{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;justify-content:flex-end;font-family:var(--mono);font-size:.6rem;color:#8FA99D;}
.lp-chart i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:#2E6B55;height:0;transition:height .9s cubic-bezier(.2,.8,.2,1);}
.lp-chart div.hi i{background:#E8C274;}
.lp-list{list-style:none;margin:26px 0 0;padding:0;position:relative;}
.lp-list li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.93rem;line-height:1.4;color:#DCE7E1;}
.lp-list li b{color:#fff;}
.lp-list .ic{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1.5px solid #E8C274;color:#E8C274;display:grid;place-items:center;transform:rotate(-8deg);}
.lp-cta{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:24px;height:58px;padding:0 8px 0 20px;border:none;border-radius:999px;background:#E8C274;color:#2A1C00;font-family:var(--sans);font-weight:800;font-size:1rem;cursor:pointer;}
.lp-cta span{width:44px;height:44px;border-radius:50%;background:#2A1C00;color:#E8C274;display:grid;place-items:center;}
.lp-foot{margin-top:30px;text-align:center;}
.lp-foot .m{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;}
.hw{margin-top:22px;}
.hw-stage{position:relative;height:318px;border-radius:26px;background:linear-gradient(160deg,#E3EEE8,#F3EFE3);border:1px solid var(--line);overflow:hidden;}
.hw-scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:hwIn .45s ease both;}
@keyframes hwIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.hw-cap{min-height:74px;margin-top:14px;text-align:center;}
.hw-cap b{display:block;font-family:var(--display);font-size:1.25rem;color:var(--ink);line-height:1.2;}
.hw-cap span{display:block;font-size:.9rem;color:var(--ink-2);margin-top:5px;line-height:1.4;}
.hw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;}
.hw-steps button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:7px 2px 8px;font-family:var(--sans);font-size:.7rem;font-weight:700;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;overflow:hidden;}
.hw-steps button .n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:.7rem;}
.hw-steps button.on{color:var(--brand-deep);border-color:var(--brand);}
.hw-steps button.on .n{background:var(--brand);color:#fff;}
.hw-steps button.on::after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--brand);animation:hwBar 3.6s linear both;}
.hw-steps.paused button.on::after{animation:none;width:100%;}
@keyframes hwBar{from{width:0}to{width:100%}}
.hw-phone{width:132px;height:236px;border-radius:24px;background:#13231D;padding:7px;box-shadow:0 22px 40px -18px rgba(19,35,29,.55);position:relative;flex-shrink:0;}
.hw-phone::before{content:"";position:absolute;top:10px;left:50%;width:34px;height:5px;margin-left:-17px;border-radius:9px;background:#2A3A33;z-index:2;}
.hw-screen{width:100%;height:100%;border-radius:18px;background:#F7F4EC;overflow:hidden;position:relative;}
.hw-poster{width:148px;border-radius:14px;background:#fff;box-shadow:0 14px 30px -16px rgba(19,35,29,.45);overflow:hidden;text-align:center;transform:rotate(-4deg);margin-right:-4px;}
.hw-poster .top{background:linear-gradient(150deg,#0F5A45,#0A4535);color:#fff;padding:12px 8px 10px;font-family:Fraunces,serif;font-weight:700;font-size:.95rem;line-height:1.1;}
.hw-poster .top small{display:block;font-family:var(--sans);font-size:.58rem;font-weight:700;opacity:.85;margin-top:4px;}
.hw-poster img{width:96px;height:96px;margin:10px auto 4px;display:block;image-rendering:pixelated;}
.hw-poster .cta{font-size:.62rem;font-weight:800;color:var(--ink);padding:0 6px 11px;}
.hw-cam{position:absolute;inset:0;background:#0E1A15;display:grid;place-items:center;}
.hw-cam img{width:74px;height:74px;border-radius:4px;opacity:.95;image-rendering:pixelated;}
.hw-brackets{position:absolute;width:96px;height:96px;left:50%;top:50%;margin:-48px 0 0 -48px;border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.35);}
.hw-brackets::before,.hw-brackets::after{content:"";position:absolute;inset:0;border:3px solid #fff;border-radius:12px;clip-path:polygon(0 0,30% 0,30% 8%,8% 8%,8% 30%,0 30%,0 70%,8% 70%,8% 92%,30% 92%,30% 100%,70% 100%,70% 92%,92% 92%,92% 70%,100% 70%,100% 30%,92% 30%,92% 8%,70% 8%,70% 0,100% 0,100% 100%,0 100%);}
.hw-scanline{position:absolute;left:14px;right:14px;height:2px;background:#5BE0A4;box-shadow:0 0 10px #5BE0A4;top:34%;animation:hwScan 1.4s ease-in-out infinite alternate;}
@keyframes hwScan{from{top:34%}to{top:64%}}
.hw-ok{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:#fff;color:var(--ok);font-weight:800;font-size:.66rem;padding:5px 9px;border-radius:999px;white-space:nowrap;display:flex;gap:4px;align-items:center;animation:hwPop .35s 1.9s ease both;}
@keyframes hwPop{from{opacity:0;transform:translateX(-50%) scale(.6)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.hw-form{padding:26px 10px 10px;font-size:.62rem;color:var(--ink);}
.hw-form .hd{font-family:Fraunces,serif;font-weight:700;font-size:.9rem;color:#0F5A45;}
.hw-form .sub{color:var(--muted);font-size:.58rem;margin:2px 0 8px;}
.hw-field{border:1px solid var(--line);background:#fff;border-radius:8px;height:24px;margin-top:5px;padding:0 7px;display:flex;align-items:center;font-weight:700;overflow:hidden;white-space:nowrap;}
.hw-field span{display:inline-block;overflow:hidden;white-space:nowrap;width:0;animation:hwType .9s steps(12) both;}
.hw-field.f2 span{animation-delay:.9s;}
@keyframes hwType{to{width:100%}}
.hw-lbl{font-size:.52rem;font-weight:800;color:var(--muted);margin-top:7px;text-transform:uppercase;letter-spacing:.04em;}
.hw-btn{margin-top:10px;height:26px;border-radius:9px;background:#0F5A45;color:#fff;font-weight:800;display:grid;place-items:center;animation:hwPulse 1s 1.9s ease 2;}
@keyframes hwPulse{50%{transform:scale(.94)}}
.hw-sent{position:absolute;inset:0;background:rgba(247,244,236,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:.7rem;color:var(--ink);animation:hwFade .3s 2.5s ease both;}
.hw-sent i{width:34px;height:34px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;}
@keyframes hwFade{from{opacity:0}to{opacity:1}}
.hw-chip{position:absolute;left:12px;top:14px;z-index:3;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800;color:var(--ink-2);display:flex;gap:5px;align-items:center;box-shadow:0 8px 18px -12px rgba(0,0,0,.3);}
.hw-card{width:300px;transform:scale(.9);}
.hw-scene.s4 .hw-card{margin-top:-46px;transform:scale(.84);}
.hw-card .pass{margin:0;}
.hw-scene.s3 .stamp.on:nth-child(n+5){animation:hwStamp .35s ease both;}
.hw-scene.s3 .stamp.on:nth-child(5){animation-delay:.5s}
.hw-scene.s3 .stamp.on:nth-child(6){animation-delay:1.1s}
.hw-scene.s3 .stamp.on:nth-child(7){animation-delay:1.7s}
.hw-scene.s3 .stamp.on:nth-child(8){animation-delay:2.3s}
@keyframes hwStamp{0%{transform:scale(0);opacity:0}70%{transform:scale(1.18);opacity:1}100%{transform:scale(1)}}
.hw-plus{position:absolute;right:22px;bottom:30px;background:#fff;color:var(--brand-deep);font-weight:800;font-size:.8rem;border-radius:999px;padding:7px 12px;box-shadow:0 10px 22px -12px rgba(0,0,0,.35);display:flex;gap:5px;align-items:center;animation:hwFloat 2.4s .4s ease-in-out both;}
@keyframes hwFloat{0%{opacity:0;transform:translateY(10px)}15%{opacity:1;transform:none}85%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}
.hw-prize{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:#FFE6A8;color:#5A3A00;font-weight:800;font-size:.92rem;border-radius:999px;padding:9px 16px;white-space:nowrap;display:flex;gap:6px;align-items:center;box-shadow:0 12px 26px -12px rgba(90,58,0,.45);animation:hwPop .4s .6s ease both;}
.hw-confetti i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:hwFall 2.6s ease-in both;}
@keyframes hwFall{from{transform:translateY(0) rotate(0)}to{transform:translateY(340px) rotate(540deg)}}
.hw-biz{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;}
.hw-biz div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 8px;text-align:center;font-size:.72rem;font-weight:700;color:var(--ink-2);line-height:1.3;}
.hw-biz svg{display:block;margin:0 auto 5px;color:var(--brand);}
@media (prefers-reduced-motion:reduce){.hw-scene,.hw-scene *,.hw-steps button::after{animation:none!important}.hw-field span{width:100%}.hw-sent,.hw-ok,.hw-prize,.hw-plus{opacity:1}}
.lp .hw-stage{height:318px;border:none;border-radius:20px;background:#ECE5D2;background-image:radial-gradient(rgba(19,35,29,.07) 1px,transparent 1px);background-size:6px 6px;margin-top:18px;box-shadow:inset 0 0 0 1.5px rgba(19,35,29,.06);cursor:pointer;}
.lp .lp-rwrap.hw-ticket{margin-top:-18px;position:relative;z-index:1;transform:rotate(.6deg);}
.lp-steps{margin:4px -8px 0;}
.lp-step{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;color:inherit;padding:8px 8px 9px;border-radius:10px;cursor:pointer;position:relative;overflow:hidden;}
.lp-step .lp-r-row{margin-top:0;}
.lp-step.on{background:#EEF5F1;}
.lp-step.on .lp-r-row{color:var(--brand-deep);}
.lp-step.on::after{content:"";position:absolute;left:8px;bottom:3px;height:2px;background:var(--brand);animation:hwBar 3.6s linear both;width:0;max-width:calc(100% - 16px);}
.lp-steps.paused .lp-step.on::after{animation:none;width:calc(100% - 16px);}
.lp-step .lp-r-note{padding-left:26px;}
/* Botones de entrada: se ven y se sienten como botones (se hunden al tocarlos) */
.lp-doors{display:flex;flex-direction:column;gap:14px;margin-top:30px;}
.lp-door{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:12px 14px;border-radius:18px;text-align:left;cursor:pointer;font-family:var(--sans);transition:transform .08s ease, box-shadow .08s ease;}
.lp-door .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;}
.lp-door .txt{flex:1;min-width:0;}
.lp-door .txt b{display:block;font-family:var(--sans);font-weight:800;font-size:1.1rem;line-height:1.2;letter-spacing:-.01em;}
.lp-door .txt small{display:block;font-size:.8rem;font-weight:600;opacity:.78;margin-top:2px;}
.lp-door .go{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;}
.lp-door.biz{background:var(--brand);color:#fff;border:2px solid #0A2A20;box-shadow:0 6px 0 #0A2A20;}
.lp-door.biz .ico{background:rgba(255,255,255,.14);}
.lp-door.biz .go{background:#E8C274;color:#2A1C00;}
.lp-door.cli{background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink);}
.lp-door.cli .ico{background:#F1ECDF;color:var(--brand);}
.lp-door.cli .go{background:var(--ink);color:#fff;}
.lp-door:active{transform:translateY(5px);box-shadow:0 1px 0 #0A2A20;}
.lp-door.cli:active{box-shadow:0 1px 0 var(--ink);}
@media (prefers-reduced-motion:reduce){.lp-step.on::after{animation:none;width:calc(100% - 16px)}}
@media (min-width:520px){.lp-h1{font-size:4rem}}
@media (prefers-reduced-motion:reduce){.lp *{animation:none!important;transition:none!important}.lp-h1 em path{stroke-dashoffset:0}.lp-receipt .ln{opacity:1;transform:none}}

h1,h2,h3{margin:0;color:var(--ink);}
h1{font-family:var(--display);font-weight:700;font-size:2.15rem;line-height:1.08;letter-spacing:-.02em;}
h2{font-family:var(--display);font-weight:700;font-size:1.6rem;line-height:1.15;letter-spacing:-.01em;}
h3{font-size:1rem;font-weight:700;}
p{margin:0;}
.lead{color:var(--ink-2);font-size:1rem;margin-top:10px;}
.muted{color:var(--muted);}
.small{font-size:.84rem;}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 45%, transparent);outline-offset:2px;border-radius:8px;}

.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;min-height:40px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-style:italic;font-size:1.45rem;color:var(--ink);}
.logo-mark{width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;display:grid;place-items:center;font-style:normal;font-size:1.05rem;transform:rotate(-6deg);box-shadow:0 6px 14px -6px var(--brand);}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;}
.icon-btn:active{transform:scale(.96);}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:600;font-size:.92rem;cursor:pointer;background:none;border:none;padding:8px 0;font-family:var(--sans);}

.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 20px;border-radius:var(--r);border:none;font-family:var(--sans);font-size:.98rem;font-weight:700;cursor:pointer;transition:transform .12s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;}
.btn:active{transform:scale(.98);}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 22px -12px var(--brand), inset 0 1px 0 rgba(255,255,255,.18);}
.btn-primary:hover:not(:disabled){background:var(--brand-deep);}
.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-gold{background:var(--accent);color:#3A2600;box-shadow:0 10px 22px -12px var(--accent);}
.btn-ghost{background:transparent;color:var(--ink-2);height:44px;}
.btn-block{width:100%;}
.btn-sm{height:42px;font-size:.9rem;padding:0 14px;border-radius:12px;}
.row{display:flex;gap:10px;align-items:center;}
.stack{display:flex;flex-direction:column;gap:12px;}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow);}
.card + .card{margin-top:12px;}
.card-title{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:14px;color:var(--ink);}
.card-title svg{color:var(--brand);}

.field + .field{margin-top:16px;}
label{display:block;font-size:.82rem;font-weight:700;color:var(--ink-2);margin-bottom:8px;}
.input{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--sans);font-size:1rem;transition:border-color .15s, background .15s, box-shadow .15s;}
.input:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-soft);}
.input.code{font-family:ui-monospace,'SF Mono',Menlo,monospace;letter-spacing:.3em;font-size:1.1rem;}
.input-icon{position:relative;}
.input-icon svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.input-icon .input{padding-left:42px;}
.hint{font-size:.8rem;color:var(--muted);margin-top:7px;}
.error{display:flex;gap:8px;align-items:center;background:#FDECEA;color:var(--danger);font-weight:600;font-size:.88rem;padding:11px 14px;border-radius:12px;margin-top:16px;}

.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--surface-2);border:1px solid var(--line);padding:5px;border-radius:14px;}
.seg button{border:none;background:transparent;height:46px;border-radius:10px;font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);}
.seg button.on svg{color:var(--brand);}
.seg.seg3{grid-template-columns:repeat(3,1fr);}
.seg.seg3 button{font-size:.84rem;gap:5px;padding:0 4px;}

.swatches{display:flex;gap:10px;flex-wrap:wrap;}
.swatch{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;position:relative;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);}
.swatch.on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink);}

.choice{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer;text-align:left;width:100%;font-family:var(--sans);}
.choice:active{transform:scale(.99);}
.choice-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;}
.choice-body{flex:1;}
.choice-title{font-weight:700;font-size:1rem;color:var(--ink);}
.choice-desc{font-size:.86rem;color:var(--muted);margin-top:2px;}
.choice > svg:last-child{color:var(--muted);}

.chips{display:flex;flex-wrap:wrap;gap:8px;}
.pick{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;background:var(--surface-2);border:1.5px solid var(--line);font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--ink-2);cursor:pointer;}
.pick.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep);}
.pick .rm{display:grid;place-items:center;color:var(--muted);}
.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer;font-size:.9rem;color:var(--ink-2);line-height:1.45;}
.check input{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:var(--brand);}
.check + .check{border-top:1px solid var(--line);}
.linkbtn{background:none;border:none;padding:0;color:var(--brand-deep);font-weight:700;font-family:var(--sans);font-size:inherit;text-decoration:underline;cursor:pointer;}
.privacy{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:.82rem;line-height:1.55;color:var(--ink-2);margin-top:4px;}
.privacy p + p{margin-top:8px;}
.ficha{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 14px;}
.ficha .kv{padding:10px 0;}
.fav-rank{display:flex;align-items:center;gap:10px;padding:10px 0;}
.fav-rank + .fav-rank{border-top:1px solid var(--line);}
.fav-rank b{flex:1;}
.quick{width:44px;height:44px;border-radius:14px;border:none;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;flex-shrink:0;cursor:pointer;font-family:var(--sans);font-weight:800;font-size:.8rem;}
.quick:active{transform:scale(.94);}
.quick:disabled{opacity:.4;}
.scan-cta{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border-radius:var(--r-lg);border:none;background:var(--ink);color:#fff;font-family:var(--sans);cursor:pointer;text-align:left;box-shadow:var(--shadow);}
.scan-cta .ico{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex-shrink:0;}
.scan-cta b{display:block;font-size:1rem;}
.scan-cta span.s{font-size:.8rem;opacity:.7;}
#scanner{position:fixed;inset:0;z-index:100;background:#000;}
#scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#scanner .frame{position:absolute;left:50%;top:44%;width:min(70vw,300px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:24px;box-shadow:0 0 0 9999px rgba(0,0,0,.55);border:3px solid #fff;}
#scanner .hint{position:absolute;left:0;right:0;top:calc(44% + min(35vw,150px) + 24px);text-align:center;color:#fff;font-family:var(--sans);font-weight:700;padding:0 24px;}
#scanner .close{position:absolute;left:50%;bottom:calc(32px + env(safe-area-inset-bottom));transform:translateX(-50%);height:52px;padding:0 28px;border-radius:999px;border:none;background:#fff;color:#1A1320;font-family:var(--sans);font-weight:800;font-size:1rem;}
.sheet-bg{position:fixed;inset:0;z-index:60;background:rgba(19,35,29,.45);display:flex;align-items:flex-end;justify-content:center;}
.sheet{width:100%;max-width:480px;background:var(--bg);border-radius:24px 24px 0 0;padding:20px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);max-height:92vh;overflow:auto;}
.sheet-grip{width:40px;height:5px;border-radius:999px;background:var(--line);margin:0 auto 16px;}
@media (min-width:600px){.sheet-bg{align-items:center}.sheet{border-radius:24px}}
.invite{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;}
.invite .qr-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;}
.invite .qr-box svg,.invite .qr-box img{width:100%;height:auto;display:block;image-rendering:pixelated;}
.invite-link{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.74rem;color:var(--ink-2);word-break:break-all;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;}
.invite-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px;}
.invite-btns .btn{height:46px;padding:0 8px;font-size:.82rem;flex-direction:column;gap:2px;}
@media (max-width:380px){.invite{grid-template-columns:96px 1fr;}}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--ink-2);}
.chip svg{color:var(--brand);}
