:root{
  --white:#fff;--bg:#F7F8F6;--ink:#0C120D;--ink2:#3A4A3C;--ink3:#7A8C7C;
  --green:#1D9E75;--green-d:#0D6B4F;--green-l:#E6F5EE;--green-m:#B8DECE;
  --yellow:#D97706;--yellow-l:#FEF3C7;
  --red:#DC2626;--red-l:#FEE2E2;
  --bdr:rgba(12,18,13,.09);--bdr2:rgba(12,18,13,.16);
  --r:10px;--rl:16px;
  --shadow:0 1px 3px rgba(0,0,0,.05),0 4px 20px rgba(0,0,0,.06);
  --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;}

.page-wrap{max-width:680px;margin:0 auto;padding:32px 20px 64px;}

/* header */
.diag-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--bdr);}
.diag-logo{height:30px;width:auto;}
.diag-badge{font-size:11px;font-weight:500;color:var(--green-d);padding:4px 12px;border-radius:100px;background:var(--green-l);border:1px solid var(--green-m);}

/* intro card */
.intro-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--rl);padding:28px 28px 24px;margin-bottom:28px;box-shadow:var(--shadow);}
.intro-title{font-size:22px;font-weight:600;color:var(--ink);line-height:1.25;margin-bottom:10px;letter-spacing:-.02em;}
.intro-sub{font-size:14px;font-weight:300;color:var(--ink2);line-height:1.75;margin-bottom:18px;}
.intro-meta{display:flex;gap:20px;flex-wrap:wrap;}
.im-item{font-size:12px;color:var(--ink3);display:flex;align-items:center;gap:5px;}
.im-item::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;}

/* progress */
.progress-wrap{margin-bottom:24px;}
.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--ink3);margin-bottom:7px;}
.progress-bar{height:4px;background:var(--bdr);border-radius:2px;overflow:hidden;}
.progress-fill{height:100%;background:var(--green);border-radius:2px;transition:width .4s ease;}

/* section label */
.section-lbl{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green-d);background:var(--green-l);border:1px solid var(--green-m);padding:5px 12px;border-radius:100px;display:inline-flex;margin-bottom:14px;}

/* form card */
.form-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--rl);margin-bottom:14px;box-shadow:var(--shadow);overflow:hidden;}
.fc-head{padding:16px 22px 0;}
.fc-note{font-size:11px;color:var(--ink3);margin-top:4px;font-style:italic;}
.fc-body{padding:12px 22px 20px;}
.fc-label{font-size:14px;font-weight:500;color:var(--ink);line-height:1.55;margin-bottom:12px;}
.fc-weight{font-size:10px;font-weight:600;color:var(--green-d);background:var(--green-l);padding:2px 8px;border-radius:100px;display:inline-flex;margin-bottom:12px;}

/* inputs */
.fi{width:100%;padding:9px 12px;border-radius:var(--r);font-size:13.5px;border:1px solid var(--bdr2);background:var(--bg);color:var(--ink);font-family:var(--sans);outline:none;transition:border-color .15s;}
.fi:focus{border-color:var(--green);}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.frow{margin-bottom:12px;}
.flbl{font-size:11px;font-weight:500;color:var(--ink2);margin-bottom:4px;display:block;}
.fsel{width:100%;padding:9px 12px;border-radius:var(--r);font-size:13.5px;border:1px solid var(--bdr2);background:var(--bg);color:var(--ink);font-family:var(--sans);outline:none;}
.fsel:focus{border-color:var(--green);}

/* radio options */
.radio-group{display:flex;flex-direction:column;gap:8px;}
.radio-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid var(--bdr);cursor:pointer;transition:all .15s;background:var(--bg);}
.radio-opt:hover{border-color:var(--green-m);background:var(--green-l);}
.radio-opt input{accent-color:var(--green);margin-top:2px;flex-shrink:0;}
.radio-opt-text{flex:1;}
.rot-label{font-size:13px;font-weight:400;color:var(--ink);line-height:1.4;}
.rot-pts{font-size:10px;color:var(--ink3);margin-top:2px;}
.radio-opt.selected{border-color:var(--green);background:var(--green-l);}

