@font-face{font-family:Bodoni;src:url('/fonts/bodoni-moda-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Bodoni;src:url('/fonts/bodoni-moda-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Barlow;src:url('/fonts/barlow-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('/fonts/barlow-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Barlow;src:url('/fonts/barlow-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--paper:#eeeae1;--ink:#263b2e;--muted:#60685d;--line:#c2c6b7;--lime:#dce98d;--heat:#b3462e;--serif:Bodoni,Georgia,'Times New Roman',serif;--sans:Barlow,'Helvetica Neue',Arial,sans-serif;--pad:clamp(24px,4.6vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--heat)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--heat);outline-offset:5px}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{border:0}b,strong{font-weight:600}svg{display:block}input{border-radius:0}button:disabled{opacity:.55;cursor:wait}.skip-link{position:fixed;z-index:20;top:-100px;left:20px;padding:12px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:10px}
.site-header{height:101px;position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;margin:0 var(--pad);border-bottom:1px solid var(--line);background:var(--paper);gap:24px}.wordmark{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:600;line-height:1.1;letter-spacing:-.3px;text-decoration:none}.wordmark svg{width:34px;height:38px}.site-header nav{display:flex;gap:36px;font-size:15px}.site-header nav a{text-decoration:none}.header-access{font-size:15px;text-decoration:none;border:1px solid var(--ink);padding:10px 17px;display:flex;gap:22px;align-items:center}.header-access:hover{background:var(--ink);color:var(--paper)}.reading-progress{height:2px;width:0;background:var(--heat);position:fixed;top:100px;left:var(--pad);z-index:11;max-width:calc(100% - 2 * var(--pad))}
.hero{padding:34px var(--pad) 0;overflow:hidden}.hero-kicker,.hero-bottom,.chapter-label,.figure-heading,.access-label{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;font-weight:500}.hero-kicker{display:flex;justify-content:space-between}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:3vw;align-items:center;padding-top:56px}h1{font-family:var(--serif);font-size:clamp(53px,6.2vw,100px);letter-spacing:-3.8px;line-height:1.075;max-width:1040px}h1 em{font-style:italic;color:var(--heat)}.hero-link{margin-top:32px}.text-link{background:none;padding:0;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid currentColor;text-decoration:none;font-size:15px;line-height:1.8}.circuit-wrap{position:relative;color:var(--ink);max-width:440px;width:100%;margin:auto;align-self:center}.heat-circuit{width:100%;overflow:visible}.heat-circuit .pipe{stroke-width:10;stroke-linecap:round}.pipe-cold{stroke:#8c9c87}.pipe-hot{stroke:#c88464}.flow{stroke-width:4;stroke-dasharray:3 67;stroke-linecap:round;animation:flow 14s linear infinite}.flow-cold{stroke:var(--ink)}.flow-hot{stroke:#a8341e;animation-duration:12s}.heat-circuit>circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}.exchanger rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}.exchanger path{stroke:var(--ink);stroke-width:1.5}.rotor circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}.rotor path{fill:var(--ink)}.circuit-caption{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:1px;border-top:1px solid var(--line);padding-top:15px}.motion-control{display:flex;gap:10px;align-items:center;float:right;padding:10px 0;background:none;font-size:11px;color:var(--muted)}.motion-paused .flow{animation-play-state:paused}.hero-body{max-width:760px;margin:64px 0 64px auto;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;font-size:18px!important}.hero-body p+p{margin:0;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0 26px}.hero-bottom>span:last-child{font-size:22px;line-height:1}
.chapter{margin:0 var(--pad);padding:78px 0 86px;border-top:1px solid var(--line);display:grid;grid-template-columns:190px minmax(0,1fr);gap:5vw}.chapter-label{display:flex;flex-direction:column;gap:13px;align-self:start;position:sticky;top:133px;font-size:11px}.chapter-label span:first-child{font-size:35px;font-family:var(--serif);letter-spacing:-1px}.chapter-label span:last-child{max-width:170px;line-height:1.5}.chapter h2{font-family:var(--serif);font-size:clamp(35px,3.8vw,61px);line-height:1.16;letter-spacing:-1.7px;max-width:1000px;margin-bottom:44px}.prose{font-size:19px;line-height:1.65}.prose p{margin:0 0 24px}.prose p:last-child{margin-bottom:0}.prose h3{font-size:29px;font-family:var(--serif);line-height:1.25;margin:42px 0 20px}.prose ul,.prose ol{padding-left:22px;margin:24px 0}.prose li{padding-left:5px;margin:12px 0}.prose a{color:inherit;text-decoration-color:#8e9d87}.prose a:hover{color:var(--heat)}.prose>p>b:only-child{font-size:1.12em;font-weight:500}.problem-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:start}.problem-grid>.prose{font-size:18px}.cop-figure{background:#e3e5d6;padding:27px;position:sticky;top:130px;border-top:2px solid var(--ink)}.figure-heading{display:flex;gap:16px;justify-content:space-between;font-size:10px;line-height:1.4}.figure-heading>span:last-child{text-align:right;color:var(--muted)}.cop-controls,.cost-controls{display:flex;gap:4px;margin-top:28px}.cop-controls button,.cost-controls button{padding:10px 13px;border:1px solid #abb6a1;font-size:13px;background:none;flex:1;line-height:1.3}.cop-controls button.is-active,.cost-controls button.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.ratio-display{display:flex;align-items:baseline;justify-content:center;gap:16px;font-family:var(--serif);font-size:112px;line-height:1.3;padding:21px 0}.ratio-symbol{font-family:var(--sans);font-size:56px;font-weight:400;color:#839278}.ratio-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #acb6a1;padding-top:13px;font-size:11px}.ratio-rule span:last-child{text-align:right}.cop-figure>p{margin-top:24px;font-size:13px;line-height:1.5;color:var(--muted)}
#solution{background:var(--ink);color:var(--paper);padding:66px var(--pad) 80px;margin:0;border-color:var(--ink);grid-template-columns:190px minmax(0,1fr)}#solution .chapter-label{color:#bdc6ae}#solution .prose a{color:var(--paper)}.process{margin:20px 0 38px;border:1px solid #64715c}.process-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #64715c}.process-tabs button{display:flex;align-items:center;gap:14px;background:transparent;color:var(--paper);padding:23px 20px;border-right:1px solid #64715c;font-family:var(--serif);font-size:29px;text-align:left}.process-tabs button:last-child{border:0}.process-tabs button>span:first-child{font:12px var(--sans);opacity:.6;align-self:flex-start;padding-top:4px}.process-tabs button .stage-arrow{margin-left:auto;font-family:var(--sans);font-size:24px;font-weight:400}.process-tabs button[aria-selected=true]{background:var(--lime);color:var(--ink)}.stage-panels{padding:32px 36px;min-height:233px}.stage-panel{font-size:21px;max-width:850px;animation:arrive .3s ease-out}.stage-panel>b:first-child{display:none}.process-return{display:flex;justify-content:space-between;gap:20px;text-align:center;padding:15px 22px;font-size:12px;letter-spacing:.3px;border-top:1px solid #64715c;color:#c3cdb4}.process-return>span{font-size:21px}.solution-rest{font-size:17px;max-width:840px;color:#d3d6c9}.solution-rest p:last-child{color:var(--lime)}
.why-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:4vw;align-items:start}.reasons details{border-top:1px solid var(--line)}.reasons details:last-child{border-bottom:1px solid var(--line)}.reasons summary{list-style:none;padding:21px 0;display:flex;justify-content:space-between;gap:24px;font-size:20px;line-height:1.35;cursor:pointer}.reasons summary::-webkit-details-marker{display:none}.reasons summary .plus{font-size:24px}.reasons details[open] .plus{transform:rotate(45deg)}.reasons .prose{font-size:17px;padding:0 27px 24px 0;color:#465342}.funding-figure{background:#e1e3d5;padding:32px;position:sticky;top:133px}.funding-figure figcaption{font-family:var(--serif);font-size:29px;line-height:1.25;margin-bottom:45px}.funding-amount{font-family:var(--serif);font-size:53px;line-height:1.1}.funding-amount>span{display:block;font-family:var(--sans);font-size:12px;line-height:1.5;margin-top:6px}.funding-track{height:38px;margin:22px 0;background:repeating-linear-gradient(120deg,transparent,transparent 3px,#b6bea8 3px,#b6bea8 4px);border:1px solid #adb69e}.funding-awarded{width:39.7%;height:100%;background:var(--ink);border-right:3px solid var(--paper)}.funding-amount.awarded{font-size:44px;color:#37502e}.closing-note{font-size:19px;margin-top:38px;max-width:650px}.source-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.source-details+.source-details{border-top:0;margin-top:-24px}.source-details>summary{cursor:pointer;padding:18px 0;font-size:16px}.source-details>div{padding:0 0 24px;font-size:16px}.table-scroll{overflow:auto;max-width:100%;margin:30px 0;scrollbar-width:thin}table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.5}th,td{padding:17px 18px 17px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.7px;min-width:140px}th:first-child{min-width:190px}td:first-child{width:40%}.source-callout{padding:28px 0;border-top:1px solid var(--line)}.source-callout b{font-family:var(--serif);font-size:43px;font-weight:400;line-height:1.2;display:inline-block;margin-bottom:8px}.source-callout p{font-size:17px}
.access-section{background:var(--lime);padding:29px var(--pad) 75px;margin-top:0}.access-label{display:flex;justify-content:space-between;border-bottom:1px solid #a9b975;padding-bottom:20px}.access-label span:last-child{font-size:23px;line-height:1}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding-top:40px}.access-grid h2{font-family:var(--serif);font-size:clamp(47px,5vw,78px);line-height:1.1;letter-spacing:-2px;margin-bottom:34px}.locked-chapters>div{display:flex;align-items:center;gap:22px;border-top:1px solid #b4c27b;padding:12px 0;font-size:15px}.locked-chapters>div>span:first-child{font-size:11px;color:#536035}.locked-chapters svg{width:14px;height:14px;stroke:currentColor;stroke-width:1;fill:none;margin-left:auto}.access-form-wrap{padding-top:15px;max-width:440px}.access-intro{font-size:24px;line-height:1.35;margin-bottom:30px}.access-form-wrap label{display:block;font-size:12px;letter-spacing:.7px;text-transform:uppercase;margin-bottom:10px}.access-form-wrap input{width:100%;border:1px solid #788747;background:transparent;color:var(--ink);padding:16px;margin-bottom:12px;font-size:19px}.access-form-wrap input::placeholder{color:#60733b}.button{background:var(--ink);color:var(--paper);padding:17px 20px;font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}.button:hover{background:#3d5035}.access-notice,.privacy-details{font-size:12px;line-height:1.5}.access-notice{margin:19px 0 15px}.privacy-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.privacy-details p{margin:12px 0}.form-status{font-size:14px;margin:15px 0;min-height:24px}.form-status.error{color:#7e240e}.honey{position:absolute;left:-9999px;opacity:0;pointer-events:none}.sent-to{font-size:14px;margin-bottom:20px;overflow-wrap:anywhere}#code{letter-spacing:12px;font-size:32px}.change-email{margin-top:16px;font-size:14px}.signed-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px var(--pad);padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.signed-banner span{overflow-wrap:anywhere}.signed-banner a{font-size:13px}.content-contents{display:flex;gap:18px;flex-wrap:wrap;margin:20px var(--pad) 50px;font-size:12px}.content-contents a{text-decoration:none;border-bottom:1px solid var(--line)}
.economics-explorer{background:#e0e4d2;padding:32px;margin:20px 0 45px}.cost-controls{max-width:460px}.cost-bars{margin:40px 0 24px}.cost-row{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center;margin:18px 0;font-size:14px}.cost-track{height:51px;background:#d4dac6}.cost-baseline{height:100%;width:100%;background:#aeb8a0;display:flex;align-items:center;padding:15px}.cost-stack{display:flex;height:100%;width:80%;transition:width .5s}.cost-stack>span{display:flex;align-items:center;justify-content:center;min-width:0;transition:flex .5s;font-size:15px}.cost-electricity{background:#3c5940;color:#fff;flex:30}.cost-maintenance{background:#91a674;flex:20}.cost-fee{background:#d5e88a;flex:10}.cost-legend{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin-left:180px}.cost-legend>span{display:flex;align-items:center;gap:7px}.cost-legend>span:before{content:'';width:9px;height:9px;background:#3c5940}.cost-legend>span:nth-child(2):before{background:#91a674}.cost-legend>span:nth-child(3):before{background:#d5e88a}.cost-result{display:grid;grid-template-columns:1fr 1.6fr;gap:30px;margin:38px 0 26px;padding-top:25px;border-top:1px solid #acb59b;font-size:16px}.cost-result strong{font-family:var(--serif);font-size:44px;line-height:1.15;font-weight:400}.cost-result small{display:block;font-size:13px;margin-top:7px}.model-note{font-size:13px;max-width:720px;line-height:1.55;margin-bottom:12px}.economics-explorer .text-link{font-size:13px}#round .chapter-content{background:var(--lime);padding:40px}#round h2{font-size:53px}#round .prose ul{list-style:none;padding-left:0}#round .prose li{border-top:1px solid #b4c27b;padding:13px 0;margin:0;display:flex;gap:14px;font-size:18px}#round .prose li:before{content:'↗';font-size:21px}#vision .chapter-content>h2{font-size:clamp(40px,4.5vw,72px)}#full-content .chapter-content>.prose{max-width:980px}#team .prose>p:first-child{font-family:var(--serif);font-size:34px;line-height:1.3}footer{margin:0 var(--pad);padding:30px 0;display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:13px;border-top:1px solid var(--line)}footer a{text-decoration:none}footer button{background:none;font-size:13px;text-decoration:underline}.noscript{padding:30px;background:var(--lime)}.dashboard{max-width:1150px;padding:60px var(--pad);margin:auto}.dashboard h1{font-size:60px;margin-bottom:24px}.dashboard .access-form-wrap{background:var(--lime);padding:28px;margin-top:30px;max-width:500px}.dashboard table{font-size:14px}.dashboard .empty{padding:40px 0;color:var(--muted)}.dashboard .toolbar{display:flex;align-items:center;gap:24px;justify-content:space-between;margin:30px 0}.dashboard .toolbar button{width:auto}.dashboard .meta{font-size:14px;color:var(--muted)}.dashboard td{overflow-wrap:anywhere}
@keyframes flow{to{stroke-dashoffset:-700}}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.chapter{grid-template-columns:230px minmax(0,1fr);gap:100px}#solution{grid-template-columns:230px minmax(0,1fr)}.hero-grid{grid-template-columns:1.6fr 1fr}.hero-body{max-width:880px;margin-right:40px}}
@media(max-width:1100px){.chapter,#solution{grid-template-columns:125px minmax(0,1fr);gap:35px}.problem-grid{gap:25px}.cop-figure{padding:22px}.hero-grid{grid-template-columns:1.6fr 1fr;gap:12px}h1{font-size:65px;letter-spacing:-2.5px}.hero-body{margin-top:50px}.process-tabs button{font-size:24px;padding:18px 14px;gap:10px}.stage-panels{padding:25px;min-height:285px}.why-grid{gap:24px}.funding-figure{padding:24px}.cost-row{grid-template-columns:120px 1fr}.cost-legend{margin-left:140px}.cost-result{grid-template-columns:1fr}.access-grid{gap:7vw}}
@media(max-width:800px){:root{--pad:24px}.site-header{height:83px}.site-header nav{display:none}.wordmark{font-size:15px;gap:9px}.wordmark svg{width:28px}.header-access{font-size:13px;padding:8px 12px;gap:16px}.reading-progress{top:82px}.hero{padding-top:25px}.hero-kicker{font-size:10px;letter-spacing:.7px;gap:20px}.hero-grid{grid-template-columns:1fr;padding-top:33px;gap:25px}h1{font-size:clamp(52px,8.7vw,75px);letter-spacing:-2px;max-width:650px}.hero-link{margin-top:25px}.circuit-wrap{width:250px;margin:5px 0 0 auto}.heat-circuit{height:265px}.circuit-caption{font-size:10px;padding-top:10px}.hero-body{grid-template-columns:1fr;margin:44px 0 40px;gap:24px;max-width:600px}.hero-body.prose{font-size:17px!important}.hero-bottom{font-size:10px}.chapter,#solution{grid-template-columns:1fr;gap:25px;padding-top:48px;padding-bottom:55px}.chapter-label{position:static;flex-direction:row;align-items:center;gap:18px;font-size:10px}.chapter-label span:first-child{font-size:26px}.chapter-label span:last-child{max-width:none}.chapter h2{font-size:39px;letter-spacing:-1px;margin-bottom:30px}.problem-grid{grid-template-columns:1fr}.cop-figure{position:static;max-width:500px}.ratio-display{padding:10px 0}.prose{font-size:17px}.prose h3{font-size:27px}.process-tabs button{font-size:22px;padding:17px 11px;gap:9px}.process-tabs button .stage-arrow{display:none}.process-tabs button>span:first-child{font-size:10px}.stage-panels{padding:24px;min-height:300px}.stage-panel{font-size:18px}.process-return{font-size:10px;padding:12px}.solution-rest{font-size:16px}.why-grid{grid-template-columns:1fr;gap:30px}.funding-figure{position:static;max-width:500px}.funding-figure figcaption{margin-bottom:30px}.access-grid{grid-template-columns:1fr;gap:28px;padding-top:30px}.access-section{padding-bottom:45px}.access-grid h2{font-size:56px;margin-bottom:30px}.access-form-wrap{max-width:none;padding-top:15px}.access-intro{font-size:22px}.access-label{font-size:10px}.locked-chapters>div{font-size:14px;gap:17px}.cost-row{grid-template-columns:1fr;gap:7px}.cost-legend{margin-left:0;gap:12px}.economics-explorer{padding:22px 18px}.cost-result strong{font-size:38px}.cost-controls button{font-size:12px}.signed-banner{font-size:12px;align-items:flex-start;flex-direction:column;gap:10px}.content-contents{margin-bottom:30px;gap:12px}.source-callout b{font-size:35px}.table-scroll{margin:20px 0}table{font-size:14px;min-width:510px}th,td{padding:13px 13px 13px 0}#round .chapter-content{padding:28px 24px}#round h2{font-size:39px}#round .prose li{font-size:16px}footer{flex-wrap:wrap;font-size:12px;gap:14px}.dashboard{padding:36px 24px}.dashboard h1{font-size:47px}.dashboard .toolbar{align-items:flex-start;flex-direction:column}html{scroll-padding-top:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-control{display:none}}
.hero-grid{padding-top:38px;align-items:start;padding-bottom:38px;grid-template-columns:1.65fr 1fr}
.hero h1{font-size:clamp(48px,5.2vw,83px);letter-spacing:-2.6px}
.hero-body.prose{display:block;font-size:17px!important;line-height:1.55;margin:26px 0 0;max-width:670px}
.hero-body p+p{margin-top:18px}
.hero-link{margin-top:24px}
.circuit-wrap{align-self:start;margin-top:30px}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;padding-top:26px;padding-bottom:35px}.hero h1{font-size:clamp(44px,8.2vw,64px);letter-spacing:-1.7px}.hero-body.prose{font-size:17px!important;margin-top:25px}.circuit-wrap{margin-top:12px;width:220px}.heat-circuit{height:240px}}
@media print{.site-header,.reading-progress,.motion-control,.access-section,.cop-controls,.cost-controls,.process-tabs,footer button,.hero-link,.content-contents{display:none!important}body{background:white;color:black}.chapter,#solution{break-inside:avoid;background:white;color:black;display:block;margin:0;padding:30px 0}.chapter-label{position:static}.stage-panel[hidden]{display:block!important}.prose, .solution-rest{color:black!important}.hero-grid{grid-template-columns:1fr}.circuit-wrap{display:none}.hero-body{display:block;margin:30px 0}.hero h1{font-size:50px}.chapter h2{font-size:32px}.problem-grid,.why-grid{display:block}.cop-figure,.funding-figure{position:static}.source-details[open]>div{display:block}}
