.app-contact-form{--cf-text:var(--color-dark);--cf-muted:rgba(0,0,0,.45);--cf-line:rgba(0,0,0,.2);--cf-accent:var(--color-highlight);--cf-error:#d8584f;--cf-card-bg:rgba(0,0,0,.03);--cf-card-border:rgba(0,0,0,.12);--cf-surface:#fff;font-family:var(--font-primary)}.app-contact-form[data-theme=dark]{--cf-text:var(--color-white);--cf-muted:hsla(0,0%,100%,.5);--cf-line:hsla(0,0%,100%,.3);--cf-card-bg:hsla(0,0%,100%,.04);--cf-card-border:hsla(0,0%,100%,.2);--cf-surface:#1d1d1d}.app-contact-form[data-status=submitting]{opacity:.85;pointer-events:none}.app-contact-form .contact-form{display:flex;flex-direction:column;gap:2rem}.app-contact-form .contact-hp{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.app-contact-form .contact-form-fields{display:flex;flex-direction:column;gap:1.75rem}.app-contact-form .contact-form-row{display:flex;gap:1.5rem}@media(max-width:767px){.app-contact-form .contact-form-row{flex-direction:column}}.app-contact-form .contact-form-row>*{flex:1 1 0;min-width:0}.app-contact-form .contact-field{position:relative}.app-contact-form .contact-field input,.app-contact-form .contact-field textarea{background-color:transparent;background-image:linear-gradient(var(--cf-accent),var(--cf-accent));background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;border:none;border-bottom:1px solid var(--cf-line);color:var(--cf-text);display:block;font-family:var(--font-primary);font-size:1.05rem;font-weight:300;outline:none;padding:1.5rem 0 .75rem;transition:background-size .35s cubic-bezier(.65,0,.35,1),border-color .25s ease;width:100%}.app-contact-form .contact-field input:focus,.app-contact-form .contact-field textarea:focus{background-size:100% 1px}.app-contact-form .contact-field input:disabled,.app-contact-form .contact-field textarea:disabled{cursor:not-allowed;opacity:.5}.app-contact-form .contact-field textarea{line-height:1.5;min-height:6rem;resize:vertical}.app-contact-form .contact-field label{color:var(--cf-muted);font-family:var(--font-primary);font-size:1.05rem;left:0;pointer-events:none;position:absolute;top:1.5rem;transition:top .25s ease,font-size .25s ease,color .25s ease,letter-spacing .25s ease}.app-contact-form .contact-field input:not(:-moz-placeholder)+label,.app-contact-form .contact-field textarea:not(:-moz-placeholder)+label{color:var(--cf-muted);font-size:.75rem;letter-spacing:.04em;top:0}.app-contact-form .contact-field input:focus+label,.app-contact-form .contact-field input:not(:placeholder-shown)+label,.app-contact-form .contact-field textarea:focus+label,.app-contact-form .contact-field textarea:not(:placeholder-shown)+label{color:var(--cf-muted);font-size:.75rem;letter-spacing:.04em;top:0}.app-contact-form .contact-field .contact-field-error{color:var(--cf-error);display:block;font-size:.8rem;margin-top:.5rem}.app-contact-form .contact-field.has-error input,.app-contact-form .contact-field.has-error textarea{border-bottom-color:var(--cf-error)}.app-contact-form .contact-field.has-error label{color:var(--cf-error)}.app-contact-form .contact-services{border:none;margin:0;min-width:0;padding:0}.app-contact-form .contact-services .contact-services-legend{color:var(--cf-muted);font-size:.7rem;font-weight:600;letter-spacing:.2em;margin-bottom:1rem;padding:0;text-transform:uppercase}.app-contact-form .contact-services .contact-services-tags{display:flex;flex-wrap:wrap;gap:.6rem}.app-contact-form .contact-services .service-tag{align-items:center;background:transparent;border:1px solid var(--cf-line);border-radius:999px;color:var(--cf-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:.85rem;font-weight:400;gap:.45rem;padding:.5rem .9rem;transition:border-color .25s ease,background .25s ease,color .25s ease}.app-contact-form .contact-services .service-tag:hover{border-color:var(--cf-accent)}.app-contact-form .contact-services .service-tag.is-active{background:var(--cf-accent);border-color:var(--cf-accent);color:var(--color-dark)}.app-contact-form .contact-services .service-tag.is-active .service-tag-icon{color:var(--color-dark)}.app-contact-form .contact-services .service-tag .service-tag-icon{color:var(--cf-accent);transition:color .25s ease}.app-contact-form .contact-file .contact-file-label{display:flex;flex-direction:column;gap:.5rem}.app-contact-form .contact-file .contact-file-label>span{color:var(--cf-text);font-size:.85rem;font-weight:500}.app-contact-form .contact-file .contact-file-label>span small{color:var(--cf-muted);font-size:.75rem;font-weight:400;margin-left:.4rem}.app-contact-form .contact-file .contact-file-label input[type=file]{background:var(--cf-card-bg);border:1px dashed var(--cf-card-border);border-radius:5px;color:var(--cf-text);cursor:pointer;font-family:inherit;font-size:.85rem;padding:.6rem;width:100%}.app-contact-form .contact-file .contact-file-label input[type=file]::file-selector-button{background:var(--cf-accent);border:none;border-radius:3px;color:var(--color-dark);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;margin-right:.75rem;padding:.4rem .9rem}.app-contact-form .contact-file .contact-file-label input[type=file]:disabled{cursor:not-allowed;opacity:.5}.app-contact-form .contact-file .contact-file-name{align-items:center;color:var(--cf-muted);display:flex;font-size:.8rem;gap:.75rem;margin:.5rem 0 0}.app-contact-form .contact-file .contact-file-name>span{word-break:break-all}.app-contact-form .contact-file .contact-file-name .contact-file-remove{background:none;border:none;color:var(--cf-text);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.75rem;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.app-contact-form .contact-file .contact-file-name .contact-file-remove:hover{color:var(--cf-accent)}.app-contact-form .contact-file .contact-file-error{color:var(--cf-error);font-size:.8rem;margin:.5rem 0 0}.app-contact-form .contact-form-actions{display:flex;margin-top:.5rem}.contact-form-altcha altcha-widget{font-size:.8rem;--altcha-max-width:100%;--altcha-border-radius:var(--radius-8,8px);--altcha-border-color:hsla(0,0%,100%,.2);--altcha-color-base:var(--color-dark);--altcha-color-base-content:var(--color-white);--altcha-color-primary:var(--color-highlight);--altcha-color-primary-content:var(--color-dark);--altcha-checkbox-border-color:hsla(0,0%,100%,.4);--altcha-color-error:#d8584f;--altcha-color-success:var(--color-highlight);width:100%}
