.qf{gap:var(--s-6);display:grid}.qf__req{color:var(--text-muted);font-size:.9375rem}.qf__group{gap:var(--s-4) var(--s-5);background:var(--c-white);border:1px solid var(--line-strong);border-radius:var(--radius-lg);min-width:0;margin:0;padding:1.35rem 1.15rem 1.5rem;display:grid}.qf__group legend{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;padding:0 .5rem;font-size:1.5rem;font-weight:700}.qf__opt{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:.875rem;font-weight:500}.qf__field{align-content:start;gap:.35rem;display:grid}.qf__field[hidden]{display:none}.qf label{font-size:.9375rem;font-weight:650}.qf input[type=text],.qf input[type=email],.qf input[type=tel],.qf input[type=number],.qf select,.qf textarea{border:1px solid var(--c-steel-500);border-radius:var(--radius);background:#fff;width:100%;min-height:3rem;padding:.6rem .8rem}.qf textarea{resize:vertical;min-height:8rem}.qf [aria-invalid=true]{border:2px solid var(--c-red-dark)}.qf__hint{color:var(--text-muted);font-size:.875rem}.qf__error{color:var(--c-red-dark);font-size:.9375rem;font-weight:650}.qf__error:before{content:"⚠ "}.qf__checks{flex-wrap:wrap;gap:.4rem 1.5rem;display:flex}.qf__checks label,.qf__consent label{min-height:var(--tap);cursor:pointer;grid-template-columns:1.4rem 1fr;align-items:center;gap:.7rem;font-weight:500;display:grid}.qf__consent label{align-items:start;font-size:1rem}.qf input[type=checkbox]{width:1.3rem;height:1.3rem;accent-color:var(--c-red);margin:.15rem 0 0}.qf__consent a{font-weight:650}.qf__hp{width:1px;height:1px;position:absolute;left:-200vw;overflow:hidden}.qf__errors{border:2px solid var(--c-red-dark);border-radius:var(--radius-lg);background:#fff;padding:1.1rem 1.2rem}.qf__errors[hidden]{display:none}.qf__errors h2{margin-bottom:.5rem;font-size:1.5rem}.qf__errors ul{gap:.3rem;padding-left:1.2rem;display:grid}.qf__errors a{font-weight:650}.qf__actions{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.qf__status{color:var(--text-muted)}@media (width>=40rem){.qf__group{grid-template-columns:1fr 1fr}.qf__field--wide{grid-column:1/-1}}
