/* ============================================================
   DIARIO GEOPOLÍTICO · Simón Levy / Es Posible
   Papel y tipografía PLIEGO. Tres ediciones: MX · BR · US.
   ============================================================ */
:root{
  --paper:#f6f2e9; --paper-2:#efe9dc; --paper-3:#e7dfce; --card:#fbf9f3; --white:#fff;
  --ink:#17130f; --ink-2:#403831; --ink-3:#6d6258; --ink-4:#8a7e70;
  --rule:#d9cfbb; --rule-2:#cabfa6;
  --red:#bd2a1e; --red-deep:#8f1d14; --red-tint:#f0d9d4;
  --teal:#1f6f7a; --teal-tint:#d7e8ea; --gold:#b08a4a; --gold-tint:#efe3cc;
  --blue:#1e5a8c; --green:#1b6b3a;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Libre Franklin",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --brand:"Cinzel","Newsreader",Georgia,serif;
  --maxw:1240px; --readw:700px; --gutter:clamp(16px,5vw,72px);
  --fs:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--fs);line-height:1.62;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--red-tint)}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.mono{font-family:var(--mono)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- barra de ediciones ---------- */
.edbar{position:sticky;top:0;z-index:70;background:var(--white);border-bottom:2px solid var(--ink)}
.edbar .wrap{display:flex;align-items:stretch;gap:0;padding-inline:0;max-width:none}
.edtabs{display:flex;flex:1;min-width:0}
.edtabs a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  padding:.62rem .3rem .55rem;text-decoration:none;font-family:var(--mono);font-weight:700;font-size:.82rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-right:1px solid var(--rule);line-height:1.2}
.edtabs a small{display:block;font-weight:500;font-size:.66rem;letter-spacing:.08em;color:var(--ink-3);margin-top:.15rem}
.edtabs a.on{background:var(--red);color:#fff}
.edtabs a.on small{color:#f6dcd8}
.edtools{display:flex;align-items:center;gap:.2rem;padding:0 .5rem}
.edtools button{font-family:var(--mono);font-weight:700;font-size:.9rem;background:none;border:1px solid var(--rule-2);
  color:var(--ink);width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer}
.edtools button:hover{border-color:var(--ink)}
.prog{position:absolute;left:0;bottom:-2px;height:3px;background:var(--red);width:0}
@media(max-width:560px){.edtabs a{font-size:.72rem;letter-spacing:.06em}.edtabs a small{display:none}.edtools button{width:2.1rem;height:2.1rem;font-size:.8rem}}

/* ---------- cabecera ---------- */
.mast{padding:clamp(20px,3vw,34px) 0 clamp(16px,2.4vw,26px);border-bottom:1px solid var(--rule);background:var(--paper)}
.mast .wrap{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.brandlock{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);text-decoration:none;color:var(--ink)}
.brandlock svg{width:clamp(54px,7vw,84px);height:auto;flex:none}
.brandlock .bt{display:flex;flex-direction:column;line-height:1}
.brandlock .b1{font-family:var(--brand);font-weight:700;font-size:clamp(1.05rem,2.6vw,1.7rem);letter-spacing:.06em}
.brandlock .b2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.2rem,6.4vw,4.4rem);letter-spacing:-.02em;color:var(--red);margin-top:.06em}
.mast-r{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.mast-r img{width:clamp(70px,9vw,104px);height:auto}
.mast-r .by{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mast-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:16px;font-family:var(--mono);font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.mast-meta b{color:var(--red)}
.mast-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.langs{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin-left:auto}
.langs a{padding:.3rem .8rem;text-decoration:none;font-weight:700;letter-spacing:.12em}
.langs a.on{background:var(--ink);color:#fff}
@media(max-width:640px){.mast .wrap{grid-template-columns:1fr auto;align-items:start}.mast-r .by{display:none}.mast-r img{width:64px}.mast-meta{grid-column:1/-1}.langs{margin-left:0}}
.art .deck.big{font-size:clamp(1.4rem,3vw,1.9rem);font-style:normal;color:var(--ink)}

/* ---------- ticker ---------- */
.ticker{background:var(--ink);color:#f6f2e9;overflow:hidden;white-space:nowrap;border-bottom:3px solid var(--gold)}
.ticker-in{display:inline-flex;gap:2.4rem;padding:.7rem 0;animation:slide 60s linear infinite;font-family:var(--mono);font-size:.86rem;letter-spacing:.06em}
.ticker:hover .ticker-in{animation-play-state:paused}
.ticker span b{color:#fff;font-weight:700}
.ticker span i{font-style:normal;color:var(--gold)}
.ticker span.up i{color:#7fd1a0}.ticker span.dn i{color:#ff9d92}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- portada ---------- */
.lead{padding:clamp(34px,5vw,70px) 0 clamp(26px,4vw,50px)}
.kick{font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.lead h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.5rem,7.4vw,5.6rem);line-height:1.0;letter-spacing:-.025em;margin:.9rem 0 1.1rem;text-wrap:balance;max-width:18ch}
.lead h1 em{font-style:italic;color:var(--red)}
.lead .deck{font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.45;color:var(--ink-2);max-width:40ch}
.lead .deck b{color:var(--ink)}

/* radar del día */
.radar{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(22px,4vw,56px);align-items:center;
  margin-top:clamp(30px,4vw,50px);padding:clamp(20px,3vw,34px);background:var(--card);border:1px solid var(--rule);border-top:6px solid var(--ink)}
.radar-scope{position:relative;aspect-ratio:1;max-width:300px;width:100%}
.radar-scope svg{width:100%;height:auto;display:block}
.radar-scope .sweep{transform-origin:150px 150px;animation:sweep 4.5s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar-scope .blip{transition:r .3s,opacity .3s;cursor:pointer}
.radar-scope .blip.on{r:13}
.radar h3{font-family:var(--mono);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.8rem}
.radar ol{list-style:none;counter-reset:r}
.radar li{counter-increment:r;border-top:1px solid var(--rule)}
.radar li a{display:grid;grid-template-columns:2.6rem 1fr auto;gap:.7rem;align-items:baseline;padding:.75rem 0;text-decoration:none}
.radar li a::before{content:counter(r);font-family:var(--serif);font-size:2rem;line-height:1;color:var(--red);font-weight:500}
.radar li a span{font-size:1.1rem;line-height:1.35}
.radar li a small{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap}
.radar li a:hover span,.radar li.on a span{color:var(--red)}
@media(max-width:760px){.radar{grid-template-columns:1fr}.radar-scope{max-width:210px;margin:0 auto}}

/* ---------- secciones y artículos ---------- */
.sec{padding:clamp(48px,7vw,96px) 0;border-top:1px solid var(--rule)}
.sec.white{background:var(--white)}
.art{display:grid;grid-template-columns:clamp(60px,9vw,130px) minmax(0,var(--readw)) 1fr;gap:0 clamp(14px,3vw,40px)}
.art-n{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,9vw,8.4rem);line-height:.82;color:var(--rule-2);letter-spacing:-.04em;position:sticky;top:90px;align-self:start}
.art-b{grid-column:2}
.art-side{grid-column:3;align-self:start;position:sticky;top:90px}
@media(max-width:1020px){.art{grid-template-columns:clamp(54px,9vw,90px) minmax(0,1fr)}.art-side{grid-column:2;position:static;margin-top:24px}}
@media(max-width:560px){.art{grid-template-columns:1fr}.art-n{position:static;font-size:3.4rem;margin-bottom:6px}.art-b,.art-side{grid-column:1}}
.art .kick{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:center}
.art .kick .tag{background:var(--red);color:#fff;padding:.18rem .55rem;letter-spacing:.14em}
.art h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.8vw,3.5rem);line-height:1.06;letter-spacing:-.02em;margin:.7rem 0 .9rem;text-wrap:balance}
.art.star h2{font-size:clamp(2.3rem,6vw,4.4rem)}
.art h2 em,.art h2 .ul{font-style:italic;color:var(--red)}
.art .deck{font-style:italic;font-size:clamp(1.22rem,2.3vw,1.45rem);line-height:1.45;color:var(--ink-2);margin-bottom:1.1rem}
.art .src{font-family:var(--mono);font-size:.76rem;line-height:1.55;letter-spacing:.03em;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:.7rem;margin:1.6rem 0 0}
.art .src b{color:var(--ink-2)}
.art p{margin:0 0 1.05em;color:var(--ink-2)}
.art p b,.art p strong{color:var(--ink);font-weight:650}
.art p b.lb{display:block;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:.2rem}
.art p.lead-p{font-size:1.14em;color:var(--ink)}
.art .ul2{background:linear-gradient(transparent 62%,var(--red-tint) 62%)}
.meta-row{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:1.2rem}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:1.6rem 0 1.8rem}
.stat{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--red);padding:1rem 1rem .9rem}
.stat b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,5vw,3rem);line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.stat span{display:block;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;margin-top:.5rem;color:var(--ink-2)}

.senal{background:var(--gold-tint);border-left:6px solid var(--gold);padding:1.1rem 1.2rem;margin:1.6rem 0}
.senal .sl{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6d531f;margin-bottom:.4rem}
.senal p{color:var(--ink);margin:0 0 .6em}
.senal p:last-child{margin:0}
.quote{border-left:4px solid var(--red);padding:.2rem 0 .2rem 1.1rem;margin:1.6rem 0;font-style:italic;font-size:1.3em;line-height:1.35;color:var(--ink)}
.quote cite{display:block;font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:.5rem}
.fig{margin:1.6rem 0}
.fig img{width:100%;height:auto;border:1px solid var(--rule)}
.fig figcaption{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:.5rem}
.video{position:relative;padding-top:56.25%;margin:1.4rem 0 1.6rem;background:var(--ink);border:1px solid var(--rule)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.btns{display:flex;flex-direction:column;gap:.7rem;margin:1.4rem 0 1.6rem}
.btn{display:block;text-align:center;padding:1.1rem 1rem;text-decoration:none;font-family:var(--mono);font-weight:700;font-size:.98rem;letter-spacing:.1em;text-transform:uppercase;background:var(--red);color:#fff;border:2px solid var(--red)}
.btn.ink{background:var(--ink);border-color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn:hover{filter:brightness(1.08)}
.disc{font-size:.86rem;line-height:1.55;color:var(--ink-3);border-top:1px dashed var(--rule-2);padding-top:.8rem;margin-top:1.6rem}

/* salida jurisdiccional */
.exit{border:1.5px solid var(--ink);margin:1.8rem 0;background:var(--white)}
.exit h4{font-family:var(--mono);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:#fff;padding:.55rem .9rem}
.exit dl{display:grid;grid-template-columns:1fr}
.exit div{padding:.8rem .9rem;border-top:1px solid var(--rule)}
.exit div:first-of-type{border-top:0}
.exit dt{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.exit dd{font-size:1rem;line-height:1.5;color:var(--ink);margin-top:.2rem}

/* compartir */
.share{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.4rem}
.share span{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:.3rem}
.share a,.share button{font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none;color:var(--ink);
  border:1.5px solid var(--rule-2);background:var(--white);padding:.45rem .8rem;border-radius:999px;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--ink)}
.share .wa{border-color:#25d366;color:#0d6b33}

/* ---------- bloques de cabecera de módulo ---------- */
.mhead{margin-bottom:clamp(22px,3vw,36px);max-width:46rem}
.mhead h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.06;letter-spacing:-.02em;margin:.6rem 0 .6rem;text-wrap:balance}
.mhead h2 em{font-style:italic;color:var(--red)}
.mhead p{font-size:1.15rem;color:var(--ink-2)}

/* mapa del día */
.mapbox{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start}
@media(max-width:860px){.mapbox{grid-template-columns:1fr}}
.tmap{background:var(--card);border:1px solid var(--rule);padding:clamp(10px,2vw,20px)}
.tmap svg{width:100%;height:auto;display:block}
.tmap .t{cursor:default}
.tmap .t rect{fill:#ece5d6;stroke:#fff;stroke-width:3}
.tmap .t text{font-family:var(--mono);font-size:13px;font-weight:700;fill:var(--ink-3);text-anchor:middle;pointer-events:none}
.tmap .t.hot{cursor:pointer}
.tmap .t.hot rect{fill:var(--red)}
.tmap .t.hot text{fill:#fff}
.tmap .t.gold rect{fill:var(--gold)}
.tmap .t.teal rect{fill:var(--teal)}
.tmap .t.ink rect{fill:var(--ink)}
.tmap .t.hot:hover rect,.tmap .t.sel rect{stroke:var(--ink);stroke-width:4}
.mappanel{background:var(--white);border:1px solid var(--rule);border-top:6px solid var(--red);padding:1.2rem 1.2rem 1.3rem;min-height:12rem}
.mappanel .mp-k{font-family:var(--mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.mappanel h4{font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1.1;margin:.4rem 0 .5rem}
.mappanel p{color:var(--ink-2);font-size:1.05rem}
.mappanel a{display:inline-block;margin-top:.8rem;font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.maplist{list-style:none;margin-top:14px}
.maplist li{border-top:1px solid var(--rule)}
.maplist button{width:100%;text-align:left;background:none;border:0;padding:.65rem 0;font-family:var(--serif);font-size:1.08rem;color:var(--ink);cursor:pointer;display:flex;gap:.7rem;align-items:baseline}
.maplist button b{font-family:var(--mono);font-size:.78rem;color:var(--red);min-width:2.2rem}
.maplist button:hover,.maplist li.sel button{color:var(--red)}

/* seguimiento (stepper) */
.track{display:grid;gap:0;counter-reset:s;max-width:52rem}
.step{display:grid;grid-template-columns:3.2rem 1fr;gap:0 1rem;position:relative;padding-bottom:1.4rem}
.step::before{content:"";position:absolute;left:1.55rem;top:2.6rem;bottom:0;width:2px;background:var(--rule-2)}
.step:last-child::before{display:none}
.step .dotn{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:1rem;border:2px solid var(--rule-2);background:var(--white);color:var(--ink-3);z-index:1}
.step.done .dotn{background:var(--ink);border-color:var(--ink);color:#fff}
.step.now .dotn{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 6px var(--red-tint);animation:pulse 2.2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(189,42,30,.08)}}
.step .sd{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:.25rem}
.step h5{font-family:var(--serif);font-weight:560;font-size:1.32rem;line-height:1.25;margin:.15rem 0 .3rem}
.step p{color:var(--ink-2);font-size:1.02rem}
.step.next h5{color:var(--ink-3)}

/* línea de tiempo horizontal */
.hscroll{overflow-x:auto;cursor:grab;padding-bottom:12px;scrollbar-color:var(--red) var(--paper-3)}
.hscroll.drag{cursor:grabbing}
.htrack{display:flex;gap:0;position:relative;min-width:max-content;padding-top:0}
.htrack::before{content:"";position:absolute;left:0;right:0;top:48px;height:2px;background:var(--rule-2)}
.hnode{width:300px;padding:70px 26px 0 0;position:relative;flex:none}
.hnode::before{content:"";position:absolute;left:0;top:42px;width:14px;height:14px;border-radius:50%;background:var(--red);border:3px solid var(--paper)}
.hnode .hy{position:absolute;top:6px;left:0;font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.1em;color:var(--red);text-transform:uppercase}
.hnode h5{font-family:var(--serif);font-weight:560;font-size:1.25rem;line-height:1.2;margin-bottom:.35rem}
.hnode p{font-size:1rem;color:var(--ink-2)}
.hhint{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-top:.6rem}

/* marcador de pronósticos */
.calls-f{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.chip{font-family:var(--mono);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.5rem .9rem;border:1.5px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer}
.chip.on,.chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.score{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 1.2rem;font-family:var(--mono);font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.score b{font-family:var(--serif);font-size:2.4rem;font-weight:500;color:var(--ink);letter-spacing:0;margin-right:.35rem;vertical-align:-.2rem}
.score .ok b{color:var(--green)}.score .pe b{color:var(--gold)}
.calls{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.call{background:var(--white);border:1px solid var(--rule);padding:1.1rem 1.1rem 1rem;position:relative}
.call::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--gold)}
.call.ok::before{background:var(--green)}.call.miss::before{background:var(--ink-4)}
.call .cd{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.call h5{font-family:var(--serif);font-weight:560;font-size:1.22rem;line-height:1.25;margin:.4rem 0}
.call p{font-size:.98rem;color:var(--ink-2)}
.call .st{display:inline-block;margin-top:.6rem;font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .5rem;background:var(--gold-tint);color:#6d531f}
.call.ok .st{background:#dcefe2;color:var(--green)}
.call.miss .st{background:var(--paper-3);color:var(--ink-3)}
.call a{color:var(--red)}

/* cifra del día */
.cifra{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4vw,48px);align-items:center;background:var(--ink);color:#f6f2e9;padding:clamp(26px,4vw,52px)}
.cifra b{font-family:var(--serif);font-weight:500;font-size:clamp(3.6rem,12vw,9rem);line-height:.9;color:#ff8a7e;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.cifra h4{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.2}
.cifra p{color:#d8cfbf;margin-top:.5rem;font-size:1.05rem}
.cifra small{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#a99d8c;margin-top:.8rem}
@media(max-width:640px){.cifra{grid-template-columns:1fr}}

/* cashback, méxico 2030, promo */
.cash{background:var(--ink);color:#f6f2e9;padding:clamp(28px,4vw,54px);background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:14px 14px}
.cash .kick{color:#ff8a7e}
.cash h3{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin:.6rem 0 .8rem;max-width:20ch}
.cash h3 em{color:#ff8a7e}
.cash p{color:#d8cfbf;max-width:46ch;margin-bottom:1.2rem}
.cash .btn{max-width:28rem}
.m2030{background:var(--white);border-top:10px solid var(--red);padding:clamp(28px,4vw,54px) 0}
.m2030 h3{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin:.6rem 0 .8rem;max-width:22ch}
.m2030 h3 em{font-style:italic;color:var(--red)}
.m2030 ol{list-style:none;counter-reset:g;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:1.4rem 0}
.m2030 li{counter-increment:g;border-top:2px solid var(--ink);padding-top:.7rem;font-size:1.05rem;color:var(--ink-2)}
.m2030 li::before{content:counter(g);display:block;font-family:var(--serif);font-size:3rem;line-height:1;color:var(--red);margin-bottom:.3rem}
.m2030 li b{color:var(--ink)}
.promo{background:var(--gold-tint);border-block:1px solid var(--gold);padding:1rem 0}
.promo .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;justify-content:space-between}
.promo p{font-size:1.12rem;line-height:1.35}
.promo p b{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#6d531f;display:block}
.promo a{font-family:var(--mono);font-weight:700;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:#fff;padding:.7rem 1rem;white-space:nowrap}

/* mesa */
.mesa-f{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.mesa{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 28px}
.mesa article{border-top:2px solid var(--ink);padding:1rem 0 1.4rem}
.mesa article[hidden]{display:none}
.mesa .mt{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.mesa h4{font-family:var(--serif);font-weight:560;font-size:1.3rem;line-height:1.22;margin:.35rem 0 .4rem}
.mesa p{font-size:1rem;color:var(--ink-2)}

/* lo que nadie conectó */
.nadie{background:var(--white);border:2px solid var(--ink);padding:clamp(22px,3vw,40px);position:relative}
.nadie h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;margin:.5rem 0 .8rem}
.nadie .veil{position:relative;max-height:5.5em;overflow:hidden}
.nadie .veil::after{content:"";position:absolute;inset:auto 0 0 0;height:4em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.nadie.open .veil{max-height:none}
.nadie.open .veil::after{display:none}
.nadie p{color:var(--ink-2);margin-bottom:.8em}
.nadie button{margin-top:1rem}

/* elecciones EE.UU. (módulo propio vive en el HTML insertado) */

/* pie */
.foot{background:var(--ink);color:#d8cfbf;padding:clamp(40px,6vw,72px) 0 36px;margin-top:0}
.foot .fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.foot h5{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.foot a{color:#f6f2e9;text-decoration:none;display:block;padding:.2rem 0;font-size:1.02rem}
.foot a:hover{color:#ff8a7e}
.foot .brandlock{color:#f6f2e9}
.foot .brandlock .b2{color:#ff8a7e;font-size:2.4rem}
.foot .small{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:#a99d8c;margin-top:28px;border-top:1px solid #3a3025;padding-top:18px;line-height:1.7}

/* revelado */
.rise{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rise{opacity:1;transform:none}}
@media print{.edbar,.ticker,.share,.cash,.promo{display:none}}

/* ===== v2: lámina, portada a dos columnas, secciones ===== */
.tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.8vw,1.2rem);color:var(--ink-2);margin-top:.5rem}
.plate{margin:0;background:var(--paper);border-bottom:1px solid var(--rule)}
.plate img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block}
.plate figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding-top:.6rem;padding-bottom:.6rem}
.lead-g{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media(min-width:1100px){.lead-g{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr)}.lead-g .radar{grid-template-columns:1fr;margin-top:0}.lead-g .radar-scope{max-width:220px;margin:0 auto}.lead-r{position:sticky;top:80px}}
.ess{margin-top:1.6rem;border-top:3px solid var(--ink);padding-top:1rem}
.ess-k{font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.6rem}
.ess ul{list-style:none}
.ess li{position:relative;padding:.5rem 0 .5rem 1.6rem;border-bottom:1px solid var(--rule);font-size:1.12rem;line-height:1.45}
.ess li::before{content:"";position:absolute;left:0;top:1.05rem;width:.7rem;height:.7rem;background:var(--red);border-radius:50%}
.secnav{position:sticky;top:3.05rem;z-index:60;background:rgba(246,242,233,.96);backdrop-filter:blur(6px);border-block:1px solid var(--rule)}
.secnav .wrap{display:flex;gap:.45rem;overflow-x:auto;padding-block:.55rem;scrollbar-width:none}
.secnav .wrap::-webkit-scrollbar{display:none}
.secnav a{flex:none;font-family:var(--mono);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:.45rem .85rem;border:1.5px solid var(--rule-2);border-radius:999px;background:var(--white)}
.secnav a:hover{border-color:var(--ink)}
.secnav a.live{border-color:var(--red);color:var(--red)}
.secnav a.live::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--red);margin-right:.4rem;animation:pulse 2s infinite;vertical-align:.05rem}
@media(max-width:560px){.secnav{top:2.75rem}}
.secband{background:var(--ink);color:#f6f2e9;padding:clamp(26px,4vw,46px) 0 clamp(22px,3vw,36px);border-top:8px solid var(--red)}
.secband .sb-k{font-family:var(--mono);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:#d8cfbf}
.secband h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,7vw,4.6rem);line-height:1;letter-spacing:-.02em;margin:.3rem 0 .4rem}
.secband p{color:#d8cfbf;font-size:1.12rem;max-width:52ch}
.secband.c1{border-top-color:var(--teal)}.secband.c2{border-top-color:var(--gold)}.secband.c3{border-top-color:var(--blue)}.secband.c4{border-top-color:var(--green)}
.sec.c1 .art .kick{color:var(--teal)}.sec.c2 .art .kick{color:#8a6a2f}.sec.c3 .art .kick{color:var(--blue)}.sec.c4 .art .kick{color:var(--green)}
.sec.c1 .stat{border-top-color:var(--teal)}.sec.c1 .stat b{color:var(--teal)}
.sec.c3 .stat{border-top-color:var(--blue)}.sec.c3 .stat b{color:var(--blue)}
.sec.c4 .stat{border-top-color:var(--green)}.sec.c4 .stat b{color:var(--green)}
.art.star h2{font-size:clamp(2.4rem,6.4vw,4.8rem)}
.art .art-b > .deck:first-of-type{border-left:4px solid var(--red);padding-left:1rem}
@media(min-width:1100px){.lead-g h1{font-size:clamp(2.8rem,4.4vw,4.6rem);max-width:16ch}}
.radar li a{grid-template-columns:2.6rem 1fr}
.radar li a small{grid-column:2;grid-row:1;align-self:start;margin-bottom:.15rem;white-space:normal}
.radar li a span{grid-column:2;grid-row:2}
.radar li a::before{grid-row:1/span 2}
/* v3: angulo propio y lector, en cada articulo */
.angulo{position:relative;background:var(--ink);color:var(--paper);padding:1.3rem 1.4rem 1.3rem 1.5rem;margin:1.4rem 0 1.8rem;border-left:7px solid var(--red);box-shadow:var(--shadow-2,0 10px 30px rgba(0,0,0,.12))}
.angulo .al,.lector .al{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}
.angulo .al{color:#f0a49b}
.angulo p{margin:0;color:var(--paper);font-family:var(--serif);font-size:1.18em;line-height:1.45}
.angulo p b,.angulo p strong{color:#fff}
.lector{background:var(--water-tint,#d7e8ea);border-left:7px solid var(--water,#1f6f7a);padding:1.1rem 1.3rem;margin:1.8rem 0 1.4rem}
.lector .al{color:var(--water,#1f6f7a)}
.lector p{margin:0;color:var(--ink);font-size:1.04em}
/* v3: banda de lanzamiento con videos */
.launch{background:var(--ink);color:var(--paper);padding:clamp(56px,8vw,96px) 0;border-top:7px solid var(--red)}
.launch .kick{color:#f0a49b;font-family:var(--mono);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.launch h2{font-family:var(--serif);color:var(--paper);font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;margin:.5rem 0 .8rem;max-width:22ch;text-wrap:balance}
.launch h2 em{color:#f0a49b}
.launch .ld{color:#d7cdbd;max-width:46ch;font-size:1.08em;margin:0 0 1.8rem}
.lv-g{display:grid;gap:1.6rem}
@media(min-width:900px){.lv-g.n2{grid-template-columns:1fr 1fr}.lv-g.n3{grid-template-columns:1fr 1fr 1fr}}
.lv{margin:0}.lv .video{margin:0 0 .7rem;border-color:#3a3025}
.lv figcaption{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#d7cdbd}
/* v3.1: video principal grande para que YouTube sirva HD */
.lv-g{grid-template-columns:1fr!important;gap:2rem}
@media(min-width:760px){.lv-g{grid-template-columns:1fr 1fr!important}.lv-g .lv:first-child{grid-column:1/-1}}
.lv-g .lv:first-child .video{box-shadow:0 18px 50px rgba(0,0,0,.45)}
.lv figcaption a{color:#f0a49b;margin-left:.6em;white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor}
.launch .wrap{max-width:1180px}
/* v3.2: un solo video por edicion, portada HD y carga al tocar */
.ytl{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.ytl img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ytl:hover img{transform:scale(1.02)}
.ytp{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:var(--red);box-shadow:0 8px 30px rgba(0,0,0,.5)}
.ytp::after{content:"";position:absolute;left:38px;top:28px;border-style:solid;border-width:20px 0 20px 32px;border-color:transparent transparent transparent #fff}
.ytl iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lv-g.n1{grid-template-columns:1fr!important}
/* v4: marca Es Posible / Diario Geopolitico (sin The Americas Council) */
.brandlock svg{width:clamp(40px,5vw,60px)}
.brandlock .b1{font-family:var(--mono);font-weight:600;font-size:clamp(.72rem,1.5vw,.95rem);letter-spacing:.2em}
.brandlock .b2{font-size:clamp(2.2rem,6vw,4.2rem)}
/* v3.3: videos de lanzamiento alojados en el diario (sin YouTube) + Posible */
.vbox{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.45);margin:0 0 .7rem}
.vbox video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;object-fit:contain}
.lv-pos{display:grid;gap:1.4rem;align-items:center;margin-top:clamp(40px,6vw,72px);padding-top:clamp(32px,5vw,56px);border-top:1px solid #3a3025}
@media(min-width:900px){.lv-pos{grid-template-columns:.8fr 1.2fr;gap:2.6rem}}
.lv-pos h3{font-family:var(--serif);color:var(--paper);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.1;margin:.45rem 0 .7rem;text-wrap:balance}
.lv-pos h3 em{color:#f0a49b}
.lv-pos p{color:#d7cdbd;font-size:1.06em;margin:0 0 1.3rem;max-width:40ch}
.lp-b{display:inline-block;background:var(--red);color:#fff;font-family:var(--sans);font-weight:700;font-size:.95em;padding:.85em 1.35em;border-radius:999px;text-decoration:none}
.lp-b:hover{background:var(--red-deep)}
.lv-pos .lv{margin:0}
.vbox .vplay{pointer-events:none;transition:opacity .25s}.vbox.on .vplay{opacity:0}
/* v4.1: bloques fijos Es Posible (Posible, Escudo, Cursos, apps, libros) y Patreon */
.pat{background:#1B6B3A;color:#fff;padding:clamp(40px,6vw,64px) 0;border-top:6px solid #0f4a27}
.pat .kick{font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#b9e3c6}
.pat h3{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.1;margin:.45rem 0 .7rem;color:#fff;max-width:26ch;text-wrap:balance}
.pat h3 em{color:#ffd9a0}
.pat p{max-width:52ch;color:#e6f3ea;font-size:1.08em;margin:0 0 1.4rem}
.pat .btn{background:#fff;color:#0f4a27}
.eco{background:var(--paper-2,#efe9dc);padding:clamp(64px,9vw,120px) 0;border-top:1px solid var(--rule)}
.eco-g{display:grid;gap:1.2rem;margin-top:1.6rem}
@media(min-width:900px){.eco-g{grid-template-columns:1.25fr 1fr 1fr}}
.eco-c{background:var(--card);border:1px solid var(--rule);border-top:7px solid var(--red);padding:1.5rem 1.4rem;display:flex;flex-direction:column}
.eco-c.pos{background:var(--ink);color:var(--paper);border-top-color:#C9A227}
.eco-c.pos h3,.eco-c.pos p{color:var(--paper)}.eco-c.pos h3 em{color:#f0a49b}
.eco-c.esc{border-top-color:var(--red)}.eco-c.cur{border-top-color:#1B6B3A}
.eco-c .kick{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.eco-c.pos .kick{color:#C9A227}.eco-c.cur .kick{color:#1B6B3A}
.eco-c h3{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,1.95rem);line-height:1.15;margin:.5rem 0 .7rem;text-wrap:balance}
.eco-c h3 em{color:var(--red)}
.eco-c p{margin:0 0 1.2rem;flex:1}
.eco-c .btn{align-self:flex-start}
.eco-c.pos .btn{background:#C9A227;color:var(--ink)}
.eco-k{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:2.2rem 0 .8rem}
.eco-ag{display:grid;gap:.8rem}
@media(min-width:700px){.eco-ag{grid-template-columns:1fr 1fr}}@media(min-width:1060px){.eco-ag{grid-template-columns:repeat(4,1fr)}}
.eco-a{display:flex;flex-direction:column;gap:.35rem;background:var(--card);border:1px solid var(--rule);padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}
.eco-a b{font-family:var(--serif);font-size:1.3rem}.eco-a span{color:var(--ink-2);font-size:.98em;flex:1}.eco-a i{font-style:normal;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.eco-a:hover{border-color:var(--red)}
.eco-lib{margin-top:clamp(48px,7vw,80px);padding-top:clamp(32px,5vw,56px);border-top:3px solid var(--ink)}
.eco-lib .kick{font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.eco-lib h3{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.1;margin:.4rem 0 1.4rem;text-wrap:balance}
.eco-lib h3 em{color:var(--red)}
.eco-bg{display:grid;gap:1.4rem}
@media(min-width:700px){.eco-bg{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.eco-bg{grid-template-columns:repeat(4,1fr)}}
.eco-b{display:flex;gap:1rem;align-items:flex-start}
@media(min-width:1100px){.eco-b{flex-direction:column}}
.eco-b img{width:120px;height:auto;flex:none;box-shadow:0 8px 24px rgba(23,19,15,.25);border-radius:2px}
@media(min-width:1100px){.eco-b img{width:100%;max-width:220px}}
.eco-b h4{font-family:var(--serif);font-size:1.35rem;line-height:1.15;margin:0 0 .3rem}
.eco-b p{margin:0 0 .7rem;color:var(--ink-2);font-size:.98em}
.eco-bl{display:flex;flex-wrap:wrap;gap:.45rem}
.eco-bl a{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--red);color:var(--red)}
.eco-bl a:first-child{background:var(--red);color:#fff}
.eco-pat{margin-top:clamp(40px,6vw,64px);background:#1B6B3A;color:#fff;padding:1.4rem 1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.eco-pat p{margin:0;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.25;max-width:40ch}.eco-pat p em{color:#ffd9a0}
.eco-pat .btn{background:#fff;color:#0f4a27}
/* v4.2 reel del dia (1 nov 2026) */
.reel{background:var(--paper-2,#efe9dc);border-top:1px solid var(--rule,#d9cfbb);border-bottom:1px solid var(--rule,#d9cfbb);padding:clamp(40px,6vw,72px) 0}
.reel-g{display:grid;gap:1.6rem;align-items:center}
@media(min-width:760px){.reel-g{grid-template-columns:1.1fr .9fr;gap:3rem}}
.reel .kick{font-family:var(--mono);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:700}
.reel h2{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;margin:.45rem 0 .8rem;text-wrap:balance}
.reel h2 em{color:var(--red)}
.reel-t p{max-width:38ch;font-size:1.08em;color:var(--ink-2,#403831);margin:0 0 1.2rem}
.reel-dl{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:1px solid currentColor}
.reel-v{justify-self:center;width:min(100%,380px)}
.reel-v video{display:block;width:100%;aspect-ratio:9/16;background:#1e1813;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
