.contact-wrap{max-width:760px}
.contact-form{display:grid;gap:22px;padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:24px;background:var(--card)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.contact-field{display:grid;gap:8px;font-weight:800}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-weight:600;line-height:1.5}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:3px solid color-mix(in srgb,var(--teal) 30%,transparent);outline-offset:2px;border-color:var(--teal)}
.contact-field small,.contact-note{font-weight:500;font-size:14px;color:var(--sub);line-height:1.6}
.contact-note{margin:0}
.contact-note a{text-decoration:underline}
.contact-form button{justify-self:start}
.contact-form button:disabled{opacity:.7;cursor:wait}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-status{margin:0;line-height:1.6;min-height:1.6em}
.contact-status.is-success{color:var(--teal-text);font-weight:800}
.contact-status.is-error{color:var(--ink);font-weight:800}
@media(max-width:560px){.contact-fields{grid-template-columns:1fr}.contact-form button{width:100%;justify-self:stretch}}
