/* HERO-CADENA-1 · «La cadena»: la columna derecha del hero de la portada (cuatro tarjetas en cadena y un sello, con movimiento).
   Ningún color escrito a mano: todo sale de los `--sf-*` de design-system.css (la paleta del insumo, #752870 y #c62b7a, NO se usa).
   Sin JS (o antes de que cargue) la columna ya está en su cuadro final: foto 4, las tarjetas y el sello. El JS (hero-cadena.js) la anima
   con `.hc-anima`. Si anima o no lo manda el interruptor «Animations» del pie (`animaciones.js`, ANIMACIONES-PIE-1): apagado, o con `prefers-reduced-motion`
   y nada guardado, no hay movimiento y queda el cuadro final. Sólo se anima opacidad, transform y la altura de la línea. */

.vh .hc{position:relative;margin:0 0 0 28px;min-height:520px}
.hc-fotos{position:absolute;inset:0 0 0 27%;border-radius:28px 28px 28px 120px;overflow:hidden;background:var(--sf-ink)}
.hc-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity,transform}
.hc-foto:last-child{opacity:1}

.hc-cadena{position:relative;width:68%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:30px 0}
.hc-linea{position:absolute;left:22.5px;top:0;width:3px;height:0;border-radius:2px;background:var(--sf-acc);opacity:0;pointer-events:none}

.hc-tarjeta,.hc-sello{position:relative;box-sizing:border-box;width:100%;padding:12px 16px 13px 46px;border-radius:var(--sf-r-l);will-change:opacity,transform}
.hc-tarjeta{display:flex;flex-direction:column;gap:3px;background:var(--sf-paper);border:1px solid var(--sf-line);box-shadow:var(--sf-sombra-maqueta)}
.hc-marca{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--sf-mut)}
.hc-tile{width:14px;height:14px;border-radius:4px;background:var(--sf-brand);display:inline-block}
.hc-chip{display:inline-block;padding:1px 9px;border-radius:var(--sf-r-pill);font-size:12px;font-weight:700;background:var(--sf-brand-50);color:var(--sf-brand-700)}
.hc-aprobacion .hc-chip{background:var(--sf-acc-50);color:var(--sf-acc-700)}
.hc-tarjeta b{font-size:15px;line-height:1.3;color:var(--sf-ink)}
.hc-tarjeta>span:last-child{font-size:13px;color:var(--sf-mut)}

.hc-punto{position:absolute;left:18px;top:19px;width:12px;height:12px;border-radius:50%;background:var(--sf-brand);color:var(--sf-brand)}
.hc-aprobacion .hc-punto{background:var(--sf-acc);color:var(--sf-acc)}
.hc-punto::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid currentColor;opacity:calc((1 - var(--ring,1)) * .8);transform:scale(calc(1 + var(--ring,0) * 2.2))}

.hc-sello{width:auto;max-width:100%;background:var(--sf-brand);color:var(--sf-paper);padding:13px 22px 13px 46px}
.hc-sello b{display:block;font-size:15px;line-height:1.3}
.hc-sello span{display:block;margin-top:2px;font-size:13px;color:var(--sf-brand-50)}
.hc-sello .hc-punto{top:50%;left:17px;width:14px;height:14px;margin-top:-7px;border-radius:3px;background:var(--sf-brand-50);transform:rotate(45deg)}
.hc-sello .hc-punto::after{display:none}

/* pausa (WCAG 2.2.2): SÓLO un ícono, en un círculo de 44 × 44 px (ANIMACIONES-PIE-1); el ícono de pausa mientras anima, el de reproducir cuando está detenido
   (pausado con el botón o apagado con el interruptor del pie). Se ve apenas el script arma el hero (`.hc-js`). */
.hc-pausa{display:none;position:absolute;right:12px;bottom:12px;z-index:4;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:0;border:1px solid var(--sf-line);border-radius:50%;background:var(--sf-paper);color:var(--sf-ink);cursor:pointer}
.hc-js .hc-pausa{display:inline-flex}
.hc-pausa:focus-visible{outline:2px solid var(--sf-brand);outline-offset:2px;box-shadow:0 0 0 4px var(--sf-paper)}
.hc-ico{display:block;width:24px;height:24px;pointer-events:none}
.hc-pausa[aria-pressed=true] .hc-ico-pausa,.hc-pausa[aria-pressed=false] .hc-ico-play{display:none}

@media (max-width:899.98px){
  .vh .hc{margin:48px 0 0;min-height:0}
  .hc-fotos{position:relative;inset:auto;aspect-ratio:4/5;border-radius:22px 22px 22px 80px}
  .hc-foto[data-hc-foto="3"]{object-position:68% 50%}
  /* teléfono: la tarjeta actual y el sello, nada más; las otras ocupan el mismo hueco, ocultas (siguen midiéndose) */
  .hc-cadena{width:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:-92px 10px 0;padding:0}
  .hc-tarjeta{grid-area:1/1;align-self:start}
  .hc-tarjeta:not(.hc-actual){visibility:hidden}
  .hc-sello{grid-area:2/1;width:100%}
  .hc-pausa{top:12px;bottom:auto}
  /* en el teléfono el texto se abre a la rejilla: la figura (foto, tarjeta y sello) baja debajo del texto */
  .vh-txt{display:contents}
  .vh .wrap{row-gap:0}
  /* `display:contents` hace de cada hijo del texto un elemento de la rejilla, y en una rejilla los márgenes de los hermanos NO se colapsan (en el bloque de la v134 sí:
     la separación es el MAYOR de los dos, no la suma). Sin esto el titular y la bajada se alejaban 10 px del rótulo y 18 px entre sí a 390 px. Se compensa para que
     las separaciones queden EXACTAMENTE como en la v134 (medido en 390 px: rótulo→titular 14, titular→bajada 22): el margen superior del titular es 0 (14 del rótulo
     + 0 = 14) y el de la bajada es 4 (18 del titular + 4 = 22). */
  .vh .vh-txt h1{margin-top:0}
  .vh .vh-txt .lead{margin-top:4px}
}

/* sin movimiento: todo quieto en su cuadro final. Lo pide el sistema (`prefers-reduced-motion`) o lo apaga el interruptor del pie (`data-animaciones="off"` en <html>);
   la elección explícita de encender gana a la del sistema y es del script (`hero-cadena.js`), que es quien mueve. Ninguna regla de acá anima nada. */
@media (prefers-reduced-motion:reduce){
  .hc,.hc *{transition:none!important;animation:none!important}
}
html[data-animaciones="off"] .hc,html[data-animaciones="off"] .hc *{transition:none!important;animation:none!important}
.hc:not(.hc-anima) :is(.hc-tarjeta,.hc-sello){opacity:1;transform:none}
.hc:not(.hc-anima) .hc-foto{transform:none}
