/* ============================================================
   Infografía A2 — 2480 × 3508
   ============================================================ */
:root{
  --blue-sky:#1E88E5;
  --blue-sky-dk:#1565C0;
  --blue-sky-soft:#E3F0FB;
  --navy:#1A237E;
  --teal:#00897B;
  --green:#4CAF50;
  --green-dk:#2E7D32;
  --green-soft:#E5F4E6;
  --yellow:#FFC107;
  --yellow-dk:#B38600;
  --orange:#FF9800;
  --orange-dk:#C66900;
  --red:#F44336;
  --red-dk:#B71C1C;
  --purple:#7B1FA2;
  --purple-dk:#4A0072;
  --brown:#895129;
  --brown-dk:#654321;
  --ochre:#C17F24;
  --coral:#E8735A;
  --coral-soft:#FBE3DC;
  --gray-l:#F5F5F5;
  --gray-m:#E0E0E0;
  --gray-d:#424242;
  --gray-mid:#7A7A7A;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#1c1c1c;font-family:'Manrope',system-ui,sans-serif;color:var(--gray-d);}
body{display:block;min-height:100vh;}
#stage-wrap{width:100vw;display:flex;justify-content:center;padding:24px 0;}
#poster{
  width:2480px;min-height:3508px;height:auto;background:#fff;
  transform-origin:top center;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:visible;
}

.mono{font-family:'JetBrains Mono',monospace}
.section-title{
  text-align:center;font-size:46px;font-weight:800;
  color:var(--gray-d);line-height:1.1;letter-spacing:-.6px;
}
.section-title .accent{color:var(--blue-sky)}

