.contact-page{max-width:640px;color:var(--ink);margin:0 auto;padding:clamp(32px,6vw,64px) clamp(20px,6vw,40px) clamp(48px,8vw,96px)}.contact-page h1{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.75rem,3.5vw,2.25rem)}.contact-page .contact-intro{color:var(--muted);max-width:60ch;margin:0 0 28px;font-size:1rem;line-height:1.55}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-field{flex-direction:column;gap:6px;display:flex}.contact-field label{color:var(--ink);font-size:.85rem;font-weight:700}.contact-field input,.contact-field textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #2f62e926}.contact-field textarea{resize:vertical;min-height:160px;line-height:1.5}.contact-field.honeypot{height:0;position:absolute;left:-9999px;overflow:hidden}.contact-submit{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:10px;align-self:flex-start;padding:12px 22px;font-weight:700;transition:background .15s,transform .15s}.contact-submit:hover:not(:disabled){background:var(--blue-dark);transform:translateY(-1px)}.contact-submit:disabled{opacity:.7;cursor:not-allowed}.contact-status{border-radius:10px;padding:14px 16px;font-size:.92rem;line-height:1.45}.contact-status.success{color:#166534;background:#22c55e1a;border:1px solid #22c55e59}.contact-status.error{color:#991b1b;background:#dc262614;border:1px solid #dc26264d}
