/* ===========================================================
   "El Costo del Dato" — deck styles
   Tema claro Rizoma (manual de marca):
   verde #289448 · cyan #1FACC0 · rojo #C32421 (solo dinero/error)
   Antonio (display, uppercase) · Roboto (cuerpo) · IBM Plex Mono
   Lienzo fijo 1920×1080 · esquinas rectas
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Antonio:wght@600;700&family=Roboto:ital,wght@0,400;0,500;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  /* paleta manual de marca (claro) */
  --bg:#ffffff;
  --surface:#f4f7f5;
  --surface2:#eef3ef;
  --ink:#141715;
  --ink-dim:#505050;
  --ink-mute:#6d7570;
  --line:rgba(17,24,20,.10);
  --line-strong:rgba(17,24,20,.20);
  --green:#289448;
  --green-soft:#1e7c3c;
  --green-deep:#b9dfc6;
  --cyan:#1FACC0;
  --cyan-soft:#0e7d8d;
  --red:#C32421;          /* reservado: dinero perdido / error */
  --gold:#a97f14;

  --font-display:'Antonio','Arial Narrow',sans-serif;
  --font-sans:'Roboto',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;

  /* escala tipográfica @1920 */
  --type-title:80px;
  --type-subtitle:42px;
  --type-body:31px;
  --type-small:25px;
  --type-mono:24px;
  --type-micro:22px;

  --pad-x:112px;
  --pad-y:84px;

  --shadow-card:0 1px 2px rgba(20,40,28,.05),0 12px 32px -14px rgba(20,40,28,.14);
  --ease:cubic-bezier(.22,.61,.36,1);

  /* patrón topográfico del manual */
  --bg-topo:
    radial-gradient(ellipse at 85% -5%, rgba(31,172,192,.06), transparent 45%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cg fill='none' stroke='%23141715' stroke-opacity='0.045'%3E%3Ccircle cx='280' cy='280' r='60'/%3E%3Ccircle cx='285' cy='274' r='105'/%3E%3Ccircle cx='274' cy='288' r='150'/%3E%3Ccircle cx='290' cy='270' r='198'/%3E%3Ccircle cx='270' cy='292' r='246'/%3E%3C/g%3E%3C/svg%3E"),
    #ffffff;
}

*{box-sizing:border-box;border-radius:0;}

deck-stage:not(:defined){visibility:hidden;}
deck-stage{background:#0b0f0c;}

section{
  background:var(--bg-topo);
  color:var(--ink);
  font-family:var(--font-sans);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}

.frame{
  position:absolute;inset:0;
  padding:var(--pad-y) var(--pad-x);
  display:flex;flex-direction:column;
}

/* ---------- tipografía compartida ---------- */
.eyebrow{
  font-family:var(--font-display);font-weight:600;
  font-size:26px;color:var(--green);
  letter-spacing:.08em;text-transform:uppercase;
  display:flex;align-items:center;gap:16px;margin:0;
}
.eyebrow::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--green);flex:none;}

