/* Dossier pages. One stylesheet for the public record and the private lead version,
   because they must look identical: a firm that reads its own dossier and later lands
   on the public board should recognise the format instantly.

   Contrast rule inherited from the rebrand and it is not optional here either: bright
   --gold is a FILL and is only legal as text on a dark band (it measures 2.15:1 on
   paper, a fail). --gold-text is the only gold permitted as text. Status colours are
   surface-aware: --pass and --warn clear AA on BOTH --bg and --surface2. */
:root {
  --bg:#FAF8F3; --surface:#FFFFFF; --surface2:#F3EFE5; --border:#E5E0D4;
  --gold:#C9A84C; --gold-text:#8A6F2E;
  --text:#17150F; --muted:#6E6859;
  --pass:#2C7549; --warn:#8F5D10; --fail:#B23A25;
  --on-dark:#F3F0E8; --muted-on-dark:#A9A292; --on-gold:#17150F;
  --seal-chevron:#FAF8F3;
}
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--text); font-family:"DM Sans",system-ui,-apple-system,sans-serif; -webkit-font-smoothing:antialiased; }
.wrap { max-width:840px; margin:0 auto; padding:0 24px; }
a { color:var(--gold-text); }

nav { background:#17150F; padding:16px 0; }
nav .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1080px; }
.brand { display:flex; align-items:center; gap:9px; color:var(--on-dark); font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:19px; text-decoration:none; }
.brand b { color:var(--gold); }
.navcta { color:var(--gold); font-size:13.5px; text-decoration:none; border:1px solid rgba(201,168,76,0.45); border-radius:999px; padding:7px 15px; white-space:nowrap; }
.navcta:hover { background:var(--gold); color:var(--on-gold); }

/* The return control is a real LINK, never history.back(): most readers arrive from
   search or a shared link with no history, and a browser-back would eject them. */
.back { display:inline-block; margin:22px 0 0; font-family:"DM Mono",ui-monospace,monospace; font-size:12.5px; letter-spacing:0.4px; color:var(--gold-text); text-decoration:none; border:1px solid var(--border); border-radius:999px; padding:9px 16px; background:var(--surface); }
.back:hover { border-color:var(--gold-text); color:var(--text); }
.back-b { margin:28px 0 0; }

.hd { padding:26px 0 0; }
.kk { font-family:"DM Mono",ui-monospace,monospace; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-text); }
h1 { font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:38px; line-height:1.08; margin-top:10px; letter-spacing:-0.4px; }
.host { font-family:"DM Mono",ui-monospace,monospace; font-size:13px; color:var(--muted); margin-top:8px; }

.verdict { display:flex; align-items:center; gap:18px; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:22px 24px; margin-top:24px; }
.verdict .vnum { font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:34px; line-height:1; }
.verdict .vword { font-size:14px; color:var(--muted); margin-top:6px; }
.verdict.pass .vnum { color:var(--pass); }
.verdict.warn .vnum { color:var(--warn); }
.verdict.fail .vnum { color:var(--fail); }
.verdict.unknown .vnum { color:var(--muted); font-size:26px; }

.sec { margin-top:38px; }
h2 { font-family:"Playfair Display",Georgia,serif; font-size:23px; font-weight:900; }
.lede { color:var(--muted); font-size:14.5px; line-height:1.6; margin-top:9px; max-width:70ch; }
.sub { font-family:"Playfair Display",Georgia,serif; font-size:16px; margin:24px 0 10px; }

.hlist { margin-top:18px; background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.hrow { display:grid; grid-template-columns:30px 1fr auto; gap:14px; align-items:start; padding:14px 18px; border-bottom:1px solid #F1EDE3; }
.hrow:last-child { border-bottom:0; }
.hmark { font-size:16px; line-height:1.3; font-weight:700; }
.hrow.on .hmark { color:var(--pass); }
.hrow.off .hmark { color:var(--fail); }
.hname { font-family:"DM Mono",ui-monospace,monospace; font-size:13px; font-weight:500; }
.hwhat { font-size:13px; color:var(--muted); line-height:1.5; margin-top:4px; max-width:62ch; }
.hstate { font-family:"DM Mono",ui-monospace,monospace; font-size:10.5px; letter-spacing:1.3px; text-transform:uppercase; font-weight:600; white-space:nowrap; padding-top:2px; }
.hrow.on .hstate { color:var(--pass); }
.hrow.off .hstate { color:var(--fail); }
.none { margin-top:16px; color:var(--muted); font-size:14px; line-height:1.6; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:18px; }

.lgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px; }
.lcard { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:16px; }
.lhead { display:flex; align-items:center; gap:8px; }
.lname { font-family:"DM Mono",ui-monospace,monospace; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); }
.lval { font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:30px; margin-top:8px; }
.lval.pass { color:var(--pass); } .lval.warn { color:var(--warn); } .lval.fail { color:var(--fail); } .lval.unknown { color:var(--muted); font-size:15px; }
.l100 { font-size:13px; color:var(--muted); font-family:"DM Sans",sans-serif; font-weight:400; }
.lwhat { font-size:12.5px; color:var(--muted); line-height:1.5; margin-top:8px; }

.shortfalls { list-style:none; background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.shortfalls li { font-size:13.5px; line-height:1.5; padding:11px 18px; border-bottom:1px solid #F1EDE3; color:var(--muted); }
.shortfalls li:last-child { border-bottom:0; }
.shortfalls b { color:var(--text); font-weight:700; margin-right:6px; }
.dv { font-family:"DM Mono",ui-monospace,monospace; font-size:12px; color:var(--gold-text); }

/* Every dossier is a landing page, so the CTA is on every one of them. */
.cta { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:#17150F; color:var(--on-dark); border-radius:16px; padding:24px 26px; margin-top:40px; }
.ctah { font-family:"Playfair Display",Georgia,serif; font-size:21px; }
.ctah b { color:var(--gold); }
.ctas { font-size:13.5px; color:var(--muted-on-dark); margin-top:7px; line-height:1.55; max-width:56ch; }
.ctal { display:flex; gap:10px; flex-wrap:wrap; }
.btn { background:var(--gold); color:var(--on-gold); text-decoration:none; font-size:14px; font-weight:700; border-radius:999px; padding:11px 20px; white-space:nowrap; }
.btn.ghost { background:transparent; color:var(--gold); border:1px solid rgba(201,168,76,0.5); }
.btn.ghost:hover { background:var(--gold); color:var(--on-gold); }

.method { margin:26px 0 0; font-size:12.5px; color:var(--muted); line-height:1.65; }
footer { background:#17150F; color:var(--muted-on-dark); margin-top:48px; padding:26px 0; font-size:12.5px; }
footer .wrap { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:1080px; }
footer a { color:var(--gold); text-decoration:none; }

@media (max-width:720px) {
  h1 { font-size:28px; }
  .lgrid { grid-template-columns:repeat(2,1fr); }
  .verdict { gap:14px; padding:18px; }
  .cta { padding:20px; }
}
