/* ==========================================================
   Whitepaper (single-whitepaper.php)
   Loads after single.css and reuses its rail, contents list and article styles.
   ========================================================== */

/* ---------- cover ---------- */
.wp-cover{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
.wp-cover-text{display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(20px,2.2vw,28px);padding:clamp(48px,6vw,96px) var(--gut) clamp(40px,4.5vw,64px);border-right:1px solid var(--line);}
.wp-cover-text .tag{margin-bottom:auto;padding-bottom:clamp(32px,5vw,72px);}
.wp-title{font-family:var(--display);font-weight:500;font-size:clamp(36px,4.6vw,66px);line-height:1.02;letter-spacing:0;text-wrap:balance;max-width:16ch;}
.wp-lede{color:var(--muted);font-size:clamp(15px,1.1vw,17px);line-height:1.55;max-width:56ch;text-wrap:pretty;}
.wp-cover-text .btns{margin-top:8px;}
/* "Scroll down to read": scrolls to the paper; no hover colour change, the arrow nudges down instead */
.btn.wp-scroll,.btn.wp-scroll:hover{border-color:var(--line);color:var(--ink);background:transparent;}
.btn--primary.wp-scroll,.btn--primary.wp-scroll:hover{background:var(--blue);border-color:transparent;color:#fff;}
.wp-scroll-arr{display:inline-block;animation:wp-nudge 1.8s ease-in-out infinite;}
@keyframes wp-nudge{0%,60%,100%{transform:none}30%{transform:translateY(3px)}}

/* the whitepaper as a document: its cover on a small stack of pages, on the darker grey.
   Hover: the site's slanted lines fade in (as on the cells) and the document grows slightly */
.wp-cover-art.wp-doc{position:relative;margin:0;display:grid;place-items:center;padding:clamp(32px,4vw,56px);min-height:clamp(460px,44vw,640px);background:var(--bg-2);overflow:hidden;}
.wp-cover-art.wp-doc::before{content:"";position:absolute;inset:0;background-image:var(--hatch);opacity:0;transition:opacity .3s ease;pointer-events:none;}
.wp-cover-art.wp-doc:hover::before{opacity:1;}
.wp-doc-stack{position:relative;width:min(80%,470px);aspect-ratio:210/297;transform:rotate(-3deg);transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.wp-cover-art.wp-doc:hover .wp-doc-stack{transform:rotate(-3deg) scale(1.04);}
.wp-doc-stack::before,.wp-doc-stack::after{content:"";position:absolute;inset:0;background:var(--bg);border:1px solid var(--line);}
.wp-doc-stack::before{transform:translate(22px,14px) rotate(6deg);}
.wp-doc-stack::after{transform:translate(11px,7px) rotate(3deg);}
.wp-doc-stack > img,.wp-doc-stack > .wp-sheet{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;box-shadow:0 34px 60px -28px rgba(11,12,15,.5);}
/* no cover image: a blue page with the title on it */
.wp-sheet{padding:22px 22px 20px;display:flex;flex-direction:column;color:#fff;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M0 0V24M0 0H24' fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='.7'/%3E%3C/svg%3E") 0 0/24px 24px,var(--blue);}
.wp-sheet-top,.wp-sheet-foot{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.75);font-size:10.5px;}
.wp-sheet-top{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.3);}
.wp-sheet-title{margin-top:auto;font-family:var(--display);font-weight:500;font-size:clamp(18px,1.7vw,24px);line-height:1.1;text-wrap:balance;}
.wp-sheet-foot{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);}

/* ---------- the paper ---------- */
.wp-read{--side:clamp(280px,26vw,340px);display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-areas:"side main";}
/* the rail: the top part (date, read time, every section, download) stays on screen while reading, with no
   scroll bar of its own; share, "More whitepapers" and the email sign-up sit at the bottom of the column */
.wp-side{display:flex;flex-direction:column;}
.wp-side-top{flex:1 0 auto;}
.wp-side .ml-sticky{max-height:none;overflow:visible;}
.wp-side .ml-sticky > .ml-toc-cell{flex-shrink:0;min-height:0;overflow:visible;}
.wp-side-end{border-top:1px solid var(--line);}
.wp-side-end .ml-sub{border-bottom:0;}
.wp-side .ml-cell{padding:18px var(--gut);}
.wp-side .ml-cell > .mono{margin-bottom:10px;}
.wp-side .ml-toc a{padding:6px 0;font-size:13.5px;}
/* read time + progress bar in one cell: the minutes count down as the bar fills */
.wp-time .ml-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.wp-time .ml-meta .mono{color:var(--muted);}
.wp-time .val{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;}
.wp-time.is-done .val{color:var(--blue);}
.wp-bar{height:4px;background:var(--bg-2);}
.wp-bar span{display:block;height:100%;width:100%;background:var(--blue);transform-origin:0 50%;transform:scaleX(0);}
.wp-dl{display:flex;justify-content:space-between;align-items:center;padding:20px var(--gut);background:var(--blue);color:#fff;text-decoration:none;font-size:13px;transition:background .15s;}
.wp-dl:hover{background:var(--ink);}
/* "More whitepapers": the blog's "Read next" block, with each cover shown as a small page */
.wp-rel .ml-rel-head{padding:18px var(--gut) 12px;}
.wp-rel .ml-rel{grid-template-columns:44px minmax(0,1fr);padding:10px var(--gut);}
.wp-rel .ml-rel-img{aspect-ratio:210/297;border:1px solid var(--line);}
.wp-rel .ml-rel-img img{object-position:top;}
.wp-rel .ml-rel:last-child{padding-bottom:16px;}

/* everything fills the column, same margin both sides */
.wp-body > *{max-width:none;}
.ml-tl-track{max-width:none;}

/* sections read as chapters */
.wp-body h2{font-size:clamp(28px,3vw,42px);margin-top:2.8em;padding-top:36px;}
.wp-body > h2:first-child{margin-top:0;border-top:0;padding-top:0;}
.wp-body h2 .n{margin-bottom:18px;text-transform:uppercase;}
.wp-body h2 .n::before{content:"Section ";}

/* pull quote (Quote block) */
.wp-body blockquote{margin-top:2em;margin-bottom:2em;padding:28px 0 28px 28px;border-left:2px solid var(--blue);}
.wp-body blockquote p{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,30px);line-height:1.25;color:var(--ink);}
.wp-body blockquote cite{display:block;margin-top:16px;font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

/* big numbers (Columns block with the class "ml-stats") */
.wp-body .ml-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;max-width:none;margin-top:2em;margin-bottom:.5em;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.wp-body .ml-stats > .wp-block-column{margin:0;padding:24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);}
.wp-body .ml-stats > .wp-block-column > *{margin:0;}
.wp-body .ml-stats > .wp-block-column > :first-child{font-family:var(--display);font-weight:500;font-size:clamp(36px,3.6vw,52px);line-height:1;color:var(--blue);}
.wp-body .ml-stats > .wp-block-column > :first-child strong{color:inherit;font-weight:inherit;}
.wp-body .ml-stats > .wp-block-column > * + *{margin-top:12px;font-size:15px;line-height:1.5;color:var(--muted);}

/* wide images and tables can use the full column */
.wp-body > figure.alignwide,.wp-body > .wp-block-image.alignwide{max-width:none;}

/* ==========================================================
   Interactive blocks for whitepaper posts.
   Each one is plain HTML in the post (readable without JavaScript);
   whitepaper.js adds the animation and interaction. Class names are listed in
   single-whitepaper.php.
   ========================================================== */
.wp-body{--ok:#2fbf6b;--bad:#ef3b46;--warn:#c98a0b;}
.wp-body .ml-wide{max-width:none;}

/* claim checker (div.ml-claims) */
.wp-body .ml-claims{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--bg);}
.ml-claims-col{padding:22px;}
.ml-claims-col + .ml-claims-col{border-left:1px solid var(--line);}
.wp-body .ml-claims-h{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.ml-claims-h::before{content:"";width:7px;height:7px;background:var(--bad);}
.ml-claims-col[data-kind="yes"] .ml-claims-h::before{background:var(--ok);}
.wp-body .ml-claims ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;}
.wp-body .ml-claims li{margin:0;padding:6px 11px;font-size:14px;line-height:1.3;color:var(--ink);border:1px solid rgba(239,59,70,.35);background:rgba(239,59,70,.06);cursor:pointer;user-select:none;transition:background .15s,border-color .15s,color .15s;}
.wp-body .ml-claims li::before{display:none;}
.wp-body .ml-claims [data-kind="no"] li{text-decoration:line-through;text-decoration-color:rgba(239,59,70,.7);}
.wp-body .ml-claims [data-kind="yes"] li{border-color:rgba(47,191,107,.4);background:rgba(47,191,107,.07);}
.wp-body .ml-claims li:hover,.wp-body .ml-claims li:focus-visible{outline:none;border-color:var(--bad);}
.wp-body .ml-claims [data-kind="yes"] li:hover,.wp-body .ml-claims [data-kind="yes"] li:focus-visible{border-color:var(--ok);}
.wp-body .ml-claims li.on{background:var(--bad);border-color:var(--bad);color:#fff;text-decoration-color:rgba(255,255,255,.7);}
.wp-body .ml-claims [data-kind="yes"] li.on{background:var(--ok);border-color:var(--ok);}
.ml-claims-out{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:start;padding:18px 22px;border-top:1px solid var(--line);background:var(--bg-2);min-height:96px;}
.ml-claims-out .verdict{grid-row:span 2;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--bad);padding:5px 9px;}
.ml-claims-out.is-yes .verdict{background:var(--ok);}
.ml-claims-out .claim{font-family:var(--display);font-weight:500;font-size:20px;color:var(--ink);}
.wp-body .ml-claims-out .why{font-size:15px;line-height:1.5;color:var(--muted);}
.ml-claims-hint{grid-column:1/-1;padding:10px 22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

/* timeline (ol.ml-timeline, li data-date="YYYY-MM-DD") */
.ml-tl-track{position:relative;height:74px;margin:2em 0 0;}
.ml-tl-rail{position:absolute;left:0;right:0;top:36px;height:1px;background:var(--line);}
.ml-tl-fill{position:absolute;left:0;top:36px;height:2px;margin-top:-.5px;background:var(--blue);width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
.ml-tl-dot{position:absolute;top:36px;width:13px;height:13px;margin:-6px 0 0 -6px;background:var(--bg);border:2px solid var(--blue);cursor:pointer;padding:0;transition:transform .15s,background .15s;}
.ml-tl-dot:hover,.ml-tl-dot.on{background:var(--blue);transform:scale(1.25);}
.ml-tl-dot.is-key{border-color:var(--bad);}
.ml-tl-dot.is-key:hover,.ml-tl-dot.is-key.on{background:var(--bad);}
.ml-tl-yr{position:absolute;top:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);transform:translateX(-50%);}
.ml-tl-today{position:absolute;top:22px;bottom:12px;width:0;border-left:1px dashed var(--muted);}
.ml-tl-today span{position:absolute;bottom:-14px;left:0;transform:translateX(-50%);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.wp-body ol.ml-timeline{border-top:1px solid var(--line);counter-reset:none;margin-top:1.2em;}
.wp-body ol.ml-timeline > li{display:grid;grid-template-columns:150px 1fr;gap:4px 20px;padding:14px 10px;border-bottom:1px solid var(--line);transition:background .2s;}
.wp-body ol.ml-timeline > li::before{display:none;}
.wp-body ol.ml-timeline > li.on{background:var(--bg-2);}
.ml-timeline .d{grid-row:span 2;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);padding-top:4px;}
.ml-timeline strong{font-size:17px;}
.wp-body .ml-timeline li > span:last-child{font-size:15px;line-height:1.5;color:var(--muted);}

/* note box (div.ml-note) */
.wp-body .ml-note{padding:24px 26px;border:1px solid var(--line);border-left:2px solid var(--blue);background:var(--bg-2);}
.wp-body .ml-note > * + *{margin-top:.5em;}
.wp-body .ml-note p{font-size:16px;}

/* dark panels run edge to edge between the grid lines, content lined up with the text */
.wp-body{--px:clamp(24px,5vw,80px);padding-left:var(--px);padding-right:var(--px);}
.wp-body > .ml-panel,.wp-body > .ml-big,.wp-body > .ml-fine{margin-left:calc(-1 * var(--px));margin-right:calc(-1 * var(--px));padding-left:var(--px);padding-right:var(--px);}
.wp-body > .ml-panel + *,.wp-body > .ml-big + *,.wp-body > .ml-fine + *{margin-top:2em;}
.wp-body > * + .ml-panel,.wp-body > * + .ml-big,.wp-body > * + .ml-fine{margin-top:2em;}

/* dark panel (div.ml-panel) */
.wp-body .ml-panel{background:var(--dark);color:#fff;padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px);--line:rgba(255,255,255,.12);--muted:#9097a6;}
.wp-body .ml-panel > * + *{margin-top:1em;}
.wp-body .ml-panel h3{color:#fff;margin-top:0;font-size:clamp(22px,2vw,28px);}
.wp-body .ml-panel p{color:#c3c8d2;}
.wp-body .ml-panel .ml-source{font-size:12.5px;line-height:1.5;color:var(--muted);}

/* counters (div.ml-counts > div.ml-count[data-value]) */
.wp-body .ml-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.ml-count{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;}
.ml-count .v{font-family:var(--display);font-weight:500;font-size:clamp(28px,2.6vw,38px);line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
.ml-count.is-alert .v{color:var(--bad);}
.wp-body .ml-count .l{font-size:14px;line-height:1.45;color:var(--muted);}

/* 100-square chart (div.ml-waffle data-on="11") */
.ml-waffle{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,32px);align-items:center;padding:20px;border:1px solid var(--line);}
.ml-waffle-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;width:min(300px,52vw);}
.ml-waffle-grid i{aspect-ratio:1;background:rgba(255,255,255,.1);transition:background .3s;}
.ml-waffle-grid i.on{background:var(--bad);}
.wp-body .ml-waffle p{font-size:15px;color:#c3c8d2;}
.ml-waffle b{display:block;font-family:var(--display);font-weight:500;font-size:26px;color:#fff;margin-bottom:6px;}

/* status badges in tables */
.ml-badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--bad);padding:4px 8px;white-space:nowrap;}
.ml-badge.is-conditional{background:var(--warn);}
.ml-badge.is-ok{background:var(--ok);}
.wp-body .ml-annex td:first-child{font-family:var(--mono);color:var(--blue);}
.wp-body .ml-annex tbody tr{transition:background .15s;}
.wp-body .ml-annex tbody tr:hover{background:var(--bg-2);}
.ml-filter{display:flex;gap:0;border:1px solid var(--line);border-bottom:0;width:max-content;max-width:100%;margin-top:1.6em;}
.ml-filter button{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border:0;border-right:1px solid var(--line);background:var(--bg-2);color:var(--muted);cursor:pointer;transition:background .15s,color .15s;}
.ml-filter button:last-child{border-right:0;}
.ml-filter button:hover{color:var(--ink);}
.ml-filter button.on{background:var(--blue);color:#fff;}
.ml-filter + .wp-block-table{margin-top:0 !important;}
.wp-body .ml-annex tr.is-hidden{display:none;}

/* figure cells, in the style of the homepage numbers (div.ml-stat) */
.ml-stat{display:flex;flex-direction:column;min-width:0;padding:24px;}
.ml-stat-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted);margin-bottom:clamp(28px,3vw,40px);}
.ml-stat-top b{font-weight:400;color:var(--ink);}
.ml-stat .v,.ml-big .v,.ml-calc .v{font-family:var(--display);font-weight:500;font-size:clamp(40px,4.3vw,58px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.wp-body .ml-stat p{margin-top:14px;font-size:14.5px;line-height:1.5;color:var(--muted);max-width:34ch;}

/* fine calculator (div.ml-fine data-rate="4"): two figure cells, then a turnover slider.
   Runs edge to edge between the grid lines; outer cells line up with the text */
.wp-body .ml-fine{display:grid;grid-template-columns:1fr 1fr;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ml-fine > .ml-stat:first-child{padding-left:var(--px);}
.ml-fine > .ml-stat + .ml-stat{border-left:1px solid var(--line);padding-right:var(--px);}
.ml-calc{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
.ml-calc > div{padding:24px;}
.ml-calc > div:first-child{padding-left:var(--px);}
.ml-calc-out{position:relative;border-left:1px solid var(--line);padding-right:var(--px) !important;background:var(--hatch),var(--bg);}
.ml-calc-out > *{position:relative;}
.ml-calc .v{font-size:clamp(30px,3vw,42px);}
.ml-calc-out .v{color:var(--blue);font-size:clamp(40px,4.3vw,58px);}
.wp-body .ml-calc-out p{margin-top:14px;font-size:14.5px;color:var(--muted);}
.ml-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:22px 0 6px;background:transparent;cursor:pointer;--p:50%;}
.ml-range:focus{outline:none;}
.ml-range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(var(--blue),var(--blue)) 0 0/var(--p) 100% no-repeat,var(--line);}
.ml-range::-moz-range-track{height:2px;background:var(--line);}
.ml-range::-moz-range-progress{height:2px;background:var(--blue);}
.ml-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;border:0;border-radius:0;background:var(--blue);box-shadow:0 0 0 5px var(--blue-soft);transition:box-shadow .15s;}
.ml-range::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:0;background:var(--blue);box-shadow:0 0 0 5px var(--blue-soft);}
.ml-range:hover::-webkit-slider-thumb,.ml-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 8px var(--blue-soft);}
.ml-range-ends{display:flex;justify-content:space-between;color:var(--muted);}

/* audit gap flow (div.ml-flow) */
.wp-body .ml-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;position:relative;}
.ml-flow-col{display:flex;flex-direction:column;gap:8px;position:relative;}
.ml-flow-col + .ml-flow-col::before{content:"\2192";position:absolute;left:-21px;top:50%;color:var(--blue);font-size:16px;}
.wp-body .ml-flow-h{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.ml-flow-src{padding:11px 13px;border:1px solid var(--line);border-left:2px solid var(--blue);background:var(--bg-2);cursor:pointer;transition:background .2s,opacity .2s,border-color .2s;}
.ml-flow-src[data-route="direct"]{border-left-color:var(--bad);}
.ml-flow-src strong{display:block;font-size:14.5px;}
.ml-flow-src span,.ml-flow-box li,.ml-flow-box small{font-size:13px;line-height:1.4;color:var(--muted);}
.ml-flow-box{flex:1;padding:16px;border:1px solid var(--line);background:var(--bg-2);transition:opacity .25s,border-color .25s,box-shadow .25s;}
.ml-flow-box strong{display:block;font-size:16px;margin-bottom:4px;}
.wp-body .ml-flow-box ul{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.wp-body .ml-flow-box li{margin-top:.35em;padding-left:14px;}
.wp-body .ml-flow-box li::before{width:5px;height:5px;top:.6em;}
.ml-flow-live li::before{background:var(--bad) !important;}
.ml-flow-tag{margin-top:14px;padding:10px 12px;border:1px solid var(--blue);background:var(--blue-soft);font-size:13px;}
.ml-flow-live .ml-flow-tag{border-color:rgba(239,59,70,.5);background:rgba(239,59,70,.08);}
.ml-flow-tag b{display:block;font-weight:500;color:var(--ink);}
.ml-flow-gap{grid-column:1/-1;padding:14px 16px;border:1px solid rgba(239,59,70,.5);background:rgba(239,59,70,.07);font-size:15px;transition:background .25s;}
.ml-flow-gap b{display:block;font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bad);margin-bottom:4px;}
.wp-body .ml-flow-gap{margin-top:0;}
/* hover states set by whitepaper.js */
.ml-flow.is-central .ml-flow-src[data-route="direct"],.ml-flow.is-direct .ml-flow-src[data-route="central"]{opacity:.35;}
.ml-flow .ml-flow-src.on{background:var(--bg);}
.ml-flow.is-central .ml-flow-mid{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);}
.ml-flow.is-central .ml-flow-gap{opacity:.4;}
.ml-flow.is-direct .ml-flow-mid{opacity:.35;}
.ml-flow.is-direct .ml-flow-live{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad);}
.ml-flow.is-direct .ml-flow-gap{background:rgba(239,59,70,.16);}
.ml-flow-hint{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

/* split bar (div.ml-split > div[data-value]) */
.wp-body .ml-split-h{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2em;}
.wp-body .ml-split{display:flex;gap:4px;margin-top:10px;}
.ml-split > div{flex:1 1 0;display:flex;align-items:center;gap:8px;min-width:0;padding:11px 12px;font-size:13.5px;color:#fff;background:var(--blue);border:1px solid var(--blue);white-space:nowrap;overflow:hidden;transition:flex-grow 1.2s cubic-bezier(.2,.7,.2,1);}
.ml-split > div + div{background:var(--hatch),var(--bg);color:var(--ink);border-color:var(--line);}
.ml-split b{font-family:var(--mono);font-weight:400;}
.wp-body .ml-split-note{font-size:13px;color:var(--muted);margin-top:8px;}

/* label + text rows (dl.ml-rows) */
.wp-body .ml-rows{display:grid;grid-template-columns:200px 1fr;border-top:1px solid var(--line);}
.ml-rows dt,.ml-rows dd{margin:0;padding:16px 0;border-bottom:1px solid var(--line);}
.ml-rows dt{font-weight:500;font-size:16px;padding-right:20px;}
.ml-rows dd{font-size:16px;line-height:1.55;color:#3d3e42;}

/* big single figure (div.ml-big data-value="52"): light cells between the grid lines,
   with the angled-line hatch growing across that share of the width */
.wp-body .ml-big{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.ml-big-hatch{position:absolute;top:0;bottom:0;right:0;width:0;background:var(--hatch);border-left:1px solid var(--blue);transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
.ml-big.in .ml-big-hatch{width:var(--w,50%);}
.ml-big > .ml-stat{position:relative;padding-left:var(--px);}
.wp-body .ml-big > p{position:relative;align-self:end;margin:0;padding:24px var(--px) 28px 24px;font-size:15.5px;line-height:1.55;color:var(--muted);}
.ml-big > p strong{display:block;font-family:var(--display);font-size:clamp(20px,1.8vw,24px);line-height:1.2;color:var(--ink);margin-bottom:8px;}

/* checklist (ol.ml-steps) */
.wp-body ol.ml-steps{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:none;}
.wp-body ol.ml-steps > li{display:block;position:relative;padding:20px 20px 20px 66px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;line-height:1.55;cursor:pointer;transition:background .2s;}
.wp-body ol.ml-steps > li::before{position:absolute;left:20px;top:20px;width:30px;height:24px;margin:0;}
.wp-body ol.ml-steps > li strong{display:block;font-size:17px;line-height:1.3;margin-bottom:6px;}
.wp-body ol.ml-steps > li:hover{background:var(--bg-2);}
.wp-body ol.ml-steps > li.done{background:var(--blue-soft);}
.wp-body ol.ml-steps > li.done::before{content:"\2713";background:var(--ok);}
.ml-steps-bar{display:flex;align-items:center;gap:14px;margin-top:1.4em;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.ml-steps-bar i{flex:1;height:4px;background:var(--bg-2);position:relative;}
.ml-steps-bar i::after{content:"";position:absolute;inset:0;background:var(--ok);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .3s;}
.ml-steps-bar + .ml-steps{margin-top:12px !important;}

/* phases (div.ml-phases > div.ml-phase) */
.wp-body .ml-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.ml-phase{position:relative;padding:22px 20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);opacity:.25;transform:translateY(10px);transition:opacity .5s,transform .5s;}
.ml-phases.in .ml-phase{opacity:1;transform:none;}
.ml-phases.in .ml-phase:nth-child(2){transition-delay:.25s;}
.ml-phases.in .ml-phase:nth-child(3){transition-delay:.5s;}
.ml-phases.in .ml-phase:nth-child(4){transition-delay:.75s;}
.wp-body .ml-phases:has(> :nth-child(4)){grid-template-columns:1fr 1fr;}
.ml-phase .t{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue);padding:4px 8px;}
.ml-phase strong{display:block;font-family:var(--display);font-weight:500;font-size:22px;margin:14px 0 6px;}
.wp-body .ml-phase p{font-size:14.5px;line-height:1.5;color:var(--muted);}
.ml-phase::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--blue);transition:width .6s;}
.ml-phases.in .ml-phase::after{width:100%;}
.ml-phases.in .ml-phase:nth-child(2)::after{transition-delay:.35s;}
.ml-phases.in .ml-phase:nth-child(3)::after{transition-delay:.7s;}
.ml-phases.in .ml-phase:nth-child(4)::after{transition-delay:1.05s;}

/* FAQ (Details blocks) */
.wp-body details{border-bottom:1px solid var(--line);}
.wp-body h2 + details,.wp-body details:first-of-type{border-top:1px solid var(--line);}
.wp-body details + details{margin-top:0;}
.wp-body summary{list-style:none;display:grid;grid-template-columns:1fr 24px;gap:16px;align-items:center;padding:18px 0;font-weight:500;font-size:18px;line-height:1.35;cursor:pointer;}
.wp-body summary::-webkit-details-marker{display:none;}
.wp-body summary::after{content:"+";display:grid;place-items:center;width:24px;height:24px;background:var(--bg-2);font-family:var(--mono);font-size:16px;color:var(--ink);transition:transform .2s,background .2s,color .2s;}
.wp-body summary:hover::after{background:var(--blue);color:#fff;}
.wp-body details[open] summary::after{transform:rotate(45deg);background:var(--blue);color:#fff;}
.wp-body details > :not(summary){margin:0 0 20px;font-size:16px;}

/* closing panel (div.ml-deadline) */
.wp-body .ml-deadline{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;}
.ml-deadline-card{padding:22px;border:1px solid var(--line);background:var(--dark-2);}
.ml-deadline-card .mono{color:var(--bad);}
.ml-deadline-card .v{display:block;font-family:var(--display);font-weight:500;font-size:clamp(28px,2.6vw,36px);line-height:1.05;margin:10px 0;}
.wp-body .ml-deadline .wp-block-button__link:hover{background:#fff;color:var(--ink);}
.wp-body .ml-deadline .wp-block-buttons{margin-top:20px;}

/* intro line under a section heading (paragraph class "ml-lede") */
.wp-body p.ml-lede{font-family:var(--display);font-weight:500;font-size:clamp(20px,1.7vw,23px);line-height:1.35;color:var(--ink);}

/* small print */
.wp-body .ml-small{font-size:13.5px;line-height:1.55;color:var(--muted);}

/* reveal on scroll */
.ml-rv{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;}
.ml-rv.in{opacity:1;transform:none;}

/* ==========================================================
   More interactive blocks (IP risk / influencer whitepapers)
   ========================================================== */

/* stat cells (div.ml-cells > div.ml-stat[data-value]): homepage-numbers style, edge to edge between the grid lines */
.wp-body .ml-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:none;margin-left:calc(-1 * var(--px));margin-right:calc(-1 * var(--px));padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.wp-body > * + .ml-cells{margin-top:2em;}
.wp-body > .ml-cells + *{margin-top:2em;}
.ml-cells > .ml-stat + .ml-stat{border-left:1px solid var(--line);}
.ml-cells > .ml-stat:first-child{padding-left:var(--px);}
.ml-cells > .ml-stat:last-child{padding-right:var(--px);}
.ml-cells .v{font-size:clamp(36px,3.6vw,52px) !important;}
.ml-cells .ml-stat-top{flex-wrap:wrap;}

/* risk tables: the first column wraps, with "where it appears" under the name */
.wp-body .ml-annex td:first-child{white-space:normal;width:26%;}
.wp-body .ml-annex td:first-child small{display:block;margin-top:6px;font-family:var(--sans);font-size:12.5px;line-height:1.4;color:var(--muted);}

/* status badge for "high" severity */
.ml-badge.is-high{background:var(--warn);}

/* myths (ol.ml-myths > li > p.myth, p.reality, p.case): click a myth to reveal the reality */
.wp-body ol.ml-myths{list-style:none;padding:0;border-top:1px solid var(--line);counter-reset:myth;max-width:none;}
.wp-body ol.ml-myths > li{counter-increment:myth;display:grid;grid-template-columns:44px 1fr;gap:6px 18px;margin:0;padding:22px 0;border-bottom:1px solid var(--line);}
.wp-body ol.ml-myths > li::before{content:counter(myth,decimal-leading-zero);grid-row:span 3;align-self:start;display:grid;place-items:center;height:24px;margin-top:3px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#fff;background:var(--blue);}
.ml-myths .myth{font-family:var(--display);font-weight:500;font-size:clamp(19px,1.7vw,23px);line-height:1.3;color:var(--ink) !important;}
.ml-myths .myth::before,.ml-myths .reality::before{display:block;margin-bottom:8px;font-family:var(--mono);font-size:11.5px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;}
.ml-myths .myth::before{content:"Myth";color:var(--bad);}
.ml-myths .reality::before{content:"Reality";color:var(--ok);}
.wp-body .ml-myths .reality{font-size:16.5px;margin-top:14px;}
.wp-body .ml-myths .case{font-size:14px;line-height:1.5;color:var(--muted);font-style:italic;margin-top:8px;}
.ml-myths .ml-reveal{justify-self:start;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.ml-myths .ml-reveal:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.ml-myths.js li:not(.open) .reality,.ml-myths.js li:not(.open) .case{display:none;}
.ml-myths.js li.open .ml-reveal{display:none;}

/* tabs (div.ml-tabs > div.ml-tab[data-label]): one panel at a time; every panel shows in print */
.wp-body .ml-tabs{max-width:none;}
.ml-tabs .ml-filter{margin-top:0;}
.ml-tab{border:1px solid var(--line);background:var(--bg);padding:clamp(20px,2.4vw,28px);}
.ml-tab > * + *{margin-top:.9em;}
.ml-tabs.js .ml-tab:not(.on){display:none;}
.ml-tab h3{margin-top:0 !important;}
.wp-body .ml-tab .ml-tab-meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.wp-body .ml-tab .ml-lesson{padding:14px 16px;border-left:2px solid var(--blue);background:var(--bg-2);font-size:16px;}
.ml-tab .ml-tab-stat{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:16px 0 4px;border-top:1px solid var(--line);}
.ml-tab .ml-tab-stat .v{font-family:var(--display);font-weight:500;font-size:clamp(36px,3.6vw,50px);line-height:1;color:var(--blue);font-variant-numeric:tabular-nums;}
.wp-body .ml-tab .ml-tab-stat p{font-size:15px;color:var(--muted);margin:0;max-width:44ch;}
.ml-tab .ml-flow{margin-top:4px;}

/* side by side (div.ml-versus > div.ml-versus-col[data-kind="no|mid|yes"] > p.ml-versus-h + ul) */
.wp-body .ml-versus{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:none;}
.ml-versus-col{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.ml-versus-col[data-kind="no"]{background:rgba(239,59,70,.04);}
.ml-versus-col[data-kind="yes"]{background:var(--blue-soft);}
.wp-body .ml-versus-h{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.ml-versus-h::before{content:"";width:7px;height:7px;background:var(--bad);}
.ml-versus-col[data-kind="mid"] .ml-versus-h::before{background:var(--warn);}
.ml-versus-col[data-kind="yes"] .ml-versus-h::before{background:var(--blue);}
.wp-body .ml-versus-col strong.big{display:block;font-family:var(--display);font-weight:500;font-size:clamp(28px,2.6vw,38px);line-height:1;color:var(--ink);margin-bottom:12px;}
.wp-body .ml-versus-col strong.title{display:block;font-family:var(--display);font-weight:500;font-size:clamp(20px,1.8vw,24px);line-height:1.2;color:var(--ink);margin-bottom:14px;}
.wp-body .ml-versus ul{margin:0;}
.wp-body .ml-versus li{font-size:15px;line-height:1.45;padding-left:22px;}
.wp-body .ml-versus li::before{content:"\2715";width:auto;height:auto;background:none;top:0;font-size:12px;line-height:1.9;color:var(--bad);}
.wp-body .ml-versus [data-kind="mid"] li::before{content:"\2013";color:var(--warn);}
.wp-body .ml-versus [data-kind="yes"] li::before{content:"\2713";color:var(--blue);}

/* numbered cards (ol.ml-grid > li > strong + text) */
.wp-body ol.ml-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:none;}
.wp-body ol.ml-grid > li{display:block;position:relative;margin:0;padding:22px 22px 22px 68px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.55;transition:background .2s;}
.wp-body ol.ml-grid > li::before{position:absolute;left:22px;top:22px;width:30px;height:24px;margin:0;}
.wp-body ol.ml-grid > li:hover{background-image:var(--hatch);}
.wp-body ol.ml-grid:has(> li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr);}
.wp-body ol.ml-grid:has(> li:nth-child(3):last-child) > li{padding:58px 20px 22px;}
.wp-body ol.ml-grid > li strong{display:block;font-size:17px;line-height:1.3;margin-bottom:6px;}
.wp-body ol.ml-grid.is-risk > li::before{background:var(--bad);}
.wp-body ol.ml-grid.is-risk > li strong{color:var(--bad);font-family:var(--mono);font-weight:400;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;}

/* when / owner inside checklist items */
.wp-body .ml-steps .ml-when{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;}
.wp-body .ml-steps em{display:block;margin-top:8px;font-style:normal;font-size:14px;color:var(--muted);}

/* audit (div.ml-audit > div.ml-audit-row > p.q + ul > li[data-level="red|amber|green"]): pick an answer per row, get a score */
.wp-body .ml-audit{max-width:none;border-top:1px solid var(--line);}
.ml-audit-head,.ml-audit-row{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);}
.ml-audit-head span{padding:12px 14px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.ml-audit-head span + span{border-left:1px solid var(--line);}
.ml-audit-head span[data-level]::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;vertical-align:1px;background:var(--bad);}
.ml-audit-head span[data-level="amber"]::before{background:var(--warn);}
.ml-audit-head span[data-level="green"]::before{background:var(--ok);}
.wp-body .ml-audit-row .q{padding:16px 14px 16px 0;font-size:15.5px;line-height:1.45;color:var(--ink);font-weight:500;}
.wp-body .ml-audit-row ul{display:contents;}
.wp-body .ml-audit-row li{margin:0;padding:16px 14px;border-left:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;}
.wp-body .ml-audit-row li::before{display:none;}
.wp-body .ml-audit-row li:hover{background:var(--bg-2);color:var(--ink);}
.wp-body .ml-audit-row li.on{color:#fff;}
.wp-body .ml-audit-row li[data-level="red"].on{background:var(--bad);}
.wp-body .ml-audit-row li[data-level="amber"].on{background:var(--warn);}
.wp-body .ml-audit-row li[data-level="green"].on{background:var(--ok);}
.ml-audit-score{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center;padding:18px 20px;margin-top:16px;border:1px solid var(--line);background:var(--bg-2);}
.ml-audit-tally{display:flex;gap:6px;grid-row:span 2;}
.ml-audit-tally b{display:grid;place-items:center;min-width:34px;height:30px;padding:0 8px;font-family:var(--mono);font-weight:400;font-size:13px;color:#fff;background:var(--bad);}
.ml-audit-tally b:nth-child(2){background:var(--warn);}
.ml-audit-tally b:nth-child(3){background:var(--ok);}
.ml-audit-verdict{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--ink);}
.wp-body .ml-audit-guide{font-size:13.5px;color:var(--muted);margin:0;}
.ml-audit.is-red .ml-audit-score{border-color:var(--bad);}
.ml-audit.is-green .ml-audit-score{border-color:var(--ok);}

/* chips (ul.ml-chips) */
.wp-body ul.ml-chips{display:flex;flex-wrap:wrap;gap:8px;}
.wp-body ul.ml-chips li{margin:0;padding:7px 12px 7px 26px;border:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);}
.wp-body ul.ml-chips li::before{left:11px;top:50%;margin-top:-3px;width:6px;height:6px;}

/* Medialake box inside a flow diagram */
.ml-flow-box.ml-flow-ml{background:var(--blue);border-color:var(--blue);color:#fff;}
.ml-flow-box.ml-flow-ml small,.ml-flow-box.ml-flow-ml li{color:rgba(255,255,255,.8) !important;}
.wp-body .ml-flow-box.ml-flow-ml ul{border-top-color:rgba(255,255,255,.3);}
.wp-body .ml-flow-box.ml-flow-ml li::before{background:#fff !important;}
.ml-flow-box.ml-flow-ml .ml-flow-tag{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.1);color:#fff;}
.ml-flow-box.ml-flow-ml .ml-flow-tag b{color:#fff;}
.ml-flow-box.is-ok{border-color:var(--ok);}
.ml-flow-box.is-ok li::before{background:var(--ok) !important;}
.ml-flow-gap.is-ok{border-color:rgba(47,191,107,.55);background:rgba(47,191,107,.08);}
.ml-flow-gap.is-ok b{color:var(--ok);}

/* call to action panel (div.ml-panel.ml-cta) */
.wp-body .ml-cta .wp-block-buttons{margin-top:22px;}
.wp-body .ml-cta .wp-block-button__link:hover{background:#fff;color:var(--ink);}
.wp-body .ml-cta p{max-width:56ch;}

/* creative chain diagram (div.ml-chain > div.ml-chain-st > span.s + div.b): stages left to right, arrows between */
.wp-body .ml-chain{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:22px;max-width:none;margin-top:10px;}
.ml-chain-st{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;}
.ml-chain-st + .ml-chain-st::before{content:"\2192";position:absolute;left:-17px;top:50%;margin-top:-10px;font-size:14px;color:var(--muted);}
.ml-chain-st .s{position:absolute;top:-22px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.wp-body .ml-chain:has(.s){margin-top:34px;}
.ml-chain .b{padding:9px 10px;border:1px solid var(--line);background:var(--bg-2);text-align:center;font-size:12.5px;line-height:1.3;color:var(--ink);}
.ml-chain .b b{display:block;font-weight:500;font-size:13.5px;}
.ml-chain .b small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);}
.ml-chain .b.is-agency{border-left:2px solid var(--blue);background:var(--bg);}
.ml-chain .b.is-mid{border-color:rgba(201,138,11,.5);background:rgba(201,138,11,.08);}
.ml-chain .b.is-bad{border-color:rgba(239,59,70,.55);background:rgba(239,59,70,.08);}
.ml-chain .b.is-ok{border-color:rgba(47,191,107,.55);background:rgba(47,191,107,.08);}
.ml-chain .b.is-ml{border-color:var(--blue);background:var(--blue);color:#fff;}
.ml-chain .b.is-ml small{color:rgba(255,255,255,.8);}
.ml-chain .b.is-big{padding:14px 10px;}
.ml-chain .b.is-big b{font-family:var(--display);font-size:20px;}
.ml-chain .b.is-bad.is-big b{color:var(--bad);}
.ml-chain-st:has(.is-bad) + .ml-chain-st::before,.ml-chain-st:has(.is-bad)::before{color:var(--bad);}
.ml-chain-st:has(.is-ml) + .ml-chain-st::before,.ml-chain-st:has(.is-ml)::before{color:var(--blue);}
.wp-body .ml-chain-h{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:20px;}
.wp-body .ml-chain-h:first-child{margin-top:0;padding:10px 12px;border:1px solid var(--line);color:var(--ink);background:var(--bg-2);}
.wp-body .ml-chain-h.is-bad{border-color:rgba(239,59,70,.5);background:rgba(239,59,70,.07);}
.wp-body .ml-chain-h.is-ok{border-color:rgba(47,191,107,.55);background:rgba(47,191,107,.08);}
/* stages light up left to right as the diagram scrolls into view */
.ml-chain.js .ml-chain-st{opacity:.15;transition:opacity .45s ease;}
.ml-chain.js.in .ml-chain-st{opacity:1;}
.ml-chain.js.in .ml-chain-st:nth-child(2){transition-delay:.12s;}
.ml-chain.js.in .ml-chain-st:nth-child(3){transition-delay:.24s;}
.ml-chain.js.in .ml-chain-st:nth-child(4){transition-delay:.36s;}
.ml-chain.js.in .ml-chain-st:nth-child(5){transition-delay:.48s;}
.ml-chain.js.in .ml-chain-st:nth-child(6){transition-delay:.6s;}

/* outcome cards under a diagram (div.ml-outcomes > div[data-kind] > strong + p) */
.wp-body .ml-outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:none;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.ml-outcomes > div{padding:12px 13px;border:1px solid rgba(239,59,70,.45);background:rgba(239,59,70,.05);}
.ml-outcomes > [data-kind="mid"]{border-color:rgba(201,138,11,.5);background:rgba(201,138,11,.06);}
.ml-outcomes > [data-kind="yes"]{border-color:rgba(47,191,107,.5);background:rgba(47,191,107,.06);}
.ml-outcomes strong{display:block;font-size:13.5px;line-height:1.3;margin-bottom:4px;}
.wp-body .ml-outcomes p{font-size:12.5px;line-height:1.4;color:var(--muted);margin:0;}

/* figure caption under a diagram */
.wp-body p.ml-caption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;color:var(--muted);margin-top:14px;}
.wp-body .ml-versus-sub{font-size:14px;color:var(--muted);margin:-6px 0 12px;}
.ml-split > div:first-child{min-width:64px;}

/* "Answered." rows */
.ml-answered dd b{color:var(--ok);font-weight:500;}

/* tabs without JavaScript (and in print): every panel shows, labelled */
.ml-tabs:not(.js) .ml-tab::before{content:attr(data-label);display:block;margin-bottom:14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.ml-tabs:not(.js) .ml-tab + .ml-tab{margin-top:16px;}

/* risk map (figure.ml-riskmap > img of an .svg): whitepaper.js swaps the image for the SVG itself so
   hovering a risk (its row, chip or route) highlights that route, and the routes march when hovered */
.wp-body .ml-riskmap{max-width:none;margin:2em 0 0;border:1px solid var(--line);}
.ml-riskmap img,.ml-riskmap svg{display:block;width:100%;height:auto;}
.ml-riskmap .rm-route,.ml-riskmap .rm-row,.ml-riskmap .rm-chips g{transition:opacity .25s ease;}
.ml-riskmap [data-r]{cursor:pointer;}
.ml-riskmap .rm[data-on] .rm-route,.ml-riskmap .rm[data-on] .rm-row.is-risk,.ml-riskmap .rm[data-on] .rm-chips g{opacity:.25;}
.ml-riskmap .rm[data-on="audio"] .rm-chips g[data-r="audio"],.ml-riskmap .rm[data-on="brand"] .rm-chips g[data-r="brand"],.ml-riskmap .rm[data-on="celeb"] .rm-chips g[data-r="celeb"],
.ml-riskmap .rm[data-on="audio"] .rm-row[data-r="audio"],.ml-riskmap .rm[data-on="brand"] .rm-row[data-r="brand"],.ml-riskmap .rm[data-on="celeb"] .rm-row[data-r="celeb"],
.ml-riskmap .rm[data-on="audio"] [data-r="audio"],.ml-riskmap .rm[data-on="brand"] [data-r="brand"],.ml-riskmap .rm[data-on="celeb"] [data-r="celeb"]{opacity:1;}
.ml-riskmap .rm[data-on="audio"] [data-r="audio"] .rm-path,.ml-riskmap .rm[data-on="brand"] [data-r="brand"] .rm-path,.ml-riskmap .rm[data-on="celeb"] [data-r="celeb"] .rm-path{animation:rm-march .6s linear infinite;stroke-width:2.2;}
@keyframes rm-march{to{stroke-dashoffset:-20}}
/* routes draw in one after another when the map scrolls into view */
.ml-riskmap.js .rm-route{opacity:0;}
.ml-riskmap.js.in .rm-route{opacity:1;transition:opacity .5s ease;}
.ml-riskmap.js.in .rm-route[data-r="brand"]{transition-delay:.3s;}
.ml-riskmap.js.in .rm-route[data-r="celeb"]{transition-delay:.6s;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .wp-cover{grid-template-columns:1fr;}
  .wp-cover-text{border-right:0;border-bottom:1px solid var(--line);}
  .wp-cover-text .tag{padding-bottom:16px;}
  .wp-cover-art.wp-doc{min-height:0;padding:40px 24px 48px;}
  .wp-doc-stack{width:min(72%,340px);}
  .wp-read{grid-template-columns:1fr;grid-template-areas:"side" "main" "rel";}
  .wp-side-end{border-top:0;}
  .wp-body .ml-flow{grid-template-columns:1fr;gap:22px;}
  .ml-flow-col + .ml-flow-col::before{content:"\2193";left:50%;top:-20px;}
  .wp-body .ml-deadline{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .wp-body .ml-claims{grid-template-columns:1fr;}
  .ml-claims-col + .ml-claims-col{border-left:0;border-top:1px solid var(--line);}
  .wp-body ol.ml-steps,.wp-body .ml-phases,.wp-body ol.ml-grid{grid-template-columns:1fr;}
  .wp-body .ml-chain{grid-auto-flow:row;grid-auto-columns:auto;gap:22px;}
  .ml-chain-st + .ml-chain-st::before{content:"\2193";left:50%;top:-20px;margin:0 0 0 -4px;}
  .ml-chain-st .s{position:static;text-align:left;}
  .wp-body .ml-chain:has(.s){margin-top:10px;}
  .wp-body .ml-outcomes{grid-template-columns:1fr 1fr;}
  .wp-body ol.ml-grid:has(> li:nth-child(3):last-child){grid-template-columns:1fr;}
  .wp-body ol.ml-grid:has(> li:nth-child(3):last-child) > li{padding:22px 22px 22px 68px;}
  .wp-body .ml-phases:has(> :nth-child(4)){grid-template-columns:1fr;}
  .ml-cells > .ml-stat{padding-left:var(--px) !important;padding-right:var(--px) !important;}
  .ml-cells > .ml-stat + .ml-stat{border-left:0;border-top:1px solid var(--line);}
  .ml-audit-head{display:none;}
  .ml-audit-row{grid-template-columns:1fr;padding-bottom:14px;}
  .wp-body .ml-audit-row .q{padding-right:0;}
  .wp-body .ml-audit-row li{border-left:0;border:1px solid var(--line);margin-top:6px;}
  .ml-audit-score{grid-template-columns:1fr;}
  .wp-body .ml-rows{grid-template-columns:1fr;}
  .ml-rows dt{border-bottom:0;padding-bottom:0;}
  .ml-waffle,.wp-body .ml-big,.wp-body .ml-fine,.ml-calc{grid-template-columns:1fr;}
  .ml-fine > .ml-stat,.ml-calc > div,.wp-body .ml-big > p{padding-left:var(--px) !important;padding-right:var(--px) !important;}
  .ml-fine > .ml-stat + .ml-stat,.ml-calc-out{border-left:0 !important;border-top:1px solid var(--line);}
  .ml-tl-track{display:none;}
  .wp-body ol.ml-timeline > li{grid-template-columns:1fr;}
  .ml-split > div{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .wp-doc-stack,.wp-cover-art.wp-doc::before,.ml-phase,.ml-rv,.ml-split > div,.ml-tl-fill,.ml-big-hatch{transition:none;}
  .wp-scroll-arr,.ml-riskmap .rm-path{animation:none !important;}
  .ml-riskmap.js .rm-route{opacity:1;}
  .ml-rv,.ml-phase{opacity:1;transform:none;}
}
