/* ============================================================================
   BARRIDO DEGRADADO DINÁMICO — HÉROES PÚBLICOS (S194)
   SSOT ÚNICO del barrido: los héroes públicos (.catalog-public-hero, .hero-about,
   .contact-hero) lo CONSUMEN añadiendo la clase .public-hero-sweep. El color fluye
   del genoma (var(--brand-*)) -> un rebrand alcanza los 3 heroes de un golpe.
   Consolidación de la duplicación catalog/nosotros (evolucionar hacia un SSOT).
   Cargado por base_public.html DESPUÉS de _tokens.css (para que var(--brand-*) resuelva).
   ============================================================================ */

@keyframes publicHeroSweep {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.public-hero-sweep {
    background: linear-gradient(-45deg,
        var(--brand-navy-dark),
        var(--brand-navy),
        var(--brand-cyan-dark),
        var(--brand-cyan),
        var(--brand-dark));
    background-size: 300% 300%;
    animation: publicHeroSweep 14s ease infinite;
}

/* A11y: sin movimiento para quien lo solicita -> gradiente fijo (slice inicial). */
@media (prefers-reduced-motion: reduce) {
    .public-hero-sweep { animation: none; }
}
