/* Numen Forms — theme-agnostic. Inherits the site's design tokens (--gold, --r, fonts)
   with sane fallbacks, and uses color:inherit so it adapts to light OR dark sections. */
.nf-wrap{max-width:760px;margin:0 auto}
.nf-title{text-align:center;font-size:clamp(1.5rem,3.4vw,2rem);margin:0 0 1.2rem;font-family:var(--font-display,inherit);color:inherit}
.nf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nf-form .nf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nf-field{margin:0;min-width:0}
.nf-field.nf-full{grid-column:1/-1}
.nf-field>label,.nf-field .nf-lab{display:block;font-style:italic;color:var(--gold,#a86e2e);font-size:.9rem;letter-spacing:.04em}
.nf-opt{opacity:.6;font-size:.82rem;font-style:italic}
.nf-field input,.nf-field textarea,.nf-field select{display:block;width:100%;margin-top:.4rem;background:rgba(127,127,127,.09);border:1px solid rgba(127,127,127,.35);border-radius:10px;padding:12px 14px;color:inherit;font-family:var(--font-body,inherit);font-size:1rem;font-style:normal;transition:border-color .2s,background .2s}
.nf-field input:focus,.nf-field textarea:focus,.nf-field select:focus{outline:none;border-color:var(--gold,#a86e2e);background:rgba(127,127,127,.15)}
.nf-field textarea{resize:vertical;min-height:120px}
/* radio / checkbox groups */
.nf-choices{margin-top:.5rem;display:flex;flex-direction:column;gap:8px}
.nf-choice{display:flex;align-items:center;gap:8px;font-style:normal;color:inherit;font-size:1rem;letter-spacing:normal}
.nf-choice input{width:auto;margin:0;background:none;border:0;padding:0}
/* signature */
.nf-sig{display:block;margin-top:.5rem}
.nf-sig-pad{width:100%;max-width:600px;aspect-ratio:600/180;background:#fff;border:1px solid rgba(127,127,127,.4);border-radius:10px;touch-action:none;cursor:crosshair}
.nf-sig-clear{margin-top:6px;background:none;border:0;color:var(--gold,#a86e2e);cursor:pointer;font-size:.85rem;text-decoration:underline;padding:0}
/* zero-specificity fallback: a real theme .btn/.btn-primary overrides this */
.nf-form :where(.nf-submit){cursor:pointer;font:inherit;margin-top:8px;padding:12px 26px;border:0;border-radius:50px;background:var(--gold,#a86e2e);color:#fff}
.cf-turnstile{margin:10px 0 4px}
.nf-note{margin:.9rem 0 0;opacity:.6;font-size:.82rem;font-style:italic}
.nf-status:empty{display:none}
.nf-err{background:rgba(200,60,40,.14);border:1px solid rgba(200,60,40,.45);border-radius:10px;padding:12px 16px;margin-bottom:16px;color:inherit}
.nf-ok{text-align:center;background:rgba(127,127,127,.08);border:1px solid var(--gold,#a86e2e);border-radius:var(--r,12px);padding:36px 28px}
.nf-ok h3{color:var(--gold,#a86e2e);font-size:1.6rem;margin:0}
.nf-ok a{color:var(--gold,#a86e2e)}
@media(max-width:600px){.nf-form .nf-grid{grid-template-columns:1fr}}