h1.title{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:var(--type-title);line-height:.98;letter-spacing:.005em;
  margin:0;text-wrap:balance;
}
h2.head{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:var(--type-subtitle);line-height:1.02;margin:0;
}
h1 em,h2 em,.grad-text{
  font-style:normal;font-family:inherit;
  background:linear-gradient(92deg,var(--green) 10%,var(--cyan) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
p.body{
  font-size:var(--type-body);line-height:1.42;font-weight:400;
  color:var(--ink-dim);margin:0;max-width:46ch;text-wrap:pretty;
}
.lead{color:var(--ink);}
.mono{font-family:var(--font-mono);}
.money{color:var(--red);font-variant-numeric:tabular-nums;}
b{color:var(--ink);}

/* ---------- flood (dividers) ---------- */
.flood{background:linear-gradient(120deg,var(--green) 0%,#1e8a44 55%,var(--cyan-soft) 130%);color:#fff;}
.flood .eyebrow{color:#eafff1;}
.flood .eyebrow::before{background:#eafff1;}
.flood p.body{color:rgba(255,255,255,.82);}
.divider{justify-content:flex-end;}
.div-chno{
  position:absolute;top:var(--pad-y);right:var(--pad-x);
  font-family:var(--font-mono);font-size:220px;font-weight:600;
  line-height:1;color:rgba(255,255,255,.16);letter-spacing:-.04em;
}
.div-kicker{font-family:var(--font-mono);font-size:24px;letter-spacing:.24em;text-transform:uppercase;color:#d9fbe6;font-weight:600;}
.div-title{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:112px;line-height:.94;margin:22px 0 0;max-width:22ch;color:#fff;
}
.div-sub{font-size:30px;color:rgba(255,255,255,.85);max-width:48ch;margin-top:26px;line-height:1.36;}

/* ---------- footer chrome ---------- */
.foot{
  position:absolute;left:var(--pad-x);right:var(--pad-x);bottom:44px;
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--font-mono);font-size:var(--type-micro);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);
}

/* ---------- animación de entrada ---------- */
.rise{opacity:1;}
@media (prefers-reduced-motion:no-preference){
  .anim-ready [data-deck-active] .rise{animation:rise .62s var(--ease) both;}
  .anim-ready [data-deck-active] .rise.d1{animation-delay:.06s;}
  .anim-ready [data-deck-active] .rise.d2{animation-delay:.13s;}
  .anim-ready [data-deck-active] .rise.d3{animation-delay:.2s;}
  .anim-ready [data-deck-active] .rise.d4{animation-delay:.27s;}
  .anim-ready [data-deck-active] .rise.d5{animation-delay:.34s;}
}
@keyframes rise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
@media print{
  .rise{opacity:1!important;transform:none!important;animation:none!important;}
}

/* =========================================================
   PORTADA
   ========================================================= */
.cover{justify-content:space-between;}
.cover .toprow{display:flex;justify-content:space-between;align-items:flex-start;}
.brand-tag{font-family:var(--font-mono);font-weight:600;font-size:24px;letter-spacing:.4em;color:var(--green);writing-mode:vertical-rl;}
.cover-title{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:170px;line-height:.9;margin:0;max-width:12ch;color:var(--ink);
}
.cover-sub{font-size:34px;color:var(--ink-dim);max-width:44ch;line-height:1.32;margin-top:34px;}
.cover-meta{display:flex;gap:54px;margin-top:8px;}
.cover-meta .m{font-family:var(--font-mono);font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);}
.cover-meta .m b{display:block;color:var(--ink);font-weight:500;margin-top:8px;font-size:24px;letter-spacing:.02em;text-transform:none;}

/* =========================================================
   GANCHO $81T
   ========================================================= */
.hook{justify-content:center;align-items:center;text-align:center;}
.hook-label{font-family:var(--font-mono);font-size:26px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);}
.hook-num{
  font-family:var(--font-display);font-weight:700;
  font-size:142px;line-height:1.05;color:var(--red);
  font-variant-numeric:tabular-nums;letter-spacing:0;
  margin:44px 0 30px;white-space:nowrap;
}
.hook-sub{font-size:34px;color:var(--ink-dim);}
.hook-reveal{
  margin-top:64px;opacity:0;transform:translateY(18px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  font-size:44px;line-height:1.3;color:var(--ink);max-width:34ch;
}
.hook-reveal .real{font-family:var(--font-display);font-weight:700;font-size:64px;color:var(--green);}
.hook.revealed .hook-reveal{opacity:1;transform:none;}
@media print{.hook-reveal{opacity:1!important;transform:none!important;}}

/* =========================================================
   ÍNDICE
   ========================================================= */
.idx-list{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid var(--line-strong);}
.idx-row{
  display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:30px;
  padding:26px 8px;border-bottom:1px solid var(--line-strong);
  cursor:pointer;transition:background .25s var(--ease),padding .25s var(--ease);
  text-align:left;background:none;border-left:none;border-right:none;border-top:none;
  color:inherit;font-family:inherit;width:100%;
}
.idx-row:hover{background:rgba(40,148,72,.06);padding-left:24px;}
.idx-num{font-family:var(--font-mono);font-size:28px;color:var(--green);font-weight:500;}
.idx-name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:42px;}
.idx-row:hover .idx-name{color:var(--green);}
.idx-meta{font-family:var(--font-mono);font-size:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);}

/* =========================================================
   TARJETAS "¿TE SUENA?" (flip)
   ========================================================= */
.suena-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;flex:1;align-content:center;}
.suena{
  position:relative;cursor:pointer;min-height:480px;
  border:1.5px solid var(--line-strong);background:var(--bg);box-shadow:var(--shadow-card);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.suena:hover{transform:translateY(-6px);}
.suena .face{position:absolute;inset:0;padding:44px 40px;display:flex;flex-direction:column;gap:22px;transition:opacity .45s var(--ease);}
.suena .front{opacity:1;}
.suena .back{opacity:0;background:var(--surface);}
.suena.flipped .front{opacity:0;}
.suena.flipped .back{opacity:1;}
.suena .pn{font-family:var(--font-mono);font-size:44px;font-weight:600;color:var(--green);line-height:1;}
.suena h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:40px;margin:0;line-height:1.04;}
.suena p{font-size:26px;line-height:1.38;color:var(--ink-dim);margin:0;}
.suena .back .tag{font-family:var(--font-mono);font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);}
.suena .back h4{font-family:var(--font-display);font-weight:700;font-size:32px;text-transform:uppercase;margin:0;line-height:1.08;}
.suena .hint{margin-top:auto;font-family:var(--font-mono);font-size:17px;color:var(--ink-mute);letter-spacing:.08em;}