/* ===== HEADER ===== */
.hdr{
  background:var(--blue-sky);color:#fff;
  padding:30px 100px 28px;display:flex;
  align-items:center;justify-content:space-between;gap:40px;
}
.hdr h1{font-size:62px;line-height:1;font-weight:800;letter-spacing:-1.5px;}
.hdr .sub{font-size:32px;font-weight:500;margin-top:10px;opacity:.96;}
.logo-wrap{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.logo-mark{
  border-radius:16px;padding:14px 20px;
  display:flex;align-items:center;justify-content:center;
}
.logo-png{
  height:180px;
  width:auto;
  display:block;
}
.logo-url{font-size:24px;font-weight:600;opacity:.95;letter-spacing:1px;margin-top:4px}

/* ===== Quick facts ===== */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:20px 100px 0;}
.fact{background:var(--gray-l);border-radius:16px;padding:16px 22px;display:flex;align-items:center;gap:20px;}
.fact .ico{width:64px;height:64px;flex-shrink:0;border-radius:14px;background:#fff;display:grid;place-items:center;border:2px solid var(--gray-m);}
.fact .ico svg{width:38px;height:38px}
.fact .t1{font-size:26px;font-weight:700;color:var(--gray-d);line-height:1.15}
.fact .t2{font-size:22px;font-weight:500;color:var(--gray-mid);line-height:1.2;margin-top:2px}

/* ===== SOURCES ===== */
.sources{margin:20px 100px 0;background:var(--navy);border-radius:20px;padding:22px 28px 24px;color:#fff;}
.sources h2{text-align:center;color:#fff;font-size:32px;font-weight:800;margin-bottom:16px;letter-spacing:-.3px;}
.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.source-card{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  border-radius:16px;padding:18px 16px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
}
.source-card .ico{width:60px;height:60px;background:rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;}
.source-card .ico svg{width:34px;height:34px}
.source-card .title{font-size:19px;font-weight:700;color:#fff;letter-spacing:.3px}
.source-card .body{font-size:16px;line-height:1.34;font-weight:400;color:rgba(255,255,255,.92)}

/* ===== PM2.5 ===== */
.pm25{
  margin:18px 100px 0;background:var(--gray-l);
  border-left:12px solid var(--blue-sky);border-radius:14px;
  padding:14px 24px;display:flex;align-items:center;gap:22px;
}
.pm25 .ico{flex-shrink:0;width:78px;height:78px;display:grid;place-items:center}
.pm25 .ico svg{width:78px;height:78px}
.pm25 p{font-size:20px;line-height:1.4;color:var(--gray-d)}
.pm25 p b{font-weight:800;color:var(--navy)}

/* ===== ICA ===== */
.ica{margin:22px 100px 0}
.ica .section-title{margin-bottom:14px;font-size:40px}
.ica-row{
  display:flex;align-items:center;gap:20px;
  padding:8px 20px;border-radius:14px;
  margin-bottom:6px;min-height:70px;
}
.ica-pill{
  flex-shrink:0;border-radius:999px;padding:8px 22px;
  font-weight:800;font-size:20px;letter-spacing:.6px;
  text-align:center;line-height:1.1;width:340px;
}
.ica-range{flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:23px;font-weight:600;min-width:180px;}
.ica-msg{flex:1;font-size:21px;font-weight:700;line-height:1.3}
.ica-ico{
  flex-shrink:0;width:54px;height:54px;display:grid;place-items:center;
  background:rgba(255,255,255,.32);border-radius:12px;
}
.ica-ico svg{width:40px;height:40px}
.ica-row.green{background:var(--green);color:#0e2b13}
.ica-row.green .ica-pill{background:var(--green-dk);color:#fff}
.ica-row.yellow{background:var(--yellow);color:#2a1f00}
.ica-row.yellow .ica-pill{background:#E6A100;color:var(--gray-d)}
.ica-row.orange{background:var(--orange);color:#2e1700}
.ica-row.orange .ica-pill{background:var(--orange-dk);color:#fff;font-size:17px}
.ica-row.red{background:var(--red);color:#fff}
.ica-row.red .ica-pill{background:var(--red-dk);color:#fff}
.ica-row.red .ica-ico{background:rgba(255,255,255,.20)}
.ica-row.purple{background:var(--purple);color:#fff}
.ica-row.purple .ica-pill{background:var(--purple-dk);color:#fff}
.ica-row.purple .ica-ico{background:rgba(255,255,255,.20)}
.ica-row.brown{background:var(--brown);color:#fff}
.ica-row.brown .ica-pill{background:var(--brown-dk);color:#fff}
.ica-row.brown .ica-ico{background:rgba(255,255,255,.20)}
.ica-footnote{text-align:center;color:var(--gray-mid);font-size:17px;margin-top:10px;font-weight:500}

/* ===== ENSAMBLE ===== */
.ensamble{margin:20px 100px 0;background:var(--navy);border-radius:20px;padding:22px 32px 24px;color:#fff;}
.ensamble h2{text-align:center;color:#fff;font-size:32px;font-weight:800;margin-bottom:14px;letter-spacing:-.3px;line-height:1.15;}
.algo-chain{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:nowrap;}
.algo-box{
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
  border-radius:10px;padding:10px 8px;
  font-size:16px;font-weight:600;color:#fff;
  min-width:114px;text-align:center;line-height:1.1;
  font-family:'JetBrains Mono',monospace;
}
.algo-arrow{color:rgba(255,255,255,.55);font-size:22px;flex-shrink:0;font-weight:300}
.algo-arrow.big{font-size:38px;color:#fff;margin:0 4px}
.algo-final{
  background:var(--coral);border-radius:12px;padding:12px 18px;
  font-size:19px;font-weight:800;color:#fff;text-align:center;line-height:1.15;
  min-width:210px;letter-spacing:.3px;
}
.algo-caption{text-align:center;font-size:17px;font-weight:500;color:rgba(255,255,255,.85);margin-top:10px;}
.ens-divider{height:1px;background:rgba(255,255,255,.22);margin:14px 0 12px;}
.metrics-title{text-align:center;font-size:16px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:10px;letter-spacing:.5px;text-transform:uppercase;}
.metrics{display:flex;justify-content:center;gap:18px}
.metric{flex:1;max-width:440px;border-radius:14px;padding:12px 18px;display:flex;flex-direction:column;align-items:center;}
.metric .lbl{font-size:18px;font-weight:600;opacity:.95;letter-spacing:.5px}
.metric .val{font-size:48px;font-weight:800;line-height:1;margin-top:4px;font-family:'JetBrains Mono',monospace}
.metric.teal{background:var(--teal);color:#fff}
.metric.ochre{background:var(--ochre);color:#fff}
.metric.gray{background:#2a2a2a;color:#fff}
.metric-baseline{text-align:center;color:rgba(255,255,255,.78);font-size:17px;margin-top:10px;font-family:'JetBrains Mono',monospace}
.metric-train{text-align:center;color:rgba(255,255,255,.92);font-size:17px;margin-top:4px;font-weight:500}

/* shield band */
.shield-band{margin:10px 100px 0;background:var(--blue-sky-soft);border-radius:16px;padding:14px 26px;display:flex;align-items:center;gap:22px;}
.shield-band .ico{flex-shrink:0;width:80px;height:80px;display:grid;place-items:center}
.shield-band .ico svg{width:80px;height:80px}
.shield-band .t1{font-size:32px;font-weight:800;color:var(--blue-sky-dk);line-height:1.05}
.shield-band .t2{font-size:18px;color:var(--gray-d);line-height:1.36;margin-top:4px;font-weight:500}

/* ===== HOW IT WORKS ===== */
.how{margin:22px 100px 0}
.how .section-title{margin-bottom:14px;font-size:38px}
.how-grid{display:flex;align-items:stretch;gap:10px}
.how-card{flex:1;border-radius:18px;padding:18px 22px;display:flex;flex-direction:column;gap:10px;}
.how-card .ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center}
.how-card .ico svg{width:34px;height:34px}
.how-card h3{font-size:23px;font-weight:800;line-height:1.1}
.how-card p{font-size:17px;line-height:1.4;color:var(--gray-d);font-weight:500}
.how-card.sky{background:var(--blue-sky-soft)}
.how-card.sky .ico{background:#fff;border:2px solid #c9def4}
.how-card.sky h3{color:var(--blue-sky-dk)}
.how-card.gray{background:var(--gray-l)}
.how-card.gray .ico{background:#fff;border:2px solid var(--gray-m)}
.how-card.gray h3{color:var(--gray-d)}
.how-card.green{background:var(--green-soft)}
.how-card.green .ico{background:#fff;border:2px solid #c5e1c8}
.how-card.green h3{color:var(--green-dk)}
.how-arrow{flex-shrink:0;align-self:center;color:var(--blue-sky);font-size:40px;font-weight:300;}

/* ===== ACTIONS + MAP ===== */
.actions{margin:22px 100px 0}
.actions .section-title{margin-bottom:14px;font-size:38px}
.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.act-col{background:var(--gray-l);border-radius:16px;padding:18px 22px;}
.act-col.sky{border-top:8px solid var(--blue-sky)}
.act-col.orange{border-top:8px solid var(--orange)}
.act-col .head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.act-col .head .ico{width:54px;height:54px;border-radius:12px;background:#fff;display:grid;place-items:center;border:2px solid var(--gray-m)}
.act-col .head .ico svg{width:32px;height:32px}
.act-col .head h3{font-size:23px;font-weight:800;color:var(--gray-d)}
.act-col ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.act-col li{font-size:17px;line-height:1.36;display:flex;gap:10px;align-items:flex-start;color:var(--gray-d);font-weight:500}
.act-col li::before{content:"";flex-shrink:0;width:11px;height:11px;border-radius:50%;margin-top:7px;display:block;}
.act-col.sky li::before{background:var(--blue-sky)}
.act-col.orange li::before{background:var(--orange)}

/* map */
.map-wrap{margin:10px 100px 0;}
.map-content{
  display:grid;
  grid-template-columns:1fr 1fr 2fr;
  gap:24px;
  align-items:stretch;
}
.map-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  height:450px;
}
.map-panel-img{
  flex:1;
  min-height:0;
  width:100%;
  display:block;
  border-radius:14px;
  object-fit:contain;
  object-position:center center;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
/* third panel: image fills from top, no extra centering */
.map-panel:last-child .map-panel-img{
  object-position:top center;
}
.map-caption{font-size:16px;color:var(--gray-mid);font-weight:500;text-align:center;}

/* ===== OPS ===== */
.ops{margin:18px 100px 0;background:var(--coral-soft);border-radius:20px;padding:20px 32px 22px;}
.ops h2{text-align:center;color:var(--gray-d);font-size:30px;font-weight:800;letter-spacing:1px;margin-bottom:14px;}
.timeline{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;margin-bottom:14px}
.tl-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0 4px;min-width:0}
.tl-step .ico{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;border:3px solid var(--coral)}
.tl-step .ico svg{width:26px;height:26px}
.tl-step .time{font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:700;color:var(--coral);line-height:1}
.tl-step .lbl{font-size:14px;line-height:1.3;color:var(--gray-d);font-weight:600}
.tl-arrow{align-self:center;margin-top:18px;color:var(--coral);font-size:22px;font-weight:300;flex-shrink:0}
.ops-pipe{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}
.ops-pipe .pbox{
  flex:1;background:#fff;border-radius:12px;padding:12px 14px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:15px;font-weight:600;color:var(--gray-d);line-height:1.32;
  border:2px solid #f3cdc1;
}
.ops-pipe .parr{align-self:center;color:var(--coral);font-size:26px;font-weight:300;flex-shrink:0}
.ops-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.ops-badge{background:rgba(255,255,255,.7);border:1px solid #f0c3b5;border-radius:999px;padding:8px 18px;font-size:15px;font-weight:600;color:var(--gray-d);}
.ops-badge b{color:var(--coral);font-weight:800}

/* ===== CTA ===== */
.cta{margin:18px 100px 0;background:var(--blue-sky-dk);border-radius:18px;padding:20px 36px;color:#fff;text-align:center;}
.cta h2{font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-.5px}
.cta h2 .url{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.cta .sub{font-size:19px;font-weight:500;margin-top:6px;opacity:.95}
.cta .devices{margin-top:10px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500}

/* ===== FOOTER ===== */
.ftr{margin-top:14px;background:var(--gray-l);padding:12px 100px;text-align:center;font-size:15px;color:var(--gray-d);font-weight:500;}

/* ============================================================
   TWEAK VARIANTS
   ============================================================ */

/* ───── VOZ CROMÁTICA · Atmosférica (teal/ochre, scientific) ───── */
body[data-voz="atmosferica"] .hdr{ background:#00897B; }
body[data-voz="atmosferica"] .logo-mark{ color:#00665B; }
body[data-voz="atmosferica"] .logo-mark svg circle,
body[data-voz="atmosferica"] .logo-mark svg rect{ fill:#00665B; }
body[data-voz="atmosferica"] .logo-mark svg path{ stroke:#00665B; }
body[data-voz="atmosferica"] .logo-mark svg path[opacity]{ stroke:#00897B; }

body[data-voz="atmosferica"] .fact .ico svg [fill="#1E88E5"],
body[data-voz="atmosferica"] .fact .ico svg [stroke="#1E88E5"]{ fill:#00665B; }
body[data-voz="atmosferica"] .fact .ico svg [stroke="#1E88E5"]{ stroke:#00665B; fill:none; }

body[data-voz="atmosferica"] .pm25{ border-left-color:#00897B; }
body[data-voz="atmosferica"] .pm25 .ico circle{ fill:#00897B; }
body[data-voz="atmosferica"] .pm25 p b{ color:#1A237E; }

body[data-voz="atmosferica"] .section-title .accent{ color:#00665B; }

body[data-voz="atmosferica"] .algo-final{ background:#C17F24; }

body[data-voz="atmosferica"] .shield-band{ background:#E0F2F0; }
body[data-voz="atmosferica"] .shield-band .t1{ color:#00665B; }
body[data-voz="atmosferica"] .shield-band .ico svg path:first-child{ fill:#00897B; }

body[data-voz="atmosferica"] .how-card.sky{ background:#E0F2F0; }
body[data-voz="atmosferica"] .how-card.sky h3{ color:#00665B; }
body[data-voz="atmosferica"] .how-card.sky .ico{ border-color:#B5DDD5; }
body[data-voz="atmosferica"] .how-arrow{ color:#00897B; }

body[data-voz="atmosferica"] .act-col.sky{ border-top-color:#00897B; }
body[data-voz="atmosferica"] .act-col.sky li::before{ background:#00897B; }

body[data-voz="atmosferica"] .cta{ background:#00665B; }

/* ───── VOZ CROMÁTICA · Activista (coral/red, urgent) ───── */
body[data-voz="activista"] .hdr{ background:#E8735A; }
body[data-voz="activista"] .logo-mark{ color:#B71C1C; }
body[data-voz="activista"] .logo-mark svg circle,
body[data-voz="activista"] .logo-mark svg rect{ fill:#B71C1C; }
body[data-voz="activista"] .logo-mark svg path{ stroke:#B71C1C; }
body[data-voz="activista"] .logo-mark svg path[opacity]{ stroke:#E8735A; }

body[data-voz="activista"] .fact{ background:#FFF1ED; }
body[data-voz="activista"] .fact .ico svg [fill="#1E88E5"]{ fill:#C66900; }
body[data-voz="activista"] .fact .ico svg [stroke="#1E88E5"]{ stroke:#C66900; fill:none; }

body[data-voz="activista"] .pm25{ border-left-color:#E8735A; background:#FFF1ED; }
body[data-voz="activista"] .pm25 .ico circle{ fill:#E8735A; }
body[data-voz="activista"] .pm25 p b{ color:#B71C1C; }

body[data-voz="activista"] .section-title{ letter-spacing:-1px; }
body[data-voz="activista"] .section-title .accent{ color:#E8735A; }

body[data-voz="activista"] .sources{ background:#2B0D0A; }
body[data-voz="activista"] .ensamble{ background:#2B0D0A; }

body[data-voz="activista"] .shield-band{ background:#FFE4DA; }
body[data-voz="activista"] .shield-band .t1{ color:#B71C1C; }
body[data-voz="activista"] .shield-band .ico svg path:first-child{ fill:#E8735A; }

body[data-voz="activista"] .how-card.sky{ background:#FFF1ED; }
body[data-voz="activista"] .how-card.sky h3{ color:#B71C1C; }
body[data-voz="activista"] .how-card.sky .ico{ border-color:#F3CDC1; }
body[data-voz="activista"] .how-arrow{ color:#E8735A; }

body[data-voz="activista"] .act-col.sky{ border-top-color:#E8735A; }
body[data-voz="activista"] .act-col.sky li::before{ background:#E8735A; }
body[data-voz="activista"] .act-col.orange{ border-top-color:#FFC107; }
body[data-voz="activista"] .act-col.orange li::before{ background:#C66900; }

body[data-voz="activista"] .cta{ background:#B71C1C; }

/* ───── TIPOGRAFÍA · Editorial (serif headlines) ───── */
body[data-tipo="editorial"] .hdr h1,
body[data-tipo="editorial"] .section-title,
body[data-tipo="editorial"] .sources h2,
body[data-tipo="editorial"] .ensamble h2,
body[data-tipo="editorial"] .ops h2,
body[data-tipo="editorial"] .cta h2,
body[data-tipo="editorial"] .shield-band .t1,
body[data-tipo="editorial"] .how-card h3,
body[data-tipo="editorial"] .act-col .head h3,
body[data-tipo="editorial"] .source-card .title{
  font-family:'DM Serif Display', Georgia, serif;
  font-weight:400;
  letter-spacing:-.5px;
}
body[data-tipo="editorial"] .hdr h1{ font-weight:400; letter-spacing:-2px; }
body[data-tipo="editorial"] .ica-pill{
  font-family:'DM Serif Display', Georgia, serif; font-weight:400; letter-spacing:1px;
}
body[data-tipo="editorial"] .ica-msg{ font-weight:500; }
body[data-tipo="editorial"] .fact .t1{
  font-family:'DM Serif Display', Georgia, serif; font-weight:400; letter-spacing:-.3px;
}
body[data-tipo="editorial"] .metric .val{
  font-family:'DM Serif Display', Georgia, serif; font-weight:400;
}

/* ───── TIPOGRAFÍA · Técnica (Space Grotesk + IBM Plex Mono) ───── */
body[data-tipo="tecnica"]{
  font-family:'Space Grotesk', system-ui, sans-serif;
}
body[data-tipo="tecnica"] .hdr h1,
body[data-tipo="tecnica"] .section-title,
body[data-tipo="tecnica"] .sources h2,
body[data-tipo="tecnica"] .ensamble h2,
body[data-tipo="tecnica"] .ops h2,
body[data-tipo="tecnica"] .cta h2,
body[data-tipo="tecnica"] .shield-band .t1,
body[data-tipo="tecnica"] .how-card h3,
body[data-tipo="tecnica"] .act-col .head h3,
body[data-tipo="tecnica"] .source-card .title,
body[data-tipo="tecnica"] .fact .t1,
body[data-tipo="tecnica"] .ica-msg,
body[data-tipo="tecnica"] .pm25 p,
body[data-tipo="tecnica"] .how-card p,
body[data-tipo="tecnica"] .act-col li,
body[data-tipo="tecnica"] .cta .sub,
body[data-tipo="tecnica"] .source-card .body{
  font-family:'Space Grotesk', system-ui, sans-serif;
}
body[data-tipo="tecnica"] .hdr h1{ letter-spacing:-3px; font-weight:700; }
body[data-tipo="tecnica"] .section-title{ letter-spacing:-1.5px; }
body[data-tipo="tecnica"] .mono,
body[data-tipo="tecnica"] .ica-range,
body[data-tipo="tecnica"] .metric .val,
body[data-tipo="tecnica"] .tl-step .time,
body[data-tipo="tecnica"] .algo-box,
body[data-tipo="tecnica"] .metric-baseline,
body[data-tipo="tecnica"] .logo-url{
  font-family:'IBM Plex Mono', monospace;
}
body[data-tipo="tecnica"] .ica-pill{
  font-family:'IBM Plex Mono', monospace;
  font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
}
body[data-tipo="tecnica"] .logo-mark{
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:3px;
}

/* ───── ACABADO · Editorial (less rounded, hairline borders) ───── */
body[data-acabado="editorial"] .fact,
body[data-acabado="editorial"] .source-card,
body[data-acabado="editorial"] .how-card,
body[data-acabado="editorial"] .act-col,
body[data-acabado="editorial"] .shield-band,
body[data-acabado="editorial"] .ops-pipe .pbox,
body[data-acabado="editorial"] .metric,
body[data-acabado="editorial"] .algo-box,
body[data-acabado="editorial"] .algo-final{
  border-radius:6px;
}
body[data-acabado="editorial"] .sources,
body[data-acabado="editorial"] .ensamble,
body[data-acabado="editorial"] .ops,
body[data-acabado="editorial"] .cta,
body[data-acabado="editorial"] .ica-row,
body[data-acabado="editorial"] .pm25,
body[data-acabado="editorial"] .logo-mark{
  border-radius:4px;
}
body[data-acabado="editorial"] .ica-pill,
body[data-acabado="editorial"] .ops-badge{ border-radius:4px; }

body[data-acabado="editorial"] .fact{ background:#fff; border:1px solid #D6D6D6; }
body[data-acabado="editorial"] .fact .ico{ border:1px solid #D6D6D6; background:#FAFAFA; }
body[data-acabado="editorial"] .source-card{ background:transparent; border:1px solid rgba(255,255,255,.32); }
body[data-acabado="editorial"] .source-card .ico{ background:transparent; border:1px solid rgba(255,255,255,.32); }
body[data-acabado="editorial"] .how-card.sky,
body[data-acabado="editorial"] .how-card.gray,
body[data-acabado="editorial"] .how-card.green{ background:#fff; border:1px solid #D6D6D6; }
body[data-acabado="editorial"] .act-col{ background:#fff; border:1px solid #D6D6D6; }
body[data-acabado="editorial"] .ops-pipe .pbox{ border:1px solid #D6BDB3; }
body[data-acabado="editorial"] .shield-band{ background:transparent; border:1px solid var(--blue-sky); }
body[data-acabado="editorial"] .logo-mark{ box-shadow:none; border:1px solid rgba(0,0,0,.08); }

/* ───── ACABADO · Cartel (sharp corners, thick borders, poster-y) ───── */
body[data-acabado="cartel"] .fact,
body[data-acabado="cartel"] .source-card,
body[data-acabado="cartel"] .how-card,
body[data-acabado="cartel"] .act-col,
body[data-acabado="cartel"] .shield-band,
body[data-acabado="cartel"] .ops-pipe .pbox,
body[data-acabado="cartel"] .metric,
body[data-acabado="cartel"] .algo-box,
body[data-acabado="cartel"] .algo-final,
body[data-acabado="cartel"] .sources,
body[data-acabado="cartel"] .ensamble,
body[data-acabado="cartel"] .ops,
body[data-acabado="cartel"] .cta,
body[data-acabado="cartel"] .ica-row,
body[data-acabado="cartel"] .pm25,
body[data-acabado="cartel"] .logo-mark{
  border-radius:0;
}
body[data-acabado="cartel"] .ica-pill{ border-radius:0; }
body[data-acabado="cartel"] .ops-badge{ border-radius:0; }
body[data-acabado="cartel"] .source-card .ico,
body[data-acabado="cartel"] .fact .ico,
body[data-acabado="cartel"] .how-card .ico,
body[data-acabado="cartel"] .act-col .head .ico,
body[data-acabado="cartel"] .tl-step .ico,
body[data-acabado="cartel"] .ica-ico{ border-radius:0; }

body[data-acabado="cartel"] .fact{ border:4px solid var(--gray-d); }
body[data-acabado="cartel"] .fact .ico{ border:3px solid var(--gray-d); }
body[data-acabado="cartel"] .source-card{ border:2px solid rgba(255,255,255,.6); }
body[data-acabado="cartel"] .pm25{ border-left-width:24px; border-top:3px solid var(--gray-d); border-right:3px solid var(--gray-d); border-bottom:3px solid var(--gray-d); }
body[data-acabado="cartel"] .ica-row{ border:3px solid var(--gray-d); }
body[data-acabado="cartel"] .ica-row.red,
body[data-acabado="cartel"] .ica-row.purple{ border-color:#fff; }
body[data-acabado="cartel"] .ica-row.brown{ border-color:#fff; }
body[data-acabado="cartel"] .sources{ border:5px solid var(--gray-d); }
body[data-acabado="cartel"] .ensamble{ border:5px solid var(--gray-d); }
body[data-acabado="cartel"] .shield-band{ border:4px solid var(--blue-sky-dk); }
body[data-acabado="cartel"] .how-card{ border:3px solid var(--gray-d); }
body[data-acabado="cartel"] .act-col{ border:3px solid var(--gray-d); }
body[data-acabado="cartel"] .ops{ border:5px solid var(--coral); }
body[data-acabado="cartel"] .ops-pipe .pbox{ border:3px solid var(--coral); }
body[data-acabado="cartel"] .cta{ border:5px solid var(--gray-d); }
body[data-acabado="cartel"] .ica-pill{ border:3px solid currentColor; }
body[data-acabado="cartel"] .logo-mark{ box-shadow:6px 6px 0 rgba(0,0,0,.18); border:3px solid var(--blue-sky-dk); }
body[data-acabado="cartel"] .section-title{ text-transform:uppercase; letter-spacing:1px; }
body[data-acabado="cartel"] .sources h2,
body[data-acabado="cartel"] .ensamble h2,
body[data-acabado="cartel"] .ops h2{ text-transform:uppercase; letter-spacing:2px; }

/* Cartel × Voz-aware borders */
body[data-acabado="cartel"][data-voz="atmosferica"] .pm25{ border-left-color:#00897B; }
body[data-acabado="cartel"][data-voz="atmosferica"] .shield-band{ border-color:#00665B; }
body[data-acabado="cartel"][data-voz="atmosferica"] .logo-mark{ border-color:#00665B; }
body[data-acabado="cartel"][data-voz="activista"] .pm25{ border-left-color:#E8735A; }
body[data-acabado="cartel"][data-voz="activista"] .shield-band{ border-color:#B71C1C; }
body[data-acabado="cartel"][data-voz="activista"] .logo-mark{ border-color:#B71C1C; }

