:root{--bg:#faf5ef;--surface:#fff;--ink:#29241f;--muted:#7c736a;--primary:#1d9e75;--primary-dark:#085041;--accent:#5dcaa5;--accent-soft:#9fe1cb;--line:#eae0d6;--radius:16px;--serif:"Fraunces",Georgia,serif;--sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.quiz-container{min-height:580px}#hope-app,#hope-app *{box-sizing:border-box}#hope-app{background:var(--surface);border-radius:var(--radius);color:var(--ink);font-family:var(--sans);line-height:1.5;margin:0 auto;max-width:1000px;-webkit-font-smoothing:antialiased}@media(max-width:480px){#hope-app{padding:26px 20px}}.hope-screen[hidden]{display:none}.hope-screen{animation:hope-fade .35s ease both}@keyframes hope-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hope-prog{margin-bottom:22px}.hope-prog .meta{color:#333;font-size:14px;margin-bottom:8px}.hope-bar{background:#ecf1f2;border-radius:99px;height:18px;overflow:hidden;padding:5px 10px}.hope-bar i{background:#4b858e;border-radius:99px;display:block;height:100%;transition:width .45s cubic-bezier(.3,.8,.3,1);width:0}.hope-eyebrow{color:var(--primary);font-size:.78rem;font-weight:600;letter-spacing:.16em;margin-bottom:12px;text-transform:uppercase}.hope-q{color:var(--ink);font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.22;margin:0 0 6px}@media(max-width:480px){.hope-q{font-size:1.42rem}}.hope-sub{color:var(--muted);font-size:.95rem;margin:0 0 24px}.hope-wrapper{margin:auto;max-width:800px}.hope-opts{display:flex;flex-direction:column;gap:11px}.hope-opt{align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;display:flex;font-family:var(--sans);font-size:1rem;gap:14px;padding:16px 18px;text-align:left;transition:all .18s ease;width:100%}.hope-opt:hover{border-color:#ac863c;transform:translateX(3px)}.hope-opt .tick{border:2px solid var(--line);border-radius:50%;flex:0 0 auto;height:22px;position:relative;transition:all .18s ease;width:22px}.hope-opt.sel{background:#fcf7ee;border-color:#ac863c}.hope-opt.sel .tick{background:#ac863c;height:18px;width:18px}.hope-nav{align-items:center;display:flex;justify-content:space-between;margin-top:26px}.hope-back{background:none;border:none;color:var(--muted);cursor:pointer;font-family:var(--sans);font-size:.9rem;padding:6px 0}.hope-back:hover{color:var(--ink)}.hope-btn{background:var(--primary);border:none;border-radius:99px;cursor:pointer;display:inline-block;font-family:var(--sans);font-size:.98rem;font-weight:600;padding:13px 30px;transition:all .18s ease}.hope-btn,.hope-btn:hover{color:#fff;text-decoration:none}.hope-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.hope-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.hope-hero-q{color:var(--ink);font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1.18;margin:4px 0 10px}.hope-choice{display:flex;flex-direction:column;gap:14px;margin-top:26px}.hope-choice .hope-opt{font-size:1.08rem;font-weight:500;padding:20px}.hope-field{margin-bottom:14px}.hope-field label{color:var(--ink);display:block;font-size:.84rem;font-weight:600;margin-bottom:6px}.hope-field input{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;color:var(--ink);font-family:var(--sans);font-size:1rem;padding:12px 14px;transition:border .18s ease;width:100%}.hope-field input:focus{border-color:var(--primary);outline:none}.hope-consent{color:var(--muted);font-size:.85rem;margin:6px 0 18px}.hope-consent input{margin-top:3px}.hope-consent a{color:var(--primary)}.hope-err{color:#b4513a;font-size:.84rem;margin-bottom:12px;margin-top:-6px}.hope-err[hidden]{display:none}.hope-consent{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.hope-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #4b858e;border-radius:50%;cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;position:relative;width:20px}.hope-consent input[type=checkbox]:checked{background-color:#4b858e;border-color:#4b858e}.hope-consent input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}