.contact-form-wrapper{max-width:800px;padding:2rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form__honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.contact-form__row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:640px){.contact-form__row{grid-template-columns:1fr}}.contact-form__field{display:flex;flex-direction:column;gap:.5rem}.contact-form__field--full{grid-column:1/-1}.contact-form__label{font-family:var(--font-heading);font-size:.875rem;font-weight:500;color:#333;text-transform:uppercase;letter-spacing:.05em}.contact-form__label .required{color:var(--accent-color)}.contact-form__input,.contact-form__select,.contact-form__textarea{width:100%;padding:.875rem 1rem;font-family:var(--font-alt);font-size:1rem;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;transition:border-color .2s ease,box-shadow .2s ease}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.1)}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#999}.contact-form__textarea{resize:vertical;min-height:120px}.contact-form__select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.contact-form__field.has-error .contact-form__input,.contact-form__field.has-error .contact-form__select,.contact-form__field.has-error .contact-form__textarea{border-color:#dc3545}.contact-form__error{font-size:.8125rem;color:#dc3545;min-height:1.25rem}.contact-form__field--checkbox{margin-top:.5rem}.contact-form__checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.contact-form__checkbox{width:1.25rem;height:1.25rem;margin-top:.125rem;accent-color:var(--accent-color);cursor:pointer}.contact-form__checkbox-text{font-size:.875rem;color:#666;line-height:1.5}.contact-form__checkbox-text a{color:var(--accent-color);text-decoration:underline}.contact-form__checkbox-text a:hover{text-decoration:none}.contact-form__submit{margin-top:1rem}.contact-form__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:200px;padding:1rem 2rem;font-family:var(--font-heading);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--accent-color);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.contact-form__button:hover{background:#8e1a44}.contact-form__button:active{transform:scale(.98)}.contact-form__button:disabled{opacity:.7;cursor:not-allowed}.contact-form__button-loading{display:none}.contact-form__button.is-loading .contact-form__button-text{display:none}.contact-form__button.is-loading .contact-form__button-loading{display:block}.contact-form__button .spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-form__messages{margin-top:1rem}.contact-form__success{padding:1rem 1.25rem;font-size:.9375rem;color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px}.contact-form__error-message{padding:1rem 1.25rem;font-size:.9375rem;color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.bg-black .contact-form__label,.bg-accent .contact-form__label{color:#fff}.bg-black .contact-form__input,.bg-black .contact-form__select,.bg-black .contact-form__textarea,.bg-accent .contact-form__input,.bg-accent .contact-form__select,.bg-accent .contact-form__textarea{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.bg-black .contact-form__input::placeholder,.bg-black .contact-form__textarea::placeholder,.bg-accent .contact-form__input::placeholder,.bg-accent .contact-form__textarea::placeholder{color:rgba(255,255,255,.5)}.bg-black .contact-form__checkbox-text,.bg-accent .contact-form__checkbox-text{color:rgba(255,255,255,.8)}.bg-black .contact-form__checkbox-text a,.bg-accent .contact-form__checkbox-text a{color:#fff}