.hero-video {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-video .hero-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
  filter: brightness(0.7);
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0,0,0,0.18), rgba(0,0,0,0.35));
  z-index: 1;
}

.overlay-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  color: white;
  padding: 2rem;
  animation: fadeIn 1.2s ease-out;
}

.overlay-content h1 {
  font-size: 3rem;
  margin-bottom: 0.75rem;
}

.overlay-content p {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}

.cta-button {
  background-color: #18365A;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s ease;
}

.cta-button:hover {
  background-color: #28507A;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translate(-50%, -60%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}
