/* Sistema visual: neutro y sobrio. Carbón, grises y arena sobre un blanco cálido; Inter en todos los textos.
   Sin colores de partido: el único acento es el carbón. Botones en píldora, tarjetas blancas con borde fino
   y una barra «/» como seña de identidad. */
:root{
  --paper:#F6F5F1; --sheet:#FFFFFF; --ink:#111111; --ink-2:#4B5058; --ink-3:#6B7280;
  --rule:#D1D5DB; --rule-2:#E7E5E0; --sand:#EAE7E1;
  --accent:#111111; --accent-ink:#111111; --accent-soft:#EFEDE8; --on-accent:#FFFFFF;
  --heat:#6B7280;
  --f-display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:12px; --r-lg:18px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0F0F0F; --sheet:#181818; --ink:#F2F1ED; --ink-2:#C2C1BC; --ink-3:#9A9994;
    --rule:#33332F; --rule-2:#262624; --sand:#2A2926;
    --accent:#F2F1ED; --accent-ink:#F2F1ED; --accent-soft:#232321; --on-accent:#111111;
    --heat:#A3A29D;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0F0F0F; --sheet:#181818; --ink:#F2F1ED; --ink-2:#C2C1BC; --ink-3:#9A9994;
  --rule:#33332F; --rule-2:#262624; --sand:#2A2926;
  --accent:#F2F1ED; --accent-ink:#F2F1ED; --accent-soft:#232321; --on-accent:#111111;
  --heat:#A3A29D;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink);text-underline-offset:2px}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.12}
p{margin:0}
.wrap{max-width:820px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap.wide{max-width:1040px}
.mono{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.02em}
.eyebrow{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.muted{color:var(--ink-2)}
.small{font-size:.875rem}

/* Cabecera */
.top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.top .wrap{display:flex;align-items:center;gap:16px;justify-content:space-between;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);background:none;border:0;padding:0;cursor:pointer}
.brand svg{flex:none}
nav.tabs{display:flex;gap:4px;flex-wrap:wrap}
nav.tabs button{background:none;border:1px solid transparent;border-radius:var(--r);padding:6px 10px;cursor:pointer;font-size:.9rem;color:var(--ink-2)}
nav.tabs button[aria-current="page"]{border-color:var(--rule);background:var(--sheet);color:var(--ink);font-weight:600}

main{padding-block:28px 64px}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r);padding:11px 18px;font-weight:600;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font-size:.95rem}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--on-accent)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn.ghost:hover{border-color:var(--ink);background:var(--sheet);color:var(--ink)}
.btn.link{background:none;border:0;padding:8px 4px;color:var(--ink-2);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.btn.link:hover{color:var(--ink);background:none}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.row.between{justify-content:space-between}

/* Portada */
.hero{display:grid;gap:22px;padding-block:8px 28px}
.hero h1{font-size:clamp(2.1rem,6.4vw,3.6rem);font-stretch:112%;font-weight:850;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--accent-ink)}
.hero .lede{font-size:1.15rem;max-width:60ch;color:var(--ink-2)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--rule)}
.facts > div{padding:14px 12px;border-left:1px solid var(--rule-2)}
.facts > div:first-child{border-left:0;padding-left:0}
.facts b{display:block;font-family:var(--f-display);font-size:1.7rem;font-weight:800;font-stretch:110%;font-variant-numeric:tabular-nums}
.facts span{font-size:.82rem;color:var(--ink-2)}
.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin-top:6px}
.rules > div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}
.rules h3{font-size:1rem;font-weight:700;font-family:var(--f-body);margin-bottom:2px}
.rules p{font-size:.92rem;color:var(--ink-2)}
.xmark{width:22px;height:22px;border:1.5px solid var(--ink);display:grid;place-items:center;margin-top:2px}
.xmark svg{display:block}
.notice{border:1px solid var(--rule);background:var(--sheet);padding:14px 16px;border-radius:var(--r);font-size:.9rem;color:var(--ink-2)}
.notice b{color:var(--ink)}

/* Ficha */
.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:clamp(18px,4vw,34px)}
.stagehead{display:grid;gap:8px;margin-bottom:20px}
.stagehead h2{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;font-stretch:108%}
.stagehead p{color:var(--ink-2);max-width:62ch}

/* Comunidad */
.regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.choice{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);cursor:pointer;font-size:.93rem}
.choice:hover{border-color:var(--ink-2)}
.choice[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.box{flex:none;width:20px;height:20px;border:1.5px solid var(--ink-2);display:grid;place-items:center;background:var(--sheet)}
[aria-pressed="true"] > .box{border-color:var(--accent-ink)}
.box svg{opacity:0;transform:scale(.6);transition:transform .15s ease,opacity .15s ease}
[aria-pressed="true"] > .box svg{opacity:1;transform:scale(1)}

/* Prioridades */
.budget{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.budget b{font-family:var(--f-display);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}
.prio{display:grid;gap:0;border-top:1px solid var(--rule)}
.prio .item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule-2)}
.prio h3{font-family:var(--f-body);font-size:1rem;font-weight:650}
.prio p{font-size:.85rem;color:var(--ink-3)}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:34px;height:34px;border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r);cursor:pointer;font-size:1.1rem;line-height:1}
.stepper button:hover:not([disabled]){border-color:var(--ink)}
.stepper button[disabled]{opacity:.35;cursor:not-allowed}
.pips{display:flex;gap:3px;width:88px;justify-content:center}
.pips i{width:13px;height:13px;border:1.5px solid var(--ink-3)}
.pips i.on{background:var(--accent);border-color:var(--accent)}

/* Preguntas */
.progress{height:4px;background:var(--rule-2);border-radius:2px;overflow:hidden;margin-bottom:12px}
.progress div{height:100%;background:var(--accent);transition:width .25s ease}
.qmeta{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.qtext{font-family:var(--f-display);font-size:clamp(1.3rem,3.6vw,1.75rem);font-weight:650;font-stretch:96%;line-height:1.28;text-wrap:pretty}
.qlead{font-family:var(--f-display);font-size:clamp(1.2rem,3.2vw,1.5rem);font-weight:700;font-stretch:100%;line-height:1.3}
.poles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.pole{border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.pole .tag{font-family:var(--f-mono);font-weight:500;font-size:.8rem;border:1.5px solid var(--ink);width:24px;height:24px;display:grid;place-items:center}
.pole p{font-size:1rem;line-height:1.4}
.opts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:22px}
.opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);cursor:pointer;font-size:.84rem;line-height:1.25;text-align:center}
.opt:hover{border-color:var(--ink-2)}
.opt[aria-pressed="true"]{border-color:var(--accent-ink);background:var(--accent-soft)}
.opt .box{width:26px;height:26px}
.opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.qtools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;align-items:center}
.star{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px dashed var(--ink-3);border-radius:var(--r);background:transparent;cursor:pointer;font-size:.88rem;color:var(--ink-2)}
.star[aria-pressed="true"]{border-style:solid;border-color:var(--accent-ink);color:var(--accent-ink);background:var(--accent-soft);font-weight:600}
.star .box{width:16px;height:16px}
details.args{margin-top:18px;border-top:1px solid var(--rule-2);padding-top:12px}
details.args summary{cursor:pointer;font-size:.9rem;color:var(--ink-2);font-weight:600}
.argsgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.argsgrid h4{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:4px}
.argsgrid p{font-size:.92rem;color:var(--ink-2)}
.qnav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
.keyhint{font-size:.78rem;color:var(--ink-3);margin-top:10px;text-align:center}

/* Resultados */
.verdict{display:grid;gap:14px;padding-bottom:26px;border-bottom:2px solid var(--ink)}
.verdict h1{font-size:clamp(2rem,6vw,3.3rem);font-weight:850;font-stretch:110%;letter-spacing:-.01em}
.verdict .pct{font-family:var(--f-display);font-weight:800;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.verdict .summary{font-size:1.08rem;max-width:66ch;color:var(--ink-2)}
.verdict .summary b{color:var(--ink)}
.section{padding-block:30px;border-bottom:1px solid var(--rule)}
.section > h2{font-size:1.45rem;font-weight:800;font-stretch:106%;margin-bottom:6px}
.section > .sub{color:var(--ink-2);max-width:66ch;margin-bottom:18px;font-size:.95rem}
.rank{display:grid;gap:6px}
.rank .r{display:grid;grid-template-columns:2.2em minmax(90px,170px) minmax(0,1fr) 3.6em;gap:10px;align-items:center;font-size:.93rem}
.rank .pos{font-family:var(--f-mono);color:var(--ink-3);font-size:.8rem}
.rank .nm{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .bar{height:14px;background:var(--rule-2);position:relative;border-radius:2px;overflow:hidden}
.rank .bar i{position:absolute;inset:0 auto 0 0;background:var(--ink-2)}
.rank .r.first .bar i{background:var(--accent)}
.rank .val{font-family:var(--f-mono);text-align:right;font-variant-numeric:tabular-nums}
.rank .flag{grid-column:2 / -1;font-size:.78rem;color:var(--ink-3);margin-top:-4px}
.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.list{display:grid;gap:0;border-top:1px solid var(--rule-2)}
.li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--rule-2)}
.li .sym{font-family:var(--f-mono);font-weight:500;font-size:1.05rem;width:26px;height:26px;border:1.5px solid var(--ink);display:grid;place-items:center}
.li.neg .sym{border-style:dashed;color:var(--ink-2)}
.li h3{font-family:var(--f-body);font-size:1rem;font-weight:650;margin-bottom:4px}
.li .pair{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-2)}
.li .pair b{color:var(--ink);font-weight:600}
.li .note{font-size:.86rem;color:var(--ink-2);margin-top:6px;padding-left:10px;border-left:2px solid var(--rule)}
.prioCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pc{border:1px solid var(--rule);border-radius:var(--r);padding:14px;background:var(--sheet);display:grid;gap:6px;align-content:start}
.pc .eyebrow{color:var(--accent-ink)}
.pc h3{font-size:1.05rem;font-weight:750}
.pc p{font-size:.88rem;color:var(--ink-2)}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet)}
table.heat{border-collapse:collapse;width:100%;font-size:.82rem;font-variant-numeric:tabular-nums}
table.heat th,table.heat td{padding:8px 8px;text-align:center;border-bottom:1px solid var(--rule-2);white-space:nowrap}
table.heat th{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}
table.heat th.pt,table.heat td.pt{text-align:left;font-family:var(--f-body);font-weight:650;color:var(--ink);text-transform:none;font-size:.85rem;position:sticky;left:0;background:var(--sheet);z-index:1}
table.heat th.prio{color:var(--accent-ink)}
table.heat td.na{color:var(--ink-3)}
table.full td.q{white-space:normal;text-align:left;min-width:220px;max-width:320px;font-size:.82rem;position:sticky;left:0;background:var(--sheet);z-index:1}
table.full td.you{font-weight:700}
.axes{display:grid;gap:22px}
.axis h3{font-family:var(--f-body);font-size:.98rem;font-weight:650;margin-bottom:4px}
.axis svg{width:100%;height:auto;display:block;max-width:100%}
.axis .ends{display:flex;justify-content:space-between;font-size:.8rem;color:var(--ink-3);font-family:var(--f-mono)}
.blindgrid{display:grid;gap:0;border-top:1px solid var(--rule-2)}
.bl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:16px;padding:14px 0;border-bottom:1px solid var(--rule-2);align-items:start}
.bl p{font-size:.93rem}
.bl .you{font-family:var(--f-mono);font-size:.76rem;color:var(--ink-3);margin-top:4px;letter-spacing:.03em;text-transform:uppercase}
.bl .orig{font-size:.86rem;color:var(--ink-2)}
.bl .orig b{color:var(--ink);display:block;font-size:.92rem}
.callout{background:var(--accent-soft);border-radius:var(--r);padding:16px 18px;font-size:.95rem}
.callout b{color:var(--accent-ink)}
.legend{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:.78rem;color:var(--ink-3);margin-top:8px;font-family:var(--f-mono)}

