.contact-page-title{font-size:2rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-sm)}.contact-page-intro{color:var(--color-text-light);margin:0 0 var(--spacing-xl);line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-label{font-size:.9375rem;font-weight:600;color:var(--color-text)}.contact-required{color:#c41e3a}.contact-input,.contact-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);transition:var(--transition)}.contact-input:focus,.contact-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,102,204,.1)}.contact-textarea{resize:vertical;min-height:120px}.contact-submit{padding:var(--spacing-md) var(--spacing-lg);font-size:.9375rem;font-weight:600;color:var(--color-text-white);background:var(--color-primary);border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-self:flex-start}.contact-submit:hover:not(:disabled){background:var(--color-primary-dark)}.contact-submit:disabled{opacity:.7;cursor:not-allowed}.contact-error{color:#c41e3a;font-size:.9375rem;margin:0}.contact-success{padding:var(--spacing-lg);background:var(--color-background-light);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text)}.contact-success p{margin:0;line-height:1.5}