/* =========================================================
   SIM A — LOS 15 CEROS (terminal legado)
   ========================================================= */
.simwrap{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;flex:1;align-items:center;}
.terminal{
  background:#101613;color:#c8e6cf;font-family:var(--font-mono);
  border:2px solid #24352a;box-shadow:var(--shadow-card);
  padding:0;overflow:hidden;
}
.terminal .tbar{
  display:flex;justify-content:space-between;align-items:center;
  background:#1a2620;padding:16px 26px;font-size:19px;letter-spacing:.14em;
  color:#7fae8c;text-transform:uppercase;
}
.terminal .tbody{padding:36px 40px;display:flex;flex-direction:column;gap:24px;}
.trow{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:center;font-size:25px;}
.trow .tl{color:#628a6e;font-size:20px;letter-spacing:.1em;text-transform:uppercase;}
.trow .tv{background:#0a0f0c;border:1px solid #2c4234;padding:14px 18px;font-size:26px;color:#e6f5ea;font-variant-numeric:tabular-nums;letter-spacing:.04em;}
.trow .tv.amount{font-size:30px;color:#fff;position:relative;}
.trow .tv.amount .zeros{color:#5c7f68;}
.trow .tv.amount .real-digits{color:#8fe3a5;font-weight:600;}
.tstamp{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:#57d178;
  border:1.5px solid #2c6b42;padding:8px 12px;opacity:0;transform:scale(1.4);
}
.tstamp.on{opacity:1;transform:scale(1);transition:opacity .3s var(--ease),transform .3s var(--ease);}
.sim-controls{display:flex;flex-direction:column;gap:20px;}
.sim-controls .stitle{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:44px;line-height:1.05;margin:0;}
.sim-controls p{font-size:26px;color:var(--ink-dim);line-height:1.4;margin:0;}
.btn-sim{
  font-family:var(--font-mono);font-size:22px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--ink);color:#fff;border:none;padding:20px 32px;cursor:pointer;
  transition:background .2s,transform .2s;text-align:left;
}
.btn-sim:hover{background:var(--green-soft);transform:translateX(4px);}
.btn-sim:disabled{background:var(--surface2);color:var(--ink-mute);cursor:default;transform:none;}
.btn-sim.danger{background:var(--red);}
.btn-sim.ghost{background:none;border:1.5px solid var(--line-strong);color:var(--ink-dim);font-size:17px;padding:12px 20px;}
.btn-sim.ghost:hover{border-color:var(--green);color:var(--green-soft);background:none;}
.sim-result{
  font-family:var(--font-display);font-weight:700;font-size:76px;line-height:1;
  color:var(--red);font-variant-numeric:tabular-nums;min-height:84px;white-space:nowrap;
}
.sim-result-label{font-family:var(--font-mono);font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);}
@keyframes shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-8px)}40%,60%{transform:translateX(8px)}}
@media (prefers-reduced-motion:no-preference){
  .terminal.exec{animation:shake .6s var(--ease) both;}
}
.terminal.exec{border-color:var(--red);}
.terminal.exec .tbar{background:#3d1210;color:#ff9a94;}

/* =========================================================
   SIM B — BOLA DE NIEVE (grafo SVG)
   ========================================================= */
.bola-wrap{display:grid;grid-template-columns:1fr 400px;gap:48px;flex:1;align-items:center;}
.bola-svg{width:100%;height:auto;}
.bnode rect{fill:var(--bg);stroke:var(--line-strong);stroke-width:1.5;transition:fill .5s var(--ease),stroke .5s var(--ease);}
.bnode text{fill:var(--ink);font-family:var(--font-sans);font-weight:500;}
.bnode .bico{font-size:34px;}
.bnode .blabel{font-size:23px;font-weight:700;}
.bnode .bsub{font-size:17px;fill:var(--ink-mute);}
.bnode.infected rect{fill:#fdf0ef;stroke:var(--red);stroke-width:2.5;}
.bnode.infected .blabel{fill:var(--red);}
@media (prefers-reduced-motion:no-preference){
  .bnode.infected rect{animation:pulse 1s var(--ease) 1;}
}
@keyframes pulse{0%{transform:scale(1)}35%{transform:scale(1.035)}100%{transform:scale(1)}}
.bedge{stroke:var(--line-strong);stroke-width:2.5;fill:none;stroke-dasharray:400;stroke-dashoffset:0;}
.bedge.travel{stroke:var(--red);}
@media (prefers-reduced-motion:no-preference){
  .bedge.travel{animation:draw .8s var(--ease) both;}
}
@keyframes draw{from{stroke-dashoffset:400;}to{stroke-dashoffset:0;}}
.bola-side{display:flex;flex-direction:column;gap:26px;}
.bola-counter{border-top:3px solid var(--red);padding-top:22px;}
.bola-counter .num{font-family:var(--font-display);font-weight:700;font-size:96px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums;}
.bola-counter .lbl{font-family:var(--font-mono);font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px;}
.bola-note{font-size:26px;line-height:1.42;color:var(--ink-dim);min-height:150px;}
.bola-note b{color:var(--ink);}

/* =========================================================
   TIMELINE REVLON
   ========================================================= */
.tlx{display:flex;flex-direction:column;gap:0;flex:1;justify-content:center;margin-top:10px;}
.tlx-row{
  display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:baseline;
  padding:26px 0;border-bottom:1px solid var(--line);
  opacity:.25;transition:opacity .5s var(--ease);
}
.tlx-row.on{opacity:1;}
@media print{.tlx-row{opacity:1!important;}}
.tlx-num{font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1;font-variant-numeric:tabular-nums;}
.tlx-num.bad{color:var(--red);}
.tlx-num.ok{color:var(--green);}
.tlx-txt{font-size:28px;line-height:1.35;color:var(--ink-dim);}
.tlx-txt b{color:var(--ink);}

/* =========================================================
   MURO DE CASOS
   ========================================================= */
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;flex:1;align-content:center;}
.wcase{border-top:3px solid var(--red);padding-top:24px;display:flex;flex-direction:column;gap:12px;}
.wcase .wnum{font-family:var(--font-display);font-weight:700;font-size:74px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap;}
.wcase .wname{font-family:var(--font-mono);font-size:19px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600;}
.wcase .wdesc{font-size:22px;line-height:1.36;color:var(--ink-dim);}
.wall-band{
  margin-top:34px;background:var(--ink);color:#fff;padding:28px 38px;
  font-size:30px;line-height:1.35;display:flex;align-items:baseline;gap:22px;
}
.wall-band .pct{font-family:var(--font-display);font-weight:700;font-size:60px;color:#7ee59a;line-height:1;white-space:nowrap;flex:none;}

/* =========================================================
   ¿CUÁL REPORTE ESTÁ MAL?
   ========================================================= */
.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;flex:1;align-content:center;}
.report{
  background:var(--bg);border:1.5px solid var(--line-strong);box-shadow:var(--shadow-card);
  padding:38px 42px;position:relative;
}
.report .rhead{font-family:var(--font-mono);font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:8px;display:flex;justify-content:space-between;}
.report .rrow{display:grid;grid-template-columns:1fr auto;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:25px;}
.report .rrow .rk{color:var(--ink-dim);}
.report .rrow .rv{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500;}
.report .rrow.err .rv{position:relative;}
.revealed-err .report .rrow.err{background:#fdf0ef;}
.revealed-err .report .rrow.err .rv{color:var(--red);font-weight:700;}
.report .rtag{
  position:absolute;top:-18px;right:28px;background:var(--red);color:#fff;
  font-family:var(--font-mono);font-size:17px;letter-spacing:.12em;text-transform:uppercase;
  padding:8px 16px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.revealed-err .report .rtag{opacity:1;transform:none;}
@media print{.report .rtag{opacity:1!important;}}
.rep-verdict{
  margin-top:30px;font-size:34px;line-height:1.3;color:var(--ink);
  opacity:0;transition:opacity .5s var(--ease);
}
.revealed-err .rep-verdict{opacity:1;}
@media print{.rep-verdict{opacity:1!important;}}

/* =========================================================
   PUENTE DATO PERSONAL / LEY 81 / SBP
   ========================================================= */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;flex:1;align-content:center;}
.stat{border-top:3px solid var(--green);padding-top:24px;display:flex;flex-direction:column;gap:12px;}
.stat.bad{border-top-color:var(--red);}
.stat .snum{font-family:var(--font-display);font-weight:700;font-size:78px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.stat.bad .snum{color:var(--red);}
.stat .sname{font-family:var(--font-mono);font-size:19px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600;}
.stat .sdesc{font-size:23px;line-height:1.38;color:var(--ink-dim);}

.law-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;flex:1;align-content:center;}
.law-col h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:36px;margin:0 0 26px;padding-bottom:16px;border-bottom:3px solid var(--green);}
.law-col.sanc h3{border-bottom-color:var(--red);}
.law-item{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.law-item .li-ico{font-family:var(--font-mono);font-size:24px;color:var(--green);font-weight:600;}
.law-item .li-tx{font-size:26px;line-height:1.38;color:var(--ink-dim);}
.law-item .li-tx b{color:var(--ink);}
.law-quote{
  margin-top:28px;border-left:4px solid var(--green);padding:6px 0 6px 28px;
  font-size:27px;line-height:1.42;color:var(--ink);font-style:italic;
}
.law-quote small{display:block;font-style:normal;font-family:var(--font-mono);font-size:17px;color:var(--ink-mute);margin-top:12px;letter-spacing:.08em;}

/* =========================================================
   IA — AMPLIFICADOR
   ========================================================= */
.ia-flow{display:flex;align-items:center;gap:28px;margin:40px 0 44px;}
.ia-box{
  border:1.5px solid var(--line-strong);background:var(--bg);padding:26px 32px;
  font-size:25px;line-height:1.3;text-align:center;box-shadow:var(--shadow-card);flex:1;
}
.ia-box .big{font-family:var(--font-display);font-weight:700;font-size:44px;display:block;line-height:1.05;}
.ia-box.bad{border-color:var(--red);}
.ia-box.bad .big{color:var(--red);}
.ia-arrow{font-size:44px;color:var(--ink-mute);flex:none;}
.ia-mult{font-family:var(--font-display);font-weight:700;font-size:58px;color:var(--red);font-variant-numeric:tabular-nums;}

/* =========================================================
   SIM C — 1-10-100
   ========================================================= */
.costo-wrap{display:grid;grid-template-rows:auto 1fr;gap:34px;flex:1;margin-top:16px;}
.esc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.esc-card{
  border:1.5px solid var(--line-strong);background:var(--bg);padding:26px 28px;cursor:pointer;
  display:flex;flex-direction:column;gap:10px;text-align:left;font-family:inherit;color:inherit;
  transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;
}
.esc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.esc-card.sel{border-color:var(--green);border-width:2.5px;box-shadow:0 0 0 3px rgba(40,148,72,.15);}
.esc-card .et{font-family:var(--font-mono);font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);}
.esc-card .en{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:27px;line-height:1.08;}
.esc-card .ed{font-size:20px;color:var(--ink-dim);line-height:1.3;}
.costo-stage{display:grid;grid-template-columns:1fr 480px;gap:56px;align-items:end;}
.costo-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;align-items:end;height:420px;}
.cbar{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;height:100%;}
.cbar .cfill{
  background:linear-gradient(180deg,var(--green) 0%,var(--green-soft) 100%);
  transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease);
  height:100%;
}
.cbar.on .cfill{transform:scaleY(var(--h,0.12));}
.cbar.c2 .cfill{background:linear-gradient(180deg,var(--gold) 0%,#8a6a10 100%);}
.cbar.c3 .cfill{background:linear-gradient(180deg,var(--red) 0%,#8f1a18 100%);}
@media print{.cbar .cfill{transform:scaleY(var(--h,0.12))!important;}}
.cbar .cnum{font-family:var(--font-display);font-weight:700;font-size:64px;line-height:1;font-variant-numeric:tabular-nums;}
.cbar.c1 .cnum{color:var(--green);}
.cbar.c2 .cnum{color:var(--gold);}
.cbar.c3 .cnum{color:var(--red);}
.cbar .clbl{font-family:var(--font-mono);font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);}
.costo-narr{display:flex;flex-direction:column;gap:22px;padding-bottom:16px;}
.costo-narr .cn-stage{font-family:var(--font-mono);font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);}
.costo-narr .cn-tx{font-size:29px;line-height:1.4;color:var(--ink);min-height:210px;}
.costo-narr .cn-tx b{color:var(--red);}
.costo-band{
  background:var(--ink);color:#fff;padding:22px 32px;font-size:26px;line-height:1.3;
  opacity:0;transition:opacity .5s var(--ease);
}
.costo-band .bx{font-family:var(--font-display);font-weight:700;font-size:40px;color:#ff8d88;}
.costo-band.on{opacity:1;}
@media print{.costo-band{opacity:1!important;}}

/* =========================================================
   CADENA / HÁBITOS
   ========================================================= */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;flex:1;align-content:center;}
.chain-col{border-top:3px solid var(--green);padding-top:28px;}
.chain-col.mid{border-top-color:var(--cyan);}
.chain-col h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:38px;margin:0 0 8px;}
.chain-col .who{font-family:var(--font-mono);font-size:19px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:26px;}
.chain-item{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:16px 0;font-size:27px;line-height:1.36;color:var(--ink-dim);align-items:baseline;}
.chain-item .ci{color:var(--green);font-family:var(--font-mono);font-weight:600;}
.chain-col.mid .chain-item .ci{color:var(--cyan-soft);}
.chain-item b{color:var(--ink);}

.habit-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;flex:1;align-content:center;}
.habit{border:1.5px solid var(--line-strong);background:var(--bg);padding:34px 30px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-card);}
.habit .hn{font-family:var(--font-mono);font-size:20px;color:var(--green);font-weight:600;letter-spacing:.1em;text-transform:uppercase;}
.habit h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:33px;margin:0;line-height:1.05;}
.habit p{font-size:23px;line-height:1.36;color:var(--ink-dim);margin:0;}

