/* =========================================================
   PENSIÓMETRO · sections.css
   01 Contexto · 02 Serie · 03 Mapa · 04 Pueblos · 05 Versus
   06 Cronología · 07 Fuentes
   ========================================================= */

/* ===== 01 CONTEXTO ===== */
.ctx-grid{display:grid;gap:56px;margin-top:64px}
@media(min-width:980px){.ctx-grid{grid-template-columns:5fr 7fr;gap:80px;align-items:start}}
.bignum{font:700 clamp(5rem,22vw,15rem)/.82 var(--f-num);letter-spacing:-.06em;color:var(--hielo)}
.bignum small{font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:0;color:var(--gris);display:block;margin-top:14px;font-family:var(--f-body);font-weight:500;line-height:1.4}
.dots{display:flex;flex-direction:column;gap:22px}
.drow{display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.drow .nm{grid-column:1}.drow .v{grid-column:2;grid-row:1}.drow .pp{grid-column:1/-1}
@media(min-width:600px){.drow{grid-template-columns:170px 1fr 64px;align-items:center;gap:16px}.drow .nm,.drow .v,.drow .pp{grid-column:auto;grid-row:auto}}
.drow .nm{font:600 .9rem var(--f-body)}
.drow .nm small{display:block;color:var(--gris2);font:400 .74rem/1.3 var(--f-body)}
.drow .nm small .src{padding:2px 0}
.drow .pp{display:flex;flex-wrap:wrap;gap:3px}
.drow .pp i{width:10px;height:18px;border-radius:5px 5px 2px 2px;background:var(--noche3);transform:scale(.6);opacity:.2;transition:transform .5s var(--ease),opacity .45s var(--ease),background .4s}
.drow.in .pp i.f{opacity:1;transform:none;background:var(--celeste)}
.drow.ar.in .pp i.f{background:var(--rojo);box-shadow:0 0 8px rgba(255,77,94,.6)}
.drow .pp i.part{background:linear-gradient(90deg,var(--celeste) var(--p),var(--noche3) var(--p))!important}
.drow.ar .pp i.part{background:linear-gradient(90deg,var(--rojo) var(--p),var(--noche3) var(--p))!important}
.drow .v{font:700 1.15rem var(--f-num);text-align:right}
.drow.ar .v{color:var(--rojo)}
.caveat{margin-top:34px;padding:18px 0 0;border-top:1px dashed rgba(255,176,32,.35);color:var(--gris);font-size:.9rem;max-width:68ch}
.caveat b{color:var(--ambar);font-weight:600}

/* ===== 02 SERIE (estática, en flujo normal: sin sticky ni scroll-linking) ===== */
.serie-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px}
.serie-head h2{font-size:clamp(1.7rem,4.6vw,3.6rem);max-width:18ch}
.serie-read{text-align:right;min-width:9ch}
.serie-read .y{font:500 .8rem var(--f-mono);color:var(--gris);letter-spacing:.12em}
.serie-read .n{font:700 clamp(2.2rem,7vw,4.6rem)/1 var(--f-num);letter-spacing:-.04em;transition:color .4s}
.chart{position:relative;margin-top:28px;width:100%}
.chart svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.ax{font:500 11px var(--f-mono);fill:var(--gris2)}
.mk circle.r{fill:none;stroke:var(--ambar);stroke-width:1.5}
.mk.on circle.r{animation:ring 2s 3}
.mk.peak circle.r{stroke:var(--rojo)}
@keyframes ring{0%{r:5;opacity:1}100%{r:22;opacity:0}}
.mk{opacity:0;transition:opacity .6s}
.mk.on{opacity:1}
.mk text{font:600 11px var(--f-mono);letter-spacing:.06em}
.chart .guide{opacity:0;transition:opacity .2s}
.chart.hov .guide{opacity:1}
.serie-notes{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:14px}
.serie-notes .mono{color:var(--gris2);text-transform:none;letter-spacing:.02em}

