.cf-form{--cf-accent:var(--color-accent);--cf-accent-ring:color-mix(in srgb, var(--color-accent) 14%, transparent);--cf-error:#b42318;--cf-error-ring:#b4231824;--cf-ease:cubic-bezier(.22, 1, .36, 1)}.cf-form .form-input{transition:border-color .2s ease, background-color .2s ease, box-shadow .25s var(--cf-ease)}.cf-form .form-input:hover:not(:focus){border-color:color-mix(in srgb, var(--color-dark) 32%, transparent)}.cf-form .form-input:focus,.cf-form .form-input:focus-visible,.cf-form .hs-select button.form-input[aria-expanded=true]{border-color:var(--cf-accent);box-shadow:0 0 0 3px var(--cf-accent-ring);outline:none}.cf-form .is-invalid .form-input,.cf-form .form-input[aria-invalid=true]{border-color:var(--cf-error);box-shadow:none}.cf-form .is-invalid .form-input:focus,.cf-form .form-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--cf-error-ring)}.cf-form .is-valid .form-input:not(:focus){border-color:color-mix(in srgb, var(--cf-accent) 55%, transparent)}.cf-form .form-label{transition:color .2s}.cf-form [input-wrapper]:focus-within>.form-label,.cf-form [data-field]:focus-within>.form-label{color:var(--cf-accent)}.cf-form .is-invalid>.form-label{color:var(--cf-error)}.cf-form [data-field-card]{transition:border-color .2s ease, box-shadow .25s var(--cf-ease)}.cf-form [data-field-card]:hover{border-color:color-mix(in srgb, var(--color-dark) 32%, transparent)}.cf-form [data-field-card]:focus-within{border-color:var(--cf-accent);box-shadow:0 0 0 3px var(--cf-accent-ring)}.cf-form [data-field-card] :is(input,select,textarea):focus-visible{outline:none}.cf-form .is-invalid [data-field-card]{border-color:var(--cf-error);box-shadow:none}.cf-form .is-invalid [data-field-card]:focus-within{box-shadow:0 0 0 3px var(--cf-error-ring)}.cf-form select:has(>option[value=""]:checked){color:color-mix(in srgb, var(--color-dark) 66%, transparent)}.cf-form .form-checkbox,.cf-form .form-radio{transition:border-color .2s ease, box-shadow .2s ease, transform .2s var(--cf-ease)}.cf-form .form-checkbox:focus-visible,.cf-form .form-radio:focus-visible,.cf-form .peer:focus-visible+.form-check-label{box-shadow:0 0 0 4px var(--cf-accent-ring);outline:2px solid var(--cf-accent);outline-offset:2px}.cf-form .form-checkbox:checked,.cf-form .form-radio:checked{transform:scale(1.08)}.cf-form .is-invalid .form-checkbox,.cf-form .is-invalid .form-radio{border-color:var(--cf-error);box-shadow:0 0 0 3px var(--cf-error-ring)}.cf-form .is-invalid .peer+.form-check-label{border-color:color-mix(in srgb, var(--cf-error) 55%, transparent)}.cf-form .form-error{color:var(--cf-error);opacity:0;transition:grid-template-rows .3s var(--cf-ease), opacity .25s ease, transform .3s var(--cf-ease), margin-top .3s var(--cf-ease);grid-template-rows:0fr;margin:0;font-size:.875rem;line-height:1.4;display:grid;transform:translateY(-4px)}.cf-form .form-error[data-visible]{opacity:1;grid-template-rows:1fr;margin-top:.5rem;transform:translateY(0)}.cf-form .form-error-text{align-items:flex-start;gap:.4rem;min-height:0;display:flex;overflow:hidden}.cf-form .form-error-text:before{content:"!";background:var(--cf-error);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;margin-top:.1rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.cf-form .is-shaking{animation:cf-shake .42s var(--cf-ease)}@keyframes cf-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.cf-form .message:not(.hidden){animation:cf-fade-up .4s var(--cf-ease) both}.cf-form.is-success .message.success>div{align-items:center;gap:.6rem;display:flex}.cf-form.is-success .message.success>div:before{content:"";background:var(--cf-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / .8rem no-repeat;width:1.375rem;height:1.375rem;animation:cf-pop .45s var(--cf-ease) both .1s;border-radius:999px;flex-shrink:0}@keyframes cf-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cf-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.cf-form[aria-busy=true] button[type=submit]{cursor:progress;opacity:.7}@media (prefers-reduced-motion:reduce){.cf-form *,.cf-form .form-error{transition:none!important;animation:none!important}}
