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

/* base */
body {
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(135deg, #FF6B6B, #FFE66D);
  color: #333;
  height: 100vh;
  display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 2rem;
}

/* container */
.container { max-width: 600px; }

/* typography + spacing */
h1 { font-size: 2.8rem; margin-bottom: 0.8rem; }
p  { font-size: 1.1rem; margin-bottom: 1.8rem; line-height: 1.4; }
.footer { margin-top: 2.5rem; font-size: 0.85rem; color: rgba(51,51,51,0.6); }

/* form */
.contact-form { width: 100%; margin-bottom: 1.8rem; }
.form-group { margin-bottom: 1rem; }
.form-group input,
.form-group textarea {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: 4px;
  font-size: 1rem;
  font-family: inherit;
}

/* CTA button (also used for form submit) */
.cta {
  display: inline-block;
  padding: 0.8rem 1.6rem;
  background: #4472CA;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.cta:hover { transform: scale(1.05); }

/* fade‑in animation */
.fade-in {
  opacity: 0;
  animation: fadeUp 0.6s forwards;
}
.delay-1 { animation-delay: 0.4s; }
.delay-2 { animation-delay: 0.8s; }
.delay-3 { animation-delay: 1.2s; }

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

/* responsive tweaks */
@media (max-width: 600px) {
  h1 { font-size: 2.2rem; }
  p  { font-size: 1rem; }
}
