/* ============================================================================
   nicho.css - MOLDE DE PAGINA DE NICHO compartido por ambas audiencias (inversor + gente).
   Extraido de despegue.css (2026-06-30): clases skin-agnosticas tokenizadas (var(--ac)/--bd/..).
   Lo cargan SOLO las paginas de nicho (render_nicho / render_nicho_gente), despues de tokens y
   ANTES del skin -> el skin gente puede override los pocos fondos dark hardcodeados (.nm-card).
   El .b.warn (status badge compartido) NO esta aca: queda en despegue.css (lo usan portada/provincia).
   ============================================================================ */
.page.nicho{max-width:1000px}

/* anclas de seccion (deep-link compartible a cada bloque; el indice visible se descarto 2026-07-03) */
.idx-sec{scroll-margin-top:66px}

/* hero del nicho */
.nicho-hero{padding:6px 0 22px;border-bottom:1px solid var(--bd);margin-bottom:22px}
.nh-k{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ac);font-weight:700;margin-bottom:11px}
.nh-t{margin:0;font-size:35px;line-height:1.1;font-weight:780;letter-spacing:-.015em;color:var(--tx)}
@media(max-width:640px){.nh-t{font-size:27px}}
.nh-ver{display:inline-flex;align-items:center;gap:10px;margin:15px 0 0;padding:8px 14px;border-radius:24px;
  font-weight:700;font-size:15px;border:1px solid var(--bd)}
