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

/* Prevent horizontal scrolling */
html,
body {
  width: 100%;
  overflow-x: hidden;
}

/* =========================
   MAIN LAYOUT
========================= */
.container {
  position: relative;
  min-height: 100vh;

  display: flex;
  justify-content: center;
  align-items: center;

  overflow: hidden;
}

/* =========================
   BACKGROUND VIDEO
========================= */
.video-bg {
  position: fixed;
  top: 0;
  left: 0;

  width: 100vw;
  height: 100vh;

  object-fit: cover;

  z-index: -1;
  pointer-events: none;
}

/* =========================
   FOREGROUND IMAGE
========================= */
.foreground-image {
  position: relative;
  z-index: 1;

  width: min(450px, 85vw);
  height: auto;

  transform: scale(1.15);
  
}


/* =========================
   OVERLAY (MAIN SPACING CONTROL)
========================= */
.overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;

  /* 👇 DEFAULT GAP (DESKTOP) */
  gap: 130px;

  padding: 1rem;
}

/* =========================
   TEXT
========================= */
.youreinvited,
.clickhere {
  font-family: "Pinyon Script", cursive;
  font-weight: 400;
  color: azure;
}

.youreinvited {
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: 1.1;
}

.clickhere {
  font-size: clamp(1.2rem, 3vw, 2rem);
}

/* =========================
   LINKS
========================= */
a:link,
a:visited {
  color: azure;
  text-decoration: none;
}

a:hover {
  opacity: 1;
}

/* =========================
   TABLET
========================= */
@media (max-width: 900px) {
  .foreground-image {
    width: min(400px, 80vw);
  }

  .overlay {
    gap: 100px;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 600px) {
  .foreground-image {
    width: 90vw;
    transform: scale(1);
  }

  .overlay {
    gap: 140px;
    padding: 2rem 1rem;
  }

  .youreinvited {
    font-size: 3.2rem;
  }

  .clickhere {
    font-size: 1.7rem;
  }
}

/* =========================
   SMALL PHONES
========================= */
@media (max-width: 375px) {
  .overlay {
    gap: 110px;
  }

  .foreground-image {
    width: 95vw;
  }
}