/* Estilos de la plataforma: misma marca que filamentodigital.com */
:root{
  --paper:#F2F4F3; --panel:#E9E3DC; --card:#FFFFFF; --ink:#0A0908; --ink-2:#2E2823; --muted:#5E503F;
  --line:#D9D0C6; --accent:#49111C; --accent-deep:#2C0A11; --on-accent:#F2F4F3; --soft:#E6DCD1;
  --ok:#3F6B45; --ok-bg:#E3EDE3; --warn-bg:#FFF4D6; --warn-ink:#7A4B00; --bad:#9B1C1C; --bad-bg:#FBE4E4;
  --nav-bg:rgba(255,255,255,.86);
  --shadow:0 18px 50px -20px rgba(10,9,8,.28), 0 2px 6px rgba(10,9,8,.06);
  --display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --brand:"Kaushan Script","Brush Script MT",cursive;
  --r:18px; color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.eyebrow{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.muted{color:var(--muted)}
.small{font-family:var(--display);font-size:13px;color:var(--muted);line-height:1.45}

/* Menú */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.mark{width:50px;height:auto;flex:none;overflow:visible;display:block}
.mark .cable{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.mark .tip{fill:currentColor}
.mark text{font-family:var(--brand);font-size:88px;fill:currentColor}
.mark .md{font-size:80px}
.word{font-family:var(--brand);font-size:21px;line-height:1;white-space:nowrap;padding-top:4px}
.word b{font-weight:400}
.nav{position:sticky;top:0;z-index:50;padding-top:14px}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;padding:8px 10px 8px 20px;box-shadow:0 14px 40px -22px rgba(10,9,8,.35),inset 0 0 0 1px var(--line)}
.nav-der{display:flex;align-items:center;gap:10px;min-width:0}
.nav-der .quien{font-family:var(--display);font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--display);font-weight:700;font-size:15px;padding:13px 20px;border-radius:14px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s;background:var(--accent);color:var(--on-accent)}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn.sec{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.sec:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.btn.amarillo{background:#EDC200;color:#22223B}
.btn.wa{background:#25D366;color:#0A0908}
.btn.chico{padding:9px 14px;font-size:14px;border-radius:11px}
.btn.peligro{background:transparent;color:var(--bad);box-shadow:inset 0 0 0 1.5px var(--bad)}
.link{all:unset;cursor:pointer;font-family:var(--display);font-size:14px;font-weight:600;color:var(--accent);text-decoration:underline}

/* Tarjetas de contenido */
.caja{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.caja h2{font-size:22px}
.caja h3{font-size:18px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}

/* Formularios */
.field{margin-top:14px;display:flex;flex-direction:column;gap:7px;min-width:0}
.field > label,.field > .lbl{font-family:var(--display);font-size:14px;font-weight:600;color:var(--ink-2);display:flex;justify-content:space-between;gap:10px}
.field > label small,.field > .lbl small{font-weight:500;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=tel],select,textarea{width:100%;font:500 16px/1.3 var(--display);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.prefijo{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.prefijo span{font:500 14px/1 var(--display);color:var(--muted);padding:14px 10px 14px 14px;white-space:nowrap;background:var(--panel)}
.prefijo input{border:0;border-radius:0}
.estado-slug{font-family:var(--display);font-size:13px}
.estado-slug.ok{color:var(--ok)} .estado-slug.no{color:var(--bad)}

/* Avisos */
.banda{border-radius:14px;padding:14px 16px;font-family:var(--display);font-size:15px;line-height:1.45}
.banda b{font-weight:700}
.banda.ok{background:var(--ok-bg);color:var(--ok)}
.banda.warn{background:var(--warn-bg);color:var(--warn-ink)}
.banda.mal{background:var(--bad-bg);color:var(--bad)}
.banda.info{background:var(--soft);color:var(--ink-2)}
.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;z-index:200;background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:600;font-size:15px;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);transition:opacity .25s,transform .25s;max-width:calc(100% - 32px)}
.aviso.on{opacity:1;transform:translateX(-50%)}
.aviso.error{background:var(--bad);color:#fff}

/* Pasos */
.pasos{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.pasos span{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:13px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 6px}
.pasos b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--ink-2);font-size:12px}
.pasos span.on{color:var(--ink);border-color:var(--accent)}
.pasos span.on b{background:var(--accent);color:var(--on-accent)}
.pasos span.hecho b{background:var(--ok);color:#fff}

.cargando{display:grid;place-items:center;min-height:50vh;font-family:var(--display);color:var(--muted)}

@media (max-width:820px){ .grid2,.grid3{grid-template-columns:1fr} }
@media (max-width:560px){
  body{font-size:16px} .wrap{padding-inline:16px} .caja{padding:20px 16px}
  .nav-in{padding-left:14px} .word{font-size:17px} .mark{width:42px} .nav-der .quien{display:none}
}
@media (max-width:380px){ .nav-in .word{display:none} }
