.field{gap:var(--space-2);border:0;align-content:start;min-width:0;margin:0;padding:0;display:grid}.field>label,.field>legend{color:var(--fg-2);padding:0;font-size:14px;font-weight:500}.field>legend{margin-bottom:var(--space-2)}.field-optional{color:var(--muted);font-weight:400}@media (width>=640px){.field-wide{grid-column:1/-1}}.field input,.field select,.field textarea{border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:48px;color:var(--fg);box-shadow:inset 0 0 0 1px var(--border);font:inherit;font-size:var(--text-base);transition:box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);border:0;padding:11px 16px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}@media (hover:hover){.field input:hover,.field select:hover,.field textarea:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{background:var(--surface-raised);box-shadow:inset 0 0 0 2px var(--focus-color), 0 0 0 4px color-mix(in srgb, var(--focus-color) 18%, transparent);outline:none}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{box-shadow:inset 0 0 0 2px var(--danger-fg)}.choice-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-pill{display:inline-flex;position:relative}.choice-pill input{opacity:0;cursor:pointer;width:100%;min-height:0;margin:0;position:absolute;inset:0}.choice-pill span{border-radius:var(--radius-pill);background:var(--surface);min-height:44px;box-shadow:inset 0 0 0 1px var(--border);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);align-items:center;padding:0 18px;font-size:14px;font-weight:500;display:inline-flex}@media (hover:hover){.choice-pill:hover input:not(:checked)+span{box-shadow:inset 0 0 0 1px var(--border-strong)}}.choice-pill input:checked+span{background:var(--ink);color:var(--ink-on);box-shadow:none}.choice-pill input:focus-visible+span{outline:2px solid var(--focus-color);outline-offset:3px}.choice-pills:has(input:user-invalid) .choice-pill span{box-shadow:inset 0 0 0 1.5px var(--danger-fg)}.form-done{justify-items:start;gap:var(--space-4);display:grid}.form-done-orb{background:linear-gradient(135deg, var(--blue) 0%, var(--teal) 55%, var(--green) 100%);width:56px;height:56px;color:var(--on-grad);border-radius:50%;place-items:center;display:inline-grid}.form-done-orb .icon{stroke-width:2.25px}.form-done-back{margin-top:var(--space-2)}.form-card{--focus-color:var(--focus-color-page);--soft-fg:var(--fg-2);width:100%;padding:var(--moat);border-radius:calc(var(--radius-lg) + var(--moat));background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line), inset 0 1px 0 var(--glass-shine)}.form-panel{border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--fg);box-shadow:var(--elev-raised);padding:clamp(20px,3.2vw,36px)}.form-title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;font-weight:500;line-height:1.25}.form-grid{gap:var(--space-5) var(--space-4);margin-top:var(--space-6);display:grid}@media (width>=640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-card .form-done,.form-card .form-failed{display:none}.form-card[data-sent] .form-done,.form-card .form-done:target{display:grid}.form-card[data-sent] .form-sheet,.form-card:has(.form-done:target) .form-sheet{display:none}.form-card[data-failed] .form-failed,.form-card .form-failed:target{display:flex}.form-failed{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-8);color:var(--danger-fg);font-size:14px}.form-failed .icon{flex:none;margin-top:1px}.form-failed .text-link{color:inherit}.form-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-submit{align-items:center;gap:var(--space-4) var(--space-6);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.form-submit .secondary{flex:22ch;max-width:40ch}.field textarea{resize:vertical;min-height:120px}