/* =========================================================
   COMPORTAMIENTOS (M5)
   ========================================================= */
.beh{justify-content:center;}
.beh-num{font-family:var(--font-mono);font-size:30px;color:var(--green);letter-spacing:.2em;text-transform:uppercase;}
.beh-title{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:108px;line-height:.96;margin:30px 0 0;max-width:16ch;
}
.beh-ex{
  margin-top:52px;border-left:4px solid var(--green);padding:8px 0 8px 32px;
  font-size:31px;line-height:1.45;color:var(--ink-dim);max-width:60ch;
}
.beh-ex b{color:var(--ink);}

.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;flex:1;align-content:center;}
.pick{
  border:1.5px solid var(--line-strong);background:var(--bg);padding:44px 40px;cursor:pointer;
  display:flex;flex-direction:column;gap:18px;text-align:left;font-family:inherit;color:inherit;
  transition:border-color .3s,background .3s,transform .3s var(--ease);box-shadow:var(--shadow-card);
}
.pick:hover{transform:translateY(-5px);}
.pick.lit{border-color:var(--green);background:#f0f9f3;}
.pick .pk{font-family:var(--font-mono);font-size:40px;color:var(--green);font-weight:600;line-height:1;}
.pick h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:34px;margin:0;line-height:1.06;}
.pick .votes{margin-top:auto;font-family:var(--font-display);font-weight:700;font-size:72px;color:var(--green);line-height:1;font-variant-numeric:tabular-nums;min-height:76px;}