.nh-ver.ref{color:var(--ver);border-color:rgba(74,222,156,.4);background:rgba(74,222,156,.08)}
.nh-ver.pre{color:var(--warn);border-color:rgba(229,193,92,.4);background:rgba(229,193,92,.08)}
.nh-ver .b{font-size:var(--fs-micro)}
.nh-lead{margin:15px 0 0;font-size:17px;line-height:1.62;color:var(--mut);max-width:74ch}
.nh-bar{display:flex;flex-wrap:wrap;align-items:center;gap:13px 22px;margin-top:20px}
.nh-tam{display:flex;flex-direction:column;gap:2px}
.nh-tam-v{font-family:var(--mono);font-size:30px;font-weight:600;color:var(--ac);letter-spacing:-.01em;line-height:1}
.nh-tam-k{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;color:var(--dim);
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nh-arco{font-family:var(--mono);font-size:var(--fs-sub);color:var(--mut);padding:5px 11px;border:1px solid var(--bd);
  border-left:3px solid var(--ac);border-radius:7px;background:rgba(255,255,255,.013)}
.nh-arco.fz-urgente{border-left-color:#FF8A8A}.nh-arco.fz-emergente{border-left-color:var(--cy)}

/* la norma que lo mueve — deep-link a #ref-... de la portada */
.nicho-norma{display:flex;flex-direction:column;gap:0}
.nn-row{display:flex;align-items:flex-start;gap:14px;padding:14px 4px;border-bottom:1px solid var(--bd);
  text-decoration:none;transition:.13s}
.nn-row:last-child{border-bottom:none}
.nn-row:hover{background:rgba(var(--ac-rgb),.04)}
/* columna fija: el enum tiene 3 largos (HABILITA/PRESIONA/TOCA) y con flex auto el titulo
   arrancaba en x distinto por fila (feedback usuario 2026-07-03) */
.nn-ef{flex:0 0 88px;margin-top:2px;text-transform:uppercase;text-align:center}
.nn-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.nn-n{font-size:15px;font-weight:700;color:var(--tx);line-height:1.3}
.nn-row:hover .nn-n{color:var(--ac)}
.nn-g{font-size:var(--fs-sub);line-height:1.5;color:var(--dim)}
.nn-go{flex:0 0 auto;align-self:center;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.05em;
  text-transform:uppercase;color:var(--ac);white-space:nowrap}
@media(max-width:640px){.nn-go{display:none}}

/* nichos vecinos (internal links) */
.nicho-vec{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.nv{display:flex;flex-direction:column;gap:8px;padding:17px 19px;border:1px solid var(--bd);border-radius:12px;
  background:var(--panel);text-decoration:none;transition:.13s}
.nv:hover{border-color:rgba(var(--ac-rgb),.5);background:var(--panel2)}
.nv-n{font-size:15px;font-weight:700;color:var(--tx);line-height:1.25}
.nv-t{font-family:var(--mono);font-size:var(--fs-sub);color:var(--ac)}

/* firma del analista en la pagina de nicho (autoridad/E-E-A-T): hd-firma esta pensada para el hero
   CLARO del inversor -> suelta sobre el fondo oscuro quedaba caja blanca. Aca va como panel oscuro. */
.nicho .hd-firma{margin:0 0 22px;flex:none;width:auto;background:var(--panel);border-color:var(--bd);color:var(--tx)}
.nicho .hd-firma .firma-rol{color:var(--ac)}
.nicho .hd-creds{color:var(--dim)}
/* ancho de línea acotado en texto largo (legibilidad Claude Design): un párrafo que cruza toda la página
   cansa; cortado a ~78ch se lee como un libro. Solo párrafos (no tablas/grids). */
.page.nicho p{max-width:780px}
.nicho .hd-nombre a{border-bottom-color:var(--bd2)}

/* grafico de composicion del TAM (de que se compone el mercado) — pagina de nicho.
   Barra segmentada honesta: acento = direccionable para nuestro entrante, apagado = cautivo. */
.gcomp{display:flex;flex-direction:column;gap:14px}
/* barra con la etiqueta ADENTRO de cada segmento (Claude Design) */
.gc-bar{display:flex;width:100%;height:58px;border-radius:9px;overflow:hidden;border:1px solid var(--bd2)}
.gc-seg{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 16px;min-width:0;
  background:#2c3645;border-right:2px solid var(--panel)}
.gc-seg:last-child{border-right:0}
.gc-seg.dir{background:#3a72b4}
.gc-seg-n{font-family:var(--mono);font-size:var(--fs-micro);font-weight:600;color:#c5cdd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-seg.dir .gc-seg-n{color:#f0f6fd}
.gc-seg-v{font-family:var(--mono);font-size:10.5px;color:#8e98a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-seg.dir .gc-seg-v{color:#cfe2f7}
.gc-leg{display:flex;flex-direction:column;gap:11px}
.gc-row{display:flex;align-items:flex-start;gap:11px}
.gc-dot{flex:0 0 auto;width:13px;height:13px;border-radius:3px;margin-top:4px;background:#2c3645}
.gc-dot.dir{background:#3a72b4}
.gc-tx{flex:1;min-width:0}
.gc-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 11px}
.gc-n{font-size:var(--fs-body-lg);font-weight:700;color:var(--tx)}
.gc-v{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--mut)}
.gc-pct{font-family:var(--mono);font-size:var(--fs-sub);color:var(--dim)}
.gc-tag{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--bd2);border-radius:5px;padding:2px 8px}
.gc-tag.dir{color:var(--ac);border-color:rgba(var(--ac-rgb),.45);background:rgba(var(--ac-rgb),.08)}
.gc-sub{font-size:var(--fs-sub);line-height:1.5;color:var(--dim);margin-top:3px}
.gc-nota{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:8px;
  padding-top:13px;border-top:1px solid var(--bd)}

/* ===== tick de sección por color (cada bloque su acento, Claude Design) ===== */
.sec-h.t-ver::before{background:var(--ver)}
.sec-h.t-est::before{background:var(--est)}
.sec-h.t-pro::before{background:var(--pro)}

/* ===== EL NICHO A FONDO — transición + panel con filas etiquetadas (rótulo en el margen) ===== */
.af-trans{margin-top:50px;padding-top:30px;border-top:1px solid var(--bd2)}
/* 'El nicho a fondo' = ENCABEZADO de transicion, NO un chip clickeable: sin caja (fondo/borde) para no
   hablar el idioma visual de lo interactivo (L151, convencion visual). Marcador = tick (como sec-h), no
   puntito de status. Queda como rotulo de seccion, mas prominente por el corte (af-trans top-border). */
.af-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ac);margin-bottom:13px}
.af-badge-dot{width:14px;height:3px;border-radius:2px;background:var(--ac)}
.af-trans-p{margin:0;max-width:680px;font-size:15px;line-height:1.55;color:var(--mut)}
.nicho-afondo{margin-top:20px;padding:8px 30px 6px}
.af-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--bd)}
.af-row:first-child{border-top:0;padding-top:6px}
.af-lbl{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);line-height:1.45}
.af-sub{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:6px}
.af-c{min-width:0;max-width:640px}
.af-p{margin:0;font-size:var(--fs-body);line-height:1.62;color:var(--tx2)}
.af-c .af-p+.af-p{margin-top:8px}
/* quién ya está */
.af-incs{display:flex;flex-direction:column;gap:17px}
.af-inc-h{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:5px}
.af-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.af-dot.inc{background:var(--pro)}.af-dot.ac{background:var(--ac)}.af-dot.dim{background:var(--dim)}
.af-inc-n{font-size:15px;font-weight:700;color:var(--tx)}
/* incumbente con ficha -> nombre clickeable a su ficha (deep-link). Discreto: subrayado al hover. */
a.af-inc-link{color:inherit;text-decoration:none;border-bottom:1px solid var(--bd2);transition:.13s}
a.af-inc-link:hover{color:var(--ac);border-bottom-color:var(--ac)}
.af-paren{font-weight:400;color:var(--mut)}
.af-share{font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--mut)}
/* el hueco */
.af-hueco{margin:4px 0;background:rgba(var(--ac-rgb),.06);border:1px solid rgba(var(--ac-rgb),.22);
  border-left:3px solid var(--ac);border-radius:10px;padding:19px 22px}
