.contact-form{display:grid;gap:20px}.contact-form__field{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}.contact-form__field>span,.contact-form__field>legend{font-size:15px;color:var(--color-ink);font-weight:600;padding:0}.contact-form__field>span em,.contact-form__field>legend em{font-style:normal;color:var(--color-muted);font-weight:400}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{padding:14px 16px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font:inherit;font-size:16.5px;background:#fff;color:var(--color-ink)}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-petrol);outline-offset:0;border-color:var(--color-petrol)}.contact-form textarea{resize:vertical;min-height:140px}.contact-form__pref-row{display:flex;flex-wrap:wrap;gap:10px}.contact-form__pref-opt{position:relative;flex:1 1 0;min-width:140px;display:flex;align-items:center;justify-content:center;padding:14px 16px;border:1px solid rgba(0,0,0,.12);border-radius:10px;cursor:pointer;background:#fff;font-size:15px;font-weight:500;color:var(--color-ink);text-align:center;transition:border-color .15s,background .15s,box-shadow .15s;user-select:none}.contact-form__pref-opt:hover{border-color:#00000040}.contact-form__pref-opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.contact-form__pref-opt:has(input:checked){border-color:var(--color-selected);background:var(--color-selected-bg-strong);box-shadow:inset 0 0 0 1px var(--color-selected)}.contact-form__pref-opt:has(input:focus-visible){outline:2px solid var(--color-petrol);outline-offset:2px}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__dropzone{display:block;padding:32px 20px;border:1.5px dashed rgba(0,0,0,.2);border-radius:12px;background:#faf7f1;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.contact-form__dropzone:hover{border-color:var(--color-petrol);background:#1a35500a}.contact-form__dropzone.is-dragover{border-color:var(--color-petrol);background:#1a35500f}.contact-form__dropzone-prompt{display:grid;gap:6px;font-size:15px;color:var(--color-subtle)}.contact-form__dropzone-prompt strong{color:var(--color-petrol);font-weight:600}.contact-form__dropzone-prompt span{font-size:13px;color:var(--color-muted)}.contact-form__files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.contact-form__files li{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:14px;color:var(--color-ink)}.contact-form__files li button{background:none;border:0;color:var(--color-muted);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}.contact-form__files li button:hover{color:var(--color-ink)}.contact-form__files li.is-error{border-color:#b41e1e4d;background:#b41e1e0a;color:#8a1414}.contact-form__small{margin:10px 0 0;font-size:13.5px;color:var(--color-subtle);line-height:1.55}.contact-form__turnstile{margin-top:4px}.contact-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px}.contact-form__submit{appearance:none;border:0;background:var(--color-petrol);color:#fff;border-radius:999px;padding:14px 28px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s ease-out}.contact-form__submit:hover{background:#142a40}.contact-form__submit:disabled{opacity:.55;cursor:not-allowed}.contact-form__hint{margin:0;font-size:14px;color:var(--color-subtle)}.contact-form__hint--err{color:#8a1414}.contact-form__success{padding:36px 32px;border-radius:14px;background:linear-gradient(180deg,#f0f8f2,#e7f3ec);border:1px solid rgba(46,124,78,.3);box-shadow:0 1px #2e7c4e0a inset;text-align:center}.contact-form__success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#2e7c4e1f;color:#2e7c4e}.contact-form__success h2{margin:0 0 10px;font-family:var(--font-serif);font-weight:500;font-size:24px;color:#163e25}.contact-form__success p{margin:0 auto 8px;max-width:42ch;font-size:15px;color:#2e5638;line-height:1.6}.contact-form__success p:last-child{margin-bottom:0}.contact-form__success-detail{font-size:13px!important;color:#4c7158!important}
