.form{margin-top:1.75rem}.form__grid{display:grid;grid-template-columns:minmax(0,1fr);column-gap:1.25rem}@media (min-width:600px){.form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form__grid .form__row{grid-column:1 / -1}.form__grid .form__row--half{grid-column:auto}}.form__row{margin-bottom:1.25rem}.form__row label{display:block;margin-bottom:0.4rem;color:var(--color-heading);font-size:0.9375rem;font-weight:700}.form__required{color:var(--color-primary-strong)}.form__row input[type='text'],.form__row input[type='email'],.form__row input[type='tel'],.form__row textarea{width:100%;min-height:50px;padding:0.75rem 1rem;border:1px solid #cfccd6;border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.form__row textarea{min-height:160px;resize:vertical}.form__row input:hover,.form__row textarea:hover{border-color:#a9a5b3}.form__row input:focus,.form__row textarea:focus{outline:none;border-color:var(--color-primary-strong);box-shadow:0 0 0 4px rgba(209,58,43,0.15)}.form__row--consent{margin-top:0.25rem}.form__checkbox{display:flex;align-items:flex-start;gap:0.75rem;color:var(--color-text);font-size:0.9375rem;font-weight:500;line-height:1.55;cursor:pointer}.form__row .form__checkbox{display:flex;margin-bottom:0;color:var(--color-text);font-size:0.9375rem;font-weight:500}.form__checkbox input{flex-shrink:0;width:20px;height:20px;margin:0.15rem 0 0;accent-color:var(--color-primary-strong)}.form__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-top:1.5rem}.form__hint{margin:0;color:var(--color-text-muted);font-size:0.875rem}@media (max-width:479px){.form__footer .btn{width:100%}}.form__message{margin-bottom:1.5rem;padding:0.9rem 1.1rem;border-radius:var(--radius-sm);font-weight:600}.form__message--success{background-color:var(--color-success-bg);color:var(--color-success-text)}.form__message--error{background-color:var(--color-error-bg);color:var(--color-error-text)}.form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form__row.is-invalid input,.form__row.is-invalid textarea,.form__row.is-invalid input:focus,.form__row.is-invalid textarea:focus{border-color:var(--color-error-text)}.form__field-error{margin:0.35rem 0 0;color:var(--color-error-text);font-size:0.875rem;font-weight:600}.grecaptcha-badge{visibility:hidden !important}