/* Partidos */
.plist{display:grid;gap:14px}
.pcard{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:clamp(16px,3vw,26px);display:grid;gap:14px}
.pcard header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.sig{font-family:var(--f-display);font-weight:850;font-stretch:120%;font-size:1.05rem;border:2px solid var(--ink);padding:6px 8px;min-width:72px;text-align:center;letter-spacing:.03em}
.pcard h2{font-size:1.3rem;font-weight:800}
.pcard .ideo{color:var(--ink-2);font-size:.93rem;margin-top:2px}
dl.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;margin:0}
dl.kv dt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
dl.kv dd{margin:2px 0 0;font-size:.9rem}
.pcard ul{margin:0;padding-left:1.1em;display:grid;gap:4px;font-size:.93rem}
.pcard details summary{cursor:pointer;font-weight:600;font-size:.92rem}
.ppos{display:grid;gap:16px;margin-top:12px}
.ppos h4{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:4px}
.ppos .pr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,170px);gap:12px;padding:6px 0;border-bottom:1px solid var(--rule-2);font-size:.88rem}
.ppos .pr .st{font-weight:600;text-align:right}
.ppos .pr .nt{grid-column:1 / -1;color:var(--ink-2);font-size:.84rem;margin-top:-2px}
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{border:1px solid var(--rule);background:var(--sheet);border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer}
.chip[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}

/* Método */
.prose{display:grid;gap:14px;max-width:68ch}
.prose h2{font-size:1.4rem;font-weight:800;margin-top:18px}
.prose ol,.prose ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.prose code{font-family:var(--f-mono);font-size:.85em;background:var(--rule-2);padding:1px 5px;border-radius:3px}

footer{border-top:1px solid var(--rule);padding-block:20px 32px;font-size:.82rem;color:var(--ink-3)}

/* Recorrido y portada */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:st}
.steps li{counter-increment:st;border-top:2px solid var(--ink);padding-top:10px;display:grid;gap:4px;align-content:start}
.steps li::before{content:counter(st);font-family:var(--f-display);font-weight:850;font-stretch:115%;font-size:1.7rem;line-height:1;color:var(--accent-ink)}
.steps b{font-size:1rem}
.steps span{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.steps p{font-size:.9rem;color:var(--ink-2)}
.gets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.gets li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:.95rem}
.gets li::before{content:"";width:9px;height:9px;background:var(--accent);margin-top:8px}

/* Preguntas: ayuda, contexto, pausas */
.progress{position:relative}
.progress .tick{position:absolute;top:0;bottom:0;width:3px;background:var(--paper)}
.help{border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--r);padding:16px 18px;margin-bottom:14px;display:grid;gap:10px}
.help h3{font-size:1.05rem;font-weight:750}
.help ul{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:.93rem}
.help .btn{justify-self:start}
.hint{font-size:.88rem;color:var(--ink-3);margin-top:6px}
.ctx{margin-top:16px;background:var(--paper);border-radius:var(--r);padding:10px 14px;display:grid;gap:2px}
.ctx p{font-size:.9rem;color:var(--ink-2)}
.qsheet .qtools{margin-top:16px}
.qsheet .opts{margin-top:12px}
.qsheet{animation:rise .22s ease-out}
@keyframes rise{from{transform:translateY(6px);opacity:.7}to{transform:none;opacity:1}}
@media (hover:none){.keyhint{display:none}}
.pause{display:grid;gap:14px;max-width:640px;margin:0 auto}
.pause h2{font-size:clamp(1.6rem,4.5vw,2.2rem);font-weight:850;font-stretch:110%}
.fact{border-left:3px solid var(--accent);padding:4px 0 4px 14px;display:grid;gap:4px}
.fact p:last-child{font-size:1.02rem}

/* Repaso */
.tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rule);margin-bottom:16px}
.tally > div{padding:12px;border-left:1px solid var(--rule-2)}
.tally > div:first-child{border-left:0;padding-left:0}
.tally b{display:block;font-family:var(--f-display);font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}
.tally span{font-size:.82rem;color:var(--ink-2)}
.review{display:grid;border-top:1px solid var(--rule)}
.rv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid var(--rule-2)}
.rvq{display:grid;grid-template-columns:2.2em minmax(0,1fr) minmax(0,200px);gap:10px;align-items:center;text-align:left;background:none;border:0;padding:10px 4px;cursor:pointer;font-size:.92rem;border-radius:var(--r)}
.rvq:hover{background:var(--sheet)}
.rvq .mono{color:var(--ink-3)}
.rva{font-weight:600;font-size:.86rem}
.rva.na{color:var(--ink-3);font-weight:400;font-style:italic}
.star.mini{padding:5px 8px;font-size:.78rem;gap:6px}
.star.mini .box{width:14px;height:14px}

/* Resultados */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pod{border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;background:var(--sheet);display:grid;gap:2px;align-content:start}
.pod.first{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pod b{font-size:.95rem;min-width:0}
.pod .pp{font-family:var(--f-display);font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums}
details.howto summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.copybox{width:100%;min-height:7em;font-family:var(--f-mono);font-size:.85rem;background:var(--sheet);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r);padding:10px}
.jump{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:18px}
.jump .eyebrow{margin-right:4px}
.section{scroll-margin-top:84px}
@media (max-width:720px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gets,.podium{grid-template-columns:1fr}
  .pod{grid-template-columns:2.4em minmax(0,1fr) auto;align-items:baseline;gap:8px}
  .rvq{grid-template-columns:2em minmax(0,1fr)}
  .rva{grid-column:2}
}

@media (max-width:720px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts div:nth-child(3){border-left:0;padding-left:0}
  .facts div:nth-child(n+3){border-top:1px solid var(--rule-2)}
  .rules,.twocol,.argsgrid,.poles{grid-template-columns:1fr}
  .prioCards{grid-template-columns:1fr}
  .opts{grid-template-columns:1fr;gap:6px}
  .opts.three{grid-template-columns:1fr}
  .opt{flex-direction:row;justify-content:flex-start;padding:12px 14px;font-size:.95rem;text-align:left}
  .opt .box{width:22px;height:22px}
  dl.kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl{grid-template-columns:1fr;gap:6px}
  .rank .r{grid-template-columns:1.8em minmax(70px,110px) minmax(0,1fr) 3.2em;gap:8px}
  .ppos .pr{grid-template-columns:1fr}
  .ppos .pr .st{text-align:left}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ============ Navegación entre páginas ============ */
nav.tabs a{border:1px solid transparent;border-radius:var(--r);padding:6px 10px;font-size:.9rem;color:var(--ink-2);text-decoration:none}
nav.tabs a[aria-current="page"]{border-color:var(--rule);background:var(--sheet);color:var(--ink);font-weight:600}
nav.tabs a:hover{color:var(--ink)}
a.brand{color:var(--ink);text-decoration:none}

/* ============ Envío anónimo ============ */
.donate{border:1px solid var(--rule);background:var(--sheet);border-radius:var(--r);padding:clamp(16px,3vw,24px);display:grid;gap:14px}
.donate h2{font-size:1.25rem;font-weight:800}
.donate .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.donate label{display:grid;gap:4px;font-size:.85rem;color:var(--ink-2)}
.donate select{font:inherit;font-size:.92rem;padding:9px 10px;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.donate .consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;color:var(--ink)}
.donate .consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}
.receipt{font-family:var(--f-mono);font-size:.82rem;word-break:break-all;background:var(--paper);border-radius:var(--r);padding:10px 12px}
.status-err{color:var(--accent-ink);font-weight:600}

