/* ═══════════════════════════════════════
   HERO BANNER
   ═══════════════════════════════════════ */
.hero { padding: 32px 0 0; }

.hero-banner {
  width: 100%;
  aspect-ratio: 3 / 1;
  border-radius: var(--r-xl);
  overflow: hidden;
  position: relative;
  background: #252537;
  cursor: pointer;
  transition: filter 0.2s;
}

.hero-banner:hover { filter: brightness(1.05); }

/* Slider track */
.hero-banner-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.hero-banner-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Full-bleed banner image (new image-only layout) */
.hero-banner-full {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.hero-dots {
  position: absolute;
  bottom: 20px;
  right: 24px;
  display: flex;
  gap: 8px;
  align-items: center;
  z-index: 2;
}

.hero-dot {
  height: 10px;
  border-radius: 3px;
  background: rgba(255,255,255,0.45);
  transition: width 0.3s, background 0.3s;
  width: 10px;
}

.hero-dot.active {
  width: 36px;
  background: #ffffff;
}


/* ── HIDE DESKTOP HERO ON MOBILE ── */
@media (max-width: 510px) {
  .hero { display: none; }
}
