  :root{
    --ink:#111110 !important;
    --ink-soft:#333230 !important;
    --muted:#6b6864 !important;
    --line:#e2ddd4 !important;
    --paper:#f4f8fb !important;
    --paper-2:#f4f0e8 !important;
    --accent:#114469 !important;
    --accent-2:#114469 !important;
    --hero-bg:#090808 !important;
    --hero-ink:#f4f8fb !important;
    --measure:40rem !important;
    --serif:"Libre Franklin", Helvetica, Arial, sans-serif !important;
    --sans:"Libre Franklin", Helvetica, Arial, sans-serif !important;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:#ecf3f7;
    color:var(--ink);
    font-family:var(--serif);
    font-size:20px;
    line-height:1.72;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  #progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:var(--accent);z-index:100;transition:width .1s linear;
  }

  .hero{
    position:relative;
    min-height:100vh;
    background:var(--hero-bg);
    color:var(--hero-ink);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:6rem 1.5rem 4rem;
    overflow:hidden;
    isolation:isolate;
  }
  .hero::before{
    content:"";position:absolute;inset:0;z-index:2;
    background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.028) 0 1px, transparent 1px 46px);
    pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;inset:0;z-index:2;
    background:radial-gradient(120% 90% at 50% 0%, transparent 40%, rgba(0,0,0,.55) 100%);
    pointer-events:none;
  }
  .hero-bg,.hero-reveal{
    position:absolute;inset:0;
    background-size:cover;
    background-position:top center; /* ancla arriba: si se recorta, se oculta la parte inferior */
    background-repeat:no-repeat;
    pointer-events:none;
  }
  .hero-bg{
    z-index:0;
    background-image:linear-gradient(rgba(13,12,11,.45),rgba(13,12,11,.45)),url("https://integracion.go.com.hn/elheraldo/images/08/policia_1.jpg");
  }
  .hero-reveal{
    z-index:1;
    pointer-events:auto; /* recibe hover para tomar el control de la linterna */
    --mx:-9999px;--my:-9999px;
    background-image:url("https://integracion.go.com.hn/elheraldo/images/08/policia_2.jpg");
    -webkit-mask-image:radial-gradient(circle 170px at var(--mx) var(--my), #000 0 48%, rgba(0,0,0,.35) 78%, transparent 100%);
            mask-image:radial-gradient(circle 170px at var(--mx) var(--my), #000 0 48%, rgba(0,0,0,.35) 78%, transparent 100%);
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  }
  @media (hover:none),(pointer:coarse){
    .hero-reveal{ pointer-events:none; }
  }
  .hero-inner{position:relative;z-index:2;max-width:70rem;text-align:center;}
  .kicker{
    font-family:var(--sans);
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--hero-ink);
    margin:0 0 2.2rem;
    display:inline-flex;align-items:center;gap:.9rem;
  }
  .kicker::before,.kicker::after{
    content:"";width:34px;height:1px;background:rgba(244,248,251,.35);display:inline-block;
  }
  .kicker-logo{
    display:block;height:40px;width:auto;margin:0 auto 2.2rem;
  }
  .hero-logos{
    display:flex;align-items:center;justify-content:center;
    gap:1.1rem;margin:0 auto 2.2rem;
  }
  .hero-logos .kicker-logo{margin:0;}
  .logo-link .kicker-logo{height:22px;}
  .logo-link{display:inline-flex;transition:opacity .2s ease;}
  .logo-link:hover{opacity:.75;}
  .logo-sep{width:1px;height:26px;background:rgba(244,248,251,.28);flex:none;}
  .hero h1{
    font-family:var(--serif);
    font-weight:800;
    font-size:clamp(2.4rem, 6vw, 4.9rem);
    line-height:1.06;
    letter-spacing:-.005em;
    text-transform:uppercase;
    margin:0 auto;
    max-width:20ch;
    text-wrap:balance;
  }
  .hero .subtitle{
    font-family:var(--sans);
    font-weight:500;
    font-size:clamp(1rem,2.4vw,1.5rem);
    line-height:1.35;
    letter-spacing:.005em;
    color:rgba(244,248,251,.8);
    max-width:36rem;
    margin:1.3rem auto 0;
    text-wrap:balance;
  }
  .hero .sub{
    font-family:var(--serif);
    font-style:italic;
    font-size:clamp(1.05rem,2.2vw,1.4rem);
    color:rgba(244,248,251,.72);
    max-width:34rem;
    margin:1.8rem auto 0;
    line-height:1.5;
  }
  .byline{
    font-family:var(--sans);
    font-weight:500;
    letter-spacing:.04em;
    font-size:1.02rem;
    color:rgba(244,248,251,1);
    margin-top:2.6rem;
  }
  .byline .name{color:#fff;font-weight:600;}
  .dateline{
    font-family:var(--sans);
    font-size:.84rem;letter-spacing:normal;text-transform:uppercase;
    color:rgba(244,248,251,1);margin-top:.7rem;
  }
  .scroll-cue{
    position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
    z-index:2;font-family:var(--sans);font-size:.66rem;letter-spacing:.24em;
    text-transform:uppercase;color:rgba(244,248,251,.5);text-align:center;
  }
  .scroll-cue .arrow{display:block;margin:.6rem auto 0;width:1px;height:34px;background:rgba(244,248,251,.4);position:relative;animation:dip 2s ease-in-out infinite;}
  .scroll-cue .arrow::after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid rgba(244,248,251,.5);border-bottom:1px solid rgba(244,248,251,.5);transform:rotate(45deg);}
  @keyframes dip{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:.9;transform:translateY(6px)}}

  /* Portada en dos columnas: texto a la izquierda, imagen (linterna) a la derecha — solo desktop */
  @media (min-width:860px){
    .hero{ align-items:flex-start; text-align:left; padding-left:max(5vw,2.5rem); }
    .hero-bg,.hero-reveal{ left:50%; }
    .hero-inner{
      width:50%; max-width:38rem; text-align:left; margin:0; padding-right:3rem;
    }
    .hero-logos{ justify-content:flex-start; }
    .hero h1{ margin:0; max-width:16ch; text-wrap:balance; }
    .hero .subtitle{ margin-left:0; margin-right:0; }
    .hero .sub{ margin-left:0; margin-right:0; }
    .byline,.dateline{ text-align:left; }
  }

  .intro{
    min-height:60vh;
    display:flex;align-items:center;justify-content:center;
    padding:4.5rem 1.5rem 9rem;
    background:#000;
  }
  .intro-inner{
    max-width:60rem;text-align:center;
    opacity:0;transform:translateY(18px);
    transition:opacity 1.4s ease, transform 1.4s ease;
  }
  .intro-inner.visible{opacity:1;transform:none;}
  .intro .label{
    font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.24em;
    text-transform:uppercase;color:var(--accent);margin:0 0 1.6rem;
    display:flex;align-items:center;gap:1rem;
  }
  .intro .label::after{content:"";flex:1;height:1px;background:var(--line);}
  .intro p{
    font-family:var(--serif);
    font-size:clamp(1.35rem,3vw,1.9rem);
    line-height:1.35;
    font-weight:500;
    color:#7795ab;
    margin:0;
    letter-spacing:-.005em;
    text-wrap:pretty;
  }
  .intro p .lead-cap{
    float:left;font-weight:700;font-size:4.6em;line-height:.78;
    padding:.05em .12em 0 0;color:var(--accent);font-family:var(--serif);
  }

  .article{
    max-width:var(--measure);
    margin:0 auto;
    padding:5.5rem 1.5rem 3rem;
  }
  .article blockquote,
  .article .pull,
  .article .stats,
  .article figure,
  .article img{
    opacity:0;transform:translateY(18px);
    transition:opacity .7s ease, transform .7s ease;
  }
  .article .visible{opacity:1;transform:none;}

  .article p{
    margin:0 0 1.5rem;
    color:var(--ink-soft);
    text-wrap:pretty;
  }

  .subhead{
    font-family:var(--sans);
    font-weight:800;
    font-size:1.5rem;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--accent);
    margin:3.6rem 0 1.9rem;
    display:flex;align-items:baseline;gap:1rem;
  }
  .subhead .n{
    font-family:var(--serif);font-style:italic;font-weight:400;
    font-size:1rem;color:var(--muted);letter-spacing:0;text-transform:none;
  }

  .article .body-lead::first-letter{
    -webkit-initial-letter:3;
    initial-letter:3;
    font-weight:600;color:var(--ink);
    margin-right:10px;
  }

  blockquote{
    margin:2.8rem 0;padding:0 0 0 1.6rem;
    border-left:3px solid var(--accent);
  }
  blockquote p{
    font-family:var(--serif);font-style:italic;
    font-size:1.25rem;line-height:1.5;color:var(--ink);margin:0 0 .8rem;
  }
  blockquote cite{
    font-family:var(--sans);font-style:normal;font-weight:600;
    font-size:.8rem;letter-spacing:.02em;color:var(--muted);
    display:block;text-transform:none;
  }

  .pull{
    margin:3.4rem 0;text-align:center;
  }
  .pull p{
    font-family:var(--serif);font-weight:600;font-style:italic;
    font-size:clamp(1.5rem,3.6vw,2.15rem);line-height:1.32;
    color:var(--ink);letter-spacing:-.01em;max-width:24ch;margin:0 auto;
  }
  .pull .mark{color:var(--accent);}

  .stats{
    margin:3rem 0;padding:2rem 1.6rem;
    background:var(--paper-2);border:1px solid var(--line);
  }
  .stats .st-title{
    font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--muted);margin:0 0 1.6rem;
  }
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
  .stat{text-align:center;}
  .stat .num{
    font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,5vw,2.7rem);
    line-height:1;color:var(--accent);letter-spacing:-.02em;
  }
  .stat .lbl{
    font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.04em;
    color:var(--muted);margin-top:.5rem;text-transform:uppercase;
  }
  @media (max-width:520px){
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.6rem 1rem;}
  }

  /* Timeline embebido */
  .tl{ margin:2.6rem 0; }
  .tl-title{
    font-family:var(--serif);font-weight:800;font-size:clamp(1.35rem,3.2vw,1.75rem);
    line-height:1.16;color:var(--ink);margin:0 0 .7rem;letter-spacing:-.012em;text-wrap:balance;
  }
  .tl-sub{
    font-family:var(--sans);font-weight:400;font-size:.96rem;line-height:1.5;
    color:var(--muted);margin:0 0 1.9rem;max-width:36rem;
  }
  .tl-legend{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin:0 0 1.7rem; }
  .tl-key{
    font-family:var(--sans); font-weight:500; font-size:.72rem; letter-spacing:.03em;
    color:var(--muted); display:inline-flex; align-items:center;
  }
  .tl-key::before{
    content:""; width:11px; height:11px; border-radius:50%; margin-right:.5rem;
    background:var(--accent);
  }
  .tl-key--kill::before{ background:#cc2013; box-shadow:0 0 0 2px rgba(204,32,19,.18); }

  .tl-list{ list-style:none; margin:0; padding:0; position:relative; }
  .tl-list::before{
    content:""; position:absolute; left:7px; top:.5rem; bottom:.5rem;
    width:2px; background:#ccc;
  }
  .tl-item{ position:relative; padding:0 0 0.2rem 2.15rem; }
  .tl-item:last-child{ padding-bottom:0; }
  .tl-dot{
    position:absolute; left:1px; top:.42rem;
    width:14px; height:14px; border-radius:50%; background:#ecf3f7; border:2px solid var(--accent);
  }
  .tl-item--org .tl-dot{ background:#ecf3f7; border:2px solid var(--accent); }
  .tl-item--kill .tl-dot{
    width:16px; height:16px; left:0; top:.36rem;
    background:#cc2013; border:none; box-shadow:0 0 0 3px rgba(204,32,19,.16);
  }
  .tl-row{ margin:0; line-height:1.46; font-size:1rem; color:var(--ink-soft); text-wrap:pretty; }
  .tl-year{
    font-family:var(--sans); font-weight:700; font-size:.8rem; letter-spacing:.03em;
    color:var(--accent); margin-right:.55rem; white-space:nowrap;
  }
  .tl-item--kill .tl-row{ color:var(--ink); }
  .tl-item--kill .tl-year{ color:#cc2013; }

  /* Efecto de hojas apiladas (expedientes) detras de las tarjetas de datos.
     La hoja de ARRIBA (con la info) queda recta; solo rotan las de atras. */
  .paper-stack{ position:relative; z-index:0; margin:3.8rem 0; }
  /* el envoltorio hereda la expansion horizontal que antes tenia el figure */
  .paper-stack--wide{
    margin:4.4rem 0;
    margin-inline:calc(-1 * clamp(0rem, (100vw - 40rem)/2 - 1.5rem, 6.5rem));
  }
  .paper-stack--wider{
    margin:4.4rem 0;
    margin-inline:calc(-1 * clamp(0rem, (100vw - 40rem)/2 - 1.5rem, 13rem));
  }
  .paper-stack > .dataviz{
    position:relative;
    z-index:1;             /* hoja superior, por encima de las de atras */
    margin:0;              /* la expansion la lleva el envoltorio */
    box-shadow:0 4px 14px rgba(0,0,0,.07);
  }
  /* Padding equilibrado solo para las fichas tipo expediente (timeline) */
  .paper-stack > .tl, .paper-stack > .lsheet{
    padding-top:3.4rem;    /* mas aire arriba */
    padding-bottom:1.1rem; /* menos espacio abajo */
  }
  .paper-stack::before, .paper-stack::after{
    content:"";
    position:absolute;
    inset:0;
    background:#fff;
    border:1px solid var(--line);
    z-index:0;             /* detras de la hoja superior */
    pointer-events:none;
  }
  /* Hoja intermedia */
  .paper-stack::before{
    transform:translate(9px,11px) rotate(1.1deg);
    box-shadow:0 6px 16px rgba(0,0,0,.055);
  }
  /* Hoja del fondo */
  .paper-stack::after{
    transform:translate(-7px,19px) rotate(-1.4deg);
    box-shadow:0 9px 22px rgba(0,0,0,.05);
  }
  /* En las tarjetas anchas, rotacion mas leve para no generar scroll horizontal */
  .paper-stack--wide::before, .paper-stack--wider::before{
    transform:translate(7px,10px) rotate(.5deg);
  }
  .paper-stack--wide::after, .paper-stack--wider::after{
    transform:translate(-6px,16px) rotate(-.7deg);
  }
  @media (max-width:560px){
    .paper-stack::before{ transform:translate(6px,8px) rotate(.8deg); }
    .paper-stack::after{ transform:translate(-5px,14px) rotate(-1deg); }
    .paper-stack--wide::before, .paper-stack--wider::before{ transform:translate(5px,7px) rotate(.4deg); }
    .paper-stack--wide::after, .paper-stack--wider::after{ transform:translate(-4px,12px) rotate(-.6deg); }
  }

  .end-rule{
    width:44px;height:3px;background:var(--accent);
    margin:3.5rem auto 0;
  }
  .footer{
    max-width:var(--measure);margin:0 auto;padding:3rem 1.5rem 6rem;
    border-top:1px solid var(--line);margin-top:3rem;
  }
  .footer .credit{
    font-family:var(--sans);font-size:.9rem;color:var(--muted);line-height:1.7;
  }
  .footer .credit strong{color:var(--ink);font-weight:600;}
  .footer .note{
    font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);
    margin-top:1.4rem;line-height:1.6;
  }

  /* Footer de creditos (oscuro, cierra el reportaje) */
  .credits{
    background:var(--accent);
    color:var(--hero-ink);
    margin-top:5rem;
    padding:3.1rem 1.5rem 2.9rem;
  }
  .credits-inner{ max-width:60rem; margin:0 auto; }
  .credits-title{
    font-family:var(--sans);
    font-weight:700;
    font-size:.82rem;
    letter-spacing:.34em;
    text-transform:uppercase;
    text-align:center;
    color:var(--hero-ink);
    margin:0 0 2rem;
  }
  .credits-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    text-align:center;
  }
  .credit-col{ padding:.4rem 1.5rem; position:relative; }
  .credit-col + .credit-col::before{
    content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
    width:1px; height:58px; background:rgba(244,248,251,.16);
  }
  .credit-role{
    font-family:var(--sans);
    font-weight:600;
    font-size:.7rem;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:rgba(244,248,251,.52);
    margin:0 0 .75rem;
  }
  .credit-name{
    font-family:var(--serif);
    font-weight:700;
    font-size:1.18rem;
    color:var(--hero-ink);
    margin:0;
    letter-spacing:-.01em;
    text-wrap:balance;
  }
  .credits-logos{
    display:flex; align-items:center; justify-content:center;
    gap:2.6rem; flex-wrap:wrap;
    margin-top:2.2rem;
  }
  .credits-logos .logo-link{ display:inline-flex; transition:opacity .2s ease; }
  .credits-logos .logo-link:hover{ opacity:.72; }
  .credits-logos img{ display:block; width:auto; }
  .credits-logos .c-eh{ height:18px; }
  .credits-logos .c-connectas{ height:34px; }
  @media (max-width:560px){
    .credits{ padding:3.6rem 1.5rem 3rem; }
    .credits-grid{ grid-template-columns:1fr; gap:1.9rem 0; }
    .credit-col{ padding:0; }
    .credit-col + .credit-col::before{ display:none; }
    .credits-logos{ gap:2rem; }
  }

  .photo{
    margin:2.6rem 0 2.9rem;
  }
  .photo img{
    display:block;width:100%;height:auto;
  }
  .photo figcaption{
    font-family:var(--sans);font-size:.78rem;line-height:1.5;
    color:var(--muted);margin-top:.7rem;
  }
  .photo figcaption .credit{
    display:inline;margin-top:0;font-size:inherit;
    letter-spacing:inherit;text-transform:none;color:var(--muted);
  }

  /* Par de fotos a ancho completo (12 columnas) */
  .photo-duo{
    margin:4.4rem 0;
    margin-inline:calc(-1 * clamp(0rem, (100vw - 40rem)/2 - 1.5rem, 13rem));
  }
  .photo-duo .duo-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start;
  }
  .photo-duo img{display:block;width:100%;height:auto;}
  .photo-duo figcaption{
    font-family:var(--sans);font-size:.78rem;line-height:1.5;
    color:var(--muted);margin-top:.7rem;
  }
  @media (max-width:560px){
    .photo-duo .duo-grid{grid-template-columns:1fr;}
  }

  /* Beeswarm depuraciones */
  .bee-dot{fill:#abcde6;fill-opacity:1;}
  .bee-hit{fill:transparent;}
  .bee-year{
    font-family:var(--sans);font-weight:400;letter-spacing:.04em;
    fill:var(--muted);text-transform:uppercase;
  }
  .bee-num{
    font-family:var(--serif);font-weight:700;letter-spacing:-.02em;
    fill:var(--ink);
    paint-order:stroke;stroke:#fff;stroke-width:7px;stroke-linejoin:round;
  }
  .bee-col--on .bee-year{fill:var(--ink);}
  .bee-col--on .bee-num{fill:var(--accent);}
  .bee-swarm{opacity:0;transition:opacity 1.1s ease .15s;}
  .dataviz.visible .bee-swarm{opacity:1;}

  /* Visualizacion de datos */
  .dataviz{
    margin:3.8rem 0;
    padding:2.3rem 2rem 1.9rem;
    background:#fff;
    border:1px solid var(--line);
  }
  /* Version ancha (10 columnas), sin envolvente blanco */
  .dataviz--wide{
    margin:4.4rem 0;
    /* se expande hasta 6.5rem por lado cuando hay espacio */
    margin-inline:calc(-1 * clamp(0rem, (100vw - 40rem)/2 - 1.5rem, 6.5rem));
  }
  .dataviz--wide .dv-grid{gap:2.4rem 2.6rem;}
  .dataviz--wide .dv-desc{max-width:42rem;}
  .dataviz--wide .dv-note-block{border-top:0;padding-top:0;margin-bottom:0;margin-top:15px;}
  /* Version 12 columnas */
  .dataviz--wider{
    margin:4.4rem 0;
    margin-inline:calc(-1 * clamp(0rem, (100vw - 40rem)/2 - 1.5rem, 13rem));
  }
  .dataviz--wider .dv-desc{max-width:46rem;}
  .dataviz--wider .dv-note-block{border-top:0;padding-top:0;margin-bottom:0;margin-top:15px;}
  .dv-kicker{
    font-family:var(--sans);font-weight:700;font-size:.68rem;letter-spacing:.22em;
    text-transform:uppercase;color:var(--accent);margin:0 0 .9rem;
    display:flex;align-items:center;gap:.8rem;
  }
  .dv-kicker::after{content:"";flex:1;height:1px;background:var(--line);}
  .dv-title{
    font-family:var(--serif);font-weight:800;font-size:clamp(1.35rem,3.2vw,1.75rem);
    line-height:1.16;color:var(--ink);margin:0 0 .7rem;letter-spacing:-.012em;
    text-wrap:balance;
  }
  .dv-desc{
    font-family:var(--sans);font-weight:400;font-size:.96rem;line-height:1.5;
    color:var(--muted);margin:0 0 2rem;max-width:36rem;
  }
  .dv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.8rem;}
  .dv-panel{}
  .dv-panel--accent{border-top-color:var(--accent);}
  .dv-metric{
    font-family:var(--sans);font-weight:600;font-size:.92rem;line-height:1.3;
    color:var(--ink-soft);margin:0 0 .85rem;min-height:2.6em;letter-spacing:-.005em;
  }
  .dv-value{display:flex;align-items:baseline;gap:.42rem;margin-bottom:.7rem;}
  .dv-num{
    font-family:var(--serif);font-weight:700;font-size:1.95rem;line-height:1;
    color:var(--ink);letter-spacing:-.02em;
  }
  .dv-panel--accent .dv-num{color:var(--accent);}
  .dv-year{
    font-family:var(--sans);font-size:.66rem;letter-spacing:.1em;
    color:var(--muted);text-transform:uppercase;
  }
  .dv-chart{width:100%;height:auto;display:block;overflow:visible;cursor:crosshair;}
  .dv-guide{transition:opacity .15s ease;}
  .dv-xlabel{font-family:var(--sans);font-weight:600;font-size:9.5px;letter-spacing:.06em;fill:var(--muted);}
  .dv-xlabel--on{fill:var(--ink);font-weight:800;}
  .dv-ylabel{font-family:var(--sans);font-weight:500;font-size:9px;fill:var(--muted);}
  .dv-barval,.dv-annot{
    font-family:var(--serif);font-weight:700;font-size:10.5px;letter-spacing:-.01em;
    paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;
  }
  .dv-chart-lines{touch-action:pan-y;}
  .dv-chart-lines .dv-xlabel{font-size:14px;}
  .dv-chart-lines .dv-ylabel{font-size:13px;}
  .dv-chart-lines .dv-barval{font-size:15px;stroke-width:4px;}
  .dv-band{transition:opacity .15s ease,x .1s linear;}
  .dv-legend{display:flex;flex-wrap:wrap;gap:.45rem 1.4rem;margin:0 0 1.5rem;}
  .dv-leg{
    font-family:var(--sans);font-size:.78rem;font-weight:500;color:var(--ink-soft);
    display:inline-flex;align-items:center;gap:.45rem;
  }
  .dv-leg i{width:11px;height:11px;border-radius:2px;display:inline-block;flex:none;}
  .dv-bar{transform-box:fill-box;transform-origin:left center;transform:scaleX(0);}
  .dataviz.visible .dv-bar{transition:transform .85s cubic-bezier(.4,0,.2,1);transform:scaleX(1);}
  .dv-endval{
    font-family:var(--serif);font-weight:700;font-size:12.5px;letter-spacing:-.01em;
    paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;
  }
  .dv-line{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);}
  .dataviz.visible .dv-line{
    transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1) .25s;
    stroke-dashoffset:0;
  }
  .dv-note{
    font-family:var(--sans);font-size:.68rem;line-height:1.35;color:var(--accent);
    font-weight:600;margin:.35rem 0 0;
  }
  .dv-note-block{
    font-family:var(--sans);font-size:.74rem;color:var(--muted);
    margin:2rem 0 .75rem;padding-top:1.1rem;border-top:1px solid var(--line);line-height:1.55;
  }
  .dv-note-block strong,.dv-source strong{color:var(--ink-soft);font-weight:600;}
  .dv-source{
    font-family:var(--sans);font-size:.74rem;color:var(--muted);
    margin:.15rem 0 0;line-height:1.5;
  }
  /* Expediente / historial de Leiva Gamoneda */
  .lsheet .dv-desc{margin-bottom:1.4rem;}
  .lsheet-list{list-style:none;margin:.2rem 0 1.6rem;padding:0;position:relative;}
  .lsheet-list::before{
    content:"";position:absolute;left:6px;top:.55rem;bottom:.55rem;width:2px;background:#e2ddd4;
  }
  .lsheet-item{position:relative;padding:0 0 0.2rem 2rem;}
  .lsheet-item:last-child{padding-bottom:0;}
  .lsheet-dot{
    position:absolute;left:0;top:.28rem;width:14px;height:14px;border-radius:50%;
    background:#cc2013;box-shadow:0 0 0 3px rgba(204,32,19,.14);
  }
  .lsheet-item--dep .lsheet-dot{background:#9a958d;box-shadow:0 0 0 3px rgba(154,149,141,.18);}
  .lsheet-item--end .lsheet-dot{
    width:16px;height:16px;left:-1px;top:.24rem;
    background:#006cbb;box-shadow:0 0 0 3px rgba(0,108,187,.20);
  }
  .lsheet-row{margin:0;line-height:1.45;font-size:1rem;color:var(--ink-soft);text-wrap:pretty;}
  .lsheet-year{
    font-family:var(--sans);font-weight:700;font-size:.8rem;letter-spacing:.03em;
    color:#cc2013;margin-right:.55rem;white-space:nowrap;
  }
  .lsheet-item--dep .lsheet-year{color:#9a958d;}
  .lsheet-item--end .lsheet-year{color:#006cbb;}
  .lsheet-item--end .lsheet-row{color:var(--ink);font-weight:500;}
  @media (max-width:640px){
    .dv-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem 1.4rem;}
    .dataviz{padding:1.9rem 1.3rem;}
    .dv-metric{min-height:0;}
    .dv-chart-lines .dv-xlabel{font-size:28px;font-weight:400;transform:translateY(5px);}
    .dv-chart-lines .dv-xlabel--odd{display:none;}
    .dv-chart-lines .dv-ylabel{font-size:24px;}
    .dv-chart-lines .dv-barval{font-size:24px;}
  }

  @media (max-width:600px){
    body{font-size:18px;}
    .article{padding-top:4rem;}
    .hero{justify-content:flex-start;}
    .hero-inner{margin-top:40vh;text-align:left;}
    .hero-logos{justify-content:flex-start;margin-bottom:1.1rem;}
    .hero h1{margin:0;}
    .hero .subtitle{font-size:1.375rem;margin-left:0;margin-right:0;}
    .hero .sub{margin-left:0;margin-right:0;}
    .byline,.dateline{text-align:left;}
    .byline{margin-top:1.3rem;margin-bottom:.5em;}
    .dateline{margin-top:.15rem;}
    .intro-inner{text-align:left;}
    .dv-chart-mini .dv-xlabel{font-size:19px;}
    .dv-chart-mini .dv-endval{font-size:25px;}
    .credit-role{padding-bottom:.175rem;}
  }