/* ===== 03 MAPA ===== */
.map-grid{display:grid;gap:40px;margin-top:56px}
@media(min-width:980px){.map-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px}}
.hexmap{position:relative;max-width:440px;margin:0 auto;width:100%}
.hexmap svg{width:100%;height:auto;overflow:visible;display:block}
.hx{cursor:pointer;outline:none}
.hx path{stroke:var(--noche);stroke-width:3;transition:fill .8s var(--ease),stroke .2s}
.hx text{font:700 12px var(--f-mono);fill:var(--noche);pointer-events:none;letter-spacing:.04em}
.hx.lite text{fill:var(--hielo)}
.hx:hover,.hx.sel{filter:drop-shadow(0 0 14px rgba(255,77,94,.7))}
.hx:focus-visible path{stroke:var(--ambar);stroke-width:4}
.hx.nod path{fill:url(#hatch)!important}
.hx{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.3)}
.hexmap.in .hx{opacity:1;transform:none;transition:opacity .6s var(--ease) var(--dl),transform .9s var(--spring) var(--dl),filter .3s}
.hexmap.in.done .hx{transition:transform .35s var(--spring),filter .3s}
.hexmap.in .hx:hover{transform:scale(1.1)}
.legend{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--gris)}
.legend .bar{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#173a66,var(--celeste),var(--ambar),var(--rojo))}
.map-note{color:var(--gris2);margin-top:10px;text-transform:none;letter-spacing:.02em;line-height:1.5}
.prank{list-style:none;counter-reset:r}
.prank li{display:grid;grid-template-columns:28px 1fr 64px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(79,179,255,.07);font-size:.88rem;cursor:default;transition:background .3s,padding .4s var(--ease)}
.prank li:hover,.prank li.sel{background:linear-gradient(90deg,rgba(255,77,94,.12),transparent);padding-left:8px}
.prank li::before{counter-increment:r;content:counter(r,decimal-leading-zero);font:500 .66rem var(--f-mono);color:var(--gris2)}
.prank .b{height:4px;background:var(--noche3);border-radius:2px;margin-top:5px;overflow:hidden}
.prank .b i{display:block;height:100%;width:var(--w);background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease) var(--dl)}
.prank.in .b i{transform:scaleX(1)}
.prank .v{text-align:right;font:700 .95rem var(--f-num)}
.chaco-vs{display:flex;align-items:baseline;gap:8px 18px;flex-wrap:wrap;margin-top:28px}
.chaco-vs .num{font-size:clamp(2.6rem,8vw,4.6rem);font-weight:700;line-height:1}
.chaco-vs .mono{color:var(--gris)}

