/* Grupo HP · bloques «En terreno ahora» y «Obras en movimiento» (WEB1). Usa los colores de main.css. */
.vivo-band{background:linear-gradient(135deg,var(--deep) 0%,var(--deep-2) 100%);color:#fff;padding:46px 0 40px}
.vivo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.vivo-head h2{color:#fff;font-size:clamp(1.45rem,2.4vw,2.05rem)}
.vivo-live{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.vivo-live i,.vivo-badge i{width:9px;height:9px;border-radius:50%;background:#36c07a;box-shadow:0 0 0 0 rgba(54,192,122,.7);animation:vivoPulso 1.8s infinite}
@keyframes vivoPulso{0%{box-shadow:0 0 0 0 rgba(54,192,122,.65)}70%{box-shadow:0 0 0 10px rgba(54,192,122,0)}100%{box-shadow:0 0 0 0 rgba(54,192,122,0)}}
.vivo-band .stat strong{font-variant-numeric:tabular-nums}
.vivo-nota{margin-top:22px;color:rgba(255,255,255,.6);font-size:.82rem}
.vivo-grid{grid-template-columns:repeat(3,1fr)}
.vivo-foto{position:relative;aspect-ratio:4/3;background:#d8dfdc;overflow:hidden}
.vivo-foto img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}
.vivo-badge{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;background:rgba(13,26,48,.82);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.vivo-card h3{font-size:1.18rem}
.vivo-cliente{font-size:.88rem;margin-top:-6px}
.vivo-mini{display:flex;gap:8px;margin-top:14px}
.vivo-mini button{flex:1;max-width:84px;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;background:#d8dfdc}
.vivo-mini img{width:100%;height:100%;object-fit:cover}
.vivo-mini button:hover,.vivo-mini button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
@media (max-width:980px){.vivo-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.vivo-grid{grid-template-columns:1fr}.vivo-band{padding:36px 0 30px}}
@media (prefers-reduced-motion:reduce){.vivo-live i,.vivo-badge i{animation:none}}
[data-vivo-contadores][hidden],[data-vivo-obras][hidden]{display:none!important}
