@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#102a33;--teal:#087f8c;--teal2:#0ba3a6;--cyan:#6fe7dc;--paper:#f4f8f7;--white:#fff;--muted:#668087;--dark:#071d24;--line:#dce9e7;--shadow:0 28px 80px rgba(5,44,52,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,b,strong{font-family:'Manrope',sans-serif}button,input{font:inherit}.hidden{display:none!important}.gate{min-height:100vh;background:radial-gradient(circle at 20% 20%,#dffaf5 0,transparent 35%),linear-gradient(135deg,#f7fbfa,#e8f5f3);overflow-x:hidden}.aurora{position:fixed;border-radius:50%;filter:blur(10px);opacity:.35;pointer-events:none}.a1{width:420px;height:420px;background:#68e0d4;right:-120px;top:-120px}.a2{width:300px;height:300px;background:#8fd6ef;left:-120px;bottom:-100px}.gate-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;max-width:1300px;margin:auto;align-items:center;gap:70px;padding:60px 36px;position:relative}.logos{display:flex;align-items:center;gap:20px}.logos img{max-width:150px;max-height:70px;object-fit:contain}.logos span{width:1px;height:38px;background:#bdd3d0}.brand-panel .eyebrow,.kicker{display:inline-block;margin-top:52px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.75rem;color:var(--teal)}.brand-panel h1{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 26px;max-width:780px}.brand-panel p{font-size:1.12rem;line-height:1.7;color:#4e6b72;max-width:690px}.chips,.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.chips b,.tags span{border:1px solid #badbd7;border-radius:999px;padding:9px 14px;font-size:.82rem;background:rgba(255,255,255,.5)}.register-card{background:rgba(255,255,255,.86);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.step span{display:block;color:var(--teal);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.step strong{display:block;font-size:1.55rem;margin-top:4px}.muted{color:var(--muted);line-height:1.55}.register-card label{display:block;font-weight:700;font-size:.85rem;margin-top:18px}.register-card input{width:100%;border:1px solid #cfe0de;background:#fbfdfd;border-radius:14px;padding:14px 15px;margin-top:7px;outline:none}.register-card input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(8,127,140,.09)}.dni-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.btn{border:0;border-radius:14px;padding:14px 19px;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 10px 30px rgba(8,127,140,.22)}.secondary{background:#eaf5f3;color:var(--teal)}.full{width:100%;margin-top:20px}.identity{margin-top:15px;border-radius:15px;padding:14px;background:#eaf8f4;border:1px solid #cceae3}.identity small{display:block;color:#558078}.identity strong{display:block;margin-top:3px}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;line-height:1.4}.consent input{width:auto;margin-top:3px}.linkbtn,.navbtn,footer button{border:0;background:none;color:var(--teal);padding:0;text-decoration:underline;cursor:pointer}.msg{min-height:22px;margin-top:12px;font-size:.86rem}.msg.bad{color:#b53a45}.msg.ok{color:#18745f}.modal{position:fixed;inset:0;background:rgba(2,20,26,.7);display:none;place-items:center;padding:20px;z-index:100}.modal.show{display:grid}.modal-card{background:#fff;border-radius:25px;padding:32px;max-width:650px;max-height:88vh;overflow:auto;position:relative;box-shadow:var(--shadow)}.modal-card h2{font-size:2rem;letter-spacing:-.04em}.modal-card p{line-height:1.7;color:#506b72}.close{position:absolute;right:18px;top:14px;border:0;background:#eef5f4;border-radius:50%;width:36px;height:36px;font-size:1.5rem;cursor:pointer}.topbar{position:sticky;top:0;z-index:50;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid #e8efee}.logos.compact img{max-height:42px;max-width:100px}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a,.navbtn{text-decoration:none;color:#476168;font-weight:700;font-size:.86rem}.topbar .exit{border:1px solid #d5e2e0;border-radius:10px;padding:9px 13px}.hero{min-height:78vh;background:radial-gradient(circle at 80% 20%,rgba(55,208,196,.25),transparent 32%),linear-gradient(135deg,#061b22,#0b3942);color:#fff;padding:8vw 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.hero .kicker{margin:0;color:#6fe7dc}.hero h1{font-size:clamp(3.4rem,7vw,7rem);line-height:.92;letter-spacing:-.065em;margin:18px 0 26px}.hero h1 em{font-style:normal;color:#6fe7dc}.hero-copy p{max-width:700px;color:#bcd0d3;font-size:1.12rem;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.glass{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.2)}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-stats article{padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:22px;backdrop-filter:blur(10px)}.hero-stats strong{display:block;font-size:2.2rem;color:#7af1e5}.hero-stats span{display:block;color:#bfd0d3;margin-top:7px}.welcome{padding:32px 7vw;border-bottom:1px solid var(--line)}.welcome span{color:var(--muted);font-size:.8rem}.welcome h2{margin:3px 0;font-size:1.5rem}.welcome p{margin:0;color:var(--muted)}.section{padding:100px 7vw}.section-head{max-width:850px;margin-bottom:45px}.section-head>span{color:var(--teal);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}.section-head h2{font-size:clamp(2.2rem,4vw,4.4rem);line-height:1.03;letter-spacing:-.055em;margin:12px 0 18px}.section-head p{color:var(--muted);font-size:1.05rem;line-height:1.65}.mission-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.feature{border:1px solid var(--line);border-radius:22px;padding:28px}.feature b{font-size:1.2rem}.feature p{color:#5e767c;line-height:1.65}.feature.accent{background:#eaf8f4;border-color:#cdeae3}.dark{background:var(--dark);color:#fff}.dark .section-head>span{color:#6fe7dc}.dark .section-head p{color:#a9c1c5}.route{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route button{background:#0d2c34;border:1px solid #19424a;color:#fff;text-align:left;padding:22px;border-radius:18px;min-height:145px;cursor:pointer;transition:.2s}.route button:hover,.route button.active{background:#12414a;border-color:#55d6ca;transform:translateY(-3px)}.route button span{color:#6fe7dc;font-weight:800}.route button b{display:block;margin:9px 0 5px;font-size:1.05rem}.route button small{color:#a8c0c4;line-height:1.4}.route-detail{margin-top:18px;background:#0c252d;border-left:4px solid #6fe7dc;border-radius:14px;padding:25px}.route-detail span{color:#6fe7dc;font-size:.8rem;font-weight:800}.route-detail h3{font-size:1.8rem;margin:7px 0}.route-detail p{color:#b6c9cc;margin:0;line-height:1.6}.roles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.roles button{padding:22px;border:1px solid var(--line);background:#fff;border-radius:18px;text-align:left;cursor:pointer}.roles button.active{border-color:var(--teal);background:#eef9f7}.roles b,.roles span{display:block}.roles span{color:var(--muted);font-size:.82rem;margin-top:6px}.role-output{margin-top:16px;padding:22px;background:#f3f8f7;border-radius:15px;line-height:1.6}.soft{background:#f3f8f7}.flow{display:flex;align-items:stretch;gap:10px}.flow div{flex:1;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.flow b,.flow span{display:block}.flow span{font-size:.8rem;color:var(--muted);margin-top:6px}.flow i{align-self:center;font-style:normal;color:var(--teal);font-size:1.4rem}.coinvest{margin-top:25px;background:#0b333b;color:#fff;border-radius:22px;padding:28px}.coinvest h3{font-size:1.5rem}.coinvest div{display:flex;flex-wrap:wrap;gap:10px}.coinvest span{border:1px solid #3d6268;border-radius:999px;padding:9px 13px;color:#cce0e2}.check-grid,.scenario-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.check-grid article,.scenario-grid article{border:1px solid var(--line);border-radius:20px;padding:25px}.check-grid p,.scenario-grid p{color:var(--muted);line-height:1.55}.results{background:linear-gradient(135deg,#effbf8,#fff)}.logic{display:flex;align-items:center;gap:8px;overflow:auto;padding-bottom:8px}.logic button{min-width:145px;border:1px solid #b9ded8;background:#fff;border-radius:14px;padding:18px;font-weight:800;color:var(--ink);cursor:pointer}.logic i{font-style:normal;color:var(--teal)}.logic-output{margin-top:18px;padding:22px;border-radius:15px;background:#dff5f0}.scenario-grid article{border-color:#1d4149;background:#0b2931}.scenario-grid article span{color:#6fe7dc;font-weight:800}.scenario-grid article p{color:#adc4c8}.closing{text-align:center;padding:110px 7vw;background:#fff}.closing>span{color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}.closing h2{max-width:1000px;margin:16px auto;font-size:clamp(2.2rem,5vw,5rem);letter-spacing:-.055em;line-height:1.03}.closing p{color:var(--muted);font-size:1.08rem}.closing .btn{margin-top:20px}footer{padding:25px 7vw;background:#061b22;color:#9eb8bc;display:flex;justify-content:space-between;gap:20px}footer button{color:#9eb8bc}.light{color:#d6eeec}
@media(max-width:980px){.gate-wrap,.hero{grid-template-columns:1fr}.gate-wrap{gap:30px;padding-top:35px}.brand-panel .eyebrow{margin-top:35px}.mission-grid{grid-template-columns:1fr}.route{grid-template-columns:1fr 1fr}.roles{grid-template-columns:1fr 1fr}.check-grid,.scenario-grid{grid-template-columns:1fr 1fr}.flow{flex-wrap:wrap}.flow div{flex:1 1 30%}.flow i{display:none}.topbar nav a:not(.exit),.topbar .navbtn{display:none}}
@media(max-width:620px){.gate-wrap{padding:24px 16px}.brand-panel h1{font-size:2.8rem}.register-card{padding:22px;border-radius:22px}.logos img{max-width:110px}.hero{padding:70px 20px}.hero h1{font-size:3.6rem}.hero-stats,.route,.roles,.check-grid,.scenario-grid{grid-template-columns:1fr}.section{padding:75px 20px}.section-head h2{font-size:2.45rem}.flow{display:grid}.hero-actions .btn{width:100%}.topbar{padding:0 18px}.logos.compact img{max-width:82px}footer{flex-direction:column;padding:25px 20px}}

