.contact-form{max-width:640px;margin:1.5rem 0;padding:clamp(1.25rem,3vw,2rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.contact-field{margin:0 0 1.15rem}
.contact-form label{display:block;margin:0 0 .4rem;font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--text)}
.contact-form .required-mark{color:var(--accent)}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{display:block;width:100%;box-sizing:border-box;padding:.75rem .9rem;font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s,background .15s}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.75}
.contact-form input:hover,.contact-form textarea:hover{border-color:var(--muted)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.contact-form textarea{min-height:9rem;resize:vertical}
.contact-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.6rem;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--btn-fg);background:var(--btn-bg);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .15s,transform .15s}
.contact-form button[type="submit"]:hover{background:var(--btn-bg-hover);transform:translateY(-1px)}
.contact-form button[type="submit"]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.contact-status{max-width:640px;margin:0 0 1rem;padding:.9rem 1.1rem;font-weight:600;border-radius:var(--radius);border:1px solid var(--line);border-left-width:4px}
.contact-status.success{color:var(--text);background:var(--primary-soft);border-color:var(--primary)}
.contact-status.error{color:var(--text);background:var(--surface);border-color:var(--danger)}
