:root{--navy:#0D2740;--sagedeep:#425F55;--sage:#5F7A5F;--teal:#8FA9A8;--mist:#E6ECE8;--gold:#C9A65A;--goldl:#E9D7A7;--paper:#F7F3EA;--cream:#FFFDF8;--warm:#F0ECE4;--ink:#1E2924;--inksoft:#4A5A51;--serif:Georgia,Gelasio,'Times New Roman',serif;--sans:Inter,-apple-system,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}
.bar{height:8px;background:var(--navy)}
.wrap{max-width:560px;margin:0 auto;padding:20px 18px 40px}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sagedeep);margin:0 0 6px}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--navy);margin:0 0 10px;letter-spacing:-.01em}
h1{font-size:40px;line-height:1.02}h2{font-size:29px;line-height:1.1}h3{font-size:21px}
.rule{width:64px;height:2px;background:var(--gold);margin:12px 0 14px;border:0}
.lead{color:var(--inksoft);font-size:16px}
.hero{position:relative;border-radius:18px;overflow:hidden;background:var(--cream);margin-bottom:18px}
.hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:47% 30%}
@media (max-width:560px){.hero img{aspect-ratio:4/3}}
.hero .fade{position:absolute;inset:auto 0 0 0;height:110px;background:linear-gradient(transparent,var(--cream))}
.method{font-size:12px;letter-spacing:.2em;color:var(--navy);text-align:center;margin:16px 0;font-weight:600;display:flex;flex-wrap:wrap;justify-content:center;row-gap:2px}
.method span{color:var(--gold);margin:0 6px}
@media (max-width:420px){.method{font-size:11px;letter-spacing:.12em;line-height:1.7}.method span{margin:0 4px}}
.quote{border:1px solid var(--goldl);border-radius:14px;padding:16px;background:var(--cream);font-family:var(--serif);color:var(--navy);font-size:18px;text-align:center}
.btn{display:block;width:100%;border:0;border-radius:10px;background:var(--navy);color:#fff;font:600 15px var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:16px;cursor:pointer;text-align:center;text-decoration:none;margin-top:18px}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn:disabled{opacity:.45}
.progress{height:6px;background:var(--mist);border-radius:6px;overflow:hidden;margin:6px 0 18px}
.progress i{display:block;height:100%;background:var(--gold);transition:width .3s}
.step-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--inksoft)}
.card{background:#fff;border-radius:14px;border-left:4px solid var(--gold);padding:16px;margin:14px 0}
.card.alt{background:var(--mist);border-left-color:var(--sagedeep)}
.opt{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid rgba(13,39,64,.08);cursor:pointer;font-size:16px}
.opt:last-child{border-bottom:0}
.opt input{appearance:none;-webkit-appearance:none;flex:0 0 22px;height:22px;border:1.5px solid var(--gold);border-radius:5px;margin:1px 0 0;background:#fff;display:grid;place-content:center}
.opt input:checked{background:var(--gold)}
.opt input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.scale{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:14px 0 4px}
.scale button{aspect-ratio:1;border-radius:50%;border:1.5px solid var(--sagedeep);background:#fff;color:var(--navy);font:600 14px var(--sans);cursor:pointer;padding:0}
.scale button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.scale-l{display:flex;justify-content:space-between;font-size:12px;color:var(--inksoft)}
label.f{display:block;font-size:13px;font-weight:600;color:var(--sagedeep);margin:14px 0 6px;letter-spacing:.04em}
input.t{width:100%;padding:14px;border:1.5px solid #c8ccc6;border-radius:10px;font:16px var(--sans);background:#fff}
input.t:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.consent{display:flex;gap:10px;font-size:13px;color:var(--inksoft);margin-top:14px;align-items:flex-start}
.err{color:#8a5a1a;font-size:13px;min-height:18px;margin-top:8px}
.small{font-size:12px;color:var(--inksoft)}
.back{background:none;border:0;color:var(--sagedeep);font:600 13px var(--sans);cursor:pointer;padding:10px 0;margin-top:6px}
.score{border-radius:18px;padding:22px;color:#fff;text-align:center;margin:10px 0 16px}
.score .n{font-family:var(--serif);font-size:64px;line-height:1}
.score .tn{letter-spacing:.18em;text-transform:uppercase;font-size:13px;font-weight:700;margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.chip{background:var(--mist);color:var(--sagedeep);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
.stepr{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(13,39,64,.08)}
.stepr b{flex:0 0 92px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sagedeep);padding-top:3px}
.cta h3{margin-bottom:6px}.cta p{margin:0 0 8px;font-size:15px}
.contact a{color:var(--navy);font-weight:600}
.disc{font-size:12px;color:var(--inksoft);border-top:1px solid #c8ccc6;margin-top:24px;padding-top:12px}
.foot{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sagedeep);margin-top:20px;text-align:center}
.waves{height:60px;background:linear-gradient(180deg,var(--paper),var(--mist) 60%,var(--teal));border-radius:0 0 18px 18px;opacity:.7}
[hidden]{display:none!important}
.score.steady{background:linear-gradient(135deg,#5F7A5F,#8FA9A8)}.score.rising{background:linear-gradient(135deg,#B08A3E,#C9A65A)}.score.ready{background:linear-gradient(135deg,#0D2740,#425F55)}
.score .of{font-size:12px;opacity:.85}.mt{margin-top:22px}
.consent .opt{border:0;padding:0;font-size:13px;color:var(--inksoft)}