/* ============ Dashboard ============ */
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:1px;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--rule);margin-top:6px}
.kpis > div,.wstats > div{padding:12px;border-left:1px solid var(--rule-2)}
.kpis > div:first-child,.wstats > div:first-child{border-left:0;padding-left:0}
.kpis b,.wstats b{display:block;font-family:var(--f-display);font-size:1.9rem;font-weight:800;font-stretch:108%;font-variant-numeric:tabular-nums}
.wstats b{font-size:1.35rem}
.kpis span,.wstats span{font-size:.82rem;color:var(--ink-2)}
.wstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--rule);margin-top:18px}
.seg{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.seg button{background:var(--sheet);border:0;padding:8px 14px;cursor:pointer;font-size:.88rem;color:var(--ink-2)}
.seg button + button{border-left:1px solid var(--rule)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper);font-weight:600}
.seg button[disabled]{opacity:.45;cursor:not-allowed}
.hbars{display:grid;gap:4px}
.hb{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) 7em;gap:12px;align-items:center;padding:5px 0;font-size:.9rem}
.hb-l{min-width:0}
.hb-l small{display:block;color:var(--ink-3);font-size:.78rem}
.hb-t{position:relative;height:14px;background:var(--rule-2);border-radius:2px}
.hb-t i{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:0 4px 4px 0}
.hb-raw{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);margin-left:-1px}
.hb-target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);margin-left:-1px}
.hb-v{font-family:var(--f-mono);font-size:.84rem;text-align:right;font-variant-numeric:tabular-nums}
.hb-v small{color:var(--ink-3)}
.legend i{display:inline-block;vertical-align:-1px;margin-right:6px}
.lg-bar{width:14px;height:10px;background:var(--accent);border-radius:2px}
.lg-raw,.lg-target{width:2px;height:12px;background:var(--ink)}
.db-chart{border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);padding:8px}
.db-chart svg{width:100%;height:auto;display:block}
.db-chart .grid{stroke:var(--rule-2);stroke-width:1}
.db-chart .ax{fill:var(--ink-3);font-family:var(--f-mono);font-size:10px}
.db-chart .bar{fill:var(--accent)}
.db-chart g:hover .bar{fill:var(--accent-ink)}
.db-tip{position:fixed;z-index:20;pointer-events:none;background:var(--ink);color:var(--paper);font-size:.8rem;line-height:1.4;padding:8px 10px;border-radius:var(--r);max-width:280px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:8px 0;border-bottom:1px solid var(--rule-2);font-size:.88rem}
.split-bar{display:flex;height:12px;gap:2px}
.split-bar i{display:block;height:100%}
.split-bar .neg,.split-legend .neg{background:var(--ink-2)}
.split-bar .mid,.split-legend .mid{background:var(--rule)}
.split-bar .pos,.split-legend .pos{background:var(--accent)}
.split-bar i:first-child{border-radius:2px 0 0 2px}
.split-bar i:last-child{border-radius:0 2px 2px 0}
.split-v{font-family:var(--f-mono);font-size:.78rem;color:var(--ink-3)}
.split-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-2);margin-bottom:12px}
.split-legend i{display:inline-block;width:12px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:2px}
.dimgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.rcform{display:grid;gap:8px;max-width:720px}
.rcform input{flex:1;min-width:0;font-family:var(--f-mono);font-size:.85rem;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);color:var(--ink)}
.rcform .row{flex-wrap:nowrap}
dl.ficha{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:720px){
  .kpis,.wstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis > div:nth-child(3),.wstats > div:nth-child(3){border-left:0;padding-left:0}
  .kpis > div:nth-child(n+3),.wstats > div:nth-child(n+3){border-top:1px solid var(--rule-2)}
  .hb{grid-template-columns:minmax(0,1fr) 5.5em;gap:4px 10px}
  .hb-l{grid-column:1 / -1}
  .dimgrid,dl.ficha{grid-template-columns:1fr}
  .donate .fields{grid-template-columns:1fr}
  .rcform .row{flex-wrap:wrap}
}

.demo-banner{background:var(--ink);color:var(--paper);font-size:.85rem;text-align:center;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))}
.demo-banner b{color:var(--paper)}


/* ============ Tokens de bandas ============ */
:root{--band:#EFEDE8;--strong-bg:#111111;--strong-fg:#F2F1ED;--strong-mute:#A3A29D;--strong-accent:#FFFFFF;--g4:#9CA3AF;--device:#111111}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--band:#151514;--strong-bg:#1B1B1A;--strong-fg:#F2F1ED;--strong-mute:#A3A29D;--strong-accent:#FFFFFF;--g4:#6E6D69;--device:#3A3A37}}
:root[data-theme="dark"]{--band:#151514;--strong-bg:#1B1B1A;--strong-fg:#F2F1ED;--strong-mute:#A3A29D;--strong-accent:#FFFFFF;--g4:#6E6D69;--device:#3A3A37}

/* ============ Cabecera común ============ */
.top{background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}
.top .top-in{display:flex;align-items:center;gap:10px 18px;padding-block:10px;flex-wrap:wrap;justify-content:flex-start}
.top-in .brand{margin-right:auto}
.brand .logo{flex:none;color:var(--ink)}
.gh{display:inline-flex;align-items:stretch;border:1px solid var(--rule);border-radius:6px;overflow:hidden;font-size:.8rem;font-weight:600;color:var(--ink);text-decoration:none;background:var(--sheet);line-height:1}
.gh > svg{margin-left:10px;align-self:center}
.gh-l{display:inline-flex;align-items:center;gap:5px;padding:7px 10px 7px 7px}
.gh-l svg{color:var(--ink-3);transition:color .15s ease}
.gh-n{display:inline-flex;align-items:center;padding:7px 10px;border-left:1px solid var(--rule);background:var(--paper);font-family:var(--f-mono);font-weight:500;font-variant-numeric:tabular-nums}
.gh:hover{border-color:var(--ink-2)}
.gh:hover .gh-l svg{color:var(--accent)}
.subnav{border-bottom:1px solid var(--rule);background:var(--paper)}
.subnav .wrap{padding-block:6px}
.subnav nav.tabs button{font-size:.85rem;padding:5px 10px}

/* ============ Pie común ============ */
.site-foot{border-top:1px solid var(--rule);background:var(--band);padding-block:40px 48px;margin-top:0;font-size:.88rem;color:var(--ink-2)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:28px}
.foot-grid > div{display:grid;gap:7px;align-content:start}
.foot-grid h4{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:4px}
.foot-grid a{color:var(--ink-2);text-decoration:none}
.foot-grid a:hover{color:var(--ink);text-decoration:underline}
.foot-grid span{color:var(--ink-3)}
.foot-brand p{max-width:36ch;margin-top:10px}
main + .site-foot{margin-top:32px}

/* ============ Página de inicio ============ */
.home{padding:0}
.band{padding-block:clamp(44px,7vw,84px)}
.band.alt{background:var(--band);border-block:1px solid var(--rule-2)}
.band.strong{background:var(--strong-bg);color:var(--strong-fg)}
.band h2{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:850;font-stretch:108%;margin-bottom:10px;letter-spacing:-.005em}
.band-sub{color:var(--ink-2);max-width:62ch;font-size:1.05rem;margin-bottom:30px}
.band.strong .band-sub{color:var(--strong-mute)}
.band.strong .eyebrow{color:var(--strong-accent)}
.band.strong a{color:var(--strong-accent)}
.hero-band{padding-block:clamp(36px,6vw,76px) clamp(36px,6vw,64px);border-bottom:1px solid var(--rule)}
.home-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.home-hero-text{display:grid;gap:20px}
.home-hero h1{font-size:clamp(2.5rem,6.6vw,4.4rem);font-stretch:112%;font-weight:850;letter-spacing:-.015em;line-height:1.02}
.home-hero h1 em{font-style:normal;color:var(--accent-ink)}
.home-hero .lede{font-size:1.15rem;color:var(--ink-2);max-width:56ch}
.ballot{position:relative;margin:0;background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:24px 22px 20px;display:grid;gap:14px;transform:rotate(-1.4deg);box-shadow:0 1px 0 var(--rule),0 18px 40px -24px rgba(0,0,0,.45)}
.ballot-head{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px dashed var(--rule);padding-bottom:10px}
.ballot-q{font-family:var(--f-display);font-weight:700;font-size:1.22rem;line-height:1.3}
.ballot-opts{display:grid;gap:8px}
.ballot-opts div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;font-size:.93rem;background:var(--paper)}
.ballot-opts .tag{font-family:var(--f-mono);font-size:.78rem;border:1.5px solid var(--ink);width:22px;height:22px;display:grid;place-items:center}
.ballot figcaption{font-size:.82rem;color:var(--ink-3)}
.stamp{position:absolute;right:-22px;top:-34px;width:118px;height:118px;border:3px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent-ink);font-family:var(--f-display);font-stretch:120%;font-weight:850;font-size:.68rem;letter-spacing:.07em;text-align:center;line-height:1.35;transform:rotate(-14deg);background:color-mix(in srgb, var(--sheet) 82%, transparent);animation:stamp .55s cubic-bezier(.2,1.5,.4,1) both}
.stamp::before{content:"";position:absolute;inset:6px;border:1.5px solid var(--accent);border-radius:50%}
@keyframes stamp{from{transform:rotate(-14deg) scale(1.5);opacity:.25}to{transform:rotate(-14deg) scale(1);opacity:1}}
.factsrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(32px,5vw,56px);border-top:1px solid var(--rule)}
.factsrow > div{padding:16px 16px 0 0;display:grid;gap:2px}
.factsrow b{font-family:var(--f-display);font-weight:850;font-stretch:112%;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;font-variant-numeric:tabular-nums}
.factsrow span{font-size:.88rem;color:var(--ink-2)}
.home-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-cols > div{display:grid;gap:8px;align-content:start;border-top:2px solid var(--ink);padding-top:14px}
.home-cols h3{font-size:1.15rem;font-weight:780}
.home-cols p{color:var(--ink-2);font-size:.96rem}
.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pillar{background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:clamp(18px,3vw,28px);display:grid;gap:12px;align-content:start}
.pillar-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.pillar .ico{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.pillar .eyebrow{color:var(--accent-ink)}
.pillar h3{font-size:1.22rem;font-weight:800;font-stretch:104%}
.pillar ul{margin:0;padding-left:1.1em;display:grid;gap:8px;font-size:.94rem;color:var(--ink-2)}
.pillar ul b{color:var(--ink)}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:8px 0 0;padding:0;list-style:none}
.flow li{position:relative;padding:22px 20px 0 0;border-top:2px solid var(--strong-accent);display:grid;gap:6px;align-content:start}
.flow li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--strong-accent)}
.flow .mono{color:var(--strong-accent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.flow h3{font-size:1.05rem;font-weight:750;color:var(--strong-fg)}
.flow p{font-size:.9rem;color:var(--strong-mute)}
.strong-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.band.strong .btn{background:var(--strong-fg);color:var(--strong-bg);border-color:var(--strong-fg)}
.band.strong .btn.ghost{background:transparent;color:var(--strong-fg);border-color:color-mix(in srgb, var(--strong-fg) 35%, transparent)}
.band.strong .btn:hover{background:var(--strong-accent);border-color:var(--strong-accent);color:var(--strong-bg)}
.timeline{list-style:none;margin:0;padding:0;display:grid;border-left:2px solid var(--ink);margin-left:6px}
.timeline li{position:relative;padding:4px 0 18px 22px;display:grid;gap:2px}
.timeline li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;background:var(--paper);border:2px solid var(--accent)}
.timeline .mono{color:var(--accent-ink);font-weight:500}
.timeline p{color:var(--ink-2);font-size:.96rem;max-width:62ch}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.faq{display:grid;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule-2);padding:15px 0}
.faq summary{cursor:pointer;font-weight:650;list-style-position:outside}
.faq p{color:var(--ink-2);font-size:.95rem;margin-top:8px;max-width:68ch}
.cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:clamp(22px,4vw,36px)}
.cta-card h2{margin:0}
.cta-card p{color:var(--ink-2);margin-top:6px}

