@charset "utf-8";
.mapa-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:start}
.mapa-col{align-self:stretch}
.mapa-sticky{position:sticky;top:calc(var(--hh) + 20px);display:grid;gap:16px}
.mapa{width:100%;height:auto;background:var(--hielo);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.mp-ebro{fill:none;stroke:#9DBACB;stroke-width:26;stroke-linecap:round}
.mp-ebro2{fill:none;stroke:#C9DCE6;stroke-width:14;stroke-linecap:round}
.mp-huerva{fill:none;stroke:#9DBACB;stroke-width:5;stroke-linecap:round}
.mp-calle{fill:none;stroke:rgba(21,25,29,.12);stroke-width:2}
.mp-rio{font-family:var(--f-display);font-weight:600;font-size:22px;fill:#1A72A6}
.mp-b{cursor:pointer;outline:none}
.mp-b circle.mp-dot{fill:var(--carcasa);stroke:var(--ink);stroke-width:1.5;transition:fill .3s, r .3s}
.mp-b.has circle.mp-dot{fill:var(--ink)}
.mp-b.is-on circle.mp-dot{fill:var(--acc);stroke:var(--acc)}
.mp-b.is-dim{opacity:.35}
.mp-b text{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;fill:var(--ink);text-transform:uppercase;paint-order:stroke;stroke:var(--hielo);stroke-width:4px;stroke-linejoin:round}
.mp-b .mp-n{font-family:var(--f-display);font-weight:600;font-size:16px;fill:var(--carcasa);stroke:none;letter-spacing:0;text-transform:none}
.mp-b:hover circle.mp-dot,.mp-b:focus-visible circle.mp-dot{stroke-width:3}
.mp-b .mp-ring{fill:none;stroke:var(--acc);stroke-width:1.2;opacity:0}
.mp-b.is-on .mp-ring{opacity:1;animation:ring 2s var(--ease) infinite}
@keyframes ring{from{r:16;opacity:.9}to{r:34;opacity:0}}
.casos{display:grid;gap:clamp(40px,5vw,64px)}
.caso{display:grid;gap:14px;scroll-margin-top:calc(var(--hh) + 24px);animation:casoIn .7s var(--ease) both}
@keyframes casoIn{from{opacity:0;transform:translateY(14px)}}
.caso .ph{aspect-ratio:4/3}
.caso-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-3)}
.caso-tipo{color:var(--acc)}
.caso h3{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,2.4vw,36px);line-height:1.05;margin:0}
.caso > p{margin:0;color:var(--ink-2)}
.caso .spec{font-size:14.5px}
.caso blockquote{margin:0;padding:0 0 0 16px;border-left:2px solid var(--acc);font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.3;color:var(--ink)}
.caso blockquote cite{display:block;font-family:var(--f-mono);font-style:normal;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:8px}
.casos-vacio{color:var(--ink-3);font-family:var(--f-mono);font-size:13px}
@media (max-width:980px){
  .mapa-g{grid-template-columns:minmax(0,1fr)}
  .mapa-sticky{position:static}
}

.mp-g{fill:none;stroke:var(--carcasa);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mp-b[data-t] .mp-g{stroke:var(--carcasa)}
.mp-b.is-read circle.mp-dot{fill:var(--acc);stroke:var(--acc);r:17px}
.mp-b.is-read text{fill:var(--acc)}
.caso-ab{margin:0!important;font-size:clamp(26px,2.2vw,34px);line-height:1.05;color:var(--acc)!important}

/* 2.0 · fichas compactas en formato placa */
.casos{gap:clamp(22px,2.6vw,32px)}
.caso{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px 18px;align-items:start;padding-bottom:clamp(22px,2.6vw,32px);border-bottom:1px solid var(--line)}
.caso > .ph{grid-row:span 1;border-radius:3px}
.caso-tx{display:grid;gap:8px;min-width:0}
.caso-tx h3{font-family:var(--f-display);font-weight:600;font-size:clamp(22px,1.9vw,28px);line-height:1.05;margin:0}
.caso-top{display:grid;gap:2px;color:var(--ink-3);font-size:11px}
.caso-tx .caso-ab{font-size:clamp(20px,1.6vw,24px)!important}
.caso-pl,.caso-more{grid-column:1 / -1}
.caso-more summary{cursor:pointer;color:var(--ink-2);padding:4px 0;list-style:none}
.caso-more summary::before{content:"+ ";}
.caso-more[open] summary::before{content:"− ";}
.caso-more p{color:var(--ink-2);margin:8px 0 12px}
.caso-more blockquote{font-size:18px!important}
@media (max-width:640px){ .caso{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .mp-b text{font-size:20px;stroke-width:5px} .mp-b .mp-n{font-size:22px} }
