/* Contact form (Web3Forms) - used by index.html. Same palette and fonts as style.css. */
.cf{margin-top:56px;border:1px solid var(--line);border-radius:20px;padding:40px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px 56px;background:#fff}
.cf h3{font-size:26px;font-weight:800;line-height:1.2}
.cf .cf-intro p{color:#444;margin-top:12px}
.cf .cf-intro p a{color:var(--o);font-weight:600;text-decoration:none}
.cf .cf-intro p a:hover{text-decoration:underline}
.cf form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cf .cf-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.cf .cf-f.full,.cf .cf-act,.cf .cf-st{grid-column:1/-1}
.cf label{font:700 14px/1.3 Montserrat,Arial,sans-serif;color:var(--c)}
.cf input[type=text],.cf input[type=email],.cf textarea{width:100%;font:16px/1.5 Roboto,Arial,sans-serif;color:var(--c);background:#fff;border:1.5px solid #CFCFCF;border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.cf textarea{min-height:150px;resize:vertical}
.cf input:focus,.cf textarea:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 3px rgba(254,80,0,.15)}
.cf .cf-act{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cf .btn[disabled]{opacity:.6;cursor:default}
.cf .cf-st{font-size:16px;border-radius:12px;padding:14px 16px;display:none}
.cf .cf-st.ok{display:block;background:var(--grey);color:var(--c);border-left:4px solid var(--o)}
.cf .cf-st.err{display:block;background:var(--grey);color:var(--c);border-left:4px solid var(--c)}
.cf .cf-st a{color:var(--o);font-weight:600}
@media (max-width:960px){.cf{grid-template-columns:1fr;padding:32px}}
@media (max-width:600px){.cf{margin-top:36px;padding:24px 20px;gap:20px}.cf h3{font-size:22px}.cf form{grid-template-columns:1fr}.cf .btn{width:100%}}

/* Compact Organizer & Contacts section (2026-10-23).
   Desktop: organizer text + cropped team photo on the left, contact box + form on the right.
   The form card sits in the right column, so its intro goes above the fields. */
.org .grid{grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.org .org-about > p:last-of-type{margin-bottom:0}
.org .team{margin-top:24px}
.org .team img{aspect-ratio:auto;height:210px;object-position:50% 40%}
.org .org-side .contact{margin-top:0;padding:18px 24px}
.org .org-side .cf{margin-top:16px;grid-template-columns:1fr;gap:18px;padding:28px}
.org .org-side .cf h3{font-size:22px}
.org .org-side .cf .cf-intro p{margin:6px 0 0;font-size:16px}
.org .org-side .cf form{gap:14px 16px}
.org .org-side .cf input[type=text],.org .org-side .cf input[type=email],.org .org-side .cf textarea{padding:10px 14px}
.org .org-side .cf textarea{min-height:112px}
@media (max-width:960px){
  .org .grid{grid-template-columns:1fr;gap:28px}
  .org .team img{height:240px}
}
@media (max-width:600px){
  .org .team{margin-top:20px}
  .org .team img{height:180px}
  .org .org-side .contact{padding:16px 20px}
  .org .org-side .cf{padding:22px 18px;gap:16px}
}