.register-card select{width:100%;border:1px solid #cfe0de;background:#fbfdfd;border-radius:14px;padding:14px 15px;margin-top:7px;outline:none;color:var(--ink)}.register-card select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(8,127,140,.09)}


/* Ficha de identidad RNP confirmada */
.identity.identity-verified{
    margin-top:18px;padding:20px;border:1px solid #cceae3;border-radius:20px;
    background:linear-gradient(145deg,#f1fbf7,#fff);box-shadow:0 12px 32px rgba(8,127,140,.08)
}
.identity-verified-header{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:17px;border-bottom:1px solid #dcebe6}
.identity-check{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;font-size:21px;font-weight:800}
.identity-verified-header span{display:block;margin-bottom:2px;color:var(--teal);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.identity-verified-header strong{display:block;color:var(--ink);font-size:.88rem}
.identity-name{margin-bottom:16px}
.identity-name span,.identity-data span{display:block;margin-bottom:4px;color:#6e858a;font-size:.72rem;font-weight:600}
.identity-name strong{display:block;color:#102a33;font-size:1.05rem;line-height:1.35}
.identity-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.identity-data{padding:12px 13px;border-radius:12px;background:#eaf5f3;border:1px solid #d7ebe6}
.identity-data strong{display:block;margin:0;color:#17343c;font-size:.86rem}
.identity-change{width:100%;margin-top:15px;padding:10px 14px;border:1px solid #cfe0de;border-radius:11px;background:#fff;color:var(--teal);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
.identity-change:hover{background:#f3faf8}
.msg.success,.msg.ok{color:#18745f}.msg.error,.msg.bad{color:#b53a45}.msg.loading{color:var(--teal)}
@media(max-width:620px){.identity-data-grid{grid-template-columns:1fr}.identity.identity-verified{padding:17px}}

/* Modal de confirmación RNP generado por register.js */
#rnpConfirmModal{font-family:'DM Sans',sans-serif}