.hero-carousel-image{width:100%;height:100%;object-fit:cover}.hero-carousel-caption{bottom:15%;background:#00000080;padding:1.5rem 2rem;border-radius:1rem}.hero-carousel-caption .caption-title{font-size:2.5rem;font-weight:700;letter-spacing:1px}.hero-carousel-caption .caption-subtitle{font-size:1.25rem;margin-top:.5rem;opacity:.9}.hero-carousel .carousel-indicators [data-bs-target]{width:40px;height:4px;border-radius:2px;background-color:#ffffff80}.hero-carousel .carousel-indicators .active{background-color:#fff}.hero-carousel .carousel-control-prev-icon,.hero-carousel .carousel-control-next-icon{filter:invert(1);width:3rem;height:3rem;font-weight:700;transition:transform .3s}.hero-carousel .carousel-control-prev:hover .carousel-control-prev-icon,.hero-carousel .carousel-control-next:hover .carousel-control-next-icon{transform:scale(1.2)}.hero-carousel-frame,.hero-carousel-placeholder{position:relative;width:100%;max-height:450px;aspect-ratio:40 / 9;overflow:hidden}.hero-carousel-skeleton{width:100%;height:100%;background:linear-gradient(90deg,#e0e0e0,#f5f5f5,#e0e0e0);background-size:200% 100%;animation:hero-skeleton 1.5s infinite}@keyframes hero-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.hero-carousel-frame,.hero-carousel-placeholder{max-height:260px}}
