.contact-section{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.contact-frame{position:relative;width:1600px;max-width:98vw}.contact-frame-img{width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.contact-frame-content{position:absolute;inset:15% 16% 18% 13%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.form-title{font-family:Recoleta,Open Sans,Helvetica Neue,sans-serif;font-weight:700;text-transform:uppercase;color:var(--text-color);font-size:2em;margin-bottom:16px;text-align:center}#contactForm{display:flex;flex-direction:column;align-items:flex-start;width:70%;position:relative}.form-group{width:100%;margin-bottom:12px;position:relative}.form-group label{display:block;margin-bottom:5px}.form-group input,.form-group textarea{font-family:Nunito,Open Sans,Helvetica Neue,sans-serif;width:100%;padding:8px 4px;outline:none;border:none;background:none;border-bottom:1px solid var(--text-color);font-size:15px;position:relative;transition:border-bottom-color .3s ease;color:var(--text-color)}.form-group textarea{font-family:Nunito,Open Sans,Helvetica Neue,sans-serif;resize:none;height:120px}.submit-container{display:flex;justify-content:center;width:100%;margin-bottom:0}.form-group button{outline:none;font-size:16px;font-weight:700;height:2.8rem;color:var(--text-color);background-color:transparent;border:1px solid var(--text-color);padding:8px 36px;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;position:relative}.form-group button:not(:disabled):hover{color:var(--background-color);background-color:var(--text-color);box-shadow:1px 2px 8px #3b3d414d}.success-message{width:70%;text-align:center;display:none;margin-top:12px;padding:12px;border-radius:5px;background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;font-size:.9em}.error-message{width:70%;text-align:center;display:none;margin-top:12px;padding:12px;border-radius:5px;background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-size:.9em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.form-group input.field-error,.form-group textarea.field-error{border-bottom-color:#8b4040}.field-error-message{display:block;color:#8b4040;font-size:.78rem;font-style:italic;margin-top:.25rem;letter-spacing:.01em;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.2rem}.character-counter{font-size:.8rem;color:var(--text-color);opacity:.6}.character-counter.warning{color:#856404;font-weight:700;opacity:1}.character-counter.error{color:#721c24;font-weight:700;opacity:1}.form-group:not(.submit-container):after{content:"";position:absolute;left:50%;width:0;height:2px;background-color:var(--text-color);transform:translate(-50%);transition:width .3s ease;pointer-events:none}.form-group:has(input):after{bottom:0}.form-group:has(textarea):after{bottom:1.8rem}.form-group:not(.submit-container):focus-within:after{width:100%}.form-group:has(input.field-error):focus-within:after,.form-group:has(textarea.field-error):focus-within:after{width:0}.form-group input:focus,.form-group textarea:focus{border-bottom-color:transparent;outline:none}.form-group button:focus-visible{outline:2px solid var(--text-color);outline-offset:4px}.form-group button:disabled{cursor:default;opacity:.45;outline:1px solid var(--text-color);outline-offset:2px;animation:sonar-pulse 1.4s ease-out infinite}@keyframes sonar-pulse{0%{outline-offset:2px;outline-color:var(--text-color)}to{outline-offset:14px;outline-color:transparent}}.form-group input:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){border-bottom-color:#721c24}@media(max-width:600px){.contact-frame{max-width:95vw}.contact-frame-content{inset:16% 12% 11%}.form-title{font-size:1.5em;margin-bottom:10px}.form-group textarea{height:55px}.form-group button{font-size:14px;padding:6px 28px}}