.af-hueco-k{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);margin-bottom:11px}
.af-hueco-i{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--tx);font-weight:600}
.af-pasos{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}
.af-paso{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}
.af-paso p{margin:0;font-size:var(--fs-body-lg);line-height:1.55;color:var(--tx2);max-width:560px}
.af-num{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ac);border:1px solid rgba(var(--ac-rgb),.4);border-radius:50%;width:21px;height:21px;display:flex;align-items:center;justify-content:center}
.af-reg{margin:0 0 12px;font-size:var(--fs-body);line-height:1.62;color:var(--mut);max-width:600px}
/* BLOCK, no flex: con flex los nodos de texto sueltos + un <b> se vuelven items separados en fila
   y el caveat "se parte en columnas" (flag lectura fría C1 2026-07-09; solo pegaba donde el caveat
   traía negrita). El ▸ va inline con margen. */
.af-cav{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;line-height:1.6;color:var(--dim)}
.af-cav>span:first-child{color:var(--ac);margin-right:8px}
/* embudo honesto completo (mercado_direccionable): cautivo -> tu mercado -> cuña. Los dos peldaños
   previos son sobrios (borde neutro / medio); la cuña conserva el ámbar protagonista. */
.af-emb{margin:13px 0 0;padding:9px 14px;border-left:3px solid var(--bd2);border-radius:0 9px 9px 0;background:rgba(255,255,255,.014)}
.af-emb.mid{border-left-color:var(--ac)}
.af-emb-k{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:5px}
.af-emb.mid .af-emb-k{color:var(--ac)}
.af-emb .af-p{margin:0}
.af-emb+.af-cuna{margin-top:0}
.af-emb+.af-emb{margin-top:0}
/* cuña realista (mercado_direccionable.cuna): el contrapeso honesto a la ARENA de la composición (METODO §2).
   Acento ámbar a la izquierda = "el número que de verdad capturás", no el segmento entero. */
.af-cuna{margin:13px 0;padding:11px 14px;border-left:3px solid var(--pro);border-radius:0 9px 9px 0;background:rgba(229,193,92,.06)}
.af-cuna-k{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pro);margin-bottom:5px}
.af-cuna .af-p{margin:0}
/* qué lo puede romper */
.af-kills{display:flex;flex-direction:column;gap:15px}
.af-kill{display:grid;grid-template-columns:16px minmax(0,1fr);gap:11px;align-items:start}
.af-kx{color:var(--bad);font-size:var(--fs-sub);line-height:1.5}
.af-kf{font-size:var(--fs-body-lg);font-weight:600;color:var(--tx);margin-bottom:3px}
/* efecto derrame */
.af-ext{border-left:2px solid rgba(74,222,156,.5);padding-left:16px}
/* cómo lo calculamos */
.af-formula{font-family:var(--mono);font-size:var(--fs-micro);line-height:1.7;color:var(--mut)}
.af-conc-k{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-right:4px}
@media(max-width:680px){.nicho-vec{grid-template-columns:1fr}.af-row{grid-template-columns:1fr;gap:10px;padding:20px 0}
  .af-lbl br{display:none}.nicho-afondo{padding:6px 4px}}

/* ===== #6 MAPA DE ENTRADA (dentro del hueco): lo que se necesita -> abierto; el playbook -> reservado ===== */
.hm{margin-top:17px;padding-top:15px;border-top:1px dashed var(--bd2)}
.hm-intro{font-size:var(--fs-sub);font-weight:600;color:var(--tx);margin-bottom:11px}
.hm-rows{display:flex;flex-direction:column}
.hm-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:11px 0;border-top:1px solid var(--bd)}
.hm-row:first-child{border-top:0}
.hm-k{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ac);padding-top:2px}
.hm-v{font-size:var(--fs-body-sm);line-height:1.58;color:var(--tx2);max-width:560px}
.hm-res{margin-top:13px;padding:11px 14px;border:1px dashed var(--bd2);border-radius:9px;background:rgba(255,255,255,.02);
  font-size:var(--fs-micro);line-height:1.55;color:var(--mut)}
