.form{display:grid;gap:var(--space-l)}.form__section{display:grid;gap:var(--space-s);padding-top:var(--space-m);border-top:1px solid var(--line-soft)}.form__section:first-of-type{border-top:0;padding-top:0}.form__legend{display:flex;align-items:baseline;gap:.7rem;padding:0;margin-bottom:.35rem}.form__legend-index{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;color:var(--green-text)}.form__legend-text{font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary)}.form fieldset{border:0;padding:0;margin:0;min-width:0}.form__grid{display:grid;gap:var(--space-s)}@media (min-width: 45rem){.form__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.field{display:grid;gap:.35rem;align-content:start}.field--wide{grid-column:1 / -1}.field__label{font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--text-primary);display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.field__optional{font-size:var(--step--2);letter-spacing:.08em;color:var(--steel);text-transform:none}.field__required{color:var(--issue-red)}.field__hint{font-size:var(--step--2);color:var(--text-muted);line-height:1.5}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{width:100%;min-height:3rem;padding:.7rem .85rem;background:var(--clean-white);border:1px solid var(--line-soft);border-radius:var(--radius-xs);font-size:var(--step-0);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-precision),box-shadow var(--dur-fast) var(--ease-precision);appearance:none}.field textarea{min-height:7.5rem;resize:vertical;line-height:1.55}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--machine-grey) 50%),linear-gradient(135deg,var(--machine-grey) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--steel)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--deep-green);box-shadow:0 0 0 3px #77c70038;outline:2px solid transparent}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--issue-red);border-left-width:3px;background:#fdf4f3}.field__error{display:none;align-items:flex-start;gap:.4rem;font-size:var(--step--2);color:#97382f;font-weight:500}.field__error:before{content:"!";display:grid;place-items:center;width:1.05rem;height:1.05rem;flex:none;font-family:var(--font-mono);font-size:.7rem;color:var(--clean-white);background:var(--issue-red);border-radius:50%}.field__error.is-visible{display:flex}.choice-grid{display:grid;gap:0;background:var(--clean-white);border:1px solid var(--line-soft);border-radius:var(--radius-xs);overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.choice{position:relative;display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.7rem .85rem;background:var(--clean-white);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin:0 -1px -1px 0;cursor:pointer;font-size:var(--step--1);transition:background var(--dur-fast) var(--ease-precision)}.choice:hover{background:var(--pale-circuit)}.choice input{width:1.1rem;height:1.1rem;flex:none;accent-color:var(--deep-green);margin:0}.choice:has(input:checked){background:var(--pale-circuit);box-shadow:inset 3px 0 0 var(--renewit-green)}.choice:has(input:focus-visible){outline:2px solid var(--deep-green);outline-offset:-2px}.ack{display:grid;gap:.75rem}.ack__item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;padding:.85rem 1rem;background:var(--surface-sunken);border:1px solid var(--line-hairline);border-radius:var(--radius-xs);cursor:pointer;min-height:44px}.ack__item:has(input:checked){border-left:2px solid var(--renewit-green);background:var(--pale-circuit)}.ack__item input{width:1.15rem;height:1.15rem;margin-top:.18rem;accent-color:var(--deep-green)}.ack__text{font-size:var(--step--2);line-height:1.55;color:var(--text-secondary)}.ack__text a{color:var(--green-text)}.error-summary{display:none;padding:1rem 1.15rem;border:2px solid var(--issue-red);border-radius:var(--radius-xs);background:#fdf4f3}.error-summary.is-visible{display:block}.error-summary__title{font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#8c332b;margin-bottom:.5rem}.error-summary ul{list-style:none;display:grid;gap:.35rem}.error-summary a{color:#8c332b;font-size:var(--step--1);min-height:32px;display:inline-flex;align-items:center}.form-status{display:none;padding:1rem 1.15rem;border:1px solid var(--line-soft);border-left:3px solid var(--status-amber);border-radius:var(--radius-xs);background:var(--surface-sunken)}.form-status.is-visible{display:block}.form-status--success{border-left-color:var(--deep-green);background:var(--pale-circuit)}.form-status__title{font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.4rem}.form-status__body{font-size:var(--step--1);color:var(--text-secondary);max-width:70ch}.form-status__body a{color:var(--green-text)}.form__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-top:var(--space-s);border-top:1px solid var(--line-soft)}.form__actions-note{font-size:var(--step--2);color:var(--text-muted);max-width:44ch}
