/* FANTÁSTICO HOST — RESPONSIVE AUTO-FIT CAROUSEL
   Uses exactly the 10 approved 1536x864 banners.
   Goal: full banner visible at every resolution with neutral brand side fill and no duplicated artwork.
*/
.hero-carousel{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#020817;
}
.hero-carousel .carousel-viewport{
  position:relative;
  width:100%;
  max-width:100%;
  height:min(56.25vw,calc(100svh - 82px));
  margin:0;
  padding:0;
  overflow:hidden;
  background:#020817;
}
.hero-carousel .carousel-track{
  display:flex;
  width:100%;
  height:100%;
  max-width:none;
}
.hero-carousel .carousel-slide{
  position:relative;
  isolation:isolate;
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#020817;
}
.hero-carousel .carousel-slide::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 50%,rgba(0,151,219,.16),transparent 38%),
    radial-gradient(circle at 82% 45%,rgba(91,63,221,.14),transparent 40%),
    linear-gradient(90deg,#020817 0%,#06172a 35%,#06172a 65%,#020817 100%);
  pointer-events:none;
}
.hero-carousel .carousel-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(2,8,23,.12),transparent 28%,transparent 72%,rgba(2,8,23,.12));
  pointer-events:none;
}
.hero-carousel .carousel-slide picture{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}
.hero-carousel .carousel-slide img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
.hero-carousel:after{display:none}

.hero-carousel .carousel-arrow{
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  min-width:46px;
  min-height:46px;
  font-size:30px;
  background:rgba(2,8,23,.60);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.hero-carousel .carousel-arrow.prev{left:16px}
.hero-carousel .carousel-arrow.next{right:16px}
.hero-carousel .carousel-dots{
  bottom:14px;
  max-width:calc(100% - 140px);
  min-height:32px;
  gap:6px;
  padding:6px 9px;
  background:rgba(2,8,23,.56);
  border:1px solid rgba(255,255,255,.12);
}
.hero-carousel .carousel-toggle{display:none}

@media(max-width:1024px){
  .hero-carousel .carousel-viewport{
    height:min(56.25vw,calc(100svh - 76px));
  }
  .hero-carousel .carousel-arrow{width:42px;height:42px;min-width:42px;min-height:42px}
  .hero-carousel .carousel-arrow.prev{left:10px}
  .hero-carousel .carousel-arrow.next{right:10px}
  .hero-carousel .carousel-dots{bottom:10px}
}
@media(max-width:640px){
  .hero-carousel .carousel-viewport{
    height:min(56.25vw,calc(100svh - 70px));
  }
  .hero-carousel .carousel-arrow{width:36px;height:36px;min-width:36px;min-height:36px;font-size:25px}
  .hero-carousel .carousel-arrow.prev{left:6px}
  .hero-carousel .carousel-arrow.next{right:6px}
  .hero-carousel .carousel-dots{
    bottom:6px;
    max-width:calc(100% - 92px);
    min-height:28px;
    gap:4px;
    padding:5px 7px;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-carousel .carousel-track{transition:none}
}
