/* Replace the theme's JavaScript-dependent fixed-header spacing. */
@media (min-width: 560px) { .site-header { position: sticky; top: 0; } }
:focus-visible { outline: 3px solid #3e69dc; outline-offset: 4px; }

.contact-form { padding: 2rem 0 5rem; display: grid; gap: 1rem; }
.contact-form label { font-family: Poppins, sans-serif; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: .8rem; border: 1px solid #74767e; border-radius: 3px; font: inherit; }
.contact-form button { justify-self: start; }
.contact-form button:disabled { opacity: .5; cursor: not-allowed; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error { padding: 1rem; background: #ffd3d3; color: #6e1414; }
.form-success { padding: 1rem; background: #d8eacc; color: #245012; }
/* Give the mobile menu its own space instead of covering the company name. */
@media (max-width: 559px) {
  #masthead .site-header-wrapper .site-branding { max-width: calc(100% - 100px); }
  #masthead .site-title { font-size: 1.25rem; line-height: 1.4; }
}
