.fb-form{max-width:40rem}
.fb-form fieldset{border:1px solid var(--line-strong);border-radius:var(--radius-card);padding:1rem 1rem .5rem;margin:0 0 1.5rem;min-width:0}
.fb-form legend{font-family:var(--font-display);font-weight:700;font-size:1.15rem;padding:0 .5rem;color:var(--text)}
.fb-opt{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.4rem .5rem;margin:0 0 .5rem;border:1px solid var(--line-strong);border-radius:12px;cursor:pointer;background:var(--bg-raised);color:var(--text)}
.fb-opt:hover{border-color:var(--focus)}
.fb-opt input{width:24px;height:24px;flex:none;accent-color:var(--rule);margin:0}
.fb-opt:has(input:checked){border-color:var(--rule);border-width:2px;padding:calc(.4rem - 1px) calc(.5rem - 1px);font-weight:700}
.fb-opt:has(input:checked)::after{content:"\2713";margin-left:auto;font-weight:700}
.fb-hint{color:var(--muted);font-size:.95rem;margin:.1rem 0 .75rem}
.fb-field{margin:0 0 1.1rem}
.fb-field label{display:block;font-weight:700;margin:0 0 .3rem}
.fb-field .fb-hint{margin:0 0 .4rem}
.fb-field input[type=text],.fb-field input[type=email],.fb-field textarea{width:100%;box-sizing:border-box;min-height:44px;padding:.6rem .75rem;font:inherit;color:var(--input-fg);background:var(--input-bg);border:2px solid var(--input-border);border-radius:12px}
.fb-field textarea{min-height:9rem;resize:vertical}
.fb-form input:focus-visible,.fb-form textarea:focus-visible,.fb-form button:focus-visible,.fb-form a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.fb-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.fb-note{border:2px solid var(--focus);border-radius:12px;padding:.75rem 1rem;margin:0 0 1.25rem;background:var(--bg-raised);color:var(--text)}
.fb-note strong{display:block;margin-bottom:.25rem}
.fb-err{border:2px dashed var(--rule);border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem;background:var(--bg-raised);color:var(--text)}
.fb-err:empty{display:none}
.fb-send{min-height:48px;padding:.75rem 1.5rem;font:inherit;font-weight:700;border:0;border-radius:999px;cursor:pointer;background:var(--btn-bg);color:var(--btn-fg)}
.fb-send:hover{background:var(--btn-hover-bg);color:var(--btn-hover-fg)}
.fb-send[disabled]{opacity:.7;cursor:progress}
.fb-thanks{max-width:40rem;border:1px solid var(--line-strong);border-radius:var(--radius-card);padding:1.25rem;background:var(--bg-raised)}
@media (prefers-reduced-motion:no-preference){.fb-opt{transition:border-color .15s}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
