.text-link {
  display: inline-flex;
  align-items: center;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: var(--space-lg);
  align-items: start;
}

.contact-cards {
  display: grid;
  gap: var(--space-md);
}

.contact-intake-form {
  display: grid;
  gap: var(--space-md);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.contact-intake-form label {
  display: grid;
  gap: 0.45rem;
  color: var(--ink-900);
  font-weight: 700;
}

.contact-intake-form input,
.contact-intake-form select,
.contact-intake-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--text-primary);
  font: inherit;
  padding: 0.82rem 0.9rem;
}

.contact-intake-form textarea {
  resize: vertical;
}

.form-message,
.form-actions {
  grid-column: 1 / -1;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.form-status {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  font-weight: 700;
}

.form-status--success {
  color: #164b2b;
  background: #e9f8ef;
  border: 1px solid rgba(22, 75, 43, 0.2);
}

.form-status--error {
  color: #7a1e1e;
  background: #fff0f0;
  border: 1px solid rgba(122, 30, 30, 0.24);
}

.hp-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

@media (max-width: 820px) {
  .contact-layout,
  .form-grid {
    grid-template-columns: 1fr;
  }
}