/* =========================================================
   CIERRE + QR
   ========================================================= */
.close-num{font-family:var(--font-display);font-weight:700;font-size:280px;line-height:.9;color:var(--green);font-variant-numeric:tabular-nums;}
.close-frase{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:88px;line-height:.98;margin:26px 0 0;max-width:18ch;}
.qr-wrap{display:grid;grid-template-columns:1fr 560px;gap:80px;flex:1;align-items:center;}
.qr-box{background:#fff;border:1.5px solid var(--line-strong);box-shadow:var(--shadow-card);padding:44px;display:flex;flex-direction:column;align-items:center;gap:26px;}
.qr-box img,.qr-box svg{width:420px;height:420px;display:block;}
.qr-box .qurl{font-family:var(--font-mono);font-size:24px;color:var(--ink);letter-spacing:.02em;}

/* statement genérico */
.statement{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:76px;line-height:1.02;margin:0;max-width:22ch;
}
.statement em{font-style:normal;background:linear-gradient(92deg,var(--green) 10%,var(--cyan) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* =========================================================
   NOTAS DE FUENTE (pie de slides con datos)
   ========================================================= */
.src-note{
  margin-top:26px;
  font-family:var(--font-mono);font-size:16px;color:var(--ink-mute);
  letter-spacing:.02em;line-height:1.4;
}

/* =========================================================
   SIM A — panel narrativo
   ========================================================= */
.sim-narr{font-size:25px;line-height:1.42;color:var(--ink-dim);min-height:190px;}
.sim-narr b{color:var(--ink);}

/* =========================================================
   MODELO MENTAL — tarjetas de 3
   ========================================================= */
.mm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;flex:1;align-content:center;}
.mm{border:1.5px solid var(--line-strong);background:var(--bg);padding:38px 34px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-card);}
.mm .mn{font-family:var(--font-mono);font-size:19px;color:var(--green);font-weight:600;letter-spacing:.12em;text-transform:uppercase;}
.mm h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:36px;margin:0;line-height:1.05;}
.mm p{font-size:24px;line-height:1.4;color:var(--ink-dim);margin:0;}
.mm p b{color:var(--ink);}

