
/* ============================================================
   FINAL HERO IMAGE FIX — USES REAL <img> INSTEAD OF BACKGROUND
   ============================================================ */

.hero-right {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: #ece7df;
  overflow: hidden;
  min-height: min(78vh, 900px);
}

.hero-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}

.hero-image-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to right, var(--bg) 0%, transparent 18%),
    linear-gradient(
      to top,
      color-mix(in srgb, var(--bg) 28%, transparent) 0%,
      transparent 55%
    );
}

/* Keep old background element hidden if still present */
.hero-image-bg {
  display: none !important;
}

/* Desktop balance */
@media (min-width: 1025px) {
  .hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    gap: clamp(32px, 5vw, 80px);
  }
}

/* Mobile layout */
@media (max-width: 760px) {
  .hero {
    display: flex;
    flex-direction: column;
    min-height: auto;
  }

  .hero-right {
    order: -1;
    width: 100%;
    min-height: 260px;
    max-height: 420px;
    height: auto;
    margin-bottom: 24px;
  }

  .hero-image {
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    object-position: center top;
  }

  .hero-image-overlay {
    background:
      linear-gradient(to bottom, transparent 55%, var(--bg) 100%),
      linear-gradient(to right, transparent, transparent);
  }
}

/* Video thumbnails */
.case-thumb,
.case-thumb-placeholder {
  width: 88px;
  height: 56px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}
