/* Shown only when the head has marked scripts as running: decided before the first paint, so the page never jumps. */
.contact-form { display: none; gap: 18px; }
.js .contact-form { display: grid; }
.contact-form label:not(.contact-consent) { font: 600 14.5px/1.3 var(--body); margin-bottom: -10px; }
.contact-form input:not([type="checkbox"]):not([type="hidden"]), .contact-form textarea {
  width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid var(--rule);
  background: var(--raised); color: var(--ink); font: 400 16px/1.5 var(--text); border-radius: 0;
}
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--accent-text); outline: none; box-shadow: 0 0 0 1px var(--accent-text); }
.contact-form textarea { min-height: 150px; resize: vertical; }
.contact-form .contact-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; font: 400 15px/1.5 var(--text); color: var(--muted); }
.contact-consent input { margin: 2px 0 0; width: 18px; height: 18px; accent-color: var(--accent); }
.contact-form .small { font: 400 13.5px/1.55 var(--text); color: var(--muted); }
.contact-form .small a { color: var(--ink); }
.contact-form .btn { justify-self: start; }
.contact-feedback { min-height: 1.5em; font: 600 15px/1.5 var(--body); color: var(--accent-text); }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
