/* rd3 exhibits: the visuals are the working papers of the trade (P&L bridges, close calendars, cash lines, the handoffs from sale to cash),
   drawn in the rd3 palette. Each exhibit has a title, a chart, a one-line "so what" and a source line. */

.rd3 .ex{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(1.25rem, 1rem + 1vw, 2rem)}
.rd3 .band .ex{background:rgba(255,255,255,.04);border-color:var(--line-d)}
.rd3 .ex-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}
.rd3 .ex-n{display:block;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-text);margin-bottom:.45rem}
.rd3 .band .ex-n{color:var(--teal)}
.rd3 .ex-h h3{font-size:clamp(1.2rem, 1.05rem + .55vw, 1.55rem);line-height:1.2;letter-spacing:-.02em;max-width:20.48em}
.rd3 .ex-so{margin-top:1.1rem;font-size:.95rem;line-height:1.5;color:var(--ink-2);max-width:46rem}
.rd3 .band .ex-so{color:var(--on-navy-2)}
.rd3 .ex-so b{color:var(--ink);font-weight:600}
.rd3 .band .ex-so b{color:var(--on-navy)}
.rd3 .ex-src{margin-top:.7rem;font-size:.76rem;color:var(--muted)}
.rd3 .band .ex-src{color:#8d99ab}

/* Segmented tabs */
.rd3 .ex-tabs{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--bg-b);border:1px solid var(--line)}
.rd3 .band .ex-tabs{background:rgba(255,255,255,.05);border-color:var(--line-d)}
.rd3 .ex-tabs button{appearance:none;border:0;background:transparent;color:var(--ink-2);font:600 .86rem/1 var(--font);padding:.62rem .95rem;border-radius:999px;cursor:pointer;min-height:2.4rem}
.rd3 .band .ex-tabs button{color:var(--on-navy-2)}
.rd3 .ex-tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.rd3 .band .ex-tabs button[aria-selected=true]{background:var(--teal);color:var(--teal-ink)}
.rd3 .ex-tabs button:focus-visible{outline:2px solid var(--teal-text);outline-offset:2px}
.rd3 [role=tabpanel][hidden]{display:none}

