:root{
  --neon: #3dff9b;      /* neon accent */
  --neon-soft: rgba(61, 255, 155, 0.25);
  --text-soft: rgba(255,255,255,0.72);
}
.text-light-50 { color: var(--text-soft); }
.hero{
  position: relative;
  background: url("./img/hero.png") center/cover no-repeat;
}
.min-vh-50{ min-height: 50vh; }
.btn-neon{
  background: var(--neon);
  color: #04120a;
  border: 1px solid var(--neon);
  font-weight: 700;
}
.card-hover{
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.card-hover:hover{
  transform: translateY(-3px);
  border-color: var(--neon);
  box-shadow: 0 0 18px rgba(61,255,155,0.10);
}
.gallery-img:hover{
  transform: scale(1.02);
}
.form-control-dark{
  background-color: #0f0f10;
  border-color: #2b2b2f;
  color: #ffffff;
}
.form-control-dark::placeholder{
  color: rgba(255,255,255,0.45);
}
.form-control-dark:focus{
  border-color: var(--neon);
  box-shadow: 0 0 0 0.2rem rgba(61, 255, 155, 0.15);
}