:root{--navy:#0a1030;--ink:#151b33;--mut:#4a5372;--line:#d9e1f4;--bg:#f4f7fd;--card:#fff;--blue:#0b5ea8;--green:#0b7a63;--mint:#34f5c5;--red:#d11f45;--amber:#d97706;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:960px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
a{color:var(--blue)}
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:5}
.bar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:700;font-size:21px;letter-spacing:-.02em}
.brand b{color:#5aa2ff}.brand small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-left:4px}
.top nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.top nav a{color:#dfe6fb;text-decoration:none;font-size:15px}.top nav a:hover{color:#fff}
.top nav .btn{color:var(--navy)}
.top .lang{border:1px solid #3a4780;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700}
.inline{display:inline;margin:0}
.linkbtn{background:none;border:0;color:#dfe6fb;font:inherit;font-size:15px;cursor:pointer;padding:0}
main{padding-top:28px;padding-bottom:48px;min-height:60vh}
h1{font-size:clamp(26px,4vw,36px);line-height:1.15;letter-spacing:-.02em;margin:.2em 0 .4em;color:var(--navy)}
h2{font-size:20px;margin:0 0 .5em;color:var(--navy)}h3{font-size:16px;margin:1em 0 .4em}
.kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.lead{font-size:18px;color:var(--mut);max-width:680px}
.small{font-size:14px;color:var(--mut)}
.hero{padding:18px 0 22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:0 0 18px}
.narrow{max-width:520px;margin-left:auto;margin-right:auto}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid2 .card{margin:0}
@media(max-width:720px){.grid2{grid-template-columns:1fr}}
.note{background:#eef6ff;border-color:#c4dcf6}
.cta{background:var(--navy);color:#fff;border-color:var(--navy)}.cta h2,.cta h1{color:#fff}.cta a:not(.btn){color:var(--mint)}
.cta .warn{background:#2b2a14;color:#ffe9a8}.cta .okbox{background:#0f3a33;color:#c8fbe8}
.ticks{list-style:none;padding:0;margin:.4em 0 1em}.ticks li{padding-left:24px;position:relative;margin:.25em 0}
.ticks li:before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:6px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.cta .ticks li:before{border-color:var(--mint)}
.btn{display:inline-block;background:var(--mint);color:var(--navy);font-weight:700;border:0;border-radius:999px;padding:12px 22px;text-decoration:none;cursor:pointer;font-size:16px;font-family:inherit}
.btn:hover{filter:brightness(.95)}.btn:focus-visible,.opt:focus-visible+label,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5aa2ff;outline-offset:2px}
.btn-small{padding:8px 16px;font-size:14px}
.btn-ghost{background:transparent;border:2px solid currentColor;color:var(--blue)}.cta .btn-ghost{color:#fff}
.btn-danger{background:var(--red);color:#fff}
.actions{display:flex;gap:10px;flex-wrap:wrap}
label.f,fieldset.f2{display:block;margin:0 0 14px;border:0;padding:0}
label.f>span,fieldset.f2>legend{display:block;font-weight:600;font-size:14px;margin-bottom:4px;padding:0}
label.f small{display:block;color:var(--mut);font-size:12.5px;margin-top:3px}
input[type=text],input[type=email],input[type=password],input[type=date],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid #b9c4e4;border-radius:10px;background:#fff;color:var(--ink)}
.bad input,.bad select,.bad textarea{border-color:var(--red)}fieldset.bad>legend{color:var(--red)}
.chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-size:14.5px}.chk input{margin-top:5px}
.radio{display:inline-flex;gap:6px;align-items:center;margin:0 16px 4px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.errbox,.okbox,.warn{border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:15px}
.errbox{background:#fff0f3;border:1px solid #f3c2cc;color:#7a1330}.okbox{background:#e8fbf4;border:1px solid #b6ecd9;color:#07503f}
.warn,.warnbox{background:#fff7e5;border:1px solid #f4dba2;color:#6b4300}.warnbox{border-radius:var(--r);padding:14px 18px;margin-bottom:18px}
.okmini{color:var(--green);font-weight:600}
/* questionnaire */
.q{border:0;border-top:1px solid var(--line);margin:0;padding:16px 0}.q:first-of-type{border-top:0}
.q legend{font-weight:600;padding:0;margin-bottom:10px;max-width:760px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:absolute;opacity:0;width:1px;height:1px}
.opts label{border:1.5px solid #b9c4e4;border-radius:999px;padding:7px 16px;cursor:pointer;font-size:14.5px;background:#fff;user-select:none}
.opts label:hover{border-color:var(--blue)}
.opt-yes:checked+label{background:var(--green);border-color:var(--green);color:#fff}
.opt-partial:checked+label{background:var(--amber);border-color:var(--amber);color:#fff}
.opt-no:checked+label{background:var(--red);border-color:var(--red);color:#fff}
.opt-unknown:checked+label{background:#6b4fd6;border-color:#6b4fd6;color:#fff}
.opt-na:checked+label{background:#6b7390;border-color:#6b7390;color:#fff}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.tabs a{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px;font-size:13.5px;text-decoration:none;color:var(--ink)}
.tabs a small{color:var(--mut)}.tabs a.done{border-color:#b6ecd9}.tabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}.tabs a.on small{color:#c8d1ee}
/* score */
.score-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.score-row>div:last-child{flex:1;min-width:260px}
.score{width:150px;height:150px;border-radius:50%;border:10px solid var(--c0,#4a5372);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.score b{font-size:46px;line-height:1}.score span{font-size:14px;color:var(--mut)}
.lv-high{--c0:#d11f45;color:var(--red)}.lv-base{--c0:#d97706;color:var(--amber)}.lv-good{--c0:#0b7a63;color:var(--green)}.lv-resilient{--c0:#0b5ea8;color:var(--blue)}
.score.lv-high{border-color:#d11f45}.score.lv-base{border-color:#d97706}.score.lv-good{border-color:#0b7a63}.score.lv-resilient{border-color:#0b5ea8}
.mini-score{font-size:15px;margin:.4em 0}.mini-score b{font-size:26px}
.bar{display:block;width:100%;height:10px}
.thlist,.hist{list-style:none;margin:0;padding:0}
.thlist li{display:grid;grid-template-columns:minmax(120px,240px) 1fr 40px;gap:12px;align-items:center;margin:9px 0}
.hist li{display:grid;grid-template-columns:100px 1fr 40px;gap:12px;align-items:center;margin:7px 0}
.thlist b,.hist b{text-align:right}
@media(max-width:560px){.thlist li{grid-template-columns:1fr 40px}.thlist .bar{grid-column:1/2}.thlist .thn{grid-column:1/3}}
.gaps{padding-left:20px}.gaps li{margin:0 0 12px}.gaps span{color:var(--mut);font-size:15px}
.phase{display:inline-block;color:#fff;border-radius:999px;padding:3px 12px;font-size:13px}.ph1{background:var(--green)}.ph2{background:var(--blue)}.ph3{background:var(--red)}
.dos-head{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}@media(max-width:640px){.dos-head{grid-template-columns:1fr}}
.pol{border:1.5px solid var(--line);border-radius:12px;padding:14px;margin:0 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.pol legend{font-weight:700;padding:0 6px}.pol .wide,.pol .chk{grid-column:1/3}@media(max-width:640px){.pol{grid-template-columns:1fr}.pol .wide,.pol .chk{grid-column:1}}
.tbl{border-collapse:collapse;width:100%}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;font-size:14.5px}.tbl.wide{display:block;overflow-x:auto}
.danger{border-color:#f3c2cc}
.prose p{max-width:720px}
.foot{border-top:1px solid var(--line);background:#fff;color:var(--mut);font-size:13px;padding:14px 0}.foot p{margin:.2em 0}
@media print{.top,.foot,.btn,.actions{display:none}}
