/* Shared hero carousel — themes 14–16 (theme 17 uses assets/theme17/css/main.css) */
.home-hero-slider {
  position: relative;
  background: #0c1830;
  overflow: hidden;
  padding: 0 !important;
  border-bottom: 0;
}
.home-hero-slider .hero__track {
  position: relative;
  height: clamp(420px, 62vh, 620px);
}
.home-hero-slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s ease;
  display: flex;
  align-items: center;
}
.home-hero-slider .slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.home-hero-slider .slide__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  transition: transform 7s linear;
}
.home-hero-slider .slide.is-active .slide__bg {
  transform: scale(1);
}
.home-hero-slider .slide__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.28) 100%);
}
.home-hero-slider .slide__bg--t14 {
  background: linear-gradient(160deg,#0c1830 0%,#12275a 60%,#173a86 100%);
}
.home-hero-slider .slide__bg--t15 {
  background: #070b14;
}
.home-hero-slider .slide__bg--t15::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(0,229,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.05) 1px,transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at 50% 50%,#000,transparent 70%);
}
.home-hero-slider .slide__bg--t16 {
  background: linear-gradient(145deg,#12081f 0%,#1a1030 45%,#241845 100%);
}
.home-hero-slider .slide--banner:not(.slide--banner-has-copy) .slide__bg::after {
  background: rgba(0,0,0,.1);
}
.home-hero-slider .slide__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}
.home-hero-slider .hero-wrap-centered,
.home-hero-slider .slide__content {
  position: relative;
  z-index: 2;
}
.home-hero-slider .hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.35);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}
.home-hero-slider .hero__arrow:hover {
  background: rgba(52,104,154,.85);
  border-color: rgba(52,104,154,.85);
}
.home-hero-slider .hero__arrow--prev { left: 16px; }
.home-hero-slider .hero__arrow--next { right: 16px; }
.home-hero-slider .hero__dots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: 8px;
}
.home-hero-slider .hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.35);
  cursor: pointer;
  padding: 0;
}
.home-hero-slider .hero__dot.is-active {
  background: #fff;
  transform: scale(1.15);
}
.home-hero-slider .slide__banner-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--brand, #34689a);
  border: 1px solid var(--brand, #34689a);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.home-hero-slider .slide__banner-btn:hover {
  opacity: .92;
  color: #fff;
}
.home-hero-slider .slide__content--banner {
  max-width: 720px;
  color: #fff;
  text-align: center;
  margin: 0 auto;
}
.home-hero-slider .slide__content--banner h1,
.home-hero-slider .slide__content--banner h2,
.home-hero-slider .slide__content--banner h3,
.home-hero-slider .slide__content--banner h4,
.home-hero-slider .slide__content--banner p {
  color: #fff;
}
.home-hero-slider .slide__content--banner .slide__cta {
  justify-content: center;
  margin-top: 18px;
}
@media (max-width: 768px) {
  .home-hero-slider .hero__arrow { display: none; }
}
