/* Contact form for the independent ALPYREN public profile. Respects existing colours. */
.contact-form-section{border-top:1px solid var(--line);padding-top:36px}
.contact-form-section h2{margin-bottom:25px}
.contact-form-card{width:min(100%,850px);background:transparent}
.contact-form-intro{font:17px/1.65 Arial,Helvetica,sans-serif;color:var(--muted);margin:0 0 27px}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.contact-field{min-width:0;display:flex;flex-direction:column;gap:9px}
.contact-field-full{grid-column:1/-1}
.contact-field label,.contact-upload-label{font:15px/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}
.contact-field input:not([type=checkbox]):not([type=file]),.contact-field textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;padding:14px 15px;min-height:48px;color:var(--muted);font:16px/1.45 Arial,Helvetica,sans-serif;outline-offset:3px;transition:border-color .15s ease}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--gold);border-color:var(--gold)}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#717577;opacity:1}
.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:#a24e45}
.contact-optional{color:var(--muted);font-weight:400}
.contact-upload{padding:20px;border:1px dashed #b4a590;min-height:93px;display:flex;flex-wrap:wrap;gap:10px 15px;align-items:center;justify-content:space-between;background:#faf8f4}
.contact-upload input{max-width:100%;font:14px Arial,Helvetica,sans-serif;color:var(--muted)}
.contact-upload small{display:block;font:13px/1.5 Arial,Helvetica,sans-serif;color:var(--muted)}
.contact-file-list{padding:0;margin:12px 0 0;list-style:none;font:14px/1.5 Arial,Helvetica,sans-serif}
.contact-file-list li{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:7px 0;overflow-wrap:anywhere}
.contact-file-list button{border:0;background:none;text-decoration:underline;color:var(--muted);cursor:pointer;padding:5px 0;font:14px Arial,Helvetica,sans-serif;flex:none}
.contact-size{font:13px/1.5 Arial,Helvetica,sans-serif;margin:9px 0 0;color:var(--muted)}
.contact-copy{display:flex;gap:11px;align-items:flex-start;font:15px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);cursor:pointer}
.contact-copy input{accent-color:var(--gold);width:18px;height:18px;margin:2px 0 0;flex:none}
.contact-privacy-note{font:13px/1.65 Arial,Helvetica,sans-serif;color:var(--muted);margin:16px 0}
.contact-privacy-note a{color:inherit;text-underline-offset:3px}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.contact-form-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:18px 0 0}
.contact-submit{background:var(--ink);border:1px solid var(--ink);color:#fff;min-height:47px;padding:12px 26px;font:15px Arial,Helvetica,sans-serif;cursor:pointer}
.contact-submit:hover:not(:disabled){background:#41494d}
.contact-submit:disabled{cursor:not-allowed;opacity:.55}
.contact-fallback{font:14px Arial,Helvetica,sans-serif;color:var(--muted)}
.contact-fallback a{color:var(--muted);text-underline-offset:4px}
.contact-feedback{display:none;border-left:3px solid var(--gold);background:#f4f0e8;color:var(--muted);padding:14px 17px;font:15px/1.65 Arial,Helvetica,sans-serif;margin:18px 0 0;white-space:pre-line}
.contact-feedback.is-visible{display:block}
.contact-feedback.is-error{background:#fbf2ef;border-color:#a24e45}
.contact-turnstile{margin:18px 0 6px;min-height:0}
.contact-turnstile>div{max-width:100%}
@media(max-width:640px){.contact-form-section{padding-top:30px}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-upload{align-items:flex-start}.contact-form-intro{font-size:16px}.contact-submit{width:100%}.contact-form-actions{align-items:stretch;flex-direction:column}.contact-fallback{align-self:flex-start}}
