.form-shell{display:grid;gap:2rem}.form-intro{max-width:56rem}.form-intro h2{margin-bottom:1rem}.required-note{margin-bottom:0;font-size:.92rem}.context-notice{margin:0;padding:1rem 1.1rem;border-left:3px solid var(--accent);background:#fff3f4;color:var(--text)}.context-notice strong{display:block;margin-top:.2rem}.formspree-form{display:grid;gap:1.25rem}.form-section{min-width:0;margin:0;padding:1.5rem;border:1px solid var(--line);background:#fff}.form-section legend{display:flex;align-items:center;gap:.7rem;padding:0 .4rem;color:var(--text);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:800}.form-section legend span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;color:#fff;background:var(--accent);font-size:.85rem}.form-section__description{margin:0 0 1.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}.form-field{min-width:0}.form-field--full,.choice-group{grid-column:1 / -1}.form-label,.choice-group legend{display:block;margin-bottom:.45rem;color:var(--text);font-weight:700;line-height:1.4}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:3.25rem;padding:.85rem .95rem;border:1px solid rgba(15,16,18,.2);border-radius:4px;background:#f9fafb;color:var(--text);font:inherit}.form-field textarea{min-height:9rem;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.choice-option input:focus-visible,.formspree-form button:focus-visible,.formspree-form a:focus-visible{outline:3px solid rgba(183,7,24,.28);outline-offset:2px;border-color:var(--accent)}.form-field [aria-invalid=true],.choice-group[aria-invalid=true]{border-color:#a50012}.field-help,.field-error,.character-count{margin:.45rem 0 0;font-size:.86rem;line-height:1.45}.field-error{min-height:1.25rem;color:#9e0011;font-weight:700}.character-count{text-align:right}.file-upload__drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:6rem;padding:1.25rem;border:2px dashed rgba(15,16,18,.22);border-radius:4px;background:#f9fafb;color:var(--text-soft);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.file-upload__drop:hover,.file-upload__drop.is-dragging,.file-upload__drop:focus-within{border-color:var(--accent);background:#fff5f6}.file-upload__prompt strong{color:var(--accent)}.form-field .file-upload__input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;opacity:0;cursor:pointer}.file-upload__list{display:grid;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}.file-upload__list:empty{display:none}.file-upload__item{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:.9rem}.file-upload__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload__size{flex:0 0 auto;color:var(--text-soft)}.file-upload__remove{flex:0 0 auto;padding:.2rem .5rem;border:0;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.choice-group{min-width:0;margin:0;padding:0;border:0}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.choice-option{display:flex;align-items:flex-start;gap:.7rem;min-height:2.8rem;padding:.75rem;border:1px solid var(--line);background:#f9fafb;color:var(--text);cursor:pointer}.choice-option input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--accent)}.conditional-field[hidden],.form-success[hidden],.formspree-form[hidden],.context-notice[hidden]{display:none}.consent-row{display:flex;align-items:flex-start;gap:.7rem}.consent-row input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.25rem;accent-color:var(--accent)}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.form-actions button{border:0;cursor:pointer}.form-actions button:disabled{cursor:wait;opacity:.65}.form-status{min-height:1.5rem;margin:0;color:#9e0011;font-weight:700}.form-success{padding:clamp(1.5rem,4vw,3rem);border-top:4px solid var(--accent);background:#fff}.form-success h2:focus{outline:none}.field-notice{margin:.45rem 0 0;padding:.6rem .75rem;border-left:3px solid #c98a00;background:#fff8e6;color:var(--text);font-size:.86rem;line-height:1.45}.field-notice[hidden],.form-fallback[hidden],.form-files-pending[hidden]{display:none}.form-fallback,.form-files-pending{padding:1rem 1.1rem;border-left:3px solid var(--accent);background:#fff3f4;color:var(--text)}.form-fallback p{margin:0 0 .5rem}.form-fallback ul{margin:0;padding-left:1.1rem}.form-fallback a,.form-files-pending a,.field-help a{color:var(--accent);font-weight:700;text-decoration:underline}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:760px){.form-section{padding:1.1rem}.form-grid,.choice-grid{grid-template-columns:1fr}.form-field,.choice-group{grid-column:1}.form-actions,.form-actions button{width:100%}}
