:root{--paper:#faf8f2;--ink:#222324;--muted:#656369;--line:#d3cfd3;--lavender:#e8e2ef;--purple:#61516e;--green:#315e4f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}img{display:block;width:100%;height:auto}p{margin:0 0 1.2em}h1,h2,h3{font-weight:600;letter-spacing:-.055em;line-height:1.04;margin:0}h2{font-size:clamp(36px,4.1vw,59px)}h3{font-size:30px;letter-spacing:-.035em}figure,dl,dd{margin:0}.wrap{max-width:1272px;padding-inline:48px;margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;padding:15px;background:white;z-index:9}.skip:focus{top:10px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:20px;border-bottom:1px solid var(--line)}.masthead img{width:153px;mix-blend-mode:multiply}.edition{font-size:10px;letter-spacing:.16em;line-height:1.8}.edition b{display:block;font-weight:400;color:var(--muted)}.masthead nav{display:flex;gap:25px;font-size:12px}.masthead nav a{text-decoration:none}.masthead nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding-block:65px 68px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);font-weight:700;margin-bottom:24px}.hero h1{font-size:clamp(63px,6.9vw,96px);line-height:.97;letter-spacing:-.065em;margin:0 0 30px}.hero em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}.lead{font:23px/1.43 Georgia,serif;max-width:440px}.intro{font-size:15px;color:var(--muted);max-width:410px}.text-link{display:inline-flex;gap:28px;align-items:center;text-decoration:none;border-bottom:1px solid var(--ink);font-size:13px;padding-bottom:7px;margin-top:10px}.text-link span{font-size:25px}.hero-specs{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:21px;margin-top:35px}.hero-specs dt{font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.hero-specs dd{font-size:12px;margin-top:4px}.plate{background:#eae6df;padding:12px}.plate-label{display:block;font-size:9px;letter-spacing:.13em;padding:2px 0 12px}.enlarge{border:0;background:transparent;padding:0;position:relative;display:block;width:100%;color:var(--ink)}.enlarge img{transition:filter .18s}.enlarge:hover img{filter:brightness(1.04)}.zoom{position:absolute;bottom:10px;right:10px;background:var(--paper);border:1px solid #d3cfd3;padding:1px 10px;font-size:22px}.hero-figure img{max-height:550px;object-fit:cover}.hero-figure figcaption{margin-top:16px}figcaption{font-size:12px;line-height:1.6;color:var(--muted);display:flex;gap:14px;padding-top:14px}.caption-index{color:var(--purple);font-size:10px;min-width:18px;border-top:1px solid var(--purple);padding-top:3px}.brief{background:var(--lavender);border-block:1px solid var(--line)}.brief-grid{display:grid;grid-template-columns:.55fr 1.2fr 1.6fr;gap:40px;padding-block:43px}.brief-grid>.eyebrow{margin-top:8px}.brief h2{font-size:41px}.brief p:not(.eyebrow){font-size:16px}.scope{font-size:10px;letter-spacing:.06em;color:var(--purple)}.section{padding-block:70px}.chapter{display:flex;align-items:center;gap:18px;margin-bottom:38px}.chapter>span{display:grid;place-content:center;background:var(--lavender);width:36px;height:36px;font-size:14px}.chapter p{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.chapter i{height:1px;flex:1;background:var(--line)}.section-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;align-items:start;margin-bottom:40px}.section-intro>p,.section-intro>div>p{font:19px/1.6 Georgia,serif}.build-spread{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.build-spread>figure img{height:620px;object-fit:cover}.build-notes{padding-top:12px}.build-notes h3{font-size:38px;margin-bottom:23px}.build-notes>p:not(.eyebrow){font-size:16px;max-width:410px}.detail-photo{margin-top:28px}.detail-photo img{height:300px;object-fit:cover;object-position:center 54%}.build-facts{border-block:1px solid var(--line);margin-top:40px;padding:23px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.build-facts>div{display:flex;gap:22px;align-items:center}.build-facts strong{font-size:34px;letter-spacing:-.04em;font-weight:500;white-space:nowrap}.build-facts p{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}.system-section{background:#efede7;padding-block:60px}.signal-path{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid #c6c1c8;padding:28px 0}.signal-path>div{flex:1}.node-number{display:block;font:italic 24px Georgia,serif;color:var(--purple);margin-bottom:10px}.signal-path strong{font-size:18px;letter-spacing:-.03em}.signal-path p{font-size:12px;color:var(--muted);margin:3px 0 0}.flow-arrow{font-size:24px;color:var(--purple)}.path-note{font-size:11px;color:var(--muted);margin-top:13px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:38px}.principles h3{font-size:23px;margin-bottom:14px}.principles p{font-size:14px}.explainer{border:1px solid #c3b9cc;padding:32px;background:#f2edf6}.explainer-heading{display:flex;justify-content:space-between;gap:30px;align-items:start}.explainer-heading .eyebrow{margin-bottom:12px}.explainer h3{font-size:30px}.simulation{font-size:8px;letter-spacing:.12em;max-width:160px;text-align:right;color:var(--purple)}.demo-intro{font-size:14px;max-width:650px;margin-top:20px}.demo-controls{display:flex;justify-content:space-between;gap:18px;margin-top:30px}.segmented{display:flex;border:1px solid var(--purple);padding:3px;gap:3px}.segmented button{font-size:12px;border:0;background:transparent;color:var(--purple);padding:10px 17px}.segmented button[aria-pressed=true]{background:var(--purple);color:white}.play-button{background:var(--ink);color:var(--paper);border:0;padding:10px 20px;font-size:12px}.play-button span{margin-left:18px}.play-button:disabled{opacity:.6;cursor:wait}.timing{margin:35px 20px 28px}.track-label{display:flex;gap:25px;align-items:center;font-size:10px;margin-bottom:20px}.track-label b{color:var(--purple);font-weight:400}.track{position:relative;height:53px;background:#e3dce9;border-bottom:2px solid var(--purple)}.pressed-block{position:absolute;left:10%;width:10%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--purple);color:white;font-size:9px;letter-spacing:.06em}.poll{position:absolute;top:-7px;bottom:-8px;border-left:1px dashed #9c8daa}.p0{left:0}.p1{left:50%}.p2{right:0}.time-labels{display:flex;justify-content:space-between;font-size:10px;margin-top:13px}.time-labels>span{text-align:center}.time-labels>span:first-child{text-align:left}.time-labels>span:last-child{text-align:right}.time-labels b{font-weight:400;color:var(--purple)}.playhead{display:none;position:absolute;left:0;top:-10px;bottom:-10px;width:3px;background:#b14e25;box-shadow:0 0 0 3px #f2edf6a6}.playhead.running{display:block;animation:sweep 1.6s linear forwards}@keyframes sweep{to{left:100%}}.demo-result{display:flex;gap:20px;border-top:1px solid #c8bfce;padding-top:23px}.demo-result>span{font:30px Georgia,serif;color:var(--purple);width:24px}.demo-result strong{font-size:17px}.demo-result p{font-size:13px;margin:5px 0 0}.demo-footnote{font-size:10px;color:var(--muted);margin:24px 0 0;max-width:770px}.takeaway{padding:40px 0 0;display:flex;gap:50px;align-items:center}.takeaway>span{font-size:9px;letter-spacing:.14em;color:var(--purple)}.takeaway p{font:italic 32px/1.25 Georgia,serif;margin:0}.results-section{background:var(--lavender);padding-block:60px}.results-table{border-top:1px solid #b9afc3}.results-row{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:23px 0;border-bottom:1px solid #cbc2d3;font-size:15px}.results-row p{margin:0}.results-row strong{font-size:16px;font-weight:500}.table-head{padding:13px 0;font-size:9px;letter-spacing:.14em;color:var(--purple)}.limits{margin-top:30px;border-block:1px solid #b9afc3}.limits summary{list-style:none;cursor:pointer;padding:18px 0;font-size:13px;display:flex;justify-content:space-between;gap:24px}.limits summary::-webkit-details-marker{display:none}.limits summary span{font-size:22px;line-height:1}.limits[open] summary span{transform:rotate(45deg)}.limits>div{max-width:810px;padding-bottom:12px;font-size:13px}.closing{padding-block:75px 45px}.closing h2{font-size:clamp(35px,4.2vw,58px);margin-bottom:33px}.closing-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;font:18px/1.65 Georgia,serif}.closing-rule{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:30px;margin-top:28px;border-top:1px solid var(--line)}.closing-rule span{font-size:9px;letter-spacing:.1em}.closing-rule a{font-size:12px}footer{border-top:1px solid var(--line);padding-block:25px;display:flex;align-items:center;gap:40px}footer img{width:130px;mix-blend-mode:multiply}footer p{font-size:9px;line-height:1.9;letter-spacing:.04em;margin:0}footer>span{margin-left:auto;font:italic 30px Georgia,serif;color:var(--purple)}dialog{border:0;padding:20px;background:var(--paper);max-width:900px;width:92vw;max-height:94vh}dialog::backdrop{background:#1d1d20d9}dialog>button{display:block;margin-left:auto;background:transparent;border:1px solid var(--line);padding:5px 14px;font-size:13px}dialog img{max-height:72vh;object-fit:contain;margin-top:15px}dialog p{font-size:13px;max-width:680px;margin:15px 0 0}body.modal-open{overflow:hidden}
@media(min-width:1450px){.hero{gap:100px}.hero-figure img{max-height:610px}}
@media(max-width:1000px){.wrap{padding-inline:30px}.hero{gap:38px}.hero h1{font-size:70px}.hero-specs{flex-wrap:wrap}.section-intro{gap:40px}.build-spread{gap:40px}.build-spread>figure img{height:600px}.brief-grid{grid-template-columns:1fr 1.5fr}.brief-grid>.eyebrow{grid-column:1/-1;margin:0}.build-facts>div{display:block}.build-facts p{margin-top:7px}.principles{gap:25px}.edition{display:none}}
@media(max-width:680px){.wrap{padding-inline:22px}.masthead{padding-block:17px;gap:18px}.masthead img{width:115px}.masthead nav{gap:13px;font-size:10px}.masthead nav a:first-child{display:none}.hero{grid-template-columns:1fr;padding-block:38px 40px;gap:34px}.hero h1{font-size:66px}.hero .eyebrow{margin-bottom:20px}.lead{font-size:21px}.intro{font-size:14px}.hero-specs{margin-top:28px;gap:12px}.hero-specs dd{font-size:11px}.hero-figure img{max-height:560px;object-fit:contain}.brief-grid{grid-template-columns:1fr;gap:22px;padding-block:30px}.brief h2{font-size:37px}.section{padding-block:42px}.chapter{gap:12px;margin-bottom:28px}.chapter p{font-size:9px;max-width:230px}.chapter>span{min-width:30px;width:30px;height:30px}.section-intro{grid-template-columns:1fr;gap:23px;margin-bottom:26px}.section-intro>p,.section-intro>div>p{font-size:18px}.build-spread{grid-template-columns:1fr;gap:30px}.build-spread>figure img{height:auto;max-height:590px;object-fit:contain}.build-notes{padding:0}.build-notes h3{font-size:33px}.detail-photo img{height:300px}.build-facts{gap:14px;padding-block:20px}.build-facts strong{font-size:25px}.build-facts p{font-size:9px}.system-section,.results-section{padding-block:40px}.signal-path{display:grid;grid-template-columns:1fr 24px 1fr;gap:20px}.signal-path>.flow-arrow:nth-child(4){display:none}.signal-path strong{font-size:16px}.signal-path p{font-size:11px}.principles{grid-template-columns:1fr;gap:15px;margin-top:28px}.principles h3{font-size:24px}.explainer{padding:22px 17px}.explainer-heading{display:block}.explainer h3{font-size:27px}.simulation{display:block;max-width:none;text-align:left;margin-top:14px}.demo-controls{flex-direction:column;margin-top:20px}.segmented button{flex:1;padding:10px 5px;font-size:11px}.timing{margin:30px 3px}.pressed-block{font-size:7px}.demo-result strong{font-size:15px}.demo-result{gap:10px}.demo-footnote{font-size:10px}.takeaway{display:block;padding-top:30px}.takeaway p{font-size:27px;margin-top:15px}.results-row{grid-template-columns:1fr;gap:8px;padding-block:18px;font-size:14px}.table-head{display:none}.limits summary{font-size:12px}.closing{padding-block:45px 30px}.closing-copy{grid-template-columns:1fr;gap:0;font-size:17px}.closing-rule{align-items:start}.closing-rule span{font-size:8px;max-width:160px}footer{gap:20px}footer img{width:105px}footer p{font-size:8px}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition:none!important}}
@media print{body{background:white;font-size:11pt}.masthead nav,.demo-controls,.zoom,.text-link,.closing-rule,dialog{display:none}.wrap{padding-inline:0}.hero{padding-block:20pt}.hero h1{font-size:48pt}.hero-figure img{max-height:350pt}.section,.system-section,.results-section{padding-block:20pt}h2{font-size:30pt}.chapter{break-after:avoid}.build-spread>figure img{height:350pt}.enlarge{break-inside:avoid}.explainer{break-inside:avoid}.results-row{break-inside:avoid}}