.hm-res-k{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pro);margin-right:6px}
.hm-res a{color:var(--ac);text-decoration:none;border-bottom:1px solid rgba(var(--ac-rgb),.4)}
.hm-res a:hover{border-bottom-color:var(--ac)}

/* ===== #8 COCKPIT — que vigilamos / cuando entrar (tablero de TIMING, no 'que lo rompe') ===== */
.nicho-cockpit{display:flex;flex-direction:column}
.ck-ind{border:1px solid rgba(var(--ac-rgb),.3);border-left:3px solid var(--ac);border-radius:11px;
  background:rgba(var(--ac-rgb),.05);padding:16px 19px;margin-bottom:14px}
.ck-ind-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.ck-ind-tag{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac)}
.ck-ind-l{font-size:16px;font-weight:700;color:var(--tx);margin-bottom:7px;line-height:1.3}
.ck-ind-v{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ac)}
.ck-ind-m{margin:0;font-size:var(--fs-body-sm);line-height:1.6;color:var(--tx2);max-width:640px}
.ck-seguir{margin-top:11px;display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;
  color:var(--mut);padding-top:10px;border-top:1px solid var(--bd);line-height:1.5;text-decoration:none;transition:.13s}
a.ck-seguir:hover{color:var(--ac)}
a.ck-seguir .se-go{color:var(--ac)}
/* nota muda al lado de un badge de confianza inline (ej. '[verificado el disparador]' -> badge + 'el disparador') */
.conf-nota{color:var(--dim);font-size:.92em}
.ck-comp{margin:0 0 16px;font-size:var(--fs-sub);line-height:1.6;color:var(--dim);max-width:680px}
.ck-watch{border-top:1px solid var(--bd);padding-top:15px}
.ck-watch-k{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:13px}
.ck-ws{display:flex;flex-direction:column;gap:14px}
.ck-w{display:grid;grid-template-columns:16px minmax(0,1fr);gap:11px;align-items:start}
.ck-wx{color:var(--warn);font-size:12px;line-height:1.5}
.ck-wf{font-size:var(--fs-body);font-weight:600;color:var(--tx);margin-bottom:3px}
.ck-wp{margin:0;font-size:var(--fs-sub);line-height:1.58;color:var(--dim);max-width:620px}

/* ===== #9b ¿QUIEN PAGA DE VERDAD? — tres puertas (si vendes X -> el cliente es Y) ===== */
.nicho-qpaga{display:flex;flex-direction:column}
.qp-rows{display:flex;flex-direction:column}
.qp-row{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1.3fr);gap:14px;align-items:center;
  padding:16px 0;border-top:1px solid var(--bd)}
.qp-row:first-child{border-top:0;padding-top:2px}
.qp-vende{display:flex;flex-direction:column;gap:4px}
.qp-vende-k{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.qp-vende-v{font-size:var(--fs-body);font-weight:600;color:var(--tx2);line-height:1.4}
.qp-arrow{font-family:var(--mono);font-size:16px;color:var(--ac);text-align:center}
.qp-cli{min-width:0}
.qp-cli-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:4px}
.qp-cli-v{font-size:15px;font-weight:700;color:var(--tx)}
.qp-nombres{margin:0;font-size:var(--fs-sub);line-height:1.55;color:var(--dim);max-width:520px}
.qp-remate{margin-top:16px;display:flex;gap:9px;padding:13px 16px;border-radius:10px;background:rgba(var(--ac-rgb),.05);
  border:1px solid rgba(var(--ac-rgb),.2);font-size:var(--fs-body-sm);line-height:1.6;color:var(--tx2)}
.qp-remate-x{color:var(--ac);flex:0 0 auto}
.qp-remate-t{flex:1;min-width:0}
@media(max-width:680px){.qp-row{grid-template-columns:1fr;gap:6px;padding:14px 0}.qp-arrow{display:none}
  .hm-row{grid-template-columns:1fr;gap:3px}}

