.footer-inner nav { flex-wrap: wrap; }
#postcard-open {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--muted);
}
#postcard-open:hover, .postcard-close:hover { color: var(--orange); }
#postcard {
  width: min(31rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 0;
  border: 1px solid #d6cbb7;
  border-radius: 6px;
  color: var(--ink);
  background: #fffaf0;
  box-shadow: 0 16px 60px #17281f38;
  overscroll-behavior: contain;
}
#postcard::backdrop { background: #17281f80; }
.postcard-paper {
  position: relative;
  padding: clamp(1.5rem, 5vw, 3rem);
  border-top: 5px solid var(--court);
}
.postcard-close {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  font: 1.6rem/1 var(--sans);
  color: var(--muted);
}
#postcard-title {
  margin: 0 1rem 1.1rem 0;
  font: italic 2.1rem/1.15 var(--serif);
  letter-spacing: -.035em;
}
#postcard-form label, #postcard-format { display: block; }
#postcard-format { margin: .25rem 0 .85rem; color: var(--muted); font-size: .82rem; }
.postcard-controls { display: flex; flex-wrap: wrap; gap: .6rem; }
.postcard-controls input {
  flex: 1 1 8rem;
  min-width: 0;
  padding: .5rem .75rem;
  font-size: 1rem;
  letter-spacing: .14em;
  border: 1px solid #a5ac9f;
  border-radius: 5px;
  background: #fffdf8;
}
.postcard-controls button {
  min-height: 44px;
  padding: .5rem .95rem;
  border-radius: 5px;
  background: var(--ink);
  color: #fffaf0;
}
#postcard-status:not(:empty) { margin-top: .65rem; color: #983e28; }
#postcard-message { font: 1.13rem/1.58 var(--serif); }
#postcard-message p + p { margin-top: .85rem; }
#postcard-message .postcard-signature { margin-top: 0; font-style: italic; }