/* ===== 04 PUEBLOS ===== */
.loc-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:40px}
.search{flex:1 1 260px;position:relative}
.search input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(79,179,255,.35);border-radius:0;color:var(--hielo);font:500 1.1rem var(--f-body);padding:12px 0 12px 30px;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--gris2)}
.search input:focus{outline:none;border-color:var(--ambar)}
.search input:focus-visible{outline:2px solid var(--ambar);outline-offset:4px}
.search::before{content:"⌕";position:absolute;left:0;top:9px;color:var(--celeste);font-size:1.3rem}
.loc-count{color:var(--gris2);margin-top:14px;text-transform:none;letter-spacing:.02em}
.loc-list{list-style:none;margin-top:18px}
.loc{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 0;border-top:1px solid rgba(79,179,255,.1);position:relative;transition:background .4s}
@media(min-width:900px){.loc{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:32px;align-items:center}}
.loc:hover{background:linear-gradient(90deg,transparent,rgba(79,179,255,.05),transparent)}
.loc h3{font:800 1.15rem/1.15 var(--f-title);text-transform:uppercase;letter-spacing:-.01em;overflow-wrap:break-word}
.loc h3 small{display:block;font:500 .7rem/1.4 var(--f-mono);color:var(--gris2);letter-spacing:.06em;margin-top:5px}
.loc .bw{position:relative;height:32px;background:rgba(15,29,61,.7);border-radius:2px;overflow:hidden}
.loc .bw i{position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,rgba(255,176,32,.25),var(--c));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.loc.in .bw i{transform:scaleX(1)}
.loc .bw span{position:absolute;left:10px;right:10px;top:50%;transform:translateY(-50%);font:700 .95rem var(--f-num);z-index:1;text-shadow:0 1px 6px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc .sub{margin-top:6px;color:var(--gris2);text-transform:none;letter-spacing:.02em}
.loc blockquote{color:var(--gris);font-size:.88rem;font-style:italic}
.loc blockquote::before{content:"“";color:var(--ambar);font:800 1.4rem/0 var(--f-title);margin-right:3px;vertical-align:-.3em}
.loc .nt{font-size:.76rem;color:var(--gris2);margin-top:6px;font-style:normal}
.empty{color:var(--gris);padding:30px 0}

/* ===== 05 VERSUS ===== */
#versus{background:linear-gradient(180deg,transparent,rgba(10,21,48,.8) 20%,rgba(10,21,48,.8) 80%,transparent)}
.chipg{margin-top:26px}
.chipg>p{color:var(--gris2)}
.vs-legend{color:var(--gris2);margin-top:12px;text-transform:none;letter-spacing:.02em}
.vs-legend span{color:var(--rojo)}
.vs-stage{display:grid;gap:28px;margin-top:48px;align-items:center}
@media(min-width:900px){.vs-stage{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:40px}}
.vs-g{text-align:center;min-width:0}
.vs-g svg{width:100%;max-width:380px;height:auto;overflow:visible}
.vs-g .lab{font:800 1.3rem var(--f-title);text-transform:uppercase;margin-top:-6px}
.vs-g .val{font:700 2rem var(--f-num)}
.vs-g .what{color:var(--gris);font-size:.82rem;max-width:36ch;margin:4px auto 0}
.vs-x{text-align:center}
.vs-x .ratio{font:700 clamp(3.4rem,11vw,7rem)/1 var(--f-num);color:var(--rojo);letter-spacing:-.05em;text-shadow:0 0 40px rgba(255,77,94,.4)}
.vs-x .ratio.neg{color:var(--celeste);text-shadow:0 0 40px rgba(79,179,255,.4)}
.vs-x .cta{font:600 .7rem var(--f-mono);letter-spacing:.12em;color:var(--gris);text-transform:uppercase}
.vs-x .acc{font:500 .78rem var(--f-mono);color:var(--gris2);margin-top:10px}
.vs-foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px 28px;color:var(--gris);font-size:.85rem}
.vs-foot .nts{flex-basis:100%;font-size:.8rem;color:var(--gris2)}
.titulares{list-style:none;margin-top:80px;columns:1;column-gap:48px}
@media(min-width:900px){.titulares{columns:2}}
.titulares li{break-inside:avoid;padding:22px 0;border-top:1px solid rgba(79,179,255,.1);transition:opacity .4s}
.titulares li p{font:800 1.12rem/1.2 var(--f-title);letter-spacing:-.01em}
.titulares li code{display:block;margin-top:8px;font:500 .76rem/1.4 var(--f-mono);color:var(--ambar);overflow-wrap:anywhere}
.titulares li.hl p{color:var(--rojo)}
.titulares li .srcs{display:flex;flex-wrap:wrap;gap:0 14px;margin-top:4px}

/* ===== 06 CRONOLOGÍA DE CONTEXTO ===== */
.tl{position:relative;margin-top:40px;list-style:none;padding-left:26px}
.tl::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:linear-gradient(var(--celeste),var(--rojo))}
.tl li{position:relative;padding:18px 0;display:grid;gap:6px}
@media(min-width:900px){.tl li{grid-template-columns:130px minmax(0,1fr) 220px;gap:28px;align-items:baseline}}
.tl li::before{content:"";position:absolute;left:-25px;top:26px;width:9px;height:9px;border-radius:50%;background:var(--noche);border:2px solid var(--celeste);transition:background .3s,transform .4s var(--spring)}
.tl li:hover::before{background:var(--rojo);border-color:var(--rojo);transform:scale(1.5)}
.tl .f{font:500 .74rem var(--f-mono);color:var(--celeste);letter-spacing:.06em}
.tl .h{font-size:.98rem}
.tl .h .nt{color:var(--gris2);font-size:.82rem;margin-top:4px}
.tl .vv{font:700 1.5rem/1.15 var(--f-num);text-align:left;overflow-wrap:anywhere}
@media(min-width:900px){.tl .vv{text-align:right}}
.tl .cat{font:500 .62rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris2);display:block;margin-bottom:2px}
.tl-empty{color:var(--gris);margin-top:30px}

