/* Contact form in #participate. Linked from the participate section of index.html. */
.contact-block{max-width:680px;margin:3.2rem auto 0;text-align:left}
.contact-title{font-family:Instrument,Georgia,serif;font-weight:400;font-size:clamp(1.9rem,3.4vw,2.5rem);letter-spacing:-.02em;line-height:1.05;color:#173b25;margin:0 0 1.4rem;text-align:center}
.contact-form{display:grid;gap:1rem}
.contact-form[hidden],.contact-done[hidden]{display:none}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-field{display:grid;gap:.45rem;min-width:0}
.contact-field>span{font-size:.67rem;font-weight:550;letter-spacing:.14em;line-height:1.6;text-transform:uppercase;color:#173b25}
.contact-field>span small{font-size:inherit;font-weight:400;letter-spacing:.08em;text-transform:none;color:#64715e}
.contact-field input,.contact-field select,.contact-field textarea{box-sizing:border-box;width:100%;min-height:52px;padding:.85rem 1rem;font:inherit;font-size:1rem;line-height:1.45;color:#173b25;background:#f8f8f0;border:1px solid rgba(23,59,37,.24);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.contact-field textarea{min-height:9.5rem;resize:vertical}
.contact-field select{appearance:none;-webkit-appearance:none;padding-right:2.6rem;background-image:linear-gradient(45deg,transparent 50%,#173b25 50%),linear-gradient(135deg,#173b25 50%,transparent 50%);background-position:calc(100% - 1.3rem) 52%,calc(100% - .95rem) 52%;background-size:.35rem .35rem;background-repeat:no-repeat}
.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:rgba(23,59,37,.45)}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:3px solid #ab6a26;outline-offset:2px;box-shadow:none;border-radius:16px;border-color:#173b25}
.contact-field [aria-invalid="true"]{border-color:#a3462b;box-shadow:0 0 0 1px #a3462b}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.contact-submit,.contact-reset{min-height:52px;padding:1rem 1.6rem;border-radius:16px;background:#173b25;color:#f8f8f0;font-size:.9rem;font-weight:500;transition:transform .25s,background .25s}
.contact-submit:hover,.contact-reset:hover{background:#274a37;transform:translateY(-1px)}
.contact-submit:disabled{opacity:.7;cursor:progress;transform:none}
.contact-error{margin:0;font-size:.85rem;line-height:1.5;color:#a3462b;flex:1 1 14rem}
.contact-error:empty{display:none}
.contact-done{padding:2rem 1.6rem;background:#f8f8f0;border:1px solid rgba(23,59,37,.18);border-radius:16px;text-align:center}
.contact-done:focus{outline:none}
.contact-done:focus-visible{outline:3px solid #ab6a26;outline-offset:4px}
.contact-ok{font-family:Instrument,Georgia,serif;font-size:2rem;line-height:1.1;color:#173b25;margin:0 0 .5rem}
.contact-note{margin:0 auto 1.4rem;max-width:42ch;color:#64715e;font-size:.95rem;line-height:1.55}
@media(max-width:600px){.contact-block{margin-top:2.4rem}.contact-row{grid-template-columns:1fr}.contact-submit{width:100%;justify-content:center}.contact-done{padding:1.6rem 1.1rem}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field select,.contact-field textarea,.contact-submit,.contact-reset{transition:none}.contact-submit:hover,.contact-reset:hover{transform:none}}
html[data-motion="reduce"] .contact-field input,html[data-motion="reduce"] .contact-field select,html[data-motion="reduce"] .contact-field textarea,html[data-motion="reduce"] .contact-submit,html[data-motion="reduce"] .contact-reset{transition:none}
html[data-motion="reduce"] .contact-submit:hover,html[data-motion="reduce"] .contact-reset:hover{transform:none}