/* =========================================================
   ICEBERG DEL COSTO
   ========================================================= */
.ice-wrap{display:grid;grid-template-columns:1fr;gap:0;flex:1;margin-top:18px;}
.ice-top{
  background:var(--bg);border:1.5px solid var(--line-strong);border-bottom:none;
  padding:30px 40px;display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;
}
.ice-water{
  display:flex;align-items:center;gap:20px;
  font-family:var(--font-mono);font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-soft);
  padding:10px 40px;background:linear-gradient(90deg,rgba(31,172,192,.12),rgba(31,172,192,.03));
  border:1.5px solid var(--line-strong);border-top:2.5px solid var(--cyan);border-bottom:2.5px solid var(--cyan);
}
.ice-water::after{content:"";flex:1;border-top:1px dashed var(--cyan);opacity:.5;}
.ice-bottom{
  background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-top:none;
  padding:34px 40px;display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;
}
.ice-label{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:32px;line-height:1.05;}
.ice-bottom .ice-label{color:#7ee59a;}
.ice-items{display:flex;flex-wrap:wrap;gap:12px 14px;}
.ice-chip{
  font-size:22px;padding:12px 20px;border:1.5px solid var(--line-strong);
  background:var(--surface);color:var(--ink);line-height:1.25;
}
.ice-bottom .ice-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff;}
.ice-quote{margin-top:24px;font-size:25px;line-height:1.4;color:var(--ink-dim);font-style:italic;}
.ice-quote b{color:var(--ink);font-style:normal;}

