/* Global media elements */
img, video, canvas, svg, iframe { max-width: 100%; height: auto; display: block; }
img[width][height] { height: auto; }

.hero, .hero-section, .front-hero, .banner {
  position: relative;
  min-height: clamp(420px, 70dvh, 820px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  color: #fff;
}
@media (max-width: 768px) {
  .hero, .hero-section, .front-hero, .banner {
    min-height: 70dvh;
    background-position: center top;
    padding-top: clamp(56px, 8dvh, 96px);
  }
}
.hero--img { position: relative; min-height: clamp(420px, 70dvh, 820px); }
.hero--img > img.hero-image { width:100%; height:100%; object-fit:cover; object-position:center; aspect-ratio:16/9; }
@media (max-width: 768px) { .hero--img > img.hero-image { object-position:center top; } }
.mv-hero-overlay::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35)); pointer-events:none; }
.hero a, .hero-section a, .front-hero a, .banner a { color:#fff; text-shadow:0 2px 4px rgba(0,0,0,.45); }