/* Photo-led assembly story: show the full drawings and photographs. */
.build-stage{margin-top:48px;padding-top:38px;border-top:1px solid var(--line)}
.stage-copy{max-width:780px}.stage-copy h3{font-size:32px;margin-bottom:20px}.stage-copy p{font-size:16px;line-height:1.7}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px;align-items:start}
.photo-pair .enlarge,.paper-stage .enlarge,.powered-stage .enlarge{background:#eae6df}
.photo-pair img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.paper-stage{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}
.paper-stage img{max-height:680px;object-fit:contain}.paper-stage .eyebrow{font-size:11px}
.powered-stage{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin:35px 0 45px}
.powered-stage img{max-height:550px;object-fit:contain}
@media(max-width:680px){.build-stage{margin-top:35px;padding-top:28px}.photo-pair,.paper-stage,.powered-stage{grid-template-columns:1fr;gap:28px}.stage-copy h3{font-size:29px}.photo-pair img{max-height:580px}.paper-stage .stage-copy{grid-row:1}.paper-stage img{max-height:none}.powered-stage img{max-height:540px}}

/* Explain the counter exchange with visible state at each step. */
.step-controls{display:flex;flex-wrap:wrap;gap:8px}.plain-button{font-size:12px;padding:9px 12px;border:1px solid var(--purple);background:transparent;color:var(--purple)}.plain-button:disabled{opacity:.4;cursor:default}
.protocol-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.protocol-state>div{border:1px solid #c8bfce;padding:18px;background:var(--paper);min-width:0}.protocol-state span{font-size:9px;letter-spacing:.09em;color:var(--purple)}.protocol-state strong{display:block;font-size:32px;line-height:1.3;margin:8px 0;font-variant-numeric:tabular-nums}.protocol-state p{font-size:12px;margin:0;line-height:1.5}
.protocol-steps{display:flex;flex-wrap:wrap;gap:9px 24px;padding:20px 0 0 20px;font-size:11px;color:var(--muted)}.protocol-steps li{padding:5px 8px}.protocol-steps li[aria-current]{color:var(--ink);background:#ddd3e6;font-weight:bold}
.protocol-notes{margin-top:36px}.protocol-notes h3{margin-bottom:22px}.protocol-detail>div{max-width:900px}.protocol-detail h4{font-size:18px;margin:26px 0 10px}.protocol-detail p{font-size:15px}.protocol-detail code{font-size:.88em;overflow-wrap:anywhere}.protocol-detail pre{overflow-x:auto;background:#eee9f0;padding:20px;line-height:1.6}.protocol-detail pre code{white-space:pre}
@media(max-width:680px){.protocol-state{grid-template-columns:1fr;gap:8px}.protocol-state>div{padding:12px 15px}.protocol-state strong{font-size:27px;margin:3px 0}.step-controls>*{flex:1}.protocol-detail p{font-size:14px}.protocol-state p{font-size:11px}}

.counter-intro{margin:45px 0 30px}.button-feedback{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:30px}@media(max-width:680px){.button-feedback{grid-template-columns:1fr}.counter-intro{margin-top:32px}}

/* Move directly from the opening into the photographed build. */
.hero{padding-bottom:40px}.photo-build{padding-top:30px}.photo-build>.chapter{margin-bottom:24px}.opening-build{margin-top:0;padding-top:0;border-top:0}.opening-build h2{font-size:clamp(34px,3.7vw,50px);margin-bottom:26px}.opening-build .photo-pair{margin-top:0}.photo-step{min-width:0}.photo-step-copy{font-size:16px;line-height:1.7;margin:20px 0 0;max-width:560px}
@media(max-width:680px){.hero{padding-bottom:28px}.photo-build{padding-top:22px}.opening-build h2{font-size:34px}.photo-step-copy{font-size:15px;margin-top:15px}.opening-build .photo-pair{gap:32px}}
