.contact-wrap{
  position: relative;
  background: radial-gradient(1200px 400px at 50% -10%, #fff 0%, #ffeef7 40%, #f7f7f7 100%);
  padding: 70px 10% 90px;
  overflow: hidden;
}

.contact-card{
  width: min(900px, 100%);
  margin: 0 auto;
  background: #ffffffcc;
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: clamp(18px, 4vw, 28px);
  box-shadow: 0 12px 40px rgba(0,0,0,.06);
  animation: fadeInUp .6s ease both;
}

.contact-card h3{
  font-size: clamp(22px, 4.5vw, 30px);
  margin-bottom: 8px;
  color: #2b2b2b;
  text-align: center;
}

.contact-card p{
  color: #555;
  font-weight: 300;
  margin-bottom: 22px;
  text-align: center;
}

.contact-form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  width: min(720px, 100%);
  margin: 0 auto;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 1rem;
  outline: none;
  transition: box-shadow .2s, border-color .2s;
  width: 100%;
}

.contact-form textarea{
  min-height: 140px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color: #ffb9db;
  box-shadow: 0 0 0 4px rgba(255,105,180,.15);
}

.contact-form button{
  margin-top: 6px;
  border: 0;
  background: #ffd1e9;
  color: #111;
  font-weight: 700;
  padding: 15px 18px;
  border-radius: 12px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.contact-form button:hover{
  transform: translateY(-1px);
  background:#ffb9db;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

/* Honeypot invisible */
.hp-field{
  display:none !important;
}