/* Chart primitives (SVG) */
.rd3 .xv{display:block;width:100%;height:auto;overflow:visible}
.rd3 .xv text{font-family:var(--font);font-size:11px;font-weight:500;fill:var(--muted);font-variant-numeric:tabular-nums}
.rd3 .xv text.k{fill:var(--ink);font-weight:600}
.rd3 .xv text.t{fill:var(--teal-text);font-weight:600}
.rd3 .xv text.c{fill:#b4483c;font-weight:600}
.rd3 .band .xv text{fill:#8d99ab}
.rd3 .band .xv text.k{fill:var(--on-navy)}
.rd3 .band .xv text.t{fill:var(--teal)}
.rd3 .band .xv text.c{fill:#f2a097}
.rd3 .xv .ax{stroke:#d6d2c8;stroke-width:1}
.rd3 .band .xv .ax{stroke:rgba(255,255,255,.18)}
.rd3 .xv .gl{stroke:#ece9e2;stroke-width:1}
.rd3 .band .xv .gl{stroke:rgba(255,255,255,.06)}
.rd3 .xv .ln{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.rd3 .band .xv .ln{stroke:#e8edf3}
.rd3 .xv .ln-t{fill:none;stroke:var(--teal-text);stroke-width:2.5;stroke-linecap:round}
.rd3 .band .xv .ln-t{stroke:var(--teal)}
.rd3 .xv .ln-c{fill:none;stroke:#d0675a;stroke-width:2.25;stroke-linecap:round;stroke-dasharray:5 5}
.rd3 .xv .ln-d{fill:none;stroke:var(--teal-text);stroke-width:1.5;stroke-dasharray:4 5}
.rd3 .band .xv .ln-d{stroke:var(--teal)}
.rd3 .xv .ln-g{fill:none;stroke:#b9c1cc;stroke-width:1.5}
.rd3 .xv .b-n{fill:var(--ink)}
.rd3 .band .xv .b-n{fill:#dfe6ee}
.rd3 .xv .b-t{fill:var(--teal-text)}
.rd3 .band .xv .b-t{fill:var(--teal)}
.rd3 .xv .b-c{fill:#e9a59c}
.rd3 .band .xv .b-c{fill:#e8837a}
.rd3 .xv .b-g{fill:#dcdfe4}
.rd3 .band .xv .b-g{fill:rgba(255,255,255,.12)}
.rd3 .xv .a-c{fill:rgba(208,103,90,.14)}
.rd3 .band .xv .a-c{fill:rgba(232,131,122,.18)}
.rd3 .xv .a-t{fill:rgba(21,122,107,.1)}
.rd3 .band .xv .a-t{fill:rgba(95,211,192,.1)}
.rd3 .xv .nd-n{fill:var(--card);stroke:var(--ink);stroke-width:2}
.rd3 .xv .nd-t{fill:var(--teal-text)}
.rd3 .xv .nd-g{fill:#c4cad3}

/* Pins on a chart, matched to a numbered legend */
.rd3 .xv .pin circle{fill:var(--teal);stroke:var(--navy);stroke-width:3}
.rd3 .xv .pin text{fill:var(--teal-ink)!important;font-size:12px;font-weight:600;text-anchor:middle}
.rd3 .xv .pin .ring{fill:none;stroke:var(--teal);stroke-width:1.5;opacity:.5}
.rd3 .lens-l{display:grid;gap:1rem;align-content:start}
.rd3 .lens-l li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .8rem;align-items:start}
.rd3 .lens-l .p{grid-row:span 2;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--teal);color:var(--teal-ink);font-size:.85rem;font-weight:600}
.rd3 .lens-l b{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.rd3 .lens-l span:last-child{color:var(--on-navy);font-size:1rem;line-height:1.45}
.rd3 .lens-p{display:grid;gap:1.5rem;margin-top:1.5rem;align-items:center}
@media (min-width:56rem){.rd3 .lens-p{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:2.5rem}}

/* Where I help: a symptom chart on every turning point */
.rd3 .turns{display:grid;gap:1.25rem}
@media (min-width:48rem){.rd3 .turns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:72rem){.rd3 .turns{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rd3 .turns>li{display:flex;flex-direction:column;background:var(--bg-b);border:1px solid var(--line);border-radius:22px;padding:1.25rem 1.25rem 1.5rem}
.rd3 .turns .xv text{font-size:10px}
.rd3 .turns figure{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem .9rem .7rem}
.rd3 .turns figcaption{margin-top:.55rem;font-size:.78rem;font-weight:600;color:var(--teal-text)}
.rd3 .turns .n{display:block;margin-top:1.25rem;font-size:.85rem;font-weight:600;color:var(--teal-text)}
.rd3 .turns h3{margin-top:.4rem;font-size:1.2rem;line-height:1.22;letter-spacing:-.02em}
.rd3 .turns p{margin-top:.55rem;color:var(--ink-2);font-size:.96rem;line-height:1.5}

/* Selected work: the levers under each result */
.rd3 .levers{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.rd3 .levers::before{content:"What moved it";flex-basis:100%;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}
.rd3 .levers li{font-size:.82rem;font-weight:600;color:var(--ink);background:var(--bg-b);border:1px solid var(--line);border-radius:999px;padding:.32rem .7rem}

/* Follow the work: the chain from sale to board decision, with the leak at each handoff */
.rd3 .cx{margin-top:clamp(2rem, 1.5rem + 2vw, 3rem)}
.rd3 .cx-row{position:relative;display:grid;grid-template-columns:repeat(9,auto);justify-content:space-between;align-items:center;margin-top:1.75rem}
.rd3 .cx-row::before{content:"";position:absolute;left:2%;right:2%;top:50%;height:2px;margin-top:-1px;background:linear-gradient(90deg, rgba(95,211,192,.15), rgba(95,211,192,.6), rgba(95,211,192,.15))}
.rd3 .cx-st{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:5.5rem}
.rd3 .cx-st i{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:16px;background:var(--navy-2);box-shadow:inset 0 0 0 1px rgba(95,211,192,.45);color:var(--teal)}
.rd3 .cx-st i svg{width:24px;height:24px}
.rd3 .cx-st b{font-size:.92rem;font-weight:600;color:var(--on-navy);white-space:nowrap}
.rd3 .cx-h{position:relative;z-index:1;appearance:none;border:1px solid rgba(232,131,122,.45);background:#1a2232;color:#f6c0b9;font:600 .8rem/1.15 var(--font);padding:.55rem .8rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;min-height:2.5rem}
.rd3 .cx-h::before{content:"";width:8px;height:8px;border-radius:50%;background:#e8837a;box-shadow:0 0 0 4px rgba(232,131,122,.18)}
.rd3 .cx-h[aria-selected=true]{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}
.rd3 .cx-h[aria-selected=true]::before{background:var(--teal-ink);box-shadow:none}
.rd3 .cx-h:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.rd3 .cx-p{margin-top:1.75rem;display:grid;gap:1px;background:var(--line-d);border:1px solid var(--line-d);border-radius:18px;overflow:hidden}
@media (min-width:48rem){.rd3 .cx-p{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rd3 .cx-p>div{background:var(--navy-2);padding:1.2rem 1.25rem 1.35rem}
.rd3 .cx-p h4{margin:0 0 .45rem;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal)}
.rd3 .cx-p>div:first-child h4{color:#f2a097}
.rd3 .cx-p p{color:var(--on-navy);font-size:1rem;line-height:1.45}
@media (max-width:59.99rem){
  .rd3 .cx-row{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:.9rem;justify-content:stretch}
  .rd3 .cx-row::before{top:1.7rem;margin-top:0}
  .rd3 .cx-st{grid-row:1;min-width:0}
  .rd3 .cx-st i{width:3.1rem;height:3.1rem;border-radius:14px}
  .rd3 .cx-st b{font-size:.8rem;white-space:normal;text-align:center}
  .rd3 .cx-hs{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .rd3 .cx-h{justify-content:flex-start;white-space:normal;text-align:left;border-radius:14px}
}
@media (min-width:60rem){
  .rd3 .cx-hs{display:contents}
  .rd3 .cx-st,.rd3 .cx-h{grid-row:1}
  .rd3 .cx-st.s1{grid-column:1}.rd3 .cx-st.s2{grid-column:3}.rd3 .cx-st.s3{grid-column:5}.rd3 .cx-st.s4{grid-column:7}.rd3 .cx-st.s5{grid-column:9}
  .rd3 .cx-h.h1{grid-column:2}.rd3 .cx-h.h2{grid-column:4}.rd3 .cx-h.h3{grid-column:6}.rd3 .cx-h.h4{grid-column:8}
  .rd3 .cx-h{white-space:normal;max-width:9.5rem;text-align:left;line-height:1.2}
}

/* Systems: a micro-visual under each number */
.rd3 .stats .mv{display:block;margin-top:1rem;width:100%;max-width:15rem;height:auto}
.rd3 .stats .mv rect.c{fill:var(--ink)}
.rd3 .stats .mv rect.m{fill:var(--teal-text)}
.rd3 .stats .mv circle{fill:var(--teal-text)}
.rd3 .stats .mv line{stroke:var(--teal-text);stroke-width:2;stroke-linecap:round}
.rd3 .stats .mv text{font:500 10px var(--font);fill:var(--muted)}

/* How I engage: the shape of each engagement in time */
.rd3 .engage .shape{display:block;width:100%;height:auto;margin:0 0 1.25rem}
.rd3 .engage .shape .ax{stroke:#d6d2c8;stroke-width:1}
.rd3 .engage .shape .bar{fill:var(--teal-text)}
.rd3 .engage .shape .bar2{fill:rgba(21,122,107,.25)}
.rd3 .engage .shape .tick{stroke:var(--teal-text);stroke-width:3;stroke-linecap:round}
.rd3 .engage .shape .dia{fill:var(--ink)}
.rd3 .engage .shape text{font:500 10px var(--font);fill:var(--muted)}
.rd3 .engage .shape text.k{fill:var(--ink);font-weight:600}

/* Drawing in when an exhibit scrolls into view */
@media (prefers-reduced-motion:no-preference){
  .rd3 .js-ex .draw{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset var(--dur-3) var(--ease-out)}
  .rd3 .js-ex.in .draw{stroke-dashoffset:0}
  .rd3 .js-ex .rise{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%;transition:transform var(--dur-3) var(--ease-out)}
  .rd3 .js-ex .rise.dn{transform-origin:50% 0}
  .rd3 .js-ex.in .rise{transform:scaleY(1)}
  .rd3 .js-ex .rise.d1{transition-delay:.15s}.rd3 .js-ex .rise.d2{transition-delay:.3s}.rd3 .js-ex .rise.d3{transition-delay:.45s}.rd3 .js-ex .rise.d4{transition-delay:.6s}
  .rd3 .js-ex .pop{opacity:0;transform:scale(.85);transform-box:fill-box;transform-origin:center;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
  .rd3 .js-ex.in .pop{opacity:1;transform:none}
  .rd3 .js-ex .pop.d1{transition-delay:.9s}.rd3 .js-ex .pop.d2{transition-delay:1.1s}.rd3 .js-ex .pop.d3{transition-delay:1.3s}
  .rd3 .js-ex .fade{opacity:0;transition:opacity var(--dur-3) var(--ease-out) var(--dur-2)}
  .rd3 .js-ex.in .fade{opacity:1}
}

/* Phones */
@media (max-width:47.99rem){
  .rd3 .ex{border-radius:18px}
  .rd3 .ex-tabs{display:flex;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .rd3 .ex-tabs::-webkit-scrollbar{display:none}
  .rd3 .ex-tabs button{flex:1 0 auto;padding:.6rem .8rem;font-size:.82rem}
  .rd3 .turns.swipe>li{flex-basis:84%}
  .rd3 .lens-l{gap:.8rem}
  .rd3 .lens-l span:last-child{font-size:.94rem}
  .rd3 .cx-p>div{padding:1rem 1.05rem 1.1rem}
  .rd3 .cx-p p{font-size:.95rem}
}

/* Month-end check: the exceptions a person sees, each with an owner */
.rd3 .lg-k{display:flex;flex-wrap:wrap;gap:.5rem}
.rd3 .lg-k span{font-size:.82rem;color:var(--ink-2);background:var(--bg-b);border:1px solid var(--line);border-radius:999px;padding:.38rem .75rem}
.rd3 .lg-k b{color:var(--ink);font-variant-numeric:tabular-nums}
.rd3 .lg{width:100%;margin-top:1.4rem;border-collapse:collapse;font-size:.94rem}
.rd3 .lg th{text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 .9rem .65rem 0;border-bottom:1px solid var(--line)}
.rd3 .lg td{padding:.85rem .9rem .85rem 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.rd3 .lg tr:last-child td{border-bottom:0}
.rd3 .lg td:first-child b{display:block;color:var(--ink);font-weight:600}
.rd3 .lg td:first-child small{display:block;margin-top:.15rem;font-size:.8rem;color:var(--muted)}
.rd3 .lg .amt{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;white-space:nowrap}
.rd3 .lg th.amt{color:var(--muted);font-weight:600}
.rd3 .st{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;border-radius:999px;padding:.28rem .65rem;white-space:nowrap}
.rd3 .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.rd3 .st.h{color:#b4483c;background:#fbeae7}
.rd3 .st.a{color:#8a5a00;background:#fbf1dc}
.rd3 .st.t{color:var(--teal-text);background:var(--tag-bg)}
.rd3 .st.g{color:var(--ink-2);background:var(--bg-b)}
@media (prefers-reduced-motion:no-preference){
  .rd3 .js-ex .lg tbody tr{opacity:0;transform:translateY(6px);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
  .rd3 .js-ex.in .lg tbody tr{opacity:1;transform:none}
  .rd3 .js-ex.in .lg tbody tr:nth-child(2){transition-delay:.12s}.rd3 .js-ex.in .lg tbody tr:nth-child(3){transition-delay:.24s}
  .rd3 .js-ex.in .lg tbody tr:nth-child(4){transition-delay:.36s}.rd3 .js-ex.in .lg tbody tr:nth-child(5){transition-delay:.48s}
  .rd3 .js-ex.in .lg tbody tr:nth-child(6){transition-delay:.6s}
}
@media (max-width:47.99rem){
  .rd3 .lg thead{display:none}
  .rd3 .lg,.rd3 .lg tbody{display:block}
  .rd3 .lg tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
  .rd3 .lg tr:last-child{border-bottom:0}
  .rd3 .lg td{padding:0;border:0}
  .rd3 .lg td:first-child{grid-column:1/-1}
  .rd3 .lg td.own{font-size:.85rem}
  .rd3 .lg td.amt{grid-column:2;grid-row:2;text-align:right}
  .rd3 .lg td.own{grid-column:1;grid-row:2}
  .rd3 .lg td.sts{grid-column:1/-1}
}
.rd3 .sys-grid{display:grid;gap:1.25rem;margin-top:clamp(2rem, 1.5rem + 2vw, 3rem)}

/* Phones: the picture leads, the words shrink */
@media (max-width:47.99rem){
  .rd3 .turns p{display:none}
  .rd3 .turns>li{padding:1rem 1rem 1.2rem}
  .rd3 .turns h3{font-size:1.08rem}
  .rd3 .turns .n{margin-top:.9rem}
  .rd3 .ex{padding:1.1rem 1rem 1.2rem}
  .rd3 .ex-h h3{font-size:1.12rem}
  .rd3 .ex-tabs button{flex:1 1 0;white-space:normal;line-height:1.15;padding:.5rem .45rem;font-size:.78rem}
  .rd3 .cx-row{margin-top:1.1rem}
  .rd3 .cx-st b{font-size:.74rem}
  .rd3 .cx-h{font-size:.76rem;padding:.45rem .6rem;min-height:2.6rem}
  .rd3 .cx-p{margin-top:1rem}
  .rd3 .cx-p>div{padding:.8rem .9rem .9rem}
  .rd3 .cx-p h4{font-size:.68rem;margin-bottom:.3rem}
  .rd3 .cx-p p{font-size:.88rem;line-height:1.4}
  .rd3 .lens-p{margin-top:1rem;gap:1rem}
  .rd3 .lens-l{gap:.6rem}
  .rd3 .lens-l b{font-size:.68rem}
  .rd3 .lens-l span:last-child{font-size:.88rem;line-height:1.4}
  .rd3 .lens-l .p{width:1.5rem;height:1.5rem;font-size:.75rem}
  .rd3 .contrast{font-size:1.3rem!important}
  .rd3 .stats .mv{margin-top:.6rem;max-width:7rem}
  .rd3 .lg td:first-child small{display:none}
  .rd3 .lg tr{padding:.6rem 0;gap:.25rem .75rem}
  .rd3 .lg td:first-child b{font-size:.9rem}
  .rd3 .lg td.amt{grid-row:1;grid-column:2}
  .rd3 .lg td:first-child{grid-column:1}
  .rd3 .lg td.own{grid-row:2;grid-column:1;font-size:.8rem;color:var(--muted)}
  .rd3 .lg td.sts{grid-row:2;grid-column:2;text-align:right}
  .rd3 .lg-k{gap:.35rem}
  .rd3 .lg-k span{font-size:.74rem;padding:.3rem .6rem}
}
@media (max-width:47.99rem){
  .rd3 .hide-m{display:none}
  .rd3 .stats.mvs{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
  .rd3 .stats.mvs li{display:grid;grid-template-columns:6.2rem minmax(0,1fr);column-gap:1rem;align-items:center;padding:1rem 0;border-top:1px solid var(--line)}
  .rd3 .stats.mvs li:first-child{border-top:2px solid var(--ink)}
  .rd3 .stats.mvs .fig{grid-row:span 2;font-size:2.4rem!important}
  .rd3 .stats.mvs span:not(.fig){margin-top:0!important;font-size:.88rem!important}
  .rd3 .stats.mvs .mv{grid-column:2;margin-top:.45rem;max-width:9rem}
}

/* Articles: the workflow and the tool as numbered exhibits */
.rd3 .ex-run{margin-top:2.5rem}
.rd3 .ex-t{font-size:clamp(1.2rem, 1.05rem + .55vw, 1.55rem);line-height:1.2;letter-spacing:-.02em;max-width:23.21em}
.rd3 .ex-run .rdi{margin-top:1.25rem}
.rd3 details.tool{background:var(--card)}
.rd3 details.tool>summary .ex-n{font-style:normal;margin-bottom:.3rem}
.rd3 details.tool[open]>summary{border-bottom:1px solid var(--line);margin-bottom:1rem}
.rd3 .ex-run .yn ul{padding-left:1.05rem}
@media (max-width:47.99rem){
  .rd3 .ex-run{margin-inline:calc(-1 * .25rem)}
  .rd3 .ex-run .flow-bar{gap:.5rem;padding:.75rem}
  .rd3 .ex-run .flow-bar .btn{min-height:2.5rem;padding:0 .6rem;font-size:.82rem}
  .rd3 .ex-run .flow-ctl{flex:1 1 100%;gap:.4rem}
  .rd3 .ex-run .flow-ctl .btn{flex:1 1 auto;padding:0 .4rem;font-size:.82rem}
  .rd3 .ex-run .yn h3{font-size:.86rem}
  .rd3 .ex-run .yn ul{font-size:.86rem;gap:.2rem}
}
.rd3 .art-ex{margin-top:1.25rem}
.rd3 .art-ex [role=tabpanel]{margin-top:1.25rem}
@media (prefers-reduced-motion:no-preference){
  .rd3 .js-ex .gx{transform:scaleX(0);transform-box:fill-box;transform-origin:0 50%;transition:transform var(--dur-3) var(--ease-out)}
  .rd3 .js-ex.in .gx{transform:none}
  .rd3 .js-ex .gx.d2{transition-delay:.12s}.rd3 .js-ex .gx.d3{transition-delay:.24s}.rd3 .js-ex .gx.d4{transition-delay:.36s}
}
@media (max-width:47.99rem){
  .rd3 .lens .xv text,.rd3 .art-ex .xv text{font-size:17px}
  .rd3 .xv .pin circle{r:17px}
  .rd3 .xv .pin text{font-size:16px}
}

/* Systems: the workflows exhibit (each a story, rd3_wf_story(), with its documents inside it) */
.rd3 .wf .wf-p{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1.25rem;align-items:start}
.rd3 .wf .rdi{margin-top:0}
.rd3 .art-grid .wf .yn{margin-top:1rem}

/* Systems and About: the builder thread with the tools at each stage, its figures, and the fleet below (undated) */
@media (min-width:60rem){.rd3 .tlx.tlx-x{grid-template-columns:repeat(6,minmax(0,1fr))}}
.rd3 .tlx-x b{font-size:clamp(1.25rem, 1.1rem + .5vw, 1.55rem)}
.rd3 .tlx-x li:has(.tlx-m)::before{background:var(--teal);box-shadow:0 0 0 5px rgba(95,211,192,.16),0 0 18px 2px rgba(95,211,192,.45)}
.rd3 .tlx-m{margin-top:.9rem;font-size:.8rem;line-height:1.35;color:var(--on-navy-2)}
.rd3 .tlx-m em{display:block;font-style:normal;font-size:clamp(1.7rem, 1.4rem + 1vw, 2.2rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--teal);font-variant-numeric:tabular-nums}
.rd3 .tlx-t{margin-top:.8rem;display:flex;flex-wrap:wrap}
.rd3 .tlx .tchip{display:inline-flex;margin-top:0;line-height:1.2;color:var(--on-navy)}
.rd3 .tlx .tm{display:grid;margin-top:0;line-height:1}
.rd3 .band .tchip{background:rgba(255,255,255,.06);border-color:var(--line-d);color:var(--on-navy);font-size:.78rem;padding:.22rem .55rem .22rem .25rem}
.rd3 .band .tm{width:1.35rem;height:1.35rem;background:#fff}
.rd3 .band .tm svg{width:.9rem;height:.9rem;fill:var(--ink)}
.rd3 .band .tm.mono{font-size:.55rem;color:var(--ink);box-shadow:none}
.rd3 .tlx-fleet{margin-top:2.5rem;display:grid;gap:1.25rem 3rem;align-items:center;padding:1.4rem 1.6rem;border:1px solid rgba(95,211,192,.35);border-radius:18px;background:linear-gradient(135deg, rgba(95,211,192,.10), rgba(255,255,255,.02) 60%)}
@media (min-width:60rem){.rd3 .tlx-fleet{grid-template-columns:minmax(0,1fr) auto}}
.rd3 .tlx-fleet p{color:var(--on-navy-2);max-width:30rem}
.rd3 .tlx-fleet p b{color:var(--on-navy);font-weight:600}
.rd3 .tlx-fleet ul{display:flex;flex-wrap:wrap;gap:1rem 2.5rem}
.rd3 .tlx-fleet li{max-width:9rem;font-size:.8rem;line-height:1.35;color:var(--on-navy-2)}
.rd3 .tlx-fleet em{display:block;font-style:normal;font-size:2.2rem;font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--teal)}

/* Systems and About: tool marks (rd3-marks.php) as chips, and the tools drawn as one connected business */
.rd3 .tchip{display:inline-flex;align-items:center;gap:.45rem;margin:0 .4rem .4rem 0;padding:.3rem .65rem .3rem .35rem;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:.9rem;line-height:1.2;color:var(--ink);white-space:nowrap}
.rd3 .tchip small{font-size:.72rem;font-weight:600;color:var(--teal-text)}
.rd3 .tm{flex:none;display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--bg-b)}
.rd3 .tm svg{width:1.15rem;height:1.15rem;fill:var(--ink)}
.rd3 .tm.mono{font-size:.62rem;font-weight:700;letter-spacing:.02em;color:var(--ink-2);background:#fff;box-shadow:inset 0 0 0 1.2px var(--ink-2)}
.rd3 .tools-kv li{align-items:center}
.rd3 .tools-prose{margin-top:2rem;max-width:40rem}
.rd3 .tools-kv li>span{display:flex;flex-wrap:wrap;margin-bottom:-.4rem}
.rd3 .hub-f{margin-top:2rem;max-width:30rem}
.rd3 .hub{display:block;width:100%;height:auto}
.rd3 .hub-tall{display:none}
@media (max-width:32rem){.rd3 .hub-wide{display:none}.rd3 .hub-tall{display:block}}
.rd3 .hub .sp{stroke:#d6d2c8;stroke-width:1.5}
.rd3 .hub .ring{fill:none;stroke:var(--teal-text);stroke-width:1.5;stroke-dasharray:4 6}
.rd3 .hub .rn{fill:#fff;stroke:var(--teal-text);stroke-width:1.5}
.rd3 .hub .rl-b{fill:var(--tag-bg)}
.rd3 .hub .rl-t{font:600 11.5px var(--font);letter-spacing:.06em;text-transform:uppercase;fill:var(--teal-text)}
.rd3 .hub .core{fill:var(--navy);stroke:var(--teal);stroke-width:3;stroke-opacity:.35}
.rd3 .hub .core-t{font:600 15px var(--font);fill:#fff}
.rd3 .hub .core~.mk{fill:#fff}
.rd3 .hub .mk{fill:var(--ink-2)}
.rd3 .hub .sat{fill:#fff;stroke:var(--line)}
.rd3 .hub .sat-t{font:600 11.5px var(--font);fill:var(--ink)}
.rd3 .hub .mo{fill:#fff;stroke:var(--ink-2);stroke-width:1.2}
.rd3 .hub .mo-t{font:700 12px var(--font);fill:var(--ink-2)}
.rd3 .hub .core~.sat~.mk{fill:var(--ink-2)}
/* RD-DIA-5: beside the tools list (56rem to 75rem) the hub is drawn at 0.74 to 0.92 of its size, so its type is drawn larger there and stays at 10 to 11px or more on screen. */
@media (min-width:56rem) and (max-width:74.99rem){.rd3 .hub .sat-t{font-size:12.5px}.rd3 .hub .mo-t{font-size:13px}.rd3 .hub .rl-t{font-size:13px;letter-spacing:.03em}}
/* Decorative, so it runs once, on view (rd3.js), in under 5 s. */
@media (prefers-reduced-motion:no-preference){
  .rd3 .hub .ring{animation:rd3-ring 4s var(--ease-in-out) 1 both}
  @keyframes rd3-ring{to{stroke-dashoffset:-200}}
}

/* Systems: the three principles, each with a diagram */
@media (min-width:60rem){.rd3 .points.pv3{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 2.5rem}}
.rd3 .pv{display:block;width:100%;max-width:20rem;height:auto;margin-bottom:1.25rem}
.rd3 .pv text{font:500 11.5px var(--font);fill:var(--ink);font-variant-numeric:tabular-nums}
.rd3 .pv text.k,.rd3 .pv text.hd{font-weight:600}
.rd3 .pv text.mu{fill:var(--muted)}
.rd3 .pv text.amt{text-anchor:end}
.rd3 .pv text.bad{fill:#b42318;font-weight:600}
.rd3 .pv .pn{fill:#fff;stroke:var(--line)}
.rd3 .pv .pn.ai{fill:#f6f5fc;stroke:#d9d6f0}
.rd3 .pv .spk{fill:#3f3a8f}
.rd3 .pv .tl{stroke:#c9c5e6;stroke-width:5;stroke-linecap:round}
.rd3 .pv .ok{fill:#1d7a52}
.rd3 .pv .tk{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rd3 .pv .fl{fill:none;stroke:var(--ink-2);stroke-width:2}
.rd3 .pv .fl.dash{stroke:#c4cad3;stroke-dasharray:3 4}
.rd3 .pv .stop{fill:#b42318}
.rd3 .pv text.st{fill:#fff;font-size:10px;font-weight:600;letter-spacing:.08em}
.rd3 .pv .pp{fill:var(--tag-bg);stroke:var(--teal-text);stroke-width:1.5}
.rd3 .pv .ppi{fill:none;stroke:var(--teal-text);stroke-width:1.7;stroke-linecap:round}
.rd3 .pv .pill{fill:#fff;stroke:var(--line)}
.rd3 .pv .rl{stroke:var(--line)}
.rd3 .pv .cv{fill:none;stroke:var(--teal-text);stroke-width:1.5;opacity:.6}

/* Systems: the line between software and a person, each level drawn on the same supplier bill */
.rd3 .l4v{display:block;width:100%;max-width:20rem;height:auto;margin-bottom:1.1rem;border-radius:12px;background:var(--bg-b)}
.rd3 .l4v text{font:500 11.5px var(--font);fill:var(--ink);font-variant-numeric:tabular-nums}
.rd3 .l4v text.k{font-weight:600}
.rd3 .l4v text.mu{fill:var(--muted)}
.rd3 .l4v text.amt{text-anchor:end}
.rd3 .l4v .pg{fill:#fff;stroke:var(--line)}
.rd3 .l4v .pl{stroke:#dcd8cf;stroke-width:4;stroke-linecap:round}
.rd3 .l4v .scan rect{fill:rgba(63,58,143,.12)}
.rd3 .l4v .scan line{stroke:#3f3a8f;stroke-width:2}
.rd3 .l4v .lnk{fill:none;stroke:#3f3a8f;stroke-width:1.3;stroke-dasharray:3 3;opacity:.55}
.rd3 .l4v .chip rect{fill:#fff;stroke:var(--line)}
.rd3 .l4v .chip .bar{fill:#3f3a8f;stroke:none}
.rd3 .l4v .row{fill:#fff;stroke:var(--line)}
.rd3 .l4v .ok{fill:#1d7a52}
.rd3 .l4v .tk{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rd3 .l4v .dr{fill:#fff;stroke:#b9b4a9;stroke-dasharray:5 4}
.rd3 .l4v .rl{stroke:var(--line)}
.rd3 .l4v .rl2{stroke:var(--ink);stroke-width:1.5}
.rd3 .l4v .tag{fill:var(--tag-bg)}
.rd3 .l4v text.tag-t{font-size:11px;font-weight:600;letter-spacing:.08em;fill:var(--teal-text)}
.rd3 .line4 li.person .l4v{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line-d)}
.rd3 .l4v .av{fill:rgba(95,211,192,.16);stroke:var(--teal);stroke-width:1.5}
.rd3 .l4v .avp{fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round}
.rd3 .line4 li.person .l4v text{fill:var(--on-navy)}
.rd3 .line4 li.person .l4v text.mu{fill:var(--on-navy-2)}
.rd3 .l4v .ba{fill:var(--teal)}
.rd3 .line4 li.person .l4v text.ba-t{fill:var(--teal-ink);font-weight:600;font-size:12.5px}
.rd3 .l4v .bh{fill:none;stroke:rgba(255,255,255,.35)}
.rd3 .line4 li.person .l4v text.bh-t{font-weight:600;font-size:12.5px}
/* The scan sweeps the bill once, on view (rd3.js), then fades. */
@media (prefers-reduced-motion:no-preference){
  .rd3 .l4v .scan{animation:rd3-l4scan 2.4s var(--ease-in-out) 1 both}
  @keyframes rd3-l4scan{from{transform:translateY(-26px);opacity:1}80%{opacity:1}to{transform:translateY(36px);opacity:0}}
}
@media (min-width:72rem){
  .rd3 .line4 li.person{overflow:visible}
  .rd3 .line4 li.person .cut{position:absolute;left:-.62rem;top:-1.6rem;bottom:-1.6rem;width:0;border-left:2px dashed var(--teal-text)}
  .rd3 .line4 li.person .cut{font-size:0}
  .rd3 .line4 li.person .cut::before{content:"The line";position:absolute;top:-1.4rem;left:-2.2rem;width:4.4rem;text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-text)}
  .rd3 .line4{margin-top:2rem}
}
@media (max-width:71.99rem){
  .rd3 .line4 li.person .cut{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:-.4rem 0 .8rem;padding-bottom:.6rem;border-bottom:2px dashed var(--teal)}
}

/* Systems: the builder thread as a timeline */
.rd3 .tlx{position:relative;display:grid;gap:1.25rem}
@media (min-width:60rem){
  .rd3 .tlx{grid-template-columns:repeat(7,minmax(0,1fr));gap:1.25rem;padding-top:2.25rem}
  .rd3 .tlx::before{content:"";position:absolute;left:0;right:0;top:.55rem;height:2px;background:linear-gradient(90deg, rgba(95,211,192,.25), var(--teal))}
  .rd3 .tlx li{position:relative}
  .rd3 .tlx li::before{content:"";position:absolute;top:-2.05rem;left:0;width:14px;height:14px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 2px var(--teal)}
  .rd3 .tlx li:last-child::before{background:var(--teal);box-shadow:0 0 0 6px rgba(95,211,192,.18)}
}
.rd3 .tlx b{display:block;font-size:1.15rem;letter-spacing:-.02em;color:var(--on-navy)}
.rd3 .tlx li:last-child b{color:var(--teal)}
.rd3 .tlx span{display:block;margin-top:.35rem;font-size:.9rem;line-height:1.45;color:var(--on-navy-2)}
@media (max-width:59.99rem){
  .rd3 .tlx{padding-left:1.6rem}
  .rd3 .tlx::before{content:"";position:absolute;left:.4rem;top:.4rem;bottom:.4rem;width:2px;background:linear-gradient(180deg, rgba(95,211,192,.25), var(--teal))}
  .rd3 .tlx li{position:relative}
  .rd3 .tlx li::before{content:"";position:absolute;left:-1.6rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 2px var(--teal)}
  .rd3 .tlx span{font-size:.88rem}
}

/* The finance fleet */
.rd3 details.fleet-acc{margin-top:1.5rem;border-top:1px solid var(--line)}
.rd3 details.fleet-acc>summary{font-size:1.05rem}
.rd3 details.fleet-acc>.ticks,.rd3 details.fleet-acc>ul{padding-bottom:1.5rem;max-width:52rem}
.rd3 .band details.fleet-acc{border-color:var(--line-d)}
.rd3 .band details.fleet-acc{border-bottom-color:var(--line-d)}
.rd3 .utiles{display:grid;gap:.75rem}
@media (min-width:40rem){.rd3 .utiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.rd3 .utiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rd3 .utiles details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.15rem;height:100%}
.rd3 .utiles summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:600;font-size:1.02rem;color:var(--ink)}
.rd3 .utiles summary::-webkit-details-marker{display:none}
.rd3 .utiles summary::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--teal-text);order:-1}
.rd3 .utiles summary::after{content:"+";margin-left:auto;font-weight:400;font-size:1.25rem;color:var(--muted)}
.rd3 .utiles details[open] summary::after{transform:rotate(45deg)}
.rd3 .utiles p{margin-top:.6rem;font-size:.92rem;line-height:1.5;color:var(--ink-2)}
.rd3 .cake{display:grid;gap:.5rem;margin-top:1.4rem}
.rd3 .cake>li details{border-radius:14px;padding:.9rem 1.1rem;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line-d)}
.rd3 .cake>li.l1 details{background:rgba(95,211,192,.06)}
.rd3 .cake>li.l2 details{background:rgba(95,211,192,.1)}
.rd3 .cake>li.l3 details{background:rgba(95,211,192,.08)}
.rd3 .cake>li.ai details{background:rgba(139,130,230,.14);box-shadow:inset 0 0 0 1px rgba(170,162,255,.4)}
.rd3 .cake summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;color:var(--on-navy)}
.rd3 .cake summary::-webkit-details-marker{display:none}
.rd3 .cake summary::after{content:"+";margin-left:auto;font-size:1.2rem;color:var(--on-navy-2)}
.rd3 .cake details[open] summary::after{transform:rotate(45deg)}
.rd3 .cake .ln{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);min-width:4.5rem}
.rd3 .cake b{font-size:1.05rem}
.rd3 .cake em{font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#cfc9ff;background:rgba(139,130,230,.25);border-radius:999px;padding:.2rem .55rem}
.rd3 .cake ul{margin:.8rem 0 .2rem;padding-left:1.1rem;list-style:disc;display:grid;gap:.4rem;color:var(--on-navy-2);font-size:.94rem}
.rd3 .cake code{font-size:.85em;color:var(--teal)}
.rd3 .gw{display:grid;gap:.6rem;margin-top:1.4rem;counter-reset:g}
@media (min-width:60rem){.rd3 .gw{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}}
.rd3 .gw li{position:relative;background:var(--bg-b);border:1px solid var(--line);padding:1rem 1rem 1.1rem;font-size:.92rem;line-height:1.45;color:var(--ink-2)}
@media (min-width:60rem){
  .rd3 .gw li{border-radius:0;border-left-width:0}
  .rd3 .gw li:first-child{border-radius:14px 0 0 14px;border-left-width:1px}
  .rd3 .gw li:last-child{border-radius:0 14px 14px 0;background:var(--tag-bg)}
  .rd3 .gw li+li::before{content:"";position:absolute;left:-7px;top:1.35rem;width:12px;height:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:inherit;transform:rotate(45deg)}
}
@media (max-width:59.99rem){.rd3 .gw li{border-radius:12px}}
.rd3 .gw li span{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--ink);color:#fff;font-size:.78rem;font-weight:600;margin-bottom:.6rem}
.rd3 .gw li:nth-child(3){background:#fff;box-shadow:inset 0 0 0 1.5px var(--teal-text)}
.rd3 .loop{display:grid;gap:.6rem;margin-top:1.4rem}
@media (min-width:60rem){
  .rd3 .loop{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.4rem;position:relative;padding-bottom:2.2rem}
  .rd3 .loop::after{content:"";position:absolute;left:10%;right:10%;bottom:.4rem;height:1.6rem;border:2px dashed var(--teal-text);border-top:0;border-radius:0 0 18px 18px}
  .rd3 .loop li+li::before{content:"";position:absolute;left:-1.1rem;top:50%;width:.8rem;height:2px;background:var(--teal-text)}
}
.rd3 .loop li{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem}
.rd3 .loop li.bad{border-color:#efb7b2;background:#fbeae7}
.rd3 .loop li.ok{border-color:var(--teal-text);background:var(--tag-bg)}
.rd3 .loop b{display:block;font-size:.98rem;color:var(--ink)}
.rd3 .loop span{display:block;margin-top:.25rem;font-size:.85rem;color:var(--ink-2)}
.rd3 .pfail{display:grid;gap:.75rem}
@media (min-width:48rem){.rd3 .pfail{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rd3 .pfail li{display:grid;gap:.45rem;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.15rem}
.rd3 .pfail b{color:var(--ink);font-size:1.02rem}
.rd3 .pfail span{position:relative;padding-left:1.4rem;font-size:.92rem;color:#8f2f25}
.rd3 .pfail span::before{content:"";position:absolute;left:0;top:.3rem;width:.85rem;height:.85rem;border-radius:50%;border:2px solid #d0675a;background:linear-gradient(45deg,transparent 45%,#d0675a 45%,#d0675a 55%,transparent 55%)}
@media (max-width:47.99rem){
  .rd3 .units.swipe>li{flex-basis:78%}
  .rd3 .fstats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:47.99rem){
  .rd3 .pfail.swipe>li{flex-basis:80%}
  .rd3 .gw li{padding:.7rem .85rem;font-size:.86rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;align-items:start}
  .rd3 .gw li span{margin:0}
  .rd3 .utiles{gap:.5rem}
  .rd3 .utiles details{padding:.75rem .95rem}
  .rd3 .utiles summary{font-size:.95rem}
  .rd3 .loop li{padding:.7rem .85rem}
}

/* About: the results ledger and the staircase */
.rd3 .rledger{display:grid;gap:.6rem;margin-top:1.4rem}
@media (min-width:40rem){.rd3 .rledger{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.rd3 .rledger{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:80rem){.rd3 .rledger{grid-template-columns:repeat(5,minmax(0,1fr))}}
.rd3 .rledger li{position:relative;display:grid;align-content:start;gap:.3rem;background:var(--bg-b);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem 1rem .95rem;overflow:hidden}
.rd3 .rledger li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal-text)}
.rd3 .rledger li.r::before{background:#d0675a}
.rd3 .rledger li.c::before{background:var(--ink)}
.rd3 .rledger b{font-size:1.45rem;line-height:1.1;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.rd3 .rledger span{font-size:.88rem;line-height:1.35;color:var(--ink-2)}
.rd3 .rledger em{font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.rd3 .ex-src .k{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 .35rem 0 .9rem;vertical-align:-1px;background:var(--teal-text)}
.rd3 .ex-src .k:first-child{margin-left:0}
.rd3 .ex-src .k.r{background:#d0675a}
.rd3 .ex-src .k.c{background:var(--ink)}
.rd3 .stair-ex .xv text{font-size:12px}
@media (max-width:47.99rem){
  .rd3 .rledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rd3 .rledger li{padding:.75rem .8rem .8rem .85rem}
  .rd3 .rledger b{font-size:1.15rem;white-space:normal}
  .rd3 .rledger span{font-size:.8rem}
  .rd3 .stair-ex .xv text{font-size:19px}
}
/* About: the foundations exhibit. Levels stack bottom-up (DOM order is foundation first); each block narrows as it rises. */
.rd3 .found{display:flex;flex-direction:column-reverse;margin-top:1.75rem}
.rd3 .lv{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,15rem) minmax(0,1fr);column-gap:1.5rem;align-items:stretch}
.rd3 .lv-b{display:block;justify-self:center;width:calc(100% - (var(--i) * 14%));min-height:100%;background:var(--ink);border-bottom:2px solid var(--bg-a);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.rd3 .lv:first-child .lv-b{border-radius:0 0 6px 6px;border-bottom:0;background:repeating-linear-gradient(135deg,#0a1322 0 7px,#18243a 7px 10px)}
.rd3 .lv-top .lv-b{background:var(--teal-text);border-radius:8px 8px 0 0}
.rd3 .lv-t,.rd3 .lv-p{padding-block:1rem;border-top:1px solid var(--line)}
.rd3 .lv-top .lv-t,.rd3 .lv-top .lv-p{border-top:0}
.rd3 .lv-n{display:block;font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-text)}
.rd3 .lv-t h4{margin:.2rem 0 0;font-size:1.08rem;line-height:1.25;letter-spacing:-.015em;font-weight:600;color:var(--ink)}
.rd3 .lv-top .lv-t h4{color:var(--teal-text)}
.rd3 .lv-r{display:block;margin-top:.2rem;font-size:.8rem;line-height:1.35;color:var(--muted)}
.rd3 .lv-p{display:flex;flex-wrap:wrap;align-content:center;gap:.4rem}
.rd3 .lv-p li{font-size:.84rem;line-height:1.3;color:var(--ink);background:var(--bg-b);border:1px solid var(--line);border-radius:8px;padding:.4rem .65rem}
.rd3 .found-c{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .5rem;margin-top:1.25rem;padding:.9rem 1rem;border:1px dashed var(--teal-text);border-radius:12px;font-size:.95rem;color:var(--ink-2)}
.rd3 .found-c .lv-n{flex-basis:100%}
.rd3 .found-c b{color:var(--ink)}
@media (prefers-reduced-motion:no-preference){
  .rd3 .js-ex .lv-b{transform:scaleY(0);transform-origin:50% 100%;transition:transform var(--dur-2) var(--ease-out);transition-delay:calc(var(--i) * .14s)}
  .rd3 .js-ex.in .lv-b{transform:none}
}
@media (max-width:47.99rem){
  .rd3 .lv{grid-template-columns:2.6rem minmax(0,1fr);column-gap:.9rem}
  .rd3 .lv-b{grid-row:span 2;width:calc(100% - (var(--i) * 15%))}
  .rd3 .lv-p{padding-top:0;border-top:0;align-content:start}
  .rd3 .lv-t{padding-bottom:.6rem}
  .rd3 .lv-p{padding-bottom:1rem}
  .rd3 .lv-p li{font-size:.8rem}
}

/* Launch audit, 16 Oct 2026 (docs/rebuild/03-FIX-PROMPT.md items 27 and 28). Overrides sit here, after the rules they replace. */
/* 27: no text under 12px in exhibits */
.rd3 .ex-n{font-size:.75rem}
.rd3 .xv text{font-size:12px}
.rd3 .turns .xv text{font-size:12px}
.rd3 .levers::before{font-size:.75rem}
.rd3 .cx-p h4{font-size:.75rem}
.rd3 .stats .mv text{font-size:12px}
.rd3 .engage .shape text{font-size:12px}
.rd3 .lg th{font-size:.75rem}
.rd3 .cake .ln{font-size:.75rem}
.rd3 .cake em{font-size:.75rem}
.rd3 .rledger em{font-size:.75rem}
@media (max-width:47.99rem){
  .rd3 .cx-st b{font-size:.75rem}
  .rd3 .cx-p h4{font-size:.75rem}
  .rd3 .lens-l b{font-size:.75rem}
  .rd3 .lg-k span{font-size:.75rem}
}
@media (min-width:72rem){
  .rd3 .line4 li.person .cut::before{font-size:.75rem}
}
@media (max-width:71.99rem){
  .rd3 .line4 li.person .cut{font-size:.75rem}
}

/* 27, phones and the four-across row: these charts shrink to about 0.7 of their drawn size there, so their labels are drawn larger. */
@media (max-width:47.99rem){.rd3 .turns .xv text{font-size:18px}}
/* RD-DIA-11: four across, the labels are drawn at 16px (about 12px on screen) so 'Revenue' and 'Contribution' on the waterfall keep a gap. */
@media (min-width:72rem){.rd3 .turns .xv text{font-size:16px}}
@media (max-width:47.99rem){
  .rd3 .engage .shape{overflow:visible}
  .rd3 .engage .shape text{font-size:15.5px}
  .rd3 .lens .xv text{font-size:22px}
  .rd3 .lens .xv .pin circle{r:19px}
  .rd3 .lens .xv .pin text{font-size:22px}
}
@media (max-width:47.99rem){.rd3 .lens .xv .pin text{dominant-baseline:central;transform:translateY(-4px)}}
/* 27, the article charts. Below 600px (phones) each one is stacked HTML bars with its values printed (.xh, written beside the SVG by
   rd3-article-ex.php and rd3-article.php) and the SVG is hidden, so nothing sits behind a sideways scroll. From 600px the SVG fits the column;
   on tablets its labels are drawn larger. */
.rd3 .xv-wrap{max-width:100%}
.rd3 .xh{display:none}
@media (max-width:37.49rem){
  .rd3 .xv-wrap{display:none}
  .rd3 .xh{display:block;margin-top:1.1rem}
  .rd3 .pl .xh{margin-top:0}
  .rd3 .closebars .row{grid-template-columns:minmax(0,1fr);gap:.4rem}
  .rd3 .closebars .row>span:empty{display:none}
  .rd3 .closebars .row:nth-child(3){margin-top:.5rem}
}
@media (min-width:37.5rem) and (max-width:79.99rem){.rd3 .pl .xv-wrap svg{max-width:520px}}
@media (min-width:37.5rem) and (max-width:47.99rem){.rd3 .art-ex .xv text{font-size:15px}}
@media (min-width:48rem) and (max-width:71.99rem){.rd3 .art-ex .xv text{font-size:13.5px}}
@media (min-width:52rem) and (max-width:79.99rem){.rd3 .pl{grid-template-columns:minmax(0,1fr)}}
.rd3 .xh-rows{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}
.rd3 .xh-rows+.xh-rows{margin-top:.9rem}
.rd3 .xh-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .75rem;align-items:baseline}
.rd3 .xh-l{font-size:.92rem;line-height:1.3;color:var(--ink-2)}
.rd3 .xh-l small{display:block;font-size:.78rem;font-weight:600;color:var(--teal-text)}
.rd3 .xh-v{font-size:.86rem;font-weight:600;line-height:1.3;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.rd3 .xh-v.c{color:#b4483c}
.rd3 .xh-v.t{color:var(--teal-text)}
.rd3 .xh-t{grid-column:1/-1;position:relative;display:block;height:1.1rem;border-radius:5px;background:var(--bg-b)}
.rd3 .xh-div .xh-t{height:1.3rem}
.rd3 .xh-b{position:absolute;top:0;bottom:0;border-radius:4px}
.rd3 .xh .b-t{background:var(--teal-text)}
.rd3 .xh .b-g{background:#dcdfe4}
.rd3 .xh .b-c{background:#e9a59c}
.rd3 .xh-z{position:absolute;top:-3px;bottom:-3px;left:50%;width:1px;background:#b9b5aa}
.rd3 .xh-pl .xh-z{left:16.67%}
.rd3 .xh-m{position:absolute;top:-2px;bottom:-2px;width:0;border-left:2px dashed var(--teal-text)}
.rd3 .xh-dash{top:50%;bottom:auto;left:0;right:0;height:0;border-top:2px dashed var(--teal-text);border-radius:0}
.rd3 .xh-100 .xh-t{background:linear-gradient(#cfcabd,#cfcabd) 30% 0/1px 100% no-repeat,linear-gradient(#cfcabd,#cfcabd) 60% 0/1px 100% no-repeat,var(--bg-b)}
.rd3 .xh-ax{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.rd3 .xh-ax2 span{flex:1 1 0;text-align:right;padding-right:.5rem}
.rd3 .xh-ax2 span+span{text-align:left;padding:0 0 0 .5rem}
.rd3 .xh-ax4{position:relative;display:block;height:1.1rem}
.rd3 .xh-ax4 span{position:absolute;top:0;white-space:nowrap;transform:translateX(-50%)}
.rd3 .xh-ax4 span:nth-child(1){left:0;transform:none}
.rd3 .xh-ax4 span:nth-child(2){left:30%}
.rd3 .xh-ax4 span:nth-child(3){left:60%}
.rd3 .xh-ax4 span:nth-child(4){right:0;transform:none}
.rd3 .xh-key{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.8rem;font-size:.78rem;color:var(--muted)}
.rd3 .xh-key span{display:inline-flex;align-items:center;gap:.4rem}
.rd3 .xh-key i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px}
.rd3 .xh-key .xh-m{position:static;width:0;height:.9rem;border-radius:0;background:none}
.rd3 .xh-n{margin-top:.75rem;font-size:.82rem;line-height:1.45;color:var(--muted)}
/* the P&L waterfall sits on the navy card */
.rd3 .pl .xh-l{color:var(--on-navy-2)}
.rd3 .pl .xh-v{color:var(--on-navy)}
.rd3 .pl .xh-v.c{color:#f2a097}
.rd3 .pl .xh-v.t{color:var(--teal)}
.rd3 .pl .xh-l small{color:var(--teal)}
.rd3 .pl .xh-t{background:rgba(255,255,255,.07)}
.rd3 .pl .xh-z{background:rgba(255,255,255,.4)}
.rd3 .pl .xh-n{color:var(--on-navy-2)}
.rd3 .xh .s-rev{background:#3a4a63}
.rd3 .xh .s-dir{background:#f28b82;opacity:.8}
.rd3 .xh .s-con{background:#5fd3c0}
.rd3 .xh .s-ctl{background:#f0c674;opacity:.85}
.rd3 .xh .s-ovh{background:#f28b82;opacity:.55}
/* the close bars' key: dark is before, teal is after */
.rd3 .closekey{display:flex;gap:1.1rem;margin-top:.9rem}
.rd3 .closekey span{display:inline-flex;align-items:center;gap:.4rem}
.rd3 .closekey i{display:inline-block;width:.7rem;height:.7rem;border-radius:3px}
.rd3 .closekey .was{background:#3a4a63;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.rd3 .closekey .now{background:var(--teal)}
@media (min-width:72rem) and (max-width:79.99rem){.rd3 .engage .shape text{font-size:12.5px}}

/* About, the results ledger: one row per role, most recent first, so each figure sits with the job that produced it. */
.rd3 .rl{display:grid;margin-top:1.4rem}
.rd3 .rl>li{display:grid;gap:.75rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.rd3 .rl>li:last-child{padding-bottom:0}
@media (min-width:60rem){.rd3 .rl>li{grid-template-columns:14rem minmax(0,1fr);gap:1.75rem;align-items:start}}
.rd3 .rl-who b{display:block;font-size:1.05rem;line-height:1.3;color:var(--ink)}
.rd3 .rl-who span{display:block;margin-top:.25rem;font-size:.88rem;line-height:1.4;color:var(--muted)}
.rd3 .rl .rledger{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:47.99rem){.rd3 .rl .rledger{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* How I engage: the four engagements on one time axis (HTML, so the labels never shrink), and each block's homepage shape at its drawn size. */
.rd3 .emap-ex{margin-bottom:clamp(2.5rem, 2rem + 2vw, 3.5rem)}
.rd3 .emap{display:grid;margin-top:1.25rem}
.rd3 .emap>li{display:grid;gap:.75rem 2rem;align-items:end;padding:1rem 0;border-top:1px solid var(--line)}
@media (min-width:56rem){.rd3 .emap>li{grid-template-columns:minmax(0,18rem) minmax(0,1fr)}}
.rd3 .emap a{display:grid;gap:.2rem;color:inherit;text-decoration:none}
.rd3 .emap a b{font-size:1rem;font-weight:600;color:var(--ink)}
.rd3 .emap a:hover b,.rd3 .emap a:focus-visible b{color:var(--teal-text);text-decoration:underline;text-underline-offset:.2em}
.rd3 .emap a span{font-size:.88rem;line-height:1.4;color:var(--muted)}
.rd3 .emap .lane{position:relative;display:block;height:2.4rem;border-bottom:1px solid #d6d2c8}
.rd3 .emap .lane>*{position:absolute;left:calc(var(--l) * 1%)}
.rd3 .emap .bar,.rd3 .emap .bar2,.rd3 .emap .fade{bottom:.45rem;height:.75rem;width:calc(var(--w) * 1%);border-radius:3px;background:var(--teal-text)}
.rd3 .emap .bar2{background:rgba(21,122,107,.25)}
.rd3 .emap .fade{background:linear-gradient(90deg, rgba(21,122,107,.35), rgba(21,122,107,0))}
.rd3 .emap .lnk{bottom:.8rem;width:calc(var(--w) * 1%);border-top:2px dashed #9aa3b1}
.rd3 .emap .dia{bottom:.42rem;width:.8rem;height:.8rem;background:var(--ink);transform:translateX(-50%) rotate(45deg)}
.rd3 .emap .tick{bottom:.45rem;width:3px;height:1.15rem;border-radius:2px;background:var(--teal-text)}
.rd3 .emap em{bottom:1.45rem;font-style:normal;font-size:.75rem;font-weight:600;line-height:1;color:var(--ink);white-space:nowrap}
.rd3 .emap em.r{transform:translateX(-100%)}
.rd3 .emap em.c{transform:translateX(-50%)}
.rd3 .emap-ax{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;font-weight:600;color:var(--muted)}
@media (min-width:56rem){.rd3 .emap-ax{margin-left:20rem}}
.rd3 .eng-block .shape{display:block;width:220px;max-width:100%;height:auto;margin-top:1.5rem;overflow:visible}
.rd3 .eng-block .shape .ax{stroke:#d6d2c8;stroke-width:1}
.rd3 .eng-block .shape .bar{fill:var(--teal-text)}
.rd3 .eng-block .shape .bar2{fill:rgba(21,122,107,.25)}
.rd3 .eng-block .shape .tick{stroke:var(--teal-text);stroke-width:3;stroke-linecap:round}
.rd3 .eng-block .shape .dia{fill:var(--ink)}
.rd3 .eng-block .shape text{font:500 12px var(--font);fill:var(--muted)}
.rd3 .eng-block .shape text.k{fill:var(--ink);font-weight:600}

/* Audit fixes, 18 October 2026 */
/* L1: tool chips wrap when the text is enlarged, so the Systems page never scrolls sideways. */
.rd3 .tchip{white-space:normal;max-width:100%;min-width:0}
/* L3: tool monograms are 12px text. */
.rd3 .tm.mono,.rd3 .band .tm.mono{font-size:.75rem;letter-spacing:0}
.rd3 .band .tm{width:1.6rem;height:1.6rem}
/* R5: the About results ledger is one column on phones, so its figures are never cut off. */
@media (max-width:29.99rem){.rd3 .rl .rledger,.rd3 .rledger{grid-template-columns:minmax(0,1fr)}}
.rd3 .rledger b{overflow-wrap:normal}
/* M3: the decorative passes only start once they are on screen (rd3.js). */
.rd3 .anim-wait,.rd3 .anim-wait *,.rd3 .anim-wait::after,.rd3 .anim-wait::before{animation-play-state:paused!important}
/* L2 and E-9: on phones the workflow tabs wrap onto two lines, so every workflow is in view. */
/* RD-DIA-15: on phones the workflow tabs are an even grid, three across (six on Systems make two tidy rows), not a ragged wrap inside a capsule. */
@media (max-width:47.99rem){
  .rd3 .wf .ex-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible;border-radius:1rem}
  .rd3 .wf .ex-tabs button{white-space:normal;line-height:1.15;text-align:center;padding:.5rem .35rem}
}
/* M2: the one-line outcome above each workflow. */
.rd3 .wf-out{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline;margin:0;padding:.7rem .95rem;border-radius:12px;background:#fff7f5;border:1px solid #efc4bd;font-size:.95rem;line-height:1.45;color:var(--ink)}
.rd3 .wf-out b{color:#b42318;font-weight:600}
.rd3 .band .wf-out{background:rgba(232,131,122,.12);border-color:rgba(232,131,122,.45);color:var(--on-navy)}
.rd3 .band .wf-out b{color:#f6c0b9}
@media (min-width:60rem){.rd3 .wf .wf-p>.wf-out{grid-column:1 / -1}}

/* RD-EX-16: the article runners sit a little tighter, and the sample document above them takes less height, so the bar and the data panel
   fit one 1280x800 screen. */
.rd3 .art-grid .ex-run .flow-bar{padding:.55rem 1rem}
/* RD-EX-14: under each article runner the four Yes/No cards stack on phones instead of scrolling sideways, so "What AI doesn't do" is in view. */
@media (max-width:47.99rem){
  .rd3 .art-grid .ex-run .rdi .yn{display:grid!important;grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none}
  .rd3 .art-grid .ex-run .rdi .yn>div{flex:none;border-left:0!important;border-top:1px solid var(--line)!important}
  .rd3 .art-grid .ex-run .rdi .yn>div:first-child{border-top:0!important}
}
/* RD-EX-13: touch targets in the article exhibits are at least 44px. */
@media (pointer:coarse),(max-width:47.99rem){
  .rd3 .ex-tabs button{min-height:2.75rem}
  .rd3 .ex-run .flow-bar .btn{min-height:2.75rem}
}