/* =========================================================
   SIM D — MODELO ECONÓMICO (EAL)
   ========================================================= */
.eal-wrap{display:grid;grid-template-columns:1fr 470px;gap:56px;flex:1;align-items:end;margin-top:10px;}
.eal-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;align-items:end;height:400px;}
.ebar{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;height:100%;opacity:.22;transition:opacity .4s var(--ease);}
.ebar.on{opacity:1;}
@media print{.ebar{opacity:1!important;}}
.ebar .efill{
  background:linear-gradient(180deg,var(--red) 0%,#8f1a18 100%);
  transform-origin:bottom;transform:scaleY(0);transition:transform .8s var(--ease);height:100%;
}
.ebar.on .efill{transform:scaleY(var(--h,.2));}
@media print{.ebar .efill{transform:scaleY(var(--h,.2))!important;}}
.ebar .enum{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ebar .elbl{font-family:var(--font-mono);font-size:17px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);line-height:1.35;}
.eal-side{display:flex;flex-direction:column;gap:24px;padding-bottom:14px;}
.eal-total{border-top:3px solid var(--red);padding-top:20px;}
.eal-total .tnum{font-family:var(--font-display);font-weight:700;font-size:92px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap;}
.eal-total .tlbl{font-family:var(--font-mono);font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px;}
.eal-narr{font-size:26px;line-height:1.42;color:var(--ink-dim);min-height:170px;}
.eal-narr b{color:var(--ink);}

/* =========================================================
   ESCALERA DE PRODUCTO
   ========================================================= */
.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;flex:1;align-items:end;margin-top:16px;}
.rung{display:flex;flex-direction:column;gap:14px;}
.rung .rbox{
  background:var(--bg);border:1.5px solid var(--line-strong);box-shadow:var(--shadow-card);
  padding:26px 24px;display:flex;flex-direction:column;gap:10px;
}
.rung .rn{font-family:var(--font-mono);font-size:17px;color:var(--green);font-weight:600;letter-spacing:.1em;}
.rung h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:29px;margin:0;line-height:1.04;}
.rung p{font-size:19px;line-height:1.32;color:var(--ink-dim);margin:0;}
.rung .rbar{background:linear-gradient(92deg,var(--green),var(--cyan));}
.rung:nth-child(1) .rbar{height:20px;}
.rung:nth-child(2) .rbar{height:62px;}
.rung:nth-child(3) .rbar{height:110px;}
.rung:nth-child(4) .rbar{height:165px;}
.rung:nth-child(5) .rbar{height:225px;}
.ladder-caption{
  display:flex;justify-content:space-between;margin-top:20px;
  font-family:var(--font-mono);font-size:19px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);
}

