.contact-form{display:grid;grid-gap:1.1rem;gap:1.1rem;margin:0 0 2rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--surface)}.contact-field{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.1rem;gap:1.1rem}.contact-field label{font-weight:600;color:var(--fg);font-size:.95rem}.contact-optional{font-weight:400;color:var(--muted)}.contact-field input,.contact-field select,.contact-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--fg);background:var(--bg,#fff);border:1px solid var(--line-strong,var(--line));border-radius:6px;padding:.6rem .7rem}.contact-field textarea{resize:vertical;min-height:10rem;line-height:1.5}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.contact-field [aria-invalid=true]{border-color:#b42318}.contact-field-hint{margin:0;font-size:.85rem;color:var(--muted)}.contact-field-error{margin:0;font-size:.9rem;color:#b42318;font-weight:600}.contact-form-summary{margin:0;padding:.75rem 1rem;border-left:4px solid #b42318;background:rgba(180,35,24,.08);color:var(--fg);border-radius:4px}.contact-form-summary:focus{outline:2px solid #b42318;outline-offset:2px}.contact-form-to{margin:0;font-size:1.05rem;color:var(--fg)}.contact-form-to-label{font-weight:700;color:var(--muted);margin-right:.25rem}.contact-submit{justify-self:start;font:inherit;font-weight:700;color:#fff;background:var(--accent);border:0;border-radius:6px;padding:.7rem 1.4rem;cursor:pointer}.contact-submit:disabled{opacity:.65;cursor:progress}.contact-submit:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.contact-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.contact-done{margin:0 0 2rem;padding:1.25rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius,8px);background:var(--surface)}.contact-done h2{margin:0 0 .35rem;font-size:1.1rem}.contact-done p{margin:0}.contact-done:focus{outline:none}@media (max-width:640px){.contact-field-row{grid-template-columns:1fr}.contact-form{padding:1rem}}