
.app{max-width:760px;margin:0 auto;padding:0 0 80px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 12px;font-size:14px;color:var(--gray)}
.top a{text-decoration:none;color:var(--gray)}.top a:hover{color:var(--ink)}.top .marca{color:var(--ink);font-weight:600}
.top-links{display:flex;gap:18px}.paso-de{font-variant-numeric:tabular-nums}
.progreso{height:4px;background:var(--fog2);border-radius:2px;overflow:hidden;margin-bottom:40px}.progreso i{display:block;height:100%;background:var(--ink)}
.app h1{font-size:clamp(30px,5.6vw,44px);line-height:1.08;margin:8px 0 18px}
.app h2{font-size:clamp(21px,3vw,26px);margin:44px 0 12px}
.app h3{font-size:18px;margin:28px 0 8px}
.app p,.app li{font-size:17.5px;line-height:1.65}
.app li{margin:8px 0}
.app blockquote{margin:22px 0;padding:16px 20px;border-left:2px solid var(--ink);background:var(--fog);border-radius:0 12px 12px 0}
.app blockquote p{margin:0;font-size:16px}
.fuente{color:var(--gray);font-size:.82em}
.app table{font-size:15px}.app th{white-space:normal}
.objetivos{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:0 0 30px}
.objetivos .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);font-weight:500;margin-bottom:6px}
.objetivos ul{margin:0;padding-left:20px}.objetivos li{margin:4px 0;font-size:16.5px}
.acciones-paso{display:grid;gap:12px;margin:56px 0 24px}
.btn-xl{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;border-radius:10px;background:var(--ink);color:#fff;font:inherit;font-size:18px;font-weight:500;border:1px solid var(--ink);text-decoration:none;cursor:pointer;padding:0 20px}
.btn-xl:hover{background:#000}.btn-xl:active{transform:scale(.99)}.btn-xl:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.btn-lg{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:16px;border:1px solid var(--line);text-decoration:none;cursor:pointer}
.btn-lg:hover{background:var(--fog)}
.hecho .btn-xl{background:var(--fog);color:var(--ink);border-color:var(--fog)}
.nivel{margin:44px 0 0}.nivel .eyebrow{margin-bottom:6px}
.pasos-lista{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}
.pasos-lista a{display:flex;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line);text-decoration:none;min-height:64px}
.pasos-lista a:hover{background:var(--fog)}
.pasos-lista .n{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--gray);flex:none}
.pasos-lista a.ok .n{background:var(--ink);border-color:var(--ink);color:#fff}
.pasos-lista .t{flex:1;font-size:17px}.pasos-lista .s{font-size:13px;color:var(--gray)}
.resumen{border:1px solid var(--line);border-radius:12px;padding:22px 22px 20px;margin:26px 0 0}
.resumen .grande{font-size:44px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.resumen .grande small{font-size:16px;color:var(--gray);font-weight:400;letter-spacing:0;margin-left:6px}
.herr{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}
.herr a{border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;text-decoration:none;min-height:96px;display:flex;flex-direction:column;justify-content:space-between}
.herr a:hover{background:var(--fog)}.herr b{font-size:17px;font-weight:600}.herr span{font-size:13.5px;color:var(--gray)}
.gate{max-width:460px;margin:80px auto 40px}.gate-h{font-size:30px;margin:12px 0 10px}
.gate input{width:100%;font:inherit;font-size:22px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;margin:18px 0 12px;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.gate input:focus{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}
.gate .err{color:var(--ink);font-size:14px;margin:0 0 12px}
.app-pie{margin-top:64px;padding-top:22px;border-top:1px solid var(--line);color:var(--gray);font-size:13px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
.app-pie a{text-decoration:none}
li.chk label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}li.chk input{width:22px;height:22px;margin-top:4px;accent-color:#1D1D1F;flex:none}
li.chk.done span{color:var(--gray);text-decoration:line-through}
.calc .out b{font-size:26px}
.listo{border:1px solid var(--ink);border-radius:12px;padding:22px;margin:40px 0}
@media (max-width:520px){.app h1{font-size:30px}.app p,.app li{font-size:17px}}
