.form,.form-row{gap:1.15rem;display:grid}@media (width>=640px){.form-row{grid-template-columns:1fr 1fr}}.field{gap:.4rem;min-width:0;display:grid}.field label,.field legend{color:var(--navy-900);padding:0;font-size:.95rem;font-weight:600}.field .optional{color:var(--text-muted);font-weight:450}.field .hint{color:var(--text-muted);font-size:.85rem;line-height:1.45}.field input:not([type=checkbox]),.field select,.field textarea{border:1px solid var(--line-strong);background:var(--white);width:100%;min-height:48px;color:var(--ink);border-radius:10px;padding:.7rem .9rem;transition:border-color .15s,box-shadow .15s}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230b2554' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;padding-right:2.5rem}.field textarea{resize:vertical;min-height:130px}.field input[type=file]{background:var(--paper);padding:.6rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal-600);outline:none;box-shadow:0 0 0 3px #16a89f40}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#b42318}.field-error{color:#b42318;font-size:.85rem;font-weight:550}.field-error:empty{display:none}fieldset.field{border:0;min-width:0;margin:0;padding:0}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.5rem;margin-top:.35rem;display:grid}.field .choice{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.93rem;font-weight:500;line-height:1.35;display:flex}.field .choice:has(input:checked){border-color:var(--teal-600);background:var(--teal-50)}.choice input,.consent input{width:1.15rem;height:1.15rem;accent-color:var(--teal-700);flex:none}.consent{color:var(--text-muted);align-items:flex-start;gap:.7rem;font-size:.92rem;line-height:1.5;display:flex}.consent input{margin-top:.2rem}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.form-footnote{color:var(--text-muted);font-size:.85rem}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
