/* =====================================================================
 *  jb-quiz.css — Down payment program matcher
 *  Living in Riverdale GA. Uses the brand tokens from
 *  tokens-brand-override.css. One radius scale, one accent.
 * =================================================================== */

.jbq{--jbq-r:10px;--jbq-ring:0 0 0 2px var(--brand-primary,#09652F);font-family:"Open Sans",sans-serif;color:var(--text-body,#282828);max-width:820px;margin:0 auto}

/* ---- progress ---- */
.jbq-bar{height:4px;background:var(--border,#E5E2D8);border-radius:999px;overflow:hidden;margin-bottom:14px}
.jbq-bar span{display:block;height:100%;width:0;background:var(--brand-primary,#09652F);transition:width .32s cubic-bezier(.4,0,.2,1)}
.jbq-step{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,#797E8B);margin-bottom:26px}

/* ---- question ---- */
.jbq-q{font-size:1.6rem;line-height:1.18;font-weight:800;color:var(--text-heading,#212934);margin:0 0 22px}
@media(min-width:768px){.jbq-q{font-size:2rem}}
.jbq-opts{display:grid;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.jbq-opt{display:block;width:100%;text-align:left;font:inherit;font-size:1rem;line-height:1.4;padding:16px 18px;background:var(--surface,#fff);color:var(--text-body,#282828);border:1px solid var(--border,#E5E2D8);border-radius:var(--jbq-r);cursor:pointer;transition:border-color .15s,background .15s,transform .08s}
.jbq-opt:hover{border-color:var(--brand-primary,#09652F);background:var(--surface-alt,#F5F3EE)}
.jbq-opt:active{transform:translateY(1px)}
.jbq-opt:focus-visible{outline:none;box-shadow:var(--jbq-ring)}
.jbq-opt[aria-pressed="true"]{border-color:var(--brand-primary,#09652F);background:var(--surface-alt,#F5F3EE);font-weight:600}
.jbq-back{font:inherit;font-size:.9rem;background:none;border:0;padding:6px 2px;color:var(--text-muted,#797E8B);cursor:pointer;text-decoration:underline}
.jbq-back:hover{color:var(--brand-primary,#09652F)}
.jbq-back:focus-visible{outline:none;box-shadow:var(--jbq-ring);border-radius:4px}

/* ---- results ---- */
.jbq-res-head{margin:0 0 6px;font-size:1.6rem;line-height:1.18;font-weight:800;color:var(--text-heading,#212934)}
@media(min-width:768px){.jbq-res-head{font-size:2.1rem}}
.jbq-res-sub{margin:0 0 30px;font-size:1.02rem;line-height:1.6;color:var(--text-body,#282828)}
.jbq-group{margin:0 0 12px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,#797E8B)}
.jbq-card{border:1px solid var(--border,#E5E2D8);border-left:4px solid var(--brand-primary,#09652F);border-radius:var(--jbq-r);padding:20px 22px;margin:0 0 12px;background:var(--surface,#fff)}
.jbq-card.is-no{border-left-color:var(--text-muted,#797E8B);background:var(--surface-alt,#F5F3EE)}
.jbq-card.is-note{border-left-color:var(--brand-accent-gold,#FFC03A)}
.jbq-card h3{margin:0 0 4px;font-size:1.14rem;line-height:1.3;font-weight:700;color:var(--text-heading,#212934)}
.jbq-amt{display:block;font-size:.9rem;font-weight:600;color:var(--brand-primary,#09652F);margin-bottom:10px}
.jbq-card.is-no .jbq-amt{color:var(--text-muted,#797E8B)}
.jbq-card p{margin:0 0 10px;font-size:.97rem;line-height:1.62}
.jbq-card p:last-child{margin-bottom:0}
.jbq-card a.jbq-link{font-weight:600;color:var(--brand-primary,#09652F);text-decoration:underline;text-underline-offset:2px}
.jbq-card a.jbq-link:hover{color:var(--brand-green-deep,#0F4C3A)}
.jbq-small{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:700px){.jbq-small{grid-template-columns:1fr 1fr}}
.jbq-small .jbq-card{margin:0}
.jbq-small .jbq-card h3{font-size:1rem}
.jbq-small .jbq-card p{font-size:.9rem}

/* ---- closing ---- */
.jbq-close{margin-top:30px;padding:24px;border-radius:var(--jbq-r);background:var(--brand-green-deep,#0F4C3A);color:#fff}
.jbq-close h3{margin:0 0 8px;font-size:1.2rem;font-weight:700;color:#fff}
.jbq-close p{margin:0 0 14px;font-size:.97rem;line-height:1.62;color:var(--wolf-white,#F2EFE7)}
.jbq-close p:last-child{margin-bottom:0}
.jbq-close a{color:var(--brand-accent-gold,#FFC03A);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.jbq-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.jbq-btn{display:inline-block;font:inherit;font-size:.95rem;font-weight:700;padding:13px 22px;border-radius:var(--jbq-r);border:1px solid var(--brand-green-deep,#0F4C3A);background:var(--brand-green-deep,#0F4C3A);color:#fff;text-decoration:none;cursor:pointer;transition:background .15s}
.jbq-btn:hover{background:var(--brand-theme-hover,#49653F);color:#fff}
.jbq-btn.is-ghost{background:transparent;color:var(--brand-green-deep,#0F4C3A)}
.jbq-btn.is-ghost:hover{background:var(--surface-alt,#F5F3EE);color:var(--brand-green-deep,#0F4C3A)}
.jbq-btn:focus-visible{outline:none;box-shadow:var(--jbq-ring)}
.jbq-disc{margin-top:22px;font-size:.86rem;line-height:1.6;color:var(--text-muted,#797E8B)}

/* ---- waitlist reveal ---- */
.jbq-waitlist{display:none;margin-top:34px;padding-top:30px;border-top:1px solid var(--border,#E5E2D8)}
.jbq-waitlist.is-open{display:block}
.jbq-waitlist h3{margin:0 0 8px;font-size:1.3rem;font-weight:800;color:var(--text-heading,#212934)}
.jbq-waitlist > p{margin:0 0 18px;font-size:.99rem;line-height:1.62}
.jbq-waitlist label{display:block;margin-bottom:14px;font-size:.92rem;font-weight:600;color:var(--text-heading,#212934)}
.jbq-waitlist input[type=text],.jbq-waitlist input[type=email],.jbq-waitlist input[type=tel],.jbq-waitlist select{display:block;width:100%;margin-top:6px;padding:12px 14px;font:inherit;font-weight:400;font-size:1rem;color:var(--text-body,#282828);background:var(--surface,#fff);border:1px solid var(--border,#E5E2D8);border-radius:var(--jbq-r)}
.jbq-waitlist input:focus,.jbq-waitlist select:focus{outline:none;box-shadow:var(--jbq-ring);border-color:var(--brand-primary,#09652F)}
.jbq-waitlist input[type=submit]{font:inherit;font-size:.95rem;font-weight:700;padding:13px 24px;border-radius:var(--jbq-r);border:1px solid var(--brand-green-deep,#0F4C3A);background:var(--brand-green-deep,#0F4C3A);color:#fff;cursor:pointer;width:auto}
.jbq-waitlist input[type=submit]:hover{background:var(--brand-theme-hover,#49653F)}

/* ---- motion ---- */
.jbq-fade{animation:jbq-in .3s cubic-bezier(.4,0,.2,1) both}
@keyframes jbq-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.jbq-fade{animation:none}.jbq-bar span{transition:none}}

/* ---- no-JS ---- */
.jbq-nojs{padding:20px 22px;border:1px solid var(--border,#E5E2D8);border-left:4px solid var(--brand-accent-gold,#FFC03A);border-radius:var(--jbq-r);background:var(--surface-alt,#F5F3EE);font-size:.97rem;line-height:1.62}

/* ---- hint + numeric step ---- */
.jbq-hint{margin:-14px 0 22px;font-size:.94rem;line-height:1.55;color:var(--text-muted,#797E8B)}
.jbq-num{margin:0 0 26px}
.jbq-num-label{display:block;margin-bottom:8px;font-size:.92rem;font-weight:600;color:var(--text-heading,#212934)}
.jbq-num-input{display:block;width:100%;max-width:320px;padding:15px 18px;font:inherit;font-size:1.25rem;font-weight:600;color:var(--text-heading,#212934);background:var(--surface,#fff);border:1px solid var(--border,#E5E2D8);border-radius:var(--jbq-r)}
.jbq-num-input:focus{outline:none;border-color:var(--brand-primary,#09652F);box-shadow:var(--jbq-ring)}
.jbq-err{margin:10px 0 0;font-size:.9rem;font-weight:600;color:#8B4049}
.jbq-num-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}