/* ===== 07 FUENTES ===== */
.fuentes{display:grid;gap:48px;margin-top:48px}
@media(min-width:980px){.fuentes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.fuentes h3{font:800 .9rem var(--f-title);text-transform:uppercase;letter-spacing:.06em;color:var(--celeste);margin:28px 0 10px}
.fuentes h3.top{color:var(--hielo);font-size:1.1rem}
.fuentes ul{list-style:none}
.fuentes li{font-size:.82rem;color:var(--gris);padding:7px 0;border-bottom:1px solid rgba(79,179,255,.06);overflow-wrap:anywhere}
.fuentes li a{color:var(--hielo);border-bottom:1px solid rgba(79,179,255,.35)}
.fuentes li a:hover,.fuentes li a:focus-visible{color:var(--celeste)}
.fuentes p{color:var(--gris2);font-size:.82rem;margin:6px 0}
.metod{margin-top:40px;max-width:80ch;color:var(--gris);font-size:.92rem}
.metod li{margin:8px 0 0 18px}
@media(max-width:640px){.serie-read{text-align:left}}
/* Versus en móvil: los dos medidores lado a lado y el ratio debajo, para comparar de un vistazo */
@media(max-width:899px){
  .vs-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"a b" "x x";gap:20px 12px;align-items:start}
  #vsA{grid-area:a}#vsB{grid-area:b}.vs-x{grid-area:x}
  .vs-g .lab{font-size:.95rem}.vs-g .val{font-size:1.35rem}.vs-g .what{font-size:.74rem}
}
.chip.nodata{opacity:.55;border-style:dashed}.chip.nodata:hover,.chip.nodata[aria-pressed=true]{opacity:1}
@media(min-width:980px){.ctx-grid{margin-top:80px}.dots{padding-top:28px}}

.vs-x .acc2{font:500 .72rem var(--f-mono);color:var(--gris2);margin-top:4px}
.vs-war{margin-top:28px;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);max-width:80ch}
.vs-war summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font:800 .95rem var(--f-title);text-transform:uppercase;letter-spacing:.02em;color:var(--hielo);list-style:none}
.vs-war summary::-webkit-details-marker{display:none}
.vs-war summary::before{content:"+";color:var(--celeste);font:700 1.2rem var(--f-num);width:1em;transition:transform .3s var(--ease)}
.vs-war[open] summary::before{transform:rotate(45deg)}
.vs-war summary:focus-visible{outline:2px solid var(--ambar);outline-offset:2px}
.vs-war-body{padding:0 0 18px;color:var(--gris);font-size:.9rem}
.vs-war-body p,.vs-war-body li{margin:8px 0;color:var(--gris);font-size:.9rem}
.vs-war-body h3{font:800 .85rem var(--f-title);text-transform:uppercase;color:var(--celeste);margin:16px 0 6px}
.vs-war-body ul{list-style:none}.vs-war-body a{color:var(--hielo);border-bottom:1px solid rgba(79,179,255,.35);overflow-wrap:anywhere}


/* ===== IMPACTO: dic-2003 → dic-2023 por mandato ===== */
#impacto{--sel:var(--celeste);padding-top:64px;padding-bottom:72px;overflow:hidden;isolation:isolate;
  background:radial-gradient(60% 55% at 25% 45%,rgba(255,77,94,.10),transparent 70%),linear-gradient(180deg,transparent,rgba(10,21,48,.6) 30%,transparent)}
#impacto::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(-45deg,rgba(255,77,94,.05) 0 2px,transparent 2px 18px);-webkit-mask-image:linear-gradient(90deg,#000,transparent 60%);mask-image:linear-gradient(90deg,#000,transparent 60%)}
#impacto.hit::before{animation:ishake .45s .2s both}
@keyframes ishake{0%,100%{transform:none}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-2px,0)}80%{transform:translate(1px,1px)}}
#impacto .kicker{color:var(--ambar);margin-bottom:12px}
.imp-claim{font:800 clamp(1.15rem,2.6vw,2rem)/1.12 var(--f-title);text-transform:uppercase;letter-spacing:-.015em;max-width:40ch}
.imp-claim b{color:var(--ambar);font-weight:800}.imp-claim em{font-style:normal;color:var(--rojo)}

.imp-stage{position:relative;display:grid;gap:14px;margin-top:26px}
@media(min-width:960px){.imp-stage{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:56px;align-items:center}}
.imp-link{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.imp-link path{fill:none;stroke-width:1.5;stroke-dasharray:4 5;opacity:.7}

/* ficha de detalle */
.imp-detail{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:center;
  padding:18px 18px 16px;border:1px solid color-mix(in srgb,var(--sel) 45%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--sel) 10%,rgba(10,21,48,.85)),rgba(6,13,31,.9));transition:border-color .5s}
