.form-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg) var(--spacing-md);width:100%;padding:var(--spacing-xl);background:var(--color-paper-warm);border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-rule)}.form-field{display:flex;flex-direction:column;grid-column:1 / -1;gap:var(--spacing-2xs);min-width:0}.form-field[data-form-target=first_name],.form-field[data-form-target=last_name]{grid-column:auto}.form-label{color:var(--color-ink-soft, var(--color-ink));font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}.required{color:var(--color-accent-deep, var(--color-accent))}.form-input,.form-select,.form-textarea{width:100%;min-height:3.25rem;padding:var(--spacing-sm) 0;color:var(--color-ink);background:transparent;border:0;border-bottom:1px solid var(--color-rule-dark, var(--color-rule));border-radius:0;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.form-select{appearance:none;padding-right:var(--spacing-xl);background-image:linear-gradient(45deg,transparent 50%,var(--color-ink) 50%),linear-gradient(135deg,var(--color-ink) 50%,transparent 50%);background-position:calc(100% - .75rem) 50%,calc(100% - .45rem) 50%;background-repeat:no-repeat;background-size:.35rem .35rem,.35rem .35rem}.form-textarea{min-height:8rem;resize:vertical}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-ink)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{border-color:var(--color-accent-deep, var(--color-accent));box-shadow:0 2px 0 var(--color-accent)}.form-input-error,.form-input-error:hover,.form-input-error:focus-visible{border-color:var(--color-error, var(--color-accent));box-shadow:0 2px 0 var(--color-error, var(--color-accent))}.form-field-error,.form-error{color:var(--color-error, var(--color-accent-deep));font-size:.8125rem;line-height:1.45}.form-actions,.form-error,.form-privacy{grid-column:1 / -1}.form-privacy{display:grid;gap:var(--spacing-sm);padding:var(--spacing-md) 0;color:var(--color-mute);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);font-size:.8rem;line-height:1.6}.form-privacy-check{display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--color-ink);font-size:.8rem;font-weight:500;letter-spacing:0;line-height:1.5;text-transform:none}.form-privacy-check input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.12rem;accent-color:var(--color-accent-deep, var(--color-accent))}.form-privacy a{color:inherit;border-bottom:1px solid var(--color-accent-deep, var(--color-accent));font-weight:700}.form-privacy a:hover{color:var(--color-ink)}.form-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-xs)}.form-button{display:inline-flex;min-width:10rem;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);color:var(--color-ink);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.form-button:hover:not(:disabled){color:var(--color-paper);background:var(--color-ink);border-color:var(--color-ink);transform:translateY(-1px)}.form-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.form-button:disabled{cursor:wait;opacity:.6}.form-success{display:grid;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-paper);background:var(--color-surface-dark, var(--color-ink));border-top:4px solid var(--color-accent)}.form-success-kicker{color:var(--color-accent);font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.form-success p{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.15}@media(max-width:40rem){.form-container{grid-template-columns:minmax(0,1fr);padding:var(--spacing-lg)}.form-field[data-form-target=first_name],.form-field[data-form-target=last_name]{grid-column:1 / -1}.form-actions{justify-content:stretch}.form-button{width:100%}}@media(prefers-reduced-motion:reduce){.form-input,.form-select,.form-textarea,.form-button{transition:none}}
