.homepage-carousel{position:relative;width:100%;max-width:1200px;margin:0 auto;overflow:hidden;border-radius:8px;box-shadow:0 4px 20px rgb(0 0 0 / .1)}.homepage-swiper{width:100%;height:500px;position:relative}.swiper-slide{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.carousel-image-container{position:relative;width:100%;height:100%;overflow:hidden}.carousel-image-container img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 0.3s ease}.carousel-image-container:hover img{transform:scale(1.05)}.carousel-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgb(0 0 0 / .7));color:#fff;padding:30px 20px 20px;transform:translateY(100%);transition:transform 0.3s ease}.carousel-caption p{margin:0;font-size:16px;line-height:1.4;text-align:center}.swiper-slide:hover .carousel-caption{transform:translateY(0)}.homepage-swiper .swiper-button-next,.homepage-swiper .swiper-button-prev{color:#fff;background:rgb(0 0 0 / .5);width:50px;height:50px;border-radius:50%;margin-top:-25px;transition:all 0.3s ease}.homepage-swiper .swiper-button-next:after,.homepage-swiper .swiper-button-prev:after{font-size:20px;font-weight:700}.homepage-swiper .swiper-button-next:hover,.homepage-swiper .swiper-button-prev:hover{background:rgb(0 0 0 / .8);transform:scale(1.1)}.homepage-swiper .swiper-button-next{right:20px}.homepage-swiper .swiper-button-prev{left:20px}.homepage-swiper .swiper-pagination{bottom:20px}.homepage-swiper .swiper-pagination-bullet{width:12px;height:12px;background:rgb(255 255 255 / .5);border:2px solid #fff;opacity:1;margin:0 4px;transition:all 0.3s ease}.homepage-swiper .swiper-pagination-bullet-active{background:#fff;transform:scale(1.2)}@media (max-width:768px){.homepage-swiper{height:300px}.homepage-swiper .swiper-button-next,.homepage-swiper .swiper-button-prev{width:40px;height:40px;margin-top:-20px}.homepage-swiper .swiper-button-next:after,.homepage-swiper .swiper-button-prev:after{font-size:16px}.homepage-swiper .swiper-button-next{right:10px}.homepage-swiper .swiper-button-prev{left:10px}.carousel-caption{padding:20px 15px 15px}.carousel-caption p{font-size:14px}}@media (max-width:480px){.homepage-swiper{height:250px}.homepage-carousel{border-radius:4px}.carousel-caption{transform:translateY(0);background:rgb(0 0 0 / .6);padding:10px 15px}.carousel-caption p{font-size:12px}}.homepage-carousel{opacity:0;animation:fadeInCarousel 0.5s ease forwards}@keyframes fadeInCarousel{to{opacity:1}}.homepage-swiper .swiper-button-next:focus,.homepage-swiper .swiper-button-prev:focus{outline:2px solid #4A90E2;outline-offset:2px}.carousel-image-container::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;z-index:1}.carousel-image-container img{position:relative;z-index:2}.carousel-image-container img[src]:not([src=""])+::before{display:none}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}