/* Carrusel vertical del hero: mantiene el formato del banner y rota tres proyectos. */
.hero-art .hero-slider{position:relative;z-index:1;overflow:hidden;width:100%;aspect-ratio:4/5;background:#dce8f0;box-shadow:0 18px 45px #17385418}
.hero-slider-track{height:400%;display:flex;flex-direction:column;animation:heroVerticalSlide 15s ease-in-out infinite}
.hero-slider-track img{display:block;width:100%;height:25%;object-fit:cover;object-position:center}
.hero-slider-dots{position:absolute;right:14px;bottom:14px;display:flex;gap:6px;padding:7px 8px;background:#081a2bb3;border-radius:99px}
.hero-slider-dots i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.42;animation:heroDot 15s ease-in-out infinite}
.hero-slider-dots i:nth-child(2){animation-delay:5s}.hero-slider-dots i:nth-child(3){animation-delay:10s}
.hero-art:hover .hero-slider-track,.hero-art:focus-within .hero-slider-track{animation-play-state:paused}
@keyframes heroVerticalSlide{0%,22%{transform:translateY(0)}29%,47%{transform:translateY(-25%)}54%,72%{transform:translateY(-50%)}79%,100%{transform:translateY(-75%)}}
@keyframes heroDot{0%,27%{opacity:1;transform:scale(1.15)}33%,100%{opacity:.42;transform:scale(1)}}
@media(max-width:900px){.hero-art .hero-slider{max-width:550px;margin:auto}.hero-slider-dots{right:10px;bottom:10px}}
@media(max-width:560px){.hero-art .hero-slider{aspect-ratio:4/5}.hero-slider-track img:last-child{object-position:center 35%}.floating-card{bottom:7%}}
@media(prefers-reduced-motion:reduce){.hero-slider-track,.hero-slider-dots i{animation:none}.hero-slider-track{transform:translateY(0)}}
