.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(--action-primary-border);box-shadow:0 0 0 4px color-mix(in srgb, var(--action-primary-ring) 15%, transparent);outline:none}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger-fg) 55%, var(--line))}.contact-field textarea{resize:vertical;min-height:160px;line-height:1.5}.contact-field-hint{color:var(--muted);margin:0;font-size:.78rem}.contact-field-error{color:var(--danger-fg);margin:0;font-size:.82rem}.contact-field.honeypot{height:0;position:absolute;left:-9999px;overflow:hidden}.contact-submit{background:var(--action-primary-bg);color:var(--action-primary-fg);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}:root[data-theme=dark] .contact-submit{background:var(--action-primary-bg);color:var(--action-primary-fg)}:root[data-theme=dark] .contact-submit:hover:not(:disabled){background:var(--blue-dark)}.contact-status{border-radius:10px;padding:14px 16px;font-size:.92rem;line-height:1.45}.contact-status.error{background:var(--danger-bg,color-mix(in srgb, var(--danger-fg) 8%, var(--surface)));border:1px solid var(--danger-border,color-mix(in srgb, var(--danger-fg) 30%, var(--line)));color:var(--danger-fg)}:root[data-theme=dark] .contact-status.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-fg)}.contact-success{border:1px solid color-mix(in srgb, var(--ok-fg) 28%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--ok-fg) 12%, var(--surface)) 0%, var(--surface) 55%);box-shadow:0 18px 40px color-mix(in srgb, var(--ink) 6%, transparent);border-radius:16px;justify-items:start;gap:12px;margin-top:4px;padding:28px 24px;display:grid}.contact-success-icon{background:color-mix(in srgb, var(--ok-fg) 16%, transparent);width:52px;height:52px;color:var(--ok-fg);border-radius:14px;place-items:center;display:grid}.contact-success-title{letter-spacing:-.02em;color:var(--ink);margin:4px 0 0;font-size:clamp(1.25rem,2.4vw,1.5rem);font-weight:800}.contact-success-body{max-width:42ch;color:var(--muted);margin:0;font-size:.98rem;line-height:1.55}.contact-success-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.contact-success-primary{background:var(--action-primary-bg);color:var(--action-primary-fg);font:inherit;cursor:pointer;border:none;border-radius:10px;padding:11px 18px;font-weight:700}.contact-success-primary:hover{background:var(--blue-dark)}.contact-success-secondary{color:var(--blue);font-size:.9rem;font-weight:700;text-decoration:none}.contact-success-secondary:hover{text-decoration:underline}:root[data-theme=dark] .contact-success{border-color:color-mix(in srgb, var(--ok-fg) 36%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--ok-fg) 18%, transparent) 0%, color-mix(in srgb, var(--surface) 92%, #000) 60%);box-shadow:0 18px 40px #00000047}:root[data-theme=dark] .contact-success-icon{background:color-mix(in srgb, var(--ok-fg) 22%, transparent);color:var(--ok-fg)}
