/* Howard 26 Oct 22:36: insights layout fixes, scroll reveals and illustrative cards for /custom-work/, /consulting-engine/ and the home MCP section.
   Loaded on every page by header_fix.py. Reuses the paper (.pp), sticky note, biro and hand-drawn mark language */
/* 1. Insights articles */
main:has(article.article) .ph1 .h1{font-size:clamp(40px,5.2vw,84px);line-height:.92;max-width:min(100%,15em);overflow-wrap:break-word;text-wrap:balance}
.article nav.toc{display:block;height:auto;gap:0;padding:0;max-width:none;margin:0;font:14px/1.35 var(--tw);position:sticky;top:110px;align-self:start}
.article nav.toc b{display:block;margin-bottom:10px}
.article nav.toc a{display:block;padding:8px 0;text-decoration:none;border-top:1px dashed #ccc;white-space:normal}
@media (max-width:860px){.article nav.toc{display:block;position:static;border:1px solid #E6E6E6;padding:14px 16px;background:#fff}}
/* 2. Reveals (wow.js adds html.wvm only when motion is allowed) */
html.wvm .wv{opacity:0;translate:0 26px;transition:opacity .55s ease calc(var(--i,0)*120ms),translate .8s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*120ms)}
html.wvm .wv.wv-in{opacity:1;translate:0 0}
svg.wk .dr{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.5,0,.2,1) .25s;fill:none}
svg.wk.in .dr,html:not(.wvm) svg.wk .dr{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){html.wvm .wv{opacity:1;translate:none;transition:none}svg.wk .dr{transition:none;stroke-dashoffset:0}}
/* 3. Cards */
.wcard{max-width:520px;width:100%}
.wcard .wrow{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid #E6E6E6}
.wcard .wrow:last-child{border-bottom:0}
.wtag{display:inline-block;font:400 11px 'Special Elite',monospace;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--ink,#0A0A0A);padding:2px 7px;white-space:nowrap}
.wtag.b{border-color:var(--blue,#1D3FB8);color:var(--blue,#1D3FB8);rotate:-2deg}
.wsrc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.wsrc span{border:1.5px solid var(--ink,#0A0A0A);background:#fff;padding:10px 6px;text-align:center;font:700 15px var(--disp);letter-spacing:-.01em}
.wflow{display:block;width:100%;height:64px;margin:2px 0}
.wone{border:2px solid var(--ink,#0A0A0A);background:#FFFDF0;padding:14px 16px}
.wone .nm{font-size:22px}
.wchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.wchips span{font:600 13px var(--disp);padding:6px 12px;border:1.5px solid var(--ink,#0A0A0A);border-radius:999px;background:#fff}
.wchips span.on{background:var(--yel,#FFF200)}
.wsteps{list-style:none;counter-reset:s;margin:14px 0 6px}
.wsteps li{counter-increment:s;display:flex;gap:12px;align-items:baseline;font-size:15px;padding:8px 0;border-bottom:1px dashed #ccc}
.wsteps li::before{content:counter(s);font:800 18px var(--disp);width:22px;flex:none}
.whead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wnote{position:relative!important;display:inline-block;width:auto!important;max-width:260px;font-size:28px!important;margin-top:26px;justify-self:start}
.wmcp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.wmcp .btn{margin-top:22px}
@media (max-width:860px){.wmcp{grid-template-columns:minmax(0,1fr);gap:36px}.wsrc span{font-size:13px}.wcard{max-width:none}}
.wpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:start}.wpair .wcard{max-width:none}
@media (max-width:860px){.wpair{grid-template-columns:minmax(0,1fr);gap:40px}}
