.doc{max-width:900px;margin:0 auto;padding:44px 22px 80px}
.doc.narrow{max-width:680px}
.doc h1{font-size:40px;font-weight:850;letter-spacing:-.04em}
.doc h2{font-size:26px;margin-top:44px;padding-top:10px}
.doc h3{font-size:18px;margin-top:28px}
.doc p,.doc li{color:#D9CFDA}
.doc li{margin:6px 0}
table.kv{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0}
table.kv td,table.kv th{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.kv th{color:var(--dim);font-weight:600}
table.kv td:first-child{color:var(--muted);white-space:nowrap}
table.kv code{word-break:break-all}
.sev{font-weight:800;font-size:12px;padding:2px 8px;border-radius:6px}
.sev.high{background:#5a2a33;color:#FFC0C0}.sev.med{background:#4d4020;color:#FFE3A0}.sev.low{background:#1f3a4d;color:#B5DAFF}.sev.info{background:var(--card2);color:var(--muted)}
.fixed{color:var(--mint);font-weight:700}
.callout{background:var(--card);border:1px solid var(--line2);border-left:4px solid var(--orange);border-radius:12px;padding:14px 16px;margin:16px 0}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sw{border-radius:16px;height:110px;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;font-size:13px;font-weight:700;border:1px solid var(--line2)}
.logo-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.logo-row .tile{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;display:grid;place-items:center}
.logo-row .tile.light{background:#FFF4E6}
@media (max-width:640px){.swatches{grid-template-columns:repeat(2,1fr)}}
