.form{display:grid;gap:clamp(1.25rem,1rem + 1vw,1.85rem)}.form__section{border:1px solid var(--hairline-soft);border-radius:var(--radius-md);padding:clamp(1.15rem,.9rem + 1vw,1.75rem);margin:0;background:var(--clean-white);position:relative}.form__legend{display:flex;align-items:center;gap:.6rem;padding:0 .5rem;margin-left:-.5rem;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.13em;text-transform:uppercase;color:var(--technical-slate)}.form__legendId{color:var(--power-blue)}.form__hint{font-size:var(--step--1);color:var(--ink-muted);margin-top:.35rem;margin-bottom:1rem}.form__grid{display:grid;gap:1rem 1.25rem}@media(min-width:44rem){.form__grid--2{grid-template-columns:1fr 1fr}.form__grid--3{grid-template-columns:repeat(3,1fr)}.form__span-2{grid-column:span 2}}.field{display:grid;gap:.35rem}.field__label{font-size:var(--step--1);font-weight:600;color:var(--ink-strong);display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.field__optional{font-family:var(--font-mono);font-size:var(--step--2);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-slate)}.field__required{color:var(--power-blue);font-weight:700}.field__help{font-size:var(--step--2);color:var(--ink-muted);line-height:1.5}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;min-height:3rem;padding:.7rem .85rem;background:var(--technical-white);border:1px solid var(--cable-silver);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--step--1);transition:border-color var(--dur-fast) var(--ease-grid),box-shadow var(--dur-fast) var(--ease-grid),background-color var(--dur-fast) var(--ease-grid)}.field textarea{min-height:7.5rem;resize:vertical;line-height:1.6}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%23334155' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:var(--clean-white);border-color:var(--gridline-blue);box-shadow:0 0 0 3px #0877e829}.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:var(--warning-red);background:#fff7f7}.field__error{display:none;align-items:center;gap:.4rem;font-size:var(--step--2);font-weight:600;color:#b31b1b}.field[data-invalid] .field__error{display:flex}.field__error:before{content:"!";display:grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:50%;background:#b31b1b;color:#fff;font-size:.7rem;font-weight:700;flex:none}.choices{display:grid;gap:.5rem}.choices--inline{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.choice{display:flex;align-items:flex-start;gap:.65rem;min-height:2.9rem;padding:.65rem .85rem;border:1px solid var(--cable-silver);border-radius:var(--radius-sm);background:var(--technical-white);cursor:pointer;font-size:var(--step--1);line-height:1.5;transition:border-color var(--dur-fast) var(--ease-grid),background-color var(--dur-fast) var(--ease-grid)}.choice:hover{border-color:var(--gridline-blue);background:var(--pale-grid-blue)}.choice input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--power-blue);flex:none}.choice:has(input:checked){border-color:var(--gridline-blue);background:var(--pale-grid-blue)}.choice:has(input:focus-visible){outline:3px solid var(--gridline-blue);outline-offset:2px}.ack{display:grid;gap:.75rem}.ack .choice{align-items:flex-start;background:var(--clean-white)}.form__submit{display:grid;gap:1rem;justify-items:start}.form__status{width:100%;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--electrical-mist);padding:1rem 1.15rem;font-size:var(--step--1);color:var(--ink-muted);line-height:1.6}.form__status[hidden]{display:none}.form__status[data-state=error]{border-color:#dc262659;background:#fff7f7;color:#8a1f1f}.form__status[data-state=info]{border-color:#0877e84d;background:var(--pale-grid-blue);color:var(--ink)}.form__status strong{color:inherit}.form__privacy{font-size:var(--step--2);color:var(--ink-muted);max-width:44rem}
