/* Contact page · Minimalism */
@import url('../common.css');

.contact-page {
  max-width: var(--content-narrow);
  margin: 0 auto;
  padding: var(--space-8) var(--space-4);
}

.contact-page h1 {
  margin: 0 0 var(--space-2);
  font-size: 2.25rem;
  font-weight: 300;
  text-align: center;
}
.contact-page .lede {
  text-align: center;
  color: var(--color-text-soft);
  margin: 0 0 var(--space-7);
}

.contact-content {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--space-7);
  align-items: start;
}

.contact-info { }
.info-item {
  padding: var(--space-3) 0;
  border-top: 1px solid var(--color-border-soft);
}
.info-item:first-child { border-top: none; padding-top: 0; }
.info-item h3 {
  margin: 0 0 var(--space-1);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  text-transform: uppercase;
}
.info-item p {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--color-text);
}

.contact-form { }
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}

.alert {
  padding: var(--space-3);
  margin-bottom: var(--space-4);
  font-size: 0.875rem;
  border-radius: var(--radius);
  display: none;
}
.alert-danger {
  color: var(--color-danger);
  background: #fdf2f0;
  border: 1px solid #f5c8c0;
}

#thankYouMessage {
  display: none;
  text-align: center;
  padding: var(--space-7) 0;
}
#thankYouMessage h2 {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-text);
}
#thankYouMessage p {
  color: var(--color-text-soft);
  margin-bottom: var(--space-5);
}

#contactFormContainer { transition: opacity var(--duration) var(--easing); }

@media (max-width: 768px) {
  .contact-page h1 { font-size: 1.75rem; }
  .contact-content { grid-template-columns: 1fr; gap: var(--space-5); }
  .form-row { grid-template-columns: 1fr; }
}
