main{padding-top:120px}.content-wrapper{max-width:560px;margin:0 auto}.page-header{padding:48px 0;text-align:center;opacity:0;transform:translateY(20px);animation:fadeInUp .6s var(--ease) forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.page-title{font-family:var(--font-serif);font-size:var(--type-route-title);font-weight:400;letter-spacing:-.02em;margin-bottom:16px}.page-lead{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-secondary);line-height:1.8;max-width:400px;margin:0 auto}.form-section{padding:0 0 80px;opacity:0;transform:translateY(20px);animation:fadeInUp .6s var(--ease) .15s forwards}.contact-form{display:flex;flex-direction:column;gap:28px}.form-group{position:relative;margin-top:8px}.form-label{position:absolute;left:16px;top:18px;font-family:var(--font-sans);font-size:var(--text-ui-sm);color:var(--text-tertiary);pointer-events:none;transition:all .2s ease}.form-input:focus~.form-label,.form-input:not(:placeholder-shown)~.form-label,.form-textarea:focus~.form-label,.form-textarea:not(:placeholder-shown)~.form-label{top:6px;font-size:var(--text-data-sm);color:var(--text-tertiary)}.form-label .required{color:#e53935}.form-input,.form-textarea{width:100%;padding:18px 16px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .3s ease,box-shadow .3s ease}.form-input:focus,.form-input:not(:placeholder-shown),.form-textarea:focus,.form-textarea:not(:placeholder-shown){padding:26px 16px 10px}.form-input::placeholder,.form-textarea::placeholder{color:transparent}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--text-tertiary)}.form-textarea{min-height:160px;resize:vertical}.form-input.error,.form-textarea.error{border-color:#e53935;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.error-message{font-family:var(--font-sans);font-size:var(--text-data-sm);color:#e53935;margin-top:8px;display:none}.error-message.visible{display:block;animation:fadeInUp .3s ease}.char-count{font-family:var(--font-mono);font-size:var(--text-data-sm);color:var(--text-tertiary);text-align:right;margin-top:8px}.form-privacy a{text-decoration:underline;text-underline-offset:2px;color:var(--text-secondary)}.form-privacy a:hover,.form-privacy a:focus-visible{color:var(--text)}.form-privacy{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-sans);font-size:var(--text-data-sm);line-height:1.6;color:var(--text-tertiary);margin-bottom:24px;padding:16px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px}.form-privacy svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:20px 36px;font-family:var(--font-sans);font-size:var(--text-ui);font-weight:500;border-radius:var(--radius-md);background:var(--text);color:var(--bg);border:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s ease}.submit-btn:hover:before{left:100%}.submit-btn:hover{transform:translateY(-2px)}.submit-btn:active{transform:translateY(0) scale(.98)}.submit-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.submit-btn:disabled:before{display:none}.submit-btn svg{width:16px;height:16px;transition:transform .2s ease}.submit-btn:hover svg{transform:translate(4px)}.submit-btn .spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:none}.submit-btn.loading .spinner{display:block}.submit-btn.loading .btn-text,.submit-btn.loading .btn-icon{display:none}@keyframes spin{to{transform:rotate(360deg)}}.social-links{display:flex;justify-content:center;gap:12px;margin-top:48px;padding-top:48px;border-top:1px solid var(--border)}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--border);color:var(--text-secondary);transition:all .3s ease}.social-link:hover{color:var(--text);border-color:var(--text);transform:translateY(-2px)}.social-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.social-link svg{width:18px;height:18px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.char-count.over-limit,#charCount.over-limit{color:var(--danger)}
