.invite-strip { margin-block: .4rem 2.5rem; }
.invite-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.25rem; padding: clamp(1rem,3vw,2rem); background: #24483d; color: #fffbed; border-left: .5rem solid #cfa778; text-decoration: none; }
.invite-banner:hover { background: #305746; color: white; }
.invite-stamp { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border: 1px solid #b8c8ad; font: 700 1.7rem var(--serif); }
.invite-banner small, .invite-banner strong, .invite-banner .invitation { display: block; }
.invite-banner small { color: #efceaa; letter-spacing: .13em; font-weight: 650; }
.invite-banner strong { font: 700 clamp(1.55rem,3vw,2.25rem)/1.42 var(--serif); }
.invite-link { font-size: .9rem; font-weight: 650; border-bottom: 1px solid #c7cdbf; }
.submit-page { max-width: 62rem; margin-bottom: 3rem; }
.call-intro { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: clamp(1.4rem,4vw,3rem); padding-block: 3rem 2rem; border-bottom: 1px solid var(--line); }
.call-intro h1 { margin: .15em 0 .3em; }
.call-intro p, .guide p, .submission > p { line-height: 1.9; }
.call-intro img { aspect-ratio: 1.55; object-fit: cover; }
.call-intro figcaption, .mail-note { color: var(--muted); font-size: .85rem; }
.guide,.submission { max-width: 46rem; margin: 2rem auto; }
.guide h2,.submission h2 { font-size: clamp(1.5rem,3vw,2rem); }
.submission { border: 1px solid var(--line); border-top: 4px solid #8d9a83; padding: clamp(1.1rem,4vw,2.25rem); background: #fffdf7; }
.submission label { display: block; font-weight: 700; margin: 1rem 0 .25rem; }
.submission label small { margin-left: .35rem; color: var(--muted); font-weight: 500; }
.submission input,.submission select,.submission textarea { width: 100%; padding: .65rem; border: 1px solid #7c8981; border-radius: .2rem; background: white; color: var(--ink); font: inherit; }
.submission textarea { resize: vertical; }
.submission button { background: var(--ink); color: white; font: 650 1rem/1.4 system-ui,sans-serif; padding: .85rem 1.3rem; border: 0; cursor: pointer; }
.submission button:disabled { opacity: .65; cursor: wait; }
.mail-note,.sent { overflow-wrap: anywhere; }
#send-error { color: #832e23; }
#send-error:empty { display: none; }
@media (max-width: 650px) {
  .call-intro { grid-template-columns: 1fr; padding-top: 1.6rem; }
  .call-intro img { max-height: 12rem; }
  .invite-banner { grid-template-columns: 1fr; gap: .65rem; }
  .invite-stamp { display: none; }
  .invite-link { justify-self: start; }
}

#people a.edit-request { align-self: flex-start; display: inline-block; margin-top: .9rem; padding: .3rem 0; font-size: .82rem; text-decoration: underline; }
