/* ===== Reset & Base ===== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
  background: #000;
  color: #fff;
}

/* ===== Fullscreen Background Video ===== */
#bg-video {
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

/* ===== Dark Overlay ===== */
.overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.55) 0%,
      rgba(0, 0, 0, 0.25) 40%,
      rgba(0, 0, 0, 0.30) 60%,
      rgba(0, 0, 0, 0.60) 100%
    );
  pointer-events: none;
}

/* ===== Content Layer ===== */
.content {
  position: fixed;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  user-select: none;
  -webkit-user-select: none;
}

/* ===== Brand Name (top) ===== */
header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 2.5rem 3rem;
  text-align: center;
}

.brand {
  font-family: 'Libre Baskerville', serif;
  font-weight: 400;
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  letter-spacing: 0.2em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.92);
  opacity: 0;
  animation: fadeSlideDown 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s forwards;
}

/* ===== Coming Soon (center) ===== */
.tagline {
  font-family: 'Inter', sans-serif;
  font-weight: 200;
  font-size: clamp(1rem, 2.2vw, 1.6rem);
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  opacity: 0;
  animation:
    fadeIn 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s forwards,
    softPulse 4s ease-in-out 3s infinite;
}

/* ===== Animations ===== */
@keyframes fadeSlideDown {
  from {
    opacity: 0;
    transform: translateY(-18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes softPulse {
  0%, 100% {
    opacity: 1;
    text-shadow: 0 0 0 transparent;
  }
  50% {
    opacity: 0.75;
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.08);
  }
}

/* ===== Responsive ===== */
@media (max-width: 600px) {
  header {
    padding: 1.8rem 1.5rem;
  }

  .brand {
    letter-spacing: 0.22em;
  }

  .tagline {
    letter-spacing: 0.3em;
  }
}
