.hero {
  position: relative;
  width: 100%;
  min-height: 85vh;
  background-image: url('../imgs/hero.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-position-y: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-visual .overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.35));
}

.hero-visual h1 {
  position:relative;
  z-index:2;
  font-size:48px;
  color:#fff;
  margin: -23px;;
  padding:20px;
  text-align:center;
  letter-spacing:1px;
}


/* Animate hero image brightness and contrast for subtle glow */
@keyframes heroGlow {
  0% {
    filter: brightness(1) contrast(1) saturate(1);
  }
  50% {
    filter: brightness(1.15) contrast(1.2) saturate(1.2);
  }
  100% {
    filter: brightness(1) contrast(1) saturate(1);
  }
}

.hero {
  position: relative;
  width: 100%;
  min-height: 85vh;
  background-image: url('../imgs/hero.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-position-y: 0px;
  display: flex;
  align-items: center;
  justify-content: center;

  /* Apply subtle pulsing glow */
  animation: heroGlow 1s infinite ease-in-out;
}