  /* ============================================================
     EasyGEO · resultado · rediseño "La consola de medición" (23/06)
     Continuación visual exacta de landing.html: mismos tokens teal,
     Geist + Geist Mono, marca "E" cuadrada en degradado, tema claro.
     Estructura de conversión:
       1) GRATIS = solo medición on-site: gauge 0-100 con color por
          tramo + titular dinámico + hallazgos de señales ✓/✗.
       2) CTA grande arriba + barra sticky de desbloqueo.
       3) Lo de pago, troceado en bloques cerrados individuales,
          cada uno con su mini-vista difuminada y su propio CTA.
       4) Precios en la MISMA página (toggle Negocio/Agencia).
     NUNCA se entrega ni se menciona llms.txt. El gratis es el gancho.
     Buildless, autocontenido. Mantiene /api/audit + fallback de ejemplo
     + override ?__score=NN para verificación de tramos.
     ============================================================ */
  :root{
    /* ── SOFT-FINTECH retheme (26/06): same system as the panel + landing (DESIGN_SYSTEM.md).
       Token names kept; values remapped to warm paper + near-black ink + anchor-green featured
       blocks + lime/mint accents + General Sans / Satoshi / Geist Mono + soft separation. ── */
    --font-sans:"Satoshi","General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --font-display:"General Sans","Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

    --bg:#f3f4ee; --bg-2:#eceee6; --bg-3:#e4e6dd; --paper:#ffffff;
    --ink:#0e1311; --ink-2:#2a322e; --ink-3:#47514c; --muted:#55615b;
    --line:rgba(14,19,17,.10); --line-2:rgba(14,19,17,.16); --line-3:rgba(14,19,17,.22);

    --dark:#0a2b22; --dark-2:#0d362b; --dark-line:rgba(234,250,246,.14); --dark-line-2:rgba(234,250,246,.22);
    --dark-ink:#eafaf6; --dark-ink-2:#bfe6dc; --dark-ink-3:#94c4b8;

    --teal:#0a5750; --teal-d:#0a5750; --teal-dd:#0a2b22; --teal-l:#17c4a9; --teal-br:#0a5750; --teal-ink:#0a4f49;
    --signal:#17c4a9; --signal-br:#86efac; --mint:#b7f5c8; --marker:#d4fb4f;
    --amber:#b45309; --amber-l:#d97706; --red:#b91c1c; --red-l:#dc2626;
    --rose:#e0584a;

    --tint:#dff6ec; --tint-2:#cdeede; --tint-bd:rgba(10,87,80,.22);

    --shadow-xs:0 1px 2px rgba(14,19,17,.05);
    --shadow-sm:0 1px 2px rgba(14,19,17,.05);
    --shadow:0 1px 2px rgba(14,19,17,.05), 0 4px 16px -8px rgba(14,19,17,.10);
    --shadow-lg:0 2px 4px rgba(14,19,17,.05), 0 18px 44px -18px rgba(14,19,17,.16);
    --glow:0 1px 2px rgba(14,19,17,.05), 0 14px 36px -16px rgba(14,19,17,.16);
    --r:18px; --r-lg:24px; --r-xl:26px; --r-ctrl:12px; --maxw:1160px;

    --z-grid:0; --z-content:2; --z-stickybar:50; --z-nav:60;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{margin:0;font-family:var(--font-sans);color:var(--ink-2);background:var(--bg);overflow-x:hidden;line-height:1.6;
    font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
  h1,h2,h3,h4{color:var(--ink);font-weight:600;letter-spacing:-.03em;margin:0;text-wrap:balance}
  p{text-wrap:pretty}
  a{color:var(--teal-d);text-decoration:none} a:hover{color:var(--teal)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative}
  ::selection{background:#bff3ea;color:var(--ink)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:15px;font-weight:600;
    border:1px solid transparent;cursor:pointer;letter-spacing:-.01em;background:var(--teal);color:#fff;border-radius:var(--r-ctrl);
    padding:12px 19px;transition:transform .16s cubic-bezier(.2,.7,.2,1),background .18s,box-shadow .18s;
    box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 4px 12px -4px rgba(15,118,110,.5);white-space:nowrap}
  .btn:hover{background:var(--teal-d);color:#fff;transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 14px 28px -10px rgba(15,118,110,.6)}
  .btn:active{transform:translateY(0)}
  .btn.lg{padding:15px 26px;font-size:16px}
  .btn.ghost{background:var(--paper);color:var(--teal-d);border-color:var(--line-2);box-shadow:var(--shadow-xs)}
  .btn.ghost:hover{background:var(--bg-2);border-color:var(--teal-l)}
  .btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--teal-l);outline-offset:2px}

  /* marca cuadrada "E" en degradado teal (idéntica a landing) */
  .mark{flex:0 0 auto;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;
    background:var(--marker);color:#0a2b22;box-shadow:none}
  .mark svg{width:17px;height:17px}

  .back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink-3)}
  .back:hover{color:var(--teal-d)}
  .back svg{transition:transform .15s} .back:hover svg{transform:translateX(-3px)}

  /* calibración tenue de fondo (idéntica a landing) */
  .calib{position:absolute;inset:0;z-index:var(--z-grid);pointer-events:none;overflow:hidden}
  .calib::before{content:"";position:absolute;inset:0;opacity:.5;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:60px 60px;-webkit-mask-image:radial-gradient(120% 86% at 50% -6%,#000 16%,transparent 70%);mask-image:radial-gradient(120% 86% at 50% -6%,#000 16%,transparent 70%)}
  .calib .wash{position:absolute;border-radius:50%;filter:blur(72px)}
  .calib .w1{width:520px;height:520px;top:-260px;left:-120px;background:radial-gradient(circle,rgba(23,196,169,.22),transparent 66%)}
  .calib .w2{width:440px;height:440px;top:-220px;right:-100px;background:radial-gradient(circle,rgba(34,211,238,.14),transparent 70%)}

  /* ---------- nav ---------- */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);background:transparent;
    border-bottom:1px solid transparent;transition:box-shadow .3s,background .3s,border-color .3s,backdrop-filter .3s}
  header.nav.scrolled{box-shadow:0 10px 30px -20px rgba(8,30,32,.34);background:rgba(246,248,250,.82);
    backdrop-filter:saturate(180%) blur(18px);border-bottom-color:var(--line)}
  header.nav .navrow{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;overflow:hidden}
  .brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:18.5px;letter-spacing:-.03em;color:var(--ink);min-width:0}
  .brand .wm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand .accent{color:var(--teal)}

  /* ====== hero del resultado: gauge con color por tramo + mensaje dinámico ====== */
  .rhero-top{padding:108px 0 0;position:relative}
  @media(max-width:680px){.rhero-top{padding:92px 0 0}}

  .analysis-card{position:relative;max-width:var(--maxw);margin:18px auto 0;padding:44px 42px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);overflow:hidden}
  .analysis-card>.calib::before{display:none} /* sin retícula de cuadrados dentro de la tarjeta */
  @media(max-width:600px){.analysis-card{padding:30px 20px;margin-top:16px;border-radius:22px}}

  .rhero-grid{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:42px;align-items:center}
  @media(max-width:680px){.rhero-grid{grid-template-columns:minmax(0,1fr);gap:24px;text-align:center}}
  .rhero-grid>*{min-width:0}

  /* gauge */
  .rgauge{position:relative;width:158px;height:158px;flex:0 0 auto;margin-inline:auto}
  .rgauge svg{width:100%;height:100%;display:block;overflow:visible}
  .rgauge .track{stroke:#e1e9ed}
  .rgauge .arc{stroke:var(--gc,var(--teal));transition:stroke .4s;filter:drop-shadow(0 0 8px var(--gc-glow,rgba(15,118,110,.22)))}
  .rgauge .tick{stroke:var(--paper);stroke-width:3}
  .rgauge .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
  .rgauge .n .v{font-family:var(--font-mono);font-weight:600;font-size:48px;line-height:1;color:var(--gc,var(--ink));letter-spacing:-.04em;transition:color .4s}
  .rgauge .n .lbl{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase}

  .rband-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 13px;margin-bottom:15px;
    color:var(--gc,var(--teal-d));background:var(--gc-bg,var(--tint));border:1px solid var(--gc-bd,var(--tint-bd));transition:.3s}
  .rband-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--gc,var(--teal))}
  .rband-chip b.url{color:inherit;font-family:var(--font-mono);font-weight:600;font-size:12px}
  .rh1{font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.038em;max-width:24ch;font-weight:800}
  @media(max-width:680px){.rh1{max-width:none;margin-inline:auto}}
  .rh1 mark{background:var(--marker);color:var(--ink);padding:.02em .14em;border-radius:.16em;
    box-decoration-break:clone;-webkit-box-decoration-break:clone;font-style:normal}
  .rsub{margin:16px 0 0;font-size:17.5px;font-weight:500;color:var(--ink-2);max-width:50ch;line-height:1.5}
  @media(max-width:680px){.rsub{margin-inline:auto}}

  /* CTA grande arriba: el siguiente paso obvio en pico de intención */
  .rcta-top{position:relative;margin-top:30px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
    background:linear-gradient(150deg,var(--dark-2),var(--dark));border:1px solid var(--dark-line-2);border-radius:var(--r-lg);
    padding:22px 26px;box-shadow:var(--shadow);overflow:hidden}
  .rcta-top::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 88% -10%,rgba(23,196,169,.2),transparent 56%)}
  .rcta-top .ct{position:relative;flex:1;min-width:220px}
  .rcta-top .ct h3{color:#fff;font-size:clamp(18px,2.1vw,21px);letter-spacing:-.025em}
  .rcta-top .ct p{position:relative;margin:6px 0 0;color:var(--dark-ink-2);font-size:14px;line-height:1.45;max-width:46ch}
  .rcta-top .btn{position:relative;flex:0 0 auto;background:#fff;color:var(--teal-d);box-shadow:0 8px 22px -8px rgba(0,0,0,.4)}
  .rcta-top .btn:hover{background:#eafaf6;color:var(--teal-d)}
  @media(max-width:560px){.rcta-top{flex-direction:column;align-items:stretch}.rcta-top .btn{width:100%}}

  /* ====== barra sticky de desbloqueo (aparece al pasar el hero) ====== */
  .unlockbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-stickybar);transform:translateY(120%);
    transition:transform .35s cubic-bezier(.2,.7,.2,1);pointer-events:none}
  .unlockbar.show{transform:translateY(0);pointer-events:auto}
  .unlockbar .ubrow{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 22px 14px;
    background:rgba(4,20,26,.93);backdrop-filter:saturate(180%) blur(16px);border:1px solid var(--dark-line-2);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -16px 40px -20px rgba(5,38,40,.6)}
  .unlockbar .ub-meter{flex:0 0 auto;display:flex;align-items:center;gap:11px}
  .unlockbar .ub-num{font-family:var(--font-mono);font-weight:600;font-size:26px;line-height:1;color:var(--gc-bright,var(--signal-br));letter-spacing:-.03em}
  .unlockbar .ub-txt{color:var(--dark-ink);font-size:14px;font-weight:500;line-height:1.3;min-width:0}
  .unlockbar .ub-txt small{display:block;color:var(--dark-ink-3);font-size:12px;font-weight:400}
  .unlockbar .btn{flex:0 0 auto;margin-left:auto;background:#fff;color:var(--teal-d)}
  .unlockbar .btn:hover{background:#eafaf6;color:var(--teal-d)}
  @media(max-width:560px){.unlockbar .ub-txt{display:none}.unlockbar .ubrow{padding:11px 16px 13px;border-radius:14px 14px 0 0}}

  /* ====== bloque de sección ====== */
  .analysis-part{margin-top:60px}
  .part-head{max-width:62ch}
  .part-head>h2{font-size:clamp(24px,2.8vw,32px);letter-spacing:-.028em}
  .part-head>.sub{margin:11px 0 0;color:var(--ink-2);font-size:16px;max-width:62ch;line-height:1.5}
  .free-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
    color:var(--teal-d);background:var(--tint);border:1px solid var(--tint-bd);border-radius:999px;padding:5px 12px;margin-bottom:16px}
  .free-tag .ck{display:grid;place-items:center;color:var(--teal-br)}

  /* ====== hallazgos gratis: grid limpio ====== */
  .findings{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
  .findings li{display:flex;align-items:flex-start;gap:13px;min-width:0;
    background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-xs);padding:18px}
  .findings .ic{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:14px;font-weight:700;margin-top:1px}
  .findings .ic.pass{background:var(--tint);color:var(--teal-d)}
  .findings .ic.fail{background:#fdecec;color:var(--red)}
  .findings .ft{min-width:0}
  .findings b{display:block;color:var(--ink);font-size:14.5px;font-weight:600;letter-spacing:-.01em}
  .findings .msg{display:block;font-size:13.5px;color:var(--ink-2);margin-top:2px} .findings .msg.rec{color:var(--amber)}
  /* dos grupos separados verticalmente: SIEMPRE "A mejorar" primero, luego "Ya en orden" */
  .findings-group + .findings-group{margin-top:30px}
  .findings-group .findings{margin-top:14px}
  .fg-h{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ink);margin:0;letter-spacing:-.01em}
  .fg-h .dotmk{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
  .fg-h .n{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--muted)}
  .fg-h-bad .dotmk{background:var(--red-l)} .fg-h-good .dotmk{background:var(--teal)}

  /* ====== bloques cerrados individuales (lo de pago, troceado) ====== */
  .locked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
  @media(max-width:840px){.locked-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:540px){.locked-grid{grid-template-columns:minmax(0,1fr)}}
  .locked-grid>*{min-width:0}
  /* rejilla pareja 3 + 3: todas las piezas del informe al mismo tamaño */
  .lk.span-3,.lk.span-2{grid-column:auto}

  .lk{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
    overflow:hidden;box-shadow:var(--shadow-xs);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
  .lk:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
  .lk.hero-lk{border-color:var(--tint-bd)}
  /* cabecera del bloque */
  .lk-head{display:flex;align-items:flex-start;gap:13px;padding:22px 22px 0}
  .lk-ic{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:var(--tint);border:1px solid var(--tint-bd);display:grid;place-items:center;color:var(--teal-d)}
  .lk-ti{min-width:0}
  .lk-ti h3{font-size:16.5px;letter-spacing:-.02em;line-height:1.2;padding-right:30px}
  .lk-ti p{margin:5px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.45}
  /* candado: icono compacto en la esquina (sin texto, para no chocar con el
     titulo en ninguna anchura). El blur y el CTA ya comunican "cerrado". */
  .lk-lock{position:absolute;top:14px;right:14px;z-index:4;display:grid;place-items:center;width:28px;height:28px;color:var(--teal-d);
    background:var(--paper);border:1px solid var(--tint-bd);border-radius:9px;box-shadow:var(--shadow-xs)}
  /* zona de vista previa: el contenido real difuminado tras un velo claro */
  .lk-peek{position:relative;margin:16px 18px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;isolation:isolate;background:var(--bg)}
  .lk-blur{filter:blur(4.5px);transform:scale(1.03);transform-origin:center;pointer-events:none;user-select:none;padding:16px 16px 18px;opacity:.96}
  .lk-peek .lk-blur{min-height:150px}
  .lk-veil{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;
    background:linear-gradient(180deg,rgba(255,255,255,0) 6%,rgba(255,255,255,.18) 40%,rgba(255,255,255,.78) 78%,rgba(255,255,255,.96) 100%)}
  /* CTA propio del bloque: lo que ganas al desbloquear ESTO */
  .lk-cta{position:relative;display:flex;align-items:center;gap:8px;margin:14px 18px 18px;
    border:1px solid var(--tint-bd);border-radius:12px;background:var(--tint);padding:11px 14px;
    font-size:13.5px;font-weight:600;color:var(--teal-d);transition:background .18s,border-color .18s,transform .16s cubic-bezier(.2,.7,.2,1)}
  .lk-cta:hover{background:var(--tint-2);border-color:var(--teal-l);transform:translateY(-1px);color:var(--teal-dd)}
  .lk-cta .lk-key{flex:0 0 auto;color:var(--teal-br)}
  .lk-cta .lk-arrow{margin-left:auto;flex:0 0 auto;transition:transform .18s}
  .lk-cta:hover .lk-arrow{transform:translateX(3px)}

  /* --- mini-vistas de cada bloque (datos de ejemplo, plausibles) --- */
  .pk-h{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin:0 0 12px}
  /* competidores + share of voice */
  .sovrow{display:flex;align-items:center;gap:10px;margin:9px 0}
  .sovrow .who{width:84px;flex:0 0 auto;font-size:12.5px;color:var(--ink-2);text-align:right;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sovrow.you .who{color:var(--ink);font-weight:600}
  .sovbar{flex:1;min-width:0;height:13px;border-radius:7px;background:#eef3f6;overflow:hidden}
  .sovbar i{display:block;height:100%;border-radius:7px;background:#c5d2da}
  .sovrow.you .sovbar i{background:linear-gradient(90deg,var(--signal),var(--teal))}
  .sovrow .pct{width:36px;flex:0 0 auto;font-family:var(--font-mono);font-size:12px;color:var(--muted);text-align:right}
  .sovrow.you .pct{color:var(--teal-d)}
  /* X de Y: detalle pregunta x motor */
  .qmx{display:grid;gap:8px}
  .qmx-row{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
  .qmx-eng{flex:0 0 auto;font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);color:var(--muted);width:62px}
  .qmx-q{flex:1;min-width:0;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qmx-st{flex:0 0 auto;font-size:11px;font-weight:600}
  .qmx-st.win{color:var(--teal-d)} .qmx-st.lose{color:var(--red)}
  .qmx-meter{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}
  .qmx-meter b{font-family:var(--font-mono);font-size:22px;color:var(--ink);letter-spacing:-.03em}
  .qmx-meter span{font-size:13px;color:var(--ink-2)}
  /* plan de acción priorizado */
  .actrow{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--line)}
  .actrow:first-of-type{border-top:0}
  .actrow .imp{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
  .imp.hi{background:var(--red-l)} .imp.md{background:var(--amber-l)} .imp.lo{background:var(--teal-l)}
  .actrow .at{flex:1;min-width:0;font-size:13px;color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .actrow .ax{font-family:var(--font-mono);font-size:11px;color:var(--muted);flex:0 0 auto}
  /* snippet de codigo */
  .codeblk{background:#072420;border-radius:11px;padding:14px 15px;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:#bfeee6;overflow:hidden}
  .codeblk .k{color:var(--mint)} .codeblk .s{color:#9fd9d0} .codeblk .c{color:#6f9a93}
  /* brief de preguntas perdidas */
  .briefrow{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line)}
  .briefrow:first-of-type{border-top:0}
  .briefrow .bq{flex:0 0 auto;width:18px;height:18px;border-radius:6px;background:#fdecec;color:var(--red);display:grid;place-items:center;font-size:10px;font-weight:700;margin-top:1px;font-family:var(--font-mono)}
  .briefrow .bt{min-width:0;font-size:12.5px;color:var(--ink);line-height:1.4}
  .briefrow .bt small{display:block;color:var(--ink-2);font-size:11.5px}
  /* seguimiento mes a mes */
  .trend{position:relative}
  .trend svg{width:100%;height:78px;display:block}
  .trend-grid line{stroke:#e6edf1;stroke-width:1}
  .trend-line{fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
  .trend-area{fill:url(#trendfill)}
  .trend-dot{fill:var(--teal)}
  .trend-meta{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--ink-2)}
  .trend-meta .up{display:inline-flex;align-items:center;gap:4px;color:var(--teal-d);font-weight:600;font-family:var(--font-mono);font-size:12px}
  .alertchip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 11px;margin-top:10px}
  .alertchip .bell{color:var(--amber)}

  /* ====== precios (mismo sistema que landing) ====== */
  .rband{padding:78px 0 30px}
  .rband .center{text-align:center;margin-inline:auto;max-width:760px}
  .kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;
    color:var(--teal-d);margin-bottom:18px;text-transform:uppercase;justify-content:center}
  .kick .ln{width:26px;height:1px;background:var(--teal-l);display:inline-block}
  .rband h2{text-align:center;font-size:clamp(28px,4vw,46px);letter-spacing:-.035em}
  .rband .price-intro{text-align:center;color:var(--ink-2);font-size:16px;margin:16px auto 0;max-width:52ch;line-height:1.55}
  .price-switch{display:inline-flex;background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:5px;margin:28px auto 0;box-shadow:var(--shadow-xs);gap:4px}
  .price-switch button{border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:600;color:var(--ink-2);padding:10px 22px;border-radius:999px;transition:.18s;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.01em}
  .price-switch button[aria-selected="true"]{background:var(--teal);color:#fff;box-shadow:var(--shadow-xs)}
  .price-switch .tagn{font-size:11px;font-weight:600;border-radius:99px;padding:1px 7px;font-family:var(--font-mono)}
  .price-switch button[aria-selected="true"] .tagn{background:rgba(255,255,255,.24)} .price-switch button[aria-selected="false"] .tagn{background:var(--tint);color:var(--teal-d)}
  .plans{display:grid;gap:20px;margin-top:42px;grid-template-columns:repeat(3,minmax(0,1fr))}
  @media(max-width:900px){.plans{grid-template-columns:minmax(0,1fr);max-width:430px;margin-inline:auto}}
  .plans>*{min-width:0}
  .plan{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow-xs);position:relative;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;min-width:0}
  .plan:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
  .plan.star{border-color:var(--teal);box-shadow:var(--glow);transform:translateY(-6px)} .plan.star:hover{transform:translateY(-10px)}
  @media(max-width:900px){.plan.star{transform:none}.plan.star:hover{transform:translateY(-4px)}}
  .plan .star-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.01em;border-radius:999px;padding:5px 14px;box-shadow:var(--shadow-xs);white-space:nowrap}
  .plan .pname{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em} .plan .pwho{color:var(--muted);font-size:12.5px;margin-top:2px;min-height:18px}
  .plan .price{display:flex;align-items:baseline;gap:5px;margin:20px 0 5px} .plan .price .amt{font-family:var(--font-mono);font-size:42px;font-weight:600;letter-spacing:-.04em;color:var(--ink)} .plan .price .per{color:var(--muted);font-size:14px;font-weight:500}
  .plan .pcap{color:var(--ink-2);font-size:13.5px;min-height:40px;margin-bottom:18px;line-height:1.45}
  .plan ul{list-style:none;margin:0 0 24px;padding:18px 0 0;border-top:1px solid var(--line);display:grid;gap:11px}
  .plan li{display:flex;gap:10px;align-items:flex-start;font-size:13.8px;color:var(--ink-2);line-height:1.4} .plan li .ck{flex:0 0 auto;color:var(--teal);margin-top:2px} .plan li.off{color:var(--muted)} .plan li.off .ck{color:#c3cfd8}
  .plan .btn{margin-top:auto;width:100%} .plan.free .btn{background:var(--paper);color:var(--teal-d);border-color:var(--line-2);box-shadow:var(--shadow-xs)} .plan.free .btn:hover{background:var(--bg-2);border-color:var(--teal-l)}
  .addons{margin-top:32px;display:flex;gap:11px;align-items:center;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:13.5px}
  .addons .a{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 15px;color:var(--ink-2);box-shadow:var(--shadow-xs)}

  footer{margin-top:8px;border-top:1px solid var(--line);padding:40px 0 56px;color:var(--muted);font-size:13.5px;text-align:center;background:var(--bg-2)}

  /* anclas debajo del nav fijo */
  section[id],div[id="planes"]{scroll-margin-top:90px}

  /* ====== motion: scroll-reveal con variantes (igual que landing) ====== */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*60ms)}
  .reveal.in{opacity:1;transform:none}
  .reveal.pop{transform:scale(.95);transition-duration:.55s} .reveal.pop.in{transform:scale(1)}
  .plan.star.reveal{transform:translateY(-6px) scale(.95)} .plan.star.reveal.in{transform:translateY(-6px) scale(1)}
  @media(max-width:900px){.plan.star.reveal{transform:scale(.95)} .plan.star.reveal.in{transform:scale(1)}}
  /* las barras de sov de los teasers crecen al revelarse */
  .sovbar i{transform:scaleX(.06);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s}
  .lk.in .sovbar i{transform:scaleX(1)}

  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .plan.star.reveal,.plan.star.reveal.in{transform:translateY(-6px)}
    @media(max-width:900px){.plan.star.reveal,.plan.star.reveal.in{transform:none}}
    .sovbar i{transform:scaleX(1);transition:none}
    .unlockbar{transition:none}
    .btn:hover,.plan:hover,.plan.star:hover,.lk:hover,.lk-cta:hover{transform:none}
  }

  @media(max-width:480px){
    .wrap{padding:0 18px}
    header.nav .navrow{padding:13px 18px}
    .brand{font-size:17px}
    .rgauge{width:130px;height:130px}
    .rgauge .n .v{font-size:40px}
    .analysis-part{margin-top:46px}
    .rband{padding:60px 0 24px}
  }

  /* ══════════════════════════════════════════════════════════════════
     SOFT-FINTECH OVERRIDES (26/06) — bring resultado onto DESIGN_SYSTEM.md.
     Rides on the remapped :root tokens above; these fix the structural
     pieces tokens can't reach. Free vs paid gating, locked/blurred blocks,
     pricing behavior and all anchors/links UNCHANGED.
     ══════════════════════════════════════════════════════════════════ */
  body{font-size:16.5px}
  h1,h2,h3,h4{font-family:var(--font-display)} .brand{font-family:var(--font-display)}
  /* Buttons: ink fill + soft shadow; ghost = hairline */
  .btn{background:var(--ink);color:#fff;border-radius:12px;font-weight:700;letter-spacing:-.01em;box-shadow:var(--shadow-sm)}
  .btn:hover{background:#1c2420;color:#fff;box-shadow:var(--shadow)}
  .btn.ghost{background:var(--paper);color:var(--ink);border-color:var(--line-2);box-shadow:var(--shadow-sm)}
  .btn.ghost:hover{background:var(--bg-2);border-color:var(--teal-d)}
  /* Mark: flat lime square */
  .mark{width:32px;height:32px;border-radius:10px;background:var(--marker);color:var(--ink);box-shadow:none}
  .brand .accent{color:var(--teal-d)}
  /* Calibration washes: lime/mint, paper grid */
  .calib::before{opacity:.5;background-image:linear-gradient(rgba(14,19,17,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,19,17,.05) 1px,transparent 1px)}
  .calib .w1{background:radial-gradient(circle,rgba(212,251,79,.30),transparent 66%)}
  .calib .w2{background:radial-gradient(circle,rgba(134,239,172,.26),transparent 70%)}
  /* Gauge track + arc default to system green; arc tint stays band-driven (--gc) */
  .rgauge .track{stroke:var(--bg-3)} .rgauge .tick{stroke:var(--paper)}
  .rband-chip{background:var(--gc-bg,var(--tint));border-color:var(--gc-bd,var(--tint-bd))}
  /* CTA arriba + unlockbar: anchor-green featured surfaces (solid bg fallback for audit/gradient) */
  .rcta-top{background-color:var(--dark);background-image:linear-gradient(150deg,var(--dark-2),var(--dark));border-color:var(--dark-line-2)}
  .rcta-top::before{background:radial-gradient(120% 90% at 88% -10%,rgba(212,251,79,.14),transparent 56%)}
  .rcta-top .ct p{color:var(--dark-ink-2)}
  .rcta-top .btn{background:var(--marker);color:var(--ink)} .rcta-top .btn:hover{background:#e2ff66;color:var(--ink)}
  .unlockbar .ubrow{background:var(--dark);border-color:var(--dark-line-2)}
  .unlockbar .ub-num{color:var(--signal-br)} .unlockbar .ub-txt{color:var(--dark-ink)} .unlockbar .ub-txt small{color:var(--dark-ink-3)}
  .unlockbar .btn{background:var(--marker);color:var(--ink)} .unlockbar .btn:hover{background:#e2ff66;color:var(--ink)}
  /* Free tag + findings: mint-pass / rose-fail */
  .free-tag{color:var(--teal-d);background:var(--tint);border-color:var(--tint-bd)} .free-tag .ck{color:var(--teal-d)}
  .findings .ic.pass{background:var(--mint);color:var(--teal-d)}
  .findings .ic.fail{background:#ffd9d2;color:var(--red)}
  .fg-h-bad .dotmk{background:var(--red-l)} .fg-h-good .dotmk{background:var(--teal-d)}
  /* Locked blocks: soft cards, lime/mint accents in the CTA + icons */
  .lk:hover{box-shadow:var(--shadow);border-color:var(--line-2)}
  .lk.hero-lk{border-color:var(--tint-bd)}
  .lk-ic{background:var(--tint);border-color:var(--tint-bd);color:var(--teal-d)}
  .lk-lock{color:var(--teal-d);background:var(--paper);border-color:var(--tint-bd)}
  .lk-cta{border-color:var(--tint-bd);background:var(--tint);color:var(--teal-d)}
  .lk-cta:hover{background:var(--tint-2);border-color:var(--teal-l);color:var(--teal-dd)}
  .lk-cta .lk-key{color:var(--teal-d)}
  /* Teaser mini-views: your bar anchor-green, rivals neutral, code on anchor green */
  .sovbar{background:var(--bg-3)} .sovbar i{background:var(--rival,#c3cfd8)}
  .sovrow.you .sovbar i{background:var(--dark)} .sovrow.you .pct{color:var(--teal-d)}
  .qmx-st.win{color:var(--teal-d)} .qmx-st.lose{color:var(--red)}
  .codeblk{background-color:var(--dark);color:var(--dark-ink-2)} .codeblk .k{color:var(--marker)} .codeblk .s{color:var(--mint)} .codeblk .c{color:var(--dark-ink-3)}
  .briefrow .bq{background:#ffd9d2;color:var(--red)}
  .imp.lo{background:var(--teal-l)} .imp.md{background:var(--amber-l)} .imp.hi{background:var(--red-l)}
  .trend-line,.trend-dot{stroke:var(--teal-d);fill:var(--teal-d)} .trend-line{fill:none} .trend-meta .up{color:var(--teal-d)}
  .alertchip .bell{color:var(--amber)}
  /* Pricing: kicker, star plan + tag to system green, active tab = ink fill, 44px tap */
  .kick{color:var(--teal-d)} .kick .ln{background:var(--teal-d)}
  .price-switch{box-shadow:var(--shadow-sm)} .price-switch button{min-height:44px}
  .price-switch button[aria-selected="true"]{background:var(--ink);color:#fff}
  .price-switch button[aria-selected="false"] .tagn{background:var(--tint);color:var(--teal-d)}
  .plan.star{border-color:var(--teal-d);box-shadow:var(--shadow-lg)}
  .plan .star-tag{background:var(--teal-d);color:#fff}
  .plan li .ck{color:var(--teal-d)} .plan li.off .ck{color:var(--line-3)}
  .plan.free .btn{background:var(--paper);color:var(--ink);border-color:var(--line-2)} .plan.free .btn:hover{background:var(--bg-2);border-color:var(--teal-d)}
  .addons .a{box-shadow:var(--shadow-sm)}
  .back{min-height:44px}

  /* Señales avanzadas para IA (28/06) — grupo informativo, reusa la estética de .findings */
  .advanced-group{margin-top:30px;padding-top:26px;border-top:1px dashed var(--line-2)}
  .fg-h-adv{flex-wrap:wrap}
  .fg-h-adv .dotmk{background:var(--marker,#d4fb4f);box-shadow:0 0 0 3px rgba(212,251,79,.28)}
  .adv-note{flex-basis:100%;font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:0;margin-top:2px}
  .findings .ic.na{background:var(--bg-2,#eceee6);color:var(--ink-3)}

/* Toggle de idioma ES/EN (script i18n.js) — sutil, a la derecha del todo */
.lang-toggle{order:99;margin-left:4px;font-family:var(--font-mono,monospace);font-size:11px;font-weight:600;
  letter-spacing:.06em;border:0;background:transparent;color:var(--ink,#0e1311);opacity:.5;
  border-radius:7px;padding:6px 8px;cursor:pointer;line-height:1;transition:opacity .15s,background .15s}
.lang-toggle:hover{opacity:1;background:var(--bg-2,#eceee6)}
.lang-toggle:focus-visible{opacity:1;outline:2px solid var(--teal,#0a5750);outline-offset:2px}

/* ══════ BLOQUE 2 AUDIT (01/07) — CTA secundario persistente para agencias (pendiente #7):
   primario = pyme (desbloqueo/planes); esta línea discreta sirve al comprador agencia sin
   bifurcar la página; los enlaces [data-agency] preseleccionan la pestaña de agencias. ══════ */
.agcta{margin:16px 0 0;font-size:13.5px;color:var(--ink-3)}
.agcta a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.agcta.center{text-align:center;margin:38px auto 0;max-width:60ch}
/* dentro del hero (tarjeta clara con washes): asegurar lectura */
.rhero-grid .agcta{position:relative}
.agcta a{display:inline-block;padding:11px 0;margin:-11px 0}

/* ── legal footer links (03/07/2026, RGPD) ── */
.foot-legal{display:inline-block;margin-top:8px;font-size:13px}
.foot-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
