.contact-section {
  display: grid;
  grid-template-columns: minmax(0, 40rem) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.contact-sheet {
  padding: clamp(1.15rem, 3.8vw, 2.8rem);
  border: 1px solid var(--line);
  background: var(--cream);
  box-shadow: .3rem .3rem 0 var(--sheet);
}

.contact-fields {
  display: grid;
  gap: .35rem;
}

.contact-form label { font-weight: 800; }
.contact-form :is(input, textarea) {
  width: 100%;
  min-height: 2.85rem;
  margin-bottom: .85rem;
  padding: .55rem .7rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--deep-ink);
  font: inherit;
}
.contact-form textarea { resize: vertical; }
.contact-form .button { font-family: inherit; cursor: pointer; }
.contact-form .button:disabled {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
  opacity: .65;
  cursor: default;
}
.contact-status:not(:empty) { margin-top: .9rem; }
.contact-details { padding-top: 1rem; border-top: 1px solid var(--line); }
.contact-details .archive-links { margin-top: .75rem; }

@media (max-width: 760px) {
  .contact-section { grid-template-columns: minmax(0, 1fr); }
}