@media(min-width:960px){.imp-detail{padding:28px 30px 24px;column-gap:24px}}
.imp-face .face{width:clamp(64px,9vw,118px)}
.imp-meta{min-width:0}
.imp-who-big{font:800 clamp(1.05rem,2.4vw,1.8rem)/1.05 var(--f-title);text-transform:uppercase;color:var(--hielo)}
.imp-range{color:var(--gris);margin-top:6px;text-transform:none;letter-spacing:.02em;line-height:1.4}
.imp-n,.imp-cap,.imp-pct-w,.imp-note{grid-column:1/-1}
.imp-n{display:flex;align-items:flex-end;margin-top:12px;font:700 clamp(2.6rem,12.5vw,8.6rem)/1 var(--f-num);letter-spacing:-.055em;color:var(--hielo);min-height:1em}
@media(min-width:960px){.imp-n{font-size:clamp(4rem,7.6vw,8.6rem)}}
.imp-n .d{height:1em;overflow:hidden;display:inline-block;width:.6em;text-align:center}
.imp-n .d>span{display:flex;flex-direction:column;transition:transform 2s cubic-bezier(.2,1.2,.3,1)}
.imp-detail.short .imp-n .d>span{transition-duration:.9s}
.imp-n .d>span>i{font-style:normal;height:1em;line-height:1em}
.imp-n .sep{width:.24em;text-align:center;color:var(--sel)}
#impacto.hit .imp-n{animation:ipulse 1.4s ease-out 1 both}
#impacto.is-down .imp-n{color:#C3C8D0}
@keyframes ipulse{0%{text-shadow:0 0 0 transparent}40%{text-shadow:0 0 60px color-mix(in srgb,var(--sel) 90%,transparent)}100%{text-shadow:0 0 26px color-mix(in srgb,var(--sel) 40%,transparent)}}
.imp-cap{color:var(--gris);font:500 clamp(.88rem,1.4vw,1.05rem)/1.35 var(--f-body);margin-top:4px}
.imp-pct-w{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 18px;margin-top:6px}
.imp-pct{font:700 clamp(2.4rem,11vw,6.4rem)/.95 var(--f-num);letter-spacing:-.06em;color:var(--sel);opacity:0;transform:scale(2.4) rotate(-6deg);transform-origin:0 60%}
#impacto.hit .imp-pct{opacity:1;transform:rotate(-3deg);transition:transform .5s var(--spring),opacity .12s}
.imp-mul{color:var(--gris)}
.imp-note{color:var(--sel);font:600 .86rem var(--f-body);margin-top:6px;min-height:1.2em}
#impacto.is-down .imp-note,#impacto.is-down .imp-pct{color:#9CA3AF}

/* caras */
.face{position:relative;display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--c);background:var(--noche3);flex:none;
  box-shadow:0 0 0 3px rgba(6,13,31,.9);transition:box-shadow .4s,transform .4s var(--spring)}
.face img{width:100%;height:100%;object-fit:cover;object-position:var(--o,50% 30%);transform:scale(var(--z,1.2));transform-origin:var(--o,50% 30%);
  filter:grayscale(1) contrast(1.05) brightness(.85);transition:filter .5s var(--ease)}
.face::after{content:"";position:absolute;inset:0;background:var(--c);mix-blend-mode:color;opacity:.55;transition:opacity .5s}
.face.on img,.imp-card[aria-pressed=true] .face img{filter:none}
.face.on::after,.imp-card[aria-pressed=true] .face::after{opacity:0}
.face.on{box-shadow:0 0 0 3px rgba(6,13,31,.9),0 0 34px color-mix(in srgb,var(--c) 70%,transparent);animation:faceon .6s var(--spring)}
@keyframes faceon{from{transform:scale(.85)}to{transform:none}}
.face-total{display:grid;place-items:center}.face-total b{font:700 clamp(1.4rem,3vw,2.6rem) var(--f-num);color:var(--c)}
.face-total::after{display:none}
.imp-card .face{width:54px}

/* fichas */
.imp-cards{position:relative;z-index:1;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:6px 2px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
@media(min-width:960px){.imp-cards{flex-direction:column;overflow:visible!important;padding:0;gap:8px}}
.imp-card{all:unset;box-sizing:border-box;cursor:pointer;scroll-snap-align:center;flex:0 0 auto;width:150px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 10px;align-items:center;
  padding:10px 12px;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);background:rgba(10,21,48,.75);position:relative;
  opacity:0;transform:translateY(24px) scale(.96);transition:opacity .6s var(--ease),transform .7s var(--spring),border-color .3s,background .3s,box-shadow .3s}
