/* App extras (forms + inner pages) — keep mock tokens in site.css */
form label { font-weight: 700; font-family: Montserrat, sans-serif; font-size: 0.85rem; }
form input, form select, form textarea {
  width: 100%;
  max-width: 40rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--stone);
  border-radius: var(--radius);
  font: inherit;
  color: var(--ink);
  background: #fff;
}
form input:focus, form select:focus, form textarea:focus {
  outline: 2px solid var(--magenta);
  outline-offset: 2px;
}
.inner-split {
  display: grid;
  grid-template-columns: minmax(0, 16rem) minmax(0, 40rem);
  gap: 2rem;
  align-items: start;
}
.inner-split-portrait {
  grid-template-columns: minmax(0, 28rem) minmax(0, 40rem);
}
.portrait-stack {
  display: grid;
  gap: 1rem;
  justify-items: start;
}
.portrait {
  margin: 0;
}
.portrait img {
  border-radius: 8px;
  width: 100%;
  height: auto;
}
.portrait-own {
  max-width: 10.5rem;
}
.portrait-action {
  width: 100%;
}
.bio p { margin: 0 0 1rem; }
.bio p:last-child { margin-bottom: 0; }
@media (max-width: 800px) {
  .inner-split,
  .inner-split-portrait { grid-template-columns: 1fr; }
}
.errorlist { color: var(--red); padding-left: 1.1rem; }
.choir-copy { max-width: 40rem; }
.choir-copy p { margin: 0 0 1rem; }
.choir-copy ul { margin: 0 0 1.25rem; padding-left: 1.2rem; }
.choir-copy h2 { margin-top: 1.75rem; }