@media (max-width:860px){
  .home-hero,.two{grid-template-columns:1fr}
  .ballot{transform:none;margin-top:26px}
  .stamp{right:-6px;top:-40px;width:104px;height:104px}
  .home-cols,.pillars{grid-template-columns:1fr}
  .factsrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:1fr}
  .flow li{border-top:0;border-left:2px solid var(--strong-accent);padding:0 0 20px 22px}
  .flow li::before{left:-7px;top:3px}
  .cta-card{grid-template-columns:1fr}
}
@media (max-width:720px){
  .main-nav{order:3;width:100%}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1 / -1}
}

.hero-band{overflow-x:clip}
.band[id]{scroll-margin-top:72px}
@media (max-width:480px){
  .gh-l{display:none}
  .gh > svg{margin:0 0 0 9px}
  .gh-n{border-left:0;background:transparent;padding-left:7px}
  .gh:not(:has(.gh-n:not([hidden]))) > svg{margin:0 9px}
}

/* ============ ¿Por quién se hace? ============ */
.pull{margin:24px 0 0;padding-left:18px;border-left:3px solid var(--strong-accent);font-family:var(--f-display);font-weight:750;font-stretch:104%;font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.25;color:var(--strong-fg);text-wrap:balance}
.manifesto{display:grid;gap:14px;font-size:1.04rem;color:var(--strong-mute);max-width:60ch}
.manifesto p:first-child{color:var(--strong-fg);font-size:1.2rem;line-height:1.45}
.manifesto-end{color:var(--strong-accent);font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:1.3rem}

/* =====================================================================
   SISTEMA VISUAL v2 · neutro, Inter, píldoras y tarjetas blancas
   ===================================================================== */
:root{--f-code:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
body{font-family:var(--f-body);font-feature-settings:"cv11","ss01";letter-spacing:-.006em}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;letter-spacing:-.025em}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.eyebrow{font-family:var(--f-body);font-size:.7rem;font-weight:500;letter-spacing:.16em;color:var(--ink-3)}
.mono{font-family:var(--f-body);font-variant-numeric:tabular-nums;letter-spacing:.04em}
td.mono,.receipt,.rcform input,code{font-family:var(--f-code)}
.muted{color:var(--ink-2)}

/* Logotipo «Sin / Etiquetas» */
.wm{display:inline-flex;align-items:flex-start;color:var(--ink)}
.brand .wm .wm-t{display:block;font-family:var(--f-display);font-weight:600;font-size:1.02rem;line-height:.98;letter-spacing:-.04em;color:inherit}
.wm-slash{width:13px;height:30px;margin:-5px 0 0 3px;flex:none}
.wm.xl .wm-t{display:block;font-weight:600;font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:.95;letter-spacing:-.045em}
.wm.xl .wm-slash{width:40px;height:96px;margin:-12px 0 0 8px}

/* Cabecera */
.top{border-bottom:1px solid var(--rule-2)}
.top .top-in{gap:10px 24px;padding-block:12px}
.top-in .brand{margin-right:0}
.main-nav{display:flex;gap:22px;margin-left:auto}
.main-nav a{font-size:.9rem;color:var(--ink-2);text-decoration:none;padding:6px 0;border:0;border-bottom:1.5px solid transparent;border-radius:0}
.main-nav a:hover{color:var(--ink)}
.main-nav a[aria-current="page"]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink);background:none}
.top-actions{display:flex;align-items:center;gap:10px}
.gh{border-radius:999px;border-color:var(--rule);background:var(--sheet)}
.gh-n{background:transparent;font-family:var(--f-body)}
.menu-btn{display:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);place-items:center;cursor:pointer}
.subnav{border-bottom:1px solid var(--rule-2)}
.subnav nav.tabs button{border-radius:999px;font-size:.85rem;padding:6px 14px;color:var(--ink-2)}
.subnav nav.tabs button[aria-current="page"]{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}

/* Botones */
.btn{border-radius:999px;padding:12px 22px;font-weight:600;font-size:.94rem;background:var(--ink);border-color:var(--ink);color:var(--on-accent);transition:transform .15s ease,background .15s ease}
.btn:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--on-accent);transform:translateY(-1px)}
a.btn:not(.link):not(.ghost)::after{content:"→";font-weight:500}
.btn.btn-sm{padding:8px 16px;font-size:.85rem}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--sheet);border-color:var(--ink);color:var(--ink)}
.btn.link{color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rule)}
.btn.link:hover{color:var(--ink);transform:none}
.btn.inv{background:var(--strong-fg);border-color:var(--strong-fg);color:var(--strong-bg)}
.btn.inv:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111111}
.btn.link.inv{background:none;color:var(--strong-fg);text-decoration-color:var(--strong-mute)}
.badge{display:inline-flex;justify-self:start;align-items:center;border:1px solid var(--rule);border-radius:999px;padding:7px 14px;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);background:var(--sheet);margin:0}

/* Tarjetas */
.sheet,.pillar,.pc,.pcard,.donate,.pod,.scroll,.db-chart,.notice,.help{border-radius:var(--r-lg);border-color:var(--rule-2);background:var(--sheet)}
.sheet,.pillar,.pcard,.donate{box-shadow:0 1px 2px rgba(17,17,17,.04)}
.notice{color:var(--ink-2)}
.callout{background:var(--accent-soft);border-radius:var(--r-lg);color:var(--ink-2)}
.callout b{color:var(--ink)}
.chip{border-radius:999px;border-color:var(--rule);background:var(--sheet);font-size:.82rem}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}

/* Selección: opciones tipo radio y casillas */
.box{border-radius:50%;width:18px;height:18px;border:1.5px solid var(--ink-3);background:var(--sheet);color:var(--on-accent)}
.opt .box svg,.choice .box svg{display:none}
[aria-pressed="true"] > .box{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 3.5px var(--sheet)}
.star .box{border-radius:5px;width:16px;height:16px}
.star[aria-pressed="true"] > .box{box-shadow:none}
.choice{border-radius:14px;border-color:var(--rule-2);background:var(--sheet);padding:12px 14px}
.choice:hover{border-color:var(--ink-3)}
.choice[aria-pressed="true"]{border-color:var(--ink);box-shadow:none;background:var(--accent-soft)}

/* Inicio */
.hero-band{border-bottom:0}
.home-hero h1{font-weight:600;font-size:clamp(2.6rem,6.4vw,4.6rem);letter-spacing:-.045em;line-height:1}
.home-hero h1 em{color:var(--ink-3)}
.factsrow{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:1px solid var(--rule-2);padding-top:22px}
.factsrow > div{padding:0;display:grid;gap:4px;align-content:start}
.factsrow svg{color:var(--ink);margin-bottom:6px}
.factsrow b{font-family:var(--f-body);font-weight:600;font-size:.98rem;letter-spacing:-.01em;line-height:1.3}
.factsrow span{font-size:.84rem;color:var(--ink-3)}
.band h2{font-weight:600;letter-spacing:-.035em}
.band.alt{border-color:var(--rule-2)}
.band.strong{background-color:var(--strong-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' fill='none' stroke='white' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M-40 520C300 380 720 640 1240 250'/%3E%3Cpath d='M-40 565C320 430 740 690 1240 315'/%3E%3Cpath d='M520 -40C700 170 960 250 1240 190'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:cover;background-position:center}
.home-cols > div{border-top:1px solid var(--rule)}
.home-cols h3{font-weight:600}
.steps{gap:16px}
.steps li{border-top:0;padding-top:0;position:relative;gap:6px}
.steps li::before{content:counter(st);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-body);font-size:1rem;font-weight:600;background:var(--ink);color:var(--on-accent);margin-bottom:10px;position:relative;z-index:1}
.steps li:nth-child(2)::before{background:var(--ink-2);color:var(--sheet)}
.steps li:nth-child(3)::before{background:var(--ink-3);color:var(--sheet)}
.steps li:nth-child(4)::before{background:var(--rule);color:var(--ink)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:22px;left:52px;right:-8px;height:1px;background:var(--rule)}
.steps span{font-family:var(--f-body);font-size:.7rem;letter-spacing:.12em;font-weight:500}
.steps b{font-weight:600}
.pillar{gap:14px}
.pillar .ico{background:transparent;border:1px solid var(--rule);color:var(--ink);border-radius:12px}
.pillar .eyebrow{color:var(--ink-3)}
.pillar h3{font-weight:600;letter-spacing:-.02em}
.flow li::before{border-radius:50%}
.timeline{border-left:1px solid var(--rule)}
.timeline li::before{border-radius:50%;background:var(--ink);border-color:var(--ink);width:11px;height:11px;left:-6px}
.timeline .mono{color:var(--ink);font-weight:600}
.faq summary{font-weight:600}
.pull{border-left-color:var(--ink);color:var(--ink);font-weight:600;letter-spacing:-.025em}
.band:not(.strong) .manifesto{color:var(--ink-2)}
.band:not(.strong) .manifesto p:first-child{color:var(--ink)}
.manifesto-end{color:var(--ink);font-family:var(--f-body);font-weight:600;letter-spacing:-.02em}
.cta-dark{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,6vw,72px);align-items:center;border-radius:26px;padding:clamp(28px,5vw,60px);background-color:var(--strong-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' fill='none' stroke='white' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M-40 520C300 380 720 640 1240 250'/%3E%3Cpath d='M-40 565C320 430 740 690 1240 315'/%3E%3Cpath d='M520 -40C700 170 960 250 1240 190'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:cover;color:var(--strong-fg)}
.cta-dark .wm{color:var(--strong-fg)}
.cta-dark-text{display:grid;gap:12px;justify-items:start}
.cta-dark h2{color:var(--strong-fg);font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:600;letter-spacing:-.03em}
.cta-dark p{color:var(--strong-mute)}

