/* Narra Studio · estilo de marca compartido (página, acceso y estudio) */
:root{
  --fondo:#07070D; --panel:#101019; --panel2:#171724; --borde:#24243A; --texto:#F2F2FA; --suave:#9B9BB8;
  --marca:#8B6CFF; --marca2:#FF4FD8; --marca3:#FF8A3D; --ok:#2BD38A; --mal:#FF5D6C; --oro:#FFB547;
  --degradado:linear-gradient(100deg,#7C5CFF 0%,#C14CFF 45%,#FF4FD8 75%,#FF8A3D 100%);
  --sombra:0 10px 40px rgba(0,0,0,.35);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.55 "Plus Jakarta Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.oculto{display:none!important}
.cont{width:min(1200px,100%);margin:0 auto;padding:0 16px}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:Sora,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.3px}
.logo-ic{width:34px;height:34px;border-radius:11px;background:var(--degradado);display:grid;place-items:center;color:#fff;font-size:16px;box-shadow:0 6px 20px rgba(193,76,255,.35)}
.degradado-texto{background:var(--degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 18px;font-weight:700;font-size:14.5px;cursor:pointer;color:#fff;background:var(--degradado);box-shadow:0 8px 24px rgba(193,76,255,.28);transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn.fantasma{background:var(--panel2);box-shadow:none;border:1px solid var(--borde);color:var(--texto)}
.btn.peligro{background:var(--mal);box-shadow:none}
.btn.grande{padding:15px 26px;font-size:16px;border-radius:14px}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--borde);background:var(--panel2);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--marca)}
textarea{min-height:110px;resize:vertical}
.toast{position:fixed;bottom:18px;right:18px;left:auto;background:var(--panel2);border:1px solid var(--borde);color:var(--texto);padding:12px 16px;border-radius:12px;font-weight:600;box-shadow:var(--sombra);z-index:50;max-width:calc(100% - 36px)}

/* ---------- Planes (portada y estudio) ---------- */
.np-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.np-cambio{display:inline-flex;background:var(--panel2);border:1px solid var(--borde);border-radius:12px;padding:4px}
.np-cambio button{all:unset;cursor:pointer;padding:8px 16px;border-radius:9px;font-weight:700;font-size:14px;color:var(--suave)}
.np-cambio button.on{background:var(--panel);color:var(--texto);box-shadow:0 2px 10px rgba(0,0,0,.35)}
.np-cambio em{font-style:normal;color:var(--ok);font-size:12px;margin-left:6px}
.np-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}
.np-plan{position:relative;border:1px solid var(--borde);border-radius:20px;background:var(--panel);padding:28px 26px;display:flex;flex-direction:column;gap:18px}
.np-plan.dest{border-color:rgba(139,108,255,.65);background:linear-gradient(180deg,rgba(139,108,255,.10),transparent 45%),var(--panel)}
.np-insignia{position:absolute;top:-12px;left:26px;background:var(--degradado);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.np-nombre{font-family:Sora,sans-serif;font-size:20px;font-weight:700;margin:0}
.np-lema{color:var(--suave);font-size:14px;margin:4px 0 0}
.np-precio{display:flex;align-items:baseline;gap:6px}
.np-precio b{font-family:Sora,sans-serif;font-size:44px;font-weight:800;letter-spacing:-1.5px;line-height:1}
.np-precio span{color:var(--suave);font-weight:600}
.np-nota{color:var(--suave);font-size:13px;min-height:18px;margin-top:6px}
.np-nota s{margin-right:4px}
.np-nota .ahorro{color:var(--ok);font-weight:700}
.np-cifras{display:grid;gap:0;border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.np-cifras div{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;font-size:14px}
.np-cifras div + div{border-top:1px dashed var(--borde)}
.np-cifras b{font-family:Sora,sans-serif;font-size:18px}
.np-cifras small{color:var(--suave);font-weight:500}
.np-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px;color:#d8d8ea}
.np-lista li{display:flex;gap:10px;align-items:flex-start}
.np-lista svg{flex:none;margin-top:2px}
.np-plan .btn{margin-top:auto;width:100%}
.np-tabla{width:100%;border-collapse:collapse;margin-top:28px;font-size:14px}
.np-tabla th,.np-tabla td{padding:13px 12px;border-bottom:1px solid var(--borde);text-align:center}
.np-tabla th:first-child,.np-tabla td:first-child{text-align:left;color:var(--suave);font-weight:600}
.np-tabla thead th{font-family:Sora,sans-serif;font-size:15px;color:var(--texto)}
.np-garantia{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;color:var(--suave);font-size:13.5px;margin-top:22px}
.np-garantia span{display:flex;gap:8px;align-items:center}
@media (max-width:700px){ .np-tabla{display:none} }
