:root{--bg:#050B1F;--bg2:#08122E;--card:rgba(255,255,255,.05);--line:rgba(140,170,255,.22);--line2:rgba(140,175,255,.42);--tx:#EAF0FF;--mu:#A9B8DC;--blue:#3B82FF;--blue2:#1E56E8;--or:#FF7A2F;--ok:#34D399;--bad:#FF8A8A;--tg:#2AABEE;--display:"Archivo","Helvetica Neue",Arial,sans-serif;--body:"DM Sans","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh;background:radial-gradient(900px 500px at 50% -10%,#10275f 0%,transparent 62%),var(--bg);color:var(--tx);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:#8DB4FF}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app{width:100%;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;padding:0 20px env(safe-area-inset-bottom)}
.top{display:flex;align-items:center;justify-content:space-between;height:60px;flex:none}
.tl{display:flex;align-items:center;gap:2px;margin-left:-8px}
.brand img{display:block;height:34px;width:auto}
.x:hover{background:rgba(255,255,255,.07);color:var(--tx)}
#atras{font-size:22px}
.x{width:44px;height:44px;border:0;background:none;color:var(--mu);font-size:18px;cursor:pointer;border-radius:12px}
.prog{flex:none;padding-bottom:6px}
.bars{display:flex;gap:6px}
.bars i{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.13);transition:background .25s}
.bars i.on{background:linear-gradient(90deg,var(--blue),#7AA8FF)}
.pl{font-size:13px;color:var(--mu);margin-top:8px}
main{flex:1;display:flex;flex-direction:column;min-height:0}
.step{flex:1;display:flex;flex-direction:column;padding-top:10px;animation:in .28s ease both}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
h1,h2{font-family:var(--display);letter-spacing:-.015em;outline:none}
h1{font-size:clamp(32px,9vw,40px);line-height:1.08;font-weight:800}
h1 em{font-style:normal;color:var(--or)}
h2{font-size:26px;line-height:1.15;font-weight:700}
.lead{color:var(--mu);margin-top:10px;font-size:16px}
.lead strong{color:var(--tx)}
.small{font-size:13px;color:var(--mu);text-align:center;margin-top:10px}
.top{position:relative;z-index:2}
.hero{position:relative;isolation:isolate;margin:-60px -20px 0;padding:60px 20px 0}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,11,31,0) 0%,var(--bg) 66%),url("../img/v2/bg-hero.webp") center 30%/cover no-repeat}
.hero-txt{margin-top:auto;padding-top:220px}
.checks{list-style:none;margin-top:20px}
.checks li{display:flex;gap:10px;align-items:flex-start;margin:9px 0;color:#D6E2FF}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334D399' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"),rgba(52,211,153,.14)}
.foot{margin-top:auto;padding:22px 0 18px;position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--bg) 26%)}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;border:0;border-radius:15px;background:var(--or);color:#0B1020;font:700 16px var(--body);cursor:pointer;text-decoration:none;box-shadow:0 10px 28px rgba(255,122,47,.28);transition:transform .12s,filter .12s}
.btn:active{transform:scale(.985)}
.btn:hover{filter:brightness(1.05)}
.btn:focus-visible,.opt:focus-visible,.chip:focus-visible,.x:focus-visible,a:focus-visible,.upl:focus-within{outline:3px solid #9CC0FF;outline-offset:2px}
.btn.tg{background:var(--tg);color:#06132B;box-shadow:0 10px 28px rgba(42,171,238,.3)}
.btn svg{width:20px;height:20px;fill:currentColor;fill-opacity:.15;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.btn[disabled]{opacity:.6;cursor:progress}
.opts{display:grid;gap:11px;margin-top:20px}
.opt{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:15px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--tx);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.opt[aria-checked=true]{border-color:var(--blue);background:rgba(59,130,255,.13);box-shadow:0 0 0 1px var(--blue) inset,0 0 28px rgba(59,130,255,.22)}
.opt b{display:block;font-size:17px}
.opt small{display:block;color:var(--mu);font-size:14px;margin-top:2px}
.ic{width:44px;height:44px;flex:none;border-radius:13px;background:rgba(59,130,255,.16);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.ic svg,.upl svg{width:22px;height:22px;fill:none;stroke:#8DB4FF;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tag{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(255,122,47,.16);color:#FFB37D;margin-left:6px;vertical-align:2px}
form{margin-top:18px;display:flex;flex-direction:column;flex:1}
.fld{margin-bottom:16px}
label,.label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:#D6E2FF}
.opc{font-weight:400;color:var(--mu)}
input[type=text],input[type=tel],input[type=email],textarea{width:100%;min-height:52px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--tx);font:16px var(--body);outline:none;transition:border-color .15s}
textarea{resize:vertical;min-height:96px;line-height:1.4}
input::placeholder,textarea::placeholder{color:#7F90BA}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,255,.25)}
[aria-invalid=true]{border-color:var(--bad)!important}
.hint{font-size:13px;color:var(--mu);margin-top:6px}
.err{font-size:13.5px;color:var(--bad);margin-top:6px;min-height:0}
.err:empty{display:none}
.err.form{margin-top:10px;font-size:14.5px}
.more{margin:2px 0 6px;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:0 14px}
.more summary{list-style:none;cursor:pointer;min-height:52px;display:flex;align-items:center;font-weight:600;color:#D6E2FF}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"＋";margin-left:auto;color:#8DB4FF;font-size:20px}
.more[open] summary::after{content:"−"}
.more summary span{font-weight:400;color:var(--mu);margin-left:6px}
.more[open] .fld:first-of-type{margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{min-height:44px;padding:0 15px;border-radius:99px;border:1px solid var(--line);background:rgba(59,130,255,.1);color:#CFE0FF;font:500 15px var(--body);cursor:pointer}
.chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.upl{display:flex;gap:12px;align-items:center;padding:13px;border:1px dashed var(--line2);border-radius:14px;background:rgba(59,130,255,.06);cursor:pointer;margin:0}
.upl b{display:block;font-size:15px}.upl small{display:block;color:var(--mu);font-size:13px;font-weight:400}
.upl.ok{border-style:solid;border-color:rgba(52,211,153,.55);background:rgba(52,211,153,.08)}
.tel{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.05);overflow:hidden}
.tel:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,255,.25)}
.tel span{padding:0 12px 0 14px;color:#D6E2FF;white-space:nowrap;border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center}
.tel input{border:0;background:none;box-shadow:none!important;border-radius:0}
.tel[data-bad=true]{border-color:var(--bad)}
.ck{display:flex;gap:12px;align-items:flex-start;margin:6px 0 4px}
.ck input{flex:none;width:24px;height:24px;margin-top:1px;accent-color:var(--blue)}
.ck label{margin:0;font-weight:400;font-size:14px;color:var(--mu);line-height:1.45}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.done{align-items:center;text-align:center;padding-top:34px}
.orb{width:112px;height:112px;border-radius:50%;margin:0 auto 22px;background:radial-gradient(circle at 35% 30%,#4F8BFF,#1E3FA8 55%,#0A1440);display:flex;align-items:center;justify-content:center;box-shadow:0 0 50px rgba(59,130,255,.55)}
.orb img{height:58px}
.done .foot{width:100%}
.qr{margin:8px 0 22px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card);display:flex;flex-direction:column;align-items:center;gap:10px;max-width:260px}
.qr #qr-img{background:#fff;padding:10px;border-radius:12px;line-height:0}
.qr #qr-img svg,.qr #qr-img img{width:160px;height:160px}
.qr p{font-size:13px;color:var(--mu)}
@media (min-width:520px){.hero::before{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}}
@media (min-width:900px){.app{max-width:520px}body{padding-top:20px}.hero-txt{padding-top:180px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.files{list-style:none;margin-top:8px;display:grid;gap:6px}
.files li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:1px solid rgba(52,211,153,.5);border-radius:12px;background:rgba(52,211,153,.07);font-size:14px}
.files li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.files li small{color:var(--mu);white-space:nowrap}
.files li.wait{border-color:var(--line);background:var(--card)}
.files li button{width:40px;height:40px;flex:none;border:0;background:none;color:var(--mu);font-size:16px;border-radius:10px;cursor:pointer}
.files li button:focus-visible{outline:3px solid #9CC0FF}
#ok-aviso{max-width:320px;margin:10px auto 0;color:#FFC9A3}
.step .lead+.fld,.step .lead+form>.fld:first-child{margin-top:16px}