@media(min-width:960px){.imp-card{width:auto;grid-template-columns:auto 1fr 70px;grid-template-rows:auto;padding:10px 14px}}
#impacto.in .imp-card{opacity:1;transform:none;transition-delay:calc(var(--i)*90ms),calc(var(--i)*90ms),0s,0s,0s}
#impacto.in .imp-card:hover,#impacto.in .imp-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.35);border-color:var(--c);transition-delay:0s}
.imp-card:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}
.imp-card[aria-pressed=true]{border-color:var(--c);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 18%,rgba(10,21,48,.9)),rgba(10,21,48,.9));box-shadow:0 0 0 1px var(--c) inset}
.ic-txt{display:flex;flex-direction:column;min-width:0}
.ic-n{font:800 .8rem/1.1 var(--f-title);text-transform:uppercase;color:var(--hielo)}
.ic-y{color:var(--gris);font-size:.64rem}
.ic-d{font:700 .8rem var(--f-num);color:var(--c);margin-top:2px;white-space:nowrap}
.imp-card.down .ic-d{color:#9CA3AF}.ic-d i{font-style:normal;margin-right:3px}
.ic-bar{grid-column:1/-1;height:34px;position:relative;background:rgba(15,29,61,.7);overflow:hidden}
@media(min-width:960px){.ic-bar{grid-column:auto;height:40px}}
.ic-bar i{position:absolute;left:0;right:0;bottom:0;height:var(--h);background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 25%,transparent));transform:scaleY(0);transform-origin:bottom;transition:transform 1.1s var(--ease) calc(var(--i)*90ms + .3s),filter .3s}
#impacto.in .ic-bar i{transform:none}
.imp-card:hover .ic-bar i,.imp-card[aria-pressed=true] .ic-bar i{filter:brightness(1.35) drop-shadow(0 0 6px var(--c))}
.imp-card.down .ic-bar i{background:repeating-linear-gradient(-45deg,#6B7280 0 4px,#4B5260 4px 8px)}
.imp-card.down .ic-bar::after{content:"▼";position:absolute;right:6px;top:4px;font-size:.7rem;color:#9CA3AF}

.imp-tools{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;margin-top:18px}
.imp-q{all:unset;cursor:help;box-sizing:border-box;min-height:44px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--gris);font:500 clamp(.92rem,1.5vw,1.08rem)/1.4 var(--f-body);border-bottom:1px dashed rgba(255,176,32,.5)}
.imp-q b{color:var(--hielo)}.imp-q span{color:var(--ambar)}
.imp-q:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}
.imp-k{color:var(--gris2);margin-top:10px;text-transform:none;letter-spacing:.02em;line-height:1.5}
.imp-k b{color:var(--ambar)}
.imp-credit{color:var(--gris2);margin-top:8px;text-transform:none;letter-spacing:.02em;font-size:.62rem}
.img-credits{margin-top:40px;max-width:90ch}
.img-credits h3{font:800 .9rem var(--f-title);text-transform:uppercase;letter-spacing:.06em;color:var(--celeste);margin-bottom:10px}
.img-credits ul{list-style:none}.img-credits li,.img-credits p{font-size:.8rem;color:var(--gris);padding:5px 0}
.img-credits a{color:var(--hielo);border-bottom:1px solid rgba(79,179,255,.35)}
@media(max-width:959px){
  .imp-detail{padding:14px}
  .imp-n{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.imp-pct{opacity:1;transform:rotate(-3deg)}.imp-card{opacity:1;transform:none}.ic-bar i{transform:none}}

/* fichas del carrusel: sin desbordes en móvil */
.imp-card{overflow:hidden}
.ic-n{text-wrap:balance;overflow-wrap:anywhere}
.ic-d{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;white-space:normal;font-size:clamp(.78rem,3.6vw,.95rem)}
.ic-d .ic-p{opacity:.85}
@media(max-width:959px){
  .imp-cards{padding:6px 16px 12px;margin:0 calc(var(--gut) * -1);scroll-padding-inline:16px}
  .imp-card{width:min(78vw,300px);padding:14px 16px;grid-template-columns:56px minmax(0,1fr);column-gap:14px}
  .imp-card .face{width:56px}
  .ic-n{font-size:.78rem}
}
@media(max-width:959px){#impacto.hit .imp-pct{transform:rotate(-2deg)}.imp-pct{font-size:clamp(2.2rem,10.5vw,4rem)}}
.imp-n .sep:first-child{width:.62em}
