.reg-hero{padding-bottom:clamp(1.5rem,1rem + 2vw,3rem)}
.reg-wrap{max-width:52rem}
.reg-fields{grid-column:1/-1}
.reg-fields[hidden]{display:none}
.reg-group{border:0;padding:0;margin:0}
.reg-group legend{font-weight:600;font-size:1.05rem;color:var(--ink);padding:0;margin-bottom:.8rem}
.reg-choices{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.reg-choice{display:flex;align-items:center;gap:.7rem;min-height:3.25rem;padding:.85rem 1.15rem;border-radius:1rem;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;font-weight:600;transition:box-shadow .25s}
.reg-choice:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink)}
.reg-choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
.reg-choice input,.reg-check input{width:1.2rem;height:1.2rem;min-height:0;flex:none;margin:0;accent-color:var(--ink)}
.reg-opt{font-weight:400;color:var(--ink-3)}
.reg-hint{margin:0;font-size:.85rem;color:var(--ink-2)}
.field input[type=file]{padding:.7rem 1rem;cursor:pointer}
.field select{appearance:auto}
.reg-check{display:flex;align-items:flex-start;gap:.7rem;font-size:.95rem;cursor:pointer}
.reg-check input{margin-top:.15rem}
.reg-check a,[data-registration-form] .notice a{text-decoration:underline}
[data-registration-form] .field-msg{margin:0;font-size:.85rem;color:#a12a1c;display:block}
[data-registration-form] .field-msg[hidden]{display:none}
[data-registration-form] [aria-invalid=true]{box-shadow:inset 0 0 0 2px #a12a1c}
.reg-fields .field{align-content:start}
.reg-fields .field select{height:3.25rem}
.reg-link{background:none;border:0;padding:.4rem;font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer;color:var(--ink-2);min-height:44px}
[data-reg-submit][aria-busy=true]{opacity:.75;cursor:progress}
[data-reg-gate][aria-busy=true]{opacity:.75;cursor:progress}
