.home-contribute {
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
  margin-block:2rem; padding:clamp(1.4rem,3vw,2.5rem);
  border:1px solid #d7e1d9; border-radius:1rem; background:#edf3ef;
}
.home-contribute h2,.contribute-intro h2,.contribute-workflow h2,.contribute-form-heading h2 {
  margin:.2rem 0 .6rem; color:var(--green-950); font:500 clamp(1.65rem,2.5vw,2.4rem)/1.2 var(--font-sans); letter-spacing:-.035em;
}
.home-contribute p:last-child { max-width:48rem; margin:0; }
.home-contribute .button { flex:none; }
.contribute-page-heading { padding-bottom:.5rem; }
.contribute-intro,.contribute-workflow,.contribute-section { margin-block:2rem 3rem; }
.contribute-intro { margin-top:0; padding-top:1rem; }
.contribute-intro > div:first-child { max-width:58rem; }
.contribute-intro > div:first-child p:last-child { font-size:1.08rem; }
.contribute-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1.8rem; }
.contribute-options article { min-width:0; padding:1.4rem; border:1px solid #d7e1d9; border-radius:.9rem; background:#fff; }
.contribute-options h3 { margin:0 0 .6rem; color:var(--green-950); font:500 1.2rem/1.3 var(--font-sans); }
.contribute-options p { margin:0; font-size:.92rem; line-height:1.55; }
.contribute-workflow { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:2rem; padding:clamp(1.4rem,3vw,2.5rem); border-radius:1rem; background:#e9efe9; }
.contribute-workflow ol { display:grid; gap:.75rem; list-style:none; padding:0; margin:0; }
.contribute-workflow li { display:grid; grid-template-columns:minmax(0,11rem) minmax(0,1fr); gap:1rem; padding:.7rem 0; border-bottom:1px solid #cbd9ce; }
.contribute-workflow li:last-child { border:0; }
.contribute-workflow strong { color:var(--green-950); }
.contribute-section { max-width:72rem; }
.contribute-form-heading { max-width:48rem; }
.contribute-form { margin-top:1.5rem; padding:clamp(1.25rem,3vw,2.25rem); border:1px solid #d7e1d9; border-radius:1rem; background:#fff; }
.contribute-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.contribute-form fieldset:disabled { opacity:.55; }
.contribute-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.contribute-form-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.contribute-field { display:flex; flex-direction:column; gap:.4rem; min-width:0; margin-bottom:1.25rem; color:var(--green-950); font-weight:600; }
.contribute-field input,.contribute-field select,.contribute-field textarea,.contribute-upload input[type=file] {
  width:100%; min-width:0; min-height:2.9rem; padding:.68rem .8rem;
  border:1px solid #9daea3; border-radius:.5rem; background:#fff; color:var(--ink); font:400 1rem/1.5 var(--font-sans);
}
.contribute-field textarea { resize:vertical; }
.contribute-field input:focus-visible,.contribute-field select:focus-visible,.contribute-field textarea:focus-visible,.contribute-upload input:focus-visible { outline:3px solid var(--gold-500); outline-offset:2px; }
.contribute-details { margin:.4rem 0 1.5rem; padding:1rem 1.2rem; border:1px solid #d7e1d9; border-radius:.6rem; background:#f7faf7; }
.contribute-details summary { color:var(--green-950); font-weight:600; cursor:pointer; }
.contribute-details p { margin:.7rem 0 1rem; }
.contribute-details .contribute-field { margin-bottom:0; }
.contribute-upload { margin:.2rem 0 1.5rem; padding:1.25rem; border:1px dashed #879f8e; border-radius:.7rem; background:#f8faf8; }
.contribute-upload .contribute-field { margin-bottom:.45rem; }
.contribute-upload p,.contribute-contact-note,.contribute-form-footnote { color:#4d5c53; font-size:.9rem; line-height:1.55; }
.contribute-upload p { margin:.65rem 0 0; }
.contribute-contact-note { margin:-.2rem 0 1.5rem; }
.contribute-check { display:flex; align-items:flex-start; gap:.7rem; margin:1rem 0; line-height:1.55; }
.contribute-check input { width:1.2rem; height:1.2rem; flex:none; margin:.25rem 0 0; accent-color:var(--green-950); }
.contribute-check a { color:var(--green-950); font-weight:600; }
.contribute-form button { margin-top:.8rem; cursor:pointer; }
.contribute-form-footnote { margin:.8rem 0 0; }
.contribute-message { margin:1.3rem 0; padding:1rem 1.25rem; border-left:4px solid var(--green-800); border-radius:.4rem; background:#eaf2ec; }
.contribute-message p,.contribute-message ul { margin:.35rem 0 0; }
.contribute-error { border-color:var(--red-800); background:#faecee; }
.contribute-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:62rem) { .contribute-options { grid-template-columns:repeat(2,minmax(0,1fr)); }.contribute-workflow { grid-template-columns:minmax(0,1fr); } }
@media(max-width:46rem) { .home-contribute { flex-direction:column; align-items:flex-start; }.contribute-options,.contribute-form-grid,.contribute-form-grid-three { grid-template-columns:minmax(0,1fr); }.contribute-workflow li { grid-template-columns:minmax(0,1fr); gap:.1rem; } }
