.field{display:flex;flex-direction:column;gap:.375rem}.field label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-strong)}.field input,.field textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.625rem .75rem}.field input:focus,.field textarea:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--accent)}.field .is-invalid{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}.field-error{font-size:var(--text-xs);color:var(--fg);font-weight:500}.contact-form-rule .field input,.contact-form-rule .field textarea{background:transparent;border-width:0 0 1px 0;border-radius:0;padding-inline:0}.contact-form-rule .field input:focus,.contact-form-rule .field textarea:focus{outline:none;border-bottom:2px solid var(--accent)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status:empty{display:none}.form-status.is-error{color:var(--fg);font-weight:500}.form-success{padding:1.5rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--brand-green) 45%,transparent);background:color-mix(in srgb,var(--brand-green) 10%,transparent)}.form-success:focus{outline:2px solid var(--focus-ring);outline-offset:3px}
