:root{--blue-deep: #163f5c;--blue-mid: #2e7eb0;--green: #8dc63f;--green-deep: #6ba32a;--pink: #ec1a78;--ink: #1a2a35;--paper: #ffffff;--mist: #eef4f8;--line: #d7e3ea}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--blue-deep);color:var(--ink);font-family:Work Sans,system-ui,sans-serif}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 32px}.wordmark{color:var(--paper);font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:22px;letter-spacing:.02em}.wordmark em{color:var(--green);font-style:normal}.progress{display:flex;align-items:center;gap:12px;flex:1;max-width:320px;margin-left:40px}.progress-track{flex:1;height:6px;background:#ffffff2e;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--green);transition:width .25s ease}.progress-label{color:#ffffffbf;font-size:13px;white-space:nowrap}.stage{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 20px 60px}.panel{background:var(--paper);width:100%;max-width:620px;padding:44px 44px 40px;border-left:8px solid var(--green);box-shadow:0 24px 60px #00000040}.landing{border-left-color:var(--pink);text-align:left}.eyebrow-free{color:var(--blue-mid);font-weight:600;font-size:14px;margin:0 0 6px}.landing h1{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:56px;line-height:.98;letter-spacing:.01em;color:var(--blue-deep);margin:0 0 18px;text-transform:uppercase}.accent-green{color:var(--green-deep)}.lede{font-size:17px;line-height:1.55;color:var(--ink);margin:0 0 22px}.check-list{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:10px}.check-list li{padding-left:28px;position:relative;font-size:15px;line-height:1.4}.check-list li:before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--green)}.kicker{font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;color:var(--blue-mid);margin:0 0 10px}.intro-text{font-size:15px;color:#4a5a66;margin:0 0 18px}.prompt-text{font-size:19px;line-height:1.5;color:var(--blue-deep);margin:0 0 26px}.section-intro{font-size:15px;color:#4a5a66;margin:0 0 18px}.question-prompt{font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:30px;line-height:1.12;color:var(--blue-deep);margin:0 0 8px}.question-help{font-size:14px;color:#6b8a99;margin:0 0 24px}.option-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.option{display:flex;align-items:flex-start;gap:14px;text-align:left;background:var(--mist);border:2px solid transparent;padding:14px 16px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:15.5px;color:var(--ink);transition:border-color .15s ease,background .15s ease}.option:hover{border-color:var(--blue-mid)}.option-selected{border-color:var(--green-deep);background:#eef8e2}.option-letter{flex:none;width:26px;height:26px;border-radius:50%;background:var(--blue-deep);color:var(--paper);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.option-text{padding-top:3px}.field-stack{display:flex;flex-direction:column;gap:18px;margin-bottom:26px}.field span{display:block;font-size:14px;font-weight:600;color:var(--blue-deep);margin-bottom:6px}.field textarea,.field input{width:100%;font-family:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:4px;resize:vertical}.field textarea:focus,.field input:focus{outline:none;border-color:var(--blue-mid)}.btn{display:inline-block;font-family:Work Sans,sans-serif;font-weight:600;font-size:16px;padding:14px 28px;border-radius:4px;border:none;cursor:pointer;text-decoration:none;text-align:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--pink);color:var(--paper)}.btn-primary:not(:disabled):hover{background:#c81365}.btn-secondary{background:var(--blue-deep);color:var(--paper)}.btn-text{background:none;border:none;color:var(--blue-mid);font-size:14px;cursor:pointer;margin-top:10px;padding:0}.fine-print{font-size:13px;color:#6b8a99;margin-top:16px}.form-error{color:var(--pink);font-size:14px;margin:-8px 0 0}.results .score-meter{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.score-number{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:72px;color:var(--pink);line-height:1}.score-max{font-size:20px;color:#6b8a99}.band-label{font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:28px;color:var(--blue-deep);margin:0 0 10px;text-transform:uppercase}.section-breakdown{display:flex;flex-direction:column;gap:12px;margin:24px 0 28px}.section-row{display:grid;grid-template-columns:170px 1fr 50px;align-items:center;gap:12px}.section-row-label{font-size:13px;color:var(--blue-deep);font-weight:600}.section-row-track{height:8px;background:var(--mist);border-radius:4px;overflow:hidden}.section-row-fill{height:100%;background:var(--green)}.section-row-points{font-size:13px;color:#6b8a99;text-align:right}.persona-card{background:var(--mist);border-radius:4px;padding:16px 18px;margin-bottom:24px}.persona-name{font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:22px;color:var(--blue-deep);margin:2px 0 6px}.persona-description{font-size:14px;color:#4a5a66;margin:0;line-height:1.5}.callout{border-left:4px solid var(--green-deep);background:#f4f9ec;padding:16px 20px;margin-bottom:24px;font-size:15px;line-height:1.6}.callout p{margin:0}.callout p+p{margin-top:14px}.cta-block{background:var(--mist);padding:22px 24px;border-radius:4px;margin-top:8px}.cta-primary{background:var(--blue-deep);color:var(--paper)}.cta-primary p{color:#ffffffe6}.cta-heading{font-family:Big Shoulders Display,sans-serif;font-weight:700;font-size:20px;margin:0 0 8px;color:inherit}.cta-block .btn{margin-top:12px}.cta-email-note{font-size:13px;color:#6b8a99;margin:14px 0 0}.cta-primary .cta-email-note{color:#ffffffb3}@media (max-width: 640px){.panel{padding:32px 24px 28px}.landing h1{font-size:40px}.question-prompt{font-size:24px}.section-row{grid-template-columns:120px 1fr 40px}}