/* Móvil de ejemplo */
.phone{margin:0;justify-self:center;display:grid;gap:14px;justify-items:center}
.phone-screen{width:min(320px,100%);background:var(--sheet);border:10px solid var(--device);border-radius:46px;padding:12px 18px 20px;display:grid;gap:0;box-shadow:0 24px 50px -28px rgba(0,0,0,.45)}
.phone-status{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:600;padding:2px 6px 0}
.phone-notch{width:84px;height:22px;border-radius:999px;background:var(--device)}
.phone-sys{display:flex;gap:3px;align-items:flex-end}
.phone-sys i{display:block;width:3px;background:var(--ink);border-radius:1px}
.phone-sys i:nth-child(1){height:5px}.phone-sys i:nth-child(2){height:7px}.phone-sys i:nth-child(3){height:9px}
.phone-bar{display:flex;justify-content:space-between;align-items:center;margin:16px 0 14px;color:var(--ink)}
.phone-bar .wm .wm-t{display:block;font-weight:600;font-size:.86rem;line-height:.98;letter-spacing:-.04em}
.phone-bar .wm-slash{width:11px;height:25px;margin:-4px 0 0 2px}
.phone-progress{height:3px;border-radius:999px;background:var(--rule-2)}
.phone-progress i{display:block;height:100%;width:22%;border-radius:999px;background:var(--ink)}
.phone-meta{font-size:.72rem;color:var(--ink-3);margin-top:14px}
.phone-q{font-weight:600;font-size:1.02rem;line-height:1.3;letter-spacing:-.015em;margin:6px 0 12px}
.phone-poles{display:grid;gap:6px}
.phone-poles div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--rule-2);border-radius:12px;padding:8px 10px;font-size:.74rem;line-height:1.35;background:var(--paper)}
.phone-poles .tag{width:18px;height:18px;border:1.2px solid var(--ink);border-radius:5px;display:grid;place-items:center;font-size:.66rem;font-weight:600}
.phone-opts{display:grid;gap:6px;margin:12px 0}
.phone-opts span{display:flex;align-items:center;gap:8px;border:1px solid var(--rule-2);border-radius:12px;padding:8px 10px;font-size:.76rem}
.phone-opts span::before{content:"";width:12px;height:12px;border-radius:50%;border:1.3px solid var(--ink-3);flex:none}
.phone-opts span.on{background:var(--accent-soft);border-color:var(--ink)}
.phone-opts span.on::before{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 2.5px var(--accent-soft)}
.phone-nav{display:flex;justify-content:space-between;gap:8px}
.phone-nav .pill{border-radius:999px;padding:8px 14px;font-size:.74rem;font-weight:600;background:var(--ink);color:var(--on-accent);border:1px solid var(--ink)}
.phone-nav .pill.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.phone figcaption{font-size:.82rem;color:var(--ink-3);text-align:center;max-width:32ch}

/* Test */
.stagehead h2,.pause h2{font-weight:600;letter-spacing:-.03em}
.progress{height:4px;border-radius:999px}
.progress div{background:var(--ink);border-radius:999px}
.qtext,.qlead{font-family:var(--f-display);font-weight:600;letter-spacing:-.022em;line-height:1.25}
.qtext{font-size:clamp(1.3rem,3.2vw,1.65rem)}
.pole{border-radius:14px;border-color:var(--rule-2);background:var(--paper)}
.pole .tag{border-radius:6px;font-family:var(--f-body);font-weight:600}
.opts,.opts.three{grid-template-columns:1fr;gap:8px}
.opt{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;border-color:var(--rule-2);font-size:.95rem;text-align:left}
.opt:hover{border-color:var(--ink-3)}
.opt[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--ink)}
.opt .box{width:18px;height:18px}
.star{border-radius:999px;border:1px solid var(--rule);color:var(--ink-2)}
.star[aria-pressed="true"]{border-color:var(--ink);background:var(--accent-soft);color:var(--ink)}
.help{background:var(--accent-soft);border:0}
.ctx{background:var(--paper);border:1px solid var(--rule-2);border-radius:14px}
.qnav .btn.link{border:1px solid var(--rule);border-radius:999px;padding:10px 18px;text-decoration:none;color:var(--ink);background:var(--sheet)}
.qnav .btn.ghost{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}
.qnav .btn.ghost:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--on-accent)}
.tally,.kpis,.wstats{border:0;gap:12px}
.tally > div,.kpis > div,.wstats > div{background:var(--sheet);border:1px solid var(--rule-2) !important;border-radius:16px;padding:16px !important}
.tally b,.kpis b,.wstats b{font-family:var(--f-body);font-weight:600;letter-spacing:-.03em}
.review{border-top-color:var(--rule-2)}
.rvq{border-radius:12px}
.star.mini{padding:5px 10px}

/* Resultados personales */
.verdict{border-bottom:1px solid var(--rule)}
.verdict h1{font-weight:600;letter-spacing:-.04em}
.verdict .pct{color:var(--ink-3);font-weight:600}
.pod{box-shadow:none}
.pod.first{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}
.pod.first .eyebrow{color:var(--on-accent);opacity:.7}
.pod .pp{font-family:var(--f-body);font-weight:600;letter-spacing:-.03em}
.rank .bar{height:12px;border-radius:999px}
.rank .bar i{border-radius:999px;background:var(--g4)}
.rank .r:nth-child(1) .bar i{background:var(--ink)}
.rank .r:nth-child(2) .bar i{background:var(--ink-2)}
.rank .r:nth-child(3) .bar i{background:var(--ink-3)}
.rank .pos,.rank .val{font-family:var(--f-body);font-variant-numeric:tabular-nums}
.li .sym{border-radius:50%;font-family:var(--f-body);font-weight:600}
.pc{gap:8px}
.pc .eyebrow{color:var(--ink-3)}
table.heat th{font-family:var(--f-body);font-size:.66rem;letter-spacing:.1em;font-weight:500}
table.heat th.prio{color:var(--ink);font-weight:700}
.legend{font-family:var(--f-body)}
.donate select{border-radius:10px;background:var(--sheet)}
.donate .consent input{accent-color:var(--ink)}
.receipt{border-radius:12px}

/* Panel en directo */
.live{background:var(--ink)}
.seg{border-radius:999px;padding:3px;gap:3px;background:var(--sheet)}
.seg button{border-radius:999px;border:0 !important;padding:7px 14px}
.hb-t{height:12px;border-radius:999px}
.hb-t i{border-radius:999px;background:var(--ink)}
.hb-raw,.hb-target{width:3px;background:var(--sheet);box-shadow:0 0 0 1px var(--ink);border-radius:2px;top:-4px;bottom:-4px}
.lg-bar{background:var(--ink);border-radius:999px}
.lg-raw,.lg-target{width:3px;background:var(--sheet);box-shadow:0 0 0 1px var(--ink)}
.db-chart .bar{fill:var(--ink)}
.db-chart g:hover .bar{fill:var(--ink-3)}
.db-tip{background:var(--ink);color:var(--paper);border-radius:10px}
.split-bar{border-radius:999px;overflow:hidden}
.split-bar .neg,.split-legend .neg{background:var(--ink-3)}
.split-bar .pos,.split-legend .pos{background:var(--ink)}
.split-bar .mid,.split-legend .mid{background:var(--rule)}
.split-legend i{border-radius:999px}
.rcform input{border-radius:12px}
.demo-banner{background:var(--strong-bg);color:var(--strong-fg)}

@media (max-width:860px){
  .cta-dark{grid-template-columns:1fr}
  .phone{margin-top:12px}
}
@media (max-width:720px){
  .menu-btn{display:grid}
  .top-cta{display:none}
  .top-actions{margin-left:auto}
  .main-nav{display:none;order:3;width:100%;flex-direction:column;gap:0;margin:4px 0 6px}
  .top.open .main-nav{display:flex}
  .main-nav a{padding:12px 2px;border-bottom:1px solid var(--rule-2)}
  .main-nav a[aria-current="page"]{border-bottom-color:var(--rule-2)}
  .factsrow{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .steps li:not(:last-child)::after{display:none}
  .opt{flex-direction:row}
}

/* Ajustes v2 */
.hero h1{font-weight:600;letter-spacing:-.04em}
.hero h1 em{color:var(--ink-3)}
.pips i{border-radius:999px;border-color:var(--rule)}
.pips i.on{background:var(--ink);border-color:var(--ink)}
.stepper button{border-radius:999px;background:var(--sheet)}
.budget b{font-family:var(--f-body);font-weight:600;letter-spacing:-.03em}
.hb-v,.split-v,.rank .val{font-variant-numeric:tabular-nums}
@media (max-width:480px){.badge{letter-spacing:.1em;font-size:.62rem}}

/* =====================================================================
   SISTEMA VISUAL v3 · el lenguaje de los reels
   Colores que rotan (amarillo, rosa, celeste, crema y negro) para que ninguno se asocie a un partido,
   Inter muy pesada, Caveat para lo escrito a mano, botones con sombra de pegatina,
   ilustraciones con borde blanco que «hierven» y subrayados de rotulador.
   Las bandas de color son siempre claras, también en modo oscuro: redefinen sus propios tokens.
   ===================================================================== */
:root{
  --yel:#FFD23F; --yel-2:#FFE27A; --yel-soft:#FFF4C7;
  --pink:#F49AC1; --pink-2:#F7B3D2; --sky:#8EC5F2; --sky-2:#A9D3F6;
  --green:#3FAE6A; --orange:#F47A2E; --cream:#F2EBDD;
  --f-hand:"Caveat","Comic Sans MS",cursive;
  --pop:0 4px 0 #111111;
}
body{letter-spacing:-.011em}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.04em}
.hand{font-family:var(--f-hand);font-weight:700;letter-spacing:0}

