:root{--accent:#9b3d55;--accent-soft:#f7ebee;--text:#1a1a1a;--muted:#767676;--bg:#fff;--border:#e6e0e2;--error:#b3261e}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font-family:inherit}.screen{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:20px 24px 40px}.progress-wrap{padding-top:8px}.progress-track{height:4px;width:100%;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .25s ease}.progress-label{margin-top:8px;font-size:.8rem;color:var(--muted)}.back-link{align-self:flex-start;background:none;border:none;padding:8px 0;margin-top:4px;font-size:.85rem;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.back-link:focus-visible,.back-link:hover{color:var(--text)}.title-screen{flex:1 1;padding-top:8px}.title-hero,.title-screen{display:flex;flex-direction:column}.title-hero{position:relative;align-items:center;text-align:center}.title-photo-wrap{display:flex;justify-content:center;position:relative;z-index:1}.title-photo{width:min(58%,240px);height:auto;display:block;margin-top:3%;filter:drop-shadow(0 16px 24px rgba(0,0,0,.12))}.title-tint{position:relative;z-index:2;display:inline-block;max-width:84%;margin-top:-46px;background:var(--accent-soft);border-radius:18px;padding:12px 20px}.title-headline{font-size:clamp(1.3rem,5.8vw,1.7rem);font-weight:800;line-height:1.25;color:var(--accent);margin:0}.title-below{padding:12px 4px 0}.title-subhead{font-size:1rem;line-height:1.6;color:var(--text);margin:0 0 18px}.title-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:17px;font-size:1.04rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.title-cta:focus-visible,.title-cta:hover{opacity:.92;outline:none}.title-cta:active{transform:scale(.99)}.question-body{flex:1 1;display:flex;flex-direction:column;justify-content:center}.question-prompt{font-size:clamp(1.4rem,5.5vw,1.9rem);font-weight:700;line-height:1.3;margin:0 0 32px}.options{display:flex;flex-direction:column;gap:12px}.option-button{display:block;width:100%;text-align:left;padding:18px 20px;font-size:1.02rem;line-height:1.4;color:var(--text);background:var(--bg);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .1s ease}.option-button:focus-visible,.option-button:hover{border-color:var(--accent);outline:none}.option-button:active{transform:scale(.99)}.option-button.selected{border-color:var(--accent);background:var(--accent-soft)}.option-button:disabled{cursor:default}.result-body{flex:1 1;display:flex;flex-direction:column;justify-content:center}.result-name{font-size:clamp(1.6rem,6vw,2.1rem);font-weight:700;line-height:1.25;margin:0 0 16px}.result-teaser{font-size:1.05rem;line-height:1.65;color:var(--text);margin:0 0 32px}.capture-headline{font-size:clamp(1.25rem,5.2vw,1.55rem);font-weight:400;line-height:1.4;color:var(--text);text-align:center;margin:0 0 28px}.email-form{display:flex;flex-direction:column;gap:16px}.form-intro{font-size:.9rem;color:var(--muted);text-align:center;margin:0 0 -4px}.name-row{display:flex;gap:12px}.field-group{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.field-label{font-size:.9rem;color:var(--muted)}.text-input{width:100%;padding:15px 16px;font-size:1rem;border:1.5px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}.text-input:focus{outline:none;border-color:var(--accent)}.submit-button{width:100%;padding:16px;font-size:1.02rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s ease}.submit-button:disabled{opacity:.6;cursor:default}.form-error{font-size:.9rem;color:var(--error);margin:0}.success-message{font-size:1.05rem;line-height:1.6}