.contact-form{display:flex;flex-direction:column;gap:var(--space-md);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.contact-form__honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.contact-form__row{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.contact-form__field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.contact-form__label{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:600;color:var(--color-primary)}.contact-form__input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .9rem;font-size:var(--fs-base);background:var(--color-white);transition:border-color .2s ease}.contact-form__input:focus{border-color:var(--color-accent);outline:none}.contact-form__input.is-invalid{border-color:#c0392b}.contact-form__textarea{resize:vertical;min-height:120px}.contact-form__error{font-size:var(--fs-xs);color:#c0392b;min-height:1em}.contact-form__submit{position:relative;margin-top:var(--space-sm)}.contact-form__spinner{display:none;width:16px;height:16px;border:2px solid rgba(8,41,56,.35);border-top-color:var(--color-primary-dark);border-radius:50%;animation:contact-form-spin .7s linear infinite}.contact-form__submit.is-loading .contact-form__submit-label{opacity:.6}.contact-form__submit.is-loading .contact-form__spinner{display:inline-block}@keyframes contact-form-spin{to{transform:rotate(360deg)}}.contact-form__status{font-size:var(--fs-sm);font-weight:500;text-align:center;min-height:1.4em}.contact-form__status.is-success{color:var(--color-accent-dark)}.contact-form__status.is-error{color:#c0392b}@media (min-width: 640px){.contact-form__row{grid-template-columns:1fr 1fr}}
