* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  height: 100%;
  width: 100%;
  overflow: hidden;
  font-family: sans-serif;
  position: relative;
}

/* Background fallback (under the video) */
.fallback {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #1b1464;
  z-index: -2;
}

/* Background video on top of fallback */
.background-video {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: -1;
}

/* Semi-transparent overlay */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(27, 20, 100, 0.2); /* #1b1464 with 40% opacity */
  z-index: 0;
}

.logo-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

/* Responsive logo sizing */
.logo {
  width: 100%;
  height: auto;
  max-width: 200px;
}

@media (min-width: 768px) {
  .logo {
    max-width: 300px;
  }
}

@media (min-width: 1024px) {
  .logo {
    max-width: 400px;
  }
}

footer {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
  color: white;
  font-size: 14px;
  z-index: 1;
}