/* Bandas de color: siempre claras, con sus propios tokens */
.tone-yel,.tone-pink,.tone-sky,.tone-cream,.tone-paper{
  --paper:#F6F5F1; --sheet:#FFFFFF; --ink:#111111; --ink-2:#2E2F33; --ink-3:#4A4B50;
  --rule:rgba(17,17,17,.22); --rule-2:rgba(17,17,17,.12); --on-accent:#FFFFFF; --accent-soft:rgba(255,255,255,.55);
  color:var(--ink); color-scheme:light;
}
.tone-yel{background:var(--yel)} .tone-pink{background:var(--pink)} .tone-sky{background:var(--sky)}
.tone-cream{background:var(--cream)} .tone-paper{background:#F6F5F1}
.band[class*="tone-"]{border:0}

/* Rayos que giran despacio detrás del contenido */
.rays{position:relative;overflow:hidden;isolation:isolate}
.rays::before{content:"";position:absolute;left:50%;top:50%;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;z-index:-1;
  background:repeating-conic-gradient(from 0deg,var(--ray,rgba(255,255,255,.28)) 0deg 7deg,transparent 7deg 18deg);animation:spin 90s linear infinite}
.tone-yel.rays{--ray:var(--yel-2)} .tone-pink.rays{--ray:var(--pink-2)} .tone-sky.rays{--ray:var(--sky-2)}
@keyframes spin{to{transform:rotate(360deg)}}

/* Botones: píldora con sombra de pegatina */
.btn{background:var(--yel);color:#111;border:2px solid #111;box-shadow:var(--pop);font-weight:800;letter-spacing:-.01em;padding:12px 22px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn:hover{background:var(--yel);border-color:#111;color:#111;transform:translateY(-2px);box-shadow:0 6px 0 #111}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 #111}
.btn.ghost{background:#FFFFFF;color:#111;border-color:#111;box-shadow:var(--pop)}
.btn.ghost:hover{background:#FFFFFF;color:#111;border-color:#111}
.btn.link,.btn.link:hover{box-shadow:none;border:0;background:none;transform:none;font-weight:600}
.btn.btn-sm{padding:8px 16px;box-shadow:0 3px 0 #111}
.btn.inv,.btn.inv:hover{background:var(--yel);color:#111;border-color:#111}
.btn.link.inv{color:var(--strong-fg);background:none}
.tone-yel .btn:not(.ghost):not(.link){background:#111;color:#FFFFFF;box-shadow:0 4px 0 rgba(17,17,17,.35)}
.tone-yel .btn:not(.ghost):not(.link):hover{background:#111;color:#FFFFFF}
.btn[disabled]{box-shadow:none;transform:none}
:focus-visible{outline:3px solid #111;outline-offset:3px;border-radius:6px}
.band.strong :focus-visible,.cta-dark :focus-visible{outline-color:var(--yel)}

/* Rotulador detrás de una palabra */
.mk{--mk:var(--pink);background:linear-gradient(var(--mk),var(--mk)) no-repeat 0 62%/100% 72%;padding:0 .14em;margin:0 -.04em;border-radius:.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;font-style:normal;animation:mk .7s .25s cubic-bezier(.2,.9,.25,1) both}
.mk.yel{--mk:var(--yel)} .mk.sky{--mk:var(--sky)} .mk.green{--mk:#9FD9B4} .mk.white{--mk:#FFFFFF}
@keyframes mk{from{background-size:0 72%}to{background-size:100% 72%}}

/* Ilustraciones: pegatinas que «hierven» como en los reels */
.stk{display:block;height:auto;max-width:100%;filter:drop-shadow(0 8px 0 rgba(17,17,17,.12));--r:0deg;transform:rotate(var(--r));animation:boil .75s steps(1,end) infinite;pointer-events:none;user-select:none}
.stk.slow{animation-duration:1.1s}
@keyframes boil{0%{transform:rotate(var(--r))}16%{transform:rotate(calc(var(--r) + 1.4deg))}33%{transform:rotate(calc(var(--r) - .9deg))}50%{transform:rotate(calc(var(--r) + .5deg))}66%{transform:rotate(calc(var(--r) - 1.2deg))}83%{transform:rotate(calc(var(--r) + .8deg))}}
.bob{animation:boil .75s steps(1,end) infinite,bob 1.6s ease-in-out infinite}
@keyframes bob{50%{translate:0 -10px}}

/* Insignias redondas («15 min», «0 siglas») */
.stamp-b{position:absolute;display:grid;place-items:center;text-align:center;width:var(--s,124px);height:var(--s,124px);border-radius:50%;background:var(--bg,var(--pink));color:#111;border:3px solid #111;box-shadow:0 0 0 7px #FFFFFF,0 10px 0 7px rgba(17,17,17,.12);font-weight:800;letter-spacing:-.04em;line-height:.9;font-size:var(--fs,2.8rem);transform:rotate(var(--r,-8deg));animation:pop .6s var(--d,.3s) cubic-bezier(.3,1.6,.5,1) both;z-index:2}
.stamp-b small{display:block;font-family:var(--f-hand);font-size:.5em;font-weight:700;letter-spacing:0;margin-top:0}
@keyframes pop{from{transform:rotate(calc(var(--r,-8deg) - 40deg)) scale(.2);opacity:0}to{transform:rotate(var(--r,-8deg)) scale(1);opacity:1}}

/* Etiqueta negra tipo «A favor» / «Pero» */
.chip-ink{display:inline-flex;align-items:center;gap:10px;justify-self:start;background:#111;color:#FFFFFF;border-radius:999px;padding:8px 16px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.chip-ink::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--yel)}
.band.strong .chip-ink,.cta-dark .chip-ink{background:var(--yel);color:#111}
.band.strong .chip-ink::before,.cta-dark .chip-ink::before{background:#111}

/* Tarjetas pegatina: borde negro y sombra dura */
.card-pop{background:var(--sheet);border:2px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:clamp(18px,3vw,26px);display:grid;gap:10px;align-content:start;position:relative}
.card-pop.yel{background:var(--yel)} .card-pop.pink{background:var(--pink)} .card-pop.sky{background:var(--sky)} .card-pop.cream{background:var(--cream)}
.card-pop.yel,.card-pop.pink,.card-pop.sky,.card-pop.cream{--ink:#111111;--ink-2:#2E2F33;color:#111}
.tilt-l{rotate:-1.2deg} .tilt-r{rotate:1.2deg}

/* Cabecera */
.top{background:color-mix(in srgb,var(--paper) 88%,transparent);border-bottom:2px solid var(--ink)}
.brand .wm .wm-t{font-weight:800;letter-spacing:-.05em}
.main-nav a{font-weight:600}
.main-nav a[aria-current="page"]{font-weight:800;border-bottom:3px solid var(--yel);color:var(--ink)}
.gh{border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink)}
.menu-btn{border:2px solid var(--ink)}

/* ===== Portada ===== */
.home .band h2{font-size:clamp(2rem,5vw,3.3rem);line-height:1;letter-spacing:-.045em;font-weight:800}
.home .eyebrow{display:inline-flex;font-size:.74rem;font-weight:800;letter-spacing:.14em;color:var(--ink)}
.band-sub{font-size:1.1rem}
.hero-band{padding-block:clamp(40px,7vw,90px) clamp(40px,6vw,72px)}
.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.home-hero h1{font-size:clamp(2.8rem,7.6vw,5.6rem);font-weight:800;letter-spacing:-.055em;line-height:.95}
.home-hero h1 em{color:inherit}
.home-hero .lede{color:var(--ink-2);font-size:1.18rem}
.hero-band .badge{background:#111;color:#FFFFFF;border:0;font-weight:700;letter-spacing:.12em;padding:9px 16px}
.hero-note{font-family:var(--f-hand);font-weight:700;font-size:1.7rem;line-height:1;rotate:-4deg;justify-self:start;margin-top:-4px}
.hero-art{position:relative;justify-self:center;width:min(440px,100%);padding:30px 0 10px}
.hero-art .phone{position:relative;z-index:1}
.hero-art .phone-screen{border-color:#111;box-shadow:0 14px 0 rgba(17,17,17,.18)}
.hero-art .phone figcaption{display:none}
.hero-art .runner{position:absolute;z-index:3;width:46%;left:-16%;bottom:-6%;--r:-4deg}
.hero-art .bread{position:absolute;z-index:3;width:44%;right:-14%;top:-2%;--r:12deg}
.factsrow{border-top:0;gap:14px;padding-top:0}
.factsrow > div{background:#FFFFFF;border:2px solid #111;border-radius:20px;box-shadow:var(--pop);padding:16px 16px 14px;gap:2px}
.factsrow > div:nth-child(odd){rotate:-1deg} .factsrow > div:nth-child(even){rotate:1deg}
.factsrow svg{width:26px;height:26px;color:#111}
.factsrow b{font-weight:800;font-size:1.08rem}
.factsrow span{color:var(--ink-2)}

/* Por qué existe */
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:8px}
.why .card-pop{padding-top:clamp(120px,14vw,150px);margin-top:46px}
.why .card-pop .stk{position:absolute;top:-58px;left:50%;width:min(190px,62%);translate:-50% 0}
.why h3{font-size:1.4rem;line-height:1.05}
.why p{color:var(--ink-2)}

/* Cómo funciona */
.steps{gap:18px}
.steps li{background:#FFFFFF;border:2px solid #111;border-radius:22px;box-shadow:var(--pop);padding:18px 16px 16px}
.steps li::before{width:54px;height:54px;font-size:1.5rem;font-weight:800;border:2px solid #111;color:#111;background:var(--yel)}
.steps li:nth-child(2)::before{background:var(--pink);color:#111}
.steps li:nth-child(3)::before{background:var(--sky);color:#111}
.steps li:nth-child(4)::before{background:#9FD9B4;color:#111}
.steps li:not(:last-child)::after{display:none}
.steps span{font-family:var(--f-hand);font-size:1.45rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1}
.steps b{font-size:1.15rem;font-weight:800}
.band-art{position:relative}
.band-art .stk{position:absolute;pointer-events:none}
.como-runner{width:clamp(130px,16vw,200px);right:0;top:-24px;--r:-3deg}

/* Fiabilidad */
.pillars{gap:22px}
.pillar{border:2px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink)}
.pillar .ico{width:52px;height:52px;border-radius:50%;border:2px solid #111;color:#111;background:var(--yel)}
.pillar:nth-child(2) .ico{background:var(--pink)} .pillar:nth-child(3) .ico{background:var(--sky)} .pillar:nth-child(4) .ico{background:#9FD9B4}
.pillar h3{font-size:1.35rem;font-weight:800}
.pillar .eyebrow{font-weight:800;color:var(--ink-2)}
.head-art{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}
.head-art .stk{width:clamp(110px,14vw,170px)}

/* Verificación (banda negra) */
.band.strong{background-image:none}
.band.strong .eyebrow{color:var(--yel)}
.flow li{border-top-color:var(--yel)}
.flow li::before{background:var(--yel);width:16px;height:16px;top:-9px}
.flow .mono{color:var(--yel);font-weight:800}
.flow h3{font-weight:800}
.band.strong .btn.ghost{background:transparent;color:var(--strong-fg);border-color:var(--strong-fg);box-shadow:0 4px 0 rgba(255,255,255,.25)}
.verif-urna{width:clamp(120px,15vw,190px);--r:6deg}

/* Lo que no es */
.nots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}
.nots h3{font-size:1.35rem}
.nots h3::before{content:"✕";display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:50%;background:#111;color:var(--yel);font-size:1rem;vertical-align:4px}
.nots p{color:var(--ink-2)}

/* Privacidad y calendario */
.gets li::before{width:12px;height:12px;border-radius:50%;background:var(--yel);border:2px solid #111;margin-top:6px}
.timeline{border-left:3px solid var(--ink)}
.timeline li::before{width:16px;height:16px;left:-9.5px;top:7px;background:var(--yel);border:2px solid #111}
.timeline li:nth-child(2)::before{background:var(--pink)} .timeline li:nth-child(3)::before{background:var(--sky)} .timeline li:nth-child(4)::before{background:#9FD9B4}
.timeline .mono{font-weight:800;font-size:.86rem}
.priv-lock{width:clamp(96px,11vw,140px);--r:-8deg;margin-bottom:6px}

/* Preguntas frecuentes */
.faq{border-top:0;gap:12px}
.faq details{background:var(--sheet);border:2px solid var(--ink);border-radius:18px;padding:14px 18px;box-shadow:0 4px 0 var(--ink)}
.faq summary{font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--yel);border:2px solid #111;color:#111;display:grid;place-items:center;font-weight:800;transition:rotate .2s ease}
.faq details[open] summary::after{rotate:45deg}

/* ¿Por quién? */
.pull{border-left:0;padding-left:0;font-family:var(--f-hand);font-weight:700;font-size:clamp(2rem,4.4vw,3rem);line-height:1;letter-spacing:0;rotate:-2deg}
.quien-art{width:clamp(150px,20vw,240px);margin-top:20px;--r:4deg}
.band.tone-sky .manifesto,.band.tone-sky .manifesto p:first-child{color:var(--ink)}
.manifesto-end{font-family:var(--f-hand);font-weight:700;font-size:2.1rem;letter-spacing:0}

/* Llamada final */
.cta-dark{background-image:none;position:relative;overflow:hidden;isolation:isolate;border:2px solid #111;box-shadow:0 8px 0 rgba(17,17,17,.25)}
.cta-dark::before{content:"";position:absolute;left:50%;top:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;z-index:-1;background:repeating-conic-gradient(from 0deg,rgba(255,210,63,.07) 0deg 7deg,transparent 7deg 18deg);animation:spin 90s linear infinite}
.cta-dark .wm .wm-t{font-weight:800}
.cta-dark h2{font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.045em}
.cta-runner{position:absolute;right:clamp(10px,4vw,48px);bottom:-6px;width:clamp(120px,16vw,190px);--r:-4deg;z-index:0}

/* Pie */
.site-foot{border-top:2px solid var(--ink)}
.foot-grid h4{font-weight:800;color:var(--ink)}

/* ===== Test, resultados y otras páginas ===== */
.subnav{border-bottom:2px solid var(--ink)}
.subnav nav.tabs button[aria-current="page"]{background:var(--yel);color:#111;border:2px solid #111;font-weight:800}
.sheet,.donate{border:2px solid var(--ink);border-radius:26px;box-shadow:0 6px 0 var(--ink)}
.stagehead h2,.pause h2,.verdict h1{font-weight:800;letter-spacing:-.045em}
.qtext,.qlead{font-weight:800;letter-spacing:-.03em}
.progress{height:10px;border:2px solid var(--ink);background:var(--sheet)}
.progress div{background:var(--yel)}
.progress .tick{background:var(--ink);width:2px}
.opt,.choice,.pole{border-width:2px;border-color:var(--rule)}
.opt:hover,.choice:hover{border-color:var(--ink)}
.opt[aria-pressed="true"],.choice[aria-pressed="true"]{background:var(--yel-soft);border-color:var(--ink);box-shadow:0 3px 0 var(--ink);color:#111}
[aria-pressed="true"] > .box{background:#111;border-color:#111;box-shadow:inset 0 0 0 3.5px var(--yel)}
.star[aria-pressed="true"]{background:var(--yel-soft);border-color:#111;color:#111}
.pole .tag{background:var(--yel);border:2px solid #111;color:#111}
.help{background:var(--yel-soft);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:#111}
.help h3,.help ul{color:#111}
.fact{border-left:4px solid var(--yel)}
.tally > div,.kpis > div,.wstats > div{border:2px solid var(--ink) !important;box-shadow:0 4px 0 var(--ink);border-radius:18px}
.tally b,.kpis b,.wstats b{font-weight:800}
.pod{border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink)}
.pod.first{background:var(--yel);color:#111;border-color:#111}
.pod.first .eyebrow{color:#111}
.pc,.pcard,.pillar,.scroll,.db-chart,.notice{border-width:2px}
.chip{border-width:2px}
.chip[aria-pressed="true"]{background:var(--yel);color:#111;border-color:#111}
.seg{border:2px solid var(--ink)}
.seg button[aria-pressed="true"]{background:var(--yel);color:#111;font-weight:800}
.live{background:var(--pink);box-shadow:0 0 0 2px #111}
.section > h2{font-weight:800;letter-spacing:-.035em}
.callout{background:var(--yel-soft);color:#111;border:2px solid var(--ink)}
.callout b{color:#111}
.demo-banner{background:var(--yel);color:#111;border-bottom:2px solid #111}
.demo-banner b{color:#111}

@media (max-width:860px){
  .why,.nots{grid-template-columns:1fr}
  .why .card-pop{margin-top:58px}
  .hero-art{margin-top:18px;width:min(380px,92%)}
  .hero-art .runner{left:-8%}
  .hero-art .bread{right:-8%}
  .como-runner{display:none}
  .head-art{grid-template-columns:1fr}
  .head-art .stk{display:none}
}
@media (max-width:720px){
  .factsrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:1fr}
  .stamp-b{--s:100px;--fs:2.2rem}
  .cta-runner{position:static;width:150px;margin:6px 0 -18px auto}
}
@media (prefers-reduced-motion: reduce){.stk,.bob,.rays::before,.cta-dark::before,.stamp-b,.mk{animation:none!important}}
@media (min-width:721px){.cta-dark{padding-right:clamp(150px,20vw,250px)}}
@media (max-width:860px){
  .home-hero{grid-template-columns:1fr}
  .why .card-pop{padding-top:150px}
  .hero-art{padding-top:40px}
}
@media (max-width:480px){
  .home-hero h1{font-size:clamp(2.5rem,12vw,3.2rem)}
  .hero-band .badge{font-size:.62rem;letter-spacing:.1em}
}
/* Test: portada en tarjeta amarilla con rayos */
.hero-card{border:2px solid #111;border-radius:30px;box-shadow:0 6px 0 #111;padding:clamp(24px,5vw,48px);margin:8px 0 18px;padding-bottom:clamp(40px,6vw,56px)}
.hero-card .eyebrow{color:#111;font-weight:800}
.hero-card h1{font-weight:800;letter-spacing:-.05em;font-size:clamp(2.3rem,6.6vw,4rem);line-height:.98}
.hero-card h1 em{color:inherit}
.hero-card .lede{color:var(--ink-2);max-width:52ch}
.hero-card .small.muted{color:var(--ink-2)}
.test-runner{position:absolute;right:clamp(-10px,2vw,30px);bottom:-26px;width:clamp(120px,20vw,210px);--r:-4deg;z-index:1}
.hero-card > :not(.test-runner){position:relative;z-index:2}
@media (max-width:720px){.hero-card{padding-bottom:110px}.test-runner{width:120px;right:6px;bottom:-14px}}
/* Panel en directo: urna junto al titular */
.verdict-live{position:relative;padding-right:clamp(0px,20vw,230px)}
.verdict-art{position:absolute;right:0;top:-6px;width:clamp(120px,17vw,200px);--r:6deg}
.verdict .eyebrow{font-weight:800;color:var(--ink)}
@media (max-width:720px){.verdict-live{padding-right:0}.verdict-art{position:static;width:120px;justify-self:end;margin-bottom:-24px}}

/* =====================================================================
   v3.1 · un punto menos de color, un punto más de seriedad
   Colores algo menos saturados, solo dos bandas de color (portada y «¿Por quién?»),
   tarjetas en tintes suaves, sin inclinaciones, sombras más cortas y rayos más discretos.
   ===================================================================== */
:root{
  --yel:#F6CF52; --yel-2:#F9DC80; --yel-soft:#FDF3D2;
  --pink:#EDB3CB; --pink-2:#F3C9DA; --pink-soft:#FBEAF1;
  --sky:#A9CBE6; --sky-2:#C1DAEE; --sky-soft:#E7F0F8;
  --green:#7DB894; --cream:#F1ECE3;
  --pop:0 3px 0 #111111;
}
.tone-cream{background:var(--cream)}
.rays::before{opacity:.55}
.cta-dark::before{opacity:.6}
/* Tarjetas: tintes suaves en lugar de colores plenos, sin girar */
.card-pop{box-shadow:0 4px 0 var(--ink);border-radius:22px}
.card-pop.pink{background:var(--pink-soft)} .card-pop.sky{background:var(--sky-soft)} .card-pop.yel{background:var(--yel-soft)}
.tilt-l,.tilt-r,.factsrow > div:nth-child(odd),.factsrow > div:nth-child(even){rotate:0deg}
.factsrow > div,.steps li,.faq details{box-shadow:var(--pop)}
.pillar{box-shadow:0 4px 0 var(--ink)}
.sheet,.donate,.hero-card{box-shadow:0 4px 0 var(--ink)}
.btn{box-shadow:0 3px 0 #111}
.btn:hover{box-shadow:0 5px 0 #111}
/* Pasos e iconos en tintes suaves */
.steps li::before{background:var(--yel-soft)}
.steps li:nth-child(2)::before{background:var(--pink-soft)}
.steps li:nth-child(3)::before{background:var(--sky-soft)}
.steps li:nth-child(4)::before{background:#E4F2E9}
.pillar .ico{background:var(--yel-soft)}
.pillar:nth-child(2) .ico{background:var(--pink-soft)} .pillar:nth-child(3) .ico{background:var(--sky-soft)} .pillar:nth-child(4) .ico{background:#E4F2E9}
.timeline li:nth-child(4)::before{background:var(--green)}
.steps li:nth-child(4)::before{color:#111}
/* Ilustraciones algo más tranquilas: hierven más despacio y sin saltos */
.stk{animation-duration:1.1s}
.stk.slow{animation-duration:1.5s}
.mk.white{--mk:rgba(255,255,255,.85)}
/* Nuevas posiciones de la portada */
.hero-art .bread{width:34%;right:-8%;top:-4%;--r:8deg}
.hero-art .runner{width:40%;left:-14%;bottom:-4%;--r:-3deg}
.quien-art{width:clamp(220px,28vw,340px);--r:-2deg}
.cta-runner{width:clamp(110px,13vw,160px);bottom:0}

/* Móvil de ejemplo con el mismo aspecto que el test real */
.hero-art .phone-screen{background:#F6F5F1;border:10px solid #111;padding:12px 16px 18px}
.phone-bar .phone-chip{background:var(--yel);color:#111;border:1.5px solid #111;border-radius:999px;padding:3px 11px;font-size:.66rem;font-weight:800;letter-spacing:.02em}
.phone-bar .wm .wm-t{font-weight:800}
.phone-progress{height:8px;border:1.5px solid #111;background:#FFFFFF;border-radius:999px;overflow:hidden}
.phone-progress i{background:var(--yel);width:22%;border-radius:0}
.phone-meta{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;color:#4A4B50;margin-top:12px}
.phone-q{font-weight:800;letter-spacing:-.035em;font-size:1.08rem;line-height:1.18;color:#111}
.phone-poles div{background:#FFFFFF;border:1.5px solid rgba(17,17,17,.18);border-radius:12px;color:#111}
.phone-poles .tag{background:var(--yel);border:1.5px solid #111;border-radius:6px;font-weight:800;color:#111}
.phone-opts span{background:#FFFFFF;border:1.5px solid rgba(17,17,17,.18);border-radius:999px;color:#111}
.phone-opts span::before{border-color:#4A4B50}
.phone-opts span.on{background:var(--yel-soft);border-color:#111;box-shadow:0 2px 0 #111;font-weight:700}
.phone-opts span.on::before{background:#111;border-color:#111;box-shadow:inset 0 0 0 2.5px var(--yel)}
.phone-nav .pill{background:var(--yel);color:#111;border:1.5px solid #111;box-shadow:0 2px 0 #111;font-weight:800}
.phone-nav .pill.ghost{background:#FFFFFF;color:#111;border-color:#111;box-shadow:none}

/* Instagram: invitación a seguir la cuenta hasta el 29N */
.ig-card,.ig-mini{--ink:#111111;--ink-2:#2E2F33;color:#111;background:var(--yel-soft);border:2px solid #111;border-radius:28px;box-shadow:0 4px 0 #111}
.ig-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(24px,5vw,52px)}
.ig-text{display:grid;gap:14px;justify-items:start}
.ig-text h2{margin:0;font-size:clamp(1.9rem,4.4vw,3rem)}
.ig-text p{color:var(--ink-2);font-size:1.1rem;max-width:52ch}
.ig-text .eyebrow{color:#111}
.btn .ig-ico{flex:none}
.ig-reel{position:relative;display:block;width:clamp(170px,20vw,220px);aspect-ratio:9/16;border-radius:24px;overflow:hidden;border:6px solid #111;box-shadow:0 10px 0 rgba(17,17,17,.14);rotate:3deg;transition:rotate .2s ease,transform .2s ease}
.ig-reel:hover{rotate:0deg;transform:translateY(-3px)}
.ig-reel img{display:block;width:100%;height:100%;object-fit:cover}
.ig-play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(17,17,17,.78);box-shadow:0 0 0 4px rgba(255,255,255,.85)}
.ig-play::after{content:"";position:absolute;left:24px;top:19px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #FFFFFF}
.ig-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);color:var(--ink);background:var(--sheet)}
.ig-btn:hover{transform:translateY(-1px)}
.foot-ig{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:700;color:var(--ink) !important}
.ig-mini{display:flex;gap:16px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 22px}
.ig-mini h3{font-size:1.15rem;margin-bottom:4px}
.ig-mini p{color:var(--ink-2);font-size:.95rem;max-width:56ch}
@media (max-width:720px){
  .ig-card{grid-template-columns:1fr}
  .ig-reel{justify-self:center;width:200px}
  .ig-btn{width:36px;height:36px}
}

/* Compartir el resultado: vista previa de la imagen y opciones */
.sharecard{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:clamp(16px,4vw,32px);align-items:center;margin-top:22px;padding:clamp(16px,3vw,24px);background:var(--sheet);border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:0 4px 0 var(--ink)}
.sharecard-prev{aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--rule-2);border:2px solid #111;box-shadow:0 6px 0 rgba(17,17,17,.14)}
.sharecard[data-fmt="square"] .sharecard-prev{aspect-ratio:1/1}
.sharecard-prev img{display:block;width:100%;height:100%;object-fit:cover}
.sharecard-body{display:grid;gap:12px;justify-items:start;min-width:0}
.sharecard-body h2{font-size:1.35rem;margin:0}
.sharecard-body .eyebrow{color:var(--ink);font-weight:800}
.sharecard .seg{display:flex;gap:8px;flex-wrap:wrap}
.swatches{display:flex;gap:12px}
.sw{width:36px;height:36px;border-radius:50%;background:var(--sw);border:2px solid #111;cursor:pointer;padding:0}
.sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--sheet),0 0 0 5px var(--ink)}
.sharecard .btn[disabled]{opacity:.6}
.sharecard [hidden]{display:none}
@media (max-width:560px){
  .sharecard{grid-template-columns:1fr}
  .sharecard-prev{width:min(62vw,240px);justify-self:center}
  .sharecard-body{justify-items:stretch}
  .sharecard-body .row .btn{flex:1 1 auto;justify-content:center}
}

/* ---------- Último paso del resultado: sumar de forma anónima y compartir ---------- */
.finish,#shareImg{scroll-margin-top:84px}
.finish{margin-top:26px;padding:clamp(18px,4vw,32px);background:var(--yel);color:#111;border:2px solid #111;border-radius:28px;box-shadow:0 6px 0 #111;display:grid;gap:22px;--ink:#111111;--ink-2:#2E2F33}
.finish-head{display:grid;gap:8px;max-width:62ch}
.finish-head h2{font-size:clamp(1.7rem,4.6vw,2.5rem);font-weight:850;letter-spacing:-.03em;line-height:1.05}
.finish-head p{font-size:1.02rem;color:#2E2F33}
.finish-grid{display:grid;gap:26px;counter-reset:paso}
.finish-step{position:relative;counter-increment:paso;min-width:0}
.finish-step[hidden]{display:none}
.finish-step::before{content:counter(paso);position:absolute;top:-16px;left:-12px;z-index:1;width:44px;height:44px;border-radius:50%;background:#111;color:#fff;font-weight:800;font-size:1.2rem;display:grid;place-items:center;box-shadow:0 3px 0 rgba(17,17,17,.3)}
/* Las tarjetas de dentro van siempre en claro, también en modo oscuro, como las bandas de color */
.finish .donate,.finish .sharecard{margin-top:0;background:#FFFFFF;color:#111;--sheet:#FFFFFF;--paper:#F6F5F1;--rule:#D9D6CE;--rule-2:#E4E1D8;--ink-3:#5E626A;--accent:#111;--accent-ink:#111;border:2px solid #111;box-shadow:0 4px 0 #111;padding-top:clamp(22px,3vw,28px)}
.finish .donate h2,.finish .sharecard h2{font-size:clamp(1.25rem,3vw,1.55rem);font-weight:800;letter-spacing:-.02em}
.finish .donate.done{background:#EAF6EE}
.finish .donate{grid-template-columns:minmax(0,1fr)}
.btn.big{font-size:1.08rem;padding:14px 26px;white-space:normal;text-align:center}
.finish-bar{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));translate:-50% 0;z-index:40;width:min(580px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:8px 8px 8px 20px;background:#111;color:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.finish-bar[hidden]{display:none}
.finish-bar p{margin:0;flex:1;min-width:0;font-weight:700;font-size:.92rem;line-height:1.2}
.finish-bar .btn{white-space:nowrap;padding:10px 18px;box-shadow:none}
body:has(#finBar:not([hidden])) footer{padding-bottom:96px}
@media (max-width:560px){
  .finish{border-radius:22px}
  .finish-bar{padding-left:16px}
  .finish-bar p{font-size:.84rem}
  .finish .btn.big{width:100%}
}
/* Los desplegables de edad, sexo y voto no deben ensanchar la tarjeta (en pantallas medianas se salían) */
.donate label{min-width:0}
.donate select{width:100%;min-width:0;text-overflow:ellipsis}

/* ---------- Móvil: sin zoom accidental ----------
   Tocar rápido un botón (por ejemplo el + de los puntos) hacía zoom por doble toque en iPhone.
   «manipulation» quita solo ese gesto; pellizcar para ampliar sigue funcionando.
   Y en iPhone, un campo con letra de menos de 16 px amplía la página al tocarlo. */
html{touch-action:manipulation}
button,a,label,select,input,textarea,summary,[role="button"],.chip,.btn,.stepper button{touch-action:manipulation}
@media (pointer:coarse){
  input,select,textarea{font-size:16px !important}
}
