.contact-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 24px 60px;background:var(--color-bg)}.contact-container{max-width:600px;width:100%}.contact-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:.5rem}.contact-subtitle{font-size:1.125rem;color:var(--color-text-muted);text-align:center;margin-bottom:3rem}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{padding:.875rem 1rem;font-size:1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:120px}.char-counter{font-size:.75rem;color:var(--color-text-muted);text-align:right;margin-top:.25rem}.char-counter.over-limit{color:#ef4444;font-weight:500}.contact-form .btn{margin-top:.5rem}.contact-form .btn:disabled{opacity:.6;cursor:not-allowed}.contact-error,.contact-success{text-align:center;padding:3rem;background:var(--color-bg-card);border-radius:12px;border:1px solid var(--color-border)}.contact-error h2,.contact-success h2{font-size:1.5rem;margin-bottom:.75rem}.contact-error p,.contact-success p{color:var(--color-text-muted);margin-bottom:1.5rem}.contact-success h2{color:#22c55e}.contact-error h2{color:#ef4444}@media (max-width:768px){.contact-title{font-size:2rem}}