.contact {
  background-color: hsla(var(--primary), 0.02);
}

.contact-lead {
  font-size: 1.1rem;
  color: hsl(var(--text-muted));
  margin-top: 1.5rem;
  max-width: 440px;
}

.contact-form-wrapper {
  background: white;
  padding: 2.5rem;
  border-radius: var(--radius);
  box-shadow: var(--shadow-elegant);
  border: 1px solid hsla(var(--primary), 0.05);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-group label {
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: hsl(var(--text-muted));
}

.form-group input,
.form-group textarea {
  padding: 0.875rem 1rem;
  border-radius: calc(var(--radius) / 2);
  border: 1px solid hsla(var(--primary), 0.1);
  font-family: inherit;
  font-size: 1rem;
  transition: var(--transition);
  background-color: hsla(var(--primary), 0.01);
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: hsl(var(--accent));
  background-color: white;
  box-shadow: 0 0 0 4px hsla(var(--accent), 0.1);
}

.form-feedback {
  margin-top: 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  padding: 1rem;
  border-radius: calc(var(--radius) / 2);
  display: none;
  animation: revealUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.form-feedback.success {
  display: block;
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #10b98133;
}

.form-feedback.error {
  display: block;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #ef444433;
}