/* =========================================================
   MARCOS POR CAPA
   ========================================================= */
.layers{display:flex;flex-direction:column;margin-top:22px;border-top:1px solid var(--line-strong);}
.layer{display:grid;grid-template-columns:300px 1fr auto;gap:36px;align-items:baseline;padding:21px 8px;border-bottom:1px solid var(--line-strong);}
.layer .lname{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:33px;}
.layer .lwhat{font-size:26px;color:var(--ink-dim);line-height:1.35;}
.layer .lwhat b{color:var(--ink);}
.layer .ltag{font-family:var(--font-mono);font-size:18px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);}

/* =========================================================
   KPIs DEL COMITÉ
   ========================================================= */
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px;flex:1;align-content:center;}
.kpi{display:flex;flex-direction:column;gap:10px;padding:24px 0 0;border-top:2.5px solid var(--green);}
.kpi .kname{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:29px;line-height:1.05;}
.kpi .kdef{font-size:22px;color:var(--ink-dim);line-height:1.35;}
.kpi .kred{font-family:var(--font-mono);font-size:17px;color:var(--red);letter-spacing:.04em;margin-top:2px;}

/* =========================================================
   HOJA DE RUTA
   ========================================================= */
.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;flex:1;align-content:center;}
.phase{border-top:3px solid var(--green);padding-top:24px;display:flex;flex-direction:column;gap:12px;position:relative;}
.phase .dotmark{position:absolute;top:-9px;left:0;width:15px;height:15px;border-radius:50%;background:var(--green);}
.phase .ph-months{font-family:var(--font-mono);font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-soft);font-weight:600;}
.phase h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:32px;margin:0;line-height:1.06;}
.phase p{font-size:22px;line-height:1.4;color:var(--ink-dim);margin:0;}
.phase p b{color:var(--ink);}

/* comportamientos compactos (1 slide) */
.beh3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;flex:1;align-content:center;}
.beh3 .b3{border:1.5px solid var(--line-strong);background:var(--bg);padding:38px 34px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-card);}
.beh3 .bn{font-family:var(--font-mono);font-size:19px;color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.beh3 h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:36px;margin:0;line-height:1.05;}
.beh3 p{font-size:23px;line-height:1.4;color:var(--ink-dim);margin:0;}
.beh3 p b{color:var(--ink);}

/* helpers */
.spacer{flex:1;}
.mt-auto{margin-top:auto;}