/* nav buttons */
.nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px;}
.btn-back{padding:10px 20px;border-radius:var(--r);font-size:13px;font-weight:500;border:1px solid var(--bdr2);background:transparent;color:var(--ink2);cursor:pointer;font-family:var(--sans);transition:all .15s;}
.btn-back:hover{background:var(--bg);}
.btn-next{padding:10px 24px;border-radius:var(--r);font-size:13px;font-weight:500;border:none;background:var(--green);color:#fff;cursor:pointer;font-family:var(--sans);transition:background .15s;box-shadow:0 2px 8px rgba(29,158,117,.25);}
.btn-next:hover{background:var(--green-d);}
.btn-next:disabled{background:var(--bdr2);cursor:not-allowed;box-shadow:none;}

/* steps */
.step{display:none;}.step.active{display:block;}

/* RESULT SCREENS */
.result-screen{display:none;animation:fadeIn .4s ease;}
.result-screen.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.result-card{border-radius:var(--rl);padding:32px;margin-bottom:20px;border:1px solid;}
.result-card.risk{background:var(--red-l);border-color:rgba(220,38,38,.2);}
.result-card.attn{background:var(--yellow-l);border-color:rgba(217,119,6,.2);}
.result-card.good{background:var(--green-l);border-color:var(--green-m);}
.result-eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;}
.risk .result-eyebrow{color:var(--red);}
.attn .result-eyebrow{color:var(--yellow);}
.good .result-eyebrow{color:var(--green-d);}
.result-title{font-size:22px;font-weight:600;line-height:1.2;margin-bottom:14px;letter-spacing:-.02em;}
.risk .result-title{color:#7F1D1D;}
.attn .result-title{color:#78350F;}
.good .result-title{color:var(--green-d);}
.result-score-row{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.result-score-circle{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid;flex-shrink:0;}
.risk .result-score-circle{background:rgba(220,38,38,.1);border-color:var(--red);}
.attn .result-score-circle{background:rgba(217,119,6,.1);border-color:var(--yellow);}
.good .result-score-circle{background:rgba(29,158,117,.1);border-color:var(--green);}
.score-num-lg{font-size:28px;font-weight:700;line-height:1;}
.risk .score-num-lg{color:var(--red);}
.attn .score-num-lg{color:var(--yellow);}
.good .score-num-lg{color:var(--green-d);}
.score-lbl-sm{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);}
.result-text{font-size:14px;font-weight:300;color:var(--ink2);line-height:1.8;}
.result-text p{margin-bottom:12px;}
.result-text strong{font-weight:500;color:var(--ink);}
.result-question{font-size:15px;font-style:italic;font-weight:400;color:var(--ink);line-height:1.65;padding:16px 18px;border-radius:8px;background:rgba(255,255,255,.6);border-left:3px solid;margin-top:16px;}
.risk .result-question{border-color:var(--red);}
.attn .result-question{border-color:var(--yellow);}
.good .result-question{border-color:var(--green);}

/* breakdown */
.breakdown-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--rl);padding:22px;margin-bottom:16px;box-shadow:var(--shadow);}
.bk-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:16px;}
.bk-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.bk-name{font-size:12px;color:var(--ink2);width:140px;flex-shrink:0;}
.bk-bar-bg{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;border:1px solid var(--bdr);}
.bk-bar-fill{height:100%;border-radius:3px;transition:width .8s ease;}
.bk-pts{font-size:12px;font-weight:600;color:var(--ink);min-width:48px;text-align:right;}

/* CTA */
.cta-card{background:var(--ink);border-radius:var(--rl);padding:28px;text-align:center;}
.cta-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px;letter-spacing:-.01em;}
.cta-sub{font-size:13px;font-weight:300;color:rgba(255,255,255,.55);margin-bottom:20px;line-height:1.65;}
.cta-form{display:flex;gap:10px;max-width:400px;margin:0 auto 12px;flex-wrap:wrap;justify-content:center;}
.cta-input{flex:1;min-width:180px;padding:11px 14px;border-radius:var(--r);font-size:13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-family:var(--sans);outline:none;transition:border-color .15s;}
.cta-input:focus{border-color:rgba(29,158,117,.6);}
.cta-input::placeholder{color:rgba(255,255,255,.3);}
.cta-btn{padding:11px 20px;border-radius:var(--r);background:var(--green);color:#fff;font-size:13px;font-weight:500;border:none;cursor:pointer;font-family:var(--sans);transition:background .15s;box-shadow:0 3px 10px rgba(29,158,117,.3);white-space:nowrap;}
.cta-btn:hover{background:var(--green-d);}
.cta-disc{font-size:11px;color:rgba(255,255,255,.3);}
.cta-disc a{color:rgba(29,158,117,.8);text-decoration:none;}
#cta-msg{font-size:12px;color:#6ee7b7;margin-top:8px;display:none;}

/* footer */
.diag-footer{text-align:center;margin-top:28px;font-size:12px;color:var(--ink3);}
.diag-footer a{color:var(--green-d);text-decoration:none;}
