:root{--navy:#1F3A5F;--teal:#2A7F8F;--light:#EEF4F6;--gold:#C8902E;--grey:#555;--ink:#222}
*{box-sizing:border-box}body{margin:0;font-family:Calibri,"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
header{background:var(--navy);color:#fff;padding:32px 0 26px;border-bottom:5px solid var(--gold)}
.brand{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#cfe3e8}
h1{margin:.3em 0;font-size:1.8rem}.lead{margin:0;color:#e6eef1}
.privacy{background:var(--light);border-left:4px solid var(--teal);padding:12px 14px;margin:22px 0;font-size:.95rem}
fieldset{border:1px solid #d8e2e6;border-radius:10px;margin:0 0 16px;padding:14px 16px}
legend{font-weight:700;color:var(--navy);padding:0 6px}
.cat{font-size:.75rem;text-transform:uppercase;color:var(--teal);letter-spacing:.08em;display:block}
label.opt{display:flex;gap:10px;align-items:flex-start;padding:9px 8px;border-radius:8px;cursor:pointer}
label.opt:hover{background:var(--light)}input[type=radio]{margin-top:4px;accent-color:var(--teal);width:18px;height:18px;flex:none}
.fields{display:grid;gap:10px}.fields input{width:100%;padding:10px;border:1px solid #c9d5da;border-radius:8px;font:inherit}
button,.btn{display:inline-block;background:var(--teal);color:#fff;border:0;border-radius:8px;padding:13px 22px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn.gold{background:var(--gold)}button.sec{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.err{color:#a33;font-weight:700}
#result{border:2px solid var(--navy);border-radius:12px;padding:20px;margin:10px 0 30px}
.score{font-size:3.2rem;font-weight:800;color:var(--navy);line-height:1}.tier{font-size:1.3rem;color:var(--teal);font-weight:700}
.bar{height:12px;background:var(--light);border-radius:6px;overflow:hidden;margin:10px 0}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold))}
ol.recs li{margin-bottom:10px}.small{font-size:.85rem;color:var(--grey)}
footer{background:var(--light);padding:18px 0;font-size:.85rem;color:var(--grey);margin-top:30px}footer a{color:var(--navy)}
@media(max-width:520px){h1{font-size:1.45rem}.score{font-size:2.6rem}button,.btn{width:100%;text-align:center;margin-bottom:8px}}