/* EL MOTOR — proyectos que generan la demanda (vinculo motor->satelite) */
.nicho-motor{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.nm-card{display:flex;flex-direction:column;gap:8px;padding:15px 17px;
  border:1px solid var(--bd);border-radius:11px;background:linear-gradient(180deg,#0E131B,#0A0D13);
  text-decoration:none;transition:.13s}
.nm-card:hover{border-color:rgba(var(--ac-rgb),.55);background:linear-gradient(180deg,#121925,#0C1018)}
.nm-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.nm-n{font-size:16px;font-weight:700;color:var(--tx);line-height:1.25;text-decoration:none}
.nm-card:hover .nm-n{color:var(--ac)}
.nm-usd{font-family:var(--mono);font-size:19px;font-weight:600;color:var(--ac);display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.nm-d{margin:0;font-size:var(--fs-sub);line-height:1.55;color:var(--dim)}
.nm-go{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--ac);text-decoration:none;align-self:flex-start;border:1px solid rgba(var(--ac-rgb),.34);background:rgba(var(--ac-rgb),.06);border-radius:7px;padding:6px 13px;transition:.13s}
.nm-go:hover,.nm-card:hover .nm-go{background:rgba(var(--ac-rgb),.14);border-color:var(--ac)}
/* CAJA ENTERA CLICKEABLE (stretched-link): el titulo cubre toda la card con ::after -> click en cualquier
   parte abre el proyecto. El sello (cifra->fuente) y el boton 'ver el proyecto' van por encima (z-index)
   para seguir clickeables. Evita el <a> anidado que rompe el layout (L106) y unifica con vecinos/norma. */
.nm-card{position:relative}
.nm-n{position:static}
.nm-n::after{content:"";position:absolute;inset:0;z-index:1;border-radius:11px}
.nm-card .sello,.nm-card .nm-go{position:relative;z-index:2}
.nm-card .nm-n{cursor:pointer}

/* QUIEN FABRICA — empresas (incumbente) */
.nicho-emp{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.ne-card{display:flex;flex-direction:column;gap:6px;padding:15px 17px;
  border:1px solid var(--bd);border-radius:11px;background:var(--panel2);text-decoration:none;transition:.13s}
.ne-card:hover{border-color:rgba(var(--ac-rgb),.55)}
.ne-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ne-n{font-size:16px;font-weight:700;color:var(--tx)}
.ne-tk{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ver);white-space:nowrap}
.ne-rol{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;color:var(--ac)}
.ne-d{margin:0;font-size:var(--fs-sub);line-height:1.55;color:var(--dim)}

/* COMO SE ARMA EL NUMERO — el TAM como formula + frescura por variable (modelo, no fotografia) */
.md-formula{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 13px;padding:15px 18px;
  border:1px solid var(--bd);border-radius:11px;background:linear-gradient(180deg,#0E131B,#0A0D13);margin-bottom:16px}
.md-fx{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--tx)}
.md-eq{font-family:var(--mono);font-size:16px;color:var(--dim)}
.md-res{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--ac)}
.md-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.md-var{padding:13px 15px;border:1px solid var(--bd);border-radius:10px;background:var(--panel2)}
.md-vh{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 10px;margin-bottom:5px}
.md-vl{font-size:var(--fs-body);font-weight:700;color:var(--tx)}
.md-vv{font-family:var(--mono);font-size:var(--fs-body);font-weight:600;color:var(--ac)}
.md-vn{font-size:var(--fs-sub);line-height:1.5;color:var(--dim)}
.fr-chip{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;
  border:1px solid var(--bd2);border-radius:4px;padding:1px 7px;color:var(--dim);cursor:help}
.fr-chip.fr-vivo{color:var(--pro);border-color:rgba(229,193,92,.45);background:rgba(229,193,92,.08)}
.fr-chip.fr-lento{color:var(--mut);border-color:var(--bd2)}
.fr-chip.fr-ever{color:var(--ver);border-color:rgba(74,222,156,.4);background:rgba(74,222,156,.07)}
.md-lp{margin:14px 0 0;font-size:var(--fs-sub);line-height:1.6;color:var(--mut);
  padding:12px 15px;border:1px dashed var(--bd2);border-radius:10px}
/* NO flex: es prosa + un badge al final. display:flex+gap volvia cada palabra un flex-item y rompia el
   flujo del texto (el punto saltaba de linea), mismo bug que .qp-remate (L151). Block normal, badge inline. */
.md-foot{margin:16px 0 0;font-size:var(--fs-micro);color:var(--dim);line-height:1.7;
  padding-top:13px;border-top:1px solid var(--bd)}
.md-foot .b{vertical-align:middle}

/* COMO VALIDAMOS — la auditoria adversarial de la cifra (metodologia visible) */
.nicho-valid .nv-box{border:1px solid var(--bd);border-left:3px solid var(--tes);border-radius:10px;
  padding:15px 17px;background:rgba(122,176,255,.04)}
.nv-tag{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:var(--fs-label);
  letter-spacing:.06em;text-transform:uppercase;color:var(--tes);font-weight:700;margin-bottom:10px}
.nv-tx{margin:0;font-size:var(--fs-body);line-height:1.66;color:var(--mut)}
