:root{--ink:#1a1814;--paper:#f7f4ef;--cream:#ede9e0;--gold:#b8860b;--gold-l:#d4a843;--gold-p:#f5ecd0;
--slate:#4a4640;--muted:#7a746e;--rule:#d4cfc6;--white:#fff;--green:#2d6a4f;--green-l:#e8f5ef;
--amber:#92400e;--amber-l:#fef3c7;--red:#7f1d1d;--red-l:#fef2f2;--blue:#1e3a5f;}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink)}
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:62px;background:var(--paper);border-bottom:1px solid var(--rule)}
.logo{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;line-height:1.1;text-decoration:none;color:var(--ink)}
.logo span{color:var(--gold)}
.logo small{display:block;font-family:'DM Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.06em;font-weight:400;margin-top:2px}
.navr{display:flex;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:12px 24px;transition:all .18s;text-decoration:none}
.bp{background:var(--ink);color:var(--paper)}.bp:hover{background:var(--slate)}
.bg{background:var(--gold);color:#fff}.bg:hover{background:var(--gold-l)}
.bo{background:transparent;color:var(--ink);border:1px solid var(--ink)}.bo:hover{background:var(--ink);color:var(--paper)}
.bow{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.bow:hover{background:rgba(255,255,255,.09)}
.bsm{padding:8px 15px;font-size:10px}.blg{padding:15px 38px;font-size:13px}
.wrap{max-width:640px;margin:0 auto;padding:48px 28px}
.wide{max-width:1060px;margin:0 auto;padding:44px 32px}
.feye{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
.ftit{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;margin-bottom:9px;line-height:1.2}
.fsub{font-size:13.5px;color:var(--slate);margin-bottom:28px;line-height:1.7}
.fg{margin-bottom:18px}
.fl{display:block;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.fi{width:100%;padding:12px 14px;border:1px solid var(--rule);background:var(--white);font-family:'DM Sans',sans-serif;font-size:14px;outline:none}
.fi:focus{border-color:var(--ink)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.err{background:var(--red-l);border-left:3px solid var(--red);color:var(--red);font-size:12.5px;padding:11px 15px;margin-bottom:16px}
.ok{background:var(--green-l);border-left:3px solid var(--green);color:var(--green);font-size:12.5px;padding:11px 15px;margin-bottom:16px}
.warn{background:var(--amber-l);border-left:3px solid var(--amber);padding:11px 15px;font-size:12px;color:var(--amber);margin-bottom:16px}
.ctbl{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--rule)}
.ctbl th{text-align:left;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--paper)}
.ctbl td{padding:13px 16px;border-bottom:1px solid var(--rule);font-size:12.5px}
.ctbl tr:last-child td{border-bottom:none}
.ctbl a{color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:3px 10px;border-radius:20px}
.pdone{background:var(--green-l);color:var(--green)}.ppend{background:var(--amber-l);color:var(--amber)}
.sbg{display:inline-block;font-family:'DM Mono',monospace;font-size:11px;font-weight:500;padding:3px 9px}
.v-ht{background:#e8f5ef;color:#0f6e56}.v-solid{background:#eff6ff;color:#1e3a5f}
.v-cond{background:#fef3c7;color:#92400e}.v-risk{background:#fef2f2;color:#7f1d1d}
.mono{font-family:'DM Mono',monospace}
footer{padding:22px 28px;text-align:center;font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.05em;border-top:1px solid var(--rule);margin-top:40px}
/* assessment */
.ptrack{height:3px;background:var(--rule);margin-bottom:9px}
.pfill{height:100%;background:var(--gold);transition:width .35s ease}
.plab{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:20px}
.scalenote{font-size:11.5px;color:var(--muted);line-height:1.7;margin-bottom:14px;padding:12px 14px;background:var(--cream);border-left:2px solid var(--gold)}
.qitem{margin-bottom:24px}
.qtx{font-size:14.5px;line-height:1.6;margin-bottom:12px;display:flex;gap:10px}
.qnum{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);min-width:26px;padding-top:2px}
.srow{display:flex;gap:6px;align-items:center}
.slb{font-size:9.5px;color:var(--muted);width:74px;line-height:1.3}.slb.r{text-align:right}
.sopt{display:flex;gap:6px;flex:1;justify-content:center}
.sbtn{width:44px;height:44px;border:1px solid var(--rule);background:var(--white);cursor:pointer;font-family:'DM Mono',monospace;font-size:13px;font-weight:500;color:var(--slate);display:flex;align-items:center;justify-content:center;transition:all .15s}
.sbtn:hover{border-color:var(--ink);color:var(--ink)}
.sbtn.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.pnav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}
/* report */
.summary{border:1px solid var(--rule);background:var(--paper);margin-bottom:26px}
.sum-top{display:flex;align-items:center;gap:26px;padding:22px 24px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.sum-num{font-family:'Playfair Display',serif;font-size:62px;font-weight:700;line-height:1;color:var(--gold)}
.sum-den{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.sum-vl{width:1px;height:70px;background:var(--rule)}
.sum-vt{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:5px}
.sum-vd{font-size:12.5px;color:var(--slate);line-height:1.6;max-width:440px}
.sum-chips{display:flex;flex-wrap:wrap}
.chip{flex:1 1 33%;min-width:150px;padding:12px 16px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.chip-n{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.chip-v{font-family:'DM Mono',monospace;font-size:15px;font-weight:500}
.chip-l{font-size:10.5px;margin-top:2px}
.crgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.cr{background:var(--paper);padding:16px;border:1px solid var(--rule)}
.crn{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.crs{font-family:'Playfair Display',serif;font-size:25px;font-weight:700;margin-bottom:2px}
.crl{font-size:11.5px;font-weight:500}
.crd{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}
.sbar{height:3px;background:var(--rule);margin-top:9px}
.sbarf{height:100%;background:var(--gold)}
.intbox{padding:16px 20px;margin-bottom:24px}
.ih{background:var(--green-l);border:1px solid #9fe1cb;color:var(--green)}
.im{background:var(--amber-l);border:1px solid #fcd34d;color:var(--amber)}
.il{background:var(--red-l);border:1px solid #fca5a5;color:var(--red)}
.intl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.intt{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;margin-bottom:3px}
.intd{font-size:11.5px;line-height:1.6}
.secthead{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;margin-bottom:5px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.sectsub{font-size:11.5px;color:var(--muted);margin-bottom:18px;line-height:1.6}
.iqgh{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding:8px 0;border-bottom:1px solid var(--rule);margin-bottom:4px;display:flex;justify-content:space-between}
.iqi{padding:11px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px}
.iqnum{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);min-width:20px}
.iqq{font-size:13px;line-height:1.6;flex:1}
.iqt{display:inline-block;font-size:8px;letter-spacing:.07em;text-transform:uppercase;padding:2px 6px;margin-left:7px;vertical-align:middle}
.t-hs{background:var(--ink);color:var(--paper)}.t-ms{background:var(--slate);color:var(--paper)}
.t-vf{background:var(--cream);color:var(--slate)}.t-rf{background:var(--red);color:#fff}.t-cg{background:var(--amber);color:#fff}
@media(max-width:640px){.frow,.crgrid{grid-template-columns:1fr}nav{padding:0 18px}.wrap{padding:32px 18px}.slb{width:56px;font-size:9px}.sbtn{width:40px;height:40px}}
