/* NLT Funding -- presentación dentro del ecosistema (index, dashboard, ecosistema, planes...). Línea gráfica: fondo #080A0F, vidrio, verde neón #39FF14 y azul #3B82F6, Poppins. */
.nfp, .nfp * { box-sizing: border-box; }
.nfp { --g: #39FF14; --g-rgb: 57, 255, 20; --b: #3B82F6; --b-rgb: 59, 130, 246; font-family: Poppins, Inter, system-ui, sans-serif; color: #E5E7EB; }
.nfp a { text-decoration: none; }

/* ── Franja (strip): una línea, para el hero y la cabecera del dashboard ── */
.nfp-strip { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 7px 8px 7px 14px; border-radius: 999px; font-size: 13px; line-height: 1.3; color: #D1D5DB;
    background: linear-gradient(90deg, rgba(var(--g-rgb), .12), rgba(var(--b-rgb), .08)); border: 1px solid rgba(var(--g-rgb), .28); box-shadow: 0 0 40px -14px rgba(var(--g-rgb), .55); transition: transform .35s cubic-bezier(.16, 1, .3, 1), border-color .3s; }
.nfp-strip:hover { transform: translateY(-2px); border-color: rgba(var(--g-rgb), .55); }
.nfp-strip .pill { flex: none; padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .14em; color: #0D1117; background: var(--g); }
.nfp-strip b { color: #fff; font-weight: 600; } .nfp-strip .go { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #0D1117; background: var(--g); }
.nfp-strip .txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 560px) { .nfp-strip .txt span.largo { display: none; } }

/* ── Sección destacada ── */
.nfp-sec { position: relative; overflow: hidden; border-radius: 28px; padding: clamp(26px, 5vw, 56px); border: 1px solid rgba(var(--g-rgb), .22);
    background: radial-gradient(90% 120% at 0% 0%, rgba(var(--g-rgb), .10), transparent 55%), radial-gradient(80% 100% at 100% 100%, rgba(var(--b-rgb), .12), transparent 60%), linear-gradient(180deg, rgba(17, 21, 28, .85), rgba(10, 13, 18, .95));
    box-shadow: 0 50px 120px -70px rgba(var(--g-rgb), .55); }
.nfp-sec::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 22px); -webkit-mask-image: linear-gradient(180deg, #000, transparent 70%); mask-image: linear-gradient(180deg, #000, transparent 70%); }
.nfp-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 5vw, 56px); align-items: center; }
@media (max-width: 880px) { .nfp-grid { grid-template-columns: 1fr; } }
.nfp-eye { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--g); background: rgba(var(--g-rgb), .08); border: 1px solid rgba(var(--g-rgb), .3); }
.nfp-eye i { width: 6px; height: 6px; border-radius: 50%; background: var(--g); box-shadow: 0 0 10px var(--g); }
.nfp-h { margin: 16px 0 12px; font-size: clamp(28px, 4.6vw, 48px); line-height: 1.06; font-weight: 700; letter-spacing: -.025em; color: #fff; text-wrap: balance; }
.nfp-h em { font-style: normal; background: linear-gradient(90deg, #fff 0%, var(--g) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nfp-p { margin: 0 0 22px; max-width: 520px; font-size: clamp(14px, 1.6vw, 16px); line-height: 1.7; color: #9CA3AF; }
.nfp-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 26px; max-width: 520px; }
.nfp-fact { display: flex; gap: 11px; align-items: center; padding: 11px 13px; border-radius: 16px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .06); }
.nfp-fact i { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; font-size: 18px; color: var(--g); background: rgba(var(--g-rgb), .10); }
.nfp-fact b { display: block; font-size: 15px; font-weight: 600; color: #fff; } .nfp-fact span { font-size: 11.5px; color: #6B7280; }
.nfp-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.nfp-btn { display: inline-flex; align-items: center; gap: 9px; padding: 13px 24px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #0D1117; background: var(--g); box-shadow: 0 0 34px -6px rgba(var(--g-rgb), .6); transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s; }
.nfp-btn:hover { transform: translateY(-2px); box-shadow: 0 0 46px -4px rgba(var(--g-rgb), .85); }
.nfp-btn.ghost { color: #E5E7EB; background: transparent; border: 1px solid rgba(255, 255, 255, .18); box-shadow: none; } .nfp-btn.ghost:hover { background: rgba(255, 255, 255, .06); }
.nfp-desde { font-size: 12.5px; color: #9CA3AF; } .nfp-desde b { color: #fff; font-size: 15px; }
.nfp-nota { margin: 20px 0 0; font-size: 11.5px; line-height: 1.6; color: #6B7280; max-width: 520px; }

/* ── Tarjeta de cuenta ilustrativa ── */
.nfp-viz { position: relative; padding: 18px 0 18px 0; }
.nfp-acct { position: relative; border-radius: 22px; padding: 20px; background: linear-gradient(165deg, rgba(20, 26, 36, .96), rgba(10, 13, 18, .98)); border: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(var(--g-rgb), .08) inset; }
.nfp-acct-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; color: #9CA3AF; } .nfp-acct-h b { color: #fff; font-weight: 600; }
.nfp-fase { padding: 3px 10px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .12em; color: var(--g); background: rgba(var(--g-rgb), .1); border: 1px solid rgba(var(--g-rgb), .3); }
.nfp-eq { margin: 14px 0 2px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; } .nfp-eq b { font-size: clamp(26px, 4vw, 34px); font-weight: 700; color: #fff; letter-spacing: -.02em; } .nfp-eq span { font-size: 13px; font-weight: 600; color: var(--g); }
.nfp-spark { display: block; width: 100%; height: 96px; margin: 6px 0 12px; }
.nfp-bars { display: grid; gap: 9px; } .nfp-bar { display: grid; grid-template-columns: 112px 1fr auto; gap: 10px; align-items: center; font-size: 11.5px; color: #9CA3AF; }
.nfp-bar > i { height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; } .nfp-bar > i > u { display: block; height: 100%; border-radius: inherit; text-decoration: none; background: linear-gradient(90deg, rgba(var(--g-rgb), .5), var(--g)); box-shadow: 0 0 10px rgba(var(--g-rgb), .6); }
.nfp-bar.az > i > u { background: linear-gradient(90deg, rgba(var(--b-rgb), .5), var(--b)); box-shadow: 0 0 10px rgba(var(--b-rgb), .6); } .nfp-bar b { color: #fff; font-weight: 600; }
.nfp-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 14px; font-size: 12px; font-weight: 600; color: #fff; background: rgba(13, 17, 23, .92); border: 1px solid rgba(var(--g-rgb), .3); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .8); backdrop-filter: blur(10px); animation: nfp-flota 6s ease-in-out infinite; }
.nfp-chip i { color: var(--g); font-size: 16px; } .nfp-chip.c1 { top: -22px; right: -6px; } .nfp-chip.c2 { bottom: -2px; left: -10px; animation-delay: -3s; border-color: rgba(var(--b-rgb), .4); } .nfp-chip.c2 i { color: var(--b); }
@keyframes nfp-flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (max-width: 880px) { .nfp-chip.c1 { right: 6px; } .nfp-chip.c2 { left: 6px; } }
@media (prefers-reduced-motion: reduce), (pointer: coarse) { .nfp-chip { animation: none; } .nfp-strip { transition: none; } }

/* ── Pasos ── */
.nfp-pasos { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: clamp(24px, 4vw, 40px); }
@media (max-width: 880px) { .nfp-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 480px) { .nfp-pasos { grid-template-columns: 1fr; } }
.nfp-paso { padding: 16px; border-radius: 18px; background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .06); } .nfp-paso small { font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--g); }
.nfp-paso b { display: block; margin: 6px 0 4px; font-size: 14px; font-weight: 600; color: #fff; } .nfp-paso p { margin: 0; font-size: 12.5px; line-height: 1.55; color: #9CA3AF; }

/* ── Tarjeta compacta (dashboard) ── */
.nfp-card { position: relative; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 18px 20px; border-radius: 22px; border: 1px solid rgba(var(--g-rgb), .22); overflow: hidden;
    background: radial-gradient(70% 140% at 0% 0%, rgba(var(--g-rgb), .10), transparent 60%), linear-gradient(180deg, rgba(17, 21, 28, .85), rgba(10, 13, 18, .95)); }
.nfp-card .ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; font-size: 24px; color: var(--g); background: rgba(var(--g-rgb), .10); border: 1px solid rgba(var(--g-rgb), .3); box-shadow: 0 0 26px -8px rgba(var(--g-rgb), .7); }
.nfp-card .tx { flex: 1; min-width: 200px; } .nfp-card h3 { margin: 0 0 3px; font-size: 16px; font-weight: 600; color: #fff; } .nfp-card p { margin: 0; font-size: 13px; line-height: 1.55; color: #9CA3AF; }
.nfp-card .nfp-btn { padding: 10px 20px; font-size: 13px; }
