/* Network: a transmission drawing as the entire right-hand field. */
.network{background:#103b31;color:#f0f5ec;font-family:'Space Grotesk',sans-serif}.network header{border-bottom:1px solid #51766a}.network-hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:65px 5vw 45px;gap:4vw}.network h1{font-size:clamp(48px,5.1vw,84px);line-height:1.03;letter-spacing:-4px;max-width:750px}.network .lede{color:#d0e0d5}.network .cta{background:#d7ff86;color:#16392b}.network-signature{margin-top:44px;font-size:14px}.network-signature span{font-size:11px;color:#c0d3c6}.network-panel{display:flex;justify-content:center;flex-direction:column;min-width:0;background-image:radial-gradient(#608373 1px,transparent 1px);background-size:22px 22px;padding:15px 8px}.network-art{width:100%;overflow:visible;color:#a8c6b8}.network-art .nodes{fill:#103b31}.network-art .selected-line{stroke:#d7ff86}.diagram-labels{font:12px 'IBM Plex Mono',monospace}.network-controls{display:flex;gap:8px;flex-wrap:wrap}.network-controls button{border:1px solid #95b4a3;color:#f0f5ec;background:#103b31;padding:9px 14px;font-size:12px}.network-controls [aria-pressed=true]{color:#16392b;background:#d7ff86;border-color:#d7ff86}.network-panel p{background:#103b31;margin:12px 0 0;padding:5px 0}.network-panel #network-readout{min-height:52px;font-size:14px;max-width:420px}.network .below{background:#e0eadf;color:#173f31}.network .contact{border-color:#51766a}
/* Case file: hard editorial contrast with a tangible, hinged document. */
.case-file{background:#dce4ef;color:#121923;font-family:'Manrope',sans-serif}.case-file header{border-bottom:1px solid #a0acbf}.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:6vw;min-height:730px;padding:64px 6vw 70px}.case-copy{padding-top:28px}.case-file h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(58px,6.8vw,106px);line-height:.94;letter-spacing:-2px;font-weight:600;max-width:690px}.case-file .cta{background:#193dde;color:white}.case-copy>.small{margin-top:28px}.paper-wrap{padding:10px 10px 30px}.paper{background:#fff;min-height:590px;padding:30px 32px 38px;transform:rotate(3deg);box-shadow:13px 16px 0 #b4bfd0;position:relative;color:#151c2a}.paper-top{display:flex;justify-content:space-between;font-size:10px;gap:15px;border-bottom:2px solid #151c2a;padding-bottom:20px}.bill-number{font-family:'Barlow Condensed',sans-serif;font-size:clamp(105px,12vw,185px);letter-spacing:-6px;line-height:1;margin:28px 0 8px}.bill-caption{font-size:12px;max-width:300px;line-height:1.6}.paper-rule{height:1px;background:#a3acbb;margin:25px 0}.paper h2{font-size:27px;letter-spacing:-1px}.paper-flap{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#e8edff;color:#1535bb;border:0;border-bottom:3px solid #193dde;padding:16px;font-size:13px;font-weight:700}.fold{font-size:28px;font-weight:400}.paper-bottom{display:block;font-size:11px;margin-top:35px}.paper #paper-answer{font-size:13px;padding:22px 0 0}.paper #paper-answer p:last-child{margin:0}.case-file .below{background:#193dde;color:#fff}.case-file .contact{border-color:#a0acbf}
/* Model diff: a horizontal black / electric yellow comparison instrument. */
.model-diff{background:#f5f5f1;color:#171717;font-family:'IBM Plex Mono',monospace}.model-diff header{border-bottom:1px solid #171717}.model-diff .brand{font-family:'Space Grotesk',sans-serif}.diff-hero{padding:50px 5vw 65px}.model-diff h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(45px,5.5vw,80px);line-height:1.06;letter-spacing:-3px;font-weight:500;max-width:1190px;margin-bottom:55px}.diff-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw}.diff-copy .lede{font-size:15px;max-width:390px}.model-diff .cta{background:#181818;color:#fff;font-size:13px}.diff-copy>.small{margin-top:26px;max-width:320px}.diff-instrument{background:#161616;color:#f5f5f1;min-width:0;padding:22px}.diff-top{display:flex;justify-content:space-between;gap:20px;font-size:10px}.diff-window{position:relative;height:230px;margin-top:10px;--reveal:50%}.diff-window svg{width:100%;height:100%;position:absolute;inset:0}.diff-window path{stroke:currentColor;stroke-width:2;fill:none}.diff-window circle{fill:inherit;stroke:currentColor;stroke-width:2}.diff-base,.diff-overlay{position:absolute;inset:0;fill:#161616}.diff-base>span,.diff-overlay>span{position:absolute;left:15px;top:20px;font-size:10px}.diff-overlay{background:#dfff00;color:#171717;fill:#dfff00;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.diff-overlay .diff-change{stroke-width:7;stroke-dasharray:9 5}.diff-divider{position:absolute;left:var(--reveal);top:0;bottom:0;border-left:2px solid white;pointer-events:none}.diff-instrument label{display:block;font-size:11px;margin-top:16px}.diff-instrument input{accent-color:#dfff00;width:100%;height:30px;margin:6px 0}.diff-instrument>.small{font-size:10px;margin-bottom:0;color:#d6d6cc}.model-diff .below{border-top:1px solid #171717}.model-diff .below h2{font-family:'Space Grotesk',sans-serif}.model-diff .below p{font-size:14px}.model-diff .contact{background:#dfff00}
/* Model build: an oversized mechanical year display. */
.model-build{background:#4b2384;color:#fff5ff;font-family:'Manrope',sans-serif}.model-build header{border-bottom:1px solid #9b7fb8}.build-hero{padding:50px 5vw 0}.build-title{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end}.model-build h1{font-family:'Barlow Condensed',sans-serif;line-height:.99;font-size:clamp(53px,5.4vw,82px);font-weight:500;letter-spacing:-1px;margin-bottom:0}.build-title .lede{font-size:16px}.model-build .cta{background:#ffdcf1;color:#3d1b6c}.year-machine{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:4vw;margin-top:34px}.year-display{font-family:'Barlow Condensed',sans-serif;font-size:clamp(140px,30vw,470px);line-height:.95;letter-spacing:-.035em;white-space:nowrap;color:#ffdcf1;margin-left:-.025em}.year-display span{color:#fff5ff}.year-console{border-top:1px solid #bd9dd4;padding-top:22px;max-width:370px}.year-tabs{display:flex;gap:12px;margin-bottom:25px}.year-tabs button{background:transparent;color:#fff;border:1px solid #c3a6da;border-radius:100%;width:118px;height:70px;font-size:12px}.year-tabs [aria-pressed=true]{background:#ffdcf1;color:#3d1b6c;border-color:#ffdcf1}.year-console h2{font-size:24px}.year-console p{font-size:14px;min-height:90px}.year-console .small{font-size:10px}.model-build .below{background:#ffdcf1;color:#3d1b6c}.model-build .contact{border-color:#9b7fb8}
/* Toolmaker: an off-centre instrument in an uncompromising orange field. */
.toolmaker{background:#ef5d27;color:#211c18;font-family:'Manrope',sans-serif}.toolmaker header{border-bottom:1px solid #9b3718}.tool-hero{position:relative;display:grid;grid-template-columns:1fr .8fr;gap:5vw;padding:70px 5vw 0;min-height:680px}.toolmaker h1{font-family:'Archivo Black',sans-serif;font-size:clamp(43px,4.6vw,72px);line-height:1.04;letter-spacing:-3px;font-weight:400;max-width:780px}.toolmaker .lede{font-size:15px;max-width:490px}.toolmaker .cta{background:#211c18;color:#fff3df;font-size:13px}.tool-disc-wrap{align-self:center;max-width:480px;padding:15px 0 35px}.tool-disc{background:none;border:0;color:#211c18;position:relative;width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.tool-disc svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}.disc-rim{stroke-width:1}.disc-inner{stroke-dasharray:2 9}.disc-mechanism{transform-origin:center;transition:transform .5s ease;stroke-width:3}.tool-disc[aria-pressed=true] .disc-mechanism{transform:rotate(45deg)}.tool-disc #disc-label{font-family:'Space Grotesk',sans-serif;background:#ef5d27;z-index:1;font-weight:600;font-size:clamp(23px,2.4vw,38px);letter-spacing:-1px;padding:10px 8px;position:absolute;top:64%}.disc-hint{position:absolute;top:83%;font-size:10px}.tool-disc-wrap>p{font-size:12px;max-width:340px;margin:0 auto;text-align:center;min-height:42px}.tool-footline{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #9b3718;padding:22px 0;font-size:11px;gap:25px}.toolmaker .below{background:#211c18;color:#fff3df}.toolmaker .below h2{font-family:'Space Grotesk',sans-serif;font-weight:500}.toolmaker .contact{border-color:#9b3718}
@media(min-width:1700px){.network-hero,.case-hero,.tool-hero{min-height:800px}.network h1{max-width:800px}}
@media(max-width:900px){.network h1{letter-spacing:-2px}.network-hero{grid-template-columns:1.1fr .9fr;gap:20px}.case-hero{gap:30px;padding-left:5vw;padding-right:5vw}.paper{padding:25px 22px}.build-title{gap:30px}.year-tabs{flex-wrap:wrap}.toolmaker h1{letter-spacing:-2px}.tool-hero{gap:20px}}
@media(max-width:700px){.network-hero,.case-hero,.diff-layout,.build-title,.year-machine,.tool-hero{grid-template-columns:1fr}.network-hero{padding:45px 6vw 35px;gap:25px}.network h1{font-size:52px;letter-spacing:-2.5px}.network-signature{margin-top:28px}.network-panel{padding:0}.network-art{max-height:300px}.network-panel #network-readout{min-height:45px}.case-hero{padding:30px 6vw 55px;gap:40px}.case-copy{padding-top:0}.case-file h1{font-size:70px;letter-spacing:-1px}.paper-wrap{padding:5px 12px 0 2px}.paper{min-height:520px;transform:rotate(2deg)}.bill-number{font-size:140px}.diff-hero{padding:40px 6vw}.model-diff h1{font-size:46px;letter-spacing:-2px;margin-bottom:30px}.diff-layout{gap:34px}.diff-instrument{padding:16px}.diff-window{height:190px}.diff-top{font-size:9px}.build-hero{padding:35px 6vw 25px}.model-build h1{font-size:59px}.build-title{gap:25px}.year-machine{gap:25px}.year-display{font-size:39vw}.year-console{max-width:none}.year-tabs{flex-wrap:nowrap}.year-console p{min-height:0}.year-console h2{font-size:25px}.tool-hero{padding:40px 6vw 0;gap:25px}.toolmaker h1{font-size:43px;letter-spacing:-2px}.tool-disc-wrap{justify-self:center;width:90%;max-width:350px;padding:0}.tool-disc #disc-label{font-size:27px}.tool-footline{font-size:10px;flex-direction:column;gap:8px;margin-top:25px}}
/* Keep long interconnection headlines intact on narrow phones. */
@media(max-width:700px){.network h1{font-size:clamp(34px,11.3vw,48px)}.case-file h1{font-size:clamp(42px,14.1vw,64px)}.model-diff h1{font-size:clamp(32px,11.5vw,46px)}.model-build h1{font-size:clamp(43px,14vw,59px)}.toolmaker h1{font-size:clamp(30px,10.5vw,43px)}h1{overflow-wrap:anywhere}.network-copy,.case-copy,.diff-copy,.tool-statement,.build-title>div{min-width:0}}
/* The selected direction: D3 single-line diagrams with stable topology. */
.refined-hero{padding-bottom:24px}.refined-hero .build-title{grid-template-columns:1.15fr .85fr;gap:10vw;align-items:center}.refined-hero h1{font-size:clamp(58px,6.7vw,106px);max-width:800px;line-height:.98}.refined-hero .lede{max-width:390px}.d3-study{margin-top:54px;border-top:1px solid #b79bcc}.diagram-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:15px}.study-tabs{display:flex;gap:28px}.study-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:#fff5ff;font-size:14px}.study-tabs [aria-pressed=true]{border-bottom-color:#ffdcf1}.diagram-key{display:flex;gap:20px;font:11px 'IBM Plex Mono',monospace}.diagram-key span{display:flex;gap:8px;align-items:center}.diagram-key i{width:18px;height:2px;display:inline-block;background:#f4e7ff}.diagram-key .key-constraint{height:5px;background:#ffcc85}.diagram-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.65fr);gap:4vw;align-items:center;padding:22px 0 15px}.diagram-stage{min-width:0}.diagram-stage svg{display:block;width:100%;overflow:visible}.diagram-story{padding:15px 0 20px}.diagram-story h2{font:500 clamp(32px,3.3vw,47px)/1.07 'Barlow Condensed',sans-serif;letter-spacing:-.5px}.diagram-story>p{font-size:14px;line-height:1.65;max-width:300px}.diagram-state{display:flex;margin-top:26px;border:1px solid #bf9ed5;width:max-content;max-width:100%;padding:4px;gap:3px}.diagram-state button{min-height:42px;border:0;background:none;color:#fff5ff;padding:9px 16px;font-size:12px}.diagram-state [aria-pressed=true]{background:#f0e3f6;color:#3d1b6c}.equipment-link{fill:none;stroke:#c5a8de;stroke-width:2}.d3-nodes circle{fill:#4b2384;stroke:#f4e7ff;stroke-width:2}.power-symbol circle{fill:#4b2384;stroke:#f4e7ff;stroke-width:2}.power-symbol path{fill:none;stroke:#f4e7ff;stroke-width:1.7}.grid-symbol path{fill:none;stroke:#f4e7ff;stroke-width:2}.source-addition .new-connection{fill:none;stroke:#d2f4df;stroke-width:2.5}.added-symbol circle{stroke:#d2f4df;fill:#d2f4df}.added-symbol path{stroke:#4b2384}.new-label{fill:#d2f4df;font:12px 'IBM Plex Mono',monospace}.power-labels text{fill:#fff5ff;font:12px 'IBM Plex Mono',monospace}.power-labels .line-name{fill:#ddc8ec;font-size:11px}.model-build .below{background:#f0e3f6}.model-build .cta{background:#f0e3f6}.refined-hero+.below h2{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:52px}
@media(max-width:1000px) and (min-width:701px){.diagram-layout{grid-template-columns:minmax(0,1.4fr) minmax(205px,.65fr);gap:15px}.diagram-key{font-size:10px;gap:12px}.diagram-story h2{font-size:34px}}
@media(max-width:700px){.refined-hero .build-title{grid-template-columns:1fr;gap:25px}.refined-hero h1{font-size:clamp(53px,14vw,72px);max-width:520px}.d3-study{margin-top:38px}.diagram-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.study-tabs{gap:25px}.study-tabs button{font-size:13px}.diagram-key{font-size:10px;gap:18px}.diagram-layout{grid-template-columns:1fr;gap:0;padding:0}.diagram-stage{max-width:430px;width:100%;margin:0 auto}.diagram-stage svg{margin-top:4px}.diagram-story{padding:0 0 15px}.diagram-story h2{font-size:38px;margin-bottom:16px}.diagram-story>p{max-width:350px}.diagram-state{margin-top:23px}.refined-hero+.below h2{font-size:40px}.power-labels text,.new-label{font-size:14px}.power-labels .line-name{font-size:13px}}

.project-symbol .project-outline{fill:#4b2384;stroke:#f4e7ff;stroke-width:2;stroke-linejoin:round}.project-symbol .project-bolt{fill:#f4e7ff;stroke:none}.added-symbol .source-bolt{fill:#4b2384;stroke:none}.added-symbol .addition-badge circle{fill:#d2f4df;stroke:#4b2384;stroke-width:2}.added-symbol .addition-badge path{fill:none;stroke:#4b2384;stroke-width:1.5;stroke-linecap:round}.grid-symbol path{stroke-linejoin:round;stroke-linecap:round}
.added-symbol .battery-body,.added-symbol .battery-terminal{fill:#d2f4df;stroke:#d2f4df;stroke-width:2}.added-symbol .battery-charge{fill:#4b2384;stroke:none}

/* The live page keeps a brief introduction and the two network examples. */
.simple-site .build-title{grid-template-columns:1.2fr .8fr;gap:6vw}
.simple-site .lede{max-width:440px}
.simple-site .diagram-layout{display:block;padding:20px 0 0}
.simple-site .diagram-stage{max-width:980px;margin-inline:auto}
@media(max-width:700px){.simple-site .build-title{grid-template-columns:1fr;gap:24px}.simple-site h1{font-size:clamp(42px,12.5vw,72px);overflow-wrap:normal}.simple-site .diagram-stage{max-width:430px}.simple-site .diagram-layout{padding-top:8px}}
