* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Quicksand', Arial, sans-serif;
}

body {
  font-family: 'Poppins', sans-serif;
}

h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 1.2px;
  line-height: 1.3;
  margin-bottom: 14px;

  color: #4b2e83;
}


.subtitle {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;          /* Slightly larger */
  font-weight: 500;         /* Slightly bolder */
  color: #4a4a5e;           /* Richer, darker grey-purple */
  margin-bottom: 35px;
  line-height: 1.6;
  max-width: 80%;           /* Prevents text from stretching too wide */
  margin-left: auto;
  margin-right: auto;
}



/* ===== BACKGROUND FROM ORIGINAL CODE ===== */
/* .Bg {
  min-height: 100vh;
  width: 100%;
  background: url('purple-water-splash.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
} */

.Bg {
  min-height: 100vh;
  width: 100%;
 background: url('eiq-5-transformed.jpeg') no-repeat center center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
}
.card {
 width: 190px;
 height: 254px;
 border-radius: 50px;
 background: #e0e0e0;
 box-shadow: 20px 20px 60px #bebebe,
               -20px -20px 60px #ffffff;
}


.border-box {

  max-width: 635px;
  width: 100%;
  padding: 15px;
  text-align: center;
  border-radius: 15px;
  border: 1px solid rgba(52, 185, 74, 0.4);
 /* Slightly increase glass transparency (premium balance) */
.border-box {
  background: rgba(255, 255, 255, 0.40);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  box-shadow:
    0 22px 44px rgba(91, 45, 171, 0.20),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

}
/* ===== LOGO ===== */
.logo-wrap {
  margin-bottom: 10px;
}

.brand-logo {
  max-width: 140px;
  /* background: #ffffff; */
  padding: 12px;
  /* border-radius: 50px; */
  /* border: 2px solid #53af47; */
}






/* ===== FORM ===== */
form {
  display: flex;
  flex-direction: column;
  gap: 14px;
   align-items: center; /* centers InputContainer */
}

input,
textarea {
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #cfcfcf;
  font-size: 14px;
}

input:focus,
textarea:focus {
  outline: none;
  border-color: #53af47;
}

/* ===== BUTTON (BRAND GREEN) ===== */
button {
  background-color: #53af47;
  color: #ffffff;
  border: none;
  padding: 14px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

button {
  margin-top: 18px;
  padding: 14px 42px;
  letter-spacing: 0.6px;

  border-radius: 999px;
  background: linear-gradient(135deg, #6a3cbc, #4b2e83);

  box-shadow: 0 10px 30px rgba(75,46,131,0.35);
}


button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(83, 175, 71, 0.6);
}

#formStatus {
  margin-top: 8px;
  font-size: 13px;
  color: #ffffff;
}

/* ===== MOBILE ===== */
@media (max-width: 480px) {
  .border-box {
    padding: 15px;
  }

  h1 {
    font-size: 24px;
  }
}

/* CTA */
.cta-btn {
  margin-top: auto;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #45c35e, #46e551);
  color: #ffffff;
  padding: 16px 40px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  transition: transform 0.3s ease;
}

.cta-btn:hover {
  transform: translateY(-3px);
}

/* REPLACED: Updated Get Started Button */
.neu-button {
  display: inline-block; /* Ensures the link behaves like a button */
  margin-top: 25px;      /* Gives it breathing room from the text */
  padding: 16px 48px;    /* nice wide click area */
  
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  text-decoration: none;
  color: #ffffff;        /* White text */

  border-radius: 50px;   /* Pill shape */
  
  /* Brand Purple Gradient (Matching your Submit button) */
  background: linear-gradient(135deg, #6a3cbc, #4b2e83);
  
  /* Soft Purple Glow/Shadow to make it pop */
  box-shadow: 0 10px 30px rgba(75, 46, 131, 0.35);
  
  border: 1px solid rgba(255, 255, 255, 0.2); /* Subtle glass border */
  transition: all 0.3s ease;
}

.neu-button:hover {
  transform: translateY(-3px); /* Lifts up slightly */
  box-shadow: 0 15px 40px rgba(75, 46, 131, 0.5); /* Stronger glow */
  color: #ffffff;
}

.neu-button:active {
  transform: translateY(-1px);
  box-shadow: 0 5px 15px rgba(75, 46, 131, 0.4);
}


/* Center inputs + make them responsive */
.InputContainer {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: linear-gradient(to bottom, rgb(227, 213, 255), rgb(255, 231, 231));
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.075);
}

.input {
  width: 100%;
  height: 42px;
  border: none;
  outline: none;
  border-radius: 30px;
  padding: 0 16px;
  font-size: 14px;
}

.input {
  background: #ffffff;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.06),
    0 6px 14px rgba(0,0,0,0.06);

  font-weight: 500;
  color: #3f3f3f;
}



/* From Uiverse.io by ke1221 */ 
button {
  color: #090909;
  padding: 0.7em 1.7em;
  font-size: 14px;
  border-radius: 0.5em;
 background: rgb(96,9,240);
 background: linear-gradient(0deg, rgba(96,9,240,1) 0%, rgba(129,5,240,1) 100%);
 border: none;
  cursor: pointer;
  border: 1px solid #e8e8e8;
  transition: all 0.3s;
  box-shadow: 6px 6px 12px #c5c5c5, -6px -6px 12px #ffffff;
  width: 200px;
}

button:active {
  color: #666;
  box-shadow: inset 4px 4px 12px #c5c5c5, inset -4px -4px 12px #ffffff;
}
.contestForm {
  display: flex !important;
  flex-direction: column;   /* Keeps form inputs stacked vertically */
  justify-content: center;  /* Centers vertically */
  align-items: center;      /* Centers horizontally */
  min-height: 100vh;        /* Crucial for vertical centering */
  text-align: center;
}

/* Fix textarea placeholder & typing position */
textarea.input {
  height: auto;
  min-height: 100px;

  padding: 12px 16px;
  line-height: 1.4;

  border-radius: 18px;

  resize: vertical;
  align-self: stretch;

  /* IMPORTANT FIX */
  display: block;
}



/* 2-column grid */
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 16px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

/* Make some fields span full width */
.form-grid .full-width {
  grid-column: span 2;
}

/* Responsive: switch to 1 column */
@media (max-width: 768px) {
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid .full-width {
    grid-column: span 1;
  }
}

/* Style select same as input */
/* Select behaves exactly like input */
select.input {
  width: 100%;
  height: 42px;

  padding: 0 40px 0 16px; /* extra space for arrow */
  font-size: 14px;
  border-radius: 30px;
  border: none;
  outline: none;

  background-color: #ffffff;
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Muted placeholder color for select */
select.input {
  color: #8e8e8e; /* muted */
}

select.input:focus {
  color: #000; /* brand purple on focus */
}

/* When a real option is selected */
select.input:valid {
  color: #3f3f3f; /* normal text */
}


/* Custom dropdown arrow */
.InputContainer {
  position: relative;
  width: 100%;
}

/* Arrow */
/* Arrow ONLY for select dropdowns */
.InputContainer select + ::after,
.InputContainer:has(select)::after {
  content: "▾";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #555;
  pointer-events: none;
}



@media (max-width: 480px) {
  select.input {
    font-size: 16px; /* prevents iOS zoom */
  }
}

/* Back button */
.back-btn {
  position: absolute;
  top: 16px;
  left: 16px;

  width: 40px;
  height: 40px;

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

  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  text-decoration: none;

  font-size: 18px;
  font-weight: 600;
  color: #333;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover / tap feedback */
.back-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

/* Make sure parent allows absolute positioning */
.border-box {
  position: relative;
}

@media (max-width: 480px) {
  .back-btn {
    width: 44px;
    height: 44px;
    font-size: 20px; /* easier tap */
  }
}

.back-btn i {
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 480px) {
  .back-btn i {
    font-size: 20px;
  }
}

/* FIX: allow textarea container to grow */
.InputContainer {
  height: auto;           /* override fixed height */
  min-height: 52px;
}

/* Special handling for textarea wrapper */
.InputContainer.textarea-container {
  align-items: stretch;
  padding: 6px;
}

/* Proper luxury textarea */
textarea.input {
  width: 100%;
  min-height: 160px;
  height: auto;

  padding: 18px 20px;
  font-size: 16px;
  line-height: 1.7;

  border-radius: 22px;
  resize: none;
  overflow: hidden;
  background: #ffffff;
}

/* Mobile */
@media (max-width: 480px) {
  textarea.input {
    min-height: 130px;
    font-size: 16px;
  }
}

/* Luxury glass card */
.border-box {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.35);

  box-shadow:
    0 20px 40px rgba(91, 45, 171, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.6);
}

/* Frosted glass edge highlight */
.border-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 22px;
  pointer-events: none;

  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.35),
    rgba(255,255,255,0.05) 40%,
    rgba(255,255,255,0.25)
  );
  opacity: 0.6;
}

