/* The future of enterprise — stylesheet. Used by this essay only.
   Fonts: Newsreader (SIL Open Font License 1.1, Production Type) · Geist (SIL Open Font License 1.1, Vercel).
   Loaded from Google Fonts. Fallbacks: Georgia / system sans.

   Three marks carry every illustration, and each means one thing throughout:
   a dot is a person, an ice stroke is agent work, an amber line or tick is
   something the company keeps. */
:root{--canvas:#0D0F12;--surface:#171A1F;--text:#F2F0EA;--muted:#ADB1BA;--rule:#30353D;--ice:#B7CEF5;--retained:#D1AF7F;--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Geist",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--margin:72px;--gutter:24px;--body:20px;--body-lh:31px;--cap:14px;--cap-lh:21px;--measure:41rem;--dur:220ms;--dur-s:180ms;--ease:cubic-bezier(.2,.8,.2,1);--chapter-gap:clamp(88px,8vw,120px);--block:clamp(40px,4.2vw,60px);--block-l:clamp(52px,5.5vw,80px)}
@media (max-width:768px){:root{--margin:24px;--body:18px;--body-lh:28px;--chapter-gap:72px;--block:36px;--block-l:44px}}
@media (max-width:360px){:root{--margin:20px}}
@media (prefers-reduced-motion:reduce){:root{--dur:0ms;--dur-s:0ms}html{scroll-behavior:auto}}
html{background:var(--canvas);color:var(--text);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:56px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:400 var(--body)/var(--body-lh) var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--ice);color:var(--canvas)}
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--muted);transition:text-decoration-color var(--dur-s) var(--ease)}
a:hover{text-decoration-color:var(--ice)}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:2px}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,dl,dd,ol,ul,fieldset{margin:0}
fieldset{padding:0;border:0;min-width:0}
s{text-decoration-thickness:1px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{position:fixed;left:8px;top:8px;z-index:50;padding:8px 12px;background:var(--surface);color:var(--text);font-size:15px;line-height:22px}
.shell{max-width:1440px;margin:0 auto;padding-inline:var(--margin)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}
.c1-6{grid-column:1/7}.c1-7{grid-column:1/8}.c1-9{grid-column:1/10}.c1-10{grid-column:1/11}.c1-11{grid-column:1/12}.c1-13{grid-column:1/-1}.c2-13{grid-column:2/-1}.c3-9{grid-column:3/10}.c3-11{grid-column:3/12}.c3-13{grid-column:3/-1}.c6-13{grid-column:6/-1}.c7-13{grid-column:7/-1}.c9-13{grid-column:9/-1}.c10-13{grid-column:10/-1}
@media (max-width:1024px){.c3-9,.c10-13,.c9-13{grid-column:1/10}.c3-11,.c3-13,.c2-13,.c1-10,.c1-11,.c6-13,.c7-13{grid-column:1/-1}}
@media (max-width:768px){.grid>*{grid-column:1/-1!important}}
/* type */
.cover-title{font:500 clamp(3.25rem,7.4vw,7rem)/1 var(--serif);font-optical-sizing:auto;letter-spacing:-.015em;text-wrap:pretty}
.ch-title{font:500 clamp(2.25rem,4.5vw,4rem)/1.08 var(--serif);font-optical-sizing:auto;letter-spacing:-.01em;text-wrap:pretty}
.display{font:500 clamp(3.5rem,10vw,9.5rem)/.98 var(--serif);font-optical-sizing:auto;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sub{font:500 clamp(1.625rem,2.4vw,2rem)/1.2 var(--serif);font-optical-sizing:auto;text-wrap:pretty}
.lede{font:500 clamp(1.375rem,1.9vw,1.625rem)/1.3 var(--serif);font-optical-sizing:auto;text-wrap:pretty}
.prose>p{max-width:var(--measure);text-wrap:pretty}
.prose>p+p,.prose>.sub+p{margin-top:1.3em}
.prose>h3+p{margin-top:.9em}
.muted{color:var(--muted)}
.caption{font-size:var(--cap);line-height:var(--cap-lh);color:var(--muted);max-width:40rem;text-wrap:pretty}
.caption+.caption{margin-top:6px}
.srcline{font-size:13px;line-height:20px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;max-width:40rem}
.eyebrow{font-size:14px;line-height:21px;color:var(--muted);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.eyebrow b{font-weight:500;color:var(--text)}
.num{font-variant-numeric:tabular-nums}
.cite{font-size:13px;line-height:1;color:var(--muted);text-decoration:none;vertical-align:.3em;letter-spacing:.02em;white-space:nowrap;margin-left:.1em;font-variant-numeric:tabular-nums}
.cite::before{content:"["}.cite::after{content:"]"}
.cite:hover,.cite:focus-visible{color:var(--ice)}
.tbtn{appearance:none;background:none;border:0;padding:10px 0;margin:0;min-height:44px;font:inherit;font-size:17px;color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:var(--muted);cursor:pointer;transition:text-decoration-color var(--dur-s) var(--ease)}
.tbtn:hover{text-decoration-color:var(--ice)}
.tbtn[aria-pressed="true"]{text-decoration-color:var(--ice);text-decoration-thickness:2px}
.pbtn{appearance:none;background:none;border:1px solid var(--muted);border-radius:999px;min-height:44px;padding:0 20px;margin:0;font:inherit;font-size:16px;color:var(--text);cursor:pointer;transition:border-color var(--dur-s) var(--ease),background var(--dur-s) var(--ease),color var(--dur-s) var(--ease)}
.pbtn:hover{border-color:var(--ice)}
.pbtn:active{background:var(--ice);border-color:var(--ice);color:var(--canvas)}
.fig{display:grid;gap:14px}
/* marks. A tally is --per strokes to a row and --rows rows, at a pitch of --p; the trailing gap is trimmed so the block ends on a stroke. */
.tally{--p:8px;--s:2px;--sh:14px;--sg:8px;--per:33;--rows:1;display:block;width:calc(var(--per)*var(--p) - var(--p) + var(--s));height:calc(var(--rows)*(var(--sh) + var(--sg)) - var(--sg));background:repeating-linear-gradient(90deg,var(--ice) 0 var(--s),transparent var(--s) var(--p));-webkit-mask:repeating-linear-gradient(180deg,#000 0 var(--sh),transparent var(--sh) calc(var(--sh) + var(--sg)));mask:repeating-linear-gradient(180deg,#000 0 var(--sh),transparent var(--sh) calc(var(--sh) + var(--sg)))}
.p{position:absolute;top:29px;width:11px;height:11px;border-radius:50%;border:1px solid var(--text);background:var(--canvas);z-index:1}
.p.on{background:var(--text)}
.p.amb{background:var(--retained);border-color:var(--retained)}
.tally,.run,.tick,.p,.flag,.route,.riser,.notice,.key-dots i,.key-base,.key-base i,.people::after,.kept::before,.key-labels li::before,.recall::before,.pf-task::before,.xs-stop::before,.bar100 .seg.ow,.bar-labels i,.hbar .bar,.hbar .bar::after,.wf .strokes i,.wf .stage::after,.xs-assure::before,.xs-assure::after{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.fig-label{font-size:13px;line-height:20px;color:var(--muted);letter-spacing:.02em}
/* fixed chrome */
.progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:40;pointer-events:none}
.progress span{display:block;height:100%;background:var(--ice);transform:scaleX(0);transform-origin:0 50%}
.topbar{position:fixed;top:8px;left:0;right:0;z-index:39;display:flex;justify-content:space-between;align-items:center;padding-inline:var(--margin);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease),visibility 0s linear var(--dur)}
.topbar.on{opacity:1;visibility:visible;transition-delay:0s}
.topbar>*{pointer-events:auto;background:var(--canvas);font-size:13px;line-height:20px;padding:3px 8px;margin-inline:-8px}
.topbar .chlabel{color:var(--muted)}
.topbar button{border:0;text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--muted);cursor:pointer;color:var(--text)}
.topbar button:hover{text-decoration-color:var(--ice)}
html:not(.js) .progress,html:not(.js) .topbar,html:not(.js) .atlas-tools,html:not(.js) .ind-choices,html:not(.js) .rt-controls,html:not(.js) .rt-msg,html:not(.js) .rt-lede,html:not(.js) .contents-trigger,html:not(.js) #copy-q,html:not(.js) #share-btn{display:none}
@media (max-width:768px){.topbar{top:0;padding-block:8px 6px;background:var(--canvas)}}
/* cover */
.cover{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end;padding-block:26px clamp(40px,5vw,64px);animation:fade 320ms var(--ease) both}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.cover{animation:none}}
.masthead{grid-column:1/-1;align-self:start;display:flex;justify-content:space-between;align-items:baseline;gap:16px 24px;flex-wrap:wrap;font-size:14px;line-height:21px}
.masthead .mast{font-weight:500}
.masthead .attrib{color:var(--muted);margin-left:14px}
.masthead nav{display:flex;gap:28px}
.masthead button{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--muted);cursor:pointer;min-height:24px}
.masthead button:hover,.masthead nav a:hover{text-decoration-color:var(--ice)}
.cover-main{grid-column:1/10;display:grid;justify-items:start;margin-top:clamp(56px,10vh,128px)}
.question{font:italic 500 clamp(1.75rem,3.3vw,3.125rem)/1.14 var(--serif);font-optical-sizing:auto;text-wrap:balance;max-width:34ch;margin-top:clamp(20px,2.4vw,36px)}
.standfirst{text-wrap:pretty;max-width:36rem;margin-top:clamp(24px,2.6vw,36px)}
.quiet{font-size:16px;color:var(--muted);text-decoration-color:var(--rule);margin-top:14px;min-height:44px;display:inline-flex;align-items:center}
.quiet:hover{color:var(--text)}
/* the company in section: three dots, 297 strokes, one amber line */
.key{grid-column:10/-1;justify-self:start;display:grid;gap:14px;font-size:13px;line-height:18px}
.key-draw{display:grid;gap:14px;width:258px}
.key-dots{display:flex;gap:7px}
.key-dots i{width:11px;height:11px;border-radius:50%;background:var(--text)}
.key-base{position:relative;display:block;height:9px;border-top:1px solid var(--retained)}
.key-base i{position:absolute;top:0;width:2px;height:9px;background:var(--retained)}
.key-labels{list-style:none;padding:0;display:grid;gap:6px;color:var(--muted);max-width:258px}
.key-labels b{font-weight:500;color:var(--text)}
.key-labels li{position:relative;padding-left:20px;text-wrap:pretty}
.key-labels li::before{content:"";position:absolute}
.k-p::before{left:0;top:4px;width:11px;height:11px;border-radius:50%;background:var(--text)}
.k-a::before{left:4px;top:2px;width:2px;height:14px;background:var(--ice)}
.k-k::before{left:4px;top:5px;width:2px;height:9px;background:var(--retained)}
.key .caption{font-size:13px;line-height:19px;max-width:258px}
@media (max-width:1100px){.cover-main{grid-column:1/-1}.key{grid-column:1/-1;margin-top:48px;grid-template-columns:258px minmax(0,20rem);column-gap:32px;align-items:start}.key .caption{grid-column:1/-1;max-width:none}}
@media (max-width:768px){.cover{padding-bottom:32px}.cover-main{margin-top:56px}.masthead .attrib{display:block;margin:2px 0 0}}
@media (min-width:1101px) and (max-width:1247px){.cover-main{grid-column:1/9}.key{grid-column:9/-1;justify-self:end}}
@media (max-width:600px){.key{display:grid;grid-template-columns:1fr;margin-top:28px;gap:10px}.key-labels{display:none}.key-draw{width:295px;gap:8px}.key .tally{--per:99!important;--rows:3!important;--p:3px;--s:1px;--sh:10px;--sg:5px}.key .caption{max-width:none}}
@media (max-width:340px){.key{display:none}.cover-title{font-size:3rem}}
/* opening scene: four moments of one night, read left to right */
.night{margin-top:clamp(24px,3vw,48px)}
.night-head{display:grid;gap:14px;margin-bottom:clamp(28px,3.5vw,44px)}
.score{display:grid;gap:22px}
.moments{list-style:none;margin:0;padding:0;display:grid;gap:36px}
.m{display:grid;gap:12px;min-width:0;align-content:start}
.m-when{display:grid;gap:2px}
.m-time{font-size:14px;line-height:21px;color:var(--muted);font-variant-numeric:tabular-nums}
.m-when b{font:500 clamp(1.25rem,1.7vw,1.5rem)/1.25 var(--serif);font-optical-sizing:auto}
.m-text{font-size:16px;line-height:25px;text-wrap:pretty;max-width:34rem}
.draw{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr)}
.m-keys{font-size:13px;line-height:14px;color:var(--muted)}
.m-keys span{display:block}
.m-keys .kp{height:46px;padding-top:27px;color:var(--text)}
.m-keys .kl{height:28px;color:var(--ice)}
.m-keys .kp+.kl{margin-top:14px}
.m-keys .kk{margin-top:7px;color:var(--retained)}
.marks{position:relative}
.people{position:relative;height:46px}
.people::after{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--muted)}
.p-lab{position:absolute;top:6px;font-size:13px;line-height:18px;white-space:nowrap}
.p-lab.low{top:41px}
.lanes{padding-top:14px}
.lane{display:flex;height:28px}
.run{display:block;flex:var(--n) 0 0;min-width:0;height:14px;background:repeating-linear-gradient(90deg,var(--ice) 0 2px,transparent 2px 5px)}
.run.inh{background:linear-gradient(90deg,var(--retained) 2px,transparent 2px),repeating-linear-gradient(90deg,var(--ice) 0 2px,transparent 2px 5px)}
.gap{display:block;flex:var(--n) 0 0}
.kept{position:relative;height:32px;margin-top:14px}
.kept::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--retained)}
.tick{position:absolute;top:0;width:2px;height:9px;background:var(--retained)}
.k-lab{position:absolute;top:13px;font-size:13px;line-height:18px;color:var(--retained);white-space:nowrap}
.notice{position:absolute;left:0;top:0;width:1px;height:187px;background:var(--text)}
.notice span{position:absolute;left:8px;top:6px;font-size:13px;line-height:18px;white-space:nowrap;font-style:normal}
.route{position:absolute;left:0;top:34px;width:1px;height:153px;background:var(--retained)}
.flag{position:absolute;top:118px;width:10px;height:10px;border-radius:50%;border:1px solid var(--retained);background:var(--canvas);z-index:1}
.m2 .flag{right:-5px}
.f-lab{position:absolute;right:-5px;top:133px;font-size:13px;line-height:18px;color:var(--retained);white-space:nowrap}
.m3 .flag{left:-5px}
.riser{position:absolute;left:18%;top:102px;width:1px;height:85px;background:var(--retained)}
.score.anim .marks{clip-path:inset(-12px 100% -12px -12px);transition:clip-path 900ms var(--ease)}
.score.anim .m.in .marks{clip-path:inset(-12px -40px -12px -12px)}
@media (max-width:768px){.m-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px}}
@media (min-width:769px){.moments{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter);row-gap:48px;padding-left:164px}.draw{display:block}.m-keys{display:none}.m1 .m-keys,.m3 .m-keys{display:block;position:absolute;left:-164px;top:0;width:132px}.m1 .people::after,.m3 .people::after,.m1 .kept::before,.m3 .kept::before{right:calc(-1*var(--gutter))}.score.anim .m2 .marks,.score.anim .m4 .marks{transition-delay:.3s}}
@media (min-width:1200px){.moments{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto;row-gap:0}.m{grid-row:1/4;grid-template-rows:subgrid;row-gap:16px}.m3 .m-keys{display:none}.m2 .people::after,.m2 .kept::before{right:calc(-1*var(--gutter))}.m2 .flag::after{content:"";position:absolute;left:100%;top:4px;width:calc(var(--gutter) - 10px);height:1px;background:var(--retained)}.score.anim .m2 .marks{transition-delay:.35s}.score.anim .m3 .marks{transition-delay:.7s}.score.anim .m4 .marks{transition-delay:1.05s}}
.bridge{margin-top:var(--block)}
.bridge-lead{font:500 clamp(1.25rem,1.7vw,1.5rem)/1.3 var(--serif);font-optical-sizing:auto;max-width:var(--measure);text-wrap:pretty}
.bridge-lead a{text-decoration-color:var(--muted)}
/* "That night": the line each chapter opens from, marked with the layer of the drawing it is about */
.recall{grid-column:3/10;position:relative;margin-top:20px;padding-left:22px;max-width:var(--measure);font-size:17px;line-height:26px;color:var(--muted);text-wrap:pretty}
.recall b{font-weight:500;color:var(--text)}
.recall::before{content:"";position:absolute;left:4px;top:6px;width:2px;height:14px;background:var(--ice)}
.recall.r-keep::before{background:var(--retained)}
.recall.r-dot::before{left:0;top:8px;width:11px;height:11px;border-radius:50%;background:var(--text)}
.recall.r-flag::before{left:0;top:8px;width:10px;height:10px;border-radius:50%;background:none;border:1px solid var(--retained)}
@media (max-width:1024px){.recall{grid-column:1/-1}}
/* chapters */
.chapter{margin-top:var(--chapter-gap)}
.ch-head{margin-bottom:clamp(28px,3.4vw,48px)}
.ch-head .eyebrow{grid-column:1/-1;margin-bottom:24px}
.ch-head.off .eyebrow{grid-column:3/-1}
.side-note{font-size:16px;line-height:25px;border-top:1px solid var(--rule);padding-top:16px;text-wrap:pretty}
.side-note p+p{margin-top:8px}
.side-note.under{margin-top:40px;max-width:var(--measure);align-self:start}
@media (min-width:1025px){.margin-note{grid-row:1/span 2}}
/* pillar 1 measure */
.margin-note{display:grid;gap:14px;align-content:start}
.measure{grid-template-columns:48px minmax(0,1fr);gap:0 14px;align-items:start}
.measure .fig-label{grid-column:1/-1;margin-bottom:12px}
.measure svg{display:block;overflow:visible}
.measure-labels{position:relative;height:220px;font-size:14px;line-height:19px}
.measure-labels span{position:absolute;left:0;right:0}
.measure-labels small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.measure-labels .lower{color:var(--ice)}
.measure figcaption{grid-column:1/-1;margin-top:8px}
.ev-note{font-size:16px;line-height:25px;max-width:22rem;text-wrap:pretty;margin-top:10px}
.ev-lim{font-size:14px;line-height:21px;color:var(--muted);max-width:22rem}
@media (max-width:1024px){.margin-note{margin-top:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;align-items:end}.margin-note .measure{grid-row:1/4}.ev-note{margin-top:0}}
@media (max-width:768px){.margin-note{grid-template-columns:1fr}.margin-note .measure{grid-row:auto}}
/* pillar 2 bars */
.portfolio{display:grid;gap:12px;align-content:start}
.pf{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.pf li{display:grid;gap:8px}
.pf-task{position:relative;padding-left:16px;font-size:15px;line-height:21px}
.pf-task::before{content:"";position:absolute;left:0;top:3px;width:2px;height:14px;background:var(--ice)}
.pf .slot{margin:0}
@media (max-width:1024px){.portfolio{margin-top:40px;max-width:34rem}.pf{gap:10px}.pf li{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}}
.bars-fig{row-gap:28px;margin-top:var(--block)}
.bars100{display:grid;gap:26px;max-width:56rem}
.bar-row{display:grid;gap:8px}
.bar-head{font-size:15px;line-height:21px;color:var(--muted)}
.bar-labels{display:flex;justify-content:space-between;gap:16px;font-size:15px;line-height:21px;font-variant-numeric:tabular-nums}
.bar-labels i{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:-1px}
.bar-labels .ow i{background:var(--text)}.bar-labels .other i{border:1px solid var(--muted)}
.bar100{display:flex;height:26px;gap:2px}
.bar100 .seg{display:block;height:100%;min-width:2px}
.bar100 .seg.ow{background:var(--text)}.bar100 .seg.other{border:1px solid var(--muted)}
.axis-ends{display:flex;justify-content:space-between;font-size:13px;line-height:20px;color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid var(--rule);padding-top:6px;max-width:56rem}
.counter{font-size:17px;line-height:27px;max-width:var(--measure);text-wrap:pretty}
/* pillar 3 */
/* 99 agents for every person, drawn to scale: a dot, then 99 strokes, three times */
.ratio{margin-bottom:var(--block);gap:18px}
.ratio-rows{display:grid;gap:12px}
.ratio-row{display:flex;gap:12px;align-items:flex-start}
.ratio-row .p{position:static;flex:none;margin-top:2px}
.ratio .tally{--per:99;--p:6px}
@media (min-width:980px){.ratio .tally{--p:8px}}
@media (min-width:1180px){.ratio .tally{--p:10px}}
@media (min-width:1400px){.ratio .tally{--p:12px}}
@media (max-width:699px){.ratio .tally{--per:33;--rows:3;--p:8px}.ratio-row{gap:8px}.ratio-rows{gap:16px}}
.ratio-cap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:10px;align-items:baseline;margin-top:8px}
.ratio-line{grid-column:1/7;font:500 clamp(1.625rem,2.4vw,2rem)/1.2 var(--serif);font-optical-sizing:auto}
.ratio-cap .qual{grid-column:7/-1;font-size:16px;line-height:25px;max-width:34rem;text-wrap:pretty}
@media (max-width:768px){.ratio-line,.ratio-cap .qual{grid-column:1/-1}}
.survey-note{display:grid;gap:12px;align-content:start}
.survey-note .ev-note{margin-top:0}
.survey-note .measure-lbl{font-size:14px;line-height:20px;color:var(--muted)}
.survey-note .pair-figs{grid-template-columns:1fr;gap:18px;padding:18px 0}
.survey-note .pair-figs .big{font-size:clamp(1.75rem,2.6vw,2.25rem)}
.survey-note .srcline{margin-top:0}
@media (max-width:1024px){.survey-note{margin-top:40px;max-width:40rem}.survey-note .pair-figs{grid-template-columns:1fr 1fr;gap:24px}.survey-note .ev-note,.survey-note .ev-lim{max-width:none}}
@media (max-width:480px){.survey-note .pair-figs{grid-template-columns:1fr}}
.pair{display:grid;gap:20px;max-width:56rem}
.pair-figs{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 0}
.pair-figs .big{font:500 clamp(2rem,3.6vw,3.25rem)/1.05 var(--serif);font-optical-sizing:auto;display:block;font-variant-numeric:tabular-nums}
.pair-figs .lbl{display:block;margin-top:12px;font-size:16px;line-height:23px}
.pair-figs .def{display:block;color:var(--muted);font-size:14px;line-height:20px;margin-top:4px;text-wrap:pretty}
.pair .measure-lbl{font-size:14px;line-height:20px;color:var(--muted)}
@media (max-width:480px){.pair-figs{grid-template-columns:1fr;gap:20px}}
.scene{margin-top:var(--block-l);row-gap:24px}
.seg-ctl{position:relative;display:inline-flex;gap:2px;padding:3px;border:1px solid var(--muted);border-radius:999px;justify-self:start}
.scene .seg-ctl{grid-column:1/-1}
.seg-ctl input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.seg-ctl label{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:999px;font-size:16px;color:var(--muted);cursor:pointer;transition:background var(--dur-s) var(--ease),color var(--dur-s) var(--ease)}
.seg-ctl label:hover{color:var(--text)}
.seg-ctl input:checked+label{background:var(--ice);color:var(--canvas)}
.seg-ctl input:focus-visible+label{outline:2px solid var(--ice);outline-offset:3px}
.wf{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:minmax(40px,auto) auto 48px auto;column-gap:16px}
.wf li{grid-row:1/5;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;row-gap:0;min-width:0}
.wf .stage{grid-row:2;position:relative;padding-top:16px;font-size:15px;line-height:20px}
.wf .stage::before{content:"";position:absolute;left:0;right:-16px;top:0;height:1px;background:var(--muted)}
.wf li:last-child .stage::before{right:0}
.wf .stage::after{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--text)}
.wf .strokes{grid-row:3;display:flex;flex-wrap:wrap;gap:4px 3px;align-content:flex-start;padding-top:14px}
.wf .strokes i{width:2px;height:14px;background:var(--ice);display:block}
.wf .bracket{grid-row:1;position:relative;align-self:end;font-size:14px;line-height:18px;color:var(--retained);text-align:center;padding-bottom:10px;text-wrap:balance}
.wf .bracket::before{content:"";position:absolute;left:0;right:-16px;bottom:0;height:1px;background:var(--retained)}
.wf .b-start::after,.wf .b-end::after{content:"";position:absolute;bottom:0;width:1px;height:8px;background:var(--retained)}
.wf .b-start::after{left:0}.wf .b-end::after{right:0}.wf .b-end::before{right:0}
.wf .anno{grid-row:4;font-size:14px;line-height:19px;color:var(--retained);padding-top:2px;text-wrap:pretty}
.wf .anno::before{content:"";display:block;width:1px;height:18px;background:var(--retained);margin-bottom:8px}
.wf .role{color:var(--text)}
.wf .node{display:inline-block;width:7px;height:7px;border:1px solid var(--retained);border-radius:50%;margin-right:8px;vertical-align:0}
.layer-resp{opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}
.scene:has(#v-resp:checked) .layer-resp{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.layer-exec{transition:opacity var(--dur) var(--ease)}
.scene:has(#v-resp:checked) .layer-exec{opacity:.3}
.scene-note{font-size:14px;line-height:20px;color:var(--retained)}
@media (max-width:768px){.layer-resp{display:none}.scene:has(#v-resp:checked) .layer-resp{display:block}}
@media (max-width:768px){.wf{grid-template-columns:1fr;grid-template-rows:none}.wf li{grid-row:auto;grid-template-rows:auto;border-left:1px solid var(--muted);padding:0 0 22px 20px;position:relative}.wf li:last-child{padding-bottom:0}.wf .stage{grid-row:auto;padding-top:0}.wf .stage::before{display:none}.wf .stage::after{left:-24px;top:6px}.wf .strokes{grid-row:auto;padding-top:10px}.wf .bracket{grid-row:auto;text-align:left;padding:0 0 8px;align-self:start;white-space:normal}.wf .bracket::before,.wf .bracket::after{display:none}.wf .anno{grid-row:auto;padding-top:10px}}
.econ{margin-top:var(--block)}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:18px;line-height:26px;margin-top:28px;font-variant-numeric:tabular-nums}
.formula .frac{display:inline-grid;text-align:center;row-gap:5px}
.formula .den{border-top:1px solid var(--text);padding-top:5px}
.formula+.caption{margin-top:16px}
/* pillar 4 */
.worth{margin-top:var(--block);row-gap:var(--block)}
.worth .remains{grid-column:1/8}
.worth .eff{grid-column:8/-1}
@media (max-width:1100px){.worth .remains,.worth .eff{grid-column:1/-1}.worth .remains>div,.worth .eff>div{max-width:56rem}}
.remains dl{border-top:1px solid var(--rule);margin-top:28px}
.remains .row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8px 24px;padding:22px 0;border-bottom:1px solid var(--rule)}
.remains dt{font:500 clamp(1.25rem,1.7vw,1.5rem)/1.25 var(--serif);font-optical-sizing:auto}
.remains dd{font-size:17px;line-height:27px;text-wrap:pretty}
.remains .caption{margin-top:18px}
@media (max-width:640px){.remains .row{grid-template-columns:1fr}}
.eff .fig{margin-top:14px}
.hbars{display:grid;gap:20px;max-width:52rem;margin-top:10px}
.hbar{display:grid;gap:8px}
.hbar .lab{display:flex;justify-content:space-between;gap:16px;font-size:15px;line-height:21px;font-variant-numeric:tabular-nums}
.hbar .bar{height:14px;background:var(--text);position:relative}
.hbar .bar::after{content:"";position:absolute;right:-1px;top:-3px;width:2px;height:20px;background:var(--ice)}
.hbars .axis-ends{max-width:none}
.eff .after{margin-top:28px;max-width:var(--measure);text-wrap:pretty}
.example{margin-top:var(--block-l)}
.ex-grid{row-gap:40px}
.ex-prose{grid-column:1/6}
.ex-prose .eyebrow{margin-bottom:20px}
.ex-prose p+p{margin-top:1.3em}
.ex-prose .sub+p{margin-top:1em}
.ex-fig{grid-column:7/-1}
@media (max-width:1024px){.ex-prose{grid-column:1/8}.ex-fig{grid-column:8/-1}}
.stages{list-style:none;padding:0;margin:0;counter-reset:stage;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gutter)}
@media (min-width:769px) and (max-width:1024px),(max-width:600px){.stages{grid-template-columns:1fr}}
.stages li{padding:16px 0 16px 40px;position:relative;border-top:1px solid var(--rule);counter-increment:stage}
.stages li::before{content:counter(stage,decimal-leading-zero);position:absolute;left:0;top:18px;font-size:13px;line-height:20px;color:var(--muted);font-variant-numeric:tabular-nums}
.stages h4{font:500 17px/24px var(--sans)}
.stages p{font-size:15px;line-height:22px;color:var(--muted);margin-top:4px;text-wrap:pretty}
.stages li.keep h4{color:var(--retained)}
.rejected{margin-top:14px}
.rejected summary{cursor:pointer;font-size:14px;line-height:20px;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:10px;list-style:none}
.rejected summary::before{content:"+";content:"+" / "";width:12px;color:var(--text)}
.rejected[open] summary::before{content:"−";content:"−" / ""}
.rejected p{font-size:15px;line-height:22px;color:var(--muted);padding-bottom:8px}
.rejected s{color:var(--muted)}
/* the replacement test: what runs the work changes above, what the company keeps stays below */
.rtest{margin-top:var(--block-l);display:grid;gap:16px}
.rt-head{display:grid;gap:10px;max-width:var(--measure)}
.rt-lede{text-wrap:pretty}
.rt-layer{font-size:13px;line-height:20px;letter-spacing:.02em;color:var(--muted)}
.rt-exec{border:1px solid var(--ice);padding:20px 24px 24px;display:grid;gap:10px}
.rt-routes{display:grid;grid-template-columns:minmax(0,5fr) minmax(40px,3fr) minmax(0,5fr);grid-template-rows:repeat(3,minmax(64px,1fr))}
@media (min-width:1025px){.rt-routes{grid-template-columns:max-content minmax(40px,3fr) minmax(0,5fr)}}
.rt-tasks,.rt-models{list-style:none;padding:0;margin:0;display:grid;grid-template-rows:subgrid;grid-row:1/4}
.rt-tasks{grid-column:1}
.rt-models{grid-column:3}
.rt-wire{grid-column:2;grid-row:1/4;position:relative}
.rt-paths{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.rt-paths path{fill:none;stroke:var(--ice);stroke-width:1;vector-effect:non-scaling-stroke;transition:opacity var(--dur) var(--ease)}
.rt-tasks li{align-self:center;padding-right:16px;font-size:16px;line-height:22px;text-wrap:pretty}
.rt-tasks small{margin-top:2px;font-size:13px;line-height:18px;color:var(--ice)}
.slot{align-self:center;margin-block:6px;display:grid;gap:2px;border:1px solid var(--ice);padding:10px 14px;transition:border-color var(--dur) var(--ease)}
.slot b{font:500 clamp(1.125rem,1.5vw,1.375rem)/1.2 var(--serif);font-optical-sizing:auto;color:var(--ice);transition:color var(--dur) var(--ease),opacity var(--dur-s) var(--ease)}
.slot small{font-size:13px;line-height:18px;color:var(--muted)}
.rtest[data-models="next"] .slot.retire{border-style:dashed;border-color:var(--muted)}
.rtest[data-models="next"] .slot.retire b{color:var(--muted)}
.rtest .swap{display:grid}
.rtest .swap>span{grid-area:1/1}
.rtest[data-models="now"] .swap>span.next,.rtest[data-models="next"] .swap>span.now{visibility:hidden}
.rtest[data-models="now"] path.next,.rtest[data-models="next"] path.now{opacity:0}
.swap{transition:opacity var(--dur-s) var(--ease)}
.is-swapping .swap{opacity:0}
.rt-keep{border:1px solid var(--retained);padding:20px 24px 24px;display:grid;gap:14px}
.rt-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,6fr);gap:24px 32px}
.rt-col h4{margin:0 0 8px;font:500 13px/20px var(--sans);letter-spacing:.02em;color:var(--retained)}
.rt-col>p{font-size:15px;line-height:23px;text-wrap:pretty}
.rt-col>p+p{margin-top:8px}
.rt-owner{position:relative}
.rtest[data-state="review"] .rt-owner::before{content:"";position:absolute;left:-16px;top:8px;width:8px;height:8px;border-radius:50%;border:1px solid var(--retained)}
@media (max-width:560px){.rtest[data-state="review"] .rt-owner::before{left:-12px}}
.rt-owner .st-review{color:var(--retained)}
.rt-lessons{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:lesson;align-items:start}
@media (min-width:1100px){.rt-lessons{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.rt-lessons>li{counter-increment:lesson;display:grid;gap:8px;align-content:start;border:1px solid var(--rule);padding:12px 14px;transition:border-color var(--dur) var(--ease)}
.rt-lessons>li::before{content:"Lesson " counter(lesson);font-size:13px;line-height:18px;letter-spacing:.02em;color:var(--muted)}
.l-text{font-size:16px;line-height:24px;text-wrap:pretty}
.l-state{font-size:14px;line-height:21px;color:var(--muted);text-wrap:pretty}
.rt-lessons dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;font-size:14px;line-height:21px}
.rt-lessons dt{color:var(--retained)}
.rtest[data-state="review"] .l-2{border:1px dashed var(--retained)}
.rtest[data-state="revised"] .l-2{border-color:var(--retained)}
.st-current,.st-review,.st-revised{display:none}
.rtest[data-state="current"] .st-current,.rtest[data-state="review"] .st-review,.rtest[data-state="revised"] .st-revised{display:inline}
.flag-t{color:var(--retained)}
.flag-t::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border:1px solid var(--retained);border-radius:50%}
.rt-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 24px}
.rt-controls{display:flex;gap:12px}
#btn-model{min-width:14.5em}
#btn-cond{min-width:13em}
.rt-msg{flex:1 1 18rem;min-height:59px;padding-top:9px;font-size:16px;line-height:25px;text-wrap:pretty}
@media (max-width:1100px){.rt-msg{flex-basis:100%;min-height:50px;padding-top:0}}
@media (max-width:900px){.rt-bar{display:contents}.rt-controls{position:sticky;top:40px;z-index:5;margin-block:-8px;padding-block:8px;background:var(--canvas)}.rt-controls .pbtn,#btn-model,#btn-cond{flex:1 1 0;min-width:0;min-height:48px;padding:4px 12px;border-radius:26px;font-size:15px;line-height:1.2}.rt-msg{min-height:75px;padding-top:0}}
.rtest>details.note{margin-top:0}
@media (max-width:900px){.rt-cols{grid-template-columns:1fr 1fr}.rt-know{grid-column:1/-1}}
@media (max-width:560px){.rt-exec,.rt-keep{padding:16px}.rt-routes{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.rt-tasks li{font-size:15px;line-height:21px;padding-right:8px}.slot{padding:8px 10px}.rt-cols{grid-template-columns:1fr}.rt-lessons dl{grid-template-columns:1fr;gap:0}.rt-lessons dd{margin-bottom:6px}}
.thesis{margin-top:var(--block-l)}
/* pillar 5 */
.twolines{align-self:start}
@media (max-width:1024px){.twolines{max-width:40rem;margin-top:40px}}
@media (min-width:1025px) and (max-width:1279px){.twolines .line{grid-template-columns:1fr;gap:6px}}
.twolines .line{display:grid;grid-template-columns:minmax(0,6.5rem) minmax(0,1fr);gap:8px 20px;align-items:baseline;padding:18px 0}
.twolines .n{font:500 clamp(2.25rem,3.6vw,3rem)/1 var(--serif);font-optical-sizing:auto;font-variant-numeric:tabular-nums}
.twolines .t{font-size:16px;line-height:25px;text-wrap:pretty}
.twolines>p:first-child{font-size:16px;line-height:25px;margin-bottom:10px}
.twolines .when{display:block;font-size:14px;line-height:20px;color:var(--muted);margin-top:6px}
.twolines hr{height:1px;border:0;background:var(--rule);margin:0}
.twolines .caption{margin-top:12px}
@media (max-width:480px){.twolines .line{grid-template-columns:1fr;gap:6px}}
.xsec{margin-top:var(--block-l)}
.xs{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:32px;margin-top:12px;font-size:15px;line-height:21px}
.xs-assure{grid-row:1/6;position:relative;padding:4px 0 4px 18px;font-size:14px;line-height:20px;display:grid;align-content:start;gap:4px}
.xs-assure::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--text)}
.xs-assure::after{content:"";position:absolute;left:-3px;top:0;width:7px;height:7px;border-radius:50%;background:var(--text)}
.xs-assure strong{font-weight:500}
.xs-assure span{color:var(--muted)}
.xs-box{border:1px solid var(--text);padding:14px 16px;background:var(--canvas)}
.xs-box strong{font-weight:500}
.xs-box small{display:block;color:var(--muted);font-size:13px;line-height:18px;margin-top:4px}
.xs-box.ghost{border-style:dotted;color:var(--muted)}
.xs-stop{position:relative;margin-top:12px;padding-left:18px;font-size:13px;line-height:20px;color:var(--retained);text-wrap:pretty}
.xs-stop::before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;border:1px solid var(--retained)}
.xs-box.ret{border-color:var(--retained)}
.xs-box.ret strong{color:var(--retained)}
.xs-conn{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 16px;font-size:13px;line-height:20px;color:var(--muted)}
.xs-conn .ret{color:var(--retained)}
.xs-mid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:24px}
.xs-perm,.xs-client{border:1px dashed var(--muted);padding:26px 16px 16px;position:relative}
.bnd-label{position:absolute;top:-10px;left:12px;right:12px;background:var(--canvas);padding:0 6px;font-size:13px;line-height:20px;color:var(--muted);width:max-content;max-width:calc(100% - 24px);text-wrap:pretty}
.xs-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:1024px){.xs-perm{padding-top:46px}}
@media (max-width:768px){.xs{grid-template-columns:1fr}.xs-assure{grid-row:auto;margin-bottom:20px}.xs-mid,.xs-bottom{grid-template-columns:1fr}.bnd-label{position:static;width:auto;max-width:none;padding:0;margin:-8px 0 12px;display:block}.xs-perm,.xs-client{padding-top:16px}.xs-conn{padding-inline:0}}
.qlist{list-style:none;padding:0;margin-top:40px;display:grid;max-width:var(--measure);border-top:1px solid var(--rule)}
.qlist li{padding:14px 0;border-bottom:1px solid var(--rule);font-size:18px;line-height:27px}
.sov{margin-top:28px}
/* atlas */
.atlas-bar{margin-top:clamp(40px,5vw,64px);display:grid;gap:18px}
.scen-label{font-size:14px;line-height:21px;color:var(--text)}
.scen-label::before{content:"";display:inline-block;width:7px;height:7px;border:1px solid var(--text);border-radius:50%;margin-right:10px;vertical-align:1px}
.ind-choices{display:flex;flex-wrap:wrap;gap:0 28px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:4px 0}
.ind-choices button{appearance:none;background:none;border:0;padding:10px 0;min-height:44px;font:inherit;font-size:16px;line-height:22px;color:var(--muted);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.32em;text-decoration-color:var(--rule);cursor:pointer;text-align:left;transition:color var(--dur-s) var(--ease),text-decoration-color var(--dur-s) var(--ease)}
.ind-choices button:hover{color:var(--text)}
.ind-choices button[aria-pressed="true"]{color:var(--text);text-decoration-color:var(--ice);text-decoration-thickness:2px}
.atlas-tools{display:flex;justify-content:flex-end}
.ind-lab,#ind-select{display:none}
@media (max-width:768px){.js .ind-choices{display:none}.js .atlas-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 16px}.js .ind-lab{display:block;grid-row:1;grid-column:1;font-size:14px;line-height:21px;color:var(--muted);padding-bottom:10px}.js #ind-select{display:block;grid-row:2;grid-column:1/-1;appearance:none;-webkit-appearance:none;width:100%;min-height:48px;margin:0;padding:0 44px 0 14px;border:1px solid var(--muted);border-radius:6px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23F2F0EA' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 16px center;color:var(--text);font:inherit;font-size:17px;line-height:1.2;text-overflow:ellipsis}.atlas-tools .tbtn{grid-row:1;grid-column:2;font-size:15px;padding:0;min-height:44px}.js .spread{margin-top:8px}}
.atlas-tools .tbtn{font-size:16px}
.spread{margin-top:clamp(24px,3vw,40px)}
.ind{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:var(--gutter);row-gap:28px;padding-top:28px}
.ind+.ind{margin-top:72px;border-top:1px solid var(--rule)}
.ind h3{grid-column:1/6;font:500 16px/23px var(--sans);color:var(--text)}
.scene-back{display:block;margin-top:14px;font:400 14px/21px var(--sans);color:var(--muted)}
.ind .scene-text{grid-column:1/6;font:500 clamp(1.5rem,2.3vw,2rem)/1.25 var(--serif);font-optical-sizing:auto;text-wrap:pretty;align-self:start}
.ind .fields{grid-column:6/-1;grid-row:1/3;display:grid;align-content:start;border-top:1px solid var(--rule)}
.ind .fields>div{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);column-gap:24px;row-gap:6px;padding:14px 0;border-bottom:1px solid var(--rule)}
.ind .fields dt{position:relative;padding-left:18px;font-size:14px;line-height:25px;font-weight:500}
.ind .fields dt::before{content:"";position:absolute;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.f-cheap dt::before{left:0;top:4px;width:2px;height:14px;background:var(--ice);box-shadow:5px 0 0 var(--ice)}
.f-scarce dt::before{left:0;top:6px;width:9px;height:9px;border:1px solid var(--text)}
.f-knows dt::before{left:3px;top:4px;width:2px;height:14px;background:var(--retained)}
.f-person dt::before{left:0;top:6px;width:9px;height:9px;border-radius:50%;background:var(--text)}
.ind .fields dd{font-size:16px;line-height:25px;text-wrap:pretty}
.ind .signal{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:20px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:8px}
.ind .signal dt{grid-column:1/3;font-size:14px;line-height:21px;color:var(--muted)}
.ind .signal dd{grid-column:3/11;font-size:16px;line-height:25px;text-wrap:pretty}
.ind .signal .lim{display:block;font-size:14px;line-height:21px;color:var(--muted);margin-top:6px}
.ind .signal .lim time{color:var(--muted)}
.js .ind:not(.active){display:none}
.js .atlas:not(.readall) .ind{margin-top:0;border-top:0}
#industries.readall .ind-lab,#industries.readall #ind-select{display:none!important}
.js .atlas.readall .ind{display:grid}
.js .atlas:not(.readall) .ind.active{animation:fade var(--dur) var(--ease)}
.js .atlas.readall .ind h3{font:500 clamp(1.25rem,1.6vw,1.5rem)/1.3 var(--serif)}
@media (max-width:1024px){.ind h3,.ind .scene-text{grid-column:1/-1}.ind .fields{grid-column:1/-1;grid-row:auto}.ind .signal dt{grid-column:1/-1}.ind .signal dd{grid-column:1/-1}}
@media (max-width:640px),(min-width:1025px) and (max-width:1180px){.ind .fields>div{grid-template-columns:1fr}}
/* closing */
.prompts{counter-reset:q;list-style:none;padding:0;margin-top:48px;max-width:var(--measure);border-top:1px solid var(--rule)}
.prompts li{counter-increment:q;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font:500 clamp(1.25rem,1.7vw,1.5rem)/1.3 var(--serif);font-optical-sizing:auto;text-wrap:pretty}
.prompts li::before{content:counter(q);font:400 14px/20px var(--sans);color:var(--muted);padding-top:.45em;font-variant-numeric:tabular-nums}
.actions{display:flex;flex-wrap:wrap;gap:0 32px;margin-top:28px;align-items:center}
.actions a{font-size:17px;padding:10px 0;display:inline-block;min-height:44px}
.action-status{min-height:27px;font-size:16px;line-height:27px;margin-top:8px}
.publisher{margin-top:var(--block-l);max-width:var(--measure);color:var(--muted);font-size:16px;line-height:26px;text-wrap:pretty}
.publisher p+p{margin-top:14px}
/* sources */
.sources{margin-top:var(--chapter-gap);padding-bottom:128px}
.sources .ch-head{margin-bottom:40px}
.sources .intro{max-width:var(--measure);display:grid;gap:18px}
.sources .intro p{text-wrap:pretty}
.classes{list-style:none;padding:0;display:grid;gap:10px;font-size:16px;line-height:25px;max-width:var(--measure)}
.classes b{font-weight:500}
.src-list{list-style:none;padding:0;margin-top:48px;border-top:1px solid var(--rule)}
.src-group{font-size:14px;line-height:21px;color:var(--muted);padding:28px 0 8px}
.src{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--rule);font-size:15px;line-height:23px;scroll-margin-top:72px}
.src:target{box-shadow:inset 3px 0 0 var(--ice);padding-left:16px;margin-left:-19px}
.src-id{font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}
.src-title{font-size:16px;line-height:24px}
.src-meta{color:var(--muted);font-size:14px;line-height:21px;margin-top:4px;font-variant-numeric:tabular-nums}
.src-use{margin-top:10px;max-width:46rem;text-wrap:pretty}
.src-lim{color:var(--muted);margin-top:6px;max-width:46rem;text-wrap:pretty}
.src-back{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:12px;font-size:14px;line-height:21px}
.src-back a{color:var(--muted)}
.src-back a:hover{color:var(--text)}
.eclass{display:inline-block;border:1px solid var(--muted);border-radius:999px;padding:1px 10px;font-size:13px;line-height:19px;color:var(--muted);margin-left:8px;vertical-align:2px;white-space:nowrap}
.src details{margin-top:10px}
.src summary{cursor:pointer;color:var(--muted);font-size:14px;line-height:20px;min-height:32px;display:flex;align-items:center;gap:10px;list-style:none}
.src summary::before{content:"+";content:"+" / "";color:var(--text)}
.src details[open] summary::before{content:"−";content:"−" / ""}
.src details ul{padding-left:18px;margin-top:6px;color:var(--muted);font-size:14px;line-height:21px}
@media (max-width:480px){.src{grid-template-columns:1fr;gap:6px}}
/* disclosures */
details.note{max-width:var(--measure);margin-top:28px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
details.note summary{cursor:pointer;padding:11px 0;font-size:15px;line-height:22px;color:var(--muted);list-style:none;display:flex;gap:12px;align-items:center;min-height:44px}
summary::-webkit-details-marker{display:none}
details.note summary::before{content:"+";content:"+" / "";font-size:18px;width:14px;color:var(--text);flex:none}
details.note[open] summary::before{content:"−";content:"−" / ""}
details.note summary:hover{color:var(--text)}
details.note .note-body{padding:4px 0 20px;font-size:15px;line-height:23px;text-wrap:pretty}
details.note .note-body p+p{margin-top:10px}
.method{font-size:14px;line-height:21px;color:var(--muted)}
.grid>details.note{grid-column:3/10}
@media (max-width:1024px){.grid>details.note{grid-column:1/10}}
.grid>details.read{grid-column:1/8;margin-top:0}
.xsec>details.read{margin-top:14px}
@media (max-width:1024px){.grid>details.read{grid-column:1/10}}
/* a citation opens its source beside it; the link still leads to Sources without script */
.cite-pop{position:absolute;inset:auto;margin:0;width:min(27rem,calc(100vw - 32px));max-height:min(32rem,calc(100vh - 32px));overflow:auto;padding:16px 18px 0;border:1px solid var(--muted);border-radius:6px;background:var(--surface);color:var(--text);font-size:14px;line-height:21px;box-shadow:0 16px 48px rgba(0,0,0,.5)}
.cite-pop::backdrop{background:transparent}
.cite-pop .src-id{display:block;font-size:13px;line-height:18px;color:var(--muted);margin-bottom:4px}
.cite-pop .src-title{font-size:15px;line-height:22px}
.cite-pop .src-use,.cite-pop .src-lim{max-width:none}
.cp-foot{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;border-top:1px solid var(--rule);padding-block:4px 6px;background:var(--surface)}
.cp-foot a,.cp-foot button{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.cp-foot button{appearance:none;background:none;border:0;padding:0;color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--muted);cursor:pointer}
.cp-foot button:hover{text-decoration-color:var(--ice)}
@media (max-width:560px){.cite-pop{position:fixed;left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto;max-height:70vh}}
/* contents dialog */
dialog.contents{background:var(--surface);color:var(--text);border:1px solid var(--rule);padding:0;width:min(600px,calc(100vw - 48px));margin:auto;border-radius:6px;max-height:calc(100vh - 48px)}
dialog.contents::backdrop{background:rgba(13,15,18,.74)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;border-bottom:1px solid var(--rule);font-size:14px;line-height:20px;color:var(--muted)}
.dlg-close{background:none;border:0;cursor:pointer;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--muted);font-size:15px;color:var(--text)}
.toc{list-style:none;padding:8px 28px 20px;margin:0}
.toc a{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:16px;padding:11px 0;text-decoration:none;border-bottom:1px solid var(--rule);font-size:15px;line-height:22px;min-height:44px;align-items:baseline}
.toc li:last-child a{border-bottom:0}
.toc .k{color:var(--muted);font-variant-numeric:tabular-nums}
.toc a:hover .s,.toc a:focus-visible .s{text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--ice)}
@media (max-width:480px){.toc a{grid-template-columns:1fr;gap:2px}}
/* print */
@media print{:root{--canvas:#fff;--surface:#f4f4f4;--text:#111;--muted:#444;--rule:#bbb;--ice:#1f4e9b;--retained:#7a5a1f}html,body{background:#fff;color:#111}body{font-size:11pt;line-height:1.45}.progress,.topbar,.masthead nav,.ind-choices,.atlas-tools,.rt-controls,.rt-msg,.actions,.action-status,.seg-ctl,.quiet,.cite-pop{display:none!important}.score.anim .marks{clip-path:none!important}.m,.rt-exec,.rt-keep,.key{break-inside:avoid}.night-head{break-after:avoid}.rt-lede{display:none}.rt-controls{position:static!important}.measure svg [stroke="#F2F0EA"]{stroke:var(--text)}.measure svg [stroke="#B7CEF5"]{stroke:var(--ice)}.cover{min-height:auto;animation:none}.chapter,.sources{margin-top:56px;break-before:auto}.ind{display:grid!important;break-inside:avoid;animation:none}.ind+.ind{margin-top:40px}.layer-resp{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}.layer-exec{opacity:1!important}.src,.fig,.remains .row,.prompts li{break-inside:avoid}.src-title a::after{content:" — " attr(href);font-size:9pt;color:#444;word-break:break-all}.cover-title{font-size:56pt}.question{font-size:22pt}.ch-title{font-size:30pt}a{text-decoration-color:#888}}
/* Windows contrast themes strip backgrounds, which is what the marks are drawn with */
@media (forced-colors:active){:root{--text:CanvasText;--ice:CanvasText;--retained:CanvasText;--muted:CanvasText;--canvas:Canvas}.tally,.run,.tick,.p,.flag,.route,.riser,.notice,.key-dots i,.key-base,.key-base i,.people::after,.kept::before,.wf .strokes i,.hbar .bar,.bar100 .seg.ow{forced-color-adjust:none}.seg-ctl input:checked+label{forced-color-adjust:none;background:Highlight;color:HighlightText}}
