/* document.css — institutional light shell for the standalone documents
   (resume, candidate brief, memos, playbook). Loaded last on each page.
   Everything is scoped to screen so the existing print layouts stay as they are. */
@media screen{
:root{
  --d-paper:#f5f5f4;--d-ink:#0a0a0a;--d-ink-2:#4b4b4b;--d-ink-3:#6b6b6b;--d-line:#e5e4e1;--d-line-2:#cfcdc8;
  --d-navy:#0a0a0a;--d-navy-2:#262626;--d-blue:#0a0a0a;--d-gold:#0a0a0a;--d-focus:#0a0a0a;
  --d-sans:'IBM Plex Sans','Segoe UI',Helvetica,Arial,sans-serif;
  --d-serif:'Schibsted Grotesk','IBM Plex Sans','Segoe UI',Helvetica,Arial,sans-serif;
  --d-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --cv-rule:var(--d-line);--cv-soft:var(--d-ink-2);--cv-accent:var(--d-navy);
  --pb-accent:var(--d-navy);--pb-rule:var(--d-line);--pb-soft:var(--d-ink-2);--pb-panel:#f5f5f4;
  font-family:var(--d-sans);color:var(--d-ink);background:var(--d-paper)}
body{background:var(--d-paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
nav{color:var(--d-ink);font-size:15px;gap:10px 24px;max-width:1040px}
nav a{color:var(--d-blue);font-weight:500;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;padding:4px 0}
nav button{background:var(--d-navy);color:#fff;font:600 15px/1.2 var(--d-sans);border:1px solid var(--d-navy);border-radius:2px;padding:10px 20px;min-height:44px}
nav button:hover{background:var(--d-navy-2)}
main{max-width:1040px;background:#fff;color:var(--d-ink);border:1px solid var(--d-line);border-radius:2px;box-shadow:0 1px 2px #0a0a0a0a}
main a{color:var(--d-blue);text-decoration-thickness:1.5px}
:focus-visible{outline:3px solid var(--d-focus);outline-offset:2px}
header{border-bottom-color:var(--d-line)}
h1{font:600 clamp(36px,4.8vw,52px)/1.08 var(--d-serif);letter-spacing:-.015em;color:var(--d-ink)}
h2,h3,h4{color:var(--d-ink);font-family:var(--d-serif)}
.label,.focus,footer,.contact{color:var(--d-ink-2)}
.label{font:600 12px/1.5 var(--d-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--d-ink-3)}
header>div>.label,header>.label{display:flex;align-items:center;gap:12px}
header>div>.label::before,header>.label::before{content:"";display:inline-block;width:28px;height:2px;background:var(--d-gold)}
.contact,.focus{font-size:15px;line-height:1.6}
.intro{font:400 21px/1.5 var(--d-serif);color:var(--d-ink)}
p,li{color:var(--d-ink);font-size:17px;line-height:1.65}
.facts{border-color:var(--d-line)}
.facts h2{font-size:21px}
.facts p,.capabilities p,.sample p{font-size:16px;line-height:1.65;color:var(--d-ink-2)}
.capabilities strong{color:var(--d-ink);font-weight:600;font-family:var(--d-sans)}
.section-title{font-size:26px}
.sample{border-color:var(--d-line)}
.sample h3{font-size:23px}
.sample>a{font-size:16px;font-weight:500}
footer{font-size:15px;line-height:1.6;border-top:1px solid var(--d-line)}
/* Memo pages */
.memo-grid p,.memo-grid li{font-size:16px}
code{font:14px var(--d-mono);background:#f5f5f4;padding:1px 5px;border-radius:2px}
/* Resume */
.cv-contact{color:var(--d-ink-2);font-size:15px;display:flex;flex-wrap:wrap;gap:2px 0}
.cv-contact span{white-space:normal;overflow-wrap:anywhere}
.cv-contact span+span::before{color:var(--d-line-2)}
.cv-summary{font:400 18px/1.6 var(--d-serif);color:var(--d-ink);border-color:var(--d-line)}
section.cv>h2{font:600 12px/1.6 var(--d-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--d-navy);border-color:var(--d-line-2)}
.entry-head h3{font:600 21px/1.3 var(--d-serif);color:var(--d-ink)}
.entry-head .when{font:500 13px/1.6 var(--d-mono);color:var(--d-ink-2)}
.entry .role{font-size:16px;color:var(--d-ink-2)}
.entry .meta{font-size:15px;color:var(--d-ink-3)}
.entry li,.skills dd,.cv-links li{font-size:16px;line-height:1.6;color:var(--d-ink)}
.skills dt{font:600 12px/1.6 var(--d-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--d-ink-3)}
.cv-links a{color:var(--d-blue)}
.cv-links span{color:var(--d-ink-2);font-size:15px}
/* Playbook */
.meta-strip dt,.tiles h3,.part>.eyebrow,.phases .eyebrow,figure.chart h3,table.pb caption,table.pb thead th{font:600 12px/1.5 var(--d-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--d-ink-3)}
.status,.flag,.step{font-family:var(--d-mono);font-size:12px;font-weight:600}
.meta-strip dd,.tiles strong,h4,table.pb tbody th,figure.chart p.chart-title,.status.observed{color:var(--d-ink)}
.tiles p,table.pb td,.note,figure.chart figcaption,.phases p{color:var(--d-ink-2);font-size:15px}
table.pb{font-size:15px}
table.pb thead th{border-bottom-color:var(--d-line-2)}
.status.developing,.flag,.step{color:#555555}
.flag{border-color:#555555}
.status.unconfirmed,.status.absent{color:#707070}
.callout{background:#f5f5f4;border-left:2px solid var(--d-gold)}
.callout p{font-size:16px;color:var(--d-ink)}
.part{border-top-color:var(--d-line-2)}
.chart-line{stroke:var(--d-navy)}.chart-dot{fill:var(--d-navy)}.chart-bar{fill:var(--d-line-2)}.chart-bar.last{fill:var(--d-navy)}.chart-axis{stroke:var(--d-line-2)}.chart-grid{stroke:#efeeec}.chart-text{fill:var(--d-ink-2)}.chart-value{fill:var(--d-ink)}
}

@media screen{h1,h2,h3{font-weight:700;letter-spacing:-.025em}.sample h3,.facts h2,.entry-head h3,.tiles strong,figure.chart p.chart-title{font-weight:600;letter-spacing:-.01em}}

@media screen{nav a:hover,main a:hover{color:#4b4b4b}.chart-line{stroke:#0a0a0a}.chart-dot,.chart-bar.last{fill:#0a0a0a}.flag{border-color:#555555;color:#555555}}
@media screen{::selection{background:#0a0a0a;color:#fff}}
@media screen{body{font-feature-settings:normal}table.pb,.entry-head .when,.meta-strip dd,.tiles strong,.cv-contact,.when{font-feature-settings:"tnum" 1}}