/* Light reflection sweep */
.border-box::after {
  content: "";
  position: absolute;
  /* top: -40%;
  left: -20%; */
  /* width: 140%;
  height: 60%; */
  pointer-events: none;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.15),
    transparent
  );
}

/* Floating depth illusion */
.border-box {
  transform: translateY(-2px);
}
/* Micro noise texture */
.border-box {
  background-image:
    radial-gradient(rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 3px 3px;
}



/* Gold glass edge highlight */
.border-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 22px;
  pointer-events: none;

  background: linear-gradient(
    135deg,
    rgba(255, 215, 130, 0.35),
    rgba(255, 255, 255, 0.08) 45%,
    rgba(212, 175, 55, 0.25)
  );
}


/* Add specific styling for the file input container */
.InputContainer.file-container {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 10px 20px;
  height: auto;
  gap: 5px;
}

.file-label {
  font-size: 13px;
  color: #5f5f6a;
  font-weight: 600;
  margin-left: 4px;
}

.file-input {
  border: none;
  background: transparent;
  padding: 10px 0;
  height: auto;
  box-shadow: none;
}

/* File input text-color fix */
.file-input::file-selector-button {
  margin-right: 15px;
  padding: 8px 16px;
  border-radius: 50px;
  border: none;
  background: #dcdcdc;
  color: #333;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.2s;
}

.file-input::file-selector-button:hover {
  background: #c0c0c0;
}


/* ===== 1. ENTRANCE ANIMATION ===== */
/* Define the animation */
@keyframes floatIn {
  from {
    opacity: 0;
    transform: translateY(30px); /* Start slightly lower */
  }
  to {
    opacity: 1;
    transform: translateY(0);    /* End in original position */
  }
}

/* Apply it to the main glass card */
.border-box {
  animation: floatIn 0.8s ease-out forwards; /* Plays once on load */
}

/* ===== 2. LOGO POLISH ===== */
.brand-logo {
  max-width: 140px;
  /* Add a soft shadow to lift it off the glass */
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
  transition: transform 0.3s ease;
}

/* subtle hover effect for the logo */
.brand-logo:hover {
  transform: scale(1.05);
}